#project-overlay{z-index:5000;pointer-events:none;flex-direction:column;transition:opacity .5s cubic-bezier(.4,0,.2,1);display:flex;inset:0;overflow:hidden}#project-overlay.open{opacity:1;pointer-events:all}#project-inner{scroll-behavior:smooth;flex:1;overflow:hidden auto}#project-inner::-webkit-scrollbar{width:3px}#project-inner::-webkit-scrollbar-track{background:0 0}#project-inner::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}#back-bar{z-index:5001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0009;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:56px;padding:0 40px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0;right:0}#back-btn{letter-spacing:.18em;text-transform:uppercase;color:#fff9;cursor:none;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-family:Space Mono,monospace;font-size:10px;transition:color .2s;display:flex}#back-btn:hover,#back-btn:hover .arrow{color:#e8ff3c}#back-btn .arrow{font-size:14px;transition:transform .2s}#back-btn:hover .arrow{transform:translate(-4px)}#back-project-id{letter-spacing:.2em;text-transform:uppercase;color:#ffffff40;font-family:Space Mono,monospace;font-size:9px}.proj-section,.proj-section-alt{padding:80px 64px;position:relative}.p1-hero{background:#1a1a1a;padding-top:56px}.p1-hero .proj-hero{background:#1a1a1a;padding:120px 64px 64px}.p1-num{color:#ffffff08;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p1-title{color:#fff;letter-spacing:-.03em;font-family:Unbounded,sans-serif;font-size:clamp(36px,5vw,68px);font-weight:900;line-height:.95}.p1-type{letter-spacing:.22em;text-transform:uppercase;color:#e8ff3c;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p1-bg{background:#111}.p1-accent,.p1-metric .metric-val,.p1-tl-color{color:#e8ff3c}.p1-eval{color:#ffffffbf;background:#e8ff3c08;border-color:#e8ff3c}.p1-stack .stack-chip{color:#ffffffb3;background:#e8ff3c0a;border-color:#e8ff3c40}.p2-hero{background:#f8f6f1;padding-top:56px}.p2-hero .proj-hero{background:#f8f6f1;padding:120px 64px 64px}.p2-num{color:#1a1a1a0a;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p2-title{color:#1a1a1a;font-family:Fraunces,serif;font-size:clamp(36px,5vw,68px);font-style:italic;font-weight:700;line-height:.95}.p2-type{letter-spacing:.22em;text-transform:uppercase;color:#c0392b;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p2-bg{background:#fff}.p2-bg-alt{background:#f8f6f1}.p2-accent{color:#c0392b}.p2-metric .metric-val{color:#1a1a1a}.p2-metric{background:#1a1a1a0a}.p2-tl-color{color:#c0392b}.p2-eval{color:#1a1a1ab3;background:#c0392b08;border-color:#c0392b}.p2-stack .stack-chip{color:#1a1a1a;background:#1a1a1a0a;border-color:#1a1a1a33}.p2-label{color:#1a1a1a66}.p2-body{color:#1a1a1ab3}.p2-divider{background:#1a1a1a14}.p3-hero{background:#0f2744;padding-top:56px}.p3-hero .proj-hero{background:#0f2744;padding:120px 64px 64px}.p3-num{color:#ffffff06;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p3-title{color:#fff;letter-spacing:-.03em;font-family:Syne,sans-serif;font-size:clamp(36px,5vw,68px);font-weight:800;line-height:.95}.p3-type{letter-spacing:.22em;text-transform:uppercase;color:#60a5fa;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p3-bg{background:#0a1e36}.p3-bg-alt{background:#0f2744}.p3-accent,.p3-metric .metric-val,.p3-tl-color{color:#60a5fa}.p3-eval{color:#ffffffa6;background:#60a5fa0a;border-color:#60a5fa}.p3-stack .stack-chip{color:#ffffffb3;background:#60a5fa0f;border-color:#60a5fa40}.p4-hero{background:#141414;padding-top:56px}.p4-hero .proj-hero{background:#141414;padding:120px 64px 64px}.p4-num{color:#e5091412;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p4-title{color:#fff;letter-spacing:.01em;font-family:Bebas Neue,sans-serif;font-size:clamp(60px,8vw,110px);line-height:.88}.p4-type{letter-spacing:.22em;text-transform:uppercase;color:#e50914;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p4-bg{background:#0d0d0d}.p4-bg-alt{background:#141414}.p4-accent,.p4-metric .metric-val,.p4-tl-color{color:#e50914}.p4-eval{color:#ffffffa6;background:#e509140a;border-color:#e50914}.p4-stack .stack-chip{color:#ffffffb3;background:#e509140d;border-color:#e5091440}.p5-hero{background:#0d1f16;padding-top:56px}.p5-hero .proj-hero{background:#0d1f16;padding:120px 64px 64px}.p5-num{color:#34d3990d;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p5-title{color:#ecfdf5;letter-spacing:-.02em;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(36px,5vw,68px);font-weight:800;line-height:.95}.p5-type{letter-spacing:.22em;text-transform:uppercase;color:#34d399;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p5-bg{background:#081510}.p5-bg-alt{background:#0d1f16}.p5-accent,.p5-metric .metric-val,.p5-tl-color{color:#34d399}.p5-eval{color:#ecfdf5a6;background:#34d3990a;border-color:#34d399}.p5-stack .stack-chip{color:#ecfdf5b3;background:#34d3990d;border-color:#34d39938}.p6-hero{background:#f9f9f9;padding-top:56px}.p6-hero .proj-hero{background:#f9f9f9;padding:120px 64px 64px}.p6-num{color:#1a1a1a08;pointer-events:none;font-family:Bebas Neue,sans-serif;font-size:220px;line-height:1;position:absolute;bottom:-20px;right:64px}.p6-title{color:#1a1a1a;letter-spacing:-.01em;font-family:DM Serif Display,serif;font-size:clamp(32px,4.5vw,62px);line-height:1}.p6-type{letter-spacing:.22em;text-transform:uppercase;color:#6366f1;margin-bottom:20px;font-family:Space Mono,monospace;font-size:9px;display:block}.p6-bg{background:#fff}.p6-bg-alt{background:#f3f4f6}.p6-accent{color:#6366f1}.p6-metric .metric-val{color:#1a1a1a}.p6-metric{background:#6366f10d}.p6-tl-color{color:#6366f1}.p6-eval{color:#1a1a1ab3;background:#6366f10a;border-color:#6366f1}.p6-stack .stack-chip{color:#1a1a1a;background:#6366f10a;border-color:#6366f140}.p6-label{color:#1a1a1a66}.p6-body{color:#1a1a1ab3}.proj-hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding:80px 64px 64px;display:flex;position:relative;overflow:hidden}.proj-section,.proj-section-alt{padding:80px 64px;position:relative}.proj-label{letter-spacing:.22em;text-transform:uppercase;opacity:.45;margin-bottom:16px;font-family:Space Mono,monospace;font-size:9px;display:block}.proj-divider{background:#ffffff14;height:1px;margin:0 64px}.metrics-grid{background:#ffffff0f;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin:0 64px;display:grid}.metric-cell{background:inherit;padding:32px 28px}.metric-val{font-family:Bebas Neue,sans-serif;font-size:52px;line-height:1}.metric-label{letter-spacing:.15em;text-transform:uppercase;opacity:.4;margin-top:6px;font-family:Space Mono,monospace;font-size:9px}.timeline{flex-direction:column;gap:0;display:flex}.tl-item{grid-template-columns:120px 1px 1fr;gap:0 24px;padding:24px 0;display:grid}.tl-date{letter-spacing:.12em;text-align:right;opacity:.4;padding-top:4px;font-family:Space Mono,monospace;font-size:10px}.tl-line{background:#ffffff1a;width:1px;position:relative}.tl-line:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:-3px}.tl-title{margin-bottom:6px;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.tl-text{opacity:.6;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;line-height:1.65}.stack-grid{flex-wrap:wrap;gap:10px;display:flex}.stack-chip{letter-spacing:.1em;border:1px solid;border-radius:2px;padding:8px 16px;font-family:Space Mono,monospace;font-size:10px}.eval-block{border-left:2px solid;padding:28px 32px;font-family:Instrument Serif,serif;font-size:20px;font-style:italic;line-height:1.65}.reveal{opacity:0;transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1);transform:translateY(24px)}.reveal.shown{opacity:1;transform:translateY(0)}
