/* gyg-site-builder-cm v3 engine - cinematic one-pager (example theme: culatello.parma.it)
   Design system: display serif + clean sans, dark cinematic hero with video loop,
   bento image-overlay cards, dark "destination" chapter, sticky-heading FAQ,
   parallax CTA. Retheme = edit the :root tokens only. */
:root{
  /* Palette for airplaneskydivinginterlaken.com, 2026-10-05.
     design.md supplied "Weather Stratus": stratus greys, rain blue, storm amber,
     flat, single accent. The engine requires a WARM hero and rejects grey-dusk
     imagery, so the brief was resolved as instructed: storm amber #F2A03D is kept
     as the one interaction colour, the neutrals are warmed off the stratus greys
     towards the hero's golden light, and nothing here uses a gradient.
     ONE ACCENT ONLY is load-bearing per design.md: --accent is the sole driver. */
  --deep:#0F1620;        /* darkest surface (hero base, dark chapters, footer bar) - design.md primary */
  --deep-2:#1B2735;      /* dark surface, one step up */
  --ink:#0F1620;         /* body text on light - design.md primary */
  --ink-soft:#61738C;    /* secondary text - design.md secondary */
  --paper:#FDFBF7;       /* page, warmed a touch off pure white */
  --sand:#F3F0EA;        /* alt sections */
  --sand-2:#E6E1D7;
  --line:#DFDAD0;
  --line-dark:rgba(255,255,255,.18);
  --accent:#9A5A12;      /* CTA. #F2A03D is the brand amber but carries black text at AA only;
                            this is the same hue darkened so WHITE on it passes AA for buttons. */
  --accent-hover:#7E4A0D;
  --accent-ink:#8A5110;  /* links / labels on light */
  --glow:#F2A03D;        /* italic accent + eyebrow on dark - design.md tertiary, used at full strength here */
  --mint:#F0C890;        /* eyebrow/ticks on dark */
  --star:#F2A03D;
  --maxw:1180px;
  --r-xl:22px; --r-lg:16px; --r-md:12px; --r-sm:8px;
  --font-display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-body:"Inter","Avenir Next",Avenir,"Segoe UI",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --head-h:74px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.62;font-size:1.02rem;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:var(--accent-ink)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em;font-optical-sizing:auto}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:1.2rem;line-height:1.2}
