/* Ezytrail E — Red Centre. Tokens mirror design/e-redcentre/DESIGN.md. */
:root {
  --primary: #F7941D;
  --primary-hover: #E5820B;
  --on-primary: #17130F;
  --ochre: #A8432A;
  --ochre-deep: #7E2F1D;
  --on-ochre: #FFFFFF;
  --eucalyptus: #1F5552;
  --on-eucalyptus: #FFFFFF;
  --spinifex: #D9A43F;
  --night: #17130F;
  --on-night: #F6EFE6;
  --on-night-muted: #BFB3A5;
  --dust: #F6F0E8;
  --canvas: #FFFFFF;
  --ink: #17130F;
  --body: #433A33;
  --muted: #6F645A;
  --hairline: #E6DDD2;
  --error: #B3261E;
  --success: #2E7D4F;

  --r-sm: 4px; --r-md: 10px; --r-lg: 20px; --r-full: 9999px;
  --s-xs: 4px; --s-sm: 8px; --s-md: 16px; --s-lg: 24px; --s-xl: 40px; --s-xxl: 72px;
  --section: 120px;
  --gutter: 40px;
  --max: 1360px;
  --header-h: 80px;
  --shadow: 0 16px 40px rgba(23, 19, 15, 0.22);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --font: "Rubik", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 72px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
body {
  margin: 0; background: var(--canvas); color: var(--body);
  font: 400 16px/1.6 var(--font); font-feature-settings: "kern" 1;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  accent-color: var(--ochre); caret-color: var(--ochre);
}
::selection { background: var(--primary); color: var(--on-primary); }
html { scrollbar-color: #b9ab9c var(--dust); }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--dust); }
::-webkit-scrollbar-thumb { background: #b9ab9c; border-radius: 12px; border: 3px solid var(--dust); }
img, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4 { color: var(--ink); margin: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { text-decoration-color: var(--primary); }
ul, ol { margin: 0; padding: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 4px; }
.on-dark :focus-visible, .band-ochre :focus-visible, .band-euc :focus-visible, .hero :focus-visible, .footer :focus-visible { outline-color: var(--on-night); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--primary); color: var(--on-primary); padding: 12px 20px; border-radius: var(--r-full); font-weight: 700; }
.skip:focus { top: 12px; }
.icon { width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.icon-fill { fill: currentColor; stroke: none; }
.tnum { font-variant-numeric: tabular-nums; }

/* ---------- layout ---------- */
.wrap { width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--section) 0; }
.section-sm { padding: var(--s-xxl) 0; }
.band-ochre { background: var(--ochre); color: var(--on-ochre); }
.band-euc { background: var(--eucalyptus); color: var(--on-eucalyptus); }
.band-dust { background: var(--dust); color: var(--ink); }
.band-night { background: var(--night); color: var(--on-night); }
.band-euc h1, .band-night h1, .band-ochre h1, .band-ochre h2, .band-ochre h3, .band-euc h2, .band-euc h3, .band-night h2, .band-night h3, .on-dark h2, .on-dark h3 { color: inherit; }
.stack > * + * { margin-top: var(--s-md); }

/* ---------- type ---------- */
.callout { font: italic 800 clamp(44px, 5.8vw, 84px)/0.92 var(--font); letter-spacing: -0.01em; text-transform: uppercase; }
.display-lg { font: 700 clamp(34px, 3.6vw, 52px)/1.04 var(--font); letter-spacing: -0.02em; }
.display-md { font: 700 clamp(28px, 2.5vw, 36px)/1.1 var(--font); letter-spacing: -0.01em; }
.title-lg { font: 600 24px/1.25 var(--font); }
.title-md { font: 600 19px/1.3 var(--font); }
.body-lg { font-size: 18px; line-height: 1.6; }
.label { font: 500 14px/1.4 var(--font); }
.caps { font: 600 12px/1.3 var(--font); letter-spacing: 0.1em; text-transform: uppercase; }
.muted { color: var(--muted); }
.measure { max-width: 66ch; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: var(--s-xl); margin-bottom: var(--s-xl); }
.section-head p { max-width: 58ch; margin-top: var(--s-md); }
.band-ochre .muted, .band-euc .muted { color: rgba(255,255,255,0.82); }
.band-night .muted, .on-dark .muted { color: var(--on-night-muted); }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; color: var(--ink); border-bottom: 2px solid var(--primary); padding-bottom: 2px; }
.link-arrow:hover { color: var(--ochre); }
.band-ochre .link-arrow, .band-euc .link-arrow, .band-night .link-arrow, .on-dark .link-arrow { color: inherit; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 16px 28px; border-radius: var(--r-full); border: 0; font: 700 16px/1 var(--font); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .2s var(--ease-out), transform .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--primary); color: var(--on-primary); }
.btn-primary:hover { background: var(--primary-hover); }
.btn-secondary { background: var(--night); color: var(--on-night); }
.btn-secondary:hover { background: #2c251e; }
.btn-light { background: var(--canvas); color: var(--ink); }
.btn-light:hover { background: var(--dust); }
.btn-ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.btn-ghost:hover { background: var(--dust); }
.on-dark .btn-ghost, .band-night .btn-ghost, .band-ochre .btn-ghost, .band-euc .btn-ghost, .lead-panel .btn-ghost { color: var(--on-night); box-shadow: inset 0 0 0 1.5px rgba(246,239,230,.7); }
.on-dark .btn-ghost:hover, .lead-panel .btn-ghost:hover, .band-night .btn-ghost:hover, .band-ochre .btn-ghost:hover, .band-euc .btn-ghost:hover { background: rgba(255,255,255,.08); }
.btn-sm { min-height: 44px; padding: 12px 20px; font-size: 15px; }
.btn-block { width: 100%; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn .spinner { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
.textbtn { background: none; border: 0; padding: 0; cursor: pointer; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: var(--primary); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ---------- chips ---------- */
.chip { display: inline-flex; align-items: center; gap: 6px; background: var(--spinifex); color: var(--ink); font: 600 12px/1.3 var(--font); letter-spacing: .1em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--r-full); }
.tag { display: inline-flex; align-items: center; gap: 6px; font: 500 14px/1.3 var(--font); color: var(--body); }
.tag .icon { width: 18px; height: 18px; color: var(--ochre); }
.tags { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tbc { display: inline-block; font: 600 11px/1 var(--font); letter-spacing: .08em; padding: 4px 7px; border-radius: var(--r-sm); background: var(--dust); color: var(--muted); border: 1px dashed #cdbfae; vertical-align: middle; }
.band-dust .tbc { background: var(--canvas); }
.on-dark .tbc, .band-night .tbc { background: transparent; color: var(--on-night-muted); border-color: rgba(246,239,230,.35); }

/* ---------- header ---------- */
.header { position: sticky; top: 0; z-index: 50; background: var(--canvas); height: var(--header-h); border-bottom: 1px solid var(--hairline); }
.header .wrap { height: 100%; display: flex; align-items: center; gap: 28px; }
.logo { display: block; flex: none; }
.logo img { height: 42px; width: auto; }
.nav { display: flex; align-items: center; gap: 2px; height: 100%; }
.nav-item { position: relative; height: 100%; display: flex; align-items: center; }
.nav-link { display: inline-flex; align-items: center; gap: 4px; height: 44px; padding: 0 12px; border-radius: var(--r-full); border: 0; background: none; font: 500 15px/1 var(--font); color: var(--ink); text-decoration: none; cursor: pointer; white-space: nowrap; }
.nav-link .icon { width: 16px; height: 16px; transition: transform .2s var(--ease-out); }
.nav-link:hover, .nav-item.is-open > .nav-link { background: var(--dust); }
.nav-item.is-open > .nav-link .icon { transform: rotate(180deg); }
.nav-link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--primary); border-radius: 0; }
.header-right { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.phone { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ink); text-decoration: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.phone .icon { color: var(--ochre); }
.iconbtn { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-full); border: 0; background: none; color: var(--ink); cursor: pointer; text-decoration: none; }
.iconbtn:hover { background: var(--dust); }
.iconbtn .count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--night); color: var(--on-night); font: 600 11px/18px var(--font); text-align: center; }
.menu-toggle { display: none; }

/* dropdowns */
.dropdown { position: absolute; top: calc(100% - 6px); left: -8px; min-width: 280px; background: var(--canvas); border-radius: var(--r-md); box-shadow: var(--shadow); padding: 12px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s var(--ease-out), transform .18s var(--ease-out), visibility .18s; z-index: 60; }
.nav-item.is-open > .dropdown { opacity: 1; visibility: visible; transform: none; }
.dropdown a { display: block; padding: 10px 12px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); }
.dropdown a:hover { background: var(--dust); }
.dropdown a small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; margin-top: 2px; }
.dropdown .dd-group + .dd-group { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--hairline); }
.dropdown .dd-title { font: 600 13px/1.3 var(--font); color: var(--muted); padding: 8px 12px 4px; }
.dropdown.dd-wide { min-width: 560px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.dd-new { font: 600 11px/1.1 var(--font); letter-spacing: .08em; text-transform: uppercase; background: var(--spinifex); color: var(--ink); padding: 3px 6px; border-radius: 4px; margin-left: 6px; vertical-align: 2px; }

/* mega menu */
.mega { position: fixed; left: 0; right: 0; top: var(--header-h); background: var(--canvas); box-shadow: var(--shadow); border-top: 1px solid var(--hairline); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility .2s; z-index: 49; max-height: calc(100vh - var(--header-h)); overflow: auto; }
.nav-item.is-open > .mega { opacity: 1; visibility: visible; transform: none; }
.mega-grid { display: grid; grid-template-columns: 240px 1fr 340px; gap: 32px; padding: 28px 0 32px; }
.mega-types { display: flex; flex-direction: column; gap: 4px; }
.mega-type { display: flex; align-items: center; gap: 12px; text-align: left; width: 100%; padding: 10px; border-radius: var(--r-md); border: 0; background: none; cursor: pointer; color: var(--ink); }
.mega-type img { width: 64px; height: 44px; object-fit: cover; border-radius: var(--r-sm); }
.mega-type span { font: 600 16px/1.25 var(--font); }
.mega-type small { display: block; font: 400 13px/1.3 var(--font); color: var(--muted); }
.mega-type[aria-selected="true"], .mega-type:hover { background: var(--dust); }
.mega-type[aria-selected="true"] span { color: var(--ochre-deep); }
.mega-links { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--hairline); display: grid; gap: 2px; }
.mega-links a { padding: 8px 10px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); font-weight: 500; display: flex; align-items: center; gap: 8px; }
.mega-links a:hover { background: var(--dust); }
.mega-links .icon { width: 18px; height: 18px; color: var(--ochre); }
.mega-panel[hidden] { display: none; }
.mega-panel { display: grid; grid-auto-flow: column; grid-template-rows: auto; gap: 24px; align-content: start; }
.mega-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 24px; }
.mega-cols.one { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-group h3 { font: 600 13px/1.3 var(--font); color: var(--muted); padding: 6px 10px; }
.mega-model { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 10px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); }
.mega-model:hover, .mega-model.is-active { background: var(--dust); }
.mega-model b { font-weight: 500; }
.mega-model span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mega-preview { background: var(--dust); border-radius: var(--r-md); padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.mega-preview img.photo { width: 100%; aspect-ratio: 460/240; object-fit: cover; border-radius: var(--r-sm); }
.mega-preview .plan { width: 120px; mix-blend-mode: multiply; }
.mega-preview .row { display: flex; gap: 12px; align-items: center; }
.mega-preview p { font-size: 14px; line-height: 1.5; }
.mega-preview .price { font: 700 20px/1.3 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }
.mega-preview .price small { display: block; font: 400 13px/1.4 var(--font); color: var(--muted); }

/* ---------- hero (home) ---------- */
.hero { position: relative; background: var(--night); color: var(--on-night); min-height: 640px; height: calc(100vh - var(--header-h)); max-height: 860px; overflow: hidden; display: flex; flex-direction: column; }
.hero-slides { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s var(--ease-out), visibility .9s; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 7s linear; }
.hero-slide.is-active img { transform: scale(1); }
.hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,19,15,.15) 0%, rgba(23,19,15,0) 28%, rgba(23,19,15,.35) 52%, rgba(23,19,15,.86) 100%), linear-gradient(90deg, rgba(23,19,15,.55) 0%, rgba(23,19,15,0) 60%); }
.hero-copy { position: absolute; left: 0; right: 0; bottom: 232px; z-index: 2; }
.hero-text { max-width: 760px; opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease-out) .25s, transform .7s var(--ease-out) .25s; }
.hero-slide.is-active .hero-text { opacity: 1; transform: none; }
.hero-model { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-top: 18px; font: 600 18px/1.3 var(--font); color: var(--on-night); }
.hero-model a { color: var(--on-night); }
.hero-model .price { font-weight: 400; color: var(--on-night-muted); font-variant-numeric: tabular-nums; }
.hero-model .price b { color: var(--on-night); font-weight: 600; }
.hero .callout { color: var(--on-night); max-width: 14ch; }
.hero-sub { margin-top: 10px; font-size: 18px; max-width: 54ch; color: var(--on-night); }
.hero .btn-row { margin-top: 28px; }
.hero-controls { position: absolute; z-index: 3; right: var(--gutter); bottom: 168px; display: flex; align-items: center; gap: 10px; }
.hero-tabs { position: absolute; z-index: 3; left: 0; right: 0; bottom: 172px; }
.hero-tabs .wrap { padding-right: calc(var(--gutter) + 180px); }
.hero-tabs .wrap { display: flex; gap: 8px; }
.hero-tab { flex: 0 1 240px; background: none; border: 0; padding: 10px 0 0; text-align: left; color: var(--on-night-muted); cursor: pointer; font: 500 14px/1.3 var(--font); border-top: 2px solid rgba(246,239,230,.3); position: relative; }
.hero-tab::before { content: ""; position: absolute; left: 0; top: -2px; height: 2px; width: 0; background: var(--primary); }
.hero-tab.is-active { color: var(--on-night); }
.hero-tab.is-active::before { width: 100%; transition: width 8s linear; }
.hero.is-paused .hero-tab.is-active::before { width: 100%; transition: none; }
.round { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid rgba(246,239,230,.6); background: rgba(23,19,15,.25); color: var(--on-night); display: grid; place-items: center; cursor: pointer; }
.round:hover { background: rgba(23,19,15,.6); }

