/* Sovereign's shared palette frames the product's ivory writing surface. */
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:20px;z-index:50;transform:translateY(-180%);padding:10px 16px;background:var(--ink);color:var(--void);border-radius:6px}
.skip-link:focus{transform:translateY(0)}
.project-atmos{position:fixed;inset:0;pointer-events:none;background:radial-gradient(65% 45% at 90% 4%,rgba(90,210,255,.09),transparent 70%),radial-gradient(60% 45% at 10% 0%,rgba(255,209,102,.05),transparent 75%)}
.project-hero,.project-section,.nextnav{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;padding-left:clamp(20px,5vw,52px);padding-right:clamp(20px,5vw,52px)}
.project-hero{padding-top:145px;padding-bottom:80px}
.hero-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--ph-90)}
.hero-composition{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:25px}
.project-hero h1{font:500 clamp(54px,7.7vw,94px)/1.02 var(--font-display);letter-spacing:-.045em;margin-bottom:25px}
.project-logo{display:block;width:100%;max-width:350px;height:auto;justify-self:end}
.project-tagline{font:400 clamp(24px,3vw,35px)/1.35 var(--font-display);margin-bottom:28px}
.project-tagline em{color:var(--ph-90)}
.purpose{max-width:770px;font-size:clamp(16px,1.8vw,19px);line-height:1.8;color:var(--ink-dim)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.project-facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:40px;padding-top:20px;border-top:1px solid var(--edge);font:11px/1.8 var(--font-mono);color:var(--ink-dim)}
.project-section{padding-bottom:88px;scroll-margin-top:100px}
.section-intro{max-width:760px;margin-bottom:30px}
h2{font:500 clamp(29px,3.8vw,44px)/1.2 var(--font-display);letter-spacing:-.02em;margin:14px 0 18px}
h3{font:500 25px/1.25 var(--font-display);margin:12px 0 16px}
.section-intro p,.prose p{font-size:16px;line-height:1.8;color:var(--ink-dim)}
.split-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.split-section .section-intro{margin-bottom:0}
.prose p{margin-bottom:20px}
.prose .thesis{border-left:2px solid var(--ph-90);padding-left:22px;color:var(--ink)}
.canvas-figure{border:1px solid var(--edge);border-radius:12px;overflow:hidden;background:var(--panel)}
.canvas-figure img{display:block;width:100%;height:auto}
.canvas-figure figcaption{padding:16px 22px;font-size:12px;line-height:1.8;color:var(--ink-dim)}
.editorial-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}
.editorial-pair article{border-top:1px solid var(--edge);padding-top:22px}
.editorial-pair p,.audience-grid p{font-size:15px;line-height:1.8;color:var(--ink-dim)}
.number{font:10px/1.8 var(--font-mono);letter-spacing:.12em;color:var(--accent)}
.catalogue-types{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.catalogue-types li{border:1px solid var(--edge);padding:9px 15px;border-radius:6px;font:12px/1.5 var(--font-mono);background:var(--panel)}
.caption{font-size:12px;line-height:1.8;color:var(--ink-dim);margin-top:20px;max-width:850px}
.story-lab{border:1px solid var(--edge);border-radius:14px;overflow:hidden;background:var(--panel-2)}
.demo-label{padding:15px 24px;color:var(--ph-90);font:10px/1.8 var(--font-mono);letter-spacing:.03em;border-bottom:1px solid var(--edge)}
.lab-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:15px;border-bottom:1px solid var(--edge)}
.lab-tabs button{font:12px/1.5 var(--font-body);color:var(--ink-dim);border:1px solid transparent;border-radius:6px;background:transparent;padding:12px;min-height:44px;cursor:pointer}
.lab-tabs button[aria-selected="true"]{color:var(--ink);background:var(--void-3);border-color:var(--accent)}
.lab-tabs button:hover{color:var(--ink)}
.lab-panel{display:grid;grid-template-columns:1.25fr 1fr;border-bottom:1px solid var(--edge)}
.lab-panel:last-child{border-bottom:0}
.paper{--paper:#fcf9f2;--paper-ink:#183047;background:var(--paper);color:var(--paper-ink);padding:clamp(25px,3vw,40px);min-width:0}
.paper-label{font:9px/1.8 var(--font-mono);letter-spacing:.1em;color:#526171}
.paper h3{font-size:30px;margin:20px 0 25px}
.paper p,.paper blockquote{font:19px/1.8 var(--font-display);margin:20px 0}
.paper .proposed,.paper blockquote{border-left:2px solid #327979;padding-left:18px;background:rgba(50,121,121,.04)}
.paper .paper-note{font:12px/1.8 var(--font-body);color:#526171}
.lab-context{padding:30px;min-width:0}
.lab-context h3{font-size:24px}
.lab-context p,.lab-context dd,.connection-list{font-size:13px;line-height:1.85;color:var(--ink-dim)}
.lab-context dt{font:10px/1.5 var(--font-mono);color:var(--ink);margin:20px 0 5px;text-transform:uppercase;letter-spacing:.08em}
.lab-context .context-note{border-top:1px solid var(--edge);padding-top:20px;margin-top:20px;font-size:12px}
.timeline{list-style:none;border-left:1px solid #b6c4c0;margin:25px 0 25px 5px}
.timeline li{position:relative;padding:0 0 25px 22px}
.timeline li::before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:#327979}
.timeline li:last-child{padding-bottom:0}
.timeline span{display:block;font:10px/1.8 var(--font-mono);color:#526171;margin-bottom:6px}
.timeline strong{font:400 18px/1.5 var(--font-display)}
.moment-controls{display:flex;flex-wrap:wrap;gap:8px}
.moment-controls button{min-height:44px;border:1px solid #607477;border-radius:6px;padding:10px 12px;background:transparent;color:var(--paper-ink);font:12px var(--font-body);cursor:pointer}
.moment-controls button[aria-pressed="true"]{background:var(--paper-ink);color:var(--paper)}
.lab-context .sample-claim{font:21px/1.6 var(--font-display);color:var(--ink);margin:16px 0 22px}
#moment-result{border-left:2px solid var(--ph-90);padding-left:18px}
#moment-result strong{color:var(--ph-90);font-weight:500}
#moment-result p+p{margin-top:10px}
.connection-graph{display:block;width:100%;height:auto;margin-top:25px}
.graph-lines{stroke:#648d8b;stroke-width:2;fill:none}
.graph-nodes{fill:#f0f2e9;stroke:#648d8b;stroke-width:1.5}
.graph-text{font:17px var(--font-display);fill:#183047;text-anchor:middle}
.graph-labels{font:12px var(--font-mono);fill:#365f63;text-anchor:middle}
.connection-list{padding-left:18px;margin-top:20px}
.connection-list li+li{margin-top:7px}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.audience-grid article{padding:30px;border:1px solid var(--edge);border-radius:12px;background:var(--panel)}
.audience-grid p{margin-bottom:20px}
.status-list>div{display:grid;grid-template-columns:240px 1fr;gap:30px;padding:24px 0;border-top:1px solid var(--edge)}
.status-list dt{font:500 21px/1.4 var(--font-display);color:var(--ph-90)}
.status-list dd{font-size:14px;line-height:1.85;color:var(--ink-dim)}
.sources h2{font:12px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);margin-top:0}
.sources>p{font-size:13px;line-height:1.8;color:var(--ink-dim);max-width:850px;margin-bottom:24px}
.source-links{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}
.source-links a{font-size:14px;text-decoration:underline;text-underline-offset:4px}
.source-links span{display:block;font-size:12px;color:var(--ink-dim);margin-top:6px}
.source-detail{border-top:1px solid var(--edge);margin-top:30px;padding-top:20px;color:var(--ink-dim);font-size:12px;line-height:1.85}
.source-detail summary{cursor:pointer;color:var(--ink);padding:5px 0;min-height:44px}
.source-detail ul{padding-left:20px;margin-bottom:15px}
.source-detail li{margin-bottom:12px}
.source-detail code{font-family:var(--font-mono);overflow-wrap:anywhere}
.nextnav{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:60px}
@media(max-width:850px){.split-section{grid-template-columns:1fr;gap:20px}.lab-panel{grid-template-columns:1fr}.status-list>div{grid-template-columns:1fr;gap:12px}.hero-composition{grid-template-columns:1.7fr 1fr}.project-logo{max-width:250px}.editorial-pair{gap:25px}}
@media(max-width:620px){.project-hero{padding-top:115px;padding-bottom:60px}.project-section{padding-bottom:60px}.hero-composition{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:15px}.project-logo{width:125px}.project-hero h1{font-size:56px}.editorial-pair,.audience-grid,.source-links{grid-template-columns:1fr}.lab-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px}.lab-tabs button{text-align:left}.lab-context,.audience-grid article{padding:24px}.nextnav .nav-next{margin-left:0}.nextnav .btn{max-width:100%}.demo-label{padding:15px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
