/* ============================================================
   The Ghat Experiences — design system
   Palette: brand teal #113339 · ivory #F7F3EA · tea amber #C98A2D
   Type: Fraunces (display serif) · Inter (text/UI) — self-hosted
   ============================================================ */

/* ---------- fonts ---------- */
@font-face{font-family:'Fraunces';src:url('../assets/fonts/fraunces-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../assets/fonts/fraunces-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../assets/fonts/fraunces-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../assets/fonts/fraunces-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../assets/fonts/fraunces-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --teal-950:#081E22; --teal-900:#0B2A2F; --teal-850:#0E3238; --teal:#113339;
  --teal-700:#1A4750; --teal-600:#255963; --teal-300:#7FAAAE; --teal-200:#AECAC9;
  --mist:#DCE7E4; --ivory:#F7F3EA; --ivory-2:#FDFBF6; --band-mist:#ECF1EC;
  --ink:#1C3236; --ink-soft:#41585C; --line:#D8DED6;
  --amber:#C98A2D; --amber-deep:#855610; --glow:#F6D488; --on-amber:#201503;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --wrap:1180px;
  --sh-1:0 1px 2px rgba(8,30,34,.06),0 8px 28px rgba(8,30,34,.09);
  --sh-2:0 2px 6px rgba(8,30,34,.10),0 18px 48px rgba(8,30,34,.16);
  --r:18px; --r-sm:12px; --head-h:71px;
}

/* ---------- reset-lite ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;font-family:var(--sans);font-size:1.05rem;line-height:1.7;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-700)}
a:hover{color:var(--teal)}
h1,h2,h3{font-family:var(--serif);color:var(--teal-900);line-height:1.12;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.5rem,6vw,4.4rem)}
h2{font-size:clamp(1.85rem,3.6vw,2.8rem)}
h3{font-size:1.32rem;line-height:1.3}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
button{font:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--amber);color:var(--on-amber);padding:.7rem 1.2rem;z-index:200;border-radius:0 0 12px 0;font-weight:600}
.skip:focus{left:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}

/* ---------- shared bits ---------- */
.eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 .9rem}
.eyebrow-light{color:var(--glow)}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}
.ic-lg{width:1.6em;height:1.6em}
.ic-xl{width:2.2em;height:2.2em}