/* find-by-type strip */
.finder { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; }
.finder-panel { background: var(--canvas); color: var(--ink); border-radius: var(--r-lg) var(--r-lg) 0 0; padding: 18px 28px 22px; display: grid; grid-template-columns: auto auto auto 1fr; align-items: end; gap: 12px 32px; box-shadow: 0 -12px 40px rgba(23,19,15,.18); }
.finder-head { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; }
.finder h2 { font: 700 20px/1.3 var(--font); margin-bottom: 4px; }
.finder-group legend, .finder-label { font: 500 13px/1.3 var(--font); color: var(--muted); margin-bottom: 8px; padding: 0; }
.finder fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.seg { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg label { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px; border-radius: var(--r-full); border: 1.5px solid var(--hairline); background: var(--canvas); font: 500 15px/1 var(--font); cursor: pointer; white-space: nowrap; transition: border-color .15s, background-color .15s; }
.seg label:hover { border-color: #cdbfae; }
.seg input:checked + label { background: var(--night); color: var(--on-night); border-color: var(--night); }
.seg input:focus-visible + label { outline: 3px solid var(--ink); outline-offset: 2px; }
.seg label .icon { width: 18px; height: 18px; }
.finder-links { display: flex; gap: 20px; font-size: 14px; flex-wrap: wrap; }
.finder-links a { color: var(--ink); font-weight: 500; }
.finder-go { display: flex; justify-content: flex-end; }
.finder-go .btn { min-width: 220px; }
.finder-go .count { font-size: 13px; color: var(--muted); text-align: center; }

/* ---------- photo tiles (range) ---------- */
.range-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--s-xl); align-items: end; margin-bottom: 56px; }
.range-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.range-tile { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.range-tile .ph { border-radius: var(--r-md) var(--r-md) 0 0; overflow: hidden; aspect-ratio: 4/3; }
.range-tile .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.range-tile:hover .ph img { transform: scale(1.04); }
.range-tile .body { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-top: 0; border-radius: 0 0 var(--r-md) var(--r-md); padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.range-tile h2 { font: 600 22px/1.3 var(--font); }
.range-tile p { font-size: 15px; color: rgba(255,255,255,.84); }
.range-tile .meta { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: 14px; padding-top: 8px; }
.range-tile .meta b { font-variant-numeric: tabular-nums; }

/* ---------- model cards ---------- */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cards.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { background: var(--canvas); border: 1px solid var(--hairline); border-radius: var(--r-md); overflow: hidden; display: flex; flex-direction: column; color: var(--ink); }
.card .ph { position: relative; aspect-ratio: 3/2; background: var(--dust); overflow: hidden; }
.card .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
.card:hover .ph img { transform: scale(1.03); }
.card .ph .chip { position: absolute; left: 12px; top: 12px; }
.card .body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.card h3 { font: 600 20px/1.25 var(--font); }
.card h3 a { text-decoration: none; }
.card h3 a:hover { text-decoration: underline; text-decoration-color: var(--primary); }
.card .where { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); }
.card .where .icon { width: 16px; height: 16px; color: var(--eucalyptus); }
.card .facts { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; color: var(--body); }
.card .facts span { display: inline-flex; align-items: center; gap: 5px; }
.card .facts .icon { width: 16px; height: 16px; color: var(--ochre); }
.price { font-variant-numeric: tabular-nums; }
.price-now { font: 700 24px/1.1 var(--font); color: var(--ink); }
.price-was { color: var(--muted); text-decoration: line-through; font-size: 14px; }
.price-note { font-size: 13px; color: var(--muted); }
.card .pricing { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: auto; padding-top: 4px; }
.card .actions { display: grid; grid-template-columns: 1fr; gap: 6px; }
.card .actions .btn-ghost { color: var(--ink); min-height: 40px; box-shadow: none; text-decoration: underline; text-decoration-color: var(--primary); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.card .actions .btn-ghost:hover { background: var(--dust); color: var(--ink); }
.card .actions .btn { min-height: 46px; padding: 12px 16px; font-size: 15px; }

/* ---------- spec tiles ---------- */
.spec-tiles { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); gap: 12px; }
.spec-tile { background: var(--dust); border-radius: var(--r-md); padding: 20px; }
.band-dust .spec-tile { background: var(--canvas); }
.spec-tile .n { font: 800 36px/1 var(--font); color: var(--ochre-deep); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.spec-tile .n small { font-size: 16px; font-weight: 600; margin-left: 2px; }
.spec-tile .l { margin-top: 8px; font: 500 14px/1.3 var(--font); color: var(--body); }
.spec-tile .tbc { margin-top: 6px; }

/* ---------- forms ---------- */
.form { display: grid; gap: 16px; }
.form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 6px; }
.field > label, .field > .flabel { font: 500 14px/1.4 var(--font); }
.field .req { color: inherit; opacity: .7; font-weight: 400; }
.input, .select, .textarea { width: 100%; height: 52px; padding: 14px 16px; background: var(--canvas); color: var(--ink); border: 1.5px solid #d9cdbf; border-radius: var(--r-sm); font: 400 16px/1.4 var(--font); transition: border-color .15s, box-shadow .15s; }
.textarea { height: 96px; resize: vertical; }
.select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317130F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; padding-right: 44px; }
.input::placeholder, .textarea::placeholder { color: var(--muted); }
.input:hover, .select:hover { border-color: #b9ab9c; }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(247,148,29,.45); }
.field.has-error .input, .field.has-error .select { border-color: var(--error); border-width: 2px; }
.field-error { display: none; align-items: center; gap: 6px; font: 500 14px/1.4 var(--font); color: var(--error); }
.field.has-error .field-error { display: inline-flex; }
.field-error .icon { width: 16px; height: 16px; }
.band-ochre .field-error, .lead-panel .field-error { background: var(--canvas); padding: 4px 8px; border-radius: var(--r-sm); justify-self: start; }
.hint { font-size: 13px; color: var(--muted); }
.band-ochre .hint, .lead-panel .hint { color: rgba(255,255,255,.85); }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.check input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; }
.slots { display: flex; flex-wrap: wrap; gap: 6px; }
.slots input { position: absolute; opacity: 0; pointer-events: none; }
.slots label { height: 44px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: var(--r-sm); border: 1.5px solid #d9cdbf; background: var(--canvas); color: var(--ink); cursor: pointer; font-size: 15px; }
.slots input:checked + label { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: #fff7ec; }
.slots input:focus-visible + label { outline: 3px solid var(--ink); outline-offset: 2px; }
.form-note { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.form-note .icon { color: currentColor; margin-top: 1px; }
.form-alert { display: none; gap: 10px; padding: 14px 16px; border-radius: var(--r-sm); background: var(--canvas); color: var(--error); border: 1.5px solid var(--error); font: 500 14px/1.45 var(--font); }
.form.is-error .form-alert { display: flex; }
.success { display: none; background: var(--success); color: #fff; border-radius: var(--r-sm); padding: 16px; }
.success h3 { color: #fff; font: 600 20px/1.3 var(--font); display: flex; gap: 10px; align-items: center; }
.success p { margin-top: 8px; }
.success .dl { margin-top: 14px; display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--ink); padding: 12px 18px; border-radius: var(--r-full); font-weight: 700; text-decoration: none; }
.lead-form.is-success .form { display: none; }
.lead-form.is-success .success { display: block; }
.legal { font-size: 13px; line-height: 1.5; }
.legal a { color: inherit; }

/* lead panel (ochre) */
.lead-panel { background: var(--ochre); color: var(--on-ochre); border-radius: var(--r-lg); padding: 36px; }
.lead-panel h2, .lead-panel h3 { color: inherit; }
.lead-band { display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; }
.lead-band .arch { border-radius: 999px 999px var(--r-md) var(--r-md); overflow: hidden; aspect-ratio: 4/5; max-height: 640px; }
.lead-band .arch img { width: 100%; height: 100%; object-fit: cover; }
.lead-band .points { display: grid; gap: 10px; margin-top: 24px; }
.lead-band .points li { list-style: none; display: flex; gap: 10px; align-items: flex-start; }
.lead-band .points .icon { margin-top: 3px; }

/* ---------- lead dialog ---------- */
dialog.lead { margin: 0 0 0 auto; height: 100%; max-height: 100%; width: min(520px, 100%); max-width: 100%; padding: 0; border: 0; background: var(--canvas); color: var(--ink); box-shadow: var(--shadow); }
dialog.lead[open] { animation: slidein .35s var(--ease-out); }
dialog.lead::backdrop { background: rgba(23,19,15,.55); backdrop-filter: blur(2px); }
@keyframes slidein { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.lead-head { background: var(--ochre); color: var(--on-ochre); padding: 28px 32px 24px; position: relative; }
.lead-head h2 { color: inherit; font: 700 28px/1.15 var(--font); padding-right: 44px; }
.lead-head p { margin-top: 8px; color: rgba(255,255,255,.88); }
.lead-head .close { position: absolute; right: 16px; top: 16px; color: var(--on-ochre); }
.lead-head .close:hover { background: rgba(255,255,255,.12); }
.lead-tabs { display: flex; gap: 4px; margin-top: 18px; flex-wrap: wrap; }
.lead-tabs button { border: 0; background: rgba(255,255,255,.12); color: var(--on-ochre); padding: 8px 14px; border-radius: var(--r-full); font: 500 14px/1 var(--font); cursor: pointer; }
.lead-tabs button[aria-pressed="true"] { background: var(--canvas); color: var(--ink); }
.lead-body { padding: 28px 32px 40px; }
.lead-context { display: flex; gap: 14px; align-items: center; padding: 12px; background: var(--dust); border-radius: var(--r-md); margin-bottom: 20px; }
.lead-context img { width: 84px; height: 56px; object-fit: cover; border-radius: var(--r-sm); }
.lead-context b { display: block; color: var(--ink); }
.lead-context span { font-size: 14px; color: var(--muted); }
[data-mode-only] { display: none; }
.form[data-mode="viewing"] [data-mode-only="viewing"], .form[data-mode="enquire"] [data-mode-only="enquire"], .form[data-mode="finance"] [data-mode-only="finance"] { display: grid; }

/* ---------- mobile CTA bar ---------- */
.mbar { display: none; }
.mbar a, .mbar button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: var(--r-full); font: 700 15px/1 var(--font); text-decoration: none; border: 0; cursor: pointer; }
.mbar .m-ghost { background: transparent; color: var(--on-night); box-shadow: inset 0 0 0 1.5px rgba(246,239,230,.4); }
.mbar .m-primary { background: var(--primary); color: var(--on-primary); }

/* ---------- breadcrumb ---------- */
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--muted); }
.crumbs a { color: inherit; text-decoration: none; }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.crumbs li { list-style: none; display: flex; gap: 6px; align-items: center; }
.crumbs li + li::before { content: "/"; opacity: .6; }
.on-dark .crumbs, .crumbs.on-dark { color: var(--on-night-muted); }

/* ---------- model page ---------- */
.mhero { position: relative; color: var(--on-night); background: var(--night); min-height: 600px; display: flex; align-items: flex-end; overflow: hidden; }
.mhero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.mhero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,19,15,.35) 0%, rgba(23,19,15,0) 30%, rgba(23,19,15,.25) 55%, rgba(23,19,15,.85) 100%); }
.mhero .wrap { position: relative; z-index: 2; padding-bottom: 48px; padding-top: 32px; }
.mhero h1 { color: var(--on-night); }
.mhero .tagline { margin-top: 14px; font-size: 19px; max-width: 52ch; }
.mhero .tags { margin-top: 18px; }
.mhero .tags .tag { color: var(--on-night); }
.mhero .tags .tag .icon { color: var(--primary); }
.mhero-actions { position: absolute; right: var(--gutter); bottom: 48px; z-index: 3; display: flex; gap: 10px; }
.buybar { position: relative; z-index: 3; margin-top: -1px; background: var(--canvas); border-bottom: 1px solid var(--hairline); }
.buybar .wrap { display: grid; grid-template-columns: auto 1fr auto; gap: 32px; align-items: center; padding-top: 24px; padding-bottom: 24px; }
.pb-price .from { font-size: 14px; color: var(--muted); }
.pb-price .amt { font: 800 40px/1 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.pb-price .basis { font-size: 14px; color: var(--muted); margin-top: 6px; }
.pb-weekly { border-left: 1px solid var(--hairline); padding-left: 32px; white-space: nowrap; }
.pb-weekly .amt { font: 700 24px/1.1 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }
.pb-weekly a { font-size: 14px; }
.pb-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

.subnav { position: sticky; top: var(--header-h); z-index: 40; background: rgba(255,255,255,.96); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--hairline); }
.subnav .wrap { display: flex; align-items: center; gap: 24px; height: 64px; }
.subnav-name { font: 700 17px/1 var(--font); color: var(--ink); white-space: nowrap; display: none; }
.subnav-name small { font: 400 14px/1 var(--font); color: var(--muted); margin-left: 8px; font-variant-numeric: tabular-nums; }
.subnav.is-stuck .subnav-name { display: block; }
.subnav ul { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; flex: 1; }
.subnav ul::-webkit-scrollbar { display: none; }
.subnav li { list-style: none; }
.subnav li a { display: block; padding: 10px 12px; font: 500 15px/1 var(--font); color: var(--body); text-decoration: none; white-space: nowrap; border-radius: var(--r-full); }
.subnav li a:hover { color: var(--ink); background: var(--dust); }
.subnav li a.is-current { color: var(--ink); box-shadow: inset 0 -2px 0 var(--primary); border-radius: 0; }
.subnav .btn { flex: none; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.split.wide-left { grid-template-columns: 1.2fr 1fr; }
.arch-img { border-radius: 999px 999px var(--r-md) var(--r-md); overflow: hidden; aspect-ratio: 1 / 1.05; max-width: 560px; width: 100%; justify-self: center; }
.arch-img img { width: 100%; height: 100%; object-fit: cover; }
.photo { border-radius: var(--r-md); overflow: hidden; }
.photo img { width: 100%; height: 100%; object-fit: cover; }

.comfort { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 48px; }
.comfort::before, .owners::before { content: ""; grid-column: 1 / -1; height: 2px; background: var(--ink); }
.comfort > div { padding: 24px 24px 0 0; }
.comfort > div + div { padding-left: 24px; box-shadow: inset 1px 0 0 var(--hairline); }
.comfort h3 { display: flex; align-items: center; gap: 10px; font: 600 20px/1.3 var(--font); margin-bottom: 14px; }
.comfort h3 .icon { color: var(--ochre); width: 24px; height: 24px; }
.ticks li { list-style: none; position: relative; padding-left: 26px; margin-top: 8px; line-height: 1.5; }
.ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8432A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.band-ochre .ticks li::before, .band-euc .ticks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7941D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }

