:root {
  --color-ink: #171613;
  --color-ink-soft: #24221e;
  --color-paper: #f7f5f0;
  --color-white: #fdfcfa;
  --color-sand: #ebe4d6;
  --color-sand-deep: #cfbd98;
  --color-gold: #84693a;
  --color-gold-light: #d6c193;
  --color-muted: #5c574e;
  --color-muted-on-dark: #bdb6a8;
  --color-line: #dcd4c5;
  --color-line-dark: #3b3832;
  --color-confirmed: #2c6a4d;
  --color-confirmed-light: #8fcfaa;
  --color-reported: #8f6210;
  --color-reported-light: #e6c27a;
  --color-pending: #66625a;
  --color-pending-light: #b6b0a4;
  --color-whatsapp: #1d7449;
  --color-whatsapp-hover: #155a38;
  --color-stripe-a: #efe9de;
  --color-stripe-b: #e6dfd1;
  --color-canvas: #dedad2;

  --font-display: "Instrument Serif", "Georgia", "Times New Roman";
  --font-body: "Hanken Grotesk", "Helvetica Neue", "Arial";
  --font-mono: "IBM Plex Mono", "Courier New";

  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-md: 18px;
  --fs-lg: 21px;
  --fs-xl: 28px;
  --fs-2xl: 38px;
  --fs-3xl: 54px;
  --fs-display: 80px;
  --fs-logo: 27px;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 600;
  --lh-tight: 1.02;
  --lh-snug: 1.25;
  --lh-body: 1.6;
  --ls-wide: 0.14em;
  --ls-button: 0.02em;
  --ls-display: -0.01em;

  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --section-pad: var(--space-9);
  --gutter: var(--space-7);

  --container: 1280px;
  --measure: 700px;
  --header-h: 76px;
  --button-h: 52px;
  --button-sm-h: 40px;
  --input-h: 52px;
  --check: 18px;
  --dot: 8px;
  --logo-mark: 14px;
  --bullet-offset: 9px;
  --border: 1px;
  --border-strong: 2px;
  --radius: 2px;
  --radius-pill: 999px;
  --card-min: 240px;
  --field-min: 220px;
  --footer-col-min: 220px;
  --spec-label-w: 220px;
  --step-num-w: 40px;
  --hero-min: 680px;
  --hero-media-h: 440px;
  --band-h: 340px;
  --figure-h: 460px;
  --placeholder-h: 300px;
  --page-min: 100vh;
  --z-header: 10;
  --rotate-mark: 45deg;
  --stripe: 10px;

  --frame-desktop: 1440px;
  --frame-tablet: 834px;
  --frame-mobile: 390px;
  --frame-h: 1400px;
}

@media (max-width: 1024px) {
  :root {
    --fs-display: 60px;
    --fs-3xl: 44px;
    --fs-2xl: 34px;
    --section-pad: var(--space-8);
    --gutter: var(--space-6);
    --figure-h: 380px;
    --hero-media-h: 420px;
  }
}

@media (max-width: 640px) {
  :root {
    --fs-display: 44px;
    --fs-3xl: 34px;
    --fs-2xl: 30px;
    --fs-xl: 24px;
    --fs-lg: 19px;
    --fs-md: 17px;
    --fs-logo: 23px;
    --section-pad: var(--space-7);
    --gutter: var(--space-4);
    --header-h: 64px;
    --hero-media-h: 260px;
    --band-h: 200px;
    --figure-h: 240px;
    --placeholder-h: 200px;
    --button-sm-h: 38px;
  }
}

* { box-sizing: border-box; }
html, body { margin: var(--space-0); padding: var(--space-0); }
body { background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-base); line-height: var(--lh-body); }
img { display: block; max-width: 100%; }
a { color: var(--color-gold); text-underline-offset: var(--space-1); }
a:hover { color: var(--color-ink); }
p, h1, h2, h3, ul, ol, dl, dd, figure { margin: var(--space-0); }

