/* 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}
}

/* AI disclosure stays visible before, during and after playback. */
.film-ai-label{position:absolute;bottom:18px;right:14px;z-index:5;padding:0;border:0;background:none;color:#fff;font:500 11px/1.4 var(--sans);text-shadow:0 1px 3px #000b;letter-spacing:.015em;pointer-events:none}


/* Leave room for the disclosure below the sound control. */
.hero-film-controls .film-sound{bottom:44px}

/* Scroll-Hinweis: zeigt beim Öffnen, dass unter dem ersten Bild noch mehr kommt.
   Fest am unteren Rand, damit er die Hero-Höhe nicht verändert; verschwindet,
   sobald gescrollt wurde. Zentriert über margin, damit transform frei für Bewegung bleibt. */
.scroll-cue{position:fixed;left:0;right:0;bottom:20px;z-index:40;width:max-content;margin:0 auto;display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border:1px solid #17221f0f;border-radius:999px;background:#f5f6f2b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#5f6762;font:500 .75rem/1 var(--sans);letter-spacing:.01em;box-shadow:0 6px 18px -14px #17221f40;transition:opacity .4s ease,transform .4s ease,visibility .4s,color .2s,border-color .2s;animation:scroll-cue-in .7s cubic-bezier(.2,.8,.2,1) 1.6s backwards}
.scroll-cue:hover{color:var(--ink);border-color:#17221f24}
.scroll-cue:focus-visible{outline:3px solid #748d2a;outline-offset:3px}
.scroll-cue-badge{display:grid;place-items:center;width:22px;height:22px;border:1px solid #17221f1f;border-radius:50%;color:#5f6762}
.scroll-cue-window{display:block;width:12px;height:12px;overflow:hidden}
.scroll-cue-arrow{display:block;width:12px;height:12px;animation:scroll-cue-drip 2.8s cubic-bezier(.5,0,.3,1) 2s infinite}
.scroll-cue[data-away]{opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}
@keyframes scroll-cue-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes scroll-cue-drip{0%,45%{transform:translateY(0);opacity:1}65%{transform:translateY(12px);opacity:0}66%{transform:translateY(-12px);opacity:0}86%,100%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-cue,.scroll-cue-arrow{animation:none}}
@media(max-width:620px){.scroll-cue{bottom:14px;font-size:.6875rem}}
