/* ============================================================
   Visit Salto — shared design system
   Palette & typography aligned with saltouruguay.com
   Edit here once; every page follows.
   ============================================================ */

:root{
  color-scheme:only light;   /* el sitio es claro: que Chrome/Android no lo oscurezca solo */
  --cream:#F5F1E8;
  --green:#173B35;
  --green-deep:#0f2925;
  --terracotta:#C0603A;
  --gold:#D9982F;
  --line:rgba(23,59,53,.16);
  --muted:rgba(23,59,53,.72);
  --chrome-h:68px;            /* unified top bar */
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
/* Escala tipografica (11-sep-2026): todo el sistema esta en rem, asi que 112.5% = 18px agranda letra y
   controles ~12% sin tocar anchos (los contenedores estan en px). Volver a 100% deshace todo. */
html{scroll-behavior:smooth;background:var(--cream);font-size:112.5%}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:transparent;   /* html carries the colour so the canvas can sit behind */
  color:var(--green);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
::selection{background:var(--gold);color:var(--cream)}
img{max-width:100%}
a{color:var(--terracotta)}


/* river currents canvas (injected by salto.js) */
#river{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* ── UNIFIED TOP BAR (matches index.html) ─────────── */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,48px);height:68px;
  background:rgba(245,241,232,.94);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(23,59,53,.10);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:30px;width:auto;display:block}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.25rem;letter-spacing:.05em;color:var(--green)}
.brand-sub{margin-top:3px;font-size:.5rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:#A04627}
.top-links{display:flex;gap:clamp(12px,2vw,26px);align-items:center}
.top-links a{
  color:rgba(23,59,53,.72);font-size:.64rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  padding:6px 0 4px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;
}
.top-links a:hover{color:var(--green);border-bottom-color:var(--gold)}
.top-links a.active{color:var(--green);border-bottom-color:var(--gold)}
.top-links a.family{color:#A04627}
/* Booking call to action. Filled, so it reads as the one button up there
   rather than a seventh link: whatever page a visitor lands on, the way to
   book is always in sight. It sits first in the nav because on phones the
   link row scrolls sideways and anything further right would be off screen. */
.top-links a.book-cta{
  color:#fff;background:#B3532E;
  padding:12px 22px;line-height:1.7;border-radius:50px;border-bottom:none;
  box-shadow:0 4px 14px rgba(192,96,58,.30);
  transition:background .25s,box-shadow .25s,transform .25s;
}
.top-links a.book-cta:hover{
  color:#fff;background:#A94F2E;border-bottom-color:transparent;
  box-shadow:0 7px 20px rgba(192,96,58,.42);transform:translateY(-1px);
}
@media(max-width:1000px){
  .topbar{height:auto;flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:8px}
  .brand{justify-content:center}
  .top-links{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .top-links::-webkit-scrollbar{display:none}
  .top-links a{white-space:nowrap}
  /* pista visual de que la fila sigue hacia la derecha (no agrega ni quita items) */
  .topbar::after{content:"";position:absolute;right:0;bottom:8px;width:48px;height:52px;pointer-events:none;
    background:linear-gradient(90deg,rgba(245,241,232,0),rgba(245,241,232,.97) 65%)}
}

/* ── MORE DROPDOWN ───────────────────────────────────── */
.more{position:relative;display:flex;align-items:center}
.more-btn{
  background:none;border:0;cursor:pointer;
  font-family:'Inter',sans-serif;color:rgba(23,59,53,.72);font-size:.64rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  padding:6px 0 4px;line-height:inherit;border-bottom:1px solid transparent;transition:color .25s;
  display:inline-flex;align-items:center;gap:5px;
}
.more-caret{font-size:.55rem;transition:transform .25s}
.more-btn:hover,.more.open .more-btn{color:var(--green)}
.more.open .more-caret{transform:rotate(180deg)}
.more-btn.active{color:var(--green);border-bottom-color:var(--gold)}
.more-panel{
  position:absolute;top:calc(100% + 16px);right:-10px;min-width:150px;
  background:rgba(245,241,232,.98);backdrop-filter:blur(10px);
  border:1px solid var(--line);box-shadow:0 16px 44px rgba(23,59,53,.14);
  padding:8px 0;display:none;z-index:1001;
}
.more.open .more-panel{display:block}
.more-panel a{display:block;padding:10px 22px;border-bottom:0!important;white-space:nowrap}
.more-panel a:hover{background:rgba(217,152,47,.10)}
.m-only{display:none!important}
@media(max-width:1000px){.m-only{display:inline-block!important}.more{display:none}}

/* ── TYPOGRAPHY / SECTIONS ───────────────────────────── */
h1,h2,h3,.hero-title,.section-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.02em}
.drop{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;color:var(--terracotta)}

section{padding:clamp(60px,8vw,100px) 24px}
.section-inner{max-width:1360px;margin:0 auto}
.section-label{
  font-size:.62rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:12px;
}
.section-title{font-size:clamp(1.8rem,4.2vw,2.8rem);color:var(--green);line-height:1.15;margin-bottom:14px}
.divider{width:52px;height:1px;background:var(--gold);border-radius:0;margin-bottom:32px}
.section-intro{
  font-size:.94rem;font-weight:300;color:var(--muted);line-height:1.85;
  max-width:660px;margin-bottom:44px;
}

/* ── HERO ────────────────────────────────────────────── */
.hero{
  min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;
  padding:calc(var(--chrome-h) + 40px) 24px 64px;
  background-size:cover;background-position:center;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(245,241,232,.92) 0%,rgba(245,241,232,.66) 40%,rgba(245,241,232,.34) 68%,rgba(245,241,232,.94) 100%);
}
.hero-content{position:relative;z-index:2;max-width:1040px}
.hero-eyebrow{
  font-size:.62rem;font-weight:600;letter-spacing:.5em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:20px;
}
.hero-title{
  font-size:clamp(2.4rem,7vw,4.6rem);color:var(--green);line-height:1.04;margin-bottom:16px;
  text-shadow:none;
}
.hero-sub{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1rem,2.3vw,1.32rem)!important;
  color:rgba(23,59,53,.78)!important;line-height:1.7;letter-spacing:.01em;
  max-width:600px;margin:0 auto;
}
.hero-brand,.hero-logo{display:none}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.scroll-hint{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(23,59,53,.5);font-size:.56rem;letter-spacing:.4em;text-transform:uppercase;
}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn-primary,.btn-ghost,.buy-btn,.pkg-btn,.pkg-more-btn,.exp-search-btn{
  display:inline-block;border-radius:50px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;text-decoration:none;
  padding:14px 36px;transition:all .3s;border:1px solid transparent;
}
.btn-primary,.buy-btn,.exp-search-btn{background:var(--green);color:var(--cream);border-color:var(--green);box-shadow:none}
.btn-primary:hover,.buy-btn:hover,.exp-search-btn:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,59,53,.24)}
.btn-ghost{border-color:rgba(23,59,53,.4);color:var(--green);background:transparent}
.btn-ghost:hover{border-color:var(--gold);background:rgba(217,152,47,.12)}
.pkg-btn,.pkg-more-btn{
  background:transparent;color:var(--terracotta);border:0;border-bottom:1px solid rgba(192,96,58,.4);
  border-radius:0;padding:6px 0;font-size:.62rem;letter-spacing:.24em;
}
.pkg-btn:hover,.pkg-more-btn:hover{color:var(--green);border-color:var(--gold);transform:none;box-shadow:none;background:transparent}