.page { display: flex; flex-direction: column; min-height: var(--page-min); }
.page-main { display: flex; flex-direction: column; flex: 1; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); display: flex; flex-direction: column; gap: var(--space-7); }
.section { padding-block: var(--section-pad); }
.section--dark { background: var(--color-ink); color: var(--color-paper); }
.section--sand { background: var(--color-sand); }
.section--white { background: var(--color-white); }
.section-head { display: flex; flex-direction: column; gap: var(--space-4); max-width: var(--measure); }

.eyebrow { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-gold); }
.section--dark .eyebrow, .hero .eyebrow, .page-hero .eyebrow { color: var(--color-gold-light); }
.h-display { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: var(--ls-display); text-wrap: balance; }
.h-section { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: var(--fs-3xl); line-height: var(--lh-tight); letter-spacing: var(--ls-display); text-wrap: balance; }
.h-card { font-family: var(--font-body); font-weight: var(--weight-bold); font-size: var(--fs-lg); line-height: var(--lh-snug); }
.lede { font-size: var(--fs-md); color: var(--color-muted); max-width: var(--measure); text-wrap: pretty; }
.body-text { color: var(--color-muted); text-wrap: pretty; max-width: var(--measure); }
.note { font-size: var(--fs-sm); color: var(--color-muted); text-wrap: pretty; max-width: var(--measure); }
.section--dark .lede, .section--dark .body-text, .section--dark .note, .hero .lede, .page-hero .lede { color: var(--color-muted-on-dark); }
.text-link { font-weight: var(--weight-bold); }
.section--dark .text-link { color: var(--color-gold-light); }
.section--dark .text-link:hover { color: var(--color-paper); }

.button-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.button-primary, .button-secondary, .button-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--button-h); padding-inline: var(--space-6); font-family: var(--font-body); font-size: var(--fs-sm); font-weight: var(--weight-bold); letter-spacing: var(--ls-button); text-decoration: none; border: var(--border) solid transparent; border-radius: var(--radius); cursor: pointer; white-space: nowrap; }
.button-primary { background: var(--color-ink); color: var(--color-paper); border-color: var(--color-ink); }
.button-primary:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-white); }
.button-secondary { background: transparent; color: var(--color-ink); border-color: var(--color-ink); }
.button-secondary:hover { background: var(--color-ink); color: var(--color-paper); }
.button-whatsapp { background: var(--color-whatsapp); color: var(--color-white); border-color: var(--color-whatsapp); }
.button-whatsapp:hover { background: var(--color-whatsapp-hover); color: var(--color-white); }
.section--dark .button-primary, .hero .button-primary, .page-hero .button-primary { background: var(--color-sand-deep); border-color: var(--color-sand-deep); color: var(--color-ink); }
.section--dark .button-primary:hover, .hero .button-primary:hover, .page-hero .button-primary:hover { background: var(--color-paper); border-color: var(--color-paper); color: var(--color-ink); }
.section--dark .button-secondary, .hero .button-secondary, .page-hero .button-secondary { color: var(--color-paper); border-color: var(--color-paper); }
.section--dark .button-secondary:hover, .hero .button-secondary:hover, .page-hero .button-secondary:hover { background: var(--color-paper); color: var(--color-ink); }
.button-small { min-height: var(--button-sm-h); padding-inline: var(--space-4); }

.fact-tag { display: inline-flex; align-items: center; gap: var(--space-2); align-self: flex-start; font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; padding: var(--space-1) var(--space-3); border: var(--border) solid currentColor; border-radius: var(--radius-pill); white-space: nowrap; line-height: var(--lh-snug); }
.fact-tag--confirmed { color: var(--color-confirmed); }
.fact-tag--reported { color: var(--color-reported); }
.fact-tag--pending { color: var(--color-pending); }
.section--dark .fact-tag--confirmed, .hero .fact-tag--confirmed { color: var(--color-confirmed-light); }
.section--dark .fact-tag--reported, .hero .fact-tag--reported { color: var(--color-reported-light); }
.section--dark .fact-tag--pending, .hero .fact-tag--pending { color: var(--color-pending-light); }
.fact-dot { width: var(--dot); height: var(--dot); border-radius: var(--radius-pill); background: currentColor; flex-shrink: 0; }
.legend { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); align-items: center; }
.legend-item { display: flex; align-items: center; gap: var(--space-3); font-size: var(--fs-sm); color: var(--color-muted); }

