/* ==========================================================================
   Move to Costa Blanca — design tokens + base + components
   ========================================================================== */
:root, [data-theme="dark"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.82rem + 0.3vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.35rem);
  --text-2xl: clamp(2.2rem, 1.2rem + 3vw, 4.4rem);

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;

  /* Surfaces — deep navy/charcoal, warm undertone */
  --color-bg: #10161a;
  --color-surface: #161d22;
  --color-surface-2: #1c242b;
  --color-surface-3: #232c34;
  --color-border: #33424c;
  --color-divider: #232c33;

  /* Text */
  --color-text: #f4efe4;
  --color-text-muted: #b7c2c7;
  --color-text-faint: #7d8a90;
  --color-text-inverse: #10161a;

  /* Accents — Mediterranean palette */
  --color-primary: #5aa7ba;        /* sea blue */
  --color-primary-hover: #79bccd;
  --color-terracotta: #c97a4a;
  --color-terracotta-hover: #d68f61;
  --color-gold: #e3ac47;
  --color-gold-hover: #edc06a;
  --color-navy: #1c2e38;

  --radius-sm: .375rem; --radius-md: .5rem; --radius-lg: .875rem; --radius-xl: 1.35rem; --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.22);
  --shadow-md: 0 12px 28px rgba(0,0,0,.32);
  --shadow-lg: 0 24px 56px rgba(0,0,0,.42);

  --font-display: 'Erode', Georgia, serif;
  --font-body: 'General Sans', 'Helvetica Neue', Arial, sans-serif;
  --content-default: 1140px;
  --content-narrow: 720px;

  --coastal-gradient: linear-gradient(90deg, var(--color-terracotta) 0 26%, var(--color-gold) 26% 50%, var(--color-primary) 50% 76%, var(--color-navy) 76% 100%);
}

[data-theme="light"] {
  --color-bg: #f8f4ec;
  --color-surface: #ffffff;
  --color-surface-2: #f4eee2;
  --color-surface-3: #ede4d3;
  --color-border: #ddd1ba;
  --color-divider: #e7ddca;
  --color-text: #221d16;
  --color-text-muted: #625748;
  --color-text-faint: #8b8071;
  --color-text-inverse: #f8f4ec;
  --color-primary: #1d7186;
  --color-primary-hover: #155A6B;
  --color-terracotta: #ab5a2f;
  --color-terracotta-hover: #8f4923;
  --color-gold: #a97a0a;
  --color-gold-hover: #8c6608;
  --color-navy: #1c2e38;
  --shadow-sm: 0 1px 2px rgba(30,20,10,.08);
  --shadow-md: 0 12px 28px rgba(30,20,10,.10);
  --shadow-lg: 0 24px 56px rgba(30,20,10,.14);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-size-adjust: none; scroll-padding-top: 6rem; hanging-punctuation: first last;
  overflow-x: hidden;
}
body {
  overflow-x: hidden; min-height: 100dvh; font-family: var(--font-body); font-size: var(--text-base); line-height: 1.65; color: var(--color-text);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-gold) 10%, transparent), transparent 30%),
    radial-gradient(circle at 0% 25%, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 28%),
    var(--color-bg);
}
img, picture, video, svg { display:block; max-width:100%; height:auto; }
a, button, input, textarea, select { transition: 180ms cubic-bezier(.16,1,.3,1); }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:0; background:none; font: inherit; color: inherit; }
ul[role="list"], ol[role="list"] { list-style:none; }
h1,h2,h3,h4,h5,h6 { text-wrap: balance; line-height:1.15; }
p, li, figcaption { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; border-radius: var(--radius-sm); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border-width:0; }
.skip-link {
  position:absolute; left:1rem; top:-3rem; background:var(--color-primary); color:var(--color-text-inverse);
  padding:.6rem 1rem; border-radius: var(--radius-md); z-index:100; transition: top .2s ease;
}
.skip-link:focus { top: 1rem; }