h2 em,h1 em{font-style:italic;font-weight:400}
.center{text-align:center}
.section-pad{padding:92px 0}
.section-sm{padding:64px 0}
.alt{background:var(--sand)}
section[id]{scroll-margin-top:80px}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 1.1em}
.eyebrow:before{content:"";width:1.6rem;height:1px;background:currentColor}
.center .eyebrow,.eyebrow.center{justify-content:center}
.dark .eyebrow,.eyebrow.on-dark{color:var(--mint)}
.sub{color:var(--ink-soft);max-width:62ch;margin:0 0 2em;font-size:1.04rem}
.center .sub,.sub.center{margin-left:auto;margin-right:auto}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.head-row h2{margin:0;max-width:18ch}
.head-row .sub{margin:0;max-width:46ch}
.head-row .sub.sm{font-size:.9rem;line-height:1.6;max-width:52ch}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.95rem;letter-spacing:.01em;padding:15px 26px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .2s var(--ease),box-shadow .2s}
.btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 10px 24px rgba(142,42,34,.28)}
.btn .ar{transition:transform .2s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.16);box-shadow:none}
.btn-line{background:transparent;color:var(--accent-ink);border:1.5px solid var(--accent);padding:10px 18px;font-size:.88rem}
.btn-line:hover{background:var(--accent);color:#fff;box-shadow:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* ---------- header: transparent over the hero, solid after scrolling */
.site-head{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-head .wrap{display:flex;align-items:center;gap:18px;height:var(--head-h)}
.site-head.solid,.site-head.plain{background:rgba(255,253,248,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center}
.logo img{width:40px;height:40px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav a,.dd-btn{color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.25);transition:color .2s}
.solid .nav a,.plain .nav a,.solid .dd-btn,.plain .dd-btn{color:var(--ink);text-shadow:none}
.nav a:hover,.dd-btn:hover{color:var(--glow)}
.solid .nav a:hover,.plain .nav a:hover,.solid .dd-btn:hover,.plain .dd-btn:hover{color:var(--accent-ink)}
.nav a.btn{color:#fff;text-shadow:none;padding:11px 20px;font-size:.88rem}
.nav a.btn:hover{color:#fff}
.nav-toggle{display:none;margin-left:auto;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:9px;padding:8px 12px;font-size:1.05rem;cursor:pointer}
.solid .nav-toggle,.plain .nav-toggle{background:none;color:var(--ink);border-color:var(--line)}
@media(max-width:920px){
  .nav{display:none;position:absolute;top:var(--head-h);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:16px 22px 22px;gap:15px;align-items:flex-start;box-shadow:0 14px 30px rgba(0,0,0,.12)}
  .nav.open{display:flex}
  .nav a,.dd-btn{color:var(--ink);text-shadow:none}
  .nav-toggle{display:block}
  .site-head.open{background:var(--paper)}
  .site-head.open .nav-toggle{color:var(--ink);border-color:var(--line)}
}
/* guides dropdown: desktop hover with .5s grace, mobile click */
.dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:.9rem;padding:0}
.dd-btn .car{font-size:.7rem;transform:translateY(1px)}
.dd-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(6px);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 18px 40px rgba(34,21,18,.18);padding:8px;min-width:250px;z-index:60;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility 0s linear .5s}
.dd-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dd-menu a{display:block;padding:10px 13px;border-radius:8px;font-weight:600;font-size:.88rem;color:var(--ink)!important;text-shadow:none!important;text-decoration:none;white-space:nowrap}
.dd-menu a:hover{background:var(--sand);color:var(--accent-ink)!important}
@media(min-width:921px){
  .dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition:opacity .18s,transform .18s,visibility 0s}
}
@media(max-width:920px){
  .dd-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;box-shadow:none;border:0;padding:6px 0 0 10px;min-width:0;transition:none}
  .dd-menu:before{display:none}
  .dd-menu.open{display:block}
}

/* ---------- hero: full-bleed, video loop, parallax + pointer drift */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--deep);color:#fff;isolation:isolate}
.hero-layer{position:absolute;inset:0 0 auto 0;height:114%;will-change:transform;z-index:-2}
.hero-layer img,.hero-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero-layer video{display:none;opacity:0;transition:opacity 1.4s ease}
.hero-layer video.playing{opacity:1}
@media(min-width:768px){.hero-layer video{display:block}}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(40,20,12,.64) 0%,rgba(40,20,12,.44) 38%,rgba(40,20,12,.08) 66%,rgba(40,20,12,0) 100%),
  linear-gradient(0deg,rgba(40,20,12,.55) 0%,rgba(40,20,12,0) 30%),
  linear-gradient(180deg,rgba(40,20,12,.45) 0%,rgba(40,20,12,0) 20%)}
.hero-inner>.wrap{width:100%}
.hero-inner{flex:1;display:flex;align-items:center;padding-top:calc(var(--head-h) + 40px);padding-bottom:110px;position:relative;width:100%}
.hero-content{max-width:40rem;will-change:transform}
.hero h1{font-size:clamp(2.7rem,6.2vw,5rem);line-height:.96;letter-spacing:-.035em;margin:0 0 .32em;font-weight:600}
.hero h1 em{display:block;color:var(--glow)}
.hero .lede{max-width:36rem;font-size:clamp(1.02rem,1.5vw,1.16rem);line-height:1.62;color:rgba(255,255,255,.86);margin:0 0 1.4em}
.hero .ticks{list-style:none;padding:0;margin:0 0 1.9em;display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:600;font-size:.92rem}
.hero .ticks li{display:flex;align-items:center;gap:9px}
.hero .ticks li:before{content:"\2713";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--mint);color:var(--mint);font-size:.68rem}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero .trust{margin:2em 0 0;font-size:.84rem;color:rgba(255,255,255,.88);line-height:1.45;border-left:2px solid var(--glow);padding-left:14px;max-width:34rem}
.hero .trust span{display:block}
.hero .trust b{display:block;color:#fff;font-weight:700}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;color:#fff;text-decoration:none;font-size:1.05rem;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
/* starburst "from" price badge */
.star-badge{position:absolute;right:6%;bottom:13%;width:12.5rem;height:12.5rem;display:grid;place-items:center;text-decoration:none;filter:drop-shadow(0 16px 30px rgba(0,0,0,.45));transition:transform .3s var(--ease);animation:spin-in 1.1s var(--ease) .6s both}
.star-badge:hover{transform:scale(1.06) rotate(-4deg)}
.star-badge svg{position:absolute;inset:0;width:100%;height:100%}
.star-badge .txt{position:relative;text-align:center;color:var(--deep);line-height:1}
.star-badge small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}
.star-badge strong{display:block;font-family:var(--font-display);font-size:2.35rem;font-weight:700;letter-spacing:-.02em}
.star-badge span{display:block;font-size:.66rem;font-weight:600;margin-top:.35rem;opacity:.8}
@keyframes spin-in{from{opacity:0;transform:scale(.6) rotate(-40deg)}to{opacity:1;transform:none}}
@media(max-width:1020px){.star-badge{width:9.5rem;height:9.5rem;right:4%;bottom:5%}.star-badge strong{font-size:1.8rem}.star-badge small,.star-badge span{font-size:.58rem}}
@media(max-width:767px){
  .hero-inner{padding-bottom:180px;align-items:flex-end}
  .star-badge{bottom:26px;right:16px;width:8.2rem;height:8.2rem}
  .star-badge strong{font-size:1.55rem}
  .scroll-cue{display:none}
  .hero-overlay{background:linear-gradient(0deg,rgba(24,13,10,.92) 0%,rgba(24,13,10,.72) 55%,rgba(24,13,10,.50) 100%)}
}

