html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.navbar{position:fixed;top:0;left:0;width:100%;height:90px;z-index:1000;display:flex;justify-content:center;align-items:center;background:transparent;border:none}.nav-content{position:relative;width:85%;max-width:1800px;display:flex;justify-content:space-between;align-items:center;gap:16px}.nav-content .nav-links{margin-left:auto}.nav-logo-box{font-family:var(--font-mono);font-weight:800;font-size:14px;letter-spacing:-.03em;width:36px;height:36px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;transition:transform .18s var(--ease-out-quint),box-shadow .18s var(--ease-out-quint)}.nav-logo-box:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px var(--aglow)}.nav-logo__mark{display:inline-flex;align-items:center;justify-content:center}.nav-logo__mobile-copy,.nav-mobile-section,.mobile-statusbar{display:none}.nav-links{position:relative;display:flex;align-items:center;background:var(--navbar-bg);padding:6px;border-radius:50px;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px -10px #00000073}.nav-highlight{position:absolute;top:6px;left:0;height:calc(100% - 12px);border-radius:40px;background:var(--accent);box-shadow:0 4px 14px -2px var(--aglow);z-index:0;pointer-events:none;opacity:0}.nav-highlight.ready{opacity:1;transition:transform .35s var(--ease-out-expo),width .35s var(--ease-out-expo),opacity .25s ease}.nav-links a{position:relative;z-index:1;color:var(--muted);text-decoration:none;font-family:var(--font-sans);font-size:.9rem;font-weight:600;padding:10px 22px;border-radius:40px;white-space:nowrap;transition:color .25s ease}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--on-accent)}.nav-links a:after{content:none;position:absolute;top:2px;right:10px;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.05em;color:var(--accent);opacity:0;transform:translateY(2px);transition:opacity .25s ease,transform .25s var(--ease-out-expo)}.nav-links a:hover:after{opacity:.85;transform:translateY(0)}.nav-links a.active:after{color:#ffffffd9}.nav-resume-btn{position:relative;z-index:1;font-family:var(--font-sans);font-size:.82rem;font-weight:700;color:var(--accent);text-decoration:none;padding:8px 18px;border-radius:8px;border:1px solid var(--line);background:var(--adim);letter-spacing:.04em;margin-left:6px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.nav-resume-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.theme-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--navbar-bg);color:var(--accent);font-family:var(--font-mono);font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.theme-toggle:hover{border-color:var(--accent);background:var(--adim);transform:translateY(-1px)}.cinematic-toggle{min-width:112px;height:34px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 42%),var(--navbar-bg);color:var(--muted);font-family:var(--font-mono);font-size:.66rem;font-weight:800;line-height:1;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease}.cinematic-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--text);background:radial-gradient(circle at 24% 28%,rgba(255,255,255,.18),transparent 30%),var(--adim);transform:translateY(-1px)}.cinematic-toggle.active{border-color:var(--accent);color:var(--on-accent);background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 48%),var(--accent);box-shadow:0 10px 26px -16px var(--accent)}.cinematic-toggle:disabled{cursor:not-allowed;opacity:.48}.cinematic-toggle__spark{width:6px;height:6px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent),0 0 14px color-mix(in srgb,currentColor 50%,transparent)}.cinematic-toggle__label{transform:translateY(.5px)}.nav-menu-toggle{display:none;width:36px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--navbar-bg);cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-menu-toggle span{display:block;width:16px;height:2px;border-radius:2px;background:var(--text);transition:transform .25s var(--ease-out-expo),opacity .2s ease}.nav-menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-menu-toggle.open span:nth-child(2){opacity:0}.nav-menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:760px){.nav-content .nav-links{margin-left:0}.nav-menu-toggle{display:inline-flex}.nav-links{position:absolute;top:76px;right:0;left:auto;flex-direction:column;align-items:stretch;width:min(240px,70vw);padding:10px;border-radius:16px;box-shadow:0 16px 40px -12px #00000080;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .25s var(--ease-out-expo),visibility .2s}.nav-links.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.nav-highlight{display:none}.nav-links a{padding:12px 16px;border-radius:10px}.nav-links a:hover{background:var(--adim)}.nav-links a.active{color:var(--accent);background:var(--adim)}.nav-links a:after{top:50%;right:14px;transform:translateY(-50%);opacity:.5}.nav-resume-btn{margin-left:0;margin-top:6px;text-align:center}}@media(max-width:600px){.navbar{height:76px;align-items:flex-start;padding-top:max(10px,env(safe-area-inset-top));box-sizing:border-box}.nav-content{width:calc(100% - 24px);min-height:54px;gap:6px;padding:4px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 12px 30px -24px #000c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.theme-toggle,.nav-menu-toggle{width:44px;height:44px;border-radius:7px}.nav-logo-box{width:auto;height:44px;min-width:0;gap:8px;padding:0 8px 0 4px;border-radius:7px;background:transparent;color:var(--text);box-shadow:none}.nav-logo-box:hover{transform:none;box-shadow:none}.nav-logo__mark{width:34px;height:34px;flex:0 0 34px;border-radius:5px;background:var(--text);color:var(--bg);font-size:.68rem}.nav-logo__mobile-copy{min-width:0;display:grid;gap:3px;text-align:left;white-space:nowrap}.nav-logo__mobile-copy strong{overflow:hidden;color:var(--text);font:800 .6rem/1 var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase}.nav-logo__mobile-copy small{color:var(--muted);font:600 .46rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.nav-mobile-section{display:block;margin-left:auto;color:var(--mobile-signal, var(--accent));font:800 .48rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.cinematic-toggle{display:none}.nav-actions{gap:4px}.nav-links{top:60px;right:0;width:min(300px,calc(100vw - 24px));border-radius:9px;background:var(--panel)}.nav-links a,.nav-resume-btn{min-height:44px;box-sizing:border-box}.mobile-statusbar{position:fixed;right:12px;bottom:max(8px,env(safe-area-inset-bottom));left:12px;z-index:998;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 94%,transparent);color:var(--muted);font:800 .48rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 -10px 30px -26px #000c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:none}.mobile-statusbar span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--mobile-signal, var(--accent))}.mobile-statusbar i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}}@media(max-width:350px){.nav-logo__mobile-copy{display:none}}@media(prefers-reduced-motion:reduce){.nav-highlight.ready,.nav-links,.nav-links a,.nav-menu-toggle span,.nav-logo-box,.theme-toggle,.cinematic-toggle{transition:none!important}}.hd-win{position:absolute;border-radius:11px;overflow:hidden;display:flex;flex-direction:column;min-width:200px;min-height:120px;background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 50px #00000080;animation:hd-pop .26s cubic-bezier(.2,1.1,.3,1)}.hd-win--max{inset:30px 8px 70px!important;width:auto!important;height:auto!important}@keyframes hd-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.hd-win__bar{height:28px;display:flex;align-items:center;gap:7px;padding:0 10px;background:color-mix(in srgb,var(--panel) 80%,var(--text) 6%);cursor:grab;flex:none;border-bottom:1px solid var(--line);touch-action:none}.hd-win__bar:active{cursor:grabbing}.hd-win--compact .hd-win__bar{cursor:default}.hd-tl{width:12px;height:12px;border-radius:50%;cursor:pointer;padding:0;border:none}.hd-tl--red{background:#ff5f57}.hd-tl--yellow{background:#febc2e}.hd-tl--green{background:#28c840}.hd-win__title{margin-left:6px;font:600 11px/1 var(--font-mono);color:var(--muted);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hd-win__body{flex:1;overflow:auto;min-height:0}.hd-win__resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;z-index:5;touch-action:none}.hd-win__resize:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);opacity:.6}@media(prefers-reduced-motion:reduce){.hd-win{animation:none}}.hd-code{margin:0;padding:14px 16px;font:12.5px/1.8 var(--font-mono);color:#cfe3ff;background:#0b1020;min-height:100%;white-space:pre-wrap;word-break:break-word}.hd-code__c{color:#6b7a90}.hd-code__k{color:#c792ea}.hd-code__s{color:#7ee787}.hd-code__b{color:#f78c6c}.hd-term{padding:14px 16px;font:12px/1.7 var(--font-mono);color:#9fe6b8;background:#0a0e16;min-height:100%;white-space:pre-wrap;word-break:break-word}.hd-term__pr{color:#6ea8ff}.hd-term__o{color:#cfe3ff}.hd-term__cursor{animation:hd-blink 1s step-end infinite}@keyframes hd-blink{50%{opacity:0}}.hd-music{padding:14px;background:#0a1411;display:flex;gap:12px;align-items:center;min-height:100%}.hd-music__album{width:54px;height:54px;border-radius:8px;background:linear-gradient(145deg,#1ed760,#0a7d3a);background-size:cover;background-position:center;flex:none}.hd-music__now{color:#fff;font-weight:700;font-size:13px}.hd-music__track{color:#8aa0bf;font-size:11.5px;margin-top:2px}.hd-music__bars{display:flex;gap:3px;align-items:flex-end;height:18px;margin-top:6px}.hd-music__bars i{width:3px;background:#1ed760;border-radius:2px;height:5px;animation:hd-eq 1s ease-in-out infinite}@keyframes hd-eq{0%,to{height:5px}50%{height:16px}}.hd-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;background:var(--panel);min-height:100%}.hd-photos__cell{margin:0;border-radius:8px;overflow:hidden;background:#0b1020;border:1px solid var(--line)}.hd-photos__cell img{display:block;width:100%;height:72px;object-fit:cover}.hd-photos__cell figcaption{font:600 10px/1 var(--font-sans);color:var(--muted);padding:5px 6px}@media(prefers-reduced-motion:reduce){.hd-term__cursor,.hd-music__bars i{animation:none}}.hero-desktop{position:relative;z-index:1;width:100%;padding:120px clamp(16px,4vw,48px) 64px;box-sizing:border-box}.hero-desktop__inner{max-width:1280px;margin:0 auto;display:flex;gap:40px;align-items:center;justify-content:center;flex-wrap:wrap}.hero-left{flex:1 1 240px;min-width:220px;max-width:380px}.hero-left__status{display:inline-flex;align-items:center;gap:.65rem;color:var(--muted);font:700 .68rem/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}.hero-left__status>span{display:inline-grid;width:1.8rem;height:1.35rem;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:.62rem;letter-spacing:0}.hero-left__name{margin:.5rem 0 0;color:var(--text)}.hero-left__name-line{display:block;font:900 clamp(3rem,7vw,5.2rem) / .82 var(--font-sans);letter-spacing:-.04em}.hero-left__mobile-name,.hero-left__mobile-brief{display:none}.hero-left__name-line+.hero-left__name-line{margin-left:clamp(.7rem,2vw,1.8rem)}.hero-left__role{margin-top:.95rem;font:700 .7rem/1.35 var(--font-mono);color:var(--accent);letter-spacing:.14em}.hero-left__bio{color:var(--muted);font-size:14px;line-height:1.6;max-width:340px;margin-top:14px}.hero-left__cta{margin-top:18px}.hero-left__btn{background:var(--accent);color:var(--on-accent);font:700 13px/1 var(--font-sans);padding:12px 20px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 8px 24px var(--glow);transition:transform .18s ease,box-shadow .18s ease}.hero-left__btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px var(--glow)}.hero-left__socials{margin-top:18px;display:flex;gap:16px}.hero-left__socials a{color:var(--muted);font:600 12px/1 var(--font-sans);text-decoration:none;transition:color .15s ease}.hero-left__socials a:hover{color:var(--text)}.hd-desktop{flex:1 1 620px;max-width:840px;width:100%;aspect-ratio:16 / 10;position:relative;border-radius:16px;overflow:hidden;background-color:#eeeae1;background-image:url(/hero-portfolio-wallpaper.webp);background-position:center;background-size:cover;box-shadow:0 30px 70px #0000008c,inset 0 0 0 1px #ffffff14;touch-action:none}html.light .hd-desktop{box-shadow:0 28px 60px #18181b2e,inset 0 0 0 1px #ffffffb3}html.light .hd-desktop__welcome{padding:0;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff;box-shadow:none;text-shadow:0 2px 0 rgba(0,0,0,.36),0 8px 22px rgba(0,0,0,.48),0 0 18px rgba(255,255,255,.18)}.hd-desktop__welcome{position:absolute;z-index:1;inset:50% auto auto 50%;display:flex;flex-direction:column;align-items:center;gap:.45rem;color:#18181be6;font-family:var(--font-mono);font-kerning:normal;letter-spacing:.16em;pointer-events:none;text-align:center;text-transform:uppercase;transform:translate(-50%,-50%);text-shadow:0 1px 0 rgba(255,255,255,.28),0 10px 24px rgba(24,24,27,.18);text-wrap:balance}.hd-desktop__welcome span{font-size:clamp(.68rem,1.45vw,.95rem);font-weight:800}.hd-desktop__welcome strong{max-width:10ch;font-family:var(--font-sans);font-size:clamp(1.55rem,3.5vw,2.65rem);font-weight:900;line-height:.82;letter-spacing:-.035em}html:not(.light) .hd-desktop{background-image:linear-gradient(#0a0a0a80,#0a0a0a80),url(/hero-portfolio-wallpaper.webp)}html:not(.light) .hd-desktop__welcome{color:#ffffffe6;text-shadow:0 2px 0 rgba(0,0,0,.28),0 0 18px rgba(255,255,255,.12)}.hd-menubar{position:absolute;top:0;left:0;right:0;height:26px;background:#0a0e1680;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:14px;padding:0 12px;font:600 11px/1 var(--font-sans);color:#eaf1fb;z-index:40}.hd-menubar__apple:before{content:"";font-size:13px}.hd-menubar__app{font-weight:700}.hd-menubar__item{font-weight:500}.hd-menubar__grow{flex:1}.hd-menubar__right{display:flex;gap:12px;font-weight:500}.hd-dock{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:9px;padding:7px 11px;background:#ffffff29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);border-radius:18px;z-index:35;box-shadow:0 10px 30px #0006}.hd-app{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;cursor:pointer;position:relative;border:1px solid rgba(255,255,255,.1);padding:0;background:#0d121cdb;color:#ecf4ffe6;box-shadow:0 6px 14px #00000059,inset 0 0 0 1px #ffffff0f;transition:transform .18s cubic-bezier(.2,1.3,.3,1)}.hd-app__icon{position:relative;width:17px;height:17px;pointer-events:none}.hd-app__icon:before,.hd-app__icon:after{position:absolute;box-sizing:border-box;content:""}.hd-app__icon--code:before{inset:3px 1px;border-right:2px solid currentColor;border-left:2px solid currentColor}.hd-app__icon--code:after{top:2px;left:8px;width:1px;height:13px;background:currentColor;transform:rotate(28deg)}.hd-app__icon--terminal:before{inset:2px 1px;border:1px solid currentColor}.hd-app__icon--terminal:after{right:3px;bottom:5px;width:5px;height:1px;background:currentColor}.hd-app__icon--resume:before{inset:1px 4px;border:1px solid currentColor}.hd-app__icon--resume:after{top:5px;left:6px;width:5px;height:1px;background:currentColor;box-shadow:0 3px currentColor,0 6px currentColor}.hd-app__icon--tour:before{inset:3px;border:1px solid currentColor;border-radius:50%}.hd-app__icon--tour:after{top:7px;left:7px;width:3px;height:3px;border-radius:50%;background:currentColor}.hd-app__icon--music:before{top:2px;left:9px;width:2px;height:11px;background:currentColor}.hd-app__icon--music:after{bottom:1px;left:3px;width:6px;height:6px;border:1px solid currentColor;border-radius:50%}.hd-app__icon--mail:before{inset:3px 1px;border:1px solid currentColor}.hd-app__icon--mail:after{top:5px;left:4px;width:9px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) skew(-8deg,-8deg)}.hd-app__icon--photos:before{inset:2px;border:1px solid currentColor}.hd-app__icon--photos:after{right:4px;bottom:4px;width:6px;height:5px;border-top:1px solid currentColor;transform:skew(-38deg)}.hd-app:hover{transform:translateY(-12px) scale(1.32)}.hd-app:hover .hd-app__tip{opacity:1}.hd-app__tip{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:#0a0e16eb;color:#fff;font:600 10px/1 var(--font-sans);padding:5px 8px;border-radius:6px;white-space:nowrap;opacity:0;transition:opacity .15s ease;pointer-events:none}.hd-app.is-running:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#fff}@media(prefers-reduced-motion:reduce){.hd-app:hover,.hero-left__btn:hover{transform:none}}@media(max-width:720px){.hero-desktop{padding-top:96px}.hero-desktop__inner{flex-direction:column;gap:28px}.hero-left{max-width:none;text-align:left}.hero-left__status{font-size:.6rem;letter-spacing:.08em}.hero-left__name-line{font-size:clamp(2.7rem,14vw,3.7rem)}.hero-left__name-line+.hero-left__name-line{margin-left:.9rem}.hd-desktop{flex-basis:auto}.hd-desktop__welcome span{font-size:.56rem}.hd-desktop__welcome strong{font-size:1.15rem}.hd-app{width:38px;height:38px;font-size:17px}}@media(max-width:600px){.hero-desktop{min-height:auto;display:flex;align-items:center;padding:max(92px,calc(78px + env(safe-area-inset-top))) 24px 44px}.hero-desktop__inner{width:100%;display:block}.hero-left{position:relative;width:100%;min-width:0;max-width:100%;padding:20px 0 10px}.hero-left:before{content:"";position:absolute;top:0;left:0;width:min(92px,28vw);height:2px;border-radius:999px;background:var(--accent);opacity:.86}.hero-left__status{display:none}.hero-left__name{margin-top:0}.hero-left__name:before{content:"Mobile portfolio brief";display:block;margin-bottom:.85rem;color:var(--muted);font:800 .62rem/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.hero-left__name-line{display:none}.hero-left__mobile-name{display:block;max-width:10ch;color:var(--text);font:900 clamp(2.35rem,12.5vw,3.8rem) / .95 var(--font-sans);letter-spacing:-.04em;text-wrap:balance}.hero-left__role{margin-top:.8rem;font-size:.66rem;letter-spacing:.11em}.hero-left__bio{display:none}.hero-left__mobile-brief{display:grid;gap:1rem;margin-top:1.15rem;color:var(--muted)}.hero-left__mobile-brief p{max-width:34ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.7}.hero-left__mobile-brief dl{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.hero-left__mobile-brief div{display:grid;grid-template-columns:minmax(82px,.45fr) minmax(0,1fr);gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.hero-left__mobile-brief dt{color:var(--muted);font:800 .58rem/1.35 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.hero-left__mobile-brief dd{margin:0;color:var(--text);font-size:.92rem;line-height:1.45}.hero-left__status{gap:.48rem;font-size:clamp(.54rem,2.2vw,.64rem);letter-spacing:.08em;white-space:normal}.hero-left__status>span{width:1.65rem;height:1.25rem}.hero-left__cta{margin-top:22px}.hero-left__btn{min-height:44px;padding:0 22px;box-shadow:none}.hero-left__socials{margin-top:20px;gap:18px;flex-wrap:wrap}.hero-left__socials a{min-height:32px;display:inline-flex;align-items:center}.hd-desktop{display:none!important}}#about.section{scroll-margin-top:80px}.ab-exp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start;margin:2.5rem 0 3.5rem}.ab-col{display:flex;flex-direction:column;gap:1.4rem}.ab-portrait{width:320px;height:320px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card-soft);flex-shrink:0}.ab-portrait img{width:100%;height:100%;object-fit:cover;display:block}.ab-info-top{display:flex;flex-direction:column;gap:.3rem}.ab-greeting{font:700 .72rem/1 var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.18em}.ab-name{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;color:var(--text);margin:.15rem 0 0;letter-spacing:-.025em;line-height:1.05}.ab-role{font:700 .7rem/1.4 var(--font-mono);color:var(--muted);letter-spacing:.12em}.ab-bio{color:var(--muted);font-size:.98rem;line-height:1.75;margin:.8rem 0 0}.ab-word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.28em}.ab-word{display:inline-block;transform:translateY(110%);opacity:0;transition:transform .6s var(--ease-out-expo),opacity .6s ease}.ab-word.in{transform:translateY(0);opacity:1}.ab-stats-row{display:flex;align-items:center;gap:1.6rem}.ab-stat{display:flex;flex-direction:column;align-items:flex-start;position:relative}.ab-stat-num{font-size:1.7rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.ab-stat-lbl{margin-top:.3rem;font:600 .64rem/1 var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.ab-stat-div{position:absolute;left:-.8rem;top:50%;transform:translateY(-50%);width:1px;height:34px;background:var(--line)}.ab-actions{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.ab-open{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font:700 .72rem/1 var(--font-mono);letter-spacing:.04em}.ab-open-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.ab-cv-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:8px;border:1px solid var(--text);background:var(--text);color:var(--on-accent);font-family:var(--font-sans);font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.ab-cv-btn:hover{opacity:.85;transform:translateY(-1px)}html.light #about .ab-cv-btn{border-color:var(--text);background:var(--text);color:var(--on-accent);box-shadow:0 10px 24px #18181b24}html.light #about .ab-cv-btn:hover{opacity:1;background:var(--accent-deep);border-color:var(--accent-deep)}.ab-exp-col{padding-top:.4rem}@media(max-width:900px){.ab-exp-grid{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:600px){.ab-exp-grid{gap:2rem;margin:1.25rem 0 2.25rem}.ab-col{display:grid;grid-template-columns:clamp(96px,26vw,124px) minmax(0,1fr);gap:.85rem 1rem;align-items:start}.ab-portrait{grid-row:1 / span 3;align-self:center;width:clamp(96px,26vw,124px);height:clamp(96px,26vw,124px);border-radius:14px}.ab-info-top{display:contents;min-width:0}.ab-greeting{grid-column:2;font-size:.58rem;letter-spacing:.14em}.ab-name{grid-column:2;font-size:clamp(1.5rem,8vw,2.05rem);overflow-wrap:anywhere}.ab-role{grid-column:2;font-size:.58rem;letter-spacing:.08em}.ab-bio{grid-column:1 / -1;margin-top:.35rem;font-size:1rem;line-height:1.76}.ab-stats-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ab-stat{min-height:auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:baseline;justify-content:start;padding:.75rem 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.ab-stat:last-child{border-bottom:0}.ab-stat-div{display:none}.ab-stat-num{font-size:1.35rem}.ab-stat-lbl{font-size:.55rem;line-height:1.25}.ab-actions{grid-column:1 / -1}.ab-cv-btn,.ab-open{min-height:44px}}.tc{position:relative;width:100%}.tc-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 1.4rem}.tech-tab{cursor:pointer;font:600 12px/1 var(--font-mono);color:var(--muted);padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 3%,transparent);transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.tech-tab:hover{color:var(--text);border-color:var(--accent)}.tech-tab.on{color:var(--on-accent);background:var(--accent);border-color:transparent;box-shadow:0 6px 18px var(--glow)}.tc-stage{position:relative;min-height:320px;overflow:visible;background:none;border:none;box-shadow:none}.tc-ripple{position:absolute;left:50%;top:52%;width:16px;height:16px;border:2px solid var(--accent);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:.55;z-index:1}.tc-wrap{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:26px 30px;align-content:center;justify-content:center;min-height:320px;padding:28px 20px}.tc-chip{position:relative;width:64px;height:64px;opacity:1;transform:translate(var(--fx, 0px),var(--fy, 0px)) scale(var(--s, 1));transition:transform .66s cubic-bezier(.34,1.36,.3,1),opacity .45s ease,filter .45s ease;will-change:transform,opacity}.tc-chip-in{width:100%;height:100%;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 14px #0000004d;transition:box-shadow .3s ease}.tc-chip.on .tc-chip-in{box-shadow:0 18px 40px var(--glow)}.tc-chip.muted .tc-chip-in{background:var(--panel2);box-shadow:0 2px 8px #18181b1a}.tc-chip-in img{width:36px;height:36px;pointer-events:none}.tc-lbl{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font:600 10px/1 var(--font-mono);color:var(--on-accent);background:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 78%,transparent);border-radius:999px;box-shadow:0 10px 24px var(--glow);padding:5px 8px;white-space:nowrap;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tc-chip:hover{z-index:9}.tc-chip:hover .tc-lbl{opacity:1;transform:translate(-50%,2px)}@media(prefers-reduced-motion:reduce){.tc-chip{transition:transform .4s ease,opacity .3s ease,filter .3s ease}.tc-chip-in{transition:none}}@media(max-width:719px){.tc{margin-top:.25rem}.tc-tabs{justify-content:flex-start;flex-wrap:nowrap;gap:8px;margin-bottom:1rem;overflow-x:auto;overscroll-behavior-x:contain;padding:0 2px 10px;scrollbar-width:none}.tc-tabs::-webkit-scrollbar{display:none}.tc-stage,.tc-wrap{min-height:auto}.tc-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px 10px;align-items:stretch;padding:0}.tc-chip{width:auto;height:auto;min-width:0;min-height:78px;display:grid;justify-items:center;align-content:start;gap:7px;opacity:1!important;filter:none!important;transform:none!important;transition:opacity .2s ease}.tc-chip.muted{display:none}.tc-chip-in{width:52px;height:52px;border-radius:13px;background:var(--card);border:1px solid var(--line);box-shadow:none}.tc-chip-in img{width:29px;height:29px}.tc-lbl{position:static;max-width:8ch;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:.54rem;line-height:1.2;opacity:1;text-align:center;white-space:normal;transform:none}.tech-tab{min-height:38px;flex:0 0 auto;font-size:10px;padding:0 12px}}.exp-list{position:relative}.exp-eyebrow{display:block;font:700 .72rem/1 var(--font-mono);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.4rem}.exp-items{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.exp-node{position:relative;padding:0 0 1.7rem 1.4rem;opacity:1;transform:none}.exp-node:last-child{padding-bottom:0}.exp-marker{position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--muted);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.exp-node:hover .exp-marker,.exp-node.lit .exp-marker{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--adim)}.exp-card-body{display:flex;flex-direction:column;gap:.18rem}.exp-date{font:700 .66rem/1 var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.exp-title{margin:.15rem 0 0;font-size:1.02rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.exp-company{font-size:.84rem;color:var(--muted);font-weight:500}.exp-desc{margin:.4rem 0 0;font-size:.86rem;line-height:1.6;color:var(--muted)}.exp-node.lit .exp-title{color:var(--accent)}@media(max-width:600px){.exp-title{font-size:.96rem}.exp-desc{font-size:.82rem}}.certs-section{width:100%;box-sizing:border-box}.cert-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;width:100%;max-width:1180px;margin:2.2rem auto 0;box-sizing:border-box;perspective:1200px}.cert-card{--rx: 0deg;--ry: 0deg;--mx: 50%;--my: 50%;position:relative;flex:1 1 calc((100% - 36px) / 3);max-width:360px;overflow:hidden;box-sizing:border-box;min-height:210px;cursor:pointer;border-radius:18px;background:var(--card-bg);border:1px solid var(--border);transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .28s ease,border-color .28s ease;will-change:transform;box-shadow:0 8px 28px #0206172e}.cert-card:hover{border-color:var(--accent-color);box-shadow:0 22px 56px var(--aglow),0 0 0 1px var(--adim)}.cert-card:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.cert-content{position:relative;z-index:2;padding:26px 22px;transform:translateZ(0);transition:transform .28s ease}.cert-card:hover .cert-content{transform:translateZ(28px)}.cert-shine{position:absolute;inset:-1px;z-index:3;pointer-events:none;border-radius:inherit;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.16) 0%,transparent 45%);transition:opacity .3s ease}.cert-card:hover .cert-shine{opacity:1}.cert-spotlight{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at var(--mx) var(--my),var(--aglow) 0%,transparent 45%);transition:opacity .28s ease}.cert-card:hover .cert-spotlight{opacity:1}.cert-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;color:var(--accent-color);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:78px;font-weight:800;letter-spacing:-.05em;opacity:.05;white-space:nowrap;z-index:-1}.cert-badge{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:16px;background:var(--adim);border:1px solid var(--border);border-radius:11px;color:var(--accent-color);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.75rem;font-weight:800}.cert-title{margin:0 0 4px;color:var(--text-primary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.cert-sub{margin:0 0 8px;color:var(--text-secondary);font-size:.84rem}.cert-iss{margin:0;max-height:0;opacity:0;transform:translateY(-4px);overflow:hidden;color:var(--accent-color);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:max-height .3s ease,opacity .3s ease,transform .3s ease}.cert-card:hover .cert-iss,.cert-card:focus-visible .cert-iss{max-height:2.4em;opacity:1;transform:translateY(0)}.cert-hint{margin:12px 0 0;color:var(--text-secondary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.cert-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#020617db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:certFadeIn .22s ease-out}@keyframes certFadeIn{0%{opacity:0}to{opacity:1}}.cert-lightbox-panel{position:relative;display:flex;flex-direction:column;width:min(100%,980px);max-height:calc(100dvh - 48px);padding:52px 16px 16px;overflow:auto;box-sizing:border-box;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 32px 80px #0009;animation:certScaleIn .24s ease-out}@keyframes certScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.cert-lightbox-img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 190px);margin:0 auto;object-fit:contain;border-radius:12px}.cert-lightbox-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--adim);border:1px solid var(--border);border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:1.05rem;transition:background .2s ease,color .2s ease}.cert-lightbox-close:hover{background:var(--card-soft);color:var(--accent-color)}.cert-lightbox-close:focus-visible,.cert-lightbox-actions a:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.cert-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px}.cert-lightbox-issued{margin:0;color:var(--text-secondary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.72rem}.cert-lightbox-actions{display:flex;gap:10px;margin-left:auto}.cert-lightbox-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.72rem;font-weight:700;text-decoration:none;transition:background .2s ease,border-color .2s ease}.cert-lightbox-actions a:hover{background:var(--adim);border-color:var(--accent-color)}@media(max-width:1050px){.cert-grid{max-width:760px}.cert-card{flex-basis:calc((100% - 18px)/2)}}@media(max-width:760px){.cert-grid{max-width:100%;gap:16px}.cert-card{flex-basis:100%;max-width:100%;min-height:168px}.cert-content{padding:22px 20px}.cert-title{font-size:1.1rem}.cert-bg{font-size:60px}.cert-lightbox{padding:12px}.cert-lightbox-panel{max-height:calc(100dvh - 24px);padding:52px 12px 12px}.cert-lightbox-img{max-height:calc(100dvh - 265px)}.cert-lightbox-footer,.cert-lightbox-actions{width:100%;flex-direction:column;align-items:stretch}.cert-lightbox-actions{margin-left:0}.cert-lightbox-actions a{width:100%;box-sizing:border-box}}@media(prefers-reduced-motion:reduce),(pointer:coarse){.cert-card{transform:none!important;transition:box-shadow .28s ease,border-color .28s ease}.cert-card:hover .cert-content,.cert-content{transform:none!important}.cert-shine{opacity:.45;background-position:50% 50%!important;mix-blend-mode:screen}.cert-spotlight{background:radial-gradient(circle at 30% 20%,var(--aglow) 0%,transparent 55%)}.cert-iss{max-height:2.4em;opacity:1;transform:none}}.projects-section.section{--project-accent: var(--accent);--projects-desktop-width: min(1240px, calc(100vw - 48px) );width:var(--projects-desktop-width);max-width:none;margin-left:calc(50% - min(620px,calc(50vw - 24px)));margin-right:0;padding-right:0;padding-left:0}.projects-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.projects-index-note{margin-bottom:.8rem;color:var(--muted);font:700 .58rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.projects-showcase{display:grid;grid-template-columns:minmax(430px,.92fr) minmax(520px,1.08fr);gap:clamp(2rem,4vw,3.5rem);align-items:start;margin-top:clamp(1.75rem,4vw,3.25rem)}.projects-preview-shell{position:sticky;top:clamp(5.5rem,12vh,8rem);min-width:0;perspective:1400px}.projects-preview-card{position:relative;min-height:300px;aspect-ratio:1.65;border-radius:10px;transform-style:preserve-3d;transition:transform .62s var(--ease-out-quint)}.projects-preview-card[data-flipped=true]{transform:rotateY(180deg)}.projects-preview-face{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;backface-visibility:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--project-accent) 11%,transparent),transparent 36%),color-mix(in srgb,var(--card) 92%,#050505);box-shadow:0 28px 80px -52px color-mix(in srgb,var(--project-accent) 70%,transparent)}.projects-preview-front{justify-content:space-between}.projects-preview-back{justify-content:center;gap:1rem;padding:clamp(1.25rem,3vw,2.25rem);transform:rotateY(180deg)}.projects-preview-scanline{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.28;background:linear-gradient(to bottom,transparent,transparent calc(100% - 2px),color-mix(in srgb,var(--project-accent) 24%,transparent) calc(100% - 1px));background-size:100% 7px;mix-blend-mode:screen}.projects-preview-media{--preview-inset: clamp(.35rem, .7vw, .65rem);position:relative;display:grid;flex:1;min-height:0;place-items:center;padding:0;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--project-accent) 14%,transparent),transparent 35%),#050505}.projects-preview-image{position:absolute;top:var(--preview-inset);left:var(--preview-inset);display:block;width:calc(100% - var(--preview-inset) - var(--preview-inset));height:calc(100% - var(--preview-inset) - var(--preview-inset));max-width:none;max-height:none;object-fit:contain;object-position:center;filter:saturate(.9) contrast(1.03);transform:translateZ(0);transition:opacity .22s ease,transform .34s var(--ease-out-quint),filter .34s ease}.projects-preview-card[data-project="KBY MAX"] .projects-preview-image{object-fit:cover;object-position:center top}.projects-preview-card:not([data-flipped=true]):hover .projects-preview-image{filter:saturate(1) contrast(1.08);transform:translateZ(0)}.projects-preview-caption{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:42px;padding:.55rem .7rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 86%,transparent)}.projects-preview-kicker{color:var(--project-accent);font:800 .62rem/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.projects-preview-tags,.projects-detail-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.projects-preview-tag,.projects-detail-chip{color:var(--muted);font:700 .58rem/1 var(--font-mono);padding:.28rem .48rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.projects-preview-back h3{margin:0;color:var(--text);font:900 clamp(2.5rem,8vw,5rem)/.88 var(--font-sans);letter-spacing:-.08em;text-transform:uppercase}.projects-preview-back p{max-width:42rem;margin:0;color:var(--muted);font-size:clamp(.92rem,1.5vw,1rem);line-height:1.65}.projects-detail-stack{justify-content:flex-start}.projects-detail-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.25rem}.projects-detail-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 1rem;border:1px solid var(--line);border-radius:999px;color:var(--text);background:color-mix(in srgb,var(--project-accent) 10%,transparent);font:800 .7rem/1 var(--font-mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .2s var(--ease-out-quint),border-color .2s ease,background .2s ease}.projects-detail-actions a:hover,.projects-detail-actions a:focus-visible{border-color:var(--project-accent);background:color-mix(in srgb,var(--project-accent) 18%,transparent);transform:translateY(-2px)}.project-work-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.project-mobile-detail{display:none}.project-work-row{display:grid;grid-template-columns:2.6rem minmax(8rem,1fr) minmax(8rem,.7fr);align-items:center;gap:1rem;width:100%;min-height:clamp(3.25rem,6vw,4.5rem);padding:.35rem .2rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:color-mix(in srgb,var(--text) 42%,transparent);cursor:pointer;font-family:inherit;text-align:left;transition:color .22s ease,background .22s ease,transform .22s var(--ease-out-quint),border-color .22s ease}.project-work-row:hover,.project-work-row:focus-visible,.project-work-row[aria-current=true]{color:var(--text);border-bottom-color:color-mix(in srgb,var(--project-accent) 48%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--project-accent) 7%,transparent),transparent 56%)}.project-work-row:hover,.project-work-row:focus-visible{transform:translate(-.25rem)}.project-work-row:focus-visible{outline:2px solid var(--project-accent);outline-offset:4px}.project-row-index{color:var(--muted);font:800 .58rem/1 var(--font-mono);letter-spacing:.12em}.project-row-name{min-width:0;color:currentColor;font:900 clamp(1.15rem,3.4vw,1.65rem)/.95 var(--font-sans);letter-spacing:-.05em}.project-row-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:.22rem;color:var(--muted);font:800 .56rem/1.15 var(--font-mono);letter-spacing:.1em;text-align:right;text-transform:uppercase;overflow-wrap:anywhere}.project-work-row[aria-current=true] .project-row-index,.project-work-row[aria-current=true] .project-row-meta,.project-work-row:hover .project-row-index,.project-work-row:hover .project-row-meta,.project-work-row:focus-visible .project-row-index,.project-work-row:focus-visible .project-row-meta{color:color-mix(in srgb,var(--project-accent) 70%,var(--text))}html.light .projects-preview-face{background:linear-gradient(135deg,color-mix(in srgb,var(--project-accent) 8%,transparent),transparent 34%),#fff;box-shadow:0 28px 80px -58px #18181b6b}html.light .projects-preview-media{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--project-accent) 8%,transparent),transparent 36%),#f7f7f4}html.light .projects-preview-caption{background:#ffffffeb}html.light .project-work-row{color:#18181b7a}html.light .project-work-row:hover,html.light .project-work-row:focus-visible,html.light .project-work-row[aria-current=true]{color:var(--text);background:linear-gradient(90deg,color-mix(in srgb,var(--project-accent) 5%,transparent),transparent 58%)}@media(max-width:860px){.projects-section.section{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-right:0;padding-left:0}.projects-heading-row{align-items:flex-start;flex-direction:column;gap:.6rem}.projects-index-note{margin-bottom:0}.projects-showcase{grid-template-columns:1fr}.projects-preview-shell{position:relative;top:auto}.project-work-row{grid-template-columns:2.2rem 1fr}.project-row-meta{grid-column:2;align-items:flex-start}}@media(max-width:520px){.projects-showcase{margin-top:1.5rem;gap:1.25rem}.projects-preview-shell{display:none}.projects-preview-card{min-height:284px}.projects-preview-caption{align-items:flex-start;flex-direction:column}.projects-preview-tags{justify-content:flex-start}.projects-preview-media{padding:1.2rem}.projects-preview-image{width:min(92%,320px);max-height:180px}.projects-preview-back{padding:1.25rem}.projects-preview-back h3{font-size:clamp(2rem,14vw,3.4rem);letter-spacing:-.055em}.projects-preview-back p{font-size:.9rem;line-height:1.55}.project-work-list{gap:0}.project-work-row{grid-template-columns:2rem minmax(0,1fr);min-height:66px;padding:.72rem 0;gap:.75rem;touch-action:manipulation}.project-work-row:hover,.project-work-row:focus-visible{transform:none}.project-row-index{font-size:.52rem}.project-row-name{font-size:clamp(1.08rem,6.2vw,1.35rem);letter-spacing:-.035em}.project-row-meta{font-size:.49rem;letter-spacing:.06em;line-height:1.25}.projects-detail-actions a{min-height:44px}.project-mobile-detail{display:grid;gap:.9rem;padding:.15rem 0 1.05rem 3rem;border-bottom:1px solid color-mix(in srgb,var(--project-accent) 42%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--project-accent) 8%,transparent),transparent 68%)}.project-mobile-detail p{max-width:31ch;margin:0;color:var(--muted);font-size:.92rem;line-height:1.62}.project-mobile-detail .projects-detail-stack{justify-content:flex-start}.project-mobile-detail .projects-detail-chip{font-size:.52rem}}@media(prefers-reduced-motion:reduce){.projects-preview-card,.projects-preview-image,.project-work-row,.projects-detail-actions a{transition-duration:1ms!important}.project-work-row:hover,.project-work-row:focus-visible,.projects-detail-actions a:hover,.projects-detail-actions a:focus-visible{transform:none}}.contact-section.gsap-section{--term-text: var(--text);--term-muted: var(--muted);--term-green: var(--accent);position:relative;overflow:clip;box-sizing:border-box;min-height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-lg) clamp(16px,5vw,80px);background-color:var(--bg)!important;background-image:none!important}html.light .contact-section.gsap-section{background-color:var(--bg)!important;background-image:none!important}.contact-starfield{position:absolute;inset:0;overflow:hidden;pointer-events:none}.contact-star{--contact-star-base-opacity: .22;--contact-star-low-opacity: .08;--contact-star-peak-opacity: .42;position:absolute;border-radius:50%;background:#cdd9ec;opacity:var(--contact-star-base-opacity);animation:contact-twinkle 2.8s ease-in-out infinite}@keyframes contact-twinkle{0%,to{opacity:var(--contact-star-low-opacity);transform:scale(.8)}50%{opacity:var(--contact-star-peak-opacity);transform:scale(1.2)}}.contact-macbook{position:relative;z-index:1;width:100%;max-width:860px}.contact-macbook__screen{position:relative;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:22px 22px 16px 16px;background:color-mix(in srgb,var(--card) 84%,transparent);box-shadow:0 24px 58px #0000002e,inset 0 1px color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.contact-macbook__camera{position:absolute;top:11px;left:50%;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--text) 28%,transparent);transform:translate(-50%)}.contact-macbook__base{width:min(92%,760px);height:22px;margin:0 auto;border-radius:0 0 28px 28px;border:1px solid var(--line);border-top:0;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%,transparent),color-mix(in srgb,var(--bg2) 86%,transparent));box-shadow:0 18px 30px #0000001f}.contact-macbook__base span{display:block;width:90px;height:5px;margin:0 auto;border-radius:0 0 999px 999px;background:color-mix(in srgb,var(--text) 10%,transparent)}.contact-macbook__body{padding:clamp(28px,5vw,52px)}.contact-prompt{display:flex;align-items:center;font-family:JetBrains Mono,monospace;font-size:14px;color:var(--term-green);margin:0 0 24px;min-height:1.2em}.contact-prompt-sym{margin-right:8px;opacity:.8}.contact-prompt-text{white-space:pre}.contact-caret{display:inline-block;width:8px;height:1.05em;margin-left:2px;background:var(--term-green);vertical-align:text-bottom}.contact-caret--blink{animation:contact-blink 1s steps(1) infinite}@keyframes contact-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.contact-h{font-family:JetBrains Mono,monospace;font-size:clamp(32px,6vw,52px);font-weight:800;color:var(--term-text);letter-spacing:-.03em;line-height:1.02;margin:0 0 18px;text-wrap:balance}.contact-h span{color:var(--accent)}html.light .contact-section .contact-h{color:var(--term-text)}.contact-sub{font-size:15px;color:var(--term-muted);max-width:540px;margin:0 0 28px;line-height:1.7}html.light .contact-section .contact-sub{color:var(--term-muted)}.contact-form{display:grid;gap:14px;max-width:620px;margin:0 0 14px}.contact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-field{display:grid;gap:8px;color:var(--term-muted);font:700 11px/1 JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.contact-field input,.contact-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 72%,transparent);color:var(--text);font:500 14px/1.45 var(--font-sans);padding:12px 14px;outline:none;transition:border-color .2s var(--ease-out-quint),box-shadow .2s var(--ease-out-quint)}.contact-field textarea{resize:vertical;min-height:128px}.contact-field--otp{max-width:320px}.contact-otp-hint{color:var(--term-muted);font:600 11px/1.45 JetBrains Mono,monospace;letter-spacing:.02em;text-transform:none}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 3px #ef444424}.contact-field-error{display:inline-flex;align-items:center;gap:6px;color:#f87171;font:700 11px/1.35 JetBrains Mono,monospace;letter-spacing:.02em;text-transform:none}.contact-field-error:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#ef444429;color:#ef4444;font-size:10px}.contact-ctas{margin-top:2px}.contact-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;letter-spacing:.04em;padding:14px 36px;min-height:44px;border-radius:8px;border:0;background:var(--accent);color:var(--on-accent);text-decoration:none;cursor:pointer;will-change:transform;transition:opacity .2s var(--ease-out-quint),box-shadow .2s,transform .25s var(--ease-out-quint)}.contact-btn:hover{box-shadow:0 14px 32px -12px var(--accent)}.contact-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-btn:disabled{cursor:wait;opacity:.62;transform:none!important;box-shadow:none}.contact-copy-status{min-height:1.25em;margin:0 0 12px;color:var(--term-green);font:700 12px/1.25 JetBrains Mono,monospace;letter-spacing:.04em}.contact-email{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--term-muted);letter-spacing:.04em;margin:0}.contact-email-button{appearance:none;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;letter-spacing:inherit;text-decoration:none;cursor:pointer;transition:opacity .15s}.contact-email-button:hover{opacity:.7}.contact-email-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.easter-quote{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line);font-family:JetBrains Mono,monospace;font-style:normal;line-height:1.6;max-width:460px}.easter-comment{display:block;font-size:11px;color:#5b6b82;opacity:.7;transition:opacity .4s,color .4s}.easter-quote:hover .easter-comment{opacity:1;color:var(--term-muted)}.easter-quote cite{display:block;font-style:normal;font-size:10px;letter-spacing:.08em;color:var(--accent);opacity:.7;margin-top:6px;text-transform:uppercase}@media(max-width:600px){.contact-section.gsap-section{padding:56px 0 36px;overflow:visible}.contact-star:nth-child(n+19){display:none}.contact-star{--contact-star-base-opacity: .12;--contact-star-low-opacity: .04;--contact-star-peak-opacity: .22}.contact-macbook{max-width:100%}.contact-macbook__screen{border-radius:14px;background:color-mix(in srgb,var(--card) 72%,transparent);box-shadow:none}.contact-macbook__camera,.contact-macbook__base{display:none}.contact-macbook__body{padding:22px 16px}.contact-prompt{margin-bottom:18px;font-size:12px}.contact-h{font-size:clamp(2.1rem,12vw,3rem)}.contact-sub{margin-bottom:22px;font-size:.94rem}.contact-form-row{grid-template-columns:1fr}.contact-field--otp{max-width:none}.contact-btn{width:100%;justify-content:center}.contact-ctas{width:100%}.easter-quote{display:none}}@media(prefers-reduced-motion:reduce){.contact-star{animation:none;opacity:var(--contact-star-base-opacity)}.contact-caret--blink{animation:none}.contact-btn{transition:opacity .2s,box-shadow .2s}}.site-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:transparent}.site-bg__star{--site-star-alpha: .24;--site-star-dim-opacity: .16;position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:rgba(0,0,0,var(--site-star-alpha));box-shadow:0 0 0 3px #00000003;animation:orbit-dust-twinkle var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes orbit-dust-twinkle{to{opacity:var(--site-star-dim-opacity);transform:translateY(-3px)}}html:not(.light) .site-bg__star{--site-star-alpha: .34;--site-star-dim-opacity: .2;background:rgba(255,255,255,var(--site-star-alpha));box-shadow:0 0 0 3px #ffffff04}@media(prefers-reduced-motion:reduce){.site-bg__star{animation:none}}@media(max-width:600px){.site-bg__star{--site-star-alpha: .16;--site-star-dim-opacity: .07}html:not(.light) .site-bg__star{--site-star-alpha: .2;--site-star-dim-opacity: .08}}.sprite-assistant{position:fixed;z-index:10000;-webkit-user-select:none;user-select:none;touch-action:none;transition:left .55s ease,top .55s ease}.sprite-assistant.dragging{transition:none}.sprite-img{width:72px;height:72px;object-fit:contain;display:block;cursor:grab;filter:drop-shadow(0 4px 12px rgba(37,99,235,.35));animation:spriteIdleBob 2s ease-in-out infinite;transition:transform .15s ease}.sprite-img:active{cursor:grabbing}.sprite-assistant.dragging .sprite-img{animation:none;transform:scale(1.05);filter:drop-shadow(0 8px 20px rgba(37,99,235,.5))}.sprite-assistant.running .sprite-img{animation:spriteRunBob .18s ease-in-out infinite;transform:rotate(-18deg)}.sprite-assistant.landing .sprite-img{animation:spriteLand .4s ease-out forwards}@keyframes spriteIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spriteRunBob{0%,to{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-18deg) translateY(-4px)}}@keyframes spriteLand{0%{transform:translateY(-8px) rotate(-5deg)}40%{transform:translateY(4px) scale(1.12) rotate(0)}70%{transform:translateY(-2px) scale(.96)}to{transform:translateY(0) scale(1) rotate(0)}}.section-spotlight{animation:sectionPulse 1.8s ease-out forwards}@keyframes sectionPulse{0%{box-shadow:0 0 #60a5fa00}25%{box-shadow:0 0 0 5px #60a5fa73}55%{box-shadow:0 0 0 3px #60a5fa40}80%{box-shadow:0 0 0 5px #60a5fa59}to{box-shadow:0 0 #60a5fa00}}.sprite-tour-bubble{position:absolute;bottom:85px;right:0;width:280px;background:#051220f7;border:1px solid rgba(37,99,235,.3);border-radius:14px 14px 4px;box-shadow:0 16px 40px #0000008c,0 0 0 1px #2563eb14;overflow:hidden;animation:chatOpen .25s cubic-bezier(.16,1,.3,1) forwards}.stb-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .9rem;border-bottom:1px solid rgba(37,99,235,.1);background:#2563eb0a}.stb-step{font-size:.68rem;font-weight:700;color:#60a5fab3;font-family:Inter,sans-serif;letter-spacing:.03em;text-transform:uppercase}.stb-end{background:none;border:none;color:#60a5fa66;cursor:pointer;font-size:.7rem;padding:2px 4px;line-height:1;transition:color .15s}.stb-end:hover{color:#fca5a5}.stb-body{padding:.8rem .9rem .6rem;min-height:60px;display:flex;align-items:flex-start}.stb-text{margin:0;font-size:.8rem;line-height:1.55;color:#e2e8f0eb;font-family:Inter,sans-serif}.stb-controls{display:flex;gap:6px;padding:0 .9rem .7rem}.stb-btn{padding:5px 14px;border-radius:7px;font-size:.72rem;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.stb-btn.primary{background:#2563eb33;border:1px solid rgba(37,99,235,.35);color:#bfdbfe}.stb-btn.primary:hover{background:#2563eb59}.stb-btn.secondary{background:#2563eb0f;border:1px solid rgba(37,99,235,.15);color:#60a5faa6}.stb-btn.secondary:hover{background:#2563eb24;color:#bfdbfe}.sprite-intro-bubble{position:absolute;bottom:80px;right:4px;background:#051220f5;border:1px solid rgba(37,99,235,.35);border-radius:12px;padding:7px 14px;font-size:.82rem;font-weight:600;color:#e2e8f0;white-space:nowrap;font-family:Inter,sans-serif;pointer-events:none;animation:introFade .18s ease-out forwards;box-shadow:0 4px 20px #0006}.sprite-intro-bubble:after{content:"";position:absolute;bottom:-6px;right:18px;width:10px;height:10px;background:#051220f5;border-right:1px solid rgba(37,99,235,.35);border-bottom:1px solid rgba(37,99,235,.35);transform:rotate(45deg)}@keyframes introFade{0%{opacity:0}to{opacity:1}}.sprite-chat{position:absolute;bottom:80px;right:0;width:268px;background:#051220f5;border:1px solid rgba(37,99,235,.25);border-radius:16px 16px 4px;box-shadow:0 20px 50px #0009,0 0 0 1px #2563eb1a;display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:chatOpen .25s cubic-bezier(.16,1,.3,1) forwards;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@keyframes chatOpen{0%{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.sprite-chat-header{padding:.7rem 1rem;border-bottom:1px solid rgba(37,99,235,.1);display:flex;align-items:center;justify-content:space-between;background:#2563eb0a}.sprite-chat-title{font-size:.8rem;font-weight:700;color:#e2e8f0;font-family:Inter,sans-serif}.sprite-chat-close{background:#2563eb1a;border:1px solid rgba(37,99,235,.25);color:#60a5facc;width:28px;height:28px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .15s}.sprite-chat-close:hover{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.sprite-chat-resize-handle{height:10px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:none}.sprite-chat-resize-handle:after{content:"";width:32px;height:3px;border-radius:99px;background:#2563eb2e;transition:background .15s,width .15s}.sprite-chat-resize-handle:hover:after{background:#2563eb80;width:44px}.sprite-chat-messages{flex:1;padding:.8rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;max-height:200px;min-height:80px}.sprite-chat-messages::-webkit-scrollbar{width:3px}.sprite-chat-messages::-webkit-scrollbar-track{background:transparent}.sprite-chat-messages::-webkit-scrollbar-thumb{background:#2563eb33;border-radius:3px}.sprite-msg{max-width:85%;padding:.45rem .7rem;border-radius:10px;font-size:.78rem;line-height:1.5;font-family:Inter,sans-serif;animation:msgPop .2s ease-out}@keyframes msgPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sprite-msg p{margin:0}.sprite-msg.bot{background:#2563eb14;border:1px solid rgba(37,99,235,.12);color:#e2e8f0eb;align-self:flex-start;border-bottom-left-radius:3px}.sprite-msg.user{background:#2563eb38;color:#e2e8f0;align-self:flex-end;border-bottom-right-radius:3px;border:1px solid rgba(37,99,235,.2)}.sprite-msg.nav{background:#34d39912;border-color:#34d39933;color:#a7f3d0}.sprite-typing{display:flex;gap:4px;padding:.45rem .7rem;align-self:flex-start;background:#2563eb14;border:1px solid rgba(37,99,235,.12);border-radius:10px 10px 10px 3px}.sprite-typing span{width:5px;height:5px;background:#60a5fa99;border-radius:50%;animation:typingDot 1.2s ease-in-out infinite both}.sprite-typing span:nth-child(2){animation-delay:.15s}.sprite-typing span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.sprite-chips{display:flex;gap:5px;padding:.5rem .8rem;overflow-x:auto;flex-wrap:wrap;border-top:1px solid rgba(37,99,235,.06)}.sprite-chips::-webkit-scrollbar{display:none}.sprite-chip{background:#2563eb12;border:1px solid rgba(37,99,235,.18);color:#60a5facc;border-radius:20px;padding:4px 10px;font-size:.68rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:Inter,sans-serif;transition:all .15s}.sprite-chip:hover{background:#2563eb2e;border-color:#2563eb66;color:#bfdbfe}.sprite-tour-actions{display:flex;gap:6px;padding:.4rem .8rem .6rem}.sprite-tour-btn{flex:1;padding:6px 10px;border-radius:8px;font-size:.72rem;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.sprite-tour-btn.primary{background:#2563eb33;border:1px solid rgba(37,99,235,.35);color:#bfdbfe}.sprite-tour-btn.primary:hover{background:#2563eb59}.sprite-tour-btn.secondary{background:#2563eb12;border:1px solid rgba(37,99,235,.18);color:#60a5fab3}.sprite-tour-btn.secondary:hover{background:#2563eb26;color:#bfdbfe}.sprite-tour-progress{height:2px;background:#2563eb1f;margin:0 .8rem .4rem;border-radius:2px;overflow:hidden}.sprite-tour-progress-bar{height:100%;background:#60a5fa;border-radius:2px;transition:width .1s linear}.sprite-input-area{padding:.6rem;border-top:1px solid rgba(37,99,235,.08);display:flex;gap:6px;background:#0000001a}.sprite-input{flex:1;background:#2563eb0d;border:1px solid rgba(37,99,235,.12);border-radius:8px;padding:8px 10px;color:#e2e8f0;font-size:.78rem;font-family:Inter,sans-serif;outline:none;transition:border-color .15s}.sprite-input::placeholder{color:#60a5fa4d}.sprite-input:focus{border-color:#2563eb66}.sprite-send-btn{background:#2563eb2e;border:1px solid rgba(37,99,235,.25);width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#bfdbfe;transition:all .15s;flex-shrink:0}.sprite-send-btn:hover:not(:disabled){background:#2563eb59}.sprite-send-btn:disabled{opacity:.3;cursor:not-allowed}.sprite-send-btn svg{width:14px;height:14px}.sprite-corner-btn{background:#2563eb2e;border:1px solid rgba(37,99,235,.35);border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#bfdbfe;flex-shrink:0;transition:all .15s}.sprite-corner-btn:hover{background:#2563eb59;color:#fff}@media(max-width:600px){.sprite-assistant{display:none!important}.sprite-img{width:54px;height:54px}.sprite-chat{width:min(224px,calc(100vw - 16px));bottom:66px}.sprite-chat-resize-handle{display:none}.sprite-chat-messages{max-height:160px;min-height:60px;padding:.6rem;gap:.4rem}.sprite-msg{font-size:.74rem}.sprite-chips{padding:.4rem .6rem;gap:4px}.sprite-chip{font-size:.64rem;padding:3px 8px}.sprite-input-area{padding:.5rem}.sprite-input{font-size:.74rem;padding:6px 8px}.sprite-tour-bubble{width:min(220px,calc(100vw - 20px))}.stb-text{font-size:.75rem}}.rm-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);background:#0409129e;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);opacity:0;transition:opacity .24s cubic-bezier(.22,1,.36,1)}html.light .rm-backdrop{background:#141c2c6b}.rm-backdrop.is-visible{opacity:1}.rm-shell{width:min(940px,100%);max-height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#0d1626f5,#080e19f5);border:1px solid var(--border, rgba(125, 215, 255, .18));border-radius:18px;box-shadow:0 32px 80px #0000008c,0 0 0 1px #7dd7ff0a inset,0 0 80px #50aaff14 inset;overflow:hidden;opacity:0;transform:translateY(8px) scale(.985);transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1)}html.light .rm-shell{background:linear-gradient(180deg,var(--card, #fafbfc),var(--card-soft, #f3f5f8));border-color:var(--border);box-shadow:0 28px 80px #0f172a2e,0 0 0 1px #2851bf0f inset}.rm-shell.is-visible{opacity:1;transform:translateY(0) scale(1)}.rm-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(125,215,255,.1);background:linear-gradient(180deg,rgba(20,32,52,.55),transparent)}html.light .rm-header{border-bottom-color:var(--border);background:linear-gradient(180deg,var(--panel-tint, #eef1f6),transparent)}.rm-title{display:flex;align-items:center;gap:12px;min-width:0}.rm-badge{font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent, #5db4ff);padding:6px 8px;border:1px solid rgba(125,215,255,.28);border-radius:6px;background:#7dd7ff0f}html.light .rm-badge{color:var(--accent);border-color:#2851bf47;background:#2851bf0f}.rm-title-text{display:flex;flex-direction:column;min-width:0}.rm-title-main{font:600 15px/1.2 system-ui,sans-serif;color:var(--text, #f1f5fc);letter-spacing:-.01em}.rm-title-sub{font:500 11px/1.2 JetBrains Mono,ui-monospace,monospace;color:var(--muted, #8aa0bf);margin-top:2px;letter-spacing:.02em}.rm-actions{display:flex;gap:8px;align-items:center}.rm-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:8px;border:1px solid rgba(125,215,255,.18);background:#ffffff08;color:var(--text, #e8eef7);font:600 12px/1 system-ui,sans-serif;letter-spacing:.01em;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.rm-btn:hover{background:#7dd7ff14;border-color:#7dd7ff5c;transform:translateY(-1px)}.rm-btn:active{transform:translateY(0)}html.light .rm-btn{border-color:var(--border);background:var(--card-soft, #f3f5f8);color:var(--text)}html.light .rm-btn:hover{background:#2851bf0f;border-color:#2851bf5c}.rm-btn-primary{background:var(--accent, #2563eb);color:var(--on-accent);border-color:transparent;box-shadow:0 6px 20px #2d78e652}.rm-btn-primary:hover{background:var(--accent, #2563eb);border-color:transparent;box-shadow:0 10px 26px #2d78e66b;filter:brightness(1.06)}.rm-btn-icon{padding:0;width:34px;justify-content:center}.rm-body{flex:1 1 auto;min-height:0;overflow:auto;padding:22px clamp(12px,3vw,28px);background:radial-gradient(1200px 600px at 50% 0%,rgba(60,130,230,.06),transparent 60%),repeating-linear-gradient(0deg,rgba(125,215,255,.025) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(125,215,255,.025) 0 1px,transparent 1px 32px);scrollbar-width:thin;scrollbar-color:rgba(125,215,255,.22) transparent}html.light .rm-body{background:radial-gradient(1200px 600px at 50% 0%,rgba(40,81,191,.05),transparent 60%),repeating-linear-gradient(0deg,rgba(40,81,191,.04) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(40,81,191,.04) 0 1px,transparent 1px 32px);scrollbar-color:rgba(40,81,191,.3) transparent}.rm-body::-webkit-scrollbar{width:10px}.rm-body::-webkit-scrollbar-thumb{background:#7dd7ff2e;border-radius:6px}.rm-pages{display:flex;flex-direction:column;align-items:center;gap:22px}.rm-page{position:relative;max-width:100%;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 18px 48px #00000073,0 0 0 1px #7dd7ff1f}html.light .rm-page{box-shadow:0 18px 48px #0f172a26,0 0 0 1px var(--border)}.rm-canvas{display:block;width:100%;height:auto}.rm-page-num{position:absolute;top:10px;right:10px;font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#4a5b78;background:#ffffffd9;padding:4px 7px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rm-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:var(--muted, #8aa0bf);font:500 13px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em}.rm-spinner{width:16px;height:16px;border:2px solid rgba(125,215,255,.18);border-top-color:var(--accent, #5db4ff);border-radius:50%;animation:rm-spin .85s linear infinite}@keyframes rm-spin{to{transform:rotate(360deg)}}.rm-error{margin:0 auto 18px;padding:12px 14px;max-width:480px;text-align:center;border:1px solid rgba(255,110,110,.36);background:#ff50500f;color:#ffb4b4;border-radius:8px;font:500 13px/1.4 system-ui,sans-serif}html.light .rm-error{background:#dc26260f;color:#9b1c1c;border-color:#dc26265c}@media(max-width:640px){.rm-header{padding:12px 14px}.rm-title-main{font-size:14px}.rm-title-sub{font-size:10px}.rm-btn{height:32px;padding:0 10px;font-size:11px}.rm-btn-icon{width:32px;padding:0}.rm-body{padding:16px 12px}.rm-pages{gap:14px}}@media(prefers-reduced-motion:reduce){.rm-backdrop,.rm-shell{transition:opacity .12s linear;transform:none!important}.rm-btn:hover{transform:none}.rm-spinner{animation-duration:1.6s}}.cinematic-experience{--film-bg: #050505;--film-text: #f4f4f5;--film-muted: rgba(244, 244, 245, .58);--film-line: rgba(244, 244, 245, .16);--film-soft: rgba(244, 244, 245, .08);position:relative;z-index:1200;min-height:1950vh;color:var(--film-text);background:var(--film-bg);isolation:isolate}.cinematic-body-active{background:#050505}.cinematic-grain{position:fixed;inset:0;z-index:1230;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.18) 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.12) 0 1px,transparent 1px);background-size:6px 6px,8px 8px}.cinematic-scroll-space{height:1950vh;pointer-events:none}.cinematic-stage{position:fixed;inset:0;z-index:1210;overflow:hidden;background:#050505}.cinematic-scene{position:absolute;inset:0;display:grid;place-items:center;min-height:100vh;overflow:hidden;background:#050505;color:var(--film-text);will-change:transform,opacity}.cinematic-scene--hero{box-sizing:border-box;padding:0 clamp(24px,5vw,80px)}.cinematic-scene--manifesto{box-sizing:border-box;padding:0 clamp(24px,6vw,100px)}.cinematic-scene--caps{box-sizing:border-box;padding:clamp(60px,10vh,110px) clamp(24px,5vw,80px);background:#f4f4f5;color:#050505;text-align:center;will-change:clip-path}.cinematic-scene--proof{box-sizing:border-box;padding:0 clamp(24px,5vw,80px);text-align:center}.cinematic-scene--operator{box-sizing:border-box;padding:0 clamp(24px,5vw,80px)}.cinematic-loader{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;pointer-events:none;visibility:hidden;opacity:0;color:#f4f4f5;background:linear-gradient(90deg,rgba(244,244,245,.06) 1px,transparent 1px),radial-gradient(circle at 50% 46%,rgba(244,244,245,.1),transparent 34%),#050505;background-size:72px 72px,auto,auto}.cinematic-loader__progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#f4f4f5;box-shadow:0 0 24px #f4f4f58f}.cinematic-progress-rail{position:fixed;left:clamp(18px,3vw,40px);right:clamp(18px,3vw,40px);top:clamp(54px,7vh,76px);z-index:1240;height:1px;background:var(--film-line);pointer-events:none}.cinematic-progress-rail span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#f4f4f5;box-shadow:0 0 18px #f4f4f573}.chrome,.cinematic-exit-toggle{position:fixed;z-index:1245;opacity:0;font:800 .66rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#f4f4f5bd}.chrome--tl{top:clamp(22px,3.4vh,36px);left:clamp(20px,4vw,56px)}.chrome--bl{bottom:clamp(22px,3.6vh,38px);left:clamp(20px,4vw,56px)}.chrome--br{right:clamp(20px,4vw,56px);bottom:clamp(22px,3.6vh,38px);text-align:right}.cinematic-exit-toggle{top:clamp(18px,3vh,32px);right:clamp(20px,4vw,56px);display:inline-flex;align-items:center;gap:10px;border:1px solid var(--film-line);border-radius:999px;padding:11px 15px;background:#050505b8;color:#f4f4f5;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .25s ease,color .25s ease,border-color .25s ease}.cinematic-exit-toggle:hover,.cinematic-exit-toggle:focus-visible{background:#f4f4f5;color:#050505;border-color:#f4f4f5;outline:none}.exit-spark,.footer-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 #f4f4f580;animation:cinematicStatusPing 2s ease-out infinite}@keyframes cinematicStatusPing{70%{box-shadow:0 0 0 9px #f4f4f500}to{box-shadow:0 0 #f4f4f500}}.hero-layer{position:absolute;z-index:2;font:800 .62rem/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#f4f4f559;pointer-events:none;will-change:transform}.hero-layer--a{top:18%;right:12%}.hero-layer--b{bottom:34%;left:8%}.hero-layer--c{top:30%;left:16%}.hero-layer--d{bottom:14%;right:22%}.hero-inner{position:relative;z-index:3;width:100%}.hero-eyebrow,.manifesto-kicker,.svc-kicker,.proof-kicker,.fwork-kicker,.footer-kicker{margin:0 0 clamp(16px,2.4vh,30px);font:800 .68rem/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--film-muted)}.hero-eyebrow{margin:0 0 clamp(18px,3vh,30px)}.manifesto-kicker{margin:0 0 26px}.svc-kicker{margin:0 0 clamp(20px,4vh,40px);color:#52525b}.proof-kicker{margin:0 0 18px}.fwork-kicker,.footer-kicker{margin:0}.cinematic-hero-title{margin:0;font:900 clamp(4rem,12.5vw,12rem)/.86 var(--font-sans);letter-spacing:-.045em;text-transform:uppercase;color:#f4f4f5;cursor:default}.hline,.op-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}.hline--indent{padding-left:clamp(40px,12vw,220px)}.ch{display:inline-block;white-space:pre;-webkit-text-fill-color:currentColor;-webkit-text-stroke:0 transparent;transition:color .2s ease,-webkit-text-fill-color .2s ease,-webkit-text-stroke .2s ease;will-change:transform,color}.cinematic-hero-title .ch:hover,.cinematic-footer-title .ch:hover{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px #f4f4f5}.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-top:clamp(26px,5vh,48px);color:#f4f4f58f;font:700 .68rem/1.7 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.hero-meta p{margin:0;max-width:28ch}.hero-meta p:last-child{text-align:right}.hero-meta b{display:block;color:#f4f4f5}.manifesto-inner{max-width:1060px}.cinematic-manifesto-text{margin:0;font:700 clamp(1.7rem,3.6vw,3.3rem)/1.3 var(--font-sans);letter-spacing:-.025em}.cinematic-manifesto-text .w{display:inline-block;white-space:pre;color:#f4f4f5;opacity:.12;filter:blur(6px);will-change:opacity,filter}.svc-stack{display:grid;margin:0}.cinematic-service-line{display:block;overflow:hidden;font:900 clamp(2.6rem,8vw,7.4rem)/.96 var(--font-sans);letter-spacing:-.045em;text-transform:uppercase;color:#050505;will-change:transform}.cinematic-service-line span{display:inline-block;will-change:transform}.facts-row{display:flex;justify-content:center;gap:clamp(30px,6vw,90px);margin-top:clamp(28px,5vh,52px)}.fact-num{font:900 clamp(2rem,4.5vw,4rem)/.9 var(--font-sans);letter-spacing:-.04em;color:#050505;font-variant-numeric:tabular-nums}.fact-num i{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(5,5,5,.55)}.fact-label{margin-top:10px;font:800 .62rem/1.5 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#52525b}.proof-title{margin:0 0 clamp(28px,5vh,48px);font:900 clamp(2.2rem,5.5vw,4.6rem)/1 var(--font-sans);letter-spacing:-.04em;text-transform:uppercase;color:#f4f4f5}.cinematic-scene--proof>div{width:auto}.proof-row{display:flex;justify-content:center;gap:clamp(10px,1vw,16px)}.cinematic-proof-card{width:min(220px,17vw);color:#f4f4f5;text-align:left;will-change:transform}.cinematic-proof-link{display:block;color:inherit;text-decoration:none}.cinematic-proof-link:focus-visible{outline:2px solid #f4f4f5;outline-offset:4px}.proof-media{aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--film-line);background:#0a0a0a}.proof-media img,.fproject-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.05);will-change:transform}.proof-media img{transition:filter .45s ease}.cinematic-proof-card:hover .proof-media img{filter:none}.proof-meta,.fproject-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}.proof-name,.fproject-name{margin:0;font:900 1.05rem/1.1 var(--font-sans);letter-spacing:-.02em;text-transform:uppercase}.proof-cat,.fproject-cat{font:700 .6rem/1.5 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--film-muted);text-align:right}.cinematic-scene--work{display:block}.fwork-kicker,.fwork-count{position:absolute;z-index:3}.fwork-kicker{top:clamp(70px,10vh,110px);left:50%;transform:translate(-50%)}.fwork-count{bottom:clamp(60px,9vh,100px);left:50%;transform:translate(-50%);margin:0;color:var(--film-muted);font:800 .72rem/1 var(--font-mono);letter-spacing:.24em;font-variant-numeric:tabular-nums}.cinematic-project{position:absolute;inset:0;display:grid;place-items:center;will-change:transform}.fproject-frame{position:relative;width:min(720px,66vw)}.fproject-idx{position:absolute;z-index:2;top:-.55em;right:-.35em;font:900 clamp(5rem,12vw,11rem)/1 var(--font-sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(244,244,245,.3);pointer-events:none}.fproject-media{aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--film-line);position:relative}.fproject-media img{position:absolute;inset:-6%;width:112%;height:112%;filter:grayscale(.85) contrast(1.04);transition:filter .45s ease}.cinematic-project:hover .fproject-media img{filter:grayscale(0) contrast(1)}.fproject-meta{gap:18px;margin-top:18px}.fproject-name{font:900 clamp(1.7rem,4vw,3.4rem)/1 var(--font-sans);letter-spacing:-.035em;color:#f4f4f5}.fproject-cat{font:700 .64rem/1.5 var(--font-mono)}.op-frame{position:relative;width:100%;height:100%;display:grid;place-items:center}.op-stack{margin:0;font:900 clamp(3.6rem,13vw,12rem)/.86 var(--font-sans);letter-spacing:-.045em;text-transform:uppercase;color:#f4f4f5;text-align:center;position:relative;z-index:1}.op-line{position:relative;padding-bottom:.07em;margin-bottom:-.07em}.op-line--front{position:relative;z-index:3}.op-media{position:absolute;z-index:2;left:50%;top:50%;height:min(74vh,680px);aspect-ratio:1;transform:translate(-50%,-55%);pointer-events:none;will-change:clip-path}.op-media img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:grayscale(1) contrast(1.06) drop-shadow(0 30px 50px rgba(0,0,0,.6));will-change:transform}.op-meta{position:absolute;z-index:4;left:0;right:0;bottom:clamp(34px,6vh,64px);margin:0;text-align:center;color:#f4f4f58c;font:800 .64rem/1.8 var(--font-mono);letter-spacing:.2em;text-transform:uppercase}.op-meta b{color:#f4f4f5}.footer-inner{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:clamp(80px,11vh,120px) clamp(24px,5vw,80px) clamp(24px,4vh,40px)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-status{display:inline-flex;align-items:center;gap:10px;margin:0;font:800 .62rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#f4f4f5}.footer-center{position:relative;text-align:center}.cinematic-footer-title{margin:0;font:900 clamp(3.6rem,12.5vw,12.5rem)/.85 var(--font-sans);letter-spacing:-.045em;text-transform:uppercase;color:#f4f4f5;position:relative;z-index:1}.cinematic-footer-title .hline{padding-bottom:.08em;margin-bottom:-.08em}.footer-cta{position:absolute;right:clamp(2%,6vw,10%);top:50%;z-index:2;display:grid;place-items:center;width:clamp(120px,13vw,180px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(244,244,245,.45);background:#050505;color:#f4f4f5;font:800 .68rem/1.5 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;text-align:center;text-decoration:none;will-change:transform;transition:background .35s ease,color .35s ease,border-color .35s ease}.footer-cta:hover,.footer-cta:focus-visible{background:#f4f4f5;color:#050505;border-color:#f4f4f5;outline:none}.footer-email{margin:clamp(20px,3.5vh,36px) 0 0}.footer-email a{color:var(--film-muted);text-decoration:none;border-bottom:1px solid var(--film-line);padding-bottom:6px;font:750 clamp(.95rem,1.7vw,1.35rem)/1 var(--font-mono);letter-spacing:.02em}.footer-email a:hover,.footer-email a:focus-visible,.footer-meta a:hover,.footer-meta a:focus-visible{color:#f4f4f5;border-color:#f4f4f5;outline:none}.footer-bottom{display:grid;gap:clamp(18px,3vh,28px)}.footer-ticker{overflow:hidden;border-top:1px solid var(--film-line);border-bottom:1px solid var(--film-line);padding:13px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.footer-ticker-track{display:flex;width:max-content;animation:cinematicTickerScroll 26s linear infinite;will-change:transform}@keyframes cinematicTickerScroll{to{transform:translate(-50%)}}.footer-ticker span{flex:none;padding-right:2.6em;color:var(--film-muted);font:800 .66rem/1 var(--font-mono);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}.footer-ticker b,.footer-meta b{color:#f4f4f5}.footer-meta{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:24px}.footer-meta>div{color:var(--film-muted);font:750 .66rem/1.9 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.footer-meta b{display:block}.footer-meta a{color:var(--film-muted);text-decoration:none}.shutter{position:absolute;left:0;right:0;z-index:8;height:50.5vh;background:#0a0a0a;will-change:transform}.shutter--top{top:0;border-bottom:1px solid var(--film-line)}.shutter--bottom{bottom:0;border-top:1px solid var(--film-line)}.cursor-dot,.cursor-ring{position:fixed;z-index:1305;top:0;left:0;pointer-events:none;opacity:0;transform:translate(-50%,-50%)}.has-cinematic-cursor .cursor-dot,.has-cinematic-cursor .cursor-ring{opacity:1}.cursor-dot{width:5px;height:5px;border-radius:50%;background:#f4f4f5}.cursor-ring{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(244,244,245,.38);border-radius:50%;color:#f4f4f5;font:800 .52rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;transition:width .25s ease,height .25s ease,background .25s ease,color .25s ease}.has-cinematic-cursor[data-cinematic-cursor=link] .cursor-ring,.has-cinematic-cursor[data-cinematic-cursor=view] .cursor-ring{width:72px;height:72px;background:#f4f4f5;color:#050505}@media(max-width:900px){.hero-meta,.proof-row,.facts-row{flex-wrap:wrap}.hline--indent{padding-left:8vw}.hero-layer{display:none}.fproject-frame{width:82vw}.footer-meta{grid-template-columns:1fr 1fr}.footer-cta{display:none}.op-media{height:52vh}}@media(min-width:601px)and (max-width:900px){.cinematic-scene--proof{padding-inline:clamp(16px,3vw,28px)}.cinematic-scene--proof>div{width:100%}.proof-title{margin-bottom:clamp(18px,3vh,28px)}.proof-row{max-width:min(680px,94vw);margin-inline:auto;gap:clamp(10px,1.5vw,16px)}.cinematic-proof-card{width:min(210px,28vw)}.proof-meta{flex-direction:column;align-items:flex-start;gap:6px}.proof-cat{text-align:left}}@media(max-width:640px){.cinematic-hero-title,.op-stack,.cinematic-footer-title{font-size:clamp(3.3rem,19vw,6rem)}.cinematic-manifesto-text,.svc-stack,.proof-title{font-size:clamp(2.2rem,13vw,4.4rem)}.chrome--bl,.chrome--br{display:none}.cinematic-exit-toggle{padding:10px 12px}.footer-meta{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.cinematic-loader,.cinematic-grain,.cursor-dot,.cursor-ring,.cinematic-scroll-space,.shutter{display:none}.cinematic-experience{min-height:auto}.cinematic-stage{position:relative;overflow:visible}.cinematic-scene{position:relative;min-height:100vh;transform:none!important;clip-path:none!important;opacity:1!important}.cinematic-manifesto-text .w,.cinematic-proof-card,.cinematic-project,.op-media,.op-line .ch,.op-meta,.footer-meta>div{opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important}.footer-status i,.footer-ticker-track{animation:none}}@media(max-width:600px){:root{--mobile-gutter: 12px;--mobile-header-offset: 78px;--mobile-signal: var(--accent);--mobile-frame: color-mix(in srgb, var(--line) 88%, transparent);--mobile-surface: color-mix(in srgb, var(--panel) 96%, var(--bg));--mobile-surface-soft: color-mix(in srgb, var(--panel2) 92%, var(--bg))}html.light{--mobile-frame: #b9b9b5;--mobile-surface: #fbfbf8;--mobile-surface-soft: #f1f1ed}html{scroll-padding-top:var(--mobile-header-offset);scroll-snap-type:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--bg);background-size:40px 40px;background-attachment:fixed}.normal-portfolio-shell{min-height:100svh;padding-bottom:calc(52px + env(safe-area-inset-bottom))}.content-body{min-height:0}.main-container{width:auto;max-width:none;margin:0 var(--mobile-gutter);padding:0 0 var(--mobile-gutter)}.symmetrical-layout{gap:var(--mobile-gutter)}#home,#about,#certificates,#projects,#contact{position:relative;width:100%;max-width:none;box-sizing:border-box;scroll-margin-top:var(--mobile-header-offset);scroll-snap-align:start;scroll-snap-stop:always;overflow:clip}#home{width:calc(100% - (var(--mobile-gutter) * 2));min-height:calc(100svh - 104px);margin:var(--mobile-header-offset) var(--mobile-gutter) var(--mobile-gutter);padding:48px 18px 24px;align-items:stretch;border:1px solid var(--mobile-frame);border-radius:11px;background:var(--mobile-surface)!important;box-shadow:0 16px 48px -42px #000000e6}#about,#certificates,#projects,#contact{min-height:min(720px,calc(100svh - 96px));margin:0;padding:50px 18px 30px}#about{border:0;border-left:1px solid var(--mobile-frame);border-radius:0;background:linear-gradient(90deg,var(--mobile-surface-soft),transparent 72%)!important;box-shadow:none}#certificates{padding-right:2px;padding-left:2px;border-top:1px solid var(--mobile-frame);border-bottom:1px solid var(--mobile-frame);border-radius:0;background:transparent!important;box-shadow:none}#projects.projects-section.section{padding-right:0;padding-left:0;border:0;border-radius:0;background:transparent!important;box-shadow:none}#contact.contact-section.gsap-section{border:1px solid var(--mobile-frame);border-left:4px solid var(--mobile-signal);border-radius:0 10px 10px 0;background:var(--mobile-surface)!important;box-shadow:inset 12px 0 30px -30px var(--mobile-signal)}section[data-mobile-index]:before{content:attr(data-mobile-index);position:absolute;top:17px;right:18px;z-index:5;color:var(--mobile-signal);font:800 .52rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}section[data-mobile-index]:after{content:"";position:absolute;top:30px;right:18px;left:18px;height:1px;background:var(--line);pointer-events:none}.section-num{display:none}.section-title,.main-section-title{margin:0 0 1.5rem;color:var(--text);font-size:clamp(1.85rem,9.5vw,2.45rem);line-height:.95;letter-spacing:-.055em}.section-title-underline{width:54px;margin-top:11px;background:var(--mobile-signal)}.section-title:after,.main-section-title:after{display:none}#home .hero-desktop__inner,#home .hero-left{width:100%;max-width:none}#home .hero-left{display:flex;flex-direction:column;min-height:100%;padding:8px 0 0}#home .hero-left:before,#home .hero-left__name:before{display:none}#home .hero-left__mobile-name{max-width:9ch;font-size:clamp(2.8rem,15vw,4rem);line-height:.86;letter-spacing:-.07em;text-transform:uppercase}#home .hero-left__role{width:fit-content;margin-top:1rem;padding:6px 8px;border:1px solid color-mix(in srgb,var(--mobile-signal) 42%,var(--line));border-radius:5px;color:var(--mobile-signal);font-size:.57rem;line-height:1.25}#home .hero-left__mobile-brief{gap:1rem;margin-top:1.35rem}#home .hero-left__mobile-brief p{max-width:31ch;color:var(--text);font-size:clamp(1rem,4.4vw,1.08rem);line-height:1.58}#home .hero-left__mobile-brief dl{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--mobile-surface-soft)}#home .hero-left__mobile-brief div{padding:.76rem .8rem}#home .hero-left__mobile-brief div:last-child{border-bottom:0}#home .hero-left__mobile-brief dt{color:var(--mobile-signal)}#home .hero-left__cta{margin-top:18px}#home .hero-left__btn{width:100%;min-height:46px;border-radius:7px;background:var(--text);color:var(--bg);box-shadow:none}#home .hero-left__socials{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}#home .hero-left__socials a{min-width:0;min-height:44px;justify-content:center;border:1px solid var(--line);border-radius:7px;background:var(--mobile-surface-soft);color:var(--text);font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase}#about .ab-exp-grid{gap:1.65rem;margin:0}#about .ab-col{grid-template-columns:minmax(126px,42%) minmax(0,1fr);gap:.75rem .9rem}#about .ab-portrait{width:100%;height:auto;aspect-ratio:1;border-radius:8px;background:var(--mobile-surface-soft)}#about .ab-greeting{color:var(--mobile-signal)}#about .ab-name{font-size:clamp(1.45rem,7.7vw,2rem);line-height:.94;letter-spacing:-.05em}#about .ab-role{line-height:1.45}#about .ab-bio{color:var(--text);font-size:.96rem;line-height:1.68}#about .ab-stats-row{grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px;background:var(--mobile-surface-soft);overflow:hidden}#about .ab-stat{min-width:0;display:flex;align-items:flex-start;padding:.8rem .55rem;border-right:1px solid var(--line);border-bottom:0}#about .ab-stat:last-child{border-right:0}#about .ab-stat-num{color:var(--mobile-signal)}#about .ab-stat-lbl{max-width:9ch;font-size:.48rem;line-height:1.3}#about .ab-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#about .ab-open,#about .ab-cv-btn{min-width:0;min-height:46px;justify-content:center;box-sizing:border-box;border-radius:7px;font-size:.64rem}#about .ab-open-dot{background:var(--mobile-signal)}#about .ab-exp-col,#about .tc{padding-top:1.5rem;border-top:1px solid var(--line)}#about .exp-eyebrow{margin-bottom:1rem;color:var(--mobile-signal)}#about .exp-items{border-left:0}#about .exp-node{display:grid;grid-template-columns:2.2rem minmax(0,1fr);padding:0;border-top:1px solid var(--line)}#about .exp-node:last-child{border-bottom:1px solid var(--line)}#about .exp-marker{position:static;align-self:start;justify-self:center;width:6px;height:6px;margin-top:1.35rem;border-color:var(--mobile-signal);background:var(--mobile-signal)}#about .exp-card-body{gap:.25rem;padding:1rem 0 1.1rem}#about .exp-date{color:var(--mobile-signal);font-size:.54rem}#about .exp-title{font-size:1rem}#about .exp-desc{font-size:.84rem;line-height:1.58}#about .tc-tabs{gap:6px;margin-bottom:.9rem}#about .tech-tab{min-height:44px;border-radius:6px;background:var(--mobile-surface-soft)}#about .tech-tab.on,#about .tech-tab.active{border-color:var(--mobile-signal);color:var(--mobile-signal)}#about .tc-wrap{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}#about .tc-chip{min-height:72px}#about .tc-chip-in{width:46px;height:46px;border-radius:7px;background:var(--mobile-surface-soft)}#about .tc-lbl{max-width:10ch;color:var(--text);font-size:.5rem}#certificates .cert-grid{gap:9px;margin:0}#certificates .cert-card{min-height:0;border-radius:8px;background:var(--mobile-surface-soft);box-shadow:none}#certificates .cert-content{display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px 14px;align-items:center;padding:16px;transform:none}#certificates .cert-badge{grid-row:1 / span 4;width:48px;height:48px;margin:0;border-radius:6px;color:var(--mobile-signal)}#certificates .cert-title{margin:0;font-size:1rem}#certificates .cert-sub,#certificates .cert-iss,#certificates .cert-hint{grid-column:2}#certificates .cert-iss{color:var(--mobile-signal)}#certificates .cert-hint{margin:4px 0 0}#certificates .cert-bg,#certificates .cert-shine,#certificates .cert-spotlight{display:none}#projects.projects-section.section{margin-right:0;margin-left:0;padding:50px 0 30px}#projects .projects-heading-row{gap:.35rem}#projects .projects-index-note{margin:-.65rem 0 .85rem;color:var(--mobile-signal)}#projects .projects-showcase{gap:0;margin-top:0}#projects .project-work-list{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--mobile-surface-soft)}#projects .project-work-row{min-height:70px;padding:.8rem .75rem;box-sizing:border-box}#projects .project-work-row[aria-current=true]{background:color-mix(in srgb,var(--mobile-signal) 9%,var(--mobile-surface-soft));border-bottom-color:color-mix(in srgb,var(--mobile-signal) 54%,var(--line))}#projects .project-work-row[aria-current=true] .project-row-index,#projects .project-work-row[aria-current=true] .project-row-meta{color:var(--mobile-signal)}#projects .project-mobile-detail{gap:.85rem;padding:1rem .85rem 1.1rem 3.5rem;overflow:hidden;transform-origin:top;border-bottom-color:color-mix(in srgb,var(--mobile-signal) 44%,var(--line));background:color-mix(in srgb,var(--mobile-signal) 5%,transparent);animation:mobile-project-detail-open .46s var(--ease-out-quint) both}#projects .project-mobile-detail>*{animation:mobile-project-detail-content .34s .1s var(--ease-out-quint) both}@keyframes mobile-project-detail-open{0%{max-height:0;opacity:0;transform:translateY(-8px);clip-path:inset(0 0 100% 0)}to{max-height:520px;opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes mobile-project-detail-content{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}#projects .project-mobile-detail p{max-width:32ch;color:var(--text);font-size:.88rem}#projects .projects-detail-actions{display:grid;grid-template-columns:1fr 1fr}#projects .projects-detail-actions a{min-height:44px;border-radius:6px;background:var(--mobile-surface)}#contact.contact-section.gsap-section{display:block;padding:50px 18px 30px;background:var(--mobile-surface)!important;overflow:clip}#contact .contact-starfield,#contact .contact-macbook__camera,#contact .contact-macbook__base{display:none}#contact .contact-macbook,#contact .contact-macbook__screen{width:100%;max-width:none}#contact .contact-macbook__screen{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}#contact .contact-macbook__body{padding:0}#contact .contact-prompt{margin-bottom:14px;color:var(--mobile-signal);font-size:.68rem}#contact .contact-caret{background:var(--mobile-signal)}#contact .contact-h{max-width:8ch;font-family:var(--font-sans);font-size:clamp(2rem,11vw,3rem);line-height:.92;letter-spacing:-.055em}#contact .contact-h span{color:var(--mobile-signal)}#contact .contact-sub{margin-bottom:20px;color:var(--text);font-size:.92rem;line-height:1.58}#contact .contact-form{gap:10px}#contact .contact-field input,#contact .contact-field textarea{min-height:46px;border-radius:7px;background:var(--mobile-surface-soft)}#contact .contact-btn{min-height:48px;border-radius:7px;background:var(--text);color:var(--bg)}#contact .contact-email-button{min-height:46px;color:var(--text)}#home,#about,#certificates,#projects,#contact{transition:transform .58s var(--ease-out-quint),clip-path .62s var(--ease-out-quint),border-color .35s ease}#home.portfolio-motion:not(.portfolio-motion-in){transform:translateY(12px);clip-path:inset(0 0 9% 0 round 11px)}#about.portfolio-motion:not(.portfolio-motion-in){transform:translateY(8px);clip-path:inset(0 0 0 7% round 11px)}#certificates.portfolio-motion:not(.portfolio-motion-in){transform:translateY(14px) scale(.99);clip-path:inset(4% 0 0 0 round 11px)}#projects.portfolio-motion:not(.portfolio-motion-in){transform:translateY(8px);clip-path:inset(0 7% 0 0 round 11px)}#contact.portfolio-motion:not(.portfolio-motion-in){transform:scale(.985);clip-path:inset(2% round 11px)}}@media(max-width:350px){#home{border-radius:9px}#home,#about,#contact.contact-section.gsap-section{padding-right:14px;padding-left:14px}#certificates,#projects.projects-section.section{padding-right:0;padding-left:0}#about .ab-col{grid-template-columns:126px minmax(0,1fr);gap:.65rem .7rem}#about .ab-name{font-size:1.4rem}#about .tc-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px)and (max-height:760px){.mobile-statusbar{display:none}.normal-portfolio-shell{padding-bottom:var(--mobile-gutter)}}@media(max-width:600px)and (prefers-reduced-motion:reduce){#home,#about,#certificates,#projects,#contact{clip-path:none!important;transform:none!important;transition:none!important}#projects .project-mobile-detail,#projects .project-mobile-detail>*{animation:none!important}}:root{--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--bg: #0a0a0a;--bg2: #0e0e0e;--panel: #161616;--panel2: #101010;--text: #f4f4f5;--muted: #a1a1aa;--line: rgba(255, 255, 255, .12);--accent: #f4f4f5;--accent-deep: #d4d4d8;--on-accent: #0a0a0a;--a2: #d4d4d8;--glow: rgba(255, 255, 255, .14);--card: #141414;--card-soft: #0f0f0f;--space-sm: .75rem;--space-md: 1.5rem;--space-lg: clamp(2.25rem, 4vw, 4rem);--radius: 16px;--bg3: #1a1a1a;--border: var(--line);--adim: rgba(255, 255, 255, .05);--aglow: rgba(255, 255, 255, .06);--panel-tint: var(--panel2);--bg-color: var(--bg);--card-bg: var(--card);--text-primary: var(--text);--text-secondary: var(--muted);--accent-color: var(--accent);--navbar-bg: rgba(16, 16, 16, .78);--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1)}html.light{--bg: #f6f6f3;--bg2: #efefec;--panel: #ffffff;--panel2: #eeeeeb;--text: #18181b;--muted: #3f3f46;--line: #cbcbcf;--accent: #18181b;--accent-deep: #09090b;--on-accent: #ffffff;--a2: #52525b;--glow: rgba(24, 24, 27, .16);--card: #ffffff;--card-soft: #f1f1ee;--bg3: #e4e4e1;--border: var(--line);--adim: rgba(24, 24, 27, .06);--aglow: rgba(24, 24, 27, .1);--panel-tint: #f4f4f1;--navbar-bg: rgba(255, 255, 253, .92)}html.light .exp-card-body{background:var(--card);border-color:var(--border);box-shadow:0 2px 14px #18181b0f}html.light .exp-node.lit .exp-card-body{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 12px 34px #18181b1a}html.light .exp-title,html.light .exp-node.lit .exp-title{color:var(--text)}html.light .exp-company,html.light .exp-desc{color:var(--muted)}html.light .exp-star{background:var(--accent);opacity:.34}html.light .exp-zone-ground{background:linear-gradient(to top,rgba(24,24,27,.08),transparent 70%)}html.light .cert-card{background:var(--card)}html.light .t-win{background:#0a1626}html.light .nav-links a.active{color:#fff;background:var(--accent)}html:not(.light) .cyber-grid{opacity:.45}html:not(.light) .particle{opacity:.5!important}.section{position:relative;padding:var(--space-lg) clamp(16px,5vw,80px);max-width:1200px;margin:0 auto}.section-num{display:none}.section-title{font:800 clamp(28px,5vw,48px)/1.05 var(--font-sans);letter-spacing:-.02em;text-align:center;margin:.4em 0}.section-title-underline{display:block;width:120px;height:3px;margin:10px auto 0;background:var(--accent);border-radius:2px}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;scroll-behavior:auto}body{background:var(--bg);color:var(--text);font-family:var(--font-sans)}.main-container{width:85%;max-width:1800px;margin:0 auto;padding:9rem 0 4rem;background:transparent!important}.content-body{position:relative;z-index:2;min-height:100vh;background:transparent}.normal-portfolio-shell{position:relative;min-height:100vh}.normal-portfolio-shell[aria-hidden=true]{display:none}.global-background{display:none!important}.symmetrical-layout{display:flex;flex-direction:column;gap:5rem;background:transparent!important}.section-title,.main-section-title{text-align:center;font-size:2.8rem;margin-bottom:4rem;font-weight:800;color:var(--text-primary);letter-spacing:-1px;position:relative}.section-title:after,.main-section-title:after{content:"✦";display:block;position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.6rem;color:#60a5fa66;letter-spacing:12px;text-indent:12px;animation:starTwinkle 3s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.4}50%{opacity:.8}}.gsap-section{width:100%;display:block;background:transparent!important}html:not(.cinematic-scroll) [data-normal-motion]{opacity:1}html:not(.cinematic-scroll) [data-normal-motion] .section-num,html:not(.cinematic-scroll) [data-normal-motion] .section-title,html:not(.cinematic-scroll) [data-normal-motion] .main-section-title{transition:transform .7s var(--ease-out-quint),filter .7s ease,letter-spacing .7s var(--ease-out-quint)}html:not(.cinematic-scroll) [data-normal-motion]:not(.portfolio-motion-in) .section-num{transform:translate3d(-10px,0,0)}html:not(.cinematic-scroll) [data-normal-motion]:not(.portfolio-motion-in) .section-title,html:not(.cinematic-scroll) [data-normal-motion]:not(.portfolio-motion-in) .main-section-title{transform:translate3d(12px,0,0) skew(-1deg);filter:contrast(.94)}html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__status,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__name-line,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__role,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__bio,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__cta,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__socials,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hd-desktop{transition:opacity .8s ease,transform .9s var(--ease-out-quint),filter .9s ease;will-change:transform}html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__status,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__role,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__bio,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__cta,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__socials{opacity:.22;transform:translate3d(-42px,0,0)}html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__name-line:first-child{opacity:.24;transform:translate3d(-54px,-4px,0) scaleX(.96)}html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__name-line:last-child{opacity:.24;transform:translate3d(46px,4px,0) scaleX(.96)}html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hd-desktop{opacity:.18;transform:perspective(1000px) translate3d(132px,24px,0) rotateY(-7deg) scale(.94);filter:contrast(.92) saturate(.9)}html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-portrait,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-info-top,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-stats-row,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-actions,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-exp-col,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .tech-constellation{transition:opacity .72s ease,transform .82s var(--ease-out-quint),clip-path .82s var(--ease-out-quint),filter .82s ease;will-change:transform}html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-portrait{opacity:.24;transform:translate3d(-78px,18px,0) rotate(-4deg) scale(.91);clip-path:inset(8% round 22px);filter:contrast(.9) saturate(.88)}html:not(.cinematic-scroll) [data-normal-motion=about-lens].portfolio-motion-in .ab-portrait{clip-path:inset(0 round 18px)}html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-info-top,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-stats-row,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-actions{opacity:.28;transform:translate3d(52px,0,0)}html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-exp-col{opacity:.26;transform:translate3d(76px,0,0)}html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .tech-constellation{opacity:.24;transform:translate3d(0,42px,0) scale(.96)}html:not(.cinematic-scroll) [data-normal-motion=cert-spread] .cert-grid{transition:opacity .7s ease,transform .8s var(--ease-out-quint),filter .8s ease}html:not(.cinematic-scroll) [data-normal-motion=cert-spread]:not(.portfolio-motion-in) .cert-grid{opacity:.62;transform:translate3d(0,42px,0) scale(.94);filter:contrast(.9) saturate(.9)}html:not(.cinematic-scroll) [data-normal-motion=projects-showcase] .projects-preview-shell,html:not(.cinematic-scroll) [data-normal-motion=projects-showcase] .project-work-list{transition:opacity .75s ease,transform .86s var(--ease-out-quint),filter .86s ease;will-change:transform}html:not(.cinematic-scroll) [data-normal-motion=projects-showcase]:not(.portfolio-motion-in) .projects-preview-shell{transform:translate3d(32px,0,0)}html:not(.cinematic-scroll) [data-normal-motion=projects-showcase]:not(.portfolio-motion-in) .project-work-list{opacity:.28;transform:translate3d(-112px,0,0);filter:contrast(.9) saturate(.88)}html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-macbook__screen,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-macbook__base,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-prompt,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-h,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-sub,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-form,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-ctas{transition:opacity .75s ease,transform .86s var(--ease-out-quint),clip-path .86s var(--ease-out-quint),filter .86s ease;will-change:transform}html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-macbook__screen{opacity:.2;transform:perspective(900px) translate3d(0,78px,0) rotateX(8deg) scale(.94);transform-origin:50% 100%;clip-path:inset(0 0 18% 0 round 24px);filter:contrast(.88) saturate(.86)}html:not(.cinematic-scroll) [data-normal-motion=contact-boot].portfolio-motion-in .contact-macbook__screen{clip-path:inset(0 round 22px)}html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-macbook__base{opacity:.3;transform:translate3d(0,-18px,0) scaleX(.78)}html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-prompt,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-h,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-sub,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-form,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-ctas{opacity:.18;transform:translate3d(0,34px,0)}@media(prefers-reduced-motion:reduce){html:not(.cinematic-scroll) [data-normal-motion] .section-num,html:not(.cinematic-scroll) [data-normal-motion] .section-title,html:not(.cinematic-scroll) [data-normal-motion] .main-section-title,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__status,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__name-line,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__role,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__bio,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__cta,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hero-left__socials,html:not(.cinematic-scroll) [data-normal-motion=hero-settle] .hd-desktop,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-portrait,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-info-top,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-stats-row,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-actions,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .ab-exp-col,html:not(.cinematic-scroll) [data-normal-motion=about-lens] .tech-constellation,html:not(.cinematic-scroll) [data-normal-motion=cert-spread] .cert-grid,html:not(.cinematic-scroll) [data-normal-motion=projects-showcase] .projects-preview-shell,html:not(.cinematic-scroll) [data-normal-motion=projects-showcase] .project-work-list,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-macbook__screen,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-macbook__base,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-prompt,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-h,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-sub,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-form,html:not(.cinematic-scroll) [data-normal-motion=contact-boot] .contact-ctas{clip-path:none!important;filter:none!important;transform:none!important;transition-duration:1ms!important}}.cinematic-loader{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;pointer-events:none;visibility:hidden;opacity:0;color:#f4f4f5;background:linear-gradient(90deg,rgba(244,244,245,.06) 1px,transparent 1px),radial-gradient(circle at 50% 46%,rgba(244,244,245,.1),transparent 34%),#050505;background-size:72px 72px,auto,auto}.cinematic-loader__scan{position:absolute;inset:0;width:54%;transform:translate(-120%);background:linear-gradient(90deg,transparent,rgba(244,244,245,.16),transparent);mix-blend-mode:screen}.cinematic-loader__inner{width:min(760px,82vw);display:grid;gap:clamp(16px,3vw,28px)}.cinematic-loader__kicker,.cinematic-loader__meta{font:800 .68rem/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#f4f4f5ad}.cinematic-loader__glyph{display:flex;overflow:hidden;font:900 clamp(5rem,16vw,15rem)/.72 var(--font-sans);letter-spacing:-.05em;text-transform:uppercase}.cinematic-loader__glyph span{display:inline-block;will-change:transform,opacity}.cinematic-loader__glyph span:before{content:attr(data-letter)}.cinematic-loader__meta{display:flex;justify-content:space-between;gap:16px}.cinematic-loader__progress{height:2px;overflow:hidden;background:#f4f4f529}.cinematic-loader__progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#f4f4f5;box-shadow:0 0 24px #f4f4f58f;will-change:transform}.cinematic-observer{position:fixed;inset:0;z-index:900;pointer-events:none;opacity:0;color:var(--accent);transition:opacity .35s var(--ease-out-quint)}.cinematic-observer__rail{position:absolute;background:color-mix(in srgb,var(--accent) 24%,transparent);opacity:.72}.cinematic-observer__rail--top,.cinematic-observer__rail--bottom{left:clamp(28px,4vw,68px);right:clamp(28px,4vw,68px);height:1px}.cinematic-observer__rail--top{top:clamp(76px,9vh,130px)}.cinematic-observer__rail--bottom{bottom:clamp(30px,5vh,58px)}.cinematic-observer__rail--left{top:clamp(76px,9vh,130px);bottom:clamp(30px,5vh,58px);left:clamp(28px,4vw,68px);width:1px}.cinematic-observer:before{content:attr(data-index);position:absolute;top:clamp(94px,11vh,150px);left:clamp(44px,5vw,86px);font:900 clamp(1.55rem,3vw,3.8rem)/.82 var(--font-sans);letter-spacing:-.03em;color:color-mix(in srgb,var(--accent) 82%,transparent);text-shadow:0 0 30px color-mix(in srgb,var(--accent) 12%,transparent)}.cinematic-observer:after{content:attr(data-word);position:absolute;right:clamp(20px,3vw,52px);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:900 .7rem/1 var(--font-mono);letter-spacing:.32em;color:color-mix(in srgb,var(--accent) 62%,transparent)}.cinematic-observer__label{position:absolute;font:800 .66rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 58%,transparent)}.cinematic-observer__label--brand{left:clamp(44px,5vw,86px);bottom:clamp(42px,6vh,70px)}.cinematic-observer__label--mode{right:clamp(44px,5vw,86px);top:clamp(96px,10vh,142px);max-width:min(320px,36vw);text-align:right;line-height:1.45}.cinematic-observer__label--mode:after{content:" / " attr(data-label)}.cinematic-observer__glyph{position:absolute;left:clamp(44px,5vw,86px);top:50%;width:38px;height:1px;background:color-mix(in srgb,var(--accent) 42%,transparent);transform-origin:left center;transition:transform .35s var(--ease-out-quint),width .35s var(--ease-out-quint)}.cinematic-observer[data-direction=from-left] .cinematic-observer__glyph{width:76px;transform:translate(-12px)}.cinematic-observer[data-direction=from-right] .cinematic-observer__glyph{width:76px;transform:translate(42px) rotate(180deg)}html.cinematic-scroll .cinematic-observer{opacity:1}@media(max-width:900px){.cinematic-observer__rail--left,.cinematic-observer__glyph,.cinematic-observer:before{display:none}.cinematic-observer__label--brand{left:18px}.cinematic-observer__label--mode{right:18px}}@media(prefers-reduced-motion:reduce){.cinematic-observer{display:none}}@media(max-width:1400px){.main-container{padding:5rem 0 2rem;width:90%}.symmetrical-layout{gap:2.5rem}.section-title,.main-section-title{font-size:2rem;margin-bottom:2rem}}@media(max-width:900px){.symmetrical-layout{gap:3rem}.main-container{padding-top:8rem}.section-title,.main-section-title{font-size:2rem}}@media(max-width:600px){.section{width:100%;box-sizing:border-box;scroll-margin-top:92px;padding:2.75rem 0}.symmetrical-layout{gap:2.75rem;padding:0}.main-container{width:calc(100% - 32px);padding-top:2.5rem;padding-bottom:3rem}.section-title,.main-section-title{font-size:clamp(1.7rem,9vw,2.25rem);margin-bottom:2rem;text-align:left;text-wrap:balance}.section-title-underline{width:72px;height:2px;margin-left:0;margin-right:auto}.section-title:after,.main-section-title:after{left:0;transform:none}.particle:nth-child(n+10){display:none}.cyber-grid{opacity:.3}html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__status,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__name-line,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__role,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__bio,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__cta,html:not(.cinematic-scroll) [data-normal-motion=hero-settle]:not(.portfolio-motion-in) .hero-left__socials,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-portrait,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-info-top,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-stats-row,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-actions,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .ab-exp-col,html:not(.cinematic-scroll) [data-normal-motion=about-lens]:not(.portfolio-motion-in) .tech-constellation,html:not(.cinematic-scroll) [data-normal-motion=cert-spread]:not(.portfolio-motion-in) .cert-grid,html:not(.cinematic-scroll) [data-normal-motion=projects-showcase]:not(.portfolio-motion-in) .projects-preview-shell,html:not(.cinematic-scroll) [data-normal-motion=projects-showcase]:not(.portfolio-motion-in) .project-work-list,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-macbook__screen,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-macbook__base,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-prompt,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-h,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-sub,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-form,html:not(.cinematic-scroll) [data-normal-motion=contact-boot]:not(.portfolio-motion-in) .contact-ctas{clip-path:none!important;filter:none!important;opacity:1!important;transform:none!important}}.global-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.cyber-grid{position:absolute;width:100%;height:100%;background-image:linear-gradient(rgba(37,99,235,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.05) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(circle at center,#000 40%,#0000);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 40%,rgba(0,0,0,0) 100%)}.particles{position:absolute;width:100%;height:100%}.particle{position:absolute;border-radius:50%;background:var(--accent-color);box-shadow:0 0 10px var(--accent-color),0 0 20px var(--accent-color);opacity:0;will-change:transform,opacity}html.light .ab-main-card,html.light .cert-card{background:var(--card);border-color:var(--border);box-shadow:0 18px 48px #18181b14}html.light .ab-img-side,html.light .contact-left{background:var(--panel-tint);border-color:var(--border)}html.light .ab-spotify-mini,html.light .tech-card,html.light .contact-input{background:var(--card-soft);border-color:var(--border)}html.light .cert-title,html.light .cert-sub,html.light .contact-input,html.light .tech-name{color:var(--text-primary)}html.light .cert-iss,html.light .cert-badge{color:var(--accent-color)}html.light .cert-badge,html.light .contact-info-item,html.light .contact-info-icon,html.light .contact-social-btn,html.light .tech-tab.active{background:#2851bf14;border-color:#2851bf33}html.light .tech-tab{border-color:#2851bf2e}html.light .tech-tab.active,html.light .contact-social-btn,html.light .ab-cv-btn{color:#1e3a8a}html.light .contact-input::placeholder{color:#64748b}html,body{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