.pack { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px; border: 1px solid var(--hairline); border-radius: var(--r-lg); overflow: hidden; }
.pack .img { border-radius: var(--r-md); background: var(--dust); display: grid; place-items: center; padding: 24px; }
.pack .txt { padding: 48px; display: flex; flex-direction: column; gap: 18px; }
.pack .pprice { font: 800 36px/1 var(--font); color: var(--ochre-deep); font-variant-numeric: tabular-nums; }

.instock { display: grid; grid-template-columns: 360px 1fr auto; gap: 32px; align-items: center; border: 1px solid var(--hairline); border-radius: var(--r-md); padding: 16px; }
.instock .ph { border-radius: var(--r-sm); overflow: hidden; aspect-ratio: 3/2; }
.instock .ph img { width: 100%; height: 100%; object-fit: cover; }
.instock dl { display: grid; grid-template-columns: repeat(3, auto); gap: 14px 40px; margin: 14px 0 0; }
.instock dt { font-size: 13px; color: var(--muted); }
.instock dd { margin: 2px 0 0; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.instock .acts { display: grid; gap: 8px; padding-right: 8px; }
.notify { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 16px; padding: 20px 24px; border-radius: var(--r-md); background: var(--dust); }

.toggle { display: inline-flex; padding: 4px; background: var(--dust); border-radius: var(--r-full); gap: 2px; }
.toggle button { border: 0; background: none; padding: 10px 18px; border-radius: var(--r-full); font: 500 15px/1 var(--font); cursor: pointer; color: var(--body); }
.toggle button[aria-selected="true"] { background: var(--canvas); color: var(--ink); box-shadow: 0 2px 8px rgba(23,19,15,.12); }
.band-dust .toggle { background: var(--canvas); }
.band-dust .toggle button[aria-selected="true"] { background: var(--night); color: var(--on-night); box-shadow: none; }
.fp-stage { background: var(--dust); border-radius: var(--r-lg); padding: 32px; display: grid; place-items: center; min-height: 420px; }
.fp-stage img { max-height: 520px; width: auto; mix-blend-mode: multiply; }
.fp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

.tour { position: relative; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 16/9; background: #000; }
.tour img, .tour iframe, .tour video { width: 100%; height: 100%; object-fit: cover; border: 0; }
.tour .play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(23,19,15,.35); border: 0; cursor: pointer; color: var(--on-night); }
.tour .play span { display: inline-flex; align-items: center; gap: 12px; background: var(--primary); color: var(--on-primary); padding: 18px 28px; border-radius: var(--r-full); font: 700 17px/1 var(--font); box-shadow: var(--shadow); }
.media-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; }
.media-note { margin-top: 12px; font-size: 14px; display: flex; gap: 8px; align-items: center; }

