/* =========================================================
   Costa Rica Connect Tours — shared stylesheet
   ========================================================= */

:root{
  --forest:#0b2f25;
  --forest-soft:#123f32;
  --forest-deep:#071b15;
  --cream:#f7f1e7;
  --white:#fffdf8;
  --gold:#c7a45f;
  --gold-soft:#e4cf9d;
  --ink:#17231e;
  --muted:#6f7a74;
  --line:rgba(23,35,30,.12);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-sm:14px;
  --shadow:0 24px 70px rgba(11,47,37,.18);
  --shadow-soft:0 14px 34px rgba(11,47,37,.14);
  --ease:cubic-bezier(.16,.8,.28,1);
}

*{box-sizing:border-box}

[hidden]{ display:none !important; }

html{scroll-behavior:smooth; scroll-padding-top:96px;}

body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  background:var(--cream);
  color:var(--ink);
}

img{
  display:block;
  width:100%;
  object-fit:cover;
}

a{
  text-decoration:none;
  color:inherit;
}

button,input,select,textarea{
  font:inherit;
}

h1,h2,h3{
  font-family:"Prata",serif;
  font-weight:400;
  text-wrap:balance;
}

p{ text-wrap:pretty; }

.container{
  width:min(1180px,92%);
  margin:auto;
}

/* ---------- Skip link ---------- */
.skip-link{
  position:absolute;
  left:16px;
  top:-60px;
  background:var(--gold);
  color:#1f2b25;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
  z-index:200;
  transition:top .2s var(--ease);
}

.skip-link:focus{
  top:16px;
}

/* ---------- Focus states ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:8px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 22px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  background:var(--gold);
  color:#1f2b25;
  font-weight:700;
  white-space:nowrap;
  flex-shrink:0;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}

.btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:35%;
  height:100%;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);
  transition:left .65s var(--ease);
  pointer-events:none;
}

.btn:hover::before{
  left:130%;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(199,164,95,.32);
}

.btn:active{
  transform:translateY(0) scale(.98);
  box-shadow:0 6px 16px rgba(199,164,95,.28);
}

.btn-outline{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
}

.btn-outline:hover{
  background:rgba(255,255,255,.08);
}

.btn-block{
  width:100%;
}

/* ---------- Grain overlay ---------- */
.grain{
  position:relative;
}

.grain::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:180px 180px;
  z-index:1;
}

/* ---------- Scroll progress bar ---------- */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold));
  z-index:110;
  transition:width .1s linear;
  box-shadow:0 0 12px rgba(199,164,95,.6);
}

/* ---------- Ambient floating orbs ---------- */
.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  pointer-events:none;
  opacity:.35;
  z-index:1;
  animation:drift 22s ease-in-out infinite;
}

.orb-gold{
  width:280px;
  height:280px;
  background:radial-gradient(circle,var(--gold) 0%,transparent 70%);
}

.orb-cream{
  width:220px;
  height:220px;
  background:radial-gradient(circle,var(--cream) 0%,transparent 70%);
  animation-duration:28s;
  animation-delay:-6s;
}

@keyframes drift{
  0%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(26px,-32px) scale(1.08); }
  66%{ transform:translate(-22px,18px) scale(.96); }
  100%{ transform:translate(0,0) scale(1); }
}

/* ---------- Nav ---------- */
.nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:rgba(11,47,37,.7);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 0 0 rgba(5,24,18,0);
  transition:background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}

.nav.scrolled{
  background:rgba(11,47,37,.94);
  box-shadow:0 12px 34px rgba(5,24,18,.28);
  border-bottom-color:rgba(255,255,255,.06);
}

.nav-inner{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  color:#fff;
}

.brand{
  font-family:"Prata",serif;
  font-size:1.35rem;
  letter-spacing:.02em;
}

.brand-with-logo{
  display:flex;
  align-items:center;
  gap:12px;
}

.brand-logo-nav{
  height:52px;
  width:auto;
  border-radius:10px;
  flex-shrink:0;
}

.brand-logo-footer{
  height:70px;
  width:auto;
  border-radius:12px;
  margin-bottom:16px;
}

.brand small{
  display:block;
  font-family:"DM Sans",sans-serif;
  font-size:.65rem;
  letter-spacing:.22em;
  color:var(--gold-soft);
  margin-top:3px;
}

.menu{
  display:flex;
  gap:28px;
  align-items:center;
  font-size:.94rem;
}

