:root{--cb-gold:#d5a957;--cb-ink:#050403;--cb-panel:#0c0a07;--cb-paper:#f4ead8;--cb-muted:#b8aa94}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030201;color:var(--cb-paper);overflow-x:hidden}.character-building{background:radial-gradient(circle at 50% 8%,rgba(142,98,37,.18),transparent 28%),linear-gradient(180deg,#080603,#030302 55%,#080603);min-height:100vh}.museum-shell{width:min(1480px,calc(100% - clamp(1.25rem,5vw,5rem)));margin:auto;padding:clamp(1.5rem,3vw,3rem) 0}.museum-eyebrow,.museum-label{margin:0;color:var(--cb-gold);font:700 .72rem/1.35 var(--font-mono,"Space Mono",monospace);letter-spacing:.2em;text-transform:uppercase}.museum-intro{text-align:center;padding-bottom:clamp(1.2rem,2.5vw,2rem)}.museum-intro h1{margin:.45rem 0;font:700 clamp(2rem,4.4vw,4rem)/1 var(--font-mono,"Space Mono",monospace);letter-spacing:-.035em;text-transform:uppercase;color:#f2d39b}.museum-intro>p:last-child{font:700 clamp(.75rem,1.5vw,1rem)/1.4 var(--font-mono,"Space Mono",monospace);letter-spacing:.25em;text-transform:uppercase;color:#d7c5a8}.museum-intro>p:last-child span{color:var(--cb-gold);padding:0 .5rem}.foundation-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,1.4fr) minmax(240px,.9fr);gap:clamp(1rem,2vw,2rem);align-items:start}.museum-panel{padding:clamp(1.2rem,2vw,1.8rem);background:linear-gradient(145deg,rgba(18,16,12,.96),rgba(6,6,5,.94));border:1px solid rgba(213,169,87,.4);box-shadow:0 1.4rem 4rem rgba(0,0,0,.45)}.museum-panel h2,.section-heading h2,.universe h2{margin:.4rem 0 1rem;color:#edc983;font:700 clamp(1.5rem,3vw,2.7rem)/1 var(--font-mono,"Space Mono",monospace);text-transform:uppercase}.museum-panel p,.section-heading p:last-child,.universe>p{color:var(--cb-muted);line-height:1.65}.profile-list{margin:1rem 0 0}.profile-list div{display:grid;gap:.15rem;padding:.4rem 0;border-top:1px solid rgba(255,255,255,.08)}.profile-list dt{color:var(--cb-gold);font:700 .66rem/1.4 var(--font-mono,"Space Mono",monospace);text-transform:uppercase}.profile-list dd{margin:0;color:#ddd3c3}.spec-list{padding-left:1.1rem;color:#ddd3c3;line-height:1.65}.model-stage{position:relative;min-width:0;padding:clamp(.75rem,2vw,1.5rem);background:radial-gradient(ellipse at 50% 35%,rgba(242,199,123,.2),transparent 44%),#060503;border:1px solid rgba(213,169,87,.48);box-shadow:inset 0 0 5rem #000,0 2rem 5rem rgba(0,0,0,.55)}.model-stage::after{content:"";position:absolute;left:14%;right:14%;bottom:5.4rem;height:8%;border-radius:50%;background:radial-gradient(ellipse,#8c6c3e,#090805 68%);border:1px solid rgba(244,210,151,.48);box-shadow:0 0 2rem rgba(213,169,87,.34);pointer-events:none}.model-frame{position:relative;z-index:1;min-height:clamp(340px,32vw,420px)}model-viewer{width:100%;height:clamp(340px,32vw,420px);background:transparent;--poster-color:transparent}model-viewer:focus-visible{outline:3px solid white;outline-offset:3px}.model-progress{position:absolute;inset:auto 1rem 1rem;padding:.6rem .8rem;background:#080604;border:1px solid var(--cb-gold);color:#efd099}.model-fallback{max-width:30rem;margin:.75rem auto 0;padding:1rem;background:#0b0906;border:1px solid rgba(213,169,87,.4);color:#ddd3c3;line-height:1.55}.model-fallback[hidden]{display:none}.interaction-note{position:relative;z-index:2;margin:.4rem 0 .75rem;text-align:center;color:#cbb992;font:600 .68rem/1.4 var(--font-mono,"Space Mono",monospace);letter-spacing:.06em}.view-presets{position:relative;z-index:2;display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.view-presets button,.dimension-nav a,.return-row a{min-height:44px;padding:.7rem .9rem;border:1px solid rgba(213,169,87,.65);background:rgba(4,3,2,.86);color:#efd099;font:700 .66rem/1 var(--font-mono,"Space Mono",monospace);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none}.view-presets button:hover,.view-presets button:focus-visible,.dimension-nav a:hover,.dimension-nav a:focus-visible,.return-row a:hover,.return-row a:focus-visible{background:#21180d;outline:2px solid white;outline-offset:3px}.dimension-nav{display:flex;justify-content:center;gap:.75rem;margin:clamp(3rem,7vw,6rem) 0}.dimension-nav a{min-width:8rem;text-align:center}.study-section{scroll-margin-top:90px;margin-top:clamp(1.4rem,2.5vw,2rem)}.foundation-grid + .study-section{margin-top:1rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(213,169,87,.28)}.section-heading p:last-child{max-width:42rem;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1.2rem);margin-top:1.4rem}.gallery-grid figure{margin:0;background:#090805;border:1px solid rgba(213,169,87,.36);overflow:hidden}.gallery-grid button{display:block;width:100%;padding:0;border:0;background:#050403;color:inherit;cursor:zoom-in}.gallery-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .25s}.headshot-grid img{aspect-ratio:1}.gallery-grid button:hover img,.gallery-grid button:focus-visible img{transform:scale(1.035)}.gallery-grid button:focus-visible{outline:3px solid white;outline-offset:-3px}.gallery-grid figcaption{padding:.8rem;color:#d9bd87;font:700 .66rem/1.35 var(--font-mono,"Space Mono",monospace);letter-spacing:.07em;text-transform:uppercase}.body-directions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;margin-top:1rem}.body-card{padding:1.25rem;border:1px solid rgba(213,169,87,.3);background:#090805}.body-card.active{border-color:#e2b766;box-shadow:inset 0 3px #e2b766}.body-card span{color:var(--cb-gold);font:700 .62rem/1.3 var(--font-mono,"Space Mono",monospace);letter-spacing:.1em;text-transform:uppercase}.body-card h3{margin:.7rem 0;color:#f2d39b;font-family:var(--font-mono,"Space Mono",monospace);text-transform:uppercase}.body-card p{color:var(--cb-muted);line-height:1.55}.universe{margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.2rem,2.5vw,2rem);text-align:center;background:linear-gradient(180deg,rgba(17,13,8,.94),#020202);border:1px solid rgba(213,169,87,.28)}.universe>p{max-width:45rem;margin-inline:auto}.closing{text-align:center;margin:clamp(2rem,4vw,3rem) 0;color:#eacb91;font:700 clamp(1.8rem,4.5vw,4.5rem)/1.1 var(--font-mono,"Space Mono",monospace)}.return-row{text-align:center}.image-viewer{position:fixed;inset:0;z-index:9999;display:grid;grid-template-rows:auto 1fr;background:rgba(2,2,2,.97);padding:1rem}.image-viewer[hidden]{display:none}.image-viewer>button{justify-self:end;min-width:48px;min-height:48px;border:1px solid var(--cb-gold);background:#090705;color:white}.image-viewer figure{min-height:0;margin:0;display:grid;place-items:center}.image-viewer img{max-width:100%;max-height:calc(100vh - 8rem);object-fit:contain}.image-viewer figcaption{color:#ead19f;padding:.75rem}
@media(max-width:1080px){.foundation-grid{grid-template-columns:1fr 1.45fr}.foundation-grid>.museum-panel:last-child{grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(3,1fr)}.body-directions{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.museum-shell{width:calc(100% - 1.1rem)}.foundation-grid{grid-template-columns:1fr}.model-stage{grid-row:1}.model-frame,model-viewer{height:clamp(320px,90vw,390px);min-height:320px}.dimension-nav{position:sticky;top:64px;z-index:10;padding:.5rem;background:rgba(3,3,2,.94);gap:.35rem}.dimension-nav a{min-width:0;flex:1}.section-heading{display:block}.section-heading p:last-child{margin-top:.7rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.body-directions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}.gallery-grid button:hover img,.gallery-grid button:focus-visible img{transform:none}}

.foundation-grid .museum-panel{padding:clamp(.9rem,1.3vw,1.2rem)}
.foundation-grid .museum-panel h2{font-size:clamp(1.2rem,2vw,1.8rem);margin-bottom:.7rem}
.foundation-grid .museum-panel p,.profile-list dd,.spec-list{font-size:.9rem;line-height:1.5}
.body-development{align-self:center;padding:1rem}.body-development ul{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;list-style:none;margin:.8rem 0 0;padding:0;color:var(--cb-muted)}

/* Keep the profile concise enough to share the model's visual height. */
.profile-list div{grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);align-items:baseline;gap:.5rem;padding:.35rem 0}
.foundation-grid .profile-list dd{font-size:.82rem;line-height:1.4}
.foundation-grid .museum-panel h2{font-size:clamp(1.2rem,1.6vw,1.55rem)}
@media(min-width:721px) and (max-width:1080px){.foundation-grid>.museum-panel:last-child .spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1.5rem;margin-bottom:0}}
