:root{--bg:#090a0a;--ink:#f0eadf;--muted:#9b988f;--line:#f0eadf24;--accent:#ef3f27;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0;overflow-x:hidden}button,a{font:inherit}.topography{z-index:0;pointer-events:none;opacity:.82;width:100%;height:100%;position:fixed;inset:0}.grain{z-index:8;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:fixed;inset:0}.scanline{z-index:7;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(#0000 0 50%,#ffffff06 51%,#0000 52%) 0 0/100% 8px;position:fixed;inset:0}.rail{z-index:5;border-right:1px solid var(--line);background:linear-gradient(90deg,#090a0af5,#090a0ab3);flex-direction:column;width:245px;padding:42px 28px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{margin-bottom:72px}.name{letter-spacing:.28em;font-weight:700}.role{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:10px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.rail nav{gap:8px;display:grid}.rail nav button{appearance:none;color:var(--muted);letter-spacing:.18em;cursor:pointer;text-align:left;background:0 0;border:0;gap:22px;padding:10px 0;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.rail nav button span{color:#666;width:24px}.rail nav button.active,.rail nav button.active span{color:var(--accent)}.rail-meta{color:#6e6d68;letter-spacing:.2em;max-width:150px;margin-top:auto;font:10px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace}.panel{z-index:2;border-bottom:1px solid var(--line);min-height:100vh;margin-left:245px;position:relative;overflow:hidden}.site-scene{z-index:1;pointer-events:none;opacity:0;transition:opacity .45s;position:fixed;inset:0 0 0 245px;overflow:hidden;container-type:size}.after-hero .site-scene{opacity:1}.hero{isolation:isolate;align-items:center;padding:8vw 7vw;display:flex}.hero-reference{z-index:0;opacity:.2;filter:saturate(.82)contrast(1.08);background-position:50%;background-size:cover;position:absolute;inset:0}.mountain{clip-path:polygon(0 100%,12% 63%,22% 78%,36% 49%,51% 74%,62% 52%,72% 72%,84% 39%,100% 100%);background:#111;position:absolute;bottom:0}.m1{opacity:.98;height:42%;left:30%;right:0}.m2{opacity:.65;filter:blur(.3px);height:26%;left:15%;right:8%}.hero-copy{z-index:2;max-width:760px;position:relative}.eyebrow{letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin:0 0 22px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.hero h1,.section-copy h2,.contact-panel h2{letter-spacing:-.055em;text-transform:uppercase;max-width:900px;margin:0;font-size:clamp(58px,7vw,118px);line-height:.87}.hero h1 em{color:var(--accent);background:linear-gradient(105deg,#df3926 0%,#ef3f27 33%,#f36b46 50%,#ef3f27 67%,#df3926 100%) 0%/220% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal;animation:9s ease-in-out infinite evolve-gradient}@keyframes evolve-gradient{0%,to{background-position:0%}50%{background-position:100%}}.lede{color:#d0c9be;max-width:620px;margin:32px 0;font:16px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary,.ghost{border:1px solid var(--accent);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:13px 18px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.primary{background:var(--accent);color:#0b0b0b}.ghost{color:var(--ink);background:#090a0a59}.link{text-decoration:none;display:inline-block}.text-link{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;letter-spacing:.12em;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.coords,.hud,.hero-caption{z-index:2;color:#aaa397;letter-spacing:.2em;font:10px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}.coords{text-align:right;top:34px;right:34px}.hud-a{color:#8b8176;bottom:30px;left:7vw}.hero-caption{text-align:right;color:#a49d93;bottom:30px;right:34px}.hero-caption span{color:var(--accent);margin-bottom:4px;display:block}.content-panel{background:linear-gradient(#090a0aba,#090a0af0);grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:8vw;padding:9vw 7vw;display:grid}.after-hero .content-panel{background:linear-gradient(#090a0a9e,#090a0ac2)}.scene-sun{z-index:1;aspect-ratio:1;background:var(--accent);opacity:.36;border-radius:50%;width:32.36cqw;position:absolute;top:calc(50cqh - 22.64cqw);left:53.29cqw;box-shadow:0 0 100px #ef3f2726}@container (aspect-ratio<=1672/941){.scene-sun{width:57.49cqh;top:9.78cqh;left:calc(50cqw + 5.84cqh)}}.scene-mountains{z-index:2;position:absolute;inset:0}.site-scene .mountain{background:#5a554e}.site-scene .m1{opacity:.65;height:40%}.site-scene .m2{opacity:.45;height:27%}.section-num{color:#4b4a47;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:32px;right:38px}.section-copy h2,.contact-panel h2{font-size:clamp(42px,5.5vw,88px)}.section-copy p:not(.eyebrow),.contact-panel p{color:#bdb7ac;max-width:720px;font:16px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}.metric-grid{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.metric-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:flex-end;min-height:150px;padding:28px;display:flex}.metric-grid strong{color:var(--accent);font-size:34px}.metric-grid span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.timeline{border-left:1px solid var(--line);padding-left:32px}.timeline div{padding:16px 0 32px}.timeline span{color:var(--accent);letter-spacing:.2em;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.timeline strong{margin:8px 0;font-size:24px;display:block}.timeline p{color:var(--muted);font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.projects-panel{grid-template-columns:1fr}.compact{max-width:900px}.project-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.project-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0c0d0da6;min-height:300px;padding:28px;transition:all .25s}.project-card:hover{background:#ef3f2714;transform:translateY(-4px)}.project-card>span{color:var(--accent);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.project-card>p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:54px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.project-card h3{margin:8px 0 14px;font-size:24px}.project-card div{color:#aaa49a;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.stack-list{border-top:1px solid var(--line)}.stack-list div{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr;gap:12px;padding:18px 0;font:18px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.stack-list span{color:var(--accent)}.contact-panel{background:linear-gradient(135deg,#0b0c0c,#111);justify-content:space-between;align-items:center;padding:8vw 7vw;display:flex}.contact-panel>div:first-child{max-width:900px}.contact-meta{color:#77736c;letter-spacing:.2em;text-align:right;align-self:flex-end;font:10px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace}.signal-section:before{content:"";z-index:4;pointer-events:none;opacity:0;transform-origin:0;background:linear-gradient(90deg,#0000,#ef3f27f2,#f0eadf99,#0000);height:1px;position:absolute;top:0;left:7vw;right:7vw;transform:scaleX(0)}.signal-grid{position:relative;overflow:hidden}.signal-grid:after{content:"";z-index:3;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#ef3f271f,#f0eadf17,#0000);width:38%;position:absolute;inset:0 auto 0 -46%;transform:skew(-14deg)}.has-signal-motion .signal-section:not(.is-revealed) .signal-item{opacity:0}.has-signal-motion .signal-section.is-revealed:before{animation:.88s cubic-bezier(.16,1,.3,1) both signal-edge}.has-signal-motion .signal-section.is-revealed .signal-item{animation:signal-in .66s cubic-bezier(.16,1,.3,1) var(--signal-delay,0s) both}.has-signal-motion .signal-section.is-revealed .signal-grid:after{animation:1.05s cubic-bezier(.16,1,.3,1) .13s both signal-scan}.has-signal-motion .signal-section.is-revealed .project-card.signal-item{animation-name:signal-fade}.has-signal-motion .signal-section.is-revealed .metric-grid .signal-value{animation:signal-lock .52s cubic-bezier(.16,1,.3,1) calc(var(--signal-delay,0s) + .11s) both}.has-signal-motion .signal-section.is-revealed .metric-grid span{animation:signal-type .52s cubic-bezier(.16,1,.3,1) calc(var(--signal-delay,0s) + .18s) both}.has-signal-motion .signal-section.is-revealed .timeline .signal-item>span,.has-signal-motion .signal-section.is-revealed .project-card>span,.has-signal-motion .signal-section.is-revealed .stack-list .signal-item>span{animation:signal-lock .44s cubic-bezier(.16,1,.3,1) calc(var(--signal-delay,0s) + 80ms) both}.has-signal-motion .signal-section.is-revealed .timeline .signal-item>strong,.has-signal-motion .signal-section.is-revealed .project-card>h3{animation:signal-type .56s cubic-bezier(.16,1,.3,1) calc(var(--signal-delay,0s) + .14s) both}.has-signal-motion .signal-section.is-revealed .timeline .signal-item>p,.has-signal-motion .signal-section.is-revealed .project-card>p,.has-signal-motion .signal-section.is-revealed .project-card>div{animation:signal-copy .6s cubic-bezier(.16,1,.3,1) calc(var(--signal-delay,0s) + .21s) both}@keyframes signal-in{0%{opacity:0;filter:blur(3px);transform:translateY(22px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes signal-fade{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}@keyframes signal-lock{0%{opacity:0;filter:blur(2px);letter-spacing:.22em;transform:translate(-10px)}72%{opacity:1;color:#f36b46}to{opacity:1;filter:blur();letter-spacing:inherit;transform:translate(0,0)}}@keyframes signal-type{0%{opacity:0;filter:blur(2px);letter-spacing:.22em;transform:translate(-7px)}to{opacity:1;filter:blur();letter-spacing:inherit;transform:translate(0,0)}}@keyframes signal-copy{0%{opacity:0;filter:blur(2px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes signal-edge{0%{opacity:0;transform:scaleX(0)}20%{opacity:1}72%{opacity:.62;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes signal-scan{0%{opacity:0;transform:translate(0)skew(-14deg)}14%{opacity:1}86%{opacity:.45}to{opacity:0;transform:translate(430%)skew(-14deg)}}@media (width<=980px){.rail{border-right:0;border-top:1px solid var(--line);background:#090a0af5;flex-direction:row;align-items:center;width:auto;height:64px;padding:0 16px;position:fixed;inset:auto 0 0}.site-scene{left:0}.brand,.rail-meta{display:none}.rail nav{gap:14px;display:flex;overflow:auto}.rail nav button{padding:8px 0}.rail nav button span{display:none}.panel{margin-left:0;padding-bottom:96px}.hero{padding:90px 24px 110px}.hero-reference{background-position:61%}@container (aspect-ratio<=1672/941){.scene-sun{left:calc(61cqw - 13.7cqh)}}.content-panel{grid-template-columns:1fr;padding:90px 24px 110px}.project-grid{grid-template-columns:1fr 1fr}.coords{top:18px;right:18px}.hero-caption{display:none}.contact-panel{flex-direction:column;align-items:flex-start;gap:48px;padding:90px 24px 120px}.contact-meta{text-align:left;align-self:flex-start}}@media (width<=640px){.hero{min-height:760px}.hero h1{font-size:18vw}.hero-reference{background-position:58%}@container (aspect-ratio<=1672/941){.scene-sun{opacity:.28;left:calc(58cqw - 8.37cqh)}}.project-grid,.metric-grid{grid-template-columns:1fr}.hero-copy{padding-top:35px}.rail nav button{letter-spacing:.08em;font-size:10px}.content-panel{gap:48px}.hud-a{left:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{transition:none}.hero h1 em{background-position:45%;animation:none}.signal-section:before,.signal-grid:after{animation:none!important}}
