/* ============================================================================
   Kashmir Vendor Tour & Travels — bespoke demo
   Art direction: SWISS / INTERNATIONAL MINIMAL  (id: swiss-minimal)
   Type is the hero. 12-col baseline grid, hairline rules, ONE navy accent,
   vast calm negative space. Light mode. Accent hue 226° tints every neutral.
   ========================================================================== */

/* ---------- 1 · Tokens ----------------------------------------------------- */
:root{
  /* The ONE accent — deep navy from the logo field (#1A2A5E / signature #284090),
     disciplined to read as ink-with-intent, hue 263 in oklch. */
  --accent:      oklch(0.40 0.135 263);     /* structural navy — rules, numerals, links */
  --accent-ink:  oklch(0.30 0.115 263);     /* hover / pressed */
  --accent-soft: oklch(0.93 0.022 263);     /* faint navy wash for the one tinted band */

  /* secondary brand accent (magenta script) — used ONLY on the navy footer, never on paper */
  --magenta:     oklch(0.60 0.25 352);

  /* Neutrals — warm-cool tinted by the accent hue (cool, tiny chroma). Never #000/#fff. */
  --paper:       oklch(0.989 0.003 263);    /* page — cool white */
  --paper-2:     oklch(0.969 0.005 263);    /* alternating section band */
  --ink:         oklch(0.205 0.012 263);    /* near-black headline ink */
  --ink-2:       oklch(0.385 0.012 263);    /* body text */
  --muted:       oklch(0.545 0.012 263);    /* captions / meta / dim numerals */
  --hairline:    oklch(0.866 0.006 263);    /* 1px dividers — the workhorse */
  --hairline-2:  oklch(0.928 0.005 263);    /* faintest grid lines */
  --field:       oklch(0.945 0.008 263);    /* flat text-cell fill */
  --field-ink:   oklch(0.235 0.020 263);    /* deep navy for text-led dest cells */

  /* template aliases (kept so shared patterns work) */
  --brand:var(--accent); --brand-hover:var(--accent-ink);
  --page:var(--paper); --card:var(--paper); --footer:var(--ink);

  /* type */
  --f-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --t-hero: clamp(2.05rem, 0.7rem + 6.3vw, 6.2rem);
  --t-h2:   clamp(1.6rem, 1rem + 2.4vw, 2.9rem);
  --t-body: clamp(1.02rem, 0.98rem + 0.25vw, 1.14rem);

  /* rhythm — 8px baseline */
  --sec-pad: clamp(72px, 9vw, 148px);
  --shell:   1320px;
  --gut:     clamp(20px, 4.5vw, 56px);
  --col-gap: clamp(16px, 2.2vw, 30px);

  --dur: .55s;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- 2 · Reset ------------------------------------------------------ */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  /* clip (not hidden) so the off-canvas mobile drawer — a position:fixed element
     parked off-screen — can never add horizontal scroll, without creating a
     scroll container that would break sticky positioning. */
  overflow-x:clip;
}
/* Lenis runs → never leave native smooth-scroll on (they fight). JS sets html.lenis. */
html:not(.lenis){ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--f-display);
  font-size:var(--t-body);
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{ margin:0; }
ol,ul{ list-style:none; padding:0; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:1px; }

/* ---------- 3 · Layout primitives ----------------------------------------- */
.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--gut); }

.grid-12{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  column-gap:var(--col-gap);
  row-gap:clamp(28px, 4vw, 56px);
}

.band{ padding-block:var(--sec-pad); position:relative; }
.band::before{           /* hairline that opens every section — the printed-grid feel */
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:var(--hairline);
  transform:scaleX(1); transform-origin:left;
}
.band.alt{ background:var(--paper-2); }

/* small-caps kicker — used everywhere */
.kicker{
  font-family:var(--f-mono);
  text-transform:uppercase;
  letter-spacing:0.165em;
  font-size:0.7rem;
  font-weight:500;
  color:var(--muted);
  display:inline-block;
}

/* section marker numerals */
.sec-no{
  font-family:var(--f-mono);
  font-weight:500;
  font-size:0.82rem;
  letter-spacing:0.04em;
  color:var(--accent);
  display:block;
  padding-bottom:6px;
}
.sec-head{ display:block; }
.sec-row{ row-gap:clamp(14px,2vw,22px); margin-bottom:clamp(34px,4.5vw,60px); }

