/* Home page only. Shared page styles and booking behaviour stay in their own files. */
.home-page .hero{
  min-height:min(900px,100svh);
  padding-top:140px;
  background:var(--ink);
}
.home-page .hero-inner{
  display:block;
  padding-bottom:clamp(64px,8vw,104px);
}
.home-page .hero-copy{ max-width:860px; }
.home-page .hero h1{
  max-width:20ch;
  margin-bottom:36px;
  font-size:clamp(48px,5.7vw,82px);
  line-height:1.06;
  letter-spacing:-.025em;
}
.home-page .hero h1 em{ color:#fff; }
.home-page:lang(ru) .hero h1 em{ white-space:nowrap; }
.home-page .hero-loc{ color:#fff; margin-bottom:26px; }
.home-page .hero-loc .eyebrow{ font-size:12px; line-height:1.6; }
.home-page .hero-loc .line{ flex:0 0 34px; }
.home-page .hero-media img{
  animation:none;
  transform:none;
  object-position:50% 44%;
}
.home-page .hero-media img[src*="iturup%201"]{ object-position:55% 48%; }
.home-page .hero-media img[src*="iturup%202"]{ object-position:64% 48%; }
.home-page .hero-media img[src*="iturup%203"]{ object-position:32% 46%; }
.home-page .hero-media img[src*="panorama.jpg"]{ object-position:56% 40%; }
.home-page .hero-media img[src*="Snezhnyy-iturup"]{ object-position:62% 42%; }
.home-page .hero-media img[src*="ZHemchuzhina"]{ object-position:57% 56%; }
.home-page .hero-media img[src*="Iturup-bazovyy"]{ object-position:45% 45%; }
.home-page .hero-media::after{
  background:
    linear-gradient(90deg,rgba(20,30,38,.78),rgba(20,30,38,.32) 58%,rgba(20,30,38,.08)),
    linear-gradient(0deg,rgba(36,46,55,.88),transparent 56%,rgba(20,30,38,.32));
}
.home-page .hero-actions{ align-items:center; gap:14px 24px; }
.home-page .hero-actions .btn-ghost{
  padding-inline:0;
  border-color:transparent;
  border-radius:0;
  border-bottom-color:rgba(255,255,255,.55);
}
.home-page .hero-actions .btn-ghost:hover{
  background:transparent;
  border-bottom-color:#fff;
}
.home-page .nav-cta .btn-ember{
  background:rgba(36,46,55,.24);
  border-color:rgba(255,255,255,.55);
  box-shadow:none;
}
.home-page .nav-cta .btn-ember:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.home-page .chat-reply{
  border:1px solid rgba(255,255,255,.38);
  border-radius:8px;
  background:transparent;
  color:#fff;
  box-shadow:none;
}
.home-page .chat-reply:hover{ background:rgba(255,255,255,.08); border-color:#fff; }
.home-page .light .chat-reply{ border-color:rgba(36,46,55,.4); color:var(--ink); }
.home-page .light .chat-reply:hover{ background:rgba(36,46,55,.06); border-color:var(--ink); }
.home-page .home-inquiry{
  padding-block:clamp(64px,8vw,112px);
  background:var(--paper);
  color:var(--ink);
}
.home-page .home-inquiry__inner{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(32px,6vw,80px);
  align-items:start;
}
.home-page .home-inquiry__intro{ padding-top:10px; }
.home-page .home-inquiry__intro .eyebrow{
  display:block;
  margin-bottom:24px;
  color:#8b350e;
  font-size:12px;
}
.home-page .home-inquiry__intro h2{ max-width:17ch; font-size:clamp(34px,4.2vw,56px); }
.home-page .home-inquiry__contacts{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:32px; }
.home-page .home-inquiry__contacts a{ border-bottom:1px solid transparent; }
.home-page .home-inquiry__contacts a:first-child{ font-size:21px; }
.home-page .home-inquiry__contacts a:hover{ border-bottom-color:currentColor; }
.home-page .home-inquiry .booking-widget{ width:100%; max-width:none; }
.home-page #inquiry{ scroll-margin-top:100px; }
.home-page #tours,
.home-page #excursions{ scroll-margin-top:80px; }
.home-page .home-inquiry .booking-form{
  border:0;
  border-radius:12px;
  background:var(--forest);
  box-shadow:none;
  padding:clamp(24px,2.5vw,36px);
}
.home-page .home-inquiry .booking-form::before{ display:none; }
.home-page .home-inquiry .booking-topline{ margin-bottom:16px; }
.home-page .home-inquiry .booking-kicker{ color:#c5ded6; }
.home-page .home-inquiry .booking-type{ color:#c2c8cc; }
.home-page .home-inquiry .booking-consent{ color:#cbd0d4; }
.home-page .home-inquiry .booking-heading h3{ font-weight:500; }
.home-page .home-inquiry .booking-field input::placeholder,
.home-page .home-inquiry .booking-field textarea::placeholder{ color:#aeb7bc; opacity:1; }
.home-page .booking-mobile-dock{ display:none; }
.home-page.has-booking-dock{ padding-bottom:0; }
.home-page a:focus-visible,
.home-page button:focus-visible{ outline:2px solid currentColor; outline-offset:5px; }

@media(max-width:900px){
  .home-page .home-inquiry__inner{ grid-template-columns:1fr; gap:32px; }
  .home-page .home-inquiry__intro h2{ max-width:22ch; }
  .home-page .home-inquiry__contacts{ margin-top:24px; }
  .home-page .home-inquiry .booking-widget{ max-width:640px; }
}
@media(max-width:560px){
  .home-page .hero{ min-height:100svh; padding-top:120px; }
  .home-page .hero-inner{ padding-bottom:64px; }
  .home-page .hero h1{ font-size:clamp(39px,10.6vw,58px); line-height:1.09; margin-bottom:28px; }
  .home-page .hero-loc{ gap:10px; margin-bottom:24px; }
  .home-page .hero-loc .line{ flex-basis:22px; }
  .home-page .hero-loc .eyebrow{ font-size:10px; }
  .home-page .hero-actions{ align-items:flex-start; flex-direction:column; gap:8px; }
  .home-page .hero-actions .btn{ flex:0 0 auto; }
  .home-page .hero-actions .btn-ghost{ padding-block:12px 8px; }
  .home-page .hero-media::after{
    background:linear-gradient(0deg,rgba(20,30,38,.92),rgba(20,30,38,.48) 62%,rgba(20,30,38,.35));
  }
  .home-page .home-inquiry .booking-form{ padding:24px 20px; }
}

/* Home-only card readability and figures. Load after styles.css. */

/* Use the existing brand serif at its native proportions for taller figures. */
.home-page .figure .fig-idx{
  display:block;
  font-family:'Piazzolla', Georgia, serif;
  font-size:22px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.025em;
  font-variant-numeric:lining-nums tabular-nums;
  color:#B5D6CB;
}
.home-page .figure .fig-num{
  min-height:clamp(94px,9.5vw,136px);
  margin-top:14px;
  align-items:baseline;
  font-family:'Piazzolla', Georgia, serif;
  font-size:clamp(70px,8.2vw,118px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.025em;
}
.home-page .figure .fig-num--rank{
  gap:.07em;
  white-space:nowrap;
}
.home-page .figure .fig-num.fig-num--rank .pre{
  margin:0;
  transform:none;
  font:inherit;
  letter-spacing:inherit;
  color:inherit;
}
.home-page .figure .fig-lab{
  letter-spacing:.075em;
  line-height:1.5;
}

/* Photo labels remain readable even over the brightest part of a photograph. */
.home-page .tour-card .tag,
.home-page .addon-card .tag,
.home-page .pin-card:not(.intro):not(.cta-card) .tag{
  display:inline-block;
  max-width:100%;
  padding:7px 10px;
  border-radius:4px;
  background:#242E37;
  color:#FFFFFF;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:.07em;
  vertical-align:top;
  overflow-wrap:break-word;
}
.home-page .tour-card::after{
  background:linear-gradient(to top,rgba(18,27,34,.97) 0%,rgba(18,27,34,.78) 30%,rgba(18,27,34,.28) 64%,rgba(18,27,34,.08) 100%);
}
.home-page .tour-card .body{
  padding:clamp(22px,2.3vw,30px);
}
.home-page .tour-card h3{
  color:#FFFFFF;
  line-height:1.16;
}
.home-page .tour-card p{
  color:rgba(255,255,255,.92);
}
.home-page .tour-card .meta{
  color:rgba(255,255,255,.9);
  border-top-color:rgba(255,255,255,.3);
}
.home-page .tour-card:focus-visible,
.home-page .addon-card:focus-visible,
.home-page .pin-card:focus-visible{
  outline:3px solid #B5D6CB;
  outline-offset:4px;
}

/* Keep the existing hover reveal; give keyboard focus the same add-on reveal. */
.home-page .addon-card:focus-visible .body{
  transform:none;
}
.home-page .addon-card:focus-visible .desc{
  max-height:160px;
  opacity:1;
  margin-top:10px;
}

/* Coarse pointers must not depend on a hover state to read a card. */
@media(max-width:600px),(hover:none),(pointer:coarse){
  .home-page .tours-grid .tour-card .body,
  .home-page .tours-grid .tour-card p,
  .home-page .tours-grid .tour-card .meta,
  .home-page .addon-card .body{
    opacity:1;
    transform:none;
  }
  .home-page .addon-card .desc{
    max-height:none;
    opacity:1;
    margin-top:10px;
  }
}

@media(max-width:820px){
  .home-page .figure{
    padding:28px 24px;
  }
  .home-page .figure .fig-num{
    min-height:104px;
    font-size:clamp(82px,15vw,104px);
  }
}

@media(max-width:360px){
  .home-page .figure .fig-num{
    min-height:96px;
    font-size:76px;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-page .tours-grid .tour-card .body,
  .home-page .tours-grid .tour-card p,
  .home-page .tours-grid .tour-card .meta,
  .home-page .addon-card .body,
  .home-page .addon-card .desc{
    transition:none;
  }
}
