/* ============================================================
   GOLDEN TRIP — Неделя инвестора в Паттайе
   Editorial-luxury system inspired by EMBASSY LIFE
   ============================================================ */

:root{
  /* Palette — warm monochrome + restrained gold */
  --paper:      #FBF9F5;
  --paper-2:    #F3EEE5;   /* warm cream panel */
  --paper-3:    #ECE5D8;
  --ink:        #16130F;   /* warm near-black */
  --ink-soft:   #4B463D;
  --muted:      #948B7C;
  --line:       rgba(22,19,15,.14);
  --line-soft:  rgba(22,19,15,.08);
  --gold:       #9C7C46;   /* accent */
  --gold-deep:  #826234;
  --gold-tint:  rgba(156,124,70,.10);
  --on-dark:    #F4EFE6;
  --ink-deep:   #0E0C09;

  /* Type */
  --serif: 'Prata', Georgia, 'Times New Roman', serif;
  --sans:  'Manrope', system-ui, -apple-system, sans-serif;

  --container: 1280px;
  --gutter: clamp(20px, 5vw, 80px);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:.005em;
}

img{ max-width:100%; display:block; }

/* ---------- Typographic primitives ---------- */
.serif{ font-family:var(--serif); font-weight:400; }

.eyebrow{
  font-family:var(--sans);
  font-weight:600;
  font-size:12px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0;
}
.eyebrow.muted{ color:var(--muted); }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:400; margin:0; line-height:1.08; letter-spacing:.005em; }

.display{
  font-family:var(--serif);
  font-size:clamp(40px, 6.4vw, 92px);
  line-height:1.02;
  letter-spacing:.01em;
}
.h-xl{ font-size:clamp(32px, 4.6vw, 58px); line-height:1.07; }
.h-lg{ font-size:clamp(28px, 3.4vw, 44px); line-height:1.1; }
.h-md{ font-size:clamp(22px, 2.4vw, 30px); line-height:1.15; }

.lede{
  font-size:clamp(18px,1.5vw,21px);
  line-height:1.6;
  color:var(--ink-soft);
  font-weight:400;
  max-width:60ch;
}
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }
.text-muted{ color:var(--muted); }
.small{ font-size:14px; line-height:1.6; }
.caption{
  font-family:var(--serif);
  font-style:italic;
  font-size:15px;
  color:var(--muted);
  letter-spacing:.01em;
}

a{ color:inherit; text-decoration:none; }

/* ---------- Layout ---------- */
.wrap{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
section{ position:relative; }
.section-pad{ padding-block:clamp(72px, 9vw, 150px); }
.divider{ height:1px; background:var(--line-soft); border:0; margin:0; }

.grid{ display:grid; gap:clamp(28px,4vw,64px); }
.cols-2{ grid-template-columns:1fr 1fr; }
.cols-3{ grid-template-columns:repeat(3,1fr); }
.cols-4{ grid-template-columns:repeat(4,1fr); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--sans); font-weight:600;
  font-size:12.5px; letter-spacing:.22em; text-transform:uppercase;
  padding:17px 30px;
  border:1px solid var(--ink);
  background:var(--ink); color:var(--on-dark);
  cursor:pointer;
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .25s ease;
}
.btn:hover{ background:transparent; color:var(--ink); }
.btn--ghost{ background:transparent; color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:var(--on-dark); }
.btn--gold{ background:var(--gold); border-color:var(--gold); color:#fff; }
.btn--gold:hover{ background:transparent; color:var(--gold-deep); border-color:var(--gold); }
.btn--light{ border-color:rgba(244,239,230,.5); background:transparent; color:var(--on-dark); }
.btn--light:hover{ background:var(--on-dark); color:var(--ink); border-color:var(--on-dark); }
.btn .arr{ font-size:14px; letter-spacing:0; transition:transform .3s ease; }
.btn:hover .arr{ transform:translateX(4px); }

.link-underline{
  display:inline-flex; align-items:center; gap:.6em;
  font-weight:600; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  padding-bottom:4px; border-bottom:1px solid var(--gold);
  color:var(--gold-deep);
}
.link-underline .arr{ transition:transform .3s ease; }
.link-underline:hover .arr{ transform:translateX(4px); }

/* ---------- Image placeholders (no real photography yet) ---------- */
.ph{
  position:relative;
  background:
    repeating-linear-gradient(135deg,
      rgba(22,19,15,.045) 0 1px,
      transparent 1px 11px),
    var(--paper-2);
  color:var(--ink-soft);
  overflow:hidden;
}
.ph::after{
  content:attr(data-label);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:24px;
  font-family:'Manrope',monospace; font-weight:600;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted);
  white-space:pre-line;
}
.ph--dark{
  background:
    repeating-linear-gradient(135deg,
      rgba(255,255,255,.04) 0 1px,
      transparent 1px 11px),
    #1d1a15;
}
.ph--dark::after{ color:rgba(244,239,230,.5); }
.frame{ border:1px solid var(--line); }
.frame-ink{ padding:14px; background:var(--paper); border:1px solid var(--line); }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; }
.reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; }
.reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- Ornamental rule ---------- */
.rule-gold{ width:54px; height:1px; background:var(--gold); border:0; margin:0; }
.center .rule-gold{ margin-inline:auto; }
.center{ text-align:center; }
.center .lede{ margin-inline:auto; }

