/* ==========================================================================
   Eskapas Tours and Travel — visual language
   1. Tokens  2. Base  3. Layout  4. Header/nav  5. Hero  6. Editorial
   7. Media   8. Forms 9. Footer  10. Motion & responsive
   ========================================================================== */

/* 1. Tokens ------------------------------------------------------------- */
:root{
  /* Eskapas palette: warm cream canvas, brand green for action, acacia gold
     for small accents, warm charcoal for text. Dark green is kept for the
     footer only, so the photography and the cream carry the pages. */
  --forest:#231f20;
  --forest-deep:#1d3b2c;
  --charcoal:#231f20;
  --ivory:#ffffff;
  --canvas:#fbf8f1;
  --cream:#f4ecda;
  --cream-deep:#ebdfc4;
  --sand:#ece1c8;
  --sand-soft:#f4ecda;
  --gold:#c49a45;
  --gold-deep:#8a6322;
  --gold-light:#e4c88c;
  --ochre:#8dc63f;
  --ochre-strong:#006838;
  --ochre-strong-dark:#00502b;
  --ochre-light:#a8db58;
  --ink:var(--charcoal);
  --muted:#6a6252;
  --rule:rgba(92,72,36,.14);
  --rule-light:rgba(244,236,218,.2);
  --card-shadow:0 18px 44px rgba(60,44,16,.08);
  --foot:#13261c;

  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;

  --shell:1280px;
  --gutter:clamp(1.25rem,5vw,4.5rem);
  --section:clamp(3.25rem,7vw,7rem);
}

/* 2. Base --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--sans);font-size:clamp(1rem,.96rem + .18vw,1.0625rem);
  line-height:1.65;font-weight:400;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0 0 .6em;letter-spacing:-.012em;line-height:1.12}
h1{font-size:clamp(2.6rem,1.6rem + 4.4vw,5.1rem);line-height:1.04;letter-spacing:-.022em}
h2{font-size:clamp(1.85rem,1.35rem + 2.1vw,3.05rem)}
h3{font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem)}
h4{font-size:1.0625rem;font-family:var(--sans);font-weight:600;letter-spacing:.005em}
p{margin:0 0 1.15rem;max-width:66ch}
a{color:inherit;text-decoration-color:var(--sand);text-underline-offset:.22em}
a:hover{text-decoration-color:var(--ochre)}
img{max-width:100%;height:auto;display:block}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;z-index:99;background:var(--forest-deep);color:var(--ivory);padding:.75rem 1.25rem}
.skip-link:focus{left:1rem;top:1rem}

/* 3. Layout ------------------------------------------------------------- */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.band{padding-block:var(--section)}
.band--tight{padding-block:calc(var(--section) * .58)}
.band--dark{background:var(--forest-deep);color:var(--ivory)}
.band--dark a{text-decoration-color:var(--rule-light)}
.band--sand{background:var(--sand-soft)}
.rule-top{border-top:1px solid var(--rule)}
.lead{font-family:var(--serif);font-size:clamp(1.2rem,1.05rem + .75vw,1.65rem);line-height:1.5;color:var(--forest);max-width:34ch}
.band--dark .lead{color:var(--sand-soft)}
.prose{max-width:60ch;color:var(--muted)}
.band--dark .prose{color:rgba(245,241,232,.78)}
.split{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.split--even{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-head{display:grid;gap:clamp(1rem,3vw,3rem);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end;margin-bottom:clamp(1.75rem,3vw,2.75rem)}

/* Buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:.9375rem;font-weight:500;
  letter-spacing:.01em;padding:.8rem 1.6rem;border-radius:2px;text-decoration:none;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.btn-solid{background:var(--ochre-strong);color:var(--ivory);border:1px solid var(--ochre-strong)}
.btn-solid:hover{background:var(--ochre-strong-dark);border-color:var(--ochre-strong-dark);color:var(--ivory)}
.btn-line{background:transparent;color:var(--ochre-strong);border:1px solid var(--ochre-strong)}
.btn-line:hover{background:var(--forest-deep);border-color:var(--forest);color:var(--ivory)}
.band--dark .btn-line{color:var(--ochre-light);border-color:var(--ochre-light)}
.band--dark .btn-line:hover{background:var(--ivory);border-color:var(--ivory);color:var(--forest)}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.75rem}
.link-quiet{font-size:.9375rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--sand);padding-bottom:.18rem;transition:border-color .18s ease}
.link-quiet:hover{border-color:var(--ochre)}

/* 4. Header and navigation ---------------------------------------------- */
.site-head{position:fixed;inset:0 0 auto;z-index:50;color:var(--charcoal);
  background:rgba(255,255,255,.97);
  transition:background-color .25s ease,border-color .25s ease,color .25s ease,backdrop-filter .25s ease;
  border-bottom:1px solid var(--rule);
  backdrop-filter:blur(12px)}
.site-head__inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}
.brand{text-decoration:none;display:grid;line-height:1.1}
.brand__name{font-family:var(--serif);font-size:1.0625rem;letter-spacing:.055em;text-transform:uppercase}
.brand__tagline{font-size:.6875rem;letter-spacing:.14em;color:var(--ochre-strong);margin-top:.3rem}
.site-head.is-solid{color:var(--charcoal);background:rgba(255,255,255,1);border-bottom-color:var(--rule);backdrop-filter:none}

.site-head__actions{display:flex;align-items:center;gap:.25rem}

/* Single menu trigger at every breakpoint — logo, search and menu only */
.menu-toggle{display:flex;align-items:center;gap:.6rem;background:none;border:0;
  padding:.65rem .3rem;color:inherit;cursor:pointer;font-family:var(--sans);
  font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase}
.menu-toggle__bars,.menu-toggle__bars::before,.menu-toggle__bars::after{display:block;width:24px;height:1px;
  background:currentColor;content:"";transition:transform .2s ease,opacity .2s ease}
.menu-toggle__bars::before{transform:translateY(-7px)}
.menu-toggle__bars::after{transform:translateY(6px)}
.is-menu-open .menu-toggle__bars{background:transparent}
.is-menu-open .menu-toggle__bars::before{transform:rotate(45deg)}
.is-menu-open .menu-toggle__bars::after{transform:rotate(-45deg) translateY(-1px)}

/* Full-screen menu overlay, used at every breakpoint */
.site-menu{position:fixed;inset:0;z-index:60;background:var(--forest-deep);color:var(--ivory);
  overflow-y:auto;padding-block:calc(84px + 2rem) 3rem}
.site-menu__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.site-menu nav ul{display:grid;gap:.1rem}
.site-menu nav a{display:block;font-family:var(--serif);font-size:clamp(1.9rem,1.5rem + 2vw,3rem);
  padding:.4rem 0;text-decoration:none;border-bottom:1px solid var(--rule-light);opacity:.92}
.site-menu nav a:hover,.site-menu nav a[aria-current=page]{opacity:1;color:var(--ochre-light)}
.site-menu__side{border-top:1px solid var(--rule-light);padding-top:1.75rem;display:grid;gap:1.1rem;
  align-content:start;margin-top:.5rem}
.site-menu__contact{display:grid;gap:.5rem;font-size:.9375rem;color:var(--sand)}
.site-menu__contact a{text-decoration:none}
.site-menu__contact a:hover{color:var(--ivory);text-decoration:underline;text-decoration-color:var(--ochre-light)}

/* 5. Hero --------------------------------------------------------------- */
.hero{position:relative;min-height:min(100svh,880px);display:flex;align-items:flex-end;padding-top:84px;
  color:var(--charcoal);background:var(--sand-soft);overflow:hidden}
.hero--page{min-height:min(74svh,640px)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(247,243,236,.28) 0%,rgba(247,243,236,.43) 45%,rgba(247,243,236,.76) 100%)}
.hero--page{color:var(--ivory)}
.hero--page .hero__media::after { display: none; }
.hero__body{position:relative;padding-block:clamp(3rem,10vh,7rem) clamp(3rem,8vh,5.5rem);width:100%}
.hero h1{max-width:16ch;margin-bottom:1.25rem}
.hero__tagline{font-family:var(--serif);font-style:italic;font-size:1.0625rem;letter-spacing:.02em;color:var(--ochre-strong);margin-bottom:1.4rem}
.hero__statement{max-width:46ch;color:var(--charcoal);font-size:1.0625rem}
.hero--page .hero__statement{color:rgba(247,243,236,.9)}
.hero--page h1{margin-bottom:.75rem}

/* 6. Editorial patterns -------------------------------------------------- */
.feature{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:center;
  padding-block:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--rule)}
.feature:first-of-type{border-top:0}
.feature__media{grid-column:1 / span 7}
.feature__text{grid-column:9 / span 4}
.feature--flip .feature__media{grid-column:6 / span 7;order:2}
.feature--flip .feature__text{grid-column:1 / span 4;order:1}
.feature__text p{color:var(--muted)}

.stack{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}

.entry{border-top:1px solid var(--rule);padding-top:1.4rem}
.band--dark .entry{border-color:var(--rule-light)}
.entry h3{margin-bottom:.45rem}
.entry p{color:var(--muted);font-size:.96875rem;margin-bottom:0}
.band--dark .entry p{color:rgba(245,241,232,.72)}

.group{border-top:1px solid var(--rule);padding-top:1.5rem;margin-bottom:clamp(1.75rem,3.5vw,3rem)}
.group__head h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
.group__head p{color:var(--muted);max-width:46ch}
.group__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 3rem}
.group__list > li{border-top:1px solid var(--rule);padding-top:1rem}
.group__list h3{font-family:var(--sans);font-size:1.0625rem;font-weight:600;margin-bottom:.35rem;letter-spacing:0}
.group__list p{font-size:.9375rem;color:var(--muted);margin:0}

.index-list{border-top:1px solid var(--rule)}
.index-list li{border-bottom:1px solid var(--rule);padding:1.1rem 0;display:flex;justify-content:space-between;gap:1.5rem;align-items:baseline}
.index-list span:last-child{color:var(--muted);font-size:.9375rem}

/* 7. Media -------------------------------------------------------------- */
.media{display:block;position:relative;overflow:hidden;background:var(--sand);}
.media::before{content:"";display:block;padding-top:66%}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.media--tall::before{padding-top:126%}
.media--wide::before{padding-top:52%}
.media--square::before{padding-top:100%}
a.media:hover img,.media-link:hover .media img{transform:scale(1.035)}
.media-link{text-decoration:none;display:block}
.media-link h3{margin:1rem 0 .3rem}
.media-link p{color:var(--muted);font-size:.9375rem;margin:0}
figure{margin:0}
figcaption{font-size:.8125rem;color:var(--muted);margin-top:.6rem}

/* 8. Forms -------------------------------------------------------------- */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.75rem}
.field{display:grid;gap:.45rem}
.field--full{grid-column:1 / -1}
.field label{font-size:.875rem;font-weight:500}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:1rem;color:var(--ink);background:transparent;
  border:0;border-bottom:1px solid var(--rule);padding:.65rem .1rem;border-radius:0;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--forest);outline:none;box-shadow:0 1px 0 var(--forest)}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:.875rem;color:var(--muted);margin-top:1.25rem}
.alert-note{border-left:2px solid var(--ochre);padding:.9rem 1.1rem;background:var(--sand-soft);font-size:.9375rem;margin-bottom:1.75rem}

/* 9. Footer ------------------------------------------------------------- */
.site-foot{background:var(--forest-deep);color:var(--ivory);padding-block:clamp(2.75rem,5.5vw,4.75rem) 2rem}
.site-foot__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,5vw,4rem)}
.site-foot__name{font-family:var(--serif);font-size:1.4rem;margin:0 0 .35rem}
.site-foot__tag{font-style:italic;font-family:var(--serif);color:var(--sand);margin:0 0 1.5rem}
.social-row{display:flex;gap:.85rem}
.social-row a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--rule-light);border-radius:50%;color:var(--sand);text-decoration:none;
  transition:border-color .2s ease,color .2s ease,transform .2s ease}
.social-row a:hover{color:var(--ivory);border-color:var(--ochre);transform:translateY(-2px)}
.social-row a[aria-disabled]{opacity:.55}
.social-row svg{width:17px;height:17px}
.site-foot__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.foot-h{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:var(--sand);margin-bottom:1rem}
.foot-list{display:grid;gap:.55rem;font-size:.9375rem;color:rgba(245,241,232,.8)}
.foot-list a{text-decoration:none}
.foot-list a:hover{color:var(--ivory);text-decoration:underline;text-decoration-color:var(--ochre)}
.site-foot__base{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--rule-light);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:rgba(245,241,232,.6)}
.site-foot__base p{margin:0}

/* 10. Motion and responsive ---------------------------------------------- */
/* Base reveal-on-scroll wrapper. Gated behind html.js (see header.php) so
   that if JavaScript never runs, sections stay visible instead of stuck
   at opacity:0 — this is what was breaking most non-hero content on some
   mobile connections. */
