.project-page{--project-soft:color-mix(in oklch, var(--graphite-foreground) 75%, transparent);--project-strong:color-mix(in oklch, var(--graphite-foreground) 85%, transparent);--project-rule-dark:color-mix(in oklch, var(--graphite-foreground) 17%, transparent);--project-plate:color-mix(in oklch, var(--graphite) 78%, var(--graphite-foreground));background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:17px;line-height:1.6;overflow-x:clip}.project-page *{min-width:0}.project-page .pp-wrap{max-width:1280px;margin:0 auto;padding:0 48px}.project-page .pp-mono{font:400 11px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.project-page .pp-title{font-family:var(--font-display);text-transform:uppercase;font-weight:700;line-height:.94}.project-page .pp-hero{background:var(--graphite);color:var(--graphite-foreground);padding:160px 0 90px}.project-page .pp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:64px;display:grid}.project-page .pp-hero h1{font-size:clamp(50px,5.8vw,84px)}.project-page .pp-lede{max-width:600px;color:var(--project-strong);margin-top:26px;font-size:18px;line-height:1.65}.project-page .pp-label{color:var(--signal);margin-bottom:20px}.project-page .pp-cta{background:var(--signal);color:var(--signal-foreground);font:600 11px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;text-align:center;justify-content:center;align-items:center;padding:14px 26px;transition:opacity .2s;display:inline-flex}.project-page .pp-cta:hover{opacity:.85}.project-page .pp-section{padding:92px 0}.project-page .pp-section+.pp-section{border-top:1px solid var(--rule)}.project-page .pp-section h2,.project-page .pp-band h2{max-width:860px;font-size:clamp(38px,4.4vw,60px)}.project-page .pp-body{max-width:680px;margin-top:24px;font-size:18px;line-height:1.7}.project-page .pp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:56px;display:grid}.project-page .pp-panel{border:1px solid var(--rule-strong);background:var(--card);padding:26px}.project-page .pp-panel h3{margin-top:10px;font-size:26px}.project-page .pp-panel>p:last-of-type{color:var(--muted-foreground);margin-top:8px;font-size:15.5px}.project-page .pp-number{color:var(--signal)}.project-page .pp-band{background:var(--graphite);color:var(--graphite-foreground);padding:88px 0}.project-page .pp-band .pp-body{color:var(--project-strong)}.project-page .pp-close{background:var(--graphite);color:var(--graphite-foreground);padding:96px 0}.project-page .pp-close .pp-cta{margin-top:36px}.project-page .pp-cycle svg{width:100%;height:auto;display:block;overflow:visible}.project-page .pp-cycle .cycle-line{stroke:var(--project-soft)}.project-page .pp-cycle .cycle-accent{stroke:var(--signal)}.project-page .pp-cycle .cycle-node{fill:var(--graphite);stroke:var(--graphite-foreground)}.project-page .pp-cycle .cycle-accent-node{fill:var(--signal);stroke:var(--signal)}.project-page .pp-cycle .cycle-text{fill:var(--graphite-foreground)}.project-page .pp-cycle .cycle-muted{fill:var(--project-soft)}.project-page .pp-cycle .cycle-signal{fill:var(--signal)}.project-page .pp-cycle .cycle-small{font:11px var(--font-mono);letter-spacing:1.4px}.project-page .pp-cycle .cycle-display{font:700 30px var(--font-display)}.project-page .pp-guarantee{align-items:center;gap:10px;margin-top:30px;display:flex}.project-page .pp-guarantee i{background:var(--signal);border-radius:50%;flex:none;width:8px;height:8px}.project-page .pp-paths{background:var(--graphite);color:var(--graphite-foreground);padding-bottom:72px}.project-page .pp-paths .pp-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-page .pp-path{background:var(--project-plate);border:1px solid var(--project-rule-dark);padding:30px 32px}.project-page .pp-path h3{margin-top:12px;font-size:27px}.project-page .pp-path>p:not(.pp-mono){color:var(--project-soft);margin-top:10px;font-size:15.5px}.project-page .pp-path a{border-bottom:1px solid var(--project-rule-dark);margin-top:16px;padding-bottom:4px;display:inline-block}.project-page .pp-path a:hover{color:var(--signal);border-color:var(--signal)}.project-page .pp-step-loop{border-color:var(--signal)}.project-page .pp-step-loop .pp-loopnote{color:var(--signal)!important;margin-top:12px!important;font-size:10px!important}.project-page .pp-project-card{border:1px solid var(--rule-strong);border-left:4px solid var(--signal);background:var(--card);grid-template-columns:1fr auto;align-items:center;gap:32px;margin-top:52px;padding:40px 44px;display:grid}.project-page .pp-project-card:hover{border-color:var(--signal)}.project-page .pp-project-card h3{font-size:32px}.project-page .pp-project-card p:not(.pp-mono){color:var(--muted-foreground);max-width:520px;margin-top:10px}.project-page .pp-chips{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.project-page .pp-chip{border:1px solid var(--rule-strong);color:var(--muted-foreground);padding:6px 10px;font-size:10px}.project-page .pp-card-arrow{border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding-bottom:5px}.project-page .pp-crumb{color:var(--project-soft);margin-bottom:24px}.project-page .pp-crumb a{color:var(--signal)}.project-page .pp-plate{flex-wrap:wrap;gap:16px;margin-top:34px;display:flex}.project-page .pp-plate div{background:var(--project-plate);border:1px solid var(--project-rule-dark);min-width:180px;padding:18px 24px}.project-page .pp-plate b{font:700 34px/1 var(--font-display);text-transform:uppercase;display:block}.project-page .pp-plate span{color:var(--project-soft);margin-top:7px;font-size:10px;display:block}.project-page .pp-browser{background:var(--project-plate);border:1px solid var(--project-rule-dark);box-shadow:0 24px 60px color-mix(in oklch,var(--graphite) 35%,transparent);overflow:hidden}.project-page .pp-browser-bar{border-bottom:1px solid var(--project-rule-dark);align-items:center;gap:6px;padding:10px 14px;display:flex}.project-page .pp-browser-bar i{background:var(--project-rule-dark);border-radius:50%;width:9px;height:9px}.project-page .pp-browser-bar span{color:var(--project-soft);font:10px var(--font-mono);margin-left:10px}.project-page .pp-browser img,.project-page .pp-figure img{width:100%;height:auto;display:block}.project-page .pp-shot-caption{color:var(--project-soft);margin-top:14px}.project-page .pp-gauntlet{background:var(--project-plate);color:var(--graphite-foreground);border-top:1px solid var(--project-rule-dark);padding:16px 0}.project-page .pp-gauntlet .pp-wrap{flex-wrap:wrap;align-items:center;gap:10px 24px;display:flex}.project-page .pp-gauntlet span{white-space:nowrap;font-size:10.5px}.project-page .pp-gauntlet b{color:var(--signal);margin-left:5px;font-weight:400}.project-page .pp-gauntlet .pp-total{color:var(--signal);margin-left:auto}.project-page .pp-checks{max-width:820px;margin-top:40px}.project-page .pp-checks>div{border-bottom:1px solid var(--rule);align-items:flex-start;gap:18px;padding:20px 0;font-size:18px;display:flex}.project-page .pp-checks>div:first-child{border-top:1px solid var(--rule)}.project-page .pp-checkmark{border:1.5px solid var(--evergreen);width:22px;height:22px;color:var(--evergreen);flex:none;place-items:center;margin-top:3px;display:grid}.project-page .pp-figure{border:1px solid var(--rule-strong);background:var(--card);margin-top:48px;overflow:hidden}.project-page .pp-figure figcaption{border-top:1px solid var(--rule);color:var(--muted-foreground);padding:16px 24px}.project-page .pp-phase{padding:24px;position:relative}.project-page .pp-phase h3{margin-top:9px;font-size:24px}.project-page .pp-phase p:last-child{font-size:14.5px;line-height:1.5}.project-page .pp-gates{border:1px solid var(--rule-strong);color:var(--evergreen);border-radius:999px;padding:4px 9px;font-size:10px;position:absolute;top:22px;right:22px}.project-page .pp-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px;display:grid}.project-page .pp-stat{border:1px solid var(--rule-strong);border-top:3px solid var(--signal);background:var(--card);padding:24px 24px 26px}.project-page .pp-stat b{font:700 52px/1 var(--font-display);display:block}.project-page .pp-stat span{color:var(--muted-foreground);margin-top:9px;font-size:14.5px;display:block}.project-page .pp-laws{border:1px solid var(--rule-strong);background:var(--card);margin-top:56px}.project-page .pp-laws>p{border-bottom:1px solid var(--rule);padding:20px 28px}.project-page .pp-law{border-bottom:1px solid var(--rule);font:700 24px/1.1 var(--font-display);text-transform:uppercase;gap:18px;padding:20px 28px;display:flex}.project-page .pp-law:last-child{border-bottom:0}.project-page .pp-law span{color:var(--muted-foreground);flex:none;padding-top:6px}.project-page .pp-keeps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:48px;display:grid}.project-page .pp-keep{align-items:flex-start;gap:18px;padding:26px 28px;display:flex}.project-page .pp-keep h3{font-size:24px}.project-page .pp-keep p{color:var(--muted-foreground);margin-top:7px;font-size:15px}.project-page .pp-close blockquote{max-width:980px;font:700 clamp(32px,4.2vw,52px)/1.05 var(--font-display);text-transform:uppercase}.project-page .pp-close em{color:var(--signal);font-style:normal}@media (width<=900px){.project-page .pp-wrap{padding:0 22px}.project-page .pp-hero{padding:120px 0 56px}.project-page .pp-hero-grid{grid-template-columns:1fr;gap:40px}.project-page .pp-hero h1{font-size:clamp(42px,11.5vw,60px)}.project-page .pp-paths .pp-wrap,.project-page .pp-grid,.project-page .pp-keeps{grid-template-columns:1fr}.project-page .pp-section,.project-page .pp-band,.project-page .pp-close{padding:60px 0}.project-page .pp-project-card{grid-template-columns:1fr;padding:28px 24px}.project-page .pp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.project-page .pp-plate div{flex:140px;min-width:0}.project-page .pp-gauntlet .pp-wrap{gap:8px 14px}.project-page .pp-stats{gap:10px}.project-page .pp-stat{padding:18px}}@media (prefers-reduced-motion:reduce){.project-page .pp-cta{transition:none}}
