/* =========================================================
   LOTUS SAFARI — "Desert expedition" design system
   ========================================================= */
:root{
  --night:#7a3a1a; --night-2:#8e4724; --night-3:#c9a26b; --hdr:#14110d; --dune-l:#ead6ae;
  --sand:#f1e7d4; --sand-2:#e6d6b8; --paper:#faf5ea; --dune:#c69a5b;
  --sun:#f7c600; --sun-2:#f08a12; --rust:#b4502a;
  --ink:#1b1610; --ink-2:#4a3f31; --muted:#8a7a62;
  --line:rgba(27,22,16,.12); --line-d:rgba(241,231,212,.14);
  --wa:#1fae54;
  --r:18px; --r-sm:10px;
  --shadow:0 18px 50px -24px rgba(40,25,5,.45);
  --f-display:"Big Shoulders Display", Impact, "Arial Narrow", sans-serif;
  --f-serif:"Fraunces", Georgia, serif;
  --f-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --wrap:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--sand);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.05}
h1,h2{font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:.01em}
h1 em,h2 em,h3 em{font-family:var(--f-serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--sun)}
.sec--sand h2 em,.sec--paper h2 em,.prose h2 em{color:var(--rust)}
h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
.center{text-align:center}
.muted{color:var(--muted)} .small{font-size:.88rem}
.skip{position:absolute;left:-999px;top:0;z-index:999;background:var(--sun);padding:.5rem 1rem}
.skip:focus{left:1rem}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}
.hp{position:absolute!important;left:-5000px!important;opacity:0;height:0;width:0}
:focus-visible{outline:2px solid var(--sun-2);outline-offset:3px;border-radius:4px}

/* grain over everything for that dusty film feel */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Buttons & small parts ---------- */
.btn{--bg:var(--night);--fg:var(--sand);display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.4em;border-radius:999px;border:0;
  background:var(--bg);color:var(--fg);font-weight:700;font-size:.95rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.btn .ic{transition:transform .25s var(--ease)} .btn:hover .ic{transform:translateX(3px)}
.btn--sun{--bg:linear-gradient(120deg,var(--sun),var(--sun-2));--fg:var(--ink)}
.btn--ink{--bg:#6b3519;--fg:#fbf3e3}
.btn--ghost{--bg:rgba(255,255,255,.08);--fg:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);backdrop-filter:blur(6px)}
.btn--line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--wa{--bg:var(--wa);--fg:#fff}
.btn--lg{padding:1.05em 1.8em;font-size:1.02rem}
.btn--sm{padding:.6em 1em;font-size:.86rem}
.btn--block{width:100%}
.kicker{display:inline-flex;align-items:center;gap:.5em;font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);margin-bottom:1rem}
.kicker--sun{color:var(--sun)}
.link{display:inline-flex;align-items:center;gap:.4em;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.link--sun{color:var(--sun)}
.pill{display:inline-block;padding:.2em .7em;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--sand-2)}
.pill--new{background:#fff1bf;color:#7a5800}.pill--confirmed{background:#d6f3dd;color:#0f6b2a}.pill--cancelled{background:#f6d5cc;color:#8b2a12}.pill--completed{background:#dde7f6;color:#21456f}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;transition:background .35s,box-shadow .35s,transform .35s}
.hdr__in{width:min(1400px,100% - 32px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:84px}
.hdr__logo img{height:62px;width:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));transition:height .3s}
.hdr__nav{display:flex;align-items:center;gap:.25rem}
.hdr__nav>a,.hdr__drop>a{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;padding:.55em .9em;border-radius:99px;transition:background .2s;position:relative}
.hdr__nav>a:hover,.hdr__drop>a:hover{background:rgba(255,255,255,.12)}
.hdr__nav a.is-on::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--sun);transform:translateX(-50%)}
.hdr__cta{margin-inline-start:.6rem}
.hdr__drop{position:relative}
.hdr__menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;min-width:520px;
  padding:1.3rem;border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.25s var(--ease)}