html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
/* Keep the revealed state at least as specific as the JavaScript-gated
   hidden state above. Without the html.js prefix, the hidden rule wins in
   the cascade even after main.js adds .is-in. */
html.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}

@media (max-width:1100px){
  .site-menu__grid{grid-template-columns:1fr}
  .site-menu nav a{font-size:clamp(1.6rem,1.3rem + 2vw,2.2rem)}
  .feature__media,.feature--flip .feature__media{grid-column:1 / -1;order:1}
  .feature__text,.feature--flip .feature__text{grid-column:1 / -1;order:2}
  .feature{gap:1.5rem}
}
@media (max-width:860px){
  .split,.split--even,.section-head,.site-foot__top{grid-template-columns:1fr}
  .section-head{align-items:start}
  .trio{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  :root{--section:clamp(2.75rem,12vw,4rem)}
  .duo,.trio,.group__list,.form-grid,.site-foot__cols{grid-template-columns:1fr}
  .hero{min-height:78svh}
  .hero--page{min-height:56svh}
  .hero__body{padding-block:2.5rem 2rem}
  .site-menu{padding-block:calc(72px + 1.5rem) 2.5rem}
  .site-head__inner{min-height:72px}
  .index-list li{flex-direction:column;gap:.3rem}
  .btn{width:100%;text-align:center}
  .btn-row{flex-direction:column;gap:.65rem;margin-top:1.35rem}
  .feature{padding-block:1.75rem}
  .duo,.trio{gap:1.25rem}
  .site-foot__base{flex-direction:column;gap:.5rem}
  .social-row{gap:.65rem}
  .social-row a{width:34px;height:34px}
}

/* 17. Brand, catalogue and concierge refinements ------------------------- */
.brand{display:block;flex:0 0 auto;width:96px;height:auto;margin-block:6px;padding:4px;background:transparent;border:0;box-shadow:none;text-decoration:none;transition:transform .2s ease}
.brand:hover{transform:translateY(-1px)}
.brand:focus-visible{outline:2px solid var(--ochre-light);outline-offset:3px}
.brand__logo{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;transform:none}
.site-menu nav a{font-size:clamp(1.65rem,1.25rem + 1.35vw,2.4rem);padding:.32rem 0}

.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.4rem,2.5vw,2.25rem);align-items:start}
.journey-grid .media-link{padding-bottom:1.3rem;border-bottom:1px solid var(--rule)}
.journey-grid .media::before{padding-top:72%}
.journey-grid .media-link h3{margin:.65rem 0 .32rem}
.tour-card__meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:.65rem 0 .85rem;color:var(--muted);font-size:.78rem;line-height:1.35}
.tour-card__meta span{display:inline-flex;align-items:center;gap:.35rem}.tour-card__meta svg{width:14px;height:14px;color:var(--ochre-strong)}
.tour-card__footer{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1rem}
.tour-card__price{font-family:var(--serif);font-size:1.45rem;line-height:1;color:var(--forest)}
.tour-card__price small{display:block;margin-top:.22rem;font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tour-card__detail{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre-strong);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem}
.tour-card__detail:hover{color:var(--ochre-strong-dark)}
.price-note{font-size:.8rem;color:var(--muted);margin:1.15rem 0 0;max-width:none}
.service-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}.service-price-card{display:flex;flex-direction:column;min-height:205px;padding:1.25rem;background:var(--ivory);border-top:3px solid var(--ochre-strong);box-shadow:0 12px 25px rgba(26,25,21,.06)}.service-price-card h3{font-size:1.22rem;margin-bottom:.5rem}.service-price-card p{font-size:.88rem;color:var(--muted);line-height:1.5}.service-price-card strong{margin-top:auto;font-family:var(--serif);font-size:1.6rem;color:var(--forest)}.service-price-card small{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

.foot-list a,.foot-list__plain{display:flex;align-items:flex-start;gap:.55rem}.foot-list__icon{flex:none;width:16px;height:16px;margin-top:.16rem;color:var(--ochre-light)}

.whatsapp-float{border:0;cursor:pointer;font:inherit}.whatsapp-widget{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(5.6rem,8vw,7.25rem);z-index:46;width:min(360px,calc(100vw - 2rem));padding:1rem;background:var(--ivory);color:var(--charcoal);border-radius:10px;box-shadow:0 24px 64px rgba(0,0,0,.28);border:1px solid rgba(35,35,31,.12)}
.whatsapp-widget__head{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.whatsapp-widget__mark{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--forest-deep);color:var(--ochre-light);font-family:var(--serif);font-size:1.3rem}.whatsapp-widget__head p{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ochre-strong)}.whatsapp-widget__head h2{margin:.05rem 0 0;font-size:1.25rem}.whatsapp-widget__close{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:.15rem}.whatsapp-widget__message{margin:0 0 .9rem;padding:.8rem .9rem;background:var(--sand-soft);border-radius:0 8px 8px 8px;font-size:.88rem;line-height:1.5}.whatsapp-widget__options{display:grid;gap:.45rem;margin-bottom:.9rem}.whatsapp-widget__options button{padding:.65rem .75rem;border:1px solid var(--rule);background:#fff;text-align:left;border-radius:4px;color:var(--forest);font:500 .86rem var(--sans);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.whatsapp-widget__options button:hover,.whatsapp-widget__options button:focus-visible{background:var(--sand-soft);border-color:var(--ochre-strong);outline:none}.whatsapp-widget__launch{display:block;width:100%;text-align:center;padding:.7rem 1rem;font-size:.85rem}

@media (max-width:860px){.journey-grid,.service-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.brand{width:62px;height:58px;margin-block:5px;padding:3px}.journey-grid,.service-price-grid{grid-template-columns:1fr;gap:1.5rem}.journey-grid .media::before{padding-top:66%}.whatsapp-widget{right:1rem;bottom:5.1rem}.whatsapp-widget__head h2{font-size:1.15rem}}

/* 11. Motion pass ------------------------------------------------------- */

/* Hero: slow drift on the illustration, orchestrated entrance for the type */
.hero__media img{animation:heroDrift 26s ease-in-out infinite alternate;will-change:transform}
@keyframes heroDrift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.11) translate3d(-1.5%,-1%,0)}}
.hero__body > *{opacity:0;transform:translateY(18px);animation:riseIn .9s cubic-bezier(.2,.7,.25,1) forwards}
.hero__tagline{animation-delay:.15s}
.hero h1{animation-delay:.28s}
.hero__statement{animation-delay:.44s}
.hero .btn-row{animation-delay:.58s}
@keyframes riseIn{to{opacity:1;transform:none}}

/* A thin ochre line that draws itself under the hero tagline */
.hero__tagline::after{content:"";display:block;width:0;height:1px;background:var(--ochre);
  margin-top:.7rem;animation:drawLine 1.1s .7s cubic-bezier(.2,.7,.25,1) forwards}
@keyframes drawLine{to{width:74px}}

/* Staggered reveals: JS sets --i on the children of a revealing group.
   Gated behind html.js — if JavaScript never runs, content stays visible
   at full opacity instead of being permanently stuck hidden. */
html.js [data-reveal] > .entry,html.js [data-reveal] > figure,html.js [data-reveal] > .media-link,
html.js [data-reveal] .group__list > li{opacity:0;transform:translateY(16px);
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1);
  transition-delay:calc(var(--i,0) * 70ms)}
html.js [data-reveal].is-in > .entry,html.js [data-reveal].is-in > figure,html.js [data-reveal].is-in > .media-link,
html.js [data-reveal].is-in .group__list > li{opacity:1;transform:none}

/* Feature images uncover from the base line as they enter (JS-gated, same reasoning) */
.feature [data-reveal] .media img,.feature .media img{transform-origin:center}
html.js .feature .media::after{content:"";position:absolute;inset:0;background:var(--ivory);
  transform:scaleY(1);transform-origin:bottom;transition:transform .9s cubic-bezier(.65,0,.2,1)}
.band--dark .feature .media::after{background:var(--forest)}
.feature[data-reveal].is-in .media::after,.feature .media.is-in::after{transform:scaleY(0)}

/* Link hovers */
.link-quiet{position:relative;display:inline-block}
.link-quiet:hover{transform:translateX(2px);transition:transform .25s ease}

/* Buttons fill from the left rather than flicking colour */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn-line::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--forest-deep);
  transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.25,1)}
.band--dark .btn-line::before{background:var(--ivory)}
.btn-line:hover::before{transform:scaleX(1)}

/* Site menu opens as a sheet with its links following */
.site-menu{transform:translateY(-8px);opacity:0;transition:opacity .28s ease,transform .28s ease}
.site-menu.is-showing{transform:none;opacity:1}
.site-menu nav li{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease;
  transition-delay:calc(var(--i,0) * 45ms)}
.site-menu.is-showing nav li{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .hero__media img{animation:none}
  .hero__body > *{opacity:1;transform:none;animation:none}
  .hero__tagline::after{width:74px;animation:none}
  .feature .media::after{display:none}
  html.js [data-reveal] > .entry,html.js [data-reveal] > figure,html.js [data-reveal] > .media-link,
  html.js [data-reveal] .group__list > li,.site-menu,.site-menu nav li{opacity:1;transform:none}
}

/* 12. Team cards ---------------------------------------------------------- */
.team-grid{gap:clamp(1.5rem,3vw,2.5rem)}
.team-card{border-top:1px solid var(--rule);padding-top:1.75rem}
.team-card__photo{width:100%;max-width:310px;aspect-ratio:3 / 4;object-fit:cover;object-position:center 55%;margin-bottom:1.1rem}
.team-card__avatar{display:flex;align-items:center;justify-content:center;width:64px;height:64px;
  border-radius:50%;background:var(--forest-deep);color:var(--ivory);font-family:var(--serif);
  font-size:1.25rem;letter-spacing:.02em;margin-bottom:1.1rem}
.team-card h3{margin-bottom:.15rem}
.team-card__role{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--ochre);margin-bottom:.6rem}
.team-card__bio{color:var(--muted);font-style:italic;margin:0}

/* 13. Filter chips --------------------------------------------------------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.chip{font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--forest);
  background:transparent;border:1px solid var(--rule);border-radius:999px;padding:.5rem 1.1rem;
  cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.chip:hover{border-color:var(--ochre-strong)}
.chip.is-active{background:var(--ochre-strong);color:var(--ivory);border-color:var(--ochre-strong)}
.filter-status{font-size:.875rem;color:var(--muted);margin-bottom:2rem}
.is-filtered-out{display:none !important}

/* 14. Site search ---------------------------------------------------------- */
.search-toggle{background:none;border:0;padding:.55rem;color:inherit;cursor:pointer;display:flex}
.search-toggle svg{width:20px;height:20px}
.search-overlay{position:fixed;inset:0;z-index:80;background:rgba(19,29,23,.68);
  display:flex;align-items:flex-start;justify-content:center;padding:9vh 1.25rem 2rem;
  opacity:0;transition:opacity .2s ease}
.search-overlay.is-open{opacity:1}
.search-panel{width:100%;max-width:620px;background:var(--ivory);border-radius:4px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden;transform:translateY(-10px);
  transition:transform .22s cubic-bezier(.2,.7,.25,1)}
.search-overlay.is-open .search-panel{transform:none}
.search-panel__head{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--rule)}
.search-panel__icon{width:20px;height:20px;color:var(--muted);flex:none}
.search-panel__head input{border:0;outline:0;font-size:1.0625rem;font-family:var(--sans);flex:1;background:transparent}
.search-panel__head input::-webkit-search-cancel-button{display:none}
.search-close{background:none;border:0;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:.1rem .3rem}
.search-close:hover{color:var(--forest)}
.search-hint{margin:0;padding:1.1rem 1.25rem;color:var(--muted);font-size:.9375rem}
.search-results{list-style:none;margin:0;padding:0;max-height:56vh;overflow-y:auto}
.search-results li{border-top:1px solid var(--rule)}
.search-results a{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1.25rem;text-decoration:none}
.search-results a:hover{background:var(--sand-soft)}
.search-result__type{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ochre)}
.search-result__title{font-family:var(--serif);font-size:1.0625rem;color:var(--ink)}
.search-result__text{font-size:.875rem;color:var(--muted)}
.search-empty{padding:1.1rem 1.25rem;color:var(--muted);font-size:.9375rem}

@media (max-width:640px){
  .search-overlay{padding-top:5vh}
  .team-grid{gap:1.25rem}
}

/* 15. Kickers, accent headings, pull-quotes, card tags --------------------- */

/* Small eyebrow label above a heading — plain text, no box, no numbering */
.kicker{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ochre-strong);margin:0 0 .6rem}
.band--dark .kicker,.hero__body .kicker{color:var(--ochre-light)}

