*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;color:#1B2A2B;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
:root{--teal:#3D7A7B;--teal-l:#5A9899;--dark:#1B2A2B;--mid:#6B7778;--cream:#F7F5F2;--gold:#B89A5E}

/* ── Type ── */
.eyebrow{font-family:'Jost';font-weight:300;font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--mid)}
.serif{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;line-height:1.05}
.xl{font-size:clamp(3rem,6vw,5.5rem)}
.lg{font-size:clamp(2.2rem,4vw,3.5rem)}
.md{font-size:clamp(1.5rem,3vw,2.4rem)}
.sm{font-size:clamp(1.1rem,2vw,1.6rem)}

/* ── Nav — transparent → white ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.6rem 4.5rem;background:transparent;transition:background .35s,padding .35s,box-shadow .35s}
nav.scrolled{background:rgba(255,255,255,.98);box-shadow:0 1px 20px rgba(0,0,0,.07);padding:1rem 4.5rem}
nav.menu-open{background:rgba(15,28,29,.98)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.5rem;color:#fff;cursor:pointer;transition:color .3s;letter-spacing:.03em;position:relative;z-index:202}
nav.scrolled .nav-logo{color:var(--dark)}
nav.menu-open .nav-logo{color:#fff}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:.67rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.88);cursor:pointer;transition:color .3s}
nav.scrolled .nav-links a{color:var(--mid)}
.nav-links a:hover,.nav-links a.active{color:var(--teal-l) !important}

/* ── Hamburger toggle (hidden on desktop) ── */
.nav-toggle{
  display:none;
  position:relative;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:32px;height:32px;
  border:none;background:none;
  cursor:pointer;
  padding:0;
  z-index:201;
}
.nav-toggle span{
  display:block;
  width:100%;height:2px;
  background:#fff;
  transition:background .3s,transform .3s,opacity .3s;
}
nav.scrolled .nav-toggle span{background:var(--dark)}
nav.menu-open .nav-toggle span{background:#fff}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Buttons ── */
.btn{display:inline-block;font-family:'Jost';font-size:.67rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;padding:.8rem 2.2rem;border:1px solid;cursor:pointer;transition:background .22s,color .22s;white-space:nowrap}
.btn-dark{color:var(--dark);border-color:var(--dark)}.btn-dark:hover{background:var(--dark);color:#fff}
.btn-white{color:#fff;border-color:rgba(255,255,255,.7)}.btn-white:hover{background:rgba(255,255,255,.15)}
.btn-teal{color:var(--teal);border-color:var(--teal)}.btn-teal:hover{background:var(--teal);color:#fff}
.btn-book{background:var(--teal);color:#fff;border-color:var(--teal);font-size:.75rem;padding:1rem 2.8rem}.btn-book:hover{background:#2d6869}

/* ── Discover-more — L→R underline animation ── */
.disc{display:inline-block;position:relative;font-size:.7rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);cursor:pointer;padding-bottom:3px}
.disc::after{content:'';position:absolute;bottom:0;left:0;height:1px;width:0;background:var(--teal);transition:width .35s cubic-bezier(.25,.46,.45,.94)}
.disc:hover::after{width:100%}

/* ── Pages ── */

/* ─── VIDEO HERO ─── */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;background:#0e1e1f}
/*
  VIDEO EMBED NOTE:
  Currently using Google Drive /preview iframe.
  For production on HostGator → upload DJI clips to YouTube (unlisted) then replace src:
  src="https://www.youtube.com/embed/YOUTUBE_ID?autoplay=1&mute=1&loop=1&playlist=YOUTUBE_ID&controls=0&rel=0&playsinline=1"
  YouTube = Google CDN, free, adaptive bitrate, fastest possible for visitors.
*/
.hero-vid-wrap{
  position:absolute;inset:0;overflow:hidden;z-index:0;
}
/* YouTube iframe — fills hero, controls hidden via overflow clip trick */
.hero-vid-wrap iframe{
  position:absolute;
  top:-60px;left:0;right:0;bottom:-70px;
  width:100%;height:calc(100% + 130px);
  pointer-events:none;border:none;display:block;
}
/* Self-hosted <video> tag */
.hero-vid-wrap video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;pointer-events:none;
}
.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:240px;background:linear-gradient(to bottom,rgba(10,22,23,.65),transparent);z-index:2}
.hero-ov{position:absolute;inset:0;background:rgba(10,22,23,.40);z-index:1}
.hero-txt{position:absolute;bottom:0;right:0;padding:0 5rem 5.5rem;text-align:right;max-width:580px;z-index:3}
.hero-txt .eyebrow{color:rgba(255,255,255,.6);margin-bottom:.4rem}
.hero-txt .serif{color:#fff;display:block}
.hero-txt .tagline{color:rgba(255,255,255,.6);font-size:.85rem;letter-spacing:.1em;margin-top:.6rem}
.hero-txt .btn{margin-top:2rem}

/* ── Inner page hero ── */
.pg-hero{position:relative;height:62vh;min-height:420px;overflow:hidden;background:#1B2A2B}
.pg-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.pg-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,rgba(10,22,23,.6),transparent);z-index:1}
.pg-hero::after{content:'';position:absolute;inset:0;background:rgba(10,22,23,.3)}
.pg-hero-txt{position:absolute;bottom:4rem;left:5rem;z-index:2}
.pg-hero-txt .eyebrow{color:rgba(255,255,255,.55);margin-bottom:.4rem}
.pg-hero-txt .serif{color:#fff;display:block}

/* ── Dividers ── */
.div-line{width:40px;height:1px;background:var(--teal);margin:1.2rem 0}
.div-line.c{margin-left:auto;margin-right:auto}

/* ── Intro ── */
.intro{text-align:center;padding:7rem 4.5rem}
.intro .eyebrow{margin-bottom:1.2rem}
.intro p{max-width:600px;margin:0 auto;font-size:.95rem;line-height:2;color:var(--mid)}

/* ── Service cards ── */
.cards-wrap{padding:0 4.5rem 7rem;max-width:1180px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;align-items:stretch}
.card{display:flex;flex-direction:column}
.card-hd{margin-bottom:1.2rem}.card-hd .eyebrow{margin-bottom:.2rem}
.c-img{overflow:hidden;margin-bottom:1.5rem;background:#BDD0CC;flex-shrink:0}
.c-img img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .65s}
.c-img:hover img{transform:scale(1.04)}
.card>p{font-size:.84rem;line-height:1.9;color:var(--mid);flex:1}
.card-action{display:flex;justify-content:flex-end;padding-top:1.5rem;margin-top:auto}

/* ── CTA strip ── */
.cta-strip{background:var(--cream);padding:5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem 4rem}
.cta-strip .eyebrow{margin-bottom:.2rem}
.cta-text{font-size:.87rem;line-height:1.9;color:var(--mid);max-width:440px}

/* ── 2-col ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.txt-col{padding:6rem 5rem;display:flex;flex-direction:column;justify-content:center}
.txt-col .eyebrow{margin-bottom:.6rem}
.txt-col p{font-size:.87rem;line-height:1.95;color:var(--mid);margin-top:1.1rem}
.txt-col .btn,.txt-col .btn-book{margin-top:2rem;align-self:flex-start}
.img-col{overflow:hidden;background:#2A3E3C;min-height:520px}
.img-col img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Booking CTA bar ── */
.book-bar{background:var(--teal);padding:2rem 5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2rem}
.book-bar-text h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.5rem;color:#fff}
.book-bar-text p{font-size:.8rem;color:rgba(255,255,255,.7);margin-top:.2rem}
.book-bar .btn{color:#fff;border-color:rgba(255,255,255,.6);font-size:.72rem}.book-bar .btn:hover{background:rgba(255,255,255,.15)}
.rating-badge{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.rating-score{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:2.5rem;color:#fff;line-height:1}
.rating-info{font-size:.72rem;color:rgba(255,255,255,.7);line-height:1.6}
.rating-stars{color:rgba(255,255,255,.9);font-size:.75rem;letter-spacing:.1em}

/* ── Feature highlights ── */
.features-sec{padding:5rem 4.5rem;background:var(--cream)}
.features-inner{max-width:1100px;margin:0 auto}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.feat-item{text-align:center;padding:2rem 1.5rem;background:#fff}
.feat-icon{font-size:1.4rem;color:var(--dark);margin-bottom:.75rem}
.feat-title{font-size:.78rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem}
.feat-desc{font-size:.8rem;color:var(--mid);line-height:1.7}

/* ── Gallery ── */
.gallery-section{padding:1rem 4.5rem 5rem}
.gallery-section--spaced{padding-top:5rem}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.gal-item{overflow:hidden;background:#BDD0CC;cursor:pointer}
.gal-item img{width:100%;height:300px;object-fit:cover;display:block;transition:transform .55s}
.gal-item:hover img{transform:scale(1.05)}
.gal-item.wide{grid-column:span 2}.gal-item.wide img{height:300}
.gal-more{text-align:center;margin-top:2rem}

/* ── Dark booking CTA block ── */
.dark-cta{background:var(--dark);padding:6rem 4.5rem;text-align:center}
.dark-cta .eyebrow{color:rgba(255,255,255,.4);margin-bottom:.6rem}
.dark-cta .serif{color:#fff;display:block;margin-bottom:1.5rem}
.dark-cta p{color:rgba(255,255,255,.5);font-size:.87rem;line-height:1.9;max-width:520px;margin:0 auto 1.5rem}
.cta-btns{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* ── Amenities — monochrome ── */
.amen-sec{padding:5rem 4.5rem;text-align:center}
.amen-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;max-width:900px;margin:2.5rem auto 0}
.amen-icon{font-size:1.3rem;color:var(--dark);margin-bottom:.6rem}
.amen-label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}

/* ── Itinerary ── */
.itin-wrap{padding:6rem 4.5rem;background:var(--cream)}
.itin-inner{max-width:820px;margin:0 auto}
.stops{display:grid;gap:2.5rem;margin-top:3.5rem}
.stop{display:flex;gap:1.5rem;align-items:flex-start}
.stop-n{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:2.8rem;color:var(--teal);min-width:40px;line-height:1;flex-shrink:0}
.stop-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin-bottom:.4rem;color:var(--dark)}
.stop p{font-size:.84rem;line-height:1.85;color:var(--mid)}

/* ── Tour sites gallery ── */
.sites-gallery{padding:5rem 4.5rem}
.sites-grid-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.sites-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.site-card{position:relative;overflow:hidden;cursor:pointer;background:#1B2A2B}
.site-card img{width:100%;height:255px;object-fit:cover;display:block;transition:transform .55s,opacity .3s;opacity:.85}
.site-card:hover img{transform:scale(1.05);opacity:1}
.site-card--tall{grid-row:span 2}
.site-card--tall img{height:100%;min-height:530px}
.site-card.tall img{height:400px}
.site-label{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.5rem 1.2rem;background:linear-gradient(to top,rgba(10,22,23,.8),transparent)}
.site-label .eyebrow{color:rgba(255,255,255,.65);font-size:.62rem;margin-bottom:.2rem}
.site-label h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.35rem;color:#fff;line-height:1.1}
.site-play{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;padding-left:2px;transition:background .2s}
.site-card:hover .site-play{background:rgba(255,255,255,.2)}

/* ── Pricing ── */
.pricing-wrap{padding:6rem 4.5rem;background:var(--cream)}
.pricing-inner{max-width:960px;margin:0 auto}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.p-card{border:1px solid #E2E2E2;padding:2.8rem 2rem;text-align:center;display:flex;flex-direction:column}
.p-card.feat{background:var(--dark);border-color:var(--dark)}
.p-amt{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:3.2rem;color:var(--teal);display:block;margin:.75rem 0}
.p-card.feat .p-amt{color:var(--gold)}
.p-pax{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mid)}
.p-card.feat .p-pax,.p-card.feat .eyebrow{color:rgba(255,255,255,.45)}
.p-card ul{list-style:none;margin:2rem 0;text-align:left;flex:1}
.p-card ul li{font-size:.82rem;line-height:2.2;color:var(--mid);display:flex;gap:.5rem}
.p-card.feat ul li{color:rgba(255,255,255,.55)}
.p-card ul li::before{content:'—';color:var(--teal);flex-shrink:0}
.p-card.feat ul li::before{color:var(--gold)}
.p-card .btn{margin-top:auto}
.p-card.feat .btn{color:#fff;border-color:rgba(255,255,255,.35)}.p-card.feat .btn:hover{background:rgba(255,255,255,.1)}
.addon{text-align:center;margin-top:2.5rem;font-size:.84rem;color:var(--mid);line-height:1.85;max-width:560px;margin-left:auto;margin-right:auto}

/* ── Includes ── */
.inc-wrap{padding:5.5rem 4.5rem;text-align:center}
.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;max-width:860px;margin:3rem auto 0}
.inc-icon{font-size:1.4rem;color:var(--dark);margin-bottom:.7rem}
.inc-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);line-height:1.5}

/* ── Sub gallery (wineries) ── */
.sub-gallery{padding:4rem 4.5rem}
.sub-gallery--shaded{background:var(--cream)}
.sub-gallery--last{padding-bottom:5rem}
.sub-gal-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.sub-gal-meta{font-size:.82rem;color:var(--mid)}
.sub-gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.sub-gal-item{overflow:hidden;cursor:pointer;background:#C0CCC8}
.sub-gal-item img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .5s}
.sub-gal-item:hover img{transform:scale(1.06)}

/* ── Services (taxi) ── */
.svcs-sec{padding:5rem 4.5rem;text-align:center}
.svcs{display:grid;grid-template-columns:1fr 1fr;max-width:960px;margin:3rem auto 0}
.svc{padding:3rem 3.5rem;text-align:left}
.svc:nth-child(1),.svc:nth-child(2){border-bottom:1px solid #EAEAEA}
.svc:nth-child(1),.svc:nth-child(3){border-right:1px solid #EAEAEA}
.svc .eyebrow{color:var(--teal);margin-bottom:.5rem}
.svc h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.85rem;margin-bottom:.9rem}
.svc p{font-size:.84rem;line-height:1.9;color:var(--mid)}

/* ── Destinations (drone video cards) ── */
.dest-sec{padding:6rem 4.5rem;background:var(--cream)}
.dest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:980px;margin:3.5rem auto 0}
.dest-card{overflow:hidden;background:#fff}
.dest-img-wrap{position:relative;overflow:hidden;height:240px;background:#1B2A2B;cursor:pointer}
.dest-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:transform .55s,opacity .3s}
.dest-card:hover .dest-img-wrap img{transform:scale(1.04);opacity:1}
.dest-play-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.12);transition:background .25s}
.dest-card:hover .dest-play-ov{background:rgba(0,0,0,.22)}
.dest-play-btn{width:52px;height:52px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;padding-left:3px;transition:background .25s,transform .25s}
.dest-card:hover .dest-play-btn{background:rgba(255,255,255,.15);transform:scale(1.08)}
.dest-body{padding:1.5rem 1.75rem}
.dest-body h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.5rem;margin-bottom:.4rem}
.dest-body p{font-size:.83rem;line-height:1.8;color:var(--mid)}

/* ── Lightbox ── */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;align-items:center;justify-content:center}
#lightbox.open{display:flex}
#lb-img{max-width:90vw;max-height:88vh;object-fit:contain;display:block}
.lb-close,.vm-close{position:absolute;top:1.5rem;right:2rem;color:#fff;font-size:1.8rem;cursor:pointer;font-weight:200;opacity:.7;transition:opacity .2s;background:none;border:none;line-height:1}
.lb-close:hover,.vm-close:hover{opacity:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.07);color:#fff;border:none;font-size:2rem;font-weight:200;padding:1.2rem .9rem;cursor:pointer;transition:background .2s;line-height:1}
.lb-nav:hover{background:rgba(255,255,255,.15)}
.lb-prev{left:1rem}.lb-next{right:1rem}
.lb-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.45);font-size:.72rem;letter-spacing:.15em}

/* ── Video modal ── */
#vmodal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:9999;align-items:center;justify-content:center}
#vmodal.open{display:flex}
#vmodal-iframe{width:min(90vw,960px);height:min(50.625vw,540px);border:none;display:block}

/* ── Footer ── */
footer{background:var(--dark);color:rgba(255,255,255,.5);padding:5rem 4.5rem}
.f-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:5rem;max-width:1100px;margin:0 auto}
.f-brand .serif{color:#fff;font-size:1.6rem;display:block;margin-bottom:1rem}
.f-brand p{font-size:.8rem;line-height:1.9}
footer h5{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:1.2rem}
footer ul{list-style:none}
footer li{font-size:.8rem;line-height:2.5;cursor:pointer;transition:color .2s}
footer li:hover{color:var(--teal-l)}
footer li a{color:inherit}
.f-bot{border-top:1px solid rgba(255,255,255,.09);margin-top:4rem;padding-top:1.75rem;display:flex;justify-content:space-between;font-size:.7rem;max-width:1100px;margin-left:auto;margin-right:auto}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤900px)
   ════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

  /* ── Nav ── */
  nav{padding:1.2rem 2rem}
  nav.scrolled{padding:.9rem 2rem}
  .nav-links{gap:1.4rem}
  .nav-links a{font-size:.62rem;letter-spacing:.14em}

  /* ── Hero ── */
  .hero-txt{padding:0 2rem 3.5rem;max-width:100%}
  .pg-hero-txt{left:2rem;bottom:3rem}

  /* ── Section padding — reduce from 4.5-6rem to ~2-3rem ── */
  .intro,
  .cards-wrap,
  .cta-strip,
  .features-sec,
  .gallery-section,
  .amen-sec,
  .dark-cta,
  .itin-wrap,
  .sites-gallery,
  .pricing-wrap,
  .inc-wrap,
  .sub-gallery,
  .svcs-sec,
  .dest-sec,
  footer{padding-left:2rem;padding-right:2rem}

  .intro{padding-top:4.5rem;padding-bottom:4.5rem}
  .cta-strip{padding-top:3rem;padding-bottom:3rem}
  .book-bar{padding:1.75rem 2rem}
  .features-sec{padding-top:3.5rem;padding-bottom:3.5rem}
  .gallery-section{padding-bottom:3.5rem}
  .gallery-section--spaced{padding-top:3.5rem}
  .amen-sec{padding-top:3.5rem;padding-bottom:3.5rem}
  .dark-cta{padding-top:4rem;padding-bottom:4rem}
  .itin-wrap{padding-top:4rem;padding-bottom:4rem}
  .sites-gallery{padding-top:3.5rem;padding-bottom:3.5rem}
  .pricing-wrap{padding-top:4rem;padding-bottom:4rem}
  .inc-wrap{padding-top:3.5rem;padding-bottom:3.5rem}
  .sub-gallery{padding-top:3rem;padding-bottom:3rem}
  .svcs-sec{padding-top:3.5rem;padding-bottom:3.5rem}
  .dest-sec{padding-top:4rem;padding-bottom:4rem}
  footer{padding-top:3.5rem;padding-bottom:3.5rem}

  /* ── Cards: 3 -> 2 columns ── */
  .cards{grid-template-columns:repeat(2,1fr);gap:2rem}

  /* ── Two-column sections -> stacked ── */
  .two-col{grid-template-columns:1fr}
  .img-col{min-height:340px;order:-1}
  .txt-col{padding:3rem 2rem}

  /* ── Feature/amenity/includes grids: fewer columns ── */
  .features-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .amen-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem}
  .inc-grid{grid-template-columns:repeat(2,1fr);gap:2rem}

  /* ── Gallery grid: keep 3 cols but tighten, wide stays 2-span ── */
  .gal-grid{gap:.6rem}
  .gal-item img{height:200px}

  /* ── Tour sites grid: keep side-by-side but shrink heights ── */
  .site-card img{height:190px}
  .site-card--tall img{min-height:396px}

  /* ── Pricing: 3 -> 1 column ── */
  .p-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}

  /* ── Sub-gallery (wineries): 3 -> 2 columns ── */
  .sub-gal-grid{grid-template-columns:repeat(2,1fr)}
  .sub-gal-item img{height:190px}

  /* ── Services grid: keep 2 cols, reduce padding ── */
  .svc{padding:2rem 1.75rem}

  /* ── Destinations: keep 2 cols but tighten gap ── */
  .dest-grid{gap:1.25rem}

  /* ── Footer: 3 -> stacked with logo full width ── */
  .f-inner{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}
  .f-brand{grid-column:1/-1}
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤600px)
   ════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {

  /* ── Nav: logo left, hamburger right, links collapse into dropdown ── */
  nav{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    padding:1rem 1.25rem;
  }
  nav.scrolled{padding:.8rem 1.25rem}
  .nav-logo{font-size:1.3rem}

  .nav-toggle{display:flex}

  .nav-links{
    position:fixed;
    top:0;left:0;right:0;
    flex-direction:column;
    align-items:center;
    gap:0;
    width:100%;
    background:rgba(15,28,29,.98);
    padding:5.5rem 1.25rem 2rem;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .35s ease,opacity .25s ease;
    z-index:199;
  }
  nav{z-index:200}
  .nav-toggle{z-index:201}
  .nav-links.open{
    max-height:100vh;
    opacity:1;
    visibility:visible;
  }
  .nav-links li{width:100%;text-align:center}
  .nav-links a{
    display:block;
    font-size:.78rem;
    letter-spacing:.14em;
    padding:1rem 0;
    color:rgba(255,255,255,.88);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav-links li:last-child a{border-bottom:none}

  /* ── Hero ── */
  .hero{min-height:560px}
  .hero-txt{
    position:absolute;bottom:0;right:0;left:0;
    padding:0 1.25rem 2.5rem;
    text-align:center;
    max-width:100%;
  }
  .hero-txt .btn{margin-top:1.25rem}
  .xl{font-size:clamp(2.4rem,13vw,3.2rem)}
  .lg{font-size:clamp(1.8rem,8vw,2.4rem)}
  .md{font-size:clamp(1.3rem,6vw,1.7rem)}

  .pg-hero{min-height:340px;height:48vh}
  .pg-hero-txt{left:1.25rem;right:1.25rem;bottom:2rem}

  /* ── Universal section padding ── */
  .intro,
  .cards-wrap,
  .cta-strip,
  .features-sec,
  .gallery-section,
  .amen-sec,
  .dark-cta,
  .itin-wrap,
  .sites-gallery,
  .pricing-wrap,
  .inc-wrap,
  .sub-gallery,
  .svcs-sec,
  .dest-sec,
  footer{padding-left:1.25rem;padding-right:1.25rem}

  .intro{padding-top:3.5rem;padding-bottom:3.5rem}
  .intro p{font-size:.88rem;line-height:1.85}

  /* ── Service cards: full stack ── */
  .cards{grid-template-columns:1fr;gap:2.5rem}
  .cards-wrap{padding-bottom:4rem}
  .c-img img{height:220px}
  .card-action{justify-content:flex-start}

  /* ── CTA strip: stacked, centered ── */
  .cta-strip{
    flex-direction:column;
    text-align:center;
    padding-top:3rem;padding-bottom:3rem;
    gap:1.25rem;
  }
  .cta-text{max-width:100%}

  /* ── Booking bar: stacked, centered ── */
  .book-bar{
    flex-direction:column;
    text-align:center;
    padding:2rem 1.25rem;
  }
  .book-bar-text{order:-1}
  .rating-badge{justify-content:center}

  /* ── Two-column sections ── */
  .two-col{min-height:auto}
  .img-col{min-height:260px}
  .txt-col{padding:2.5rem 1.25rem;text-align:left}
  .txt-col .btn,.txt-col .btn-book{align-self:center}

  /* ── Features / amenities / includes: single column ── */
  .features-sec{padding-top:3rem;padding-bottom:3rem}
  .features-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:2rem}
  .feat-item{padding:1.75rem 1.25rem}

  .amen-sec{padding-top:3rem;padding-bottom:3rem}
  .amen-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem;max-width:320px}

  .inc-wrap{padding-top:3rem;padding-bottom:3rem}
  .inc-grid{grid-template-columns:1fr;gap:1.75rem;max-width:280px}

  /* ── Gallery grid: full stack, no more "wide" spanning ── */
  .gallery-section{padding-bottom:3rem}
  .gallery-section--spaced{padding-top:3rem}
  .gal-grid{grid-template-columns:1fr;gap:.75rem}
  .gal-item.wide{grid-column:span 1}
  .gal-item img,.gal-item.wide img{height:240px}
  .gal-more{flex-direction:column;align-items:stretch}
  .gal-more .btn{white-space:normal;text-align:center;width:100%}

  /* ── Dark CTA ── */
  .dark-cta{padding-top:3.5rem;padding-bottom:3.5rem}
  .dark-cta p{max-width:100%}
  .cta-btns{flex-direction:column;align-items:stretch;gap:1rem}

  /* ── Itinerary ── */
  .itin-wrap{padding-top:3.5rem;padding-bottom:3.5rem}
  .stops{gap:2rem;margin-top:2.5rem}
  .stop{gap:1rem}
  .stop-n{font-size:2.1rem;min-width:32px}

  /* ── Tour sites grid: collapse to single column ── */
  .sites-gallery{padding-top:3rem;padding-bottom:3rem}
  .sites-grid-wrap{grid-template-columns:1fr;gap:.75rem}
  .sites-subgrid{grid-template-columns:1fr 1fr;gap:.75rem}
  .site-card--tall{grid-row:auto}
  .site-card--tall img{min-height:220px}
  .site-card img{height:160px}
  .site-label{padding:1rem 1rem .85rem}
  .site-label h3{font-size:1.1rem}

  /* ── Pricing ── */
  .pricing-wrap{padding-top:3.5rem;padding-bottom:3.5rem}
  .p-grid{max-width:100%}
  .p-card{padding:2.25rem 1.5rem}
  .p-amt{font-size:2.6rem}

  /* ── Sub-gallery (wineries) ── */
  .sub-gallery{padding-top:2.5rem;padding-bottom:2.5rem}
  .sub-gal-header{flex-direction:column;align-items:flex-start;gap:.5rem}
  .sub-gal-grid{grid-template-columns:1fr;gap:.75rem}
  .sub-gal-item img{height:220px}

  /* ── Services grid (taxi): single column ── */
  .svcs-sec{padding-top:3rem;padding-bottom:3rem}
  .svcs{grid-template-columns:1fr;max-width:100%}
  .svc{padding:1.75rem 0}
  .svc:nth-child(1),.svc:nth-child(2),.svc:nth-child(3){border-right:none}
  .svc:nth-child(1),.svc:nth-child(2),.svc:nth-child(3){border-bottom:1px solid #EAEAEA}
  .svc:nth-child(4){border-bottom:none}

  /* ── Destinations grid: single column ── */
  .dest-sec{padding-top:3.5rem;padding-bottom:3.5rem}
  .dest-grid{grid-template-columns:1fr;gap:1.5rem}
  .dest-img-wrap{height:200px}

  /* ── Footer: full stack ── */
  footer{padding-top:3rem;padding-bottom:3rem}
  .f-inner{grid-template-columns:1fr;gap:2rem;text-align:center}
  .f-brand{grid-column:auto}
  footer h5{margin-top:.5rem}

  /* ── Lightbox: smaller nav arrows so they don't overlap content ── */
  .lb-nav{padding:.85rem .6rem;font-size:1.5rem}
  .lb-prev{left:.4rem}
  .lb-next{right:.4rem}
  .lb-close,.vm-close{top:1rem;right:1rem;font-size:1.5rem}
  .lb-counter{bottom:.85rem;font-size:.65rem}

  /* ── Video modal: full-width on small screens ── */
  #vmodal-iframe{width:94vw;height:52.875vw}
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — VERY SMALL PHONES (≤380px)
   ════════════════════════════════════════════════════════════ */
@media (max-width: 380px) {
  .xl{font-size:2.1rem}
  .amen-grid{grid-template-columns:1fr 1fr;max-width:260px}
  .p-amt{font-size:2.3rem}
}