.hdr__drop:hover .hdr__menu,.hdr__drop:focus-within .hdr__menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.hdr__menu h6{display:flex;gap:.4em;align-items:center;margin:0 0 .5rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rust)}
.hdr__menu a{display:flex;justify-content:space-between;padding:.5em .6em;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.93rem}
.hdr__menu a span{color:var(--muted);font-weight:500}
.hdr__menu a:hover{background:var(--sand)}
.hdr.is-solid{background:rgba(20,17,13,.92);backdrop-filter:blur(12px);box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
.hdr.is-solid .hdr__logo img{height:50px}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__burger{display:none;background:none;border:0;color:#fff;padding:.4rem;cursor:pointer}
.hdr__burger .ic{width:28px;height:28px;display:block}
/* ---------- Mobile drawer ---------- */
.mnav{position:fixed;inset:0;z-index:250;visibility:hidden;pointer-events:none}
.mnav.is-open{visibility:visible;pointer-events:auto}
.mnav__backdrop{position:absolute;inset:0;background:rgba(74,36,14,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.mnav.is-open .mnav__backdrop{opacity:1}
.mnav__panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .38s var(--ease);box-shadow:-30px 0 60px -20px rgba(74,36,14,.45);overflow-y:auto;
  background-image:linear-gradient(180deg,var(--dune-l),var(--paper) 40%)}
.mnav.is-open .mnav__panel{transform:none}
.mnav__top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--hdr)}
.mnav__logo img{height:46px;width:auto}
.mnav__close{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}
.mnav__list{padding:.6rem 12px;display:grid}
.mnav__list>a,.mnav__list summary{display:flex;align-items:center;gap:.85rem;padding:.9rem .75rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1.02rem;color:var(--ink);cursor:pointer;list-style:none}
.mnav__list summary::-webkit-details-marker{display:none}
.mnav__list>a .ic,.mnav__list summary>.ic{width:22px;height:22px;color:var(--rust);flex:none}
.mnav__list>a:hover,.mnav__list summary:hover,.mnav__list>a.is-on{background:rgba(180,80,42,.09)}
.mnav__list>a.is-on{color:var(--rust)}
.mnav__list>a+a,.mnav__list>details+a,.mnav__list>a+details{border-top:1px solid var(--line)}
.mnav__chev{margin-inline-start:auto;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s}
details[open] .mnav__chev{transform:rotate(-135deg)}
.mnav__sub{display:grid;gap:2px;padding:.2rem 0 .7rem 2.6rem}
.mnav__sub small{display:flex;align-items:center;gap:.35rem;margin:.6rem 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.mnav__sub a{display:flex;justify-content:space-between;padding:.5rem .7rem;border-radius:8px;text-decoration:none;font-size:.95rem;color:var(--ink-2)}
.mnav__sub a span{color:var(--muted);font-size:.85rem}
.mnav__sub a:hover{background:var(--sand)}
.mnav__sub .mnav__all{margin-top:.4rem;color:var(--rust);font-weight:700;justify-content:flex-start;gap:.4rem}
.mnav__foot{margin-top:auto;padding:16px;display:grid;gap:.6rem;border-top:1px solid var(--line)}
.mnav__row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.mnav__row .btn{padding:.75em 1em}
.mnav__foot .btn--line{--fg:#6b3519;box-shadow:inset 0 0 0 1.5px #6b3519}
@media (min-width:901px){.mnav{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden;background:var(--night)}
.hero__slides,.hero__slide{position:absolute;inset:0}
.hero__slide{opacity:0;transition:opacity 1.6s ease}
.hero__slide.is-on{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 9s linear}
.hero__slide.is-on img{transform:scale(1)}
.hero__shade{position:absolute;inset:0;background:
  radial-gradient(120% 70% at 20% 40%,rgba(74,36,14,.15),rgba(74,36,14,.75)),
  linear-gradient(180deg,rgba(74,36,14,.55) 0%,rgba(74,36,14,.05) 35%,rgba(74,36,14,.85) 100%)}
.hero__dust{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero__in{position:relative;z-index:2;padding-top:110px;max-width:var(--wrap)}
.hero h1{font-size:clamp(3.2rem,9.5vw,8.4rem);line-height:.86;margin-bottom:.35em;text-shadow:0 8px 40px rgba(0,0,0,.35)}
.hero h1 em{font-size:.86em}
.hero p{max-width:560px;font-size:clamp(1rem,1.6vw,1.2rem);color:rgba(255,255,255,.88)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero__in>*{animation:rise 1s var(--ease) both}
.hero__in>*:nth-child(2){animation-delay:.12s}.hero__in>*:nth-child(3){animation-delay:.24s}.hero__in>*:nth-child(4){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero__dots{position:absolute;z-index:3;right:max(16px,calc((100vw - var(--wrap))/2));top:50%;display:flex;flex-direction:column;gap:.6rem;transform:translateY(-50%)}
.hero__dots button{width:4px;height:28px;border:0;border-radius:4px;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:.3s}
.hero__dots button.is-on{background:var(--sun);height:46px}

.qbook{position:relative;z-index:3;display:grid;grid-template-columns:1.5fr 1fr .6fr auto;gap:.6rem;align-items:end;margin-top:3rem;margin-bottom:2.5rem;padding:.8rem;
  border-radius:22px;background:rgba(250,245,234,.95);color:var(--ink);box-shadow:0 30px 60px -25px rgba(0,0,0,.6);backdrop-filter:blur(10px)}
.qbook label{display:flex;flex-direction:column;gap:.15rem;padding:.35rem .8rem;border-radius:12px}
.qbook label+label{border-inline-start:1px solid var(--line)}
.qbook span{display:flex;gap:.4em;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.qbook select,.qbook input{border:0;background:transparent;font-weight:700;font-size:1rem;padding:.15rem 0;outline:none;width:100%}
.qbook .btn{height:100%;min-height:58px;border-radius:16px}

/* ---------- Ribbon ---------- */
.ribbon{background:var(--sun);color:var(--ink);position:relative}
.ribbon::before,.ribbon::after{content:"";position:absolute;left:0;right:0;height:10px;background:radial-gradient(circle at 5px 0,transparent 5px,var(--sun) 5.5px) repeat-x;background-size:14px 10px}
.ribbon::before{top:-9px;transform:rotate(180deg)}.ribbon::after{bottom:-9px}
.ribbon__in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.6rem 0}
.ribbon__in div{display:flex;align-items:baseline;gap:.6rem}
.ribbon b{font-family:var(--f-display);font-size:2.6rem;font-weight:900;line-height:1}
.ribbon span{font-size:.86rem;font-weight:600;line-height:1.25;max-width:150px}

/* ---------- Sections ---------- */
.sec{padding:clamp(4rem,9vw,7.5rem) 0;position:relative}
.sec--sand{background:var(--sand)}
.sec--paper{background:var(--paper)}
.sec--night{background:linear-gradient(160deg,#9a4f26,#7a3a1a);color:var(--sand)}
.sec--dune{background:var(--dune-l);color:var(--ink)}
.sec--dune .kicker--sun{color:var(--rust)}
.sec--dune .route p,.route.sec--dune p{color:var(--ink-2)}
.sec--dune .ticks .ic{color:var(--rust)}
.sec--dune .link--sun{color:var(--rust)}
.sec--dune h2 em{color:var(--rust)}
.topo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='%23b08b55' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M-50 120c80-40 160 30 250-10s170-60 250 0 160 40 200 0'/%3E%3Cpath d='M-50 170c90-40 170 40 260 0s170-50 240 10 170 30 200-10'/%3E%3Cpath d='M-50 220c100-40 180 50 270 10s160-40 230 20 180 20 200-20'/%3E%3Cpath d='M-50 400c90 40 170-30 260 10s170 60 250 0 160-40 190 0'/%3E%3Cpath d='M-50 450c100 40 180-40 270 0s160 50 240-10 170-30 190 10'/%3E%3Ccircle cx='470' cy='300' r='40'/%3E%3Ccircle cx='470' cy='300' r='70'/%3E%3Ccircle cx='470' cy='300' r='100'/%3E%3C/g%3E%3C/svg%3E")}
.sec__head{max-width:760px;margin-bottom:2.8rem}
.sec__head h2{font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:.92}
.sec__head p{color:var(--ink-2);font-size:1.08rem}
.sec--night .sec__head p{color:rgba(241,231,212,.7)}
.sec__head--row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.sec__head--row h2{margin:0}

/* ---------- Tabs ---------- */
.tabs{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border-radius:99px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:2rem}
.tabs button,.tabs a{display:inline-flex;align-items:center;gap:.45em;border:0;background:none;padding:.65em 1.2em;border-radius:99px;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;color:var(--ink-2);transition:.2s}
.tabs .is-on{background:#6b3519;color:#fbf3e3}
.tabs sup{font-size:.7em;opacity:.6}
.tabs--dark{background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line-d)}
.tabs--dark button{color:rgba(241,231,212,.7)}
.tabs--dark .is-on{background:var(--sun);color:var(--ink)}

/* ---------- Program cards ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.pcard{background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 0 var(--line),var(--shadow);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(40,25,5,.55)}
.pcard__media{position:relative;display:block;aspect-ratio:4/3.1;overflow:hidden;background:var(--night-3)}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pcard:hover .pcard__media img{transform:scale(1.07)}
.pcard__media::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(74,36,14,.55))}
.pcard__session{position:absolute;z-index:1;top:14px;left:14px;display:inline-flex;align-items:center;gap:.4em;padding:.38em .8em;border-radius:99px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(250,245,234,.92);color:var(--ink)}
.pcard__session--evening{background:rgba(74,36,14,.85);color:var(--sun)}
.pcard__badge{position:absolute;z-index:1;bottom:14px;left:14px;font-family:var(--f-display);font-weight:800;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sun)}
.pcard__body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.pcard__meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted);font-weight:600;margin-bottom:.6rem}
.pcard__meta span{display:inline-flex;gap:.35em;align-items:center}
.pcard h3{font-size:1.32rem;margin-bottom:.4rem}
.pcard h3 a{text-decoration:none}
.pcard p{color:var(--ink-2);font-size:.95rem;margin-bottom:1.2rem}
.pcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px dashed var(--line)}
.price{display:flex;align-items:baseline;gap:.3rem}
.price b{font-family:var(--f-display);font-size:2rem;font-weight:900;line-height:1}
.price small{color:var(--muted);font-size:.78rem}
.pnote{border-radius:var(--r);padding:2rem;background:var(--night);color:var(--sand);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;min-height:320px}
.pnote__ic{position:absolute;top:-30px;right:-30px;width:200px!important;height:200px!important;color:var(--sun);opacity:.22}
.pnote h3{font-family:var(--f-display);text-transform:uppercase;font-size:2rem;font-weight:900}
.pnote p{color:rgba(241,231,212,.75)}
.pnote .link{color:var(--sun)}
.pcard.is-hidden{display:none}

/* ---------- Route ---------- */
.route__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.route h2{font-size:clamp(2.4rem,5vw,4rem)}
.route p{color:var(--ink-2);font-size:1.06rem}
.ticks{list-style:none;padding:0;margin:1.4rem 0 2rem;display:grid;gap:.6rem}
.ticks li{display:flex;gap:.6rem;align-items:center;font-weight:600}
.ticks .ic{color:var(--rust)}
.trail{margin:0;color:var(--ink);background:var(--paper);border-radius:24px;padding:1.4rem;box-shadow:var(--shadow),0 0 0 1px var(--line)}
.trail>svg{width:100%;height:auto;font-family:var(--f-body)}
.trail__path{stroke-dashoffset:400;animation:march 18s linear infinite}
@keyframes march{to{stroke-dashoffset:0}}
.trail figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.trail figcaption span{display:inline-flex;gap:.45em;align-items:center}
.trail figcaption .ic{color:var(--rust)}

/* ---------- Mosaic (home gallery teaser) ---------- */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}
.mosaic__i{position:relative;overflow:hidden;border-radius:14px;background:var(--night-3)}
.mosaic__i img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.mosaic__i:hover img{transform:scale(1.08)}
.mosaic__i span{position:absolute;left:12px;right:12px;bottom:10px;color:#fff;font-weight:600;font-size:.85rem;opacity:0;transform:translateY(8px);transition:.35s;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.mosaic__i:hover span{opacity:1;transform:none}
.mosaic__i--1{grid-column:span 2;grid-row:span 2}
.mosaic__i--4{grid-row:span 2}
.mosaic__i--6{grid-column:span 2}

/* ---------- Features ---------- */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.feat{background:var(--paper);padding:2rem}
.feat .ic{width:42px;height:42px;color:var(--rust);margin-bottom:1rem;stroke-width:1.4}
.feat h3{font-size:1.15rem}
.feat p{color:var(--ink-2);font-size:.95rem;margin:0}
.feats--dark{background:var(--line-d);box-shadow:0 0 0 1px var(--line-d);grid-template-columns:repeat(4,1fr)}
.feats--dark .feat{background:var(--night)}
.feats--dark .feat .ic{color:var(--sun)}
.feats--dark .feat p{color:rgba(241,231,212,.7)}

/* ---------- Blog cards ---------- */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.bcard{display:flex;flex-direction:column}
.bcard__media{display:block;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;background:var(--night-3);margin-bottom:1.1rem}
.bcard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.bcard:hover .bcard__media img{transform:scale(1.06)}
.bcard .kicker{margin-bottom:.5rem;font-size:.7rem}
.bcard h3{font-size:1.3rem;line-height:1.2}
.bcard h3 a{text-decoration:none;background:linear-gradient(var(--sun),var(--sun)) 0 92%/0 35% no-repeat;transition:background-size .4s var(--ease)}
.bcard:hover h3 a{background-size:100% 35%}
.bcard p{color:var(--ink-2);font-size:.95rem}
.bfeature{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center;margin-bottom:3.5rem}
.bfeature__media{display:block;aspect-ratio:16/10;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.bfeature__media img{width:100%;height:100%;object-fit:cover}
.bfeature h2{font-size:clamp(2rem,4vw,3.2rem);line-height:.95}
.bfeature h2 a{text-decoration:none}
.bfeature p{color:var(--ink-2);font-size:1.05rem}

/* ---------- CTA ---------- */
.cta{position:relative;padding:clamp(5rem,12vw,9rem) 0;color:#fff;overflow:hidden;background:var(--night);text-align:center}
.cta__bg{position:absolute;inset:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.cta::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(80% 90% at 50% 50%,rgba(74,36,14,.2),rgba(74,36,14,.85))}
.cta__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.cta h2{font-size:clamp(3rem,8vw,6.5rem);line-height:.88}
.cta p{color:rgba(255,255,255,.85);font-size:1.15rem}
.cta--slim{padding:4.5rem 0;background:linear-gradient(120deg,var(--sun),var(--sun-2));color:var(--ink)}
.cta--slim::before{display:none}
.cta--slim h2{font-size:clamp(2.4rem,5vw,4rem)}
.cta--slim h2 em{color:var(--ink)}
.cta--slim .btn--sun{--bg:var(--ink);--fg:var(--sun)}

/* ---------- Page hero ---------- */
.phero,.dhero,.ahero{position:relative;color:#fff;background:var(--night);overflow:hidden}
.phero{min-height:62vh;display:flex;align-items:flex-end;padding:9rem 0 4.5rem}
.phero--sm{min-height:46vh}
.phero__bg,.dhero__bg,.ahero__bg{position:absolute;inset:0}
.phero__bg img,.dhero__bg img,.ahero__bg img{width:100%;height:100%;object-fit:cover;animation:slowzoom 18s ease-out both}
@keyframes slowzoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.phero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(74,36,14,.55),rgba(74,36,14,.15) 40%,rgba(74,36,14,.88))}
.phero__in,.dhero__in,.ahero__in{position:relative;z-index:2}
.phero h1{font-size:clamp(3rem,8vw,6.6rem);line-height:.88;max-width:14ch}
.phero p{max-width:560px;font-size:1.15rem;color:rgba(255,255,255,.86)}

/* ---------- Program detail ---------- */
.dhero{min-height:88vh;display:flex;align-items:flex-end;padding:9rem 0 3rem}
.dhero h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:.9;max-width:16ch;margin-top:1rem}
.dhero p{font-size:1.2rem;max-width:620px;color:rgba(255,255,255,.88)}
.dhero .pcard__session{position:static}
.crumbs{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.85rem;margin-bottom:1.2rem;color:rgba(255,255,255,.75)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--sun)}
.crumbs b{color:#fff}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.2rem;border-radius:18px;overflow:hidden;background:rgba(74,36,14,.55);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.facts div{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;padding:1.1rem 1.3rem;align-items:center}
.facts div+div{border-inline-start:1px solid rgba(255,255,255,.12)}
.facts .ic{grid-row:span 2;width:28px;height:28px;color:var(--sun)}
.facts span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.facts b{font-family:var(--f-display);font-size:1.5rem;font-weight:800;line-height:1.1}

.detail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(2rem,4vw,4rem);align-items:start}
.strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:150px;gap:10px;margin-bottom:3rem}
.strip__i{border-radius:12px;overflow:hidden;background:var(--night-3);cursor:zoom-in}
.strip__i img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.strip__i:hover img{transform:scale(1.06)}
.strip__i--big{grid-row:span 2}
.h2s{font-size:clamp(1.8rem,3vw,2.4rem);margin-top:2.6rem}
.lead{font-size:1.18rem;line-height:1.65;color:var(--ink-2)}
.itin{list-style:none;padding:0;margin:1.5rem 0;position:relative}
.itin::before{content:"";position:absolute;left:25px;top:20px;bottom:20px;border-left:2px dashed var(--dune)}
.itin li{display:grid;grid-template-columns:52px 1fr;gap:1.1rem;padding:.7rem 0;position:relative}
.itin__ic{width:52px;height:52px;border-radius:50%;background:linear-gradient(140deg,#b4502a,#8e4724);color:#ffe7a3;display:grid;place-items:center;box-shadow:0 0 0 6px var(--sand);position:relative;z-index:1}
.itin__ic .ic{width:24px;height:24px}
.itin time{font-family:var(--f-display);font-weight:800;font-size:1rem;letter-spacing:.08em;color:var(--rust)}
.itin h3{margin:.1rem 0 .25rem;font-size:1.15rem}
.itin h3 small{font-size:.75rem;padding:.15em .55em;margin-inline-start:.3rem;border-radius:99px;background:var(--sun);color:var(--ink);vertical-align:middle}
.itin p{margin:0;color:var(--ink-2);font-size:.96rem}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:2.5rem 0}
.incl>div{background:var(--paper);border-radius:var(--r);padding:1.5rem;box-shadow:0 0 0 1px var(--line)}
.incl h3{display:flex;gap:.5rem;align-items:center}
.incl ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.incl li{display:flex;gap:.55rem;align-items:flex-start;font-size:.95rem}
.ic.ok{color:#1d8a3f}.ic.no{color:var(--rust)}
.no{color:var(--muted)}
.notebox{background:var(--night);color:var(--sand);border-radius:var(--r);padding:1.6rem 1.8rem}
.notebox h3{display:flex;gap:.5rem;align-items:center;color:var(--sun)}
.notebox ul{margin:0;padding-left:1.1rem;display:grid;gap:.4rem;color:rgba(241,231,212,.85)}
.notebox a{color:var(--sun)}
.detail__side{position:sticky;top:100px}
.bwidget{background:var(--paper);border-radius:22px;padding:1.6rem;box-shadow:var(--shadow),0 0 0 1px var(--line);display:grid;gap:.9rem}
.bwidget__price{display:flex;align-items:baseline;gap:.4rem;padding-bottom:.8rem;border-bottom:1px dashed var(--line)}
.bwidget__price b{font-family:var(--f-display);font-size:2.8rem;font-weight:900;line-height:1}
.bwidget__price small{color:var(--muted)}
.bwidget label{display:grid;gap:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bwidget input{border:1.5px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fff;font-size:1rem;font-weight:600;color:var(--ink);letter-spacing:0;text-transform:none}
.bwidget__row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.bwidget__total{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-radius:12px;background:var(--sand)}
.bwidget__total b{font-family:var(--f-display);font-size:1.6rem;font-weight:900}
.bwidget__trust{list-style:none;padding:0;margin:.2rem 0 0;display:grid;gap:.35rem;font-size:.86rem;color:var(--ink-2)}
.bwidget__trust .ic{color:#1d8a3f}
.ctable-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:0 0 0 1px var(--line)}
.ctable{width:100%;border-collapse:collapse;background:var(--paper);min-width:760px}
.ctable th,.ctable td{padding:1rem;text-align:center;border-bottom:1px solid var(--line)}
.ctable th{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--sand)}
.ctable td:first-child,.ctable th:first-child{text-align:left}
.ctable td:first-child a{font-weight:700;text-decoration:none}
.ctable tr:hover td{background:#fff}

/* ---------- Mobile bottom bar ---------- */
.mbar{display:none}

/* ---------- Gallery ---------- */
.gal{padding-top:3rem}
.masonry{columns:3 320px;column-gap:14px}
.masonry__i{display:block;position:relative;break-inside:avoid;margin-bottom:14px;border-radius:14px;overflow:hidden;background:var(--night-3);cursor:zoom-in;
  opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease) var(--d,0ms),transform .7s var(--ease) var(--d,0ms)}
.masonry__i.is-in{opacity:1;transform:none}
.masonry__i.is-hidden{display:none}
.masonry__i img{width:100%;height:auto;transition:transform 1.2s var(--ease),filter .5s}
.masonry__i:hover img{transform:scale(1.05);filter:saturate(1.15)}
.masonry__cap{position:absolute;inset:auto 0 0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(10,8,6,.85));color:#fff;font-weight:600;font-size:.92rem;opacity:0;transition:opacity .35s}
.masonry__cap em{display:block;font-style:normal;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sun);margin-bottom:.2rem}
.masonry__i:hover .masonry__cap{opacity:1}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:300;background:rgba(10,8,6,.96);display:grid;grid-template-rows:auto 1fr auto;opacity:0;visibility:hidden;transition:.3s}
.lb.is-open{opacity:1;visibility:visible}
.lb__top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.4rem;color:rgba(255,255,255,.7);font-size:.9rem}
.lb__stage{position:relative;display:grid;place-items:center;overflow:hidden;touch-action:pan-y}
.lb__stage img{max-width:min(94vw,1600px);max-height:78vh;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.6);transition:opacity .25s,transform .35s var(--ease)}
.lb__stage img.is-loading{opacity:.2;transform:scale(.98)}
.lb button{background:rgba(255,255,255,.1);color:#fff;border:0;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.lb button:hover{background:var(--sun);color:var(--ink)}
.lb__prev,.lb__next{position:absolute;top:50%;transform:translateY(-50%)}
.lb__prev{left:1.2rem}.lb__next{right:1.2rem}
.lb__cap{text-align:center;color:#fff;padding:1rem 1rem 1.6rem;font-weight:600}
.lb__thumbs{display:flex;gap:6px;justify-content:center;padding:0 1rem 1.2rem;overflow-x:auto}
.lb__thumbs img{width:64px;height:46px;object-fit:cover;border-radius:6px;opacity:.4;cursor:pointer;flex:none;transition:.2s}
.lb__thumbs img.is-on{opacity:1;outline:2px solid var(--sun)}

/* ---------- Article ---------- */
.ahero{min-height:72vh;display:flex;align-items:flex-end;padding:9rem 0 3.5rem}
.ahero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.92;max-width:18ch}
.ahero__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:rgba(255,255,255,.8);font-size:.92rem}
.ahero__meta .ic{color:var(--sun)}
.article__grid{display:grid;grid-template-columns:minmax(0,720px) 320px;gap:clamp(2rem,6vw,6rem);justify-content:space-between}
.prose{font-size:1.1rem;line-height:1.78}
.prose .lead{font-family:var(--f-serif);font-style:italic;font-size:1.45rem;line-height:1.5;color:var(--ink);margin-bottom:2rem}
.prose .lead::first-letter{font-family:var(--f-display);font-style:normal;font-weight:900;float:left;font-size:4.6rem;line-height:.8;padding:.35rem .6rem 0 0;color:var(--rust)}
.prose h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:2.6rem 0 1rem}
.prose a{color:var(--rust);text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:600}
.prose a[target=_blank]::after{content:"↗";font-size:.75em;margin-left:.15em}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:.45rem}
.prose li::marker{color:var(--rust)}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.98rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.prose th,.prose td{padding:.75rem 1rem;border-bottom:1px solid var(--line);text-align:left}
.prose th{background:var(--sand);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.share{display:flex;align-items:center;gap:.6rem;margin:3rem 0 2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.share span{font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.share a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--sand);color:var(--ink)!important}
.share a::after{display:none}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pn a{display:grid;gap:.2rem;padding:1.2rem;border-radius:14px;background:var(--sand);text-decoration:none;color:var(--ink)!important;font-weight:400}
.pn a::after{display:none}
.pn small{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700}
.pn b{font-size:1rem;line-height:1.3}
.pn__next{text-align:right}
.article__side{position:sticky;top:100px;align-self:start;display:grid;gap:1.2rem}
.sidecard{background:var(--sand);border-radius:var(--r);padding:1.5rem}
.sidecard--sun{background:linear-gradient(140deg,var(--sun),var(--sun-2))}
.sidecard--sun h3{font-family:var(--f-display);font-size:2rem;text-transform:uppercase;font-weight:900}
.sidecard h4{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.mini{display:flex;gap:.8rem;align-items:center;text-decoration:none;padding:.5rem 0}
.mini+.mini{border-top:1px solid var(--line)}
.mini img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.mini b{display:block;font-size:.98rem;line-height:1.2}
.mini small{color:var(--muted);font-size:.8rem}

/* ---------- About / contact ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about h2{font-size:clamp(2.4rem,5vw,4rem)}
.about__pics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:240px 240px;gap:12px}
.about__pics div{border-radius:16px;overflow:hidden}
.about__pics div:first-child{grid-row:span 2}
.about__pics img{width:100%;height:100%;object-fit:cover}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.contact__cards{display:grid;gap:1rem}
.ccard{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;padding:1.3rem 1.4rem;border-radius:var(--r);background:var(--paper);text-decoration:none;box-shadow:0 0 0 1px var(--line);transition:.3s}
.ccard:hover{transform:translateX(6px);box-shadow:0 0 0 2px var(--sun)}
.ccard .ic{grid-row:span 2;width:30px;height:30px;color:var(--rust);align-self:center}
.ccard span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ccard b{font-size:1.02rem}
.cform{background:var(--paper);border-radius:24px;padding:2rem;box-shadow:var(--shadow);display:grid;gap:1rem}
.cform h2{font-size:2.4rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}
input,select,textarea{border:1.5px solid var(--line);border-radius:12px;padding:.8rem .95rem;background:#fff;font-size:1rem;width:100%;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sun-2);box-shadow:0 0 0 4px rgba(247,198,0,.25)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.alert{padding:1rem 1.2rem;border-radius:12px;display:flex;gap:.6rem;align-items:center;font-weight:600}
.alert--ok{background:#d6f3dd;color:#0f6b2a}.alert--err{background:#f6d5cc;color:#8b2a12}

/* ---------- Booking app ---------- */
.bookhero{background:var(--night);color:var(--sand);padding:9rem 0 3.5rem;position:relative;overflow:hidden}
.bookhero::after{content:"";position:absolute;right:-5%;bottom:-40%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(247,198,0,.35),transparent 65%)}
.bookhero h1{font-size:clamp(2.8rem,7vw,5.6rem);line-height:.9}
.bookhero p{color:rgba(241,231,212,.75);font-size:1.1rem}
.book-sec{padding-top:3rem}
.book{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2.5rem;align-items:start}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:0;margin:0 0 1.8rem;counter-reset:s}
.steps li{display:flex;align-items:center;gap:.6rem;padding:.8rem .9rem;border-radius:14px;background:var(--paper);font-weight:700;font-size:.88rem;color:var(--muted);box-shadow:0 0 0 1px var(--line);transition:.3s}
.steps span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sand-2);font-family:var(--f-display);font-weight:900;flex:none}
.steps li.is-on{background:#8e4724;color:#fbf3e3}
.steps li.is-on span{background:var(--sun);color:var(--ink)}
.steps li.is-done span{background:#1d8a3f;color:#fff}
.steps li.is-done{color:var(--ink)}
.step{min-width:0;border:0;padding:2rem;margin:0;border-radius:24px;background:var(--paper);box-shadow:var(--shadow),0 0 0 1px var(--line);display:none}
.step.is-on{display:grid;gap:1.2rem;animation:rise .5s var(--ease)}
.step legend{float:left;width:100%;padding:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:2.2rem;line-height:1;margin-bottom:.2rem}
.seg{display:inline-flex;gap:.3rem;padding:.3rem;border-radius:99px;background:var(--sand);justify-self:start}
.seg button{border:0;background:none;padding:.6em 1.2em;border-radius:99px;font-weight:700;cursor:pointer;display:inline-flex;gap:.4em;align-items:center}
.seg .is-on{background:#8e4724;color:#fbf3e3}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.opt{position:relative;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer;text-align:left;border:0;padding:0;transition:.25s}
.opt:hover{box-shadow:0 0 0 2px var(--dune);transform:translateY(-3px)}
.opt.is-on{box-shadow:0 0 0 3px var(--sun-2),0 18px 40px -20px rgba(240,138,18,.6)}
.opt img{width:100%;aspect-ratio:16/9;object-fit:cover}
.opt__b{padding:.9rem 1rem 1rem}
.opt__b b{display:block;font-size:1.05rem;line-height:1.2;margin-bottom:.25rem}
.opt__b small{color:var(--muted);font-size:.82rem}
.opt__p{position:absolute;top:10px;right:10px;padding:.3em .7em;border-radius:99px;background:#7a3a1a;color:var(--sun);font-family:var(--f-display);font-weight:800;font-size:1.05rem}
.opt__chk{position:absolute;top:10px;left:10px;width:30px;height:30px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center;transform:scale(0);transition:transform .3s var(--ease)}
.opt.is-on .opt__chk{transform:scale(1)}
.cal{background:#fff;border-radius:18px;padding:1rem;box-shadow:0 0 0 1px var(--line);max-width:520px}
.cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.cal__head b{font-family:var(--f-display);font-size:1.5rem;text-transform:uppercase;font-weight:800}
.cal__head button{border:0;background:var(--sand);width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.cal__head button:disabled{opacity:.3;cursor:default}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal__grid small{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;padding:.3rem 0}
.cal__grid button{aspect-ratio:1;border:0;border-radius:10px;background:var(--paper);font-weight:700;cursor:pointer;transition:.15s}
.cal__grid button:hover:not(:disabled){background:var(--sand-2)}
.cal__grid button:disabled{opacity:.25;cursor:default;background:none}
.cal__grid button.is-on{background:#8e4724;color:#fff}
.cal__grid button.is-today{box-shadow:inset 0 0 0 2px var(--sun)}
.guests{display:grid;gap:.6rem;max-width:520px}
.stepper{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.stepper small{display:block;color:var(--muted);font-size:.82rem}
.stepper__ctl{display:flex;align-items:center;gap:.8rem}
.stepper__ctl button{width:40px;height:40px;border-radius:50%;border:1.5px solid #8e4724;color:#8e4724;background:none;font-size:1.3rem;font-weight:700;cursor:pointer;line-height:1}
.stepper__ctl button:hover{background:#8e4724;color:#fff}
.stepper output{font-family:var(--f-display);font-size:1.7rem;font-weight:900;min-width:2ch;text-align:center}
.note{display:block;padding:.9rem 1.1rem;border-radius:14px;background:var(--sand);font-size:.94rem}
.note .ic{color:var(--rust);margin-inline-end:.4rem}
.err{color:#b42318;font-weight:600;font-size:.9rem;margin:0;min-height:0}
.err:empty{display:none}
.field-err{border-color:#d92d20!important;box-shadow:0 0 0 4px rgba(217,45,32,.12)!important}
.checkbox{display:flex;gap:.7rem;align-items:flex-start;font-weight:500}
.checkbox input{width:22px;height:22px;flex:none;accent-color:var(--rust);margin-top:.15rem}
.terms{background:var(--sand);padding:1rem 1.2rem;border-radius:12px;font-size:.92rem}
.review{display:grid;gap:0;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.review div{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:.8rem 1.1rem;background:#fff}
.review div:nth-child(even){background:var(--paper)}
.review dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.review dd{margin:0;font-weight:600}
.book__nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.4rem}
.book__nav [data-next],.book__nav [data-submit]{margin-inline-start:auto}
.book__side{position:sticky;top:100px;display:grid;gap:1rem}
.summary{background:var(--night);color:var(--sand);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.summary__img{aspect-ratio:16/8;background:var(--night-3) center/cover}
.summary__body{padding:1.4rem 1.5rem 1.6rem}
.summary h3{font-family:var(--f-display);text-transform:uppercase;font-size:1.7rem;font-weight:900;line-height:1}
.summary dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:1.2rem 0;font-size:.92rem}
.summary dt{color:rgba(241,231,212,.6);display:flex;gap:.4em;align-items:center}
.summary dd{margin:0;text-align:right;font-weight:600}
.summary__lines{display:grid;gap:.3rem;padding:.8rem 0;border-top:1px dashed var(--line-d);font-size:.9rem;color:rgba(241,231,212,.8)}
.summary__lines div{display:flex;justify-content:space-between}
.summary__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:.8rem;border-top:1px solid var(--line-d)}
.summary__total b{font-family:var(--f-display);font-size:2.6rem;font-weight:900;color:var(--sun);line-height:1}
.summary small{color:rgba(241,231,212,.55);font-size:.8rem}
.btn.is-busy{opacity:.6;pointer-events:none}

/* Confirmation */
.confirm{padding:10rem 0 6rem;text-align:center;overflow:hidden}
.confirm__in{display:flex;flex-direction:column;align-items:center}
.confirm h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:.9;max-width:14ch}
.confirm p{color:rgba(241,231,212,.8);font-size:1.1rem;max-width:560px}
.confirm__stamp{width:96px;height:96px;border-radius:50%;background:linear-gradient(130deg,var(--sun),var(--sun-2));color:var(--ink);display:grid;place-items:center;margin-bottom:1.5rem;animation:pop .7s var(--ease) both}
.confirm__stamp .ic{width:52px;height:52px;stroke-width:2.4}
@keyframes pop{from{transform:scale(0) rotate(-40deg)}to{transform:none}}
.ref{font-family:var(--f-display);font-size:1.4em;letter-spacing:.06em;color:var(--sun)}
.ticket{display:grid;grid-template-columns:260px 1fr;margin:3rem 0 2rem;width:min(760px,100%);border-radius:22px;overflow:hidden;background:var(--paper);color:var(--ink);text-align:left;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);position:relative}
.ticket::before,.ticket::after{content:"";position:absolute;left:260px;width:30px;height:30px;border-radius:50%;background:var(--night);transform:translateX(-50%)}
.ticket::before{top:-15px}.ticket::after{bottom:-15px}
.ticket__img img{width:100%;height:100%;object-fit:cover}
.ticket__body{margin:0;padding:1.6rem 2rem;display:grid;gap:.7rem;border-left:2px dashed var(--line)}
.ticket__body div{display:flex;justify-content:space-between;gap:1rem}
.ticket__body dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ticket__body dd{margin:0;font-weight:700;text-align:right}
.ticket__body .big{font-family:var(--f-display);font-size:1.8rem;font-weight:900}
.confirm .muted a{color:var(--sun)}

/* ---------- Footer ---------- */
.ftr{background:var(--hdr);color:rgba(241,231,212,.75);padding:0 0 1.5rem;position:relative}
.ftr__track{height:46px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(247,198,0,.18) 10px 22px,transparent 22px 34px) 0 12px/100% 8px no-repeat,
  repeating-linear-gradient(90deg,transparent 0 10px,rgba(247,198,0,.18) 10px 22px,transparent 22px 34px) 17px 26px/100% 8px no-repeat;border-top:3px solid var(--sun)}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1.2fr;gap:2.5rem;padding:3.5rem 0}
.ftr__brand img{width:180px;margin-bottom:1rem}
.ftr__brand p{font-size:.95rem}
.ftr h4{font-family:var(--f-display);text-transform:uppercase;font-size:1.25rem;color:var(--sand);letter-spacing:.05em}
.ftr__grid>div>a{display:flex;gap:.5rem;align-items:flex-start;text-decoration:none;font-size:.93rem;padding:.3rem 0;transition:color .2s}
.ftr__grid>div>a:hover{color:var(--sun)}
.ftr__grid .ic{margin-top:.2rem;color:var(--sun)}
.ftr__social{display:flex;gap:.5rem}
.ftr__social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1f1a14;box-shadow:inset 0 0 0 1px var(--line-d);transition:.2s}
.ftr__social a:hover{background:var(--sun);color:var(--ink)}
.ftr__base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid var(--line-d);font-size:.84rem}
.ftr__base a{text-decoration:none}.ftr__base a:hover{color:var(--sun)}
.ftr__coords{display:inline-flex;gap:.4rem;align-items:center;letter-spacing:.08em}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(31,174,84,.7);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float .ic{width:30px;height:30px}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(31,174,84,.5);animation:ping 2.4s infinite}
@keyframes ping{70%{box-shadow:0 0 0 18px rgba(31,174,84,0)}100%{box-shadow:0 0 0 0 rgba(31,174,84,0)}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.is-in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .pgrid,.bgrid{grid-template-columns:repeat(2,1fr)}
  .feats{grid-template-columns:repeat(2,1fr)}
  .feats--dark{grid-template-columns:repeat(2,1fr)}
  .detail,.book{grid-template-columns:minmax(0,1fr)}
  .detail__side,.book__side{position:static}
  .article__grid{grid-template-columns:minmax(0,1fr)}
  .article__side{position:static}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .mosaic{grid-template-columns:repeat(3,1fr)}
  .mosaic__i--6{grid-column:span 1}
}
@media (max-width:900px){
  .hdr__burger{display:block}
  .hdr__nav{display:none}
  .hdr__burger{position:relative;z-index:2;border-radius:12px;background:rgba(255,255,255,.08)}
  .route__grid,.about,.contact,.bfeature{grid-template-columns:1fr}
  .qbook{grid-template-columns:1fr 1fr}
  .qbook label+label{border:0}
  .qbook label:first-child{grid-column:span 2}
  .qbook .btn{grid-column:span 2}
  .ribbon__in{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){border-inline-start:0}
  .facts div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .hero__dots{display:none}
}
@media (max-width:700px){
  body{font-size:16px}
  .hdr__in{height:70px}
  .hdr__logo img{height:50px}
  .pgrid,.bgrid,.feats,.feats--dark,.incl,.row2{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .mosaic__i--1{grid-column:span 2}
  .mosaic__i--4{grid-row:span 1}
  .strip{grid-template-columns:1fr 1fr;grid-auto-rows:120px}
  .strip__i--big{grid-column:span 2;grid-row:span 2}
  .steps{grid-template-columns:repeat(4,1fr)}
  .steps li{flex-direction:column;font-size:.68rem;padding:.6rem .3rem;text-align:center;gap:.3rem}
  .step{padding:1.3rem}
  .step legend{font-size:1.7rem}
  .review div{grid-template-columns:1fr;gap:.1rem}
  .ticket{grid-template-columns:1fr}
  .ticket::before,.ticket::after{display:none}
  .ticket__img{aspect-ratio:16/8}
  .ticket__body{border-left:0;border-top:2px dashed var(--line);padding:1.3rem}
  .ftr__grid{grid-template-columns:1fr}
  .pn{grid-template-columns:1fr}
  .about__pics{grid-template-rows:160px 160px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 16px calc(.8rem + env(safe-area-inset-bottom));background:rgba(122,58,26,.97);color:var(--sand);backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .35s var(--ease)}
  .mbar.is-on{transform:none}
  .mbar b{font-family:var(--f-display);font-size:1.7rem;color:var(--sun)}
  .mbar small{color:rgba(241,231,212,.6)}
  body.has-mbar .wa-float{bottom:92px}
  .is-book .book__nav{display:none}
  .is-book .mbar--book{transform:none}
  .is-book .wa-float{bottom:92px}
  .is-book .book-sec{padding-bottom:7rem}
  .prose .lead::first-letter{font-size:3.6rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .masonry__i,.rv{opacity:1;transform:none}
}
@media print{.hdr,.ftr,.wa-float,.mbar{display:none}}

/* brand icons from Font Awesome */
i.ic{width:auto;height:auto;font-size:1.15em;line-height:1;display:inline-block;vertical-align:-.12em}
.wa-float i.ic{font-size:32px;width:auto;height:auto}
.ftr__social i.ic{font-size:18px}
.share i.ic{font-size:18px}
.ftr__base .by a{color:var(--sun);font-weight:700}

/* ---------- Language picker (header) ---------- */
.pick-l{position:relative;margin-inline-start:.4rem;z-index:3}
.pick-l__btn{display:flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:99px;border:0;background:rgba(255,255,255,.1);color:#fff;font-weight:700;font-size:.82rem;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.pick-l__btn:hover{background:rgba(255,255,255,.18)}
.flag{border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none;display:block}
.pick-l__chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.pick-l__list{position:absolute;top:calc(100% + 8px);right:0;list-style:none;margin:0;padding:.4rem;min-width:190px;background:var(--paper);border-radius:14px;box-shadow:var(--shadow),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s var(--ease)}
.pick-l.is-open .pick-l__list{opacity:1;visibility:visible;transform:none}
.pick-l__list button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;border:0;background:none;border-radius:9px;cursor:pointer;font-size:.93rem;font-weight:600;color:var(--ink);text-align:left}
.pick-l__list button:hover{background:var(--sand)}
/* ---------- Currency (desktop nav dropdown + drawer chips) ---------- */
.hdr__cur>a{display:inline-flex;align-items:center;gap:.3rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.hdr__cur>a::before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);order:2;opacity:.7;margin-top:-3px}
.hdr__menu--cur{display:grid;grid-template-columns:1fr;gap:.2rem;min-width:200px;padding:.8rem}
.hdr__menu--cur button,.mnav__chips button{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem .7rem;border:0;border-radius:9px;background:none;cursor:pointer;color:var(--ink);text-align:left}
.hdr__menu--cur button span,.mnav__chips button span{font-size:.75rem;color:var(--muted)}
.hdr__menu--cur button:hover,.mnav__chips button:hover{background:var(--sand)}
.hdr__menu--cur button.is-on,.mnav__chips button.is-on{background:#8e4724;color:#fff}
.hdr__menu--cur button.is-on span,.mnav__chips button.is-on span{color:rgba(255,255,255,.75)}
.mnav__cur{padding:.4rem 16px .8rem;border-top:1px solid var(--line)}
.mnav__cur small{display:flex;align-items:center;gap:.4rem;margin:.6rem 0 .5rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.mnav__chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}
.mnav__chips button{background:#fff;box-shadow:0 0 0 1px var(--line);align-items:center;padding:.45rem .3rem}
.mnav__chips button span{display:none}
/* Google Translate: hide its banner/toolbars */
.skiptranslate iframe,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd{display:none!important}
body{top:0!important}
font[style*="background-color"]{background:none!important;box-shadow:none!important}
@media (max-width:900px){
  .pick-l{margin-inline-start:auto;margin-inline-end:.5rem}
  .pick-l__btn{padding:.4rem .6rem}
}

/* =========================================================
   LIGHT DESERT THEME — bright sand & sunset tones
   (header and footer stay dark)
   ========================================================= */
:root{--sand:#f7efe1;--paper:#fffaf2;--sand-2:#efe0c4;--dune-l:#f5e6c8;--terra:#c8692e;--terra-2:#e39a4b}
.btn--ink{--bg:var(--terra);--fg:#fff}
.tabs .is-on,.steps li.is-on,.seg .is-on{background:var(--terra);color:#fff}
.cal__grid button.is-on{background:var(--terra);color:#fff}
.opt__p{background:var(--terra)!important;color:#fff!important}
.stepper__ctl button{border-color:var(--terra)!important;color:var(--terra)!important}
.stepper__ctl button:hover{background:var(--terra)!important;color:#fff!important}
.itin__ic{background:linear-gradient(140deg,var(--terra-2),var(--terra))!important;color:#fff!important}
.hdr__menu--cur button.is-on,.mnav__chips button.is-on{background:var(--terra)}
.pcard__session--evening{background:rgba(255,250,242,.94);color:var(--terra)}

/* lighter photo overlays (text stays readable) */
.hero__shade{background:radial-gradient(120% 70% at 20% 40%,rgba(74,36,14,0),rgba(74,36,14,.38)),linear-gradient(180deg,rgba(40,20,8,.38) 0%,rgba(40,20,8,0) 30%,rgba(60,30,10,.55) 100%)}
.phero__shade{background:linear-gradient(180deg,rgba(40,20,8,.35),rgba(40,20,8,0) 40%,rgba(60,30,10,.6))}
.hero h1,.phero h1,.dhero h1,.ahero h1,.cta h2{text-shadow:0 4px 30px rgba(40,20,8,.45)}
.hero p,.phero p,.dhero p{text-shadow:0 2px 14px rgba(40,20,8,.5)}
.phero,.dhero,.ahero,.hero{background:#d8b07a}
.facts{background:rgba(255,250,242,.16)}
.cta{background:#d8b07a}
.cta::before{background:radial-gradient(80% 90% at 50% 50%,rgba(60,30,10,.05),rgba(60,30,10,.5))}
.cta__bg img{opacity:.9}

/* former dark sections → warm light sand */
.sec--night{background:linear-gradient(160deg,#f8e8c9,#f1d6a6);color:var(--ink)}
.sec--night .sec__head p,.sec--night p{color:var(--ink-2)}
.sec--night .kicker--sun{color:var(--rust)}
.sec--night h1 em,.sec--night h2 em{color:var(--terra)}
.feats--dark{background:var(--line);box-shadow:0 0 0 1px var(--line)}
.feats--dark .feat{background:var(--paper)}
.feats--dark .feat .ic{color:var(--terra)}
.feats--dark .feat p{color:var(--ink-2)}
.pnote{background:linear-gradient(150deg,#f6cf7a,#eea956);color:var(--ink)}
.pnote p{color:#5a3b1c}.pnote .link{color:var(--ink)}.pnote__ic{color:#fff!important;opacity:.35!important}
.notebox{background:#fbecd2;color:var(--ink)}
.notebox h3{color:var(--terra)}.notebox ul{color:var(--ink-2)}.notebox a{color:var(--terra)}
.bookhero{background:linear-gradient(160deg,#f8e3b8,#efc27f);color:var(--ink)}
.bookhero p{color:#5a3b1c}.bookhero .kicker--sun{color:var(--rust)}.bookhero h1 em{color:var(--terra)}
.bookhero::after{background:radial-gradient(circle,rgba(255,255,255,.55),transparent 65%)}
.summary{background:var(--paper);color:var(--ink);box-shadow:var(--shadow),0 0 0 1px var(--line)}
.summary dt{color:var(--muted)}
.summary__lines{color:var(--ink-2);border-top-color:var(--line)}
.summary__total{border-top-color:var(--line)}
.summary__total b{color:var(--terra)}
.summary small{color:var(--muted)}
.confirm p{color:var(--ink-2)}
.confirm .ref{color:var(--terra)}
.confirm .muted a{color:var(--terra)}
.ticket::before,.ticket::after{background:#f5dfb6}
.confirm .btn--ghost{--bg:#fff;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
@media (max-width:700px){
  .mbar{background:rgba(255,250,242,.97)!important;color:var(--ink)!important;box-shadow:0 -10px 30px -12px rgba(120,70,20,.35)}
  .mbar b{color:var(--terra)!important}
  .mbar small{color:var(--muted)!important}
}

.bookhero .wrap{position:relative;z-index:1}
body:not(.is-home) .hdr{background:rgba(20,17,13,.92)}

/* =========================================================
   TYPOGRAPHY v2 — Playfair Display (headings) + Plus Jakarta Sans (text)
   ========================================================= */
:root{--f-display:"Playfair Display",Georgia,serif;--f-serif:"Playfair Display",Georgia,serif;--f-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-num:"Plus Jakarta Sans",system-ui,sans-serif}
body{font-size:16.5px;line-height:1.65}
h1,h2{font-family:var(--f-display);font-weight:700;text-transform:none;letter-spacing:-.015em;line-height:1.08}
h1 em,h2 em,h3 em{font-family:var(--f-serif);font-weight:500;font-style:italic}
h3{font-family:var(--f-body);font-weight:700}
.hero h1{font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:1.02;max-width:13ch}
.phero h1{font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:1.04}
.dhero h1{font-size:clamp(2.1rem,4.8vw,4rem);line-height:1.06}
.ahero h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.08}
.sec__head h2,.route h2,.about h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.1}
.cta h2{font-size:clamp(2.3rem,5.6vw,4.4rem);line-height:1.05}
.cta--slim h2{font-size:clamp(1.9rem,4vw,3rem)}
.bookhero h1,.confirm h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.06}
.bfeature h2{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.12}
.prose h2,.h2s{font-size:clamp(1.55rem,2.8vw,2.1rem)}
.prose .lead{font-size:1.32rem}
.pnote h3,.summary h3,.sidecard--sun h3,.cform h2,.ftr h4{font-family:var(--f-display);text-transform:none;font-weight:700;letter-spacing:-.01em}
.pnote h3{font-size:1.7rem}.summary h3{font-size:1.45rem;line-height:1.15}.sidecard--sun h3{font-size:1.6rem}.cform h2{font-size:2rem}.ftr h4{font-size:1.15rem}
.step legend{font-family:var(--f-display);text-transform:none;font-weight:700;font-size:1.75rem;letter-spacing:-.01em}
.cal__head b{font-family:var(--f-body);text-transform:none;font-size:1.1rem;font-weight:700}
.ribbon b,.price b,.bwidget__price b,.bwidget__total b,.facts b,.summary__total b,.mbar b,.ticket__body .big,.opt__p,.stepper output,.ref{font-family:var(--f-num);font-weight:800;letter-spacing:-.02em}
.ribbon b{font-size:2.1rem}.price b{font-size:1.7rem}.bwidget__price b{font-size:2.3rem}.bwidget__total b{font-size:1.4rem}
.facts b{font-size:1.25rem}.summary__total b{font-size:2rem}.mbar b{font-size:1.45rem}.opt__p{font-size:.95rem}.stepper output{font-size:1.4rem}
.itin time{font-family:var(--f-num);font-weight:800;font-size:.85rem;letter-spacing:.06em}
.pcard__badge{font-family:var(--f-body);font-size:.68rem;font-weight:800;letter-spacing:.12em;padding:.35em .7em;border-radius:99px;background:var(--sun);color:var(--ink)}
.pcard h3{font-size:1.18rem;line-height:1.3}
.bcard h3{font-size:1.15rem;line-height:1.35}
.kicker{font-size:.72rem;letter-spacing:.18em}
.btn{font-weight:700;letter-spacing:0}
.mnav__list>a,.mnav__list summary{font-family:var(--f-body)}

/* polish */
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sec__head{margin-bottom:2.2rem}
.pcard,.bfeature__media,.bcard__media,.incl>div,.bwidget,.step,.summary,.cform,.rform{border-radius:20px}
.pcard{box-shadow:0 1px 0 var(--line),0 14px 34px -22px rgba(120,70,20,.45)}
.feat{padding:1.7rem}

/* ---------- Date inputs (iOS Safari overflow fix) ---------- */
input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;min-height:50px;direction:ltr;text-align:left;line-height:1.2;background:#fff}
input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}
.bwidget,.bwidget label,.bwidget__row>*,.detail__side,.qbook label{min-width:0}
.bwidget label{font-size:.7rem;letter-spacing:.08em}
@media (max-width:700px){
  .bwidget{padding:1.2rem;gap:.75rem}
  .bwidget input{padding:.65rem .8rem;font-size:16px}
  .bwidget__price b{font-size:2rem}
  .hero h1{font-size:clamp(2.3rem,10vw,3.2rem)}
  .sec__head h2,.route h2,.about h2{font-size:1.85rem}
}

/* ---------- Stars & reviews ---------- */
.stars{position:relative;display:inline-block;font-size:1.05rem;line-height:1;letter-spacing:2px;white-space:nowrap;color:#e3d6bf}
.stars__on{position:absolute;left:0;top:0;bottom:0;overflow:hidden;color:#f0a92e;white-space:nowrap}
.rate{display:flex;align-items:center;gap:.4rem;margin:-.1rem 0 .55rem;font-size:.85rem}
.rate b{font-weight:800}.rate>span:not(.stars){color:var(--muted)}
.rsum{display:flex;align-items:center;gap:.55rem}
.rsum .stars{font-size:1.35rem}.rsum b{font-family:var(--f-num);font-size:1.6rem;font-weight:800}.rsum>span:not(.stars){color:var(--muted);font-size:.9rem}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.rgrid--2{grid-template-columns:1fr 1fr;margin:1rem 0 1.5rem}
.rcard{background:var(--paper);border-radius:18px;padding:1.4rem;box-shadow:0 0 0 1px var(--line),0 14px 30px -24px rgba(120,70,20,.5);display:flex;flex-direction:column;gap:.6rem}
.rcard__top{display:flex;justify-content:space-between;align-items:center}
.rcard time{font-size:.78rem;color:var(--muted)}
.rcard h3{font-size:1.02rem;margin:0}
.rcard p{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.6}
.rcard footer{display:flex;align-items:center;gap:.7rem;margin-top:auto;padding-top:.6rem;border-top:1px dashed var(--line)}
.rcard__av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--terra-2),var(--terra));color:#fff;font-weight:800}
.rcard footer b{display:block;font-size:.92rem}.rcard footer small{color:var(--muted);font-size:.78rem}
.reviews{margin-top:3rem}
.reviews__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.reviews__head h2{margin-top:0}
.rform{background:var(--paper);padding:1.6rem;box-shadow:0 0 0 1px var(--line);display:grid;gap:.9rem;margin-top:1rem}
.rform h3{font-family:var(--f-display);font-size:1.4rem;margin:0}
.starpick{border:0;padding:0;margin:0;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem}
.starpick legend{float:left;width:100%;font-weight:600;font-size:.9rem;margin-bottom:.2rem}
.starpick input{position:absolute;opacity:0;width:1px;height:1px}
.starpick label{font-size:2rem;line-height:1;color:#e3d6bf;cursor:pointer;transition:color .15s,transform .15s;display:inline-block}
.starpick label:hover,.starpick label:hover~label,.starpick input:checked~label{color:#f0a92e}
.starpick label:hover{transform:scale(1.12)}
.starpick input:focus-visible+label{outline:2px solid var(--terra);border-radius:4px}
@media (max-width:1080px){.rgrid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rgrid,.rgrid--2{grid-template-columns:1fr}}
.starwrap{display:grid;gap:.2rem}.starwrap>span{font-weight:600;font-size:.9rem}

/* ---------- Custom date field (readable on every phone) ---------- */
.dfield{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:50px;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:600;font-size:1rem;letter-spacing:0;text-transform:none;cursor:pointer;min-width:0}
.dfield .ic{color:var(--terra);flex:none}
.dfield__txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dfield input[type=date]{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer;border:0;padding:0;margin:0;-webkit-appearance:none;appearance:none;z-index:1}
.dfield:focus-within{border-color:var(--sun-2);box-shadow:0 0 0 4px rgba(247,198,0,.25)}
/* ---------- Quick booking bar v2 ---------- */
.qbook{grid-template-columns:1.3fr 1fr 1.25fr auto;align-items:stretch}
.qbook .dfield{border:0;padding:.15rem 0;min-height:0;background:transparent;box-shadow:none}
.qbook__pax{display:grid;grid-template-columns:repeat(3,1fr);border-inline-start:1px solid var(--line)}
.qbook__pax label+label{border-inline-start:1px solid var(--line)}
.qbook__pax input{text-align:left}
.qbook label{justify-content:center}
@media (max-width:900px){
  .qbook{grid-template-columns:1fr;gap:.4rem;padding:.7rem}
  .qbook label:first-child,.qbook .btn{grid-column:auto}
  .qbook>label,.qbook__pax label{background:#fff;border-radius:12px;padding:.55rem .8rem;box-shadow:0 0 0 1px var(--line)}
  .qbook__pax{border:0;gap:.4rem}
  .qbook__pax label+label{border:0}
  .qbook .btn{min-height:52px}
}
.qbook .dfield__txt{display:block;font-size:1rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink)}
.qbook .dfield>.ic{display:none}
/* language menu links */
.pick-l__list a{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;border-radius:9px;text-decoration:none;font-size:.93rem;font-weight:600;color:var(--ink)}
.pick-l__list a:hover{background:var(--sand)}
.pick-l__list a.is-on{background:var(--sand-2)}
.pick-l__list a.is-on::after{content:"✓";margin-inline-start:auto;color:var(--terra)}
/* CJK headings don't need the narrow measure */
.lang-zh h1,.lang-zh .sec__head h2{max-width:none;letter-spacing:0}
.lang-zh .hero h1{line-height:1.15}

/* =========================================================
   HEADER v3 — light desert "floating bar" (desktop + mobile)
   ========================================================= */
.hdr{top:12px;left:0;right:0;padding:0 16px;background:none!important;box-shadow:none!important;backdrop-filter:none!important}
.hdr__in{width:min(1320px,100%);height:74px;padding:0 10px 0 18px;border-radius:22px;
  background:rgba(255,250,242,.9);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 14px 40px -22px rgba(74,42,18,.55),0 0 0 1px rgba(200,105,46,.14);position:relative;overflow:visible;transition:height .3s,box-shadow .3s,background .3s}
.hdr__in::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--terra),var(--sun),var(--terra))}
.hdr.is-solid .hdr__in{height:64px;background:rgba(255,250,242,.97);box-shadow:0 18px 40px -20px rgba(74,42,18,.5),0 0 0 1px rgba(200,105,46,.18)}
.hdr__logo img{height:56px;filter:none}
.hdr.is-solid .hdr__logo img{height:48px}
.hdr__nav>a,.hdr__drop>a{color:#3b2a1c;font-weight:650;font-size:.94rem;padding:.6em .95em;border-radius:12px}
.hdr__nav>a:hover,.hdr__drop>a:hover{background:#f3e3c8;color:#1f160e}
.hdr__nav a.is-on{color:var(--terra)}
.hdr__nav a.is-on::after{bottom:4px;width:18px;height:3px;border-radius:3px;background:var(--terra)}
.hdr__cur>a{background:#f7ecd9;box-shadow:inset 0 0 0 1px #ead6ae}
.hdr__cta.btn{background:linear-gradient(135deg,var(--terra),#a9521f);color:#fff;border-radius:14px;padding:.75em 1.25em;box-shadow:0 10px 20px -10px rgba(168,82,31,.8)}
.hdr__cta.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.pick-l__btn{background:#f7ecd9;color:#3b2a1c;box-shadow:inset 0 0 0 1px #ead6ae;border-radius:12px}
.pick-l__btn:hover{background:#f0dfc2}
.hdr__burger{background:var(--terra)!important;color:#fff;border-radius:12px;width:44px;height:44px;display:none;align-items:center;justify-content:center;padding:0;box-shadow:0 8px 16px -8px rgba(168,82,31,.9)}
.hdr__burger .ic{width:24px;height:24px}
body:not(.is-home) .hdr{background:none}
body:not(.is-home) main{padding-top:0}
@media (max-width:900px){
  .hdr .hdr__burger{display:flex}
}
@media (max-width:700px){
  .hdr{top:8px;padding:0 10px}
  .hdr__in{height:62px;border-radius:18px;padding:0 8px 0 12px}
  .hdr.is-solid .hdr__in{height:58px}
  .hdr__logo img,.hdr.is-solid .hdr__logo img{height:44px}
  .hdr__in::before{left:16px;right:16px}
}
/* mobile drawer header to match */
.mnav__top{background:#fffaf2!important;border-bottom:1px solid #ead6ae}
.mnav__top button,.mnav__top a{color:#3b2a1c}

/* ---- Header option B: full-width cream bar ---- */
body.hdrB .hdr{top:0;padding:0}
body.hdrB .hdr__in{width:100%;max-width:none;border-radius:0;padding:0 max(16px,calc((100% - 1320px)/2));background:#fffaf2;box-shadow:0 1px 0 #ead6ae,0 10px 30px -22px rgba(74,42,18,.6)}
body.hdrB .hdr__in::before{left:0;right:0;border-radius:0;height:4px}
body.hdrB .hdr.is-solid .hdr__in{background:#fffaf2}
body.hdrB .hdr__nav>a:not(.btn),body.hdrB .hdr__drop:not(.hdr__cur)>a{border-radius:0;padding:1.6em .9em}
body.hdrB .hdr__nav>a:hover,body.hdrB .hdr__drop>a:hover{background:none;color:var(--terra)}
body.hdrB .hdr__nav a.is-on::after{bottom:14px}
@media (max-width:700px){body.hdrB .hdr__in{padding:0 12px}}
/* ---- Header option C: warm terracotta bar ---- */
body.hdrC .hdr{top:0;padding:0}
body.hdrC .hdr__in{width:100%;max-width:none;border-radius:0;padding:0 max(16px,calc((100% - 1320px)/2));background:linear-gradient(100deg,#7a3a1a 0%,#a9521f 55%,#c8692e 100%);box-shadow:0 10px 30px -18px rgba(74,42,18,.8)}
body.hdrC .hdr.is-solid .hdr__in{background:linear-gradient(100deg,#7a3a1a 0%,#a9521f 55%,#c8692e 100%)}
body.hdrC .hdr__in::before{left:0;right:0;top:auto;bottom:0;height:3px;border-radius:0;background:linear-gradient(90deg,var(--sun),#ffe08a,var(--sun))}
body.hdrC .hdr__logo img{filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}
body.hdrC .hdr__nav>a,body.hdrC .hdr__drop>a{color:#fff6e6}
body.hdrC .hdr__nav>a:hover,body.hdrC .hdr__drop>a:hover{background:rgba(255,255,255,.14);color:#fff}
body.hdrC .hdr__nav a.is-on{color:#ffd66b}
body.hdrC .hdr__nav a.is-on::after{background:#ffd66b}
body.hdrC .hdr__cur>a{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
body.hdrC .hdr__cta.btn{background:linear-gradient(135deg,#ffd66b,var(--sun));color:#3b2a1c}
body.hdrC .pick-l__btn{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
body.hdrC .hdr__burger{background:#ffd66b!important;color:#3b2a1c}
@media (max-width:700px){body.hdrC .hdr__in{padding:0 12px}}

/* dark-text logo on light headers */
.hdr__logo{position:relative;display:block}
.hdr__logo .logo--dark{display:block}
.hdr__logo .logo--light{display:none}
body.hdrC .hdr__logo .logo--dark{display:none}
body.hdrC .hdr__logo .logo--light{display:block}

/* Option B tuned: everything grouped on the right, Book now at the far end */
body.hdrB .hdr__in{justify-content:flex-start;gap:.35rem}
body.hdrB .hdr__nav{margin-inline-start:auto}
body.hdrB .pick-l{margin-inline-start:.35rem;margin-inline-end:0}
body.hdrB .hdr__cta{margin-inline-start:.6rem;flex:0 0 auto}
@media (max-width:900px){
  body.hdrB .hdr__cta{display:none}
  body.hdrB .pick-l{margin-inline-start:auto}
  body.hdrB .hdr__burger{margin-inline-start:.4rem}
}

/* ===== Trip card v2: framed photo + small logo on the card ===== */
.pcard--v2{padding:10px;border-radius:26px;background:linear-gradient(180deg,#fffaf2,#fbf1e2);box-shadow:0 0 0 1px #efdfc4,0 24px 50px -30px rgba(74,42,18,.55)}
.pcard--v2 .pcard__media{border-radius:18px;aspect-ratio:4/3}
.pcard--v2 .pcard__media::after{height:38%;background:linear-gradient(transparent,rgba(40,20,8,.45))}
.pcard--v2 .pcard__media img{border-radius:18px}
.pcard--v2 .pcard__body{position:relative;padding:1rem .9rem .7rem}
.pcard__logo{position:absolute;top:12px;right:12px;width:58px;height:auto;padding:6px 7px 4px;background:#fffaf2;border-radius:16px;box-shadow:0 0 0 1px #efdfc4,0 10px 20px -12px rgba(74,42,18,.6);z-index:2}
[dir=rtl] .pcard__logo{right:auto;left:12px}
.pcard--v2 .pcard__meta,.pcard--v2 h3{padding-inline-end:68px}
.pcard--v2 h3{font-size:1.28rem}
.pcard--v2 .pcard__foot{border-top:1px dashed #e6d2b0}
.pcard--v2 .btn--sm{border-radius:14px}
/* Google chip */
.gchip{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;margin:.15rem 0 .7rem;padding:.38rem .7rem .38rem .45rem;border-radius:12px;background:#fff;box-shadow:0 0 0 1px #ecdcc0;text-decoration:none;color:var(--ink);font-size:.82rem;flex-wrap:wrap}
.gchip:hover{box-shadow:0 0 0 1px #d9bf93}
.gchip__g{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;color:#fff;background:conic-gradient(from -45deg,#ea4335 0 25%,#4285f4 0 50%,#34a853 0 75%,#fbbc05 0)}
.gchip .stars{font-size:.85rem}
.gchip b{font-weight:800}
.gchip>span:last-child{color:var(--muted);font-weight:600}
/* Google summary box on home */
.gbox{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:1.4rem 2.2rem;padding:1.4rem 1.6rem;margin-bottom:2rem;border-radius:24px;background:#fffaf2;box-shadow:0 0 0 1px #ecdcc0,0 24px 50px -32px rgba(74,42,18,.5)}
.gbox__brand{display:flex;align-items:center;gap:.8rem}
.gbox__brand>i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;color:#fff;background:conic-gradient(from -45deg,#ea4335 0 25%,#4285f4 0 50%,#34a853 0 75%,#fbbc05 0)}
.gbox__brand b{display:block;font-size:1.05rem}
.gbox__brand small{color:var(--muted);font-weight:600}
.gbox__score{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.gbox__score>b{font-size:2.4rem;font-weight:800;line-height:1;font-family:var(--f-body)}
.gbox__score .stars{font-size:1.25rem}
.gbox__score small{width:100%;color:var(--muted);font-weight:600}
.gbox__cta{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap}
.btn--ghost-ink{--bg:#fff;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px #e2cba5}
@media (max-width:820px){.gbox{grid-template-columns:1fr;text-align:start}.gbox__cta{justify-content:flex-start}.gbox__cta .btn{flex:1 1 100%;justify-content:center}}
/* review avatars with photo */
.rcard__av--img{object-fit:cover;padding:0;background:#eee}
.rcard footer{position:relative}
.rcard__g{position:absolute;left:26px;top:24px;width:18px;height:18px;border-radius:50%;background:#fff;color:#4285f4;font-size:.7rem;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}

/* ---- v3 tweaks: real Google G, logo inside photo frame ---- */
.g-ic{display:block;flex:0 0 auto}
.gchip{gap:.4rem;padding:.4rem .7rem;border-radius:999px;font-size:.84rem}
.gchip b{font-size:.92rem}
.gchip>span:last-child{color:var(--muted);font-weight:600}
.pcard--v2 .pcard__logo{top:auto;bottom:12px;right:12px;width:62px;padding:6px 8px 4px;border-radius:14px;background:rgba(255,250,242,.94);box-shadow:0 8px 18px -10px rgba(0,0,0,.6);z-index:2}
[dir=rtl] .pcard--v2 .pcard__logo{right:auto;left:12px}
.pcard--v2 .pcard__meta,.pcard--v2 h3{padding-inline-end:0}
.gbox__g{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px #ecdcc0,0 8px 18px -10px rgba(74,42,18,.5)}
.gbox__faces{display:flex;width:100%;margin-top:.3rem}
.gbox__faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fffaf2;margin-inline-start:-8px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.gbox__faces img:first-child{margin-inline-start:0}
.rcard__g{position:absolute;left:28px;top:26px;width:18px;height:18px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.pcard--v2 .pcard__media img.pcard__logo{position:absolute;width:62px;height:auto;object-fit:contain;border-radius:14px;transform:none!important;transition:none}

/* ===== Google reviews wall (auto from Google Places) ===== */
.gwall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:0 0 2rem}
.grev{display:flex;flex-direction:column;gap:.55rem;padding:1.2rem 1.25rem;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #efe2cc,0 18px 40px -30px rgba(74,42,18,.55)}
.grev header{display:flex;align-items:center;gap:.7rem}
.grev__av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;background:#f1e4cf}
.grev__av--ini{display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--terra-2),var(--terra))}
.grev__who{display:flex;flex-direction:column;min-width:0;flex:1}
.grev__who a,.grev__who b{font-weight:750;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grev__who a:hover{text-decoration:underline}
.grev__who small{color:var(--muted);font-size:.8rem}
.grev__g{flex:0 0 auto}
.grev__stars .stars{font-size:1rem}
.grev__text{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.grev__more{margin-top:auto;font-size:.82rem;font-weight:700;color:#1a73e8;text-decoration:none}
.pgoogle{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1.2rem}
.pgoogle .gchip{margin:0}
.pgoogle__link{font-weight:700;color:var(--terra)}
.gchip--lg{padding:.55rem .9rem;font-size:.95rem}
#reviews .gwall{grid-template-columns:repeat(2,minmax(0,1fr))}
.sec .gwall{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){
  .gwall,.sec .gwall,#reviews .gwall{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.6rem;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
  .gwall::-webkit-scrollbar{display:none}
  .grev{flex:0 0 84%;scroll-snap-align:start}
}
section.sec#reviews .gwall{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){section.sec#reviews .gwall{display:flex}}

/* =========================================================
   TRIP PAGE v2 (Going Trip style)
   ========================================================= */
.tp{background:var(--paper,#fffaf2);padding:120px 0 3rem}
.crumbs--dark{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.85rem;color:var(--muted);margin-bottom:.9rem}
.crumbs--dark a{color:var(--muted);text-decoration:none}
.crumbs--dark a:hover{color:var(--terra)}
.crumbs--dark b{color:var(--ink);font-weight:700}
.tp__head{margin-bottom:1.1rem}
.tp__session{display:inline-flex;align-items:center;gap:.4em;padding:.35em .8em;border-radius:99px;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#f6e8d2;color:#8e4724}
.tp__session--evening{background:#3b2a1c;color:#ffd66b}
.tp__head h1{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.1;margin:.5rem 0 .6rem;color:var(--ink)}
.tp__rating{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.tp__rating .gchip{margin:0}
.tp__loc{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-weight:600;font-size:.9rem}
.tp__loc .ic{width:16px;height:16px}
/* gallery: 1 big + 4 small */
.tp__gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;border-radius:22px;overflow:hidden;margin-bottom:1.2rem}
.tp__gi{position:relative;display:block;overflow:hidden;background:#e9d8bb}
.tp__gi img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tp__gi:hover img{transform:scale(1.05)}
.tp__gi--0{grid-row:span 2}
.tp__more{position:absolute;inset:auto 10px 10px auto;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:12px;background:rgba(255,250,242,.95);color:var(--ink);font-weight:800;font-size:.85rem;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.tp__more .ic{width:16px;height:16px}
/* quick facts */
.tp__facts{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.tp__facts li{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #efe2cc}
.tp__facts li>.ic{width:26px;height:26px;color:var(--terra);flex:0 0 26px}
.tp__facts b{display:block;font-size:.95rem}
.tp__facts small{color:var(--muted);font-size:.8rem}
/* layout */
.tp__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2.4rem;align-items:start}
.tp__sec{padding:1.6rem 0;border-top:1px solid #efe2cc}
.tp__sec:first-child{border-top:0;padding-top:0}
.tp__sec h2{font-size:1.45rem;margin:0 0 1rem;color:var(--ink)}
.tp__about{max-height:9.5em;overflow:hidden;position:relative}
.tp__about::after{content:"";position:absolute;inset:auto 0 0;height:3em;background:linear-gradient(transparent,var(--paper,#fffaf2))}
.tp__about.is-open{max-height:none}
.tp__about.is-open::after{display:none}
.tp__about .lead{font-size:1.1rem;font-weight:600;color:var(--ink)}
.tp__morebtn{background:none;border:0;padding:.3rem 0;color:var(--terra);font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tp__hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.2rem}
.tp__hl li{display:flex;gap:.55rem;align-items:flex-start;font-weight:600}
.tp__hl .ic{width:20px;height:20px;flex:0 0 20px;color:#2e8b57;margin-top:2px}
.tp__faq details{border-radius:14px;background:#fff;box-shadow:0 0 0 1px #efe2cc;margin-bottom:.6rem;overflow:hidden}
.tp__faq summary{cursor:pointer;padding:.95rem 1.1rem;font-weight:750;list-style:none;display:flex;justify-content:space-between;align-items:center}
.tp__faq summary::-webkit-details-marker{display:none}
.tp__faq summary::after{content:"+";font-size:1.3rem;color:var(--terra);font-weight:700}
.tp__faq details[open] summary::after{content:"−"}
.tp__faq p{margin:0;padding:0 1.1rem 1rem;color:var(--ink-2)}
/* booking box */
.tp__side{position:sticky;top:100px}
.tpb{background:#fff;border-radius:24px;padding:1.3rem;box-shadow:0 0 0 1px #ecdcc0,0 30px 60px -36px rgba(74,42,18,.6)}
.tpb__price{display:flex;flex-direction:column;gap:.2rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px dashed #e6d2b0}
.tpb__price b{font-size:1.9rem;font-weight:800;color:var(--ink)}
.tpb__price small{color:var(--muted);font-weight:600}
.tpb__child{font-size:.85rem;color:var(--muted);font-weight:600}
.tpb__field{position:relative;display:block;margin-bottom:.8rem}
.tpb__lbl{display:block;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.tpb input:not([type=checkbox]),.tpb select,.tpb textarea,.tpb__pax{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:.8rem .9rem;border-radius:14px;border:1.5px solid #e6d5b8;background:#fffdf9;color:var(--ink)}
.tpb input:focus,.tpb select:focus,.tpb textarea:focus,.tpb__pax:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(200,105,46,.15)}
.tpb__pax{display:flex;align-items:center;gap:.5rem;text-align:start;cursor:pointer;font-weight:700}
.tpb__pax .ic{width:18px;height:18px;color:var(--terra)}
.tpb__paxpanel{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:16px;padding:.8rem 1rem;box-shadow:0 0 0 1px #ecdcc0,0 24px 40px -20px rgba(74,42,18,.5)}
.tpb__cnt{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid #f2e6d2}
.tpb__cnt b{display:block}
.tpb__cnt small{color:var(--muted);font-size:.8rem}
.tpb__ctl{display:flex;align-items:center;gap:.6rem}
.tpb__ctl button{width:36px;height:36px;border-radius:50%;border:1.5px solid #e2cba5;background:#fff;font-size:1.2rem;font-weight:700;color:var(--terra);cursor:pointer;display:grid;place-items:center}
.tpb__ctl button:disabled{opacity:.35;cursor:default}
.tpb__ctl output{min-width:1.4em;text-align:center;font-weight:800;font-size:1.05rem}
.tpb__done{width:100%;margin-top:.7rem}
.tpb .dfield{border-radius:14px;border:1.5px solid #e6d5b8;background:#fffdf9}
.tpb__time{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:14px;background:#faf1e2}
.tpb__time .ic{width:22px;height:22px;color:var(--terra)}
.tpb__time b{display:block;font-size:.95rem}
.tpb__time small{color:var(--muted)}
.tpb__sum{margin:.4rem 0 1rem;font-size:.92rem}
.tpb__sum div{display:flex;justify-content:space-between;padding:.25rem 0;color:var(--ink-2)}
.tpb__sum small{display:block;color:#2e8b57;font-weight:700;margin-top:.3rem}
.tpb__tot{border-top:1px dashed #e6d2b0;margin-top:.4rem;padding-top:.6rem!important;font-size:1.05rem;color:var(--ink)!important}
.tpb__tot b{font-size:1.3rem}
.tpb__sum--final{margin-top:0}
.tpb__err{background:#fdecea;color:#a3271b;border-radius:10px;padding:.6rem .8rem;font-weight:600;font-size:.9rem;margin:.2rem 0 .8rem}
.tpb__back{background:none;border:0;color:var(--terra);font-weight:800;cursor:pointer;padding:0 0 .7rem}
.tpb__mini{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border-radius:14px;background:#faf1e2;margin-bottom:.9rem;font-size:.88rem;color:var(--ink-2)}
.tpb__mini b{color:var(--ink)}
.tpb__row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.tpb__row .tpb__field--s{max-width:none}
.tpb__row:has(.tpb__field--s){grid-template-columns:1fr 110px}
.tpb .btn--block{width:100%;justify-content:center;margin-top:.55rem}
.tpb .btn.is-loading{opacity:.7;pointer-events:none}
.tpb__note{font-size:.8rem;color:var(--muted);text-align:center;margin:.7rem 0 0}
.tpb__trust{list-style:none;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid #f2e6d2;display:grid;gap:.4rem;font-size:.86rem;color:var(--ink-2)}
.tpb__trust li{display:flex;gap:.45rem;align-items:center}
.tpb__trust .ic{width:16px;height:16px;color:#2e8b57}
.tp__more--m{display:none}
.mbar__g{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:700;margin-inline-start:.4rem}
@media (max-width:1000px){
  .tp__grid{grid-template-columns:1fr}
  .tp__side{position:static;order:-1}
  .tp__facts{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .tp{padding-top:92px}
  .tp__gal{grid-template-columns:1fr 1fr;grid-template-rows:230px 110px;border-radius:18px;gap:6px}
  .tp__gi--0{grid-column:span 2;grid-row:auto}
  .tp__gi--3,.tp__gi--4{display:none}
  .tp__more--m{display:inline-flex!important}
  .tp__facts li{padding:.7rem .75rem}
  .tp__hl{grid-template-columns:1fr}
  .tpb{padding:1.1rem;border-radius:20px}
}

.grev__pics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.grev__pics a{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f1e4cf}
.grev__pics img{width:100%;height:100%;object-fit:cover}

/* ===== Booking box v3: field cards + ticket ===== */
.tpb{background:linear-gradient(180deg,#fff,#fffaf3)}
.tpb__step>.tpb__field,.tpb__step>.tpb__card{margin-bottom:.7rem}
.tpb__card{position:relative;display:flex;align-items:center;gap:.8rem;width:100%;box-sizing:border-box;padding:.7rem .9rem;border-radius:18px;border:1.5px solid #eadbc2;background:#fff;cursor:pointer;text-align:start;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.tpb__card:hover{border-color:#d9b98a}
.tpb__card:focus-within,.tpb__card[aria-expanded=true]{border-color:var(--terra);box-shadow:0 0 0 4px rgba(200,105,46,.12)}
.tpb__card--static{cursor:default;background:#fdf6ea}
.tpb__ico{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#f8ead5;color:var(--terra)}
.tpb__ico .ic{width:20px;height:20px}
.tpb__cv{display:flex;flex-direction:column;min-width:0;flex:1}
.tpb__cv small{font-size:.74rem;color:var(--muted);font-weight:600}
.tpb__cv b{font-size:1.02rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpb__chev{width:8px;height:8px;border-right:2px solid #a08566;border-bottom:2px solid #a08566;transform:rotate(45deg);margin-inline-end:4px}
.tpb__tag{font-size:.72rem;font-weight:800;color:#2e8b57;background:#e7f5ec;padding:.3em .6em;border-radius:99px;white-space:nowrap}
.tpb__card--date input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0;-webkit-appearance:none;appearance:none;z-index:1}
.tpb__h{font-size:1.05rem;margin:1.1rem 0 .7rem;position:relative;padding-bottom:.45rem}
.tpb__h::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:var(--terra)}
[dir=rtl] .tpb__h::after{left:auto;right:0}
/* ticket */
.tkt{--notch:14px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 22px 128px;background:#fff;border-radius:16px;box-shadow:0 0 0 1px #ecdcc0,0 16px 30px -22px rgba(74,42,18,.6);transform:rotate(-1.2deg);margin:.2rem .2rem 1rem}
.tkt--mini{transform:none;margin:0 0 1rem}
.tkt__l{padding:1rem .2rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}
.tkt__meta{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;color:var(--muted);font-weight:600}
.tkt__meta .ic{width:14px;height:14px;color:var(--terra)}
.tkt__name{font-family:var(--f-display);font-size:1.12rem;line-height:1.2;color:#8e4724}
.tkt__lines{margin-top:auto;font-size:.86rem;color:var(--ink-2)}
.tkt__lines b{color:var(--ink)}
.tkt__tear{position:relative;border-left:2px dashed #e2cfae;margin:10px 0;display:flex;align-items:center;justify-content:center}
.tkt__tear::before,.tkt__tear::after{content:"";position:absolute;left:calc(-1 * var(--notch) / 2 - 1px);width:var(--notch);height:var(--notch);border-radius:50%;background:#fffaf3;box-shadow:inset 0 0 0 1px #ecdcc0}
.tkt__tear::before{top:calc(-10px - var(--notch) / 2)}
.tkt__tear::after{bottom:calc(-10px - var(--notch) / 2)}
.tkt__tear span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.56rem;letter-spacing:.25em;color:#c9b08a;font-weight:800;margin-left:-10px}
.tkt__r{padding:1rem 1rem 1rem .3rem;display:flex;flex-direction:column;align-items:flex-end;text-align:end;gap:.15rem}
.tkt__time{font-size:1.9rem;line-height:1;color:var(--terra);font-weight:800;font-family:var(--f-body)}
.tkt__date{font-size:.8rem;font-style:italic;color:var(--muted)}
.tkt__bar{width:100%;height:26px;margin:.45rem 0;background:repeating-linear-gradient(90deg,#3b2a1c 0 2px,transparent 2px 4px,#3b2a1c 4px 5px,transparent 5px 8px,#3b2a1c 8px 11px,transparent 11px 13px);opacity:.8;border-radius:2px}
.tkt__r small{font-size:.75rem;color:var(--muted)}
.tkt__total{font-size:1.45rem;font-weight:800;color:var(--ink)}
.tkt--mini .tkt__time{font-size:1.4rem}
.tkt--mini .tkt__total{font-size:1.15rem}
.tpb__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.tpb__chips span{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:700;color:#23744a;background:#e8f6ee;padding:.4em .7em;border-radius:99px}
.tpb__chips .ic{width:14px;height:14px}
.tpb__go{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.6rem;padding:1rem 1.2rem;border:0;border-radius:99px;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#d9783a,#a9521f);box-shadow:0 14px 26px -14px rgba(169,82,31,.95);transition:transform .2s,filter .2s}
.tpb__go:hover{transform:translateY(-1px);filter:brightness(1.05)}
.tpb__go .ic{width:20px;height:20px}
.tpb__go--wa{background:linear-gradient(135deg,#2fc56b,#1c9a51);box-shadow:0 14px 26px -14px rgba(28,154,81,.95)}
.tpb__go:disabled{opacity:.6}
.tpb__go.is-loading{opacity:.7;pointer-events:none}

/* ===== Trip page: mobile photo carousel ===== */
.tp__car{display:none;position:relative;margin:0 -16px 1rem}
.tp__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tp__track::-webkit-scrollbar{display:none}
.tp__slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3.6;display:block;overflow:hidden;background:#e9d8bb}
.tp__slide img{width:100%;height:100%;object-fit:cover;display:block}
.tp__count{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:99px;background:rgba(20,14,8,.62);color:#fff;font-size:.82rem;font-weight:700;backdrop-filter:blur(6px)}
.tp__count .ic{width:15px;height:15px}
.tp__dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.tp__dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:width .25s}
.tp__dots i.is-on{width:18px;border-radius:4px;background:#fff}
@media (max-width:700px){
  .tp__gal{display:none}
  .tp__car{display:block}
  .tkt{grid-template-columns:minmax(0,1fr) 20px 112px}
  .tkt__time{font-size:1.6rem}
}

/* =========================================================
   LUXURY REVIEWS — espresso & gold
   ========================================================= */
.sec--lux{position:relative;background:radial-gradient(1200px 500px at 15% 0%,#3a2414 0%,transparent 60%),radial-gradient(900px 500px at 100% 100%,#2c1a0e 0%,transparent 60%),#160e08;color:#f4e7d1;overflow:hidden}
.sec--lux::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath d='M0 120 Q40 100 80 120 T160 120' fill='none' stroke='%23e9c46a' stroke-opacity='.06'/%3E%3Cpath d='M0 60 Q40 40 80 60 T160 60' fill='none' stroke='%23e9c46a' stroke-opacity='.05'/%3E%3C/svg%3E");pointer-events:none}
.lux{position:relative;--gold:#e9c46a;--gold-2:#c99a3b}
.lux__head{display:grid;grid-template-columns:1.2fr auto auto;align-items:end;gap:1.5rem 2.5rem;margin-bottom:2.4rem}
.lux__kicker{display:inline-block;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:var(--gold);margin-bottom:.6rem}
.lux__title h2{margin:0;color:#fff7ea;font-size:clamp(2rem,4vw,3.1rem);line-height:1.05}
.lux__title h2 em{color:var(--gold)}
.lux__score{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(233,196,106,.28),0 20px 40px -24px rgba(0,0,0,.8)}
.lux__g{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 4px rgba(233,196,106,.25)}
.lux__num{display:inline-block;font-family:var(--f-display);font-size:2.8rem;line-height:1;color:#fff7ea;margin-inline-end:.5rem;vertical-align:middle}
.lux__stars .stars{font-size:1.25rem;vertical-align:middle}
.lux .stars{color:rgba(233,196,106,.22)}
.lux .stars__on{color:var(--gold)}
.lux__score small{display:block;margin-top:.3rem;color:#d6c3a5;font-weight:600}
.lux__cta{display:flex;flex-direction:column;gap:.55rem}
.lux__btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.8rem 1.3rem;border-radius:99px;font-weight:800;text-decoration:none;color:#1d130b;background:linear-gradient(135deg,#f3d98b,var(--gold-2));box-shadow:0 12px 24px -14px rgba(233,196,106,.8);white-space:nowrap}
.lux__btn .ic{width:18px;height:18px}
.lux__btn--ghost{background:transparent;color:#f4e7d1;box-shadow:inset 0 0 0 1.5px rgba(233,196,106,.5)}
.lux__btn:hover{filter:brightness(1.08)}
/* marquee rows */
.lux__rows{display:grid;gap:1.1rem;margin:0 calc(50% - 50vw);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lux__row{overflow:hidden}
.lux__track{display:flex;gap:1.1rem;width:max-content;animation:luxScroll var(--dur,60s) linear infinite}
.lux__row--rev .lux__track{animation-direction:reverse}
.lux__row:hover .lux__track{animation-play-state:paused}
@keyframes luxScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - .55rem))}}
@media (prefers-reduced-motion:reduce){.lux__track{animation:none}.lux__row{overflow-x:auto}}
.lux__strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
/* card */
.lxc{position:relative;width:360px;flex:0 0 360px;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem;padding:1.4rem 1.4rem 1.2rem;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(233,196,106,.2),0 24px 50px -30px rgba(0,0,0,.9);backdrop-filter:blur(6px);color:#efe2cb}
.lux__strip .lxc{width:auto;flex:auto}
.lxc::before{content:"\201C";position:absolute;top:-.2rem;right:1.1rem;font-family:Georgia,serif;font-size:5rem;line-height:1;color:rgba(233,196,106,.22)}
[dir=rtl] .lxc::before{right:auto;left:1.1rem}
.lxc__top{display:flex;align-items:center;justify-content:space-between}
.lxc__top .stars{font-size:1.05rem}
.lxc__g{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;margin-inline-end:2.2rem}
.lxc__text{margin:0;font-size:1rem;line-height:1.65;color:#f3e8d6;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.lxc__pics{display:flex;gap:6px}
.lxc__pics a{width:72px;height:72px;border-radius:12px;overflow:hidden;display:block;box-shadow:0 0 0 1px rgba(233,196,106,.3)}
.lxc__pics img{width:100%;height:100%;object-fit:cover}
.lxc__who{margin-top:auto;display:flex;align-items:center;gap:.75rem;padding-top:.8rem;border-top:1px solid rgba(233,196,106,.15)}
.lxc__av{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 46px;box-shadow:0 0 0 2px #160e08,0 0 0 4px var(--gold)}
.lxc__av--i{display:grid;place-items:center;font-weight:800;color:#1d130b;background:linear-gradient(135deg,#f3d98b,#c99a3b)}
.lxc__who b{display:block;color:#fff7ea;font-weight:750}
.lxc__who b a{color:inherit;text-decoration:none}
.lxc__who small{color:#bfa987;font-size:.82rem}
/* compact (trip page) */
.tp__rev{border-top:0}
.lux--compact{padding:1.6rem;border-radius:28px;background:radial-gradient(700px 300px at 0 0,#3a2414,transparent 60%),#160e08;color:#f4e7d1;overflow:hidden}
.lux--compact .lux__head{grid-template-columns:1fr;gap:1rem;margin-bottom:1.3rem}
.lux--compact .lux__title h2{font-size:1.7rem}
.lux--compact .lux__score{justify-self:start}
.lux--compact .lux__cta{flex-direction:row;flex-wrap:wrap}
.lux--compact .lux__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.9rem;padding-bottom:.4rem;scrollbar-width:thin}
.lux--compact .lxc{flex:0 0 300px;width:300px;scroll-snap-align:start}
.tp__write{margin-top:1rem;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #efe2cc}
.tp__write summary{cursor:pointer;padding:1rem 1.1rem;font-weight:800;display:flex;align-items:center;gap:.5rem;list-style:none}
.tp__write summary::-webkit-details-marker{display:none}
.tp__write summary .ic{width:18px;height:18px;color:var(--terra)}
.tp__write .rform{margin:0;border-radius:0 0 16px 16px;box-shadow:none}
@media (max-width:1000px){.lux__head{grid-template-columns:1fr auto}.lux__cta{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.lux__strip{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
  .lux__head{grid-template-columns:1fr}
  .lux__score{justify-self:start}
  .lxc{width:290px;flex-basis:290px;padding:1.2rem}
  .lux__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px .4rem}
  .lux__strip .lxc{flex:0 0 86%;scroll-snap-align:start}
  .lux--compact{padding:1.2rem;margin:0 -6px}
  .lux--compact .lxc{flex-basis:84%;width:84%}
}

/* ===== fixes: grid overflow on phones, photo radius ===== */
.tp__grid{grid-template-columns:minmax(0,1fr) 380px}
.tp__main,.tp__side{min-width:0}
@media (max-width:1000px){.tp__grid{grid-template-columns:minmax(0,1fr)}}
.tp__car{margin:0 0 1rem;border-radius:22px;overflow:hidden;box-shadow:0 18px 36px -24px rgba(74,42,18,.6)}
.tp__slide{aspect-ratio:4/3.3}
.lux--compact,.lux__strip{min-width:0;max-width:100%}

/* ===== booking box on phones ===== */
@media (max-width:700px){
  .tpb{padding:1rem;border-radius:22px;box-shadow:0 0 0 1px #ecdcc0,0 20px 40px -30px rgba(74,42,18,.6)}
  .tpb__price{flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.3rem;padding-bottom:.8rem;margin-bottom:.8rem}
  .tpb__price b{font-size:1.6rem}
  .tpb__card{padding:.6rem .75rem;border-radius:16px;gap:.65rem}
  .tpb__ico{width:38px;height:38px;flex-basis:38px}
  .tpb__cv b{font-size:.98rem}
  .tpb__tag{font-size:.68rem}
  .tkt{transform:none;grid-template-columns:minmax(0,1fr) 18px 108px;margin:.2rem 0 .9rem}
  .tkt__l{padding:.85rem .1rem .85rem .85rem}
  .tkt__r{padding:.85rem .85rem .85rem .2rem}
  .tkt__name{font-size:1rem}
  .tkt__time{font-size:1.45rem}
  .tkt__total{font-size:1.2rem}
  .tkt__bar{height:20px}
  .tkt__tear span{display:none}
  .tpb__chips{gap:.3rem}
  .tpb__chips span{font-size:.7rem}
  .tpb__go{padding:.9rem 1rem;font-size:1rem}
  .tpb__row,.tpb__row:has(.tpb__field--s){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tpb__row:has(.tpb__field--s){grid-template-columns:minmax(0,1fr) 96px}
}

/* =========================================================
   REVIEWS — light & luxurious (overrides the dark version)
   ========================================================= */
.sec--lux{background:radial-gradient(900px 420px at 10% 0%,#fff6e6 0%,transparent 60%),radial-gradient(800px 420px at 100% 100%,#f6e6cb 0%,transparent 60%),linear-gradient(180deg,#fbf3e6,#f5e9d6);color:var(--ink)}
.sec--lux::before{opacity:.8}
.lux{--gold:#c99a3b;--gold-2:#a8781f}
.lux__kicker{color:#a8781f}
.lux__title h2{color:#1f160e}
.lux__title h2 em{color:#b5822a}
.lux__score{background:#fff;box-shadow:0 0 0 1px #ecd9b5,0 18px 36px -24px rgba(120,80,30,.45)}
.lux__g{box-shadow:0 0 0 4px #f6e8cc}
.lux__num{color:#1f160e}
.lux__score small{color:#8a7356}
.lux .stars{color:#ead9b8}
.lux .stars__on{color:#e0a526}
.lux__btn{color:#fff;background:linear-gradient(135deg,#d9a440,#a8781f);box-shadow:0 12px 24px -14px rgba(168,120,31,.9)}
.lux__btn--ghost{background:#fff;color:#5a4128;box-shadow:inset 0 0 0 1.5px #e3cb9c}
/* new card shape: white "postcard" with gold edge, author on top */
.lxc{background:#fff;color:var(--ink);border-radius:26px;padding:0 0 1.2rem;box-shadow:0 0 0 1px #efdfc2,0 22px 44px -30px rgba(120,80,30,.55);backdrop-filter:none;overflow:hidden;gap:.7rem}
.lxc::before{content:"";position:static;display:block;height:5px;background:linear-gradient(90deg,#e8c47a,#c99a3b,#e8c47a);font-size:0}
.lxc::after{content:"\201D";position:absolute;right:1.1rem;bottom:-.6rem;font-family:Georgia,serif;font-size:6.5rem;line-height:1;color:#f3e6cc;pointer-events:none}
[dir=rtl] .lxc::after{right:auto;left:1.1rem}
.lxc>*{position:relative;z-index:1;margin-inline:1.3rem}
.lxc__who{order:-1;margin-top:.9rem;padding-top:0;border-top:0}
.lxc__top{order:0}
.lxc__text{order:1;color:#3d2f22;font-family:var(--f-display);font-style:italic;font-size:1.04rem;line-height:1.6}
.lxc__pics{order:2}
.lxc__av{box-shadow:0 0 0 2px #fff,0 0 0 4px #e0b55a}
.lxc__av--i{color:#fff;background:linear-gradient(135deg,#e0b55a,#a8781f)}
.lxc__who b{color:#1f160e}
.lxc__who small{color:#9a8264}
.lxc__g{margin:0;box-shadow:0 0 0 1px #eee}
.lxc__pics a{box-shadow:0 0 0 1px #efdfc2;border-radius:14px}
.lux--compact{background:linear-gradient(160deg,#fff8ec,#f6e9d3);color:var(--ink);box-shadow:0 0 0 1px #efdfc2}
.lxc::after{top:.55rem;bottom:auto;right:1.2rem;font-size:4.6rem;color:#f1e1c2}
.mbar.is-off{transform:translateY(130%)!important;opacity:0;pointer-events:none}

/* =========================================================
   TYPOGRAPHY v3 — Montserrat (headings) + Manrope (text)
   both cover Latin-extended + Cyrillic (PL/CS/RO/RU/DE/FR)
   ========================================================= */
:root{--f-display:"Montserrat","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--f-serif:var(--f-display);--f-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--f-num:"Manrope",system-ui,sans-serif}
body{font-family:var(--f-body);letter-spacing:-.003em}
h1,h2,h3,h4,.h2s{font-family:var(--f-display);font-weight:800;letter-spacing:-.02em;text-transform:none}
h1{font-weight:800}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:800;color:var(--terra)}
.hero h1 em{color:var(--sun)}
.tkt__name{font-family:var(--f-display);font-weight:700}
.lux__num{font-family:var(--f-display);font-weight:800}
.btn,.tpb__go,.lux__btn{font-family:var(--f-body);font-weight:800;letter-spacing:0}
.kicker,.lux__kicker{font-family:var(--f-body)}
.lang-zh body,.lang-zh h1,.lang-zh h2,.lang-zh h3{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",var(--f-body)}

/* hero title size for the new font */
.hero h1{font-size:clamp(2.5rem,6.2vw,5.4rem);line-height:1.02;letter-spacing:-.03em}
.hero h1 em{font-size:1em}

/* =========================================================
   REVIEWS v3 — authentic Google review cards
   ========================================================= */
.sec--lux{background:#f8f9fa}
.sec--lux::before{display:none}
.lux__kicker{color:#5f6368}
.lux__title h2{color:#202124}
.lux__title h2 em{color:var(--terra)}
.lux__score{background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}
.lux__g{box-shadow:none;background:#fff}
.lux__num{color:#202124}
.lux .stars{color:#dadce0;letter-spacing:1px}
.lux .stars__on{color:#fbbc04}
.lux__score small{color:#5f6368}
.lux__btn{background:#1a73e8;color:#fff;box-shadow:none;border-radius:999px}
.lux__btn:hover{background:#1765cc;filter:none}
.lux__btn--ghost{background:#fff;color:#1a73e8;box-shadow:inset 0 0 0 1px #dadce0}
.lux__btn--ghost:hover{background:#f4f8fe}
.lux__rows{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.lux--compact{background:#f8f9fa;box-shadow:inset 0 0 0 1px #e3e3e3}
/* card */
.lxc.gr{background:#fff;color:#202124;border-radius:12px;padding:1.1rem 1.15rem 1rem;gap:.55rem;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);overflow:hidden;font-family:var(--f-body)}
.lxc.gr::before,.lxc.gr::after{display:none;content:none}
.lxc.gr>*{margin-inline:0}
.gr__head{display:flex;align-items:center;gap:.7rem}
.gr__av{width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover;background:#e8eaed}
.gr__av--i{display:grid;place-items:center;color:#fff;font-weight:600;font-size:1.05rem}
.gr__who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.gr__who b{font-weight:600;font-size:.95rem;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr__who b a{color:inherit;text-decoration:none}
.gr__who b a:hover{text-decoration:underline}
.gr__who small{color:#70757a;font-size:.8rem}
.gr__g{flex:0 0 auto;display:grid;place-items:center}
.gr__meta{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:#70757a}
.gr__meta .stars{font-size:.95rem}
.gr__text{margin:0;font-size:.93rem;line-height:1.55;color:#3c4043;font-style:normal;font-family:var(--f-body);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.gr__pics{display:flex;gap:4px}
.gr__pics a{width:76px;height:76px;border-radius:8px;overflow:hidden;display:block}
.gr__pics img{width:100%;height:100%;object-fit:cover}
.gr__reply{background:#f1f3f4;border-radius:8px;padding:.55rem .7rem;font-size:.85rem;color:#3c4043}
.gr__reply b{display:block;font-size:.8rem;margin-bottom:.15rem}
.gr__reply p{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gr__link{margin-top:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#1a73e8;text-decoration:none;padding-top:.3rem}
.gr__link:hover{text-decoration:underline}
.gr__link--muted{color:#70757a}

/* =========================================================
   CHECKOUT
   ========================================================= */
.co{padding:118px 0 4rem;background:radial-gradient(900px 400px at 0 0,#fff7ea,transparent 60%),linear-gradient(180deg,#fbf4e8,#f6ecdc);min-height:70vh}
.co__top{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.co__kicker{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#23744a}
.co__kicker .ic{width:16px;height:16px}
.co__top h1{margin:.35rem 0 0;font-size:clamp(1.7rem,3.4vw,2.5rem)}
.co__trust{display:flex;gap:.5rem;flex-wrap:wrap}
.co__trust span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:99px;background:#fff;box-shadow:0 0 0 1px #ecdcc0;font-size:.82rem;font-weight:700;color:#3b2a1c}
.co__trust .ic{width:15px;height:15px;color:#23744a}
/* stepper */
.cs{list-style:none;margin:0 0 1.8rem;padding:1rem 1.2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-radius:20px;box-shadow:0 0 0 1px #ecdcc0,0 14px 30px -24px rgba(74,42,18,.5);counter-reset:s}
.cs li{position:relative;display:flex;align-items:center;gap:.65rem;font-weight:700;color:#9a8466;font-size:.92rem;cursor:default}
.cs li:not(:last-child)::after{content:"";flex:1;height:3px;border-radius:3px;background:#efe2cc;margin:0 .8rem}
.cs li.is-done:not(:last-child)::after{background:linear-gradient(90deg,#2e9b5f,#58c084)}
.cs__dot{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#f4ead9;color:#9a8466;font-weight:800;transition:.25s}
.cs__dot .ic{width:16px;height:16px}
.cs li.is-on{color:var(--ink)}
.cs li.is-on .cs__dot{background:var(--terra);color:#fff;box-shadow:0 0 0 5px rgba(200,105,46,.18)}
.cs li.is-done{color:#23744a;cursor:pointer}
.cs li.is-done .cs__dot{background:#2e9b5f;color:#fff}
.cs__lbl{white-space:nowrap}
/* layout */
.co__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:2rem;align-items:start}
.co__main,.co__side{min-width:0}
.co__side{position:sticky;top:96px}
.co__card{background:#fff;border-radius:24px;padding:1.8rem;box-shadow:0 0 0 1px #ecdcc0,0 24px 50px -36px rgba(74,42,18,.55)}
.co__card h2{display:flex;align-items:center;gap:.7rem;font-size:1.35rem;margin:0 0 1.3rem}
.co__n{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--terra);color:#fff;font-size:1rem}
.co__hint{margin:-.8rem 0 1.2rem;color:var(--muted);font-size:.9rem}
/* trip radio cards */
.co__trips{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.3rem}
.co__trip{position:relative;display:flex;gap:.8rem;align-items:center;padding:.6rem;border-radius:18px;border:1.5px solid #ecdcc0;cursor:pointer;background:#fffdf9;transition:.2s}
.co__trip:hover{border-color:#d9b98a}
.co__trip input,.co__pm input{position:absolute;opacity:0;pointer-events:none}
.co__tripimg{width:88px;height:70px;flex:0 0 88px;border-radius:12px;overflow:hidden;background:#eadbc2}
.co__tripimg img{width:100%;height:100%;object-fit:cover}
.co__tripbody{display:flex;flex-direction:column;min-width:0;padding-right:1.6rem}
.co__tripbody b{font-size:.92rem;line-height:1.25}
.co__tripbody small{color:var(--muted);font-size:.76rem;margin:.15rem 0}
.co__tripbody em{font-style:normal;font-weight:800;color:var(--terra);font-size:.88rem}
.co__radio{position:absolute;top:.7rem;right:.7rem;width:20px;height:20px;border-radius:50%;border:2px solid #d8c3a0;background:#fff}
.co__trip:has(input:checked),.co__pm:has(input:checked){border-color:var(--terra);background:#fff6ec;box-shadow:0 0 0 3px rgba(200,105,46,.12)}
.co__trip:has(input:checked) .co__radio,.co__pm:has(input:checked) .co__radio{border-color:var(--terra);background:radial-gradient(circle,var(--terra) 0 5px,#fff 6px)}
.co__trip:has(input:focus-visible),.co__pm:has(input:focus-visible){outline:2px solid var(--terra);outline-offset:2px}
/* fields */
.co__row2{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem}
.co__grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.co__full{grid-column:1/-1}
.co__field{display:flex;flex-direction:column;gap:.4rem;position:relative}
.co__lbl{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7d6447}
.co__lbl .ic{width:16px;height:16px;color:var(--terra)}
.co input:not([type=radio]):not([type=checkbox]),.co select,.co textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:.85rem 1rem;border-radius:14px;border:1.5px solid #e6d5b8;background:#fffdf9;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.co input:focus,.co select:focus,.co textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 4px rgba(200,105,46,.14);background:#fff}
.co .is-bad{border-color:#d93025!important;box-shadow:0 0 0 4px rgba(217,48,37,.12)!important}
.co__field--date{cursor:pointer}
.co__dval{display:flex;align-items:center;min-height:52px;box-sizing:border-box;padding:.85rem 1rem;border-radius:14px;border:1.5px solid #e6d5b8;background:#fffdf9;font-weight:800}
.co__field--date input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0;-webkit-appearance:none;appearance:none}
.co__field--date:focus-within .co__dval{border-color:var(--terra);box-shadow:0 0 0 4px rgba(200,105,46,.14)}
.co__cnt{display:flex;justify-content:space-between;align-items:center;padding:.5rem .1rem;border-bottom:1px solid #f2e6d2}
.co__cnt:last-child{border-bottom:0}
.co__cnt b{display:block;font-size:.95rem}.co__cnt small{color:var(--muted);font-size:.78rem}
.co__ctl{display:flex;align-items:center;gap:.6rem}
.co__ctl button{width:36px;height:36px;border-radius:50%;border:1.5px solid #e2cba5;background:#fff;font-size:1.2rem;font-weight:700;color:var(--terra);cursor:pointer}
.co__ctl button:disabled{opacity:.35;cursor:default}
.co__ctl output{min-width:1.5em;text-align:center;font-weight:800;font-size:1.05rem}
.co__phone{display:grid;grid-template-columns:128px minmax(0,1fr);gap:.5rem}
.co__phone select{padding-inline:.7rem}
/* payment */
.co__pay{display:grid;gap:.75rem;margin-bottom:1rem}
.co__pm{position:relative;display:flex;align-items:center;gap:1rem;padding:1.05rem 1.2rem;border-radius:18px;border:1.5px solid #ecdcc0;cursor:pointer;background:#fffdf9;transition:.2s}
.co__pmbody{display:flex;flex-direction:column;gap:.2rem;padding-right:2rem}
.co__pmbody b{font-size:1.02rem}
.co__pmbody small{color:var(--muted);font-size:.85rem}
.co__pm .co__radio{top:50%;transform:translateY(-50%);right:1.1rem}
.co__cards{display:flex;gap:.4rem;margin-top:.35rem;align-items:center}
.cc{display:inline-flex;align-items:center;justify-content:center;height:24px;min-width:40px;padding:0 .45rem;border-radius:5px;font-style:normal;font-size:.72rem;font-weight:900;box-shadow:0 0 0 1px #e3e3e3;background:#fff}
.cc--visa{color:#1a1f71;font-style:italic;letter-spacing:.02em}
.cc--mc{position:relative;width:40px;padding:0}
.cc--mc span{position:absolute;width:15px;height:15px;border-radius:50%;top:4.5px}
.cc--mc span:first-child{left:7px;background:#eb001b}
.cc--mc span:last-child{left:16px;background:#f79e1b;mix-blend-mode:multiply}
.cc--ap{background:#000;color:#fff;box-shadow:none;font-weight:700}
.co__charge{padding:.75rem 1rem;border-radius:12px;background:#eef6ff;color:#1b4b8a;font-size:.9rem;margin-bottom:1rem}
.co__agree{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;color:var(--ink-2);margin:.4rem 0 .6rem;cursor:pointer}
.co__agree input{width:20px;height:20px;accent-color:var(--terra);margin-top:2px;flex:0 0 20px}
.co__err{background:#fdecea;color:#a3271b;border-radius:12px;padding:.7rem .9rem;font-weight:700;font-size:.9rem;margin:1rem 0 0}
.co__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid #f2e6d2}
.co__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.6rem;border:0;border-radius:99px;cursor:pointer;font:inherit;font-weight:800;font-size:1rem;color:#fff;text-decoration:none;background:linear-gradient(135deg,#d9783a,#a9521f);box-shadow:0 14px 26px -14px rgba(169,82,31,.95);transition:transform .2s,filter .2s}
.co__btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.co__btn .ic{width:18px;height:18px}
.co__btn--pay{background:linear-gradient(135deg,#2e9b5f,#1d7a46);box-shadow:0 14px 26px -14px rgba(29,122,70,.95);min-width:240px}
.co__btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px #e2cba5}
.co__btn.is-loading{opacity:.7;pointer-events:none}
.co__back{background:none;border:0;color:var(--terra);font:inherit;font-weight:800;cursor:pointer}
.co__secure{display:flex;gap:.45rem;align-items:flex-start;color:var(--muted);font-size:.8rem;margin:1rem 0 0}
.co__secure .ic{width:16px;height:16px;color:#23744a;flex:0 0 16px;margin-top:2px}
/* ticket */
.ctk{--bg:#f6ecdc;position:relative;background:#fff;border-radius:26px;box-shadow:0 0 0 1px #ecdcc0,0 30px 60px -36px rgba(74,42,18,.6);overflow:hidden}
.ctk__img{position:relative;height:150px;background-size:cover;background-position:center;transition:opacity .3s}
.ctk__img.is-swap{opacity:.4}
.ctk__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(20,12,6,.55))}
.ctk__badge{position:absolute;z-index:1;left:14px;top:14px;padding:.3rem .7rem;border-radius:99px;background:rgba(255,250,242,.95);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8e4724}
.ctk__status{position:absolute;z-index:1;right:14px;top:14px;padding:.3rem .7rem;border-radius:99px;background:#fff4dc;color:#8a5a00;font-size:.75rem;font-weight:800}
.ctk__status.is-paid{background:#e3f6ea;color:#1d7a46}
.ctk__body{padding:1.1rem 1.3rem .4rem}
.ctk__brand{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#a0855f}
.ctk__brand img{width:54px;height:auto}
.ctk__body h3{margin:.45rem 0 .9rem;font-size:1.2rem;line-height:1.25;color:#2a1d12}
.ctk__grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin:0}
.ctk__grid div{min-width:0}
.ctk__grid dt{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a0855f}
.ctk__grid dd{margin:.15rem 0 0;font-weight:800;font-size:.92rem;color:#2a1d12;overflow:hidden;text-overflow:ellipsis}
.ctk__wide{grid-column:1/-1}
.ctk__perf{position:relative;height:28px;margin:.6rem 0 0}
.ctk__perf::before{content:"";position:absolute;left:22px;right:22px;top:50%;border-top:2px dashed #e4d2b2}
.ctk__perf::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 50%,var(--bg) 13px,transparent 14px),radial-gradient(circle at 100% 50%,var(--bg) 13px,transparent 14px)}
.ctk__stub{padding:.3rem 1.3rem 1.3rem;background:linear-gradient(180deg,#fff,#fffaf2)}
.ctk__lines div{display:flex;justify-content:space-between;font-size:.9rem;color:var(--ink-2);padding:.15rem 0}
.ctk__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:.5rem;padding-top:.6rem;border-top:1px solid #f0e3cc}
.ctk__total span{font-weight:800}
.ctk__total b{font-size:1.8rem;font-weight:800;color:#2a1d12}
.ctk__paynote{display:block;color:#23744a;font-weight:700;font-size:.82rem;margin-top:.2rem}
.ctk__barcode{height:42px;margin:1rem 0 .4rem;background:repeating-linear-gradient(90deg,#2a1d12 0 2px,transparent 2px 4px,#2a1d12 4px 5px,transparent 5px 8px,#2a1d12 8px 11px,transparent 11px 12px,#2a1d12 12px 13px,transparent 13px 16px);border-radius:3px;opacity:.85}
.ctk__ref{display:block;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.3em;color:#a0855f}
.ctk__refbig{display:block;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem;font-weight:800;letter-spacing:.12em;color:var(--terra);margin:.2rem 0 .3rem}
.co__perks{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.6rem}
.co__perks li{display:flex;gap:.75rem;align-items:center;padding:.8rem 1rem;border-radius:16px;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px #ecdcc0}
.co__perks .ic{width:22px;height:22px;color:var(--terra);flex:0 0 22px}
.co__perks b{display:block;font-size:.9rem}.co__perks small{color:var(--muted);font-size:.8rem}
.co__mbar{display:none}
/* confirmation */
.cdone{max-width:760px;margin:0 auto}
.cdone__head{text-align:center;margin:0 auto 1.8rem}
.cdone__stamp{width:84px;height:84px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3cb371,#1d7a46);box-shadow:0 0 0 10px rgba(46,155,95,.15),0 20px 40px -20px rgba(29,122,70,.9);animation:stampIn .6s cubic-bezier(.2,1.6,.4,1)}
.cdone__stamp.is-warn{background:linear-gradient(135deg,#f0a92e,#c97a00);box-shadow:0 0 0 10px rgba(240,169,46,.18)}
.cdone__stamp .ic{width:40px;height:40px}
@keyframes stampIn{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.cdone__head h1{font-size:clamp(1.7rem,3.6vw,2.5rem);margin:.4rem 0 .6rem}
.cdone__head p{color:var(--ink-2);font-size:1.05rem}
.cdone__head .ref{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--terra)}
.cdone__head form{margin-top:1rem}
.ctk--final{max-width:560px;margin:0 auto}
.ctk--final .ctk__img{height:200px}
.cdone__actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:1.6rem 0 2.4rem}
.cdone__next{background:#fff;border-radius:24px;padding:1.6rem 1.8rem;box-shadow:0 0 0 1px #ecdcc0}
.cdone__next h2{font-size:1.3rem;margin:0 0 1rem}
.cdone__next ol{margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:.9rem}
.cdone__next li{counter-increment:n;display:grid;grid-template-columns:36px 1fr;gap:.2rem .8rem}
.cdone__next li::before{content:counter(n);grid-row:span 2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f8ead5;color:var(--terra);font-weight:800}
.cdone__next span{color:var(--muted);font-size:.92rem}
.co--done .cs li{cursor:default}
@media (max-width:1000px){
  .co__grid{grid-template-columns:minmax(0,1fr)}
  .co__side{position:static}
}
@media (max-width:700px){
  .co{padding:92px 0 6.5rem}
  .co__top{margin-bottom:1rem}
  .co__trust{display:none}
  .cs{padding:.75rem .8rem;border-radius:16px;margin-bottom:1.1rem}
  .cs li:not(:last-child)::after{margin:0 .35rem}
  .cs__dot{width:30px;height:30px;flex-basis:30px;font-size:.85rem}
  .cs li:not(.is-on) .cs__lbl{display:none}
  .cs li.is-on{grid-column:span 1}
  .cs__lbl{font-size:.78rem;position:absolute;top:calc(100% + 4px);left:0}
  .cs{padding-bottom:1.6rem}
  .co__card{padding:1.2rem;border-radius:20px}
  .co__card h2{font-size:1.15rem;margin-bottom:1rem}
  .co__trips{grid-template-columns:1fr}
  .co__row2,.co__grid2{grid-template-columns:minmax(0,1fr)}
  .co__phone{grid-template-columns:112px minmax(0,1fr)}
  .co__nav .co__btn{display:none}
  .co__nav{border-top:0;padding-top:0;margin-top:.8rem}
  .co__btn--pay{min-width:0}
  .co__mbar{display:flex;position:fixed;z-index:60;left:10px;right:10px;bottom:10px;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .6rem .6rem 1rem;border-radius:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 0 0 1px #ecdcc0,0 18px 40px -14px rgba(74,42,18,.6)}
  .co__mbar small{display:block;color:var(--muted);font-size:.72rem;font-weight:700}
  .co__mbar b{font-size:1.25rem;font-weight:800}
  .co__mbar .co__btn{padding:.85rem 1.2rem}
  .is-checkout .wa-float{bottom:92px}
  .ctk__img{height:120px}
  .cdone__actions .co__btn{flex:1 1 100%}
}
@media print{.hdr,.ftr,.wa-float,.mbar,.co__mbar,.cs,.cdone__actions,.cdone__next{display:none!important}.co{padding:0;background:#fff}}

/* =========================================================
   TYPOGRAPHY v4 — refined: Jost (headings, medium) + Manrope
   smaller, lighter headings across the site
   ========================================================= */
:root{--f-display:"Jost","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--f-serif:var(--f-display)}
h1,h2,h3,h4,.h2s{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;text-transform:none}
h1 em,h2 em,h3 em{font-weight:500}
h3{font-weight:500}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.9rem);line-height:1.08;letter-spacing:-.015em;font-weight:500}
.phero h1{font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1.1}
.dhero h1,.bookhero h1,.confirm h1{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.12}
.ahero h1{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.15}
.sec__head h2,.route h2,.about h2,.lux__title h2{font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.18}
.cta h2{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.12}
.cta--slim h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.bfeature h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.prose h2,.h2s{font-size:clamp(1.3rem,2.1vw,1.6rem)}
.tp__head h1,.co__top h1,.cdone__head h1{font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.18;font-weight:500}
.tp__sec h2{font-size:1.25rem}
.co__card h2{font-size:1.15rem;font-weight:500}
.cdone__next h2{font-size:1.15rem}
.lux--compact .lux__title h2{font-size:1.4rem}
.pcard h3,.pcard--v2 h3{font-size:1.12rem;font-weight:500}
.bcard h3{font-size:1.1rem;font-weight:500}
.lux__num{font-weight:500}
.tkt__name,.ctk__body h3{font-weight:500}
.pnote h3{font-size:1.35rem}.summary h3{font-size:1.2rem}.sidecard--sun h3{font-size:1.3rem}.cform h2{font-size:1.5rem}
.price b{font-family:var(--f-body);font-weight:700}
@media (max-width:700px){
  .hero h1{font-size:clamp(1.9rem,8vw,2.5rem)}
  .sec__head h2,.route h2,.about h2,.lux__title h2{font-size:1.5rem}
  .tp__head h1,.co__top h1,.cdone__head h1{font-size:1.5rem}
}
.hero h1{font-size:clamp(2rem,4vw,3.4rem);max-width:18ch}

/* lightbox — mobile fix (thumb strip was widening the dialog) */
.lb{grid-template-columns:minmax(0,1fr);width:100vw;max-width:100%;overflow:hidden;background:#0b0907}
.lb>*{min-width:0}
.lb__stage{width:100%;padding:0 .6rem}
.lb__stage img{max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 210px)}
.lb__thumbs{position:relative;justify-content:flex-start;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.lb__thumbs::-webkit-scrollbar{display:none}
.lb__thumbs img{scroll-snap-align:center}
.lb__thumbs img:first-child{margin-inline-start:auto}.lb__thumbs img:last-child{margin-inline-end:auto}
@media(max-width:700px){
  .lb__top{padding:.8rem 1rem}
  .lb__prev,.lb__next{width:42px!important;height:42px!important;background:rgba(0,0,0,.45)!important}
  .lb__prev{left:.9rem}.lb__next{right:.9rem}
  .lb__stage img{border-radius:10px;max-height:calc(100dvh - 190px)}
  .lb__cap{padding:.7rem 1rem 1rem;font-size:.92rem}
  .lb__thumbs img{width:56px;height:40px}
}
.wa-float,.wa-float:hover{text-decoration:none!important}
.wa-float i.ic{display:block;line-height:1}
a .fa-brands{display:inline-block;text-decoration:none}

/* ===== Reviews v3 — clean slider (light) ===== */
.sec--lux{background:linear-gradient(180deg,#fbf6ee,#f6eee1)!important;color:var(--ink)}
.rvw{position:relative}
.rvw__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem;flex-wrap:wrap;margin-bottom:1.8rem}
.rvw__head h2{margin:.35rem 0 0}
.rvw__side{display:flex;align-items:center;gap:1rem}
.rvw__badge{display:flex;align-items:center;gap:.8rem;padding:.6rem 1.1rem .6rem .65rem;border-radius:999px;background:#fff;border:1px solid rgba(60,40,20,.1);box-shadow:0 10px 30px -18px rgba(60,40,20,.35);text-decoration:none;color:var(--ink)}
.rvw__badge-g{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.rvw__badge-row{display:flex;align-items:center;gap:.45rem}
.rvw__badge-row b{font-size:1.35rem;font-weight:600;line-height:1}
.rvw__badge small{display:block;font-size:.8rem;color:#7a6a58;margin-top:.15rem}
.rvw .stars{color:#e3dccf;font-size:.98rem;letter-spacing:.04em}
.rvw .stars__on{color:#f5b301}
.rvw__nav{display:flex;gap:.5rem}
.rvw__nav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(60,40,20,.16);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.2s}
.rvw__nav button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rvw__nav button:first-child .ic{transform:rotate(180deg)}
.rvw__nav .ic{width:18px;height:18px}
.rvw__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 22px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rvw__track::-webkit-scrollbar{display:none}
.rvw__c{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;display:flex;flex-direction:column;gap:.85rem;padding:1.35rem 1.35rem 1.15rem;border-radius:20px;background:#fff;border:1px solid rgba(60,40,20,.08);box-shadow:0 18px 40px -30px rgba(60,40,20,.45);min-width:0;box-sizing:border-box}
.rvw__top{display:flex;align-items:center;justify-content:space-between}
.rvw__g{display:grid;place-items:center}
.rvw__txt p{margin:0;font-size:.97rem;line-height:1.62;color:#3b3127;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rvw__txt.is-open p{-webkit-line-clamp:unset;display:block}
.rvw__more{margin-top:.35rem;padding:0;border:0;background:none;color:#1a73e8;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.rvw__pics{display:flex;gap:6px}
.rvw__pics a{width:60px;height:60px;border-radius:10px;overflow:hidden;display:block;flex:none}
.rvw__pics img{width:100%;height:100%;object-fit:cover}
.rvw__who{margin-top:auto;display:flex;align-items:center;gap:.7rem;padding-top:.9rem;border-top:1px solid rgba(60,40,20,.08)}
.rvw__who>div{min-width:0;flex:1}
.rvw__who b{display:block;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvw__who small{display:block;color:#8a7b69;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvw__av{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none}
.rvw__av--i{display:grid;place-items:center;color:#fff;font-weight:600}
.rvw__src{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#8a7b69;flex:none;transform:rotate(-45deg)}
.rvw__src:hover{color:#1a73e8}
.rvw__src .ic{width:16px;height:16px}
.rvw__prog{height:3px;border-radius:3px;background:rgba(60,40,20,.1);overflow:hidden;max-width:220px;margin:0 auto}
.rvw__prog i{display:block;height:100%;width:20%;border-radius:3px;background:var(--ink);transition:transform .35s,width .35s}
.rvw__foot{display:flex;justify-content:center;align-items:center;gap:.7rem;margin-top:1.3rem;flex-wrap:wrap;font-size:.92rem}
.rvw__foot a{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);font-weight:600;text-decoration:none}
.rvw__foot a:hover{text-decoration:underline}
.rvw__foot span{color:#b9a891}
.rvw--compact .rvw__head h2{font-size:1.5rem}
.rvw--compact .rvw__c{flex-basis:calc((100% - 18px)/2)}
@media(max-width:1000px){.rvw__c{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:700px){
  .rvw__head{align-items:flex-start;margin-bottom:1.2rem}
  .rvw__side{width:100%;justify-content:space-between}
  .rvw__nav{display:none}
  .rvw__badge{padding:.5rem .95rem .5rem .5rem}
  .rvw__track,.rvw--compact .rvw__track{gap:12px;margin:0 -16px;padding:4px 16px 18px;scroll-padding:0 16px}
  .rvw__c,.rvw--compact .rvw__c{flex-basis:84%;padding:1.15rem}
}

/* ===== Gallery — mobile slider ===== */
.gsl{display:none}
@media(max-width:700px){
  .gal .tabs--filter{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:999px;padding:5px;gap:4px;margin:0 -16px 1rem;border-radius:0;background:transparent;box-shadow:none;padding:0 16px 4px}
  .gal .tabs--filter::-webkit-scrollbar{display:none}
  .gal .tabs--filter button{flex:none;white-space:nowrap;padding:.55rem 1rem;border-radius:999px;background:#fff;border:1px solid rgba(60,40,20,.1);font-size:.92rem}
  .gal .tabs--filter button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .gal.has-gsl .masonry{display:none}
  .gsl{display:block;margin:0 -16px}
  .gsl__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;padding:0 16px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch}
  .gsl__track::-webkit-scrollbar{display:none}
  .gsl__s{position:relative;flex:0 0 100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;scroll-snap-align:center;background:#2a2119;box-shadow:0 20px 40px -24px rgba(40,25,10,.6)}
  .gsl__s img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 4s ease-out}
  .gsl__s.is-on img{transform:scale(1)}
  .gsl__cap{position:absolute;inset:auto 0 0;padding:3.2rem 1.1rem 1.1rem;background:linear-gradient(transparent,rgba(12,9,6,.82));color:#fff;font-weight:600;font-size:1rem;line-height:1.3}
  .gsl__cap em{display:block;font-style:normal;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sun,#f5c518);margin-bottom:.25rem}
  .gsl__zoom{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff}
  .gsl__zoom svg{width:18px;height:18px}
  .gsl__bar{display:flex;align-items:center;gap:.8rem;padding:.9rem 16px .7rem}
  .gsl__count{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;min-width:4.6em}
  .gsl__prog{flex:1;height:3px;border-radius:3px;background:rgba(60,40,20,.14);overflow:hidden}
  .gsl__prog i{display:block;height:100%;width:0;background:var(--ink)}
  .gsl.is-playing .gsl__prog i{animation:gslFill var(--gsl-ms,3800ms) linear forwards}
  .gsl__pp{width:36px;height:36px;border-radius:50%;border:1px solid rgba(60,40,20,.18);background:#fff;display:grid;place-items:center;color:var(--ink);padding:0}
  .gsl__pp svg{width:14px;height:14px}
  .gsl__thumbs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 16px 4px;scroll-behavior:smooth;position:relative}
  .gsl__thumbs::-webkit-scrollbar{display:none}
  .gsl__thumbs button{flex:none;width:60px;height:60px;padding:0;border:0;border-radius:12px;overflow:hidden;opacity:.5;transition:opacity .25s,transform .25s;background:#2a2119}
  .gsl__thumbs button.is-on{opacity:1;outline:2px solid var(--ink);outline-offset:2px}
  .gsl__thumbs img{width:100%;height:100%;object-fit:cover}
  /* page hero under the fixed header */
  .phero{padding-top:7.5rem}
}
@keyframes gslFill{from{width:0}to{width:100%}}
@media(max-width:700px){.rvw__who small{white-space:normal;line-height:1.35}}

/* ===== Videos in the gallery ===== */
.playbadge{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#14110d;box-shadow:0 10px 30px rgba(0,0,0,.35);pointer-events:none;z-index:2;transition:transform .3s}
.playbadge svg{width:26px;height:26px;margin-left:4px}
.masonry__i--video:hover .playbadge{transform:scale(1.1)}
.lb__video{max-width:min(94vw,1600px);max-height:78vh;width:auto;border-radius:6px;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb__stage img[hidden],.lb__video[hidden]{display:none}
@media(max-width:700px){
  .lb__video{max-width:100%;max-height:calc(100dvh - 190px);border-radius:10px}
  .gsl__s video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
  .gsl__s--video img{visibility:hidden}
  .gsl__s .playbadge{width:56px;height:56px;margin:-28px 0 0 -28px}
  .gsl__s .gsl__cap,.gsl__s .gsl__zoom{z-index:3}
}
.hero__slide--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gsl__s--video.is-on .playbadge{opacity:0;transition:opacity .4s}

/* gallery grid in reading order (newest photos first, left to right) */
@media(min-width:701px){
  .gal .masonry{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:14px}
  .gal .masonry__i{margin:0;aspect-ratio:4/3}
  .gal .masonry__i img{width:100%;height:100%;object-fit:cover}
  .gal .masonry__i:not(.is-hidden):first-child{grid-column:span 2;grid-row:span 2}
}
@media(min-width:701px) and (max-width:1000px){.gal .masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Printable booking voucher (A4) ===== */
.pv{display:none}
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important}
  .is-checkout .hdr,.is-checkout .ftr,.is-checkout .co,.is-checkout .wa-float,.is-checkout .mnav,.is-checkout .topbar{display:none!important}
  .is-checkout main,.is-checkout #main,.is-checkout .page{padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important}
  .pv{display:block!important;color:#14110d;font:10.5pt/1.45 Manrope,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pv *{box-sizing:border-box}
  .pv__head{display:flex;align-items:center;gap:14px;padding-bottom:10px;border-bottom:2px solid #14110d}
  .pv__logo{width:92px;height:auto}
  .pv__title{flex:1}
  .pv__title span{display:block;font-size:8.5pt;letter-spacing:.16em;text-transform:uppercase;color:#7d7468;font-weight:700}
  .pv__title b{font:700 19pt/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.03em}
  .pv__status{padding:5px 12px;border-radius:99px;border:1.5px solid #c99a3b;color:#8a5a00;font-weight:700;font-size:9pt;text-transform:uppercase;letter-spacing:.06em}
  .pv__status.is-ok{border-color:#15803d;color:#15803d}
  .pv__trip{display:flex;gap:14px;align-items:center;margin:14px 0;padding:12px;border:1px solid #e6dccb;border-radius:12px;background:#fbf7f0}
  .pv__trip img{width:150px;height:96px;object-fit:cover;border-radius:8px;flex:none}
  .pv__kicker{font-size:8.5pt;letter-spacing:.12em;text-transform:uppercase;color:#b4502a;font-weight:700}
  .pv__trip h1{font:700 16pt/1.2 Jost,Manrope,Arial,sans-serif;margin:3px 0 4px}
  .pv__trip p{margin:0;color:#4a4339}
  .pv__grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e6dccb;border-radius:12px;overflow:hidden}
  .pv__item{padding:9px 12px;border-right:1px solid #eee5d6;border-bottom:1px solid #eee5d6}
  .pv__item:nth-child(3n){border-right:0}
  .pv__item:nth-last-child(-n+3){border-bottom:0}
  .pv__item span{display:block;font-size:7.5pt;letter-spacing:.1em;text-transform:uppercase;color:#7d7468;font-weight:700}
  .pv__item b{font-weight:700;font-size:10pt;word-break:break-word}
  .pv__row{display:flex;gap:16px;margin-top:14px;align-items:stretch}
  .pv__price{flex:1;border:1px solid #e6dccb;border-radius:12px;padding:10px 14px}
  .pv__price h2,.pv__info h3{font:700 9pt Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7d7468;margin:0 0 6px}
  .pv__price table{width:100%;border-collapse:collapse}
  .pv__price td{padding:5px 0;border-bottom:1px solid #f0e8da}
  .pv__price td:last-child{text-align:right;font-weight:600}
  .pv__total td{border-bottom:0;padding-top:8px;font-size:13pt;font-weight:800!important}
  .pv__pay{margin:6px 0 0;font-size:9.5pt}
  .pv__qr{width:170px;flex:none;border:1px solid #e6dccb;border-radius:12px;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
  .pv__qr svg{width:132px;height:132px}
  .pv__qr small{font-size:7.5pt;color:#7d7468;line-height:1.3}
  .pv__info{margin-top:14px}
  .pv__note{margin:0 0 10px;padding:9px 12px;border-left:4px solid #f5b800;background:#fff8e1;font-weight:600}
  .pv__cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .pv__cols p{margin:0;color:#4a4339;font-size:9.5pt}
  .pv__foot{margin-top:16px;padding-top:9px;border-top:1px dashed #cbbfa9;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-size:8.5pt;color:#7d7468}
  .pv a{color:inherit;text-decoration:none}
}

/* ===== Home: video section ===== */
.vids__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
.vids__main{position:relative;border-radius:22px;overflow:hidden;background:#14110d;aspect-ratio:16/9;box-shadow:0 30px 60px -30px rgba(40,25,10,.55)}
.vids__main video{width:100%;height:100%;object-fit:cover;display:block;background:#14110d}
.vids__play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:#14110d;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 10px rgba(255,255,255,.22),0 20px 40px rgba(0,0,0,.35);transition:transform .25s}
.vids__play:hover{transform:scale(1.07)}
.vids__play svg{width:32px;height:32px;margin-left:5px}
.vids.is-playing .vids__play{opacity:0;pointer-events:none}
.vids__list{display:grid;gap:10px}
.vids__ch{display:flex;gap:12px;align-items:center;text-align:left;padding:8px;border:1px solid rgba(60,40,20,.1);border-radius:14px;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s}
.vids__ch:hover{border-color:rgba(60,40,20,.25)}
.vids__ch.is-on{border-color:var(--sun-2,#f08a12);box-shadow:0 0 0 2px rgba(240,138,18,.18)}
.vids__th{position:relative;width:96px;flex:none;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#2a2119}
.vids__th img{width:100%;height:100%;object-fit:cover;display:block}
.vids__th svg{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;padding:6px 5px 6px 7px;border-radius:50%;background:rgba(255,255,255,.9);color:#14110d;box-sizing:content-box}
.vids__tx b{display:block;font-weight:600;font-size:.95rem;line-height:1.3}
.vids__tx small{color:#8a7b69;font-size:.8rem}
@media(max-width:900px){.vids__grid{grid-template-columns:minmax(0,1fr)}.vids__list{grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px}.vids__list::-webkit-scrollbar{display:none}.vids__ch{scroll-snap-align:start}.vids__main{border-radius:16px}.vids__play{width:68px;height:68px;margin:-34px 0 0 -34px}}