.btn{display:inline-flex;align-items:center;gap:.55em;padding:.82em 1.5em;border-radius:999px;border:0;cursor:pointer;font-weight:600;font-size:.98rem;text-decoration:none;line-height:1.2;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-amber{background:var(--amber);color:var(--on-amber);box-shadow:0 4px 16px rgba(201,138,45,.28)}
.btn-amber:hover{background:#D69A3E;color:var(--on-amber)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-700);color:#fff}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.65)}
.btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.btn-lg{padding:1em 1.8em;font-size:1.04rem}
/* long download labels can't stay on one line on a small phone */
/* On a 320px phone a long label ("Ask us — we’ll say honestly") is wider than
   the card it sits in, and the card clips it — so let ANY button wrap here,
   not just the large ones. Wrapping only engages when the label cannot fit. */
@media (max-width:460px){.btn,.btn-lg{white-space:normal;text-align:center;max-width:100%}}
.btn-block{width:100%;justify-content:center}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:100;background:rgba(13,40,46,.72);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);border-bottom:1px solid rgba(255,255,255,.09);transition:background .25s ease,box-shadow .25s ease}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-head{background:var(--teal)}}
.site-head.scrolled{background:rgba(11,35,40,.96);box-shadow:0 6px 30px rgba(8,30,34,.38)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:70px}
.brand{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;padding:.35rem 0}
.brand img{height:26px;width:auto;display:block}
.brand-word{font-family:var(--sans);font-size:8.2px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#E8EFEA;white-space:nowrap;text-indent:.3em}
.brand-llp{color:var(--glow)}
.brand:hover .brand-word{color:#fff}
.nav-list{display:flex;align-items:center;gap:.35rem;list-style:none}
.nav-list>li:not(.nav-mobile-cta)>a,.nav-sub-btn{position:relative;display:inline-flex;align-items:center;gap:.4em;padding:.62rem .78rem;color:#E4EDE7;text-decoration:none;font-weight:500;font-size:.94rem;letter-spacing:.012em;background:none;border:0;cursor:pointer;border-radius:8px}
.nav-list>li:not(.nav-mobile-cta)>a::after{content:'';position:absolute;left:.78rem;right:.78rem;bottom:.32rem;height:2px;border-radius:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav-list>li:not(.nav-mobile-cta)>a:hover,.nav-sub-btn:hover,.has-sub.open .nav-sub-btn{color:#fff}
.nav-list>li:not(.nav-mobile-cta)>a:hover::after{transform:scaleX(1)}
.nav-list>li:not(.nav-mobile-cta)>a[aria-current="page"]{color:var(--glow)}
.nav-list>li:not(.nav-mobile-cta)>a[aria-current="page"]::after{transform:scaleX(1);background:var(--glow)}
.caret{width:10px;height:7px;transition:transform .2s ease;opacity:.8}
.has-sub:hover .caret,.has-sub.open .caret{transform:rotate(180deg)}
.has-sub{position:relative}
.sub{position:absolute;top:calc(100% + 12px);left:50%;translate:-50% 8px;background:var(--ivory-2);border-radius:18px;box-shadow:var(--sh-2);border:1px solid var(--line);padding:.9rem;opacity:0;visibility:hidden;transition:opacity .2s ease,translate .2s ease,visibility .2s;z-index:60}
.sub.mega{width:min(760px,92vw)}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{opacity:1;visibility:visible;translate:-50% 0}
.mega-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.2rem .4rem}
.mega-grid a{display:grid;grid-template-columns:64px 1fr;gap:.8rem;align-items:center;padding:.5rem .6rem;border-radius:12px;text-decoration:none;color:var(--ink)}
.mega-grid a:hover{background:var(--mist)}
.mega-grid img{width:64px;height:40px;object-fit:cover;border-radius:8px;display:block}
.mtxt{display:grid;gap:.05rem;min-width:0}
.mn{font-family:var(--serif);font-style:italic;font-size:.72rem;color:var(--amber-deep);line-height:1}
.mt{font-weight:600;font-size:.93rem;color:var(--teal-900);line-height:1.25}
.md{font-size:.78rem;color:var(--ink-soft);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mega-grid a:hover .mt{color:var(--teal-700)}
.mega-grid a[aria-current="page"] .mt{color:var(--amber-deep)}
.mega-all{display:flex;align-items:center;justify-content:center;gap:.45em;margin-top:.6rem;padding:.7rem;border-top:1px solid var(--line);font-weight:600;font-size:.93rem;color:var(--teal-700);text-decoration:none}
.mega-all:hover{color:var(--teal-900);background:var(--mist);border-radius:10px}
.head-cta{display:flex;align-items:center;gap:.8rem}
.head-plan{padding:.68em 1.35em;font-size:.92rem}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.55rem;border-radius:10px}
.nav-toggle-bars{display:block;width:26px}
.nav-toggle-bars i{display:block;height:2.5px;background:#fff;border-radius:2px;margin:5px 0;transition:.25s ease}
.nav-mobile-cta{display:none}
body.nav-open .nav-toggle-bars i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.nav-open .nav-toggle-bars i:nth-child(2){opacity:0}
body.nav-open .nav-toggle-bars i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:1120px){
  /* backdrop-filter would make the header the containing block for the
     fixed-position nav overlay — use a solid bar on small screens instead */
  .site-head{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--teal)}
  .head-plan{display:none}
  .nav-toggle{display:grid;place-items:center;width:46px;height:46px}
  .nav{position:fixed;inset:70px 0 0 0;background:var(--teal-900);padding:1.1rem 1.1rem calc(1.6rem + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transition:.25s ease;z-index:90;overscroll-behavior:contain}
  body.nav-open .nav{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden}
  .nav-list{flex-direction:column;align-items:stretch;gap:.15rem}
  .nav-list>li:not(.nav-mobile-cta)>a,.nav-sub-btn{width:100%;min-height:52px;font-size:1.06rem;padding:.9rem .7rem;justify-content:space-between;border-radius:12px}
  .nav-list>li:not(.nav-mobile-cta)>a::after{display:none}
  .nav-list>li:not(.nav-mobile-cta)>a:hover,.nav-sub-btn:hover{background:rgba(255,255,255,.07)}
  .sub{position:static;opacity:1;visibility:visible;translate:none;box-shadow:none;border:0;background:rgba(255,255,255,.05);padding:.5rem;margin:.15rem 0 .6rem;border-radius:14px}
  .sub.mega{display:none;width:auto}
  .has-sub.open .sub.mega{display:block}
  .has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{translate:none}
  .mega-grid{grid-template-columns:1fr;gap:.1rem}
  .mega-grid a{grid-template-columns:76px 1fr;gap:.85rem;min-height:60px;padding:.55rem;border-radius:12px}
  .mega-grid a:hover,.mega-grid a:active{background:rgba(255,255,255,.09)}
  .mega-grid img{width:76px;height:48px;border-radius:9px}
  .mt{color:#EAF1EC;font-size:.99rem}
  .md{color:#9FB8AE;font-size:.82rem;white-space:normal}
  .mn{color:var(--glow)}
  .mega-grid a[aria-current="page"] .mt{color:var(--glow)}
  .mega-all{color:var(--glow);border-top-color:rgba(255,255,255,.14);min-height:48px}
  .mega-all:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav-mobile-cta{display:block;margin-top:1.1rem}
  .nav-mobile-cta .btn{width:100%;justify-content:center;min-height:52px}
}

/* ---------- heroes ---------- */
.home-hero,.page-hero{position:relative;color:#fff;overflow:hidden;background:var(--teal-900);display:flex;flex-direction:column;justify-content:flex-end;margin-top:calc(-1 * var(--head-h));padding-top:var(--head-h)}
.home-hero .wrap,.page-hero .wrap{width:100%}
.home-hero{min-height:calc(min(94vh,900px) + var(--head-h))}
.page-hero{min-height:calc(min(72vh,680px) + var(--head-h))}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home-hero picture{position:absolute;inset:0;z-index:0}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,30,34,.42) 0%,rgba(8,30,34,.05) 38%,rgba(8,30,34,.62) 100%)}
.home-hero.has-photo .hero-art{object-position:center 38%}
.home-hero.has-photo .hero-shade{background:linear-gradient(102deg,rgba(8,30,34,.82) 0%,rgba(8,30,34,.55) 38%,rgba(10,36,41,.18) 68%,rgba(8,30,34,.05) 100%),linear-gradient(180deg,rgba(8,30,34,.35) 0%,rgba(8,30,34,0) 30%,rgba(8,30,34,.38) 78%,rgba(8,30,34,.6) 100%)}
.hero-ridge{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:auto;z-index:1;pointer-events:none;display:none}
.home-hero.has-photo .hero-ridge{display:block}
.hero-copy{position:relative;z-index:2;padding-block:5.2rem 3.4rem;max-width:900px}
.home-hero .hero-copy{padding-bottom:2.2rem}
.hero-copy h1{color:#fff;text-shadow:0 2px 30px rgba(8,30,34,.45)}
.hero-copy .eyebrow{color:var(--glow)}
.lede{font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.6;max-width:640px;color:#EAF1EC;text-shadow:0 1px 18px rgba(8,30,34,.5)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin-top:1.6rem}
.chips li{display:inline-flex;align-items:center;gap:.5em;background:rgba(8,30,34,.5);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);padding:.5em 1em;border-radius:999px;font-size:.9rem;font-weight:500}
.hero-trust{position:relative;z-index:2;padding-bottom:1.6rem}
.home-hero.has-photo .hero-trust{padding-bottom:clamp(2.4rem,9vw,140px)}
.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.7rem;list-style:none;background:rgba(8,30,34,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);border-radius:var(--r);padding:1rem 1.2rem}
.trust-strip li{display:flex;gap:.6em;align-items:flex-start;font-size:.88rem;line-height:1.45;color:#DFE9E3}
.trust-strip .ic{color:var(--glow);margin-top:.15em}

/* ---------- bands / sections ---------- */
.band{padding-block:clamp(3.4rem,7vw,5.6rem)}
.band-tight{padding-block:clamp(2.6rem,5vw,3.8rem)}
.band-ivory{background:var(--ivory)}
.band-mist{background:var(--band-mist)}
.band-dark{background:var(--teal-900);color:#DFE9E3}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark .eyebrow{color:var(--glow)}
.band-dark .sec-sub{color:#B9CCC4}
.sec-head{max-width:780px;margin-bottom:2.6rem}
.sec-sub{font-size:1.1rem;color:var(--ink-soft);margin-top:.2rem}

/* value cards */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.1rem}
.vcard{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.5rem;box-shadow:var(--sh-1)}
.band-mist .vcard{background:#fff}
.vic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--teal);color:var(--glow);margin-bottom:1rem}
.vcard h3{margin-bottom:.35em}
.vcard p{margin:0;color:var(--ink-soft);font-size:.98rem}

/* experience menu — poster wall: type set on the artwork */
.xgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
.xcard{position:relative;display:flex;flex-direction:column;justify-content:space-between;grid-column:span 2;aspect-ratio:16/10.6;padding:1.15rem 1.3rem 1.3rem;border-radius:var(--r);overflow:hidden;isolation:isolate;text-decoration:none;box-shadow:var(--sh-1);transition:transform .25s ease,box-shadow .25s ease}
.xcard:nth-child(-n+2){grid-column:span 3;aspect-ratio:16/8.4}
.xcard:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.xbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.xcard:hover .xbg{transform:scale(1.06)}
.xshade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,30,34,.24) 0%,rgba(8,30,34,0) 30%,rgba(8,30,34,.16) 55%,rgba(8,30,34,.85) 100%)}
/* wrap, so the widest price pill ("₹4,500 / person onwards") drops below the
   number instead of pushing out of the card in the 640–700px band, where the
   grid has just gone two-up and the cards are at their narrowest */
.xtop{display:flex;justify-content:space-between;align-items:center;gap:.5rem .6rem;flex-wrap:wrap}
.xno,.xtag{font-size:.8rem;font-weight:600;color:#F2EBD9;background:rgba(8,30,34,.55);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.32em .9em;border-radius:999px;white-space:nowrap}
.xno{font-family:var(--serif);font-style:italic;color:var(--glow)}
/* "onwards" inside the card's price pill. Same colour as the figure — the pill
   sits over a photograph, so dimming it would cost contrast; it is set smaller
   and tracked instead, which is enough to subordinate it. */
.xonw{font-size:.86em;font-weight:600;letter-spacing:.04em}
.xfoot{display:grid;gap:.3rem;justify-items:start}
.xt{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.15;color:#fff;text-shadow:0 2px 18px rgba(8,30,34,.6);text-wrap:balance}
.xcard:nth-child(-n+2) .xt{font-size:1.8rem}
.xd{color:#D7E2DC;font-size:.94rem;line-height:1.5;max-width:52ch;text-shadow:0 1px 12px rgba(8,30,34,.65)}
.xgo{display:inline-flex;align-items:center;gap:.45em;margin-top:.6rem;font-weight:600;font-size:.92rem;color:var(--glow)}
.xgo .ic{transition:translate .2s ease}
.xcard:hover .xgo .ic{translate:4px 0}
@media (max-width:1020px){
  .xgrid{grid-template-columns:1fr 1fr;gap:1rem}
  .xcard,.xcard:nth-child(-n+2){grid-column:span 1;aspect-ratio:16/11}
  .xcard:nth-child(-n+2) .xt{font-size:1.5rem}
}
@media (max-width:620px){
  .xgrid{grid-template-columns:1fr}
  .xcard,.xcard:nth-child(-n+2){aspect-ratio:16/10}
}

/* signature moments — the day-line: one perfect day, dawn to dusk */
.dayline{margin-top:1rem}
.day-ribbon{position:relative;height:12px;border-radius:999px;margin:3rem 0 2.4rem;background:linear-gradient(90deg,#16343B 0%,#C9963F 11%,#E9B84C 18%,#BCD4CC 38%,#DCE7E4 50%,#BCD4CC 62%,#E9B84C 82%,#C9963F 89%,#102E34 100%);box-shadow:0 0 30px rgba(233,184,76,.14)}
.day-dot{position:absolute;top:50%;translate:-50% -50%;width:19px;height:19px;border-radius:50%;background:var(--glow);border:4px solid var(--teal-900);box-shadow:0 0 0 2px rgba(246,212,136,.55),0 0 20px rgba(246,212,136,.5)}
.day-end{position:absolute;top:-1.9rem;font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#7FA8A2;text-transform:uppercase}
.day-end-a{left:0}
.day-end-b{right:0}
.day-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem}
.day-grid li{display:grid;gap:.5rem;justify-items:center;text-align:center}
.day-time{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--glow)}
.day-grid h3{color:#fff;font-size:1.32rem;margin:0;text-wrap:balance}
.day-grid p{margin:0;color:#B9CCC4;font-size:.97rem;line-height:1.65;max-width:36ch}
@media (max-width:880px){
  .day-ribbon{display:none}
  .day-grid{grid-template-columns:1fr;gap:2rem;margin-top:1.6rem}
  .day-grid li{position:relative;padding-left:1.7rem;text-align:left;justify-items:start}
  .day-grid li::before{content:'';position:absolute;left:0;top:.4rem;bottom:.1rem;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--glow),rgba(246,212,136,.12))}
}

/* moments */
.moments{list-style:none;display:grid;gap:1.1rem;max-width:860px}
.moments li{display:flex;gap:1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.6rem;box-shadow:var(--sh-1)}
.mnum{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--amber);line-height:1;min-width:2.2ch}
.moments h3{margin-bottom:.25em;font-size:1.22rem}
.moments p{margin:0;color:var(--ink-soft);font-size:.98rem}

/* how it works — steps index + sample plan sheet */
.how-list{list-style:none;display:grid}
.how-list li{display:grid;grid-template-columns:auto 1fr;gap:1.15rem;padding:1.3rem 0;border-bottom:1px solid var(--line);align-items:start}
.how-list li:first-child{padding-top:.3rem}
.how-list li:last-child{border-bottom:0}
.hn{font-family:var(--serif);font-size:1.95rem;font-weight:600;color:var(--amber);line-height:1.05;min-width:1.3ch}
.how-list h3{font-size:1.24rem;margin:0 0 .2em}
.how-list p{margin:0;color:var(--ink-soft);font-size:.97rem;line-height:1.6}

/* A — the sample plan sheet */
.howA{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1.8rem,4vw,3.2rem);align-items:center}
@media (max-width:920px){.howA{grid-template-columns:1fr}}
.plansheet{position:relative;background:#FFFDF6;border:1px solid var(--line);border-radius:14px;padding:1.9rem 2rem 1.7rem;box-shadow:var(--sh-2);transform:rotate(-.7deg)}
/* masthead: a short label and the day-count share one row and neither is
   allowed to wrap; the document title sits under them. The old single long
   line wrapped on a phone and squeezed "3 days" into a two-line blob. */
.ps-head{padding-bottom:1rem;border-bottom:2px solid var(--teal-900)}
.ps-head-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.ps-kicker{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);white-space:nowrap}
.ps-title{display:block;margin-top:.3rem;font-family:var(--serif);font-size:1.18rem;
  font-weight:600;color:var(--teal-950);letter-spacing:-.01em}
.ps-chip{flex:none;white-space:nowrap;font-size:.7rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;background:var(--mist);color:var(--teal-700);
  padding:.42em .85em;border-radius:999px}
.ps-days{list-style:none;display:grid}
.ps-days li{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px dashed var(--line)}
.ps-day{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--amber-deep);min-width:4.4ch}
.ps-days p{margin:0;font-size:.98rem;color:var(--ink)}
.ps-note{position:relative;margin:.9rem 0 0;font-family:var(--serif);font-style:italic;color:var(--amber-deep);font-size:.95rem}
.ps-note::before{content:'↳ ';color:var(--amber)}
.ps-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.4rem;padding-top:1.1rem;border-top:2px solid var(--teal-900);font-weight:600;color:var(--teal-900);font-size:.95rem;flex-wrap:wrap}
.ps-stamp{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);border:2px solid var(--amber-deep);border-radius:8px;padding:.5em .9em;transform:rotate(-3deg);box-shadow:inset 0 0 0 2px #FFFDF6,inset 0 0 0 3px var(--amber-deep)}

/* options table */
.tbl-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:var(--sh-1);border:1px solid var(--line);background:#fff}
table.opts{width:100%;border-collapse:collapse;min-width:640px;font-size:.97rem}
.opts thead th{background:var(--teal);color:#fff;text-align:left;padding:.95rem 1.1rem;font-weight:600;font-size:.9rem;letter-spacing:.03em}
.opts tbody th,.opts tbody td{padding:.9rem 1.1rem;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.opts tbody th{font-weight:600;color:var(--teal-900)}
.opts tbody tr:nth-child(even){background:var(--ivory)}
.opts td:last-child{font-weight:700;color:var(--amber-deep);white-space:nowrap}
/* In a rate table the word repeats on every row, so it drops to a second line
   under the figure and reads as a column-wide unit rather than eight shouts.
   --ink-soft, not amber, so the eye still lands on the number first. */
.opts .onw{display:block;font-size:.68rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:.15rem}
.tbl-note{font-size:.9rem;color:var(--ink-soft);margin-top:.9rem;max-width:820px}

/* checklist split */
.split{display:grid;grid-template-columns:1.4fr 1fr;gap:1.3rem;align-items:start}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.split-main,.split-side{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.7rem;box-shadow:var(--sh-1)}
.split-side{background:var(--teal);color:#DFE9E3}
.split-side h3{color:#fff}
.checks{list-style:none;display:grid;gap:.75rem;margin-top:1rem}
.checks li{display:flex;gap:.65em;align-items:flex-start}
.checks .ic{color:var(--amber-deep);margin-top:.2em}
.knows{list-style:none;display:grid;gap:.7rem;margin-top:1rem}
.knows li{padding-left:1.1em;position:relative;font-size:.96rem}
.knows li::before{content:'—';position:absolute;left:0;color:var(--glow)}

/* faq */
.faq{border-bottom:1px solid var(--line);max-width:860px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem .2rem;font-family:var(--serif);font-weight:600;font-size:1.16rem;color:var(--teal-900)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--sans);font-size:1.5rem;font-weight:400;color:var(--amber-deep);transition:transform .2s ease;line-height:1}
.faq[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 .2rem 1.2rem;color:var(--ink-soft);max-width:70ch}
.faq-a p{margin:0}

/* cta panel */
.cta-panel{background:var(--teal-900);color:#DFE9E3;padding-block:clamp(3.6rem,7vw,5.4rem);position:relative;overflow:hidden}
.cta-panel::before{content:'';position:absolute;inset:0;background:url('../assets/img/contour.svg') repeat;background-size:540px;opacity:.10}
.cta-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr}}
.cta-copy h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem)}
.cta-copy>p{max-width:46ch}
.cta-next{list-style:none;display:grid;margin-top:1.7rem;border-top:1px solid rgba(255,255,255,.14);max-width:42ch}
.cta-next li{display:flex;gap:.7em;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.97rem;color:#CFE0D8;line-height:1.55}
.cta-next .ic{color:var(--glow);margin-top:.22em}
.cta-alt{list-style:none;display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.5rem}
.cta-alt a{color:#CFE0D8;text-decoration:none;display:inline-flex;align-items:center;gap:.55em;font-weight:500}
.cta-alt a:hover{color:#fff;text-decoration:underline}
.enquiry{background:var(--ivory-2);color:var(--ink);border-radius:var(--r);padding:1.9rem 1.8rem;box-shadow:var(--sh-2)}
.enquiry h3{margin-bottom:.25rem}
.enquiry-sub{font-size:.88rem;color:var(--ink-soft);margin:0 0 1.2rem}
.frow{margin-bottom:1rem}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.frow2{grid-template-columns:1fr}}
.frow label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.35rem;color:var(--teal-900)}
.req{color:var(--amber-deep)}
.frow input,.frow textarea{width:100%;padding:.78em .95em;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;font:inherit;color:var(--ink);transition:border-color .15s ease}
.frow input:focus,.frow textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(201,138,45,.18)}
.frow input[aria-invalid="true"],.frow textarea[aria-invalid="true"]{border-color:#B3452E}
.ferr{color:#8F2F1B;background:#F7E5DF;border-radius:10px;padding:.6rem .9rem;font-size:.92rem;font-weight:500}
.fine{font-size:.84rem;color:var(--ink-soft);margin:0.9rem 0 0}
/* an inline link inside a sentence, so WCAG 2.2 exempts it from the target-size
   rule — but it is the email fallback on every enquiry form, so grow the hit
   area with padding offset by an equal negative margin: bigger to touch, same
   to look at, and the line box is unaffected */
.fine a{color:var(--teal-700);padding:.7rem .25rem;margin:-.7rem -.25rem}

/* related */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.rel-card{position:relative;display:block;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1);aspect-ratio:16/9;text-decoration:none}
.rel-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rel-card:hover img{transform:scale(1.05)}
.rel-t{position:absolute;inset:auto 0 0 0;padding:2.2rem 1.2rem .95rem;background:linear-gradient(transparent,rgba(8,30,34,.88));color:#fff;font-family:var(--serif);font-weight:600;font-size:1.18rem;display:flex;align-items:center;gap:.5em}

/* story / brochure teasers */
.story-tease{display:grid;grid-template-columns:1.5fr 1fr;gap:2.4rem;align-items:center}
@media (max-width:820px){.story-tease{grid-template-columns:1fr}}
.story-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.2rem;box-shadow:var(--sh-1);text-align:center}
.story-card img{margin-inline:auto;margin-bottom:1rem}
.story-card p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--teal-700)}

/* founders / gmv / prose */
.prose{max-width:70ch;font-size:1.12rem}
.prose p{margin-bottom:1.3em}
.founders{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.1rem}
.founder{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.5rem;box-shadow:var(--sh-1);text-align:center}
.f-mono{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--teal);color:var(--glow);font-family:var(--serif);font-weight:600;font-size:1.4rem;margin-bottom:1rem}
.founder h3{font-size:1.18rem;margin-bottom:.15em}
.founder p{margin:0;color:var(--ink-soft);font-size:.9rem}
.gmv{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.gmv>div{background:var(--ivory-2);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--r-sm);padding:1.6rem 1.5rem;box-shadow:var(--sh-1)}
.gmv h3{font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);font-weight:700;color:var(--amber-deep)}
.gmv p{margin:0;font-family:var(--serif);font-size:1.08rem;color:var(--teal-900);font-style:italic}

/* contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1.1rem}
.ccard{display:flex;flex-direction:column;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.6rem;box-shadow:var(--sh-1);text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
a.ccard:hover{transform:translateY(-4px);box-shadow:var(--sh-2);color:var(--ink)}
.ccard .ic-lg{color:var(--amber-deep)}
.ccard h2{font-size:1.3rem;margin:0.4rem 0 0}
.ccard p{margin:0;color:var(--ink-soft)}
.ccta{margin-top:auto;padding-top:.8rem;font-weight:600;color:var(--amber-deep);display:inline-flex;gap:.4em;align-items:center;font-size:.94rem}

/* footer */
.site-foot{background:var(--ivory)}
.foot-ridge{width:100%;display:block;margin-bottom:-2px}
.foot-main{background:var(--teal);color:#CFE0D8;padding:3rem 0 1.6rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1.8fr .9fr 1.3fr;gap:2.6rem;align-items:start}
@media (max-width:1020px){.foot-grid{grid-template-columns:1fr 1fr;gap:2.2rem}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px;text-decoration:none;margin-bottom:1.1rem}
.foot-lockup img{height:34px;width:auto}
.foot-lockup .brand-word{font-size:9.5px;letter-spacing:.28em;text-indent:0}
.foot-tag{font-size:.95rem;max-width:32ch;line-height:1.65;margin:0 0 .9rem}
.foot-tree{display:inline-flex;gap:.5em;align-items:center;font-size:.9rem;color:var(--glow);font-weight:500;margin:0}
.foot-col h3{color:#fff;font-family:var(--sans);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 1.1rem}
.foot-col ul{list-style:none;display:grid;gap:.6rem}
.foot-col a{color:#CFE0D8;text-decoration:none;font-size:.95rem;display:inline-flex;gap:.5em;align-items:center}
.foot-col a:hover{color:var(--glow);text-decoration:underline;text-underline-offset:3px}
.foot-2col{grid-template-columns:1fr 1fr;column-gap:1.6rem}
@media (max-width:560px){.foot-2col{grid-template-columns:1fr}}
.foot-all{display:inline-flex;align-items:center;gap:.45em;margin-top:1.1rem;font-size:.92rem;font-weight:600;color:var(--glow)!important;text-decoration:none}
.foot-all:hover{color:#fff!important}
.foot-contact li{display:flex;gap:.5em;align-items:center;font-size:.95rem}
.foot-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:2.6rem;padding-top:1.3rem;font-size:.85rem;color:#9FB8AE}
.foot-base p{margin:0}
.foot-note{max-width:52ch;text-align:right;padding-right:130px}
@media (max-width:700px){.foot-note{text-align:left;padding-right:60px}}

/* whatsapp fab */
.wa-fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:80;display:inline-flex;align-items:center;gap:.55em;background:var(--teal);color:#fff;border:1px solid rgba(255,255,255,.25);text-decoration:none;font-weight:600;font-size:.95rem;padding:.75em 1.25em;border-radius:999px;box-shadow:0 10px 34px rgba(8,30,34,.4);transition:transform .2s ease}
.wa-fab:hover{transform:translateY(-3px);color:#fff}
.wa-fab .ic{color:#4ADE80}
@media (max-width:560px){.wa-fab span{display:none}.wa-fab{padding:.85em}}

/* reveal — hidden state only applies when JS is running (html.js) */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
@media print{.wa-fab,.site-head,.cta-panel form,.foot-ridge{display:none}}

/* ============================================================
   "Two Munnars" comparison ledger — homepage pitch section
   ============================================================ */
.pitch{display:grid;grid-template-columns:5fr 7fr;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-2);margin-top:.6rem}
.pitch-usual{position:relative;background:var(--teal-900);color:#9DB4AD;padding:2.7rem 2.5rem;display:flex;flex-direction:column}
.pitch-usual::before{content:'';position:absolute;inset:0;background:url('../assets/img/contour.svg') repeat;background-size:460px;opacity:.12;pointer-events:none}
.pitch-usual>*{position:relative}
.pitch-tag{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.5rem}
.pitch-usual .pitch-tag{color:#7FA8A2}
.pitch-usual ul{list-style:none;display:grid;gap:1.05rem}
.pitch-usual li{display:flex;gap:.75em;align-items:baseline;font-size:1rem;line-height:1.5;text-decoration:line-through;text-decoration-color:rgba(246,212,136,.55);text-decoration-thickness:1.5px}
.pitch-usual li::before{content:'✕';font-size:.72em;color:rgba(246,212,136,.7);flex:none;translate:0 -1px}
.pitch-usual-end{margin:auto 0 0;padding-top:2rem;font-family:var(--serif);font-style:italic;font-size:1.08rem;color:var(--glow)}
.pitch-vs{position:absolute;left:41.666%;top:50%;translate:-50% -50%;z-index:2;width:60px;height:60px;border-radius:50%;background:var(--amber);color:var(--on-amber);font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.15rem;display:grid;place-items:center;border:5px solid var(--ivory);box-shadow:0 6px 18px rgba(8,30,34,.25)}
.pitch-ours{background:#fff;padding:2.7rem 2.8rem}
.pitch-ours .pitch-tag{color:var(--amber-deep)}
.pitch-ours ol{list-style:none;display:grid}
.pitch-ours li{display:flex;gap:1.15rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.pitch-ours li:first-child{padding-top:.2rem}
.pitch-ours li:last-child{border-bottom:0}
.pn{font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--amber);min-width:2.3ch;padding-top:.22em}
.pitch-ours h3{font-size:1.2rem;margin:0 0 .18em}
.pitch-ours li p{margin:0;color:var(--ink-soft);font-size:.96rem;line-height:1.55}
.pitch-cta{display:inline-flex;align-items:center;gap:.5em;margin-top:1.4rem;font-weight:600;color:var(--amber-deep);text-decoration:none}
.pitch-cta .ic{transition:translate .2s ease}
.pitch-cta:hover{color:var(--teal-900)}
.pitch-cta:hover .ic{translate:4px 0}
.pitch-quote{max-width:740px;margin:3rem auto 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.42rem);line-height:1.55;color:var(--teal-700)}
@media (max-width:880px){
  .pitch{grid-template-columns:1fr}
  .pitch-vs{position:static;translate:none;justify-self:center;margin:-27px auto;order:2}
  .pitch-usual{order:1;padding:2.3rem 1.7rem 2.9rem}
  .pitch-ours{order:3;padding:2.9rem 1.7rem 2.3rem}
}

.pitch-quote-by{display:block;margin-top:.9rem;font-family:var(--sans);font-style:normal;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-deep)}

/* ============================================================
   Photography layer — heroes, poster cards, related cards
   ============================================================ */
.hero-pic{position:absolute;inset:0;z-index:0}
.hero-pic .hero-art{width:100%;height:100%;object-fit:cover}
.page-hero.has-photo .hero-art{object-position:center 45%}
.page-hero.has-photo .hero-shade{background:
  linear-gradient(100deg,rgba(8,30,34,.86) 0%,rgba(8,30,34,.62) 34%,rgba(10,36,41,.24) 66%,rgba(8,30,34,.10) 100%),
  linear-gradient(180deg,rgba(8,30,34,.46) 0%,rgba(8,30,34,.06) 26%,rgba(8,30,34,.34) 72%,rgba(8,30,34,.58) 100%)}
.page-hero.has-photo .hero-copy{padding-block:6.4rem clamp(5.5rem,9.5vw,9.5rem)}
.page-hero.hero-short{min-height:min(58vh,540px)}
.page-hero.hero-short .hero-copy{padding-block:5.4rem clamp(5rem,9vw,9rem)}
.page-hero.has-photo .hero-ridge{display:block}
@media (max-width:760px){
  .page-hero.has-photo .hero-shade{background:
    linear-gradient(180deg,rgba(8,30,34,.62) 0%,rgba(8,30,34,.30) 30%,rgba(8,30,34,.58) 66%,rgba(8,30,34,.80) 100%)}
  .page-hero.has-photo .hero-copy,.page-hero.hero-short .hero-copy{padding-block:4.4rem clamp(4rem,13vw,7rem)}
}

/* poster wall + related cards now carry <picture> wrappers */
.xbg-pic{position:absolute;inset:0;z-index:-2;overflow:hidden}
.xbg-pic .xbg{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.xcard:hover .xbg-pic .xbg{transform:scale(1.06)}
.xshade{background:linear-gradient(180deg,rgba(8,30,34,.30) 0%,rgba(8,30,34,.06) 30%,rgba(8,30,34,.38) 58%,rgba(8,30,34,.90) 100%)}
.rel-img-pic{position:absolute;inset:0}
.rel-img-pic .rel-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rel-card:hover .rel-img-pic .rel-img{transform:scale(1.05)}

/* home hero: photo is busier than artwork — strengthen the reading zone */
.home-hero.has-photo .hero-shade{background:
  linear-gradient(96deg,rgba(8,30,34,.88) 0%,rgba(8,30,34,.66) 30%,rgba(10,36,41,.26) 62%,rgba(8,30,34,.08) 100%),
  linear-gradient(180deg,rgba(8,30,34,.42) 0%,rgba(8,30,34,.04) 26%,rgba(8,30,34,.30) 68%,rgba(8,30,34,.62) 100%)}
@media (max-width:760px){
  .home-hero.has-photo .hero-shade{background:
    linear-gradient(180deg,rgba(8,30,34,.66) 0%,rgba(8,30,34,.34) 28%,rgba(8,30,34,.56) 62%,rgba(8,30,34,.86) 100%)}
}

/* ============================================================
   Kerala Journeys regions + FAQ groups
   ============================================================ */
.regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}
.reg{background:#fff;border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:var(--r);padding:1.6rem 1.5rem;box-shadow:var(--sh-1)}
.reg h3{margin-bottom:.35em}
.reg p{margin:0;color:var(--ink-soft);font-size:.97rem;line-height:1.6}
.reg-meta{margin-top:.9rem!important;font-size:.82rem;font-weight:600;color:var(--amber-deep);letter-spacing:.02em}
.faq-group{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:2px solid var(--amber)}
.band-mist .faq{border-bottom-color:#C9D3CD}

/* ===== v2 additions — 2026 catalogue ===== */
/* the mega panel is centred on the "Experiences" item, so its width has to stay
   under twice the distance from that item to the viewport edge — a flat
   min-width:920px pushed it off-screen between 1121 and 1280px */
@media (min-width:1121px){
  .mega-grid{grid-template-columns:1fr 1fr}
  .sub.mega{width:min(720px,calc(100vw - 2rem));min-width:0}
}
@media (min-width:1300px){
  .mega-grid{grid-template-columns:1fr 1fr 1fr}
  .sub.mega{width:min(920px,calc(100vw - 2rem))}
}
@media (max-width:820px){}
.chips-static{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0}
.chips-static li{background:var(--mist,#ECF1EC);color:var(--teal-700,#1A4750);font-weight:600;font-size:.95rem;padding:.55rem 1rem;border-radius:999px}
.founders-direct a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 0;
  font-weight:700;color:var(--teal-700,#1A4750);text-decoration:none;font-size:1.15rem}
.founders-direct a:hover{color:var(--amber-deep,#855610)}
.founder p a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 0;
  font-weight:600;color:var(--teal-700,#1A4750);text-decoration:none}

/* ===== Kurinji bloom band — the twelve-year clock ===== */
.kbloom{position:relative;overflow:hidden;background:var(--teal-950);isolation:isolate}
.kbloom-pic{position:absolute;inset:0;width:100%;height:100%;z-index:-2;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 20%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.5) 46%,rgba(0,0,0,.8) 58%,#000 70%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 20%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.5) 46%,rgba(0,0,0,.8) 58%,#000 70%)}
.kbloom-pic img{width:100%;height:100%;object-fit:cover;object-position:68% 48%}
.kbloom-veil{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(8,30,34,.55) 0%,rgba(8,30,34,.4) 34%,rgba(8,30,34,.22) 50%,rgba(8,30,34,.08) 66%,rgba(8,30,34,0) 82%),
  linear-gradient(180deg,rgba(8,30,34,.5) 0%,rgba(8,30,34,0) 26%,rgba(8,30,34,0) 72%,rgba(8,30,34,.55) 100%)}
.kbloom-in{padding:clamp(3.6rem,7vw,6rem) 0}
.kbloom-copy{max-width:36rem}
.kbloom-eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.78rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--glow);
  border:1px solid rgba(246,212,136,.42);border-radius:999px;padding:.5em 1.1em;margin-bottom:1.3rem}
.kbloom-eyebrow .kstar{color:var(--amber);font-size:.9em}
.kbloom h2{font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.06;color:#fff;letter-spacing:-.015em;margin:0 0 1rem}
.kbloom-lede{color:var(--mist);font-size:1.06rem;line-height:1.65;max-width:33rem;margin:0 0 2.1rem}
.kbloom-lede strong{color:var(--glow);font-weight:600}

/* the cycle rail */
.kcycle{margin:0 0 2.2rem}
.kcycle-cap{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-300);margin:0 0 1rem}
.kcycle-rail{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0;position:relative}
.kcycle-rail::before{content:"";position:absolute;left:6%;right:6%;top:5px;height:0;
  border-top:1px dashed rgba(174,202,201,.38)}
.kcycle-rail li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.kdot{width:11px;height:11px;border-radius:50%;background:var(--teal-600);
  box-shadow:0 0 0 4px var(--teal-950);position:relative;z-index:1}
.kcycle-rail .ky{font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--teal-200);line-height:1}
.kcycle-rail .klab{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-300);line-height:1}
.kcycle-rail .is-now .kdot{width:17px;height:17px;background:var(--amber);margin-top:-3px;
  box-shadow:0 0 0 4px var(--teal-950),0 0 0 9px rgba(201,138,45,.28)}
.kcycle-rail .is-now .ky{font-size:1.6rem;color:#fff}
.kcycle-rail .is-now .klab{color:var(--glow)}
.kcycle-rail .is-next .kdot{background:transparent;border:1.5px dashed rgba(174,202,201,.6)}
.kcycle-rail .is-next .ky,.kcycle-rail .is-next .klab{color:rgba(190,214,213,.92)}

.kbloom-act{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.kbloom-note{font-size:.87rem;color:var(--teal-200)}

@media (max-width:900px){
  .kbloom-pic{width:100%;height:62%;inset:0 0 auto 0;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 42%,rgba(0,0,0,.75) 62%,rgba(0,0,0,.3) 82%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 42%,rgba(0,0,0,.75) 62%,rgba(0,0,0,.3) 82%,transparent 100%)}
  .kbloom-pic img{object-position:56% 40%}
  .kbloom-veil{background:
    linear-gradient(180deg,rgba(8,30,34,.3) 0%,rgba(8,30,34,.22) 26%,rgba(8,30,34,.45) 46%,rgba(8,30,34,.85) 62%,var(--teal-950) 76%)}
  .kbloom-in{padding-top:clamp(14rem,44vw,20rem)}
  .kbloom-copy{max-width:none}
}
@media (max-width:560px){
  .kcycle-rail{grid-template-columns:repeat(5,1fr);gap:0}
  .kcycle-rail .ky{font-size:.82rem}
  .kcycle-rail .is-now .ky{font-size:1.2rem}
  .kcycle-rail .klab{font-size:.58rem;letter-spacing:.06em}
  .kbloom-act{gap:.8rem}
  .kbloom-note{font-size:.8rem}
}
/* cycle rail on light bands */
.kcycle-light{max-width:44rem;margin:0 auto 2.6rem}
.kcycle-light .kcycle-cap{color:var(--amber-deep)}
.kcycle-light .kcycle-rail::before{border-top-color:var(--line)}
.kcycle-light .kdot{background:var(--teal-300);box-shadow:0 0 0 4px var(--ivory)}
.kcycle-light .ky{color:var(--teal-700)}
.kcycle-light .klab{color:var(--ink-soft)}
.kcycle-light .is-now .kdot{background:var(--amber);box-shadow:0 0 0 4px var(--ivory),0 0 0 9px rgba(201,138,45,.20)}
.kcycle-light .is-now .ky{color:var(--teal-950)}
.kcycle-light .is-now .klab{color:var(--amber-deep)}
.kcycle-light .is-next .kdot{background:transparent;border:1.5px dashed var(--teal-300)}
.kcycle-light .is-next .ky,.kcycle-light .is-next .klab{color:var(--ink-soft);opacity:.75}

/* full-width invitation tile closing the poster wall */
.xcta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1.2rem 2rem;padding:1.9rem 2.2rem;border-radius:var(--r);text-decoration:none;
  background:linear-gradient(115deg,var(--teal-900) 0%,var(--teal-700) 100%);
  box-shadow:var(--sh-1);transition:transform .25s ease,box-shadow .25s ease}
.xcta:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.xcta-copy{display:block;max-width:44rem}
.xcta-t{display:block;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--glow);line-height:1.2;margin-bottom:.35rem}
.xcta-d{display:block;color:var(--mist);font-size:.97rem;line-height:1.6}
.xcta-btn{display:inline-flex;align-items:center;gap:.5em;flex:none;background:var(--amber);color:var(--on-amber);
  font-weight:700;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;white-space:nowrap}
.xcta:hover .xcta-btn{background:var(--glow)}
.xcta-btn .ic{width:1.1em;height:1.1em}
@media (max-width:720px){
  .xcta{padding:1.5rem 1.4rem;gap:1rem}
  .xcta-t{font-size:1.3rem}
  .xcta-btn{width:100%;justify-content:center}
}

/* ══════════ Signature page — editorial layout ══════════ */
.sig-hero{position:relative;overflow:hidden;background:var(--teal-950);isolation:isolate;
  min-height:min(72vh,680px);display:flex;align-items:flex-end}
.sig-hero .hero-ridge{display:block}
.sig-hero .hero-pic{position:absolute;inset:0;z-index:-2}
.sig-hero .hero-art{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.sig-hero-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(8,30,34,.52) 0%,rgba(8,30,34,.30) 42%,rgba(8,30,34,.06) 72%,rgba(8,30,34,0) 100%),
  linear-gradient(180deg,rgba(8,30,34,.58) 0%,rgba(8,30,34,.30) 20%,rgba(8,30,34,.52) 44%,rgba(8,30,34,.80) 72%,rgba(8,30,34,.96) 100%)}
.sig-hero-in{padding-top:clamp(4rem,10vh,6.5rem);padding-bottom:max(5.5rem,calc(7.7vw + 2rem));position:relative;z-index:2}
.sig-kicker{display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--glow);margin-bottom:1.25rem;
  background:rgba(8,30,34,.72);border:1px solid rgba(246,212,136,.42);
  border-radius:999px;padding:.55em 1.25em .55em 1.35em}
.sig-hero h1{font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1.02;letter-spacing:-.022em;color:#fff;margin:0}
.sig-lede{color:var(--mist);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.6;max-width:34rem;margin:1.3rem 0 0}
.sig-index{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem 2rem;margin:2.1rem 0 0;padding:1.3rem 0 0;border-top:1px solid rgba(246,212,136,.28);max-width:62rem}
.sig-index-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:44rem}
.sig-index li{display:flex;align-items:baseline;gap:.7rem;min-width:0}
.sig-index .sx-n{font-family:var(--serif);font-style:italic;font-size:.84rem;color:var(--amber);flex:none}
.sig-index .sx-t{font-size:.92rem;color:#EAF1EC;line-height:1.35}

/* statement */
.sig-statement .sig-say{max-width:48rem;margin:0 auto;text-align:center}
.sig-say-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--amber-deep);margin-bottom:1.6rem}
.sig-say blockquote{font-family:var(--serif);font-size:clamp(1.5rem,3.1vw,2.3rem);line-height:1.28;
  color:var(--teal-950);margin:0 0 1.6rem;letter-spacing:-.01em}
.sig-say blockquote em{color:var(--teal-700)}
.sig-say-body{color:var(--ink-soft);font-size:1.03rem;line-height:1.75;max-width:40rem;margin:0 auto;
  padding-top:1.6rem;border-top:1px solid var(--line)}

/* the six rows */
.sig-rows{margin-top:3.2rem;display:flex;flex-direction:column;gap:clamp(3rem,6vw,5rem)}
.sig-row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4.5vw,4rem);align-items:center}
.sig-row:nth-child(even) .sig-plate{order:2}
.sig-plate{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1);background:var(--band-mist)}
.sig-plate img{display:block;width:100%;height:auto;transition:transform .5s ease}
.sig-row:hover .sig-plate img{transform:scale(1.035)}
.sig-text{position:relative;min-width:0}
.sig-num{display:block;font-family:var(--serif);font-size:3.2rem;font-weight:600;line-height:1;
  color:var(--teal-700);opacity:.15;margin:0 0 .55rem;letter-spacing:-.02em}
.sig-hour{position:relative;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--amber-deep);margin:0 0 .7rem;padding-left:2.6rem}
.sig-hour::before{content:"";position:absolute;left:0;top:.42em;width:1.9rem;border-top:1.5px solid var(--amber)}
.sig-text h3{position:relative;font-size:clamp(1.45rem,2.5vw,1.95rem);line-height:1.15;margin:0 0 .8rem;letter-spacing:-.012em}
.sig-copy{color:var(--ink-soft);font-size:1rem;line-height:1.72;margin:0 0 1.5rem;max-width:30rem}
.sig-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;
  padding-top:1.2rem;border-top:1px solid var(--line)}