/* ---------- reveal on scroll (JS adds .js to <html>) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .stagger>.reveal:nth-child(2){transition-delay:.12s}
.js .stagger>.reveal:nth-child(3){transition-delay:.24s}
.js .stagger>.reveal:nth-child(4){transition-delay:.36s}
.js .stagger>.reveal:nth-child(5){transition-delay:.48s}
.js .stagger>.reveal:nth-child(6){transition-delay:.6s}

/* ---------- proof strip */
.proof{border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,196,107,.10),transparent 35%,rgba(80,40,30,.04)),var(--paper)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.proof .it{display:flex;gap:14px;align-items:flex-start;padding:24px 20px;border-right:1px solid var(--line)}
.proof .it:last-child{border-right:0}
.proof .ic{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent-ink);background:#fff}
.proof .ic svg{width:18px;height:18px}
.proof b{display:block;font-size:.93rem;line-height:1.3}
.proof span{display:block;font-size:.8rem;color:var(--ink-soft);line-height:1.4;margin-top:3px}
@media(max-width:900px){.proof .wrap{grid-template-columns:1fr 1fr}.proof .it:nth-child(2){border-right:0}.proof .it:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.proof .wrap{grid-template-columns:1fr;padding:0}.proof .it{border-right:0;border-bottom:1px solid var(--line)}.proof .it:last-child{border-bottom:0}}

/* ---------- ticket cards (3-up, flagship centre) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;margin-top:10px}
@media(max-width:1020px){.cards{grid-template-columns:1fr 1fr}.tcard.featured{order:-1}}
@media(max-width:680px){.cards{grid-template-columns:1fr}}
.tcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px rgba(34,21,18,.06);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(34,21,18,.16)}
.tcard.featured{border:2px solid var(--accent);box-shadow:0 16px 40px rgba(142,42,34,.16)}
@media(min-width:1021px){.tcard.featured{margin-top:-14px}}
.tcard .thumb{position:relative;display:block;height:300px;overflow:hidden;color:#fff;text-decoration:none}
.tcard.featured .thumb{height:330px}
.tcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tcard:hover .thumb img{transform:scale(1.05)}
.tcard .thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,13,10,.9) 0%,rgba(24,13,10,.35) 45%,rgba(24,13,10,0) 70%)}
.tcard .chip{position:absolute;top:16px;left:16px;z-index:2;background:rgba(34,21,18,.72);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.tcard.featured .chip{background:var(--accent);border-color:var(--accent)}
.tcard .ov{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.tcard .ov .m{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:.5em;display:flex;flex-wrap:wrap;gap:4px 10px}
.tcard .ov .m .st{color:var(--glow)}
.tcard .ov h3{color:#fff;font-size:1.42rem;margin:0;line-height:1.14}
.tcard .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.tcard .chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 .9em}
.tcard .chips span{background:var(--sand);color:#4a4540;font-size:.74rem;font-weight:600;padding:5px 10px;border-radius:999px}
/* QA FIX, side ticket cards 655 vs 630. The difference was exactly one line of this
   paragraph (5 lines against 4). The copy is matched now, and this floor keeps them
   matched the next time someone edits a desc: 5 lines at the inherited line-height. */