.hero { display: flex; background: var(--color-ink); color: var(--color-paper); min-height: var(--hero-min); }
.hero-content { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: var(--space-6); padding: var(--space-9) var(--space-8) var(--space-9) var(--gutter); }
.hero-media { flex: 1.25 1 0; min-width: 0; display: flex; }
.hero-image { width: 100%; flex: 1; object-fit: cover; object-position: center 40%; }
.photo-caption { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--color-muted); line-height: var(--lh-snug); }
.hero .photo-caption, .page-hero .photo-caption { color: var(--color-muted-on-dark); }

.page-hero { background: var(--color-ink); color: var(--color-paper); padding-top: var(--space-8); }
.page-hero-body { display: flex; flex-direction: column; gap: var(--space-5); padding-bottom: var(--space-8); max-width: var(--container); }
.photo-band { width: 100%; height: var(--band-h); object-fit: cover; object-position: center 30%; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: var(--space-0); font-size: var(--fs-sm); color: var(--color-muted-on-dark); }
.breadcrumb-item { display: flex; gap: var(--space-2); }
.breadcrumb-link { color: var(--color-muted-on-dark); }
.breadcrumb-link:hover { color: var(--color-paper); }
.breadcrumb-sep { color: var(--color-line-dark); }

.status-row { display: flex; flex-wrap: wrap; background: var(--color-white); border-bottom: var(--border) solid var(--color-line); }
.card-status { flex: 1 1 var(--card-min); display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6) var(--gutter); border-right: var(--border) solid var(--color-line); }
.card-status-label { font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-muted); }
.card-status-value { font-size: var(--fs-md); font-weight: var(--weight-bold); line-height: var(--lh-snug); }

.spec-list { display: flex; flex-direction: column; border-top: var(--border) solid var(--color-line); }
.spec-row { display: flex; align-items: flex-start; gap: var(--space-5); padding-block: var(--space-4); border-bottom: var(--border) solid var(--color-line); }
.spec-label { flex: 0 0 var(--spec-label-w); font-weight: var(--weight-bold); }
.spec-value { flex: 1 1 0; min-width: 0; color: var(--color-muted); text-wrap: pretty; }
.spec-status { flex: 0 0 auto; display: flex; }
.section--dark .spec-list, .section--dark .spec-row { border-color: var(--color-line-dark); }
.section--dark .spec-value { color: var(--color-muted-on-dark); }

.card-row { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.card-unit { flex: 1 1 var(--card-min); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--color-white); border: var(--border) solid var(--color-line); border-radius: var(--radius); }
.card-price { font-family: var(--font-display); font-size: var(--fs-2xl); line-height: var(--lh-tight); }
.card-meta { display: flex; flex-direction: column; gap: var(--space-2); padding-top: var(--space-4); border-top: var(--border) solid var(--color-line); font-size: var(--fs-sm); color: var(--color-muted); }
.card-meta-row { display: flex; justify-content: space-between; gap: var(--space-4); }
.card-highlight { flex: 1 1 var(--card-min); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding-top: var(--space-5); border-top: var(--border-strong) solid var(--color-ink); }
.card-index { font-family: var(--font-mono); font-size: var(--fs-sm); color: var(--color-gold); }
.card-source { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--color-muted); }