/* ── GENERIC CARD LOOK (shared by every component) ───── */
.hl-card,.plan-card,.pkg-card,.faq-item,.transport-card,.story-card,.bp-card,.pc,.tip-box,.about-map{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:0 1px 2px rgba(23,59,53,.05);
  transition:transform .35s ease,box-shadow .35s ease;
}
.hl-card:hover,.plan-card:hover,.pkg-card:hover,.story-card:hover,.bp-card:hover,.pc:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 48px rgba(23,59,53,.13);
}

/* ── HIGHLIGHT CARDS ─────────────────────────────────── */
.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.hl-card{overflow:hidden}
.hl-img{
  height:170px;display:flex;align-items:center;justify-content:center;font-size:3.4rem;
}
.hl-img-termas{background:linear-gradient(135deg,#4a7c74,#2b5a52)}
.hl-img-rio{background:linear-gradient(135deg,#c98b5e,#a35a3c)}
.hl-img-dam{background:linear-gradient(135deg,#4f7f63,#24513c)}
.hl-img-gastro{background:linear-gradient(135deg,#b8674a,#8a3f2c)}
.hl-img-aurora{background:linear-gradient(135deg,#20303c,#101b26)}
.hl-img-citrus{background:linear-gradient(135deg,#dcb45c,#b98230)}
.hl-body{padding:24px}
.hl-tag,.pkg-badge,.bp-tag,.pcat,.story-card-tag,.transport-badge{
  font-size:.54rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:8px;
}
.hl-title,.pkg-title,.bp-title,.ptitle,.story-card-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.35rem;color:var(--green);line-height:1.25;margin-bottom:10px;
}
.hl-text,.pkg-desc,.pdesc,.plan-text{
  font-size:.84rem;font-weight:300;color:var(--muted);line-height:1.8;
}
.hl-link,.plan-arrow,.bp-arrow{
  display:inline-block;margin-top:14px;
  font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--terracotta);text-decoration:none;
  border-bottom:1px solid rgba(192,96,58,.35);padding-bottom:4px;
}
.hl-link:hover,.plan-arrow:hover{color:var(--green);border-color:var(--gold)}

/* ── PLAN CARDS ──────────────────────────────────────── */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.plan-card{padding:28px 24px;text-decoration:none;color:inherit;display:block}
.plan-icon{font-size:1.9rem;margin-bottom:14px;display:block}
.plan-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.25rem;
  letter-spacing:.02em;text-transform:none;color:var(--green);margin-bottom:8px;
}

/* ── FAQ ─────────────────────────────────────────────── */
.faq-wrap{max-width:1000px;margin:0 auto}
.faq-hero{text-align:center;padding:calc(var(--chrome-h) + 50px) 24px 40px}
.faq-hero-eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.5em;text-transform:uppercase;color:var(--terracotta);margin-bottom:16px}
.faq-hero-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.2rem,6vw,3.6rem);color:var(--green);line-height:1.08}
.faq-hero-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.1rem;color:var(--muted);margin-top:14px}
.faq-item{margin-bottom:12px;overflow:hidden}
.faq-item:hover{box-shadow:0 8px 26px rgba(23,59,53,.10)}
.faq-q{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;text-align:left;gap:16px;
}
.faq-q-text{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.15rem;color:var(--green);line-height:1.35;
}
.faq-icon{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:transparent;border:1px solid var(--gold);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;transition:transform .3s;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--gold);color:var(--cream)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-a{max-height:900px}
.faq-a-inner{
  padding:0 24px 22px;font-size:.86rem;font-weight:300;
  color:var(--muted);line-height:1.85;
}
.faq-a-inner strong{color:var(--green);font-weight:600}
.faq-cta-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.9rem;color:var(--green)}
.faq-cta-text{font-size:.9rem;font-weight:300;color:var(--muted);line-height:1.8;margin-top:10px}

/* ── TRANSPORT (getting there) ───────────────────────── */
.transport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.transport-card{padding:26px 24px}
.transport-type{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.transport-icon{font-size:1.5rem}
.transport-name{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.3rem;color:var(--green);letter-spacing:.02em;
}
.transport-detail{font-size:.84rem;font-weight:300;color:var(--muted);line-height:1.85}
.transport-detail strong{color:var(--green);font-weight:600}
.transport-detail ul{margin:10px 0 0;padding-left:0;list-style:none}
.transport-detail li{position:relative;padding-left:18px;margin-bottom:7px}
.transport-detail li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--gold)}
.transport-badge{
  display:inline-block;margin-bottom:0;padding:4px 12px;
  border:1px solid var(--line);border-radius:30px;background:rgba(23,59,53,.04);
}

/* origin blocks */
.origin-section{margin-bottom:44px}
.origin-header{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.origin-flag{font-size:1.6rem}
.origin-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.7rem;color:var(--green)}
.origin-label{font-size:.6rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--terracotta)}
.origin-pill{
  display:inline-block;padding:5px 14px;margin:0 6px 6px 0;
  border:1px solid var(--line);border-radius:30px;background:#fff;
  font-size:.68rem;font-weight:500;color:var(--muted);
}
.origin-divider{height:1px;background:var(--line);margin:22px 0}

/* ── STORY CARDS (blog) ──────────────────────────────── */
.blog-grid,.blog-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.story-card,.bp-card{
  padding:26px 24px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:8px;
}
.story-card-icon,.bp-icon{font-size:1.7rem;margin-bottom:4px}
.story-card-title{margin-bottom:0}
.story-card-meta{
  margin-top:auto;padding-top:10px;
  font-size:.68rem;font-weight:300;letter-spacing:.03em;color:rgba(23,59,53,.48);
}

/* ── TIP BOX ─────────────────────────────────────────── */
.tip-box{
  padding:24px 26px;margin:28px 0;
  background:rgba(217,152,47,.09);border:1px solid rgba(217,152,47,.34);
  font-size:.86rem;font-weight:300;color:var(--muted);line-height:1.8;
}
.tip-box strong{color:var(--green);font-weight:600}
.tip-label{
  display:block;font-size:.58rem;font-weight:600;letter-spacing:.32em;
  text-transform:uppercase;color:var(--terracotta);margin-bottom:8px;
}

/* ── GALLERY ─────────────────────────────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.gallery-item{
  position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/3;
  background:rgba(23,59,53,.05);border:1px solid var(--line);
  box-shadow:0 4px 18px rgba(23,59,53,.08),0 0 30px rgba(217,152,47,.22);cursor:pointer;
  transition:transform .35s ease,box-shadow .35s ease;
}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(23,59,53,.16),0 0 54px rgba(217,152,47,.4)}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-caption{
  position:absolute;inset:auto 0 0 0;padding:14px 16px;
  background:linear-gradient(transparent,rgba(15,41,37,.82));
  color:var(--cream);font-size:.78rem;font-weight:400;letter-spacing:.02em;
  opacity:0;transition:opacity .3s;
}
.gallery-item:hover .gallery-caption{opacity:1}
.gallery-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  border:1px dashed rgba(23,59,53,.25);background:rgba(23,59,53,.03);
}
.ph-icon{font-size:2.2rem;opacity:.4}
.ph-text{font-size:.72rem;color:rgba(23,59,53,.45);letter-spacing:.04em;text-align:center;padding:0 12px}
.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:rgba(15,41,37,.95);align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:4px;object-fit:contain}
.lightbox-close{position:absolute;top:18px;right:26px;color:var(--cream);font-size:2rem;cursor:pointer;line-height:1;opacity:.8}
.lightbox-close:hover{opacity:1}
.lightbox-caption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(245,241,232,.85);font-size:.82rem;letter-spacing:.03em;text-align:center}

/* ── STORE ───────────────────────────────────────────── */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.pc{overflow:hidden;display:flex;flex-direction:column}
.pt{
  height:170px;display:flex;align-items:center;justify-content:center;
  font-size:3.2rem;position:relative;
}
.pt-w{background:linear-gradient(135deg,#e8e2d4,#cfc7b4)}
.pt-d{background:linear-gradient(135deg,#3a4a44,#1d2a26)}
.pt-cap{background:linear-gradient(135deg,#4f7f63,#24513c)}
.pt-tote{background:linear-gradient(135deg,#c98b5e,#a35a3c)}
.pt-mug{background:linear-gradient(135deg,#dcb45c,#b98230)}
.pt-poster{background:linear-gradient(135deg,#4a7c74,#2b5a52)}
.pb{padding:24px;display:flex;flex-direction:column;flex:1}
.pdesc{flex:1;margin:8px 0 0}
.pprice{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.5rem;
  color:var(--green);margin:16px 0 16px;
}
.pprice small{font-family:'Inter',sans-serif;font-size:.6rem;font-weight:400;color:rgba(23,59,53,.5);margin-left:6px}
.buy-btn{text-align:center;padding:12px 26px}
.badge-new{
  position:absolute;top:14px;right:14px;
  padding:4px 11px;border-radius:30px;background:var(--gold);color:var(--green);
  font-size:.54rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.badge-blue,.badge-orange,.badge-green{
  display:inline-block;padding:4px 12px;border-radius:30px;
  font-size:.56rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--line);background:rgba(23,59,53,.04);color:var(--muted);
}
.badge-green{border-color:rgba(79,127,99,.5);color:#3d6b52;background:rgba(79,127,99,.1)}
.badge-orange{border-color:rgba(192,96,58,.5);color:var(--terracotta);background:rgba(192,96,58,.1)}
.badge-blue{border-color:rgba(74,124,116,.5);color:#3a6b64;background:rgba(74,124,116,.1)}

/* ── ABOUT ───────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about-text{font-size:.92rem;font-weight:300;color:var(--muted);line-height:1.9}
.about-text p{margin-bottom:16px}
.about-text strong{color:var(--green);font-weight:600}
.about-map{padding:26px;display:flex;align-items:center;justify-content:center;min-height:300px}
.about-map img{border-radius:4px;display:block}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:34px}}

/* ── STATS ───────────────────────────────────────────── */
.stats-bar{background:transparent;padding:0 24px;border:0}
.stats-inner{
  max-width:900px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;
}
.stat-num{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.7rem;color:var(--green)}
.stat-label{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(23,59,53,.5);margin-top:4px}
.stats-inner>div{border-top:1px solid var(--gold);padding-top:14px;text-align:left}

/* ── CTA SECTION ─────────────────────────────────────── */
.cta-section{position:relative;background:var(--green);color:var(--cream);text-align:center;overflow:hidden}
.cta-overlay{display:none}
.cta-inner{position:relative;z-index:2;max-width:920px;margin:0 auto}
.cta-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(1.8rem,4vw,2.7rem);color:var(--cream)}
.cta-title .drop{color:var(--gold)}
.cta-text{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:clamp(1rem,2.2vw,1.2rem)!important;font-weight:400!important;
  color:rgba(245,241,232,.82)!important;line-height:1.75;margin-top:16px;
}
.cta-section .btn-primary{background:var(--gold);color:var(--green);border-color:var(--gold)}
.cta-section .btn-primary:hover{background:#c9993c;box-shadow:0 12px 30px rgba(217,152,47,.3)}
.cta-section .btn-ghost{border-color:rgba(245,241,232,.45);color:var(--cream)}
.cta-section .btn-ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}

/* ── FOOTER ──────────────────────────────────────────── */
footer,#footer{
  background:var(--green-deep);color:rgba(245,241,232,.75);
  text-align:center;padding:clamp(44px,6vw,64px) 24px 30px;
}
.footer-logo img{height:40px!important;opacity:.92}  /* keeps the page-level invert filter so it reads on the dark footer */
footer a{color:rgba(245,241,232,.7)}
footer a:hover{color:var(--gold)}
.footer-copy{
  font-size:.62rem;font-weight:300;letter-spacing:.1em;
  color:rgba(245,241,232,.65);margin-top:20px;
}

/* ── REVEAL ──────────────────────────────────────────── */
.fade-in{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.fade-in.visible{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion:reduce){
  .fade-in{opacity:1;transform:none;transition:none}
}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:760px){
  .hero{min-height:52vh}
  .transport-grid,.highlights-grid{grid-template-columns:1fr}
}

/* ============================================================
   PAGE-SPECIFIC SECTIONS
   (about · store · blog · faq groups · getting-there)
   ============================================================ */

/* ── containers ──────────────────────────────────────── */
.page-content,.blog-container,.mission-inner,.values-inner,.founders-inner,.contact-inner,.summary-section{
  max-width:1120px;margin:0 auto;
}
.faq-wrap{padding:0 24px}
.blog-container,.page-content{padding:0 24px}

/* ── minimal page heroes (FAQ style) ──────────────── */
.about-hero,.page-hero,.hero-store{
  background:transparent;color:var(--green);text-align:center;
  padding:calc(var(--chrome-h) + 44px) 24px 46px;
}
.page-hero-content{max-width:1040px;margin:0 auto}
.about-hero-label,.hero-store .cat-label,.page-hero .sec-label,.page-hero .cat-label{
  font-size:.62rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:14px;
}
.about-hero-title,.page-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2rem,5.5vw,3.4rem);color:var(--green);line-height:1.1;letter-spacing:.02em;
}
.about-hero-title .drop,.page-title .drop{color:var(--terracotta)}
.about-hero-sub,.page-subtitle{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1rem,2.2vw,1.25rem);color:rgba(23,59,53,.62);
  line-height:1.7;margin-top:14px;max-width:620px;margin-left:auto;margin-right:auto;
}
.breadcrumb{
  font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(23,59,53,.45);margin-bottom:16px;
}
.breadcrumb a{color:var(--terracotta);text-decoration:none}
.breadcrumb a:hover{color:var(--green)}

/* ── group headings (faq categories, generic sections) ─ */
.cat-label,.sec-label,.mission-label{
  font-size:.62rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:10px;
}
.cat-title,.sec-title,.summary-title,.mission-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(1.6rem,3.6vw,2.3rem);color:var(--green);line-height:1.2;letter-spacing:.02em;
}
.cat-divider{width:52px;height:1px;background:var(--gold);margin:14px 0 26px}
.faq-category{margin:52px 0 18px}
.faq-category:first-of-type{margin-top:20px}
.faq-cta{text-align:center;max-width:800px;margin:56px auto 0;padding:0 24px}

/* ── mission ─────────────────────────────────────────── */
.mission-section{background:rgba(23,59,53,.04);padding-top:clamp(36px,5vw,56px)}
.mission-text{font-size:.94rem;font-weight:300;color:var(--muted);line-height:1.9;margin-top:20px}
.mission-quote{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1.2rem,3vw,1.7rem);color:var(--green);line-height:1.6;
  border:0;border-left:1px solid var(--gold);
  margin:32px 0 10px;padding:6px 0 6px 26px;
}

/* ── values ──────────────────────────────────────────── */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:36px}
.value-card{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:28px 24px;box-shadow:0 1px 2px rgba(23,59,53,.05);
  transition:transform .35s ease,box-shadow .35s ease;
}
.value-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(23,59,53,.13)}
.value-icon{font-size:1.9rem;margin-bottom:14px;display:block}
.value-num{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.05rem;color:rgba(23,59,53,.38);margin-bottom:14px}
.value-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.3rem;
  color:var(--green);margin-bottom:8px;letter-spacing:.02em;
}
.value-text{font-size:.84rem;font-weight:300;color:var(--muted);line-height:1.8}

/* ── founders ────────────────────────────────────────── */
.founders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:36px}
.founder-card{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:30px 26px;text-align:center;box-shadow:0 1px 2px rgba(23,59,53,.05);
  transition:transform .35s ease,box-shadow .35s ease;
}
.founder-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(23,59,53,.13)}
.founder-photo{
  width:180px;height:180px;border-radius:50%;object-fit:cover;display:block;
  margin:0 auto 18px;border:1px solid var(--line);
  box-shadow:0 6px 22px rgba(23,59,53,.12),0 0 34px rgba(217,152,47,.32);
}
.founder-name{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.35rem;
  color:var(--green);letter-spacing:.02em;
}
.founder-role{
  font-size:.58rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terracotta);margin-top:6px;
}
.founder-bio{font-size:.84rem;font-weight:300;color:var(--muted);line-height:1.8;margin-top:14px}
.founder-linkedin{
  display:inline-block;margin-top:16px;
  font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--terracotta);text-decoration:none;
  border-bottom:1px solid rgba(192,96,58,.35);padding-bottom:4px;
}
.founder-linkedin:hover{color:var(--green);border-color:var(--gold)}

/* ── contact ─────────────────────────────────────────── */
.contact-section{background:var(--green);color:var(--cream);text-align:center}
.contact-section .sec-title,.contact-section .cat-title,.contact-section .section-title{color:var(--cream)}
.contact-section .section-label{color:var(--gold)}
.contact-section .drop{color:var(--gold)}
.contact-section p{color:rgba(245,241,232,.85)}
.contact-section .divider{background:var(--gold);margin-left:auto;margin-right:auto}
.contact-section .sec-label,.contact-section .cat-label{color:var(--gold)}
.contact-email{
  display:inline-block;margin-top:18px;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid rgba(217,152,47,.45);padding-bottom:6px;
}
.contact-email:hover{border-color:var(--gold)}

/* ── store extras ────────────────────────────────────── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.pname{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.3rem;
  color:var(--green);line-height:1.25;margin-bottom:8px;letter-spacing:.02em;
}
.ptag{
  font-size:.54rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:8px;
}
.pfoot{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.add-btn,.cta-btn{
  display:inline-block;border-radius:50px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.62rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;text-decoration:none;
  padding:12px 28px;border:1px solid var(--green);
  background:var(--green);color:var(--cream);transition:all .3s;
}
.add-btn:hover,.cta-btn:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,59,53,.24)}
.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:38px}
.f-btn{
  background:transparent;border:1px solid var(--line);border-radius:30px;
  padding:8px 18px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.6rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  transition:all .25s;
}
.f-btn:hover{border-color:var(--gold);color:var(--green)}
.f-btn.active{background:var(--green);border-color:var(--green);color:var(--cream)}
.ship-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px;margin-top:44px}
.si{text-align:center;padding:0 10px}
.si-icon{font-size:1.6rem;display:block;margin-bottom:10px}
.si-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.15rem;
  color:var(--green);margin-bottom:6px;
}
.si-text{font-size:.78rem;font-weight:300;color:var(--muted);line-height:1.75}
.cta-bar{
  text-align:center;margin-top:48px;padding:38px 24px;
  background:rgba(23,59,53,.04);border:1px solid var(--line);border-radius:6px;
}

/* ── blog ────────────────────────────────────────────── */
.story-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}

/* ── getting there ───────────────────────────────────── */
.origin-pills{display:flex;flex-wrap:wrap;gap:0;margin-top:10px;justify-content:center;max-width:1160px;margin-left:auto;margin-right:auto;padding:0 20px}

/* ── summary table ───────────────────────────────────── */
.summary-table{
  width:100%;border-collapse:collapse;margin-top:24px;
  background:#fff;border:1px solid var(--line);
}
.summary-table th,.summary-table td{
  padding:14px 16px;text-align:left;
  border-bottom:1px solid var(--line);
  font-size:.82rem;font-weight:300;color:var(--muted);
}
.summary-table th{
  font-family:'Inter',sans-serif;font-size:.58rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta);
  background:rgba(23,59,53,.03);
}
.summary-table tr:last-child td{border-bottom:0}
.summary-table td strong{color:var(--green);font-weight:600}