/* checkmark list */
.checklist{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.checklist li{ position:relative; padding-left:34px; line-height:1.5; }
.checklist li::before{
  content:""; position:absolute; left:0; top:.5em;
  width:16px; height:9px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(-45deg);
}
.checklist.tight li{ padding-left:30px; }

/* feature index number */
.idx{ font-family:var(--serif); font-size:13px; color:var(--gold-deep); letter-spacing:.1em; }

/* ============================================================
   SECTIONS
   ============================================================ */

/* ---------- Header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  transition:background .4s ease, box-shadow .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(251,249,245,.88);
  backdrop-filter:saturate(1.3) blur(14px);
  border-bottom-color:var(--line-soft);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:78px; }
.brand{ display:flex; flex-direction:column; gap:3px; line-height:1; }
.brand-mark{ font-size:23px; letter-spacing:.06em; color:var(--ink); transition:color .4s ease; }
.brand-badges{ font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-weight:600; transition:color .4s ease; }
.header-nav{ display:flex; gap:34px; }
.header-nav a{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--ink-soft); transition:color .3s ease; }
.header-nav a:hover{ color:var(--gold-deep); }
.header-cta{ padding:13px 22px; }
/* light text when over dark hero */
.site-header:not(.scrolled) .brand-mark{ color:var(--on-dark); }
.site-header:not(.scrolled) .brand-badges{ color:rgba(244,239,230,.7); }
.site-header:not(.scrolled) .header-nav a{ color:rgba(244,239,230,.82); }
.site-header:not(.scrolled) .header-nav a:hover{ color:#fff; }
.site-header:not(.scrolled) .header-cta{ color:var(--on-dark); border-color:rgba(244,239,230,.45); }
.site-header:not(.scrolled) .header-cta:hover{ background:var(--on-dark); color:var(--ink); }

/* ---------- Hero ---------- */
.hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; color:var(--on-dark); overflow:hidden; }
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media--photo{
  background-image:url('pattaya-night.jpg');
  background-size:cover;
  background-position:center 52%;
  transform-origin:center center;
  will-change:transform;
  animation:heroDrift 46s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  0%   { transform:scale(1.14) translate3d(-1.6%, 1.2%, 0); }
  100% { transform:scale(1.22) translate3d(1.6%, -1.2%, 0); }
}
@media (prefers-reduced-motion:reduce){
  .hero-media--photo{ animation:none; transform:scale(1.06); }
}
.hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(14,12,9,.62) 0%, rgba(14,12,9,.20) 30%, rgba(14,12,9,.42) 60%, rgba(14,12,9,.90) 100%);
}
.hero-content{ position:relative; z-index:2; padding-top:140px; padding-bottom:48px; }
.hero-eyebrow{ color:var(--gold); margin-bottom:24px; }
.hero-title{ max-width:14ch; }
.hero-sub{ font-family:var(--serif); font-style:italic; font-size:clamp(20px,2.2vw,30px); margin:20px 0 0; color:rgba(244,239,230,.92); }
.hero-lede{ max-width:54ch; margin-top:26px; font-size:clamp(16px,1.4vw,19px); line-height:1.65; color:rgba(244,239,230,.82); }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.hero-price{ display:flex; flex-direction:column; gap:4px; margin-top:42px; }
.hero-price-label{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:rgba(244,239,230,.6); font-weight:600; }
.hero-price-value{ font-size:clamp(30px,3.2vw,42px); color:#fff; }
.hero-price-note{ font-size:13px; color:rgba(244,239,230,.6); max-width:42ch; }
.hero-keys{ position:relative; z-index:2; border-top:1px solid rgba(244,239,230,.18); background:rgba(14,12,9,.42); backdrop-filter:blur(4px); }
.hero-keys-inner{ display:flex; flex-wrap:wrap; gap:8px 36px; padding-block:22px; }
.hero-keys-inner span{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:rgba(244,239,230,.86); position:relative; padding-left:20px; }
.hero-keys-inner span::before{ content:""; position:absolute; left:0; top:50%; width:7px; height:7px; transform:translateY(-50%) rotate(45deg); background:var(--gold); }

/* ---------- Why ---------- */
.why-grid{ align-items:start; }
@media (min-width:861px){ .why-grid{ grid-template-columns:1.05fr 1fr; } }
.why-body .lede{ max-width:48ch; }

/* ---------- Quote band ---------- */
.quote-band{ background:var(--ink-deep); color:var(--on-dark); padding-block:clamp(70px,9vw,130px); }
.quote-mark{ font-size:90px; line-height:0; color:var(--gold); height:40px; display:block; }
.quote-text{ font-size:clamp(24px,3.1vw,44px); line-height:1.32; max-width:24ch; margin:0 auto; color:var(--on-dark); }

/* ---------- Organizers ---------- */
.org-grid{ margin-top:clamp(48px,6vw,80px); }
.org-card{ border-top:1px solid var(--line); padding-top:26px; display:flex; flex-direction:column; gap:10px; }
.org-card .idx{ margin-bottom:6px; }
.org-role{ font-size:13px; letter-spacing:.04em; color:var(--gold-deep); font-weight:600; margin:0; }
.flow{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 18px; margin-top:clamp(54px,6vw,86px); padding:34px 24px; border:1px solid var(--line); background:var(--paper-2); }
.flow-step{ font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--ink-soft); }
.flow-step--gold{ color:var(--gold-deep); }
.flow-arr{ color:var(--gold); font-size:14px; }