.split { display: flex; gap: var(--space-8); align-items: center; }
.split--top { align-items: flex-start; }
.split-main { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.split-side { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }

.figure-photo { display: flex; flex-direction: column; gap: var(--space-2); }
.figure-image { width: 100%; height: var(--figure-h); object-fit: cover; object-position: center 25%; }

.placeholder-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-3); min-height: var(--placeholder-h); padding: var(--space-6); text-align: center; border: var(--border) dashed var(--color-sand-deep); background: repeating-linear-gradient(135deg, var(--color-stripe-a) 0 var(--stripe), var(--color-stripe-b) var(--stripe) calc(var(--stripe) * 2)); }
.placeholder-label { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-muted); max-width: var(--measure); }

.bullet-list { list-style: none; padding: var(--space-0); display: flex; flex-direction: column; gap: var(--space-4); }
.bullet-item { display: flex; gap: var(--space-3); align-items: flex-start; color: var(--color-muted); text-wrap: pretty; }
.bullet-mark { width: var(--dot); height: var(--dot); margin-top: var(--bullet-offset); background: var(--color-gold); flex-shrink: 0; }
.section--dark .bullet-item { color: var(--color-muted-on-dark); }
.section--dark .bullet-mark { background: var(--color-gold-light); }

.milestone-row { display: flex; flex-wrap: wrap; border-top: var(--border-strong) solid var(--color-ink); }
.milestone { flex: 1 1 var(--card-min); display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5) var(--space-5) var(--space-5) var(--space-0); }
.milestone-label { font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-muted); }
.milestone-value { font-family: var(--font-display); font-size: var(--fs-2xl); line-height: var(--lh-tight); }

.compare { display: flex; flex-direction: column; border-top: var(--border) solid var(--color-line); }
.compare-row { display: flex; gap: var(--space-4); padding-block: var(--space-4); border-bottom: var(--border) solid var(--color-line); }
.compare-head { font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-muted); }
.compare-cell { flex: 1 1 0; min-width: 0; color: var(--color-muted); font-size: var(--fs-sm); display: flex; flex-direction: column; gap: var(--space-1); text-wrap: pretty; }
.compare-cell--name { flex: 1.4 1 0; color: var(--color-ink); font-weight: var(--weight-bold); font-size: var(--fs-base); }
.compare-cell-label { display: none; font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); }
.compare-row--highlight { background: var(--color-sand); padding-inline: var(--space-3); }

.step-list { list-style: none; padding: var(--space-0); display: flex; flex-direction: column; gap: var(--space-5); }
.step-item { display: flex; gap: var(--space-4); align-items: flex-start; }
.step-num { flex: 0 0 var(--step-num-w); font-family: var(--font-mono); font-size: var(--fs-sm); color: var(--color-gold); padding-top: var(--space-1); }
.section--dark .step-num { color: var(--color-gold-light); }
.step-body { display: flex; flex-direction: column; gap: var(--space-1); }
.step-title { font-weight: var(--weight-bold); }

.faq-list { display: flex; flex-direction: column; border-top: var(--border) solid var(--color-line); }
.faq-item { border-bottom: var(--border) solid var(--color-line); }
.faq-q { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding-block: var(--space-5); cursor: pointer; list-style: none; font-size: var(--fs-md); font-weight: var(--weight-bold); line-height: var(--lh-snug); }
.faq-q::-webkit-details-marker { display: none; }
.faq-icon { flex-shrink: 0; font-family: var(--font-mono); font-size: var(--fs-lg); color: var(--color-gold); transition: transform 0.2s; }
.faq-item[open] .faq-icon { transform: rotate(var(--rotate-mark)); }
.faq-a { padding-bottom: var(--space-5); color: var(--color-muted); max-width: var(--measure); text-wrap: pretty; }

