/* Shared vocabulary, specific content. Geometry is decorative; meaning stays in HTML. */
.iv-figure{clear:both;position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:100%;margin:30px 0;color:#edf4fe;background:#0b131e;border:1px solid #314960;border-radius:10px;overflow:hidden;font-family:'DM Sans',Arial,sans-serif;text-align:left;line-height:1.65}
.iv-figure *{box-sizing:border-box}
.iv-heading{padding:23px 28px 20px;border-bottom:1px solid #283d52;background:linear-gradient(110deg,#12284280,transparent)}
.iv-figure .iv-eyebrow{margin:0 0 8px;color:#a5cef5;font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.1em;text-transform:uppercase}
.iv-figure .iv-heading h3{margin:0;font-family:'Space Grotesk','DM Sans',Arial,sans-serif;font-size:clamp(21px,2vw,28px);font-weight:500;letter-spacing:-.025em;line-height:1.3;color:#f2f6fd;max-width:none}
.iv-composition{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:28px;padding:28px}
.iv-scene{min-width:0;position:relative;color:#9bc9f3;background:linear-gradient(#19324e44 1px,transparent 1px),linear-gradient(90deg,#19324e44 1px,transparent 1px);background-size:34px 34px;border:1px solid #21384e;border-radius:6px;padding:12px}
.iv-art,.iv-scene>svg{display:block;width:100%;height:auto;max-height:340px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.iv-figure .iv-items{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:0;min-width:0}
.iv-figure .iv-items>li{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;padding:14px 0;min-width:0;border:0;background:none}
.iv-figure .iv-items>li+li{border-top:1px solid #263f57}
.iv-index{font-size:11px;line-height:1.6;letter-spacing:.05em;color:#8eafd0;margin-top:3px}
.iv-figure .iv-items strong{font-size:17px;font-weight:500;line-height:1.4;color:#edf3fc;display:block;overflow-wrap:anywhere}
.iv-figure .iv-items p{font-size:14px;line-height:1.75;color:#b4c4d9;margin:7px 0 0;max-width:none;overflow-wrap:anywhere}
.iv-figure>figcaption{font-size:13px;line-height:1.8;color:#afc2d9;padding:18px 28px;border-top:1px solid #283d52;margin:0}
.iv-wide .iv-composition{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.iv-figure a{color:#a7d4ff;text-decoration:underline;text-underline-offset:3px}
.iv-figure svg text{font-family:'DM Sans',Arial,sans-serif}
.iv-figure svg [fill='white']{fill:#edf4ff}
.iv-marker{fill:#a8d6ff;stroke:#a8d6ff}
.iv-soft{opacity:.35}.iv-medium{opacity:.65}.iv-paper{fill:#0c1826}.iv-selected{stroke:#a9dcff;fill:#17334f;stroke-width:2}.iv-line{stroke:#91bce5;fill:none}
.iv-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0;list-style:none;padding:0}
.iv-sequence>li{position:relative;min-width:0;background:#0b1420;border:1px solid #2e4762;border-radius:8px;padding:22px;display:flex;flex-direction:column}
.iv-sequence>li+li:before{content:'→';position:absolute;left:-20px;top:95px;color:#a4cff6;font-size:20px;line-height:1}
.iv-sequence svg{width:100%;height:145px;display:block;stroke:#9bc9f3;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.iv-sequence h3,.iv-sequence h4{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:20px 0 10px;color:#f2f6ff;font-weight:500}
.iv-sequence p{font-size:14px;line-height:1.8;color:#b3c6dc;margin:0}
@media(max-width:1100px){.iv-composition{gap:20px;padding:24px}.iv-heading{padding:22px 24px}.iv-figure .iv-items strong{font-size:16px}.iv-wide .iv-composition{grid-template-columns:1.1fr 1fr}}
@media(max-width:760px){.iv-composition,.iv-wide .iv-composition{grid-template-columns:minmax(0,1fr);gap:17px;padding:22px}.iv-scene{padding:9px}.iv-art,.iv-scene>svg{max-height:300px}.iv-figure .iv-items strong{font-size:18px}.iv-figure .iv-items p{font-size:15px}.iv-figure>figcaption{padding:18px 22px;font-size:14px}.iv-figure .iv-items>li{padding:16px 0}.iv-heading{padding:22px}.iv-figure .iv-heading h3{font-size:23px}.iv-sequence{grid-template-columns:1fr;gap:24px}.iv-sequence>li+li:before{content:'↓';left:calc(50% - 6px);top:-24px}.iv-sequence svg{height:155px}.iv-sequence p{font-size:15px}}
@media(max-width:390px){.iv-composition{padding:17px}.iv-heading{padding:20px 18px}.iv-figure .iv-heading h3{font-size:21px;overflow-wrap:anywhere}.iv-figure>figcaption{padding:17px 18px}.iv-figure .iv-items>li{grid-template-columns:21px minmax(0,1fr);gap:9px}.iv-scene{padding:4px}.iv-sequence>li{padding:20px}}
@media(prefers-reduced-motion:reduce){.iv-figure *,.iv-sequence *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