/* ── gallery single ──────────────────────────────────── */
.single{grid-column:1/-1}

/* section rhythm */
.values-section{background:transparent}
.founders-section{background:rgba(23,59,53,.04);padding-bottom:clamp(36px,5vw,56px)}

/* ============================================================
   BLOG ARTICLES
   ============================================================ */
.article{
  max-width:760px;margin:0 auto;
  padding:clamp(50px,7vw,80px) 24px clamp(60px,8vw,90px);
}
.article-icon{font-size:2.4rem;display:block;margin-bottom:18px}
.article-tag{
  font-size:.6rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
  color:#A04627;margin-bottom:12px;
}
.article-title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(1.9rem,5vw,3rem);color:var(--green);
  line-height:1.15;letter-spacing:.02em;margin-bottom:14px;
}
.article-meta{
  font-size:.68rem;font-weight:400;letter-spacing:.06em;
  color:rgba(23,59,53,.72);
  padding-bottom:26px;margin-bottom:32px;
  border-bottom:1px solid var(--line);
}

/* prose */
.article-body{font-size:.98rem;font-weight:400;color:var(--muted);line-height:1.95}
.article-body p{margin-bottom:22px}
.article-body strong{color:var(--green);font-weight:600}
.article-body em{font-style:italic}
.article-body a{color:var(--terracotta);text-decoration:none;border-bottom:1px solid rgba(192,96,58,.4)}
.article-body a:hover{color:var(--green);border-color:var(--gold)}
.article-body h2{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--green);
  line-height:1.25;margin:44px 0 6px;
}
.article-body h2::after{
  content:"";display:block;width:44px;height:1px;background:var(--gold);margin-top:14px;
}
.article-body h3{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.3rem;color:var(--green);margin:32px 0 10px;
}
.article-body ul,.article-body ol{margin:0 0 22px;padding-left:0;list-style:none}
.article-body ol{counter-reset:art}
.article-body li{position:relative;padding-left:22px;margin-bottom:10px}
.article-body ul li::before{
  content:"";position:absolute;left:0;top:.78em;width:9px;height:1px;background:var(--gold);
}
.article-body ol li{counter-increment:art}
.article-body ol li::before{
  content:counter(art)".";position:absolute;left:0;top:0;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:.95rem;color:var(--terracotta);
}
.article-body blockquote{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1.15rem,2.8vw,1.5rem);color:var(--green);line-height:1.65;
  border:0;border-left:1px solid var(--gold);
  margin:34px 0;padding:6px 0 6px 26px;
}
.article-body img{border-radius:4px;display:block;margin:30px auto;border:1px solid var(--line)}
.article-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.article-body table{width:100%;border-collapse:collapse;margin:26px 0;background:#fff;border:1px solid var(--line)}
.article-body th,.article-body td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);font-size:.84rem}
.article-body th{
  font-family:'Inter',sans-serif;font-size:.58rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta);
  background:rgba(23,59,53,.03);
}
.article-body tr:last-child td{border-bottom:0}