.sig-price{margin:0;display:flex;align-items:baseline;gap:.45rem}
.sig-fig{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--teal-950);line-height:1}
/* the qualifier follows the figure, as it does in the printed brochure. Sized
   and cased so it reads as a unit label rather than as part of the number. */
.sig-onw{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
/* tap target: WCAG 2.2 wants 24px minimum for a standalone control, and this is
   a primary conversion link — padded to 44px without changing how it looks */
.sig-go{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.95rem;
  min-height:44px;padding:.55rem 0;
  color:var(--teal-700);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.sig-go:hover{color:var(--amber-deep);border-bottom-color:var(--amber)}
.sig-go .ic{width:1.05em;height:1.05em}

/* honest band */
.sig-honest-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sig-honest h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.18;margin:.4rem 0 1rem}
.sig-honest p{color:var(--mist);font-size:1rem;line-height:1.75;max-width:36rem}
.sig-honest p em{color:var(--glow);font-style:italic}
.sig-assure{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.sig-assure li{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 0;
  border-bottom:1px solid rgba(255,255,255,.13);color:#EAF1EC;font-size:.97rem;line-height:1.5}
.sig-assure li:first-child{padding-top:0}
.sig-assure li:last-child{border-bottom:0;padding-bottom:0}
.sig-assure .ic{width:1.15em;height:1.15em;flex:none;margin-top:.18em;color:var(--amber)}

/* notes */
.sig-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,4rem)}
.sig-note h3{font-size:1.15rem;margin:0 0 1.2rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.sig-note ul{list-style:none;margin:0;padding:0}
.sig-note li{padding:.95rem 0;border-bottom:1px solid var(--line)}
.sig-note li:last-child{border-bottom:0;padding-bottom:0}
.sig-note li span{display:block;font-weight:600;color:var(--teal-900);font-size:.99rem;margin-bottom:.2rem}
.sig-note li em{display:block;font-style:normal;color:var(--ink-soft);font-size:.92rem;line-height:1.6}

@media (max-width:900px){
  .sig-index{grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}
  .sig-row,.sig-row:nth-child(even){grid-template-columns:1fr;gap:1.5rem}
  .sig-row:nth-child(even) .sig-plate{order:0}
  .sig-num{font-size:2.5rem;margin-bottom:.35rem}
  .sig-honest-in,.sig-notes-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:560px){
  .sig-hero{min-height:auto}
  .sig-index{grid-template-columns:1fr;margin-top:2rem;padding-top:1.2rem}
  .sig-say blockquote{text-align:left}
  .sig-statement .sig-say{text-align:left}
  .sig-say-body{margin:0}
}
/* hero photography runs full-bleed behind the floating header, every page */
.sig-hero{margin-top:calc(-1 * var(--head-h));padding-top:var(--head-h);
  min-height:calc(min(72vh,680px) + var(--head-h))}
@media (max-width:1120px){:root{--head-h:64px}}

/* honest band — balanced, panel-anchored */
.sig-honest .wrap{padding-top:.5rem;padding-bottom:.5rem}
.sig-honest-in{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sig-honest-copy p{color:var(--mist);font-size:1rem;line-height:1.75;max-width:34rem;margin:0 0 1rem}
.sig-honest-sign{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.5;
  color:#EAF1EC;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.16);margin-top:1.4rem!important}
.sig-honest-sign em{color:var(--glow);font-style:italic}
.sig-panel{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r);padding:2rem 2.1rem 1.7rem}
.sig-panel h3{color:#fff;font-size:1.08rem;margin:0 0 1.2rem;padding-bottom:.9rem;
  border-bottom:1px solid rgba(255,255,255,.16)}
.sig-panel ul{list-style:none;margin:0;padding:0}
.sig-panel li{display:flex;gap:.85rem;align-items:flex-start;padding:.78rem 0;
  color:#EAF1EC;font-size:.97rem;line-height:1.5}
.sig-panel .ic{width:1.1em;height:1.1em;flex:none;margin-top:.2em;color:var(--amber)}
.sig-panel-note{margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13);
  font-size:.86rem;color:var(--teal-200)}

/* briefing sheet */
.brief{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--sh-1);max-width:62rem;margin:0 auto}
.brief-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--teal-900);padding:1.05rem 1.8rem}
.brief-title{font-family:var(--serif);font-size:1.15rem;color:#fff}
.brief-chip{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--glow);border:1px solid rgba(246,212,136,.4);border-radius:999px;padding:.4em 1em}
.brief-cols{display:grid;grid-template-columns:1fr 1fr}
.brief-col{padding:1.9rem 1.8rem}
.brief-col+.brief-col{border-left:1px solid var(--line)}
.brief-col h3{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--amber-deep);font-family:var(--sans);margin:0 0 1.2rem}
.brief-col ol{list-style:none;margin:0;padding:0}
.brief-col li{display:flex;gap:.95rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.brief-col li:last-child{border-bottom:0;padding-bottom:0}
.brief-col .bn{font-family:var(--serif);font-style:italic;font-size:.88rem;color:var(--amber);
  flex:none;padding-top:.12rem}
.brief-col b{display:block;font-weight:600;color:var(--teal-900);font-size:.99rem;margin-bottom:.18rem}
.brief-col em{display:block;font-style:normal;color:var(--ink-soft);font-size:.9rem;line-height:1.6}
.brief-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.3rem 1.8rem;background:var(--band-mist);border-top:1px solid var(--line)}
.brief-foot span{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--teal-900)}
@media (max-width:820px){
  .sig-honest-in{grid-template-columns:1fr;gap:2rem}
  .brief-cols{grid-template-columns:1fr}
  .brief-col+.brief-col{border-left:0;border-top:1px solid var(--line)}
  .brief-foot{flex-direction:column;align-items:stretch;text-align:center}
  .brief-foot .btn{justify-content:center}
}
/* ══════════ The drawn pages — Kerala Journeys (.km) & Munnar Guide (.al) ══════════
   A family of their own, deliberately unlike the photo-led experience pages:
   instruments instead of pictures. A schematic map with plotted stops; a
   twelve-month dial; an elevation profile. Shared hero + head styles below.   */