.menu a:not(.btn){
  position:relative;
  padding:6px 0;
  color:rgba(255,255,255,.82);
  transition:color .2s var(--ease);
}

.menu a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:var(--gold-soft);
  transition:right .25s var(--ease);
}

.menu a:not(.btn):hover{
  color:#fff;
}

.menu a:not(.btn):hover::after{
  right:0;
}

.menu a[aria-current="page"]{
  color:var(--gold-soft);
  font-weight:700;
}

.menu a[aria-current="page"]::after{
  right:0;
  background:var(--gold-soft);
}

.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,.32);
  border-radius:10px;
  width:44px;
  height:44px;
  color:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.nav-toggle svg{
  width:20px;
  height:20px;
}

/* ---------- Hero ---------- */
.hero{
  min-height:100dvh;
  padding:145px 0 70px;
  display:grid;
  align-items:end;
  color:#fff;
  position:relative;
  overflow:hidden;
  background:var(--forest-deep);
}

.hero-bg{
  position:absolute;
  inset:-4%;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(5,24,18,.92) 0%,rgba(5,24,18,.66) 48%,rgba(5,24,18,.2) 100%),
    url("https://images.unsplash.com/photo-1759687161429-95cb98a7cf32?auto=format&fit=crop&w=2200&q=88") center/cover;
  animation:kenburns 24s ease-in-out infinite alternate;
  will-change:transform;
}

@keyframes kenburns{
  0%{ transform:scale(1) translate(0,0); }
  100%{ transform:scale(1.1) translate(-1%,-1%); }
}

.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:160px;
  background:linear-gradient(to top,var(--cream),transparent);
  pointer-events:none;
  z-index:1;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .65fr;
  gap:60px;
  align-items:end;
  position:relative;
  z-index:2;
}

.hero-in{
  opacity:0;
  transform:translateY(28px);
  animation:heroIn .9s var(--ease) both;
  animation-delay:var(--d,0s);
}

@keyframes heroIn{
  to{ opacity:1; transform:none; }
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-soft);
  font-weight:700;
}

.eyebrow::before{
  content:"";
  width:38px;
  height:1px;
  background:currentColor;
}

h1{
  font-size:clamp(3.4rem,7vw,7rem);
  line-height:.98;
  letter-spacing:-.01em;
  max-width:820px;
  margin:18px 0 22px;
}

.hero p{
  max-width:660px;
  font-size:1.1rem;
  line-height:1.8;
  color:rgba(255,255,255,.82);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

/* ---------- Booking card ---------- */
.booking-card{
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), var(--shadow);
  border-radius:var(--radius-xl);
  padding:28px;
  position:relative;
  overflow:hidden;
}

.booking-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(199,164,95,.22),transparent 70%);
  transition:opacity .3s var(--ease);
}

.booking-card:hover::before{
  opacity:1;
}

.booking-card > *{
  position:relative;
  z-index:1;
}

.booking-card h3{
  font-size:1.7rem;
  margin:0 0 16px;
}

.booking-card p{
  font-size:.94rem;
  margin:0 0 18px;
}

.booking-card form{
  display:grid;
  gap:12px;
}

#tourBookingForm{
  display:grid;
  gap:20px;
}

.field{
  display:grid;
  gap:6px;
}

.field label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}

.field-optional{
  text-transform:none;
  font-weight:500;
  letter-spacing:0;
  color:var(--muted);
  opacity:.75;
}

.field textarea{
  resize:vertical;
  min-height:80px;
  font-family:inherit;
}

.field-hint{
  display:block;
  margin-top:8px;
  font-size:.76rem;
  color:var(--muted);
  line-height:1.4;
}

.contact-pref-group{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:4px;
}

.contact-pref-option{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:64px;
  padding:12px 6px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--white);
  cursor:pointer;
  font-size:.78rem;
  font-weight:600;
  color:var(--ink);
  text-align:center;
  line-height:1.2;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}

.contact-pref-option:has(input:checked){
  border-color:var(--gold);
  background:rgba(199,164,95,.1);
}

.contact-pref-option input{
  accent-color:var(--gold);
  width:16px;
  height:16px;
  flex-shrink:0;
  margin:0;
}

.contact-pref-option span{
  word-break:break-word;
}

.field input,
.field select,
.field textarea{
  width:100%;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
  padding:14px 16px;
  border-radius:var(--radius-sm);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(199,164,95,.2);
}

