@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* brand (This is Goa palette) */
  --teal:#07536B;
  --teal-dark:#12313B;
  --turquoise:#16B8C5;
  --orange:#F47A21;
  --orange-dark:#d9640f;
  --yellow:#FFB81C;

  /* premium white theme */
  --bg:#FFFFFF;
  --bg-soft:#F4F7F8;
  --bg-subtle:#EAF4F5;
  --ink:#17333C;
  --ink-light:#718087;
  --line:#DDE6E9;
  --white:#FFFFFF;
  --text: var(--ink);

  --shadow: 0 2px 12px rgba(20,50,60,0.06);
  --shadow-hover: 0 14px 34px rgba(20,50,60,0.12);
  --radius: 16px;
  --radius-sm: 10px;

  --font-display:'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-body:'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0c1b21;
    --bg-soft:#12262d;
    --bg-subtle:#12262d;
    --white:#12262d;
    --ink:#eef3f4;
    --ink-light:#aebac0;
    --text:#eef3f4;
    --line: rgba(255,255,255,0.12);
  }
}
:root[data-theme="dark"]{
  --bg:#0c1b21;
  --bg-soft:#12262d;
  --bg-subtle:#12262d;
  --white:#12262d;
  --ink:#eef3f4;
  --ink-light:#aebac0;
  --text:#eef3f4;
  --line: rgba(255,255,255,0.12);
}

*{box-sizing:border-box;}
html{scroll-padding-top: calc(84px + env(safe-area-inset-top,0px)); color-scheme:light;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  padding-top: env(safe-area-inset-top,0px);
  padding-bottom: env(safe-area-inset-bottom,0px);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; color:var(--ink); font-weight:700; line-height:1.15;}
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4{color:#fdf6ea;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4{color:#fdf6ea;} }
p{margin:0 0 1em 0; max-width:62ch; color:var(--ink-light);}
.container{max-width:1200px; margin:0 auto; padding:0 32px;}
@media (max-width:700px){ .container{padding:0 20px;} }
.section{padding:64px 0;}
@media (max-width:700px){ .section{padding:44px 0;} }
.section--soft{background:var(--bg-soft);}
.section--subtle{background:var(--bg-subtle);}
.section--teal{background:var(--teal); color:#fff;}
.section--teal h2, .section--teal h3, .section--teal h4{color:#fff;}
.section--teal p{color:rgba(255,255,255,0.86);}
.section-head{max-width:640px; margin:0 0 40px 0;}
.section-head h2{font-size:clamp(1.75rem, 1.3rem + 1.8vw, 2.6rem);}
.section-head p{margin-top:14px; color:var(--ink-light); font-size:1.02rem;}
.eyebrow{font-family:var(--font-body); font-weight:700; letter-spacing:0.06em; color:var(--orange); font-size:0.82rem; text-transform:uppercase; margin-bottom:10px; display:block;}

/* subtle scroll-reveal (used sparingly) */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1; transform:none;}

/* header */
.site-header{
  position:sticky; top:0; z-index:40;
  background:#FFFFFF;
  border-bottom:1px solid #E8EEF0;
  padding-top: env(safe-area-inset-top,0px);
  transition:box-shadow .25s ease;
}
:root[data-theme="dark"] .site-header{background:#0c1b21; border-bottom-color:var(--line);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .site-header{background:#0c1b21; border-bottom-color:var(--line);} }
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(16,42,51,0.08);}
.header-inner{
  max-width:1200px; margin:0 auto; padding:14px 32px;
  display:flex; align-items:center; gap:32px;
}
@media (max-width:700px){ .header-inner{padding:12px 20px;} }
.logo-img{height:38px; width:auto;}
.main-nav{display:flex; align-items:center; gap:30px; margin-left:8px; flex:1;}
.nav-link{
  font-weight:600; font-size:0.96rem; text-decoration:none; color:var(--teal);
  padding:8px 2px; border-bottom:2px solid transparent; background:none; border-top:none; border-left:none; border-right:none;
  cursor:pointer; font-family:var(--font-body); transition:color .2s ease;
}
.nav-link:hover{color:var(--turquoise);}
.nav-link.disabled{color:var(--ink-light); cursor:default;}
.nav-link.disabled:hover{color:var(--ink-light);}
.nav-link.is-active, .dropdown-item.is-active{border-bottom-color:var(--orange); color:var(--teal);}
.nav-dropdown{position:relative;}
.dropdown-toggle{display:flex; align-items:center; gap:5px;}
.dropdown-toggle svg{width:11px; height:11px; transition:transform .2s ease;}
.nav-dropdown:hover .dropdown-toggle svg, .nav-dropdown.is-open .dropdown-toggle svg{transform:rotate(180deg);}
.dropdown-menu{
  position:absolute; top:calc(100% + 12px); left:-14px; min-width:220px;
  background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow-hover);
  border-radius:var(--radius-sm); padding:8px; display:none; flex-direction:column;
}
.nav-dropdown:hover .dropdown-menu, .nav-dropdown.is-open .dropdown-menu{display:flex;}
.dropdown-item{padding:10px 12px; border-radius:6px; font-weight:600; font-size:0.94rem; text-decoration:none; color:var(--ink); border-bottom:none;}
.dropdown-item:hover{background:var(--bg-soft);}
.header-cta{
  background:var(--orange); color:#fff; font-weight:700; font-size:0.92rem;
  padding:11px 20px; border-radius:999px; text-decoration:none; white-space:nowrap;
  transition:background .2s ease, transform .2s ease;
}
.header-cta:hover{background:var(--orange-dark); transform:translateY(-1px);}
.menu-toggle{display:none; background:none; border:none; font-size:1.5rem; color:var(--ink); cursor:pointer; padding:4px 8px;}

@media (max-width:820px){
  .main-nav{
    display:none; position:absolute; top:100%; left:0; right:0; background:var(--white);
    flex-direction:column; align-items:flex-start; padding:12px 20px 20px; border-bottom:1px solid var(--line);
    gap:4px;
  }
  .main-nav.is-open{display:flex;}
  .nav-dropdown{width:100%;}
  .dropdown-menu{position:static; box-shadow:none; border:none; display:none; padding-left:10px;}
  .nav-dropdown.is-open .dropdown-menu{display:flex;}
  .dropdown-toggle{width:100%; justify-content:space-between;}
  .menu-toggle{display:block;}
  .header-cta{margin-left:auto;}
}

/* hero -- premium editorial two-column */
.hero{padding:72px 0 88px; overflow-x:clip;}
.hero--compact{padding-bottom:48px;}
@media (max-width:700px){ .hero--compact{padding-bottom:32px;} }
@media (max-width:700px){ .hero{padding:40px 0 48px;} }
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center;}
@media (max-width:960px){ .hero-grid{grid-template-columns:1fr; gap:40px;} }
.hero h1{font-size:clamp(2.4rem, 1.6rem + 3.4vw, 4.2rem); letter-spacing:-0.02em; color:var(--ink);}
.hero .lede{font-size:1.12rem; color:var(--ink-light); margin-top:20px; max-width:52ch;}
.hero-ctas{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-visual{position:relative;}
.hero-visual .hero-shape{position:absolute; inset:-8% -8% -8% 6%; background:radial-gradient(60% 60% at 60% 40%, var(--bg-subtle), transparent 72%); border-radius:40%; z-index:0;}
.hero-visual .hero-photo-wrap{position:relative; z-index:1; border-radius:calc(var(--radius) + 6px); overflow:hidden; box-shadow:var(--shadow-hover); aspect-ratio:4/3;}
.hero-visual .hero-photo-wrap img{width:100%; height:100%; object-fit:cover;}
.hero-float-card{
  position:absolute; z-index:2; left:-24px; bottom:-22px; background:var(--white);
  border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow-hover);
  padding:14px 18px; display:flex; align-items:center; gap:12px; max-width:240px;
}
@media (max-width:960px){ .hero-float-card{left:16px; bottom:-18px;} }
.hero-float-card .dot{width:9px; height:9px; border-radius:50%; background:var(--orange); flex:none;}
.hero-float-card strong{display:block; font-size:0.92rem; color:var(--ink); font-weight:700;}
.hero-float-card span{display:block; font-size:0.78rem; color:var(--ink-light);}
.hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
.hero-badge{display:inline-flex; align-items:center; gap:7px; font-size:0.84rem; font-weight:600; color:var(--ink); background:var(--bg-soft); border:1px solid var(--line); padding:8px 13px; border-radius:999px;}
.hero-badge svg{width:13px; height:13px; color:var(--orange); flex:none;}

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:0.96rem;
  padding:14px 26px; border-radius:999px; text-decoration:none; border:1.5px solid transparent; cursor:pointer;
  font-family:var(--font-body); transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.btn-primary{background:var(--orange); color:#fff;}
.btn-primary:hover{background:var(--orange-dark); transform:translateY(-1px);}
.btn-outline{background:transparent; border-color:var(--line); color:var(--ink);}
.btn-outline:hover{background:var(--ink); border-color:var(--ink); color:#fff;}
:root[data-theme="dark"] .btn-outline, .section--teal .btn-outline{border-color:rgba(255,255,255,0.5); color:#fff;}
.section--teal .btn-outline:hover{background:#fff; color:var(--teal-dark); border-color:#fff;}
.btn svg{width:17px; height:17px; flex:none;}

/* pricing groups */
.price-block{margin-bottom:36px;}
.block-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px;}
.block-head h3{font-size:1.4rem;}
.tag{font-size:0.8rem; font-weight:700; color:var(--teal); background:var(--bg-soft); padding:5px 12px; border-radius:20px;}
.price-note{font-size:0.88rem; color:var(--ink-light); margin-top:18px;}
.price-note--full{max-width:none; width:100%;}

/* car cards (image grid) -- premium rental cards */
.car-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:8px;}
@media (max-width:1080px){ .car-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:760px){ .car-grid{grid-template-columns:repeat(2,1fr); gap:16px;} }
@media (max-width:480px){ .car-grid{grid-template-columns:1fr;} }
.car-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  display:flex; flex-direction:column; overflow:hidden; box-shadow:var(--shadow);
  transition:box-shadow .3s ease, transform .3s ease;
}
.car-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-4px);}
.car-card-image{aspect-ratio:3/2; overflow:hidden; background:var(--bg-soft);}
.car-card-image.icon{display:flex; align-items:center; justify-content:center; padding:14px;}
.car-card-image svg{width:100%; height:100%;}
.car-card-image img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.car-card:hover .car-card-image img{transform:scale(1.06);}
.car-card-body{padding:18px 18px 20px;}
.car-card h4{font-size:1.06rem; margin-bottom:4px; font-weight:700; color:var(--ink);}
.car-card .car-meta{display:block; font-size:0.82rem; color:var(--ink-light); font-weight:500; margin-bottom:14px;}
.car-card-row{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.car-card .price-label{display:block; font-size:0.74rem; color:var(--ink-light); font-weight:500;}
.car-card .price{font-weight:800; color:var(--ink); font-size:1.24rem; font-variant-numeric:tabular-nums;}
:root[data-theme="dark"] .car-card .price{color:#ffb35c;}
.car-card .per-day{font-weight:500; color:var(--ink-light); font-size:0.72rem;}
.book-btn{background:var(--orange); color:#fff; font-weight:700; font-size:0.84rem; padding:10px 18px; border-radius:999px; text-decoration:none; white-space:nowrap; transition:background .2s ease, transform .2s ease; display:inline-flex; align-items:center; justify-content:center; gap:6px;}
.book-btn svg{width:14px; height:14px; flex:none;}
.book-btn--block{display:flex; width:100%; white-space:normal; text-align:center; padding:10px 18px; min-height:48px; line-height:1.25;}
.book-btn:hover{background:var(--orange-dark); transform:translateY(-1px);}

/* chips */
.chip-group{display:flex; flex-wrap:wrap; gap:9px;}
.chip{padding:8px 16px; border:1px solid var(--line); border-radius:999px; font-size:0.9rem; color:var(--teal); background:var(--white); font-weight:600; transition:background .2s ease, color .2s ease, border-color .2s ease;}
.chip:hover{background:var(--turquoise); border-color:var(--turquoise); color:#fff;}
.region-block{margin-bottom:26px;}
.region-block h4{font-size:1rem; font-weight:700; margin-bottom:12px; color:var(--teal); font-family:var(--font-display);}

/* route cards (sightseeing) */
.region-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
@media (max-width:700px){ .region-grid{grid-template-columns:1fr;} }
.region-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); transition:box-shadow .3s ease, transform .3s ease;}
.region-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.region-card-head{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.region-icon{width:34px; height:34px; border-radius:50%; background:var(--bg-subtle); color:var(--turquoise); display:flex; align-items:center; justify-content:center; flex:none;}
.region-icon svg{width:16px; height:16px;}
.region-card h4{font-size:1.02rem; font-weight:700; color:var(--ink); font-family:var(--font-display); margin:0;}

.route-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-top:8px;}
.route-card{position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px 26px 24px; box-shadow:var(--shadow); transition:box-shadow .3s ease, transform .3s ease; overflow:hidden;}
.route-card::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent, var(--orange));}
.route-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.route-card-head{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.route-icon{width:32px; height:32px; border-radius:50%; background:var(--bg-subtle); color:var(--accent, var(--orange)); display:flex; align-items:center; justify-content:center; flex:none;}
.route-icon svg{width:15px; height:15px;}
.route-card .route-label{font-weight:700; font-family:var(--font-display); color:var(--ink); font-size:1.08rem; margin:0;}
.route-path{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:14px;}
.route-path .stop{padding:6px 12px; background:var(--bg-soft); border-radius:7px; font-weight:600; color:var(--ink); font-size:0.86rem;}
.route-path .arrow{color:var(--orange); font-weight:700; display:inline-flex;}
.route-path .arrow svg{width:9px; height:9px;}
.route-duration{display:inline-block; font-size:0.76rem; color:var(--accent, var(--orange)); font-weight:700; margin-bottom:16px; background:var(--bg-subtle); padding:4px 11px; border-radius:999px;}
.route-link{display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:0.9rem; color:var(--orange); text-decoration:none;}
.route-link svg{width:11px; height:11px;}

/* choose-the-right-car hover cards */
.choose-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-top:8px;}
.choose-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px 22px; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease; position:relative;}
.choose-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-4px); border-color:var(--orange);}
.choose-icon{width:24px; height:24px; color:var(--turquoise); margin-bottom:14px;}
.choose-icon svg{width:100%; height:100%; display:block;}
.choose-card:hover .choose-icon{color:var(--orange);}
.choose-card h4{font-size:1.02rem; margin-bottom:8px;}
.choose-card p{font-size:0.9rem; color:var(--ink-light); margin:0;}
.choose-arrow{position:absolute; top:24px; right:22px; width:16px; height:16px; color:var(--orange); opacity:0; transform:translateX(-6px); transition:opacity .25s ease, transform .25s ease;}
.choose-arrow svg{width:100%; height:100%; display:block;}
.choose-card:hover .choose-arrow{opacity:1; transform:none;}