.container { width:min(calc(100% - 2rem), var(--content-default)); margin-inline:auto; }
.container-narrow { width:min(calc(100% - 2rem), var(--content-narrow)); margin-inline:auto; }
.section { padding-block: clamp(var(--space-12), 8vw, var(--space-24)); position:relative; }
.section-tight { padding-block: clamp(var(--space-8), 5vw, var(--space-16)); position:relative; }
.eyebrow { font-size: var(--text-xs); letter-spacing:.16em; text-transform:uppercase; color: var(--color-text-muted); font-weight:600; }
.section h2 { font-family: var(--font-display); font-size: var(--text-xl); line-height:1.08; margin: var(--space-3) 0 var(--space-4); }
.section p.lede { max-width: 68ch; color: var(--color-text-muted); }
.section-highlight { background: linear-gradient(135deg, color-mix(in srgb, var(--color-terracotta) 5%, var(--color-surface)), color-mix(in srgb, var(--color-gold) 6%, var(--color-surface-2))); }

/* ---------- Header / Nav ---------- */
.site-header {
  position: sticky; top:0; z-index:40; backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--color-bg) 88%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; gap: var(--space-4); padding: var(--space-3) 0; width:min(calc(100% - 2rem), 1400px); }
.brand { display:flex; align-items:center; gap: var(--space-3); }
.brand-mark { width:40px; height:40px; flex-shrink:0; border-radius:50%; box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-text) 14%, transparent); }
.brand-name { font-size: var(--text-sm); font-weight:700; font-family: var(--font-display); letter-spacing: .01em; white-space:nowrap; }
.brand-sub { font-size: var(--text-xs); color: var(--color-text-muted); }
.main-nav { display:flex; align-items:center; gap: var(--space-4); }
.nav-link { font-size: var(--text-sm); color: var(--color-text-muted); font-weight:500; white-space:nowrap; }
.nav-link:hover, .nav-link:focus-visible { color: var(--color-text); }
.nav-link.is-active { color: var(--color-text); }
.header-actions { display:flex; align-items:center; gap: var(--space-3); }
.nav-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; border-radius: var(--radius-md); }
.nav-toggle:hover { background: var(--color-surface-2); }
.market-select { position:relative; }
.market-btn {
  display:inline-flex; align-items:center; gap:.4rem; font-size: var(--text-xs); font-weight:600; color: var(--color-text-muted);
  border:1px solid color-mix(in srgb, var(--color-text) 16%, transparent); border-radius: var(--radius-full); padding:.5rem .9rem;
  white-space:nowrap;
}
.market-btn:hover { color: var(--color-text); background: var(--color-surface-2); }
.market-panel {
  position:absolute; right:0; top:calc(100% + .5rem); width: 260px; background: var(--color-surface); border:1px solid var(--color-border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-3); display:none; z-index:60;
}
.market-panel.is-open { display:block; }
.market-option { display:flex; flex-direction:column; padding: var(--space-3); border-radius: var(--radius-md); }
.market-option:hover { background: var(--color-surface-2); }
.market-option strong { font-size: var(--text-sm); }
.market-option span { font-size: var(--text-xs); color: var(--color-text-muted); margin-top:.15rem; }
.market-option[aria-disabled="true"] { opacity:.55; cursor:default; }
.theme-toggle { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius: var(--radius-full); border:1px solid color-mix(in srgb, var(--color-text) 14%, transparent); }
.theme-toggle:hover { background: var(--color-surface-2); }