/* A short vertical rule beside a section's heading — quiet wayfinding, not decoration */
.section-head h2,.split > h2,.group__head h2,.split > div > h2{position:relative;padding-left:1.1rem}
.section-head h2::before,.split > h2::before,.group__head h2::before,.split > div > h2::before{content:"";position:absolute;left:0;top:.2em;bottom:.22em;
  width:3px;background:var(--ochre-strong)}
.band--dark .section-head h2::before,.band--dark .split > h2::before,.band--dark .group__head h2::before,.band--dark .split > div > h2::before{background:var(--ochre-light)}

/* Pull-quote: one real sentence from the page's own copy, set apart */
.pull-quote{border-left:3px solid var(--ochre-strong);padding-left:clamp(1.25rem,3vw,2rem);
  margin-block:clamp(2rem,4vw,3.25rem);margin-inline:0;max-width:52ch}
.pull-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,1.05rem + 1vw,1.75rem);
  line-height:1.45;color:var(--forest);margin:0}
.band--dark .pull-quote{border-color:var(--ochre-light)}
.band--dark .pull-quote p{color:var(--ivory)}

/* Category tag on a tour/service card — plain colored text, no fill, no pill */
.card-tag{display:block;font-size:.75rem;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ochre-strong);margin-bottom:.4rem}

/* Viewfinder-style corner mark on media, revealed on hover/focus */
.media-link{position:relative}
.media-link::after{content:"";position:absolute;top:10px;left:10px;width:22px;height:22px;
  border-top:2px solid var(--ochre-light);border-left:2px solid var(--ochre-light);
  opacity:0;transform:translate(-4px,-4px);transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;z-index:2}
.media-link:hover::after,.media-link:focus-visible::after{opacity:1;transform:none}

@media (max-width:640px){
  .section-head h2::before,.split > h2::before{display:none}
  .pull-quote{padding-left:1rem}
}

/* 16. Premium visual pass ------------------------------------------------- */
/* Deep charcoal banners let the photography and the warm orange accent do
   the work, while retaining enough detail for the site to feel editorial. */
.hero{color:var(--ivory);background:var(--forest-deep);isolation:isolate}
.hero__media::after{background:
  linear-gradient(90deg,rgba(0,77,42,.88) 0%,rgba(0,77,42,.58) 46%,rgba(0,77,42,.2) 100%),
  linear-gradient(0deg,rgba(0,77,42,.78) 0%,transparent 52%)}
.hero--page{color:var(--ivory);min-height:min(68svh,670px)}
.hero--page .hero__media::after{background:
  linear-gradient(90deg,rgba(0,77,42,.9) 0%,rgba(0,77,42,.62) 48%,rgba(0,77,42,.25) 100%),
  linear-gradient(0deg,rgba(0,77,42,.72) 0%,transparent 58%)}
.hero__body{max-width:760px;padding-bottom:clamp(3.25rem,9vh,6.5rem)}
.hero h1{max-width:12ch;text-wrap:balance;text-shadow:0 2px 22px rgba(0,0,0,.2)}
.hero__tagline{color:var(--ochre-light);font-weight:500}
.hero__statement,.hero--page .hero__statement{color:rgba(247,243,236,.88);text-shadow:0 1px 12px rgba(0,0,0,.22)}
.hero .btn-line{color:var(--ivory);border-color:rgba(247,243,236,.72)}
.hero .btn-line:hover{color:var(--charcoal);background:var(--ivory);border-color:var(--ivory)}

.band--dark{position:relative;overflow:hidden;background:
  radial-gradient(circle at 88% 15%,rgba(141,198,63,.15),transparent 29rem),
  linear-gradient(135deg,#004d2a 0%,#1a1718 100%)}
.band--dark::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;
  background-image:linear-gradient(90deg,rgba(247,243,236,.07) 1px,transparent 1px),linear-gradient(rgba(247,243,236,.05) 1px,transparent 1px);
  background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black 48%,transparent)}
.band--dark > .shell{position:relative}
.band--dark .prose{color:rgba(247,243,236,.76)}

.section-head{padding-bottom:clamp(1.25rem,2.5vw,2rem);border-bottom:1px solid var(--rule)}
.section-head .kicker{align-self:end}
.feature{transition:background-color .25s ease,padding-inline .25s ease}
@media (min-width:861px){.feature:hover{background:linear-gradient(90deg,var(--sand-soft),transparent 70%);padding-inline:1.25rem;margin-inline:-1.25rem}}
.media{background:var(--forest-deep);box-shadow:0 14px 34px rgba(26,25,21,.09)}
.media img{filter:saturate(.92) contrast(1.04)}
.media-link h3,.feature__text h3{transition:color .2s ease}
.media-link:hover h3,.feature:hover h3{color:var(--ochre-strong)}
.entry{padding-top:1.6rem}
.entry h3{font-size:clamp(1.3rem,1.15rem + .45vw,1.65rem)}
.group{padding-top:2rem}
.group__list > li{padding:1.15rem 0 0}
.index-list li{padding:1.25rem 0}

.form-grid{padding:clamp(1.25rem,3vw,2rem);background:transparent;border:1px solid var(--rule)}
.field input,.field select,.field textarea{background:#ffffff;padding:.78rem .7rem;border:1px solid var(--rule);border-radius:6px}
.field input:focus,.field select:focus,.field textarea:focus{background:var(--ivory);border-color:var(--ochre-strong);box-shadow:0 0 0 3px rgba(207,101,37,.13)}

.whatsapp-float{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);z-index:45;display:inline-flex;align-items:center;gap:.65rem;
  padding:.82rem 1.05rem;border-radius:999px;background:#1f9d57;color:#fff;text-decoration:none;font-family:var(--sans);font-size:.875rem;font-weight:600;
  box-shadow:0 12px 30px rgba(13,74,39,.3);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.whatsapp-float::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(31,157,87,.4);border-radius:inherit;opacity:0;transform:scale(.9);pointer-events:none}
.whatsapp-float svg{width:21px;height:21px;flex:none}
.whatsapp-float:hover{color:#fff;background:#178a4a;transform:translateY(-3px);box-shadow:0 16px 36px rgba(13,74,39,.38)}
.whatsapp-float:hover::before{opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s ease}
.whatsapp-float:focus-visible{outline-color:#fff;outline-offset:4px}

@media (max-width:860px){
  .hero{min-height:72svh}.hero--page{min-height:58svh}
  /* removed mobile hero display none */
  .hero__body{max-width:100%;padding-bottom:3rem}.hero h1{max-width:14ch}
  .section-head{gap:1rem}.section-head .kicker{align-self:start}
  .group__list > li{padding-top:1.1rem}
}
@media (max-width:640px){
  .site-head__inner{min-height:68px}.brand__name{font-size:.91rem;letter-spacing:.042em}.brand__tagline{font-size:.61rem}
  .search-toggle{padding:.5rem}.menu-toggle{padding:.5rem .1rem}.menu-toggle__bars,.menu-toggle__bars::before,.menu-toggle__bars::after{width:22px}
  .hero{min-height:72svh;padding-top:68px}.hero--page{min-height:53svh}.hero__body{padding-block:2rem 2.25rem}.hero h1{font-size:clamp(2.35rem,10.5vw,3.25rem);line-height:1.02}.hero__statement{font-size:1rem;line-height:1.55}
  .hero .btn-row{margin-top:1.5rem}.hero .btn{width:100%}
  .band--dark::before{background-size:32px 32px}.section-head{padding-bottom:1.25rem}.feature{padding-block:2rem}.entry h3{font-size:1.28rem}
  .form-grid{padding:1rem}.field input,.field select,.field textarea{padding:.78rem .65rem}
  .whatsapp-float{width:56px;height:56px;padding:0;justify-content:center;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem))}.whatsapp-float svg{width:24px;height:24px}.whatsapp-float span{display:none}
}

/* Detailed itineraries retain the calm, premium rhythm on every screen. */
.journey-detail{background:linear-gradient(140deg,#092316,#004d2a 55%,#0a2015);color:#ffffff}.journey-detail__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:clamp(2rem,5vw,5rem);align-items:start}.journey-detail__main{display:grid;gap:1.25rem}.journey-overview,.journey-glance,.journey-listing,.journey-enquiry{border:1px solid rgba(141,198,63,.25);border-radius:1rem;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));padding:clamp(1.4rem,3vw,2.5rem)}.journey-overview .lead{font-family:Georgia,serif;font-size:clamp(1.45rem,2vw,2rem);line-height:1.25;margin:.4rem 0 1rem;color:#ffffff}.journey-detail .prose,.journey-enquiry p{color:rgba(255,255,255,.76)}.journey-glance h2,.journey-listing h2,.journey-enquiry h2{margin:.3rem 0 1.35rem}.journey-glance__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(141,198,63,.2);border-radius:.75rem;overflow:hidden}.journey-glance__grid div{padding:1.15rem;border-right:1px solid rgba(141,198,63,.2);border-bottom:1px solid rgba(141,198,63,.2)}.journey-glance__grid div:nth-child(2n){border-right:0}.journey-glance__grid div:nth-last-child(-n+2){border-bottom:0}.journey-glance__grid span{display:block;color:#8dc63f;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.45rem}.journey-glance__grid strong{font-size:1.05rem}.journey-pills{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;padding:0;margin:0}.journey-pills li{border:1px solid rgba(141,198,63,.35);border-radius:999px;padding:.55rem .8rem;color:#e6f0eb}.journey-inclusions{padding:0;margin:0;list-style:none;display:grid;gap:.7rem}.journey-inclusions li{padding-left:1.55rem;position:relative}.journey-inclusions li:before{content:'✓';position:absolute;left:0;color:#8dc63f;font-weight:700}.journey-detail .price-note{margin:1.5rem 0 0;color:#e6f0eb;font-size:.9rem}.journey-enquiry{position:sticky;top:7rem}.journey-enquiry dl{display:grid;gap:.9rem;margin:1.5rem 0}.journey-enquiry dl div{border-top:1px solid rgba(141,198,63,.2);padding-top:.8rem}.journey-enquiry dt{color:#8dc63f;font-size:.74rem;letter-spacing:.11em;text-transform:uppercase}.journey-enquiry dd{margin:.2rem 0 0}.journey-enquiry .btn{width:100%;justify-content:center}.journey-enquiry__whatsapp{display:block;text-align:center;margin-top:1rem;color:#8dc63f;text-decoration:none;font-weight:700}.journey-gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:1rem}.journey-gallery figure{margin:0;min-height:19rem;overflow:hidden;border-radius:.75rem}.journey-gallery figure:first-child{grid-row:span 2;min-height:39rem}.journey-gallery .media,.journey-gallery img{width:100%;height:100%;display:block}.journey-gallery img{object-fit:cover;transition:transform .5s ease}.journey-gallery figure:hover img{transform:scale(1.04)}.foot-whatsapp{display:flex;align-items:center;gap:.65rem;color:inherit;border:0;padding:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.foot-whatsapp:hover{color:#8dc63f}@media (max-width:760px){.journey-detail__grid{grid-template-columns:1fr}.journey-enquiry{position:static}.journey-glance__grid{grid-template-columns:1fr}.journey-glance__grid div{border-right:0}.journey-glance__grid div:nth-last-child(-n+2){border-bottom:1px solid rgba(141,198,63,.2)}.journey-glance__grid div:last-child{border-bottom:0}.journey-gallery{grid-template-columns:1fr 1fr}.journey-gallery figure:first-child{grid-column:span 2;grid-row:auto;min-height:18rem}.journey-gallery figure{min-height:12rem}}

/* 18. Calmer editorial rhythm --------------------------------------------
   Section colour, whitespace and cards now separate content without the
   repeated full-width rules that previously appeared as doubled lines. */
.rule-top{border-top:0}
.section-head{border-bottom:0;padding-bottom:0}
.feature{border-top:0;padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:clamp(1rem,2.5vw,2rem);background:rgba(255,255,255,.45);box-shadow:0 14px 38px rgba(26,25,21,.055)}
.feature:first-of-type{padding-top:clamp(1.25rem,2.5vw,2rem)}
.entry{border-top:0;padding:1.4rem;background:rgba(255,255,255,.62);box-shadow:0 10px 28px rgba(26,25,21,.045)}
.group{border-top:0;padding:clamp(1.3rem,3vw,2.1rem);background:rgba(255,255,255,.5);box-shadow:0 12px 34px rgba(26,25,21,.05)}
.group__list{gap:1rem}.group__list>li{border-top:0;padding:1rem;background:#ffffff}
.journey-grid .media-link{border-bottom:0;padding-bottom:1.35rem;background:rgba(255,255,255,.55);box-shadow:0 13px 34px rgba(26,25,21,.06)}
.journey-grid .media-link>h3,.journey-grid .media-link>p,.journey-grid .media-link>.card-tag,.journey-grid .media-link>.tour-card__meta,.journey-grid .media-link>.tour-card__footer{margin-left:1rem;margin-right:1rem}
.team-card{border-top:0;padding:1.25rem;background:rgba(255,255,255,.68);box-shadow:0 15px 38px rgba(26,25,21,.06)}
.team-card__photo,.team-card__placeholder{width:100%;max-width:none;aspect-ratio:3/4;margin-bottom:1.2rem}
.team-card__placeholder{display:grid;place-items:center;align-content:center;gap:1rem;background:linear-gradient(145deg,#e5eadf,#c9d5c3);color:var(--forest);overflow:hidden}
.team-card__placeholder svg{width:45%;max-height:60%;fill:#6c8268;opacity:.8}.team-card__placeholder span{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#52634f}
@media(max-width:640px){.feature{padding:1rem}.entry,.team-card{padding:1rem}.group{padding:1rem}.team-card__placeholder{max-width:none}}

/* 19. Balanced journey gallery and complete social row ------------------ */
.journey-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.85rem,1.8vw,1.35rem);align-items:stretch}
.journey-gallery figure,.journey-gallery figure:first-child{min-height:0;aspect-ratio:4 / 3;grid-column:auto;grid-row:auto;border-radius:.9rem;background:#092316}
.journey-gallery .media{height:100%}.journey-gallery .media::before{display:none}.journey-gallery img{height:100%;object-fit:cover}
.social-row{align-items:center;flex-wrap:wrap}.social-row a,.social-row__icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--rule-light);border-radius:50%;color:var(--sand)}
.social-row__icon--pending{opacity:.56;cursor:default}.social-row a:hover{color:var(--ivory);border-color:var(--ochre);transform:translateY(-2px)}
.journey-overview .lead{color:#fff8e9}
@media(max-width:760px){.journey-gallery{grid-template-columns:1fr}.journey-gallery figure,.journey-gallery figure:first-child{grid-column:auto;min-height:0;aspect-ratio:16 / 10}}
@media(max-width:640px){.social-row a,.social-row__icon{width:34px;height:34px}}

/* 20. About Page Redesign ------------------------------------------------ */

/* Hero */
.hero--about {
  min-height: min(74svh,680px);
  justify-content: center;
  align-items: center;
}
.hero--about .hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,77,42,0.85) 0%, rgba(35,31,32,0.7) 100%);
}
.hero--about .hero__body {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.hero--about h1 { color: var(--ivory); }
.hero--about .hero__statement { color: var(--ivory); max-width: 50ch; margin: 0 auto; }

/* Story */
.story-section .story-media { border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.08); }

/* Vision */
.vision-section {
  position: relative;
  background: var(--forest-deep);
  color: var(--ivory);
  padding: clamp(4rem, 8vw, 8rem) 0;
  overflow: hidden;
}
.vision-section::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(circle at 10% 20%, rgba(141,198,63,0.1) 0%, transparent 40%);
}
.vision-box { position: relative; max-width: 900px; margin: 0 auto; text-align: center; }
.vision-quote {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 2vw + 1rem, 3.2rem);
  line-height: 1.3;
  color: var(--ivory);
  margin: 0;
  font-style: italic;
}
.vision-quote::before {
  content: "“";
  display: block;
  font-size: 6rem;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.5;
  margin-bottom: -2rem;
}