.form-panel { display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-7); background: var(--color-white); color: var(--color-ink); border-radius: var(--radius); }
.mockup-badge { align-self: flex-start; font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-ink); background: var(--color-sand); padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); }
.form-title { font-family: var(--font-display); font-size: var(--fs-xl); font-weight: var(--weight-regular); line-height: var(--lh-snug); }
.form-row { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.form-field { flex: 1 1 var(--field-min); min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.form-label { font-size: var(--fs-sm); font-weight: var(--weight-bold); }
.form-input { width: 100%; height: var(--input-h); padding-inline: var(--space-4); font-family: var(--font-body); font-size: var(--fs-base); color: var(--color-ink); background: var(--color-paper); border: var(--border) solid var(--color-line); border-radius: var(--radius); }
.form-input:focus { outline: var(--border-strong) solid var(--color-gold); border-color: var(--color-gold); }
.form-consent { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--fs-sm); color: var(--color-muted); }
.form-check { width: var(--check); height: var(--check); flex-shrink: 0; margin: var(--space-1) var(--space-0) var(--space-0); accent-color: var(--color-ink); }
.form-panel .button-primary { align-self: flex-start; }

.cta-band { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-5); padding: var(--space-7); background: var(--color-sand); }
.cta-band-text { display: flex; flex-direction: column; gap: var(--space-2); max-width: var(--measure); }
.disclosure { font-size: var(--fs-sm); color: var(--color-muted); padding-top: var(--space-5); border-top: var(--border) solid var(--color-line); max-width: var(--measure); }
.section--dark .disclosure { color: var(--color-muted-on-dark); border-color: var(--color-line-dark); }

.site-header { position: sticky; top: var(--space-0); z-index: var(--z-header); background: var(--color-paper); border-bottom: var(--border) solid var(--color-line); }
.header-inner { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); min-height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }
.logo { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--color-ink); }
.logo:hover { color: var(--color-ink); }
.logo-mark { width: var(--logo-mark); height: var(--logo-mark); border: var(--border-strong) solid var(--color-gold); transform: rotate(var(--rotate-mark)); flex-shrink: 0; }
.logo-text { display: flex; flex-direction: column; }
.logo-name { font-family: var(--font-display); font-size: var(--fs-logo); line-height: var(--lh-tight); white-space: nowrap; }
.logo-sub { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-gold); white-space: nowrap; }
.logo--dark { color: var(--color-paper); }
.logo--dark:hover { color: var(--color-paper); }
.logo--dark .logo-sub { color: var(--color-gold-light); }
.nav { display: flex; gap: var(--space-5); }
.nav-link { color: var(--color-ink); text-decoration: none; font-size: var(--fs-sm); font-weight: var(--weight-medium); padding-block: var(--space-2); border-bottom: var(--border-strong) solid transparent; white-space: nowrap; }
.nav-link:hover { color: var(--color-gold); }
.nav-link--active { border-bottom-color: var(--color-gold); }
.header-actions { display: flex; align-items: center; gap: var(--space-2); }
.header-call { display: none; }
.menu-toggle { display: none; align-items: center; justify-content: center; min-height: var(--button-sm-h); padding-inline: var(--space-3); font-family: var(--font-body); font-size: var(--fs-sm); font-weight: var(--weight-bold); background: transparent; color: var(--color-ink); border: var(--border) solid var(--color-line); border-radius: var(--radius); cursor: pointer; }
.mobile-menu { display: none; flex-direction: column; width: 100%; max-width: var(--container); margin-inline: auto; padding: var(--space-2) var(--gutter) var(--space-5); gap: var(--space-4); }
.mobile-link { display: flex; justify-content: space-between; padding-block: var(--space-3); border-bottom: var(--border) solid var(--color-line); color: var(--color-ink); text-decoration: none; font-size: var(--fs-md); }
.mobile-link--active { color: var(--color-gold); font-weight: var(--weight-bold); }