/* ---------- Buttons ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:.95rem 1.4rem; border-radius: var(--radius-full); font-size: var(--text-sm); font-weight:600; }
.btn-primary { background: var(--color-primary); color: var(--color-text-inverse); box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: var(--color-primary-hover); transform: translateY(-1px); }
.header-cta { white-space:nowrap; padding-inline: 1.1rem; }
.btn-secondary { background:transparent; border:1px solid color-mix(in srgb, var(--color-text) 18%, transparent); color: var(--color-text); }
.btn-secondary:hover { background: var(--color-surface-2); }
.btn-terracotta { background: var(--color-terracotta); color: var(--color-text-inverse); }
.btn-terracotta:hover { background: var(--color-terracotta-hover); transform: translateY(-1px); }
.btn-block { width:100%; }
.btn-sm { min-height:40px; padding:.6rem 1.1rem; font-size: var(--text-xs); }

/* ---------- Hero ---------- */
.hero { padding-block: clamp(var(--space-12), 10vw, var(--space-20)); position:relative; overflow:clip; isolation:isolate; }
.hero-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: var(--space-8); align-items:center; position:relative; z-index:1; }
.hero-copy { max-width: 42rem; }
.hero-copy h1 {
  font-family: var(--font-display); font-size: var(--text-2xl); line-height:1; letter-spacing:-.02em;
  margin: var(--space-4) 0 var(--space-5);
}
.hero-copy p { max-width: 54ch; color: var(--color-text-muted); }
.hero-audience { display:flex; flex-wrap:wrap; gap: var(--space-3); margin: var(--space-6) 0; }
.hero-actions { display:flex; flex-wrap:wrap; gap: var(--space-3); margin-top: var(--space-6); }
.hero-media {
  position:relative; border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-lg);
  border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent); aspect-ratio: 4/3.1;
}
.hero-media img { width:100%; height:100%; object-fit:cover; }
.hero-media::after { content:""; position:absolute; inset:auto 0 0 0; height:8px; background: var(--coastal-gradient); }
.page-hero { padding-block: clamp(var(--space-10), 7vw, var(--space-16)); border-bottom:1px solid var(--color-divider); }
.page-hero .eyebrow { margin-bottom: var(--space-3); }
.page-hero h1 { font-family: var(--font-display); font-size: var(--text-xl); max-width: 26ch; margin-bottom: var(--space-4); }
.page-hero p.lede { max-width: 64ch; color: var(--color-text-muted); }
.breadcrumbs { font-size: var(--text-xs); color: var(--color-text-faint); margin-bottom: var(--space-4); display:flex; gap:.4rem; flex-wrap:wrap; }
.breadcrumbs a { color: var(--color-text-muted); }
.breadcrumbs a:hover { color: var(--color-primary); }

/* ---------- Cards ---------- */
.card {
  background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2));
  border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent); border-radius: var(--radius-xl);
  padding: clamp(var(--space-6), 3vw, var(--space-8)); box-shadow: var(--shadow-sm);
}
.trust-panel {
  background: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, transparent), color-mix(in srgb, var(--color-surface-3) 96%, transparent));
  border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent); border-radius: var(--radius-xl);
  padding: clamp(var(--space-6), 4vw, var(--space-10)); box-shadow: var(--shadow-md); position:relative; overflow:hidden;
}
.trust-point { padding-bottom: var(--space-4); margin-bottom: var(--space-4); border-bottom:1px solid var(--color-divider); }
.trust-point:last-child { border-bottom:0; padding-bottom:0; margin-bottom:0; }
.trust-point strong { display:block; margin-bottom:.3rem; color: var(--color-terracotta); }
.coastal-band { position:absolute; inset:auto 0 0 0; height:8px; background: var(--coastal-gradient); opacity:.95; }

.grid-2 { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-4); }
.grid-3 { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-5); }
.split { display:grid; grid-template-columns: 1.05fr .95fr; gap: var(--space-8); align-items:center; }
.split.reverse { grid-template-columns: .95fr 1.05fr; }
.split-media { border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-md); border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent); }
.split-media img { width:100%; height:100%; object-fit:cover; }

