/* Shared precision and colour; distinct forms for distinct ideas. */
.vibe-art{position:relative;min-width:0}
.art-svg{display:block;width:100%;height:auto;overflow:visible}
.art-svg path,.art-svg circle,.art-svg ellipse{vector-effect:non-scaling-stroke}
.art-hairline{fill:none;stroke:#91869f;stroke-opacity:.35;stroke-width:.65}
.art-node{fill:#15151f;stroke:#aaa0b7;stroke-opacity:.65;stroke-width:.8}
.art-point{fill:#eeb49b}
.art-label{fill:#d3c9dc;font:14px var(--sans)}
.art-micro{fill:#a79ab5;font:10px var(--mono);letter-spacing:.8px}
.art-footnote{fill:#a89eaf;font:12px var(--sans)}
.art-wordmark{fill:#efedf5;font:500 32px var(--sans);letter-spacing:-1px}
.research-noise{fill:none;stroke:#9b92aa;stroke-width:.65;stroke-opacity:.45}
.map-street{fill:none;stroke:#91879c;stroke-width:.65;stroke-opacity:.19}
.room-wall{fill:none;stroke:#a49aad;stroke-width:.8;stroke-opacity:.45}
.room-furniture{fill:#1b1b27;stroke:#8b809b;stroke-width:.75;stroke-opacity:.6}
.room-pressure{fill:none;stroke:#b199d3;stroke-width:.7;stroke-opacity:.32}
.room-sound{fill:none;stroke:#f2bb9c;stroke-width:1;stroke-opacity:.65}
.purpose-figure{max-width:600px;margin:0 auto clamp(34px,4vw,54px)}
/* Introductions share typography and space, without prescribing one diagram. */
.page-head.page-head-illustrated .in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:40px;align-items:center;padding-top:48px;padding-bottom:42px;min-height:min(720px,calc(100svh - 89px))}
.page-intro{display:grid;gap:25px;min-width:0}
.page-head-illustrated h1{font-size:clamp(38px,4.6vw,65px);line-height:1.05;max-width:21ch}
.page-head-illustrated .lede{font-size:clamp(16px,1.35vw,19px);max-width:41ch;line-height:1.65}
.page-study{width:100%;min-width:0;margin:0;position:relative}
.page-study-photo img{display:block;width:100%;height:auto}
.page-study figcaption{border-top:1px solid var(--line);padding-top:20px;font:10px/1.6 var(--mono);color:var(--fg-3);margin-top:24px;letter-spacing:.01em;display:flex;gap:12px;justify-content:space-between}
.page-study figcaption span:last-child{color:#aaa5b7;white-space:nowrap}
.page-head-illustrated .page-intro::after{content:'';width:64px;height:1px;background:linear-gradient(90deg,#ff9b66,#ac7ade);margin-top:10px}
/* The home-page collective picture now lives on the same black surface. */
.story-dark{background:var(--ink);color:var(--fg)}
.story-dark .lbl{color:#aaa9bd}
.story-dark h2{max-width:18ch}
.story-dark .split{align-items:center}
.story-dark .sec-head{margin:0}
.story-dark .sec-head p{font-weight:400;max-width:39ch}
.story-dark .story-figure{margin:0}
.story-dark .story-figure figcaption{color:var(--fg-2)}
.privacy-controls{background:#171720;border:1px solid var(--line)}
.privacy-controls button{color:#a7a2b6}
.privacy-controls button[aria-pressed="true"]{background:#30303c;color:#f4edf4;box-shadow:none}
.privacy-note{color:#9591a5!important}
.vibe-art.art-visible .art-svg{animation:art-arrival 1.1s ease-out backwards}
@keyframes art-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:801px){.page-head[data-study="research"] h1,.page-head[data-study="network"] h1,.page-head[data-study="venues"] h1{font-size:clamp(38px,3.7vw,53px)}}
@media(max-width:1100px){.page-head.page-head-illustrated .in{gap:26px}.page-study figcaption{flex-direction:column;gap:5px}}
@media(max-width:800px){
 .page-head.page-head-illustrated .in{grid-template-columns:1fr;gap:30px;min-height:0;padding-top:60px;padding-bottom:45px}
 .page-head-illustrated h1{font-size:clamp(40px,7vw,58px)}.page-head-illustrated .lede{max-width:49ch;font-size:17px}
 .page-intro{gap:22px}.page-intro::after{display:none}.page-study{max-width:570px;justify-self:center}
 .page-study figcaption{flex-direction:row;margin-top:20px}.story-dark .split{gap:36px}
}
@media(max-width:500px){.page-head.page-head-illustrated .in{padding-top:43px}.page-head-illustrated h1{font-size:40px}.page-head-illustrated .lede{font-size:16px}.page-study figcaption{font-size:9px;gap:15px}.page-study figcaption span:first-child{max-width:27ch}.art-micro{font-size:20px}.art-footnote{font-size:18px}}
@media(prefers-reduced-motion:reduce){.vibe-art *{animation:none!important;transition:none!important}}