.site-footer { background: var(--color-ink); color: var(--color-muted-on-dark); padding-block: var(--space-8) var(--space-6); }
.footer-top { display: flex; flex-wrap: wrap; gap: var(--space-7); }
.footer-col { flex: 1 1 var(--footer-col-min); display: flex; flex-direction: column; gap: var(--space-3); }
.footer-col--wide { flex-grow: 1.6; }
.footer-heading { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-gold-light); }
.footer-link { color: var(--color-paper); text-decoration: none; }
.footer-link:hover { color: var(--color-gold-light); }
.footer-text { font-size: var(--fs-sm); text-wrap: pretty; max-width: var(--measure); }
.footer-legal { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-5); border-top: var(--border) solid var(--color-line-dark); font-size: var(--fs-xs); }

.screens-body { background: var(--color-canvas); padding: var(--space-8); display: flex; flex-direction: column; gap: var(--space-9); }
.screens-section { display: flex; flex-direction: column; gap: var(--space-6); }
.frame-row { display: flex; gap: var(--space-7); align-items: flex-start; }
.frame-card { display: flex; flex-direction: column; gap: var(--space-3); flex: none; }
.frame-label { font-family: var(--font-mono); font-size: var(--fs-sm); color: var(--color-muted); }
.frame-iframe { display: block; border: var(--space-0); background: var(--color-paper); height: var(--frame-h); }
.frame--desktop { width: var(--frame-desktop); }
.frame--tablet { width: var(--frame-tablet); }
.frame--mobile { width: var(--frame-mobile); }
.plan-panel { display: flex; flex-direction: column; gap: var(--space-7); max-width: var(--frame-desktop); padding: var(--space-8); background: var(--color-white); }

@media (max-width: 1024px) {
  .nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .mobile-menu--open { display: flex; }
  .hero { flex-direction: column; min-height: auto; }
  .hero-media { order: -1; flex: none; height: var(--hero-media-h); }
  .hero-content { padding: var(--space-8) var(--gutter); }
  .split { flex-direction: column; align-items: stretch; gap: var(--space-6); }
  .split-side--media-first { order: -1; }
  .card-status { padding: var(--space-5) var(--gutter); }
}