/* ---------- Districts ---------- */
.districts-head{ align-items:start; margin-bottom:clamp(40px,5vw,64px); }
@media (min-width:861px){ .districts-head{ grid-template-columns:1.1fr .9fr; } }
.district-tabs{ display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--line); padding-bottom:0; margin-bottom:0; }
.district-tab{
  appearance:none; background:none; border:0; cursor:pointer;
  font-family:var(--sans); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  color:var(--muted); padding:16px 18px; position:relative; transition:color .3s ease;
}
.district-tab::after{ content:""; position:absolute; left:18px; right:18px; bottom:-1px; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.district-tab:hover{ color:var(--ink); }
.district-tab.is-active{ color:var(--ink); }
.district-tab.is-active::after{ transform:scaleX(1); }
.district-stage{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; margin-top:clamp(28px,3.5vw,48px); }
.district-media{ position:relative; aspect-ratio:16/10; overflow:hidden; transition:opacity .4s ease; background:var(--paper-2); }
.dm-slides{ position:absolute; inset:0; }
.dm-slide{
  position:absolute; inset:0; margin:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.2s ease;
  transform:scale(1.04);
}
.dm-slide.is-active{ opacity:1; animation:dmZoom 5s ease-out forwards; }
@keyframes dmZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.11); } }
@media (prefers-reduced-motion:reduce){
  .dm-slide{ transition:opacity .4s ease; transform:none; }
  .dm-slide.is-active{ animation:none; }
}
.dm-caption{ position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:46px 22px 18px; pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(14,12,9,.72)); }
.dm-cap-label{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark); }
.dm-dots{ position:absolute; right:16px; bottom:16px; z-index:3; display:flex; gap:8px; }
.dm-dot{ width:8px; height:8px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:rgba(244,239,230,.45); transition:background .3s ease, transform .3s ease; }
.dm-dot:hover{ background:rgba(244,239,230,.8); }
.dm-dot.is-active{ background:var(--gold); transform:scale(1.25); }
.dm-placeholder{ position:absolute; inset:0; }
.district-info .idx{ display:block; margin-bottom:14px; }
.district-info h3{ margin-bottom:18px; }

