/* 2026-09: shared editorial system. Product data remains in site-config.js. */
:root { --hub-ink:#152d3c; --hub-muted:#526571; --hub-line:#dce3e5; --hub-soft:#f3f6f6; --hub-paper:#fff; --gold-dark:#795b21; --shell:1160px; }
body { background:#fff; font-size:16px; line-height:1.85; letter-spacing:.015em; }
.shell { width:min(calc(100% - 64px),var(--shell)); }
:where(h1,h2,h3,p,li,summary,a) { overflow-wrap:break-word; }
:where(section,details,[id]) { scroll-margin-top:100px; }
.section { padding:80px 0; }
.section-white { background:#fff; }
.section-ivory { background:var(--hub-soft); }
.section-label,.hub-kicker { margin:0 0 16px; color:var(--gold-dark); font-size:12px; letter-spacing:.12em; font-weight:800; }
.fineprint { font-size:14px; color:var(--hub-muted); }
.button { min-height:50px; border-radius:6px; padding:13px 22px; font-size:15px; line-height:1.5; letter-spacing:0; box-shadow:none; }
.button-gold { background:#c9a45c; border-color:#c9a45c; color:#0b1f33; }
.button-gold:hover { background:#d4b46f; }
.button-outline { color:var(--navy); border-color:#acb9bf; background:transparent; }
.button-outline:hover { background:#eef2f3; color:var(--navy); }
.text-link { font-size:15px; color:var(--navy); text-decoration:underline; text-decoration-color:#b79c66; text-underline-offset:5px; }
:focus-visible { outline:3px solid #286c9d; outline-offset:5px; }
.site-header { background:#fff; border-bottom:1px solid var(--hub-line); height:80px; backdrop-filter:none; }
.brand-name { color:var(--navy); font-size:22px; }
.brand-sub { color:var(--hub-muted); font-size:12px; letter-spacing:.04em; margin-top:3px; }
.nav { gap:22px; }
.nav > a { color:var(--hub-muted); font-size:14px; white-space:nowrap; }
.nav > a[aria-current="page"] { color:var(--navy); }
.nav .nav-cta { background:var(--navy); border-color:var(--navy); color:#fff; border-radius:5px; padding:12px 16px; }
.menu-button span { background:var(--navy); }
.site-footer { background:#102a3a; padding:50px 0 30px; }
.footer-grid { align-items:start; grid-template-columns:.9fr 1.1fr; gap:28px 60px; }
.footer-brand strong { font-size:24px; }
.footer-brand p { font-size:14px; color:#bdcbd2; }
.footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
.footer-nav a { color:#e0e8eb; font-size:14px; }
.site-footer small { font-size:12px; color:#bdcbd2; }
.reveal-ready .reveal { opacity:1; transform:none; transition:none; }

/* Homepage: a clear promise and a concrete teaching example. */
.home-hero { background:#fff; padding:64px 0 0; }
.home-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.home-hero h1 { margin:0; color:var(--navy); font-size:clamp(32px,3.6vw,48px); font-weight:750; line-height:1.5; letter-spacing:-.03em; }
.home-hero h1 em { color:#397071; font-style:normal; }
.home-lead { max-width:36rem; margin:22px 0; color:var(--hub-muted); font-size:17px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hero-assurance { color:var(--hub-muted); font-size:14px; line-height:1.8; margin:14px 0 0; }
.hero-assurance strong { color:var(--navy); }
.lesson-preview { margin:0; background:#f2f5f4; border:1px solid #d9e2df; border-radius:12px; padding:25px; box-shadow:0 12px 35px #152d3c0a; }
.lesson-preview > figcaption { color:#4e6865; font-size:12px; font-weight:800; letter-spacing:.06em; }
.lesson-sheet { background:#fff; border:1px solid #dce4e1; border-radius:7px; margin-top:18px; padding:25px; }
.lesson-sheet > p { font-size:14px; margin:0; color:var(--hub-muted); }
.lesson-equation { display:block; font-family:Georgia,serif; font-size:38px; color:var(--navy); line-height:1.7; margin:12px 0; }
.lesson-equation mark { background:#f4e6c2; color:inherit; border-radius:3px; }
.lesson-translation { border-top:1px solid var(--hub-line); margin-top:16px; padding-top:16px; }
.lesson-translation strong { display:block; font-size:19px; line-height:1.65; }
.lesson-translation p { margin:10px 0 0; font-size:14px; color:var(--hub-muted); }
.lesson-path { list-style:none; padding:0; display:flex; justify-content:space-between; gap:10px; margin:20px 0 0; font-size:14px; color:#315552; }
.lesson-path li:not(:last-child)::after { content:"→"; margin-left:12px; color:#8a9b97; }
.home-facts { display:flex; flex-wrap:wrap; gap:12px 30px; border-top:1px solid var(--hub-line); margin-top:46px; padding:22px 0; color:var(--hub-muted); font-size:14px; }
.home-facts span::before { content:"✓"; color:#397071; margin-right:8px; }
.section-heading-compact { max-width:48rem; margin-bottom:30px; }
.section-heading-compact h2 { margin:0 0 12px; color:var(--navy); font-size:clamp(26px,2.8vw,34px); font-weight:750; line-height:1.55; }
.section-heading-compact > p:last-child { margin:0; color:var(--hub-muted); }
.pain-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.pain-grid article { border-top:2px solid #afc3bf; padding-top:20px; }
.pain-grid h3 { font-size:20px; line-height:1.7; margin:0 0 10px; }
.pain-grid p { margin:0; color:var(--hub-muted); }
.service-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.learning-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-card { display:flex; flex-direction:column; align-items:start; background:#fff; border:1px solid var(--hub-line); border-radius:8px; padding:28px; min-width:0; }
.service-card > span { color:var(--gold-dark); font-size:12px; font-weight:800; }
.service-card h3 { font-size:23px; line-height:1.5; margin:10px 0 14px; }
.service-card p { color:var(--hub-muted); margin:0 0 20px; }
.service-card dl { width:100%; margin:auto 0 18px; }
.service-card dl div { border-top:1px solid var(--hub-line); padding:12px 0; }
.service-card dt { font-size:14px; color:var(--hub-muted); }
.service-card dd { margin:2px 0 0; font-size:16px; color:var(--navy); font-weight:700; }
.subject-links { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.subject-links a { border:1px solid var(--hub-line); padding:24px 18px; border-radius:6px; color:var(--navy); }
.subject-links a:hover { background:var(--hub-soft); border-color:#86a6a0; }
.subject-links strong { display:block; font-size:17px; margin-bottom:8px; }
.subject-links span { font-size:14px; color:var(--hub-muted); }
.home-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:30px 0; border-block:1px solid var(--hub-line); }
.home-trust h3 { font-size:18px; margin:0 0 8px; }
.home-trust p { color:var(--hub-muted); font-size:15px; margin:0; }

/* Shared landing/detail page hierarchy. */
.hub-page { color:var(--hub-ink); }
.hub-page .section { padding:72px 0; }
.hub-page-hero { background:#f3f6f6; padding:32px 0 50px; border-bottom:1px solid var(--hub-line); }
.breadcrumbs { font-size:13px; color:var(--hub-muted); margin-bottom:24px; }
.breadcrumbs a { color:var(--navy); }
.hub-page-title { max-width:58rem; margin:0; font-size:clamp(30px,3.4vw,42px); line-height:1.55; font-weight:750; letter-spacing:-.02em; }
.hub-page-title em { font-style:normal; color:#397071; }
.hub-hero-lead { max-width:52rem; margin:20px 0 0; color:var(--hub-muted); font-size:16px; }
.hub-hero-note { margin:16px 0 0; color:var(--hub-muted); font-size:14px; }
.hub-hero { background:#fff; border-bottom:1px solid var(--hub-line); }
.hub-hero-inner { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; padding-block:56px 40px; }
.hub-hero h1 { margin:0; font-size:clamp(30px,3.7vw,46px); line-height:1.55; font-weight:750; }
.hub-hero h1 em { font-style:normal; color:#397071; }
.hub-phrase { display:inline; }
.hub-inquiry-link { display:inline-block; margin-top:16px; font-size:14px; color:var(--navy); text-decoration:underline; text-underline-offset:5px; }
.hub-hero-aside { min-width:0; border:1px solid #dce5e2; border-radius:8px; padding:28px; background:#f3f6f4; color:var(--navy); }
.hub-hero-aside > span { font-size:12px; color:var(--gold-dark); font-weight:800; }
.hub-hero-aside h2 { font-size:24px; line-height:1.6; margin:10px 0 18px; }
.hub-hero-aside p { color:var(--hub-muted); font-size:16px; }
.hub-checks { padding:0; margin:18px 0; list-style:none; }
.hub-checks li { padding:12px 0; border-top:1px solid var(--hub-line); font-size:16px; }
.hub-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--hub-line); }
.hub-facts div { padding:20px 14px; }
.hub-facts span { display:block; color:var(--hub-muted); font-size:12px; }
.hub-facts strong { display:block; color:var(--navy); font-size:15px; }
.hub-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:start; margin-bottom:30px; }
.hub-intro h2,.hub-split-copy h2 { margin:0; font-size:clamp(26px,2.7vw,34px); font-weight:750; line-height:1.6; }
.hub-intro p { max-width:44rem; margin:0; font-size:16px; color:var(--hub-muted); }
.hub-route-list { border-top:1px solid var(--hub-line); }
.hub-route { display:grid; grid-template-columns:30px 1fr 1.2fr auto 20px; gap:20px; align-items:center; padding:26px 0; border-bottom:1px solid var(--hub-line); }
.hub-route:hover { background:#f3f6f680; }
.hub-route-number { font-family:Georgia,serif; color:var(--gold-dark); font-size:18px; }
.hub-route h3 { font-size:21px; margin:0; line-height:1.6; }
.hub-route h3 small { display:block; font-family:inherit; font-size:14px; font-weight:500; color:var(--hub-muted); margin-top:5px; }
.hub-route p { color:var(--hub-muted); font-size:15px; margin:0; }
.hub-route-price { color:var(--hub-muted); font-size:14px; }
.hub-route-price strong { display:block; font-size:17px; color:var(--navy); }
.hub-route-link { color:#56706d; font-style:normal; }
.hub-split { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.hub-split-copy > p:not(.section-label) { color:var(--hub-muted); margin:18px 0; font-size:16px; }
.hub-editorial-list { list-style:none; counter-reset:method; padding:0; margin:24px 0; }
.hub-editorial-list li { position:relative; counter-increment:method; border-top:1px solid var(--hub-line); padding:16px 0 16px 40px; font-size:15px; color:var(--hub-muted); }
.hub-editorial-list li::before { content:"0" counter(method); position:absolute; left:0; top:16px; font-size:16px; color:#397071; }
.hub-editorial-list strong { display:block; font-size:17px; color:var(--navy); margin-bottom:4px; }
.hub-visual { margin:0; min-width:0; }
.hub-visual img { width:100%; height:auto; display:block; border:1px solid var(--hub-line); border-radius:8px; box-shadow:0 16px 30px #0b1f330a; }
.hub-visual figcaption { font-size:12px; color:var(--hub-muted); margin:14px 0; }
.hub-band { background:#153344; color:#fff; }
.hub-band :is(h2,h3,strong) { color:#fff; }
.hub-band :is(.hub-intro p,.hub-split-copy > p,.hub-route p,.hub-route h3 small,.hub-route-price,.hub-trust-strip p) { color:#cedce1; }
.hub-band :is(.section-label,.hub-route-number,.hub-trust-strip span) { color:#e3c98f; }
.hub-band :is(.hub-route,.hub-route-list,.hub-trust-strip,.hub-trust-strip article) { border-color:#43606f; }
.hub-band .hub-hero-aside { background:#234556; border-color:#57717f; }
.hub-band .hub-hero-aside :is(span,p,li) { color:#e2eaed; }
.hub-band .hub-checks li { border-color:#57717f; }
.hub-band .text-link { color:#f2dba7; }
.hub-hero-aside:not(.hub-band .hub-hero-aside) .text-link-light { color:var(--navy); }
.page-jump { display:flex; gap:10px; flex-wrap:wrap; margin:26px 0 0; }
.page-jump a { background:#fff; border:1px solid #cbd8da; border-radius:5px; padding:9px 14px; font-size:14px; color:var(--navy); }
.page-jump a:hover { border-color:#397071; background:#eaf1ef; }
.hub-details-list,.hub-plan-details { border-top:1px solid var(--hub-line); }
.hub-details-list details,.hub-plan-detail { border-bottom:1px solid var(--hub-line); }
.hub-details-list summary,.hub-plan-detail summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; list-style:none; cursor:pointer; padding:22px 0; }
.hub-details-list summary::-webkit-details-marker,.hub-plan-detail summary::-webkit-details-marker { display:none; }
.hub-details-list summary::after { content:"+"; font-size:26px; color:#397071; }
.hub-details-list details[open] summary::after { content:"−"; }
.hub-details-list summary span,.hub-plan-detail summary small { display:block; color:var(--gold-dark); font-size:12px; letter-spacing:.04em; }
.hub-details-list summary strong,.hub-plan-detail summary strong { display:block; font-size:21px; line-height:1.6; color:var(--navy); margin-top:4px; }
.hub-details-body { max-width:56rem; padding:0 40px 24px 0; color:var(--hub-muted); font-size:16px; }
.hub-details-body p { margin:0 0 12px; }
.hub-details-body ul { padding-left:20px; }
.hub-details-meta { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.hub-details-meta b { background:#ecf2f0; padding:7px 11px; color:var(--navy); border-radius:4px; font-size:14px; }
.hub-plan-detail summary > b { position:relative; padding-right:30px; text-align:right; font-size:22px; color:var(--navy); }
.hub-plan-detail summary > b::after { content:"+"; position:absolute; right:0; top:0; color:#397071; font-size:24px; font-weight:400; }
.hub-plan-detail[open] summary > b::after { content:"−"; }
.hub-plan-detail summary em { display:block; font-style:normal; font-size:14px; font-weight:500; color:var(--hub-muted); }
.hub-plan-detail-body { padding:0 0 28px; }
.hub-plan-detail-body > p { margin:0; color:var(--hub-muted); font-size:16px; }
.hub-plan-price-note { margin-top:14px !important; }
.hub-plan-columns { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:22px 0; }
.hub-plan-columns h4 { font-size:16px; margin:0 0 12px; }
.hub-plan-columns .check-list li { font-size:15px; }
.hub-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hub-guide { display:block; min-width:0; padding:25px; background:#fff; border:1px solid var(--hub-line); border-radius:6px; }
.hub-guide:hover { border-color:#7d9d97; }
.hub-guide > span { color:var(--gold-dark); font-size:12px; font-weight:800; letter-spacing:.04em; }
.hub-guide h3 { margin:12px 0; font-size:20px; line-height:1.65; }
.hub-guide p { margin:0; color:var(--hub-muted); font-size:15px; }
.hub-guide b { display:block; margin-top:20px; font-size:14px; color:#397071; }
.hub-trust-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--hub-line); }
.hub-trust-strip article { padding:25px 20px; border-right:1px solid var(--hub-line); }
.hub-trust-strip article:last-child { border-right:0; }
.hub-trust-strip span { font-size:12px; color:var(--gold-dark); }
.hub-trust-strip strong { display:block; font-size:18px; margin:8px 0; }
.hub-trust-strip p { margin:0; font-size:15px; color:var(--hub-muted); }
.hub-callout { background:#153344; color:#fff; border-radius:8px; padding:36px; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.hub-callout span { color:#e3c98f; font-size:12px; font-weight:800; }
.hub-callout h2 { color:#fff; font-size:27px; line-height:1.6; margin:10px 0; }
.hub-callout p { color:#d0dce1; font-size:16px; margin:0; }
.faq-list summary { font-size:16px; line-height:1.8; padding-block:20px; }
.faq-list p { font-size:16px; color:var(--hub-muted); }
.section-heading h2 { font-family:inherit; font-size:32px; font-weight:750; }
.section-heading > p:not(.section-label) { font-size:16px; }

/* The consultation is an inquiry first, not an immediate paid booking. */
.inquiry-contact { background:#eef3f1; padding-block:72px; }
.contact h2 { font-family:inherit; font-size:32px; font-weight:750; }
.contact-grid { grid-template-columns:1fr 1fr; gap:48px; }
.inquiry-contact .contact-card { border-color:#d2ded8; border-radius:8px; box-shadow:none; padding:30px; }
.inquiry-contact .contact-card > p { font-size:16px; }
.contact-kicker { font-size:12px !important; }
.inquiry-trial { margin-top:26px; }
.inquiry-trial ul,.inquiry-example p { font-size:16px; }
.inquiry-trial-note,.inquiry-trial-label,.inquiry-trial-price span { font-size:14px; }
.inquiry-example { border-color:#89a69b; background:#f0f5f2; }
.inquiry-example > span { font-size:12px; color:#3e6558; }
.inquiry-button-help,.inquiry-contact .contact-assurance { font-size:14px !important; }
.inquiry-steps strong { font-size:16px; }
.inquiry-steps p,.inquiry-contact .contact-alternatives,.inquiry-template-details summary,.inquiry-template-details .contact-template,.instagram-form-option > p:first-child,.instagram-form-option > p:first-child strong,.email-row a,.email-row button { font-size:14px; }
.contact-card :is(a,button) { overflow-wrap:anywhere; }
.hub-mobile-cta { display:none; }
.legal-page { background:#f5f7f7; }
.legal-title h1 { font-family:inherit; font-size:36px; }
.legal-section :is(p,li),.legal-table :is(th,td) { font-size:16px; }
.legal-price-list :is(strong,span) { font-size:14px; }
.legal-updated { font-size:14px; }
.guide-hero { background:#f3f6f6; color:var(--navy); padding:40px 0 48px; }
.guide-hero::before { display:none; }
.guide-hero h1 { color:var(--navy); font-family:inherit; font-weight:750; font-size:clamp(29px,3.2vw,40px); line-height:1.6; }
.guide-hero h1 em { color:#397071; }
.guide-hero .eyebrow { color:var(--gold-dark); font-size:12px; }
.guide-hero .breadcrumbs,.guide-meta { color:var(--hub-muted); font-size:13px; }
.guide-hero .breadcrumbs a { color:var(--navy); }
.guide-lead { color:var(--hub-muted); font-size:16px; }
.guide-section :is(p,li),.guide-related p { font-size:16px; }
.guide-section :is(summary,dt,dd),.guide-related span { font-size:14px; }
.guide-section :is(h2),.guide-related h2 { font-family:inherit; font-size:28px; }
.guide-section-navy .button-outline,.not-found .button-outline { color:#fff; border-color:#a0b5c0; }

@media (max-width:1050px) {
  .nav { gap:14px; }
  .nav > a { font-size:14px; }
  .home-hero-grid,.hub-hero-inner,.hub-split { gap:32px; }
  .subject-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .service-card { padding:22px; }
  .hub-route { grid-template-columns:24px 1fr 1fr; }
  .hub-route-price { grid-column:2; }
  .hub-route-link { display:none; }
}
@media (max-width:900px) {
  .site-header { height:72px; background:#fff; }
  .nav { top:72px; background:#fff; min-height:calc(100dvh - 72px); padding:20px 24px max(40px,env(safe-area-inset-bottom)); }
  .nav > a { color:var(--navy); border-color:var(--hub-line); font-size:16px; }
  .nav .nav-cta { color:#fff; }
  .home-hero-grid,.hub-hero-inner { grid-template-columns:1fr; }
  .home-hero-copy { max-width:42rem; }
  .lesson-preview { max-width:36rem; width:100%; }
  .hub-intro { grid-template-columns:1fr; gap:14px; }
  .hub-split { grid-template-columns:1fr; }
  .hub-visual { max-width:46rem; }
  .hub-hero-aside { max-width:44rem; }
  .service-cards { grid-template-columns:1fr; }
  .learning-paths { grid-template-columns:1fr; }
  .service-card { padding:26px; }
  .service-card dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .hub-trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hub-trust-strip article:nth-child(2) { border-right:0; }
  .hub-trust-strip article:nth-child(n+3) { border-top:1px solid var(--hub-line); }
  .hub-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  body { font-size:16px; }
  .shell { width:calc(100% - 36px); }
  .brand-name { font-size:20px; }
  .brand-sub { font-size:12px; }
  .home-hero { padding-top:36px; }
  .home-hero-grid { gap:28px; }
  .home-hero h1 { font-size:clamp(29px,7.9vw,38px); line-height:1.55; }
  .home-lead { font-size:16px; margin-block:18px; }
  .hero-actions { flex-direction:column; margin-top:20px; }
  .hero-actions .button { width:100%; }
  .hero-assurance { font-size:14px; }
  .lesson-preview { padding:18px; border-radius:8px; }
  .lesson-sheet { padding:20px; }
  .lesson-equation { font-size:32px; }
  .lesson-translation strong { font-size:18px; }
  .lesson-path { font-size:13px; gap:4px; }
  .lesson-path li:not(:last-child)::after { margin-left:5px; }
  .home-facts { gap:10px 20px; margin-top:30px; }
  .section,.hub-page .section { padding:48px 0; }
  .pain-grid,.home-trust { grid-template-columns:1fr; gap:24px; }
  .service-card dl { grid-template-columns:1fr; gap:0; }
  .subject-links { grid-template-columns:1fr 1fr; gap:10px; }
  .subject-links a { padding:18px 14px; }
  .subject-links strong { font-size:16px; }
  .subject-links span { font-size:14px; }
  .hub-page-hero { padding:24px 0 36px; }
  .hub-page-title { font-size:29px; }
  .hub-hero-inner { padding-block:36px; gap:26px; }
  .hub-hero h1 { font-size:30px; }
  .hub-hero-aside { display:block; padding:22px; }
  .hub-hero-aside h2 { font-size:22px; }
  .hub-facts { grid-template-columns:1fr 1fr; }
  .hub-facts div { padding:16px 8px; }
  .hub-facts div:nth-child(n+3) { border-top:1px solid var(--hub-line); }
  .hub-route { grid-template-columns:24px minmax(0,1fr); gap:10px 12px; padding:22px 0; }
  .hub-route-number { align-self:start; }
  .hub-route :is(p,.hub-route-price) { grid-column:2; }
  .hub-route h3 { font-size:21px; }
  .hub-plan-detail summary { grid-template-columns:1fr; gap:12px; }
  .hub-plan-detail summary > b { text-align:left; font-size:22px; }
  .hub-plan-detail summary em { display:inline; margin-left:8px; }
  .hub-plan-columns,.hub-guide-grid,.hub-callout { grid-template-columns:1fr; }
  .hub-details-body { padding-right:0; }
  .hub-trust-strip article { padding:20px 14px; }
  .hub-callout { padding:25px; }
  .hub-callout h2 { font-size:25px; }
  .contact h2 { font-size:28px; }
  .inquiry-contact .contact-card { padding:22px; }
  .footer-grid { grid-template-columns:1fr; gap:26px; }
  .footer-nav { gap:14px 18px; }
  .footer-nav a { font-size:14px; }
  .hub-page { padding-bottom:84px; }
  .hub-mobile-cta { position:fixed; z-index:95; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 8px; min-height:64px; padding:14px 18px max(14px,env(safe-area-inset-bottom)); background:#102a3a; color:#fff; font-size:14px; box-shadow:0 -2px 12px #0b1f3312; }
  .hub-mobile-cta b { color:#eed6a6; }
  .hub-mobile-cta.is-contact-visible,.menu-open .hub-mobile-cta { visibility:hidden; pointer-events:none; }
  .legal-title h1 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media (max-width:900px) {
  html:not(.js) .site-header { position:static; height:auto; }
  html:not(.js) .header-inner { flex-wrap:wrap; padding-block:16px; }
  html:not(.js) .menu-button { display:none; }
  html:not(.js) .nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; min-height:0; padding:14px 0 0; box-shadow:none; gap:6px 16px; }
  html:not(.js) .nav > a { padding:8px 0; }
  html:not(.js) .nav .nav-cta { padding:8px 14px; margin:0; }
}
