/* Option A — approved cinema composition. Homepage only, loaded after shared CSS.
   Layout changes only: the existing video lifecycle and HotelRunner form remain intact. */
.home-intro .home-hero{
  height:auto;min-height:100vh;min-height:100svh;
  grid-template-rows:minmax(min-content,1fr) auto;row-gap:22px;
  padding-top:96px;padding-bottom:calc(26px + env(safe-area-inset-bottom) + var(--privacy-notice-space,0px));
}
.home-intro .home-hero-copy{padding-block:8px}
.home-hero h1.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.13em;margin-bottom:18px}
.home-hero .home-hero-poem{font-size:clamp(44px,4.98vw,68px);line-height:1.12;letter-spacing:-.035em;margin-bottom:20px}
.home-hero .home-hero-poem>span,.home-hero .home-hero-poem>em{white-space:normal;text-wrap:balance}
.home-hero .home-hero-lead{font-size:14px;line-height:1.7;max-width:425px;margin-bottom:0}
.home-hero .home-hero-utilities.wrap{width:min(980px,calc(100% - 80px));margin-inline:auto;transition-delay:.3s,.3s,0s}
.home-hero-utilities .hero-ratings{gap:8px 26px}
.home-hero-utilities .rating-link{min-height:40px}
.home-hero-utilities .rating-platform{font-size:11px}
.home-hero-utilities .rating-count{font-size:10px}
.home-hero-utilities .opening-booking{margin-top:12px}
.home-hero .stay-search{padding:12px 16px}
.home-hero .stay-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) auto;gap:0;align-items:center}
.home-hero .stay-date-field,.home-hero .stay-guests-field{grid-column:auto;display:block;padding:0 16px;margin:0;border-top:0}
.home-hero .stay-date-field:first-child{padding-left:0}
.home-hero .stay-date-field>label,.home-hero .stay-field-label{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.04em;text-transform:none;margin-bottom:2px}
.home-hero .stay-date-field>input{height:38px;font-size:14px}
.home-hero #stay-guests-toggle{font-size:14px;min-height:38px;gap:8px}
.home-hero .stay-search-form>.stay-search-link{grid-column:auto;min-height:48px;min-width:0;width:auto;margin:0;padding:13px 17px;font-size:12px;line-height:1.5;gap:16px;white-space:nowrap}
.home-hero .stay-search-link svg{width:18px;height:18px;flex-shrink:0}

@media(max-width:1000px){
  .home-intro .home-hero{padding-top:90px}
  .home-hero .home-hero-utilities.wrap{width:min(760px,calc(100% - 48px))}
  .home-hero .stay-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);row-gap:12px}
  .home-hero .stay-guests-field{padding-right:0}
  .home-hero .stay-search-form>.stay-search-link{grid-column:1/-1;justify-content:space-between;width:100%}
}
@media(max-width:800px){
  .home-intro .home-hero{padding-top:82px;row-gap:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom) + var(--privacy-notice-space,0px))}
  .home-intro .home-hero-copy.wrap{width:calc(100% - 48px)}
  .home-hero h1.eyebrow{font-size:10px;letter-spacing:.08em;max-width:440px}
  .home-hero .home-hero-poem{font-size:clamp(35px,5.6vw,45px)}
  .home-hero .home-hero-lead{font-size:13px}
  .home-hero-utilities .hero-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;max-width:340px;margin-inline:auto}
  .home-hero-utilities .hero-ratings .rating-link{flex-direction:row;justify-content:center;min-height:32px;gap:6px}
  .home-hero-utilities .rating-body{column-gap:4px}
  .home-hero-utilities .rating-score strong{font-size:14px}
  .home-hero-utilities .rating-score>span{font-size:10px}
  .home-hero-utilities .review-mark{width:17px;height:17px;flex-basis:17px}
  .home-hero-utilities .opening-booking{margin-top:10px}
  .home-hero .stay-date-field>input{font-size:16px}
}
@media(max-width:600px){
  .home-hero h1.eyebrow{max-width:305px;margin-bottom:18px}
  .home-hero .home-hero-poem{font-size:35px;line-height:1.12;letter-spacing:-.03em;margin-bottom:17px}
  .home-hero .home-hero-poem>span,.home-hero .home-hero-poem>em{max-width:310px}
  .home-hero .home-hero-lead{max-width:315px;line-height:1.7}
  .home-hero .home-hero-utilities.wrap{width:calc(100% - 32px)}
  .home-hero .stay-search{padding:12px 14px}
  .home-hero .stay-search-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 0}
  .home-hero .stay-date-field{grid-column:auto;display:block;padding:0 12px;border:0;border-right:1px solid var(--line)}
  .home-hero .stay-date-field:first-child{padding-left:0}
  .home-hero .stay-date-field:nth-child(2){padding-right:0;border-right:0}
  .home-hero .stay-date-field>input{height:38px;min-height:38px}
  .home-hero .stay-guests-field{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:0;padding:6px 0 0;border-top:1px solid var(--line)}
  .home-hero .stay-field-label{flex:0 1 118px;letter-spacing:0;margin-bottom:0}
  .home-hero #stay-guests-toggle{flex:1;min-width:0;min-height:44px;font-size:13px}
  .home-hero #stay-guests-toggle svg{width:16px;height:16px}
  .home-hero .stay-search-form>.stay-search-link{min-height:46px;padding:11px 15px;font-size:13px;letter-spacing:.02em;gap:12px}
}
@media(max-width:340px){
  .home-intro .home-hero-copy.wrap{width:calc(100% - 40px)}
  .home-hero h1.eyebrow{font-size:9.5px;margin-bottom:13px}
  .home-hero .home-hero-poem{font-size:30px}
  .home-hero .home-hero-lead{font-size:12.5px}
  .home-hero .stay-date-field,.home-hero .stay-date-field:first-child,.home-hero .stay-date-field:nth-child(2){grid-column:1/-1;display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;gap:8px;padding:0;border:0;border-bottom:1px solid var(--line)}
  .home-hero .stay-date-field>label{margin:0}
  .home-hero .stay-date-field>input{height:40px}
  .home-hero .stay-guests-field{display:block;padding:0;border-top:0}
  .home-hero-utilities .hero-ratings{gap:0 8px}
  .home-hero-utilities .hero-ratings .rating-link{gap:4px}
  .home-hero-utilities .rating-platform{font-size:10px}
}
/* Short/zoomed viewports may grow instead of clipping the title, fields or errors. */
@media(max-height:700px) and (max-width:600px){
  .home-intro .home-hero{row-gap:16px;padding-top:80px}
  .home-intro .home-hero-copy{padding-block:0}
  .home-hero h1.eyebrow{margin-bottom:12px}
  .home-hero .home-hero-poem{font-size:31px;margin-bottom:12px}
  .home-hero .home-hero-lead{line-height:1.6}
}
@media(max-height:520px){
  .home-intro .home-hero{padding-top:110px;row-gap:24px}
}