.tcard p{margin:0 0 1em;font-size:.95rem;color:#443A33;min-height:7.9em}
.tcard details{margin:0 0 1.1em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tcard summary{cursor:pointer;list-style:none;font-weight:700;font-size:.88rem;color:var(--accent-ink);padding:11px 0;display:flex;justify-content:space-between}
.tcard summary::-webkit-details-marker{display:none}
.tcard summary:after{content:"+";font-size:1.1rem;line-height:1}
.tcard details[open] summary:after{content:"\2212"}
.tcard details ul{margin:0;padding:0 0 12px 18px;font-size:.9rem;color:#4E433B}
.tcard details li{margin-bottom:.3em}
.tcard .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.price{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);line-height:1.1}
.price b{display:block;font-family:var(--font-display);font-size:2rem;letter-spacing:-.02em;color:var(--ink);text-transform:none;font-weight:700;margin-top:2px}
.price i{display:block;font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;font-size:.72rem;margin-top:2px}

/* ---------- shortlist bento (more tours, image-overlay cards) */
.bento-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:70px 0 18px;border-bottom:1px solid var(--line);padding-bottom:12px}
.bento-head h3{font-size:1.45rem;margin:0}
.bento-head span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:16px}
.bento .oc:first-child{grid-column:span 2}
@media(min-width:901px){.bento .oc.wide{grid-column:span 2}}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento .oc:first-child{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:260px}.bento .oc:first-child{grid-column:auto}}
.oc{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;display:block;background:var(--deep);isolation:isolate}
.oc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.oc:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(24,13,10,.92) 0%,rgba(24,13,10,.35) 55%,rgba(24,13,10,.05) 100%)}
.oc:hover img{transform:scale(1.06)}
.oc .chip{position:absolute;top:14px;left:14px;background:rgba(34,21,18,.7);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.oc .in{position:absolute;left:18px;right:18px;bottom:16px}
.oc .m{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:.45em;display:flex;flex-wrap:wrap;gap:3px 9px}
.oc .m .st{color:var(--glow)}
.oc h4{font-size:1.18rem;margin:0 0 .6em;color:#fff;line-height:1.15}
.oc:first-child h4{font-size:1.5rem}
.oc .ft{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.22);padding-top:10px;font-size:.78rem;font-weight:700}
.oc .ft b{font-family:var(--font-display);font-size:1.2rem;color:var(--glow);margin-left:4px}
.oc .ft small{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}

/* ---------- compare table */
.tbl-wrap{overflow-x:auto;margin-top:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
table.cmp{border-collapse:collapse;width:100%;min-width:820px;font-size:.9rem}
.cmp th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--sand)}
.cmp td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.cmp tr:last-child td{border-bottom:0}
.cmp tr.feat td{background:#FFF1E8}
.cmp .st{color:var(--star)}
.tbl-note{font-size:.84rem;color:var(--ink-soft);margin:14px 0 0}

/* ---------- dark destination chapter */
.dark{background:var(--deep);color:#F4EEE6;position:relative;overflow:hidden}
.dark:before{content:"";position:absolute;right:-10%;top:-20%;width:60%;height:80%;background:radial-gradient(closest-side,rgba(200,150,110,.22),transparent);pointer-events:none}
.dark h2,.dark h3{color:#fff}
.dark h2 em{color:var(--glow)}
.dark p{color:rgba(246,238,228,.82)}
.dark a{color:var(--glow)}
.dest{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;position:relative}
@media(max-width:900px){.dest{grid-template-columns:1fr;gap:40px}}
.frame{position:relative}
.frame:before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--line-dark);border-radius:var(--r-lg)}
.frame img{position:relative;border-radius:var(--r-lg);width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.frame figcaption{font-size:.78rem;color:rgba(246,238,228,.6);margin-top:24px;padding-left:34px;position:relative}
.frame figcaption:before{content:"";position:absolute;left:0;top:.7em;width:24px;height:1px;background:currentColor}
.statrow{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line-dark);padding-top:22px;margin-top:26px}
.statrow .big{font-family:var(--font-display);font-size:3.6rem;line-height:1;color:var(--mint);letter-spacing:-.03em;font-weight:600}
.statrow p{margin:0;font-size:.88rem;max-width:30ch}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags span{border:1px solid var(--line-dark);border-radius:999px;padding:6px 13px;font-size:.78rem;color:rgba(246,238,228,.85)}
.ess{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line-dark)}
.ess>div{padding:26px 22px 0 0;margin-right:22px;border-right:1px solid var(--line-dark)}
.ess>div:last-child{border-right:0;margin-right:0}
.ess .n{display:block;font-family:var(--font-display);font-style:italic;color:var(--glow);font-size:.95rem;margin-bottom:.6em}
.ess h3{font-size:1.08rem}
.ess p{font-size:.9rem;margin:0}
@media(max-width:900px){.ess{grid-template-columns:1fr 1fr}.ess>div{border-right:0;margin-right:0;padding-right:10px}}
@media(max-width:520px){.ess{grid-template-columns:1fr}}

