/* ==========================================================================
   Rising Journey Expeditions — light theme
   Loaded last (after style.css and home.css), so everything here wins.
   Morning-light palette: white paper, acacia-mist sage, dawn sand, the brand's deep
   green for text, and the sunrise gold from the logo for buttons and accents.
   To go back to the old dark look, remove the light.css <link> in includes/header.php.
   ========================================================================== */

@font-face{font-family:'Yellowtail';src:url('../fonts/Yellowtail-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}

:root{
  /* handwritten accent font, used for every small line above a heading across the site.
     Brush Script MT on Windows/Mac; Yellowtail (a close brush script, hosted on this site) everywhere else. */
  --font-script:'Brush Script MT','Brush Script Std','Yellowtail',cursive;
  /* layout + spacing rule (used everywhere) */
  --content:1100px;
  --gutter:1.5rem;
  --space-section:clamp(3.5rem, 6.5vw, 5.5rem);   /* top/bottom of every section */
  --space-head:2.5rem;                            /* section heading → content */
  --space-block:1.5rem;                           /* between blocks inside a section */
  --paper:#FFFFFF;
  --mist:#EEF2EA;          /* acacia mist — soft sage band */
  --mist-2:#E3EADF;
  --dawn:#F7F1E6;          /* dawn sand — warm band */
  --sea:#E6F2EF;           /* Zanzibar sea glass */
  --sea-ink:#0B5C5E;
  --ink:#1B3022;           /* brand deep green */
  --ink-soft:#3B4A3F;
  --muted:#5E6B5F;
  --gold:#C5A059;          /* logo sunrise gold — buttons, rules, icons */
  --gold-ink:#8A6627;      /* darker gold for small text on white (passes contrast) */
  --line:#E4E0D5;
  --line-soft:#EDEAE2;
  --shadow:0 18px 40px -24px rgba(27,48,34,.28);

  /* re-point the old tokens so every existing rule turns light */
  --sand:var(--paper);
  --cream:var(--paper);
  --rust:var(--gold-ink);
  --green-100:var(--mist);
}

body{background:var(--paper);color:var(--ink);}
.eyebrow,.eyebrow.on-dark{color:var(--gold-ink) !important;}
.section-head p,.muted{color:var(--muted);}

/* buttons ------------------------------------------------------------ */
.btn{background:var(--gold);color:var(--ink);}
.btn:hover{background:#B38D45;}
.btn.dark{background:var(--ink);color:#fff;}
.btn.dark:hover{background:#274539;}
.btn.outline{background:transparent;color:var(--ink);border:1px solid rgba(27,48,34,.35);}
.btn.outline:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* top bar + header --------------------------------------------------- */
.topbar{background:var(--mist);color:var(--ink-soft);border-bottom:1px solid var(--mist-2);}
.topbar a:hover{color:var(--gold-ink);}
.topbar__note{color:var(--gold-ink);}

.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);}
.main-nav a{color:var(--ink);}
.main-nav a:hover{color:var(--gold-ink);}
.header-actions .btn-text{color:var(--ink-soft);font-size:.9rem;font-weight:500;}
.header-actions .btn-text:hover{color:var(--gold-ink);}
.nav-toggle{color:var(--ink);}
.dropdown{border:1px solid var(--line);box-shadow:var(--shadow);}
.dropdown a:hover{background:var(--mist);color:var(--ink);}
@media (max-width:900px){
  .main-nav{background:var(--paper);}
  .main-nav a{border-bottom:1px solid var(--line-soft);}
}

/* homepage hero: photo stays, a morning-mist veil replaces the dark overlay ---- */
.h-hero{background:var(--dawn);color:var(--ink);}
.h-hero__slides::after{
  background:
    linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.86) 30%, rgba(255,255,255,.35) 56%, rgba(255,255,255,0) 74%),
    linear-gradient(0deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 30%);
}
.h-hero h1{color:var(--ink);}
.h-hero__lead{color:var(--ink-soft);}
.h-kicker{color:var(--gold-ink);}
.h-kicker::before{background:var(--gold);}
.h-hero__dots button{background:rgba(27,48,34,.25);}
.h-hero__dots button.is-active{background:var(--gold);}
.tf-card{box-shadow:0 28px 60px -26px rgba(27,48,34,.45);border:1px solid var(--line-soft);}
.tf-pill{background:var(--mist);}
.tf-submit,.btn.tf-submit{background:var(--ink);color:#fff;}
.tf-submit:hover{background:#274539;}
.ph--hero{background:linear-gradient(120deg,var(--dawn),var(--mist));}

@media (max-width:600px){
  .h-hero__slides::after{
    background:linear-gradient(0deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.9) 55%, rgba(255,255,255,.7) 100%);
  }
}

/* inner-page hero (Tours, Destinations, About, Contact, Terms…) ------- */
.page-hero{background:var(--mist);color:var(--ink);padding:4.5rem 0 3rem;border-bottom:1px solid var(--mist-2);overflow:hidden;}
.page-hero img.bg{opacity:.16;}
.page-hero h1{color:var(--ink);}
.page-hero p{color:var(--ink-soft);}

/* old-style homepage hero (kept for any page that still uses .hero) */
.hero{background:var(--dawn);}
.hero::after{background:linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.55) 55%, rgba(255,255,255,0));}
.hero-content,.hero-content h1{color:var(--ink);}
.hero-content p{color:var(--ink-soft);}