.field input[readonly]{
  background:var(--cream);
  color:var(--forest);
  font-weight:700;
  cursor:default;
  text-overflow:ellipsis;
}

.field input[readonly]:focus{
  box-shadow:none;
  border-color:var(--line);
}

.booking-card input,
.booking-card select,
.booking-card textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.92);
  color:var(--ink);
  padding:15px 16px;
  border-radius:var(--radius-sm);
}

.booking-card input:invalid:not(:placeholder-shown),
.booking-card select:invalid:not([value=""]):not(:focus){
  border-color:#c96a5a;
}

.field-error{
  display:none;
  font-size:.8rem;
  color:#f3b3a4;
  font-weight:600;
}

.field.has-error .field-error{
  display:block;
}

.field.has-error input,
.field.has-error select{
  border-color:#c96a5a;
}

.form-success{
  display:none;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:var(--radius-sm);
  background:rgba(199,164,95,.16);
  border:1px solid rgba(199,164,95,.4);
  color:var(--gold-soft);
  font-size:.9rem;
  font-weight:600;
}

.form-success.visible{
  display:flex;
}

.sidebar-card .field-error{
  color:#b3453a;
}

.sidebar-card .form-success{
  background:rgba(11,47,37,.06);
  border-color:rgba(11,47,37,.16);
  color:var(--forest);
}

/* ---------- Traveler stepper ---------- */
.traveler-field{
  display:grid;
  gap:6px;
}

.traveler-field > label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}

.traveler-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--cream);
}

.traveler-stepper{
  display:flex;
  align-items:center;
  gap:12px;
}

.stepper-btn{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--white);
  font-size:1.1rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  color:var(--forest);
  transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}

.stepper-btn:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#1f2b25;
}

#travelerCount,
#paxCount{
  font-weight:700;
  min-width:18px;
  text-align:center;
  color:var(--forest);
}

.contact-form-card .traveler-field > label{
  color:rgba(255,255,255,.8);
}

/* ---------- Trust strip ---------- */
.trust-strip{
  position:relative;
  z-index:5;
}

.hero + .trust-strip{
  margin-top:-20px;
}

.trust-inner{
  background:var(--white);
  border-radius:24px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
}

.trust-item{
  padding:24px;
  text-align:center;
  border-right:1px solid var(--line);
}

.trust-item:last-child{
  border-right:0;
}

.trust-item strong{
  display:block;
  font-size:1.35rem;
  color:var(--forest);
}

.trust-item > span{
  display:block;
  margin-top:5px;
  font-size:.85rem;
  color:var(--muted);
}

.trust-item strong .count{
  font-size:inherit;
  font-weight:inherit;
  color:inherit;
}

/* ---------- Sections ---------- */
section{
  padding:95px 0 108px;
}

.section-head{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
  margin-bottom:38px;
}

.section-head h2{
  font-size:clamp(2.5rem,4.5vw,4.7rem);
  line-height:1.05;
  letter-spacing:-.01em;
  margin:12px 0 0;
  color:var(--forest);
}

.section-head p{
  max-width:520px;
  line-height:1.75;
  color:var(--muted);
}

.page-header{
  padding:170px 0 60px;
  background:var(--forest);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.page-header .eyebrow{
  color:var(--gold-soft);
}

.page-header h1{
  font-size:clamp(2.8rem,6vw,5.4rem);
  max-width:760px;
  margin:14px 0 16px;
}

.page-header p{
  max-width:600px;
  color:rgba(255,255,255,.74);
  line-height:1.8;
  font-size:1.05rem;
}

.page-header-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center;
}

.page-header-photo{
  height:340px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.page-header-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ---------- Tour detail page ---------- */
.breadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.85rem;
  color:rgba(255,255,255,.6);
  margin-bottom:20px;
}

.breadcrumb a{
  color:rgba(255,255,255,.78);
  transition:color .2s var(--ease);
}

.breadcrumb a:hover{
  color:#fff;
}

.breadcrumb span[aria-current]{
  color:var(--gold-soft);
  font-weight:600;
}

.detail-hero{
  padding:150px 0 80px;
  color:#fff;
  position:relative;
  overflow:hidden;
  background:var(--forest-deep);
}

.detail-hero-inner{
  position:relative;
  z-index:2;
}

.detail-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.tag-dark{
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
  font-size:.78rem;
  font-weight:700;
}

.detail-hero h1{
  font-size:clamp(2.6rem,5.5vw,4.6rem);
  max-width:820px;
  margin:0 0 14px;
}

