/* Image-led chapters with readable comparison panels. */
.hub-page main{max-width:1800px;margin:auto}
.hub-page main>section{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding:clamp(56px,7vw,110px) clamp(22px,6vw,100px)}
.hub-page main>section>*{min-width:0;max-width:100%}
.hub-page h1{font-size:clamp(3rem,6vw,6.5rem);line-height:1.02;letter-spacing:-.045em}
.hub-page main h2{font-size:clamp(2.4rem,4.2vw,4.8rem);line-height:1.05;letter-spacing:-.035em;margin:16px 0}
.hub-page main h3{line-height:1.12;letter-spacing:-.02em}
.hub-page main p,.hub-page main li,.hub-page main dd{font-size:1rem;line-height:1.7}
.hub-page main small,.hub-page main dt,.hub-page main button,.hub-page .kicker{font-size:.875rem;line-height:1.5}
.hub-page main :is(h1,h2,h3,p,a,button,dd){overflow-wrap:anywhere}
.hub-page main .kicker{color:#555;letter-spacing:.12em}
.hub-page :is(.hub-v2-hero,.hub-v2-maillage,.hub-v2-sources) .kicker{color:#ccc}
.hub-section-image{margin:0;width:100%;order:-1}
.hub-section-image img{display:block;width:100%;height:clamp(220px,32vw,490px);object-fit:cover;object-position:center;border-radius:2px}
.hub-section-image figcaption{padding:12px 0 0;font-size:.8125rem;line-height:1.5;color:inherit;opacity:.8;max-width:75ch}
.hub-page .hub-v2-hero{grid-template-columns:1.05fr 1fr;align-items:center;min-height:auto;gap:50px}
.hub-v2-hero .hub-section-image{order:1}
.hub-v2-hero .hub-section-image img{height:clamp(360px,44vw,650px)}
.hub-page .hub-v2-hero-copy{max-width:none}
.hub-page .hub-v2-section-heading{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
.hub-page .hub-v2-section-heading>p{max-width:60ch;margin:0}
.hub-page .hub-v2-purpose-copy{padding:0;max-width:80ch}
.hub-page .hub-v2-responsibility-grid,.hub-page .hub-v2-engine-feature,.hub-page .hub-v2-scenario-layout,.hub-page .hub-v2-simulation-grid,.hub-page .hub-v2-mesh-layout{margin-top:0}
.hub-page .hub-v2-engine-feature{display:block;background:transparent}
.hub-page .hub-v2-engine-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:transparent}
.hub-page .hub-v2-engine-points article{padding:24px 0;border:0;border-top:1px solid #999}
.hub-page .hub-v2-engine-points h3{font-size:1.8rem;margin:20px 0}
.hub-page .hub-v2-engine:after{display:none}
.hub-page .hub-v2-responsibility-grid h3,.hub-page .hub-v2-simulation-grid h3{margin:28px 0 20px;font-size:2rem}
.hub-page .hub-v2-responsibility-grid article,.hub-page .hub-v2-simulation-grid article{min-height:0;padding:30px}
.hub-page .hub-v2-scenario-layout{grid-template-columns:minmax(230px,.65fr) minmax(0,1.6fr)}
.hub-page .hub-v2-scenario-choice{min-height:0;padding:28px}
.hub-page .hub-v2-scenario-choice strong{margin:18px 0 12px;font-size:1.6rem}
.hub-page .hub-v2-scenario-card,.hub-page .hub-v2-mesh-detail{padding:clamp(24px,4vw,55px);min-height:0}
.hub-page .hub-v2-scenario-card h3,.hub-page .hub-v2-mesh-detail h3{font-size:clamp(2rem,3vw,3.4rem)}
.hub-page .hub-v2-scenario-chain li{grid-template-columns:30px minmax(130px,.7fr) minmax(0,1fr);gap:18px;padding:22px 0}
.hub-page .hub-v2-scenario-chain small{font-size:1rem}
.hub-page .hub-v2-simulation-grid{grid-template-columns:1fr;background:transparent;gap:28px}
.hub-page .hub-v2-simulation-grid article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;border-top:1px solid #aaa;background:#f5f5f5}
.hub-page .hub-v2-simulation-grid article>span{grid-column:1/-1;font-size:.875rem}
.hub-page .hub-v2-simulation-grid article h3{grid-column:1;grid-row:2}
.hub-page .hub-v2-simulation-grid article p{grid-column:1;margin:0}
.hub-page .hub-v2-simulation-grid article ul{grid-column:2;grid-row:2/4;margin:28px 0 0}
.hub-page .hub-v2-trajectory-copy,.hub-page .hub-v2-sources>div:last-child,.hub-page .hub-v2-contact-actions{max-width:none}
.hub-page .hub-v2-trajectory-grid{margin-top:30px}
.hub-page .hub-v2-evidence-card{width:100%;max-width:none}
.hub-page .hub-v2-evidence-card dl div{grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);padding:22px 28px}
.hub-page .hub-v2-roadmap li{grid-template-columns:40px minmax(0,1.4fr) minmax(0,1fr);gap:28px}
.hub-page .hub-v2-roadmap li small{align-self:center}
.hub-page .hub-v2-contact .hub-section-image img{height:300px}
.hub-page .hub-v2-mesh-node{min-height:130px}
.hub-page .hub-v2-mesh-node span{margin-bottom:24px}
@media(max-width:1100px){
 .hub-page .hub-v2-hero,.hub-page .hub-v2-section-heading{grid-template-columns:1fr}
 .hub-v2-hero .hub-section-image{order:-1}
 .hub-v2-hero .hub-section-image img{height:clamp(250px,45vw,460px)}
 .hub-page .hub-v2-engine-points{grid-template-columns:1fr}
 .hub-page .hub-v2-responsibility-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .hub-page main>section{gap:26px}
 .hub-page .hub-v2-scenario-layout,.hub-page .hub-v2-simulation-grid article,.hub-page .hub-v2-mesh-layout,.hub-page .hub-v2-trajectory-grid{display:block}
 .hub-page .hub-v2-choice-list{grid-template-columns:1fr}
 .hub-page .hub-v2-scenario-chain li{grid-template-columns:26px minmax(0,1fr)}
 .hub-page .hub-v2-scenario-chain small{grid-column:2}
 .hub-page .hub-v2-evidence-card dl div{display:block}
 .hub-page .hub-v2-evidence-card dd{margin-top:8px}
 .hub-page .hub-v2-roadmap li{grid-template-columns:26px minmax(0,1fr);gap:16px}
 .hub-page .hub-v2-roadmap li small{grid-column:2}
 .hub-page .hub-v2-simulation-grid article+article{margin-top:26px}
 .hub-page .hub-v2-trajectory-grid article+article{border-top:1px solid #aaa}
 .hub-page .hub-v2-inspiration,.hub-page .hub-v2-simulation-note{display:block}
 .hub-page .hub-v2-inspiration p,.hub-page .hub-v2-simulation-note p{margin-top:16px}
}