.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 12px; margin-top: 28px; }
.gallery-grid figure { margin: 0; border-radius: var(--r-md); overflow: hidden; position: relative; }
.gallery-grid figure.big { grid-column: span 2; grid-row: span 2; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.gallery-grid figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 12px 10px; font-size: 13px; color: #fff; background: linear-gradient(transparent, rgba(23,19,15,.7)); opacity: 0; transition: opacity .2s; }
.gallery-grid figure:hover figcaption { opacity: 1; }
.gallery-grid [hidden] { display: none; }

.weights { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.weights.dims { grid-template-columns: repeat(5, 1fr); margin-top: 12px; }
.tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid #ddd0c1; margin-top: 40px; }
.tabs button { border: 0; background: none; padding: 14px 16px; font: 500 15px/1.3 var(--font); color: var(--body); cursor: pointer; }
.tabs button[aria-selected="true"] { color: var(--ink); box-shadow: inset 0 -3px 0 var(--primary); font-weight: 600; }
.tabs button:hover { color: var(--ink); }
.spec-table { width: 100%; border-collapse: collapse; background: var(--canvas); border-radius: 0 0 var(--r-md) var(--r-md); }
.spec-table th, .spec-table td { text-align: left; vertical-align: top; padding: 16px 20px; border-bottom: 1px solid var(--hairline); font-variant-numeric: tabular-nums; }
.spec-table th { width: 42%; font-weight: 600; color: var(--ink); }
.spec-table td { color: var(--body); }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: 0; }
.spec-panel[hidden] { display: none; }
.dl-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.dl-btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: var(--r-full); background: var(--canvas); color: var(--ink); border: 1.5px solid var(--ink); font: 600 15px/1 var(--font); cursor: pointer; }
.dl-btn:hover { background: var(--night); color: var(--on-night); }
.dl-btn .lock { font: 500 12px/1 var(--font); color: var(--muted); }
.dl-btn:hover .lock { color: var(--on-night-muted); }