/* ---------- steps (big numerals) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:10px;position:relative}
.steps:before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps:before{display:none}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative}
.step .n{display:inline-block;font-family:var(--font-display);font-size:4.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent);background:var(--paper);padding-right:12px;letter-spacing:-.04em}
.alt .step .n{background:var(--sand)}
.step h3{margin:.4em 0 .4em}
.step p{font-size:.93rem;color:#4E433B;margin:0 0 .6em}
.step .t{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink)}

/* ---------- gallery bento with lightbox */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:12px;margin-top:56px}
.gal a{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;color:#fff;text-decoration:none}
.gal a:first-child{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gal a:hover img{transform:scale(1.06)}
.gal a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,13,10,.75),rgba(24,13,10,0) 50%)}
.gal span{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;font-size:.78rem;font-weight:600;line-height:1.3}
@media(max-width:820px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
.gal-note{font-size:.78rem;color:var(--ink-soft);margin-top:12px}
.lb{position:fixed;inset:0;background:rgba(16,9,7,.93);display:flex;align-items:center;justify-content:center;z-index:99;flex-direction:column;padding:30px}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:80vh;border-radius:10px}
.lb .cap{color:#EBE0D2;font-size:.88rem;margin-top:14px;text-align:center}
.lb .x{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}

/* ---------- tabs */
.tabs{max-width:900px;margin:0 auto}
.tabbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}
.tabbar button{font:inherit;font-weight:700;font-size:.86rem;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:all .2s}
.tabbar button:hover{border-color:var(--accent)}
.tabbar button.on{background:var(--deep);border-color:var(--deep);color:#fff}
.tabpanel{display:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px}
.tabpanel.on{display:block;animation:fade .4s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tabpanel ul{margin:0;padding-left:20px}
.tabpanel li{margin-bottom:.6em}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:880px){.events{grid-template-columns:1fr}}
.ev{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 18px 16px;position:relative}
.ev .p{position:absolute;top:16px;right:16px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--sand);padding:4px 9px;border-radius:999px}
.ev b{display:block;font-family:var(--font-display);font-size:1.08rem;margin:0 70px .3em 0;line-height:1.2}
.ev span{font-size:.86rem;color:var(--ink-soft)}

/* ---------- meeting point */
.meet{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:#fff}
.meet iframe{width:100%;height:100%;min-height:380px;border:0}
.meet-body{padding:34px}
.meet .addr{font-weight:700;color:var(--accent-ink);font-size:.9rem}
.meet ul{padding-left:18px;font-size:.92rem;color:#4E433B}
@media(max-width:840px){.meet{grid-template-columns:1fr}.meet iframe{min-height:280px}}

/* ---------- parallax banner / final CTA */
.pbanner{position:relative;overflow:hidden;color:#fff;text-align:center;isolation:isolate;background:var(--deep)}
.pbanner .bg{position:absolute;left:0;right:0;top:-30%;height:160%;z-index:-2;will-change:transform}
.pbanner .bg img{width:100%;height:100%;object-fit:cover}
.pbanner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,13,10,.78),rgba(24,13,10,.45),rgba(24,13,10,.78))}
.pbanner .in{padding:130px 22px;max-width:780px;margin:0 auto}
.pbanner h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3.2rem)}
.pbanner h2 em{color:var(--glow)}
.pbanner p{color:rgba(255,255,255,.82);max-width:54ch;margin:0 auto 1.8em}
.pbanner .alt-links{font-size:.88rem;margin-top:1.6em;color:rgba(255,255,255,.75)}
.pbanner .alt-links a,.pbanner .fine a{color:#fff}
.pbanner .fine{font-size:.76rem;color:rgba(255,255,255,.55);margin-top:1.4em}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ---------- reviews */
.rev-sum{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 auto 38px;flex-wrap:wrap}
.rev-sum .num{font-family:var(--font-display);font-size:4.6rem;line-height:1;font-weight:600;letter-spacing:-.04em}
.rev-sum .rs-stars{color:var(--star);font-size:1.5rem;letter-spacing:2px}
.rev-sum .rs-meta{font-size:.88rem;color:var(--ink-soft);line-height:1.4}
.quotes{columns:3;column-gap:14px}
@media(max-width:900px){.quotes{columns:2}}
@media(max-width:600px){.quotes{columns:1}}
.q{break-inside:avoid;margin:0 0 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 18px}
.q .stars{color:var(--star);letter-spacing:2px;font-size:.92rem;margin-bottom:.4em}
.q p{margin:0 0 .8em;font-family:var(--font-display);font-size:1.12rem;line-height:1.45;font-weight:500}
.q footer{font-size:.78rem;color:var(--ink-soft)}
.q footer b{color:var(--ink)}
.rev-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:18px}

