/* Home page mobile polish. Loaded after style.css; desktop and menu drawer stay unchanged. */

@media (max-width: 640px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) 46px 46px 46px;
    align-items: center;
    gap: 10px;
    padding: 18px 32px 0;
  }
  .topbar.is-scrolled {
    padding: 12px 32px;
  }
  .brand-logo-link {
    min-width: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
  .brand-logo {
    width: 150px;
    max-height: 58px;
    filter: drop-shadow(0 5px 12px rgba(0, 0, 0, .28));
  }
  .call-btn,
  .search-box {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #08aaa8;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
  }
  .call-btn strong,
  .search-box label,
  .search-box input {
    display: none;
  }
  .call-btn span {
    color: #fff;
    font-size: 20px;
  }
  .search-box {
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .search-box button {
    width: 46px;
    height: 46px;
    border: 0;
    color: #fff;
    font-size: 22px;
  }
  .hamburger {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
  }
  .hamburger span {
    width: 22px;
    height: 3px;
    margin: 5px auto;
    background: #08a39f;
  }
  .hamburger.is-open span {
    background: #fff;
  }
  .hero {
    min-height: 0;
    height: 474px;
    border-radius: 0;
    background-position: center top;
  }
  .hero-content {
    width: calc(100% - 34px);
    margin-top: 54px;
  }
  .script-title {
    color: #ffd817;
    font-size: 31px;
    line-height: 1;
  }
  .hero h1 {
    font-size: 25px;
    line-height: 1.28;
  }
  .hero h1 span {
    margin-top: 6px;
  }
  .hero mark {
    width: 166px;
    height: 52px;
    padding-inline: 20px;
    vertical-align: -9px;
  }
  .hero mark span {
    max-width: 132px;
    font-size: .72em;
  }
  .hero mark span.is-long {
    font-size: .58em;
  }
  .hero mark::before {
    border-width: 4px;
  }
  .hero mark::after {
    left: 22px;
    right: 22px;
    top: 9px;
    border-top-width: 2px;
  }
  .tagline {
    max-width: 430px;
    font-size: 18px;
    line-height: 1.35;
  }
  .stats-strip {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    min-height: 108px;
    margin: 0 auto 36px;
    padding: 16px 32px;
    border: 0;
    border-radius: 0;
  }
  .stats-strip i {
    display: none;
  }
  .stat {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px;
  }
  .stat-icon {
    width: 50px;
    height: 50px;
    font-size: 23px;
  }
  .insta {
    font-size: 34px;
  }
  .stat strong,
  .stat b {
    font-size: 18px;
  }
  .stat small {
    font-size: 13px;
    line-height: 1.15;
  }
  .promo-slider-section {
    padding: 28px 26px 40px;
    background: #eef7f6;
  }
  .promo-slider,
  .promo-slide img,
  .promo-slide::after {
    border-radius: 7px;
  }
  .promo-track {
    min-height: 118px;
  }
  .promo-slide img {
    min-height: 118px;
    height: 118px;
  }
  .promo-slide::after {
    background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.8) 82%);
  }
  .slide-copy {
    grid-template-columns: .58fr 1fr .72fr;
    gap: 8px;
    padding: 12px 14px;
  }
  .slide-copy span {
    font-size: 13px;
    line-height: 1.05;
  }
  .slide-copy strong {
    font-size: 31px;
    line-height: .82;
  }
  .slide-copy p {
    grid-column: 2;
    font-size: 8px;
  }
  .slide-copy b {
    font-size: 10px;
    line-height: 1.1;
  }
  .slide-copy mark {
    margin-top: 1px;
    font-size: 16px;
  }
  .slider-dots {
    bottom: 6px;
  }
  .destination-grid:not(.trek-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 18px;
  }
  .destination-grid:not(.trek-grid) .destination-card {
    min-height: 375px;
  }
}

@media (max-width: 420px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) 42px 42px 42px;
    gap: 8px;
    padding: 16px 22px 0;
  }
  .topbar.is-scrolled {
    padding: 10px 22px;
  }
  .brand-logo {
    width: 128px;
  }
  .call-btn,
  .search-box,
  .search-box button,
  .hamburger {
    width: 42px;
    height: 42px;
    min-width: 42px;
  }
  .hero {
    height: 384px;
  }
  .hero-content {
    margin-top: 46px;
  }
  .script-title {
    font-size: 24px;
  }
  .hero h1 {
    font-size: 20px;
  }
  .hero mark {
    width: 132px;
    height: 43px;
  }
  .tagline {
    max-width: 300px;
    font-size: 14px;
  }
  .stats-strip {
    min-height: 78px;
    padding: 10px 14px;
  }
  .stat {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
  }
  .stat-icon {
    width: 34px;
    height: 34px;
    font-size: 17px;
  }
  .insta {
    font-size: 24px;
  }
  .stat strong,
  .stat b {
    font-size: 12px;
  }
  .stat small {
    font-size: 8px;
  }
  .promo-slider-section {
    padding: 24px 26px 38px;
  }
  .promo-track,
  .promo-slide img {
    min-height: 86px;
    height: 86px;
  }
  .slide-copy {
    gap: 5px;
    padding: 8px;
  }
  .slide-copy span {
    font-size: 8px;
  }
  .slide-copy strong {
    font-size: 20px;
  }
  .slide-copy p {
    font-size: 6px;
  }
  .slide-copy b {
    font-size: 7px;
  }
  .slide-copy mark {
    font-size: 11px;
  }
  .destination-grid:not(.trek-grid) {
    gap: 28px 14px;
  }
  .destination-grid:not(.trek-grid) .destination-card {
    min-height: 245px;
  }
  .destination-grid:not(.trek-grid) .destination-card .content {
    min-height: 64px;
    padding: 12px 10px 10px;
    transform: translateY(28px);
  }
  .destination-grid:not(.trek-grid) .destination-card h3 {
    font-size: 18px;
  }
  .destination-grid:not(.trek-grid) .destination-card p,
  .destination-grid:not(.trek-grid) .destination-card small {
    font-size: 12px;
  }
}
