/* Hero „Schietwetter? Draußen.“: Das Dach montiert sich beim Scrollen, der Regen hört darunter auf. */
#held { position: relative; background: var(--nacht); color: #fff; }
#held .ht-spur { position: relative; height: 330svh; }
#held .ht-buehne { position: sticky; top: var(--kopf); height: calc(100svh - var(--kopf)); min-height: 520px; overflow: hidden; contain: layout paint; }
#held .ht-bild, #held .ht-bild img, #held .ht-gl, #held .ht-regen { position: absolute; inset: 0; width: 100%; height: 100%; }
#held .ht-bild img { object-fit: cover; object-position: 50% 50%; }
#held .ht-gl { opacity: 0; transition: opacity .35s; }
#held.gl-an .ht-gl { opacity: 1; }
#held .ht-regen { pointer-events: none; }
#held .ht-schleier { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(12, 16, 18, .8) 0%, rgba(12, 16, 18, .45) 20%, rgba(12, 16, 18, 0) 38%); }
#held .ht-schleier::after { content: ""; position: absolute; inset: 0; transition: opacity .6s;
  background: linear-gradient(0deg, rgba(10, 14, 16, .92) 0%, rgba(10, 14, 16, .6) 24%, rgba(10, 14, 16, 0) 46%); }

#held .ht-text { position: absolute; left: 0; right: 0; top: clamp(18px, 4vh, 48px); }
#held .ht-text .augenbraue { margin-bottom: 10px; }
#held .ht-zeile { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#held .ht-wetter-oben { display: none; margin: 0 0 10px; }
#held .ht-titel { font-size: clamp(60px, 16.4vw, 212px); line-height: .84; hyphens: manual; text-shadow: 0 2px 30px rgba(0, 0, 0, .35); }
#held .ht-z1, #held .ht-z2 { display: block; }
#held .ht-z2 { opacity: 0; transform: translateY(.18em); transition: opacity .7s var(--kurve), transform .7s var(--kurve); }
#held.fertig .ht-z2 { opacity: 1; transform: none; }

#held .ht-unten { position: absolute; left: 0; right: 0; bottom: calc(18px + env(safe-area-inset-bottom)); }
#held .ht-lead { color: #e7ecee; margin-bottom: 18px; max-width: 30ch; transition: opacity .5s var(--kurve), transform .5s var(--kurve); }
#held .ht-bauen svg { width: 22px; height: 22px; }
#held .ht-knoepfe { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
#held .ht-ab { font-weight: 560; opacity: .85; padding-left: 10px; border-left: 1px solid rgba(18, 23, 26, .35); }
#held .ht-preis { margin: 0 0 10px; color: #c2ccd1; }
#held .ht-wetter { margin: 0; }

#held .ht-schritte { position: absolute; right: var(--rand); top: 50%; transform: translateY(-50%); list-style: none; margin: 0; padding: 0; display: none; gap: 10px; flex-direction: column; font: 680 12.5px/1 var(--display); font-stretch: 112%; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .82); }
#held .ht-schritte li { display: flex; align-items: center; gap: 10px; transition: color .3s; text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }
#held .ht-schritte .ht-q { width: 12px; height: 12px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); transition: background .3s, box-shadow .3s; }
#held .ht-schritte li.an { color: #fff; }
#held .ht-schritte li.an .ht-q { background: var(--salbei); box-shadow: none; }
#held .ht-hinweis { position: absolute; left: 50%; bottom: calc(10px + env(safe-area-inset-bottom)); transform: translateX(-50%); margin: 0; font: 600 12px/1 var(--text); letter-spacing: .06em; color: rgba(255, 255, 255, .6); display: none; }

@media (min-width: 760px) {
  #held .ht-schritte { display: flex; }
}
@media (min-width: 1000px) {
  #held .ht-titel { font-size: clamp(104px, 10.2vw, 196px); }
  #held .ht-z1, #held .ht-z2 { display: inline; }
  #held .ht-z2 { display: inline-block; }
  #held .ht-unten { display: grid; grid-template-columns: minmax(0, 34ch) auto; align-items: end; column-gap: 40px; }
  #held .ht-lead { grid-column: 1; grid-row: 1 / 3; margin: 0; }
  #held .ht-knoepfe { grid-column: 2; justify-content: flex-end; margin: 0 0 10px; }
  #held .ht-preis { grid-column: 2; text-align: right; }
  #held .ht-wetter { display: none; }
  #held .ht-wetter-oben { display: inline-flex; }
}
@media (max-width: 999px) {
  /* Am Handy gibt der Text die Terrasse frei, sobald gebaut wird */
  #held .ht-knoepfe .knopf:first-child { flex: 1 1 auto; }
  #held .ht-bauen { flex: 0 0 52px; padding: 0; }
  #held .ht-bauen .ht-bauen-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  #held.baut .ht-lead { opacity: 0; transform: translateY(10px); }
  #held.baut .ht-schleier::after { opacity: .55; }
}
@media (max-width: 380px) {
  #held .ht-lead { font-size: 16.5px; }
  #held .ht-knoepfe .knopf:first-child { padding: 0 14px; }
}
@media (max-height: 640px) and (max-width: 999px) {
  #held .ht-lead { display: none; }
}

/* Ohne Bewegung: Endzustand, keine Scrollstrecke */
#held.ruhig .ht-spur { height: auto; }
#held.ruhig .ht-buehne { position: relative; top: 0; }
#held.ruhig .ht-z2 { opacity: 1; transform: none; }
