/* Casa Strela Core – Zimmerkarten und Suchformular (Design-Tokens --st-* kommen aus dem Breakdance-Stylesheet «Casa System»). */
.cs-rooms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1023px) { .cs-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .cs-rooms { grid-template-columns: 1fr; } }
.cs-room { background: var(--st-white, #fff); border: 1px solid var(--st-line, #E3DACD); border-radius: var(--st-radius, 8px); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .3s ease; }
.cs-room:hover { box-shadow: var(--st-shadow-card, 0 12px 34px rgba(0,0,0,.12)); }
.cs-room__media { position: relative; display: block; }
.cs-room__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cs-room__badge { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px; border-radius: 3px; background: var(--st-peach, #FDEDE5); color: var(--st-brand, #70231d); font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-weight: 700; font-size: 10px; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; }
.cs-room__body { padding: 20px 20px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1 1 0%; }
.cs-room__top { display: flex; align-items: baseline; gap: 10px; }
.cs-room__num { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 15px; line-height: 1; color: #7E6558; }
.cs-label { font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-weight: 600; font-size: 11px; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; color: var(--st-kicker, #8f5717); }
.cs-room__title { margin: 0; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-weight: 600; font-size: 21px; line-height: 1.3; }
.cs-room__title a { color: var(--st-brand, #70231d); text-decoration: none; }
.cs-room__title a:hover { color: var(--st-kicker, #8f5717); }
.cs-room__text { margin: 0; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 15px; line-height: 1.6; color: var(--st-text, #514846); }
.cs-room__amen { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cs-room__amen li i { color: var(--st-brand, #70231d); font-size: 11px; margin-right: 6px; }
.cs-room__amen li { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: var(--st-paper, #F3EDE3); font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 12.5px; line-height: 1.2; color: var(--st-meta, #5A4A45); }
.cs-room__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--st-line-soft, #EFE8E1); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; }
.cs-room__price { font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14px; line-height: 1.4; color: var(--st-meta, #5A4A45); }
.cs-room__price b { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 20px; color: var(--st-ink, #241512); }
.cs-room__btn { min-height: 40px; padding: 9px 18px; font-size: 14px; }
.cs-search { position: relative; background: var(--st-bg, #FBFCF8); border: 1px solid var(--st-line, #E3DACD); border-radius: var(--st-radius, 8px); padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr)); gap: 16px; align-items: end; }
.cs-field { display: flex; flex-direction: column; gap: 7px; }
.cs-field__label { font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-weight: 600; font-size: 11px; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; color: var(--st-kicker, #8f5717); }
.cs-field__input { -webkit-appearance: none; appearance: none; width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid var(--st-line, #E3DACD); border-radius: 8px; background: #fff; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 15px; line-height: 1.4; color: var(--st-ink, #241512); }
.cs-field__input:focus { outline: 2px solid var(--st-accent, #f2971a); outline-offset: 1px; border-color: var(--st-accent, #f2971a); }
select.cs-field__input { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2370231d' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 34px; }
.cs-search__btn { min-height: 48px; width: 100%; }
@media (max-width: 767px) { .cs-search { padding: 16px; gap: 12px; } }

/* Buchungsseite: eigene Suchkarte nur am Anfang, dann VikBooking-Ansichten */
.st-book-search { display: none; }
body.cs-book-start .st-book-search { display: block; }
body.cs-book-start .vbdivsearch, body.cs-book-start .vbo-search-inpblock { display: none; }

/* Kalender (Datumswahl) in den Systemfarben */
.cs-field__input--picker { cursor: pointer; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2370231d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") no-repeat right 13px center; }
.cs-field__input--picker:not(:placeholder-shown) { color: var(--st-ink, #241512); font-weight: 600; }
.cs-picker { position: absolute; z-index: 40; top: calc(100% + 10px); left: 0; width: min(100%, 720px); box-sizing: border-box; background: #fff; border: 1px solid var(--st-line, #E3DACD); border-radius: 12px; box-shadow: var(--st-shadow-menu, 0 20px 44px rgba(36,21,18,.2)); padding: 16px 18px 14px; font-family: var(--st-font-body, 'Work Sans'), sans-serif; color: var(--st-text, #514846); }
.cs-picker[hidden], .cs-picker-backdrop[hidden] { display: none; }
.cs-picker__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.cs-picker__hint { font-weight: 600; font-size: 13px; letter-spacing: .04em; color: var(--st-kicker, #8f5717); text-align: center; }
.cs-picker__nav { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 999px; border: 1px solid var(--st-line, #E3DACD); background: #fff; color: var(--st-brand, #70231d); font-size: 22px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0 0 3px; }
.cs-picker__nav:hover { background: var(--st-brand, #70231d); border-color: var(--st-brand, #70231d); color: #fff; }
.cs-picker__nav:disabled { opacity: .35; cursor: default; background: #fff; color: var(--st-brand, #70231d); border-color: var(--st-line, #E3DACD); }
.cs-picker__months { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; }
.cs-picker__title { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 17px; line-height: 1.2; color: var(--st-ink, #241512); text-align: center; margin-bottom: 6px; }
.cs-picker__grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.cs-picker__wd { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--st-kicker, #8f5717); padding: 6px 0 8px; }
.cs-picker__day { position: relative; height: 42px; margin: 0; padding: 0; border: 0; background: transparent; font: inherit; font-size: 14.5px; color: var(--st-ink, #241512); cursor: pointer; }
.cs-picker__day span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 999px; transition: background .12s ease, color .12s ease; }
.cs-picker__day:not(:disabled):hover span { background: var(--st-accent, #f2971a); color: var(--st-accent-ink, #3A1B06); font-weight: 600; }
.cs-picker__day--empty { pointer-events: none; }
.cs-picker__day--past, .cs-picker__day--disabled { color: #C2B7B0; cursor: not-allowed; }
.cs-picker__day--busy { color: #C2B7B0; text-decoration: line-through; text-decoration-color: var(--st-busy, #8A3A32); }
.cs-picker__day--busy::after { content: ''; position: absolute; left: 50%; bottom: 3px; width: 5px; height: 5px; margin-left: -2px; border-radius: 50%; background: var(--st-busy, #8A3A32); }
.cs-picker__day--today span { box-shadow: inset 0 0 0 1px var(--st-line-paper, #DCD2C2); }
.cs-picker__day--range, .cs-picker__day--preview { background: var(--st-peach, #FDEDE5); }
.cs-picker__day--range span, .cs-picker__day--preview span { color: var(--st-brand, #70231d); }
.cs-picker__day--start { background: linear-gradient(to right, transparent 50%, var(--st-peach, #FDEDE5) 50%); }
.cs-picker__day--end, .cs-picker__day--preview-end { background: linear-gradient(to right, var(--st-peach, #FDEDE5) 50%, transparent 50%); }
.cs-picker__day--start.cs-picker__day--end { background: transparent; }
.cs-picker__day--start span, .cs-picker__day--end span, .cs-picker__day--preview-end span { background: var(--st-brand, #70231d); color: #fff; font-weight: 600; }
.cs-picker__day--start:hover span, .cs-picker__day--end:hover span { background: var(--st-brand, #70231d); color: #fff; }
.cs-picker__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--st-line-soft, #EFE8E1); }
.cs-picker__summary { font-size: 14px; line-height: 1.5; }
.cs-picker__summary b { color: var(--st-ink, #241512); }
.cs-picker__legend { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--st-meta, #5A4A45); }
.cs-picker__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--st-busy, #8A3A32); }
.cs-picker__actions { display: flex; align-items: center; gap: 6px; }
.cs-picker__clear { background: none; border: 0; padding: 8px 10px; font: inherit; font-weight: 600; font-size: 14px; color: var(--st-brand, #70231d); cursor: pointer; }
.cs-picker__clear:hover { color: var(--st-kicker, #8f5717); }
.cs-picker__done { min-height: 38px; padding: 8px 18px; font-size: 14px; }
.cs-picker-backdrop { position: fixed; inset: 0; z-index: 39; background: rgba(36,21,18,.4); }
@media (max-width: 767px) {
  .cs-picker { position: fixed; top: auto; left: 10px; right: 10px; bottom: 10px; width: auto; max-height: 84vh; overflow: auto; border-radius: 14px; padding: 14px 14px 12px; }
  .cs-picker__months { grid-template-columns: 1fr; }
  .cs-picker__day { height: 44px; }
}

/* Zimmer-Detailseite: Kopf, Ausstattungs-Raster, VikBooking-Blöcke */
.cs-room-head__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.cs-room-head__pill { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--st-line, #E3DACD); font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14px; line-height: 1.2; color: var(--st-nav, #3A2A26); }
.cs-room-head__pill i { color: var(--st-brand, #70231d); font-size: 13px; }
.cs-room-head__pill--price b { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 17px; color: var(--st-ink, #241512); }
.cs-amen { margin: 30px 0 6px; }
.cs-amen__head { margin-bottom: 14px; }
.cs-amen__title { margin: 4px 0 0; font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 24px; line-height: 1.2; color: var(--st-ink, #241512); }
.cs-amen__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 10px; }
.cs-amen__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--st-line, #E3DACD); border-radius: 8px; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14.5px; line-height: 1.35; color: var(--st-ink, #241512); }
.cs-amen__icon { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 999px; background: var(--st-peach, #FDEDE5); color: var(--st-brand, #70231d); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }
body .vbo-room-details-wrap .vikfx-gallery-image, body .vbo-room-details-wrap .vikfx-gallery img { border-radius: 8px; }
body .vbo-rdet-descprice-block { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 28px; align-items: start; margin-top: 22px; padding: 22px 24px; background: #fff; border: 1px solid var(--st-line, #E3DACD); border-radius: 8px; }
body .vbo-rdet-desc-cont { font-family: var(--st-font-body, 'Work Sans'), sans-serif; }
body .vbo-rdet-desc-cont p { margin: 0 0 10px; font-size: 15.5px; line-height: 1.65; color: var(--st-text, #514846); }
body .vb_detcostroomdet, body .vb_detcostroom { margin: 0; }
body .vbo-rdet-descprice-block .vblistroomnamedivprice { background: var(--st-paper, #F3EDE3); border-radius: 8px; padding: 14px 18px; text-align: right; }
body .vbo-rdet-descprice-block .vbliststartfromrdet { display: block; margin-bottom: 4px; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--st-kicker, #8f5717); }
body .vbo-rdet-descprice-block .room_cost { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 22px; color: var(--st-ink, #241512); }
body .vbo-roomdet-calscontainer h4, body .vbo-seldates-cont h4, body .vbo-availcalendars-cont h4 { margin: 30px 0 12px; font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 24px; line-height: 1.2; color: var(--st-ink, #241512); }
body .vbo-seldates-cont-inner, body .vbo-room-details-booking-wrapper .vbo-search-inpblock { background: #fff; border: 1px solid var(--st-line, #E3DACD); border-radius: 8px; }
@media (max-width: 767px) { body .vbo-rdet-descprice-block { grid-template-columns: 1fr; } body .vbo-rdet-descprice-block .vblistroomnamedivprice { text-align: left; } }

/* Detailseite: Preisbox neben der Beschreibung, Verfügbarkeitskalender in den Systemfarben */
body .vbo-rdet-descprice-block .vbo-rdet-desc-cont { border: 0 !important; padding: 0 !important; margin: 0 !important; width: auto !important; }
body .vbo-rdet-descprice-block .vb_detcostroomdet, body .vbo-rdet-descprice-block .vb_detcostroom { width: auto !important; min-width: 200px; float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .vbo-rdet-descprice-block .vblistroomnamedivprice { width: auto !important; }
body .vbo-rdet-descprice-block .vblistroomname { display: block; width: auto !important; }
body .vbo-rdet-descprice-block .room_cost { display: block; white-space: nowrap; }
body .vbo-availcalendars-cont .vbcaldivcont, body .vbo-availcalendars-cont table.vbcal { font-family: var(--st-font-body, 'Work Sans'), sans-serif; }
body .vbo-availcalendars-cont .vbcaltrmonth, body .vbo-availcalendars-cont .vbcaltrmonth td { font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 16px; color: var(--st-ink, #241512); }
body .vbo-availcalendars-cont .vbcaldays td, body .vbo-availcalendars-cont td.vbcaldays { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--st-kicker, #8f5717); }
body .vbo-availcalendars-cont td.vbtdfree { background: #fff !important; color: var(--st-ink, #241512) !important; border: 1px solid var(--st-line-soft, #EFE8E1) !important; }
body .vbo-availcalendars-cont td.vbtdbusy { background: var(--st-busy, #8A3A32) !important; color: #fff !important; border: 1px solid #fff !important; }
body .vbo-availcalendars-cont td.vbtdempty { background: transparent !important; border: 0 !important; }
body .vbo-availcalendars-cont .vblegenda .vblegenda-status.vbtdbusy, body .vbo-availcalendars-cont .vblegendediv .vbtdbusy { background: var(--st-busy, #8A3A32) !important; }
body .vbo-availcalendars-cont .vbselectm { font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14px; padding: 8px 12px; border: 1px solid var(--st-line, #E3DACD); border-radius: 8px; background: #fff; }
body .vbo-rdet-avcal-nav, body .vbo-availcalendars-cont .vbo-rdet-avcal-nav a { background: var(--st-brand, #70231d) !important; color: #fff !important; }
body .vblegendediv { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0 12px; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 13.5px; color: var(--st-meta, #5A4A45); }
body .vblegendediv [class*="busy"], body .vblegendediv .vblegenda-status.busy { background: var(--st-busy, #8A3A32) !important; border-color: var(--st-busy, #8A3A32) !important; }
body .vblegendediv [class*="free"] { background: #fff !important; border: 1px solid var(--st-line, #E3DACD) !important; }
body .vblegendediv .vblegenda-status, body .vblegendediv span[class*="vbtd"] { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: middle; margin-right: 6px; }

/* Zimmer-Detailseite: Buchungskarte (ersetzt das VikBooking-Formular) */
.cs-room-book { margin: 34px 0 8px; padding: 26px 26px 22px; background: var(--st-brand, #70231d); border: 1px solid var(--st-brand-border, #5A1A15); border-radius: var(--st-radius, 8px); }
.cs-room-book__head { margin-bottom: 18px; }
.cs-room-book__label { color: var(--st-sand, #f7c98a); }
.cs-room-book__title { margin: 6px 0 0; font-family: var(--st-font-head, 'Baloo Thambi 2'), sans-serif; font-weight: 700; font-size: 26px; line-height: 1.2; color: #fff; }
.cs-room-book__note { margin: 14px 0 0; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14px; line-height: 1.6; color: var(--st-on-dark-4, #E7CFC5); }
@media (max-width: 767px) { .cs-room-book { padding: 20px 16px 18px; } }
/* Mobil: Ausstattung zweispaltig und kompakter */
@media (max-width: 767px) {
  .cs-amen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cs-amen__item { padding: 9px 10px; gap: 9px; font-size: 13.5px; }
  .cs-amen__icon { width: 32px; height: 32px; font-size: 13px; }
  .cs-room-head__meta { gap: 6px; }
  .cs-room-head__pill { min-height: 32px; padding: 6px 12px; font-size: 13px; }
}

/* Buchungs-Login (VikBooking orderslist): Karte mit Buchungsnummer/PIN */
.cs-find { max-width: 640px; }
.cs-find__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 22px; background: #fff; border: 1px solid var(--st-line, #E3DACD); border-radius: var(--st-radius, 8px); }
.cs-find__btn { min-height: 48px; white-space: nowrap; }
.cs-find__note { margin: 12px 0 0; font-family: var(--st-font-body, 'Work Sans'), sans-serif; font-size: 14px; line-height: 1.6; color: var(--st-meta, #5A4A45); }
@media (max-width: 599px) { .cs-find__form { grid-template-columns: 1fr; } }

/* Buchungssuche: Button exakt so hoch wie das Feld (hotel-system.css setzt .st-btn auf 44 px) */
.cs-find .cs-find__form { align-items: end; }
.cs-find .cs-find__btn { min-height: 48px; height: 48px; padding: 0 26px; font-size: 15px; }
.cs-find .cs-find__field { margin: 0; } /* .cs-field hat 5 px Abstand unten → Button stand 5 px tiefer als das Feld */

/* --- Bewegung wie auf strela-travel.com (reveal.js setzt data-st-reveal + is-visible); nur ohne «Bewegung reduzieren» --- */
:root { --st-ease: cubic-bezier(.16, 1, .3, 1); }
@media (prefers-reduced-motion: no-preference) {
  [data-st-reveal] { --st-delay: 0s; will-change: opacity, transform, clip-path; }
  [data-st-reveal="up"] { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--st-ease) var(--st-delay), transform .6s var(--st-ease) var(--st-delay); }
  [data-st-reveal="scale"] { opacity: 0; transform: translateY(18px) scale(.975); transition: opacity .6s var(--st-ease) var(--st-delay), transform .6s var(--st-ease) var(--st-delay); }
  [data-st-reveal="mask"] { clip-path: inset(0 0 100% 0); transform: translateY(20px); transition: clip-path .6s var(--st-ease) var(--st-delay), transform .6s var(--st-ease) var(--st-delay); }
  [data-st-reveal].is-visible { opacity: 1; transform: none; will-change: auto; }
  [data-st-reveal="mask"].is-visible { clip-path: inset(0 0 0 0); }
  [data-st-reveal]:not(.is-visible) .st-kicker-line { transform: scaleX(0); }
  .st-kicker-line { transition: transform .9s var(--st-ease) .25s; transform-origin: left center; }
  .st-header { transition: box-shadow .35s ease; }
  .st-header.is-scrolled { box-shadow: 0 10px 30px rgba(36, 21, 18, .09); }
  .st-card, .cs-room { transition: transform .5s var(--st-ease), box-shadow .5s var(--st-ease); }
  .st-card.is-visible:hover, .cs-room.is-visible:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(36, 21, 18, .12); }
}
html.st-no-anim [data-st-reveal], html.st-no-anim [data-st-reveal] img { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }

/* --- Einstieg: Hero und Seitenkopf erscheinen beim Laden (wie strela-travel.com, kürzer abgestimmt) --- */
@media (prefers-reduced-motion: no-preference) {
  .st-hero { overflow: hidden; }
  .st-hero__bg { animation: st-kenburns 10s var(--st-ease) both; transform-origin: 50% 40%; }
  .st-hero__kicker { animation: st-rise-blur .9s var(--st-ease) .1s both; }
  .st-hero__kicker-line, .st-hero__kicker .st-kicker-line { transform-origin: left center; animation: st-draw .9s var(--st-ease) .4s both; }
  .st-hero__title { animation: st-rise-blur 1s var(--st-ease) .25s both; }
  .st-hero__lead { animation: st-rise-blur .9s var(--st-ease) .4s both; }
  .st-hero__actions { animation: st-rise-blur .8s var(--st-ease) .55s both; }
  .st-hero__stats-wrap { animation: st-rise .9s var(--st-ease) .75s both; }
  .st-page-head .st-kicker { animation: st-rise .7s var(--st-ease) .05s both; }
  .st-page-head .st-kicker .st-kicker-line { transform-origin: left center; animation: st-draw .8s var(--st-ease) .35s both; }
  .st-page-head__title { animation: st-rise-blur .9s var(--st-ease) .15s both; }
  .st-page-head__lead, .st-page-head__actions { animation: st-rise .8s var(--st-ease) .3s both; }
  @keyframes st-kenburns { from { transform: scale(1.1); } to { transform: scale(1); } }
  @keyframes st-rise-blur { from { opacity: 0; transform: translateY(26px); filter: blur(8px); } to { opacity: 1; transform: none; filter: blur(0); } }
  @keyframes st-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  @keyframes st-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}
html.st-no-anim .st-hero *, html.st-no-anim .st-hero__bg, html.st-no-anim .st-page-head * { animation: none !important; }