@media (max-width: 640px) {
  .header-enquire { display: none; }
  .header-inner { gap: var(--space-3); }
  .header-actions { gap: var(--space-1); }
  .header-actions .button-small, .menu-toggle { padding-inline: var(--space-2); }
  .header-call { display: inline-flex; }
  .logo-sub { display: none; }
  .logo-mark { display: none; }
  .hero-content { padding: var(--space-6) var(--gutter) var(--space-7); gap: var(--space-5); }
  .hero .button-row, .page-hero .button-row, .cta-band .button-row { flex-direction: column; align-items: stretch; }
  .card-status { flex-basis: 50%; padding: var(--space-4) var(--gutter); border-bottom: var(--border) solid var(--color-line); }
  .card-status-value { font-size: var(--fs-base); }
  .spec-row { flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
  .spec-label { flex: 1 1 0; }
  .spec-value { order: 3; flex-basis: 100%; }
  .compare-row--head { display: none; }
  .compare-row { flex-wrap: wrap; gap: var(--space-3) var(--space-4); padding-block: var(--space-5); }
  .compare-cell { flex: 1 1 40%; }
  .compare-cell--name { flex-basis: 100%; }
  .compare-cell-label { display: block; }
  .card-unit { padding: var(--space-5); }
  .form-panel { padding: var(--space-5); }
  .form-panel .button-primary { align-self: stretch; }
  .cta-band { padding: var(--space-5); }
  .page-hero { padding-top: var(--space-6); }
  .page-hero-body { padding-bottom: var(--space-6); }
  .milestone { flex-basis: 100%; border-bottom: var(--border) solid var(--color-line); }
}

/* ---- WordPress / Elementor integration ---- */
body.ps-site { background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-base); line-height: var(--lh-body); }
body.ps-site h1, body.ps-site h2, body.ps-site h3 { color: inherit; margin: 0; }
body.ps-site .elementor-widget:not(:last-child) { margin-block-end: 0; }
body.ps-site .e-con.ps-section, body.ps-site .e-con.ps-section > .e-con-inner { padding: 0; gap: 0; max-width: none; }
body.ps-site .elementor-widget-html, body.ps-site .elementor-widget-shortcode { width: 100%; }
html { scroll-padding-top: calc(var(--header-h) + var(--space-4)); scroll-behavior: smooth; }
.ast-container, #content > .ast-container { max-width: none; padding: 0; }
.site-header .nav ul, .mobile-menu ul, .footer-menu { list-style: none; margin: 0; padding: 0; }
.site-header .nav ul { display: flex; gap: var(--space-5); }
.mobile-menu ul { display: flex; flex-direction: column; gap: var(--space-4); }
.footer-menu { display: flex; flex-direction: column; gap: var(--space-3); }
.site-header .nav .current-menu-item > a, .site-header .nav .current_page_item > a { border-bottom-color: var(--color-gold); }
.mobile-menu .current-menu-item > a { color: var(--color-gold); font-weight: var(--weight-bold); }
.site-header .menu-toggle:hover, .site-header .menu-toggle:focus, .site-header .menu-toggle:active { background: transparent; color: var(--color-ink); border-color: var(--color-ink); box-shadow: none; }
.site-header .menu-toggle:focus-visible { outline: var(--border-strong) solid var(--color-gold); outline-offset: 2px; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

.site-footer .button-primary { background: var(--color-sand-deep); border-color: var(--color-sand-deep); color: var(--color-ink); }
.site-footer .button-primary:hover { background: var(--color-paper); border-color: var(--color-paper); color: var(--color-ink); }
#ast-scroll-top { background-color: var(--color-ink) !important; color: var(--color-paper) !important; border-radius: var(--radius) !important; }

/* About this site */
.footer-about { display: flex; flex-direction: column; gap: var(--space-3); padding-block: var(--space-6); border-top: var(--border) solid var(--color-line-dark); font-size: var(--fs-sm); max-width: 980px; }
.footer-about p:not(.footer-heading) { text-wrap: pretty; }
.site-footer .container { gap: var(--space-6); }

/* Legal pages */
.legal-prose { max-width: var(--measure); display: flex; flex-direction: column; gap: var(--space-4); color: var(--color-muted); }
.legal-prose h2 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: var(--fs-xl); line-height: var(--lh-snug); color: var(--color-ink); margin-top: var(--space-5); }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose ul { margin: 0; padding-left: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }

/* Enquiry form (WPForms inside the design's form panel) */
.form-panel .wpforms-container { margin: 0; --wpforms-button-background-color: #171613; --wpforms-button-border-color: #171613; --wpforms-button-text-color: #f7f5f0; --wpforms-button-border-radius: 2px; --wpforms-field-border-radius: 2px; --wpforms-field-background-color: #f7f5f0; --wpforms-field-border-color: #dcd4c5; --wpforms-field-text-color: #171613; --wpforms-label-color: #171613; --wpforms-label-sublabel-color: #5c574e; --wpforms-label-error-color: #a3261b; --wpforms-button-size-height: 52px; }
.form-panel div.wpforms-container-full .wpforms-form button[type=submit] { background-color: var(--color-ink) !important; border-color: var(--color-ink) !important; color: var(--color-paper) !important; }
.form-panel div.wpforms-container-full .wpforms-form button[type=submit]:hover { background-color: var(--color-gold) !important; border-color: var(--color-gold) !important; color: var(--color-white) !important; }
.form-panel .wpforms-form .wpforms-field-container { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.form-panel .wpforms-form .wpforms-field { flex: 1 1 var(--field-min); min-width: 0; padding: 0; margin: 0; }
.form-panel .wpforms-form .wpforms-field-html { flex-basis: 100%; }
.form-panel .wpforms-form .wpforms-field-label { font-family: var(--font-body); font-size: var(--fs-sm); font-weight: var(--weight-bold); color: var(--color-ink); margin: 0 0 var(--space-2); }
.form-panel .wpforms-form .wpforms-required-label { color: var(--color-gold); }
.form-panel .wpforms-form input[type=text], .form-panel .wpforms-form input[type=email], .form-panel .wpforms-form input[type=tel], .form-panel .wpforms-form select { width: 100%; max-width: 100%; height: var(--input-h); padding-inline: var(--space-4); font-family: var(--font-body); font-size: var(--fs-base); color: var(--color-ink); background-color: var(--color-paper); border: var(--border) solid var(--color-line); border-radius: var(--radius); box-shadow: none; }
.form-panel .wpforms-form input:focus, .form-panel .wpforms-form select:focus { outline: var(--border-strong) solid var(--color-gold); border-color: var(--color-gold); box-shadow: none; }
.form-panel .wpforms-form .iti { width: 100%; }
.form-panel .wpforms-form .iti input[type=tel] { padding-left: 54px; }
.form-panel .wpforms-form .ps-phone { flex-basis: 100%; }
.form-panel .ps-form-consent { margin-top: var(--space-4); }
.form-panel .wpforms-form .wpforms-field-description { font-size: var(--fs-xs); color: var(--color-muted); margin-top: var(--space-1); }
.form-panel .wpforms-form label.wpforms-error, .form-panel .wpforms-form em.wpforms-error { font-size: var(--fs-xs); color: #a3261b; margin-top: var(--space-1); }
.form-panel .wpforms-form .wpforms-error:is(input, select) { border-color: #a3261b; }
.form-panel .ps-form-consent { font-size: var(--fs-sm); color: var(--color-muted); margin: 0; }
.form-panel .wpforms-submit-container { margin-top: var(--space-5); padding: 0; }
.form-panel .wpforms-form button.wpforms-submit { display: inline-flex; align-items: center; justify-content: center; min-height: var(--button-h); padding: 0 var(--space-6); font-family: var(--font-body); font-size: var(--fs-sm); font-weight: var(--weight-bold); letter-spacing: var(--ls-button); background: var(--color-ink); color: var(--color-paper); border: var(--border) solid var(--color-ink); border-radius: var(--radius); cursor: pointer; height: auto; }
.form-panel .wpforms-form button.wpforms-submit:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-white); }
.form-panel .wpforms-confirmation-container-full { background: var(--color-sand) !important; border: 0 !important; border-left: 3px solid var(--color-confirmed) !important; color: var(--color-ink) !important; padding: var(--space-5) !important; margin: 0 !important; border-radius: var(--radius) !important; }
.form-panel:has(.wpforms-confirmation-container-full) .ps-form-consent { display: none; }
.iti__country-list { color: var(--color-ink); font-size: var(--fs-sm); }
@media (max-width: 640px) { .form-panel .wpforms-form button.wpforms-submit { width: 100%; } }

/* Popup */
.pum-overlay:has(.form-panel) { background-color: rgba(23, 22, 19, 0.72) !important; }
.pum-container:has(.form-panel) { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.pum-container .form-panel { max-height: calc(100vh - 48px); overflow-y: auto; }
@media (max-width: 680px) { .pum-container:has(.form-panel) { left: 12px !important; right: 12px !important; width: auto !important; max-width: none !important; margin-left: 0 !important; top: 12px !important; } .pum-container .form-panel { max-height: calc(100vh - 24px); } }
.pum-container .pum-close { background: var(--color-ink) !important; color: var(--color-paper) !important; border-radius: var(--radius) !important; font-family: var(--font-body) !important; font-size: 20px !important; width: 40px !important; height: 40px !important; line-height: 40px !important; top: 8px !important; right: 8px !important; box-shadow: none !important; text-shadow: none !important; padding: 0 !important; }
.ps-form-sub { font-size: var(--fs-sm); color: var(--color-muted); margin-top: calc(var(--space-3) * -1); }