.km-hero{position:relative;overflow:hidden;background:var(--teal-950);isolation:isolate;
  display:flex;align-items:flex-end;margin-top:calc(-1 * var(--head-h));padding-top:var(--head-h);
  min-height:calc(min(70vh,660px) + var(--head-h))}
.km-hero .hero-pic{position:absolute;inset:0;z-index:-2}
.km-hero .hero-art{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.km-hero .hero-ridge{display:block}
/* the copy column carries a pool of shade of its own, so the small gold kicker
   clears AA on every width without flattening the whole photograph */
.km-hero-shade{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(118% 88% at 14% 56%,rgba(8,30,34,.64) 0%,rgba(8,30,34,.34) 46%,rgba(8,30,34,0) 76%),
  linear-gradient(90deg,rgba(8,30,34,.74) 0%,rgba(8,30,34,.44) 46%,rgba(8,30,34,.07) 78%,rgba(8,30,34,0) 100%),
  linear-gradient(180deg,rgba(8,30,34,.5) 0%,rgba(8,30,34,.3) 26%,rgba(8,30,34,.62) 62%,rgba(8,30,34,.95) 100%)}
.km-hero-in{padding-top:clamp(3.6rem,9vh,5.4rem);padding-bottom:max(5.5rem,calc(7.7vw + 2rem));
  position:relative;z-index:2}
.km-label{display:flex;align-items:center;gap:.9rem;font-size:.72rem;font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;color:var(--glow);margin-bottom:1.4rem}
.km-rule{display:block;width:2.6rem;border-top:1.5px solid var(--amber);flex:none}
.km-hero h1{font-size:clamp(2.4rem,5.6vw,4.1rem);line-height:1.04;letter-spacing:-.022em;color:#fff;margin:0}
.km-lede{color:var(--mist);font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.65;max-width:34rem;margin:1.2rem 0 0}
/* the hero keeps its call to action — every other page has one above the fold
   and these two pages lost theirs in the redesign */
.km-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.9rem 0 0}
.km-sheet{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem;margin:2rem 0 0;
  padding:1.2rem 0 0;border-top:1px solid rgba(246,212,136,.28);max-width:44rem}
.km-sheet span{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-200)}
.km-sheet span:first-child{color:var(--glow)}
.km-sheet b{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:#fff}

/* shared section heads */
.km-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--amber-deep);margin:0 0 .9rem}
.km-eyebrow-light{color:var(--glow)}
.km-head{max-width:46rem;margin-bottom:2.8rem}
.km-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.14;margin:0;letter-spacing:-.014em}
.km-head-light h2{color:#fff}
.km-sub{color:var(--ink-soft);font-size:1rem;line-height:1.7;margin:1rem 0 0}
.km-head-light .km-sub{color:var(--mist)}

/* ── the atlas: map left, the line read as field notes right ── */
.km-spread{display:grid;grid-template-columns:minmax(0,372px) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);
  align-items:start}