.service-card { position:relative; overflow:hidden; }
.service-card::before { content:""; position:absolute; inset:0 auto 0 0; width:6px; background: var(--coastal-gradient); }
.service-card h3 { font-size: var(--text-lg); margin-bottom: var(--space-2); }
.service-card p { color: var(--color-text-muted); }
.service-card small { display:inline-block; margin-top: var(--space-4); color: var(--color-primary); font-weight:600; font-size: var(--text-xs); text-transform:uppercase; letter-spacing:.06em; }

.area-card { position:relative; overflow:hidden; padding:0; }
.area-card img { width:100%; aspect-ratio: 4/3; object-fit:cover; }
.area-card-body { padding: var(--space-5) var(--space-6) var(--space-6); }
.area-card h3 { font-size: var(--text-lg); font-family: var(--font-display); margin-bottom: var(--space-2); }
.area-card p { color: var(--color-text-muted); font-size: var(--text-sm); }
.area-card a.card-link { position:absolute; inset:0; }
.tag-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top: var(--space-3); }
.tag { font-size: var(--text-xs); padding:.25rem .6rem; border-radius: var(--radius-full); background: color-mix(in srgb, var(--color-primary) 16%, transparent); color: var(--color-primary); font-weight:600; }
.tag.gold { background: color-mix(in srgb, var(--color-gold) 20%, transparent); color: var(--color-gold); }
.tag.terracotta { background: color-mix(in srgb, var(--color-terracotta) 18%, transparent); color: var(--color-terracotta); }