.h2{
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-h2);
  line-height:1.04;
  letter-spacing:-0.025em;
  color:var(--ink);
  text-wrap:balance;
  max-width:18ch;
}
.sec-note{
  margin-top:18px;
  color:var(--ink-2);
  max-width:54ch;
  line-height:1.6;
}

/* default column placement on the 12-col grid (asymmetric, empty columns kept) */
.col-mark{ grid-column:1 / 3; }
.col-lede{ grid-column:3 / 9; }
.col-body{ grid-column:7 / 13; }
.col-pull{ grid-column:9 / 13; }

/* ---------- 4 · Demo ribbon (invariant) ----------------------------------- */
.demo-ribbon{
  background:var(--ink);
  color:oklch(0.93 0.006 263);
  font-family:var(--f-mono);
  font-size:0.74rem;
  letter-spacing:0.01em;
  line-height:1.5;
}
.demo-ribbon p{
  max-width:var(--shell); margin-inline:auto;
  padding:9px var(--gut);
  display:flex; align-items:baseline; gap:7px; flex-wrap:wrap;
}
.demo-ribbon strong{ color:#fff; font-weight:600; }
.dr-dot{ width:7px; height:7px; border-radius:50%; background:var(--magenta); flex:0 0 auto; align-self:center; }
.demo-ribbon a{ color:#fff; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.demo-ribbon a:hover{ color:oklch(0.82 0.16 352); }

/* scroll progress — a hairline-thin accent rule */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:100%;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  z-index:60; will-change:transform;
}

/* ---------- 5 · Header ----------------------------------------------------- */
.site-head{
  position:sticky; top:0; z-index:50;
  background:color-mix(in oklab, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.05) blur(8px);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.site-head.scrolled{
  border-bottom-color:var(--hairline);
  background:color-mix(in oklab, var(--paper) 95%, transparent);
}
.head-inner{ display:flex; align-items:center; justify-content:space-between; height:68px; gap:18px; }

.wordmark{ display:inline-flex; align-items:center; gap:11px; color:var(--ink); }
.wm-mark{ color:var(--accent); display:inline-flex; }
.wm-text{ display:flex; flex-direction:column; line-height:1; }
.wm-name{ font-family:var(--f-display); font-weight:700; font-size:1.02rem; letter-spacing:-0.02em; }
.wm-sub{ font-family:var(--f-mono); font-weight:400; font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin-top:3px; }

.nav{ display:flex; align-items:center; }
.nav-links{ display:flex; align-items:center; gap:clamp(14px,1.8vw,30px); }
.nav-links a{
  font-family:var(--f-mono);
  font-size:0.78rem;
  letter-spacing:0.02em;
  color:var(--ink-2);
  position:relative;
  padding:6px 0;
  display:inline-flex; align-items:baseline; gap:6px;
}
.lk-no{ font-size:0.62rem; color:var(--muted); }
.nav-links a:not(.nav-cta)::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-links a:not(.nav-cta):hover{ color:var(--ink); }
.nav-links a:not(.nav-cta):hover::after{ transform:scaleX(1); }

.nav-cta{
  font-family:var(--f-mono); font-size:0.74rem; letter-spacing:0.04em;
  color:#fff !important; background:var(--accent);
  padding:9px 16px; border-radius:2px;
  transition:background .3s var(--ease);
}
.nav-cta:hover{ background:var(--accent-ink); }

.nav-burger{
  display:none; width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer;
  flex-direction:column; justify-content:center; align-items:center; gap:6px;
}
.nav-burger span{ width:22px; height:1.5px; background:var(--ink); transition:transform .3s var(--ease), opacity .3s var(--ease); }

/* ---------- 6 · Hero (centered typographic, axial) ------------------------ */
.hero{ padding-top:clamp(56px, 9vw, 116px); padding-bottom:0; text-align:center; }
.hero-inner{ display:flex; flex-direction:column; align-items:center; }

.hero-kicker{ margin-bottom:clamp(22px,3vw,34px); }

.hero-h1{
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-hero);
  line-height:0.98;
  letter-spacing:-0.035em;
  color:var(--ink);
  max-width:18ch;
  text-wrap:balance;
}
.accent-word{ color:var(--accent); }

.hero-sub{
  margin-top:clamp(22px,3vw,32px);
  max-width:56ch;
  font-size:clamp(1.02rem,0.96rem+0.4vw,1.2rem);
  line-height:1.6;
  color:var(--ink-2);
}

.hero-actions{
  margin-top:clamp(30px,4vw,42px);
  display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
}

/* buttons */
.btn{
  font-family:var(--f-mono);
  font-size:0.82rem; letter-spacing:0.02em; font-weight:500;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 22px; border-radius:2px;
  min-height:48px;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.btn-wa{ background:var(--accent); color:#fff; }
.btn-wa:hover{ background:var(--accent-ink); }
.btn-wa:active{ transform:translateY(1px); }
.wa-glyph{ flex:0 0 auto; }
.btn-line{ background:transparent; color:var(--ink); border:1px solid var(--hairline); }
.btn-line:hover{ border-color:var(--accent); color:var(--accent); }

/* hero facts — tabular mono row, like a spec sheet */
.hero-facts{
  margin-top:clamp(40px,5vw,64px);
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:clamp(20px,4vw,64px);
  border-top:1px solid var(--hairline);
  padding-top:clamp(22px,3vw,32px);
  width:100%; max-width:760px;
}
.hero-facts li{ display:flex; flex-direction:column; align-items:center; gap:5px; }
.hf-no{
  font-family:var(--f-mono); font-weight:500;
  font-size:clamp(1.5rem,1.1rem+1.4vw,2.1rem);
  letter-spacing:-0.01em; color:var(--ink);
  font-variant-numeric:tabular-nums; line-height:1;
}
.hf-no.hf-word{ color:var(--accent); }
.hf-plus{ color:var(--accent); }
.hf-lbl{
  font-family:var(--f-mono); text-transform:uppercase; letter-spacing:0.13em;
  font-size:0.64rem; color:var(--muted);
}

/* hero plate — single wide framed photo, set low and calm */
.hero-plate{ margin-top:clamp(54px,7vw,96px); }
.hero-plate-frame{
  max-width:var(--shell); margin-inline:auto; padding-inline:var(--gut);
}
.hero-plate-frame img{
  width:100%;
  aspect-ratio:21 / 9;
  object-fit:cover;
  object-position:center 62%;
  border:1px solid var(--hairline);
  filter:grayscale(14%) contrast(1.04) brightness(1.02) saturate(0.96);
}
.plate-cap{
  max-width:var(--shell); margin:10px auto 0; padding-inline:var(--gut);
  display:flex; gap:14px; align-items:baseline;
  font-family:var(--f-mono); font-size:0.72rem; color:var(--muted);
  text-align:left;
}
.pc-no{ color:var(--accent); flex:0 0 auto; letter-spacing:0.03em; }
.pc-txt{ letter-spacing:0.01em; }

/* ---------- 7 · About / positioning --------------------------------------- */
.about .about-lede{ align-self:start; }
.about-body{ display:flex; flex-direction:column; gap:18px; }
.about-body p{ color:var(--ink-2); max-width:60ch; line-height:1.66; }
.pull{ align-self:end; }
.pull blockquote{
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(1.15rem,0.95rem+1vw,1.7rem);
  line-height:1.18; letter-spacing:-0.02em; color:var(--ink);
  border-top:1px solid var(--accent); padding-top:18px;
}

/* ---------- 8 · Packages list-table --------------------------------------- */
.ptable{ border-top:1px solid var(--ink); }
.prow{ border-bottom:1px solid var(--hairline); }
.prow-link{
  display:grid;
  grid-template-columns:46px 1fr auto 28px;
  align-items:start;
  gap:clamp(14px,2.4vw,34px);
  padding:clamp(22px,3vw,34px) 0;
  position:relative;
  transition:background .35s var(--ease);
}
.prow-link::after{                 /* accent underline slides full-width on hover */
  content:""; position:absolute; left:0; bottom:-1px; height:2px; width:100%;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease);
}
.prow-link:hover::after{ transform:scaleX(1); }
.prow-link:hover{ background:color-mix(in oklab, var(--accent-soft) 55%, transparent); }
.prow-link:hover .prow-go{ transform:translateX(4px); color:var(--accent); }
.prow-link:hover .prow-title{ color:var(--accent); }

.prow-no{
  font-family:var(--f-mono); font-weight:500; font-size:0.92rem;
  color:var(--muted); padding-top:6px; font-variant-numeric:tabular-nums;
}
.prow-main{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.prow-title{
  font-family:var(--f-display); font-weight:700;
  font-size:clamp(1.18rem,0.98rem+0.9vw,1.6rem);
  letter-spacing:-0.02em; color:var(--ink); line-height:1.08;
  transition:color .3s var(--ease);
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.prow-tag{
  font-family:var(--f-mono); font-weight:500; font-size:0.6rem;
  text-transform:uppercase; letter-spacing:0.13em;
  color:var(--accent); border:1px solid var(--accent);
  padding:3px 8px; border-radius:2px; line-height:1;
}
.prow-meta{
  font-family:var(--f-mono); font-size:0.74rem; letter-spacing:0.02em;
  color:var(--muted); text-transform:uppercase;
}
.prow-desc{ color:var(--ink-2); max-width:52ch; font-size:0.98rem; line-height:1.55; }

.prow-price{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding-top:4px; }
.pr-was{
  font-family:var(--f-mono); font-size:0.78rem; color:var(--muted);
  text-decoration:line-through; text-decoration-thickness:1px; font-variant-numeric:tabular-nums;
}
.pr-now{
  font-family:var(--f-mono); font-weight:600;
  font-size:clamp(1.25rem,1rem+1vw,1.7rem); color:var(--ink);
  letter-spacing:-0.01em; font-variant-numeric:tabular-nums; line-height:1;
}
.pr-unit{
  font-family:var(--f-mono); font-size:0.62rem; text-transform:uppercase;
  letter-spacing:0.12em; color:var(--muted); margin-top:3px;
}
.prow-go{
  font-family:var(--f-mono); font-size:1.2rem; color:var(--muted);
  align-self:center; transition:transform .35s var(--ease), color .3s var(--ease);
}

/* add-on lines */
.addons{ margin-top:clamp(34px,4.5vw,56px); row-gap:28px; }
.addon{
  display:flex; flex-direction:column; gap:8px;
  color:var(--ink-2); font-size:0.98rem; line-height:1.55; max-width:46ch;
  padding-top:18px; border-top:1px solid var(--hairline);
}
.addon-t{ font-family:var(--f-display); font-weight:600; font-size:1.12rem; color:var(--ink); letter-spacing:-0.01em; }
.col-addA{ grid-column:1 / 6; }
.col-addB{ grid-column:7 / 12; }

/* ---------- 9 · The Valley — strict uniform 3-up grid --------------------- */
.dest-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--hairline);          /* the gaps read as hairline rules */
  border:1px solid var(--hairline);
}
.dest{ background:var(--paper); }
.band.valley .dest{ background:var(--paper); }
.dest figure{ display:flex; flex-direction:column; }
.dest-frame{ overflow:hidden; background:var(--field); }
.dest-frame img{
  width:100%; aspect-ratio:3 / 2; object-fit:cover; object-position:center;
  filter:grayscale(16%) contrast(1.04) brightness(1.01) saturate(0.95);
  transition:transform .7s var(--ease), filter .5s var(--ease);
}
.dest:hover .dest-frame img{ transform:scale(1.035); filter:grayscale(0%) contrast(1.05) saturate(1.02); }

.dest figcaption{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:baseline;
  column-gap:12px; row-gap:2px;
  padding:16px clamp(14px,1.6vw,20px) 18px;
}
.dest-no{ font-family:var(--f-mono); font-size:0.72rem; color:var(--accent); grid-row:span 2; font-variant-numeric:tabular-nums; }
.dest-name{ font-family:var(--f-display); font-weight:600; font-size:1.1rem; color:var(--ink); letter-spacing:-0.01em; }
.dest-sub{ font-family:var(--f-mono); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); grid-column:2; }

/* text-led cells (no real photo) — deep navy field, place-name in type */
.dest-frame-text{
  aspect-ratio:3 / 2;
  display:flex; align-items:center; justify-content:center;
  background:var(--field-ink);
  position:relative;
}
.dest-frame-text::after{
  content:""; position:absolute; inset:0;
  background:
    repeating-linear-gradient(90deg, transparent 0 calc(100%/6 - 1px), color-mix(in oklab,#fff 7%, transparent) calc(100%/6 - 1px) calc(100%/6));
  pointer-events:none;
}
.dt-place{
  font-family:var(--f-display); font-weight:700;
  font-size:clamp(1.3rem,0.9rem+1.8vw,2rem); letter-spacing:-0.03em;
  color:oklch(0.97 0.01 263); text-align:center; line-height:1; position:relative; z-index:1;
  padding:0 14px;
}
.dest-text .dest-name{ color:var(--ink); }
.dest-frame-cta{ background:var(--accent); }
.dest-frame-cta::after{ background:repeating-linear-gradient(90deg, transparent 0 calc(100%/6 - 1px), color-mix(in oklab,#fff 12%, transparent) calc(100%/6 - 1px) calc(100%/6)); }
.dt-ask{ font-family:var(--f-display); font-weight:700; font-size:clamp(1.3rem,0.9rem+1.8vw,2rem); letter-spacing:-0.03em; color:#fff; line-height:1; text-align:center; position:relative; z-index:1; }
.dest-name-link{ color:var(--accent); transition:color .3s var(--ease); }
.dest-name-link:hover{ color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }

/* ---------- 10 · Trust / reasons ------------------------------------------ */
.trust .trust-lede{ grid-column:3 / 9; }
.bigstat{
  grid-column:1 / 5;
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  align-self:start;
}
.bigstat-n{
  font-family:var(--f-mono); font-weight:600;
  font-size:clamp(3.6rem,2rem+9vw,8.4rem);
  line-height:0.9; letter-spacing:-0.04em; color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.bigstat-star{ font-size:clamp(1.6rem,1rem+2vw,2.6rem); color:var(--accent); line-height:1; margin-top:-6px; }
.bigstat-l{ font-family:var(--f-mono); font-size:0.74rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); max-width:22ch; margin-top:14px; line-height:1.5; }
.bigstat-l .count{ color:var(--ink); }

.why-list{ grid-column:6 / 13; border-top:1px solid var(--ink); }
.why{
  display:grid; grid-template-columns:46px 1fr; gap:clamp(14px,2vw,28px);
  padding:clamp(20px,2.6vw,30px) 0; border-bottom:1px solid var(--hairline);
}
.why-no{ font-family:var(--f-mono); font-weight:500; font-size:0.86rem; color:var(--accent); padding-top:4px; font-variant-numeric:tabular-nums; }
.why-body{ display:flex; flex-direction:column; gap:7px; }
.why-t{ font-family:var(--f-display); font-weight:600; font-size:1.18rem; color:var(--ink); letter-spacing:-0.015em; }
.why-d{ color:var(--ink-2); max-width:52ch; font-size:0.98rem; line-height:1.55; }

/* ---------- 11 · Contact --------------------------------------------------- */
.contact .contact-lede{ grid-column:3 / 8; }
.contact-actions{ margin-top:30px; display:flex; gap:14px; flex-wrap:wrap; }

.contact-fields{
  grid-column:8 / 13;
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--hairline); border:1px solid var(--hairline);
  align-self:start;
}
.cfield{ background:var(--paper); padding:18px clamp(14px,1.6vw,20px); display:flex; flex-direction:column; gap:8px; }
.cfield-wide{ grid-column:1 / 3; }
.cfield dt{ margin:0; }
.cfield dd{ margin:0; font-family:var(--f-mono); font-size:0.92rem; color:var(--ink); line-height:1.5; }
.cfield dd a{ position:relative; transition:color .3s var(--ease); }
.cfield dd a:hover{ color:var(--accent); }
.cfield dd a:hover::after{ transform:scaleX(1); }
.cfield dd a::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }

/* ---------- 12 · Footer (navy surface) ------------------------------------ */
.site-foot{ background:var(--ink); color:oklch(0.86 0.01 263); padding-block:clamp(60px,7vw,96px) clamp(30px,4vw,46px); }
.foot-top{ row-gap:clamp(40px,5vw,60px); padding-bottom:clamp(40px,5vw,60px); border-bottom:1px solid color-mix(in oklab,#fff 12%, transparent); }
.col-fbrand{ grid-column:1 / 6; }
.col-fcta{ grid-column:8 / 13; }

.foot-logo{ width:auto; height:clamp(64px,7vw,96px); }
.foot-tag{ margin-top:22px; max-width:34ch; color:oklch(0.78 0.01 263); font-size:0.98rem; line-height:1.55; }

.foot-h2{ font-family:var(--f-display); font-weight:700; font-size:clamp(1.5rem,1rem+2vw,2.5rem); letter-spacing:-0.03em; color:#fff; line-height:1.04; max-width:14ch; }
.btn-wa-foot{ margin-top:26px; }
.foot-script{
  display:block; margin-top:20px;
  font-family:var(--f-mono); font-style:italic; font-size:0.92rem;
  color:var(--magenta); letter-spacing:0.01em;
}

.foot-bottom{ margin-top:clamp(26px,3vw,38px); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.foot-meta, .foot-disc{ font-family:var(--f-mono); font-size:0.7rem; letter-spacing:0.02em; color:oklch(0.66 0.01 263); }
.foot-disc{ color:oklch(0.58 0.01 263); }

/* ---------- 13 · Reveal motion (compositor-only) -------------------------- */
[data-reveal],[data-hero-el]{ opacity:0; transform:translateY(11px); transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease); will-change:opacity, transform; }
[data-reveal].in,[data-hero-el].in{ opacity:1; transform:none; }

/* ---------- 14 · Responsive ----------------------------------------------- */
@media (max-width: 1000px){
  :root{ --shell:760px; }
  .col-mark{ grid-column:1 / 13; }
  .col-lede{ grid-column:1 / 13; }
  .col-body{ grid-column:1 / 13; }
  .col-pull{ grid-column:1 / 13; }
  .trust .trust-lede{ grid-column:1 / 13; }
  .bigstat{ grid-column:1 / 13; flex-direction:row; align-items:baseline; gap:16px; }
  .bigstat-l{ margin-top:0; align-self:flex-end; }
  .why-list{ grid-column:1 / 13; }
  .contact .contact-lede{ grid-column:1 / 13; }
  .contact-fields{ grid-column:1 / 13; }
  .col-addA, .col-addB{ grid-column:1 / 13; }
  .col-fbrand, .col-fcta{ grid-column:1 / 13; }
  .dest-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width: 720px){
  .nav-burger{ display:flex; }
  .nav-links{
    position:fixed; inset:0 0 0 auto; width:min(82vw, 340px); max-width:100vw;
    background:var(--paper); border-left:1px solid var(--hairline);
    flex-direction:column; align-items:flex-start; justify-content:flex-start;
    gap:0; padding:88px 28px 28px;
    transform:translateX(100%); transition:transform .4s var(--ease);
    box-shadow:none; z-index:45;
  }
  .nav.open .nav-links{ transform:translateX(0); }
  .nav-links li{ width:100%; }
  .nav-links a:not(.nav-cta){ width:100%; padding:16px 0; border-bottom:1px solid var(--hairline-2); font-size:0.92rem; }
  .nav-links a:not(.nav-cta)::after{ display:none; }
  .nav-cta-li{ margin-top:20px; }
  .nav-cta{ display:flex; width:100%; padding:15px; }
  .nav.open .nav-burger span:first-child{ transform:translateY(3.75px) rotate(45deg); }
  .nav.open .nav-burger span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }

  .hero{ text-align:left; }
  .hero-inner{ align-items:flex-start; }
  .hero-h1{ max-width:none; }
  /* drop the desktop forced line-breaks so the headline wraps naturally,
     flush-left ragged-right — and never clips on a narrow phone. */
  .hero-h1 br{ display:none; }
  .accent-word{ display:inline; }
  /* let the long kicker wrap instead of clipping on a narrow phone */
  .hero-kicker{ white-space:normal; letter-spacing:0.12em; line-height:1.5; }
  .hero-actions{ justify-content:flex-start; flex-direction:column; align-items:stretch; width:100%; }
  .hero-facts{ justify-content:flex-start; gap:22px 36px; }
  .hero-facts li{ align-items:flex-start; }
  .btn{ width:100%; }

  /* packages table → stacked rows */
  .prow-link{ grid-template-columns:38px 1fr; grid-template-areas:"no main" "price price"; row-gap:16px; }
  .prow-no{ grid-area:no; }
  .prow-main{ grid-area:main; }
  .prow-price{ grid-area:price; text-align:left; align-items:flex-start; flex-direction:row; align-items:baseline; gap:12px; padding-top:8px; border-top:1px solid var(--hairline-2); flex-wrap:wrap; }
  .pr-unit{ margin-top:0; align-self:baseline; }
  .prow-go{ display:none; }

  .dest-grid{ grid-template-columns:1fr; }
  .contact-fields{ grid-template-columns:1fr; }
  .cfield-wide{ grid-column:auto; }
  .foot-bottom{ flex-direction:column; gap:8px; }
}

@media (max-width: 380px){
  :root{ --gut:18px; }
  .hero-facts{ gap:18px 26px; }
}

/* ---------- 15 · Reduced motion ------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html:not(.lenis){ scroll-behavior:auto; }
  *, *::before, *::after{ transition:none !important; animation:none !important; }
  [data-reveal],[data-hero-el]{ opacity:1 !important; transform:none !important; }
  .dest:hover .dest-frame img{ transform:none; }
  .scroll-progress{ display:none; }
}