.km-map-col{position:sticky;top:calc(var(--head-h) + 1.5rem)}
.km-map{margin:0;background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  padding:1.4rem 1.2rem 1rem;box-shadow:var(--sh-1)}
.km-map figcaption{margin-top:1rem;padding-top:.9rem;border-top:1px dotted var(--teal-300);
  font-size:.78rem;line-height:1.6;color:var(--ink-soft)}
.km-svg{display:block;width:100%;height:auto}
.km-land{fill:#E8EFEA;stroke:var(--teal-700);stroke-width:1.6;stroke-linejoin:round}
.km-sea-rule{fill:none;stroke:var(--teal-300);stroke-width:4;opacity:.5}
.km-route{fill:none;stroke:var(--amber);stroke-width:2.2;stroke-dasharray:7 6;stroke-linecap:round;
  stroke-linejoin:round}
.km-dot{fill:var(--amber);stroke:var(--ivory-2);stroke-width:2.5}
.km-dot-alt{fill:var(--ivory-2);stroke:var(--teal-700);stroke-width:2;stroke-dasharray:3 2.6}
.km-no{fill:var(--on-amber);font-family:var(--serif);font-weight:700;font-size:12px}
/* a paint-order halo in the card colour keeps every label legible wherever it
   lands — over land, over the coastline, or over the dashed route */
.km-lbl,.km-lbl-alt,.km-sea,.km-ghat{paint-order:stroke fill;stroke:var(--ivory-2);
  stroke-width:3.2px;stroke-linejoin:round}
.km-lbl{fill:var(--teal-950);font-family:var(--serif);font-weight:600;font-size:14.5px}
.km-lbl-alt{fill:var(--ink-soft);font-family:var(--sans);font-weight:700;font-size:11.5px;
  letter-spacing:.04em}
.km-sea,.km-ghat{fill:var(--teal-300);font-size:10.5px;font-weight:700;letter-spacing:.26em;
  text-transform:uppercase}
.km-ghat{fill:var(--teal-700);opacity:.6}

.km-stops{list-style:none;margin:0;padding:0}
.km-stop{display:grid;grid-template-columns:6.5rem 1fr;gap:clamp(1rem,2.5vw,2rem);
  padding:0 0 2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--line)}
.km-stop:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.km-stop-mark{position:relative;padding-top:.2rem}
.km-stop-no{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;
  background:var(--amber);color:var(--on-amber);font-family:var(--serif);font-weight:700;font-size:1.1rem}
.km-stop-days{display:block;margin-top:.6rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-soft)}
.km-stop-body h3{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0 0 .6rem;letter-spacing:-.012em}
.km-stop-body>p{color:var(--ink-soft);font-size:1rem;line-height:1.72;margin:0;max-width:40rem}
.km-note{position:relative;margin:1.1rem 0 0!important;padding-left:1.4rem;font-family:var(--serif);
  font-style:italic;font-size:1.02rem;line-height:1.55;color:var(--teal-700)!important}
.km-note-l{position:absolute;left:0;top:.35em;bottom:.35em;border-left:2px solid var(--amber)}
.km-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0}
.km-chips li{font-size:.8rem;font-weight:600;color:var(--teal-700);background:var(--ivory-2);
  border:1px solid var(--line);border-radius:999px;padding:.4em 1em}

/* ── drive times, on a notebook card ── */
.km-drives-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(2rem,5vw,4rem);align-items:start}
.km-drives-say h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.18;margin:0 0 1rem;letter-spacing:-.014em}
.km-drives-say p{color:var(--ink-soft);font-size:1rem;line-height:1.75;margin:0 0 1rem;max-width:32rem}
.km-sign{font-family:var(--serif);font-style:italic;color:var(--teal-700)!important;
  padding-top:1rem;border-top:1px solid var(--line);margin-top:1.4rem!important}
.km-card{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.2rem,2.5vw,1.9rem);box-shadow:var(--sh-1)}
.km-legs{width:100%;border-collapse:collapse}
.km-legs thead th{text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-soft);padding:0 .6rem .7rem 0;border-bottom:1px solid var(--line)}
.km-legs thead th:not(:first-child){text-align:right;padding-right:0;padding-left:.6rem}
.km-legs tbody th{text-align:left;font-weight:600;color:var(--teal-900);padding:.85rem .6rem .85rem 0;
  border-bottom:1px dotted var(--teal-300);font-size:.97rem}
.km-legs tbody td{text-align:right;padding:.85rem 0 .85rem .6rem;border-bottom:1px dotted var(--teal-300);
  font-size:.94rem;color:var(--ink-soft);white-space:nowrap}
.km-legs tbody td:last-child{font-weight:700;color:var(--amber-deep)}
.km-legs tbody tr:last-child th,.km-legs tbody tr:last-child td{border-bottom:0}
.km-to{color:var(--amber);padding:0 .15rem}
.km-card-foot{margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--line);
  font-size:.82rem;line-height:1.6;color:var(--ink-soft)}