/* misc */
.footer-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:16px}
.footer-links a{
  font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(245,241,232,.6);text-decoration:none;
}
.footer-links a:hover{color:var(--gold)}
.yt-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 24px;border-radius:50px;
  background:var(--green);color:var(--cream);border:1px solid var(--green);
  font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  text-decoration:none;transition:all .3s;
}
.yt-btn:hover{background:var(--green-deep);transform:translateY(-2px)}

/* ============================================================
   BOOKING & SEARCH (book.php · search.php)
   All rules scoped to .wrap so the generic class names here
   cannot leak into the rest of the site.
   ============================================================ */
.wrap{max-width:1080px;margin:0 auto;padding:clamp(40px,6vw,70px) 24px clamp(60px,8vw,90px)}

.wrap .back{
  display:inline-block;margin-bottom:28px;
  font-size:.62rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--terracotta);text-decoration:none;
  border-bottom:1px solid rgba(192,96,58,.35);padding-bottom:5px;
}
.wrap .back:hover{color:var(--green);border-color:var(--gold)}

.wrap h1{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(1.8rem,4.5vw,2.8rem);color:var(--green);
  line-height:1.15;letter-spacing:.02em;
}
.wrap h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.6rem;color:var(--green);margin-top:36px}
.wrap .sub{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:1.1rem;color:var(--muted);margin-top:10px;
}
.wrap .exp-intro,.wrap .exp-other{
  font-size:.92rem;font-weight:300;color:var(--muted);line-height:1.9;margin-top:16px;
}
.wrap .hint,.wrap .meta{font-size:.72rem;font-weight:300;color:rgba(23,59,53,.5);margin-top:8px}
.wrap .tag{
  display:inline-block;font-size:.54rem;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:var(--terracotta);margin-bottom:8px;
}
.wrap .desc{font-size:.86rem;font-weight:300;color:var(--muted);line-height:1.8}