.detail-tagline{
  max-width:640px;
  color:rgba(255,255,255,.78);
  font-size:1.05rem;
  line-height:1.7;
  margin:0 0 32px;
}

.detail-stats{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.stat-pill{
  padding:14px 22px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}

.stat-pill strong{
  display:block;
  font-family:"Prata",serif;
  font-size:1.15rem;
}

.stat-pill span{
  display:block;
  margin-top:2px;
  font-size:.78rem;
  color:rgba(255,255,255,.62);
}

.detail-grid{
  display:grid;
  grid-template-columns:1.6fr .9fr;
  gap:56px;
  align-items:start;
}

.detail-main,
.detail-sidebar{
  min-width:0;
}

.detail-main h2{
  font-size:1.9rem;
  color:var(--forest);
  margin:44px 0 16px;
}

.detail-main h2:first-of-type{
  margin-top:0;
}

.detail-main > p{
  color:var(--muted);
  line-height:1.85;
  font-size:1.02rem;
}

.gallery-strip{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:170px 170px;
  grid-template-areas:
    "main b c"
    "main d e";
  gap:12px;
}

.gallery-strip img{
  width:100%;
  height:100%;
  border-radius:var(--radius-sm);
  cursor:pointer;
  transition:filter .2s var(--ease);
}

.gallery-strip img:hover{
  filter:brightness(.92);
}

.gallery-strip img:nth-child(1){ grid-area:main; border-radius:var(--radius-lg); }
.gallery-strip img:nth-child(2){ grid-area:b; }
.gallery-strip img:nth-child(3){ grid-area:c; }
.gallery-strip img:nth-child(4){ grid-area:d; }
.gallery-strip img:nth-child(5){ grid-area:e; }

/* ---------- Gallery carousel (JS-enhanced) ---------- */
.gallery-strip.gallery-carousel{
  display:block;
}

.gallery-carousel-main{
  position:relative;
  height:440px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:var(--cream);
}

.gallery-carousel-main img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
  cursor:zoom-in;
}

.gallery-carousel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:rgba(5,15,11,.45);
  color:#fff;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .2s var(--ease);
}

.gallery-carousel-arrow:hover{
  background:rgba(5,15,11,.72);
}

.gallery-carousel-arrow.prev{ left:16px; }
.gallery-carousel-arrow.next{ right:16px; }

.gallery-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  overflow-x:auto;
  scrollbar-width:thin;
}

.gallery-thumb{
  flex-shrink:0;
  width:74px;
  height:74px;
  padding:0;
  border-radius:var(--radius-sm);
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  opacity:.6;
  transition:border-color .2s var(--ease), opacity .2s var(--ease);
}

.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  cursor:pointer;
}

.gallery-thumb.active,
.gallery-thumb:hover{
  opacity:1;
}

.gallery-thumb.active{
  border-color:var(--gold);
}

@media(max-width:640px){
  .gallery-carousel-main{
    height:280px;
  }

  .gallery-thumb{
    width:58px;
    height:58px;
  }
}

/* ---------- Trust line ---------- */
.trust-line{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold-soft);
  font-weight:600;
  font-size:.94rem;
  margin:0 0 28px;
}

/* ---------- Practical information ---------- */
.practical-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.practical-list li{
  position:relative;
  padding-left:22px;
  color:var(--muted);
  line-height:1.6;
}

.practical-list li::before{
  content:"•";
  position:absolute;
  left:2px;
  color:var(--gold);
  font-weight:700;
}

/* ---------- Good to know (spec list) ---------- */
.spec-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}

.spec-list li{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.96rem;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

.spec-list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.spec-icon{
  width:26px;
  flex-shrink:0;
  font-size:1.15rem;
  text-align:center;
}

.spec-list strong{
  color:var(--forest);
  white-space:nowrap;
}

.spec-value{
  color:var(--muted);
}

.includes-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  margin-top:12px;
}

.includes-grid h3{
  font-family:"DM Sans",sans-serif;
  font-size:1rem;
  color:var(--forest);
  margin:0 0 12px;
}

.check-list,
.cross-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
  color:var(--muted);
  font-size:.94rem;
}

.check-list li,
.cross-list li{
  position:relative;
  padding-left:26px;
}

.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--forest);
  font-weight:700;
}

.cross-list li::before{
  content:"✕";
  position:absolute;
  left:0;
  color:#b25b4e;
  font-weight:700;
}