/* ── the rest of the sheet ── */
.km-regs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.6rem)}
.km-reg{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  padding:1.4rem 1.4rem 1.5rem}
.km-reg-on{border-color:rgba(201,138,45,.45);background:linear-gradient(180deg,rgba(246,212,136,.12),var(--ivory-2) 60%)}
.km-reg-h{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.6rem}
.km-reg h3{font-size:1.12rem;margin:0;letter-spacing:-.01em}
.km-reg-tag{flex:none;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:.28em .7em}
.km-reg-on .km-reg-tag{color:var(--amber-deep);border-color:rgba(201,138,45,.5)}
.km-reg p{color:var(--ink-soft);font-size:.93rem;line-height:1.66;margin:0}
.km-reg-p{margin-top:.9rem!important;padding-top:.7rem;border-top:1px dotted var(--teal-300);
  font-size:.78rem!important;font-weight:600;letter-spacing:.04em;color:var(--teal-700)!important}

/* ── how it gets drawn ── */
.km-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.4rem,3vw,2.4rem);position:relative}
.km-steps::before{content:"";position:absolute;top:1.05rem;left:8%;right:8%;border-top:1px dashed rgba(174,202,201,.35)}
.km-steps li{position:relative}
.km-sn{position:relative;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;
  background:var(--amber);color:var(--on-amber);font-family:var(--serif);font-weight:700;font-size:1rem;
  margin-bottom:1.1rem;box-shadow:0 0 0 6px var(--teal-950)}
.km-steps h3{color:#fff;font-size:1.08rem;margin:0 0 .45rem}
.km-steps p{color:var(--mist);font-size:.93rem;line-height:1.65;margin:0}

/* ── practical ── */
.km-prac-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}
.km-prac-col h3{font-size:1.18rem;margin:0 0 1.1rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}
.km-list{list-style:none;margin:0;padding:0}
.km-list li{position:relative;padding:.7rem 0 .7rem 1.6rem;color:var(--ink-soft);font-size:.97rem;
  line-height:1.6;border-bottom:1px solid var(--line)}
.km-list li:last-child{border-bottom:0}
.km-list li::before{content:"";position:absolute;left:0;top:1.15rem;width:.55rem;border-top:1.5px solid var(--amber)}
.km-list-plain li::before{border-top-color:var(--teal-300)}
.km-prac-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.km-prac-cta span{font-family:var(--serif);font-size:1.12rem;color:var(--teal-900)}

/* shared with the handbook: the packing card and the field-note list */
.al-card{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh-1);overflow:hidden}
.al-card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.6rem;
  background:var(--teal);color:#fff;padding:.9rem clamp(1.1rem,2.5vw,1.6rem)}
.al-card-h span:first-child{font-family:var(--serif);font-size:1.05rem}
.al-card-x{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-200)}
.al-pack{list-style:none;margin:0;padding:.4rem clamp(1.1rem,2.5vw,1.6rem) 1.2rem}
.al-pack li{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;
  padding:.85rem 0;border-bottom:1px dotted var(--teal-300)}
.al-pack li:last-child{border-bottom:0}
.al-tick-i{color:var(--amber-deep);display:grid;place-items:center;transform:translateY(.1rem)}
.al-tick-i .ic{width:1.05rem;height:1.05rem}
.al-pack b{display:block;font-size:.99rem;color:var(--teal-900)}
.al-pack em{display:block;font-style:normal;font-size:.88rem;line-height:1.6;color:var(--ink-soft);margin-top:.15rem}
.al-know{list-style:none;margin:0;padding:0}
.al-know li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.1rem 0;
  border-bottom:1px solid var(--line)}
.al-kn{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--amber);line-height:1.4}
.al-know b{display:block;font-size:1.04rem;color:var(--teal-950)}
.al-know em{display:block;font-style:normal;color:var(--ink-soft);font-size:.94rem;line-height:1.68;margin-top:.25rem}
.al-notes-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:1.8rem}
.al-notes-cta span{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--teal-700)}

/* ══════════ Munnar Guide — the handbook (.mg) ══════════
   The page answers the questions a traveller actually asks, in order, and each
   one gets an instrument built for that question. The `.al-card` / `.al-know`
   blocks further down are shared with it and stay as they were.            */

/* the question-led section head */
.mg-ask{max-width:46rem;margin-bottom:1.4rem}
.mg-q{display:flex;align-items:baseline;gap:.85rem;font-size:.74rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 .85rem}
.mg-qn{flex:none;font-family:var(--serif);font-size:1.05rem;font-weight:700;letter-spacing:0;
  color:var(--amber);line-height:1}