.calc { display: grid; grid-template-columns: 1.1fr 1fr; gap: 8px; padding: 8px; border: 1px solid var(--hairline); border-radius: var(--r-lg); overflow: hidden; }
.calc .inputs { padding: 36px; display: grid; gap: 20px; }
.calc .out { border-radius: var(--r-md); background: var(--night); color: var(--on-night); padding: 36px; display: flex; flex-direction: column; gap: 14px; }
.calc .out .big { font: 800 56px/1 var(--font); font-variant-numeric: tabular-nums; color: var(--on-night); letter-spacing: -0.02em; }
.calc .out .big small { font-size: 20px; font-weight: 500; margin-left: 6px; color: var(--on-night-muted); }
.range { width: 100%; accent-color: var(--ochre); height: 28px; }
.calc-row { display: grid; grid-template-columns: 1fr 140px; gap: 16px; align-items: center; }
.calc-row .input { height: 46px; }
.deposit { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; margin-top: 24px; padding: 28px 32px; border: 1px solid var(--hairline); border-radius: var(--r-md); }
.deposit .amt { font: 800 32px/1 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }

.info-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.info-pair article { display: grid; gap: 16px; align-content: start; }
.info-pair .photo { aspect-ratio: 16/9; }

.review { display: grid; grid-template-columns: 160px 1fr; gap: 32px; align-items: center; }
.review .face { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; }
.review .face img { width: 100%; height: 100%; object-fit: cover; }
.review blockquote { margin: 0; font: 500 26px/1.35 var(--font); color: var(--ink); }
.review cite { display: block; margin-top: 12px; font-style: normal; color: var(--muted); }
.reviews2 { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }

.parts { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px; }
.part { border: 1px solid var(--hairline); border-radius: var(--r-md); padding: 14px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--ink); }
.part img { aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: var(--r-sm); }
.part .fit { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--success); font-weight: 500; }
.part .fit .icon { width: 15px; height: 15px; }
.part b { font-weight: 500; font-size: 15px; line-height: 1.35; }
.part .pp { font-weight: 700; font-variant-numeric: tabular-nums; margin-top: auto; }
.part:hover { border-color: #cdbfae; }

.owners { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.owners a { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px 4px 0; text-decoration: none; color: var(--ink); }
.owners a + a { padding-left: 24px; border-left: 1px solid var(--hairline); }
.owners b { display: flex; gap: 8px; align-items: center; font-weight: 600; font-size: 18px; }
.owners b .icon { color: var(--ochre); }
.owners span { color: var(--muted); font-size: 15px; }

.faq details:first-child { border-top: 1px solid var(--hairline); }
.faq details { border-bottom: 1px solid var(--hairline); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; font: 600 19px/1.35 var(--font); color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .icon { transition: transform .2s var(--ease-out); flex: none; }
.faq details[open] summary .icon { transform: rotate(45deg); }
.faq .a { padding: 0 0 24px; max-width: 72ch; display: grid; gap: 10px; }

.related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.related .card { border-color: transparent; }

/* ---------- clearance ---------- */
.page-hero { position: relative; background: var(--night); color: var(--on-night); overflow: hidden; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,19,15,.85) 0%, rgba(23,19,15,.55) 50%, rgba(23,19,15,.15) 100%); }
.page-hero .wrap { position: relative; z-index: 2; padding-top: 72px; padding-bottom: 72px; }
.page-hero h1 { color: var(--on-night); margin-top: 18px; }
.page-hero p { margin-top: 16px; max-width: 58ch; font-size: 18px; }
.page-hero .btn-row { margin-top: 28px; }

.listing { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.filters { position: sticky; top: calc(var(--header-h) + 20px); background: var(--canvas); border-radius: var(--r-md); padding: 8px 20px 20px; max-height: calc(100vh - var(--header-h) - 40px); overflow: auto; }
.filters .fhead { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--hairline); }
.filters .fhead h2 { font: 600 18px/1.3 var(--font); }
.fgroup { border: 0; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--hairline); }
.fgroup legend { font: 600 14px/1.3 var(--font); color: var(--ink); padding: 0; margin-bottom: 10px; float: left; width: 100%; }
.fgroup legend + * { clear: both; }
.fopts { display: grid; gap: 4px; }
.fopt { display: flex; align-items: center; gap: 10px; min-height: 36px; font-size: 15px; cursor: pointer; }
.fopt input { width: 18px; height: 18px; margin: 0; }
.fopt .n { margin-left: auto; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.fpills { display: flex; flex-wrap: wrap; gap: 6px; }
.fpills input { position: absolute; opacity: 0; pointer-events: none; }
.fpills label { min-width: 44px; height: 40px; padding: 0 12px; display: inline-grid; place-items: center; border-radius: var(--r-full); border: 1.5px solid var(--hairline); cursor: pointer; font-size: 14px; font-variant-numeric: tabular-nums; }
.fpills input:checked + label { background: var(--night); color: var(--on-night); border-color: var(--night); }
.fpills input:focus-visible + label { outline: 3px solid var(--ink); outline-offset: 2px; }
.minmax { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.minmax .select { height: 44px; padding: 8px 36px 8px 12px; font-size: 15px; }
.listbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.listbar .count { font: 600 20px/1.3 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }
.listbar .count span { font-weight: 400; color: var(--muted); font-size: 16px; }
.sort { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.sort .select { height: 44px; width: auto; padding: 8px 40px 8px 14px; font-size: 15px; }
.state-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.state-chips button { height: 40px; padding: 0 16px; border-radius: var(--r-full); border: 1.5px solid #ddd0c1; background: var(--canvas); font: 500 14px/1 var(--font); cursor: pointer; }
.state-chips button[aria-pressed="true"] { background: var(--night); color: var(--on-night); border-color: var(--night); }
.state-chips button span { color: var(--muted); margin-left: 4px; font-variant-numeric: tabular-nums; }
.state-chips button[aria-pressed="true"] span { color: var(--on-night-muted); }
.active-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.active-filters button { display: inline-flex; gap: 6px; align-items: center; height: 32px; padding: 0 10px 0 12px; border-radius: var(--r-full); border: 0; background: var(--canvas); font-size: 13px; cursor: pointer; box-shadow: inset 0 0 0 1px var(--hairline); }
.active-filters .icon { width: 14px; height: 14px; }
.empty { display: none; background: var(--canvas); border-radius: var(--r-md); padding: 48px; text-align: center; }
.empty.is-on { display: block; }
.empty h3 { font: 600 24px/1.25 var(--font); }
.empty p { margin: 10px auto 20px; max-width: 48ch; }
.mfilter-btn { display: none; }
.seo details { border-top: 1px solid var(--hairline); }
.seo details:last-child { border-bottom: 1px solid var(--hairline); }
.seo summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 22px 0; font: 600 20px/1.3 var(--font); color: var(--ink); }
.seo summary::-webkit-details-marker { display: none; }
.seo details[open] summary .icon { transform: rotate(45deg); }
.seo .seo-body { display: grid; grid-template-columns: 1fr 320px; gap: 40px; padding-bottom: 28px; }
.seo .seo-body p + p { margin-top: 12px; }
.seo .seo-body img { border-radius: var(--r-md); aspect-ratio: 3/2; object-fit: cover; }

/* ---------- clearance unit ---------- */
.unit { display: grid; grid-template-columns: 1fr 440px; gap: 48px; align-items: start; }
.ugallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ugallery .main { grid-column: 1 / -1; aspect-ratio: 3/2; border-radius: var(--r-md); overflow: hidden; position: relative; }
.ugallery .main img { width: 100%; height: 100%; object-fit: cover; }
.ugallery .main .chip { position: absolute; left: 16px; top: 16px; }
.ugallery button { padding: 0; border: 0; border-radius: var(--r-sm); overflow: hidden; aspect-ratio: 3/2; cursor: pointer; position: relative; background: var(--dust); }
.ugallery button img { width: 100%; height: 100%; object-fit: cover; }
.ugallery button[aria-current="true"] { outline: 3px solid var(--primary); outline-offset: 2px; }
.ugallery .gnote { grid-column: 1 / -1; font-size: 13px; color: var(--muted); }
.usummary { position: sticky; top: calc(var(--header-h) + 20px); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: 28px; display: grid; gap: 18px; background: var(--canvas); box-shadow: var(--shadow); }
.usummary h1 { font: 700 32px/1.1 var(--font); letter-spacing: -0.01em; }
.usummary .chips { display: flex; gap: 8px; flex-wrap: wrap; }
.uprice { display: grid; gap: 4px; padding: 16px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.uprice .now { font: 800 44px/1 var(--font); color: var(--ink); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.uprice .line { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; font-size: 15px; }
.facts-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 0; }
.facts-list dt { font-size: 13px; color: var(--muted); }
.facts-list dd { margin: 2px 0 0; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.showroom { display: grid; grid-template-columns: 1fr 1.3fr; gap: 0; border-radius: var(--r-lg); overflow: hidden; }
.showroom .txt { padding: 48px; display: grid; gap: 18px; align-content: start; }
.showroom .map { min-height: 420px; background: #0f3b39; }
.showroom .map iframe { width: 100%; height: 100%; min-height: 420px; border: 0; filter: saturate(.85); }
.showroom dl { margin: 0; display: grid; gap: 14px; }
.showroom dt { font-size: 13px; color: rgba(255,255,255,.75); }
.showroom dd { margin: 2px 0 0; font-weight: 500; }
.showroom a { color: inherit; }

/* ---------- home specifics ---------- */
.video-band { position: relative; min-height: 640px; display: flex; align-items: flex-end; color: var(--on-night); overflow: hidden; background: var(--night); }
.video-band video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,19,15,0) 40%, rgba(23,19,15,.8) 100%); }
.video-band .wrap { position: relative; z-index: 2; padding-top: 96px; padding-bottom: 64px; display: flex; justify-content: space-between; align-items: end; gap: 32px; }
.video-band .callout { color: var(--on-night); max-width: 12ch; }
.vctl { position: absolute; right: var(--gutter); top: 24px; z-index: 3; }

.journey { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.values { display: grid; gap: 0; }
.values li:first-child { border-top: 2px solid var(--ink); }
.values li { list-style: none; display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--hairline); align-items: center; }
.values img { width: 48px; height: 48px; }
.values b { display: block; font: 600 20px/1.3 var(--font); color: var(--ink); }
.trust { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 0; margin-top: 88px; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--hairline); }
.trust > div { padding: 32px; display: grid; gap: 12px; align-content: start; }
.trust > div + div { border-left: 1px solid var(--hairline); }
.trust .iso { padding: 0; background: var(--night); position: relative; min-height: 280px; }
.trust .iso img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trust h3 { font: 600 22px/1.25 var(--font); }
.fact-line { font: 500 15px/1.5 var(--font); color: var(--muted); }
.fact-line b { color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; }

.stock-strip .cards { grid-template-columns: repeat(4, minmax(0,1fr)); }
.stock-head-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.stock-head-chips a { height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: var(--r-full); background: var(--canvas); text-decoration: none; color: var(--ink); font: 500 14px/1 var(--font); }
.stock-head-chips a span { color: var(--muted); margin-left: 6px; font-variant-numeric: tabular-nums; }
.stock-head-chips a:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }

.showrooms { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: stretch; }
.sr-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin-top: 28px; }
.sr-list h3 { font: 600 13px/1.3 var(--font); color: var(--muted); padding: 16px 0 6px; grid-column: 1 / -1; border-bottom: 1px solid var(--hairline); }
.sr-item { padding: 12px 0; border-bottom: 1px solid var(--hairline); display: grid; gap: 2px; }
.sr-item b { color: var(--ink); font-weight: 600; }
.sr-item span { font-size: 14px; color: var(--muted); }
.sr-item a { font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; font-variant-numeric: tabular-nums; }
.postcode { display: flex; gap: 8px; margin-top: 24px; }
.postcode .input { max-width: 220px; }
.map-panel { background: var(--eucalyptus); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; color: var(--on-eucalyptus); }
.map-panel iframe { width: 100%; flex: 1; min-height: 460px; border: 0; }
.map-panel .cap { padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }

