/* The first desktop screen shares one frame for copy, booking and portrait film.
   min-height, not a fixed height: zoom and unusually short windows can still scroll. */
@media(min-width:1001px){
  :root{--home-header-height:86px;--home-gutter:clamp(32px,3.4vw,52px)}
  .header{width:100%;max-width:1320px;height:var(--home-header-height);padding:0 var(--home-gutter);gap:26px;justify-content:space-between}
  .header .navigation{margin-left:0;gap:28px}
  .header .nav-contact{margin-left:0;max-width:256px;font-size:.8125rem;padding:11px 17px}
  .hero{width:100%;max-width:1320px;min-height:calc(100svh - var(--home-header-height));padding:22px var(--home-gutter) 40px;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:clamp(34px,4.1vw,62px);align-items:center}
  .hero-copy{min-width:0;padding:0;align-self:center}
  .hero .eyebrow{font-size:.6875rem;letter-spacing:.09em;line-height:1.5}
  .hero h1{font-size:clamp(3rem,min(5.2vw,8.6svh),5rem);line-height:1.04;margin:22px 0 22px;letter-spacing:-.065em}
  .hero h1 br:first-of-type{display:none}
  .hero-lead{max-width:660px;font-size:1.0625rem;line-height:1.6;margin-bottom:8px}
  .hero-description{max-width:560px;font-size:1rem;line-height:1.65;margin-bottom:20px}
  .hero-appointments{max-width:none;margin:22px 0 16px}
  .hero-appointments-heading{gap:6px 14px;margin-bottom:10px;align-items:center}
  .hero-appointments-heading>h2{flex:1 1 315px;font-size:1.125rem;line-height:1.35}
  .hero-appointments-heading>a{font-size:.8125rem}
  .hero-appointments .slot-suggestions{gap:8px}
  .hero-appointments .slot-suggestion-day{padding:10px 9px}
  .hero-appointments .slot-suggestion-date{font-size:.8125rem;margin-bottom:8px}
  .hero-appointments .slot-suggestion-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .hero-appointments .slot-suggestion-time{min-height:40px;font-size:.75rem}
  .hero-appointments .hero-appointments-note{font-size:.6875rem;line-height:1.5;margin-top:8px}
  .hero-offers-link{font-size:.875rem;line-height:1.5;margin-top:0}
  .hero-origin{font-size:.75rem;line-height:1.5;margin-top:20px}
  .hero-visual.film-visual{width:100%;padding:0;min-height:0;align-self:center;justify-items:center}
  .hero-film{width:min(100%,calc((100svh - 172px)*.5625),382.5px);min-width:0;aspect-ratio:9/16;border-radius:18px;box-shadow:0 18px 45px -15px #17221f28}
}
@media(min-width:1001px) and (max-height:800px){
  :root{--home-header-height:76px}
  .header .brand img{width:160px}
  .header .nav-contact{padding:9px 15px}
  .hero{padding-top:16px;padding-bottom:28px}
  .hero h1{font-size:clamp(2.85rem,min(4.8vw,8svh),4rem);margin:15px 0 16px}
  .hero-lead{font-size:1rem;line-height:1.5;margin-bottom:6px}
  .hero-description{font-size:.9375rem;line-height:1.6;margin-bottom:14px}
  .hero-appointments{margin:16px 0 13px}
  .hero-appointments-heading>h2{font-size:1.0625rem}
  .hero-appointments-heading{margin-bottom:8px}
  .hero-appointments .slot-suggestion-day{padding:9px 8px}
  .hero-origin{margin-top:14px;font-size:.6875rem}
  .hero-film{width:min(100%,calc((100svh - 132px)*.5625),358px)}
}
@media(min-width:1001px) and (max-width:1150px){
  .header{gap:19px}
  .header .brand img{width:150px}
  .header .navigation{gap:18px}
  .header .navigation>a{font-size:.8125rem;white-space:nowrap}
  .header .nav-contact{max-width:256px;margin-left:0;font-size:.75rem;padding:9px 14px;gap:12px}
  .hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}
  .hero-appointments-heading>h2{flex-basis:270px;font-size:1rem}
  .hero-appointments-heading>a{font-size:.75rem}
  .hero-film{width:min(100%,calc((100svh - 170px)*.5625),300px)}
  .hero-appointments .slot-suggestion-times{gap:3px}
  .hero-appointments .slot-suggestion-time{font-size:.6875rem}
}

/* On phones the film reaches both screen edges; copy keeps its reading margin. */
@media(max-width:620px){
  .hero{width:100%;padding-inline:0}
  .hero .hero-copy{width:100%;min-width:0;padding-inline:6%}
  .hero .hero-visual.film-visual{width:100%;margin:0;padding:0}
  .hero .hero-film{width:100%;max-width:none;border:0;border-radius:0;box-shadow:none}
  .hero .hero-film-video{border:0;border-radius:0}
}