/* cards & layout */
.wrap .card{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  box-shadow:0 1px 2px rgba(23,59,53,.05);margin-top:22px;overflow:hidden;
  transition:box-shadow .35s ease;
}
.wrap .card:hover{box-shadow:0 14px 36px rgba(23,59,53,.10)}
.wrap .card-body{padding:24px}
.wrap .card .title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.3rem;color:var(--green);letter-spacing:.02em;margin-bottom:6px;
}
.wrap .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.wrap .row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}  /* flex-start, no flex-end: con flex-end la nota bajo la fecha (.hint) empujaba el campo People hacia abajo y quedaba desalineado (12-sep-2026) */

/* form fields */
.wrap .label{
  display:block;font-size:.56rem;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:var(--terracotta);margin-bottom:8px;
}
.wrap .value{font-size:.9rem;color:var(--green);font-weight:500}
.wrap input,.wrap select,.wrap textarea{
  width:100%;padding:12px 14px;
  font-family:'Inter',sans-serif;font-size:.85rem;color:var(--green);
  background:#fff;border:1px solid rgba(23,59,53,.22);border-radius:4px;
  outline:none;transition:border-color .25s,box-shadow .25s;
}
.wrap input:focus,.wrap select:focus,.wrap textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,152,47,.18);
}
.wrap textarea{min-height:110px;resize:vertical;line-height:1.7}

