/* ==========================================================
   Honestly China v7 — clearer IA, grand modern-city look
   Tokens override style.css. Light and dark both target WCAG AA.
   ========================================================== */
:root{
  --ivory:#F4F1EA;
  --stone:#EBE6DC;
  --sand:#D8D0C3;
  --ink:#0C1220;
  --ink-2:#3A414E;
  --muted:#545B68;
  --accent:#0B6563;
  --accent-d:#084E4C;
  --accent-tint:#D7EEED;
  --white:#FFFcf6;
  --paper:#FFFcf6;
  --line:#D8D0C3;
  --ink-solid:#0C1220;
  --on-ink:#F4F1EA;
  --on-ink-2:#D5D0C6;
  --on-ink-muted:#B8B3A8;
  --amber:#8A5A10;
  --amber-tint:#F3E6C8;
  --r:12px;
  --r-lg:18px;
  --wrap:1200px;
  --s-sec:clamp(64px,8vw,112px);
}

body{background:var(--ivory);color:var(--ink);font:400 18px/1.65 var(--text)}
h2{font-size:clamp(40px,5.4vw,76px);letter-spacing:-.03em}
h3{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.02em}
.eyebrow{letter-spacing:.2em;font-size:11.5px;color:var(--muted)}
.eyebrow.accent{color:var(--accent)}