.detail-sidebar{
  position:sticky;
  top:100px;
}

.sidebar-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:28px;
  box-shadow:var(--shadow-soft);
}

.sidebar-badge{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:var(--forest);
  color:var(--gold-soft);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.sidebar-tour-name{
  margin:0 0 6px;
  font-family:"Prata",serif;
  font-size:1.15rem;
  color:var(--forest);
  line-height:1.3;
}

.sidebar-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:6px;
}

.sidebar-price strong{
  font-family:"Prata",serif;
  font-size:2.2rem;
  color:var(--forest);
}

.sidebar-price small{
  color:var(--muted);
}

.sidebar-price-note{
  margin:0 0 22px;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
  font-size:.82rem;
  color:var(--muted);
}

.sidebar-note{
  margin:14px 0 0;
  font-size:.8rem;
  color:var(--muted);
  text-align:center;
}

.fallback-link{
  display:block;
  width:100%;
  margin-top:12px;
  padding:10px;
  background:none;
  border:0;
  border-radius:var(--radius-sm);
  font-size:.84rem;
  font-weight:600;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  transition:color .2s var(--ease);
}

.fallback-link:hover{
  color:var(--forest);
}

.contact-form-card .fallback-link{
  color:rgba(255,255,255,.55);
}

.contact-form-card .fallback-link:hover{
  color:var(--gold-soft);
}

.related{
  background:var(--white);
  border-top:1px solid var(--line);
}

/* ---------- Tours ---------- */
.tour-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}

.tour-card{
  position:relative;
  min-height:360px;
  overflow:hidden;
  border-radius:var(--radius-xl);
  box-shadow:0 18px 46px rgba(20,50,39,.12);
  cursor:pointer;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  transform-style:preserve-3d;
  will-change:transform;
}

.tour-card:hover{
  box-shadow:0 30px 64px rgba(11,47,37,.32);
}

.tour-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 70%);
  transition:opacity .3s var(--ease);
}

.tour-card:hover::before{
  opacity:1;
}

.tour-card.large,
.tour-card.small{
  grid-column:span 6;
}

.tour-card.third{
  grid-column:span 4;
  min-height:420px;
}

.tour-card img{
  height:100%;
  position:absolute;
  inset:0;
  transition:transform .5s var(--ease);
}

.tour-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,24,18,.92),rgba(5,24,18,.1) 65%);
}

.tour-card:hover img{
  transform:scale(1.06);
}

.tour-content{
  position:absolute;
  left:28px;
  right:28px;
  bottom:26px;
  z-index:2;
  color:#fff;
}

.tour-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.tag{
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  font-size:.78rem;
  font-weight:700;
}

.tour-content h3{
  font-size:1.6rem;
  margin:0 0 10px;
}

.tour-content p{
  margin:0 0 18px;
  color:rgba(255,255,255,.8);
  line-height:1.6;
  max-width:550px;
}

.tour-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}

.price small{
  display:block;
  color:rgba(255,255,255,.68);
}

.price strong{
  font-size:1.35rem;
}

.text-link{
  font-weight:700;
  color:var(--gold-soft);
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease);
}

.text-link:hover{
  border-color:var(--gold-soft);
}

.tours-cta{
  margin-top:56px;
  text-align:center;
}

/* ---------- Filter chips ---------- */
.filter-chips{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.filter-chip{
  padding:11px 22px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--forest);
  font-size:.88rem;
  font-weight:600;
  cursor:pointer;
  transition:border-color .25s var(--ease), background .25s var(--ease), color .25s var(--ease), transform .2s var(--ease);
}

.filter-chip:hover{
  border-color:var(--gold);
  transform:translateY(-1px);
}

.filter-chip.active{
  background:var(--forest);
  color:var(--gold-soft);
  border-color:var(--forest);
}

.empty-state{
  text-align:center;
  color:var(--muted);
  padding:40px 0;
}

/* ---------- VIP tour list cards ---------- */
.tour-list-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.tour-list-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}

.tour-list-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}

.tlc-image{
  position:relative;
  height:220px;
  overflow:hidden;
}

.tlc-image img{
  height:100%;
  transition:transform .5s var(--ease);
}

.tour-list-card:hover .tlc-image img{
  transform:scale(1.08);
}

.tlc-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  padding:6px 13px;
  border-radius:999px;
  background:var(--forest);
  color:var(--gold-soft);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.tlc-body{
  padding:22px;
}

