/* Page overrides for / (property-level diffs vs global.css + page-only rules, original order) */
h1,h2,h3,.display{font-family:'Saira Condensed','Saira',sans-serif;font-weight:600;line-height:1.04;letter-spacing:-.01em}
.nav-link:hover{color:var(--blue)}
.submenu-inner a:hover{background:var(--paper);color:var(--blue)}
.hero .lede{font-size:clamp(.95rem,1.55vw,1.17rem);color:var(--on-dark-body);max-width:46ch;font-weight:400;line-height:1.45}
/* Homepage opts out of the global hero height cap: its ISO-badge row needs extra
   room, so it grows past the cap while keeping the same minimum as sibling pages. */
@media(min-width:901px){
.hero{height:auto;min-height:clamp(620px,56.5vw,700px)}
}
.iso-row{flex-direction:column;align-items:flex-start;gap:14px}
.iso-badges img:first-child{padding-left:0}
.intro h2{font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:600;margin:.45em 0 .55em;color:var(--navy);max-width:16ch}
.intro p{color:var(--ink-muted);font-size:.95rem;margin-bottom:1.1em;max-width:54ch;line-height:1.5}
/* Homepage only: stretch the photo to the full row height so it's flush with the text
   column. Desktop only; the single-column mobile layout keeps the image in normal flow.
   (The intro reveal-slide removal that keeps the text evenly padded lives in global.css.) */
@media(min-width:881px){
.intro-grid{align-items:stretch}
.intro-figure img{position:absolute;inset:0;width:100%;height:100%;max-height:none}
}
.diff{background:#fff}
.family-grid{grid-template-columns:1.01fr .97fr;align-items:stretch}
@media(max-width:880px){
.family-grid{grid-template-columns:1fr;gap:40px}
}
.family-figure{position:relative;margin-top:44px}
.family-figure img{height:100%;object-fit:cover;display:block}
.family .reveal .purpose{margin-bottom:0}
.values{margin-top:30px;border-top:1px solid var(--line)}
.value{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.gptw{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font-family:'Saira',sans-serif;font-size:.86rem;letter-spacing:.04em;color:var(--navy);background:var(--paper);border:1px solid var(--line);padding:10px 16px;border-radius:3px}
.gptw b{color:var(--blue)}
.fit-card li{font-size:.99rem}
@media(prefers-reduced-motion:reduce){
.btn,.unique,.ind,.diff .unique-img img{transition:none}
}
.diff .unique h3{font-size:1.86rem}
.diff .unique{overflow:hidden}
.diff .unique-img{margin:-34px -30px 22px;height:190px}
.diff .unique-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.diff .unique:hover .unique-img img{transform:scale(1.04)}
.cta-band .cta-inner .uniques-line span{color:var(--navy)}
.diff-cta{margin-top:clamp(38px,5vw,52px)}
.solutions{position:relative;overflow:hidden}
.solutions .wrap{position:relative;z-index:1}
.solutions::after{content:"";position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(680px,52vw);height:min(680px,52vw);background:url('/assets/metroid-e-logo.png') center/contain no-repeat;opacity:.10;pointer-events:none;z-index:0}
.process::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(12,52,87,.95) 0%,rgba(14,60,101,.86) 45%,rgba(16,69,115,.62) 100%)}
.process .wrap{position:relative;z-index:2}
.fit{background:var(--navy-deep);position:relative;overflow:hidden}
.fit .wrap{position:relative;z-index:1}
.fit .section-head h2{color:#fff}
.fit .section-head .eyebrow,.fit .eyebrow{color:var(--blue-soft)}
.fit-grid{align-items:stretch}
.fit-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15)}
.fit-card.good{border-top:3px solid var(--blue)}
.fit-card.no{border-top:3px solid var(--gray)}
.fit-card h3{color:#fff}
.fit-card li{color:var(--on-dark-body)}
.fit-card li b{color:#fff}
/* The fit band stays navy, so its ticks use the Guide's on-dark status colours (section 9): the light-mode success/error shades are too dark on #0C3457. */
.fit-card.good li::before{color:#4CB07E}
.fit-card.no li::before{color:#E36B6B}
.fam-values{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.fam-val{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:4px;padding:24px 22px;transition:transform .2s ease,box-shadow .2s ease}
.fam-val:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(12,52,87,.4)}
.fam-val h3{font-family:'Saira Condensed',sans-serif;font-weight:600;font-size:1.46rem;line-height:1.44;letter-spacing:normal;color:var(--navy);margin:0 0 .45em}
.fam-val p{color:var(--ink-muted);font-size:.86rem;line-height:1.5}
.family .fam-values-lead{color:var(--navy);font-weight:600;font-size:1.27rem;margin-top:clamp(60px,8vw,92px);margin-bottom:2px}
.fam-values-cta{margin-top:clamp(30px,4vw,44px)}
@media(max-width:820px){
.family-figure img{height:auto;object-fit:contain}
}
@media(max-width:900px){
.fam-values{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:620px){
.fam-values{grid-template-columns:1fr 1fr}
}
@media(max-width:1080px){
.menu-toggle span{transition:transform .2s ease,opacity .2s ease}
}