.plan-grid { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: auto auto; gap: 24px 40px; align-items: start; }
.plan-grid .plan-item:last-child { align-self: end; }
.plan-grid .feature { grid-row: span 2; display: flex; flex-direction: column; }
.plan-grid .feature .photo { aspect-ratio: 16/10; flex: none; }
.plan-item { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }
.plan-item .photo { aspect-ratio: 4/3; }
.plan-grid h3 { font: 600 24px/1.25 var(--font); margin-bottom: 10px; }
.plan-grid p { margin-bottom: 14px; }

.community { display: grid; grid-template-columns: 1fr 2.2fr; gap: 56px; }
.news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.news article { display: grid; gap: 10px; align-content: start; }
.news .ph { aspect-ratio: 3/2; border-radius: var(--r-md); overflow: hidden; }
.news .ph img { width: 100%; height: 100%; object-fit: cover; }
.news .cat { font-size: 13px; color: var(--muted); }
.news h3 { font: 600 18px/1.35 var(--font); }
.news h3 a { text-decoration: none; }
.news h3 a:hover { text-decoration: underline; text-decoration-color: var(--primary); }
.news p { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fb { display: grid; gap: 10px; margin-top: 24px; }
.fb a { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: var(--r-md); border: 1px solid var(--hairline); text-decoration: none; color: var(--ink); font-weight: 600; }
.fb a:hover { border-color: var(--ink); }
.fb .icon { color: var(--eucalyptus); }

.newsletter { position: relative; color: var(--on-night); overflow: hidden; background: var(--night); }
.newsletter > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.newsletter::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,19,15,.82) 0%, rgba(23,19,15,.55) 45%, rgba(23,19,15,.35) 100%); }
.newsletter .wrap { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 520px; gap: 48px; padding-top: 96px; padding-bottom: 96px; align-items: center; }
.newsletter .card-form { background: var(--canvas); color: var(--ink); border-radius: var(--r-lg); padding: 32px; box-shadow: var(--shadow); }
.newsletter .callout { color: var(--on-night); font-size: clamp(40px, 4.4vw, 64px); }
.radio-row { display: flex; gap: 20px; }
.radio-row label { display: flex; gap: 8px; align-items: center; }
.radio-row input { width: 18px; height: 18px; margin: 0; }

/* ---------- footer ---------- */
.footer { background: var(--night); color: var(--on-night-muted); padding: 88px 0 32px; }
.footer-top { display: grid; grid-template-columns: 1.3fr repeat(5, 1fr); gap: 32px; }
.footer h2 { font: 600 15px/1.3 var(--font); color: var(--on-night); margin-bottom: 14px; }
.footer ul li { list-style: none; }
.footer ul a { display: inline-block; padding: 5px 0; color: var(--on-night-muted); text-decoration: none; font-size: 15px; }
.footer ul a:hover { color: var(--on-night); text-decoration: underline; text-decoration-color: var(--primary); }
.footer .brand p { margin-top: 18px; font-size: 15px; max-width: 34ch; }
.footer .brand img { height: 44px; width: auto; }
.footer .social { display: flex; gap: 8px; margin-top: 18px; }
.footer .social a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--on-night); box-shadow: inset 0 0 0 1px rgba(246,239,230,.3); }
.footer .social a:hover { background: rgba(246,239,230,.08); }
.footer .call { margin-top: 24px; display: grid; gap: 4px; }
.footer .call a { font: 700 26px/1.1 var(--font); color: var(--on-night); text-decoration: none; font-variant-numeric: tabular-nums; }
.footer-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 0; margin-bottom: 56px; border-bottom: 1px solid rgba(246,239,230,.14); }
.footer-cta p { font: 600 24px/1.3 var(--font); color: var(--on-night); }
.footer-bottom { margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(246,239,230,.14); display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 14px; }
.footer-bottom a { color: var(--on-night-muted); }
.footer-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }

/* ---------- reveal (one authored moment: hero; sections fade softly) ---------- */
.reveal { opacity: 1; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; } }

/* ---------- nav.html showcase ---------- */
.show { padding: 64px 0; border-bottom: 1px solid var(--hairline); }
.show > .wrap > h2 { font: 700 28px/1.3 var(--font); }
.show > .wrap > p { margin-top: 8px; max-width: 70ch; }
.stage { margin-top: 28px; background: var(--dust); border-radius: var(--r-lg); padding: 28px; position: relative; overflow: hidden; }
.stage.plain { background: none; padding: 16px; }
.static .dropdown, .static .mega { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: var(--shadow); }
.static .mega { border-radius: var(--r-md); }
.state-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; align-items: start; max-width: 1100px; }
.state-grid > div > .caps { display: block; margin-bottom: 10px; color: var(--muted); }
.phone-frame { width: 390px; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--hairline); background: var(--canvas); box-shadow: var(--shadow); position: relative; }