.tlc-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.tag-light{
  padding:6px 12px;
  border-radius:999px;
  background:var(--cream);
  color:var(--forest);
  font-size:.74rem;
  font-weight:700;
}

.tlc-title{
  font-size:1.28rem;
  color:var(--forest);
  margin:0 0 6px;
  transition:color .2s var(--ease);
}

a:hover .tlc-title{
  color:var(--gold);
}

.tlc-tagline{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
  margin:0 0 16px;
}

.tlc-meta-row{
  display:flex;
  gap:18px;
  margin-bottom:18px;
  font-size:.82rem;
  color:var(--muted);
}

.tlc-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:16px;
  border-top:1px solid var(--line);
}

/* ---------- Experience / About ---------- */
.experience{
  background:var(--forest);
  color:#fff;
}

.experience-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:58px;
  align-items:center;
}

.image-stack{
  position:relative;
  min-height:590px;
}

.image-main{
  width:78%;
  height:520px;
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.image-main img{
  height:100%;
}

.image-small{
  position:absolute;
  width:48%;
  right:0;
  bottom:0;
  border-radius:24px;
  overflow:hidden;
  border:8px solid var(--forest);
  box-shadow:var(--shadow);
}

.image-small img{
  height:250px;
}

.experience h2{
  color:#fff;
  font-size:clamp(2.6rem,4vw,4.5rem);
  letter-spacing:-.01em;
  margin:12px 0 18px;
}

.experience p{
  color:rgba(255,255,255,.72);
  line-height:1.8;
}

.feature-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:26px 0 32px;
}

.feature{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  transition:background .25s var(--ease);
}

.feature:hover{
  background:rgba(255,255,255,.09);
}

.feature span{
  font-size:1.5rem;
}

.feature strong{
  display:block;
  margin-bottom:4px;
}

.feature small{
  color:rgba(255,255,255,.62);
  line-height:1.5;
}

/* ---------- Stats (About page) ---------- */
.stats-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:64px;
}

.stat{
  padding:30px 26px;
  border-radius:var(--radius-lg);
  background:var(--white);
  border:1px solid var(--line);
}

.stat strong{
  display:block;
  font-family:"Prata",serif;
  font-size:2.4rem;
  color:var(--forest);
}

.stat span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}

.contact-feature{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:36px;
  align-items:center;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:28px;
  max-width:640px;
}

.contact-feature-photo{
  height:240px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--cream);
}

.contact-feature-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.contact-feature-body strong{
  display:block;
  font-family:"Prata",serif;
  font-weight:400;
  font-size:1.5rem;
  color:var(--forest);
}

.contact-feature-body span{
  display:block;
  margin:4px 0 14px;
  color:var(--gold);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-feature-body p{
  color:var(--muted);
  line-height:1.7;
  margin:0 0 18px;
}

@media(max-width:640px){
  .contact-feature{
    grid-template-columns:1fr;
    max-width:none;
  }

  .contact-feature-photo{
    height:220px;
  }
}

/* ---------- Testimonials ---------- */
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.testimonial{
  background:var(--white);
  padding:28px;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}

.testimonial:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-soft);
}

.testimonial-grid .testimonial:nth-child(2){
  transform:translateY(-18px);
}

.testimonial-grid .testimonial:nth-child(2):hover{
  transform:translateY(-22px);
}

.stars{
  color:var(--gold);
  letter-spacing:.15em;
  font-size:1rem;
}

.testimonial p{
  color:var(--muted);
  line-height:1.75;
}

.testimonial strong{
  display:block;
  margin-top:18px;
  color:var(--forest);
}

.testimonial em{
  display:block;
  font-style:normal;
  font-size:.82rem;
  color:var(--muted);
  margin-top:2px;
}