/* price box */
.wrap .price-box{
  background:rgba(23,59,53,.04);border:1px solid var(--line);border-radius:6px;
  padding:22px 24px;margin-top:24px;
}
.wrap .price-box-title{
  font-size:.58rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:14px;
}
.wrap .price-row{
  display:flex;justify-content:space-between;gap:16px;
  padding:9px 0;border-bottom:1px solid var(--line);
  font-size:.84rem;font-weight:300;color:var(--muted);
}
.wrap .price-row:last-child{border-bottom:0}
.wrap .price{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:1.5rem;color:var(--green);
}

/* time slots */
.wrap .slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.wrap .slot-btn{
  background:transparent;border:1px solid var(--line);border-radius:30px;
  padding:9px 20px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;
  letter-spacing:.06em;color:var(--muted);transition:all .25s;
}
.wrap .slot-btn:hover{border-color:var(--gold);color:var(--green)}
.wrap .slot-btn.selected{background:var(--green);border-color:var(--green);color:var(--cream)}

/* notices */
.wrap .notice-box{
  background:rgba(217,152,47,.09);border:1px solid rgba(217,152,47,.34);
  border-radius:6px;padding:20px 22px;margin-top:24px;
  font-size:.84rem;font-weight:300;color:var(--muted);line-height:1.8;
}
.wrap .notice-title{
  font-size:.58rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terracotta);margin-bottom:8px;
}
.wrap .ok,.wrap .err{border-radius:6px;padding:26px 26px;margin-top:20px}
.wrap .ok{background:rgba(79,127,99,.10);border:1px solid rgba(79,127,99,.4)}
.wrap .err{background:rgba(192,96,58,.10);border:1px solid rgba(192,96,58,.45);color:var(--terracotta);font-size:.85rem}
.wrap .ok h1{font-size:1.7rem}

/* submit */
.wrap .book,.wrap button[type="submit"]{
  display:inline-block;margin-top:26px;
  padding:15px 40px;border-radius:50px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;text-decoration:none;
  background:var(--green);color:var(--cream);border:1px solid var(--green);
  transition:all .3s;width:auto;
}
.wrap .book:hover,.wrap button[type="submit"]:hover{
  background:var(--green-deep);transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,59,53,.24);
}
.wrap .summary{
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:22px 24px;margin-top:24px;
}

/* explore: photo tiles + typographic tiles */
.hl-img img{width:100%;height:100%;object-fit:cover;display:block}
.hl-initial{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:2.4rem;color:rgba(245,241,232,.92);letter-spacing:.04em;text-align:center;padding:0 12px}
.chapter{margin-top:clamp(48px,6vw,72px)}
.chapter:first-of-type{margin-top:0}

/* Tablas en el celular (11-sep-2026): la tabla resumen de Getting There desbordaba la pantalla y el navegador
   alejaba toda la pagina. Asi la tabla se desliza de costado dentro de su marco y la pagina queda a 375px. */
@media(max-width:600px){main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}