/* ---------- Split full-bleed ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; min-height:clamp(520px,62vw,720px); }
.split-media{ min-height:360px; }
.split-text{ display:flex; align-items:center; padding:clamp(48px,6vw,96px) var(--gutter); background:var(--paper); }
.split--rev .split-text{ background:var(--paper-2); }
.split-text-inner{ max-width:520px; }
.split--rev .split-media{ order:2; }
.split--rev .split-text{ order:1; }
.note-card{ margin-top:30px; padding:26px 28px; background:var(--paper); border:1px solid var(--line); }
.split--rev .note-card{ background:var(--paper); }

/* photo split-media (real imagery) */
.split-photo{ background-size:cover; background-position:center; }

/* ---------- Project showcase (Embassy Life) ---------- */
.showcase{ padding-block:clamp(54px,7vw,96px); }
.showcase-head{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,60px); align-items:start; margin-bottom:clamp(34px,4.5vw,56px); }
.showcase-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.2vw,28px); }
.sc-card{ margin:0; }
.sc-img{ aspect-ratio:4/3; background-size:cover; background-position:center; background-color:var(--paper-2); border:1px solid var(--line); }
.sc-img--dark{ background-color:#0b0a08; background-size:contain; background-repeat:no-repeat; }
.sc-card figcaption{ margin-top:14px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--muted); }
.showcase-plan{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,64px); align-items:center; margin-top:clamp(40px,5vw,72px); }
.plan-card{ margin:0; border:1px solid var(--line); background:#fff; padding:clamp(10px,1.4vw,18px); }
.plan-card img{ width:100%; display:block; }

/* ---------- Included (dark) ---------- */
.included{ background:var(--ink-deep); color:var(--on-dark); }
.included-grid{ align-items:start; }
@media (min-width:861px){ .included-grid{ grid-template-columns:.95fr 1.05fr; } }
.included-aside{ position:sticky; top:100px; }
.included-price{ margin-top:34px; }
.included-list li{ color:rgba(244,239,230,.9); border-bottom:1px solid rgba(244,239,230,.1); padding-bottom:14px; }
.included-list li::before{ top:.35em; }

/* ---------- Offer ---------- */
.offer{ background:var(--paper-2); padding-block:clamp(72px,9vw,128px); }
.offer .lede{ max-width:46ch; }

/* ---------- Extras ---------- */
.extras-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:0; margin-top:clamp(40px,5vw,64px); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.extras-grid span{ padding:26px 24px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); font-size:14px; letter-spacing:.04em; color:var(--ink-soft); display:flex; align-items:center; gap:14px; transition:background .3s ease, color .3s ease; }
.extras-grid span::before{ content:""; width:7px; height:7px; transform:rotate(45deg); background:var(--gold); flex:none; }
.extras-grid span:hover{ background:var(--paper-2); color:var(--ink); }

/* ---------- Audience ---------- */
.pale{ background:var(--paper-2); }
.trio-grid{ align-items:start; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chips span{ font-size:13px; letter-spacing:.03em; padding:10px 18px; border:1px solid var(--line); border-radius:999px; color:var(--ink-soft); background:var(--paper); }
.whom{ margin-top:clamp(56px,7vw,96px); padding-top:clamp(40px,5vw,60px); border-top:1px solid var(--line); }
.whom-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 22px; }
.whom-row span{ font-family:var(--serif); font-size:clamp(18px,2vw,26px); color:var(--ink); }
.whom-row i{ width:6px; height:6px; transform:rotate(45deg); background:var(--gold); flex:none; }

/* ---------- Partners (dark) ---------- */
.partners{ background:var(--ink-deep); color:var(--on-dark); padding-block:clamp(40px,5vw,72px); }
.partners-grid{ align-items:center; gap:clamp(36px,5vw,72px); }
.partners-media{ aspect-ratio:4/3; }
.partners-photo{ background-size:cover; background-position:center; }
.partners-text{ padding-block:clamp(20px,4vw,48px); }

/* ---------- FAQ ---------- */
.faq-groups{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,3.5vw,56px); align-items:start; }
.faq-group-title{ font-size:22px; padding-bottom:18px; margin-bottom:6px; border-bottom:1px solid var(--line); color:var(--gold-deep); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:0; cursor:pointer; font-family:var(--sans); font-weight:600; font-size:15px; line-height:1.45; color:var(--ink); padding:18px 30px 18px 0; position:relative; display:flex; gap:10px; }
.faq-q::after{ content:"+"; position:absolute; right:2px; top:16px; font-size:20px; color:var(--gold); font-weight:400; transition:transform .35s ease; }
.faq-item.open .faq-q::after{ transform:rotate(45deg); }
.faq-a{ overflow:hidden; max-height:0; transition:max-height .45s cubic-bezier(.4,0,.2,1); }
.faq-a-inner{ padding:0 30px 22px 0; color:var(--ink-soft); font-size:14.5px; line-height:1.6; }