/* Mission */
.mission-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.mission-media { border-radius: 50%; overflow: hidden; box-shadow: 0 20px 50px rgba(0,104,56,0.15); max-width: 500px; margin: 0 auto; }
.mission-statement {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 1.8vw + 1rem, 2.5rem);
  line-height: 1.4;
  color: var(--forest);
  margin-top: 1rem;
}

/* Core Values */
.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}
.value-card {
  background: var(--ivory);
  padding: 2.5rem 2rem;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  border: 1px solid rgba(0,104,56,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}
.value-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--ochre-strong);
  transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease;
}
.value-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.value-card:hover::before { transform: scaleX(1); }
.value-icon {
  width: 48px; height: 48px;
  background: var(--sand);
  color: var(--forest-deep);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.5rem;
}
.value-card h3 { font-size: 1.25rem; margin-bottom: 0.75rem; color: var(--forest); }
.value-card p { color: var(--muted); font-size: 0.95rem; margin: 0; }

/* Founders */
.founders-grid {
  display: grid;
  gap: clamp(3rem, 6vw, 5rem);
  margin-top: 4rem;
}
.founder-editorial {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  background: var(--ivory);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 25px 50px rgba(0,0,0,0.2);
}
.founder-editorial:nth-child(even) { direction: rtl; }
.founder-editorial:nth-child(even) > * { direction: ltr; }
.founder-editorial__photo { height: 100%; min-height: 400px; position: relative; }
.founder-editorial__photo img { width: 100%; height: 100%; object-fit: cover; }
.founder-placeholder {
  width: 100%; height: 100%; min-height: 400px;
  background: var(--sand);
  display: flex; align-items: center; justify-content: center;
  color: var(--forest-deep);
}
.founder-placeholder svg { width: 80px; height: 80px; }
.founder-editorial__content { padding: 3rem 4rem 3rem 0; }
.founder-editorial:nth-child(even) .founder-editorial__content { padding: 3rem 0 3rem 4rem; }
.founder-editorial__content h3 { font-size: clamp(2rem, 3vw, 2.8rem); margin-bottom: 0.5rem; color: var(--forest); }
.founder-role { color: var(--forest-deep); margin-bottom: 1.5rem; }
.founder-bio { font-size: 1.1rem; color: var(--muted); line-height: 1.8; }

/* Team Carousel */
.team-carousel-container {
  margin-top: 3rem;
  overflow-x: auto;
  padding-bottom: 2rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.team-carousel-container::-webkit-scrollbar { display: none; }
.team-carousel {
  display: flex;
  gap: 2rem;
  width: max-content;
  padding: 0 1rem;
}
.team-carousel-card {
  width: 260px;
  text-align: center;
}
.team-carousel-card__photo {
  width: 140px;
  height: 140px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  overflow: hidden;
  background: var(--sand);
  border: 4px solid var(--ivory);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}
.team-carousel-card__photo img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.4s ease;
}
.team-carousel-card:hover .team-carousel-card__photo img { transform: scale(1.08); }
.team-carousel-card h4 { font-family: var(--sans); font-size: 1.15rem; margin-bottom: 0.25rem; }
.team-carousel-card__role { font-size: 0.9rem; color: var(--ochre); font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; }

@media (max-width: 860px) {
  .founder-editorial { grid-template-columns: 1fr; }
  .founder-editorial:nth-child(even) { direction: ltr; }
  .founder-editorial__photo { min-height: 300px; }
  .founder-editorial__content { padding: 2rem !important; }
}

/* ---------------------------------------------------------------------- */
/* ESKAPAS REDESIGN COMPONENTS */
/* ---------------------------------------------------------------------- */

/* Patterns & Backgrounds */
.bg-gradient-premium { background: linear-gradient(135deg, var(--ivory), #f4f9f6); }
.bg-gradient-dark { background: linear-gradient(140deg, var(--forest-deep), #00361d); color: var(--ivory); }
.bg-gradient-romantic { background: linear-gradient(135deg, #fdfbf7, #f4eee2); }

/* Premium Cards */
.card--premium {
  background: var(--ivory);
  border: 1px solid rgba(141,198,63,0.2);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,77,42,0.04);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
  display: flex;
  flex-direction: column;
}
.card--premium:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,77,42,0.08);
  border-color: rgba(141,198,63,0.5);
}
.card--premium__img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.card--premium__body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card--premium__body h3 {
  color: var(--forest-deep);
  font-size: 1.4rem;
  margin-bottom: 0.75rem;
}

/* Service Cards */
.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2.5rem;
}
.card--service {
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(141,198,63,0.3);
  border-radius: 1rem;
  padding: 2.5rem;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.card--service::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--ochre-light);
  transform: scaleX(0);
  transition: transform 0.4s ease;
  transform-origin: left;
}
.card--service:hover {
  transform: translateY(-5px);
  background: var(--ivory);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.card--service:hover::before {
  transform: scaleX(1);
}
.card--service svg {
  width: 48px; height: 48px;
  color: var(--forest-deep);
  margin-bottom: 1.5rem;
}

/* Stats Block */
.stats-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}
.stat-item {
  text-align: center;
  padding: 1.5rem;
  background: rgba(141,198,63,0.05);
  border-radius: 1rem;
  min-width: 160px;
}
.stat-number {
  display: block;
  font-family: var(--serif);
  font-size: 2.5rem;
  color: var(--forest-deep);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.stat-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
}

/* Timeline */
.timeline {
  position: relative;
  padding-left: 2rem;
  border-left: 2px solid rgba(141,198,63,0.3);
  margin: 3rem 0;
}
.timeline-item {
  position: relative;
  margin-bottom: 3rem;
}
.timeline-item:last-child { margin-bottom: 0; }
.timeline-item::before {
  content: '';
  position: absolute;
  left: -2.45rem;
  top: 0.25rem;
  width: 1rem;
  height: 1rem;
  background: var(--ivory);
  border: 2px solid var(--ochre-strong);
  border-radius: 50%;
}
.timeline-date {
  font-weight: 600;
  color: var(--forest-deep);
  margin-bottom: 0.5rem;
  display: block;
}

/* Image Collages */
.collage {
  position: relative;
  min-height: 450px;
  width: 100%;
}
.collage img {
  position: absolute;
  border-radius: 1rem;
  box-shadow: 0 15px 40px rgba(0,0,0,0.1);
  transition: transform 0.5s ease;
  object-fit: cover;
}
.collage img:nth-child(1) { width: 70%; aspect-ratio: 4/5; top: 0; left: 0; z-index: 1; }
.collage img:nth-child(2) { width: 60%; aspect-ratio: 1; bottom: 0; right: 0; z-index: 2; border: 8px solid var(--ivory); }
.collage:hover img:nth-child(1) { transform: scale(1.02) rotate(-1deg); }
.collage:hover img:nth-child(2) { transform: scale(1.05) rotate(2deg); }

/* Zig-Zag Layout */
.zig-zag-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  margin-bottom: 6rem;
}
.zig-zag-row:nth-child(even) .zig-zag-content { order: -1; }
@media(max-width: 860px) {
  .zig-zag-row { grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 4rem; }
  .zig-zag-row:nth-child(even) .zig-zag-content { order: 0; }
}
.zig-zag-img {
  border-radius: 1.5rem;
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
}
.zig-zag-img img {
  width: 100%; height: 100%; object-fit: cover;
}
.zig-zag-img::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 1.5rem;
}

/* Testimonials */
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
}
.testimonial-card {
  background: var(--ivory);
  padding: 2.5rem;
  border-radius: 1.5rem;
  position: relative;
  border: 1px solid rgba(141,198,63,0.15);
  display: flex;
  flex-direction: column;
}
.testimonial-card::before {
  content: '“';
  position: absolute;
  top: 1rem;
  left: 1.5rem;
  font-family: var(--serif);
  font-size: 5rem;
  color: rgba(141,198,63,0.15);
  line-height: 1;
}
.testimonial-quote {
  font-size: 1.1rem;
  font-style: italic;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
  flex: 1;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.testimonial-author img {
  width: 48px; height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

/* Feature Highlights */
.highlight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}
.highlight-item {
  display: flex;
  gap: 1.5rem;
}
.highlight-icon {
  flex-shrink: 0;
  width: 56px; height: 56px;
  background: var(--sand);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--forest-deep);
}

/* CTA Block */
.cta-block {
  text-align: center;
  padding: 6rem 2rem;
  border-radius: 0;
  background: linear-gradient(135deg, var(--forest-deep), #002b17);
  color: var(--ivory);
  position: relative;
  overflow: hidden;
  margin: 0; width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
}
.cta-block::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.5;
}
.cta-block > * { position: relative; z-index: 1; }
.cta-block h2 { color: var(--ivory); font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1rem; }
/* FAQ Section */
.faq-container {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.faq-item {
  background: #ffffff;
  border: 1px solid rgba(141,198,63,0.3);
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0,77,42,0.02);
}
.faq-item[open] {
  border-color: rgba(141,198,63,0.8);
  box-shadow: 0 10px 25px rgba(0,77,42,0.06);
}
.faq-question {
  padding: 1.5rem;
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--forest-deep);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.faq-question::-webkit-details-marker {
  display: none;
}
.faq-question::after {
  content: '+';
  font-family: var(--sans);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--forest-deep);
  transition: transform 0.3s ease;
}
.faq-item[open] .faq-question::after {
  transform: rotate(45deg);
}
.faq-answer {
  padding: 0 1.5rem 1.5rem;
  color: var(--muted);
  line-height: 1.7;
}
/* Desktop Navbar Additions */
@media (max-width: 860px) {
  .site-nav-desktop { display: none; }
  .btn-nav-cta { display: none !important; }
}