/* ---------- cross-sell */
.gc{display:grid;grid-template-columns:1fr 1.1fr;border-radius:var(--r-xl);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(34,21,18,.07)}
.gc img{width:100%;height:100%;object-fit:cover;min-height:300px}
.gc .body{padding:34px}
.gc .meta{font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink-soft)}
.gc .meta .st{color:var(--star)}
.pill{display:inline-block;background:var(--sand);color:#4a4540;font-size:.74rem;font-weight:700;padding:5px 10px;border-radius:999px;margin:0 6px 6px 0}
@media(max-width:800px){.gc{grid-template-columns:1fr}.gc img{min-height:220px}}

/* ---------- long-form guide */
.guide{max-width:760px;margin:0 auto}
.guide .lead,.prose .lead{font-family:var(--font-display);font-size:1.3rem;line-height:1.5;color:var(--ink)}
.guide h3{font-size:1.55rem;margin-top:1.6em}
.guide figure,.gfig{margin:2em 0}
.guide figure img,.gfig img{border-radius:var(--r-lg);width:100%}
.guide figcaption,.gfig figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:10px;padding-left:34px;position:relative}
.guide figcaption:before,.gfig figcaption:before{content:"";position:absolute;left:0;top:.7em;width:24px;height:1px;background:currentColor}
.tip{background:var(--sand);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;padding:18px 22px;margin:1.6em 0;font-size:.96rem}

/* ---------- guide cards */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.gcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.gcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(34,21,18,.1);border-color:var(--accent)}
.gcard h3{font-size:1.12rem;margin-bottom:.45em}
.gcard p{font-size:.88rem;color:var(--ink-soft);margin:0 0 1em}
.gcard .go{margin-top:auto;font-size:.8rem;font-weight:700;color:var(--accent-ink)}

/* ---------- FAQ: sticky heading left, accordion right */
.faq-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}
.faq-grid .side{position:sticky;top:100px}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:20px}.faq-grid .side{position:static}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.1rem;padding:18px 40px 18px 0;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--font-body);font-weight:300;font-size:1.6rem;color:var(--ink-soft);transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg);color:var(--accent)}
.faq .a p{margin:0 0 18px;color:#4E433B;font-size:.97rem}

/* ---------- footer */
.site-foot{background:var(--sand);border-top:1px solid var(--line);font-size:.9rem;color:#4E433B}
.site-foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:64px 0 36px}
@media(max-width:880px){.site-foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.site-foot .cols{grid-template-columns:1fr}}
.site-foot h4{font-family:var(--font-body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 1em}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:.55em}
.site-foot a{color:#382E28;text-decoration:none}
.site-foot a:hover{color:var(--accent-ink);text-decoration:underline}
/* QA FIX, 390px overflow on every route. The brand is one unbreakable 31-character
   token in a display serif, and a flex item defaults to min-width:auto, so it refused
   to shrink and pushed the document 5px wide on all 11 pages. min-width:0 lets it
   shrink, overflow-wrap lets the token break. Reproduced at 429px with a stand-in
   wide serif and verified back to 390px with this rule. */
.foot-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);margin-bottom:.8em;min-width:0;overflow-wrap:anywhere}
.foot-logo img{width:36px;height:36px;border-radius:9px}
.disclosure{font-size:.82rem;color:var(--ink-soft)}
/* Long unbreakable tokens in prose: the contact address is 37 characters. */
.page-body a,.page-body p,.guide p{overflow-wrap:anywhere}
.pop{border-top:1px solid var(--line);padding:22px 0}
.pop h4{margin-bottom:.8em}
.pop div{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.84rem}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0 26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-soft)}

