/* Home page only. Shared page styles and booking behaviour stay in their own files. */
.home-page .hero{
  min-height:100svh;
  align-items:center;
  padding-top:120px;
  background:var(--ink);
}
.home-page .hero-inner{
  display:block;
  max-width:1920px;
  padding-inline:clamp(20px,7.4vw,144px);
  padding-bottom:clamp(56px,7vw,110px);
}
.home-page .hero-copy{ max-width:1440px; }
.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;
  }
}

/* A fixed year window keeps the figure steady while the decade scrolls back. */
.home-page .count[data-from]{display:inline-block;height:1em;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.home-page .count.year-countdown{display:inline-flex;align-items:baseline}
.year-countdown__window{display:block;height:1em;overflow:hidden;line-height:1;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}
.year-countdown__track{display:flex;flex-direction:column;will-change:transform}
.year-countdown__year{display:block;flex:none;height:1em;line-height:1}

/* Excursions: remove the doubled top spacing and tighten the introduction. */
.home-page #excursions{padding-block:clamp(56px,6vw,88px)}
.home-page #excursions>.wrap{padding-top:0}
.home-page #excursions .sec-head{margin-bottom:clamp(24px,3vw,40px)}
.home-page #excursions .sec-head .h-section{font-size:clamp(36px,4vw,56px)}
.home-page #excursions .sec-head .lead{font-size:clamp(15px,1.3vw,18px);line-height:1.65}
@media(min-width:901px){
 .home-page #excursions .pin-viewport{height:82vh;height:82svh}
 .home-page #excursions .pin-card{height:min(60vh,580px)}
}
@media(prefers-reduced-motion:reduce){.home-page #excursions .pin-viewport{height:auto}}

/* A small navigation sketch introduces the conversation, without new media. */
.home-page .home-inquiry__intro .eyebrow{display:flex;align-items:center;gap:12px}
.home-page .home-inquiry__intro .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);flex:none}
.home-page .inquiry-atlas{display:block;width:min(100%,440px);height:auto;margin-top:24px;overflow:visible;color:var(--ink)}
.home-page .inquiry-atlas__survey{opacity:.2}
.home-page .inquiry-atlas__land{opacity:.6}
.home-page .inquiry-atlas__coast{color:#5d8a7d;opacity:.7}
.home-page .inquiry-atlas__route,.home-page .inquiry-atlas__point{color:#b74920}
.home-page .inquiry-atlas__origin,.home-page .inquiry-atlas__needle{color:#4b776b}
.home-page .home-inquiry__contacts{margin-top:24px}
.home-page .home-inquiry__contacts a{transition:border-color .2s,color .2s}
.home-page .home-inquiry__contacts a:hover{color:#8b350e}
@media(max-width:900px){.home-page .inquiry-atlas{width:min(100%,380px);margin-top:20px}.home-page .home-inquiry__contacts{margin-top:18px}}

/* Final homepage photography: preserve subjects and grade the two phone/thermal shots. */
.home-page .hero-media img[src*="hero-waterfalls"]{object-position:58% 46%}
.home-page .hero-media img[src*="hero-coast"]{object-position:58% 40%}
.home-page .hero-media img[src*="hero-cliffs"]{object-position:56% 42%}
.home-page .hero-media img[src*="hero-thermal"]{object-position:60% 44%;filter:brightness(1.04) contrast(1.06) saturate(.9)}
.home-page .hero-media img[src*="hero-landscape"]{object-position:44% 46%}
.home-page .hero-media img[src*="hero-gastronomy"]{object-position:62% 50%}
.home-page .tour-card img[src*="tour-fishing"]{object-position:50% 25%;filter:brightness(1.05) contrast(1.04) saturate(.94)}
.home-page .tour-card img[src*="tour-summer"]{object-position:50% 30%}
.home-page .tour-card img[src*="tour-winter"]{object-position:44% 44%}
.home-page .addon-card img[src*="addon-paragliding"]{object-position:50% 30%}
.home-page .addon-card img[src*="addon-sup"]{object-position:60% 40%}
.home-page .addon-card img[src*="addon-airsoft"]{object-position:50% 25%}
@media(max-width:600px){
  .home-page .tour-card.feature{min-height:520px}
  .home-page .addon-card:has(img[src*="addon-paragliding"]){min-height:360px}
  .home-page .addon-card:has(img[src*="addon-airsoft"]){min-height:380px}
  .home-page .addon-card img[src*="addon-airsoft"]{object-position:50% 20%}
}

/* Temporary spans are removed after the entrance; normal wrapping then resumes. */
.home-page .hero-title-word{display:inline-block;vertical-align:baseline}

/* Strong two-line introduction and a lighter supporting phrase. */
.home-page .hero h1:has(.hero-title-lead){max-width:1440px;margin-bottom:clamp(30px,3.5vw,56px)}
.home-page .hero-title-lead{display:block;font-family:var(--font-ui);font-weight:700;font-size:clamp(44px,7.5vw,144px);line-height:1.04;letter-spacing:-.04em}
.home-page .hero-title-lead > span{display:block;white-space:nowrap}
.home-page .hero-title-detail{display:block;max-width:27ch;margin-top:.65em;font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3.1vw,56px);line-height:1.18;letter-spacing:-.015em}
@media(max-width:600px){
 .home-page .hero-title-lead{font-size:clamp(29px,9.2vw,55px);letter-spacing:-.035em}
 .home-page .hero-title-detail{font-size:clamp(26px,6.9vw,36px);margin-top:.65em;max-width:24ch}
}
.home-page:lang(zh-CN) .hero-title-lead > span{white-space:normal}
@media(max-width:600px){.home-page:lang(en) .hero-title-lead{font-size:clamp(25px,7.7vw,46px)}}

@media(max-width:600px){.home-page .hero-inner{padding-inline:20px}.home-page .hero{padding-top:112px}.home-page .hero-loc .eyebrow{letter-spacing:.14em!important}}