/* why-rent split layout */
.why-grid{display:grid; grid-template-columns:0.9fr 1.4fr; gap:56px; align-items:start;}
@media (max-width:860px){ .why-grid{grid-template-columns:1fr; gap:28px;} }
.why-heading h2{font-size:clamp(1.8rem, 1.3rem + 2vw, 2.5rem);}
.why-items{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:24px 32px;}
@media (max-width:560px){ .why-items{grid-template-columns:1fr;} }
.why-items li{display:flex; gap:14px; align-items:flex-start;}
.why-num{font-family:var(--font-display); font-weight:800; font-size:0.95rem; color:var(--orange); flex:none; width:28px;}
.why-items p{margin:0; font-size:0.98rem; color:var(--ink); font-weight:500;}

/* reason cards (used on the car & bus page) */
.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:8px;}
.reason-card{background:var(--white); padding:24px 22px; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); transition:box-shadow .3s ease, transform .3s ease;}
.reason-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.reason-card h4{font-size:1.05rem; margin-bottom:8px;}
.reason-card p{font-size:0.94rem; color:var(--ink-light); margin:0;}

/* checklist */
.checklist{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px 24px;}
.checklist li{display:flex; align-items:flex-start; gap:10px; font-size:0.98rem; color:var(--ink);}
.checklist svg{flex:none; width:14px; height:14px; margin-top:2px; color:var(--turquoise); background:var(--bg-soft); border-radius:50%; padding:3px; box-sizing:content-box;}
.bullets{list-style:none; margin:0; padding:0;}
.bullets li{display:flex; align-items:flex-start; gap:10px; font-size:0.98rem; margin-bottom:12px; color:var(--ink);}
.bullets svg{flex:none; width:13px; height:13px; margin-top:4px; color:var(--turquoise);}

/* accordion (used on the car & bus page) */
.accordion{border-top:1px solid var(--line);}
.accordion-item{border-bottom:1px solid var(--line);}
.accordion-trigger{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:22px 2px; background:none; border:none; cursor:pointer; text-align:left;
}
.accordion-trigger .veh-name{font-family:var(--font-display); font-size:1.2rem; font-weight:700; color:var(--ink);}
.accordion-trigger .veh-seats{font-family:var(--font-body); font-size:0.86rem; color:var(--ink-light); font-weight:500; display:block; margin-top:3px;}
.accordion-icon{flex:none; width:18px; height:18px; color:var(--turquoise); transition:transform .25s ease;}
.accordion-trigger[aria-expanded="true"] .accordion-icon{transform:rotate(45deg);}
.accordion-panel{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.accordion-panel-inner{padding:0 2px 26px;}

/* vehicle scale hero graphic (used on the car & bus page) */
.veh-scale{display:flex; align-items:flex-end; gap:clamp(6px,2vw,22px); padding-top:10px;}
.veh-scale figure{margin:0; text-align:center; flex:1;}
.veh-scale figcaption{font-size:0.78rem; color:var(--ink-light); margin-top:8px; font-weight:600;}

/* premium CTA banner */
.cta-banner{background:var(--bg-subtle); border:1px solid var(--line); border-radius:calc(var(--radius) + 6px); padding:64px 40px; text-align:center;}
@media (max-width:700px){ .cta-banner{padding:44px 24px;} }
.cta-banner h2{font-size:clamp(1.8rem, 1.3rem + 2vw, 2.6rem); color:var(--ink);}
.cta-banner p{color:var(--ink-light); margin:16px auto 30px; max-width:52ch; font-size:1.02rem;}
.cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* footer */
.site-footer{background:var(--teal-dark); color:rgba(255,255,255,0.86); padding:56px 0 calc(28px + env(safe-area-inset-bottom,0px));}
.footer-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px; align-items:flex-start;}
.footer-logo{height:34px; filter:brightness(0) invert(1); opacity:0.92; margin-bottom:14px;}
.footer-col h5{color:#fff; font-family:var(--font-body); font-size:0.9rem; font-weight:700; margin-bottom:14px; letter-spacing:0.02em;}
.footer-col a{display:block; color:rgba(255,255,255,0.78); text-decoration:none; font-size:0.92rem; margin-bottom:10px;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.14); margin-top:40px; padding-top:22px; font-size:0.85rem; color:rgba(255,255,255,0.55);}

/* cross-link banner */
.crosslink{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:30px 32px; margin-top:8px;}
.crosslink p{margin:0; max-width:44ch;}
.crosslink h4{font-size:1.15rem; margin-bottom:6px;}

/* horizontal carousel (top cars, etc.) */
.carousel-wrap{position:relative;}
.carousel-track{display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:none;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track > *{flex:0 0 auto; scroll-snap-align:start; width:250px;}
.carousel-arrows{display:flex; gap:10px; margin-top:18px; justify-content:flex-end;}
@media (max-width:640px){ .carousel-arrows{display:none;} }
.carousel-arrow{width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--white); color:var(--teal); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease, color .2s ease;}
.carousel-arrow:hover{background:var(--turquoise); border-color:var(--turquoise); color:#fff;}
.carousel-arrow svg{width:14px; height:14px;}

/* promo / benefit / category cards */
.promo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:820px){ .promo-grid{grid-template-columns:1fr; } }
.promo-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); transition:box-shadow .3s ease, transform .3s ease; display:flex; flex-direction:column; gap:10px;}
.promo-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.promo-card .promo-icon{width:22px; height:22px; color:var(--turquoise);}
.promo-card .promo-icon svg{width:100%; height:100%; display:block;}
.promo-card h4{font-size:1.05rem;}
.promo-card p{font-size:0.92rem; margin:0;}
.promo-card .promo-link{margin-top:auto; font-weight:700; font-size:0.9rem; color:var(--orange); text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.promo-card .promo-link svg{width:12px; height:12px; flex:none;}

.benefit-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px;}
.benefit-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);}
.benefit-card .benefit-icon{width:22px; height:22px; color:var(--turquoise); margin-bottom:12px;}
.benefit-card h4{font-size:1rem; margin-bottom:6px;}
.benefit-card p{font-size:0.9rem; margin:0;}

.category-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px;}
.category-card{display:block; text-decoration:none; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); transition:box-shadow .3s ease, transform .3s ease; overflow:hidden;}
.category-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.category-card .cat-count{display:inline-block; font-size:0.76rem; font-weight:700; color:var(--turquoise); background:var(--bg-subtle); padding:3px 10px; border-radius:999px; margin-bottom:10px;}
.category-card h4{font-size:1.05rem; margin-bottom:6px; color:var(--ink);}
.category-card p{font-size:0.88rem; margin:0;}

/* info strip (fleet facts, replaces fabricated "real-time" stats) */
.info-strip{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px 30px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px;}
.info-item{display:flex; gap:12px; align-items:flex-start;}
.info-item svg{width:18px; height:18px; color:var(--turquoise); flex:none; margin-top:2px;}
.info-item strong{display:block; font-size:1.05rem; color:var(--ink);}
.info-item span{display:block; font-size:0.82rem; color:var(--ink-light);}

/* hero quick-enquiry widget */
.quick-enquiry{
  position:relative; z-index:2; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow-hover); padding:22px;
  margin-top:36px;
}
.quick-enquiry-title{font-weight:700; font-size:0.92rem; color:var(--ink); margin-bottom:14px;}
.quick-enquiry-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; align-items:end;}
@media (max-width:760px){ .quick-enquiry-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .quick-enquiry-grid{grid-template-columns:1fr;} }
.qe-field{display:flex; flex-direction:column; gap:6px;}
.qe-field label{font-size:0.76rem; font-weight:600; color:var(--ink-light);}
.qe-field select, .qe-field input{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:11px 12px; font-family:var(--font-body);
  font-size:0.92rem; color:var(--ink); background:var(--bg-soft);
}
.qe-submit{background:var(--orange); color:#fff; border:none; border-radius:var(--radius-sm); padding:12px 16px; font-weight:700; font-size:0.92rem; cursor:pointer; transition:background .2s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;}
.qe-submit svg{width:16px; height:16px; flex:none;}
.qe-submit:hover{background:var(--orange-dark);}

/* FAQ accordion (reuses .accordion base) */
.faq-item .accordion-trigger{padding:20px 4px;}
.faq-item .accordion-trigger .veh-name{font-size:1.02rem;}
.faq-item .accordion-icon{color:var(--turquoise);}
.faq-panel-inner{padding:0 4px 22px; color:var(--ink-light); font-size:0.96rem;}
.faq-panel-inner ul{margin:8px 0 0; padding-left:20px;}
.faq-panel-inner li{margin-bottom:4px;}

/* popular locations (dark, SEO) */
.locations-section{background:var(--teal); color:rgba(255,255,255,0.9);}
.locations-section h2{color:#fff;}
.locations-section p{color:rgba(255,255,255,0.72);}
.locations-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px; margin-top:32px;}
.locations-col h5{color:#fff; font-size:0.88rem; font-weight:700; margin-bottom:14px; letter-spacing:0.02em;}
.locations-col a{display:block; color:rgba(255,255,255,0.72); text-decoration:none; font-size:0.9rem; margin-bottom:10px; transition:color .2s ease;}
.locations-col a:hover{color:var(--turquoise);}

/* SEO / about content */
.seo-content{max-width:960px;}
.seo-content h3{font-size:1.25rem; margin:36px 0 12px;}
.seo-content h3:first-child{margin-top:0;}
.seo-content p{font-size:1rem; line-height:1.7; color:var(--ink-light);}

/* full-width banner hero (used on the Spice Plantation page) */
.hero-banner{position:relative; overflow:hidden; min-height:420px; display:flex; align-items:flex-end; color:#fff;}
.hero-banner::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,20,15,0.25) 0%, rgba(7,20,15,0.55) 55%, rgba(7,20,15,0.88) 100%); z-index:1;}
.hero-banner .container{position:relative; z-index:2; padding-top:80px; padding-bottom:48px;}
.hero-banner .eyebrow{color:var(--yellow);}
.hero-banner h1{color:#fff; font-size:clamp(2.1rem, 1.5rem + 2.6vw, 3.4rem); max-width:16ch;}
.hero-banner .lede{color:rgba(255,255,255,0.88); max-width:56ch; margin-top:16px; font-size:1.05rem;}
.hero-banner .hero-ctas{margin-top:26px;}
@media (max-width:700px){ .hero-banner{min-height:340px;} .hero-banner .container{padding-top:56px;} }

/* farm / listing cards (Spice Plantation page) */
.farm-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media (max-width:1080px){ .farm-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .farm-grid{grid-template-columns:1fr;} }
.farm-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:box-shadow .3s ease, transform .3s ease;}
.farm-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.farm-card-art{aspect-ratio:4/3; overflow:hidden;}
.farm-card-art svg{width:100%; height:100%; display:block;}
.farm-card-art img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.farm-card:hover .farm-card-art img{transform:scale(1.06);}
.farm-card-body{padding:18px 18px 20px; display:flex; flex-direction:column; flex:1;}
.farm-card h4{font-size:1.02rem; margin-bottom:4px;}
.farm-card .farm-loc{font-size:0.78rem; color:var(--turquoise); font-weight:700; margin-bottom:10px; display:block;}
.farm-card .farm-desc{font-size:0.86rem; color:var(--ink-light); margin-bottom:12px; line-height:1.55;}
.farm-meta{list-style:none; margin:0 0 16px; padding:0; font-size:0.78rem;}
.farm-meta li{display:flex; gap:6px; margin-bottom:5px; align-items:baseline;}
.farm-meta .k{font-weight:700; color:var(--ink); flex:none; min-width:64px;}
.farm-meta .v{color:var(--ink-light);}
.farm-card .book-btn{margin-top:auto;}

/* region sub-heading used to group listing cards (e.g. by North/Central/South Goa) */
.subsection{margin-bottom:36px;}
.subsection:last-child{margin-bottom:0;}
.subsection-label{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.subsection-label h3{font-size:1.15rem; color:var(--teal);}
.subsection-label::after{content:""; flex:1; height:1px; background:var(--line);}

/* tour package cards (Dudhsagar-style single-product page) */
.package-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
@media (max-width:760px){ .package-grid{grid-template-columns:1fr;} }
.package-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); display:flex; flex-direction:column;}
.package-badge{display:inline-block; font-size:0.76rem; font-weight:700; color:var(--turquoise); background:var(--bg-subtle); padding:4px 12px; border-radius:999px; margin-bottom:14px; align-self:flex-start;}
.package-card h3{font-size:1.3rem; margin-bottom:6px;}
.package-price{font-size:1.5rem; font-weight:800; color:var(--ink); margin-bottom:14px;}
.package-price span{font-size:0.85rem; font-weight:500; color:var(--ink-light);}
.package-bullets{list-style:none; margin:0 0 20px; padding:0;}
.package-bullets li{display:flex; gap:9px; align-items:flex-start; font-size:0.92rem; margin-bottom:8px; color:var(--ink);}
.package-bullets svg{flex:none; width:14px; height:14px; margin-top:3px; color:var(--turquoise);}
.package-card .btn{margin-top:auto; width:100%; justify-content:center;}

.vehicle-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:760px){ .vehicle-grid{grid-template-columns:1fr;} }
.vehicle-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);}
.vehicle-card h4{font-size:1.05rem; margin-bottom:2px;}
.vehicle-card .vehicle-guests{font-size:0.8rem; color:var(--ink-light); display:block; margin-bottom:12px;}
.vehicle-card .vehicle-price{font-size:1.3rem; font-weight:800; color:var(--ink); margin-bottom:14px;}
.vehicle-card .vehicle-price span{font-size:0.78rem; font-weight:500; color:var(--ink-light);}
.vehicle-card ul{list-style:none; margin:0 0 16px; padding:0; font-size:0.86rem; color:var(--ink-light);}
.vehicle-card ul li{margin-bottom:6px; padding-left:14px; position:relative;}
.vehicle-card ul li::before{content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--turquoise);}