/* ---------- CTA ---------- */
.cta{
  background:
    linear-gradient(90deg,rgba(11,47,37,.95),rgba(11,47,37,.62)),
    url("https://images.unsplash.com/photo-1705351978871-2b3316c25e6d?auto=format&fit=crop&w=1800&q=84") center/cover;
  border-radius:36px;
  padding:64px;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:34px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.cta > div:not(.orb){
  position:relative;
  z-index:2;
}

.cta > a{
  position:relative;
  z-index:2;
}

.cta h2{
  color:#fff;
  font-size:clamp(2.3rem,4vw,4rem);
  letter-spacing:-.01em;
  margin:0 0 14px;
}

.cta p{
  color:rgba(255,255,255,.76);
  max-width:600px;
  line-height:1.7;
}

/* ---------- Contact page ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
}

.contact-info{
  display:grid;
  gap:18px;
  align-content:start;
}

.contact-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:20px;
  border-radius:var(--radius-lg);
  background:var(--white);
  border:1px solid var(--line);
}

.contact-item span{
  font-size:1.4rem;
}

.contact-item strong{
  display:block;
  color:var(--forest);
  margin-bottom:3px;
}

.contact-item small{
  color:var(--muted);
  line-height:1.5;
}

.contact-form-card{
  background:var(--forest);
  color:#fff;
  border-radius:var(--radius-xl);
  padding:36px;
  box-shadow:var(--shadow);
}

.contact-form-card h3{
  margin:0 0 8px;
  font-size:1.7rem;
}

.contact-form-card p{
  color:rgba(255,255,255,.72);
  margin:0 0 22px;
  font-size:.94rem;
}

/* ---------- Footer ---------- */
footer{
  position:relative;
  background:var(--forest-deep);
  color:#fff;
  padding:88px 0 34px;
}

footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(199,164,95,.4) 50%, transparent);
}

.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:44px 56px;
  padding-bottom:46px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-brand .brand-logo-footer{
  box-shadow:0 14px 32px rgba(0,0,0,.32);
  outline:1px solid rgba(199,164,95,.28);
  outline-offset:-1px;
}

.footer-brand .brand{
  color:#fff;
  font-size:1.3rem;
}

.footer-brand p{
  color:rgba(255,255,255,.62);
  line-height:1.75;
  margin:16px 0 0;
  max-width:280px;
  font-size:.94rem;
}

.footer-col h4{
  font-family:"DM Sans",sans-serif;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-soft);
  margin:0 0 20px;
}

.footer-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:13px;
}

.footer-col a{
  position:relative;
  display:inline-block;
  color:rgba(255,255,255,.66);
  font-size:.95rem;
  transition:color .3s var(--ease);
}

.footer-col a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:1px;
  background:var(--gold-soft);
  transition:width .35s var(--ease);
}

.footer-col a:hover{
  color:#fff;
}

.footer-col a:hover::after{
  width:100%;
}

.footer-bottom{
  display:flex;
  justify-content:center;
  text-align:center;
  gap:20px;
  align-items:center;
  color:rgba(255,255,255,.42);
  font-size:.85rem;
  letter-spacing:.01em;
  padding-top:28px;
}

/* ---------- Transportation page ---------- */
.transport-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:28px;
  margin-top:32px;
}

.transport-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:36px 32px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
}

.transport-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--forest);
  font-size:1.35rem;
}

.transport-card h3{
  margin:0;
  font-size:1.4rem;
}

.transport-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
  font-size:.95rem;
}

.transport-card .check-list{
  margin:2px 0 4px;
}

.transport-specs{
  grid-template-columns:1fr 1fr;
  column-gap:40px;
}

.transport-link{
  margin-top:auto;
  align-self:flex-start;
  font-weight:700;
  color:var(--forest);
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}

.transport-link:hover{
  color:var(--gold);
  border-color:var(--gold);
}

/* ---------- Gallery lightbox ---------- */
.lightbox{
  position:fixed;
  inset:0;
  z-index:500;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(5,15,11,.94);
  padding:60px 20px;
}

.lightbox.active{
  display:flex;
}

.lightbox img{
  width:auto;
  height:auto;
  max-width:min(1100px,90vw);
  max-height:82vh;
  object-fit:contain;
  border-radius:var(--radius-sm);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}

.lightbox-close,
.lightbox-prev,
.lightbox-next{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.1);
  color:#fff;
  cursor:pointer;
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:background .2s var(--ease);
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover{
  background:rgba(255,255,255,.22);
}

.lightbox-close{
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  font-size:1.3rem;
}

.lightbox-prev,
.lightbox-next{
  top:50%;
  width:52px;
  height:52px;
  font-size:1.6rem;
  transform:translateY(-50%);
}

.lightbox-prev{ left:16px; }
.lightbox-next{ right:16px; }

.lightbox-counter{
  position:absolute;
  bottom:26px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.72);
  font-size:.85rem;
  letter-spacing:.04em;
}

@media(max-width:640px){
  .lightbox-prev,
  .lightbox-next{
    width:42px;
    height:42px;
    font-size:1.3rem;
  }
}