.mg-ask h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;margin:0;letter-spacing:-.014em}
.mg-ask-light h2{color:#fff}
.mg-ask-light .mg-q{color:var(--glow)}
.mg-intro{color:var(--ink-soft);font-size:1.02rem;line-height:1.72;margin:0 0 2.4rem;max-width:44rem}
.mg-intro-light{color:var(--mist)}
.mg-foot{margin:2.4rem 0 0;padding-top:1.3rem;border-top:1px dotted var(--teal-300);
  font-size:.92rem;line-height:1.7;color:var(--ink-soft);max-width:46rem}

/* ── 01 · the twelve-month strip ── */
/* the strip needs 660px to stay legible, so on a phone it scrolls — with a
   fade and a hint, or it just looks cut off */
.mg-strip-outer{position:relative}
.mg-strip-wrap{overflow-x:auto;padding-bottom:.4rem;-webkit-overflow-scrolling:touch}
.mg-strip-hint,.mg-bloom-note{display:none}
.mg-strip{display:grid;grid-template-columns:repeat(12,minmax(56px,1fr));gap:0 4px;min-width:660px}
.mg-m{grid-row:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.mg-m-ab{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-950)}
.mg-m-ab abbr{text-decoration:none;border:0}
.mg-m-bar{display:block;width:100%;height:56px;border-radius:6px}
.mg-cool .mg-m-bar{background:#B8D0D2}
.mg-warm .mg-m-bar{background:#CFD9B7}
.mg-rain .mg-m-bar{background:#8FA9AD}
.mg-after .mg-m-bar{background:#DCD2B4}
.mg-m-note{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--amber-deep);text-align:center;line-height:1.3}
.mg-span{grid-row:2;margin-top:.9rem;padding-top:.5rem;border-top:2px solid;text-align:center}
.mg-span span{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.mg-span.mg-cool{border-top-color:#B8D0D2}
.mg-span.mg-warm{border-top-color:#CFD9B7}
.mg-span.mg-rain{border-top-color:#8FA9AD}
.mg-span.mg-after{border-top-color:#DCD2B4}
.mg-bloom{grid-row:3;margin-top:.7rem;background:rgba(246,212,136,.28);border:1px solid var(--amber);
  border-radius:999px;padding:.35rem .7rem;text-align:center}
.mg-bloom span{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--amber-deep)}

/* season notes — cards, not a legend table */
@media (max-width:760px){
  .mg-strip-outer::after{content:"";position:absolute;top:0;right:0;bottom:1.4rem;width:44px;
    pointer-events:none;background:linear-gradient(90deg,rgba(247,243,234,0),var(--ivory))}
  .mg-strip-hint{display:block;margin:.7rem 0 0;font-size:.72rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
  /* the kurinji pill sits over Sep–Oct, which is off-screen until you scroll —
     say it in words underneath instead */
  .mg-bloom{display:none}
  .mg-bloom-note{display:block;margin:.9rem 0 0;padding:.6rem .9rem;border:1px solid var(--amber);
    border-radius:12px;background:rgba(246,212,136,.28);font-size:.85rem;line-height:1.5;
    color:var(--amber-deep)}
  .mg-bloom-note b{font-weight:700}
}

.mg-seasons{list-style:none;margin:2.6rem 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.6rem)}
.mg-season{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding-top:1.1rem;
  border-top:1px solid var(--line)}
.mg-swatch{width:.9rem;height:.9rem;border-radius:4px;transform:translateY(.32rem)}
.mg-s-cool .mg-swatch{background:#B8D0D2}
.mg-s-warm .mg-swatch{background:#CFD9B7}
.mg-s-rain .mg-swatch{background:#8FA9AD}
.mg-s-after .mg-swatch{background:#DCD2B4}
.mg-season h3{font-size:1.1rem;margin:0;letter-spacing:-.01em}
.mg-when{font-size:.7rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin:.2rem 0 .6rem!important}
.mg-season p{color:var(--ink-soft);font-size:.93rem;line-height:1.65;margin:0}
.mg-good{margin-top:.7rem!important;font-size:.82rem!important;font-weight:600;color:var(--amber-deep)!important}

/* ── 02 · arrivals ── */
.mg-arrivals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2.4vw,2rem)}
.mg-arr{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column}
.mg-arr-head h3{font-size:1.18rem;margin:0 0 .3rem}
.mg-arr-from{font-family:var(--serif);font-size:1rem;color:var(--teal-700);margin:0 0 1.1rem}
.mg-arr-figs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1.1rem;
  padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mg-arr-figs dt{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:.2rem}
.mg-arr-figs dd{margin:0;font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--teal-950)}
.mg-arr-figs .mg-arr-time{color:var(--amber-deep)}
.mg-arr-note{color:var(--ink-soft);font-size:.94rem;line-height:1.68;margin:0}

/* ── 03 · the climb ── */
.mg-climb{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
.mg-ladder{display:block;width:100%;height:auto;max-width:430px}
.mg-grid{stroke:rgba(174,202,201,.2);stroke-width:1;stroke-dasharray:3 4}
.mg-grid-t{fill:var(--teal-200);font-size:11px;font-weight:600;letter-spacing:.04em;opacity:.85}
.mg-rail{stroke:rgba(174,202,201,.45);stroke-width:1.5}
.mg-lead{fill:none;stroke:rgba(246,212,136,.5);stroke-width:1.2}
.mg-dot{fill:var(--amber);stroke:var(--teal-950);stroke-width:2}
.mg-h-m{fill:var(--glow);font-family:var(--serif);font-size:17px;font-weight:600}
.mg-h-lp{fill:#fff;font-size:12px;font-weight:600;letter-spacing:.02em}
.mg-heights{list-style:none;margin:0;padding:0}
.mg-heights li{padding:.85rem 0;border-bottom:1px solid rgba(174,202,201,.2)}
.mg-heights li:last-child{border-bottom:0}
.mg-h-p{display:block;color:#fff;font-weight:600;font-size:1.02rem}
.mg-h-n{display:block;color:var(--mist);font-size:.9rem;line-height:1.6;opacity:.88;margin-top:.15rem}

/* ── 04/05 · kit + notes ── */
.mg-kit-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,4rem);align-items:start}
.mg-q-sub{margin-bottom:1.5rem!important}

/* the packing card and field-note list are shared, unchanged */

/* ── responsive ── */
@media (max-width:760px){
  /* on a phone the copy fills the full width, so the shade has to be vertical
     rather than left-weighted — and the frame drops to the darker foreground —
     or the small gold kicker fails AA over the photograph. Measured, not guessed. */
  .km-hero .hero-art{object-position:50% 66%}
  .km-hero-shade{background:
    linear-gradient(180deg,rgba(8,30,34,.58) 0%,rgba(8,30,34,.72) 22%,rgba(8,30,34,.72) 46%,
      rgba(8,30,34,.8) 72%,rgba(8,30,34,.95) 100%)}
}
@media (max-width:1080px){
  .km-spread{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
  .mg-seasons{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .km-spread,.km-drives-in,.km-prac-grid,.mg-climb,.mg-kit-in{
    grid-template-columns:minmax(0,1fr);gap:2.2rem}
  .mg-ladder{margin:0 auto}
  .mg-arrivals{grid-template-columns:1fr}
  .km-map-col{position:static}
  .km-map{max-width:440px;margin:0 auto}
  .km-regs{grid-template-columns:1fr 1fr}
  .km-steps{grid-template-columns:1fr 1fr;gap:2rem}
  .km-steps::before{display:none}
}
@media (max-width:620px){
  .km-stop{grid-template-columns:1fr;gap:.9rem}
  .km-stop-mark{display:flex;align-items:center;gap:.8rem}
  .km-stop-no{width:2rem;height:2rem;font-size:.95rem}
  .km-stop-days{margin-top:0}
  .km-steps,.km-regs{grid-template-columns:1fr}
  /* the dot separators have to stay on a phone — without them the items run
     together as the line wraps */
  .km-sheet{gap:.35rem .55rem;font-size:.95em}
  .km-sheet span:first-child{flex:1 1 100%}
  .mg-seasons{grid-template-columns:1fr;gap:0}
  .km-legs thead th:first-child,.km-legs tbody th{font-size:.9rem}
  .km-leg-b{display:block;padding-left:1.1rem}
}

/* ══════════ Our Story — "the door" (.st) ══════════
   The copy already owns a metaphor — a single door, and four people behind it —
   so the page is built on it. `.gmv` is left alone: the contact page uses it. */

/* the idea: a statement spread, not a lonely column of prose */
/* the quote leads, full width, then the prose runs in two comfortable columns.
   Nesting the two columns inside a side-by-side grid squeezed them to ~25
   characters a line, which is unreadable however handsome it looks. */
.st-idea-in{display:block}
.st-say{max-width:38rem;margin-bottom:clamp(2rem,4vw,3rem)}
.st-say .eyebrow{margin-bottom:1rem}
.st-say blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.3rem);
  line-height:1.2;letter-spacing:-.014em;color:var(--teal-950)}
.st-say blockquote em{display:block;margin-top:.4em;color:var(--amber-deep)}
.st-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.6rem)}
.st-col p{color:var(--ink-soft);font-size:1.02rem;line-height:1.78;margin:0 0 1.1rem}
.st-col p:last-child{margin-bottom:0}
.st-sign{grid-column:1 / -1;margin:2.4rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line);
  font-family:var(--serif);font-style:italic;font-size:1.08rem;color:var(--teal-700)}

/* full-bleed photo break */
.st-band{position:relative;margin:0;overflow:hidden}
/* the faces sit in the upper third of this frame — centring the crop cut the
   tops of their heads off at every width */
.st-band img{display:block;width:100%;height:clamp(220px,30vw,460px);object-fit:cover;object-position:50% 32%}
.st-band figcaption{position:absolute;inset:auto 0 0 0;padding:clamp(2rem,5vw,3.5rem) 0 clamp(1.4rem,3vw,2.2rem);
  background:linear-gradient(180deg,rgba(8,30,34,0),rgba(8,30,34,.88))}
.st-band figcaption span{display:block;max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);
  font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.7vw,1.3rem);color:#fff}

/* the four behind the door — studio portraits, black-on-black, so the section
   runs on the dark band and each frame melts into it. No card, no border: the
   photograph is the tile, and a hairline carries the name beneath. */
.st-four .sec-head h2,.st-four .sec-head .sec-sub{color:#fff}
.st-four .sec-head .sec-sub{color:var(--mist)}
.st-founders{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,2.4vw,2rem)}
.st-founder{display:flex;flex-direction:column;align-items:flex-start}
.st-portrait{margin:0 0 1.1rem;width:100%;border-radius:var(--r);overflow:hidden;
  background:#000;position:relative}
.st-portrait::after{content:"";position:absolute;inset:0;border-radius:var(--r);
  box-shadow:inset 0 0 0 1px rgba(174,202,201,.16);pointer-events:none}
.st-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  filter:grayscale(1) contrast(1.02)}
.st-founder h3{font-size:1.12rem;margin:0 0 .25rem;letter-spacing:-.01em;color:#fff;
  padding-top:.9rem;border-top:1px solid rgba(246,212,136,.35);width:100%}
.st-role{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-200);margin:0 0 1rem}
.st-tel{margin-top:auto;display:inline-flex;align-items:center;gap:.5em;min-height:44px;
  padding:.45rem 0;font-weight:600;font-size:.94rem;color:var(--glow);text-decoration:none;
  border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.st-tel:hover{color:#fff;border-bottom-color:var(--amber)}
.st-tel .ic{width:1rem;height:1rem;flex:none}

/* what you can check — facts, not adjectives */
.st-proof{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);
  gap:0 clamp(1rem,2.4vw,2rem)}
.st-proof li{padding:1.3rem 0 0;border-top:2px solid var(--amber)}
.st-p-k{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber-deep);margin-bottom:.45rem}
.st-p-v{display:block;font-family:var(--serif);font-size:1.14rem;font-weight:600;color:var(--teal-950);
  line-height:1.25}
.st-p-n{display:block;margin-top:.6rem;color:var(--ink-soft);font-size:.88rem;line-height:1.6}

/* goal / mission / vision — the client's own wording, set quietly on the light
   band (the founders now own the dark one, so this had to be recoloured) */
.st-gmv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.4rem,3vw,2.8rem)}
.st-gmv li{padding-top:1.2rem;border-top:2px solid var(--amber)}
.st-gmv h3{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--amber-deep);margin:0 0 .8rem}
.st-gmv p{margin:0;font-family:var(--serif);font-size:clamp(1.02rem,1.6vw,1.16rem);line-height:1.55;
  color:var(--teal-900);font-style:italic}

@media (max-width:980px){
  .st-founders{grid-template-columns:1fr 1fr}
  .st-proof{grid-template-columns:repeat(2,1fr);gap:0 clamp(1rem,3vw,2rem)}
  .st-proof li{padding-bottom:1.3rem}
}
@media (max-width:820px){
  .st-idea-in,.st-body{grid-template-columns:minmax(0,1fr);gap:1.8rem}
  .st-sign{margin-top:1.8rem}
  .st-gmv{grid-template-columns:1fr;gap:1.6rem}
}
@media (max-width:560px){
  .st-founders{grid-template-columns:1fr}
  .st-proof{grid-template-columns:1fr}
}

/* ══════════ The brochure page (.br) ══════════
   Two things a visitor wants: the file, and enough of a look to decide. So the
   cover and the download lead, real spreads follow, contents last.          */

/* download block — cover left, the file's facts and the action right */
.br-grab-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center}
.br-cover{margin:0}
.br-cover a{display:block;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-2);
  transition:transform .25s ease,box-shadow .25s ease}
.br-cover a:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(8,30,34,.22)}
.br-cover img{display:block;width:100%;height:auto;aspect-ratio:1240/1754}
.br-meta h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.16;margin:0 0 1rem;letter-spacing:-.014em}
.br-lede{color:var(--ink-soft);font-size:1.03rem;line-height:1.75;margin:0 0 1.8rem;max-width:34rem}
.br-facts{display:grid;grid-template-columns:repeat(4,auto);gap:0 clamp(1.4rem,3vw,2.6rem);
  justify-content:start;margin:0 0 1.8rem;padding:1.1rem 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.br-facts dt{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:.3rem}
.br-facts dd{margin:0;font-family:var(--serif);font-size:1.14rem;font-weight:600;color:var(--teal-950)}
.br-act{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem}
.br-view{display:inline-flex;align-items:center;gap:.4em;min-height:44px;font-weight:600;
  font-size:.95rem;color:var(--teal-700);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.br-view:hover{color:var(--amber-deep);border-bottom-color:var(--amber)}
.br-view .ic{width:1rem;height:1rem}
.br-note{margin:1.3rem 0 0;font-size:.88rem;line-height:1.65;color:var(--ink-soft);max-width:32rem}

/* real spreads from the file */
.br-spreads{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2.2rem)}
.br-spread{margin:0}
.br-spread img{display:block;width:100%;height:auto;border-radius:10px;
  border:1px solid var(--line);box-shadow:var(--sh-1);background:#fff}
.br-spread figcaption{margin-top:.9rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem}
.br-spread b{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep)}
.br-spread span{color:var(--ink-soft);font-size:.92rem;line-height:1.5}

/* contents */
.br-contents{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;
  gap:0 clamp(2rem,5vw,4rem)}
.br-contents li{display:grid;grid-template-columns:2.4rem 1fr;gap:.9rem;align-items:baseline;
  padding:.95rem 0;border-bottom:1px solid var(--line)}
.br-no{font-family:var(--serif);font-size:.95rem;font-weight:700;color:var(--amber-deep);text-align:right}  /* --amber is only 2.65:1 on ivory; the deep tone is the light-band pair */
.br-contents b{display:block;font-size:1.02rem;color:var(--teal-950)}
.br-contents em{display:block;font-style:normal;color:var(--ink-soft);font-size:.9rem;
  line-height:1.55;margin-top:.15rem}
.br-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.br-foot span{font-family:var(--serif);font-size:1.1rem;color:var(--teal-900)}

@media (max-width:900px){
  .br-grab-in{grid-template-columns:minmax(0,1fr);gap:2.2rem}
  .br-cover{max-width:330px;margin:0 auto}
  .br-contents{grid-template-columns:1fr}
}
@media (max-width:700px){
  .br-spreads{grid-template-columns:1fr;max-width:380px;margin:0 auto}
  .br-facts{grid-template-columns:1fr 1fr;gap:1rem clamp(1.4rem,6vw,2.6rem)}
  .br-act{flex-direction:column;align-items:stretch}
  .br-act .btn{justify-content:center}
  .br-view{justify-content:center}
}