.info-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow);}
.two-col-list{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media (max-width:640px){ .two-col-list{grid-template-columns:1fr;} }
.two-col-list h4{font-size:0.95rem; margin-bottom:12px;}
.two-col-list ul{list-style:none; margin:0; padding:0;}
.two-col-list li{display:flex; gap:9px; align-items:flex-start; font-size:0.9rem; margin-bottom:9px; color:var(--ink);}
.two-col-list li svg{flex:none; width:14px; height:14px; margin-top:3px;}
.list-yes svg{color:var(--turquoise);}
.list-no svg{color:var(--ink-light);}

.notice-box{background:var(--bg-subtle); border-left:4px solid var(--orange); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:22px 26px;}
.notice-box p{margin-bottom:12px; font-size:0.94rem; color:var(--ink);}
.notice-box p:last-child{margin-bottom:0;}

.charges-table{width:100%; border-collapse:collapse; font-size:0.92rem;}
.charges-table th{text-align:left; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.03em; color:var(--ink-light); padding:8px 12px; border-bottom:1px solid var(--line);}
.charges-table td{padding:10px 12px; border-bottom:1px solid var(--line); color:var(--ink);}
.charges-table td:last-child, .charges-table th:last-child{font-weight:700; color:var(--teal);}


/* rate list (Car & Bus pricing) -- restyled in the master system */
.ledger{display:grid; grid-template-columns:repeat(2,1fr); column-gap:40px; border-top:1px solid var(--line);}
@media (max-width:760px){ .ledger{grid-template-columns:1fr;} }
.ledger-row{display:flex; align-items:baseline; gap:10px; padding:13px 2px; border-bottom:1px solid var(--line);}
.ledger-row .name{font-weight:600; font-size:0.95rem; color:var(--ink);}
.ledger-row .fill{flex:1; border-bottom:2px dotted var(--line); transform:translateY(-4px); min-width:16px;}
.ledger-row .price{font-weight:800; color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums;}

/* illustrated hero art presented like the master hero photo */
.hero-art-wrap{position:relative; z-index:1; border-radius:calc(var(--radius) + 6px); overflow:hidden; box-shadow:var(--shadow-hover); aspect-ratio:4/3; background:var(--bg-soft);}
.hero-art-wrap > svg, .hero-art-wrap > img{position:absolute; inset:0; width:100%; height:100%; display:block;}
.hero-art-wrap > img{object-fit:cover;}
.hero-art-wrap--pad{display:flex; align-items:center; justify-content:center; padding:20px 18px;}
.hero-art-wrap--pad .veh-scale{width:100%; gap:clamp(4px,1.2vw,14px);}
.hero-art-wrap--pad .veh-scale figcaption{font-size:0.7rem; line-height:1.3;}
.hero-art-wrap--pad .veh-scale figure{min-width:0;}
.hero h1.h1-long{font-size:clamp(2rem, 1.4rem + 2.6vw, 3.3rem);}


/* two-column split (copy + detail card) */
.split-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:start;}
@media (max-width:860px){ .split-grid{grid-template-columns:1fr; gap:28px;} }
.split-grid p{max-width:none;}
.info-card .farm-meta{margin:0; font-size:0.9rem;}
.info-card .farm-meta li{padding:11px 0; border-bottom:1px solid var(--line); margin:0;}
.info-card .farm-meta li:last-child{border-bottom:none;}
.info-card .farm-meta .k{min-width:84px;}
.info-card h3{font-size:1.1rem; margin-bottom:6px;}

/* itinerary timeline */
.itinerary{display:grid; gap:0;}
.stop{display:grid; grid-template-columns:44px 1fr; gap:18px;}
.stop-marker{display:flex; flex-direction:column; align-items:center;}
.stop-num{width:36px; height:36px; border-radius:50%; background:var(--orange); color:#fff; font-weight:800; font-size:0.95rem; display:flex; align-items:center; justify-content:center; flex:none;}
.stop-marker::after{content:""; flex:1; width:2px; background:var(--line); margin:8px 0;}
.stop:last-child .stop-marker::after{display:none;}
.stop-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 24px; margin-bottom:20px; display:grid; gap:20px; transition:box-shadow .3s ease, transform .3s ease;}
.stop-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px);}
.stop-card.has-photo{grid-template-columns:1fr minmax(220px,300px); align-items:center;}
@media (max-width:760px){ .stop-card.has-photo{grid-template-columns:1fr;} .stop{gap:14px; grid-template-columns:36px 1fr;} }
.stop-card h3{font-size:1.12rem; margin-bottom:8px;}
.stop-card p{font-size:0.94rem; margin-bottom:0.7em; max-width:none;}
.stop-card p:last-child{margin-bottom:0;}
.stop-photo{border-radius:12px; overflow:hidden; aspect-ratio:4/3; background:var(--bg-soft);}
.stop-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.notice-box .bullets{margin:0;}
.notice-box .bullets li{margin-bottom:10px;}
.notice-box .bullets li:last-child{margin-bottom:0;}


/* private boat rentals */
.boat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:1000px){ .boat-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .boat-grid{grid-template-columns:1fr;} }
.boat-card--luxury{border-color:var(--orange);}
.boat-card--luxury .farm-loc{color:var(--orange);}
.boat-cap{display:inline-block; font-size:0.78rem; font-weight:700; color:var(--turquoise); background:var(--bg-subtle); padding:4px 12px; border-radius:999px; margin-bottom:10px; align-self:flex-start;}
.boat-card--luxury .boat-cap{color:var(--orange); background:#FDEEDD;}
.occasion-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px;}
.requirements-card{padding:28px;}
.requirements-card h3{font-size:1.15rem; margin-bottom:4px;}
.requirements-card .req-intro{margin-bottom:20px; max-width:none;}
.requirements-card .quick-enquiry-grid{grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){ .requirements-card .quick-enquiry-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .requirements-card .quick-enquiry-grid{grid-template-columns:1fr;} }
.requirements-card .qe-submit{width:auto; padding:13px 26px; border-radius:999px; margin-top:22px;}
.note-line{font-size:0.92rem; color:var(--ink); margin:0 0 10px; max-width:none;}


.incl-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:1000px){ .incl-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .incl-grid{grid-template-columns:1fr;} }


.requirements-card .quick-enquiry-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:900px){ .requirements-card .quick-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:520px){ .requirements-card .quick-enquiry-grid{grid-template-columns:minmax(0,1fr);} }
.requirements-card .qe-field{min-width:0;}
.requirements-card .qe-field input, .requirements-card .qe-field select{width:100%; min-width:0; box-sizing:border-box;}
.promo-card .promo-link{align-self:flex-start;}


/* tabs, tables, tiers, offbeat directory */
.tab-list{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px;}
.tab-btn{font-family:var(--font-body); font-weight:700; font-size:0.94rem; padding:11px 20px; border-radius:999px; border:1px solid var(--line); background:var(--white); color:var(--teal); cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;}
.tab-btn:hover{border-color:var(--turquoise);}
.tab-btn[aria-selected="true"]{background:var(--teal); border-color:var(--teal); color:#fff;}
.tab-panel[hidden]{display:none;}
.tab-panel h3.panel-title{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem); margin-bottom:14px;}
.tab-panel .panel-intro p{max-width:72ch;}
.panel-block{margin-top:44px;}
.panel-block > h4{font-size:1.18rem; margin-bottom:16px;}
.table-wrap{overflow-x:auto; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);}
.price-table{width:100%; border-collapse:collapse; min-width:560px; font-size:0.94rem;}
.price-table th{text-align:left; background:var(--bg-soft); color:var(--ink); font-size:0.8rem; padding:14px 18px; border-bottom:1px solid var(--line);}
.price-table td{padding:14px 18px; border-bottom:1px solid var(--line); color:var(--ink);}
.price-table tr:last-child td{border-bottom:none;}
.price-table td:first-child{font-weight:700;}
.price-table td.num{font-weight:800; font-variant-numeric:tabular-nums;}
.price-table a{color:var(--orange); font-weight:700; text-decoration:none;}
.tier-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:860px){ .tier-grid{grid-template-columns:1fr;} }
.tier-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px;}
.tier-card .tier-level{display:inline-block; font-size:0.76rem; font-weight:700; color:var(--turquoise); background:var(--bg-subtle); padding:4px 12px; border-radius:999px; margin-bottom:12px;}
.tier-card .tier-price{font-family:var(--font-display); font-weight:800; font-size:1.55rem; color:var(--ink); margin-bottom:10px; line-height:1.2;}
.tier-card p{font-size:0.9rem; margin:0; max-width:none;}
.dj-group{margin-bottom:46px;}
.dj-group:last-child{margin-bottom:0;}
.dj-group h3{font-size:1.3rem; margin-bottom:8px;}
.dj-group .group-intro{margin-bottom:18px; max-width:70ch;}
.chip-static{display:inline-block; padding:7px 14px; border:1px solid var(--line); border-radius:999px; font-size:0.86rem; font-weight:600; color:var(--teal); background:var(--white);}
.feature-chips{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; padding:0; list-style:none;}
.feature-chips li{font-size:0.74rem; font-weight:600; color:var(--ink-light); background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:4px 10px;}
.yacht-price{font-family:var(--font-display); font-weight:800; font-size:1.35rem; color:var(--ink); margin-bottom:12px;}
.yacht-price span{font-family:var(--font-body); font-weight:500; font-size:0.78rem; color:var(--ink-light);}
.yacht-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:1000px){ .yacht-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .yacht-grid{grid-template-columns:1fr;} }
.yacht-grid .farm-card-art{aspect-ratio:16/9;}
.exp-card-list{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:1000px){ .exp-card-list{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .exp-card-list{grid-template-columns:1fr;} }
.exp-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px; display:flex; flex-direction:column; transition:box-shadow .3s ease, transform .3s ease;}
.exp-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-3px);}
.exp-card[hidden]{display:none;}
.exp-cat{align-self:flex-start; font-size:0.74rem; font-weight:700; color:var(--turquoise); background:var(--bg-subtle); border-radius:999px; padding:4px 11px; margin-bottom:12px;}
.exp-card h3{font-size:1.08rem; margin-bottom:6px;}
.exp-card .exp-tag{font-size:0.86rem; margin:0 0 14px; max-width:none;}
.exp-meta{list-style:none; margin:0 0 16px; padding:0; font-size:0.82rem;}
.exp-meta li{display:flex; gap:8px; margin-bottom:5px;}
.exp-meta .k{font-weight:700; color:var(--ink); min-width:66px; flex:none;}
.exp-meta .v{color:var(--ink-light);}
.exp-card .exp-price{font-weight:800; font-size:1.05rem; color:var(--ink); margin-top:auto; padding-top:6px;}
.exp-card .exp-price span{font-weight:500; font-size:0.78rem; color:var(--ink-light);}
.exp-card .exp-open{margin-top:14px;}
.exp-detail{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:16px; scroll-margin-top:96px;}
.exp-detail > summary{list-style:none; cursor:pointer; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--font-display); font-weight:700; font-size:1.12rem; color:var(--ink);}
.exp-detail > summary::-webkit-details-marker{display:none;}
.exp-detail > summary .exp-sum-meta{display:block; font-family:var(--font-body); font-weight:500; font-size:0.82rem; color:var(--ink-light); margin-top:3px;}
.exp-detail > summary svg{width:18px; height:18px; color:var(--turquoise); flex:none; transition:transform .25s ease;}
.exp-detail[open] > summary svg{transform:rotate(45deg);}
.exp-body{padding:4px 24px 28px; border-top:1px solid var(--line);}
.exp-body > *:first-child{margin-top:22px;}
.exp-body p{max-width:78ch;}
.exp-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:22px 0;}
@media (max-width:760px){ .exp-grid{grid-template-columns:1fr;} }
.exp-sec{background:var(--bg-soft); border-radius:var(--radius-sm); padding:18px 20px;}
.exp-sec.wide{grid-column:1/-1;}
.exp-sec h4{font-size:0.98rem; margin-bottom:10px;}
.exp-sec h5{font-size:0.9rem; margin:14px 0 6px; font-family:var(--font-display);}
.exp-sec p{font-size:0.92rem; margin:0 0 .7em; max-width:none;}
.exp-sec ul{list-style:none; margin:0; padding:0;}
.exp-sec li{position:relative; padding-left:16px; font-size:0.9rem; margin-bottom:6px; color:var(--ink);}
.exp-sec li::before{content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--turquoise);}
.exp-sec .price-line{display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px dashed var(--line); font-size:0.9rem;}
.exp-sec .price-line:last-child{border-bottom:none;}
.exp-sec .price-line b{font-variant-numeric:tabular-nums;}
.exp-facts{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:6px;}
.exp-fact{background:var(--bg-subtle); border-radius:12px; padding:9px 14px; font-size:0.84rem;}
.exp-fact b{display:block; font-size:0.72rem; color:var(--ink-light); font-weight:600;}
.qa{margin:0 0 14px;}
.qa h5{font-size:0.92rem; margin:0 0 3px; font-family:var(--font-display);}
.qa p{margin:0; font-size:0.9rem;}
.filter-bar{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
.filter-btn{font-family:var(--font-body); font-weight:700; font-size:0.88rem; padding:9px 18px; border-radius:999px; border:1px solid var(--line); background:var(--white); color:var(--teal); cursor:pointer;}
.filter-btn[aria-pressed="true"]{background:var(--teal); border-color:var(--teal); color:#fff;}
.sub-label{font-weight:700; color:var(--ink); font-size:0.95rem; margin:18px 0 8px; display:block;}
.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px;}
.place-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px;}
.place-grid .reason-card p{margin:0 0 .7em; font-size:0.92rem; max-width:none;}
.place-grid .reason-card p:last-child{margin-bottom:0;}
.place-grid .reason-card ul{list-style:none; margin:8px 0 0; padding:0;}
.place-grid .reason-card li{position:relative; padding-left:16px; font-size:0.9rem; margin-bottom:5px; color:var(--ink);}
.place-grid .reason-card li::before{content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--turquoise);}
.fact-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px;}
.fact-grid .exp-fact{background:var(--white); border:1px solid var(--line);}
.fact-grid .exp-fact span{font-weight:700; color:var(--ink);}
.price-lines{list-style:none; margin:14px 0 4px; padding:0;}
.price-lines li{font-size:0.92rem; padding:7px 0; border-bottom:1px dashed var(--line); color:var(--ink);}
.price-lines li:last-child{border-bottom:none;}
@media (min-width:821px){ .nav-inpage{display:none;} }
@media (min-width:821px) and (max-width:1180px){ .main-nav{gap:20px;} .nav-link{font-size:0.9rem;} }
@media (min-width:821px) and (max-width:960px){ .header-inner{gap:14px; padding-left:20px; padding-right:20px;} .main-nav{gap:12px; margin-left:0;} .nav-link{font-size:0.8rem;} .header-cta{padding:9px 14px; font-size:0.82rem;} .logo-img{height:32px;} .dropdown-toggle{gap:3px;} }


/* home page + destination cards */
.dest-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:22px;}
.dest-grid--2{grid-template-columns:repeat(2,minmax(0,1fr)); max-width:580px;}
.dest-grid--1{grid-template-columns:minmax(0,280px);}
@media (max-width:640px){ .dest-grid--2{grid-template-columns:1fr; max-width:none;} .dest-grid--1{grid-template-columns:1fr;} }
.dest-card{display:flex; flex-direction:column; text-decoration:none; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; transition:box-shadow .3s ease, transform .3s ease;}
.dest-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-4px);}
.dest-art{aspect-ratio:4/3; overflow:hidden; background:var(--bg-soft); position:relative;}
.dest-art > svg, .dest-art > img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.dest-card:hover .dest-art > svg, .dest-card:hover .dest-art > img{transform:scale(1.05);}
.dest-art--pad{display:flex; align-items:center; justify-content:center; padding:14px 12px;}
.dest-art--pad .veh-scale{width:100%; gap:4px;}
.dest-art--pad .veh-scale figure{min-width:0;}
.dest-art--pad .veh-scale figcaption{font-size:0.56rem; line-height:1.2;}
.dest-body{padding:18px 18px 20px; display:flex; flex-direction:column; flex:1;}
.dest-body h3{font-size:1.06rem; margin-bottom:6px; color:var(--ink);}
.dest-body p{font-size:0.88rem; margin:0 0 14px; max-width:none;}
.dest-link{margin-top:auto; font-weight:700; font-size:0.88rem; color:var(--orange); display:inline-flex; align-items:center; gap:6px;}
.dest-link svg{width:12px; height:12px;}
.cat-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:28px;}
.cat-head .section-head{margin:0;}
@media (min-width:821px) and (max-width:1100px){ .nav-home{display:none;} }