/* ---------- Final + form ---------- */
.final{ position:relative; color:var(--on-dark); overflow:hidden; padding-top:clamp(80px,10vw,150px); }
.final-media{ position:absolute; inset:0; z-index:0; }
.final-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(14,12,9,.82), rgba(14,12,9,.7)); }
.final-grid{ position:relative; z-index:2; align-items:center; gap:clamp(40px,5vw,80px); padding-bottom:clamp(70px,9vw,120px); }
.final-title{ margin:22px 0 0; }
.final-lede{ margin-top:26px; max-width:46ch; color:rgba(244,239,230,.8); font-size:clamp(16px,1.4vw,18px); line-height:1.65; }
.final-badges{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:34px; }
.final-badges span{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:rgba(244,239,230,.85); }
.final-badges i, .whom-row i{ }
.final-badges i{ width:5px; height:5px; transform:rotate(45deg); background:var(--gold); }

.form-card{ background:var(--paper); color:var(--ink); padding:clamp(30px,3.5vw,48px); border:1px solid rgba(244,239,230,.2); box-shadow:0 40px 90px -40px rgba(0,0,0,.6); }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--muted); margin-bottom:9px; }
.field input{ width:100%; font-family:var(--sans); font-size:16px; color:var(--ink); padding:13px 0; background:none; border:0; border-bottom:1px solid var(--line); transition:border-color .3s ease; }
.field input::placeholder{ color:#bdb4a4; }
.field input:focus{ outline:none; border-bottom-color:var(--gold); }
.field.err input{ border-bottom-color:#b5462f; }
.form-submit{ width:100%; justify-content:center; margin-top:10px; }
.form-note{ color:var(--muted); margin-top:16px; text-align:center; }
.form-success{ display:flex; gap:14px; align-items:flex-start; margin-top:22px; padding:18px 20px; background:var(--gold-tint); border:1px solid rgba(156,124,70,.3); }
.form-success[hidden]{ display:none; }
.form-success-mark{ width:26px; height:26px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:#fff; font-size:14px; }
.form-success p{ margin:0; font-size:14px; color:var(--ink); }

/* ---------- Footer ---------- */
.site-footer{ position:relative; z-index:2; border-top:1px solid rgba(244,239,230,.16); }
.footer-inner{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; padding-block:38px; }
.footer-brand-col{ display:flex; flex-direction:column; gap:8px; }
.footer-tagline{ color:rgba(244,239,230,.55); }
.footer-contacts{ display:flex; flex-direction:column; gap:11px; align-items:flex-start; }
.footer-contacts .eyebrow{ white-space:nowrap; }
.footer-link{ font-size:15px; letter-spacing:.03em; color:rgba(244,239,230,.88); transition:color .3s ease; }
.footer-link:hover{ color:var(--gold); }
.footer-brand{ font-size:22px; letter-spacing:.05em; color:var(--on-dark); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .header-nav{ display:none; }
  .faq-groups{ grid-template-columns:1fr; gap:8px; }
  .faq-col{ margin-bottom:18px; }
}
@media (max-width:860px){
  body{ font-size:16px; }
  .cols-2,.cols-3,.cols-4{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .split-media{ aspect-ratio:16/10; min-height:0; }
  .split--rev .split-media{ order:0; }
  .split--rev .split-text{ order:0; }
  .district-stage{ grid-template-columns:1fr; }
  .showcase-head{ grid-template-columns:1fr; gap:18px; }
  .showcase-grid{ grid-template-columns:1fr; }
  .showcase-plan{ grid-template-columns:1fr; }
  .included-aside{ position:static; }
  .brand-badges{ display:none; }
  .header-cta{ display:none; }
  .flow{ flex-direction:column; gap:10px; }
  .flow-arr{ transform:rotate(90deg); }
}
@media (max-width:560px){
  :root{ --gutter:20px; }
  .hero-content{ padding-top:120px; }
  .extras-grid{ grid-template-columns:1fr; }
  .whom-row{ flex-direction:column; gap:10px; }
  .whom-row i{ display:none; }
}