/* ---------- inner pages */
.page-top{padding-top:calc(var(--head-h) + 10px)}
.crumbs{font-size:.82rem;color:var(--ink-soft);padding-top:26px}
.crumbs a{color:var(--ink-soft)}
.prose{max-width:760px;margin:0 auto;padding:26px 22px 80px}
.prose h1{font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.05}
.prose h2{font-size:1.7rem;margin-top:1.4em}
.gcta{background:var(--deep);color:#fff;border-radius:var(--r-xl);padding:28px 30px;margin:2.4em 0}
.gcta .eyebrow{color:var(--mint)}
.gcta-note{color:rgba(255,255,255,.75);font-size:.9rem;margin:0 0 1em}
.gcta .btn-row{justify-content:flex-start}
.more-guides{border-top:1px solid var(--line);margin-top:3em;padding-top:1.6em}
.more-guides h2{font-size:1.3rem}
.more-guides ul{padding-left:18px}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
.prose table.cmp{min-width:0}
.prose .tbl-wrap{margin:1.2em 0}

/* ---------- status strip (closures / advisories; driven by STATUS in build_site.py) */
.status{background:#FFF4D6;border-bottom:1px solid #EBD9A2;color:#4A3A0A}
.status .wrap{display:flex;gap:14px;align-items:flex-start;padding-top:14px;padding-bottom:14px;font-size:.92rem;line-height:1.5}
.status .ic{flex:none;width:26px;height:26px;border-radius:50%;background:#E0A21B;color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;margin-top:1px}
.status b{color:#2E2406}
.status a{color:#7A4B00;font-weight:700}
.status .upd{display:block;font-size:.78rem;color:#7A6A3A;margin-top:2px}

/* ---------- guides v2: hub, article layout, sticky TOC, progress, inline CTAs */
.rprog{position:fixed;top:0;left:0;right:0;height:3px;z-index:55;pointer-events:none}
.rprog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--glow));transform-origin:0 50%;transform:scaleX(0)}
.ghead{padding-top:18px;padding-bottom:6px}
.ghead h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.04;max-width:940px;margin-bottom:.35em}
.glede{font-size:1.14rem;color:var(--ink-soft);max-width:760px;margin:0 0 .8em}
.gupd{font-size:.8rem;color:var(--ink-soft);letter-spacing:.02em;margin:0}
.ghero{margin-top:26px;margin-bottom:0}
.ghero img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--r-xl);box-shadow:0 24px 50px rgba(34,21,18,.18)}
.ghero figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:10px}
.glayout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;align-items:start;padding-top:44px;padding-bottom:40px}
.gtoc{position:sticky;top:calc(var(--head-h) + 24px);max-height:calc(100vh - var(--head-h) - 48px);overflow:auto;border-left:1px solid var(--line);padding:4px 0 4px 18px}
.gtoc-h{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px}
.gtoc ol{list-style:none;margin:0;padding:0}
.gtoc li{margin:0}
.gtoc a{display:flex;gap:10px;padding:7px 10px;border-radius:8px;font-size:.88rem;line-height:1.35;color:var(--ink-soft);text-decoration:none;border-left:2px solid transparent;margin-left:-12px;transition:background .2s,color .2s}
.gtoc a span{flex:none;width:18px;font-size:.72rem;font-weight:700;color:var(--ink-soft);padding-top:2px}
.gtoc a:hover{color:var(--ink);background:var(--sand)}
.gtoc a.on{color:var(--ink);font-weight:700;background:var(--sand);border-left-color:var(--accent)}
.gart{max-width:780px;font-size:1.04rem}
.gart>p{margin:0 0 1.1em}
.gbook{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 18px;background:var(--sand);border-radius:var(--r-md);font-size:.95rem}
.gbook b{margin-right:2px}
.gquick{background:#F6EEE3;border-left:4px solid var(--deep-2);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:22px 26px;margin:1.8em 0 2.2em}
.gquick p{margin:0 0 .6em;font-size:1.06rem;line-height:1.6}
.gquick .eyebrow{margin-bottom:8px}
.gquick .gfig{margin:1.2em 0 0}
.gsec{padding-top:12px;scroll-margin-top:calc(var(--head-h) + 20px)}
.gsec h2{font-size:clamp(1.6rem,3vw,2.15rem);margin:1.4em 0 .5em}
.gans{font-size:1.07rem;line-height:1.6;margin:0 0 1em}
.gsec ul{padding-left:20px}
.gsec li{margin:.35em 0}
ul.checks{list-style:none;padding:0}
ul.checks li{position:relative;padding-left:30px}
ul.checks li:before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--deep-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.gstrip{border-left:3px solid var(--accent);padding:6px 0 6px 18px;margin:1.8em 0}
.gstrip p{margin:0 0 .7em;font-size:.93rem;color:var(--ink-soft)}
.goffer{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;background:var(--sand);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin:2em 0}
.goffer img{width:150px;height:110px;object-fit:cover;border-radius:var(--r-md)}
.goffer p{margin:0 0 .5em;font-size:.95rem}
.gmeta{font-size:.8rem !important;color:var(--ink-soft)}
.gmeta .st{color:var(--star);font-weight:700}
.gchoose{margin-top:3em;background:var(--deep);color:#fff;border-radius:var(--r-xl);padding:34px 32px}
.gchoose h2{color:#fff;margin:.2em 0 .3em}
.gchoose h2 em{color:var(--glow)}
.gchoose .eyebrow{color:var(--mint)}
.gchoose .sub{color:rgba(255,255,255,.75);margin:0 0 1.4em}
.gchs{display:grid;gap:16px}
.gchs.n2,.gchs.n3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gch{background:#fff;color:var(--ink);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.gchs.n1 .gch{display:grid;grid-template-columns:240px 1fr}
.gch img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gchs.n1 .gch img{height:100%;aspect-ratio:auto}
.gchb{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.gchb h3{font-size:1.02rem;line-height:1.25;margin:0 0 .4em}
.gchb ul{margin:.3em 0 1em;padding-left:18px;font-size:.84rem;color:var(--ink-soft)}
.gchb .gbest{font-size:.86rem;color:var(--ink-soft)}
.gchb .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gchb .btn{padding:10px 16px;font-size:.84rem}
.gmore{background:var(--sand);padding:64px 0;margin-top:30px}
.gmore h2{margin-bottom:1em}
.gmore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gcard2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.gcard2:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(34,21,18,.12)}
.gcard2 img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gcard2 span{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
.gcard2 b{font-family:var(--font-display);font-size:1.1rem}
.gcard2 small{color:var(--ink-soft);font-size:.86rem}
.ghub{padding:48px 0 70px;margin-top:30px}
.ghub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ghub-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ghub-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(34,21,18,.13)}
.ghub-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ghc{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.ghc b{font-family:var(--font-display);font-size:1.16rem;line-height:1.25}
.ghc small{color:var(--ink-soft);font-size:.9rem}
.ghc em{margin-top:auto;padding-top:8px;font-style:normal;font-weight:700;font-size:.86rem;color:var(--accent-ink)}
@media(max-width:980px){.glayout{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:28px}
  .gtoc{position:static;max-height:none;border-left:0;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;background:#fff}
  .gtoc a{margin-left:0}
  .gmore-grid,.ghub-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.gmore-grid,.ghub-grid{grid-template-columns:1fr}.goffer{grid-template-columns:1fr}.goffer img{width:100%;height:170px}
  .gchs.n1 .gch{grid-template-columns:1fr}.ghero img{aspect-ratio:4/3}.gchoose{padding:26px 20px}}

/* ---------- floating corner CTA + exit-intent dialog */
.fcta{position:fixed;right:20px;bottom:20px;width:320px;z-index:58;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 22px 50px rgba(34,21,18,.22);padding:18px 18px 18px;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.fcta.on{opacity:1;transform:none;pointer-events:auto}
.fcta p{margin:0 32px 12px 0;font-size:.95rem;line-height:1.45}
.fcta .btn{width:100%;justify-content:center}
.fx{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:0;background:transparent;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--ink)}
.fx:hover{background:var(--sand)}
@media(max-width:650px){.fcta{left:0;right:0;bottom:0;width:auto;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:14px 16px}
  .fcta p{font-size:.88rem;margin-bottom:10px}}
.xdlg{border:0;border-radius:var(--r-xl);padding:34px 34px 30px;max-width:460px;width:calc(100% - 40px);box-shadow:0 30px 80px rgba(0,0,0,.35);color:var(--ink)}
.xdlg::backdrop{background:rgba(24,13,10,.55);backdrop-filter:blur(2px)}
.xdlg h3{font-size:1.7rem;line-height:1.15;margin:0 30px .5em 0}
.xdlg p{color:var(--ink-soft);margin:0 0 1.3em}
.xdlg .btn{width:100%;justify-content:center}
.gart table.cmp,.gchoose table.cmp{min-width:0;width:100%}
.gart .tbl-wrap{margin:1.2em 0;overflow-x:auto}
.gart .cmp td,.gart .cmp th{padding:11px 12px}
.gart .cmp td{font-size:.9rem}

/* ---- Language dropdown (v3 header) ---- */
.lang-dd{position:relative;margin-left:18px;flex-shrink:0}
.lang-dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px;font-weight:700;font-size:.76rem;letter-spacing:.06em;color:#fff;padding:7px 10px;border:1px solid rgba(255,255,255,.45);border-radius:9px;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary::after{content:"▾";font-size:.62rem}
.solid .lang-dd summary,.plain .lang-dd summary,.site-head.open .lang-dd summary{color:var(--ink);border-color:var(--line);text-shadow:none}
.lang-dd .lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.16);padding:6px;display:flex;flex-direction:column;min-width:140px;z-index:80}
.lang-menu a{padding:8px 11px;border-radius:8px;font-size:.84rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.lang-menu a:hover{background:var(--sand)}
.lang-menu a.active{color:var(--accent-ink);background:var(--sand)}
@media(max-width:1000px){.lang-dd{margin-left:10px;order:3}.nav-toggle{order:2}.lang-dd summary{padding:6px 8px;font-size:.72rem}}
