
/* ══════════════════════════════════════════
   MOCKUP-STYLE OVERRIDES
   New hero, nav, booking widget & vehicle cards
   matching the KANE mockup design
══════════════════════════════════════════ */

/* ─── Caveat handwriting font for "your way" ─── */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&display=swap');

/* ─── NEW NAV (KANE style) ─── */
.nav{
  background:transparent;
  position:absolute;
}
.nav-strip{
  background:transparent;
  border-bottom:none;
  padding:14px 0 6px;
}
.nav-strip-inner{
  justify-content:center;
  gap:clamp(20px,3vw,40px);
}
@media(min-width:900px){
  .nav-strip-inner{justify-content:center;gap:clamp(20px,3vw,48px)}
}
.nav-strip-item,
.nav-strip-tel,
.nav-strip-email{
  font-size:.8rem;
  color:rgba(255,255,255,.92);
  letter-spacing:.01em;
  font-weight:400;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.nav-strip-tel:hover,
.nav-strip-email:hover{color:var(--gold3)}
.nav-strip-sep{display:none}
.nav-strip-item::before{
  content:'📍';font-size:.85em;
}
.nav-strip-tel::before{
  content:'📞';font-size:.85em;
}
.nav-strip-email::before{
  content:'✉';font-size:.95em;color:var(--gold3);
}
.nav.scrolled .nav-strip{opacity:0;max-height:0;padding:0}

/* Make scrolled nav match new aesthetic */
.nav.scrolled{
  background:rgba(15,40,65,.96);
  backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 2px 24px rgba(0,0,0,.18);
}
.nav.scrolled .nav-link,
.nav.scrolled .nav-fleet-btn,
.nav.scrolled .nav-logo-text,
.nav.scrolled .nav-logo-sub{color:rgba(255,255,255,.85)}
.nav.scrolled .nav-link:hover,
.nav.scrolled .nav-fleet-btn:hover{color:#fff}
.nav.scrolled .nav-logo-mark{background:rgba(255,255,255,.1)}
.nav.scrolled .nav-fleet-caret{color:rgba(255,255,255,.7)}

/* KANE-style logo */
.nav-logo-mark{
  width:54px;height:54px;
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(232,168,124,.5);
  border-radius:50%;
  flex-shrink:0;
}
.nav-logo-mark svg{width:32px;height:32px}
.nav-logo-text{
  font-family:var(--D);
  font-size:1.05rem;
  letter-spacing:.06em;
  line-height:1;
  color:#fff;
  white-space:nowrap;
}
.nav-logo-sub{
  font-size:.46rem;
  font-weight:500;
  letter-spacing:.16em;
  color:rgba(255,255,255,.65);
  margin-top:3px;
  text-transform:uppercase;
  white-space:nowrap;
}

.nav-main{height:auto;padding:6px 0 14px}
.nav-main-inner{align-items:center}

/* New nav links */
.nav-link,
.nav-fleet-btn{
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
  padding:8px 14px;
}
.nav-link:hover,
.nav-fleet-btn:hover{color:var(--gold3)}

/* EN switch (rounded pill) */
.lang-switch{
  position:relative;
  border:1.5px solid rgba(255,255,255,.4);
  border-radius:100px;
  padding:8px 18px;
  background:transparent;
  transition:all .25s;
}
.lang-switch:hover{
  border-color:var(--gold3);
  background:rgba(232,168,124,.08);
}
.lang-switch > span{
  font-family:var(--B)!important;
  font-size:.85rem!important;
  font-weight:500!important;
  color:#fff!important;
  letter-spacing:.05em!important;
  padding:0!important;
}
.nav.scrolled .lang-switch{border-color:rgba(255,255,255,.3)}
.nav.scrolled .lang-switch > span{color:#fff!important}

/* Book Online — orange pill */
.nav-book-btn{
  background:linear-gradient(135deg,#f0a875,#e8a87c);
  color:#1b3550!important;
  font-weight:700;
  font-size:.9rem;
  letter-spacing:.02em;
  padding:11px 22px;
  border-radius:100px;
  box-shadow:0 4px 14px rgba(232,168,124,.35);
  transition:all .25s;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.nav-book-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(232,168,124,.5);
  background:linear-gradient(135deg,#f5b285,#ecb085);
}

.nav-right{display:flex;align-items:center;gap:14px}

/* ─── HERO (mockup recreation) ─── */
.hero{
  position:relative;
  width:100%;
  height:auto;
  min-height:680px;
  padding:0 0 0;
  background:none;
  overflow:visible;
}
.hero-video-wrap{
  position:absolute;
  inset:0;
  height:100%;
  overflow:hidden;
  z-index:1;
}
.hero-photo{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center 35%;
  animation:hero-pan 30s ease-in-out infinite alternate;
}
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(180deg,rgba(15,40,65,.55) 0%,rgba(15,40,65,.15) 30%,rgba(15,40,65,.05) 60%,rgba(15,40,65,.4) 100%),
    linear-gradient(90deg,rgba(15,40,65,.35) 0%,transparent 50%);
  pointer-events:none;
}
.hero-warmth{display:none}

.hero-content{
  position:relative;
  z-index:5;
  display:block;
  padding:170px clamp(20px,5vw,80px) 40px;
  min-height:0;
  max-width:1280px;
  margin:0 auto;
}

/* Hide old eyebrow / dock — we replace them */
.hero-eyebrow-wrap,
.hero-dock,
.hero-trust-line,
.hero-contact,
.hero-scroll-hint{display:none!important}
/* Hide old CTA buttons (we use the search widget instead) */
.hero-content + div[style*="hero CTA"],
.hero .hero-content ~ div:not(.hero-shield):not(.hero-overlay):not(.hero-warmth):not(.hero-content){display:none}

/* New hero title */
.hero-cats{
  width:auto;
  margin-bottom:0;
  min-height:0;
  text-align:left;
  position:static;
}
.hero-cat-slide{
  position:static;
  opacity:1;
  transform:none;
  pointer-events:auto;
  display:none;
}
.hero-cat-slide.hero-cat-active{
  position:static;
  display:block;
}
.hero-cat-price{display:none}
.hero-sub{display:none}

.hero-h1{
  font-family:var(--D);
  font-size:clamp(2.6rem,6.5vw,5.5rem);
  font-weight:400;
  line-height:.95;
  letter-spacing:.02em;
  color:#fff;
  text-shadow:0 4px 30px rgba(0,0,0,.4);
  text-align:left;
  margin-bottom:0;
  max-width:780px;
  display:block;
}
.hero-h1-eyebrow{
  display:block;
  font-family:var(--B);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold3);
  margin-bottom:14px;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.hero-h1-main{
  display:block;
  font-family:var(--D);
  font-weight:400;
  letter-spacing:.02em;
  line-height:.95;
}

/* Hero trust tag — rating + locality keywords (SEO + social proof) */
.hero-trust-tag{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  margin-top:18px;
  max-width:780px;
  font-family:var(--B);
  font-size:.78rem;
  color:rgba(255,255,255,.92);
  letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.hero-trust-tag-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hero-trust-tag-item strong{font-weight:700;color:#fff}
.hero-trust-tag-item:nth-child(1) strong{color:var(--gold3)}
.hero-trust-tag-item .ht-sub{color:rgba(255,255,255,.7);font-weight:400}
.hero-trust-sep{color:rgba(232,168,124,.5);font-size:.6rem}
@media(max-width:768px){
  .hero-trust-tag{font-size:.7rem;gap:5px 10px;margin-top:14px}
  .hero-trust-tag-item:nth-child(5){display:none} /* Hide locality on mobile to save space */
  .hero-trust-sep:nth-of-type(2){display:none}
}
@media(max-width:520px){
  .hero-trust-tag-item:nth-child(3) strong{display:inline}
}
.hero-h1 em{
  font-family:'Caveat',cursive;
  font-style:normal;
  font-weight:600;
  font-size:1.05em;
  color:var(--gold3);
  letter-spacing:0;
  display:block;
  margin-top:.05em;
  text-shadow:0 2px 18px rgba(232,168,124,.3),0 4px 30px rgba(0,0,0,.3);
}

/* 3 trust badges */
.hero-badges{
  display:flex;
  gap:clamp(28px,5vw,60px);
  margin-top:clamp(28px,4vw,42px);
  flex-wrap:wrap;
  max-width:780px;
}
.hero-badge{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-family:var(--B);
}
.hero-badge-icon{
  width:42px;height:42px;
  border:1.5px solid rgba(255,255,255,.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(8px);
}
.hero-badge-icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8}
.hero-badge-text{
  display:flex;flex-direction:column;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.15;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}

/* ─── BOOKING WIDGET (the dark search box) ─── */
.book-widget{
  margin-top:clamp(36px,5vw,56px);
  background:rgba(20,40,60,.78);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:0;
  max-width:920px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  overflow:hidden;
}
.book-tabs{
  display:flex;
  gap:0;
  padding:0 clamp(14px,2vw,24px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.book-tab{
  background:none;border:none;
  padding:18px 22px 16px;
  font-family:var(--B);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  cursor:pointer;
  position:relative;
  display:inline-flex;align-items:center;gap:8px;
  transition:color .2s;
}
.book-tab:hover{color:rgba(255,255,255,.85)}
.book-tab.active{color:#fff}
.book-tab.active::after{
  content:'';
  position:absolute;
  bottom:-1px;left:0;right:0;
  height:2px;
  background:var(--gold3);
}
.book-tab-icon{
  font-size:1rem;
  display:inline-block;
  width:18px;text-align:center;
}

.book-form{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr auto;
  gap:0;
  padding:0;
}
@media(max-width:880px){
  .book-form{grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.06)}
}
@media(max-width:520px){
  .book-form{grid-template-columns:1fr}
}
.book-field{
  padding:16px clamp(16px,2vw,22px);
  position:relative;
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.book-field + .book-field{
  border-left:1px solid rgba(255,255,255,.08);
}
@media(max-width:880px){
  .book-field + .book-field{border-left:none;background:rgba(20,40,60,.78)}
  .book-field{background:rgba(20,40,60,.78)}
}
.book-field-label{
  font-family:var(--B);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:6px;
}
.book-field-value{
  display:flex;align-items:center;gap:8px;
  color:#fff;
  font-family:var(--B);
  font-size:.95rem;
  font-weight:500;
}
.book-field-value::before{
  font-size:.95em;flex-shrink:0;
  color:rgba(255,255,255,.65);
}
.book-field[data-icon="loc"] .book-field-value::before{content:'📍'}
.book-field[data-icon="cal"] .book-field-value::before{content:'📅'}
.book-field-value select,
.book-field-value input{
  background:transparent;
  border:none;
  color:#fff;
  font-family:var(--B);
  font-size:.95rem;
  font-weight:500;
  outline:none;
  width:100%;
  cursor:pointer;
  padding:0;
  -webkit-appearance:none;
  appearance:none;
}
.book-field-value input[type="date"]{color-scheme:dark}
.book-field-value select{padding-right:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='rgba(255,255,255,.6)' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}

.book-submit{
  margin:12px;
  padding:0 28px;
  background:linear-gradient(135deg,#f0a875,#e8a87c);
  border:none;
  color:#1b3550;
  font-family:var(--B);
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.02em;
  border-radius:10px;
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;
  white-space:nowrap;
  min-height:60px;
  transition:all .25s;
  box-shadow:0 4px 14px rgba(232,168,124,.3);
}
.book-submit:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#f5b285,#ecb085);
  box-shadow:0 6px 20px rgba(232,168,124,.45);
}
@media(max-width:520px){
  .book-submit{margin:0;border-radius:0 0 14px 14px}
}

/* ─── CARS, SCOOTERS & ATVS section (the 4 cards) ─── */
.csa-section{
  background:#fdf8f2;
  padding:clamp(54px,7vw,90px) 0;
}
.csa-inner{
  max-width:1280px;
  margin:0 auto;
  padding-inline:clamp(20px,4vw,48px);
  display:grid;
  grid-template-columns:280px 1fr;
  gap:clamp(28px,4vw,52px);
  align-items:start;
}
@media(max-width:1024px){
  .csa-inner{grid-template-columns:1fr;gap:32px}
}
.csa-intro{padding-top:8px}
.csa-eyebrow{
  font-family:var(--B);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold2);
  margin-bottom:14px;
}
.csa-title{
  font-family:var(--D);
  font-size:clamp(1.9rem,3.4vw,2.7rem);
  font-weight:400;
  line-height:1;
  letter-spacing:.02em;
  color:var(--navy2);
  margin-bottom:18px;
}
.csa-tagline{
  font-family:var(--S);
  font-style:italic;
  font-size:clamp(1rem,1.5vw,1.18rem);
  color:var(--navy);
  line-height:1.4;
  max-width:240px;
}
.csa-divider{
  width:60px;height:2px;
  background:var(--gold);
  margin-top:22px;
}

.csa-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,22px);
}
@media(max-width:1024px){.csa-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.csa-grid{grid-template-columns:1fr}}

.csa-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 24px rgba(27,75,107,.08);
  transition:all .35s;
  display:flex;flex-direction:column;
  position:relative;
  text-decoration:none;
  color:inherit;
}
.csa-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 36px rgba(27,75,107,.14);
}
.csa-card-imgwrap{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#f0e8dc;
}
.csa-card-imgwrap img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.csa-card:hover .csa-card-imgwrap img{transform:scale(1.06)}

.csa-tag{
  position:absolute;
  top:12px;left:12px;
  background:var(--gold);
  color:#fff;
  font-family:var(--B);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 11px;
  border-radius:4px;
  box-shadow:0 2px 8px rgba(232,168,124,.35);
  z-index:2;
}

.csa-card-icon{
  position:absolute;
  /* Sit on top of the image bottom edge — image aspect-ratio 4/3 is in the card's flex; we use a calc from card top */
  top:calc(75% - 23px); /* aspect 4/3 image takes ~75% of card height; place icon centered on that bottom edge */
  left:18px;
  width:46px;height:46px;
  background:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(27,75,107,.15);
  z-index:3;
}
@media(max-width:1024px){.csa-card-icon{top:auto;bottom:auto}}
.csa-card-icon svg{width:22px;height:22px;color:var(--navy);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Better approach: pull icon from imgwrap end, with negative margin to overlap into body */
.csa-card-icon{
  position:relative;
  margin:-23px 0 0 18px;
  align-self:flex-start;
  flex-shrink:0;
  /* Reset earlier absolute */
  top:auto;bottom:auto;left:auto;
}

.csa-card-body{
  padding:6px 22px 18px;
}
.csa-card-name{
  font-family:var(--B);
  font-weight:700;
  font-size:.95rem;
  color:var(--navy2);
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 5px;
  line-height:1.2;
}
.csa-card-desc{
  font-family:var(--B);
  font-size:.78rem;
  color:var(--muted);
  line-height:1.5;
  margin-bottom:8px;
  font-weight:400;
}
.csa-card-price{
  font-family:var(--B);
  font-size:1rem;
  font-weight:700;
  color:var(--navy2);
  letter-spacing:.01em;
}
.csa-card-price em{
  font-style:normal;
  font-weight:500;
  font-size:.78rem;
  color:var(--muted);
}
.csa-card-cta{
  border-top:1px solid rgba(27,75,107,.08);
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-family:var(--B);
  font-size:.85rem;
  font-weight:600;
  color:var(--navy2);
  transition:color .2s;
}
.csa-card:hover .csa-card-cta{color:var(--gold2)}
.csa-card-cta-arrow{
  font-size:1.05em;
  transition:transform .25s;
}
.csa-card:hover .csa-card-cta-arrow{transform:translateX(4px)}

/* ─── NAVY FEATURES BAR (4 features, dark) ─── */
.feat-bar{
  background:linear-gradient(180deg,#0f3350 0%,#0c2a42 100%);
  padding:clamp(34px,4vw,52px) 0;
  position:relative;
  overflow:hidden;
}
.feat-bar::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' opacity='.06'%3E%3Cpath stroke='%23ffffff' stroke-width='1' fill='none' d='M0 100 Q 200 50 400 100 T 800 100 T 1200 100 M0 130 Q 200 80 400 130 T 800 130 T 1200 130 M0 70 Q 200 20 400 70 T 800 70 T 1200 70'/%3E%3C/svg%3E");
  background-size:cover;
  pointer-events:none;
}
.feat-bar-inner{
  max-width:1280px;
  margin:0 auto;
  padding-inline:clamp(20px,4vw,48px);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,3vw,40px);
  position:relative;z-index:2;
}
@media(max-width:880px){
  .feat-bar-inner{grid-template-columns:repeat(2,1fr);gap:28px 24px}
}
@media(max-width:480px){
  .feat-bar-inner{grid-template-columns:1fr;gap:20px}
}
.feat-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  color:#fff;
}
.feat-icon{
  width:42px;height:42px;
  flex-shrink:0;
  border:1.5px solid rgba(232,168,124,.45);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold3);
}
.feat-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.feat-text-title{
  font-family:var(--B);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold3);
  margin-bottom:5px;
  line-height:1;
}
.feat-text-sub{
  font-family:var(--B);
  font-size:.82rem;
  font-weight:400;
  color:rgba(255,255,255,.78);
  line-height:1.45;
}

/* ─── Mobile tweaks ─── */
@media(max-width:768px){
  .nav-strip-inner{flex-wrap:wrap;justify-content:center;gap:8px 16px}
  .nav-strip-item,.nav-strip-tel,.nav-strip-email{font-size:.7rem}
  /* Hide top contact strip on mobile (info is in sticky bottom bar + drawer) */
  .nav-strip{display:none}
  /* Compact logo on mobile */
  .nav-logo-mark{width:44px;height:44px}
  .nav-logo-mark svg{width:26px;height:26px}
  .nav-logo-text{font-size:1.45rem}
  .nav-logo-sub{font-size:.46rem;letter-spacing:.16em}
  /* Hide Book Online button in nav on mobile (replaced by sticky bottom bar) */
  .nav-book-btn{display:none}
  /* Hide the EN switch on small screens too — it's in the drawer */
  .lang-switch{display:none}
  .nav-main{padding:10px 0}

  .hero{min-height:auto}
  .hero-content{padding:90px clamp(16px,4vw,28px) 32px}
  .hero-h1{font-size:clamp(2.2rem,8vw,3rem)}
  .hero-badges{gap:18px;margin-top:24px}
  .hero-badge{gap:9px}
  .hero-badge-icon{width:36px;height:36px}
  .hero-badge-icon svg{width:17px;height:17px}
  .hero-badge-text{font-size:.66rem}
  .book-widget{margin-top:28px;border-radius:12px}
  .book-tabs{padding:0 8px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
  .book-tabs::-webkit-scrollbar{display:none}
  .book-tab{padding:14px 16px 12px;font-size:.74rem}
  .csa-inner{padding-inline:18px}
  .csa-card-body{padding:6px 18px 14px}
  .csa-card-cta{padding:12px 18px}
}

/* MOBILE FIXES */
@media(max-width:480px){
  /* Logo: reduce size to prevent overflow */
  .nav-logo-text{font-size:.95rem!important;letter-spacing:.03em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
  .nav-logo-sub{font-size:.5rem!important;letter-spacing:.14em!important;white-space:nowrap;overflow:hidden}
  .nav-logo{max-width:calc(100vw - 110px);overflow:hidden}
  
  /* WhatsApp tooltip: hide on mobile (FAB icon enough) */
  .wa-fab-tooltip{display:none!important}
  
  /* Sticky bar: tighter padding */
  .sticky-bar{padding:8px 10px!important}
  .sticky-call,.sticky-book{padding:10px 14px!important;font-size:.82rem!important}
  
  /* Reasons-15 sub: allow wrap */
  .reasons-15-sub{white-space:normal!important;line-height:1.5!important;font-size:.78rem!important}
  
  /* Marquee container: ensure overflow hidden */
  .marquee,.marquee-wrap{overflow:hidden!important;width:100%}
  
  /* Trust line in hero: prevent overflow */
  .hero-trust-tag{flex-wrap:wrap!important;font-size:.78rem!important;gap:6px!important}
  
  /* Best Prices list: prevent text overflow */
  .best-prices-list li{font-size:.88rem!important;padding:12px 14px!important}
  .best-prices-list li strong{font-size:1rem!important;flex-shrink:0}
  
  /* All section padding tighter */
  .reasons-15,.best-prices,.testimonials-section,.feat-bar{padding-inline:14px!important}
}

/* Universal small-screen safety */
@media(max-width:600px){
  body{overflow-x:hidden!important}
  .container,.csa-inner,.feat-bar-inner,.reasons-15>.container,.best-prices>.container{
    max-width:100vw!important;
    padding-inline:14px!important;
    box-sizing:border-box;
  }
  /* Prevent any element from being wider than viewport */
  img,svg,video{max-width:100%!important;height:auto}
  
  /* WhatsApp FAB: smaller on mobile */
  .wa-fab{width:48px!important;height:48px!important}
  .wa-fab-wrap{bottom:80px!important;right:14px!important}
}

/* MOBILE FIXES — Round 2 (sticky bar + grain) */
@media(max-width:480px){
  /* Grain texture should not extend beyond viewport */
  .grain{width:100vw!important;left:0!important;right:auto!important;max-width:100%!important}
  
  /* Sticky bar exact width */
  .sticky-bar{width:100vw!important;left:0!important;right:0!important;max-width:100vw!important;box-sizing:border-box}
  .sticky-call,.sticky-book{flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
  .sticky-book{padding:10px 12px!important;font-size:.78rem!important}
  .sticky-call{padding:10px 12px!important;font-size:.78rem!important}
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM MOBILE — beautiful, breathing, alive
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){

  /* ── Smooth scrolling globally ── */
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  
  /* ── Mobile-only fade-in animations ── */
  @keyframes mobFadeUp{
    from{opacity:0;transform:translateY(24px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes mobFadeIn{from{opacity:0}to{opacity:1}}
  @keyframes mobFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-6px)}
  }
  @keyframes mobShimmer{
    0%{background-position:-200% 0}
    100%{background-position:200% 0}
  }
  
  /* ── Reveal animation on scroll ── */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
  .reveal.in{opacity:1;transform:translateY(0)}
  
  /* ═══════ HERO POLISH ═══════ */
  .hero{position:relative;min-height:100svh}
  .hero-content{padding:80px 20px 32px!important}
  .hero-h1{
    font-size:clamp(2.6rem,9vw,3.8rem)!important;
    line-height:.92!important;
    letter-spacing:-.02em!important;
  }
  .hero-h1-eyebrow{
    font-size:.7rem!important;
    letter-spacing:.22em!important;
    color:rgba(232,168,124,.85)!important;
    margin-bottom:14px!important;
    animation:mobFadeIn .9s .2s both;
  }
  .hero-h1-main{
    color:#fff;
    text-shadow:0 4px 32px rgba(0,0,0,.35);
    animation:mobFadeUp 1s .3s both;
  }
  .hero-h1-em,.hero-h1 em{
    font-family:var(--S,'Caveat'),cursive!important;
    font-style:normal!important;
    font-size:.9em!important;
    color:#E8A87C!important;
    text-shadow:0 4px 24px rgba(232,168,124,.4);
    animation:mobFadeUp 1s .5s both;
    display:inline-block;
  }
  .hero-sub{
    font-size:.95rem!important;
    line-height:1.65!important;
    color:rgba(255,255,255,.85)!important;
    margin-top:18px!important;
    animation:mobFadeUp 1s .6s both;
  }
  
  /* Hero trust line */
  .hero-trust-tag{
    background:rgba(255,255,255,.08)!important;
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    padding:8px 14px!important;
    display:inline-flex!important;
    flex-wrap:wrap!important;
    align-items:center;
    gap:8px!important;
    font-size:.78rem!important;
    margin-top:18px!important;
    animation:mobFadeUp 1s .7s both;
  }
  
  /* Hero badges (3 trust badges below subtitle) */
  .hero-badges{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:8px!important;
    margin-top:22px!important;
    animation:mobFadeUp 1s .8s both;
  }
  .hero-badge{
    background:rgba(255,255,255,.06)!important;
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.1)!important;
    border-radius:14px!important;
    padding:12px 8px!important;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
  }
  .hero-badge-icon{
    width:32px;height:32px;
    border-radius:50%!important;
    background:rgba(232,168,124,.15);
    display:flex;align-items:center;justify-content:center;
  }
  .hero-badge-icon svg{width:16px;height:16px}
  .hero-badge-text{
    font-size:.62rem!important;
    line-height:1.25!important;
    font-weight:600!important;
    letter-spacing:.06em!important;
    text-align:center;
    color:rgba(255,255,255,.95)!important;
  }
  
  /* Booking widget — premium glass effect */
  .booking-widget,.hero-booking{
    background:rgba(15,51,80,.7)!important;
    backdrop-filter:blur(24px) saturate(180%)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:20px!important;
    padding:18px!important;
    margin-top:24px!important;
    box-shadow:0 24px 64px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1)!important;
    animation:mobFadeUp 1s .9s both;
  }
  
  /* Search button — make it pop */
  .booking-widget button[type=submit],
  .hero-booking button[type=submit],
  button.search-btn{
    background:linear-gradient(135deg,#E8A87C,#D4926A)!important;
    color:#3d1f08!important;
    font-weight:700!important;
    padding:16px!important;
    border-radius:14px!important;
    box-shadow:0 12px 28px rgba(232,168,124,.4)!important;
    transition:transform .2s!important;
    width:100%;
  }
  .booking-widget button[type=submit]:active,
  .hero-booking button[type=submit]:active,
  button.search-btn:active{transform:scale(.98)}
  
  /* ═══════ CSA SECTION (4 vehicle cards) ═══════ */
  .csa-section{padding:48px 0!important;background:linear-gradient(180deg,#fdf8f2 0%,#faf3e8 100%)!important}
  .csa-inner{padding-inline:18px!important}
  .csa-eyebrow{
    font-size:.7rem!important;
    letter-spacing:.22em!important;
    color:#D4926A!important;
    text-align:center!important;
    margin-bottom:8px!important;
  }
  .csa-title{
    font-family:var(--D,'DM Serif Display'),serif!important;
    font-size:clamp(2.2rem,7vw,3rem)!important;
    text-align:center!important;
    color:#1b4b6b!important;
    line-height:1!important;
    letter-spacing:-.01em!important;
  }
  .csa-tagline{
    font-family:var(--S,'Caveat'),cursive!important;
    font-size:1.4rem!important;
    color:#D4926A!important;
    text-align:center!important;
    margin-top:8px!important;
    margin-bottom:20px!important;
  }
  .csa-divider{
    width:60px!important;height:3px!important;
    background:linear-gradient(90deg,transparent,#E8A87C,transparent)!important;
    margin:0 auto 32px!important;
    border-radius:2px;
  }
  .csa-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .csa-card{
    background:#fff!important;
    border-radius:20px!important;
    overflow:hidden!important;
    box-shadow:0 4px 20px rgba(15,51,80,.06)!important;
    border:1px solid rgba(15,51,80,.05)!important;
    transition:transform .3s,box-shadow .3s!important;
    text-decoration:none!important;
  }
  .csa-card:active{transform:scale(.98)}
  .csa-card-imgwrap{position:relative;aspect-ratio:16/10;overflow:hidden}
  .csa-card-imgwrap img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .6s cubic-bezier(.16,1,.3,1);
  }
  .csa-tag{
    position:absolute;top:12px;left:12px;
    background:rgba(232,168,124,.95);
    color:#3d1f08;
    padding:5px 12px;
    border-radius:999px;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.1em;
    z-index:2;
    backdrop-filter:blur(8px);
  }
  .csa-card-icon{
    position:absolute;
    bottom:-22px;left:18px;
    width:44px;height:44px;
    background:#fff;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 20px rgba(15,51,80,.15);
    z-index:2;
  }
  .csa-card-icon svg{width:22px;height:22px;color:#1b4b6b}
  .csa-card-body{padding:32px 18px 16px!important}
  .csa-card-name{
    font-size:1.15rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
    letter-spacing:.02em!important;
    margin-bottom:4px!important;
  }
  .csa-card-desc{
    font-size:.85rem!important;
    color:#64748b!important;
    line-height:1.5!important;
    margin-bottom:8px!important;
  }
  .csa-card-price{
    font-size:1.1rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
  }
  .csa-card-price em{
    font-size:.75rem;
    font-weight:400;
    font-style:normal;
    color:#94a3b8;
  }
  .csa-card-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 18px!important;
    background:#fdf4ec!important;
    color:#1b4b6b!important;
    font-weight:600!important;
    font-size:.9rem!important;
    border-top:1px solid rgba(15,51,80,.06);
  }
  .csa-card-cta-arrow{
    transition:transform .3s;
  }
  .csa-card:hover .csa-card-cta-arrow{transform:translateX(4px)}
  
  /* Use-case picker (inside csa) */
  .csa-uc-wrap{
    margin-top:48px!important;
    padding-top:36px!important;
    border-top:1px solid rgba(15,51,80,.08)!important;
  }
  .uc-picker{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .uc-opt{
    background:#fff!important;
    border:1.5px solid rgba(15,51,80,.08)!important;
    border-radius:16px!important;
    padding:14px 12px!important;
    text-align:left!important;
    cursor:pointer!important;
    transition:all .25s!important;
    font-family:inherit!important;
  }
  .uc-opt.active{
    border-color:#E8A87C!important;
    background:#fdf4ec!important;
    box-shadow:0 8px 20px rgba(232,168,124,.15)!important;
  }
  .uc-opt-icon{
    font-size:1.6rem!important;
    display:block!important;
    margin-bottom:6px!important;
  }
  .uc-opt-title{
    font-size:.82rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
    line-height:1.2!important;
    margin-bottom:2px!important;
  }
  .uc-opt-models{
    font-size:.65rem!important;
    color:#94a3b8!important;
    line-height:1.3!important;
  }
  .uc-match{
    text-align:center;
    margin:24px 0 16px;
    padding:14px;
    background:rgba(232,168,124,.08);
    border-radius:12px;
  }
  .uc-match-count{
    font-family:var(--S,'Caveat'),cursive;
    font-size:1.4rem;
    font-style:italic;
    color:#1b4b6b;
    font-weight:600;
  }
  .uc-match-sub{
    display:block;
    font-size:.78rem;
    color:#64748b;
    margin-top:2px;
  }
  
  /* ═══════ FEAT BAR ═══════ */
  .feat-bar{padding:32px 18px!important;background:linear-gradient(135deg,#0f3350,#1b4b6b)!important;position:relative;overflow:hidden}
  .feat-bar::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 30% 50%,rgba(232,168,124,.08),transparent 50%);
    pointer-events:none;
  }
  .feat-bar-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    position:relative;
  }
  .feat-item{
    display:flex!important;
    align-items:center;
    gap:14px;
    padding:14px;
    background:rgba(255,255,255,.04);
    border-radius:14px;
    border:1px solid rgba(255,255,255,.06);
    transition:background .25s;
  }
  .feat-item:active{background:rgba(255,255,255,.08)}
  .feat-icon{
    width:42px;height:42px;
    background:rgba(232,168,124,.12);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .feat-icon svg{width:22px;height:22px;color:#E8A87C}
  .feat-text-title{
    font-size:.78rem!important;
    font-weight:700!important;
    color:#E8A87C!important;
    letter-spacing:.08em!important;
    margin-bottom:2px!important;
  }
  .feat-text-sub{
    font-size:.78rem!important;
    color:rgba(255,255,255,.65)!important;
    line-height:1.4!important;
  }
  
  /* ═══════ TESTIMONIALS ═══════ */
  .testimonials-section{padding:56px 18px!important;background:#faf7f2!important}
  .testimonials-section .s-eyebrow{
    text-align:center!important;
    color:#D4926A!important;
    font-size:.7rem!important;
    letter-spacing:.22em!important;
    justify-content:center!important;
  }
  .testimonials-section .s-title{
    text-align:center!important;
    font-size:clamp(1.8rem,6vw,2.4rem)!important;
    line-height:1.1!important;
  }
  .testimonial-card,
  .testimonials-section [class*=card]{
    background:#fff!important;
    border-radius:20px!important;
    padding:24px 22px!important;
    box-shadow:0 8px 28px rgba(15,51,80,.06)!important;
    border:1px solid rgba(15,51,80,.04)!important;
    margin-top:24px!important;
  }
  
  /* ═══════ BEST PRICES ═══════ */
  .best-prices{padding:56px 18px!important;background:#fdf8f2!important}
  .best-prices .container{padding:0!important}
  .best-prices-list{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:28px!important;
  }
  .best-prices-list li{
    background:#fff!important;
    padding:16px 18px!important;
    border-radius:14px!important;
    box-shadow:0 2px 12px rgba(15,51,80,.04)!important;
    border:1px solid rgba(15,51,80,.04)!important;
    font-size:.92rem!important;
    transition:transform .2s;
  }
  .best-prices-list li:active{transform:scale(.98)}
  .best-prices-list li::before{
    width:24px;height:24px;
    background:#E8A87C;
    border-radius:50%;
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:.9rem;
    flex-shrink:0;
    margin-right:8px;
  }
  .best-prices-list li strong{
    background:#fdf4ec;
    color:#D4926A;
    padding:4px 10px;
    border-radius:8px;
    font-size:.95rem;
  }
  .best-prices-cta{
    display:block!important;
    width:100%;
    text-align:center;
    background:linear-gradient(135deg,#1b4b6b,#0f3350)!important;
    padding:18px!important;
    border-radius:16px!important;
    font-size:.95rem!important;
    box-shadow:0 12px 32px rgba(15,51,80,.25)!important;
    margin-top:24px!important;
  }
  
  /* ═══════ 15 REASONS ═══════ */
  .reasons-15{padding:64px 18px!important}
  .reasons-15-sub{
    font-size:.72rem!important;
    line-height:1.5!important;
  }
  .reasons-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:32px!important;
  }
  .reason-item{
    padding:16px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.04)!important;
  }
  .reason-icon{
    width:40px!important;height:40px!important;
    font-size:1.4rem!important;
  }
  .reason-text{font-size:.9rem!important}
  
  /* ═══════ GUARDIAN BANNER ═══════ */
  .guardian-banner{padding:36px 18px!important}
  
  /* ═══════ LIFESTYLE ═══════ */
  .lifestyle{padding:56px 0!important}
  .lifestyle .container,.lifestyle-inner{padding-inline:18px!important}
  .lifestyle-grid,[class*=lifestyle][class*=grid]{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  
  /* ═══════ VDRIVE / 3D TOUR ═══════ */
  .vdrive-section{padding:56px 18px!important}
  .vdrive-section iframe,.vdrive-section .vdrive-frame{
    border-radius:18px!important;
    aspect-ratio:9/12!important;
  }
  
  /* ═══════ HOW SECTION ═══════ */
  .how-section{padding:64px 18px!important;background:linear-gradient(180deg,#0f3350,#1b4b6b)!important}
  .how-grid,[class*=how-grid]{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:32px!important;
  }
  .how-step{
    background:rgba(255,255,255,.04)!important;
    border-radius:18px!important;
    padding:24px!important;
    border:1px solid rgba(255,255,255,.08)!important;
  }
  
  /* ═══════ ABOUT / MAP ═══════ */
  .about-section,.map-section{padding:48px 18px!important}
  
  /* ═══════ FAQ ═══════ */
  .faq-section{padding:56px 18px!important}
  .faq-item,details{
    background:#fff!important;
    border-radius:14px!important;
    padding:14px 18px!important;
    margin-bottom:10px!important;
    border:1px solid rgba(15,51,80,.06)!important;
    transition:box-shadow .2s;
  }
  .faq-item[open],details[open]{
    box-shadow:0 8px 24px rgba(15,51,80,.06)!important;
  }
  .faq-item summary,details summary{
    font-size:.95rem!important;
    font-weight:600!important;
    color:#1b4b6b!important;
    line-height:1.4!important;
  }
  
  /* ═══════ SEO BLOCKS ═══════ */
  .seo-block{padding:48px 18px!important;background:#faf7f2!important}
  .seo-block .container{padding:0!important}
  .seo-block h2{
    font-size:clamp(1.7rem,5.5vw,2.2rem)!important;
    line-height:1.15!important;
  }
  .seo-block p{
    font-size:.95rem!important;
    line-height:1.7!important;
  }
  
  /* ═══════ STICKY BAR — premium ═══════ */
  .sticky-bar{
    background:rgba(15,51,80,.97)!important;
    backdrop-filter:blur(24px) saturate(180%)!important;
    border-top:1px solid rgba(255,255,255,.1)!important;
    box-shadow:0 -8px 32px rgba(0,0,0,.2)!important;
    padding:10px 14px!important;
    gap:10px!important;
    display:flex;
  }
  .sticky-call{
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:12px 14px!important;
    font-size:.85rem!important;
    font-weight:600!important;
    flex:0 0 auto;
  }
  .sticky-book{
    background:linear-gradient(135deg,#E8A87C,#D4926A)!important;
    color:#3d1f08!important;
    border-radius:12px!important;
    padding:12px 18px!important;
    font-size:.88rem!important;
    font-weight:700!important;
    box-shadow:0 6px 16px rgba(232,168,124,.4)!important;
    flex:1;
    text-align:center;
  }
  
  /* ═══════ WA FAB ═══════ */
  .wa-fab{
    width:52px!important;height:52px!important;
    box-shadow:0 8px 24px rgba(37,211,102,.4)!important;
    animation:mobFloat 4s ease-in-out infinite;
  }
  .wa-fab-wrap{bottom:84px!important;right:14px!important}
  
  /* ═══════ FOOTER ═══════ */
  .footer{padding:48px 18px 100px!important}
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  .footer-col h4{
    font-size:.78rem!important;
    color:#E8A87C!important;
    letter-spacing:.16em!important;
    margin-bottom:14px!important;
    padding-bottom:10px!important;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-col a{
    display:block!important;
    padding:8px 0!important;
    font-size:.92rem!important;
    color:rgba(255,255,255,.85)!important;
  }
  
  /* ═══════ SECTION SPACING RHYTHM ═══════ */
  section{position:relative}
  section + section{position:relative}
  
  /* Add subtle decorative elements */
  .csa-section::before,
  .reasons-15::before,
  .testimonials-section::before{
    content:'';
    position:absolute;
    top:0;left:50%;
    width:48px;height:3px;
    background:linear-gradient(90deg,transparent,#E8A87C,transparent);
    transform:translateX(-50%);
    border-radius:2px;
  }
  
  /* ═══════ PERFORMANCE ═══════ */
  /* Disable parallax/heavy effects on mobile for smoother scroll */
  *[class*=parallax]{transform:none!important}
  
  /* Tap highlight clean */
  *{
    -webkit-tap-highlight-color:rgba(232,168,124,.2);
  }
  a,button{touch-action:manipulation}
}

/* ═══════ Reveal observer (small JS-free trigger via :hover/:focus-within fallback) ═══════ */
@media(prefers-reduced-motion:no-preference) and (max-width:768px){
  .reveal{opacity:0;transform:translateY(30px)}
  .reveal.in{opacity:1;transform:translateY(0)}
}

/* SMALLER PHONES (under 380px) - extra polish */
@media(max-width:380px){
  .hero-h1{font-size:2.2rem!important}
  .csa-card-name{font-size:1.05rem!important}
  .uc-picker{grid-template-columns:1fr!important}
  .hero-badges{grid-template-columns:1fr 1fr 1fr!important;gap:6px!important}
  .hero-badge-text{font-size:.55rem!important}
}

/* ═══════════════════════════════════════════════════════════════
   CINEMATIC MOBILE — Round 2 (premium magazine feel)
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  
  /* Custom selection */
  ::selection{background:rgba(232,168,124,.4);color:#1b4b6b}
  
  /* ═══════ HERO CINEMATIC ═══════ */
  .hero{
    position:relative;
    min-height:100svh;
    overflow:hidden;
  }
  /* Cinematic gradient overlay (top fade + bottom fade for content readability) */
  .hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(15,51,80,.65) 0%, rgba(15,51,80,.15) 25%, rgba(15,51,80,.1) 50%, rgba(15,51,80,.85) 100%);
    z-index:1;
    pointer-events:none;
  }
  .hero-content{
    position:relative;
    z-index:2;
    padding:90px 22px 32px!important;
  }
  
  /* Hero title — bigger, more dramatic */
  .hero-h1{
    font-size:clamp(3rem, 11vw, 4.4rem)!important;
    line-height:.88!important;
    letter-spacing:-.025em!important;
    font-weight:300!important;
  }
  .hero-h1-eyebrow{
    display:inline-block!important;
    font-size:.65rem!important;
    letter-spacing:.28em!important;
    color:#E8A87C!important;
    text-transform:uppercase!important;
    margin-bottom:18px!important;
    padding:6px 14px!important;
    background:rgba(232,168,124,.12)!important;
    border:1px solid rgba(232,168,124,.25)!important;
    border-radius:99px!important;
    backdrop-filter:blur(12px);
    animation:heroEyebrow 1s .15s both;
  }
  
  /* "your way" handwritten with shine effect */
  .hero-h1-em,.hero-h1 em{
    display:inline-block!important;
    font-family:var(--S,'Caveat'),cursive!important;
    font-style:normal!important;
    font-size:1em!important;
    font-weight:600!important;
    color:#E8A87C!important;
    text-shadow:
      0 4px 24px rgba(232,168,124,.5),
      0 0 40px rgba(232,168,124,.3)!important;
    transform-origin:left center;
    animation:heroEm 1.2s .8s both;
  }
  
  @keyframes heroEyebrow{
    from{opacity:0;transform:translateY(-12px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes heroEm{
    from{opacity:0;transform:translateX(-30px) rotate(-3deg) scale(.9)}
    to{opacity:1;transform:translateX(0) rotate(0) scale(1)}
  }
  
  /* Hero sub */
  .hero-sub{
    font-size:1rem!important;
    line-height:1.6!important;
    color:rgba(255,255,255,.92)!important;
    margin-top:20px!important;
    max-width:340px;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
  }
  
  /* Trust pill — premium glass */
  .hero-trust-tag{
    background:rgba(15,51,80,.4)!important;
    backdrop-filter:blur(20px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.15)!important;
    box-shadow:
      0 8px 24px rgba(0,0,0,.2),
      inset 0 1px 0 rgba(255,255,255,.1)!important;
    padding:10px 16px!important;
    margin-top:22px!important;
    animation:heroEm 1s .9s both;
  }
  
  /* Hero badges — depth glass */
  .hero-badges{
    margin-top:24px!important;
  }
  .hero-badge{
    background:rgba(255,255,255,.08)!important;
    backdrop-filter:blur(16px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    border:1px solid rgba(255,255,255,.15)!important;
    box-shadow:
      0 12px 32px rgba(15,51,80,.25),
      inset 0 1px 0 rgba(255,255,255,.15),
      inset 0 -1px 0 rgba(0,0,0,.1)!important;
    transition:transform .3s cubic-bezier(.16,1,.3,1);
  }
  .hero-badge:active{transform:translateY(2px)}
  .hero-badge:nth-child(1){animation:heroBadge 1s 1.0s both}
  .hero-badge:nth-child(2){animation:heroBadge 1s 1.1s both}
  .hero-badge:nth-child(3){animation:heroBadge 1s 1.2s both}
  @keyframes heroBadge{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
  }
  
  .hero-badge-icon{
    width:36px!important;height:36px!important;
    background:rgba(232,168,124,.2)!important;
    border:1px solid rgba(232,168,124,.3)!important;
    box-shadow:0 4px 12px rgba(232,168,124,.2);
  }
  
  /* Booking widget — luxury glass */
  .booking-widget,.hero-booking,form[class*=book]{
    background:rgba(15,51,80,.55)!important;
    backdrop-filter:blur(28px) saturate(200%)!important;
    -webkit-backdrop-filter:blur(28px) saturate(200%);
    border:1px solid rgba(255,255,255,.1)!important;
    box-shadow:
      0 32px 80px rgba(0,0,0,.45),
      inset 0 1px 0 rgba(255,255,255,.1)!important;
    margin-top:28px!important;
    animation:heroEm 1.2s 1.3s both;
  }
  
  /* Tab system inside booking widget */
  .booking-widget [role=tablist],
  .booking-widget .tabs,
  [class*=booking] .tabs{
    border-bottom:1px solid rgba(255,255,255,.1)!important;
    margin-bottom:16px!important;
  }
  .booking-widget [role=tab],
  .booking-widget [class*=tab],
  [class*=booking] button[type=button]{
    color:rgba(255,255,255,.5)!important;
    transition:all .3s!important;
  }
  .booking-widget [role=tab][aria-selected=true],
  .booking-widget .tab.active,
  [class*=booking] .active{
    color:#fff!important;
    border-bottom:2px solid #E8A87C!important;
    font-weight:600!important;
  }
  
  /* Search button — gradient + shine */
  button[type=submit],
  .search-btn,
  .booking-widget button:last-child{
    background:linear-gradient(135deg, #E8A87C 0%, #D4926A 50%, #E8A87C 100%)!important;
    background-size:200% 100%!important;
    color:#3d1f08!important;
    font-weight:700!important;
    font-size:1rem!important;
    padding:18px!important;
    border-radius:14px!important;
    border:0!important;
    box-shadow:
      0 12px 32px rgba(232,168,124,.45),
      inset 0 1px 0 rgba(255,255,255,.3)!important;
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  button[type=submit]:active,
  .search-btn:active{
    transform:scale(.98);
    background-position:100% 0!important;
  }
  
  /* ═══════ FLOATING DECORATIVE ELEMENTS ═══════ */
  /* Add subtle floating dots/accents to sections */
  .csa-section::after{
    content:'';
    position:absolute;
    bottom:40px;
    right:20px;
    width:80px;
    height:80px;
    background:radial-gradient(circle, rgba(232,168,124,.15), transparent 70%);
    border-radius:50%;
    pointer-events:none;
  }
  
  .testimonials-section::after{
    content:'';
    position:absolute;
    top:60px;
    left:-40px;
    width:120px;
    height:120px;
    background:radial-gradient(circle, rgba(15,51,80,.06), transparent 70%);
    border-radius:50%;
    pointer-events:none;
  }
  
  /* ═══════ MAGAZINE-STYLE TYPOGRAPHY ═══════ */
  /* Headlines breathe more */
  section h2,.s-title{
    line-height:1.05!important;
    letter-spacing:-.015em!important;
  }
  
  /* Eyebrow consistency */
  .s-eyebrow,[class*=eyebrow]{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    font-size:.7rem!important;
    font-weight:600!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
  }
  .s-eyebrow::before,[class*=eyebrow]::before{
    content:'';
    width:24px;
    height:2px;
    background:#E8A87C;
    border-radius:1px;
    flex-shrink:0;
  }
  
  /* ═══════ CSA CARDS — premium ═══════ */
  .csa-card{
    border-radius:24px!important;
    box-shadow:
      0 4px 16px rgba(15,51,80,.04),
      0 16px 40px rgba(15,51,80,.08)!important;
    transition:all .35s cubic-bezier(.16,1,.3,1)!important;
    transform:translateY(0);
  }
  .csa-card:active{
    transform:translateY(-2px) scale(.99);
    box-shadow:
      0 8px 24px rgba(15,51,80,.08),
      0 24px 64px rgba(15,51,80,.15)!important;
  }
  
  /* Card image — subtle zoom on tap */
  .csa-card-imgwrap{
    border-radius:24px 24px 0 0!important;
    position:relative;
  }
  .csa-card-imgwrap::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(15,51,80,.2));
    pointer-events:none;
  }
  .csa-card-imgwrap img{
    transition:transform 1s cubic-bezier(.16,1,.3,1)!important;
  }
  .csa-card:active .csa-card-imgwrap img{
    transform:scale(1.05);
  }
  
  /* MOST PICKED tag — glow */
  .csa-tag{
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
    box-shadow:0 8px 20px rgba(232,168,124,.4)!important;
    animation:tagPulse 3s ease-in-out infinite;
  }
  @keyframes tagPulse{
    0%,100%{box-shadow:0 8px 20px rgba(232,168,124,.4)}
    50%{box-shadow:0 8px 28px rgba(232,168,124,.6)}
  }
  
  /* ═══════ USE-CASE PICKER — interactive ═══════ */
  .uc-opt{
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  .uc-opt::before{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.2), transparent);
    transition:left .6s;
  }
  .uc-opt.active::before{
    left:100%;
  }
  .uc-opt.active{
    border-color:#E8A87C!important;
    background:linear-gradient(135deg, #fdf4ec, #fff)!important;
    transform:translateY(-2px)!important;
    box-shadow:
      0 12px 28px rgba(232,168,124,.2),
      inset 0 1px 0 rgba(255,255,255,.5)!important;
  }
  
  /* ═══════ TESTIMONIAL CARDS — magazine ═══════ */
  .testimonial-card,
  .testimonials-section [class*=card]{
    position:relative;
    overflow:hidden;
  }
  /* Decorative quote mark */
  .testimonial-card::before,
  .testimonials-section [class*=card]::before{
    content:'\201C';
    position:absolute;
    top:-10px;
    right:18px;
    font-family:var(--D,'DM Serif Display'),serif;
    font-size:5rem;
    line-height:1;
    color:rgba(232,168,124,.15);
    pointer-events:none;
  }
  
  /* ═══════ BEST PRICES — interactive ═══════ */
  .best-prices-list li{
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  .best-prices-list li::after{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.1), transparent);
    transition:left .8s;
    pointer-events:none;
  }
  .best-prices-list li:active::after{left:100%}
  .best-prices-list li:active{
    transform:translateX(4px);
    border-color:#E8A87C!important;
  }
  
  /* CTA mega-button */
  .best-prices-cta{
    position:relative;
    overflow:hidden;
  }
  .best-prices-cta::before{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.3), transparent);
    transition:left .8s;
  }
  .best-prices-cta:active::before{left:100%}
  
  /* ═══════ 15 REASONS — animated icons ═══════ */
  .reason-item{
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
  }
  .reason-item:active{
    background:rgba(255,255,255,.1)!important;
    transform:translateX(4px);
  }
  .reason-icon{
    transition:transform .4s cubic-bezier(.16,1,.3,1);
  }
  .reason-item:active .reason-icon{
    transform:scale(1.15) rotate(-5deg);
  }
  
  /* ═══════ FAQ — smooth expand ═══════ */
  details.faq-item summary,
  .faq-item summary,
  details summary{
    cursor:pointer;
    list-style:none;
    position:relative;
    padding-right:32px;
  }
  details.faq-item summary::-webkit-details-marker,
  .faq-item summary::-webkit-details-marker,
  details summary::-webkit-details-marker{display:none}
  
  details.faq-item summary::after,
  .faq-item summary::after,
  details summary::after{
    content:'';
    position:absolute;
    right:0;
    top:50%;
    width:14px;
    height:14px;
    border-right:2px solid #E8A87C;
    border-bottom:2px solid #E8A87C;
    transform:translateY(-75%) rotate(45deg);
    transition:transform .3s;
  }
  details[open] summary::after,
  .faq-item[open] summary::after{
    transform:translateY(-25%) rotate(-135deg);
  }
  
  /* ═══════ SECTION DIVIDERS ═══════ */
  /* Subtle wave-like dividers between sections */
  .csa-section + .feat-bar{
    position:relative;
  }
  .csa-section + .feat-bar::before{
    content:'';
    position:absolute;
    top:-1px;left:0;right:0;
    height:24px;
    background:linear-gradient(180deg, #faf3e8, transparent);
    pointer-events:none;
  }
  
  /* ═══════ STICKY BAR — premium with state ═══════ */
  .sticky-bar{
    transform:translateY(100%);
    transition:transform .5s cubic-bezier(.16,1,.3,1);
  }
  .sticky-bar.show,
  body.scrolled .sticky-bar{transform:translateY(0)}
  
  /* The Book button gets shine */
  .sticky-book{
    position:relative;
    overflow:hidden;
  }
  .sticky-book::after{
    content:'';
    position:absolute;
    top:-50%;left:-100%;
    width:60%;height:200%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);
    transform:rotate(20deg);
    animation:btnShine 4s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes btnShine{
    0%,80%{left:-100%}
    100%{left:200%}
  }
  
  /* ═══════ WA FAB — improved ═══════ */
  .wa-fab{
    box-shadow:
      0 12px 32px rgba(37,211,102,.4),
      0 0 0 4px rgba(37,211,102,.15),
      inset 0 -2px 4px rgba(0,0,0,.1)!important;
    transition:transform .3s cubic-bezier(.16,1,.3,1)!important;
  }
  .wa-fab:active{transform:scale(.92)}
  
  /* ═══════ FOOTER — premium ═══════ */
  .footer{
    background:linear-gradient(180deg, #0f3350 0%, #082235 100%)!important;
  }
  .footer h4{
    position:relative;
  }
  .footer h4::before{
    content:'';
    position:absolute;
    bottom:0;left:0;
    width:30px;
    height:2px;
    background:linear-gradient(90deg, #E8A87C, transparent);
  }
  
  /* ═══════ SMOOTH ALL TRANSITIONS ═══════ */
  *{
    -webkit-tap-highlight-color:rgba(232,168,124,.15);
  }
  a, button, .csa-card, .uc-opt, .feat-item, .reason-item, .sticky-book, .sticky-call, .wa-fab{
    -webkit-touch-callout:none;
    user-select:none;
  }
}

/* ═══════ EXTRA SMALL (under 380px) ═══════ */
@media(max-width:380px){
  .hero-h1{font-size:2.4rem!important}
  .csa-title{font-size:1.9rem!important}
  .hero-content{padding:80px 18px 24px!important}
  .csa-inner{padding-inline:14px!important}
  .uc-picker{grid-template-columns:1fr!important;gap:8px!important}
  .uc-opt{padding:12px!important}
  .hero-badge-text{font-size:.5rem!important;letter-spacing:.04em!important}
}

/* ═══════ Reduced motion respect ═══════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM DESKTOP — cinematic, magazine-quality, alive
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  
  ::selection{background:rgba(232,168,124,.4);color:#1b4b6b}
  
  /* ═══════ ANIMATIONS ═══════ */
  @keyframes deskFadeUp{
    from{opacity:0;transform:translateY(40px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes deskFadeIn{from{opacity:0}to{opacity:1}}
  @keyframes deskSlideLeft{
    from{opacity:0;transform:translateX(-40px)}
    to{opacity:1;transform:translateX(0)}
  }
  @keyframes deskSlideRight{
    from{opacity:0;transform:translateX(40px)}
    to{opacity:1;transform:translateX(0)}
  }
  @keyframes deskFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
  }
  @keyframes deskShine{
    0%{background-position:-200% 0}
    100%{background-position:200% 0}
  }
  @keyframes deskOrbFloat{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(30px,-20px) scale(1.1)}
    66%{transform:translate(-20px,30px) scale(.95)}
  }
  @keyframes deskTagPulse{
    0%,100%{box-shadow:0 8px 24px rgba(232,168,124,.4)}
    50%{box-shadow:0 8px 32px rgba(232,168,124,.65)}
  }
  
  /* ═══════ HERO CINEMATIC ═══════ */
  .hero{position:relative;min-height:100vh;overflow:hidden}
  
  /* Cinematic gradient overlay */
  .hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, 
        rgba(15,51,80,.7) 0%, 
        rgba(15,51,80,.2) 30%, 
        rgba(15,51,80,.15) 50%, 
        rgba(15,51,80,.85) 100%),
      radial-gradient(ellipse at top right, rgba(232,168,124,.15), transparent 60%);
    z-index:1;
    pointer-events:none;
  }
  
  /* Subtle vignette */
  .hero::after{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.35) 100%);
    z-index:1;
    pointer-events:none;
  }
  
  .hero-content{
    position:relative;
    z-index:2;
    padding:clamp(80px, 10vh, 140px) clamp(40px, 5vw, 80px) clamp(40px, 5vh, 80px) !important;
    max-width:1280px;
    margin:0 auto;
  }
  
  /* Hero typography — magazine-grade */
  .hero-h1{
    font-size:clamp(4rem, 8vw, 7rem)!important;
    line-height:.9!important;
    letter-spacing:-.025em!important;
    font-weight:300!important;
    max-width:1100px;
  }
  .hero-h1-eyebrow{
    display:inline-block!important;
    padding:8px 20px!important;
    background:rgba(232,168,124,.12)!important;
    border:1px solid rgba(232,168,124,.3)!important;
    border-radius:99px!important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:#E8A87C!important;
    font-size:.78rem!important;
    letter-spacing:.28em!important;
    text-transform:uppercase!important;
    margin-bottom:24px!important;
    animation:deskFadeUp .9s .15s both;
  }
  .hero-h1-main{
    color:#fff!important;
    text-shadow:0 4px 32px rgba(0,0,0,.35);
    animation:deskFadeUp 1s .3s both;
  }
  .hero-h1-em,.hero-h1 em{
    font-family:var(--S,'Caveat'),cursive!important;
    font-style:normal!important;
    font-weight:600!important;
    font-size:.95em!important;
    color:#E8A87C!important;
    text-shadow:
      0 4px 28px rgba(232,168,124,.5),
      0 0 60px rgba(232,168,124,.3)!important;
    display:inline-block;
    transform-origin:left center;
    animation:deskFadeUp 1.2s .8s both, deskFloat 6s ease-in-out 2s infinite;
  }
  
  /* Hero sub */
  .hero-sub{
    font-size:1.25rem!important;
    line-height:1.55!important;
    color:rgba(255,255,255,.92)!important;
    margin-top:24px!important;
    max-width:540px!important;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
    animation:deskFadeUp 1s .55s both;
  }
  
  /* Trust line — premium */
  .hero-trust-tag{
    background:rgba(15,51,80,.4)!important;
    backdrop-filter:blur(20px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.15)!important;
    box-shadow:0 8px 32px rgba(0,0,0,.2)!important;
    padding:12px 22px!important;
    margin-top:28px!important;
    animation:deskFadeUp 1s .7s both;
  }
  
  /* Hero badges — stunning */
  .hero-badges{
    margin-top:36px!important;
    gap:14px!important;
    max-width:560px;
  }
  .hero-badge{
    background:rgba(255,255,255,.07)!important;
    backdrop-filter:blur(20px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.15)!important;
    box-shadow:
      0 16px 40px rgba(15,51,80,.3),
      inset 0 1px 0 rgba(255,255,255,.15),
      inset 0 -1px 0 rgba(0,0,0,.08)!important;
    padding:18px!important;
    transition:transform .4s cubic-bezier(.16,1,.3,1), 
               box-shadow .4s cubic-bezier(.16,1,.3,1)!important;
  }
  .hero-badge:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:
      0 24px 60px rgba(15,51,80,.4),
      inset 0 1px 0 rgba(255,255,255,.2)!important;
  }
  .hero-badge:nth-child(1){animation:deskFadeUp 1s .85s both}
  .hero-badge:nth-child(2){animation:deskFadeUp 1s .95s both}
  .hero-badge:nth-child(3){animation:deskFadeUp 1s 1.05s both}
  
  .hero-badge-icon{
    width:44px!important;height:44px!important;
    background:rgba(232,168,124,.18)!important;
    border:1px solid rgba(232,168,124,.35)!important;
    box-shadow:0 4px 12px rgba(232,168,124,.2);
  }
  .hero-badge-icon svg{width:22px;height:22px}
  .hero-badge-text{
    font-size:.8rem!important;
    letter-spacing:.06em!important;
    line-height:1.3!important;
  }
  
  /* Booking widget — luxury glass */
  .booking-widget,.hero-booking,form[class*=book]{
    background:rgba(15,51,80,.55)!important;
    backdrop-filter:blur(32px) saturate(200%)!important;
    -webkit-backdrop-filter:blur(32px) saturate(200%);
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:
      0 40px 100px rgba(0,0,0,.45),
      inset 0 1px 0 rgba(255,255,255,.1)!important;
    border-radius:24px!important;
    padding:28px!important;
    margin-top:40px!important;
    max-width:1100px;
    animation:deskFadeUp 1.2s 1.2s both;
  }
  
  /* Tab system inside booking widget */
  .booking-widget [role=tablist],
  [class*=booking] [role=tablist]{
    border-bottom:1px solid rgba(255,255,255,.1)!important;
    margin-bottom:20px!important;
    gap:8px!important;
  }
  .booking-widget [role=tab]{
    color:rgba(255,255,255,.55)!important;
    padding:14px 24px!important;
    font-size:.95rem!important;
    transition:all .3s!important;
    position:relative;
  }
  .booking-widget [role=tab][aria-selected=true]{
    color:#fff!important;
    font-weight:600!important;
  }
  .booking-widget [role=tab][aria-selected=true]::after{
    content:'';
    position:absolute;
    bottom:-1px;left:0;right:0;
    height:2px;
    background:linear-gradient(90deg, transparent, #E8A87C, transparent);
  }
  
  /* Search button — premium */
  .booking-widget button[type=submit],
  [class*=booking] button[type=submit]{
    background:linear-gradient(135deg, #E8A87C 0%, #D4926A 50%, #E8A87C 100%)!important;
    background-size:200% 100%!important;
    color:#3d1f08!important;
    font-weight:700!important;
    font-size:1.05rem!important;
    padding:18px 36px!important;
    border-radius:16px!important;
    border:0!important;
    box-shadow:
      0 16px 40px rgba(232,168,124,.45),
      inset 0 1px 0 rgba(255,255,255,.3)!important;
    transition:all .4s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  .booking-widget button[type=submit]:hover,
  [class*=booking] button[type=submit]:hover{
    transform:translateY(-2px);
    box-shadow:
      0 20px 48px rgba(232,168,124,.55),
      inset 0 1px 0 rgba(255,255,255,.4)!important;
    background-position:100% 0!important;
  }
  .booking-widget button[type=submit]:active{transform:translateY(0)}
  
  /* ═══════ NAVBAR — premium feel ═══════ */
  .nav{
    background:rgba(255,255,255,.95)!important;
    backdrop-filter:blur(20px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    box-shadow:0 4px 24px rgba(0,0,0,.06)!important;
  }
  .nav-link{
    position:relative;
    transition:color .25s!important;
  }
  .nav-link::after{
    content:'';
    position:absolute;
    bottom:-4px;left:50%;
    width:0;height:2px;
    background:#E8A87C;
    transition:all .3s;
    transform:translateX(-50%);
  }
  .nav-link:hover::after{width:100%}
  
  .nav-book-btn,[class*=book-btn]{
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    box-shadow:0 8px 20px rgba(232,168,124,.4)!important;
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
  }
  .nav-book-btn:hover,[class*=book-btn]:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(232,168,124,.55)!important;
  }
  
  /* ═══════ CSA SECTION — premium showcase ═══════ */
  .csa-section{
    padding:clamp(80px,10vw,140px) 0!important;
    background:linear-gradient(180deg, #fdf8f2 0%, #faf3e8 100%)!important;
    position:relative;
    overflow:hidden;
  }
  /* Decorative orbs */
  .csa-section::before{
    content:'';
    position:absolute;
    top:-100px;left:-100px;
    width:400px;height:400px;
    background:radial-gradient(circle, rgba(232,168,124,.1), transparent 70%);
    border-radius:50%;
    animation:deskOrbFloat 20s ease-in-out infinite;
    pointer-events:none;
  }
  .csa-section::after{
    content:'';
    position:absolute;
    bottom:-100px;right:-100px;
    width:500px;height:500px;
    background:radial-gradient(circle, rgba(15,51,80,.06), transparent 70%);
    border-radius:50%;
    animation:deskOrbFloat 25s ease-in-out infinite reverse;
    pointer-events:none;
  }
  
  .csa-inner{
    max-width:1400px;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px)!important;
    position:relative;
    z-index:2;
  }
  
  .csa-eyebrow{
    text-align:center!important;
    color:#D4926A!important;
    margin-bottom:14px!important;
    justify-content:center!important;
  }
  .csa-title{
    font-size:clamp(3rem,5vw,4.5rem)!important;
    text-align:center!important;
    line-height:.95!important;
    letter-spacing:-.02em!important;
    margin-bottom:16px!important;
  }
  .csa-tagline{
    font-family:var(--S,'Caveat'),cursive!important;
    font-size:clamp(1.5rem,2vw,2rem)!important;
    color:#D4926A!important;
    text-align:center!important;
    margin-bottom:24px!important;
  }
  .csa-divider{
    width:80px!important;
    margin:0 auto 56px!important;
    background:linear-gradient(90deg,transparent,#E8A87C,transparent)!important;
  }
  
  .csa-grid{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:24px!important;
  }
  
  .csa-card{
    background:#fff!important;
    border-radius:24px!important;
    overflow:hidden!important;
    box-shadow:
      0 4px 16px rgba(15,51,80,.04),
      0 24px 64px rgba(15,51,80,.08)!important;
    transition:all .4s cubic-bezier(.16,1,.3,1)!important;
    text-decoration:none!important;
  }
  .csa-card:hover{
    transform:translateY(-12px);
    box-shadow:
      0 8px 24px rgba(15,51,80,.08),
      0 40px 80px rgba(15,51,80,.18)!important;
  }
  .csa-card:hover .csa-card-imgwrap img{
    transform:scale(1.08);
  }
  .csa-card-imgwrap{
    aspect-ratio:4/3;
    overflow:hidden;
    position:relative;
  }
  .csa-card-imgwrap::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(15,51,80,.25));
    pointer-events:none;
  }
  .csa-card-imgwrap img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.16,1,.3,1)!important;
  }
  .csa-tag{
    position:absolute;top:16px;left:16px;
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
    padding:6px 14px!important;
    border-radius:99px!important;
    font-size:.7rem!important;
    font-weight:700!important;
    letter-spacing:.1em!important;
    z-index:2;
    box-shadow:0 8px 20px rgba(232,168,124,.4);
    animation:deskTagPulse 3s ease-in-out infinite;
  }
  .csa-card-icon{
    position:absolute;
    bottom:-22px;left:20px;
    width:48px!important;height:48px!important;
    background:#fff!important;
    box-shadow:0 12px 28px rgba(15,51,80,.15)!important;
    z-index:3;
  }
  .csa-card-icon svg{width:24px;height:24px}
  .csa-card-body{padding:36px 24px 20px!important}
  .csa-card-name{
    font-size:1.25rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
    letter-spacing:.02em!important;
    margin-bottom:6px!important;
  }
  .csa-card-desc{
    font-size:.92rem!important;
    color:#64748b!important;
    line-height:1.5!important;
    margin-bottom:12px!important;
  }
  .csa-card-price{
    font-size:1.25rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
  }
  .csa-card-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 24px!important;
    background:#fdf4ec!important;
    color:#1b4b6b!important;
    font-weight:600!important;
    font-size:.95rem!important;
    border-top:1px solid rgba(15,51,80,.06);
    transition:all .3s;
  }
  .csa-card:hover .csa-card-cta{
    background:#1b4b6b!important;
    color:#fff!important;
  }
  
  /* Use-case picker (inside csa) */
  .csa-uc-wrap{
    margin-top:80px!important;
    padding-top:60px!important;
    border-top:1px solid rgba(15,51,80,.08)!important;
  }
  .csa-uc-wrap .s-eyebrow{
    text-align:center!important;
    justify-content:center!important;
    color:#D4926A!important;
  }
  .csa-uc-wrap .s-title{
    text-align:center!important;
    font-size:clamp(2.5rem,4vw,3.5rem)!important;
    line-height:1.05!important;
    margin-bottom:14px!important;
  }
  .csa-uc-wrap p[class*=sub]{
    text-align:center!important;
    margin-bottom:36px!important;
  }
  
  .uc-picker{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:16px!important;
    max-width:1080px;
    margin:0 auto 32px;
  }
  .uc-opt{
    background:#fff!important;
    border:2px solid rgba(15,51,80,.08)!important;
    border-radius:18px!important;
    padding:24px 20px!important;
    text-align:left!important;
    cursor:pointer!important;
    transition:all .35s cubic-bezier(.16,1,.3,1)!important;
    font-family:inherit!important;
    position:relative;
    overflow:hidden;
  }
  .uc-opt::before{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.15), transparent);
    transition:left .8s;
  }
  .uc-opt:hover::before{left:100%}
  .uc-opt:hover{
    transform:translateY(-4px);
    border-color:rgba(232,168,124,.4)!important;
    box-shadow:0 16px 40px rgba(15,51,80,.1)!important;
  }
  .uc-opt.active{
    border-color:#E8A87C!important;
    background:linear-gradient(135deg, #fdf4ec, #fff)!important;
    transform:translateY(-4px)!important;
    box-shadow:
      0 20px 48px rgba(232,168,124,.25),
      inset 0 1px 0 rgba(255,255,255,.5)!important;
  }
  .uc-opt-icon{
    font-size:2.2rem!important;
    display:block!important;
    margin-bottom:12px!important;
  }
  .uc-opt-title{
    font-size:1rem!important;
    font-weight:700!important;
    color:#1b4b6b!important;
    margin-bottom:4px!important;
  }
  .uc-opt-models{
    font-size:.8rem!important;
    color:#94a3b8!important;
  }
  .uc-match{
    text-align:center;
    margin:32px auto;
    max-width:600px;
    padding:18px 24px;
    background:rgba(232,168,124,.08);
    border-radius:14px;
    border:1px solid rgba(232,168,124,.15);
  }
  .uc-match-count{
    font-family:var(--S,'Caveat'),cursive;
    font-size:1.6rem;
    color:#1b4b6b;
    font-weight:600;
  }
  .uc-match-sub{
    margin-left:8px;
    font-size:.95rem;
    color:#64748b;
  }
  
  /* ═══════ FEAT BAR ═══════ */
  .feat-bar{
    padding:clamp(48px,5vw,72px) 0!important;
    background:linear-gradient(135deg, #0f3350, #1b4b6b)!important;
    position:relative;
    overflow:hidden;
  }
  .feat-bar::before{
    content:'';position:absolute;inset:0;
    background:
      radial-gradient(circle at 20% 50%, rgba(232,168,124,.1), transparent 50%),
      radial-gradient(circle at 80% 50%, rgba(232,168,124,.06), transparent 50%);
    pointer-events:none;
  }
  .feat-bar-inner{
    max-width:1280px!important;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px)!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:32px!important;
    position:relative;
  }
  .feat-item{
    display:flex!important;
    align-items:center;
    gap:18px!important;
    padding:20px!important;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    transition:all .35s!important;
  }
  .feat-item:hover{
    background:rgba(255,255,255,.08);
    transform:translateY(-2px);
    border-color:rgba(232,168,124,.3);
  }
  .feat-icon{
    width:52px!important;height:52px!important;
    background:rgba(232,168,124,.15)!important;
    border:1px solid rgba(232,168,124,.3)!important;
    border-radius:14px!important;
    flex-shrink:0;
    transition:all .35s!important;
  }
  .feat-item:hover .feat-icon{
    background:rgba(232,168,124,.25)!important;
    transform:scale(1.05) rotate(-3deg);
  }
  .feat-icon svg{width:26px;height:26px;color:#E8A87C}
  .feat-text-title{
    font-size:.85rem!important;
    color:#E8A87C!important;
    letter-spacing:.08em!important;
    margin-bottom:4px!important;
  }
  .feat-text-sub{
    font-size:.85rem!important;
    color:rgba(255,255,255,.7)!important;
    line-height:1.5!important;
  }
  
  /* ═══════ TESTIMONIALS — magazine layout ═══════ */
  .testimonials-section{
    padding:clamp(80px,10vw,140px) 0!important;
    background:#faf7f2!important;
    position:relative;
  }
  .testimonials-section::before{
    content:'';
    position:absolute;
    top:80px;left:-80px;
    width:240px;height:240px;
    background:radial-gradient(circle, rgba(15,51,80,.06), transparent 70%);
    border-radius:50%;
    pointer-events:none;
  }
  .testimonials-section .container{
    max-width:1280px;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px);
  }
  .testimonials-section .s-eyebrow{
    text-align:center!important;
    justify-content:center!important;
    color:#D4926A!important;
    margin-bottom:14px;
  }
  .testimonials-section .s-title{
    text-align:center!important;
    font-size:clamp(2.5rem,5vw,4rem)!important;
    line-height:1!important;
    margin-bottom:60px!important;
  }
  
  /* Testimonial cards in grid */
  .testimonials-section [class*=grid]{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:28px!important;
  }
  .testimonial-card,
  .testimonials-section [class*=card]{
    background:#fff!important;
    border-radius:24px!important;
    padding:36px 32px!important;
    box-shadow:0 12px 40px rgba(15,51,80,.06)!important;
    border:1px solid rgba(15,51,80,.04)!important;
    position:relative;
    overflow:hidden;
    transition:all .4s cubic-bezier(.16,1,.3,1)!important;
  }
  .testimonial-card:hover,
  .testimonials-section [class*=card]:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(15,51,80,.12)!important;
  }
  .testimonial-card::before,
  .testimonials-section [class*=card]::before{
    content:'\201C';
    position:absolute;
    top:-30px;
    right:24px;
    font-family:var(--D,'DM Serif Display'),serif;
    font-size:9rem;
    line-height:1;
    color:rgba(232,168,124,.15);
    pointer-events:none;
  }
  
  /* ═══════ BEST PRICES ═══════ */
  .best-prices{
    padding:clamp(80px,10vw,140px) 0!important;
    background:#fdf8f2!important;
    position:relative;
  }
  .best-prices .container{
    max-width:900px;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px);
  }
  .best-prices .s-eyebrow{
    text-align:center!important;
    justify-content:center!important;
    color:#D4926A!important;
  }
  .best-prices .s-title{
    text-align:center!important;
    font-size:clamp(2.5rem,5vw,4rem)!important;
    line-height:1!important;
    margin:14px 0 48px!important;
  }
  .best-prices-list{
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:14px!important;
    max-width:840px;
    margin:0 auto 48px!important;
  }
  .best-prices-list li{
    background:#fff!important;
    padding:20px 24px!important;
    border-radius:16px!important;
    box-shadow:0 4px 16px rgba(15,51,80,.04)!important;
    border:1px solid rgba(15,51,80,.04)!important;
    font-size:1rem!important;
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  .best-prices-list li::after{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.15), transparent);
    transition:left .8s;
    pointer-events:none;
  }
  .best-prices-list li:hover::after{left:100%}
  .best-prices-list li:hover{
    transform:translateX(4px);
    border-color:#E8A87C!important;
    box-shadow:0 12px 32px rgba(232,168,124,.15)!important;
  }
  .best-prices-list li::before{
    width:28px!important;height:28px!important;
    background:#E8A87C;
    border-radius:50%;
    color:#fff;
    display:flex!important;
    align-items:center;
    justify-content:center;
    font-size:1rem!important;
    flex-shrink:0;
    margin-right:12px;
  }
  .best-prices-list li strong{
    background:#fdf4ec!important;
    color:#D4926A!important;
    padding:6px 14px!important;
    border-radius:10px!important;
    font-size:1.1rem!important;
  }
  .best-prices-cta{
    display:inline-flex!important;
    align-items:center;
    gap:10px;
    background:linear-gradient(135deg, #1b4b6b, #0f3350)!important;
    padding:20px 48px!important;
    border-radius:99px!important;
    font-size:1rem!important;
    box-shadow:
      0 16px 40px rgba(15,51,80,.25),
      inset 0 1px 0 rgba(255,255,255,.1)!important;
    transition:all .35s cubic-bezier(.16,1,.3,1)!important;
    position:relative;
    overflow:hidden;
  }
  .best-prices-cta:hover{
    transform:translateY(-3px);
    box-shadow:
      0 20px 48px rgba(15,51,80,.4),
      inset 0 1px 0 rgba(255,255,255,.15)!important;
  }
  .best-prices-cta::before{
    content:'';
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(232,168,124,.4), transparent);
    transition:left .8s;
  }
  .best-prices-cta:hover::before{left:100%}
  
  /* ═══════ 15 REASONS ═══════ */
  .reasons-15{
    padding:clamp(80px,10vw,140px) 0!important;
    position:relative;
  }
  .reasons-15 .container{
    max-width:1280px;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px);
    position:relative;
    z-index:2;
  }
  .reasons-15 .s-eyebrow{
    text-align:center!important;
    justify-content:center!important;
  }
  .reasons-15 .s-title{
    text-align:center!important;
    font-size:clamp(2.5rem,5vw,4rem)!important;
    line-height:1!important;
    margin-bottom:14px!important;
  }
  .reasons-15-sub{
    text-align:center!important;
    margin-bottom:56px!important;
  }
  .reasons-grid{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:18px!important;
  }
  .reason-item{
    padding:24px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.05)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    transition:all .35s cubic-bezier(.16,1,.3,1)!important;
  }
  .reason-item:hover{
    background:rgba(255,255,255,.1)!important;
    transform:translateY(-3px);
    border-color:rgba(232,168,124,.3)!important;
  }
  .reason-icon{
    width:48px!important;height:48px!important;
    font-size:1.6rem!important;
    transition:transform .35s cubic-bezier(.16,1,.3,1);
  }
  .reason-item:hover .reason-icon{
    transform:scale(1.1) rotate(-5deg);
  }
  .reason-text{font-size:.95rem!important}
  
  /* ═══════ FAQ ═══════ */
  .faq-section{padding:clamp(80px,10vw,140px) 0!important;background:#faf7f2!important}
  .faq-section .container{max-width:900px;margin:0 auto;padding-inline:clamp(40px,5vw,80px)}
  .faq-section .s-title{
    text-align:center!important;
    font-size:clamp(2.5rem,5vw,4rem)!important;
    margin-bottom:48px!important;
  }
  details,.faq-item{
    background:#fff!important;
    border-radius:16px!important;
    padding:20px 28px!important;
    margin-bottom:14px!important;
    border:1px solid rgba(15,51,80,.06)!important;
    transition:all .3s cubic-bezier(.16,1,.3,1)!important;
  }
  details:hover,.faq-item:hover{
    border-color:rgba(232,168,124,.3)!important;
    box-shadow:0 12px 32px rgba(15,51,80,.06)!important;
  }
  details[open],.faq-item[open]{
    box-shadow:0 16px 40px rgba(15,51,80,.08)!important;
    border-color:rgba(232,168,124,.4)!important;
  }
  details summary,.faq-item summary{
    font-size:1.05rem!important;
    font-weight:600!important;
    color:#1b4b6b!important;
    cursor:pointer;
    list-style:none;
    position:relative;
    padding-right:36px;
  }
  details summary::-webkit-details-marker,
  .faq-item summary::-webkit-details-marker{display:none}
  details summary::after,
  .faq-item summary::after{
    content:'';
    position:absolute;
    right:4px;top:50%;
    width:14px;height:14px;
    border-right:2px solid #E8A87C;
    border-bottom:2px solid #E8A87C;
    transform:translateY(-75%) rotate(45deg);
    transition:transform .35s cubic-bezier(.16,1,.3,1);
  }
  details[open] summary::after,
  .faq-item[open] summary::after{
    transform:translateY(-25%) rotate(-135deg);
  }
  
  /* ═══════ SEO BLOCKS ═══════ */
  .seo-block{
    padding:clamp(80px,8vw,120px) 0!important;
    background:#fdf8f2!important;
  }
  .seo-block .container{
    max-width:1100px;
    margin:0 auto;
    padding-inline:clamp(40px,5vw,80px);
  }
  
  /* ═══════ FOOTER — luxe ═══════ */
  .footer{
    background:linear-gradient(180deg, #0f3350, #082235)!important;
    padding:clamp(64px,8vw,100px) 0 32px!important;
    position:relative;
  }
  .footer h4{
    position:relative;
    color:#E8A87C!important;
    letter-spacing:.16em!important;
    padding-bottom:14px!important;
    margin-bottom:18px!important;
  }
  .footer h4::after{
    content:'';
    position:absolute;
    bottom:0;left:0;
    width:32px;
    height:2px;
    background:linear-gradient(90deg, #E8A87C, transparent);
  }
  .footer a{
    transition:color .25s, padding-left .25s;
  }
  .footer a:hover{
    color:#E8A87C!important;
    padding-left:4px;
  }
  
  /* ═══════ Hover sections ═══════ */
  *{-webkit-tap-highlight-color:rgba(232,168,124,.15)}
}

/* ═══════ LARGE SCREENS (1920+) ═══════ */
@media(min-width:1920px){
  .hero-h1{font-size:8rem!important}
  .csa-grid{grid-template-columns:repeat(4,1fr);max-width:1600px;margin:0 auto}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   DESKTOP FIXES — Round 2
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  
  /* Fix 1: Top urgency bar */
  .urgency-bar,[class*=urgency]{
    background:#0f3350!important;
    color:rgba(255,255,255,.9)!important;
    padding:8px 0!important;
    font-size:.78rem!important;
  }
  .urgency-bar a,
  [class*=urgency] a{color:#E8A87C!important}
  
  /* Fix 2: CSA section title — reduce on smaller desktop */
  .csa-section .csa-intro{
    text-align:center!important;
  }
  .csa-section .csa-inner{
    display:block!important;
  }
  /* Default: title above grid (NOT side-by-side which causes wrapping) */
  .csa-section .csa-intro{
    margin-bottom:48px!important;
  }
  .csa-section .csa-title{
    font-size:clamp(2.5rem,4vw,4rem)!important;
    text-align:center!important;
    line-height:.95!important;
    max-width:900px;
    margin:0 auto 16px!important;
  }
  .csa-section .csa-tagline{
    text-align:center!important;
    margin:0 auto 20px!important;
  }
  .csa-section .csa-divider{
    margin:0 auto 0!important;
  }
  
  /* Fix 3: CSA card body padding so circle icon doesn't overlap CTA */
  .csa-card-body{
    padding:36px 24px 16px!important;
    min-height:120px;
  }
  .csa-card-cta{
    margin-top:0!important;
  }
  /* Make sure CTA doesn't hide the circle icon */
  .csa-card-icon{
    bottom:auto!important;
    top:calc(57% - 24px)!important;
    z-index:5!important;
  }
  /* Better: fixed position from image bottom edge */
  .csa-card{
    position:relative;
  }
  .csa-card-imgwrap{
    position:relative;
  }
  /* Adjust card icon to overlap image bottom (not card body bottom) */
  .csa-card-icon{
    position:absolute!important;
    top:auto!important;
    bottom:auto!important;
    /* Compute: image is aspect-ratio 4/3; in 4-col grid card width ~285px, image height ~214px */
    /* So circle should be at image bottom edge */
    margin-top:-24px;
    left:20px;
  }
  /* Better approach: put icon inside imgwrap */
  
  /* Fix 4: FAQ title — prevent triple-wrap */
  .faq-section .s-title,
  .faq-section h2{
    font-size:clamp(2rem,4vw,3.2rem)!important;
    line-height:1.05!important;
    white-space:normal!important;
    max-width:none!important;
  }
  /* If FAQ uses 2-column grid with sidebar, make title column wider */
  .faq-section .container{
    max-width:1200px!important;
  }
  
  /* Fix 5: Hero subtitle was broken — make sure it shows */
  .hero-sub{
    display:block!important;
  }
  
  /* Fix 6: Hero badges grid — 3 equal columns */
  .hero-badges{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(140px,180px))!important;
    gap:14px!important;
    max-width:580px;
  }
  
  /* Fix 7: Make sure the booking widget grid is well-spaced */
  .booking-widget [class*=fields],
  .booking-widget form > div{
    display:grid!important;
    grid-template-columns:1.4fr 1fr 1fr 1.2fr!important;
    gap:14px!important;
    align-items:end;
  }
  
  /* Fix 8: Search button — full width on smaller desktops */
  @media(max-width:1100px){
    .booking-widget form > div{
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .booking-widget button[type=submit]{
      grid-column:1/-1;
    }
  }
}

/* ═══════════════════════════════════════════════════════════════
   DESKTOP FIXES — Round 3 (real issues from user screenshots)
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  
  /* Issue 1: Force "your way" on its own line */
  .hero-h1 em,
  .hero-h1-em{
    display:block!important;
    margin-top:8px!important;
  }
  
  /* Issue 2: Reduce hero height to fit better */
  .hero{
    min-height:auto!important;
  }
  .hero-content{
    padding:80px clamp(40px,5vw,80px) 60px!important;
  }
  
  /* Smaller hero h1 to fit better */
  .hero-h1{
    font-size:clamp(3rem,6vw,5.5rem)!important;
    line-height:.95!important;
  }
  
  /* Compact booking widget */
  .booking-widget,.hero-booking,form[class*=book]{
    margin-top:24px!important;
    padding:20px!important;
  }
  .booking-widget [role=tab]{
    padding:10px 20px!important;
    font-size:.88rem!important;
  }
  
  /* Hide top urgency bar if empty/broken */
  .urgency-banner:not(.show){display:none!important}
  
  /* Make sure hero text is readable over background */
  .hero-content{
    text-shadow:0 2px 12px rgba(0,0,0,.3);
  }
  .hero-h1-main,
  .hero-h1 strong{
    text-shadow:0 4px 32px rgba(0,0,0,.5)!important;
  }
}

/* Smaller laptops (under 1280px) */
@media(min-width:769px) and (max-width:1280px){
  .hero-h1{
    font-size:clamp(2.8rem,5vw,4.5rem)!important;
  }
  .hero-content{
    padding:70px clamp(32px,4vw,60px) 50px!important;
  }
  .csa-grid{
    gap:20px!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   NAV FIX — transparent on top, white when scrolled
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  
  /* Default state: transparent (over hero) */
  .nav{
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
    transition:background .35s, backdrop-filter .35s, box-shadow .35s!important;
  }
  
  /* Top strip — slightly tinted */
  .nav-strip{
    background:rgba(15,51,80,.4)!important;
    backdrop-filter:blur(12px)!important;
  }
  .nav-strip-item,.nav-strip-tel,.nav-strip-email{
    color:rgba(255,255,255,.85)!important;
  }
  .nav-strip-sep{color:rgba(255,255,255,.3)!important}
  
  /* When scrolled — premium white state */
  .nav.scrolled{
    background:rgba(255,255,255,.95)!important;
    backdrop-filter:blur(20px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    box-shadow:0 4px 24px rgba(0,0,0,.06)!important;
  }
  
  /* When scrolled, links should be DARK (navy) */
  .nav.scrolled .nav-link{
    color:#334155!important;
  }
  .nav.scrolled .nav-strip{
    background:rgba(15,51,80,.04)!important;
  }
  .nav.scrolled .nav-strip-item,
  .nav.scrolled .nav-strip-tel,
  .nav.scrolled .nav-strip-email{
    color:#1b4b6b!important;
  }
  .nav.scrolled .nav-logo-text{color:#1b4b6b!important}
  .nav.scrolled .nav-logo-sub{color:rgba(27,75,107,.7)!important}
  
  /* Default (transparent) state — links should be white */
  .nav-link{
    color:rgba(255,255,255,.95)!important;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
  }
  .nav-link:hover{
    color:#E8A87C!important;
  }
  .nav.scrolled .nav-link:hover{
    color:#E8A87C!important;
    text-shadow:none;
  }
  
  /* Logo text white on top, navy when scrolled */
  .nav-logo-text{
    color:#fff!important;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
  }
  .nav-logo-sub{
    color:rgba(255,255,255,.7)!important;
    text-shadow:0 1px 4px rgba(0,0,0,.3);
  }
  
  /* Logo mark — keep visible */
  .nav-logo-mark{
    background:rgba(255,255,255,.15)!important;
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.2);
  }
  .nav.scrolled .nav-logo-mark{
    background:rgba(15,51,80,.08)!important;
    border-color:rgba(15,51,80,.1);
  }
  
  /* Lang switch */
  .lang-switch{
    background:rgba(255,255,255,.1)!important;
    border:1px solid rgba(255,255,255,.2)!important;
    backdrop-filter:blur(8px);
  }
  .lang-switch a{color:rgba(255,255,255,.7)!important}
  .lang-switch a.active{
    background:rgba(255,255,255,.95)!important;
    color:#1b4b6b!important;
  }
  .nav.scrolled .lang-switch{
    background:rgba(15,51,80,.04)!important;
    border-color:rgba(15,51,80,.1)!important;
  }
  .nav.scrolled .lang-switch a{color:#64748b!important}
  .nav.scrolled .lang-switch a.active{
    background:#1b4b6b!important;
    color:#fff!important;
  }
  
  /* Book button stays orange in both states */
  .nav-book-btn,[class*=book-btn]{
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
  }
}

/* HIDE floating circle icons on CSA cards */
.csa-card-icon{display:none!important}

/* TRUST PILL FIX — rounded, elegant, properly sized */
.hero-trust-tag{
  border-radius:99px!important;
  padding:10px 22px!important;
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center;
  gap:10px 18px!important;
  width:auto!important;
  max-width:none!important;
  margin-top:24px!important;
}
@media(min-width:769px){
  .hero-trust-tag{
    background:rgba(15,51,80,.55)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.1)!important;
    padding:12px 24px!important;
    font-size:.82rem!important;
  }
  .hero-trust-tag-item{
    color:rgba(255,255,255,.92)!important;
  }
  .hero-trust-tag-item strong{color:#fff!important}
  .hero-trust-tag-item:nth-child(1) strong{color:#E8A87C!important}
  .hero-trust-sep{color:rgba(255,255,255,.3)!important}
}
@media(max-width:768px){
  .hero-trust-tag{
    padding:10px 18px!important;
    font-size:.76rem!important;
    gap:6px 12px!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HERO 2-COLUMN LAYOUT — content left, photo right (visible)
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:1024px){
  
  /* Hero content stays on the left half */
  .hero-content{
    max-width:780px!important;
    margin-left:0!important;
    margin-right:auto!important;
    padding:90px 40px 40px clamp(40px, 5vw, 80px)!important;
  }
  
  /* H1 sized to fit left column */
  .hero-h1{
    font-size:clamp(3.2rem, 6vw, 5.2rem)!important;
    line-height:.95!important;
  }
  
  /* "EXPLORE ASTYPALAIA" - ensure it wraps to 2 lines naturally */
  .hero-h1-main{
    display:block!important;
    max-width:100%;
  }
  
  /* "your way" wraps below */
  .hero-h1-em,.hero-h1 em{
    display:inline-block!important;
    margin-top:8px;
  }
  
  /* Trust pill: left-aligned, narrower */
  .hero-trust-tag{
    max-width:680px!important;
  }
  
  /* Hero badges: 3 in row, left-aligned */
  .hero-badges{
    max-width:580px!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  
  /* Booking widget: contained on left side, doesn't reach right edge */
  .booking-widget,.hero-booking,form[class*=book]{
    max-width:780px!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  
  /* Add subtle right gradient to fade the photo into hero text area */
  .hero::before{
    background:
      linear-gradient(180deg, 
        rgba(15,51,80,.6) 0%, 
        rgba(15,51,80,.15) 30%, 
        rgba(15,51,80,.1) 50%, 
        rgba(15,51,80,.7) 100%),
      linear-gradient(90deg, rgba(15,51,80,.55) 0%, rgba(15,51,80,.25) 45%, transparent 75%) !important;
  }
  
  /* Make the right side of hero photo cleaner — less dark vignette */
  .hero::after{
    background:
      radial-gradient(ellipse at 70% 50%, transparent 0%, rgba(0,0,0,.15) 100%) !important;
  }
}

/* On really wide screens (1440+), keep content on left third */
@media(min-width:1440px){
  .hero-content{
    max-width:820px!important;
    padding-left:clamp(60px, 6vw, 100px)!important;
  }
}

/* On medium desktops (1024-1280), tighter layout */
@media(min-width:1024px) and (max-width:1280px){
  .hero-h1{font-size:clamp(2.8rem, 5vw, 4.2rem)!important}
  .hero-content{max-width:700px!important}
}

/* BOOKING WIDGET — narrow column fix */
@media(min-width:1024px){
  /* On 2-col hero, booking widget needs adjusted grid */
  .booking-widget form > div,
  [class*=booking] form > div,
  .booking-widget [class*=fields]{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
  }
  /* Search button takes full width on narrow */
  .booking-widget button[type=submit]{
    grid-column:1 / -1!important;
    width:100%!important;
  }
  /* Date inputs wider so they don't crop */
  .booking-widget input[type=date]{
    width:100%!important;
    min-width:0!important;
  }
  /* Pickup location selector */
  .booking-widget select,
  .booking-widget [class*=location]{
    width:100%!important;
    min-width:0!important;
  }
}
@media(min-width:1280px){
  /* On wider desktops, 4-column horizontal layout */
  .booking-widget form > div{
    grid-template-columns:1.3fr 1fr 1fr!important;
  }
}

/* BOOKING WIDGET — narrow 2-col hero fix v2 */
@media(min-width:1024px){
  /* When in narrow column (under 900px), use 2-row layout */
  .book-form{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:0!important;
  }
  /* Search button takes full width on second row */
  .book-submit{
    grid-column:1 / -1!important;
    border-radius:0 0 14px 14px!important;
    margin:0!important;
    padding:18px!important;
    text-align:center!important;
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
    font-weight:700!important;
  }
  /* Make sure inputs/selects don't crop */
  .book-field-value select,
  .book-field-value input{
    min-width:0!important;
    width:100%!important;
  }
  /* Pickup location: span 1 column but readable */
  .book-field[data-icon="loc"]{
    grid-column:1 / -1!important;
  }
  .book-field[data-icon="cal"]:nth-of-type(2),
  .book-field:has(input#bwPickup){
    grid-column:1 / 2!important;
  }
  .book-field:has(input#bwReturn){
    grid-column:2 / -1!important;
  }
}

@media(min-width:1280px){
  /* On wide enough screens, 3 fields + button stays single row */
  .book-form{
    grid-template-columns:1.3fr 1fr 1fr auto!important;
  }
  .book-submit{
    grid-column:auto!important;
    border-radius:0 14px 14px 0!important;
  }
  .book-field[data-icon="loc"]{grid-column:auto!important}
  .book-field:has(input#bwPickup){grid-column:auto!important}
  .book-field:has(input#bwReturn){grid-column:auto!important}
}

/* BOOKING WIDGET v3 — simpler and more reliable */
@media(min-width:1024px) and (max-width:1280px){
  .book-form{
    grid-template-columns:1fr 1fr!important;
  }
  /* First field (location) spans full width */
  .book-form .book-field:nth-child(1){
    grid-column:1 / -1!important;
    border-left:none!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  /* Pickup date (2nd) and Return date (3rd) on row 2 */
  .book-form .book-field:nth-child(2){
    grid-column:1 / 2!important;
    border-left:none!important;
  }
  .book-form .book-field:nth-child(3){
    grid-column:2 / -1!important;
    border-left:1px solid rgba(255,255,255,.08)!important;
  }
  /* Submit on row 3, full width */
  .book-form .book-submit{
    grid-column:1 / -1!important;
    border-radius:0 0 14px 14px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    margin:0!important;
    padding:18px!important;
    text-align:center!important;
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
    font-weight:700!important;
    font-size:1rem!important;
  }
}

/* WIDGET WIDE — let booking widget breathe */
@media(min-width:1024px){
  /* Booking widget can be wider than text content */
  .booking-widget,
  .hero-booking{
    max-width:920px!important;
  }
}

/* On 1440+, even wider */
@media(min-width:1440px){
  .booking-widget,
  .hero-booking{
    max-width:1000px!important;
  }
  /* Use the original 4-column layout but with more spacing */
  .book-form{
    grid-template-columns:1.4fr 1fr 1fr auto!important;
  }
  .book-submit{
    grid-column:auto!important;
    border-radius:0 14px 14px 0!important;
    padding:0 28px!important;
    min-width:160px;
  }
}

/* WIDGET OVERLAP — Airbnb-style bottom-edge widget */
@media(min-width:1024px){
  /* Booking widget centered, full-width container, sitting at hero bottom */
  .booking-widget,
  .hero-booking{
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-top:60px!important;
    margin-bottom:-90px!important;
    position:relative;
    z-index:5;
  }
  
  /* Hero content stays left-aligned */
  .hero-content{
    max-width:780px!important;
    padding-bottom:0!important;
  }
  
  /* But the booking widget is independent, full-width, centered */
  .hero-content > .booking-widget,
  .hero-content > form.book-form{
    max-width:1180px!important;
    width:calc(100vw - 80px)!important;
    margin-left:50%!important;
    transform:translateX(-50%);
  }
  
  /* Increase hero min-height so widget doesn't break the next section */
  .hero{
    padding-bottom:100px;
  }
  
  /* Push next section (csa) down to make room */
  .hero + .csa-section{
    padding-top:140px!important;
  }
  
  /* On wide screen, book-form goes back to 4-col */
  .book-form{
    grid-template-columns:1.4fr 1fr 1fr auto!important;
  }
  .book-submit{
    grid-column:auto!important;
    border-radius:0 14px 14px 0!important;
    padding:0 28px!important;
    min-width:170px;
    background:linear-gradient(135deg, #E8A87C, #D4926A)!important;
    color:#3d1f08!important;
    font-weight:700!important;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}

/* ═══════════════════════════════════════════════════════════════
   DEFINITIVE HERO LAYOUT FIX
   - Hero: full-bleed photo, content on left side
   - Booking widget: stays inside hero but NARROW (left column only)
   - Photo (castle + car) is visible on RIGHT half
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:1024px){
  
  /* Hero content stays in left half */
  .hero-content{
    max-width:780px!important;
    margin-left:0!important;
    margin-right:auto!important;
    padding:90px clamp(40px, 5vw, 80px) 60px clamp(40px, 5vw, 80px) !important;
  }
  
  /* Booking widget: stays inside hero left column */
  .hero-content .booking-widget,
  .hero-content .hero-booking,
  .hero-content form.book-form{
    max-width:720px!important;
    margin-top:32px!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  
  /* Force booking widget to use 2-row layout (cleaner in narrow space) */
  .book-form{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
  }
  
  /* Pickup location: full width on row 1 */
  .book-form .book-field:nth-child(1){
    grid-column:1 / -1 !important;
    border-left:none !important;
  }
  /* Pickup date: row 2, left half */
  .book-form .book-field:nth-child(2){
    grid-column:1 !important;
    border-left:none !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }
  /* Return date: row 2, right half */
  .book-form .book-field:nth-child(3){
    grid-column:2 !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-left:1px solid rgba(255,255,255,.08) !important;
  }
  /* Search button: full width on row 3 */
  .book-form .book-submit{
    grid-column:1 / -1 !important;
    border-radius:0 0 14px 14px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    margin:0 !important;
    padding:18px !important;
    text-align:center !important;
    background:linear-gradient(135deg, #E8A87C, #D4926A) !important;
    color:#3d1f08 !important;
    font-weight:700 !important;
    font-size:1rem !important;
    letter-spacing:.02em !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
    min-height:auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   COMPACT DESKTOP — less scrolling, same content
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  
  /* === Reduce section paddings 30-40% === */
  .csa-section{padding:clamp(48px,5vw,80px) 0!important}
  .csa-uc-wrap{margin-top:48px!important;padding-top:40px!important}
  .feat-bar{padding:clamp(32px,3vw,48px) 0!important}
  .testimonials-section{padding:clamp(56px,6vw,90px) 0!important}
  .best-prices{padding:clamp(56px,6vw,90px) 0!important}
  .reasons-15{padding:clamp(56px,6vw,90px) 0!important}
  .guardian-banner{padding:clamp(40px,4vw,60px) 0!important}
  .lifestyle{padding:clamp(56px,6vw,90px) 0!important}
  .vdrive-section{padding:clamp(48px,5vw,80px) 0!important}
  .how-section{padding:clamp(56px,5vw,80px) 0!important}
  .about-section{padding:clamp(48px,5vw,80px) 0!important}
  .map-section{padding:clamp(48px,5vw,80px) 0!important}
  .faq-section{padding:clamp(56px,5vw,80px) 0!important}
  .seo-block{padding:clamp(48px,5vw,80px) 0!important}
  
  /* === Tighter heading line-heights & sizes === */
  .csa-title,
  .testimonials-section .s-title,
  .best-prices .s-title,
  .reasons-15 .s-title,
  .faq-section .s-title,
  .how-section h2,
  .lifestyle h2,
  .vdrive-section h2,
  .about-section h2,
  .map-section h2,
  .seo-block h2{
    font-size:clamp(2.2rem,3.6vw,3.4rem)!important;
    line-height:1.05!important;
    margin-bottom:24px!important;
  }
  
  /* === Section subtitles tighter === */
  .reasons-15-sub,
  .testimonials-section .s-sub,
  .best-prices .s-sub,
  section p[class*=sub]{
    margin-bottom:36px!important;
    font-size:.95rem!important;
  }
  
  /* === Tighter grids === */
  .csa-grid{gap:18px!important}
  .reasons-grid{gap:14px!important}
  .testimonials-section [class*=grid]{gap:20px!important}
  .best-prices-list{gap:10px!important;margin-bottom:32px!important}
  
  /* === Reason items more compact === */
  .reason-item{padding:18px!important}
  .reason-icon{width:42px!important;height:42px!important;font-size:1.4rem!important}
  .reason-text{font-size:.9rem!important;line-height:1.45!important}
  
  /* === Testimonial cards more compact === */
  .testimonial-card,
  .testimonials-section [class*=card]{
    padding:28px 26px!important;
  }
  
  /* === Best prices list items === */
  .best-prices-list li{padding:14px 20px!important}
  
  /* === FAQ items tighter === */
  details,.faq-item{
    padding:16px 24px!important;
    margin-bottom:10px!important;
  }
  details summary,.faq-item summary{font-size:1rem!important}
  
  /* === SEO blocks: tighter prose, narrower max-width for readability === */
  .seo-block .container{
    max-width:880px!important;
  }
  .seo-block h2{
    font-size:clamp(1.8rem,3vw,2.6rem)!important;
    margin-bottom:20px!important;
  }
  .seo-block p{
    font-size:.95rem!important;
    line-height:1.65!important;
    margin-bottom:14px!important;
  }
  .seo-block h3{
    font-size:1.1rem!important;
    margin-top:24px!important;
    margin-bottom:10px!important;
  }
  .seo-block ul,.seo-block ol{
    margin:14px 0!important;
  }
  .seo-block li{
    margin-bottom:6px!important;
    font-size:.92rem!important;
  }
  
  /* === Map section: capped height === */
  .map-section [class*=map],
  .map-section iframe{
    max-height:380px!important;
  }
  
  /* === VDrive: tighter padding around iframe === */
  .vdrive-section iframe{
    aspect-ratio:16/9!important;
    max-height:420px!important;
  }
  
  /* === About section: 2-col tighter === */
  .about-section{
    /* don't use big padding around the 2-col grid */
  }
  .about-section [class*=grid],
  .about-section .container > div{
    gap:36px!important;
  }
  
  /* === Lifestyle section: 2x2 grid tighter === */
  .lifestyle [class*=grid]{
    gap:18px!important;
  }
  .lifestyle [class*=card]{
    aspect-ratio:16/10!important;
  }
  
  /* === How section: smaller numbers === */
  .how-section [class*=step] [class*=num],
  .how-section .step-num{
    font-size:7rem!important;
  }
  
  /* === Footer: tighter top padding === */
  .footer{padding:clamp(48px,5vw,72px) 0 24px!important}
  
  /* === Reduce overall section margin gaps === */
  section{margin:0!important}
  
  /* === Decorative orbs less obtrusive on smaller heights === */
  .csa-section::before,.csa-section::after,
  .testimonials-section::before{
    transform:scale(.7);
  }
  
  /* === Tighter eyebrows === */
  .s-eyebrow,[class*=eyebrow]:not(.csa-eyebrow):not(.hero-h1-eyebrow){
    margin-bottom:10px!important;
    font-size:.7rem!important;
  }
  
  /* === Best prices CTA: tighter padding === */
  .best-prices-cta{
    padding:16px 40px!important;
  }
}

/* === Even tighter on shorter desktops (laptop screens) === */
@media(min-width:769px) and (max-height:900px){
  .csa-section,
  .testimonials-section,
  .best-prices,
  .reasons-15,
  .lifestyle,
  .vdrive-section,
  .how-section,
  .about-section,
  .map-section,
  .faq-section,
  .seo-block{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   COMPACT MOBILE — Chaniotis-style short version
   Hide secondary sections on mobile only (desktop keeps all)
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  
  /* ── HIDE non-essential sections on mobile ── */
  .lifestyle{display:none!important}
  .vdrive-section{display:none!important}
  .map-section{display:none!important}
  .seo-block{display:none!important}
  
  /* ── Hide use-case picker on mobile (duplicate of vehicle cards) ── */
  .csa-uc-wrap{display:none!important}
  
  /* ── REDUCE section padding overall ── */
  section{padding-top:44px!important;padding-bottom:44px!important}
  
  /* ── HERO compact ── */
  .hero-content{padding:80px 20px 28px!important}
  .hero-h1{font-size:clamp(2.4rem,8.5vw,3.4rem)!important;line-height:.92!important}
  .hero-sub{font-size:.92rem!important;margin-top:14px!important}
  .hero-trust-tag{font-size:.72rem!important;padding:8px 14px!important;margin-top:16px!important}
  .hero-badges{margin-top:18px!important;gap:6px!important}
  .hero-badge{padding:10px 6px!important}
  .hero-badge-text{font-size:.55rem!important}
  
  /* ── CSA SECTION compact ── */
  .csa-section{padding:36px 0!important}
  .csa-eyebrow{font-size:.65rem!important;margin-bottom:6px!important}
  .csa-title{font-size:clamp(1.9rem,6.5vw,2.5rem)!important;margin-bottom:8px!important}
  .csa-tagline{font-size:1.2rem!important;margin-bottom:14px!important}
  .csa-divider{margin:0 auto 22px!important}
  .csa-grid{gap:12px!important}
  .csa-card-imgwrap{aspect-ratio:16/9!important}
  .csa-card-body{padding:18px 16px 12px!important}
  .csa-card-name{font-size:1.05rem!important;margin-bottom:2px!important}
  .csa-card-desc{font-size:.78rem!important;margin-bottom:6px!important}
  .csa-card-price{font-size:1rem!important}
  .csa-card-cta{padding:12px 16px!important;font-size:.82rem!important}
  
  /* ── FEAT BAR tighter ── */
  .feat-bar{padding:28px 16px!important}
  .feat-bar-inner{gap:8px!important}
  .feat-item{padding:10px 12px!important;gap:10px!important}
  .feat-icon{width:36px!important;height:36px!important}
  .feat-text-title{font-size:.7rem!important}
  .feat-text-sub{font-size:.72rem!important;line-height:1.3!important}
  
  /* ── TESTIMONIALS — keep but reduce padding ── */
  .testimonials-section{padding:40px 16px!important}
  .testimonials-section .s-title{font-size:clamp(1.7rem,5.5vw,2.2rem)!important;margin-bottom:24px!important}
  .testimonial-card,.testimonials-section [class*=card]{
    padding:20px 18px!important;
    margin-top:14px!important;
  }
  
  /* ── BEST PRICES tighter ── */
  .best-prices{padding:40px 16px!important}
  .best-prices .s-title{font-size:clamp(1.7rem,5.5vw,2.2rem)!important;margin-bottom:18px!important}
  .best-prices-list{gap:6px!important;margin-top:18px!important}
  .best-prices-list li{padding:12px 14px!important;font-size:.85rem!important}
  .best-prices-cta{padding:14px!important;margin-top:18px!important}
  
  /* ── 15 REASONS — convert to compact 2-col list (Chaniotis style) ── */
  .reasons-15{padding:44px 16px!important}
  .reasons-15 .s-title{font-size:clamp(1.7rem,5.5vw,2.2rem)!important;margin-bottom:8px!important}
  .reasons-15-sub{font-size:.7rem!important;margin-bottom:24px!important}
  
  .reasons-grid{
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-top:20px!important;
  }
  .reason-item{
    padding:10px 12px!important;
    background:rgba(255,255,255,.05)!important;
    border-radius:10px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .reason-icon{
    width:28px!important;
    height:28px!important;
    font-size:.95rem!important;
    flex-shrink:0;
  }
  .reason-text{
    font-size:.82rem!important;
    line-height:1.3!important;
  }
  
  /* ── GUARDIAN BANNER tighter ── */
  .guardian-banner{padding:28px 18px!important}
  
  /* ── HOW SECTION tighter ── */
  .how-section{padding:44px 16px!important}
  .how-section .s-title,.how-section h2{
    font-size:clamp(1.7rem,5.5vw,2.2rem)!important;
    margin-bottom:24px!important;
  }
  
  /* ── ABOUT SECTION tighter ── */
  .about-section{padding:40px 16px!important}
  .about-section h2{font-size:clamp(1.7rem,5.5vw,2.2rem)!important;line-height:1.1!important}
  
  /* ── FAQ tighter ── */
  .faq-section{padding:44px 16px!important}
  .faq-section .s-title{font-size:clamp(1.7rem,5.5vw,2.2rem)!important;margin-bottom:24px!important}
  details,.faq-item{padding:12px 16px!important;margin-bottom:8px!important}
  details summary,.faq-item summary{font-size:.92rem!important}
}

/* ═══════════════════════════════════════════════════════════════
   HORIZONTAL CAROUSELS — swipe instead of scroll on mobile
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  
  /* ── TESTIMONIALS: horizontal swipe carousel ── */
  .testimonials-section [class*=grid],
  .testimonials-section .testimonial-grid,
  .testimonials-section > div > div:has(.testimonial-card),
  .testimonials-grid{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    gap:14px!important;
    padding:4px 18px 20px!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
    grid-template-columns:none!important;
  }
  .testimonials-section [class*=grid]::-webkit-scrollbar,
  .testimonials-grid::-webkit-scrollbar{display:none}
  
  .testimonial-card,
  .testimonials-section [class*=card]{
    flex:0 0 88%!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
    margin-top:0!important;
  }
  
  /* Swipe hint — small dots indicator */
  .testimonials-section{position:relative}
  .testimonials-section::after{
    content:"← swipe →";
    display:block;
    text-align:center;
    font-size:.7rem;
    color:rgba(15,51,80,.4);
    letter-spacing:.15em;
    margin-top:8px;
    text-transform:uppercase;
    font-weight:600;
  }
  
  /* ── 15 REASONS: horizontal swipe carousel (2 visible) ── */
  .reasons-grid{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    gap:10px!important;
    padding:4px 16px 16px!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    grid-template-columns:none!important;
  }
  .reasons-grid::-webkit-scrollbar{display:none}
  
  .reason-item{
    flex:0 0 calc(50% - 5px)!important;
    scroll-snap-align:start!important;
    min-height:64px;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left;
    padding:14px!important;
  }
  .reasons-15::after{
    content:"← swipe to see all 15 →";
    display:block;
    text-align:center;
    font-size:.7rem;
    color:rgba(255,255,255,.5);
    letter-spacing:.15em;
    margin-top:14px;
    text-transform:uppercase;
    font-weight:600;
  }
  
  /* ── CSA VEHICLE CARDS: also swipeable ── */
  .csa-grid{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    gap:14px!important;
    padding:4px 18px 20px!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
    grid-template-columns:none!important;
  }
  .csa-grid::-webkit-scrollbar{display:none}
  
  .csa-card{
    flex:0 0 86%!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
  }
  
  /* ── BEST PRICES list: also horizontal scroll for variety ── */
  /* Keep vertical for prices (more readable as list) */
  
  /* ── Carousel scroll indicators (dots optional) ── */
  /* Visual hint that things can be swiped */
  .csa-section .csa-inner{position:relative}
  .csa-grid{position:relative}
}

/* ═══════════════════════════════════════════════════════════════
   DESKTOP CLEANUP — hide lifestyle (true duplicate of csa cards)
   ═══════════════════════════════════════════════════════════════ */
@media(min-width:769px){
  /* lifestyle section repeats car/jeep/scooter/atv that csa-section already shows */
  .lifestyle{display:none!important}
}

/* ══ CTA ALIGNMENT FIX ══ Make all "View" buttons align at bottom regardless of title length */
@media(min-width:769px){
  .csa-card{display:flex!important;flex-direction:column!important}
  .csa-card-body{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;min-height:0!important;padding:36px 24px 20px!important}
  .csa-card-name{min-height:2.4em!important;display:flex!important;align-items:flex-start!important}
  .csa-card-price{margin-top:auto!important}
  .csa-card-cta{margin-top:0!important;flex-shrink:0!important}
}

/* ══ HERO LAYOUT A INLINE — wins over inline CSS ══ */
@media(min-width:1024px){
  .hero{min-height:680px!important;padding-bottom:0!important;margin-bottom:0!important}
  .hero::before{
    background:
      linear-gradient(180deg,rgba(15,51,80,.55) 0%,rgba(15,51,80,.1) 25%,rgba(15,51,80,.05) 60%,rgba(15,51,80,.6) 100%),
      linear-gradient(90deg,rgba(15,51,80,.7) 0%,rgba(15,51,80,.45) 35%,rgba(15,51,80,.15) 55%,transparent 70%) !important;
  }
  .hero::after{background:radial-gradient(ellipse at 80% 50%,transparent 0%,rgba(0,0,0,.12) 100%) !important}
  .hero-content{max-width:680px!important;margin-left:0!important;margin-right:auto!important;padding:80px clamp(40px,5vw,60px) 50px!important}
  .hero-h1{font-size:clamp(2.4rem,4vw,4rem)!important;max-width:100%!important;line-height:.95!important}
  .hero-h1-em,.hero-h1 em{font-size:.88em!important;margin-top:6px!important}
  .hero-trust-tag{max-width:600px!important;font-size:.74rem!important;padding:9px 16px!important;margin-top:18px!important;gap:5px 12px!important}
  .hero-badges{max-width:600px!important;margin-top:20px!important;gap:8px!important;grid-template-columns:repeat(3,1fr)!important}
  .hero-badge{padding:10px 8px!important}
  .hero-badge-icon{width:34px!important;height:34px!important}
  .hero-badge-icon svg{width:17px;height:17px}
  .hero-badge-text{font-size:.66rem!important;letter-spacing:.04em!important;line-height:1.2!important}
  .hero-content .booking-widget,
  .hero-content .hero-booking,
  .hero-content form.book-form,
  .booking-widget,.hero-booking,form[class*=book]{
    max-width:600px!important;width:100%!important;margin-top:22px!important;
    margin-left:0!important;margin-right:auto!important;margin-bottom:0!important;
    transform:none!important;padding:0!important;border-radius:14px!important;
  }
  .hero-content>.booking-widget,.hero-content>form.book-form{max-width:600px!important;margin-left:0!important;transform:none!important}
  .book-form{grid-template-columns:1.2fr 1fr 1fr!important;gap:0!important}
  .book-form .book-field{padding:11px 13px!important}
  .book-form .book-field:nth-child(1){grid-column:1!important;border-left:none!important;border-bottom:none!important}
  .book-form .book-field:nth-child(2){grid-column:2!important;border-left:1px solid rgba(255,255,255,.08)!important;border-top:none!important}
  .book-form .book-field:nth-child(3){grid-column:3!important;border-left:1px solid rgba(255,255,255,.08)!important;border-top:none!important}
  .book-form .book-submit{
    grid-column:1 / -1!important;border-radius:0 0 14px 14px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;border-left:none!important;
    margin:0!important;padding:14px!important;min-height:auto!important;font-size:.95rem!important;
  }
  .book-tabs{padding:0 12px!important}
  .book-tab{padding:12px 14px 10px!important;font-size:.74rem!important}
  .book-field-label{font-size:.55rem!important;margin-bottom:4px!important;letter-spacing:.1em!important}
  .book-field-value{font-size:.82rem!important;gap:6px!important}
  .book-field-value::before{font-size:.85em!important}
  .book-field-value select,.book-field-value input{font-size:.82rem!important}
  .hero+.csa-section{padding-top:clamp(48px,5vw,80px)!important}
}
@media(min-width:1280px){
  .hero{min-height:700px!important}
  .hero-content{max-width:700px!important;padding:90px clamp(40px,5vw,80px) 60px!important}
  .hero-trust-tag,.hero-badges{max-width:620px!important}
  .hero-content .booking-widget,
  .hero-content form.book-form,
  .booking-widget,.hero-booking,form[class*=book]{max-width:620px!important}
}

/* ══════════════════════════════════════════
   HERO V3 — text anchored to bottom, full-bleed photo/video
══════════════════════════════════════════ */
.hero{
  position:relative !important;
  min-height:88svh !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  overflow:hidden !important;
  padding:0 !important;
}
.hero-video-wrap{
  position:absolute !important;inset:0 !important;
  z-index:0 !important;overflow:hidden !important;
}
.hero-photo{position:absolute !important;inset:0 !important;display:block !important}
.hero-photo>img,.hero-video-el{
  width:100% !important;height:100% !important;
  object-fit:cover !important;object-position:center 35% !important;
  display:block !important;
}
/* Stronger gradient at bottom — text now lives there */
.hero-overlay{
  position:absolute !important;inset:0 !important;z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,
      rgba(15,51,80,.35) 0%,
      rgba(15,51,80,.05) 25%,
      rgba(15,51,80,.05) 45%,
      rgba(15,51,80,.55) 70%,
      rgba(15,51,80,.92) 100%) !important;
}
.hero-warmth{display:none !important}

/* Hero content — at the bottom */
.hero-content{
  position:relative !important;z-index:4 !important;
  padding:0 clamp(20px,5vw,80px) clamp(40px,5vw,60px) !important;
  max-width:1280px !important;width:100% !important;
  margin:0 auto !important;
  display:block !important;
}
/* Hide the old badges and the in-hero booking widget */
.hero-content .hero-badges{display:none !important}
.hero-content .book-widget{display:none !important}
/* Keep but restyle the hero-h1, eyebrow and trust line */
.hero-cats{display:block !important;width:auto !important;margin:0 !important;text-align:left !important;position:static !important;min-height:0 !important}
.hero-cat-slide{position:static !important;display:none !important;opacity:1 !important;transform:none !important;pointer-events:auto !important}
.hero-cat-slide.hero-cat-active{display:block !important}
.hero-h1{
  font-family:var(--D) !important;
  font-size:clamp(3rem,7.5vw,6rem) !important;
  font-weight:400 !important;line-height:.9 !important;letter-spacing:-.01em !important;
  color:#fff !important;
  text-shadow:0 4px 32px rgba(0,0,0,.45) !important;
  max-width:900px !important;
  margin:0 !important;
  display:block !important;text-align:left !important;
}
.hero-h1-eyebrow{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  font-family:var(--B) !important;
  font-size:.72rem !important;font-weight:500 !important;
  letter-spacing:.24em !important;text-transform:uppercase !important;
  color:var(--gold3) !important;margin-bottom:18px !important;
  padding:0 !important;background:none !important;border:none !important;
}
.hero-h1-eyebrow::before{
  content:'' !important;width:32px !important;height:1px !important;
  background:var(--gold3) !important;opacity:.6 !important;
  display:inline-block !important;
}
.hero-h1-main{
  display:block !important;
  font-family:var(--D) !important;font-weight:400 !important;
  letter-spacing:-.01em !important;line-height:.9 !important;
  color:#fff !important;
  text-shadow:0 4px 32px rgba(0,0,0,.45) !important;
}
.hero-h1 em,.hero-h1-em{
  display:block !important;
  font-family:var(--C,'Caveat'),cursive !important;
  font-style:normal !important;font-weight:600 !important;
  font-size:.85em !important;
  color:var(--gold3) !important;
  letter-spacing:0 !important;line-height:1 !important;
  margin-top:.18em !important;
  text-shadow:0 2px 18px rgba(232,168,124,.4),0 4px 30px rgba(0,0,0,.3) !important;
  animation:none !important;
}
.hero-trust-tag{
  display:inline-flex !important;align-items:center !important;flex-wrap:wrap !important;
  gap:14px !important;
  font-family:var(--B) !important;font-size:.84rem !important;
  color:rgba(255,255,255,.85) !important;
  margin-top:24px !important;padding:0 !important;
  background:none !important;border:none !important;backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  max-width:none !important;
  border-radius:0 !important;
}
.hero-trust-tag-item{display:inline-flex !important;align-items:center !important;gap:6px !important;color:rgba(255,255,255,.85) !important}
.hero-trust-tag-item strong{color:#fff !important;font-weight:600 !important}
.hero-trust-sep{color:rgba(255,255,255,.4) !important;font-size:.7rem !important}

/* ══════════════════════════════════════════
   BOOKING STRIP V4 — clean card, no label, icon-in-label
══════════════════════════════════════════ */
.quick-bar{
  position:relative;z-index:10;
  background:linear-gradient(180deg,#fff 0%,#fdf8f2 100%);
  border-top:3px solid var(--gold);
  box-shadow:0 -8px 30px rgba(15,51,80,.08), 0 12px 40px rgba(15,51,80,.06);
  padding:24px clamp(20px,5vw,56px);
}
.quick-bar-form{
  max-width:1280px;margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr auto;
  gap:0;align-items:stretch;
  border:1px solid rgba(27,75,107,.1);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(15,51,80,.06);
}
.bs-field{
  display:flex;flex-direction:column;justify-content:center;
  padding:16px 22px;
  border-right:1px solid rgba(27,75,107,.08);
  min-width:0;
  transition:background .2s;
}
.bs-field:hover{background:rgba(232,168,124,.04)}
.bs-field.bs-field-last{border-right:1px solid rgba(27,75,107,.08)}
.bs-field-label{
  font-family:var(--B);
  font-size:.62rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:6px;
  display:flex;align-items:center;gap:6px;
}
.bs-field-label::before{font-size:.85em;color:var(--gold2);flex-shrink:0}
.bs-field[data-icon="loc"] .bs-field-label::before{content:'📍'}
.bs-field[data-icon="cal"] .bs-field-label::before{content:'📅'}
.bs-field[data-icon="veh"] .bs-field-label::before{content:'🚗'}
.bs-field-value{
  display:flex;align-items:center;
  color:var(--ink);font-family:var(--B);
  font-size:.95rem;font-weight:500;min-width:0;
}
/* Override v3 — no icon in value anymore */
.bs-field-value::before{content:none !important;display:none !important}
.bs-field-value select,.bs-field-value input{
  background:transparent;border:none;outline:none;
  color:var(--ink);font-family:var(--B);
  font-size:.95rem;font-weight:500;width:100%;cursor:pointer;
  -webkit-appearance:none;appearance:none;padding:0;
  text-overflow:ellipsis;
}
.bs-field-value select{
  padding-right:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%237a8a9a' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;
}
.bs-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 36px;margin:0;
  background:linear-gradient(135deg,var(--gold3),var(--gold));
  color:var(--navy2);
  font-family:var(--B);font-size:.92rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;
  border:none;border-radius:0;
  cursor:pointer;text-decoration:none;
  white-space:nowrap;box-shadow:none;
  transition:all .25s;
}
.bs-cta:hover{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  transform:translateX(2px);
  box-shadow:none;
}
.quick-bar-trust{
  max-width:1280px;margin:14px auto 0;
  font-size:.78rem;color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  gap:18px;flex-wrap:wrap;
  padding-left:0;
}
.quick-bar-trust-item{display:inline-flex;align-items:center;gap:6px}
.quick-bar-trust-item::before{content:'✓';color:var(--gold2);font-weight:700}

/* Mobile: 2x2 grid + full-width CTA */
@media(max-width:880px){
  .quick-bar-form{grid-template-columns:1fr 1fr;gap:0}
  .bs-field{
    border-right:1px solid rgba(27,75,107,.08);
    border-bottom:1px solid rgba(27,75,107,.08);
    padding:12px 16px;
  }
  .bs-field:nth-child(2n){border-right:none}
  .bs-field.bs-field-last{border-right:none}
  .bs-cta{
    grid-column:1 / -1;padding:16px;margin:0;
  }
  .quick-bar-trust{justify-content:center;gap:14px;font-size:.72rem}
}
@media(max-width:768px){
  .quick-bar{padding:18px}
}

@media(max-width:768px){
  .hero{min-height:75svh !important}
  .hero-content{padding:0 20px 36px !important}
  .hero-h1{font-size:clamp(2.4rem,10vw,3.6rem) !important}
  .hero-h1-eyebrow{font-size:.65rem !important;margin-bottom:14px !important}
  .hero-trust-tag{font-size:.76rem !important;gap:8px !important;margin-top:18px !important}
  .hero-trust-sep:nth-of-type(2){display:none !important}
  .quick-bar{padding:18px}
}

/* ══ HERO H1 EM FIX — force "your way" / "με τον τρόπο σου" / "a modo tuo" on its own line ══ */
.hero-h1 em,
.hero-h1-em{display:block!important;margin-top:.1em!important}
.hero-h1-main{display:block!important}

/* ══ NAV CONSISTENCY FIX — keep links on a single line in all languages ══ */
.nav-link,.nav-fleet-btn{white-space:nowrap !important}
.nav-strip-item,.nav-strip-tel,.nav-strip-email{white-space:nowrap !important}
.nav-logo-text,.nav-logo-sub{white-space:nowrap !important}
.nav-book-btn{white-space:nowrap !important}
.lang-trigger{white-space:nowrap !important}

/* ══════════════════════════════════════════
   TRUST REFERENCES — partner hotels section
══════════════════════════════════════════ */
.trust-section{
  background:linear-gradient(180deg, var(--cream) 0%, #fff 100%);
  padding:clamp(56px,7vw,90px) 0;
  position:relative;
}
.trust-section::before{
  content:'';
  position:absolute;left:50%;top:0;
  width:80px;height:1px;
  background:var(--gold);
  transform:translateX(-50%);
}
.trust-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,40px);
  text-align:center;
}
.trust-eyebrow{
  font-family:var(--B);
  font-size:.72rem;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold2);
  margin-bottom:14px;
  display:inline-flex;align-items:center;gap:10px;
}
.trust-eyebrow::before,.trust-eyebrow::after{
  content:'';width:24px;height:1px;background:var(--gold2);opacity:.5;
}
.trust-title{
  font-family:var(--D);
  font-size:clamp(1.6rem,3.5vw,2.6rem);
  font-weight:400;line-height:1.05;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:14px;
}
.trust-title em{
  font-family:var(--C);font-style:normal;font-weight:600;
  color:var(--gold2);font-size:1.05em;
}
.trust-sub{
  font-family:var(--B);
  font-size:.92rem;color:var(--muted);
  max-width:640px;margin:0 auto 36px;line-height:1.65;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
  max-width:880px;margin:0 auto;
}
.trust-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;
  padding:26px 22px;
  background:#fff;
  border:1px solid rgba(27,75,107,.08);
  border-radius:16px;
  text-decoration:none;color:var(--ink);
  transition:all .25s;
  min-height:140px;
}
.trust-card:hover{
  transform:translateY(-2px);
  border-color:var(--gold);
  box-shadow:0 12px 28px rgba(15,51,80,.08);
}
.trust-card-icon{
  font-size:1.8rem;line-height:1;
}
.trust-card-name{
  font-family:var(--D);
  font-size:.95rem;letter-spacing:.06em;
  color:var(--navy2);
  text-align:center;line-height:1.2;
}
.trust-card-cta{
  font-family:var(--B);
  font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold2);
  display:inline-flex;align-items:center;gap:4px;
  margin-top:2px;
}
.trust-card:hover .trust-card-cta{color:var(--navy)}
.trust-more{
  margin-top:26px;
  font-size:.78rem;color:var(--muted);
  font-style:italic;
}
@media(max-width:600px){
  .trust-grid{grid-template-columns:1fr;gap:12px;max-width:340px}
  .trust-card{min-height:auto;padding:22px}
}

/* ══════════════════════════════════════════
   INLINE KEYWORD LINKS — internal SEO hardening
══════════════════════════════════════════ */
.kw-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(232,168,124,.35);
  transition:border-color .2s, color .2s;
}
.kw-link:hover{
  color:var(--gold2);
  border-bottom-color:var(--gold);
}
.faq-a .kw-link,
.ls-card-desc .kw-link{
  font-weight:500;
}

/* ══ HOW-IT-WORKS MOBILE CAROUSEL ══ Horizontal swipe with peek + dots */
@media(max-width:767px){
  .how-grid,[class*=how-grid]{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-behavior:smooth !important;
    scrollbar-width:none !important;
    padding:0 18px 8px !important;
    margin-left:-18px !important;
    margin-right:-18px !important;
    margin-top:24px !important;
    background:transparent !important;
  }
  .how-grid::-webkit-scrollbar{display:none !important}
  .how-step{
    flex:0 0 85% !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
    border-radius:18px !important;
    padding:28px 22px !important;
    background:rgba(255,255,255,.04) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    min-height:200px !important;
  }
  .how-dots{
    display:flex !important;
    justify-content:center;
    gap:8px;
    margin-top:18px;
  }
  .how-dot{
    width:7px;height:7px;border-radius:50%;
    background:rgba(255,255,255,.2);
    transition:all .25s;
    cursor:pointer;border:none;padding:0;
  }
  .how-dot.is-active{
    background:var(--gold);
    width:22px;border-radius:4px;
  }
}
@media(min-width:768px){
  .how-dots{display:none !important}
}

/* Date input placeholder style */
input[type="date"][data-empty]::-webkit-datetime-edit{color:transparent}
input[type="date"][data-empty]:focus::-webkit-datetime-edit{color:#fff}

/* ══════════════════════════════════════════
   STICKY BOOKING BAR — appears after hero
══════════════════════════════════════════ */
.topbar-book{
  position:fixed;top:0;left:0;right:0;z-index:880;
  background:rgba(253,248,242,.97);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(27,75,107,.12);
  box-shadow:0 6px 22px -10px rgba(15,51,80,.18);
  transform:translateY(-100%);
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  padding:10px clamp(12px,3vw,24px);
  visibility:hidden;
}
.topbar-book.is-visible{transform:translateY(0);visibility:visible}
.topbar-book-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:10px}
.topbar-book-brand{font-family:var(--D);font-size:1rem;letter-spacing:.04em;color:var(--navy);white-space:nowrap;display:none;background:none;border:none;padding:0;cursor:pointer;transition:color .2s}
.topbar-book-brand:hover{color:var(--gold2)}
@media(min-width:768px){.topbar-book-brand{display:block;font-size:1.05rem}}
.topbar-book-fields{display:flex;gap:8px;flex:1;min-width:0}
.topbar-book-fields input,.topbar-book-fields select{flex:1;min-width:0;padding:9px 10px;border:1px solid rgba(27,75,107,.18);border-radius:var(--r2);background:#fff;font-size:.85rem;color:var(--ink);font-family:var(--B)}
.topbar-book-fields input:focus,.topbar-book-fields select:focus{outline:none;border-color:var(--gold)}
.topbar-book-cta{background:var(--navy);color:#fff;padding:10px 18px;border-radius:var(--r2);font-family:var(--D);letter-spacing:.06em;font-size:.92rem;white-space:nowrap;border:none;cursor:pointer;transition:background .2s,transform .15s}
.topbar-book-cta:hover{background:var(--navy2);transform:translateY(-1px)}
@media(max-width:600px){.topbar-book{padding:8px 10px}.topbar-book-fields{gap:6px}.topbar-book-fields input,.topbar-book-fields select{font-size:.78rem;padding:8px 7px}.topbar-book-cta{padding:9px 12px;font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.topbar-book{transition:none}}
body.topbar-active .nav{opacity:0;pointer-events:none;transition:opacity .25s}
body.topbar-active .urgency-banner{opacity:0;pointer-events:none;transition:opacity .25s}

/* 15 REASONS — collapsible (desktop only) */
.reasons-toggle-wrap{display:none;text-align:center;margin-top:28px}
@media(min-width:600px){.reasons-grid .reason-item.is-extra{display:none}.reasons-grid.is-expanded .reason-item.is-extra{display:flex}.reasons-toggle-wrap{display:block}}
.reasons-toggle{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:rgba(232,168,124,.14);border:1px solid rgba(232,168,124,.35);color:var(--gold3);border-radius:999px;font-family:var(--D);letter-spacing:.06em;font-size:.92rem;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}
.reasons-toggle:hover{background:rgba(232,168,124,.22);border-color:var(--gold);transform:translateY(-1px)}
.reasons-toggle .arrow{transition:transform .25s}
.reasons-grid.is-expanded ~ .reasons-toggle-wrap .reasons-toggle .arrow{transform:rotate(180deg)}

/* SEO BLOCKS — collapsible */
.seo-collapsible{position:relative;max-height:340px;overflow:hidden;transition:max-height .5s ease}
.seo-collapsible.is-open{max-height:5000px}
.seo-collapsible::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,transparent,var(--cream) 90%);pointer-events:none;transition:opacity .3s}
.seo-block-alt .seo-collapsible::after{background:linear-gradient(to bottom,transparent,var(--cream2) 90%)}
.seo-collapsible.is-open::after{opacity:0}
.seo-readmore-wrap{text-align:center;margin-top:18px}
.seo-readmore{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(27,75,107,.3);color:var(--navy);padding:10px 22px;border-radius:999px;font-family:var(--D);letter-spacing:.06em;font-size:.88rem;cursor:pointer;transition:background .2s,border-color .2s}
.seo-readmore:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.seo-readmore .arrow{transition:transform .25s}
.seo-readmore.is-open .arrow{transform:rotate(180deg)}

/* DATE INPUT PLACEHOLDER */
input[type="date"][data-empty="true"]{color:transparent;position:relative}
input[type="date"][data-empty="true"]::-webkit-datetime-edit{color:transparent}
input[type="date"][data-empty="true"]::before{content:attr(data-placeholder);color:var(--muted);position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;padding:inherit;pointer-events:none;font-size:inherit;font-family:inherit}
.topbar-book-fields input[type="date"][data-empty="true"]::before{padding:9px 10px}
@media(max-width:600px){.topbar-book-fields input[type="date"][data-empty="true"]::before{padding:8px 7px}}
.book-field-value input[type="date"][data-empty="true"]::before{padding:0 0 0 28px}

/* ══════════════════════════════════════════
   MOBILE-ONLY LCP FIX (PageSpeed NO_LCP)
   Lighthouse on slow CPU mistakes opacity 0→1
   transitions for "LCP will never happen".
   Replace opacity transitions with visibility
   on mobile only — desktop is untouched.
══════════════════════════════════════════ */
@media(max-width:767px){
  .hero-video-el{opacity:1 !important;visibility:hidden;transition:none !important}
  .hero-video-el.is-playing{visibility:visible}
  .hero-cat-slide.hero-cat-active{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .hero-photo>img{contain:layout paint}
}



.rc2-faq-section{
  padding:90px 0;
  background:#fff;
  position:relative
}
.rc2-faq-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px
}
.rc2-faq-head{
  text-align:center;
  margin-bottom:50px
}
.rc2-faq-eyebrow{
  font-size:13px;
  color:#c9994a;
  font-weight:500;
  letter-spacing:.5px;
  margin-bottom:8px;
  font-style:italic
}
.rc2-faq-title{
  font-size:clamp(36px,5vw,52px);
  font-weight:800;
  color:#1b4b6b;
  letter-spacing:-1px;
  line-height:1;
  margin:0 0 18px
}
.rc2-faq-sub{
  font-size:15px;
  color:#64748b;
  line-height:1.6;
  max-width:640px;
  margin:0 auto 30px
}
.rc2-faq-cta{
  display:inline-flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center
}
.rc2-faq-cta a{
  display:inline-flex;align-items:center;gap:6px;
  background:#fdf8f2;
  border:1px solid #e0ccb4;
  color:#1b4b6b;
  padding:10px 20px;
  border-radius:100px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:all .2s
}
.rc2-faq-cta a:hover{background:#e8a87c;color:#1b4b6b;border-color:#e8a87c}
.rc2-faq-cta a.wa{background:#25d366;color:#fff;border-color:#25d366}
.rc2-faq-cta a.wa:hover{background:#1ebe5a}

/* Accordion items */
.rc2-faq-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid #e0ccb4
}
.rc2-faq-item{
  border-bottom:1px solid #e0ccb4;
  background:#fff;
  transition:background .2s
}
.rc2-faq-item.open{background:#fdf8f2}
.rc2-faq-q{
  width:100%;
  background:none;
  border:none;
  padding:22px 24px;
  text-align:left;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-family:'Outfit',sans-serif;
  font-size:17px;
  font-weight:700;
  color:#1b4b6b;
  letter-spacing:-.2px;
  line-height:1.4;
  transition:color .2s
}
.rc2-faq-q:hover{color:#c9994a}
.rc2-faq-q-arrow{
  flex-shrink:0;
  width:28px;height:28px;
  border-radius:50%;
  background:#e8a87c;
  color:#1b4b6b;
  font-size:18px;
  font-weight:900;
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s, background .2s;
  line-height:1
}
.rc2-faq-item.open .rc2-faq-q-arrow{
  transform:rotate(45deg);
  background:#1b4b6b;
  color:#fff
}
.rc2-faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
  padding:0 24px
}
.rc2-faq-item.open .rc2-faq-a{
  max-height:600px;
  padding-bottom:22px
}
.rc2-faq-a-inner{
  font-size:15px;
  line-height:1.7;
  color:#475569;
  padding-top:6px
}
.rc2-faq-a-inner a{color:#c9994a;font-weight:700;text-decoration:underline}
.rc2-faq-a-inner a:hover{color:#1b4b6b}
.rc2-faq-a-inner strong{color:#1b4b6b;font-weight:700}

@media(max-width:780px){
  .rc2-faq-section{padding:50px 0}
  .rc2-faq-q{font-size:15px;padding:18px 20px;gap:12px}
  .rc2-faq-q-arrow{width:24px;height:24px;font-size:16px}
  .rc2-faq-a{padding:0 20px}
  .rc2-faq-item.open .rc2-faq-a{padding-bottom:18px}
  .rc2-faq-a-inner{font-size:14px}
}