@media (min-width: 861px) {
  .menu-toggle { display: none !important; }
  
  .site-nav-desktop {
    flex: 1;
    display: flex;
    justify-content: center;
    margin: 0 2rem;
  }
  .site-nav-desktop ul {
    display: flex;
    gap: 2.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .site-nav-desktop a {
    text-decoration: none;
    color: var(--charcoal);
    font-family: var(--sans);
    font-weight: 500;
    font-size: 0.95rem;
    position: relative;
    padding: 0.5rem 0;
    transition: color 0.3s ease;
  }
  .site-nav-desktop a:hover,
  .site-nav-desktop a[aria-current="page"] {
    color: var(--forest-deep);
  }
  .site-nav-desktop a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--forest-deep);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .site-nav-desktop a:hover::after,
  .site-nav-desktop a[aria-current="page"]::after {
    transform: scaleX(1);
    transform-origin: left;
  }
  
  .btn-nav-cta {
    padding: 0.5rem 1.25rem !important;
    font-size: 0.85rem !important;
    background: var(--forest-deep) !important;
    color: var(--ivory) !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 10px rgba(0,77,42,0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  .btn-nav-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0,77,42,0.2) !important;
    background: var(--ochre) !important; color: var(--forest-deep) !important;
  }
}
@media (max-width: 860px) {
  .form-grid { grid-template-columns: 1fr !important; }
  .card--premium:not(:has(> .card--premium__img)) { padding: 1.5rem !important; }
  .card--premium__body { padding: 1.5rem; }
}
@media (max-width: 640px) {
  /* Bleed edge-to-edge for CTA blocks on mobile */
  .shell .cta-block {
    margin-left: -50vw !important;
    margin-right: -50vw !important; width: 100vw !important; max-width: 100vw !important;
    border-radius: 0 !important;
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  
  /* Make stats fit horizontally on mobile */
  .stats-container {
    gap: 0.5rem !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }
  .stat-item {
    min-width: 0 !important;
    flex: 1 !important;
    padding: 1rem 0.5rem !important;
  }
  .stat-number {
    font-size: 1.5rem !important;
  }
  .stat-label {
    font-size: 0.7rem !important;
    letter-spacing: 0.05em !important;
  }
}

@media (max-width: 640px) {
  .team-carousel {
    gap: 1rem !important;
    scroll-snap-type: x mandatory;
  }
  .team-carousel-card {
    width: 42vw !important; /* Shows a bit of the 3rd to indicate scrolling */
    min-width: 140px !important;
    scroll-snap-align: start;
  }
  .team-carousel-card__photo {
    width: 100px !important;
    height: 100px !important;
    margin-bottom: 0.75rem !important;
  }
  .team-carousel-card h4 {
    font-size: 1rem !important;
  }
  .team-carousel-card__role {
    font-size: 0.75rem !important;
  }
}
/* Hero content always sits above the photo scrim */
.hero__body {
  position: relative !important;
  z-index: 2 !important;
}
@media screen and (max-width: 860px) {
  input, select, textarea {
    font-size: 16px !important; /* Prevents iOS zoom */
  }
}
.band:has(.cta-block) {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

/* ==========================================================================
   21. Warm cream pass
   Cream canvas, clear photography, brand green used for action rather than
   for whole surfaces. Rules here intentionally override the layers above.
   ========================================================================== */

/* Type and small accents */
.kicker{color:var(--gold-deep);letter-spacing:.16em}
.hero__body .kicker,.cta-block .kicker{color:var(--gold-light)}
.lead{color:var(--forest-deep)}
a:hover{text-decoration-color:var(--gold)}
.link-quiet{color:var(--ochre-strong);border-bottom-color:rgba(0,104,56,.3);font-weight:600}
.link-quiet:hover{border-color:var(--ochre-strong)}
:focus-visible{outline-color:var(--gold)}

/* Section heads: a simple stack instead of a split grid that wrapped awkwardly */
.section-head{display:block;margin-bottom:clamp(2rem,4vw,3.25rem)}
.section-head .kicker{margin:0 0 .6rem}
.section-head h2{margin:0 0 .75rem}
.section-head .prose{margin:0;max-width:58ch}
.section-head h2::before,.split > h2::before,.group__head h2::before,.split > div > h2::before{background:var(--gold)}
.section-head.text-center h2{padding-left:0}
.section-head.text-center h2::before{display:none}
.section-head.text-center h2::after{content:"";display:block;width:44px;height:2px;margin:1rem auto 0;background:var(--gold)}
.section-head.text-center .prose{margin-inline:auto;margin-top:1rem}

/* Surfaces */
.bg-gradient-premium,.band--sand{background:var(--cream)}
.bg-gradient-romantic{background:linear-gradient(160deg,var(--canvas) 0%,var(--cream) 100%)}
.band--dark{background:var(--forest-deep)}

/* Buttons */
.btn{border-radius:3px;font-weight:600;letter-spacing:.02em}
.btn-solid:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.btn-line::before{background:var(--ochre-strong)}
.btn-line:hover{border-color:var(--ochre-strong)}

/* Cards: white on cream, warm hairlines, soft shadows */
.card--premium{border:1px solid rgba(92,72,36,.1);border-radius:10px;box-shadow:0 6px 22px rgba(60,44,16,.05)}
.card--premium:hover{border-color:rgba(196,154,69,.45);box-shadow:var(--card-shadow)}
.card--premium__body h3{color:var(--forest-deep)}
.card--service{background:#fff;border:1px solid rgba(92,72,36,.1);border-radius:10px;backdrop-filter:none;box-shadow:0 6px 22px rgba(60,44,16,.04)}
.card--service::before{background:var(--gold);height:3px}
.card--service:hover{background:#fff;box-shadow:var(--card-shadow)}
.card--service svg{color:var(--ochre-strong)}
.highlight-icon{background:var(--cream);color:var(--ochre-strong);box-shadow:inset 0 0 0 1px rgba(196,154,69,.35)}
.highlight-item h3{font-size:1.3rem;margin-bottom:.4rem}
.stat-item{background:#fff;border:1px solid rgba(92,72,36,.1)}
.stat-number{color:var(--ochre-strong)}
.testimonial-card{border:1px solid rgba(92,72,36,.1);border-radius:10px;box-shadow:0 6px 22px rgba(60,44,16,.04)}
.testimonial-card::before{color:rgba(196,154,69,.35)}
.testimonial-quote{color:var(--charcoal)}
.faq-item{border:1px solid rgba(92,72,36,.12);border-radius:8px;box-shadow:none}
.faq-item[open]{border-color:rgba(196,154,69,.6);box-shadow:var(--card-shadow)}
.faq-question{font-weight:500}
.faq-question::after{color:var(--gold-deep)}
.group{background:#fff;border-radius:10px;border-top:0 !important;box-shadow:0 6px 22px rgba(60,44,16,.04)}
.zig-zag-img{border-radius:12px;box-shadow:var(--card-shadow)}
.collage img{border-radius:10px}
.collage img:nth-child(2){border-color:var(--canvas)}
.bg-gradient-premium .collage img:nth-child(2),.bg-gradient-romantic .collage img:nth-child(2){border-color:var(--cream)}
.media{background:var(--cream-deep)}
.media img{filter:none}
.chip{background:#fff;border-color:rgba(92,72,36,.18);color:var(--charcoal)}
.chip:hover{border-color:var(--gold)}
.chip.is-active{background:var(--forest-deep);border-color:var(--forest-deep);color:#fff}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(0,104,56,.12)}
.alert-note{border-left-color:var(--gold);background:var(--cream)}
.card--premium .form-grid{padding:0;border:0}

/* Header: pure white so the full-colour logo sits on its own background */
.site-head{background:#fff;border-bottom:1px solid rgba(35,31,32,.07);backdrop-filter:none}
.site-head.is-solid{background:#fff;box-shadow:0 8px 28px rgba(40,30,10,.07)}
.site-nav-desktop a{color:var(--charcoal)}
.site-nav-desktop a:hover,.site-nav-desktop a[aria-current="page"]{color:var(--ochre-strong)}
.site-nav-desktop a::after{background-color:var(--gold)}
@media (min-width:861px){
  .btn-nav-cta{background:var(--ochre-strong) !important;box-shadow:none !important}
  .btn-nav-cta:hover{background:var(--forest-deep) !important;color:#fff !important}
}

/* Banners: a light neutral scrim keeps the photograph visible and the type legible */
.hero{background:#2a241b}
.hero__media img{filter:saturate(1.05)}
.hero__media::after,
.hero--page .hero__media::after{content:"";display:block;position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(17,13,8,.62) 0%,rgba(17,13,8,.34) 42%,rgba(17,13,8,.04) 78%),
    linear-gradient(0deg,rgba(17,13,8,.5) 0%,rgba(17,13,8,0) 46%)}
.hero--about .hero__media::after,
.hero:has(.hero__body.text-center) .hero__media::after{
  background:radial-gradient(ellipse at 50% 55%,rgba(17,13,8,.52) 0%,rgba(17,13,8,.34) 55%,rgba(17,13,8,.22) 100%)}
.hero__tagline{color:var(--gold-light)}
.hero__tagline::after{background:var(--gold)}
.hero h1{max-width:18ch;text-shadow:0 2px 24px rgba(0,0,0,.28)}
.hero .btn-solid:hover{background:#fff;border-color:#fff;color:var(--forest-deep)}
@media (max-width:860px){
  .hero__media::after,.hero--page .hero__media::after{
    background:linear-gradient(0deg,rgba(17,13,8,.72) 0%,rgba(17,13,8,.36) 55%,rgba(17,13,8,.14) 100%)}
}

/* Closing call-to-action: a photograph rather than another flat green slab */
.cta-block{background:
    linear-gradient(180deg,rgba(20,16,10,.66) 0%,rgba(20,16,10,.74) 100%),
    url("../images/cta-savannah.jpg") center 60% / cover no-repeat;
  padding:clamp(4rem,9vw,7rem) 2rem}
.cta-block::before{display:none}
.cta-block h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);text-wrap:balance}
.cta-block .btn-solid:hover{background:var(--gold) !important;border-color:var(--gold) !important;color:var(--charcoal) !important}
.cta-block .btn-line::before{background:#fff}
.cta-block .btn-line:hover{color:var(--charcoal) !important}

/* Homepage seasonal offer */
.promo-band{background:var(--cream);padding:clamp(1rem,3vw,2rem) 0 clamp(3rem,6vw,4.5rem)}
.promo-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(60,44,16,.12);border:1px solid rgba(92,72,36,.08)}
.promo-card__media{position:relative;min-height:320px;background:var(--cream-deep)}
.promo-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.25,1)}
.promo-card:hover .promo-card__media img{transform:scale(1.04)}
.promo-card__seal{position:absolute;top:1.25rem;left:1.25rem;z-index:1;display:grid;place-content:center;justify-items:center;
  width:116px;height:116px;margin:0;padding:.5rem;border-radius:50%;text-align:center;line-height:1;
  background:var(--gold);color:#1f1a12;box-shadow:0 0 0 5px rgba(255,255,255,.55),0 14px 30px rgba(0,0,0,.25);transform:rotate(-8deg)}
.promo-card__seal strong{font-family:var(--serif);font-weight:500;font-size:2.15rem;letter-spacing:-.02em}
.promo-card__seal span{display:block;margin-top:.3rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.promo-card__body{padding:clamp(1.75rem,4vw,3.25rem);display:flex;flex-direction:column;justify-content:center}
.promo-card__body h2{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.6rem);color:var(--forest-deep);margin-bottom:.8rem;text-wrap:balance}
.promo-card__text{color:var(--muted);font-size:1.02rem;margin-bottom:1.25rem}
.promo-card__meta{display:grid;gap:.45rem;margin:0 0 1.6rem;font-size:.875rem;color:var(--charcoal)}
.promo-card__meta li{display:flex;align-items:center;gap:.55rem}
.promo-card__meta svg{width:18px;height:18px;flex:none;color:var(--gold-deep)}
.promo-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}
@media (max-width:760px){
  .promo-card{grid-template-columns:1fr}
  .promo-card__media{min-height:0;aspect-ratio:16/10}
  .promo-card__seal{width:94px;height:94px;top:1rem;left:1rem}
  .promo-card__seal strong{font-size:1.7rem}
  .promo-card__actions .btn{width:100%;text-align:center}
}

/* Founders: about page */
.founders-section{background:var(--cream)}
.founders-head{max-width:640px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center}
.founders-head h2{color:var(--forest-deep)}
.founders-head h2::after{content:"";display:block;width:44px;height:2px;margin:1rem auto 0;background:var(--gold)}
.founders-head .prose{margin:1rem auto 0}
.founders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin-top:0;max-width:1060px;margin-inline:auto}
.founder-card{background:#fff;border-radius:14px;padding:clamp(2.25rem,4vw,3.25rem) clamp(1.5rem,3vw,2.75rem);text-align:center;
  box-shadow:var(--card-shadow);border:1px solid rgba(92,72,36,.07)}
.founder-card__portrait{position:relative;width:min(210px,62%);aspect-ratio:1;margin:0 auto 2rem}
.founder-card__portrait img,.founder-card__initials{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 28%;
  background:var(--cream-deep);color:var(--forest-deep);font-family:var(--serif);font-size:3rem;
  box-shadow:0 0 0 6px #fff,0 0 0 7px rgba(196,154,69,.7),0 18px 36px rgba(40,30,10,.18)}
.founder-card__badge{position:absolute;left:50%;bottom:-.85rem;transform:translateX(-50%);white-space:nowrap;
  padding:.42rem 1rem;border-radius:999px;background:var(--ochre-strong);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 0 3px #fff}
.founder-card h3{font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem);margin-bottom:.3rem;color:var(--charcoal)}
.founder-card__role{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:0 auto 1rem}
.founder-card__bio{color:var(--muted);max-width:44ch;margin:0 auto;line-height:1.75}
@media (max-width:760px){.founders-grid{grid-template-columns:1fr}}

/* Team carousel portraits pick up the same framing */
.team-carousel-card__photo{border-color:#fff;box-shadow:0 0 0 1px rgba(196,154,69,.6),0 12px 26px rgba(40,30,10,.12)}
.team-carousel-card__photo img{object-position:center 22%}
.team-carousel-card__role{color:var(--gold-deep);font-size:.78rem}

/* Visa: process steps (replaces stat tiles that were squeezed on phones) */
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem);margin-top:1.25rem}
.process-steps li{background:#fff;border-radius:10px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 6px 22px rgba(60,44,16,.05);border:1px solid rgba(92,72,36,.08)}
.process-steps__num{display:grid;place-items:center;width:42px;height:42px;margin-bottom:1rem;border-radius:50%;
  background:var(--cream);color:var(--gold-deep);font-family:var(--serif);font-size:1.3rem;box-shadow:inset 0 0 0 1px rgba(196,154,69,.5)}
.process-steps h3{font-size:1.25rem;margin-bottom:.4rem;color:var(--forest-deep)}
.process-steps p{color:var(--muted);font-size:.95rem;margin:0}
@media (max-width:760px){.process-steps{grid-template-columns:1fr}}

/* Services filters sit directly above the list they filter */
.filter-head{margin:clamp(3rem,6vw,5rem) 0 2.5rem;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--rule);text-align:center}
.filter-head .filter-bar{justify-content:center}

/* Legal pages: readable document panel */
.legal-doc{max-width:860px;margin-inline:auto;background:#fff;border-radius:12px;box-shadow:var(--card-shadow);
  padding:clamp(1.5rem,5vw,3.75rem) !important;line-height:1.8;color:var(--charcoal)}
.legal-doc h3{font-size:1.35rem;color:var(--forest-deep) !important;padding-top:1.25rem;border-top:1px solid var(--rule)}
.legal-doc p,.legal-doc li{color:#4a4438;max-width:none}
.legal-doc ul{list-style:disc;padding-left:1.25rem;margin-bottom:1.15rem}
@media (max-width:640px){.legal-doc{border-radius:0;box-shadow:none}}

/* Mobile and tablet menu: a light sheet beneath the white header */
.site-menu{z-index:48;color:var(--charcoal);
  background:linear-gradient(180deg,#fff 0%,var(--canvas) 38%,var(--cream) 100%);
  padding-block:calc(104px + 1.25rem) 2.5rem}
.site-menu nav ul{gap:0;border-top:1px solid var(--rule)}
.site-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--serif);font-size:clamp(1.4rem,1.15rem + 1.4vw,1.9rem);line-height:1.2;
  padding:.95rem .25rem;border-bottom:1px solid var(--rule);color:var(--charcoal);opacity:1;
  transition:color .2s ease,padding-left .25s ease}
.site-menu nav a::after{content:"";flex:none;width:9px;height:9px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;
  transform:rotate(45deg);opacity:.35;transition:opacity .2s ease,transform .25s ease}
.site-menu nav a:hover{color:var(--ochre-strong);padding-left:.6rem}
.site-menu nav a:hover::after{opacity:1;transform:translateX(3px) rotate(45deg)}
.site-menu nav a[aria-current=page]{color:var(--ochre-strong);padding-left:1rem;position:relative}
.site-menu nav a[aria-current=page]::before{content:"";position:absolute;left:0;top:28%;bottom:28%;width:3px;border-radius:2px;background:var(--gold)}
.site-menu nav a[aria-current=page]::after{opacity:1}
.site-menu__side{margin-top:2rem;padding:1.5rem;border:0;border-radius:12px;background:#fff;box-shadow:var(--card-shadow);gap:1rem}
.site-menu__side .kicker{margin:0}
.site-menu__note{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.site-menu__side .btn{width:100%;text-align:center}
.site-menu__contact{gap:0;color:var(--charcoal);font-size:.95rem}
.site-menu__contact a{display:flex;align-items:center;gap:.85rem;padding:.8rem 0;border-top:1px solid var(--rule);text-decoration:none}
.site-menu__contact a:hover{color:var(--ochre-strong);text-decoration:none}
.site-menu__contact .foot-list__icon{width:38px;height:38px;margin:0;padding:8px;border-radius:50%;background:var(--cream);color:var(--ochre-strong)}
.site-menu__contact span{display:grid;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.site-menu__contact small{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.menu-toggle__bars,.menu-toggle__bars::before,.menu-toggle__bars::after{height:2px;border-radius:2px}
.menu-toggle__bars::after{transform:translateY(5px)}
.is-menu-open .menu-toggle__bars::before{transform:rotate(45deg)}
.is-menu-open .menu-toggle__bars::after{transform:translateY(-2px) rotate(-45deg)}
.is-menu-open .site-head{box-shadow:none}
@media (max-width:640px){.site-menu{padding-block:calc(70px + 1rem) 2rem}}

/* Footer: one deep, quiet anchor in near-black green with cream and gold */
.site-foot{background:var(--foot);color:rgba(244,236,218,.82);border-top:3px solid var(--gold)}
.site-foot__name{color:#fff}
.site-foot__tag{color:var(--gold-light);margin-bottom:.9rem}
.site-foot__about{font-size:.92rem;line-height:1.6;color:rgba(244,236,218,.62);max-width:34ch;margin:0 0 1.5rem}
.foot-h{color:var(--gold-light);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.15rem}
.foot-list{color:rgba(244,236,218,.78);gap:.65rem}
.foot-list a{transition:color .2s ease}
.foot-list a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.3em}
.foot-list--contact{gap:.8rem}
.foot-list--contact a,.foot-list--contact .foot-list__plain,.foot-list--contact .foot-whatsapp{align-items:center;gap:.75rem}
.foot-list--contact .foot-list__icon{width:32px;height:32px;margin:0;padding:7px;border-radius:50%;
  background:rgba(244,236,218,.07);border:1px solid rgba(244,236,218,.12);color:var(--gold-light);transition:background-color .2s ease,color .2s ease}
.foot-list--contact a:hover .foot-list__icon,.foot-whatsapp:hover .foot-list__icon{background:var(--gold);border-color:var(--gold);color:var(--foot)}
.foot-list--contact span{overflow-wrap:anywhere}
.foot-whatsapp:hover{color:#fff}
.social-row{gap:.6rem}
.social-row a,.social-row__icon{width:40px;height:40px;border-radius:50%;background:rgba(244,236,218,.07);
  border:1px solid rgba(244,236,218,.16);color:var(--cream);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.social-row svg{width:17px;height:17px}
.social-row a:hover{background:var(--gold);border-color:var(--gold);color:var(--foot);transform:translateY(-2px)}
.social-row__icon--pending{opacity:.4}
.site-foot__base{border-top-color:rgba(244,236,218,.12);color:rgba(244,236,218,.55);align-items:center}
.site-foot__legal{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.site-foot__legal a{color:inherit;text-decoration:none}
.site-foot__legal a:hover{color:#fff}
@media (max-width:640px){.social-row a,.social-row__icon{width:40px;height:40px}}

/* Centred heads and banners: centre the small label and the tagline rule too */
.text-center > .kicker,.text-center .section-head .kicker,.section-head.text-center .kicker,.founders-head .kicker{margin-inline:auto}
.hero__body.text-center .hero__tagline::after,.hero--about .hero__tagline::after{margin-inline:auto}
.hero__body{max-width:880px}
.site-foot__cols{grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr) minmax(0,1.45fr)}
.foot-list--contact{font-size:.9rem}
.foot-list--contact .foot-list__icon{padding:5px}
@media (max-width:640px){.site-foot__cols{grid-template-columns:1fr}}
.kicker.text-center{margin-inline:auto}
@media (max-width:640px){.hero h1 br{display:none}}

/* Second refinement pass */
.process-steps{list-style:none;padding:0}
.hero__body.text-center .hero__statement,.hero__body.text-center h1{margin-inline:auto}
.price-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-bottom:1rem}
.price-guide-grid .card--premium{padding:1.6rem !important}
@media (max-width:1100px){.price-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.price-guide-grid{grid-template-columns:1fr}}
.group .card--service{background:var(--canvas);box-shadow:none;border-color:rgba(92,72,36,.08);padding:1.75rem 1.5rem}
.group .card--service:hover{background:#fff;box-shadow:var(--card-shadow)}
.site-foot__top{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
.site-foot__cols{grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr) minmax(0,1.6fr)}
@media (max-width:860px){.site-foot__top{grid-template-columns:1fr}}
@media (max-width:640px){.site-foot__cols{grid-template-columns:1fr}}
.site-foot__top{grid-template-columns:minmax(0,3.5fr) minmax(0,8.5fr)}
@media (max-width:860px){.site-foot__top{grid-template-columns:1fr}}
.social-row{gap:.5rem;flex-wrap:nowrap}
.social-row a,.social-row__icon{width:38px;height:38px;flex:none}

/* About: mission and vision */
.purpose__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.purpose__media{position:relative;margin:0;aspect-ratio:4/5;border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow)}
.purpose__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.purpose__body h2{color:var(--forest-deep);margin-bottom:1.75rem}
.purpose__item{background:#fff;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:1.5rem 1.75rem;box-shadow:0 6px 22px rgba(60,44,16,.05)}
.purpose__item + .purpose__item{margin-top:1.25rem}
.purpose__item h3{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .6rem}
.purpose__item p{font-family:var(--serif);font-size:clamp(1.15rem,1rem + .55vw,1.45rem);line-height:1.5;color:var(--charcoal);margin:0;max-width:none}
@media (max-width:860px){.purpose__grid{grid-template-columns:1fr}.purpose__media{aspect-ratio:16/10}}

/* Banners: gentle overall dim, soft vignette and a faint film grain */
.hero__media img{filter:saturate(1.06) contrast(1.04) brightness(.9)}
.hero__media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 120% 95% at 62% 42%,rgba(12,9,5,0) 42%,rgba(12,9,5,.42) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Logo: smaller from tablet up, so the bar stays slim on large screens */
@media (min-width:641px){
  .brand{width:78px;margin-block:5px;padding:3px}
  .site-menu{padding-block:calc(90px + 1.25rem) 2.5rem}
}
.credit-list{list-style:disc;padding-left:1.25rem;font-size:.9rem}
.credit-list li{margin-bottom:.35rem}
.credit-list a{color:var(--ochre-strong)}
.zig-zag-content .stats-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:460px}
.zig-zag-content .stat-item{min-width:0;padding:1.25rem .75rem}

/* Grouped navigation: desktop dropdowns */
.site-nav-desktop .has-sub{position:relative;display:flex;align-items:center;gap:.15rem}
.sub-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}
.sub-toggle svg{width:12px;height:12px;transition:transform .2s ease}
.sub-toggle:hover{background:var(--cream)}
.site-nav-desktop .sub{position:absolute;top:calc(100% + 12px);left:-.85rem;z-index:60;display:grid;gap:0;min-width:236px;margin:0;padding:.5rem;
  list-style:none;background:#fff;border:1px solid rgba(92,72,36,.08);border-radius:10px;box-shadow:0 20px 44px rgba(40,30,10,.14);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.site-nav-desktop .sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.site-nav-desktop .has-sub:hover .sub,.site-nav-desktop .has-sub:focus-within .sub,.site-nav-desktop .has-sub.is-open .sub{opacity:1;visibility:visible;transform:none}
.site-nav-desktop .has-sub:hover .sub-toggle svg,.site-nav-desktop .has-sub.is-open .sub-toggle svg{transform:rotate(180deg)}
.site-nav-desktop .sub a{display:block;padding:.62rem .8rem;border-radius:6px;font-size:.92rem;white-space:nowrap}
.site-nav-desktop .sub a::after{display:none}
.site-nav-desktop .sub a:hover,.site-nav-desktop .sub a[aria-current="page"]{background:var(--cream);color:var(--ochre-strong)}
@media (min-width:861px){
  .site-nav-desktop .has-sub.is-current > a{color:var(--ochre-strong)}
  .site-nav-desktop .has-sub.is-current > a::after{transform:scaleX(1);transform-origin:left}
}

/* Grouped navigation: mobile menu sub-links */
.site-menu nav .site-menu__sub{border-top:0;margin:-.35rem 0 .55rem;padding-left:1rem;border-left:1px solid rgba(196,154,69,.5)}
.site-menu nav .site-menu__sub a{font-family:var(--sans);font-size:1rem;line-height:1.3;padding:.55rem .25rem;border-bottom:0;color:var(--muted)}
.site-menu nav .site-menu__sub a::after{width:7px;height:7px}
.site-menu nav .site-menu__sub a:hover,.site-menu nav .site-menu__sub a[aria-current=page]{color:var(--ochre-strong);padding-left:.6rem}
.site-menu nav .site-menu__sub a[aria-current=page]::before{display:none}
@media (min-width:861px){.site-nav-desktop > ul{align-items:center}.site-nav-desktop > ul > li{display:flex;align-items:center}}

/* ==========================================================================
   22. Mobile refinement: tighter rhythm, swipeable rows, compact cards
   ========================================================================== */
@media (max-width:640px){
  /* Headings: no indent where the accent bar is hidden */
  .section-head h2,.split > h2,.group__head h2,.split > div > h2{padding-left:0}
  .section-head{margin-bottom:1.75rem}
  .section-head.text-center h2::after{margin-top:.8rem}
  h2{font-size:clamp(1.75rem,7.4vw,2.2rem)}
  .zig-zag-content h2,.honeymoon-intro h2,.bg-gradient-romantic h2{font-size:clamp(1.8rem,7.6vw,2.3rem) !important}
  .zig-zag-row{gap:1.75rem;margin-bottom:3rem}
  .zig-zag-content{padding-left:0 !important}

  /* Swipeable rows: destinations and testimonials scroll sideways with a peek of the next card */
  .dest-tiles,.snap-row{display:flex !important;gap:.85rem !important;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) .5rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dest-tiles::-webkit-scrollbar,.snap-row::-webkit-scrollbar{display:none}
  .dest-tiles > *{flex:0 0 72%;scroll-snap-align:start;aspect-ratio:3/4 !important}
  .dest-tiles h3{font-size:1.5rem !important}
  .snap-row > *{flex:0 0 86%;scroll-snap-align:start}
  .testimonial-card{padding:1.75rem 1.5rem}
  .testimonial-quote{font-size:1rem}

  /* Icon cards (values, what we arrange): icon beside the text instead of a tall centred box */
  .card--service{padding:1.25rem 1.25rem;text-align:left}
  .card--service:has(> svg){display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:1rem;align-items:start}
  .card--service > svg{grid-row:1 / span 2;width:44px !important;height:44px !important;padding:10px;margin:0 !important;
    border-radius:50%;background:var(--cream);box-shadow:inset 0 0 0 1px rgba(196,154,69,.35)}
  .card--service h3{font-size:1.15rem !important;margin:0 0 .3rem !important}
  .card--service p{font-size:.92rem !important;margin:0 !important}
  .service-grid,.highlight-grid{gap:.85rem !important}
  .highlight-item{gap:1rem}
  .highlight-icon{width:46px;height:46px}

  /* Services page: groups read as clean lists */
  .group{padding:1.5rem 1rem !important;margin-bottom:2rem !important}
  .group .section-head{margin-bottom:1.25rem !important}
  .group .service-grid{gap:0 !important}
  .group .card--service{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;padding:1rem .25rem}
  .group .card--service:last-child{border-bottom:0}
  .group .card--service::before{display:none}
  .group .card--service:hover{background:transparent;box-shadow:none;transform:none}
  .price-guide-grid{gap:.85rem}
  .price-guide-grid .card--premium{padding:1.35rem !important}
  .filter-bar{gap:.45rem}
  .chip{padding:.45rem .9rem;font-size:.84rem}

  /* Cards with photos: tidy body spacing */
  .card--premium__img{aspect-ratio:16/10}
  .journey-grid{gap:1.25rem}

  /* About and honeymoon collages: one framed photo is calmer on a small screen */
  .collage{min-height:0}
  .collage img:nth-child(1){position:relative;width:100%;aspect-ratio:4/3}
  .collage img:nth-child(2){display:none}
  .stats-container{margin-top:2rem !important}

  /* Founders and process cards */
  .founder-card{padding:2rem 1.25rem}
  .founder-card__portrait{width:min(180px,58%)}
  .process-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:1rem;padding:1.25rem}
  .process-steps__num{grid-row:1 / span 2;margin:0}
  .process-steps h3{margin:0 0 .25rem}
  .purpose__item{padding:1.25rem 1.25rem}
  .purpose__body h2{margin-bottom:1.25rem}

  /* FAQ */
  .faq-question{padding:1.15rem 1.25rem;font-size:1.05rem;gap:1rem}
  .faq-answer{padding:0 1.25rem 1.25rem}

  /* Closing banner */
  .cta-block h2{font-size:clamp(1.8rem,8vw,2.3rem)}

  /* Footer: Explore and Services side by side, contact below */
  .site-foot__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.25rem}
  .site-foot__cols > div:last-child{grid-column:1 / -1}
  .foot-list{font-size:.9rem}
  .site-foot__base{text-align:center;align-items:center}
  .site-foot__legal{justify-content:center}
}
@media (max-width:640px){.dest-tiles,.snap-row{scroll-padding-inline:var(--gutter)}}
@media (max-width:640px){.price-guide-grid .card--premium p{flex:0 0 auto !important;margin-bottom:.25rem}.split{gap:1rem}.split .btn-row{margin-top:1rem}}

/* Testimonials: the decorative quote mark sits in its own space above the text */
.testimonial-card{padding-top:4.25rem}
.testimonial-card::before{top:.9rem;left:1.4rem;font-size:4.5rem;line-height:1}

@media (max-width:640px){
  /* Mobile menu: spacing instead of divider lines */
  .site-menu nav ul{border-top:0}
  .site-menu nav a{border-bottom:0;padding:.7rem .25rem}
  .site-menu nav .site-menu__sub{border-left:0;margin:-.4rem 0 .4rem;padding-left:1.1rem}
  .site-menu nav .site-menu__sub a{padding:.45rem .25rem}
  .site-menu__contact a{border-top:0;padding:.55rem 0}
  .site-menu__side{margin-top:1.5rem}

  /* Heading accent bars: hidden on small screens so they never touch the text */
  .section-head h2::before,.split > h2::before,.group__head h2::before,.split > div > h2::before,
  .card--premium h2::before{display:none}
  .section-head h2,.split > h2,.group__head h2,.split > div > h2{padding-left:0}

  .testimonial-card{padding-top:3.9rem}
}

/* ==========================================================================
   23. Alignment pass: every heading, label and paragraph starts on the same
   left edge as the logo and page content, on all screen sizes.
   ========================================================================== */
.section-head h2,.split > h2,.group__head h2,.split > div > h2{padding-left:0}
.section-head h2::before,.split > h2::before,.group__head h2::before,.split > div > h2::before{display:none}
/* Banner text uses the full page width, so it lines up with the logo */
.hero__body{max-width:var(--shell) !important;margin-inline:auto}
.hero__body > *{max-width:640px}
.hero__body > h1{max-width:15ch}
.hero__body.text-center > *{margin-inline:auto}

/* ==========================================================================
   24. Forms, feedback messages and traveller reviews
   ========================================================================== */
#enquiry,#share{scroll-margin-top:96px}
.enquiry-card{padding:clamp(1.5rem,4vw,3rem) !important;border:0 !important;box-shadow:var(--card-shadow);background:#fff}
.enquiry-card > h2,.enquiry-card__title{font-size:clamp(1.6rem,1.3rem + 1vw,2rem);color:var(--forest-deep);margin-bottom:.75rem}
.form-intro{font-size:.95rem;color:var(--muted);margin-bottom:1.5rem}
.form-intro a{color:var(--ochre-strong);font-weight:600}
.form-note{text-align:center;margin-top:1.25rem}
.enquiry-card .form-grid{padding:0;border:0;background:none}
.enquiry-card .btn[type=submit]{width:100%;text-align:center}

/* Success and error panels sit inside the form card, where the visitor is looking */
.form-success{display:grid;grid-template-columns:44px minmax(0,1fr);gap:1rem;align-items:start;padding:1.5rem;border-radius:10px;
  background:#eef6ef;border:1px solid rgba(0,104,56,.18);outline:none}
.form-success > svg{width:44px;height:44px;color:var(--ochre-strong)}
.form-success h3{font-size:1.3rem;color:var(--forest-deep);margin:.35rem 0 .5rem}
.form-success p{font-size:.95rem;color:#3f4a40;margin-bottom:1rem}
.form-success a:not(.link-quiet){color:var(--ochre-strong);font-weight:600}
.form-alert{margin:0 0 1.25rem;padding:.9rem 1.1rem;border-radius:8px;background:#fbeeea;border:1px solid rgba(178,58,34,.25);color:#8a2a17;font-size:.92rem;outline:none}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#c0472e !important;background:#fffaf8}
.field__error{font-size:.82rem;color:#a63a22;font-weight:500}
.field label small{font-weight:400;color:var(--muted)}
.field--hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.field--check label{display:flex;gap:.65rem;align-items:flex-start;font-weight:400;font-size:.92rem;line-height:1.5;cursor:pointer}
.field--check input{width:18px !important;height:18px;flex:none;margin-top:.15rem;accent-color:var(--ochre-strong)}

/* Star rating input (right-to-left so hovering a star lights it and the ones before) */
.rating-input{border:0;margin:0;padding:0}
.rating-input legend{font-size:.875rem;font-weight:500;margin-bottom:.45rem;padding:0}
.rating-input__stars{display:inline-flex;flex-direction:row-reverse;gap:.25rem}
.rating-input__stars input{position:absolute;opacity:0;width:1px;height:1px}
.rating-input__stars label{cursor:pointer;line-height:0}
.rating-input__stars svg{width:34px;height:34px;fill:#e8dcc0;transition:fill .15s ease,transform .15s ease}
.rating-input__stars label:hover svg,.rating-input__stars label:hover ~ label svg,
.rating-input__stars input:checked ~ label svg{fill:var(--gold)}
.rating-input__stars label:hover svg{transform:scale(1.08)}
.rating-input__stars input:focus-visible + label svg{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}

/* Star display */
.stars{display:inline-flex;gap:2px;margin-bottom:.9rem}
.stars svg{width:17px;height:17px;fill:#e8dcc0}
.stars svg.is-on{fill:var(--gold)}

/* Review cards (homepage and reviews page) */
.testimonial-card{margin:0}
.testimonial-card .stars + .testimonial-quote{margin-top:0}
.testimonial-quote{margin:0 0 1.5rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.85rem}
.testimonial-author strong{display:block;font-weight:600;color:var(--charcoal)}
.testimonial-author small{display:block;font-size:.8rem;color:var(--muted);line-height:1.4}
.testimonial-avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;
  background:var(--cream);color:var(--gold-deep);font-weight:700;font-size:.9rem;box-shadow:inset 0 0 0 1px rgba(196,154,69,.35)}
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.review-card{display:flex;flex-direction:column}
.review-card .testimonial-quote{flex:1}
.review-empty,.review-invite p{max-width:56ch;margin:0 auto;text-align:center;color:var(--muted)}
.review-invite{display:grid;justify-items:center;gap:1.4rem;padding:clamp(1.75rem,4vw,2.75rem);background:#fff;border-radius:12px;box-shadow:var(--card-shadow);max-width:720px;margin:0 auto}
.review-share{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.review-share__intro h2{color:var(--forest-deep)}
.review-share__points{display:grid;gap:.7rem;margin-top:1.5rem;font-size:.94rem;color:var(--muted)}
.review-share__points li{position:relative;padding-left:1.4rem}
.review-share__points li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.review-share__points a{color:var(--ochre-strong);font-weight:600}
@media (max-width:860px){.review-share{grid-template-columns:1fr}}

/* Offer button opens WhatsApp */
.btn-whatsapp{display:inline-flex;align-items:center;gap:.6rem}
.btn-whatsapp svg{width:19px;height:19px;flex:none}
.promo-card__hint{font-size:.8rem;color:var(--muted)}
@media (max-width:760px){.promo-card__actions .btn-whatsapp{justify-content:center}.promo-card__hint{width:100%;text-align:center}}
.rating-input__stars{width:max-content}

/* ==========================================================================
   25. Reviews page: rating summary, spotlight quote and review wall
   ========================================================================== */
.reviews-top{display:grid;grid-template-columns:minmax(280px,4fr) minmax(0,8fr);gap:clamp(1.25rem,3vw,2.25rem);align-items:stretch;margin-bottom:clamp(3rem,6vw,4.5rem)}

.rating-summary{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,2.25rem);background:#fff;border-radius:14px;box-shadow:var(--card-shadow)}
.rating-summary .kicker{margin-bottom:.5rem}
.rating-summary__score{font-family:var(--serif);font-size:clamp(3.4rem,2.6rem + 2.5vw,4.6rem);line-height:1;color:var(--forest-deep);margin:0 0 .4rem}
.rating-summary__score span{font-family:var(--sans);font-size:1.05rem;color:var(--muted);margin-left:.35rem}
.rating-summary .stars{margin-bottom:.6rem}
.rating-summary .stars svg{width:22px;height:22px}
.rating-summary__count{font-size:.9rem;color:var(--muted);margin-bottom:1.4rem}
.rating-bars{display:grid;gap:.5rem;margin:0 0 1.75rem;font-size:.84rem;color:var(--muted)}
.rating-bars li{display:grid;grid-template-columns:4.2rem minmax(0,1fr) 1.5rem;align-items:center;gap:.65rem}
.rating-bars li span:last-child{text-align:right;color:var(--charcoal);font-weight:600}
.rating-bars__track{height:8px;border-radius:99px;background:var(--cream);overflow:hidden}
.rating-bars__track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}
.rating-summary .btn{margin-top:auto;text-align:center}

.review-spotlight{position:relative;margin:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4.5vw,3.5rem);border-radius:14px;overflow:hidden;
  color:#fff;background:
    linear-gradient(120deg,rgba(19,38,28,.94) 0%,rgba(19,38,28,.82) 55%,rgba(19,38,28,.6) 100%),
    url("../images/about-hero.jpg") center 60% / cover no-repeat;box-shadow:var(--card-shadow)}
.review-spotlight__mark{width:56px;height:42px;fill:var(--gold);opacity:.9;margin-bottom:1.25rem}
.review-spotlight .stars{margin-bottom:1rem}
.review-spotlight .stars svg{fill:rgba(255,255,255,.25)}
.review-spotlight .stars svg.is-on{fill:var(--gold-light)}
.review-spotlight blockquote{margin:0 0 2rem;font-family:var(--serif);font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);line-height:1.45;max-width:38ch}
.review-spotlight figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem}
.review-spotlight figcaption strong{display:block;font-weight:600}
.review-spotlight figcaption small{display:block;font-size:.85rem;color:rgba(255,255,255,.7)}
.review-spotlight .testimonial-avatar{background:rgba(255,255,255,.12);color:var(--gold-light);box-shadow:inset 0 0 0 1px rgba(228,200,140,.45)}
.review-spotlight .trip-tag{margin-left:auto;background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}

.trip-tag{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:99px;border:1px solid rgba(196,154,69,.4);background:var(--cream);
  color:var(--gold-deep);font-size:.72rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}

.reviews-wall-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:1.75rem}
.reviews-wall-head h2{margin:0;color:var(--forest-deep)}
.reviews-wall-head .filter-bar{margin:0}
.reviews-wall{columns:3 300px;column-gap:1.5rem}
.reviews-wall .review-card{break-inside:avoid;margin:0 0 1.5rem;display:block;padding:1.75rem 1.6rem}
.reviews-wall .review-card.is-filtered-out{display:none !important}
.review-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}
.review-card__top .stars{margin:0}
.reviews-wall .testimonial-quote{margin-bottom:1.25rem}

.review-invite h2{color:var(--forest-deep);margin:0}
.review-invite .kicker{margin:0}

@media (max-width:900px){
  .reviews-top{grid-template-columns:1fr}
  .rating-summary .btn{margin-top:0}
}
@media (max-width:640px){
  .reviews-wall{columns:1}
  .reviews-wall-head .filter-bar{overflow-x:auto;flex-wrap:nowrap;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) .25rem;scrollbar-width:none}
  .reviews-wall-head .filter-bar::-webkit-scrollbar{display:none}
  .reviews-wall-head .chip{flex:none}
  .review-spotlight .trip-tag{margin-left:0}
}
/* Review wall: no per-card fade (it misfires inside CSS columns), no overlapping quote mark */
html.js .reviews-wall[data-reveal] > figure,.reviews-wall > figure{opacity:1;transform:none;transition:none}
.reviews-wall .review-card::before{display:none}
.review-spotlight figcaption strong{color:#fff}

/* ==========================================================================
   26. Mobile and tablet menu: deep green sheet, cream serif links,
   sub-pages as tappable chips, gold call-to-action and quick contacts.
   ========================================================================== */
.site-menu{background:
    radial-gradient(120% 60% at 100% 0%,rgba(196,154,69,.16) 0%,rgba(196,154,69,0) 60%),
    linear-gradient(180deg,#13261c 0%,#0f1f17 100%);
  color:var(--cream);padding-block:calc(84px + 1.25rem) 2rem}
@media (min-width:641px){.site-menu{padding-block:calc(90px + 1.5rem) 2.5rem}}
.site-menu__grid{gap:1.75rem}

/* Primary links */
.site-menu .site-menu__list{display:grid;gap:.15rem;border:0;margin:0;padding:0}
.site-menu .site-menu__item{padding:.2rem 0 .55rem;border-bottom:1px solid rgba(244,236,218,.08)}
.site-menu .site-menu__item:last-child{border-bottom:0}
.site-menu nav a.site-menu__link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.55rem 0 .35rem;border:0;font-family:var(--serif);font-size:clamp(1.65rem,1.35rem + 1.6vw,2.2rem);line-height:1.15;
  color:var(--cream);opacity:1;text-decoration:none;transition:color .2s ease,padding-left .25s ease}
.site-menu nav a.site-menu__link::before{display:none}
.site-menu nav a.site-menu__link::after{content:"";width:9px;height:9px;flex:none;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;
  transform:rotate(45deg);opacity:.4;transition:opacity .2s ease,transform .25s ease}
.site-menu nav a.site-menu__link:hover{color:#fff;padding-left:.35rem}
.site-menu nav a.site-menu__link:hover::after{opacity:1;transform:translateX(3px) rotate(45deg)}
.site-menu .is-here > a.site-menu__link{color:var(--gold-light);padding-left:1.1rem}
.site-menu .is-here > a.site-menu__link::before{content:"";display:block;position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-1px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(196,154,69,.18)}
.site-menu .is-here > a.site-menu__link::after{opacity:.9}

/* Sub-pages as chips, always visible */
.site-menu .site-menu__chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .2rem;padding:0;border:0}
.site-menu .site-menu__chips li{opacity:1;transform:none}
.site-menu nav .site-menu__chips a{display:inline-flex;align-items:center;padding:.42rem .9rem;border:1px solid rgba(244,236,218,.2);border-radius:99px;
  background:rgba(244,236,218,.05);font-family:var(--sans);font-size:.88rem;font-weight:500;line-height:1.2;color:rgba(244,236,218,.88);
  text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.site-menu nav .site-menu__chips a::before,.site-menu nav .site-menu__chips a::after{display:none}
.site-menu nav .site-menu__chips a:hover{background:rgba(244,236,218,.12);border-color:rgba(228,200,140,.55);color:#fff;padding-left:.9rem}
.site-menu nav .site-menu__chips a[aria-current=page]{background:var(--gold);border-color:var(--gold);color:#13261c;font-weight:600;padding-left:.9rem}

/* Contact block */
.site-menu .site-menu__side{margin:0;padding:1.4rem 1.25rem 1.25rem;border:1px solid rgba(244,236,218,.1);border-radius:14px;
  background:rgba(244,236,218,.05);box-shadow:none;color:var(--cream);gap:.9rem}
.site-menu__eyebrow{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.site-menu .site-menu__note{margin:0;color:rgba(244,236,218,.72);font-size:.94rem;line-height:1.55}
.site-menu .site-menu__cta{width:100%;text-align:center;background:var(--gold);border:1px solid var(--gold);color:#13261c;font-weight:700}
.site-menu .site-menu__cta:hover{background:var(--gold-light);border-color:var(--gold-light);color:#13261c}
.site-menu__quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.site-menu__quick a{display:grid;justify-items:center;gap:.4rem;padding:.75rem .25rem .65rem;border-radius:10px;border:1px solid rgba(244,236,218,.12);
  color:var(--cream);text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.02em;transition:background-color .2s ease,border-color .2s ease}
.site-menu__quick a:hover{background:rgba(244,236,218,.08);border-color:rgba(228,200,140,.5)}
.site-menu__quick .foot-list__icon{width:36px;height:36px;margin:0;padding:8px;border-radius:50%;background:rgba(196,154,69,.16);color:var(--gold-light)}
.site-menu__hours{margin:0;font-size:.8rem;color:rgba(244,236,218,.5);text-align:center}

/* Header while the menu is open: a hairline in place of the shadow */
.is-menu-open .site-head{box-shadow:none;border-bottom-color:rgba(19,38,28,.12)}

@media (min-width:641px) and (max-width:1100px){
  .site-menu__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
}

/* ==========================================================================
   27. Mobile and tablet menu, cream edition: every page is an equal tile.
   ========================================================================== */
.site-menu{background:
    radial-gradient(120% 55% at 100% 0%,rgba(196,154,69,.14) 0%,rgba(196,154,69,0) 60%),
    linear-gradient(180deg,#f8f1e2 0%,var(--cream) 100%);
  color:var(--charcoal)}
.site-menu__grid{gap:1.25rem}

.menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none}
.site-menu nav .menu-tiles li{opacity:1;transform:none}
html.js .site-menu nav .menu-tiles li{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;transition-delay:calc(var(--i,0) * 35ms)}
html.js .site-menu.is-showing nav .menu-tiles li{opacity:1;transform:none}
.site-menu nav a.menu-tile{display:flex;align-items:center;gap:.7rem;height:100%;min-height:68px;padding:.75rem .8rem;border:1px solid rgba(92,72,36,.1);
  border-radius:12px;background:#fff;color:var(--charcoal);text-decoration:none;font-family:var(--sans);font-size:1rem;line-height:1.2;
  box-shadow:0 4px 14px rgba(60,44,16,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.site-menu nav a.menu-tile::before,.site-menu nav a.menu-tile::after{display:none}
.site-menu nav a.menu-tile:hover{border-color:rgba(196,154,69,.6);box-shadow:0 8px 22px rgba(60,44,16,.09);transform:translateY(-1px);padding-left:.8rem}
.menu-tile__icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--ochre-strong);
  box-shadow:inset 0 0 0 1px rgba(196,154,69,.35)}
.menu-tile__icon svg{width:19px;height:19px}
.menu-tile__text{min-width:0}
.menu-tile__text strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.06rem;color:var(--forest-deep)}
.menu-tile__text small{display:block;margin-top:.15rem;font-size:.74rem;color:var(--muted);line-height:1.3}
.site-menu nav a.menu-tile[aria-current=page]{background:var(--forest-deep);border-color:var(--forest-deep);box-shadow:0 8px 22px rgba(19,38,28,.22)}
.site-menu nav a.menu-tile[aria-current=page] .menu-tile__icon{background:var(--gold);color:var(--forest-deep);box-shadow:none}
.site-menu nav a.menu-tile[aria-current=page] strong{color:#fff}
.site-menu nav a.menu-tile[aria-current=page] small{color:rgba(244,236,218,.7)}

/* Contact card: deep green so it stands apart from the cream tiles */
.site-menu .site-menu__side{background:var(--forest-deep);border-color:var(--forest-deep);color:var(--cream);
  box-shadow:0 14px 34px rgba(19,38,28,.2)}

@media (max-width:359px){
  .menu-tiles{grid-template-columns:1fr}
}
@media (min-width:641px) and (max-width:1100px){
  .menu-tiles{gap:.75rem}
  .site-menu nav a.menu-tile{min-height:76px;padding:.9rem 1rem}
}
/* Menu tiles: the site cream, aligned text, even spacing and heights */
.site-menu{background:var(--cream)}
.site-menu nav ul.menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:.6rem;border:0}
.site-menu nav a.menu-tile{justify-content:flex-start;text-align:left;padding:.7rem .75rem;gap:.65rem}
.site-menu nav a.menu-tile:hover{padding-left:.75rem}
.menu-tile__text strong{font-size:1rem;line-height:1.2}
.menu-tile__text small{font-size:.72rem}
.menu-tile__icon{width:36px;height:36px}
@media (max-width:359px){.site-menu nav ul.menu-tiles{grid-template-columns:1fr;grid-auto-rows:auto}}
@media (min-width:641px) and (max-width:1100px){.site-menu nav ul.menu-tiles{gap:.75rem}.site-menu nav a.menu-tile{padding:.9rem 1rem}}
.site-menu nav ul.menu-tiles > li:last-child:nth-child(odd){grid-column:1 / -1}
