/* Mobile-specific refinements loaded after the main stylesheet. */
@media (max-width: 860px) {
  .site-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav-toggle{position:relative;z-index:82;border:1px solid rgba(23,60,50,.18);background:#fff}
  .nav-toggle span:not(.sr-only){transition:transform .25s ease,opacity .2s ease;margin:4px 0}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-toggle.is-open span:nth-child(2){opacity:0}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nav-backdrop{display:block;position:fixed;inset:0;z-index:64;border:0;background:rgba(5,20,16,.68);opacity:0;pointer-events:none;transition:opacity .28s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  body.nav-open .nav-backdrop{opacity:1;pointer-events:auto}
  .main-nav{inset:0 0 0 auto!important;width:min(88vw,380px);height:100vh;height:100dvh;z-index:72;background:#fff!important;opacity:1!important;padding:0 26px 34px!important;transform:translateX(104%);box-shadow:-22px 0 60px rgba(0,0,0,.26);overflow-y:auto;overscroll-behavior:contain;gap:0!important;align-items:stretch!important}
  .main-nav.is-open{transform:translateX(0)}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;min-height:88px;margin:0 -26px 20px;padding:0 22px 0 26px;background:var(--forest);color:#fff}
  .mobile-nav-head>span{display:flex;flex-direction:column;line-height:1.1}
  .mobile-nav-head small{text-transform:uppercase;letter-spacing:.16em;color:var(--sun-2);font-size:.58rem;margin-bottom:6px}
  .mobile-nav-head strong{font-family:var(--serif);font-size:1.25rem}
  .mobile-nav-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:transparent;position:relative}
  .mobile-nav-close span{position:absolute;left:10px;right:10px;top:20px;height:1px;background:#fff}
  .mobile-nav-close span:first-child{transform:rotate(45deg)}
  .mobile-nav-close span:last-child{transform:rotate(-45deg)}
  .main-nav>a:not(.button){display:flex!important;align-items:center;min-height:54px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.22rem;font-weight:600;color:var(--forest)}
  .main-nav>a:not(.button)::after{display:none}
  .main-nav .nav-account{font-family:var(--sans)!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)!important;margin-top:10px}
  .main-nav .button{width:100%;margin-top:24px!important;min-height:54px}
  .hero--compact{min-height:650px}
  .hero__content--compact{padding-top:88px;padding-bottom:70px}
  .hero__content--compact h1{font-size:clamp(3.3rem,12vw,4.6rem)}
  .hero__proof{margin-top:26px;gap:8px 16px;font-size:.62rem}
  .home-finder{margin-top:0;background:#fff}
  .home-finder__inner{width:100%;grid-template-columns:1fr;gap:20px;box-shadow:none;border-top:4px solid var(--sun);padding:26px 20px 30px}
  .home-finder__intro strong{font-size:1.22rem}
  .home-finder__form{grid-template-columns:1fr 1fr}
  .home-finder__form .button{grid-column:span 2;width:100%;margin-top:3px}
  .home-section{padding:72px 0}
  .home-section--destinations{padding-top:78px}
  .home-heading{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .home-heading h2{font-size:2.55rem}
  .home-destination-grid{grid-template-columns:1fr 1fr}
  .home-destination-card,.home-destination-card:first-child{height:360px}
  .home-destination-card:first-child{grid-column:span 2;height:430px}
  .home-tour-grid{grid-template-columns:1fr 1fr}
  .home-tour-card:last-child{display:none}
  .home-story-grid{grid-template-columns:1fr;gap:50px}
  .home-story-image>img{height:520px}
  .home-story-image__label{right:14px;bottom:14px}
}

@media (max-width: 560px) {
  .announcement{display:none}
  .nav-wrap{min-height:68px}
  .brand small{font-size:.5rem}
  .main-nav{width:min(92vw,370px)}
  .hero--compact{min-height:610px}
  .hero__content--compact{padding-top:74px;padding-bottom:54px}
  .hero__content--compact h1{font-size:3.25rem;line-height:1.02}
  .hero__content--compact .hero__lead{font-size:.96rem;max-width:96%}
  .hero__actions{gap:10px}
  .hero__actions .button{min-height:48px}
  .hero__proof{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}
  .home-finder__inner{padding-inline:18px}
  .home-finder__form{grid-template-columns:1fr}
  .home-finder__form .button{grid-column:auto}
  .home-section{padding:62px 0}
  .home-heading h2{font-size:2.28rem}
  .home-destination-grid{grid-template-columns:1fr;gap:13px}
  .home-destination-card,.home-destination-card:first-child{grid-column:auto;height:330px}
  .home-destination-card:nth-child(3){display:none}
  .home-destination-card__content{left:22px;right:22px;bottom:22px}
  .home-destination-card__content strong{font-size:1.85rem}
  .home-tour-grid{grid-template-columns:1fr}
  .home-tour-card:nth-child(n+3){display:none}
  .home-tour-card .tour-card__image{height:235px}
  .home-tour-card .tour-card__body h3{min-height:0}
  .home-story-section{padding:62px 0}
  .home-story-image>img{height:420px}
  .home-story-image__label{left:14px;right:14px;bottom:14px;min-width:0}
  .home-story-copy h2{font-size:2.38rem}
  .footer-cta{padding-top:65px;padding-bottom:65px}
}

  body.nav-open .nav-toggle{opacity:0;pointer-events:none}

@media (max-width: 560px) {
  .hero--compact{min-height:560px}
  .hero__content--compact{padding-top:62px;padding-bottom:44px}
  .hero__proof span:last-child{display:none}
  .home-finder__intro{display:none}
  .home-finder__form label:nth-child(2){display:none}
  .home-finder__inner{padding-top:22px;padding-bottom:22px}
  .home-destination-card,.home-destination-card:first-child{height:310px}
  .home-tour-card:nth-child(n+2){display:none}
  .home-story-image>img{height:350px}
  .home-story-copy>p:not(.eyebrow){font-size:.94rem}
  .home-story-points a{padding:15px 0}
  .footer-cta{padding:52px 0}
  .footer-cta h2{font-size:2.2rem}
  .site-footer{padding:50px 0 22px}
  .footer-grid{display:block}
  .footer-grid>div:not(.footer-brand){display:none}
  .footer-brand>p{font-size:.82rem;margin-top:18px}
  .footer-contact{gap:4px}
  .footer-bottom{margin-top:35px;align-items:flex-start}
}

/* 2.6.0 mobile drawer: solid color, one control, right-edge hamburger */
@media (max-width: 860px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(23, 60, 50, .12) !important;
  }

  .site-header .container.nav-wrap {
    width: 100% !important;
    max-width: none !important;
    min-height: 68px !important;
    padding-left: 14px !important;
    padding-right: 10px !important;
    margin: 0 !important;
    gap: 12px !important;
  }

  .brand {
    min-width: 0 !important;
  }

  .nav-toggle {
    display: block !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 11px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 96 !important;
  }

  .nav-toggle span:not(.sr-only) {
    width: 27px !important;
    height: 2px !important;
    margin: 5px auto !important;
    background: #173c32 !important;
  }

  body.nav-open .nav-toggle {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .nav-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 68px 0 0 0 !important;
    z-index: 70 !important;
    border: 0 !important;
    background: rgba(4, 15, 12, .72) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .24s ease !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.nav-open .nav-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .main-nav {
    display: flex !important;
    position: fixed !important;
    top: 68px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(88vw, 360px) !important;
    height: auto !important;
    min-height: 0 !important;
    z-index: 80 !important;
    padding: 26px 24px 34px !important;
    margin: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background-color: #0b2f27 !important;
    background-image: none !important;
    color: #ffffff !important;
    opacity: 1 !important;
    transform: translateX(105%) !important;
    transition: transform .28s cubic-bezier(.22,.7,.2,1) !important;
    box-shadow: -20px 0 55px rgba(0,0,0,.28) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .main-nav.is-open {
    transform: translateX(0) !important;
  }

  .mobile-nav-head,
  .mobile-nav-close {
    display: none !important;
  }

  .main-nav > a:not(.button) {
    display: flex !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding: 0 2px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    color: #ffffff !important;
    font-family: var(--serif) !important;
    font-size: 1.28rem !important;
    font-weight: 600 !important;
    text-align: right !important;
  }

  .main-nav > a:not(.button):hover,
  .main-nav > a:not(.button):focus-visible {
    color: #edb65f !important;
  }

  .main-nav .nav-account {
    margin-top: 12px !important;
    color: rgba(255,255,255,.68) !important;
    font-family: var(--sans) !important;
    font-size: .72rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
  }

  .main-nav .button {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 24px !important;
    justify-content: center !important;
    background: #d89b49 !important;
    color: #102f27 !important;
  }
}

@media (max-width: 560px) {
  .site-header .container.nav-wrap {
    padding-left: 12px !important;
    padding-right: 4px !important;
  }

  .brand > span:last-child {
    max-width: 175px !important;
  }

  .main-nav {
    width: min(90vw, 345px) !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}


/* 2.7.0 concise hero: fewer words, one action, cleaner mobile spacing */
.hero--compact {
  min-height: 640px;
}
.hero__content--compact {
  max-width: 720px;
  padding-top: 96px;
  padding-bottom: 84px;
}
.hero__content--compact h1 {
  max-width: 680px;
  font-size: clamp(3.7rem, 6.2vw, 6rem);
  line-height: .96;
}
.hero__content--compact .hero__lead {
  max-width: 520px;
  margin-top: 18px;
  font-size: 1.08rem;
}
.hero__content--compact .hero__actions {
  margin-top: 26px;
}

@media (max-width: 860px) {
  .hero--compact {
    min-height: 540px;
  }
  .hero__content--compact {
    padding-top: 70px;
    padding-bottom: 54px;
  }
  .hero__content--compact h1 {
    font-size: clamp(3.15rem, 11.5vw, 4.35rem);
    max-width: 94%;
  }
  .hero__content--compact .hero__lead {
    max-width: 88%;
    margin-top: 15px;
  }
}

@media (max-width: 560px) {
  .hero--compact {
    min-height: 480px;
  }
  .hero__content--compact {
    padding-top: 54px;
    padding-bottom: 42px;
  }
  .hero__content--compact .eyebrow {
    margin-bottom: 12px;
    font-size: .63rem;
    letter-spacing: .15em;
  }
  .hero__content--compact h1 {
    font-size: clamp(2.85rem, 13vw, 3.55rem);
    line-height: .98;
    max-width: 100%;
  }
  .hero__content--compact .hero__lead {
    max-width: 92%;
    margin-top: 14px;
    font-size: .93rem;
    line-height: 1.55;
  }
  .hero__content--compact .hero__actions {
    margin-top: 22px;
  }
  .hero__content--compact .hero__actions .button {
    width: auto;
    min-width: 190px;
    padding-inline: 24px;
  }
}

/* GEDESA 2.8 mobile header and concise hero hard overrides */
@media (max-width:860px){
  .site-header .container.nav-wrap{min-height:72px!important;padding-left:10px!important;padding-right:4px!important}
  .main-nav{top:72px!important;background:#0b2f27!important}
  .nav-backdrop{inset:72px 0 0 0!important}
  .hero--compact{min-height:520px!important}
  .hero__content--compact{padding-top:58px!important;padding-bottom:48px!important}
}
@media (max-width:560px){
  .hero--compact{min-height:470px!important}
  .hero__content--compact h1{font-size:clamp(2.85rem,12vw,3.65rem)!important;max-width:100%!important}
  .hero__content--compact .hero__lead{font-size:.94rem!important;max-width:92%!important}
}
