/* scriptedidentity.com — site.css
   1:1-Umsetzung der Design-Vorgabe aus dem Claude-Design-Projekt „Scripted Identity Design System"
   (templates/landing/Landing.dc.html Struktur v3, templates/legal/Legal.dc.html, components/patterns/*,
   components/navigation/*, components/core/Button.jsx, SectionHeading.jsx, BadgeRow.jsx; Stand 29.08.2026).
   Tokens aus tokens/*.css. Lato selbst gehostet. Keine externen Requests. */

/* ── Lato (woff2, latin + latin-ext, Gewichte 300/400/700) ── */
@font-face{font-family:"Lato";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/lato-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lato";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/lato-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lato-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lato";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/lato-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lato-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/lato-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/lato-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Tokens (tokens/colors.css, typography.css, spacing.css) ── */
:root{
  --si-petrol:#153d4b;--si-hellblau:#b8d0fd;--si-orange:#fe904d;--si-weiss:#ffffff;
  --si-petrol-tiefer:#0e2e39;--si-petrol-heller:#1c4f60;--si-petrol-hell:#eef3f6;
  --si-orange-hover:#ff9f66;--si-orange-aktiv:#ea7f3c;--si-hellblau-gedimmt:rgba(184,208,253,.62);
  --surface-page:var(--si-petrol);--surface-card:var(--si-petrol-tiefer);--surface-light:var(--si-weiss);--surface-light-alt:var(--si-petrol-hell);
  --text-body:var(--si-hellblau);--text-body-dim:var(--si-hellblau-gedimmt);--text-heading:var(--si-orange);--text-on-light:var(--si-petrol);--accent:var(--si-orange);
  --border-on-dark:rgba(184,208,253,.22);--border-on-light:rgba(21,61,75,.18);--focus-ring:rgba(254,144,77,.55);
  --status-ok:#7fd6a4;--status-warn:#f5c76a;--status-fehler:#f08a8a;
  --font-sans:"Lato",-apple-system,"Segoe UI",sans-serif;
  --fs-display:clamp(40px,5vw,64px);--fs-h1:40px;--fs-h2:28px;--fs-h3:20px;--fs-body:17px;--fs-small:14px;--fs-caption:12.5px;
  --lh-display:1.08;--lh-heading:1.2;--lh-body:1.65;--ls-display:-0.01em;--ls-caps:0.14em;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
  --section-y:112px;--content-max:1120px;--content-pad:var(--sp-6);
  --radius-s:6px;--radius-m:10px;--radius-l:14px;--radius-pill:999px;
  --shadow-light:0 2px 12px rgba(21,61,75,.10);--ease:cubic-bezier(.4,0,.2,1);--dur:160ms;
  --nav-h:72px;
}

/* ── Basis ── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-weight:400;font-size:var(--fs-body);line-height:var(--lh-body)}
a{color:var(--si-hellblau);text-decoration:none;transition:color var(--dur) var(--ease)} /* Links nie unterstrichen */
a:hover{color:var(--si-weiss)}
img{max-width:100%;height:auto;display:block}
button{font:inherit}
h1,h2,h3,h4,p{margin:0}
::selection{background:var(--si-orange);color:var(--si-petrol)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.container{max-width:var(--content-max);margin:0 auto;padding:0 var(--content-pad)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--si-orange);color:var(--si-petrol);padding:8px 14px;border-radius:var(--radius-s);z-index:100;font-weight:700}
.skip-link:focus{left:8px}
[data-lang][hidden]{display:none!important}
/* Kicker/Eyebrow: steht immer allein in der Zeile; auf Dunkelgrün orange, auf Hell petrol */
.eyebrow{display:block;color:var(--si-orange);font-size:13px;font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase}
.eyebrow--dim{color:var(--text-body-dim)}
/* Eyebrow auf heller Fläche (DS SectionHeading onLight): Petrol, oranger Strich darunter — einheitlich 13px */
.eyebrow--light{color:var(--si-petrol)}
.eyebrow--light::after{content:"";display:block;width:44px;height:3px;background:var(--si-orange);margin-top:8px}
.sec{padding:var(--section-y) 0}
.sec--deep{background:var(--si-petrol-tiefer)}
.sec--light{background:var(--si-petrol-hell)}
.sec--white{background:var(--si-weiss)}
.hairline-top{border-top:1px solid var(--border-on-dark)}
.tw{text-wrap:pretty} /* wie in Landing v3 gesetzt (H1, Hero-Text, Akkordeon-Titel, Über-Texte) */

/* ── Buttons (components/core/Button.jsx) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-family:var(--font-sans);font-weight:700;border-radius:var(--radius-s);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);text-decoration:none;box-sizing:border-box}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
.btn--md{padding:12px 22px;font-size:15px}
.btn--lg{padding:15px 30px;font-size:17px}
.btn--primary{background:var(--si-orange);color:var(--si-petrol)}
.btn--primary:hover{background:var(--si-orange-hover);color:var(--si-petrol)}
.btn--primary:active{background:var(--si-orange-aktiv)}
.btn--secondary{background:transparent;color:var(--si-hellblau);border:1px solid var(--si-hellblau)}
.btn--secondary:hover{background:rgba(184,208,253,.12)}
.btn--secondary:active{background:rgba(184,208,253,.2)}
.btn--block{width:100%}

/* ── SectionHeading (components/core/SectionHeading.jsx) ── */
.sh-title{color:var(--text-heading);font-weight:400;font-size:var(--fs-h2);line-height:var(--lh-heading);margin:10px 0 0}
.sh-lead{color:var(--text-body);font-size:var(--fs-body);line-height:var(--lh-body);margin:14px 0 0;max-width:880px}
.sh--light .eyebrow{color:var(--si-petrol)}
.sh--light .eyebrow::after{content:"";display:block;width:44px;height:3px;background:var(--si-orange);margin-top:8px}
.sh--light .sh-title,.sh--light .sh-lead{color:var(--text-on-light)}

/* ── Navigation (components/navigation/SiteNav.jsx, fix, Burger unter 860px) ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;background:rgba(21,61,75,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-on-dark)}
.nav-inner{max-width:var(--content-max);margin:0 auto;padding:0 var(--content-pad);height:var(--nav-h);display:flex;align-items:center;gap:var(--sp-6)}
.nav-brand{display:flex;align-items:center;margin-right:auto}
.nav-brand img{height:44px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--sp-6)}
.nav-links a{color:var(--si-hellblau);font-size:15px}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--si-weiss)}
.nav-burger{display:none;background:transparent;border:0;color:var(--si-hellblau);cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;padding:0}
.nav-burger svg{width:26px;height:26px}
.nav-menu{display:none;border-top:1px solid var(--border-on-dark);padding:var(--sp-4) var(--content-pad) var(--sp-6);max-width:var(--content-max);margin:0 auto}
.nav-menu a.nav-menu-link{display:block;color:var(--si-hellblau);font-size:17px;padding:12px 0}
.nav-menu a.nav-menu-link:hover{color:var(--si-weiss)}
.nav-menu .btn{margin-top:16px}
@media (max-width:860px){
  .nav-links,.nav-cta{display:none}
  .nav-burger{display:flex}
  .nav.is-open .nav-menu{display:block}
}

/* ── Hero ── */
.hero{padding:136px 0 112px;overflow:hidden}
/* Hero-Karte (Strukturschnitt 30.08.2026, Stephan: heller, als Karte abgehoben): helle Karte nach DS-Regel
   „Karte hell" (surface-light-alt, 1px border-on-light, shadow-light, Radius L); Textfarben nach SectionHeading onLight */
.hero-card{background:var(--si-petrol-hell);border:1px solid var(--border-on-light);border-radius:var(--radius-l);box-shadow:var(--shadow-light);padding:64px 72px}
.hero-card .eyebrow{color:var(--si-petrol)}
.hero-card .eyebrow::after{content:"";display:block;width:44px;height:3px;background:var(--si-orange);margin-top:8px}
.hero h1{color:var(--si-petrol);font-weight:300;font-size:clamp(40px,5.2vw,66px);line-height:1.06;letter-spacing:-0.015em;margin:20px 0 0}
.hero-lead{color:var(--si-petrol);font-size:19px;line-height:1.65;margin:26px 0 0;max-width:880px}
.hero-cta{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}
@media (max-width:600px){.hero{padding-top:112px}.hero-card{padding:36px 24px}.hero h1{font-size:34px}}

/* ── Ausgangslage (helle Fläche, Ursache-Karte) ── */
.ausgang-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.ausgang-text{color:var(--si-petrol);font-size:var(--fs-body);line-height:var(--lh-body);margin:28px 0 0}
.ursache{background:var(--si-weiss);border:1px solid var(--border-on-light);border-radius:var(--radius-m);box-shadow:var(--shadow-light);padding:36px 40px}
.ursache .ausgang-text{margin-top:20px}
.ursache-text{color:var(--si-petrol);font-size:21px;font-weight:400;line-height:1.55;margin:18px 0 0}

/* ── Track (components/patterns/Track.jsx): seit dem Strukturschnitt 30.08.2026 nur noch für den Vierschritt in Kontakt ── */
.track{margin-top:64px}
.track-item{display:grid;grid-template-columns:56px 1fr;gap:0 24px}
.track-rail{display:flex;flex-direction:column;align-items:center}
.track-dot{width:14px;height:14px;border-radius:50%;background:var(--si-orange);flex:0 0 auto;margin-top:5px}
.track-line{width:2px;flex:1 1 auto;background:rgba(184,208,253,.3)}
.track-body{padding-bottom:48px;min-width:0}
.track-item:last-child .track-body{padding-bottom:0}
.track-body h3{color:var(--si-weiss);font-size:22px;font-weight:400;margin:6px 0 0;line-height:var(--lh-heading)}
.track-body>p{color:var(--text-body);font-size:var(--fs-body);line-height:var(--lh-body);margin:8px 0 0;max-width:760px}
.track-body>p a{color:var(--si-orange);font-weight:700}
.track-body>p a:hover{color:var(--si-orange-hover)}

/* ── Leistungen: offene Blöcke (Raster des früheren Akkordeons, Strukturschnitt 30.08.2026) ── */
.blk-list{border-bottom:1px solid var(--border-on-dark);margin-top:48px}
.blk{border-top:1px solid var(--border-on-dark)}
.blk-head{display:grid;grid-template-columns:76px 1fr;align-items:baseline;padding:26px 8px 0}
.blk-num{color:var(--si-orange);font-size:30px;font-weight:300;line-height:1}
.blk-title{color:var(--si-weiss);font-size:var(--fs-h3);font-weight:400;line-height:var(--lh-heading);margin:0}
.blk-body{display:grid;grid-template-columns:76px 1fr;padding:0 8px}
.blk-text{grid-column:2;max-width:880px;padding:14px 0 28px}
.blk-text p{color:var(--text-body);font-size:17px;line-height:1.75}
.blk-text p+p{margin-top:14px}
/* Ausschlüsse (components/patterns/ExclusionCard.jsx) */

/* ── Demo-Fenster (guidelines/pattern-demofenster.html — dokumentierte Ausnahme, eigenes CI, keine Tokens) ── */
.demo h2{color:#fe904d;font-size:28px;font-weight:400;line-height:1.2;margin:10px 0 0}
.demo-lead{color:#b8d0fd;font-size:17px;line-height:1.65;margin:14px 0 0;max-width:880px}
.win{margin-top:56px;border-radius:10px;overflow:hidden;box-shadow:0 24px 60px rgba(9,30,38,.45);font-family:Arial,sans-serif}
.win-bar{background:#ffffff;padding:12px 24px;display:flex;align-items:center;gap:20px}
.win-lights{display:inline-flex;gap:8px}
.win-lights span{width:12px;height:12px;border-radius:50%}
.win-title{color:#3d2c28;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}
.win-stamp{margin-left:auto;background:#f4ede4;color:#5b403c;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px}
.win-pane{background:#fbf9f6;padding:32px 40px 36px}
.win-pane--lead{background:#f4ede4}
.win-level{color:#dc392b;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}
.win-pane h3{color:#2b1f1c;font-size:20px;font-weight:700;margin:8px 0 0}
.win-sub{color:#8a7a70;font-size:13px;line-height:1.5;margin:6px 0 0}
.win-table-wrap{background:#ffffff;margin-top:18px;overflow-x:auto}
.win-table{width:100%;border-collapse:collapse;font-size:13.5px}
.win-table th{text-align:left;color:#8a7a70;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;padding:12px 16px;border-bottom:1px solid #f0e7dc;white-space:nowrap}
.win-table td{color:#3d2c28;padding:12px 16px;border-bottom:1px solid #f6efe6}
.win-table tr:last-child td{border-bottom:0}
.win-table td.st{color:#2b1f1c;font-weight:700}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:4px 10px;white-space:nowrap}
.tag--ok{background:#e7f3ec;color:#2e7d5b}
.tag--wait{background:#fdf3e3;color:#b97324}
.win-wait{background:#fdf3e3;padding:12px 16px;margin-top:14px;display:flex;gap:10px;align-items:center}
.win-wait p{color:#7a4c14;font-size:13.5px}
.dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;display:inline-block}
.dot--ok{background:#2e7d5b;box-shadow:0 0 0 3px rgba(46,125,91,.18)}
.dot--wait{background:#b97324;box-shadow:0 0 0 3px rgba(185,115,36,.18)}
.dot--due{background:#dc392b;box-shadow:0 0 0 3px rgba(220,57,43,.16)}
.win-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:20px;align-items:stretch}
.kpi{background:#ffffff;padding:22px 24px}
.kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kpi-label{color:#8a7a70;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}
.kpi-val{color:#2b1f1c;font-size:28px;font-weight:700;line-height:1;margin-top:-4px}
.kpi-val--alert{color:#dc392b}
.kpi-list{margin-top:14px}
.kpi-row{color:#3d2c28;font-size:13.5px;line-height:1.5;display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #f6efe6}
.kpi-row:last-child{border-bottom:0}
.kpi-row .t{color:#8a7a70;white-space:nowrap}
.kpi-row .t--warn{color:#b97324;font-weight:700}
.kpi-title{color:#2b1f1c;font-size:13.5px;font-weight:700;padding:9px 0 2px}
.kpi-desc{color:#8a7a70;font-size:13px;line-height:1.55;margin:8px 0 0}
.win-maint{background:#ffffff;padding:22px 24px;margin-top:16px}
.win-maint .kpi-label{margin-bottom:8px}
.maint-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f6efe6}
.maint-row:last-child{border-bottom:0}
.maint-row .n{color:#2b1f1c;font-size:14px}
.maint-row .s{color:#8a7a70;font-size:13px;margin-left:auto;white-space:nowrap}
.maint-row .s--due{color:#b97324;font-weight:700}
@media (max-width:600px){.win-pane{padding:24px 20px 28px}}

/* ── Arbeitsweise: 5 Karten, unter 900px einspaltig ── */
.aw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:72px}
@media (max-width:900px){.aw-grid{grid-template-columns:1fr}}
.aw{background:var(--surface-card);border:1px solid var(--border-on-dark);border-radius:var(--radius-m);padding:28px 24px}
.aw-num{color:var(--si-orange);font-size:44px;font-weight:300;line-height:1}
.aw h3{color:var(--si-weiss);font-size:var(--fs-h3);font-weight:400;line-height:var(--lh-heading);margin:20px 0 0}
.aw p{color:var(--si-hellblau);font-size:var(--fs-body);line-height:var(--lh-body);margin:10px 0 0}

/* ── Über (weiße Fläche): Selbstbeschreibung, Zeitleiste, Siegel, Schwestermarke ── */
/* Selbstbeschreibung als QuoteCard (DS components/core/QuoteCard): oranger Akzentstrich, Lato italic, Name fett.
   Fläche petrol-hell statt Weiß, weil die Sektion selbst weiß ist (DS Karten-Regel: Karte nie in der Farbe des Untergrunds) */
.quote{margin:40px 0 0;background:var(--si-petrol-hell);border:1px solid var(--border-on-light);border-radius:var(--radius-m);padding:26px 28px}
.quote-bar{display:block;width:44px;height:3px;background:var(--si-orange);margin-bottom:18px}
.quote blockquote{margin:0;color:var(--text-on-light);font-size:18px;font-weight:400;font-style:italic;line-height:var(--lh-body)}
.quote figcaption{margin-top:16px;color:var(--text-on-light);font-size:14px}
.quote figcaption strong{font-weight:700}
.timeline{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 48px}
.tl{border-top:1px solid var(--border-on-light);padding:22px 0 0}
.tl--now{border-top:2px solid var(--si-orange)}
.tl-year{color:var(--si-petrol);font-size:clamp(34px,3.6vw,46px);font-weight:300;line-height:1}
.tl .eyebrow{margin-top:14px}
.nw{white-space:nowrap}
.tl-text{color:rgba(21,61,75,.72);font-size:15px;line-height:1.6;margin:12px 0 24px}
h3.eyebrow{margin:0}
.ueber-foot{margin-top:72px;padding-top:40px;border-top:1px solid var(--border-on-light);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px 56px;align-items:start}
/* Logozeile beider Spalten gleich hoch (88px), damit Logos und Texte nebeneinander auf einer Linie stehen */
.seals,.sister{display:flex;gap:20px;margin-top:18px;flex-wrap:wrap;align-items:center;min-height:88px}
.seals img{height:88px;width:auto}
.sister a{display:inline-block}
.sister img{height:72px;width:auto;max-width:100%}
.sister-text{color:var(--si-petrol);font-size:15px;line-height:1.65;margin:16px 0 0}
.sister-text a{color:var(--si-petrol);font-weight:700}
.sister-text a:hover{color:var(--si-orange-aktiv)}

/* ── Kontakt: Zweispalter, Terminbuchung mit DSGVO-Gate ── */
.kontakt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:64px;align-items:center}
.steps-title{color:var(--si-weiss);font-size:var(--fs-h3);font-weight:400;line-height:var(--lh-heading);margin:48px 0 0}
.track--steps{margin-top:24px}
.track--steps .track-body{padding-bottom:28px}
.track--steps .track-item:last-child .track-body{padding-bottom:0}
.track--steps h4{color:var(--si-weiss);font-size:var(--fs-body);font-weight:700;margin:2px 0 0;line-height:var(--lh-heading)}
/* Buchungskarte hell (Stephan 30.08.2026), Aufbau wie Karte „Die Ursache": Weiß, border-on-light, shadow-light */
.booking{background:var(--si-weiss);border:1px solid var(--border-on-light);border-radius:var(--radius-l);box-shadow:var(--shadow-light);padding:36px}
.booking-text{color:var(--si-petrol);font-size:var(--fs-body);line-height:var(--lh-body);margin:20px 0 0}
.booking-note{color:rgba(21,61,75,.72);font-size:15px;line-height:1.65;margin:20px 0 0}
.booking-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.booking-load{background:var(--si-orange);color:var(--si-petrol);border:0;border-radius:var(--radius-s);padding:16px 24px;font-family:var(--font-sans);font-size:16px;font-weight:700;cursor:pointer;transition:background var(--dur) var(--ease)}
.booking-load:hover{background:var(--si-orange-hover)}
.booking-load:active{background:var(--si-orange-aktiv)}
.booking-alt{display:inline-flex;align-items:center;color:var(--si-petrol);font-size:16px;font-weight:700;padding:16px 8px}
.booking-alt:hover{color:var(--si-orange-aktiv)}
.booking-frame-note{color:rgba(21,61,75,.72);font-size:15px;line-height:1.6;margin:16px 0 20px}
.booking-frame{width:100%;height:620px;border:1px solid var(--border-on-light);border-radius:8px;background:var(--si-weiss);overflow:hidden}
.booking-frame iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:600px){.booking{padding:24px}}

/* ── Footer (guidelines/pattern-footer.html: vier Blöcke, dreiteilige Abschlusszeile) ── */
.footer{background:var(--si-petrol-tiefer);border-top:1px solid var(--border-on-dark)}
.footer-top{max-width:var(--content-max);margin:0 auto;padding:72px var(--content-pad) 40px;display:flex;flex-wrap:wrap;gap:48px;align-items:start}
.footer-brand{flex:1 1 300px;min-width:0}
.footer-brand img{height:38px;width:auto}
.footer-brand p{color:var(--si-hellblau);font-size:var(--fs-body);line-height:var(--lh-body);margin:20px 0 0;max-width:300px}
.footer-cols{flex:2 1 460px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px}
.footer-col .eyebrow{margin-bottom:16px}
.footer-col .eyebrow--seals{margin:32px 0 16px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{color:var(--si-weiss);font-size:15px}
.footer-links a:hover{color:var(--si-hellblau)}
.footer-seals{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.footer-seals img{height:56px;width:auto}
.footer-bottom{border-top:1px solid var(--border-on-dark)}
.footer-bottom-inner{max-width:var(--content-max);margin:0 auto;padding:20px var(--content-pad);display:flex;flex-wrap:wrap;gap:8px 40px;align-items:start;justify-content:space-between}
.footer-bottom p{color:var(--text-body-dim);font-size:15px;line-height:1.6}
.footer-bottom p+p{margin-top:4px}
.footer-bottom-right{text-align:right}
@media (max-width:600px){.footer-bottom-right{text-align:left}}
.footer-bottom a{color:var(--si-hellblau);font-weight:700}
.footer-bottom a:hover{color:var(--si-weiss)}

/* ── Rechtsseiten (templates/legal/Legal.dc.html: Ziffernspalten-Raster, statische Accordion-Variante) ── */
.legal-main{padding:168px 0 112px}
.legal-stand{color:var(--text-body-dim);font-size:15px;line-height:1.7;margin:14px 0 0}
.rs-lang{display:inline-flex;align-items:center;gap:2px;margin:32px 0 0}
.rs-lang button{background:none;border:0;padding:6px 10px;cursor:pointer;color:var(--text-body-dim);font-size:13px;font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase;transition:color var(--dur) var(--ease)}
.rs-lang button:first-child{padding-left:0}
.rs-lang button:hover{color:var(--si-hellblau)}
.rs-lang button.is-active{color:var(--si-orange)}
.rs-lang .rs-lang-sep{color:var(--border-on-dark)}
.legal-doc{margin-top:48px;max-width:760px;border-bottom:1px solid var(--border-on-dark)}
.rs{border-top:1px solid var(--border-on-dark);display:grid;grid-template-columns:76px 1fr;align-items:baseline;padding:26px 8px}
.rs-num{color:var(--si-orange);font-size:30px;font-weight:300;line-height:1}
.rs-body{min-width:0}
.rs h3{color:var(--si-weiss);font-size:21px;font-weight:400;line-height:var(--lh-heading)}
.rs h4{color:var(--si-weiss);font-size:16px;font-weight:700;margin:18px 0 0}
.rs p{color:var(--text-body);font-size:16px;line-height:1.7;margin:10px 0 0;max-width:760px}
.rs p.note{color:var(--text-body-dim);font-size:15px}
.rs strong{color:var(--si-weiss);font-weight:700}
.rs a{color:var(--si-weiss)}
.rs a:hover{color:var(--si-orange)}
.rs-more{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:10px}
.rs-more a{color:var(--si-weiss);font-size:16px;font-weight:700}
.rs-more a:hover{color:var(--si-orange)}
.legal-back{margin:48px 0 0}
.legal-back a{color:var(--si-orange);font-size:16px;font-weight:700}
.legal-back a:hover{color:var(--si-orange-hover)}
.footer--slim .footer-bottom-inner{justify-content:flex-start;gap:16px 32px}
.footer--slim .footer-bottom p{margin-right:auto}
.footer--slim .footer-bottom a{color:var(--text-body-dim);font-weight:400;font-size:13.5px}
.footer--slim .footer-bottom a[aria-current="page"]{color:var(--si-weiss);font-weight:700}
.footer--slim .footer-bottom a:hover{color:var(--si-weiss)}
