.ip{--ip-space:clamp(24px,4vw,64px);--ip-gap:24px;--ip-rule:var(--line);color:var(--fg);font-size:17px;line-height:1.65}
.ip *{box-sizing:border-box}
.ip .ip-wrap{width:min(1320px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.ip h1,.ip h2,.ip h3{margin:0;font-weight:400;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}
.ip h1{font-size:clamp(42px,5.3vw,76px);max-width:13ch}
.ip h1 span{color:var(--orange)}
.ip h2{font-size:clamp(30px,3.3vw,48px);max-width:23ch}
.ip h3{font-size:clamp(22px,2vw,28px)}
.ip p,.ip figure{margin:0}
.ip p{max-width:68ch}
.ip a{color:inherit}
.ip a:not(.ip-button):not(.ip-breadcrumb):not(.ip-jump a){text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ip a:hover{color:var(--orange)}
.ip :is(a,button,input,summary):focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.ip .ip-breadcrumb{display:inline-flex;gap:14px;align-items:center;min-height:44px;font-size:12px;color:var(--muted);text-decoration:none}
.ip .ip-breadcrumb span{color:var(--fg)}
.ip .ip-hero{padding-block:24px 40px}
.ip .ip-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;margin-top:24px}
.ip .ip-intro{display:grid;gap:24px;align-content:start}
.ip .ip-intro>p{font-size:18px;line-height:1.6;max-width:48ch;color:var(--muted)}
.ip .ip-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.ip .ip-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:13px 22px;background:var(--orange);color:#151514;font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--orange);transition:background .18s,color .18s}
:root[data-appearance="light"] .ip .ip-button{color:#fff}
.ip .ip-button:hover{background:var(--fg);color:var(--canvas);border-color:var(--fg)}
.ip .ip-actions>a:not(.ip-button){font-size:13px}
.ip .ip-note{font-size:12px!important;color:var(--muted);line-height:1.6}
.ip .ip-hero-art{position:relative;padding:0 36px 42px 0;margin:0}
.ip .ip-image{background:#e4ddd3;border:1px solid var(--line);min-width:0}
.ip .ip-image img{width:100%;height:auto;display:block;object-fit:cover;object-position:left top}
.ip .ip-hero-main img{aspect-ratio:1.28;object-fit:cover}
.ip .ip-hero-detail{position:absolute;right:0;bottom:10px;width:45%;border:6px solid var(--canvas)}
.ip .ip-hero-detail img{aspect-ratio:1.2}
.ip .ip-hero-art figcaption{position:absolute;left:0;bottom:0;font-size:11px;color:var(--muted);max-width:50%}
.ip .ip-proof{display:flex;gap:24px;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;font-size:13px;color:var(--muted)}
.ip .ip-proof strong{color:var(--fg);font-weight:600}
.ip .ip-jump{border-block:1px solid var(--line);background:var(--surface)}
.ip .ip-jump .ip-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px}
.ip .ip-jump a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:13px}
.ip .ip-jump a:last-child{color:var(--orange)}
.ip .ip-section{padding-block:clamp(48px,6vw,88px);scroll-margin-top:110px}
.ip .ip-section+.ip-section{border-top:1px solid var(--line)}
.ip .ip-section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:36px}
.ip .ip-section-head>p{color:var(--muted);max-width:58ch}
.ip .ip-flow{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px;gap:32px;list-style:none;margin:0}
.ip .ip-flow li{position:relative;min-width:0}
.ip .ip-flow strong{display:block;font-size:20px;font-weight:400;margin-bottom:8px}
.ip .ip-flow p{font-size:14px;color:var(--muted)}
.ip .ip-flow li:not(:last-child):after{content:'→';position:absolute;top:0;right:0;color:var(--orange)}
.ip .ip-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-block:32px}
.ip .ip-gallery img{aspect-ratio:1.65}
.ip .ip-gallery figcaption{font-size:12px;color:var(--muted);padding-top:10px}
.ip .ip-section-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px;font-size:14px}
.ip .ip-section-cta p{color:var(--muted)}
.ip .ip-light{background:#e4ddd3;color:#25241f;padding:clamp(24px,3.5vw,48px);border:1px solid #c2b9ab}
.ip .ip-light h3{color:#25241f}
.ip .ip-light .ip-note{color:#5d564c}
.ip .ip-figure-head{display:flex;justify-content:space-between;align-items:start;gap:32px;margin-bottom:24px}
.ip .ip-figure-head p{max-width:42ch;font-size:14px;color:#5d564c}
.ip .ip-chart{display:block;width:100%;height:auto;overflow:visible;font-family:Archivo,Arial,sans-serif}
.ip .ip-chart text{fill:#514b43;font-size:14px;letter-spacing:0}
.ip .ip-chart .ip-chart-value{font-size:32px;fill:#25241f}
.ip .ip-chart .ip-axis{stroke:#b2a89a;stroke-width:1;fill:none}
.ip .ip-complexity .ip-chart{max-height:340px}
.ip .ip-chart .ip-line{stroke:#bd3a00;stroke-width:3;fill:none}
.ip .ip-chart .ip-bar{fill:#bd3a00}
.ip .ip-chart .ip-projection{fill:none;stroke:#bd3a00;stroke-width:2;stroke-dasharray:7 6}
.ip .ip-chart-controls{display:flex;align-items:center;gap:20px;margin-block:24px;flex-wrap:wrap;font-size:14px}
.ip .ip-chart-controls label{display:flex;gap:16px;align-items:center;flex:1;min-width:210px}
.ip input[type=range]{accent-color:#bd3a00;min-width:100px;width:100%;max-width:260px;min-height:44px}
.ip .ip-chart-controls output{font-size:22px;min-width:32px;font-variant-numeric:tabular-nums}
.ip .ip-result-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b2a89a;padding-top:20px;gap:24px;margin-top:20px}
.ip .ip-result-pair strong{display:block;font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.2;font-variant-numeric:tabular-nums}
.ip .ip-result-pair span{font-size:13px;color:#5d564c}
.ip .ip-scenario-delta{font-size:15px;color:#25241f;border-top:1px solid #b2a89a;margin-top:20px;padding-top:16px}
.ip .ip-light figcaption{font-size:12px;line-height:1.6;color:#5d564c;margin-top:24px;max-width:90ch}
.ip .ip-table-wrap{overflow:auto;max-width:100%;border-top:1px solid var(--line)}
.ip table{border-collapse:collapse;width:100%;font-size:15px;margin:0}
.ip caption{text-align:left;color:var(--muted);font-size:13px;padding:0 0 16px;caption-side:top}
.ip th,.ip td{padding:20px 20px 20px 0;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.ip th{font-size:12px;color:var(--muted);font-weight:400}
.ip tbody th{font-size:17px;color:var(--fg);width:25%}
.ip td{color:var(--muted)}
.ip td:last-child{padding-right:0}
.ip .ip-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ip .ip-story-copy{display:grid;gap:22px}
.ip .ip-story-copy>p{color:var(--muted)}
.ip .ip-story-copy>p strong{color:var(--fg)}
.ip .ip-story img{aspect-ratio:1.15}
.ip .ip-story figcaption{font-size:12px;color:var(--muted);padding-top:12px}
.ip .ip-timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.ip .ip-timeline li{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.ip .ip-timeline strong{color:var(--orange);font-weight:400;font-size:20px}
.ip .ip-timeline b{display:block;color:var(--fg);font-weight:400}
.ip .ip-close{padding:clamp(32px,5vw,64px);background:var(--surface);display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;margin-block:0 64px;border:1px solid var(--line)}
.ip .ip-close h2{margin-bottom:20px}
.ip .ip-close p{color:var(--muted);font-size:16px}
.ip .ip-close-actions{display:grid;gap:16px;justify-items:start}
.ip .ip-sibling-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;font-size:13px}
.ip .ip-sectors{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:24px 0;margin:0 0 32px;border-block:1px solid var(--line);font-size:16px;color:var(--muted)}
.ip .ip-sectors li:first-child{color:var(--fg);font-weight:600}
.ip .ip-vitals{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ip .ip-vital strong{display:block;font-size:40px;font-weight:400;color:#25241f;margin:12px 0}
.ip .ip-vital b{font-size:16px;font-weight:400}
.ip .ip-vital p{font-size:13px;color:#5d564c}
.ip .ip-vital-meter{height:8px;background:#c8bfb2;margin-block:20px;position:relative}
.ip .ip-vital-meter span{position:absolute;left:0;top:0;width:62.5%;height:8px;background:#bd3a00}
.ip .ip-vital-meter:after{content:'';position:absolute;left:62.5%;top:-5px;height:18px;border-left:1px solid #25241f}
.ip .ip-vital-meter.inp span{width:40%}.ip .ip-vital-meter.inp:after{left:40%}
.ip .ip-vital-meter.cls span{width:33.33%}.ip .ip-vital-meter.cls:after{left:33.33%}
.ip .ip-scale{display:flex;justify-content:space-between;font-size:11px;color:#5d564c}
.ip .ip-how{margin-top:24px;display:flex;gap:24px;justify-content:space-between;font-size:13px;color:var(--muted)}
.ip .ip-faq{border-top:1px solid var(--line)}
.ip details{border-bottom:1px solid var(--line);padding:20px 0}
.ip summary{cursor:pointer;font-size:18px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}
.ip summary:after{content:'+';color:var(--orange);font-size:24px}
.ip details[open] summary:after{content:'−'}
.ip summary::-webkit-details-marker{display:none}
.ip details p{padding:12px 0 4px;color:var(--muted);font-size:15px}
.ip .ip-motion-line{height:2px;background:var(--orange);width:64px}
@media(min-width:1000px){.ip .ip-hero-grid{min-height:475px}}
@media(max-width:900px){.ip .ip-hero-grid{gap:32px}.ip .ip-intro>p{font-size:16px}.ip h1{font-size:48px}.ip .ip-section-head,.ip .ip-story{gap:32px}.ip .ip-proof{font-size:12px;gap:16px}.ip .ip-figure-head{display:block}.ip .ip-figure-head p{margin-top:16px}.ip .ip-close{gap:24px}}
@media(max-width:650px){.ip{font-size:16px}.ip .ip-hero{padding-block:12px 28px}.ip .ip-hero-grid{grid-template-columns:1fr;margin-top:16px;gap:28px}.ip h1{font-size:42px;max-width:15ch}.ip .ip-intro{gap:18px}.ip .ip-intro>p{font-size:16px}.ip .ip-hero-art{padding-right:28px;padding-bottom:36px}.ip .ip-hero-main img{aspect-ratio:1.6}.ip .ip-hero-detail{width:36%;bottom:4px}.ip .ip-hero-detail img{aspect-ratio:1.2}.ip .ip-proof{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px;padding-top:18px;font-size:13px}.ip .ip-jump .ip-wrap{gap:8px 20px;flex-wrap:wrap;padding-block:8px}.ip .ip-jump a{font-size:12px}.ip .ip-section-head,.ip .ip-story,.ip .ip-close{grid-template-columns:1fr;gap:24px}.ip .ip-section-head{margin-bottom:24px}.ip .ip-flow{grid-template-columns:1fr;gap:24px}.ip .ip-flow li:not(:last-child):after{content:'↓';right:4px}.ip .ip-flow p{padding-right:26px}.ip .ip-gallery{gap:16px;grid-template-columns:1fr 1fr}.ip .ip-gallery img{aspect-ratio:1}.ip .ip-section-cta,.ip .ip-how{display:grid;gap:16px}.ip .ip-light{padding:24px 18px}.ip .ip-vitals{grid-template-columns:1fr;gap:28px}.ip .ip-vital strong{font-size:32px}.ip .ip-vital-meter{margin-block:12px}.ip .ip-figure-head{margin-bottom:20px}.ip .ip-chart text{font-size:17px}.ip .ip-chart .ip-chart-value{font-size:34px}.ip .ip-chart-controls{gap:8px}.ip .ip-chart-controls label{min-width:100%}.ip .ip-result-pair{gap:16px}.ip .ip-close{padding:28px 22px;margin-bottom:32px}.ip th,.ip td{padding:16px 14px 16px 0;font-size:13px}.ip tbody th{font-size:14px;width:29%}.ip table{min-width:0}.ip .ip-story img{aspect-ratio:1.5}.ip .ip-sibling-links{gap:14px}.ip .ip-note{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.ip *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:650px){.ip .ip-chart text{font-size:26px}.ip .ip-chart .ip-chart-value{font-size:38px}}

/* Source-based article imagery: preserve complete interface compositions. */
.ip .ip-media-link{display:block;cursor:zoom-in;text-decoration:none}
.ip .ip-image img{height:auto;aspect-ratio:auto;object-fit:contain}
.ip .ip-hero-main img{aspect-ratio:4/3}
.ip .ip-hero-detail img{aspect-ratio:1}
.ip .ip-hero-art{padding-bottom:62px}
.ip .ip-hero-art figcaption{max-width:58%;line-height:1.5}
@media(max-width:650px){.ip .ip-gallery{grid-template-columns:1fr;gap:26px}.ip .ip-hero-art{padding-bottom:62px}.ip .ip-hero-art figcaption{max-width:65%}.ip .ip-hero-detail{bottom:38px;width:30%}}