/* photo areas; slots with no photo are left blank and collapse */
.hero-art-wrap:empty, .farm-card-art:empty, .car-card-image:empty, .dest-art:empty, .stop-photo:empty, .exp-card-art:empty{display:none;}
.hero--no-visual .hero-grid{grid-template-columns:1fr;}
.hero--no-visual .hero-grid > div:first-child{max-width:780px;}
.hero--no-visual .hero-visual{display:none;}
.hero--no-visual{padding-bottom:56px;}
.exp-card-art{margin:-22px -22px 16px; aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius) var(--radius) 0 0; background:var(--bg-soft);}
.exp-card-art img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.exp-card:hover .exp-card-art img{transform:scale(1.05);}
.place-photo{margin:-24px -22px 16px; aspect-ratio:16/10; overflow:hidden; border-radius:var(--radius) var(--radius) 0 0; background:var(--bg-soft);}
.place-photo img{width:100%; height:100%; object-fit:cover; display:block;}


.place-grid--photos{align-items:start;}


.place-grid--photos{grid-template-columns:1fr; gap:16px;}
.place-grid--photos .reason-card{display:grid; grid-template-columns:1fr; padding:0; overflow:hidden;}
.place-grid--photos .reason-card.has-photo{grid-template-columns:minmax(220px,320px) 1fr; align-items:stretch;}
.place-grid--photos .place-photo{margin:0; aspect-ratio:auto; min-height:210px; border-radius:0; position:relative;}
.place-grid--photos .place-photo img{position:absolute; inset:0;}
.place-grid--photos .place-text{padding:22px 24px;}
@media (max-width:700px){ .place-grid--photos .reason-card.has-photo{grid-template-columns:1fr;} .place-grid--photos .place-photo{aspect-ratio:16/10; min-height:0;} .place-grid--photos .place-text{padding:18px 20px;} }


/* touch ergonomics: 44px tap targets, no iOS zoom on inputs, no sticky hover on touch screens */
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
a, button, summary, .tab-btn, .filter-btn{-webkit-tap-highlight-color:rgba(244,122,33,0.18); touch-action:manipulation;}
@media (max-width:1024px), (pointer:coarse){
  .btn, .book-btn, .header-cta, .tab-btn, .filter-btn, .qe-submit{min-height:44px;}
  .menu-toggle{min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center;}
  .accordion-trigger{min-height:48px;}
  .exp-detail > summary{min-height:56px;}
  .promo-link, .price-table a{display:inline-flex; align-items:center; min-height:44px;}
  .footer-col a{display:block; padding:8px 0; margin-bottom:2px;}
  .qe-field input, .qe-field select{min-height:44px;}
}
@media (max-width:820px){
  .nav-link, .dropdown-item{min-height:44px; display:flex; align-items:center;}
  input, select, textarea{font-size:16px;}
}
@media (hover:none){
  .dest-card:hover, .farm-card:hover, .exp-card:hover, .reason-card:hover, .choose-card:hover, .stop-card:hover, .promo-card:hover, .vehicle-card:hover{transform:none;}
}


/* touch ergonomics (2) */
@media (max-width:1024px), (pointer:coarse){
  a[aria-label="This is Goa home"]{display:inline-flex; align-items:center; min-height:44px;}
  .locations-col a{display:inline-block; padding:11px 0;}
  .route-link{display:inline-flex; align-items:center; min-height:44px;}
}
@media (max-width:820px){
  .qe-field input, .qe-field select, .qe-field textarea{font-size:16px;}
}


/* dropdown hover bridge: keeps the menu open while the pointer crosses the gap */
.dropdown-menu::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px;}
.nav-dropdown:focus-within .dropdown-menu{display:flex;}
@media (max-width:820px){ .dropdown-menu::before{display:none;} }

/* ==== IMAGE BACKGROUNDS: hero banners, image sections, closing band ====
   Pattern: a wrapper (.hero-bg / .section-bg / .cta-bg) holds a decorative <img>; a CSS overlay
   (::after) keeps text readable. Change the picture by changing the img src. Overlay strength is
   set in this block only. Images are lazy-loaded except the hero. */
.hero--bg, .section--bg, .cta-banner--bg{position:relative; isolation:isolate;}
.hero-bg, .section-bg, .cta-bg{position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;}
.hero-bg img, .section-bg img, .cta-bg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--pos, 50% 50%); display:block;}