/* ---------- responsive ---------- */
@media (max-width: 1460px) {
  .nav-link { padding: 0 9px; }
  .header .wrap { gap: 18px; }
  .header-right { gap: 8px; }
}
@media (max-width: 1300px) {
  .nav-link { padding: 0 8px; font-size: 14.5px; }
  .header-right .phone span { display: none; }
}
@media (max-width: 1180px) {
  :root { --gutter: 28px; --section: 96px; }
  .nav, .header-right .phone, .header-right .cart { display: none; }
  .menu-toggle { display: inline-grid; }
  .finder-panel { grid-template-columns: 1fr 1fr; }
  .range-grid, .cards.four, .stock-strip .cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .spec-tiles { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .parts { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer-top { grid-template-columns: repeat(3, 1fr); }
  .unit { grid-template-columns: 1fr; }
  .usummary { position: static; }
  .listing { grid-template-columns: 1fr; }
  .filters { position: static; max-height: none; display: none; }
  .filters.is-open { display: block; }
  .mfilter-btn { display: inline-flex; }
}
@media (max-width: 900px) {
  :root { --gutter: 16px; --section: 72px; --header-h: 64px; }
  body { padding-bottom: 72px; }
  .logo img { height: 34px; }
  .header-right .btn { display: none; }
  .mbar { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; height: 72px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--night); color: var(--on-night); box-shadow: 0 -8px 24px rgba(23,19,15,.25); }
  .mbar a, .mbar button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: var(--r-full); font: 700 15px/1 var(--font); text-decoration: none; border: 0; cursor: pointer; }
  .mbar .m-ghost { background: transparent; color: var(--on-night); box-shadow: inset 0 0 0 1.5px rgba(246,239,230,.4); }
  .mbar .m-primary { background: var(--primary); color: var(--on-primary); }
  .hero { height: auto; max-height: none; min-height: 0; }
  .hero-slides { position: relative; height: 560px; }
  .hero-copy { bottom: 64px; }
  .hero-tabs { bottom: 18px; }
  .hero-tabs .wrap { gap: 6px; padding-right: var(--gutter); }
  .hero-tab { font-size: 12px; }
  .hero-controls { display: none; }
  .hero-sub { font-size: 16px; }
  .hero .btn-row .btn { flex: 1; padding: 16px 18px; }
  .finder { position: relative; }
  .finder-panel { grid-template-columns: 1fr; gap: 18px; border-radius: 0; padding: 22px 16px; box-shadow: none; }
  .finder-links { flex-wrap: wrap; }
  .range-intro, .journey, .split, .split.wide-left, .lead-band, .showrooms, .community, .newsletter .wrap, .media-grid, .info-pair, .reviews2, .pack, .calc, .showroom, .plan-grid { grid-template-columns: 1fr; }
  .range-grid, .cards, .cards.four, .stock-strip .cards, .related, .news { grid-template-columns: 1fr; }
  .lead-band .arch { max-height: 380px; aspect-ratio: 4/3; }
  .spec-tiles { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .spec-tile .n { font-size: 30px; }
  .weights, .weights.dims { grid-template-columns: repeat(2, 1fr); }
  .comfort { grid-template-columns: 1fr 1fr; }
  .comfort > div + div { box-shadow: none; padding-left: 0; }
  .comfort > div:nth-child(even) { padding-left: 16px; box-shadow: inset 1px 0 0 var(--hairline); }
  .parts { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .owners { grid-template-columns: 1fr; }
  .owners a + a { border-left: 0; padding-left: 0; border-top: 1px solid var(--hairline); }
  .trust { grid-template-columns: 1fr; }
  .trust > div + div { border-left: 0; border-top: 1px solid var(--hairline); }
  .trust .iso { aspect-ratio: 16/9; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 140px; }
  .instock { grid-template-columns: 1fr; }
  .instock dl { grid-template-columns: 1fr 1fr; }
  .notify, .deposit { grid-template-columns: 1fr; display: grid; }
  .buybar .wrap { grid-template-columns: 1fr 1fr; gap: 16px; }
  .pb-actions { grid-column: 1 / -1; justify-content: stretch; }
  .pb-actions .btn { flex: 1; }
  .pb-weekly { padding-left: 16px; }
  .pb-price .amt { font-size: 32px; }
  .mhero { min-height: 480px; }
  .mhero-actions { position: static; margin-top: 18px; }
  .subnav-name, .subnav .btn { display: none !important; }
  .section-head { flex-direction: column; align-items: start; gap: 16px; }
  .plan-item { grid-template-columns: 120px 1fr; gap: 16px; }
  .review { grid-template-columns: 96px 1fr; gap: 18px; }
  .review .face { width: 96px; height: 96px; }
  .review blockquote { font-size: 20px; }
  .seo .seo-body { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer .brand { grid-column: 1 / -1; }
  .footer-cta { flex-direction: column; align-items: start; }
  .form .row2 { grid-template-columns: 1fr; }
  .lead-panel, .pack .txt, .calc .inputs, .calc .out, .showroom .txt { padding: 24px; }
  .calc .out .big { font-size: 44px; }
  .calc-row { grid-template-columns: 1fr 120px; }
  .sr-list { grid-template-columns: 1fr; }
  .facts-list { grid-template-columns: 1fr 1fr; }
  .state-grid { grid-template-columns: 1fr; }
  .lead-head, .lead-body { padding-left: 20px; padding-right: 20px; }
  .usummary h1 { font-size: 28px; }
  .tabs { flex-wrap: nowrap; overflow-x: auto; }
  .tabs button { white-space: nowrap; }
  .spec-table th, .spec-table td { display: block; width: auto; padding: 4px 16px; border: 0; }
  .spec-table th { padding-top: 14px; }
  .spec-table tr { display: block; border-bottom: 1px solid var(--hairline); padding-bottom: 12px; }
}

/* mobile nav drawer */
.mnav { position: fixed; inset: var(--header-h) 0 0 0; background: var(--canvas); z-index: 55; overflow: auto; padding: 8px 16px 120px; display: none; }
.mnav.is-open { display: block; }
.mnav details { border-bottom: 1px solid var(--hairline); }
.mnav summary, .mnav > a { display: flex; justify-content: space-between; align-items: center; min-height: 56px; font: 600 18px/1.3 var(--font); color: var(--ink); text-decoration: none; list-style: none; cursor: pointer; }
.mnav > a { border-bottom: 1px solid var(--hairline); }
.mnav summary::-webkit-details-marker { display: none; }
.mnav details[open] summary .icon { transform: rotate(180deg); }
.mnav .sub { padding: 0 0 14px; display: grid; gap: 2px; }
.mnav .sub a { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: var(--r-sm); text-decoration: none; color: var(--body); }
.mnav .sub a span { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.mnav .sub .mgroup { font: 600 13px/1.3 var(--font); color: var(--muted); padding: 10px 12px 2px; }
.mnav .mnav-cta { display: grid; gap: 10px; margin-top: 24px; }
dialog.lead .row2[data-mode-only="viewing"] { grid-template-columns: 1fr 1.55fr; }
dialog.lead .slots label, .lead-panel .slots label { padding: 0 11px; font-size: 14px; }
@media (max-width: 900px) { dialog.lead .row2[data-mode-only="viewing"] { grid-template-columns: 1fr; } }

.notify-panel { grid-template-columns: 1fr 1.1fr; gap: 48px; padding: 56px; }
.seo summary { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .notify-panel { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .mhero { flex-direction: column; align-items: stretch; justify-content: flex-end; }
  .mhero .wrap { padding-bottom: 20px; }
  .mhero-actions { padding: 0 var(--gutter) 28px; margin-top: 0; }
  .mhero .tags { gap: 6px 14px; }
  .mbar { grid-template-columns: 0.8fr 1fr 1.45fr; gap: 6px; padding-left: 10px; padding-right: 10px; }
  .mbar a, .mbar button { font-size: 14px; }
  .mbar .m-primary .icon { display: none; }
}
.header .mega .mega-grid { display: grid; height: auto; align-items: start; gap: 32px; padding: 28px var(--gutter) 32px; }
.mega-panel { grid-auto-flow: row; }
.stage .header { position: relative; }
.stage .header .wrap { padding: 0 20px; gap: 14px; }
.stage .header .nav-link { padding: 0 7px; font-size: 14px; }
.stage .header .phone span { display: none; }
.phone-frame .mbar .m-primary .icon { display: none; }
.phone-frame .mbar a, .phone-frame .mbar button { font-size: 14px; }
.map-panel .link-arrow { color: inherit; }