/* ---------- header: calmer, five items ---------- */
.site-head{background:rgba(244,241,234,.82);border-bottom:1px solid rgba(12,18,32,.07)}
.site-head .wrap{height:78px}
.brand{font-size:27px;gap:14px}
.brand-mark{width:32px;height:32px}
.nav{gap:28px;font-size:14.5px;letter-spacing:.04em;font-weight:500}
.nav a{opacity:.9}
.nav a[aria-current="page"]{opacity:1}
.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .item .drop{min-width:240px;grid-template-columns:1fr;padding:18px 20px;right:auto;left:0}
.nav .item .drop.v7-cities{min-width:340px;grid-template-columns:1fr 1fr;gap:8px 28px}
.nav .item .drop.v7-cities .dcol:first-child{grid-column:1/-1}
.nav .item .drop h5{letter-spacing:.16em}
.nav .item .drop li a{padding:7px 0;font-size:15px}
.site-head.over{color:#fff;background:transparent}
.site-head.over.scrolled{background:rgba(244,241,234,.9);color:var(--ink);border-color:rgba(12,18,32,.08)}

/* ---------- hero ---------- */
.hero.v7-hero{
  position:relative;
  min-height:100svh;
  height:100svh;
  max-height:1080px;
  min-height:620px;
  color:#fff;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:#0C1220;
  padding:0;
}
.hero.v7-hero>img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 45%;
  z-index:-2;
}
.hero.v7-hero::after{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,12,22,.42) 0%,rgba(8,12,22,.18) 32%,rgba(8,12,22,.45) 62%,rgba(8,12,22,.9) 100%),
    linear-gradient(90deg,rgba(8,12,22,.55) 0%,rgba(8,12,22,.2) 48%,rgba(8,12,22,.15) 100%);
}
.hero.v7-hero .wrap{width:100%;padding-bottom:clamp(56px,9vh,120px);padding-top:120px}
.hero.v7-hero .eyebrow{color:rgba(255,255,255,.82)}
.hero.v7-hero h1{
  font-size:clamp(44px,7.2vw,96px);
  line-height:.96;
  letter-spacing:-.035em;
  max-width:16ch;
  margin:16px 0 22px;
  text-wrap:balance;
}
.hero.v7-hero h1 em{font-style:italic;font-weight:400;color:#F3E6C8}
.hero.v7-hero .lede{
  max-width:46ch;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.55;
  color:rgba(255,255,255,.9);
  margin:0 0 8px;
}
.hero.v7-hero .hero-row{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.hero.v7-hero .hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero.v7-hero .btn-light{background:#FFFcf6;color:#0C1220;min-height:52px;padding:0 28px;font-size:15.5px}
.hero.v7-hero .btn-light:hover{background:#fff;color:#0C1220}
.hero.v7-hero .btn-ghost{border-color:rgba(255,255,255,.7);color:#fff;min-height:52px;padding:0 28px;font-size:15.5px}
.hero.v7-hero .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.hero.v7-hero .credit-tag{
  position:absolute;right:var(--gut);bottom:16px;
  font-size:11px;line-height:1.4;color:rgba(255,255,255,.7);
  max-width:42ch;text-align:right;
}
.hero.v7-hero .credit-tag a{color:rgba(255,255,255,.85)}
.hero.v7-hero .v7-hero-zh{
  position:absolute;right:var(--gut);top:28%;
  font:500 clamp(80px,16vw,220px)/.9 var(--zh);
  color:rgba(255,255,255,.08);
  z-index:-1;pointer-events:none;letter-spacing:-.04em;
}
.hero.v7-hero .scroll-cue{color:rgba(255,255,255,.7);left:var(--gut);bottom:20px}

/* ---------- homepage sections: short, airy ---------- */
.v7-home .home-tight{padding:clamp(48px,6.5vw,88px) 0}
.v7-trust-sec{background:var(--ivory);border-bottom:1px solid var(--sand);padding:22px 0}
.v7-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0;justify-content:space-between;align-items:center}
.v7-trust li{flex:1 1 160px;display:flex;align-items:center;gap:10px;font:500 13.5px/1.35 var(--text);color:var(--ink-2);padding:4px 16px 4px 0}
.v7-trust li+li{border-left:1px solid var(--sand);padding-left:22px}
.v7-trust a{text-decoration:none;color:inherit}
.v7-trust a:hover{color:var(--accent)}
.v7-trust .t-ico{
  flex:none;width:22px;height:22px;border-radius:50%;
  border:1px solid var(--accent);color:var(--accent);
  display:grid;place-items:center;
}
.v7-trust .t-ico svg{width:12px;height:12px}

.v7-svc{background:var(--ivory)}
.v7-svc .sec-head{margin-bottom:36px}
.v7-svc h2 em,.v7-hubhero h1 em,.v7-home h2 em{font-style:italic;color:var(--accent)}
.v7-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.v7-card{
  display:flex;flex-direction:column;
  background:var(--white);border:1px solid rgba(12,18,32,.08);
  border-radius:var(--r-lg);padding:28px 26px 24px;
  text-decoration:none;color:var(--ink);
  min-height:260px;
  box-shadow:var(--sh-1);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
a.v7-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:rgba(12,18,32,.16);color:var(--ink)}
.v7-card .lab{font:500 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.v7-card .soon{margin-left:auto;font:500 10.5px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);background:var(--amber-tint);padding:6px 9px;border-radius:999px}
.v7-card .top{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.v7-card h3{font-size:28px;margin:16px 0 10px;letter-spacing:-.025em}
.v7-card p{font-size:15.5px;line-height:1.55;color:var(--ink-2);margin:0 0 16px}
.v7-card .foot{margin-top:auto;font-size:14px;font-weight:500;color:var(--accent);display:flex;align-items:center;gap:8px}
a.v7-card:hover .foot .arr{transform:translateX(4px)}
.v7-card .foot .arr{display:inline-block;transition:transform .3s var(--ease)}

.v7-home .journey-steps.compact{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin:0;padding:0;list-style:none}
.v7-home .journey-steps.compact li a{display:block;text-decoration:none;color:var(--ink);padding:18px 8px 18px 0;border-top:1px solid var(--sand)}
.v7-home .journey-steps.compact .n{display:block;font:500 12px/1 var(--text);letter-spacing:.16em;color:var(--accent);margin-bottom:8px}
.v7-home .journey-steps.compact h3{font-size:26px;margin:0 0 6px}
.v7-home .journey-steps.compact p{margin:0;color:var(--ink-2);font-size:15px}
.v7-home .most-asked.compact{margin-top:36px}
.v7-home .most-asked.compact h3{font-size:15px;font-family:var(--text);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.v7-home .most-asked.compact ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.v7-home .most-asked.compact a{
  display:inline-flex;align-items:center;min-height:42px;padding:0 16px;
  border:1px solid var(--sand);border-radius:999px;text-decoration:none;
  font-size:14.5px;font-weight:500;color:var(--ink-2);background:var(--white);
}
.v7-home .most-asked.compact a:hover{border-color:var(--ink);color:var(--ink);background:var(--white)}

.v7-cities-sec{background:var(--stone)}
.v7-city-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.v7-chip{
  display:inline-flex;align-items:baseline;gap:8px;
  min-height:48px;padding:0 18px;border-radius:999px;
  background:var(--white);border:1px solid rgba(12,18,32,.08);
  text-decoration:none;color:var(--ink);font:500 15.5px/1 var(--text);
}
a.v7-chip:hover{border-color:var(--ink);color:var(--ink)}
.v7-chip .zh{font:500 13px var(--zh);color:var(--muted)}
.v7-chip.is-soon{background:transparent;color:var(--ink-2);border-style:dashed;cursor:default}
.v7-chip .st{font:500 10px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

.v7-home .home-end{padding:clamp(64px,9vw,120px) 0;text-align:center;background:var(--ink-solid);color:var(--on-ink)}
.v7-home .home-end h2{color:#fff;margin:0 0 16px}
.v7-home .home-end p{max-width:46ch;margin:0 auto 28px;color:var(--on-ink-2);font-size:18px}
.v7-home .home-end .btn-light{background:#FFFcf6;color:#0C1220}
.v7-home .home-end .btn-ghost{border-color:rgba(255,255,255,.65);color:#fff}
.v7-home .home-end .btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.v7-home .home-end .end-links{margin-top:22px;font-size:14px;color:var(--on-ink-muted)}
.v7-home .home-end .end-links a{color:var(--on-ink-2);text-decoration:none}
.v7-home .home-end .end-links a:hover{color:#fff}

/* ---------- hubs & service pages ---------- */
.v7-hubhero{
  background:var(--ink-solid);color:#fff;
  padding:clamp(120px,16vw,180px) 0 clamp(56px,8vw,96px);
  position:relative;overflow:hidden;
}
.v7-hubhero .eyebrow{color:rgba(255,255,255,.7)}
.v7-hubhero h1{
  font-size:clamp(44px,6.6vw,88px);
  letter-spacing:-.035em;line-height:.98;
  max-width:16ch;margin:14px 0 18px;text-wrap:balance;
}
.v7-hubhero h1 em{font-style:italic;color:#F3E6C8}
.v7-hubhero .lede{max-width:52ch;font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.86);margin:0;line-height:1.55}
.v7-hubhero .mark{
  position:absolute;right:var(--gut);bottom:-12px;
  font:500 clamp(80px,14vw,200px)/1 var(--zh);
  color:rgba(255,255,255,.06);pointer-events:none;
}
.v7-hub{padding:clamp(56px,8vw,104px) 0}
.v7-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v7-hub-grid.two{grid-template-columns:repeat(2,1fr)}
.v7-hub-grid.four{grid-template-columns:repeat(4,1fr)}
.v7-note{
  margin-top:36px;padding:22px 24px;border-left:3px solid var(--accent);
  background:var(--accent-tint);color:var(--ink);font-size:15.5px;line-height:1.55;
  border-radius:0 var(--r) var(--r) 0;
}
.v7-svcpage{padding:clamp(48px,7vw,88px) 0 clamp(80px,10vw,128px)}
.v7-svcpage .wrap-n{max-width:760px;margin:0 auto;padding:0 var(--gut)}
.v7-svcpage .lede-p{font-size:19px;line-height:1.6;color:var(--ink-2);margin:0 0 28px}
.v7-svcpage h2{font-size:clamp(32px,4vw,48px);margin:40px 0 16px}
.v7-svcpage ul{margin:0 0 24px;padding:0 0 0 1.15em;color:var(--ink-2)}
.v7-svcpage li{margin:0 0 10px}
.v7-disclaimer{
  background:#F8EFE4;border:1px solid #E4CDA8;color:#3D2E12;
  padding:22px 24px;border-radius:var(--r);font-size:15.5px;line-height:1.55;margin:0 0 28px;
}
.v7-disclaimer strong{display:block;font:600 12px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:#8A5A10;margin-bottom:8px}
.v7-src{font-size:13.5px;color:var(--muted);margin:8px 0 32px}
.v7-ask{margin-top:48px;padding-top:36px;border-top:1px solid var(--sand)}
.v7-trust-block{margin:36px 0 0;padding:28px 0 0;border-top:1px solid var(--sand)}
.v7-trust-block h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 12px}
.v7-trust-block p{color:var(--ink-2)}
.legal .v7-trust-block:first-of-type{margin-top:48px}

/* ---------- footer ---------- */
.site-foot{background:var(--ink-solid);color:var(--on-ink);padding:64px 0 36px}
.site-foot .cols.v7-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px 28px}
.site-foot a{color:var(--on-ink-2);text-decoration:none}
.site-foot a:hover{color:#fff}
.site-foot h4{font:500 11.5px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--on-ink-muted);margin:0 0 16px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:0 0 8px;font-size:14.5px}
.site-foot .credits{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:var(--on-ink-muted);line-height:1.55}
.site-foot .credits a{color:var(--on-ink-2)}
.site-foot .flang{margin-top:22px}

/* ---------- buttons (consistent) ---------- */
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-d);color:#fff}
.btn-ink{background:var(--ink-solid);color:var(--on-ink)}
.btn-ink:hover{background:#000;color:#fff}

/* ---------- mobile menu: five clear groups ---------- */
.mnav{background:var(--ivory);color:var(--ink)}
.mnav .msearch{display:flex;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--sand);text-decoration:none;color:var(--ink-2);font-size:15px}
.mnav details{border-bottom:1px solid var(--sand)}
.mnav details summary{font-size:20px;font-family:var(--display);padding:16px 0;cursor:pointer;letter-spacing:-.02em}
.mnav .grp{padding:0 0 16px;display:flex;flex-direction:column;gap:4px}
.mnav .grp a{font-size:16px;padding:8px 0;text-decoration:none;color:var(--ink-2)}
.mnav .grp a.hub{color:var(--accent);font-weight:500;margin-bottom:6px}
.mnav > a{display:block;font-size:20px;font-family:var(--display);padding:16px 0;border-bottom:1px solid var(--sand);text-decoration:none;letter-spacing:-.02em}
.mnav .mlang{padding:22px 0 8px}

/* ---------- hubs that used accent as a full-bleed field ---------- */
.hub-hero.plain{background:var(--ink-solid);color:#fff}
.hub-hero.plain::after{display:none}

/* ==========================================================
   Dark mode — explicit theme and system preference
   Text #EDEAE3 on #121820; teal #5EC9C6 (AA on dark).
   ========================================================== */
html[data-theme="dark"],
html.v7-dark{
  color-scheme:dark;
  --ivory:#121820;
  --stone:#1A222C;
  --sand:#2E3846;
  --ink:#EDEAE3;
  --ink-2:#CDC8BC;
  --muted:#B8B3A8;
  --accent:#5EC9C6;
  --accent-d:#7ED6D3;
  --accent-tint:#163232;
  --white:#1A222C;
  --paper:#1A222C;
  --line:#2E3846;
  --ink-solid:#0A0E16;
  --on-ink:#EDEAE3;
  --on-ink-2:#CDC8BC;
  --on-ink-muted:#B8B3A8;
  --amber:#E2B056;
  --amber-tint:#3A2E14;
  --sh-1:0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3);
  --sh-2:0 2px 4px rgba(0,0,0,.4),0 18px 40px -18px rgba(0,0,0,.65);
}
html[data-theme="dark"] body,
html.v7-dark body{background:var(--ivory);color:var(--ink)}
html[data-theme="dark"] .site-head,
html.v7-dark .site-head{background:rgba(18,24,32,.9);border-color:rgba(237,234,227,.1);color:var(--ink)}
html[data-theme="dark"] .site-head.over,
html.v7-dark .site-head.over{background:transparent;border-color:transparent;color:#fff}
html[data-theme="dark"] .site-head.over.scrolled,
html.v7-dark .site-head.over.scrolled{background:rgba(10,14,22,.92);color:var(--ink);border-color:rgba(237,234,227,.1)}
html[data-theme="dark"] .btn-light,
html.v7-dark .btn-light{background:#EDEAE3;color:#0C1220;border-color:transparent}
html[data-theme="dark"] .btn-light:hover,
html.v7-dark .btn-light:hover{background:#fff;color:#0C1220}
html[data-theme="dark"] .btn-accent,
html.v7-dark .btn-accent{background:#0B6563;color:#fff}
html[data-theme="dark"] .btn-accent:hover,
html.v7-dark .btn-accent:hover{background:#084E4C;color:#fff}
html[data-theme="dark"] .btn-ink,
html.v7-dark .btn-ink{background:#EDEAE3;color:#0C1220}
html[data-theme="dark"] .btn-ink:hover,
html.v7-dark .btn-ink:hover{background:#fff;color:#0C1220}
html[data-theme="dark"] .btn-line,
html.v7-dark .btn-line{border-color:var(--ink);color:var(--ink)}
html[data-theme="dark"] .btn-line:hover,
html.v7-dark .btn-line:hover{background:var(--ink);color:#0C1220}
html[data-theme="dark"] .mega,
html[data-theme="dark"] .drop,
html[data-theme="dark"] .mnav,
html.v7-dark .mega,
html.v7-dark .drop,
html.v7-dark .mnav{background:var(--ivory);color:var(--ink);border-color:var(--sand)}
html[data-theme="dark"] .v7-card,
html.v7-dark .v7-card{background:#1A222C;border-color:rgba(237,234,227,.1);color:var(--ink)}
html[data-theme="dark"] a.v7-card:hover,
html.v7-dark a.v7-card:hover{color:var(--ink);border-color:rgba(237,234,227,.22)}
html[data-theme="dark"] .v7-card p,
html.v7-dark .v7-card p,
html[data-theme="dark"] .v7-svcpage .lede-p,
html.v7-dark .v7-svcpage .lede-p{color:var(--ink-2)}
html[data-theme="dark"] .v7-card .soon,
html.v7-dark .v7-card .soon{background:var(--amber-tint);color:var(--amber)}
html[data-theme="dark"] .v7-home .most-asked.compact a,
html.v7-dark .v7-home .most-asked.compact a,
html[data-theme="dark"] .v7-chip,
html.v7-dark .v7-chip{background:#1A222C;border-color:rgba(237,234,227,.14);color:var(--ink)}
html[data-theme="dark"] .v7-chip.is-soon,
html.v7-dark .v7-chip.is-soon{background:transparent;color:var(--ink-2)}
html[data-theme="dark"] .v7-note,
html.v7-dark .v7-note{background:var(--accent-tint);color:var(--ink);border-left-color:var(--accent)}
html[data-theme="dark"] .v7-disclaimer,
html.v7-dark .v7-disclaimer{background:#2A2316;border-color:#6A5428;color:#F3E6C8}
html[data-theme="dark"] .v7-disclaimer strong,
html.v7-dark .v7-disclaimer strong{color:#E2B056}
html[data-theme="dark"] .v7-trust-sec,
html.v7-dark .v7-trust-sec{background:var(--ivory);border-color:var(--sand)}
html[data-theme="dark"] .v7-trust li+li,
html.v7-dark .v7-trust li+li{border-color:var(--sand)}
html[data-theme="dark"] .v7-trust li,
html.v7-dark .v7-trust li{color:var(--ink-2)}
html[data-theme="dark"] .sub,
html[data-theme="dark"] .guide,
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html.v7-dark .sub,
html.v7-dark .guide,
html.v7-dark input,
html.v7-dark textarea,
html.v7-dark select{background:var(--white);color:var(--ink);border-color:var(--sand)}
html[data-theme="dark"] .status.live,
html.v7-dark .status.live{background:#0B6563;color:#fff}
html[data-theme="dark"] ::selection,
html.v7-dark ::selection{background:#0B6563;color:#fff}

@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]){
    color-scheme:dark;
    --ivory:#121820;--stone:#1A222C;--sand:#2E3846;
    --ink:#EDEAE3;--ink-2:#CDC8BC;--muted:#B8B3A8;
    --accent:#5EC9C6;--accent-d:#7ED6D3;--accent-tint:#163232;
    --white:#1A222C;--paper:#1A222C;--line:#2E3846;
    --ink-solid:#0A0E16;--on-ink:#EDEAE3;--on-ink-2:#CDC8BC;--on-ink-muted:#B8B3A8;
    --amber:#E2B056;--amber-tint:#3A2E14;
    --sh-1:0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3);
    --sh-2:0 2px 4px rgba(0,0,0,.4),0 18px 40px -18px rgba(0,0,0,.65);
  }
  html:not([data-theme="light"]) body{background:var(--ivory);color:var(--ink)}
  html:not([data-theme="light"]) .site-head{background:rgba(18,24,32,.9);border-color:rgba(237,234,227,.1);color:var(--ink)}
  html:not([data-theme="light"]) .site-head.over{background:transparent;border-color:transparent;color:#fff}
  html:not([data-theme="light"]) .site-head.over.scrolled{background:rgba(10,14,22,.92);color:var(--ink);border-color:rgba(237,234,227,.1)}
  html:not([data-theme="light"]) .btn-light{background:#EDEAE3;color:#0C1220;border-color:transparent}
  html:not([data-theme="light"]) .btn-light:hover{background:#fff;color:#0C1220}
  html:not([data-theme="light"]) .btn-accent{background:#0B6563;color:#fff}
  html:not([data-theme="light"]) .btn-accent:hover{background:#084E4C;color:#fff}
  html:not([data-theme="light"]) .btn-ink{background:#EDEAE3;color:#0C1220}
  html:not([data-theme="light"]) .btn-ink:hover{background:#fff;color:#0C1220}
  html:not([data-theme="light"]) .btn-line{border-color:var(--ink);color:var(--ink)}
  html:not([data-theme="light"]) .btn-line:hover{background:var(--ink);color:#0C1220}
  html:not([data-theme="light"]) .mega,
  html:not([data-theme="light"]) .drop,
  html:not([data-theme="light"]) .mnav{background:var(--ivory);color:var(--ink);border-color:var(--sand)}
  html:not([data-theme="light"]) .v7-card{background:#1A222C;border-color:rgba(237,234,227,.1);color:var(--ink)}
  html:not([data-theme="light"]) a.v7-card:hover{color:var(--ink);border-color:rgba(237,234,227,.22)}
  html:not([data-theme="light"]) .v7-card p,
  html:not([data-theme="light"]) .v7-svcpage .lede-p{color:var(--ink-2)}
  html:not([data-theme="light"]) .v7-card .soon{background:var(--amber-tint);color:var(--amber)}
  html:not([data-theme="light"]) .v7-home .most-asked.compact a,
  html:not([data-theme="light"]) .v7-chip{background:#1A222C;border-color:rgba(237,234,227,.14);color:var(--ink)}
  html:not([data-theme="light"]) .v7-chip.is-soon{background:transparent;color:var(--ink-2)}
  html:not([data-theme="light"]) .v7-note{background:var(--accent-tint);color:var(--ink);border-left-color:var(--accent)}
  html:not([data-theme="light"]) .v7-disclaimer{background:#2A2316;border-color:#6A5428;color:#F3E6C8}
  html:not([data-theme="light"]) .v7-disclaimer strong{color:#E2B056}
  html:not([data-theme="light"]) .v7-trust-sec{background:var(--ivory);border-color:var(--sand)}
  html:not([data-theme="light"]) .v7-trust li+li{border-color:var(--sand)}
  html:not([data-theme="light"]) .v7-trust li{color:var(--ink-2)}
  html:not([data-theme="light"]) .sub,
  html:not([data-theme="light"]) .guide,
  html:not([data-theme="light"]) input,
  html:not([data-theme="light"]) textarea,
  html:not([data-theme="light"]) select{background:var(--white);color:var(--ink);border-color:var(--sand)}
  html:not([data-theme="light"]) .status.live{background:#0B6563;color:#fff}
  html:not([data-theme="light"]) ::selection{background:#0B6563;color:#fff}
  html:not([data-theme="light"]) .btn-accent,
  html:not([data-theme="light"]) .status.live,
  html:not([data-theme="light"]) .tile-240,
  html:not([data-theme="light"]) .news{background:#0B6563;color:#fff}
}

/* ---------- breakpoints ---------- */
@media (max-width:1080px){
  .v7-svc-grid{grid-template-columns:1fr 1fr}
  .v7-hub-grid,.v7-hub-grid.four{grid-template-columns:1fr 1fr}
  .site-foot .cols.v7-cols{grid-template-columns:1fr 1fr;gap:32px}
  .nav{display:none}
  .menu-btn{display:inline-flex}
}
@media (max-width:720px){
  body{font-size:17px}
  .hero.v7-hero{height:100svh;min-height:100svh;max-height:none}
  .hero.v7-hero h1{font-size:clamp(40px,11vw,56px);max-width:12ch}
  .hero.v7-hero .credit-tag{display:none} /* credit remains in the footer */
  .v7-svc-grid,.v7-hub-grid,.v7-hub-grid.two,.v7-hub-grid.four{grid-template-columns:1fr}
  .v7-home .journey-steps.compact{grid-template-columns:1fr;gap:0}
  .v7-trust li{flex:1 1 46%;padding:8px 8px 8px 0}
  .v7-trust li+li{border-left:0;padding-left:0}
  .v7-card{min-height:0;padding:24px 22px}
  .v7-card h3{font-size:26px}
  .site-foot .cols.v7-cols{grid-template-columns:1fr}
  .v7-hubhero{padding:120px 0 48px}
  .v7-hubhero h1{font-size:clamp(40px,11vw,58px)}
}

/* v7 follow-up: visible headings (no opacity-0 reveal), compact mobile home + footer */
.v7-home .reveal,
.v7-hub .reveal,
.v7-svc .reveal{opacity:1;transform:none}
.v7-home .sec-head h2{font-size:clamp(32px,5.4vw,60px);margin:8px 0 0}
.v7-home .sec-head{margin-bottom:28px;align-items:end}
.v7-home .home-tight{padding:clamp(36px,5vw,72px) 0}

/* step descriptions must stay visible on small screens (style.css hid them) */
.v7-home ol.journey-steps.compact{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  list-style:none;margin:0;padding:0;
}
.v7-home ol.journey-steps.compact a{
  display:block;padding:16px 16px 16px;height:auto;
  background:var(--white);color:var(--ink);
  border:1px solid var(--sand);border-radius:14px;text-decoration:none;
}
.v7-home ol.journey-steps.compact p{
  display:block !important;margin:8px 0 0;font-size:14px;line-height:1.45;color:var(--ink-2)
}
.v7-home ol.journey-steps.compact h3{margin:0;font-size:22px;color:var(--ink)}

@media (max-width:800px){
  .v7-home ol.journey-steps.compact{grid-template-columns:1fr 1fr;gap:8px}
  .v7-home ol.journey-steps.compact a{padding:12px 14px}
  .v7-home ol.journey-steps.compact h3{font-size:18px}
  .v7-home ol.journey-steps.compact p{font-size:13px;line-height:1.4}
}
@media (max-width:720px){
  .v7-home .home-tight{padding:28px 0}
  .v7-home .sec-head{margin-bottom:16px}
  .v7-svc .sec-head{margin-bottom:16px}
  .v7-trust-sec{padding:14px 0}
  .v7-card{padding:18px 18px 16px;min-height:0}
  .v7-card h3{font-size:22px;margin:10px 0 6px}
  .v7-card p{font-size:14.5px;margin:0 0 10px}
  .v7-home .home-end{padding:48px 0 52px}
  .v7-home .home-end h2{font-size:clamp(32px,10vw,44px)}
  .v7-city-chips{gap:8px}
  .v7-chip{min-height:40px;padding:0 14px;font-size:14.5px}
  .site-foot{padding:36px 0 22px}
  .site-foot .cols.v7-cols{grid-template-columns:1fr 1fr;gap:22px 28px}
  .site-foot .cols.v7-cols > div:first-child{grid-column:1/-1}
  .site-foot h4{margin-bottom:8px}
  .site-foot li{margin:0 0 4px;font-size:14px}
  .site-foot .credits{margin-top:22px}
  .v7-home .most-asked.compact{margin-top:22px}
}