/* --- hero banner --- */
.hero--bg{background:var(--teal-dark); color:#fff; padding:112px 0 120px;}
.hero--bg.hero--compact{padding-bottom:120px;}
.hero--bg .hero-grid{position:relative; grid-template-columns:1fr; gap:0;}
.hero--bg .hero-grid > div:first-child{max-width:700px;}
.hero--bg .hero-shape{display:none;}
.hero--bg .eyebrow{color:var(--yellow);}
.hero--bg h1{color:#fff; text-shadow:0 2px 24px rgba(8,28,36,0.35);}
.hero--bg .lede{color:rgba(255,255,255,0.9);}
.hero--bg .btn-outline{background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.6); color:#fff; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.hero--bg .btn-outline:hover{background:#fff; border-color:#fff; color:var(--teal-dark);}
.hero--bg .hero-badge{background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.3); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.hero--bg .hero-badge svg{color:var(--yellow);}
.hero--bg .hero-visual{position:absolute; right:0; bottom:0; z-index:2;}
.hero--bg .hero-float-card{position:static; box-shadow:0 14px 34px rgba(8,28,36,0.28);}
.qe-overlap{position:relative; z-index:3; margin-top:-104px; padding-bottom:40px;}
.qe-overlap .quick-enquiry{box-shadow:0 22px 50px rgba(8,28,36,0.22);}
.hero-bg::after{content:""; position:absolute; inset:0; background:
  linear-gradient(90deg, rgba(18,49,59,0.86) 0%, rgba(18,49,59,0.70) 40%, rgba(18,49,59,0.26) 74%, rgba(18,49,59,0.12) 100%),
  linear-gradient(180deg, rgba(18,49,59,0.28) 0%, rgba(18,49,59,0) 28%, rgba(18,49,59,0.30) 100%);}

/* "right" variant: picture sits on the right and fades into brand teal (used for cars, boats and small photos) */
.hero--bg-right .hero-bg img{left:auto; right:0; width:66%; -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 46%); mask-image:linear-gradient(90deg, transparent 0%, #000 46%);}
.hero--bg-right .hero-bg::after{background:
  linear-gradient(90deg, rgba(18,49,59,0.80) 0%, rgba(18,49,59,0.58) 48%, rgba(18,49,59,0.10) 80%, rgba(18,49,59,0.04) 100%),
  linear-gradient(180deg, rgba(18,49,59,0.30) 0%, rgba(18,49,59,0) 30%, rgba(18,49,59,0.32) 100%);}

/* --- image section (dark = white text on a deep-teal overlay, wash = light frosted overlay) --- */
.section--bg{overflow:hidden;}
.section--bg > .container{position:relative; z-index:1;}
.section-bg::after{content:""; position:absolute; inset:0;}
.section--bg-dark{background:var(--teal-dark);}
.section--bg-dark .section-bg::after{background:linear-gradient(180deg, rgba(18,49,59,0.80) 0%, rgba(7,83,107,0.70) 55%, rgba(18,49,59,0.84) 100%);}
.section--bg-dark .section-head h2{color:#fff;}
.section--bg-dark .section-head p{color:rgba(255,255,255,0.86);}
.section--bg-dark .eyebrow{color:var(--yellow);}
.section--bg-dark .dest-card{border-color:transparent; box-shadow:0 18px 40px rgba(6,24,31,0.32);}
.section--bg-wash{background:var(--bg-soft);}
.section--bg-wash .section-bg::after{background:linear-gradient(180deg, #F4F7F8 0%, rgba(255,255,255,0.89) 16%, rgba(255,255,255,0.87) 84%, #F4F7F8 100%);}
.section--bg-wash .dest-card{box-shadow:0 12px 30px rgba(20,50,60,0.10);}

/* soft sea-wave edges (used on the dark Home bands; neighbouring light sections end in --bg-soft) */
.section--waves{padding-top:calc(64px + 30px); padding-bottom:calc(64px + 30px);}
.section--waves::before, .section--waves::after{content:""; position:absolute; left:0; right:0; height:34px; z-index:0; background-repeat:no-repeat; background-size:100% 100%; pointer-events:none;}
.section--waves::before{top:-1px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'%3E%3Cpath fill='%23F4F7F8' d='M0 0h1200v14c-100 22-200 22-300 8S700 0 600 8 400 30 300 24 100 6 0 16z'/%3E%3C/svg%3E");}
.section--waves::after{bottom:-1px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'%3E%3Cpath fill='%23F4F7F8' d='M0 34h1200V20c-100-22-200-22-300-8S700 34 600 26 400 4 300 10 100 28 0 18z'/%3E%3C/svg%3E");}
@media (max-width:700px){ .section--waves{padding-top:calc(44px + 22px); padding-bottom:calc(44px + 22px);} .section--waves::before, .section--waves::after{height:22px;} }

/* --- closing call-to-action band --- */
.cta-banner--bg{border:0; overflow:hidden; background:var(--teal-dark); box-shadow:var(--shadow-hover);}
.cta-banner--bg > *:not(.cta-bg){position:relative; z-index:1;}
.cta-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,49,59,0.72) 0%, rgba(7,83,107,0.66) 100%);}
.cta-banner--bg h2{color:#fff;}
.cta-banner--bg p{color:rgba(255,255,255,0.9);}
.cta-banner--bg .eyebrow{color:var(--yellow);}
.cta-banner--bg .btn-outline{background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.6); color:#fff;}
.cta-banner--bg .btn-outline:hover{background:#fff; color:var(--teal-dark); border-color:#fff;}

/* --- tablet / phone --- */
@media (max-width:960px){
  .hero--bg .hero-visual{position:static; margin-top:28px;}
  .hero--bg .hero-float-card{display:inline-flex;}
  .qe-overlap{margin-top:-56px;}
}
@media (max-width:820px){
  .hero--bg{padding:76px 0 84px;}
  .hero--bg.hero--compact{padding-bottom:84px;}
  .hero--bg-right .hero-bg img{width:100%; -webkit-mask-image:none; mask-image:none;}
  .hero-bg::after, .hero--bg-right .hero-bg::after{background:linear-gradient(180deg, rgba(18,49,59,0.74) 0%, rgba(18,49,59,0.66) 50%, rgba(18,49,59,0.84) 100%);}
}
@media (max-width:700px){
  .hero--bg{padding:56px 0 64px;}
  .hero--bg.hero--compact{padding-bottom:64px;}
}

/* --- Home page: wide destination cards, feature card, "How it works" glass steps, "Why" icon cards --- */
.section--bg .dest-grid--2{grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none;}
.section--bg .dest-grid--2 .dest-art{aspect-ratio:16/10;}
.section--bg .dest-grid--1{grid-template-columns:minmax(0,1fr);}
.section--bg .dest-grid--1 .dest-card{flex-direction:row;}
.section--bg .dest-grid--1 .dest-art{flex:0 0 44%; aspect-ratio:auto; min-height:280px;}
.section--bg .dest-grid--1 .dest-art > img{position:absolute; inset:0;}
.section--bg .dest-grid--1 .dest-body{justify-content:center; padding:34px 40px;}
.section--bg .dest-grid--1 .dest-body h3{font-size:1.55rem; margin-bottom:10px;}
.section--bg .dest-grid--1 .dest-body p{font-size:1rem; max-width:52ch; margin-bottom:20px;}
@media (max-width:820px){
  .section--bg .dest-grid--1 .dest-card{flex-direction:column;}
  .section--bg .dest-grid--1 .dest-art{flex:none; aspect-ratio:16/10; min-height:0;}
  .section--bg .dest-grid--1 .dest-body{padding:22px 22px 24px;}
}
@media (max-width:640px){ .section--bg .dest-grid--2{grid-template-columns:1fr;} }

.section--how .why-heading h2{color:#fff;}
.section--how .why-items{gap:16px;}
.section--how .why-items li{background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.22); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-radius:var(--radius); padding:20px 22px; align-items:flex-start; transition:background .25s ease, transform .25s ease;}
.section--how .why-items li:hover{background:rgba(255,255,255,0.16); transform:translateY(-3px);}
.section--how .why-num{width:38px; height:38px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.86rem; box-shadow:0 6px 16px rgba(244,122,33,0.35);}
.section--how .why-items p{color:rgba(255,255,255,0.88);}
.section--how .why-items p strong{color:#fff;}
.section--how .section-bg::after{background:linear-gradient(180deg, rgba(18,49,59,0.88) 0%, rgba(7,83,107,0.78) 55%, rgba(18,49,59,0.90) 100%);}

.section--why .reason-card{position:relative; padding-top:78px; background:rgba(255,255,255,0.94); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); box-shadow:0 12px 30px rgba(20,50,60,0.10);}
.section--why .reason-card::before{content:""; position:absolute; top:22px; left:22px; width:42px; height:42px; border-radius:12px; background-color:var(--bg-subtle); background-repeat:no-repeat; background-position:center; background-size:22px;}
.section--why .reason-card:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316B8C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5 9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E");}
.section--why .reason-card:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316B8C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 01-11.6 7.1L4 20l1-4.6A8 8 0 1121 12z'/%3E%3C/svg%3E");}
.section--why .reason-card:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316B8C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M17 14c2.5 0 4.5 2 4.5 4.5'/%3E%3C/svg%3E");}
.section--why .reason-card:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316B8C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 7.7-8 9-4.8-1.3-8-4.5-8-9V6l8-3z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");}
.section--bg .dest-grid--1 .dest-link{margin-top:4px;}
.section--why .section-bg::after{background:linear-gradient(180deg, #F4F7F8 0%, rgba(255,255,255,0.91) 18%, rgba(255,255,255,0.90) 82%, #F4F7F8 100%);}
.section--why .place-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
@media (max-width:1100px){ .section--why .place-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .section--why .place-grid{grid-template-columns:1fr;} }

/* --- inner pages: same rhythm as Home (light photo wash <-> dark photo band with sea waves) ---
   Long-form blocks (FAQ, tabs, lists, itinerary) sit on a white panel so they stay readable on any photo. */
.section--bg .container > :is(.accordion,.tabs,.checklist,.bullets,.chip-group){background:#fff; border:1px solid rgba(255,255,255,0.7); border-radius:var(--radius); padding:26px 32px; box-shadow:0 14px 34px rgba(20,50,60,0.12);}
.section--bg .container > .accordion{padding-top:8px; padding-bottom:8px; border-top:1px solid rgba(255,255,255,0.7);}
.section--bg .container > .accordion .accordion-item:last-child{border-bottom:0;}
.section--bg .container > .tabs{padding:30px 34px 34px;}
.section--bg .container > .chip-group{padding:20px 24px;}
.section--bg .container > .btn, .section--bg .container > .cta-row{margin-top:26px;}
.section--bg .container > .photo-strip{box-shadow:0 14px 34px rgba(6,24,31,0.28); border-radius:var(--radius); overflow:hidden;}
.section--bg-dark .container > :is(h3,h4){color:#fff;}
.section--bg-dark .container > p, .section--bg-dark .container > .price-note{color:rgba(255,255,255,0.88);}
.section--bg-dark .block-head h3, .section--bg-dark .subsection-label h3, .section--bg-dark .dj-group > h3{color:#fff;}
.section--bg-dark .subsection-label::after{background:rgba(255,255,255,0.28);}
.section--bg-dark .group-intro{color:rgba(255,255,255,0.88);}
.section--bg-dark .region-card, .section--bg-dark .route-card, .section--bg-dark .category-card, .section--bg-dark .choose-card, .section--bg-dark .promo-card,
.section--bg-dark .reason-card, .section--bg-dark .package-card, .section--bg-dark .vehicle-card, .section--bg-dark .farm-card, .section--bg-dark .car-card,
.section--bg-dark .tier-card, .section--bg-dark .exp-detail, .section--bg-dark .info-card{border-color:transparent; box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.section--bg-dark .notice-box{background:rgba(255,255,255,0.96); box-shadow:0 14px 34px rgba(6,24,31,0.26);}
.section--bg-wash :is(.region-card,.route-card,.category-card,.choose-card,.promo-card,.package-card,.vehicle-card,.farm-card,.car-card,.tier-card,.info-card,.table-wrap){box-shadow:0 12px 30px rgba(20,50,60,0.10);}
.section--bg-wash .notice-box{box-shadow:0 10px 26px rgba(20,50,60,0.08);}
.section--bg-wash .section-head h2{color:var(--teal-dark);}
.section--bg .container > .section-head ~ .section-head{margin-top:56px;}
.section--bg .container > .tabs .tab-list{margin-bottom:26px;}
.locations-section.section--bg .locations-col a{color:rgba(255,255,255,0.84);}
.locations-section.section--bg p{color:rgba(255,255,255,0.86);}
.locations-section.section--bg{background:var(--teal-dark);}
.locations-section.section--bg .section-bg::after{background:linear-gradient(180deg, rgba(18,49,59,0.86) 0%, rgba(7,83,107,0.80) 55%, rgba(18,49,59,0.90) 100%);}
.section--seo .seo-content{background:rgba(255,255,255,0.95); border-radius:var(--radius); padding:34px 40px; box-shadow:0 14px 34px rgba(20,50,60,0.12);}
.section--seo .seo-content h3{color:var(--teal-dark);}
.section--bg-wash .container > p{color:var(--ink);}
.section--bg-wash .container > p[style]{color:var(--ink) !important;}
.section--bg-dark .container > p[style], .section--bg-dark .container > :is(h3,h4)[style]{color:rgba(255,255,255,0.9) !important;}
.section--bg-dark .container > :is(h3,h4)[style]{color:#fff !important;}
.section--how .why-heading p{color:rgba(255,255,255,0.88);}
@media (min-width:760px){ :is(.card-grid,.choose-grid):is(:has(> :nth-child(6):last-child),:has(> :nth-child(5):last-child)){grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (min-width:1101px){ :is(.card-grid,.choose-grid):has(> :nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr));} }
.section--soft.section--plain{background:var(--bg-soft);}
@media (max-width:700px){
  .section--bg .container > :is(.accordion,.tabs,.checklist,.bullets,.chip-group){padding:18px 18px;}
  .section--bg .container > .tabs{padding:20px 16px 24px;}
  .section--seo .seo-content{padding:22px 20px;}
}

/* --- safety net: any dark photo band always gets light text (also covers sections without extra modifiers) --- */
.section--bg-dark .section-head h2, .section--bg-dark .why-heading h2, .section--bg-dark > .container > h2{color:#fff;}
.section--bg-dark .section-head p, .section--bg-dark .why-heading p{color:rgba(255,255,255,0.88);}
.section--bg-dark .why-items li{background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.22); border-radius:var(--radius); padding:20px 22px;}
.section--bg-dark .why-items p{color:rgba(255,255,255,0.88);}
.section--bg-dark .why-items p strong{color:#fff;}

/* compare-card photos (Dinner Cruises, Yacht Sea Experiences) */
.cruise-img{display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:14px; margin:0 0 16px;}
.tab-panel .cruise-img{aspect-ratio:21/9; max-height:380px; margin:0 0 20px;}

/* enquiry strip at the end of a tab panel (Yacht Sea Experiences, tours) */
.tab-panel > .cta-row{margin-top:34px; padding:22px 26px; background:var(--bg-subtle); border-radius:var(--radius); display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap;}
.tab-panel > .cta-row strong{font-family:var(--font-display); font-size:1.08rem; color:var(--ink);}
@media (max-width:560px){ .tab-panel > .cta-row{padding:18px;} .tab-panel > .cta-row .btn{width:100%; justify-content:center;} }

/* Self-drive: "Where we operate" glass cards + "Good to know" cards */
.locations-section.section--bg .section-head h2{color:#fff;}
.locations-section.section--bg .locations-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:0;}
.locations-section.section--bg .locations-col{background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.22); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:var(--radius); padding:22px 22px 16px;}
.locations-section.section--bg .locations-col h5{font-family:var(--font-display); font-size:1rem; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.2); color:#fff;}
.locations-section.section--bg .locations-col a{display:inline-block; margin:0 6px 8px 0; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.18); color:#fff; font-size:0.86rem; font-weight:500; line-height:1.3;}
.locations-section.section--bg .locations-col a:hover{background:var(--turquoise); border-color:var(--turquoise); color:#fff;}
@media (max-width:1000px){ .locations-section.section--bg .locations-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .locations-section.section--bg .locations-grid{grid-template-columns:1fr;} }
.seo-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
.seo-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; box-shadow:0 12px 30px rgba(20,50,60,0.10);}
.seo-card .seo-icon{width:42px; height:42px; border-radius:12px; background:var(--bg-subtle); color:var(--turquoise); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.seo-card .seo-icon svg{width:22px; height:22px;}
.seo-card h3{font-size:1.12rem; margin-bottom:10px; color:var(--teal-dark);}
.seo-card p{font-size:0.94rem; line-height:1.7; margin:0; max-width:none; color:var(--ink-light);}
@media (max-width:900px){ .seo-grid{grid-template-columns:1fr;} }

/* ==== YACHT CARDS (Private Yacht Charters) – dark charter card with photo gallery ==== */
:root{--sand:#D9C49E; --sand-dark:#C9B186;}
.tier-jump{display:flex; flex-wrap:wrap; gap:10px; margin:-8px 0 34px;}
.tier-chip{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--teal-dark); font-weight:700; font-size:0.9rem; text-decoration:none; box-shadow:0 6px 16px rgba(20,50,60,0.08); transition:background .2s ease, color .2s ease, border-color .2s ease;}
.tier-chip span{display:inline-flex; min-width:24px; height:24px; padding:0 7px; align-items:center; justify-content:center; border-radius:999px; background:var(--bg-subtle); color:var(--teal); font-size:0.78rem;}
.tier-chip:hover{background:var(--teal-dark); border-color:var(--teal-dark); color:#fff;}
.tier-chip:hover span{background:rgba(255,255,255,0.16); color:#fff;}
.yc-tier{margin-bottom:52px; scroll-margin-top:96px;}
.yc-tier .subsection-label{flex-wrap:wrap;}
.yc-tier .subsection-label h3{font-size:1.45rem; color:var(--teal-dark);}
.tier-range{font-size:0.8rem; font-weight:700; color:var(--orange); letter-spacing:0.02em;}
.yc-tier .subsection-label .tier-range{order:3; flex-basis:100%; margin-top:-4px;}
.yc-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}
@media (max-width:1040px){ .yc-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .yc-grid{grid-template-columns:1fr; gap:20px;} }
.yc{position:relative; display:flex; flex-direction:column; background:linear-gradient(180deg,#2c4a55 0%, #15333d 120px, #12313B 100%); color:#fff; border-radius:20px; padding:20px 20px 22px; box-shadow:0 18px 40px rgba(8,28,36,0.22); transition:transform .3s ease, box-shadow .3s ease;}
.yc:hover{transform:translateY(-4px); box-shadow:0 24px 50px rgba(8,28,36,0.30);}
.yc-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px;}
.yc-eyebrow{font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--sand);}
.yc-cap{flex:none; font-size:0.76rem; font-weight:600; color:#fff; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.16); padding:5px 11px; border-radius:999px; white-space:nowrap;}
.yc-media{position:relative; display:block; width:100%; aspect-ratio:16/10; border:0; padding:0; margin:0 0 18px; border-radius:14px; overflow:hidden; background:linear-gradient(135deg,#1d4552,#0f2a33); cursor:pointer; color:inherit; font:inherit;}
.yc-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.yc:hover .yc-media img{transform:scale(1.05);}
.yc-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:rgba(217,196,158,0.75); font-size:0.8rem; font-weight:600; letter-spacing:0.02em;}
.yc-ph svg{width:64px; height:40px;}
.yc-photos{position:absolute; left:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; background:rgba(10,24,30,0.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-size:0.8rem; font-weight:600;}
.yc-photos svg{width:15px; height:15px;}
.yc-media:focus-visible{outline:3px solid var(--sand); outline-offset:2px;}
.yc-name{font-size:1.5rem; color:#fff; margin:0 0 8px; letter-spacing:-0.01em;}
.yc-price{font-family:var(--font-display); font-weight:800; font-size:1.7rem; color:var(--sand); line-height:1.1; margin-bottom:16px;}
.yc-price small{font-family:var(--font-body); font-size:0.88rem; font-weight:500; color:rgba(255,255,255,0.8);}
.yc-feat{list-style:none; margin:0 0 20px; padding:16px 0 0; border-top:1px solid rgba(255,255,255,0.16); display:grid; grid-template-columns:1fr 1fr; gap:12px 14px;}
.yc-feat li{display:flex; align-items:flex-start; gap:9px; font-size:0.86rem; line-height:1.4; color:rgba(255,255,255,0.92);}
.yc-feat svg{flex:none; width:19px; height:19px; color:var(--sand); margin-top:0;}
.yc-cta{margin-top:auto; display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; border-radius:12px; background:var(--sand); color:var(--teal-dark); font-weight:800; font-size:0.95rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none; transition:background .2s ease, transform .2s ease;}
.yc-cta:hover{background:#fff; transform:translateY(-1px);}
@media (max-width:380px){ .yc-feat{grid-template-columns:1fr;} }
/* tier cards in "Yacht categories" */
.tier-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.tier-card-link{display:block; text-decoration:none; color:inherit;}
.tier-card-link .tier-range{display:block; margin-bottom:6px;}
.tier-card-link:hover{border-color:var(--orange);}
.tier-card-link strong{color:var(--teal);}
@media (max-width:560px){ .tier-cards{grid-template-columns:1fr;} }

/* optional photo slot (cards that are waiting for a picture) */
.img-slot{position:relative; overflow:hidden; background:linear-gradient(135deg,var(--bg-subtle),#dcebee);}
.img-slot > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.img-slot .slot-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--teal); opacity:0.55; font-size:0.78rem; font-weight:600;}
.img-slot .slot-ph svg{width:56px; height:36px;}

/* ==== PHOTO GALLERY (lightbox) ==== */
.gal{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(6,18,23,0.88); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);}
.gal[hidden]{display:none;}
.gal-box{position:relative; width:min(1000px,100%); max-height:100%; display:flex; flex-direction:column; gap:12px; color:#fff;}
.gal-head{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.gal-title{font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:#fff; margin:0;}
.gal-count{font-size:0.85rem; color:rgba(255,255,255,0.7); margin-left:10px; font-weight:500;}
.gal-close, .gal-nav{border:0; cursor:pointer; color:#fff; background:rgba(255,255,255,0.14); width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:1.4rem; line-height:1;}
.gal-close:hover, .gal-nav:hover{background:rgba(255,255,255,0.26);}
.gal-stage{position:relative; border-radius:14px; overflow:hidden; background:#0b1f26; aspect-ratio:16/10; max-height:72vh;}
.gal-stage img{width:100%; height:100%; object-fit:contain; display:block;}
.gal-nav{position:absolute; top:50%; transform:translateY(-50%);}
.gal-prev{left:10px;} .gal-next{right:10px;}
.gal-thumbs{display:flex; gap:8px; overflow-x:auto; padding-bottom:4px;}
.gal-thumbs button{flex:none; width:84px; height:56px; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; cursor:pointer; background:#0b1f26; opacity:0.6;}
.gal-thumbs button[aria-current="true"]{border-color:var(--sand); opacity:1;}
.gal-thumbs img{width:100%; height:100%; object-fit:cover; display:block;}
.gal-empty{padding:48px 24px; text-align:center; border-radius:14px; background:#0b1f26;}
.gal-empty p{color:rgba(255,255,255,0.82); margin:12px auto 22px; max-width:42ch;}
.gal-empty svg.boat{width:80px; height:50px; color:var(--sand);}
body.gal-open{overflow:hidden;}

/* ==== BEACH PARTY PLANNER ==== */
.setup-card .btn{width:100%; justify-content:center;}
.setup-card .exp-open{margin-top:14px;}
.setup-card .setup-enquire{margin-top:10px;}
.setup-card .exp-card-art{aspect-ratio:16/10;}
.setup-close{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; margin-top:24px; padding:22px 24px; border-radius:var(--radius); background:var(--bg-subtle);}
.setup-close strong{font-family:var(--font-display); font-size:1.08rem; color:var(--ink);}
.setup-close p{margin:4px 0 0; font-size:0.92rem; max-width:60ch;}
@media (max-width:560px){ .setup-close .btn{width:100%; justify-content:center;} }
.beach-card .beach-region{display:inline-block; font-size:0.74rem; font-weight:700; color:var(--orange); letter-spacing:0.04em; text-transform:uppercase; margin-bottom:4px;}
.beach-card p{margin-bottom:12px;}
.beach-setups{list-style:none; margin:0; padding:12px 0 0; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:6px;}
.beach-setups li{font-size:0.74rem; font-weight:600; color:var(--teal); background:var(--bg-subtle); border-radius:999px; padding:4px 10px;}

/* ==== Dinner Cruises: more cruises + sunset cruises ==== */
.cruise-more{margin-top:56px;}
.cruise-more .subsection-label h3{font-size:1.35rem; color:var(--teal-dark);}
.cruise-more-intro{margin:-6px 0 18px; color:var(--ink);}
.boat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
@media (max-width:1100px){ .boat-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .boat-grid--4{grid-template-columns:1fr;} }
.cruise-mini h3{font-size:1.15rem;}
.cruise-mini .cruise-img{margin-bottom:14px;}

/* ==== E-Bike Trails / Rare Escapes ==== */
@media (min-width:1001px){ .exp-card-list--4{grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;} .exp-card-list--4 .exp-card{padding:20px;} .exp-card-list--4 .exp-card-art{margin:-20px -20px 14px;} }
.exp-steps{list-style:none; margin:0; padding:0; counter-reset:step;}
.exp-steps li{position:relative; padding:0 0 14px 44px; margin:0; counter-increment:step;}
.exp-steps li::before{content:counter(step); position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:var(--orange); color:#fff; font-weight:800; font-size:0.82rem; display:flex; align-items:center; justify-content:center;}
.exp-steps li::after{content:""; position:absolute; left:14px; top:34px; bottom:4px; width:2px; background:var(--line);}
.exp-steps li:last-child::after{display:none;}
.exp-steps li strong{display:block; font-family:var(--font-display); font-size:0.98rem; color:var(--ink); margin-bottom:3px; padding-top:4px;}
.exp-steps li span{display:block; font-size:0.9rem; color:var(--ink-light); line-height:1.6;}
.exp-sec .exp-steps li{padding-left:44px;}
.exp-sec .exp-steps li::before{background:var(--orange);}
.exp-sec ol.exp-steps li::marker{content:none;}
.exp-detail .exp-sec ol.exp-steps > li{padding-left:44px;}
.exp-detail .exp-sec ol.exp-steps > li::before{left:0; top:0;}
#compare .price-table td:last-child a{color:var(--orange); font-weight:700; text-decoration:none; white-space:nowrap;}
/* Home activities: 6 cards as a 3 x 2 grid */
/* Home activities: centred rows of cards (4 per row on desktop) */
@media (min-width:600px){ #activities .dest-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:22px;} #activities .dest-grid > .dest-card{flex:0 0 calc((100% - 22px)/2);} }
@media (min-width:1000px){ #activities .dest-grid > .dest-card{flex-basis:calc((100% - 66px)/4);} }

/* single-experience page (Rare Escapes) */
.single-facts{padding:0 0 24px; overflow:hidden;}
.single-facts .single-photo{aspect-ratio:16/10; margin:0 0 18px;}
.single-facts h3, .single-facts .farm-meta{margin-left:24px; margin-right:24px;}
.single-facts .btn{margin:18px 24px 0; width:calc(100% - 48px); justify-content:center;}
.single-intro p{max-width:62ch; color:var(--ink);}
.detail-panel{background:#fff; border-radius:var(--radius); padding:28px; box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.detail-panel .exp-grid{margin-top:0;}
@media (max-width:700px){ .detail-panel{padding:18px;} }

/* ==== EXPLORE GOA guides ==== */
.eyebrow-link{text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.eyebrow-link::before{content:"←"; font-weight:700;}
.eyebrow-link:hover{color:#fff;}
.guide-grid{display:grid; gap:24px; align-items:start;}
.guide-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.guide-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:1050px){ .guide-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:700px){ .guide-grid--3, .guide-grid--2{grid-template-columns:1fr;} }
.guide-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:0 12px 30px rgba(20,50,60,0.10); scroll-margin-top:96px;}
.section--bg-dark .guide-card{border-color:transparent; box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.guide-photo{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg-soft);}
.guide-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.guide-body{padding:20px 22px 22px;}
.guide-tag{display:inline-block; font-size:0.74rem; font-weight:700; color:var(--orange); letter-spacing:0.04em; text-transform:uppercase; margin-bottom:6px;}
.guide-card h3{font-size:1.18rem; margin-bottom:10px;}
.guide-card p{font-size:0.92rem; line-height:1.65; max-width:none; margin-bottom:0.8em;}
.guide-meta{list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--line);}
.guide-meta li{display:grid; grid-template-columns:96px 1fr; gap:10px; font-size:0.85rem; padding:5px 0;}
.guide-meta .k{font-weight:700; color:var(--ink);}
.guide-meta .v{color:var(--ink-light);}
.guide-chips{margin-top:14px;}
.guide-chips-label{display:block; font-size:0.78rem; font-weight:700; color:var(--teal-dark); margin-bottom:8px;}
.guide-chips ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px;}
.guide-chips li{font-size:0.76rem; font-weight:600; color:var(--teal); background:var(--bg-subtle); border-radius:999px; padding:4px 10px;}
.guide-link{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-weight:700; font-size:0.9rem; color:var(--orange); text-decoration:none;}
.guide-link svg{width:12px; height:12px;}
.guide-routes{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px;}
.guide-route .choose-icon{color:var(--orange);}
.guide-note{background:#fff; border-left:4px solid var(--turquoise); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:16px 20px; margin:22px 0 0; max-width:none; color:var(--ink) !important; font-size:0.94rem; box-shadow:0 10px 24px rgba(20,50,60,0.10);}
.guide-plan{margin-top:22px; background:#fff; box-shadow:0 12px 30px rgba(20,50,60,0.12);}
.guide-panel{background:#fff; border-radius:var(--radius); padding:26px 30px; box-shadow:0 14px 34px rgba(20,50,60,0.12);}
.guide-panel + .guide-panel{margin-top:20px;}
.guide-panel-title{font-size:1.05rem; margin-bottom:14px;}
.area-grid{columns:3 280px; column-gap:20px;}
.area-card{break-inside:avoid; background:#fff; border-radius:var(--radius); padding:20px 22px; margin:0 0 20px; box-shadow:0 12px 30px rgba(20,50,60,0.12);}
.section--bg-dark .area-card{box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.area-card h4{display:flex; align-items:center; gap:8px; font-size:1rem; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--line);}
.area-card h4 svg{width:18px; height:18px; color:var(--turquoise); flex:none;}
.area-card h4 em{margin-left:auto; font-style:normal; font-size:0.74rem; color:var(--teal); background:var(--bg-subtle); border-radius:999px; padding:2px 9px;}
.area-card ul{list-style:none; margin:0; padding:0;}
.area-card li{position:relative; padding:4px 0 4px 14px; font-size:0.88rem; color:var(--ink); line-height:1.45;}
.area-card li::before{content:""; position:absolute; left:0; top:11px; width:5px; height:5px; border-radius:50%; background:var(--orange);}
.cal-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
@media (max-width:900px){ .cal-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:460px){ .cal-grid{grid-template-columns:1fr;} }
.cal-card{background:#fff; border-radius:var(--radius); padding:18px 20px; box-shadow:0 12px 30px rgba(20,50,60,0.12); display:flex; flex-direction:column; gap:4px;}
.section--bg-dark .cal-card{box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.cal-month{font-family:var(--font-display); font-weight:800; color:var(--orange); font-size:1.02rem;}
.cal-what{font-size:0.92rem; color:var(--ink);}
.contact-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px;}
.contact-card{background:#fff; border-radius:var(--radius); padding:22px; box-shadow:0 12px 30px rgba(20,50,60,0.12);}
.section--bg-dark .contact-card{box-shadow:0 18px 40px rgba(6,24,31,0.30);}
.contact-card h3{font-size:1.1rem; margin-bottom:12px;}
.contact-rows{list-style:none; margin:0 0 10px; padding:0;}
.contact-rows li{display:flex; gap:10px; align-items:flex-start; font-size:0.9rem; padding:5px 0; color:var(--ink);}
.contact-rows svg{flex:none; width:17px; height:17px; color:var(--turquoise); margin-top:2px;}
.contact-rows a{color:var(--teal); font-weight:600; text-decoration:none; overflow-wrap:anywhere;}
.contact-rows a:hover{text-decoration:underline;}
.contact-card p{font-size:0.88rem; margin:6px 0 0; max-width:none;}
.sos-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:24px;}
@media (max-width:560px){ .sos-grid{grid-template-columns:1fr;} }
.sos-tile{display:flex; align-items:center; gap:18px; background:#fff; border-radius:var(--radius); padding:20px 24px; text-decoration:none; color:var(--ink); font-weight:600; box-shadow:0 18px 40px rgba(6,24,31,0.25); border-left:6px solid #E5484D;}
.sos-num{font-family:var(--font-display); font-weight:800; font-size:2.2rem; color:#D93036; line-height:1;}
.explore-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){ .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .explore-grid{grid-template-columns:1fr;} }
.dest-card--soon{opacity:0.92;}
.dest-card--soon .dest-art{position:relative;}
.soon-pill{display:inline-block; align-self:flex-start; font-size:0.74rem; font-weight:700; color:var(--teal); background:var(--bg-subtle); border-radius:999px; padding:4px 11px; margin-top:auto;}
.useful-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px;}
.useful-card{display:flex; align-items:center; gap:14px; background:#fff; border-radius:var(--radius); padding:18px 20px; text-decoration:none; color:var(--ink); box-shadow:0 18px 40px rgba(6,24,31,0.25);}
.useful-card > span:nth-child(2){flex:1; display:flex; flex-direction:column; gap:2px; font-size:0.84rem; color:var(--ink-light);}
.useful-card strong{font-size:0.98rem; color:var(--ink);}
.useful-card > svg{width:14px; height:14px; color:var(--orange);}
.useful-ic{flex:none; width:40px; height:40px; border-radius:12px; background:var(--bg-subtle); color:var(--turquoise); display:flex; align-items:center; justify-content:center;}
.useful-ic svg{width:20px; height:20px;}
.useful-card--soon .soon-pill{margin-top:0;}
@media (min-width:821px){ .dropdown-menu--right{left:auto; right:-14px;} }
/* With eight menus the full desktop menu needs ~1280px; below that the header uses the tap-to-open menu */
@media (min-width:821px) and (max-width:1279px){
  .main-nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); flex-direction:column; align-items:flex-start; padding:12px 32px 20px; border-bottom:1px solid var(--line); gap:4px; box-shadow:0 14px 30px rgba(16,42,51,0.10);}
  .main-nav.is-open{display:flex;}
  .nav-dropdown{width:100%;}
  .dropdown-menu, .dropdown-menu--right{position:static; box-shadow:none; border:none; display:none; padding-left:10px;}
  .nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu{display:none;}
  .nav-dropdown.is-open .dropdown-menu{display:flex;}
  .dropdown-menu::before{display:none;}
  .dropdown-toggle{width:100%; justify-content:space-between;}
  .menu-toggle{display:inline-flex; align-items:center; justify-content:center;}
  .header-cta{margin-left:auto;}
  .nav-home, .nav-inpage{display:block;}
}
.nav-link{white-space:nowrap;}
.site-header .header-inner > a:first-child{flex-shrink:0;}
.site-header .logo-img{flex-shrink:0; max-width:none;}
@media (min-width:1280px){ .main-nav{gap:20px; margin-left:4px;} .nav-link{font-size:0.92rem;} .header-cta{padding-left:20px; padding-right:20px;} }
@media (max-width:820px){ .nav-dropdown:hover .dropdown-menu{display:none;} .nav-dropdown.is-open .dropdown-menu{display:flex;} }

/* Beach Party Planner: beach cards with photos, equal heights */
.beach-grid{align-items:stretch;}
.beach-card{padding:0; overflow:hidden; display:flex; flex-direction:column;}
.beach-photo{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg-soft);}
.beach-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.beach-card:hover .beach-photo > img{transform:scale(1.05);}
.beach-body{padding:18px 20px 20px; display:flex; flex-direction:column; flex:1;}
.beach-card .beach-region{display:inline-flex; align-items:center; gap:5px;}
.beach-card .beach-region svg{width:14px; height:14px; color:var(--turquoise);}
.beach-card .beach-setups{margin-top:auto;}

/* Explore Goa: cards in the same row share one height; links/chips sit at the bottom */
.guide-grid{align-items:stretch;}
.guide-card{display:flex; flex-direction:column;}
.guide-body{display:flex; flex-direction:column; flex:1;}
.guide-meta{margin-top:auto;}
.guide-body > p:last-of-type{margin-bottom:12px;}
.contact-grid{align-items:stretch;}
.cal-grid{align-items:stretch;}
.guide-routes{align-items:stretch;}

/* Footer: logo + six link columns on one row (wraps neatly on smaller screens) */
.footer-grid{display:grid; grid-template-columns:minmax(200px,1.3fr) repeat(6,minmax(0,1fr)); gap:28px 26px;}
.footer-col{min-width:0;}
.footer-col a{overflow-wrap:anywhere;}
@media (max-width:1180px){ .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));} .footer-grid > :first-child{grid-column:1 / -1;} }
@media (max-width:640px){ .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px;} }

/* Explore Goa: compact cards + "View details" pop-up */
.guide-card .guide-tag{display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
.guide-card h3{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.guide-short{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 18px !important;}
.guide-open{margin-top:auto; align-self:flex-start;}
.guide-card .guide-photo{transition:opacity .2s ease;}
.guide-card .guide-photo:hover{opacity:0.92;}
.gm{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(6,18,23,0.72); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
.gm[hidden]{display:none;}
.gm-box{position:relative; width:min(760px,100%); max-height:calc(100vh - 48px); overflow-y:auto; background:#fff; border-radius:20px; box-shadow:0 30px 70px rgba(6,18,23,0.45);}
.gm-close{position:sticky; top:12px; float:right; margin:12px 12px -56px 0; z-index:2; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,0.92); color:var(--ink); font-size:1.6rem; line-height:1; cursor:pointer; box-shadow:0 6px 18px rgba(6,18,23,0.18);}
.gm-close:hover{background:#fff;}
.gm-content .guide-photo{aspect-ratio:16/8;}
.gm-content .guide-photo.img-slot{aspect-ratio:16/6;}
.gm-body{padding:24px 30px 30px;}
.gm-body h3{font-size:1.5rem; margin-bottom:12px;}
.gm-body p{font-size:0.98rem; line-height:1.7; max-width:none; margin-bottom:0.9em;}
.gm-body .guide-meta{margin-top:16px;}
.gm-body .guide-meta li{grid-template-columns:120px 1fr; font-size:0.92rem;}
.gm-actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:22px;}
.gm-actions .guide-link{margin-top:0;}
@media (max-width:600px){ .gm{padding:0; align-items:flex-end;} .gm-box{max-height:92vh; border-radius:20px 20px 0 0;} .gm-body{padding:20px 20px 26px;} .gm-body .guide-meta li{grid-template-columns:96px 1fr;} .gm-actions .btn{width:100%; justify-content:center;} }

/* Real photos on single-experience pages */
.single-facts .single-photo{border-radius:16px; overflow:hidden;}
.single-facts .single-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.single-extra{margin:18px 0 0; border-radius:16px; overflow:hidden; background:var(--white,#fff); box-shadow:0 10px 30px rgba(0,0,0,.08);}
.single-extra img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block;}
.single-extra figcaption{padding:10px 14px; font-size:.9rem; color:#4a4a4a;}

/* Photo carousel (experience details card) */
.single-facts .photo-carousel{position:relative; aspect-ratio:auto; background:#111;}
.photo-carousel .pc-track{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; outline:none;}
.photo-carousel .pc-track::-webkit-scrollbar{display:none;}
.photo-carousel .pc-slide{flex:0 0 100%; margin:0; scroll-snap-align:start; position:relative; aspect-ratio:16/10;}
.photo-carousel .pc-slide img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-carousel figcaption{position:absolute; left:0; right:0; bottom:0; padding:28px 14px 30px; font-size:.85rem; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.65)); text-align:left;}
.photo-carousel .pc-nav{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.9); color:#1a1a1a; font-size:1.6rem; line-height:1; cursor:pointer; display:grid; place-items:center; box-shadow:0 4px 14px rgba(0,0,0,.25); padding:0 0 3px;}
.photo-carousel .pc-prev{left:10px;} .photo-carousel .pc-next{right:10px;}
.photo-carousel .pc-nav:hover{background:#fff;}
.photo-carousel .pc-dots{position:absolute; left:0; right:0; bottom:10px; display:flex; justify-content:center; gap:7px;}
.photo-carousel .pc-dot{width:8px; height:8px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.55); cursor:pointer; transition:width .2s;}
.photo-carousel .pc-dot.is-on{background:#fff; width:20px; border-radius:6px;}
.gm-content .guide-photo.photo-carousel{aspect-ratio:auto; overflow:hidden; background:#111;}
.gm-content .photo-carousel .pc-slide{aspect-ratio:16/9;}
.gm-content .photo-carousel .pc-slide img{position:static;}
.photo-carousel .pc-count{position:absolute; top:10px; left:10px; background:rgba(0,0,0,.55); color:#fff; font-size:.75rem; padding:3px 9px; border-radius:20px;}
@media (max-width:600px){ .photo-carousel .pc-nav{width:32px; height:32px; font-size:1.35rem;} }

/* Short numbered steps (procedure lists without descriptions) */
.exp-steps--short li{padding-bottom:10px; min-height:40px;}
.exp-steps--short li strong{font-weight:600;}
@media (min-width:821px){ .exp-sec--cols > ul{columns:2; column-gap:36px;} .exp-sec--cols > ul li{break-inside:avoid;} }

/* Adventure hub: compact activity cards */
.adv-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
@media (max-width:1000px){ .adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){ .adv-grid{grid-template-columns:1fr;} }
.adv-card{display:flex; flex-direction:column; gap:8px; background:#fff; color:var(--ink); border-radius:var(--radius); padding:20px 22px; text-decoration:none; box-shadow:0 10px 28px rgba(0,0,0,.14); transition:transform .2s ease, box-shadow .2s ease;}
.adv-card[hidden]{display:none;}
.adv-card:hover{transform:translateY(-3px); box-shadow:0 16px 34px rgba(0,0,0,.2);}
.adv-card .exp-cat{align-self:flex-start;}
.adv-card h3{font-size:1.08rem; margin:2px 0 0; color:var(--ink);}
.adv-card > p{margin:0; font-size:.9rem; color:var(--ink-light); line-height:1.5;}
.adv-meta{list-style:none; margin:2px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; font-size:.84rem; color:var(--ink-light);}
.adv-foot{margin-top:auto; padding-top:12px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:10px;}
.adv-foot strong{font-size:1rem; color:var(--ink);}
.adv-foot .dest-link{font-size:.88rem; white-space:nowrap;}

@media (min-width:900px){ #categories .dest-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
.adv-card .adv-img{display:block; width:calc(100% + 44px); max-width:none; flex-shrink:0; margin:-20px -22px 6px; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius) var(--radius) 0 0;}

/* ==== 15-category structure ==== */
/* dropdown group labels */
.dropdown-label{display:block; padding:12px 12px 4px; font-size:0.7rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange);}
.dropdown-label:first-child{padding-top:4px;}
.dropdown-menu--grouped{min-width:280px;}
@media (max-width:1279px){ .dropdown-label{padding-left:12px;} }
/* home category grids */
.cat-grid{gap:22px;}
@media (min-width:700px){ .cat-grid--2,.cat-grid--3,.cat-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (min-width:1000px){ .cat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));} .cat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));} }
.cat-grid .dest-card{height:100%;}
/* coming-soon cards */
.dest-card--soon{cursor:default;}
.dest-card--soon .dest-art{position:relative;}
.dest-card--soon .dest-art img{filter:saturate(0.55) brightness(0.92);}
.dest-card--soon:hover{transform:none;}
.soon-badge{display:inline-block; background:var(--orange); color:#fff; font-size:0.72rem; font-weight:800; letter-spacing:0.04em; text-transform:uppercase; padding:5px 11px; border-radius:999px;}
.dest-card--soon .soon-badge{position:absolute; top:12px; left:12px; z-index:2; box-shadow:0 4px 12px rgba(0,0,0,.2);}
.soon-note{font-size:0.86rem; font-weight:700; color:var(--ink-light); margin-top:auto;}
.cat-soon{max-width:640px; margin:0 auto; text-align:center; background:#fff; border-radius:var(--radius); padding:34px 28px; box-shadow:0 14px 34px rgba(0,0,0,.14);}
.cat-soon h3{margin:14px 0 8px; color:var(--ink);}
.cat-soon p{color:var(--ink-light); margin:0 0 20px;}
/* category index in the home hero */
.cat-index{grid-column:1 / -1; margin-top:30px;}
.cat-index-label{display:block; font-size:0.74rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.8); margin-bottom:10px;}
.cat-index ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.cat-index a{display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.28); color:#fff; font-size:0.84rem; font-weight:600; text-decoration:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .2s ease;}
.cat-index a:hover{background:rgba(255,255,255,0.26);}
.cat-index a span{color:var(--yellow); font-weight:800; font-size:0.76rem;}
@media (max-width:600px){ .cat-index a{font-size:0.78rem; padding:6px 10px;} }
/* footer: home + WhatsApp under the logo */
.footer-home{margin-top:14px; font-size:0.9rem; color:rgba(255,255,255,0.65);}
.footer-home a{color:rgba(255,255,255,0.85); text-decoration:none;}
.footer-home a:hover{color:#fff;}
section[id]{scroll-margin-top:84px;}
.cat-grid .dest-art{aspect-ratio:4/3; height:auto;}
.cat-grid .dest-art img{width:100%; height:100%; object-fit:cover;}
@media (min-width:700px){ .cat-grid--2 .dest-art{aspect-ratio:2/1;} }
.exp-body .exp-carousel{position:relative; border-radius:14px; overflow:hidden; margin:0 0 18px; background:#111;}
.exp-body .exp-carousel .pc-slide{aspect-ratio:21/9;}
@media (max-width:600px){ .exp-body .exp-carousel .pc-slide{aspect-ratio:4/3;} }
.yc-split{margin:-4px 0 10px; font-size:.8rem; color:var(--ink-light);}
.section--bg-dark .yc-split{color:rgba(255,255,255,.75);}
.yc .yc-split{color:rgba(255,255,255,.78);}

/* ==== home: sub-item chips under a category ==== */
.cat-chips{list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.cat-chip{display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:999px; font-size:.86rem; font-weight:600; text-decoration:none; background:#fff; color:var(--teal-dark); border:1px solid rgba(0,0,0,.08); box-shadow:0 4px 12px rgba(0,0,0,.06); transition:transform .15s ease, background .15s ease;}
a.cat-chip:hover{transform:translateY(-1px); background:var(--orange); color:#fff;}
.cat-chip--soon{background:rgba(255,255,255,.7); color:var(--ink-light); box-shadow:none;}
.cat-chip--soon small{font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; opacity:.75;}
.section--bg-dark .cat-chip--soon{background:rgba(255,255,255,.14); color:rgba(255,255,255,.8); border-color:rgba(255,255,255,.18);}

/* ==== footer v2 ==== */
.footer-grid.footer-grid--v2{display:grid; grid-template-columns:minmax(220px,1.15fr) minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1fr); gap:36px 32px;}
.footer-brand .footer-logo{margin-bottom:12px;}
.footer-tag{max-width:34ch; color:rgba(255,255,255,.65); font-size:.92rem; margin:0 0 18px;}
.footer-help{list-style:none; margin:0 0 18px; padding:0; display:grid; gap:8px;}
.footer-help a{display:flex; justify-content:space-between; align-items:center; gap:12px; max-width:260px; padding:9px 14px; border-radius:12px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.8); text-decoration:none; font-size:.88rem;}
.footer-help a strong{color:#fff; font-size:1.05rem; letter-spacing:.02em;}
.footer-help a:hover{background:rgba(255,255,255,.13);}
.footer-social{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.footer-social[hidden]{display:none;}
.footer-social > span{font-size:.85rem; color:rgba(255,255,255,.65); margin-right:4px;}
.footer-social a{width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.1); color:#fff;}
.footer-social a:hover{background:var(--orange);}
.footer-social svg{width:18px; height:18px;}
.footer-links-2{columns:2; column-gap:24px;}
.footer-links-2 a{break-inside:avoid;}
.footer-soon{display:block; color:rgba(255,255,255,.45); font-size:.92rem; margin-bottom:10px; cursor:default;}
.footer-touch a{display:flex !important; align-items:flex-start; gap:10px;}
.footer-touch svg{width:18px; height:18px; flex-shrink:0; margin-top:2px; color:var(--orange);}
.footer-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px;}
.footer-legal{color:rgba(255,255,255,.45);}
.footer-legal .footer-soon{display:inline; margin:0;}
@media (max-width:1180px){ .footer-grid.footer-grid--v2{grid-template-columns:repeat(2,minmax(0,1fr));} .footer-grid.footer-grid--v2 > :first-child{grid-column:auto;} }
@media (max-width:640px){ .footer-grid.footer-grid--v2{grid-template-columns:1fr;} .footer-links-2{columns:2;} .footer-help a{max-width:none;} }
@media (max-width:760px){ .footer-col .footer-soon{padding:8px 0; margin-bottom:2px;} }

/* ==== info pages (about, contact, partner, legal) ==== */
.prose{max-width:760px; margin:0 auto; color:var(--ink);}
.prose h2{font-size:clamp(1.35rem,2.4vw,1.75rem); margin:2.2em 0 .6em; color:var(--teal-dark);}
.prose > .eyebrow + h2, .prose > h2:first-child{margin-top:.3em;}
.prose p, .prose li{font-size:1.02rem; line-height:1.75; color:var(--ink-light);}
.prose p{margin:0 0 1.05em;}
.prose ul, .prose ol{margin:0 0 1.2em; padding-left:1.3em;}
.prose li{margin-bottom:.45em;}
.prose a{color:var(--orange); font-weight:600;}
.prose strong{color:var(--ink);}
.prose blockquote{margin:1.6em 0; padding:18px 22px; border-left:4px solid var(--orange); background:var(--bg-soft); border-radius:0 14px 14px 0; font-size:1.1rem; line-height:1.65; color:var(--ink);}
.prose-meta{font-size:.9rem !important; color:var(--ink-light); opacity:.8;}
.prose-sign{margin-top:2em; font-size:1.08rem !important;}
.info-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0 22px;}
.info-tile{display:flex; flex-direction:column; gap:4px; padding:18px 20px; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.08); box-shadow:0 8px 22px rgba(0,0,0,.06); text-decoration:none; color:var(--ink-light) !important; font-weight:400 !important; transition:transform .15s ease;}
.info-tile:hover{transform:translateY(-2px);}
.info-tile strong{color:var(--teal-dark); font-size:1.05rem; overflow-wrap:anywhere;}
.info-k{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--orange); font-weight:700;}
.info-tile--help strong{font-size:1.5rem;}
@media (max-width:760px){ .info-grid{grid-template-columns:1fr;} }

/* ==== header: category groups (mega menu on desktop) ==== */
a.dropdown-label{text-decoration:none; border-radius:6px;}
a.dropdown-label:hover{color:var(--orange-dark); background:var(--bg-soft);}
a.dropdown-label span{opacity:.6; margin-left:2px;}
.dropdown-label.is-active{text-decoration:underline; text-underline-offset:3px;}
.dd-group{display:flex; flex-direction:column; min-width:0;}
.dd-group + .dd-group{margin-top:6px;}
@media (min-width:1280px){
  .dropdown-menu--mega{left:50%; transform:translateX(-50%); flex-direction:row; align-items:flex-start; gap:4px 14px; width:max-content; max-width:calc(100vw - 48px); padding:12px;}
  .dropdown-menu--mega .dd-group{width:236px;}
  .dropdown-menu--mega .dd-group + .dd-group{margin-top:0; border-left:1px solid var(--line); padding-left:14px;}
  .dropdown-menu--mega .dropdown-item{font-size:.9rem; padding:8px 12px;}
  .dropdown-menu::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px;}
}
.footer-legal a{color:rgba(255,255,255,.7); text-decoration:none;}
.footer-legal a:hover{color:#fff;}

/* ==== home: "See all" link beside each category heading ==== */
.section-head.section-head--more{display:flex; align-items:flex-end; justify-content:space-between; gap:12px 28px; flex-wrap:wrap; max-width:none;}
.section-head--more > div{max-width:720px;}
.cat-more{display:inline-flex; align-items:center; gap:8px; white-space:nowrap; font-weight:700; font-size:.95rem; text-decoration:none; color:var(--orange); padding:10px 18px; border-radius:999px; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.08);}
.cat-more svg{width:16px; height:16px;}
.cat-more:hover{background:var(--orange); color:#fff;}

/* ==== header fit (Oct 28): wider container, tighter spacing so the menu never overflows ==== */
@media (min-width:1280px){
  .site-header .header-inner{max-width:1440px; padding-left:24px; padding-right:24px; gap:20px;}
  .site-header .main-nav{gap:16px; margin-left:0; min-width:0;}
  .site-header .nav-link{font-size:0.9rem;}
  .site-header .header-cta{flex-shrink:0; padding-left:18px; padding-right:18px;}
}
@media (min-width:1440px){ .site-header .main-nav{gap:22px;} .site-header .nav-link{font-size:0.94rem;} }

/* ==== photo at the top of every experience popup ==== */
.exp-body > .exp-detail-photo{margin:0 0 18px; border-radius:14px; aspect-ratio:16/9; max-height:400px; width:100%; overflow:hidden; background:var(--bg-soft); position:relative;}
.exp-body > .exp-detail-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.exp-body > .exp-detail-photo.img-slot .slot-ph{position:absolute; inset:0;}
@media (max-width:640px){ .exp-body > .exp-detail-photo{aspect-ratio:4/3;} }

/* ==== Explore Goa by Location pages ==== */
.loc-intro{align-items:center;}
.loc-intro h2{margin:6px 0 14px;}
.loc-intro p{color:var(--ink-light); line-height:1.75; font-size:1.02rem;}
.loc-intro-photo{border-radius:20px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 18px 40px rgba(16,42,51,.16); background:var(--bg-soft);}
.loc-intro-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.dest-card--info{cursor:default;}
.dest-card--info:hover{transform:none;}
.dest-card .dest-body p + p{margin-top:8px;}
.loc-tips{align-items:stretch;}
.loc-tips .info-card h3{margin-bottom:14px;}
.loc-list{list-style:none; margin:0 0 16px; padding:0; display:grid; gap:10px;}
.loc-list li{position:relative; padding-left:22px; color:var(--ink-light); line-height:1.6; font-size:.95rem;}
.loc-list li::before{content:""; position:absolute; left:4px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--orange);}
.loc-list strong{color:var(--ink);}
.loc-note{font-size:.88rem; color:var(--ink-light); margin:0 0 16px;}
.btn-outline--light{border-color:rgba(255,255,255,.75) !important; color:#fff !important; background:transparent;}
.btn-outline--light:hover{background:rgba(255,255,255,.14);}
.cta-banner .cta-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}

/* ==== photos on occasion / package cards ==== */
.card-photo{position:relative; margin:-22px -22px 16px; aspect-ratio:16/10; overflow:hidden; border-radius:var(--radius) var(--radius) 0 0; background:var(--bg-soft);}
.card-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.reason-card, .promo-card, .package-card{overflow:hidden;}
.reason-card > .card-photo{margin:-24px -22px 16px;}
.promo-card > .card-photo{margin:-26px -26px 6px;}
.package-card > .card-photo{margin:-28px -28px 18px;}
@media (min-width:1280px){ .dropdown-menu--mega.dropdown-menu--right{left:auto; right:-14px; transform:none;} }

/* ==== Entertainment & event service pages ==== */
.svc-intro{max-width:820px;}
.svc-intro p{font-size:1.06rem; line-height:1.75; color:var(--ink-light); margin:0 0 12px;}
.svc-jump{margin-top:18px;}
.svc-grid{display:grid; grid-template-columns:1fr; gap:26px;}
@media (min-width:900px){ .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
.svc-card{background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:0 12px 32px rgba(16,42,51,.10); display:flex; flex-direction:column; scroll-margin-top:100px; min-width:0;}
.svc-photo{position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--bg-soft);}
.svc-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.svc-body{padding:22px 24px 24px; display:flex; flex-direction:column; gap:12px; flex:1;}
.svc-body h3{margin:0; font-size:1.2rem; color:var(--teal-dark);}
.svc-body > p{margin:0; color:var(--ink-light); line-height:1.65;}
.svc-label{display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--orange); margin-bottom:8px;}
.svc-tags ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px;}
.svc-tags li{font-size:.8rem; padding:5px 10px; border-radius:999px; background:var(--bg-soft); color:var(--teal-dark); font-weight:600;}
.svc-price{background:linear-gradient(135deg,#f6fafb,#eef6f7); border:1px solid rgba(0,0,0,.05); border-radius:14px; padding:14px 16px;}
.svc-fixed{list-style:none; margin:0 0 10px; padding:0; display:grid; gap:6px;}
.svc-fixed:last-child{margin-bottom:0;}
.svc-fixed li{display:flex; justify-content:space-between; gap:12px; align-items:baseline; font-size:.92rem; color:var(--ink); border-bottom:1px dashed rgba(0,0,0,.1); padding-bottom:6px;}
.svc-fixed li:last-child{border-bottom:none; padding-bottom:0;}
.svc-fixed strong, .svc-tier strong, .svc-range strong{color:var(--teal-dark); white-space:nowrap;}
.svc-tiers{display:grid; gap:10px;}
.svc-tier{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; align-items:baseline;}
.svc-tier-l{font-weight:700; font-size:.9rem; color:var(--ink);}
.svc-tier p{grid-column:1 / -1; margin:0; font-size:.85rem; color:var(--ink-light); line-height:1.5;}
.svc-range{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.92rem;}
.svc-note{margin:0; font-size:.84rem; color:var(--ink-light); font-style:italic; line-height:1.55;}
.svc-actions{margin-top:auto; padding-top:6px;}
.svc-occ-grid{display:grid; gap:18px; grid-template-columns:1fr;}
@media (min-width:700px){ .svc-occ-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (min-width:1000px){ .svc-occ-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
.cat-chip--plain{background:#fff; color:var(--ink); font-weight:500; box-shadow:none; border:1px solid var(--line);}
.svc-disclaimer{font-size:.82rem !important; opacity:.8; max-width:680px; margin:16px auto 0 !important;}
@media (max-width:480px){ .svc-tier{grid-template-columns:1fr;} .svc-fixed li{flex-direction:column; gap:2px;} .svc-body{padding:18px;} }
.contact-card{overflow:hidden;}
.svc-photo img{object-position:50% 30%;}

/* ==== header balance + Enquire inside the mobile menu (28 Oct) ==== */
.nav-cta{display:none;}
@media (min-width:1280px){
  .site-header .main-nav{justify-content:space-between; gap:8px; margin-left:clamp(16px,2.5vw,48px); margin-right:clamp(16px,2.5vw,48px);}
}
@media (max-width:1279px){
  .site-header .header-cta{display:none;}
  .site-header .header-inner{justify-content:space-between;}
  .site-header .menu-toggle{margin-left:auto;}
  .main-nav .nav-cta{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:14px; padding:13px 20px; border-radius:999px; background:var(--orange); color:#fff; font-weight:700; text-decoration:none; font-size:1rem;}
  .main-nav .nav-cta svg{width:18px; height:18px; fill:currentColor;}
}
@media (max-width:1279px){ .site-header .main-nav{margin:0 !important; left:0 !important; right:0 !important; width:auto; max-height:calc(100vh - 72px); overflow-y:auto; -webkit-overflow-scrolling:touch;} }

/* ==== Home: category tiles, quick links, location strip (28 Oct) ==== */
.section--tight{padding-top:28px !important; padding-bottom:28px !important;}
.quick-links{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
.quick-link{display:flex; align-items:center; gap:12px; padding:16px 18px; background:#fff; border-radius:16px; border:1px solid var(--line); box-shadow:0 6px 18px rgba(16,42,51,.06); text-decoration:none; color:var(--teal-dark); font-weight:700; font-size:.95rem; transition:transform .15s ease, box-shadow .15s ease;}
.quick-link:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(16,42,51,.12);}
.quick-link svg{width:26px; height:26px; flex-shrink:0; color:var(--orange);}
@media (max-width:900px){ .quick-links{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:420px){ .quick-link{padding:12px; font-size:.85rem; gap:8px;} .quick-link svg{width:22px; height:22px;} }

.cat-tiles{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:240px; grid-auto-flow:dense; gap:16px;}
.cat-tile{position:relative; display:block; overflow:hidden; border-radius:20px; text-decoration:none; color:#fff; background:#123; isolation:isolate; box-shadow:0 12px 30px rgba(16,42,51,.16);}
.cat-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; z-index:-2;}
.cat-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,24,31,.05) 0%,rgba(6,24,31,.25) 35%,rgba(6,24,31,.72) 65%,rgba(6,24,31,.94) 100%); z-index:-1;}
.cat-tile:hover img{transform:scale(1.06);}
.cat-tile--big{grid-column:span 2; grid-row:span 2;}
.cat-tile--wide{grid-column:span 2;}
.cat-tile-body{position:absolute; left:0; right:0; bottom:0; padding:18px 20px; display:flex; flex-direction:column; gap:4px;}
.cat-tile-meta{font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#ffc75a;}
.cat-tile-title{font-family:var(--font-head, inherit); font-size:1.12rem; font-weight:800; line-height:1.25; text-shadow:0 2px 10px rgba(0,0,0,.35);}
.cat-tile--big .cat-tile-title{font-size:1.7rem;}
.cat-tile-text{font-size:.85rem; line-height:1.45; color:rgba(255,255,255,.88); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.cat-tile--big .cat-tile-text{font-size:1rem;}
.cat-tile-cta{display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-weight:700; font-size:.88rem; color:#fff;}
.cat-tile-cta svg{width:15px; height:15px; transition:transform .2s ease;}
.cat-tile:hover .cat-tile-cta svg{transform:translateX(4px);}
@media (max-width:1100px){ .cat-tiles{grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:220px;} }
@media (max-width:760px){ .cat-tiles{grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:200px; gap:12px;} .cat-tile--wide{grid-column:span 2;} .cat-tile--big{grid-column:span 2; grid-row:span 1;} .cat-tile--big .cat-tile-title{font-size:1.3rem;} .cat-tile-body{padding:14px;} .cat-tile-title{font-size:.98rem;} .cat-tile-text{display:none;} .cat-tile--big .cat-tile-text, .cat-tile--wide .cat-tile-text{display:-webkit-box; font-size:.82rem;} }

.loc-strip{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 14px; -webkit-overflow-scrolling:touch; scrollbar-width:thin;}
.loc-card{flex:0 0 200px; scroll-snap-align:start; position:relative; height:260px; border-radius:18px; overflow:hidden; text-decoration:none; color:#fff; isolation:isolate; box-shadow:0 10px 24px rgba(16,42,51,.14);}
.loc-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .5s ease;}
.loc-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(6,24,31,.8)); z-index:-1;}
.loc-card:hover img{transform:scale(1.06);}
.loc-card span{position:absolute; left:14px; right:14px; bottom:14px; font-weight:800; font-size:1rem;}
@media (max-width:600px){ .loc-card{flex-basis:150px; height:200px;} }

::selection{background:var(--orange); color:#fff;}
@media (max-width:1279px){ .site-header .header-cta{display:inline-flex !important; align-items:center; margin-left:auto; padding:9px 16px; font-size:.85rem;} .site-header .menu-toggle{margin-left:10px !important;} }

/* ==== 30 Oct 2026: bright home hero, simple category tiles, Reserve Now Pay Later, Sea Escape cards ==== */
.hero--bright .hero-bg::after{display:none !important; background:none !important;}
.hero--bright{background:#5d9ccf;}
.hero--bright .eyebrow{color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.55), 0 0 14px rgba(0,0,0,.3);}
.hero--bright h1{text-shadow:0 2px 4px rgba(0,0,0,.45), 0 4px 28px rgba(0,0,0,.35);}
.hero--bright .lede{color:#fff; font-weight:500; text-shadow:0 1px 3px rgba(0,0,0,.6), 0 2px 16px rgba(0,0,0,.4);}
.hero--bright .hero-bg img{object-position:50% 22%;}
.cat-tile::after{background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.42) 100%) !important;}
.cat-tile-body{padding:16px 18px !important; gap:0;}
.cat-tile-title, .cat-tile--big .cat-tile-title{font-family:inherit; font-weight:600; font-size:1.05rem; line-height:1.3; letter-spacing:0; text-shadow:0 1px 3px rgba(0,0,0,.55), 0 2px 12px rgba(0,0,0,.35);}
.cat-tile--big .cat-tile-title, .cat-tile--wide .cat-tile-title{font-size:1.2rem;}
.cat-tile-text, .cat-tile-cta{display:none !important;}
@media (max-width:640px){ .cat-tile-body{padding:12px 14px !important;} .cat-tile-title, .cat-tile--big .cat-tile-title, .cat-tile--wide .cat-tile-title{font-size:.98rem;} }
.rnpl-strip{display:flex; align-items:center; gap:32px; padding:34px 40px; border-radius:24px; background:linear-gradient(120deg,#fff4e8 0%,#fffaf3 55%,#e8f7f8 100%); border:1px solid rgba(240,128,40,.22); box-shadow:0 14px 34px rgba(16,42,51,.08);}
.rnpl-copy{flex:1; min-width:0;}
.rnpl-copy h2{margin:6px 0 10px; font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);}
.rnpl-copy p{margin:0; color:var(--ink-light); max-width:62ch;}
.rnpl-copy .rnpl-note{margin-top:10px; font-size:.85rem; font-style:italic;}
.rnpl-cta{display:flex; flex-direction:column; align-items:center; gap:14px; flex:none;}
.rnpl-amount{display:flex; flex-direction:column; align-items:center; font-size:2.4rem; font-weight:800; line-height:1; color:var(--orange);}
.rnpl-amount small{font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-light); margin-bottom:6px;}
@media (max-width:760px){ .rnpl-strip{flex-direction:column; align-items:flex-start; padding:26px 22px; gap:20px;} .rnpl-cta{flex-direction:row; width:100%; justify-content:space-between;} .rnpl-amount{align-items:flex-start;} }
.rnpl-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; counter-reset:st;}
.rnpl-steps li{background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 22px; box-shadow:0 10px 26px rgba(16,42,51,.07);}
.rnpl-steps .st-num{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; background:var(--orange); color:#fff; font-weight:800; margin-bottom:14px;}
.rnpl-steps h3{font-size:1.05rem; margin:0 0 8px;}
.rnpl-steps p{font-size:.9rem; margin:0; color:var(--ink-light);}
@media (max-width:1000px){ .rnpl-steps{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .rnpl-steps{grid-template-columns:1fr;} }
.rnpl-terms{max-width:860px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 34px;}
.rnpl-terms ul{margin:0; padding-left:20px;}
.rnpl-terms li{margin-bottom:10px; color:var(--ink-light); font-size:.95rem; line-height:1.55;}
@media (max-width:560px){ .rnpl-terms{padding:22px 20px;} }
.se-meta{margin:2px 0 12px !important;}
.se-meta .k{min-width:74px;}
.dest-body .se-price{margin:0 0 14px; font-size:.95rem; color:var(--ink);}
.dest-body .se-price strong{color:var(--orange); font-size:1.1rem;}
@media (min-width:761px){ .hero--bright .hero-bg img{object-position:50% 62%;} }

/* ==== 30 Oct 2026: footer background – aerial Goa shoreline (sand & surf on top, deep sea behind the links) ==== */
.site-footer{background:var(--teal-dark); padding-top:56px;}
.site-footer, .site-footer .footer-col a, .site-footer .footer-tag, .site-footer .footer-bottom, .site-footer .footer-legal, .site-footer .footer-social > span{color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.55);}
.site-footer .footer-col a{color:rgba(255,255,255,.92);}
.site-footer .footer-help a{background:rgba(0,0,0,.22); border-color:rgba(255,255,255,.18);}
.site-footer .footer-bottom{border-top-color:rgba(255,255,255,.28);}
@media (max-width:700px){ .site-footer{background:linear-gradient(180deg, rgba(10,30,36,.35) 0%, rgba(10,30,36,.55) 35%, rgba(10,30,36,.72) 100%), url("../images/beach/footer-palolem-mobile.jpg") center 30% / cover no-repeat, #12313B; padding-top:56px;} .site-footer .footer-help a{background:rgba(0,0,0,.35);} }

/* ==== 30 Oct 2026: banners without overlay – photo shows bright, text and buttons stay readable ==== */
.hero-bg::after, .hero--bg-right .hero-bg::after, .cta-bg::after, .hero-banner::after{display:none !important;}
.hero--bg{background:#7fb6d9;}
.hero--bg .eyebrow, .cta-banner--bg .eyebrow{color:#fff !important; text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.35);}
.hero--bg h1, .cta-banner--bg h2{color:#fff; text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 26px rgba(0,0,0,.4);}
.hero--bg .lede, .cta-banner--bg p{color:#fff !important; font-weight:500; text-shadow:0 1px 3px rgba(0,0,0,.65),0 2px 16px rgba(0,0,0,.45);}
.hero--bg .hero-badge{background:rgba(0,0,0,.28);}
.hero--bg .btn-outline, .cta-banner--bg .btn-outline{background:rgba(0,0,0,.32) !important; border-color:rgba(255,255,255,.85) !important; color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.4);}
.hero--bg .btn-outline:hover, .cta-banner--bg .btn-outline:hover{background:#fff !important; color:var(--teal-dark) !important; text-shadow:none;}
/* stronger, crisper text on bright banner photos (thin dark outline + layered shadow) */
.hero--bg h1, .cta-banner--bg h2{text-shadow:0 0 1px rgba(0,0,0,.85), 0 1px 2px rgba(0,0,0,.75), 0 2px 8px rgba(0,0,0,.55), 0 4px 30px rgba(0,0,0,.45); -webkit-text-stroke:.6px rgba(0,0,0,.25); paint-order:stroke fill;}
.hero--bg .lede, .cta-banner--bg p, .hero--bg .eyebrow, .cta-banner--bg .eyebrow{text-shadow:0 0 1px rgba(0,0,0,.9), 0 1px 2px rgba(0,0,0,.85), 0 1px 6px rgba(0,0,0,.65), 0 2px 20px rgba(0,0,0,.5);}
.hero--bg .lede, .cta-banner--bg p{font-weight:600;}
/* Reserve Now, Pay Later strip: beach photo behind a soft light overlay */
.rnpl-strip{background:linear-gradient(100deg,rgba(255,250,243,.93) 0%,rgba(255,250,243,.86) 55%,rgba(255,250,243,.55) 100%), url("../images/beach/beach-umbrellas.jpg") center 60% / cover no-repeat !important; border-color:rgba(240,128,40,.25);}
@media (max-width:760px){ .rnpl-strip{background:linear-gradient(180deg,rgba(255,250,243,.92) 0%,rgba(255,250,243,.86) 70%,rgba(255,250,243,.7) 100%), url("../images/beach/beach-umbrellas.jpg") center / cover no-repeat !important;} }
.rnpl-amount{text-shadow:0 0 2px #fff,0 0 10px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.8);} .rnpl-amount small{color:var(--ink) !important;}
