.hero {
  background-image: url("slider-home.jpg") !important;
  background-position: center center !important;
}
.site-header {
  position: fixed;
  z-index: 1000;
  transition: height .3s ease, background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-brown) 25%, var(--brand-brown-soft) 50%, var(--brand-brown) 75%, transparent);
  transform: scaleX(0);
  transition: transform .35s ease;
}
.site-header.is-scrolled,
.site-header.inner-header {
  height: 72px;
  background: rgba(19,21,18,.94);
  box-shadow: 0 10px 30px rgba(0,0,0,.24);
  backdrop-filter: blur(12px) saturate(1.15);
  -webkit-backdrop-filter: blur(12px) saturate(1.15);
}
.site-header.is-scrolled::after,
.site-header.inner-header::after { transform: scaleX(1); }
.site-header .brand-image,
.site-header .brand-image img { transition: width .3s ease, height .3s ease, transform .3s ease; }
.site-header.is-scrolled .brand-image,
.site-header.inner-header .brand-image { transform: scale(.88); transform-origin: left center; }
.why { background-image: linear-gradient(90deg, #151817d9, #1518179c), url("madagascar-isalo.jpg") !important; }
.adventure-card:nth-child(1) { --bg: url("self-drive-card-cinematic.webp") !important; }
.adventure-card:nth-child(2) { --bg: url("overland-card-cinematic.webp") !important; }
.adventure-card:nth-child(3) { --bg: url("adventure-active-cinematic.jpg") !important; }
.adventure-card:nth-child(4) { --bg: url("adventure-signature.jpg") !important; }

/* Homepage proportions aligned with the supplied reference */
.hero { min-height: 610px; }
.hero-content { max-width: 670px; padding-left: 6.5%; }
.adventures { padding-top: 42px; padding-bottom: 55px; }
.adventure-card { height: 500px; }
.reviews { padding-top: 42px; padding-bottom: 42px; }
.gallery { padding-top: 6px; }
.gallery-grid img { height: 180px; }

/* Refined hover and keyboard-focus effects */
.main-nav a,
.footer-main a:not(.btn),
.card-body a { position: relative; transition: color .25s ease, transform .25s ease; }
.main-nav a::after,
.footer-main a:not(.btn)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .28s ease;
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.footer-main a:not(.btn):hover::after { transform: scaleX(1); transform-origin: left; }
.main-nav a:hover,
.footer-main a:not(.btn):hover,
.card-body a:hover { color: var(--orange); }
.btn { transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.btn:hover,
.btn:focus-visible { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(137,69,3,.34); }
.hero-actions { gap: 14px; align-items: stretch; }
.hero-actions .hero-btn {
  min-height: 58px;
  padding: 16px 24px;
  border-radius: 6px;
  gap: 12px;
  font-size: 12px;
  letter-spacing: .035em;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.hero-btn-primary {
  background: linear-gradient(135deg, var(--brand-brown-soft), var(--brand-brown) 48%, var(--brand-brown-dark));
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
.hero-btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.18) 48%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .55s ease;
}
.hero-btn-primary:hover::before { transform: translateX(120%); }
.hero-btn-primary span { position: relative; z-index: 1; }
.hero-btn-whatsapp {
  background: rgba(10,12,10,.48);
  border: 1.5px solid rgba(255,255,255,.9);
  backdrop-filter: blur(5px);
}
.hero-btn-whatsapp:hover,
.hero-btn-whatsapp:focus-visible {
  background: rgba(37,211,102,.16);
  border-color: #25d366;
  box-shadow: 0 10px 25px rgba(0,0,0,.28);
}
.whatsapp-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  fill: none;
  stroke: #25d366;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.whatsapp-icon path:last-child { fill: #25d366; stroke: none; }
.adventure-card { transition: transform .38s ease, box-shadow .38s ease; }
.adventure-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: inherit;
  background-size: cover;
  background-position: center;
  transition: transform .6s ease;
}
.adventure-card:hover { transform: translateY(-9px); box-shadow: 0 18px 38px rgba(0,0,0,.28); }
.adventure-card:hover::before { transform: scale(1.075); }
.adventure-card:nth-child(4),
.adventure-card:nth-child(4)::before {
  background-color: #2b0b02;
  background-size: auto 72%;
  background-position: center top;
  background-repeat: no-repeat;
}
.adventure-card:nth-child(4):hover::before { transform: none; }
.adventure-card .card-body { transition: transform .35s ease; }
.adventure-card:hover .card-body { transform: translateY(-5px); }
.gallery-grid { overflow: hidden; }
.gallery-grid img,
.photo-stack img { transition: transform .5s ease, filter .35s ease, box-shadow .35s ease; }
.gallery-grid img:hover { transform: scale(1.07); filter: saturate(1.14) contrast(1.05); z-index: 2; }
.photo-stack img:hover { transform: rotate(0) scale(1.06); z-index: 4; box-shadow: 0 16px 38px rgba(0,0,0,.45); }
.review-grid blockquote { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.review-grid blockquote:hover { transform: translateY(-6px); border-color: var(--orange); box-shadow: 0 14px 32px rgba(0,0,0,.12); }
.tripadvisor-link { display: table; margin: 28px auto 0; color: var(--ink); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid var(--orange); padding-bottom: 4px; transition: color .25s ease, transform .25s ease; }
.tripadvisor-link:hover { color: var(--orange); transform: translateY(-2px); }
.trust-bar article,
.stats article { transition: transform .25s ease; }
.trust-bar article:hover,
.stats article:hover { transform: translateY(-4px); }
a:focus-visible,
button:focus-visible { outline: 3px solid var(--orange-soft); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (max-width: 780px) {
  .site-header,
  .site-header.is-scrolled,
  .site-header.inner-header { position: fixed; height: 70px; }
  .site-header.is-scrolled .main-nav.open,
  .site-header.inner-header .main-nav.open { background: rgba(19,21,18,.98); }
  .hero {
    background-position: 62% center !important;
  }
  .hero-actions { width: 100%; }
  .hero-actions .hero-btn { width: 100%; max-width: 340px; }
}