/* ---------- WhatsApp button ---------- */
.whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#25d366;
  color:#fff;
  font-size:1.5rem;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  z-index:60;
  transition:transform .25s var(--ease);
}

.whatsapp:hover{
  transform:scale(1.08);
}

/* ---------- 404 ---------- */
.not-found{
  min-height:100dvh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:160px 24px 80px;
  background:var(--forest);
  color:#fff;
}

.not-found .eyebrow{
  justify-content:center;
}

.not-found h1{
  font-size:clamp(4rem,10vw,8rem);
  margin:14px 0;
  color:var(--gold-soft);
}

.not-found p{
  color:rgba(255,255,255,.72);
  max-width:460px;
  margin:0 auto 30px;
  line-height:1.7;
}

/* ---------- Reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}

.reveal.visible{
  opacity:1;
  transform:none;
  transition-delay:var(--stagger,0s);
}

/* ---------- Destinations marquee ---------- */
.marquee{
  background:var(--forest);
  color:var(--gold-soft);
  overflow:hidden;
  position:relative;
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.marquee-track{
  display:flex;
  width:max-content;
  gap:48px;
  animation:marquee 85s linear infinite;
}

.marquee-item{
  display:inline-flex;
  align-items:center;
  gap:48px;
  font-family:"Prata",serif;
  font-size:1.15rem;
  letter-spacing:.02em;
  white-space:nowrap;
}

.marquee-item::after{
  content:"✦";
  color:var(--gold);
  font-size:.8rem;
}

@keyframes marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.marquee:hover .marquee-track{
  animation-play-state:paused;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
  html{ scroll-behavior:auto; }
  .hero-bg{ animation:none; }
  .hero-in{ animation:none; opacity:1; transform:none; }
  .orb{ animation:none; }
  .marquee-track{ animation:none; }
  .tour-card{ transition:none; }
  .btn::before{ display:none; }
}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .nav-toggle{
    display:flex;
  }

  .detail-grid{
    grid-template-columns:1fr;
  }

  .detail-sidebar{
    position:static;
  }

  .gallery-strip{
    grid-template-columns:1fr 1fr;
    grid-template-rows:180px 110px 110px;
    grid-template-areas:
      "main main"
      "b c"
      "d e";
  }

  .gallery-strip img{
    height:100%;
  }

  .includes-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .transport-specs{
    grid-template-columns:1fr;
  }

  .spec-list li{
    flex-wrap:wrap;
  }

  .tour-list-grid{
    grid-template-columns:1fr 1fr;
  }

  .menu{
    position:fixed;
    top:78px;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--forest-deep);
    padding:10px 24px 24px;
    transform:translateY(-12px);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }

  .menu.open{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  .menu a:not(.btn){
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .menu .btn{
    margin-top:14px;
    width:100%;
  }

  .hero-grid,
  .experience-grid,
  .contact-grid,
  .page-header-grid{
    grid-template-columns:1fr;
  }

  .page-header-photo{
    height:240px;
    order:-1;
  }

  .booking-card{
    max-width:560px;
  }

  .trust-inner{
    grid-template-columns:1fr 1fr;
  }

  .trust-item:nth-child(2){
    border-right:0;
  }

  .trust-item:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }

  .tour-card.large,
  .tour-card.small,
  .tour-card.third{
    grid-column:span 12;
  }

  .testimonial-grid{
    grid-template-columns:1fr;
  }

  .testimonial-grid .testimonial:nth-child(2){
    transform:none;
  }

  .stats-row{
    grid-template-columns:1fr 1fr;
  }

  .section-head,
  .cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  h1{
    font-size:3.6rem;
  }

  .contact-pref-group{
    grid-template-columns:1fr;
  }

  .tour-list-grid{
    grid-template-columns:1fr;
  }

  .detail-stats{
    gap:10px;
  }

  .stat-pill{
    padding:12px 16px;
  }

  .hero{
    padding-top:120px;
  }

  .page-header{
    padding-top:130px;
  }

  .trust-inner{
    grid-template-columns:1fr;
  }

  .trust-item{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .trust-item:last-child{
    border-bottom:0;
  }

  .feature-list{
    grid-template-columns:1fr;
  }

  .image-stack{
    min-height:440px;
  }

  .image-main{
    width:88%;
    height:390px;
  }

  .image-small{
    width:52%;
  }

  .image-small img{
    height:190px;
  }

  .cta{
    padding:38px 26px;
  }

  .stats-row{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .contact-form-card{
    padding:26px;
  }
}