/* tour / destination detail heroes keep a photo with a short shade at the bottom
   so the white title stays readable; without a photo they turn light */
.detail-hero{background:var(--mist);}
.detail-hero::after{background:linear-gradient(0deg, rgba(20,36,26,.78) 0%, rgba(20,36,26,.25) 45%, rgba(20,36,26,0) 75%);}
.detail-hero:not(:has(img))::after{display:none;}
.detail-hero:not(:has(img)) .container{color:var(--ink);}
.detail-hero:not(:has(img)) h1{color:var(--ink);}
.detail-hero:not(:has(img)) .cat-tag{color:var(--gold-ink);}
.detail-hero .cat-tag{color:#F1D9A6;}

/* placeholders where no photo is uploaded yet: light contour lines ----- */
.ph,.ph--dark{
  background:
    radial-gradient(circle at 28% 35%, rgba(197,160,89,.20), transparent 55%),
    repeating-radial-gradient(circle at 72% 62%, rgba(27,48,34,.07) 0 1px, transparent 1px 24px),
    var(--mist);
}
.ph i{color:var(--gold-ink);opacity:.5;}
.dest-tile,.film-tile{background:var(--mist-2);}

/* cards ---------------------------------------------------------------- */
.tour-card,.stay,.review,.contact-card,.sidebar-card{border-color:var(--line);}
.tour-card .badge-cat{background:rgba(255,255,255,.92);color:var(--ink);font-weight:600;}
.tour-card:hover,.stay:hover{box-shadow:var(--shadow);}
.chip{background:var(--paper);}
.chip.active,.chip:hover{background:var(--ink);border-color:var(--ink);color:#fff;}

/* trust band ----------------------------------------------------------- */
.trust{color:var(--ink);background:var(--mist);border-bottom:1px solid var(--mist-2);}
.trust__stats > div{background:var(--paper);border:1px solid var(--line-soft);box-shadow:0 14px 30px -24px rgba(27,48,34,.35);
  -webkit-backdrop-filter:none;backdrop-filter:none;}
.trust__stats > div:hover{background:var(--paper);}
.trust__stats .icon{background:var(--dawn);color:var(--gold-ink);}
.trust__stats dd{color:var(--ink);}
.trust__stats dt{color:var(--muted);}
.trust__badges{border-top-color:var(--mist-2);}
.trust__badges p{color:var(--muted);}
.trust__badges a,.trust__badges span{color:var(--ink);background:var(--paper);border-color:var(--line);}
.trust__badges a i,.trust__badges span i{color:var(--gold-ink);}
.trust__badges a:hover{background:var(--dawn);border-color:var(--gold);}
.trust__ticker{background:var(--paper);border-top:1px solid var(--mist-2);}
.trust__ticker-item{color:var(--ink-soft);}
.trust__ticker-item i,.trust__ticker-item strong{color:var(--gold-ink);}

/* intro + text --------------------------------------------------------- */
.prose-home p{color:var(--ink-soft);}
.prose-home a,.text-link{color:var(--ink);}
.ticks li::before{border-color:var(--gold);}
.intro__media::after{border-color:var(--gold);}

/* destinations band ---------------------------------------------------- */
.dests-home{background:var(--dawn);border-color:#ECE3D2;}
.dest-tile::after{background:linear-gradient(0deg, rgba(20,36,26,.72) 0%, rgba(20,36,26,0) 58%);}
.dest-tile:has(.ph)::after{background:linear-gradient(0deg, rgba(20,36,26,.55) 0%, rgba(20,36,26,0) 55%);}
.dest-tile__label small{color:#F1D9A6;}

/* Kilimanjaro band: was dark green, now light sage -------------------- */
.band--dark{background:var(--mist);color:var(--ink-soft);}
.band--dark h2{color:var(--ink);}
.band--dark .feature-list strong{color:var(--ink);}
.band--dark .feature-list span{color:var(--muted);}
.band--dark .feature-list i{border-color:var(--gold);color:var(--gold-ink);background:var(--paper);}
.band--dark .route-picker{border-top-color:var(--mist-2);}
.band--dark .route-picker__intro{color:var(--muted);}
.band--dark .route-tab{color:var(--ink);background:var(--paper);border-color:var(--line);}
.band--dark .route-tab:hover{border-color:var(--gold);color:var(--ink);}
.band--dark .route-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.band--dark .route-picker__panels{background:var(--paper);border-color:var(--line-soft);box-shadow:0 18px 40px -30px rgba(27,48,34,.35);}
.band--dark .route-panel__stats{border-bottom-color:var(--line);}
.band--dark .rp-label{color:var(--muted);}
.band--dark .rp-value{color:var(--gold-ink);}
.band--dark .route-panel p{color:var(--ink-soft);}

/* Zanzibar band: sea glass instead of deep teal ----------------------- */
.band--ocean{background:var(--sea);color:var(--ink-soft);}
.band--ocean h2{color:var(--sea-ink);}
.band--ocean .eyebrow{color:var(--sea-ink) !important;}
.band--ocean .feature-list strong{color:var(--ink);}
.band--ocean .feature-list span{color:var(--muted);}
.band--ocean .feature-list i{border-color:rgba(11,92,94,.35);color:var(--sea-ink);background:var(--paper);}
.band--ocean .btn.outline{color:var(--sea-ink);border-color:rgba(11,92,94,.4);}
.band--ocean .btn.outline:hover{background:var(--sea-ink);color:#fff;}

.float-card{box-shadow:0 18px 40px -22px rgba(27,48,34,.4);}

/* migration tracker / stays / reviews / guides ----------------------- */
.tracker{background:var(--paper);}
.now-pill{background:var(--ink);}
.stay__level{background:var(--paper);color:var(--ink);}
.tags li{background:var(--paper);color:var(--ink-soft);}
.reviews{background:var(--mist);border-color:var(--mist-2);}
.review{background:var(--paper);}
.act-card{box-shadow:0 14px 30px -22px rgba(27,48,34,.4);}

/* CTA band ------------------------------------------------------------- */
.cta-band{background:var(--dawn);color:var(--ink);border-top:1px solid #ECE3D2;border-bottom:1px solid #ECE3D2;}
.cta-band h2{color:var(--ink);}
.cta-band p{color:var(--ink-soft);}

/* modals --------------------------------------------------------------- */
.modal{background:var(--paper);}
.modal::backdrop{background:rgba(27,48,34,.35);}
.modal__x{background:var(--mist);}
.route-list li.is-now{background:var(--mist);}
.sent-note{background:var(--mist);color:var(--ink);}

/* forms ---------------------------------------------------------------- */
.form-field input,.form-field select,.form-field textarea{border-color:#D9D4C7;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);outline:2px solid rgba(197,160,89,.3);outline-offset:0;}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline-color:var(--gold-ink);}

/* sections still waiting for photos: keep the placeholder light instead of a grey shade */
.stay__img:has(.ph)::after{display:none;}
.act-card__img:has(.ph)::after{background:linear-gradient(0deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 55%);}
.act-card:has(.ph) .act-card__label{color:var(--ink);}
.dest-tile:has(.ph)::after{background:linear-gradient(0deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 60%);}
.dest-tile:has(.ph) .dest-tile__label{color:var(--ink);}
.dest-tile:has(.ph) .dest-tile__label small{color:var(--gold-ink);}
.dest-tile:has(.ph) .dest-tile__label em{color:var(--ink-soft);}


/* ==========================================================================
   Layout + spacing rule: content is 1100px wide everywhere; every section uses
   the same vertical padding and the same gap under its heading.
   ========================================================================== */
.container{max-width:calc(var(--content) + 2 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter);}
.site-header .container,.topbar .container{padding-left:var(--gutter);padding-right:var(--gutter);}
.section{padding:var(--space-section) 0;}
.section-head{margin-bottom:var(--space-head);}
.cta-band{padding:var(--space-section) 0;}

/* ==========================================================================
   Footer — clean four-column layout, contact strip, light sand
   ========================================================================== */
.site-footer{background:var(--dawn);color:var(--ink-soft);border-top:1px solid #ECE3D2;padding:4rem 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;align-items:start;}
.footer-brand p{color:var(--muted);font-size:.92rem;line-height:1.65;max-width:30ch;margin:1rem 0 1.3rem;}
.site-footer .brand-logo{display:inline-block;}
.site-footer .brand-logo img{margin:0;}
.site-footer h4{color:var(--ink);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:0 0 1.1rem;}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.footer-links a{display:inline;padding:0;color:var(--ink-soft);font-size:.92rem;}
.footer-links a:hover{color:var(--gold-ink);}
.social-row{display:flex;gap:.55rem;margin:0;}
.social-row a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(27,48,34,.18);display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--paper);transition:background .15s,color .15s,border-color .15s;}
.social-row a svg{width:17px;height:17px;fill:currentColor;}
.social-row a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

.footer-mid{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;
  margin-top:3rem;padding:1.8rem 0;border-top:1px solid #E6DCC9;border-bottom:1px solid #E6DCC9;}
.footer-contact{list-style:none;margin:0;padding:0;display:flex;gap:2.6rem;flex-wrap:wrap;}
.footer-contact li{display:flex;flex-direction:column;gap:.2rem;}
.footer-contact span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gold-ink);}
.footer-contact a,.footer-contact em{font-style:normal;color:var(--ink);font-weight:500;font-size:.95rem;}
.footer-contact a:hover{color:var(--gold-ink);}
.footer-news{flex:0 1 380px;}
.site-footer .footer-news__title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--ink);}
.site-footer .newsletter{display:flex;margin:0;border:1px solid #D9D0BE;background:var(--paper);border-radius:2px;overflow:hidden;}
.site-footer .newsletter input[type=email]{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:.75rem .9rem;font:inherit;font-size:.9rem;}
.site-footer .newsletter input::placeholder{color:#8C8F86;}
.site-footer .newsletter .btn{border-radius:0;padding:.7rem 1.1rem;font-size:.85rem;}
.newsletter__ok{color:var(--sea-ink) !important;margin:.5rem 0 0;font-size:.85rem;}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0;padding:1.3rem 0 1.6rem;border:0;font-size:.82rem;color:var(--muted);}
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}
@media (max-width:600px){
  .site-footer{padding-top:3rem;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
  .footer-contact{gap:1.2rem;flex-direction:column;}
  .footer-news{flex-basis:100%;}
  .footer-bottom{flex-direction:column;gap:.3rem;}
}

/* side tab: vertical "Find your safari" on the right edge (desktop) */
.side-tab{position:fixed;right:0;top:50%;z-index:60;transform:translateY(-50%);writing-mode:vertical-rl;
  background:var(--gold);color:var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:1.1rem .6rem;border-radius:4px 0 0 4px;box-shadow:0 8px 20px -10px rgba(27,48,34,.5);transition:background .15s,padding .15s;}
.side-tab:hover{background:#B38D45;padding-right:.85rem;}
@media (max-width:900px){.side-tab{display:none;}}

/* ==========================================================================
   Reviews — header with link, star rating, initials avatar, source pill
   ========================================================================== */
.reviews{background:var(--mist);border:0;}
.reviews__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:var(--space-head);}
.reviews__head h2{margin:.2rem 0 .4rem;}
.reviews__head p{margin:0;color:var(--muted);max-width:52ch;}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.review-grid--1{grid-template-columns:minmax(0,720px);justify-content:center;}
.review-grid--2{grid-template-columns:repeat(2,1fr);}
.review{position:relative;margin:0;background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:2rem 1.8rem 1.6rem;
  display:flex;flex-direction:column;box-shadow:0 18px 40px -32px rgba(27,48,34,.45);transition:transform .2s ease, box-shadow .2s ease;}
.review:hover{transform:translateY(-3px);box-shadow:0 24px 44px -30px rgba(27,48,34,.5);}
.review::before{content:'\201C';position:absolute;top:.6rem;right:1.4rem;font-family:var(--font-serif);font-size:4.6rem;line-height:1;color:var(--gold);opacity:.28;}
.review__stars{color:var(--gold);letter-spacing:.12em;font-size:.95rem;margin-bottom:1rem;}
.review__stars span{color:rgba(27,48,34,.18);}
.review__stars--lg{font-size:1.3rem;margin-bottom:.8rem;}
.review blockquote{flex:1;margin:0 0 1.6rem;font-family:var(--font-serif);font-size:1.04rem;line-height:1.65;color:var(--ink);}
.review blockquote p{margin:0 0 .8rem;}
.review blockquote p:last-child{margin:0;}
.review figcaption{display:flex;align-items:center;gap:.8rem;padding-top:1.2rem;border-top:1px solid var(--line-soft);}
.review__avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--dawn);color:var(--gold-ink);font-weight:700;font-size:.85rem;letter-spacing:.04em;}
.review__who{flex:1;display:flex;flex-direction:column;min-width:0;}
.review__who strong{font-size:.95rem;color:var(--ink);}
.review__who span{font-size:.82rem;color:var(--muted);}
.review__src{font-size:.72rem;font-weight:600;color:var(--sea-ink);background:var(--sea);border-radius:999px;padding:.25rem .65rem;white-space:nowrap;}
.reviews--slim{padding:var(--space-section) 0;}
.reviews__slim{display:block;text-align:center;max-width:620px;margin:0 auto;background:var(--paper);border:1px solid var(--line-soft);
  border-radius:6px;padding:2.6rem 2rem;box-shadow:0 18px 40px -32px rgba(27,48,34,.45);}
.reviews__slim h2{margin:0 0 .5rem;}
.reviews__slim p{margin:0 auto 1.5rem;color:var(--muted);max-width:44ch;}
@media (max-width:900px){.review-grid,.review-grid--2{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.review-grid,.review-grid--2{grid-template-columns:1fr;}.review{padding:1.6rem 1.3rem 1.3rem;}}


/* ==========================================================================
   Handwritten accent — one style for every "eyebrow" line on every page
   (homepage, tours, destinations, about, contact, destination sections)
   ========================================================================== */
.eyebrow,.h-kicker,.dz-eyebrow,.dz-script{
  font-family:var(--font-script);font-weight:400;font-style:normal;text-transform:none;letter-spacing:.01em;
}
.eyebrow,.dz-eyebrow{font-size:clamp(1.45rem,2vw,1.7rem);line-height:1.1;margin-bottom:.35rem;}
.h-kicker{font-size:clamp(1.4rem,2vw,1.6rem);line-height:1.1;}
.dz-script{font-size:clamp(1.8rem,2.6vw,2.15rem);line-height:1.05;color:var(--ink);margin:.2rem 0 1.1rem;}
.dz-hero .dz-eyebrow{font-size:clamp(1.6rem,2.4vw,1.95rem);}

/* ==========================================================================
   Hero overlay strength (set per hero in the admin: Light / Medium / Strong / None)
   The veil sits only behind the text so the photo stays clear.
   ========================================================================== */
.veil-light{--v:.62;} .veil-medium{--v:.8;} .veil-strong{--v:1;} .veil-none{--v:0;}
.h-hero{--v:.55;}
.h-hero__slides::after{
  background:linear-gradient(90deg, rgba(255,255,255,calc(.92*var(--v))) 0%, rgba(255,255,255,calc(.72*var(--v))) 30%, rgba(255,255,255,0) 58%);
}
.h-hero h1,.h-hero__lead,.h-kicker{text-shadow:0 1px 2px rgba(255,255,255,.45),0 0 22px rgba(255,255,255,.65);}
.h-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
@media (max-width:600px){
  .h-hero__slides::after{background:linear-gradient(0deg, rgba(255,255,255,calc(.92*var(--v))) 0%, rgba(255,255,255,calc(.7*var(--v))) 60%, rgba(255,255,255,calc(.45*var(--v))) 100%);}
}
@media (max-width:700px){.sec-bgvideo{display:none;}}

/* ==========================================================================
   Top bar: email + note on the left, currency & language on the right
   ========================================================================== */
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.35rem;padding-bottom:.35rem;flex-wrap:nowrap;}
.topbar__contact{display:flex;align-items:center;gap:1.4rem;min-width:0;}
.topbar__contact .topbar__note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar__tools{display:flex;align-items:center;gap:.4rem;flex-shrink:0;}
.hsw{position:relative;}
.hsw summary{list-style:none;display:flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:999px;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--ink);
  border:1px solid transparent;transition:background .15s,border-color .15s;}
.hsw summary::-webkit-details-marker{display:none;}
.hsw summary:hover,.hsw[open] summary{background:#fff;border-color:var(--mist-2);}
.hsw__sym{min-width:1.6em;color:var(--gold-ink);font-weight:700;}
.hsw__chev{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 .1rem 2px;opacity:.6;}
.hsw__flag{display:inline-flex;width:20px;height:14px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0;}
.hsw__flag svg{width:100%;height:100%;display:block;}
.hsw__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:400;min-width:210px;padding:.4rem;background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 24px 50px -20px rgba(27,48,34,.35);}
.hsw__head{margin:.2rem .6rem .35rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.hsw__menu button,.hsw__lang{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border:0;background:none;border-radius:8px;font:inherit;font-size:.86rem;color:var(--ink);text-align:left;cursor:pointer;}
.hsw__menu button:hover,a.hsw__lang:hover{background:var(--mist);color:var(--ink);}
.hsw__menu button.is-on{background:var(--dawn);font-weight:700;}
.hsw__lang.is-current{font-weight:700;cursor:default;}
.hsw__tick{margin-left:auto;color:var(--gold-ink);}
.hsw__lang.is-soon{cursor:default;color:var(--muted);}
.hsw__lang.is-soon .hsw__flag{filter:saturate(.6);opacity:.75;}
.hsw__soon{margin-left:auto;font-size:.64rem;font-weight:700;letter-spacing:.04em;padding:.12rem .45rem;border-radius:20px;background:var(--dawn);color:var(--gold-ink);white-space:nowrap;}
.hsw__note{margin:.35rem .6rem .25rem;font-size:.7rem;line-height:1.45;color:var(--muted);}
.js-money.is-converted{border-bottom:1px dotted currentColor;}
@media (max-width:700px){
  .topbar .container{justify-content:space-between;text-align:left;}
  .topbar__contact a{display:none;}
  .topbar__contact .topbar__note{display:block !important;font-size:.72rem;}
}

/* ==========================================================================
   Homepage hero: very slight dark overlay, bright white text with a soft shadow
   (strength still set in Homepage → Hero: Light / Medium / Strong / None)
   ========================================================================== */
.h-hero .h-hero__slides::after{
  background:
    linear-gradient(90deg, rgba(8,18,13,calc(.62*var(--v))) 0%, rgba(8,18,13,calc(.36*var(--v))) 45%, rgba(8,18,13,calc(.1*var(--v))) 100%),
    linear-gradient(0deg, rgba(8,18,13,calc(.4*var(--v))) 0%, rgba(8,18,13,0) 42%);
}
.h-hero h1,.h-hero .h-hero__lead{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);}
.h-hero .h-kicker{color:#F6E3B4;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.h-hero .h-kicker::before{background:#F6E3B4;}
.h-hero .btn.outline{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);}
.h-hero .btn.outline:hover{background:#fff;color:var(--ink);border-color:#fff;}
.h-hero__dots button{background:rgba(255,255,255,.45);}
@media (max-width:600px){
  .h-hero .h-hero__slides::after{background:linear-gradient(0deg, rgba(8,18,13,calc(.75*var(--v))) 0%, rgba(8,18,13,calc(.45*var(--v))) 60%, rgba(8,18,13,calc(.25*var(--v))) 100%);}
}

/* ==========================================================================
   Trust facts: a quiet strip at the top of "Who we are"
   ========================================================================== */
.trust-strip{margin:0 0 calc(var(--space-section) * .7);padding:0 0 1.8rem;border-bottom:1px solid var(--line);}
.trust-strip__stats{display:flex;justify-content:space-between;gap:0;margin:0;}
.trust-strip__stats > div{flex:1;text-align:center;padding:.2rem 1rem;border-left:1px solid var(--line);}
.trust-strip__stats > div:first-child{border-left:0;}
.trust-strip__stats dd{margin:0;font-family:var(--font-serif);font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.1;color:var(--ink);}
.trust-strip__stats dt{margin:.3rem 0 0;font-size:.78rem;color:var(--muted);letter-spacing:.02em;}
.trust-strip__links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.55rem;margin:1.3rem 0 0;font-size:.82rem;color:var(--muted);}
.trust-strip__links > span:first-child{font-weight:600;color:var(--ink-soft);}
.trust-strip__links a{color:var(--ink);font-weight:600;border-bottom:1px solid transparent;}
.trust-strip__links a:hover{color:var(--gold-ink);border-bottom-color:var(--gold);}
.trust-strip__links i{font-style:normal;color:var(--gold);}
@media (max-width:700px){
  .trust-strip__stats{flex-wrap:wrap;row-gap:1.2rem;}
  .trust-strip__stats > div{flex:1 1 50%;}
  .trust-strip__stats > div:nth-child(odd){border-left:0;}
}

/* Tripadvisor reviews */
.reviews__aside{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;}
.ta-summary{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;background:var(--paper);border:1px solid var(--line-soft);border-radius:999px;}
.ta-summary__score{font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);line-height:1;}
.ta-summary__count{font-size:.8rem;color:var(--muted);}
.ta-bubbles{display:inline-flex;gap:3px;}
.ta-bubbles i{width:13px;height:13px;border-radius:50%;border:2px solid #00AA6C;}
.ta-bubbles i.is-full{background:#00AA6C;}
.ta-bubbles i.is-half{background:linear-gradient(90deg,#00AA6C 50%,transparent 50%);}
.review__title{margin:0 0 .5rem;font-weight:700;color:var(--ink);font-size:.98rem;}
.review__more{display:inline-block;margin:-.8rem 0 1.2rem;font-size:.8rem;font-weight:600;color:var(--gold-ink);}
.review__more:hover{color:var(--ink);}
.ta-credit{margin:1.2rem 0 0;text-align:center;font-size:.75rem;color:var(--muted);}

/* ==========================================================================
   Header switchers (top bar removed): compact pills beside "Plan your trip";
   on phones they move into the menu as clean chips.
   ========================================================================== */
.topbar{display:none !important;}
.header-prefs{display:flex;align-items:center;gap:.15rem;padding-right:.6rem;margin-right:.2rem;border-right:1px solid var(--line);}
.header-prefs .hsw summary{padding:.4rem .55rem;font-size:.8rem;}
.header-prefs .hsw__menu{top:calc(100% + 12px);}
.nav-prefs{display:none;}
@media (max-width:1100px){
  .header-prefs .hsw__code{display:none;}
  .header-prefs .hsw summary{padding:.4rem .45rem;}
}
@media (max-width:900px){
  .header-prefs{display:none;}
  .nav-prefs{display:block;width:100%;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line);}
  .nav-prefs__row{margin-bottom:1.1rem;}
  .nav-prefs__label{margin:0 0 .55rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
  .nav-prefs__chips,.nav-prefs__langs{display:flex;flex-wrap:wrap;gap:.45rem;}
  .nav-prefs__chips button,.nav-prefs__langs > *{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:999px;
    border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;width:auto !important;}
  .main-nav .nav-prefs__langs a{padding:.5rem .8rem;border-bottom:1px solid var(--line);}
  .nav-prefs__chips button.is-on,.nav-prefs__langs .is-current{background:var(--ink);border-color:var(--ink);color:#F1D9A6;}
  .nav-prefs__langs .is-soon{color:var(--muted);cursor:default;}
  .nav-prefs__langs .is-soon .hsw__flag{opacity:.7;}
  .nav-prefs__langs small{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-ink);}
}
.ta-widget{display:flex;justify-content:center;padding:1.5rem;background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-sm);}
.ta-widget > *{max-width:100%;}
/* phones: a solid header so the slide-in menu can cover the whole screen */
@media (max-width:900px){
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;}
  .main-nav{top:var(--header-h,64px);height:calc(100dvh - var(--header-h,64px));bottom:auto;background:#fff;}
  .header-actions{gap:.6rem;}
}
@media (max-width:900px){
  .main-nav .has-dropdown{width:100%;}
  .main-nav .has-dropdown > a{font-weight:600;}
  .main-nav .dropdown{border:0 !important;box-shadow:none !important;background:none !important;padding:0 0 .4rem 1rem !important;margin:0;min-width:0;width:100%;border-radius:0;}
  .main-nav .dropdown::before{display:none;}
  .main-nav .dropdown a{padding:.55rem 0;font-size:.9rem;color:var(--muted);border-bottom:0;}
  .nav-prefs{padding-bottom:5rem;}
}
