:root{color-scheme:dark;--scroll-progress: 0;--ink: oklch(14% .016 190);--ink-strong: oklch(8% .012 190);--paper: oklch(88% .022 76);--muted: oklch(70% .024 82);--copper: oklch(58% .082 46);--mint: oklch(64% .055 158);--cyan: oklch(58% .048 198);--fig: oklch(36% .04 172);--line: oklch(80% .022 80 / 18%);--panel: oklch(18% .022 185 / 88%);--panel-strong: oklch(23% .026 172 / 92%);--shadow: 0 24px 80px oklch(5% .012 190 / 50%);font-family:Avenir Next,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--ink);color:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,#010303,#020e0b 42%,#010909)}body::selection{background:var(--mint);color:var(--ink-strong)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,5vw,72px);background:linear-gradient(180deg,#000201e0,#00020100);pointer-events:none}.site-header a{pointer-events:auto}.brand-mark{display:inline-grid;place-items:center;width:44px;aspect-ratio:1;border:1px solid var(--line);color:var(--paper);text-decoration:none;font-weight:800;letter-spacing:0;background:linear-gradient(135deg,#031311f0,#132c20e0)}.site-nav{display:flex;gap:clamp(14px,3vw,36px);font-size:.84rem;color:#b9b09f}.site-nav a{text-decoration:none}.site-nav a:hover{color:var(--paper)}main{overflow:clip}.hero-section{position:relative;min-height:98svh;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;padding:116px clamp(18px,6vw,88px) clamp(34px,8vw,92px);isolation:isolate;background:linear-gradient(100deg,#000201e0,oklch(13% .028 178 / 64%) 42%,#08120a2e 78%),linear-gradient(180deg,oklch(7% .012 190),transparent 42%,oklch(8% .012 190))}.hero-copy{position:relative;z-index:3;max-width:860px;text-shadow:0 18px 54px oklch(5% .018 165 / 72%)}.eyebrow{margin:0 0 12px;color:var(--mint);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{letter-spacing:0}h1{margin:0;max-width:11ch;font-size:8.8rem;line-height:.82;font-weight:900}h2{margin:0;max-width:12ch;font-size:5.2rem;line-height:.9;font-weight:860}h3{margin:0;font-size:2.2rem;line-height:.96}.hero-lede{max-width:760px;margin:28px 0 0;color:#e1d6bf;font-size:1.6rem;line-height:1.25}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.primary-link,.secondary-link,.project-link,.filter-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:0 18px;color:var(--paper);text-decoration:none;font-weight:780;line-height:1;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.primary-link{background:#587b66;color:#010404;border-color:#7ca38b8f}.secondary-link,.project-link,.filter-button{background:#051210c7}.primary-link:hover,.secondary-link:hover,.project-link:hover,.filter-button:hover{transform:translateY(-2px);border-color:#789c86ad}.hero-proof{position:relative;z-index:4;display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;max-width:780px}.hero-proof span{border:1px solid var(--line);padding:10px 12px;color:#c0b6a5;background:#010a08b8;font-size:.84rem}.cinematic-stage{position:absolute;inset:0;z-index:1;overflow:hidden;background:linear-gradient(115deg,#000201,oklch(16% .032 178) 36%,#040e06 66%,#000202)}.cinematic-stage canvas,.stage-grid,.stage-aurora,.stage-vignette{position:absolute;inset:0;width:100%;height:100%}.cinematic-stage canvas{z-index:2;transform:scale(calc(1.01 + var(--scroll-progress) * .045));opacity:.96;filter:saturate(1.08) contrast(1.04)}.stage-aurora{z-index:1;background:linear-gradient(68deg,transparent 0 18%,oklch(58% .048 198 / 14%) 32%,transparent 48%),linear-gradient(132deg,transparent 0 26%,oklch(58% .082 46 / 10%) 45%,transparent 66%),linear-gradient(22deg,transparent 0 36%,oklch(64% .055 158 / 10%) 54%,transparent 72%);transform:translate3d(calc(var(--scroll-progress) * -9vw),0,0) skew(-10deg)}.stage-vignette{z-index:5;background:linear-gradient(90deg,oklch(4% .012 190 / 84%),transparent 38%,oklch(5% .012 190 / 20%) 72%,oklch(4% .012 190 / 60%)),linear-gradient(0deg,oklch(4% .012 190 / 68%),transparent 36%,oklch(4% .012 190 / 40%));pointer-events:none}.stage-grid{z-index:3;background-image:linear-gradient(90deg,oklch(94% .04 91 / 9%) 1px,transparent 1px),linear-gradient(0deg,oklch(94% .04 91 / 8%) 1px,transparent 1px),linear-gradient(118deg,transparent 0 46%,oklch(94% .04 91 / 13%) 47% 48%,transparent 49% 100%);background-size:78px 78px,78px 78px,220px 220px;mask-image:linear-gradient(110deg,transparent,black 22%,black 78%,transparent);opacity:.5}.stage-shard{position:absolute;z-index:4;border:1px solid oklch(88% .08 91 / 30%);background:linear-gradient(135deg,#58838524,#a36b501a),linear-gradient(90deg,oklch(94% .026 74 / 10%),transparent);box-shadow:var(--shadow);transform:translateZ(0) rotate(.001deg)}.shard-one{width:clamp(170px,28vw,430px);aspect-ratio:1.6;right:8vw;top:18svh;clip-path:polygon(0 18%,78% 0,100% 74%,16% 100%);transform:translate3d(calc(var(--scroll-progress) * -120px),calc(var(--scroll-progress) * 80px),0) rotate(-8deg)}.shard-two{width:clamp(130px,18vw,260px);aspect-ratio:.9;left:12vw;top:26svh;clip-path:polygon(28% 0,100% 12%,78% 100%,0 76%);transform:translate3d(calc(var(--scroll-progress) * 120px),calc(var(--scroll-progress) * -70px),0) rotate(12deg)}.stage-label{position:absolute;z-index:6;border:1px solid var(--line);min-width:82px;padding:9px 11px;color:#d9cfc1;background:#010605d6;box-shadow:0 14px 38px #0000006b;font-size:.72rem;font-weight:900;line-height:1;text-align:center;text-transform:uppercase}.label-one{right:18vw;top:25svh}.label-two{right:10vw;top:53svh}.label-three{left:18vw;top:46svh}.statement-band,.systems-section,.projects-section,.skills-section,.contact-section{padding:clamp(72px,12vw,150px) clamp(18px,6vw,88px)}.statement-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);gap:clamp(28px,8vw,120px);align-items:end;background:linear-gradient(135deg,#071a16,#05100f);color:var(--paper)}.statement-band .eyebrow{color:var(--mint)}.statement-band p:last-child{max-width:38ch;margin:0;color:var(--muted);font-size:1.24rem;line-height:1.45}.section-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(24px,8vw,110px);align-items:end;margin-bottom:clamp(28px,6vw,74px)}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-tile{min-height:230px;padding:clamp(20px,3vw,34px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#010e109e}.capability-tile span{display:block;color:#80a28d;font-size:2rem;font-weight:900;line-height:.9}.capability-tile p{max-width:30ch;margin:28px 0 0;color:var(--muted);line-height:1.5}.projects-section{background:linear-gradient(180deg,#030e0b,#010605)}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter-button{color:var(--paper);cursor:pointer;font:inherit}.filter-button.is-active{background:#587b66;color:var(--ink-strong);border-color:transparent}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);min-height:500px;border:1px solid var(--line);background:linear-gradient(145deg,#061513e0,#0c1912c2);overflow:clip}.project-visual{position:relative;display:grid;place-items:center;min-height:100%;background:linear-gradient(145deg,#0e3830,#071413 48%,#432516)}.project-visual:before{content:"";position:absolute;inset:14%;border:1px solid oklch(92% .04 91 / 28%);clip-path:polygon(0 12%,88% 0,100% 88%,18% 100%)}.project-visual img{position:relative;z-index:1;width:min(58%,160px);height:auto;filter:drop-shadow(0 20px 38px oklch(5% .02 165 / 55%))}.project-visual span{position:relative;z-index:1;font-size:4.8rem;font-weight:900;color:#eee4c7}.project-card-body{padding:clamp(22px,4vw,42px)}.project-meta,.stack-list{display:flex;flex-wrap:wrap;gap:8px}.project-meta span,.stack-list span,.skill-cloud li{border:1px solid var(--line);padding:8px 10px;color:#c6bcab;background:#0107077a;font-size:.78rem;font-weight:760}.project-card h3{margin-top:24px}.project-card p{color:#c6bcab;line-height:1.55}.project-card ul{display:grid;gap:10px;padding-left:20px;color:#b3aa99;line-height:1.46}.stack-list{margin-top:22px}.project-detail{font-size:.82rem;color:#c0b6a4}.project-link{margin-top:8px}.skills-section{background:linear-gradient(135deg,#071714,#030e0d);color:var(--paper)}.skills-section .eyebrow{color:var(--mint)}.skill-cloud{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}.skill-cloud li{color:#ccc3b3;background:#01070770;border-color:var(--line)}[data-motion-quality=reduced] .stage-label{opacity:.86}.contact-section{min-height:70svh;display:grid;align-content:center;background:linear-gradient(135deg,#000202,#07150e 52%,#010707)}.contact-section h2{max-width:14ch}.location-note{margin-top:28px;color:var(--muted)}@media(max-width:980px){.statement-band,.section-heading,.project-card,.capability-grid,.project-grid{grid-template-columns:1fr}.capability-tile{min-height:180px}h1{font-size:6.8rem}h2{font-size:4rem}h3{font-size:1.85rem}.hero-lede{font-size:1.3rem}}@media(max-width:680px){.site-header{padding:12px 14px}.site-nav{gap:12px;font-size:.78rem}.brand-mark{width:40px}.hero-section{min-height:92svh;padding-top:92px}h1{font-size:4.4rem}h2{font-size:3rem}h3{font-size:1.62rem}.hero-lede{font-size:1.08rem}.hero-proof span,.project-meta span,.stack-list span,.skill-cloud li{font-size:.72rem}.project-card{min-height:auto}.project-visual{min-height:220px}.stage-label{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.cinematic-stage canvas,.shard-one,.shard-two{transform:none}}
