:root,:root[data-theme=green]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b0a;--bg-alt:#0b1110;--text:#f4f7f2;--muted:#a8b6ad;--soft:#d9e5dc;--surface:#101815e0;--surface-strong:#16201cf5;--line:#e2f2e81f;--line-strong:#e2f2e83d;--accent:#67d390;--accent-strong:#2f8f58;--accent-soft:#67d39024;--button-text:#06100a;--shadow:#00000057}:root[data-theme=blue]{--bg:#070a10;--bg-alt:#0b1019;--text:#f5f8ff;--muted:#a9b8cf;--soft:#dbe6f8;--surface:#0e141fe6;--surface-strong:#131c2bf5;--line:#dbe6f821;--line-strong:#dbe6f840;--accent:#8bbcff;--accent-strong:#3977d7;--accent-soft:#8bbcff24;--button-text:#051021;--shadow:#0000005c}:root[data-theme=black]{--bg:#050607;--bg-alt:#0b0d10;--text:#f4f4ee;--muted:#b3b5b1;--soft:#eeeeea;--surface:#121314e6;--surface-strong:#191a1cf7;--line:#f4f4ee1f;--line-strong:#f4f4ee40;--accent:#f3f3ee;--accent-strong:#c9cbc5;--accent-soft:#f3f3ee1f;--button-text:#050607;--shadow:#0000006b}:root[data-theme=graphite]{--bg:#080a0d;--bg-alt:#0e1218;--text:#f1f4f8;--muted:#aab3bf;--soft:#dbe1eb;--surface:#12181fe6;--surface-strong:#192029f7;--line:#dbe1eb21;--line-strong:#dbe1eb42;--accent:#bcc6d4;--accent-strong:#8793a5;--accent-soft:#bcc6d424;--button-text:#080a0d;--shadow:#00000061}:root[data-theme=meraki]{--bg:#0d0b08;--bg-alt:#15120d;--text:#fff7e9;--muted:#c8bdab;--soft:#f3e5cf;--surface:#18140ee6;--surface-strong:#201b13f7;--line:#fff7e921;--line-strong:#fff7e940;--accent:#a9c98a;--accent-strong:#688f4c;--accent-soft:#a9c98a26;--button-text:#0d0b08;--shadow:#0000006b}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:0}html,body,.nav-shell,.mobile-menu,.palette-popover,.language-switch,.primary-button,.ghost-button,.icon-button,.nav-cta,.project-visual,.commit-feed,.about-panel,.connecta-panel,.contact-links a{transition:background-color .42s,background .42s,border-color .42s,color .42s,box-shadow .42s,transform .18s}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}body::selection{background:var(--accent);color:var(--button-text)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.motion-track{--scroll-progress:0;--scroll-abs:0;--scroll-presence:1}.hero-copy,.hero-visual,.section-heading,.about-panel,.connecta-panel,.projects-intro-copy,.projects-intro-side,.project-visual,.commit-feed-panel,.project-copy,.more-banner>div,.more-banner>a,.contact-copy,.contact-links{will-change:transform}.snap-section,.project-slide{scroll-snap-align:center;scroll-snap-stop:always;scroll-margin-top:0}.hero{scroll-snap-align:start}.site-footer{scroll-snap-align:end;scroll-snap-stop:always}.site-header{z-index:50;pointer-events:none;padding:18px 24px 0;animation:.76s cubic-bezier(.2,.8,.2,1) both navDrop;position:fixed;top:0;left:0;right:0}.nav-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#070b0a38;border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100%);min-height:68px;margin:0 auto;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s,min-height .18s,padding .18s;display:flex}.site-header.is-scrolled .nav-shell{border-color:var(--line-strong);background:var(--surface);box-shadow:0 18px 60px var(--shadow);min-height:58px;padding:8px 10px}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);background:var(--accent);width:42px;height:42px;color:var(--button-text);border-radius:50%;flex:none;place-items:center;font-weight:850;transition:transform .22s,background .42s,color .42s;display:grid}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.04)}.brand strong,.brand small{display:block}.brand strong{font-size:1rem}.brand small{color:var(--muted);margin-top:1px;font-size:.78rem}.nav-links{justify-content:center;align-items:center;gap:10px;display:flex}.nav-links a{color:var(--soft);border-radius:999px;padding:10px 12px;font-size:.95rem;transition:background .16s,color .16s;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .18s;position:absolute;bottom:6px;left:12px;right:12px;transform:scaleX(0)}.nav-links a:hover,.nav-links a:focus-visible{color:var(--text);background:0 0}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:8px;display:flex;position:relative}.icon-button,.nav-cta,.primary-button,.ghost-button{border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:42px;transition:transform .16s,border-color .16s,background .16s,color .16s;display:inline-flex}.icon-button:hover,.nav-cta:hover,.primary-button:hover,.ghost-button:hover,.icon-button:focus-visible,.nav-cta:focus-visible,.primary-button:focus-visible,.ghost-button:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.icon-button:active,.nav-cta:active,.primary-button:active,.ghost-button:active,.social-row a:active,.contact-links a:active{transform:translateY(1px)scale(.98)}.icon-button{background:#ffffff09;min-width:42px;padding:0 12px}.palette-trigger span{font-size:.88rem;font-weight:700}.palette-menu{position:relative}.language-switch{border:1px solid var(--line-strong);min-height:42px;color:var(--muted);background:#ffffff09;border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 9px;display:inline-flex}.language-switch svg{color:var(--accent);flex:none}.language-switch button{min-width:34px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 8px;font-size:.78rem;font-weight:850;transition:background .16s,color .16s,transform .16s}.language-switch button:hover,.language-switch button:focus-visible,.language-switch button.is-active{background:var(--accent);color:var(--button-text)}.language-switch button:active{transform:scale(.95)}.palette-popover{border:1px solid var(--line-strong);background:var(--surface-strong);width:214px;box-shadow:0 20px 70px var(--shadow);border-radius:8px;padding:8px;animation:.18s both popoverIn;position:absolute;top:calc(100% + 10px);right:0}.palette-popover button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px;display:flex}.palette-popover button:hover,.palette-popover button.is-active{background:var(--accent-soft)}.palette-popover strong,.palette-popover small{display:block}.palette-popover small{color:var(--muted);margin-top:1px}.palette-swatch{border:1px solid var(--line-strong);border-radius:50%;flex:none;width:18px;height:18px}.nav-cta,.primary-button{background:var(--accent);color:var(--button-text);border-color:#0000;padding:0 18px;font-weight:800}.nav-cta{min-height:44px}.ghost-button{color:var(--text);background:#ffffff09;padding:0 18px;font-weight:750}.primary-button.small,.ghost-button.small{min-height:40px;padding:0 15px;font-size:.9rem}.mobile-menu-button{display:none}.mobile-menu{border:1px solid var(--line-strong);background:var(--surface-strong);width:min(560px,100% - 48px);box-shadow:0 20px 70px var(--shadow);pointer-events:auto;border-radius:8px;gap:8px;margin:10px auto 0;padding:10px;animation:.22s both mobileMenuIn;display:grid}.mobile-menu a{min-height:46px;color:var(--soft);border-radius:7px;justify-content:space-between;align-items:center;padding:0 14px;font-weight:750;display:flex}.mobile-menu a:hover{background:var(--accent-soft);color:var(--text)}.hero{align-items:center;min-height:100svh;padding:120px 24px 72px;display:grid}.hero-grid,.about-section,.projects-intro,.project-layout,.more-banner,.contact-section,.site-footer{width:min(1180px,100% - 48px);margin:0 auto}.hero-grid{grid-template-columns:1fr .82fr;align-items:center;gap:84px;display:grid}.hero-copy{opacity:calc(.7 + var(--scroll-presence) * .3);transform:translate3d(0, calc(var(--scroll-progress) * 104px), 0) scale(calc(.976 + var(--scroll-presence) * .024))}.hero-copy>*{animation:.78s cubic-bezier(.16,1,.3,1) both heroLayerIn}.hero-copy>:nth-child(2){animation-delay:70ms}.hero-copy>:nth-child(3){animation-delay:.13s}.hero-copy>:nth-child(4){animation-delay:.19s}.hero-copy>:nth-child(5){animation-delay:.25s}.status-pill,.project-eyebrow,.section-heading span,.projects-intro span,.more-banner span,.contact-copy span{color:var(--accent);align-items:center;gap:8px;font-size:.86rem;font-weight:850;display:inline-flex}.status-pill{border:1px solid var(--accent);min-height:32px;color:var(--text);background:#ffffff06;border-radius:999px;padding:0 12px 0 9px;box-shadow:inset 0 0 0 1px #ffffff06}.status-pill span{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 6px var(--accent-soft);border-radius:50%;animation:2.3s infinite statusPulse}.hero h1,.section-heading h2,.projects-intro h2,.project-copy h2,.more-banner h2,.contact-copy h2{color:var(--text);margin:0;font-weight:880;line-height:.96}.hero h1{letter-spacing:0;max-width:680px;margin-top:24px;font-size:5.15rem}.hero-lead{max-width:620px;color:var(--soft);margin:26px 0 0;font-size:1.24rem;line-height:1.55}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:700px;margin-top:28px;display:grid}.hero-stats span{border:1px solid var(--line);min-height:62px;color:var(--muted);background:#ffffff09;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;display:flex}.hero-stats strong{color:var(--accent);font-size:1.3rem}.hero-actions,.social-row,.project-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-actions{margin-top:30px}.social-row{margin-top:18px}.social-row a{border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:.9rem;font-weight:720;display:inline-flex}.social-row a:hover{border-color:var(--accent);color:var(--text)}.hero-scope-card{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-soft), transparent 55%), #ffffff07;border-radius:8px;width:min(560px,100%);margin-top:22px;padding:16px}.scope-kicker{color:var(--accent);letter-spacing:0;font-size:.78rem;font-weight:860;display:block}.hero-scope-card div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.hero-scope-card div span{border:1px solid var(--line);min-height:48px;color:var(--soft);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.86rem;font-weight:760;transition:transform .18s,border-color .18s,background .18s,color .18s;display:flex}.hero-scope-card svg{color:var(--accent);flex:none;transition:transform .18s}.hero-visual{perspective:1000px;min-height:500px;opacity:calc(.72 + var(--scroll-presence) * .28);transform:translate3d(0, calc(var(--scroll-progress) * -118px), 0) scale(calc(.974 + var(--scroll-presence) * .026));place-items:center;display:grid;position:relative}.avatar-frame{aspect-ratio:1;width:min(405px,100%);box-shadow:0 34px 90px var(--shadow), 0 0 0 10px #ffffff06, 0 0 0 1px var(--line-strong);background:0 0;border:0;border-radius:50%;padding:0;animation:6s ease-in-out infinite floatPortrait;position:relative}.avatar-frame img{object-fit:cover;filter:saturate(.92)contrast(1.04);border-radius:50%;width:100%;height:100%}.about-section{align-content:center;gap:34px;min-height:100svh;padding:116px 0 78px;display:grid}.section-heading h2,.projects-intro h2,.more-banner h2,.contact-copy h2{max-width:780px;margin-top:12px;font-size:3.7rem}.about-grid{grid-template-columns:1.05fr .95fr;gap:20px;display:grid}.motion-about .section-heading{opacity:calc(.78 + var(--scroll-presence) * .22);transform:translate3d(0, calc(var(--scroll-progress) * 84px), 0)}.motion-about .about-panel{transform:translate3d(0, calc(var(--scroll-progress) * -102px), 0) scale(calc(.978 + var(--scroll-presence) * .022))}.motion-about .connecta-panel{transform:translate3d(0, calc(var(--scroll-progress) * 92px), 0) scale(calc(.978 + var(--scroll-presence) * .022))}.about-panel,.connecta-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:320px;padding:32px}.about-panel h3,.connecta-panel h3{margin:0 0 16px;font-size:1.5rem}.about-panel p,.connecta-panel p,.projects-intro p,.more-banner p,.contact-copy p{color:var(--soft);margin:0;font-size:1.08rem;line-height:1.7}.about-panel ul{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.about-panel li{color:var(--muted);align-items:flex-start;gap:10px;transition:transform .18s,color .18s;display:flex}.about-panel li svg{color:var(--accent);flex:none}.panel-icon{border:1px solid var(--line-strong);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:8px;place-items:center;margin-bottom:18px;transition:transform .18s,border-color .18s,background .18s;display:grid}.text-link{width:fit-content;color:var(--accent);align-items:center;gap:8px;margin-top:24px;font-weight:820;transition:transform .18s;display:inline-flex}.projects-intro{grid-template-columns:1fr .78fr;align-items:center;gap:52px;min-height:100svh;padding:108px 0 82px;display:grid}.projects-intro-side{place-self:center end;gap:22px;width:min(520px,100%);display:grid}.projects-intro .hero-scope-card{width:100%;margin-top:0}.motion-intro .projects-intro-copy{opacity:calc(.76 + var(--scroll-presence) * .24);transform:translate3d(0, calc(var(--scroll-progress) * 108px), 0) scale(calc(.978 + var(--scroll-presence) * .022))}.motion-intro .projects-intro-side{opacity:calc(.78 + var(--scroll-presence) * .22);transform:translate3d(0, calc(var(--scroll-progress) * -126px), 0) scale(calc(.976 + var(--scroll-presence) * .024))}.projects-stack{isolation:isolate}.project-slide{--scroll-progress:0;--scroll-abs:0;--scroll-presence:1;align-items:center;min-height:100svh;padding:116px 24px 84px;display:grid;position:relative;overflow:clip}.project-layout{grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);align-items:center;gap:60px;display:grid;position:relative}.project-layout:before{content:attr(data-project);display:none}.project-slide.is-reverse .project-visual,.project-slide.is-reverse .commit-feed-panel{order:2}.project-slide.is-reverse .project-copy{order:1}.project-visual{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:100%;min-height:340px;box-shadow:0 26px 80px var(--shadow);opacity:calc(.68 + var(--scroll-presence) * .32);transform:translate3d(0, calc(var(--scroll-progress) * -172px), 0) scale(calc(.958 + var(--scroll-presence) * .042));border-radius:8px;padding:0;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.project-slide:nth-child(2n) .project-visual,.project-slide:nth-child(2n) .commit-feed-panel{transform:translate3d(0, calc(var(--scroll-progress) * -172px), 0) scale(calc(.958 + var(--scroll-presence) * .042))}.project-visual:hover,.project-visual:focus-within{border-color:var(--accent)}.project-image-button{width:100%;height:100%;min-height:340px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.project-image-button img{aspect-ratio:16/10;object-fit:cover;width:100%;height:100%;min-height:340px;transform:translate3d(0, calc(var(--scroll-progress) * -38px), 0) scale(calc(1.045 + var(--scroll-abs) * .018));transform-origin:50%;transition:filter .22s;animation:.52s both slideImageIn}.project-image-button:after{content:"";pointer-events:none;background:linear-gradient(#0000 54%,#00000085);position:absolute;inset:0}.gallery-badge{z-index:1;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:38px;transform:translate3d(0, calc(var(--scroll-progress) * -18px), 0);background:#00000080;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:.88rem;font-weight:800;transition:border-color .18s,background .18s;display:inline-flex;position:absolute;bottom:16px;right:16px}.slideshow-controls{z-index:2;pointer-events:none;min-height:40px;transform:translate3d(0, calc(var(--scroll-progress) * 14px), 0);justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:64px;left:14px;right:14px}.slideshow-controls>button{color:#fff;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000080;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .16s,border-color .16s,background .16s;display:grid}.slideshow-controls>button:hover,.slideshow-controls>button:focus-visible{border-color:var(--accent);background:#000000ad;transform:translateY(-1px)}.slide-dots{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#00000070;border:1px solid #fff3;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;display:flex}.slide-dots button{cursor:pointer;background:#ffffff6b;border:0;border-radius:999px;width:7px;height:7px;padding:0;transition:width .18s,background .18s,transform .18s}.slide-dots button.is-active{background:var(--accent);width:22px}.project-copy{opacity:calc(.7 + var(--scroll-presence) * .3);transform:translate3d(0, calc(var(--scroll-progress) * 148px), 0) scale(calc(.962 + var(--scroll-presence) * .038))}.project-slide:nth-child(2n) .project-copy{transform:translate3d(0, calc(var(--scroll-progress) * 148px), 0) scale(calc(.962 + var(--scroll-presence) * .038))}.project-copy>*{will-change:transform}.project-copy .project-eyebrow{transform:translate3d(0, calc(var(--scroll-progress) * 34px), 0)}.project-copy h2{transform:translate3d(0, calc(var(--scroll-progress) * 24px), 0)}.project-subtitle,.project-description{transform:translate3d(0, calc(var(--scroll-progress) * 14px), 0)}.project-role,.metric-row,.stack-row,.project-actions{transform:translate3d(0, calc(var(--scroll-progress) * 8px), 0)}.project-copy h2{margin-top:14px;font-size:4.4rem}.project-subtitle{color:var(--accent);margin:18px 0 0;font-size:1.36rem;font-weight:780;line-height:1.35}.project-description{color:var(--soft);margin:18px 0 0;font-size:1.06rem;line-height:1.7}.project-role{color:var(--muted);align-items:flex-start;gap:10px;margin-top:20px;line-height:1.55;display:flex}.project-role svg{color:var(--accent);flex:none;margin-top:2px}.metric-row,.stack-row{flex-wrap:wrap;gap:9px;display:flex}.metric-row{margin-top:22px}.stack-row{margin-top:12px}.metric-row span,.stack-row span{border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.86rem;font-weight:780;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.metric-row span{border:1px solid var(--line-strong);background:var(--accent-soft);color:var(--text)}.stack-row span{border:1px solid var(--line);color:var(--muted)}.project-actions{margin-top:26px}.commit-feed{border:1px solid var(--line);background:#ffffff09;border-radius:8px;margin-top:22px;padding:14px}.commit-feed-panel{min-height:420px;box-shadow:0 26px 80px var(--shadow);opacity:calc(.68 + var(--scroll-presence) * .32);transform:translate3d(0, calc(var(--scroll-progress) * -172px), 0) scale(calc(.958 + var(--scroll-presence) * .042));flex-direction:column;justify-content:center;margin-top:0;padding:24px;display:flex}.commit-feed-heading{color:var(--accent);align-items:center;gap:8px;font-size:.9rem;font-weight:820;display:flex}.commit-feed-panel .commit-feed-heading{font-size:1rem}.commit-feed-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.commit-feed-stats span{border:1px solid var(--line);min-height:54px;color:var(--text);text-align:center;border-radius:8px;place-items:center;padding:10px;font-size:.86rem;font-weight:820;display:grid}.commit-feed p{color:var(--muted);margin:12px 0 0;font-size:.92rem}.commit-feed a{border-top:1px solid var(--line);color:var(--soft);justify-content:space-between;align-items:flex-start;gap:14px;margin-top:10px;padding:10px 0 0;font-size:.9rem;line-height:1.35;transition:transform .18s,color .18s,border-color .18s;display:flex}.commit-feed-panel a{align-items:center;min-height:58px;font-size:.95rem}.commit-feed a span{min-width:0}.commit-feed a small{color:var(--accent);flex:none;font-weight:800}@media (hover:hover) and (pointer:fine){.hero-scope-card:hover,.about-panel:hover,.connecta-panel:hover,.commit-feed:hover,.commit-feed-panel:hover,.project-visual:hover,.contact-links a:hover{border-color:var(--accent);box-shadow:0 24px 76px var(--shadow)}.hero-scope-card:hover{background:linear-gradient(135deg, var(--accent-soft), #ffffff0b 58%), #ffffff09}.hero-scope-card:hover div span{border-color:var(--accent);color:var(--text);background:#ffffff0a;transform:translateY(-4px)}.hero-scope-card:hover svg{transform:translateY(-1px)scale(1.12)}.about-panel:hover li{color:var(--soft);transform:translate(6px)}.connecta-panel:hover .panel-icon{border-color:var(--accent);background:var(--accent);color:var(--button-text);transform:rotate(-6deg)scale(1.08)}.connecta-panel:hover .text-link{transform:translate(6px)}.project-visual:hover .project-image-button img{filter:saturate(1.12)contrast(1.05)brightness(1.04)}.project-visual:hover .gallery-badge{border-color:var(--accent);background:#000000ad}.project-slide:hover .metric-row span{border-color:var(--accent);transform:translateY(-3px)}.project-slide:hover .stack-row span{border-color:var(--line-strong);color:var(--soft);transform:translateY(-2px)}.commit-feed:hover a{border-color:var(--line-strong)}.commit-feed a:hover{color:var(--text);transform:translate(6px)}.contact-links a:hover svg{transform:scale(1.12)}}.more-banner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:36px;min-height:76svh;padding:120px 0 88px;display:flex}.more-banner p{max-width:660px;margin-top:20px}.motion-more>div{opacity:calc(.78 + var(--scroll-presence) * .22);transform:translate3d(0, calc(var(--scroll-progress) * 68px), 0)}.motion-more>a{transform:translate3d(0, calc(var(--scroll-progress) * -74px), 0)}.contact-section{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;min-height:88svh;padding:130px 0 86px;display:grid}.contact-copy p{max-width:520px;margin-top:20px}.motion-contact .contact-copy{opacity:calc(.78 + var(--scroll-presence) * .22);transform:translate3d(0, calc(var(--scroll-progress) * 76px), 0)}.motion-contact .contact-links{transform:translate3d(0, calc(var(--scroll-progress) * -86px), 0) scale(calc(.982 + var(--scroll-presence) * .018))}.contact-links{gap:12px;display:grid}.contact-links a{border:1px solid var(--line);background:var(--surface);min-height:72px;color:var(--soft);overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:14px;padding:0 22px;font-size:1.05rem;font-weight:760;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s,color .16s;display:flex}.contact-links a:hover,.contact-links a:focus-visible{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.contact-links svg{color:var(--accent);flex:none;transition:transform .16s}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:18px;padding:26px 0 34px;display:flex}.site-footer div{gap:4px;display:grid}.site-footer strong{color:var(--text)}.site-footer a{color:var(--accent);font-weight:800}.gallery-modal{z-index:100;place-items:center;padding:24px;animation:.18s both galleryModalIn;display:grid;position:fixed;inset:0}.gallery-backdrop{cursor:pointer;background:#000000b8;border:0;animation:.18s both galleryBackdropIn;position:absolute;inset:0}.gallery-panel{z-index:1;border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(1120px,100%);max-height:min(860px,100svh - 48px);padding:14px;animation:.24s cubic-bezier(.2,.8,.2,1) both galleryPanelIn;display:grid;position:relative;box-shadow:0 24px 100px #0009}.gallery-header{justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.gallery-header span,.gallery-header strong{display:block}.gallery-header span{color:var(--accent);font-size:.82rem;font-weight:820}.gallery-header strong{margin-top:2px;font-size:1.1rem}.gallery-stage{border:1px solid var(--line);background:#0000003d;border-radius:8px;place-items:center;min-height:240px;display:grid;position:relative;overflow:hidden}.gallery-stage img{object-fit:contain;width:100%;height:100%;max-height:620px;animation:.26s both galleryImageIn}.gallery-nav{z-index:2;border:1px solid var(--line-strong);color:#fff;cursor:pointer;background:#0000008f;border-radius:50%;place-items:center;width:44px;height:44px;transition:transform .16s,border-color .16s,background .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover,.gallery-nav:focus-visible{border-color:var(--accent);background:#000000b8;transform:translateY(-50%)scale(1.04)}.gallery-nav.previous{left:12px}.gallery-nav.next{right:12px}.gallery-thumbs{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.gallery-thumbs button{aspect-ratio:16/9;cursor:pointer;opacity:.68;background:0 0;border:2px solid #0000;border-radius:6px;flex:none;width:108px;padding:0;transition:opacity .16s,border-color .16s,transform .16s;overflow:hidden}.gallery-thumbs button.is-active{border-color:var(--accent);opacity:1}.gallery-thumbs button:hover,.gallery-thumbs button:focus-visible{opacity:1;transform:translateY(-2px)}.gallery-thumbs img{object-fit:cover;width:100%;height:100%}.theme-wipe{z-index:90;background:var(--accent);opacity:0;pointer-events:none;position:fixed;inset:0;transform:translateY(100%)}.theme-wipe.is-active{animation:.52s cubic-bezier(.76,0,.24,1) both themeWipe}@keyframes navDrop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes heroLayerIn{0%{opacity:.18;transform:translateY(28px)scale(.982)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes popoverIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mobileMenuIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{0%,to{box-shadow:0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 9px #0000}}@keyframes floatPortrait{0%,to{transform:translateY(0)rotateX(0)rotateY(-3deg)}50%{transform:translateY(-18px)rotateX(2deg)rotateY(4deg)}}@keyframes slideImageIn{0%{opacity:0;filter:saturate(.78)contrast(1.08)brightness(.9)}to{opacity:1;filter:saturate()contrast()brightness()}}@keyframes themeWipe{0%{opacity:0;transform:translateY(100%)}32%{opacity:.2}50%{opacity:.18;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes galleryModalIn{0%{opacity:0}to{opacity:1}}@keyframes galleryBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes galleryPanelIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes galleryImageIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1080px){.nav-links{display:none}.mobile-menu-button{display:inline-flex}.hero-grid,.about-grid,.projects-intro,.project-layout,.contact-section{grid-template-columns:1fr}.hero-grid{gap:42px}.hero h1{font-size:4.2rem}.hero-visual{min-height:420px}.project-slide.is-reverse .project-visual,.project-slide.is-reverse .commit-feed-panel,.project-slide.is-reverse .project-copy{order:initial}.project-layout{gap:34px}.project-copy h2{font-size:3.6rem}.more-banner{flex-direction:column;align-items:flex-start}}@media (width<=720px){html{scroll-snap-type:none}.site-header{padding:10px 12px 0}.nav-shell{min-height:62px;padding:8px}.nav-actions{gap:6px}.brand small,.nav-cta,.palette-trigger span,.palette-trigger svg:last-child{display:none}.language-switch{gap:2px;min-height:38px;padding:3px 4px}.language-switch svg{display:none}.language-switch button{min-width:30px;height:28px;padding:0 6px;font-size:.72rem}.palette-popover{right:-54px}.mobile-menu{width:calc(100% - 24px)}.hero,.about-section,.projects-intro,.project-slide,.more-banner,.contact-section{padding-left:18px;padding-right:18px}.hero{padding-top:108px;padding-bottom:56px}.hero-grid,.about-section,.projects-intro,.project-layout,.more-banner,.contact-section,.site-footer{width:100%}.hero h1{font-size:3.1rem;line-height:1}.hero-lead{font-size:1.05rem}.hero-scope-card div,.hero-stats{grid-template-columns:1fr}.hero-stats span{justify-content:flex-start}.hero-visual{min-height:auto}.avatar-frame{width:min(330px,100%)}.motion-hero .hero-copy{transform:translate3d(0, calc(var(--scroll-progress) * 34px), 0)}.motion-hero .hero-visual{transform:translate3d(0, calc(var(--scroll-progress) * -38px), 0)}.motion-about .section-heading,.motion-intro .projects-intro-copy,.motion-more>div,.motion-contact .contact-copy{transform:translate3d(0, calc(var(--scroll-progress) * -26px), 0)}.motion-about .about-panel,.motion-intro .projects-intro-side,.motion-more>a{transform:translate3d(0, calc(var(--scroll-progress) * 30px), 0)}.motion-about .connecta-panel,.motion-contact .contact-links{transform:translate3d(0, calc(var(--scroll-progress) * -20px), 0)}.section-heading h2,.projects-intro h2,.more-banner h2,.contact-copy h2{font-size:2.45rem;line-height:1.04}.about-section,.projects-intro,.more-banner,.contact-section{min-height:auto;padding-top:92px;padding-bottom:60px}.about-panel,.connecta-panel{min-height:0;padding:22px}.project-slide{border-top:1px solid var(--line);background:linear-gradient(180deg, #ffffff05, transparent 42%), var(--bg);min-height:auto;padding-top:58px;padding-bottom:58px;position:relative}.project-slide:nth-child(2n){background:linear-gradient(180deg, var(--accent-soft), transparent 38%), var(--bg)}.project-layout{gap:24px}.project-layout:before{border:1px solid var(--line-strong);width:fit-content;min-height:32px;color:var(--accent);background:#ffffff06;border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:850;display:inline-flex}.project-visual,.project-image-button,.project-image-button img{min-height:220px}.project-visual,.commit-feed-panel,.project-copy,.project-slide:nth-child(2n) .project-visual,.project-slide:nth-child(2n) .commit-feed-panel{transform:translate3d(0, calc(var(--scroll-progress) * -46px), 0) scale(calc(1 - var(--scroll-abs) * .018))}.project-copy,.project-slide:nth-child(2n) .project-copy{transform:translate3d(0, calc(var(--scroll-progress) * 32px), 0)}.slideshow-controls{bottom:54px;left:10px;right:10px}.slideshow-controls>button{width:36px;height:36px}.slide-dots{max-width:58%;overflow-x:auto}.commit-feed-panel{min-height:0;padding:18px}.commit-feed-stats{grid-template-columns:1fr}.project-copy h2{font-size:2.48rem;line-height:1}.project-subtitle{font-size:1.15rem}.project-description{font-size:1rem;line-height:1.62}.metric-row,.stack-row{gap:7px}.metric-row span,.stack-row span{min-height:30px;padding:0 10px;font-size:.8rem}.project-actions .primary-button,.project-actions .ghost-button,.hero-actions .primary-button,.hero-actions .ghost-button{justify-content:center;width:100%}.contact-links a{min-height:64px;padding:0 16px;font-size:.96rem}.site-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:18px;font-size:.88rem}.site-footer div{gap:2px}.gallery-modal{padding:10px}.gallery-panel{max-height:calc(100svh - 20px);padding:10px}.gallery-stage img{max-height:58svh}.gallery-nav{width:40px;height:40px}.gallery-thumbs button{width:84px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-visual,.commit-feed-panel,.project-copy,.project-copy>*,.project-image-button img,.gallery-badge,.slideshow-controls,.hero-copy,.hero-visual,.section-heading,.about-panel,.connecta-panel,.projects-intro-copy,.projects-intro-side,.more-banner>div,.more-banner>a,.contact-copy,.contact-links{opacity:1!important;transform:none!important}.theme-wipe{display:none}}