.who-grid { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.who-card { text-align:center; padding: var(--space-5) var(--space-3); }
.who-card .icon { width:48px; height:48px; margin:0 auto var(--space-3); color: var(--color-primary); }
.who-card h3 { font-size: var(--text-base); margin-bottom:.25rem; }
.who-card p { font-size: var(--text-xs); color: var(--color-text-muted); }

.process-list { display:grid; gap: var(--space-4); margin-top: var(--space-8); }
.process-item { display:grid; grid-template-columns:auto 1fr; gap: var(--space-4); align-items:start; }
.process-number {
  width:2.35rem; height:2.35rem; border-radius:50%; display:grid; place-items:center; font-size:var(--text-sm); font-weight:700;
  background: linear-gradient(145deg, color-mix(in srgb, var(--color-gold) 35%, var(--color-surface)), color-mix(in srgb, var(--color-terracotta) 20%, var(--color-surface-2)));
  color: var(--color-terracotta); border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
}
.process-item h3 { font-size: var(--text-base); margin-bottom:.2rem; }
.process-item p { color: var(--color-text-muted); font-size: var(--text-sm); }

.stat-row { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.stat-card { text-align:center; }
.stat-card strong { display:block; font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-gold); }
.stat-card span { font-size: var(--text-xs); color: var(--color-text-muted); }

.callout { border-left: 3px solid var(--color-terracotta); padding: var(--space-4) var(--space-5); background: color-mix(in srgb, var(--color-terracotta) 6%, var(--color-surface)); border-radius: var(--radius-md); margin-block: var(--space-6); }
.callout p { color: var(--color-text-muted); font-size: var(--text-sm); }
.callout strong { color: var(--color-text); }

/* ---------- Table (comparisons) ---------- */
.compare-table-wrap { overflow-x:auto; margin-top: var(--space-8); border-radius: var(--radius-lg); border:1px solid var(--color-border); }
table.compare-table { width:100%; border-collapse:collapse; min-width: 640px; }
.compare-table th, .compare-table td { text-align:left; padding: var(--space-4); font-size: var(--text-sm); border-bottom:1px solid var(--color-divider); vertical-align:top; }
.compare-table th { background: var(--color-surface-2); font-family: var(--font-display); font-size: var(--text-base); }
.compare-table td:first-child, .compare-table th:first-child { color: var(--color-text-muted); font-weight:600; width:22%; }
.compare-table tr:last-child td { border-bottom:0; }

/* ---------- FAQ ---------- */
.faq-list { max-width: 66ch; margin-top: var(--space-8); display:flex; flex-direction:column; gap: var(--space-3); }
.faq-item { border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent); border-radius: var(--radius-lg); background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2)); box-shadow: var(--shadow-sm); overflow:hidden; }
.faq-item summary { cursor:pointer; list-style:none; padding: var(--space-4) var(--space-5); display:flex; align-items:center; justify-content:space-between; gap: var(--space-4); font-weight:600; font-size: var(--text-base); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; flex-shrink:0; font-size:1.4rem; line-height:1; color: var(--color-primary); transition: transform .2s ease; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .faq-answer { padding: 0 var(--space-5) var(--space-5); color: var(--color-text-muted); }
.faq-item .faq-answer a { color: var(--color-primary); }

/* ---------- Forms ---------- */
form { display:grid; gap: var(--space-4); }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap: var(--space-4); }
label { font-size: var(--text-sm); font-weight:600; display:block; }
label .req { color: var(--color-terracotta); }
input, textarea, select {
  width:100%; margin-top: var(--space-2); border:1px solid color-mix(in srgb, var(--color-text) 16%, transparent); background: var(--color-surface);
  color: var(--color-text); border-radius: var(--radius-md); padding:.9rem 1rem; min-height:48px; font-size: var(--text-base);
}
select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23b7c2c7' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position: right 1rem center; padding-right:2.5rem; }
textarea { min-height:130px; resize:vertical; }
fieldset { border:1px solid var(--color-divider); border-radius: var(--radius-md); padding: var(--space-4); }
legend { font-size: var(--text-sm); font-weight:600; padding: 0 .4rem; }
.radio-row, .check-row { display:flex; flex-wrap:wrap; gap: var(--space-4); margin-top: var(--space-2); }
.radio-item, .check-item { display:flex; align-items:center; gap:.5rem; font-size: var(--text-sm); font-weight:400; }
.radio-item input, .check-item input { width:auto; min-height:auto; margin-top:0; }
.consent-row { display:flex; gap:.6rem; align-items:flex-start; font-size: var(--text-xs); color: var(--color-text-muted); }
.consent-row input { width:auto; min-height:auto; margin-top:.2rem; }
.form-note { font-size: var(--text-xs); color: var(--color-text-faint); }
.form-status { font-size: var(--text-sm); min-height:1.5em; }
.form-status.ok { color: var(--color-primary); }
.form-status.err { color: var(--color-terracotta); }
.contact-panel {
  background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2)); border-radius: var(--radius-xl);
  padding: clamp(var(--space-6), 4vw, var(--space-8)); border:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
  box-shadow: var(--shadow-sm); position:relative; overflow:hidden;
}
.contact-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:8px; background: var(--coastal-gradient); }
.honeypot { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ---------- Guides / Blog ---------- */
.guide-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.guide-grid.feature-grid { grid-template-columns: 1.4fr 1fr 1fr; }
.guide-card { overflow:hidden; padding:0; display:flex; flex-direction:column; }
.guide-card img { aspect-ratio:16/10; object-fit:cover; width:100%; }
.guide-card-body { padding: var(--space-5) var(--space-6) var(--space-6); flex:1; display:flex; flex-direction:column; }
.guide-card .eyebrow { margin-bottom: var(--space-2); }
.guide-card h3 { font-family: var(--font-display); font-size: var(--text-lg); margin-bottom: var(--space-2); }
.guide-card p { color: var(--color-text-muted); font-size: var(--text-sm); flex:1; }
.guide-card .read-more { margin-top: var(--space-4); font-size: var(--text-sm); font-weight:600; color: var(--color-primary); }
article.prose { max-width: 68ch; margin-inline:auto; }
article.prose h2 { font-family: var(--font-display); font-size: var(--text-lg); margin: var(--space-8) 0 var(--space-3); }
article.prose p { color: var(--color-text-muted); margin-bottom: var(--space-4); }
article.prose ul, article.prose ol { color: var(--color-text-muted); margin: 0 0 var(--space-4) var(--space-5); }
article.prose li { margin-bottom: var(--space-2); }
article.prose a { color: var(--color-primary); text-decoration:underline; text-underline-offset:.2em; }
.article-meta { display:flex; gap: var(--space-3); flex-wrap:wrap; font-size: var(--text-xs); color: var(--color-text-faint); margin-bottom: var(--space-6); }
.source-list { font-size: var(--text-xs); color: var(--color-text-faint); margin-top: var(--space-10); border-top:1px solid var(--color-divider); padding-top: var(--space-4); }
.source-list a { color: var(--color-text-muted); }

/* ---------- Footer ---------- */
.footer { padding: var(--space-16) 0 var(--space-10); border-top:1px solid var(--color-divider); color: var(--color-text-muted); font-size: var(--text-sm); position:relative; }
.footer::before { content:""; position:absolute; inset:0 0 auto 0; height:8px; background: var(--coastal-gradient); opacity:.9; }
.footer-grid { display:grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: var(--space-8); }
.footer-brand p { max-width:34ch; margin-top: var(--space-3); font-size: var(--text-sm); }
.footer-contact { margin-top: var(--space-4); display:flex; flex-direction:column; gap: var(--space-2); font-size: var(--text-sm); }
.footer-contact a { color: var(--color-text-muted); }
.footer-contact a:hover { color: var(--color-primary); }
.footer-contact-note { color: var(--color-text-faint); font-size: var(--text-xs); }
.footer h4 { font-size: var(--text-xs); text-transform:uppercase; letter-spacing:.1em; color: var(--color-text-faint); margin-bottom: var(--space-3); }
.footer ul { display:flex; flex-direction:column; gap: var(--space-2); }
.footer a:hover { color: var(--color-primary); }
.footer-bottom { margin-top: var(--space-12); padding-top: var(--space-6); border-top:1px solid var(--color-divider); display:flex; flex-wrap:wrap; gap: var(--space-4); justify-content:space-between; font-size: var(--text-xs); color: var(--color-text-faint); }
.footer-bottom nav { display:flex; gap: var(--space-4); flex-wrap:wrap; }
.footer-disclaimer { margin-top: var(--space-6); font-size: var(--text-xs); color: var(--color-text-faint); max-width:80ch; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .who-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 900px) {
  .hero-grid, .split, .split.reverse, .grid-2, .grid-3, .stat-row, .guide-grid, .guide-grid.feature-grid, .compare-table-wrap { grid-template-columns: 1fr; }
  .who-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1360px) {
  .main-nav { position:fixed; top:64px; left:0; right:0; bottom:0; height:calc(100vh - 64px); background: var(--color-bg); flex-direction:column; align-items:flex-start; padding: var(--space-6) var(--space-5); gap: var(--space-5); overflow-y:auto; transform: translateX(100%); transition: transform .25s ease; z-index:35; }
  .main-nav.is-open { transform: translateX(0); }
  .nav-toggle { display:inline-flex; }
  .header-actions .btn-primary.header-cta { display:none; }
  .nav-link { font-size: var(--text-lg); }
}
@media (max-width: 720px) {
  .form-grid-2 { grid-template-columns:1fr; }
  .who-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-copy h1 { max-width: 16ch; }
  .btn { width:100%; }
  .hero-actions .btn, .hero-audience .btn { width:100%; }
}
@media (max-width: 480px) {
  .header-inner { flex-wrap:wrap; row-gap: var(--space-2); }
  .header-actions { margin-left:auto; }
  .market-btn { font-size: 11px; padding:.4rem .7rem; }
  .brand-name { font-size: var(--text-xs); }
  .market-select { position:static; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  * { transition:none !important; }
}
