@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_7102bd49-module__TIbn1W__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_7102bd49-module__TIbn1W__variable{--font-body:"Manrope", "Manrope Fallback"}
@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_5009b06-module__j815lW__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_5009b06-module__j815lW__variable{--font-display:"Syne", "Syne Fallback"}
:root,[data-theme=dark]{--bg-main:#090b12;--bg-soft:#111729;--panel:#121a2d;--line:#8298cc3b;--text-main:#f4f8ff;--text-soft:#99a8c9;--accent:#43ffd1;--accent-2:#7bc2ff;--glow:#43ffd13d}[data-theme=light]{--bg-main:#f6f8ff;--bg-soft:#ecf0ff;--panel:#fff;--line:#2c478c33;--text-main:#121828;--text-soft:#4b5b7f;--accent:#0f9476;--accent-2:#245ea8;--glow:#245ea829}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;min-height:100%;overflow-x:clip}html{scroll-behavior:smooth}body{color:var(--text-main);font-family:var(--font-body), "Segoe UI", sans-serif;background:radial-gradient(circle at 5% 2%, var(--glow) 0, transparent 30%), radial-gradient(circle at 92% 8%, #7bc2ff33 0, transparent 35%), linear-gradient(170deg, var(--bg-main), var(--bg-soft));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.cv-shell{width:min(1200px,92vw);margin:0 auto;padding:1.4rem 0 5rem;position:relative}.ambient-bg{pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);z-index:-1;background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 40%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 100%)}.topbar{z-index:40;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;justify-content:space-between;align-items:center;gap:1.2rem;margin-bottom:2rem;padding:.8rem 1rem;display:flex;position:sticky;top:.9rem}.brand{font-family:var(--font-display), "Trebuchet MS", sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-size:.8rem}.nav-list{align-items:center;gap:1rem;font-size:.86rem;list-style:none;display:flex}.nav-list a{color:var(--text-soft)}.nav-list a:hover{color:var(--text-main)}.theme-button{border:1px solid var(--line);color:var(--text-main);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.45rem .8rem}.topbar-actions{align-items:center;gap:.55rem;display:flex}.icon-button{justify-content:center;align-items:center;width:2.3rem;height:2.3rem;padding:0;font-size:1rem;line-height:1;transition:color .2s,background-color .2s,transform .2s;display:inline-flex}.icon-button:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.icon-button:active{transform:scale(.94)}.avatar{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 75%, transparent);width:2.5rem;height:2.5rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:box-shadow .2s,transform .2s;display:inline-flex;position:relative;overflow:hidden}.avatar:hover{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-1px)}.avatar img{object-fit:cover;width:100%;height:100%}.section{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:1.2rem;margin:2.4rem 0;padding:2rem;box-shadow:0 0 0 1px #ffffff04,0 24px 42px #0306103d}.hero{padding:4.2rem 2rem 3rem}.hero-id{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 72%, transparent);border-radius:1.2rem;align-items:center;gap:1.1rem;max-width:100%;margin-bottom:1.8rem;padding:.85rem 1.2rem .85rem .85rem;display:inline-flex;box-shadow:0 14px 32px -22px #03061099}.hero-id-portrait{border:1px solid var(--line);width:4.6rem;height:4.6rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 10px 24px -10px color-mix(in srgb, var(--accent-2) 50%, transparent);border-radius:.9rem;flex-shrink:0;position:relative;overflow:hidden}.hero-id-portrait img{object-fit:cover;width:100%;height:100%;display:block}.hero-id-text{flex-direction:column;min-width:0;display:flex}.hero-id .eyebrow{margin-bottom:.3rem;font-size:.74rem}.hero-id-name{font-family:var(--font-display), "Trebuchet MS", sans-serif;color:var(--text-main);font-size:1.12rem;font-weight:700;line-height:1.2}.hero-id-role{color:var(--text-soft);margin-top:.18rem;font-size:.9rem}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;align-items:center;margin-bottom:1rem;font-size:.92rem;display:inline-flex}h1,h2,h3{font-family:var(--font-display), "Trebuchet MS", sans-serif;line-height:1.03}h1{max-width:16ch;margin-bottom:1.1rem;font-size:clamp(2.3rem,7vw,5.6rem)}h2{margin-bottom:1rem;font-size:clamp(1.55rem,4vw,2.8rem)}h3{margin-bottom:.35rem;font-size:clamp(1.04rem,2.1vw,1.42rem)}.hero-subline,.section-intro,.skill-proof,.metric-context,.timeline-card li,.contact p,.project-card p{color:var(--text-soft)}.hero-subline{max-width:62ch;font-size:clamp(1rem,2.3vw,1.32rem);line-height:1.58}.hero-actions{flex-wrap:wrap;gap:.75rem;margin:1.6rem 0;display:flex}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.1rem;font-weight:600;display:inline-flex}.btn-primary{color:#07110f;background:linear-gradient(120deg, var(--accent), #9dffec 65%)}.btn-secondary{color:var(--text-main);border-color:var(--line);background:0 0}.meta-line{color:var(--text-soft);font-size:.9rem}.work-grid,.project-grid{grid-template-columns:repeat(12,1fr);gap:.9rem;display:grid}.work-card{border:1px solid var(--line);background:linear-gradient(170deg, color-mix(in srgb, var(--panel) 84%, transparent), transparent);border-radius:1rem;flex-direction:column;grid-column:span 6;gap:.55rem;padding:1.1rem;display:flex}.work-card h3{margin:0;font-size:clamp(1.05rem,2vw,1.25rem)}.work-card p{color:var(--text-soft);font-size:.95rem;line-height:1.55}.work-tags{margin-top:auto}.now-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem;display:flex}.now-header h2{margin-bottom:0}.now-updated{color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.now-list{flex-direction:column;gap:.7rem;list-style:none;display:flex}.now-list li{color:var(--text-main);padding-left:1.4rem;line-height:1.55;position:relative}.now-list li:before{content:"";background:var(--accent);width:.5rem;height:.5rem;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:999px;position:absolute;top:.55rem;left:0}.skills-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.skill-group{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 75%, transparent);border-radius:1rem;padding:1rem}.skill-group ul{flex-direction:column;gap:.95rem;list-style:none;display:flex}.skill-row{justify-content:space-between;gap:.7rem;display:flex}.skill-main{max-width:75%}.skill-name{font-weight:700}.skill-proof{margin-top:.18rem;font-size:.88rem;line-height:1.4}.tier{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.dot{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;width:.46rem;height:.46rem}.dot.active{background:var(--accent-2);box-shadow:0 0 12px color-mix(in srgb, var(--accent-2) 50%, transparent)}.timeline{gap:.9rem;display:grid}.timeline-card{border-left:3px solid var(--accent-2);background:color-mix(in srgb, var(--panel) 72%, transparent);border-radius:.85rem;padding:1rem 1rem 1rem 1.1rem}.timeline-period{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.77rem}.timeline-company{color:var(--text-soft);margin-bottom:.5rem}.timeline-card ul{padding-left:1.1rem}.timeline-card li{margin-bottom:.35rem;line-height:1.42}.project-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 76%, transparent);border-radius:1rem;grid-column:span 4;padding:1rem}.project-card p{line-height:1.48}.project-note{margin:.6rem 0;line-height:1.5;color:var(--text-main)!important}.project-links{gap:.9rem;margin-top:.65rem;font-size:.85rem;display:flex}.project-links a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 38%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 38%, transparent)}.project-links a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.tag{border:1px solid var(--line);color:var(--text-soft);border-radius:999px;padding:.28rem .58rem;font-size:.75rem}.contact{text-align:center}.contact p{max-width:55ch;margin:0 auto 1rem;line-height:1.56}@media (max-width:1120px){.work-card{grid-column:span 6}.skills-layout{grid-template-columns:1fr}.project-card{grid-column:span 6}}@media (max-width:760px){.cv-shell{width:min(1200px,95vw);padding-top:.7rem}.topbar{border-radius:1rem;flex-wrap:wrap;padding:.8rem}.brand{width:100%}.nav-list{width:100%;padding-bottom:.2rem;overflow-x:auto}.topbar-actions{margin-left:auto}.section{padding:1.3rem}.hero{padding:2rem 1.3rem}.hero-id{gap:.85rem;padding:.7rem 1rem .7rem .7rem}.hero-id-portrait{width:3.6rem;height:3.6rem}.work-card,.project-card{grid-column:span 12}.skill-main{max-width:65%}}
