/* ============================================================
   Webinaut · webinaut.de · style.css
   Aufbau: eine zentrale CSS-Datei, alle Farben als Variablen in :root
   Design: Webinaut, Reise vom Weltall bis zur Erde
   Schriften lokal: Space Grotesk (Headlines), Inter (Text, Bedienung)
   ============================================================ */

/* ---------- Schriften (lokal, WOFF2, variabel) ---------- */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  src:url('/fonts/inter-latin-var.woff2') format('woff2');
}
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-display:swap;
  font-weight:300 700;
  src:url('/fonts/space-grotesk-latin-var.woff2') format('woff2');
}

/* ---------- Variablen ---------- */
:root{
  --blue-1:#2371ED;
  --blue-2:#1560CF;
  --blue-3:#10489E;
  --dark:#071329;
  --text:#18324D;
  --muted:#465E76;
  --light:#EAF4FF;
  --white:#FFFFFF;
  --space-bg:#040B1B;
  --sky-bg:#A1D8FD;
  --sky-soft:#EAF4FF;
  --accent:#FF7A24;
  --accent-hover:#E96412;
  --accent-text:#071329;
  --footer-bg:#051B34;
  --footer-text:#E5F1FF;
  --footer-muted:#AEC6DF;
  --border:rgba(7,19,41,.12);
  --radius:12px;
  --maxw:1200px;
  --grad-hero:linear-gradient(180deg,#040B1B,#071329);
  --grad-btn:linear-gradient(135deg,#FF8B38,#FF7A24);

  /* Ergaenzungen Webinaut */
  --sky-edge:#9FD8FD;            /* gemessene Pixelfarbe der Sky-Tile-Kanten */
  --blue-glow:#4DA3FF;           /* Hervorhebung auf dunklem Grund (7:1) */
  --on-dark:#E3EEFB;             /* Fliesstext auf Weltall */
  --on-dark-muted:#B9CCE4;
  --panel:rgba(255,255,255,.9);  /* Kacheln vor hellen Wolken */
  --panel-soft:rgba(255,255,255,.74);
  --panel-dark:#0A1A36;
  --radius-lg:20px;
  --shadow-card:0 1px 2px rgba(7,19,41,.06),0 14px 34px rgba(16,72,158,.13);
  --shadow-float:0 18px 50px rgba(7,19,41,.22);
  --header-h:76px;
  --focus:#10489E;
  --gutter:24px;
}

/* ---------- Basis ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17.5px;
  font-weight:400;
  line-height:1.7;
  color:var(--text);
  background:var(--footer-bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
@media (min-width:760px){body{font-size:18.5px}}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:var(--blue-3);text-decoration:none}
a:hover{text-decoration:underline}
[id]{scroll-margin-top:calc(var(--header-h) + 24px)}
::selection{background:#FFD3B4;color:var(--dark)}

/* Fokus sichtbar, Farbe je Kontext */
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.on-dark,.site-header,.hero,.subhero,.site-footer,.cta-dark{--focus:#FFB070}

/* Skip-Link */
.skip-link{
  position:absolute;left:16px;top:-120px;z-index:200;
  background:#fff;color:var(--dark);font-weight:600;
  padding:12px 18px;border-radius:10px;box-shadow:var(--shadow-float);
}
.skip-link:focus{top:12px;text-decoration:none}

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
@media (max-width:560px){:root{--gutter:16px}}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{font-family:'Space Grotesk','Inter',sans-serif;color:var(--dark);font-weight:700}
h1{font-size:clamp(34px,4.6vw,58px);line-height:1.06;letter-spacing:-.025em}
h2{font-size:clamp(29px,3.5vw,46px);line-height:1.1;letter-spacing:-.022em;margin-bottom:20px}
h3{font-size:clamp(20px,1.9vw,24px);line-height:1.25;letter-spacing:-.01em;font-weight:600;margin-bottom:10px}
h4{font-size:clamp(18px,1.6vw,20px);line-height:1.3;font-weight:600;margin-bottom:8px}
p{margin-bottom:18px}
p:last-child{margin-bottom:0}
.hl{color:var(--blue-2)}
.on-dark .hl,.hero .hl,.subhero .hl{color:var(--blue-glow)}
strong{font-weight:650;color:var(--dark)}

.eyebrow{
  display:inline-block;
  font-family:'Inter',sans-serif;font-size:13px;font-weight:650;
  letter-spacing:.16em;text-transform:uppercase;color:var(--blue-3);
  margin-bottom:14px;
}
.on-dark .eyebrow,.hero .eyebrow,.subhero .eyebrow{color:#9FD0FF}
.lead{font-size:clamp(18.5px,1.6vw,21px);line-height:1.65}

/* Links im Fliesstext: immer unterstrichen (nicht nur Farbe) */
.prose a:not(.btn),.table a,.faq-item a,.note a,.card p a,.deflist a,.region-text a,
.sky p a:not(.btn):not(.text-link),.sky li a:not(.btn):not(.text-link),.sky dd a{
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  text-decoration-color:rgba(16,72,158,.5);
}
.prose a:not(.btn):hover,.table a:hover,.faq-item a:hover,.note a:hover,.card p a:hover,.deflist a:hover,.region-text a:hover,
.sky p a:not(.btn):not(.text-link):hover,.sky li a:not(.btn):not(.text-link):hover,.sky dd a:hover{
  text-decoration-color:currentColor;color:var(--blue-2);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter',sans-serif;font-weight:650;font-size:16px;line-height:1.2;
  min-height:50px;padding:14px 24px;border-radius:10px;
  border:1.5px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{
  background:var(--grad-btn);color:var(--accent-text);
  box-shadow:0 8px 22px rgba(255,122,36,.32);
}
.btn-primary:hover{background:var(--accent-hover);color:var(--accent-text);box-shadow:0 10px 26px rgba(233,100,18,.38)}
.btn-ghost{background:rgba(4,11,27,.62);color:#fff;border-color:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(4,11,27,.78);border-color:#fff;color:#fff}
.btn-secondary{background:#fff;color:var(--dark);border-color:rgba(16,72,158,.28);box-shadow:0 4px 14px rgba(16,72,158,.1)}
.btn-secondary:hover{border-color:var(--blue-2);color:var(--blue-3)}
.btn-small{min-height:42px;padding:10px 18px;font-size:15px}
.ico-arrow{
  display:inline-block;width:18px;height:18px;flex-shrink:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.text-link{
  display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--blue-3);
  border-bottom:2px solid rgba(16,72,158,.35);padding-bottom:2px;
}
.text-link:hover{text-decoration:none;border-bottom-color:var(--blue-3)}
.on-dark .text-link{color:#CFE6FF;border-bottom-color:rgba(207,230,255,.4)}

/* ---------- Header / Navigation ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(4,11,27,.8);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background-color .25s ease,border-color .25s ease;
}
/* Mit JS: ganz oben transparent ueber dem Sternenhimmel */
.js .site-header.is-top{
  background:linear-gradient(180deg,rgba(4,11,27,.55),rgba(4,11,27,0));
  -webkit-backdrop-filter:none;backdrop-filter:none;
  border-bottom-color:transparent;
}
.site-header{height:var(--header-h)}
.nav{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.logo{display:inline-flex;align-items:center;flex-shrink:0;border-radius:6px}
.logo:hover{text-decoration:none}
.logo img{height:32px;width:auto}
.nav-menu{display:flex;align-items:center;gap:30px}
.nav-list{display:flex;align-items:center;gap:6px;list-style:none}
.nav-item{position:relative}
.nav-link,.nav-toggle{
  display:inline-flex;align-items:center;gap:6px;min-height:46px;
  font-family:'Inter',sans-serif;font-size:15.5px;font-weight:550;line-height:1.2;color:#E9F2FF;
  background:none;border:0;border-top:3px solid transparent;cursor:pointer;
  padding:10px 12px;border-bottom:3px solid transparent;border-radius:0;
  transition:border-color .15s ease,color .15s ease;
}
.nav-link:hover,.nav-toggle:hover,.nav-item.is-open > .nav-toggle{color:#fff;border-bottom-color:#fff;text-decoration:none}
.nav-link[aria-current="page"],.nav-toggle.is-current{color:#fff;border-bottom-color:var(--accent)}
.caret{
  width:8px;height:8px;margin-top:-3px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .15s ease;
}
.nav-item.is-open > .nav-toggle .caret{transform:rotate(225deg);margin-top:3px}
.subnav{
  display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  min-width:250px;list-style:none;
  background:var(--panel-dark);border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:8px;box-shadow:0 22px 50px rgba(2,8,20,.5);
}
.subnav::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-item.is-open > .subnav{display:block}
/* Ohne JS und als Fallback: Hover und Tastaturfokus oeffnen das Untermenue */
@media (hover:hover) and (min-width:1001px){
  .nav-item.has-sub:hover > .subnav,
  .nav-item.has-sub:focus-within > .subnav{display:block}
  .nav-item.has-sub:hover > .nav-toggle .caret{transform:rotate(225deg);margin-top:3px}
  .nav-item.has-sub.is-dismissed:not(.is-open) > .subnav{display:none}
}
.subnav a{
  display:block;padding:10px 14px;border-radius:9px;
  font-size:15.5px;font-weight:500;color:#DCE8F8;
  border-left:3px solid transparent;
}
.subnav a:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none;border-left-color:#fff}
.subnav a[aria-current="page"]{color:#fff;border-left-color:var(--accent);background:rgba(255,255,255,.05)}
.nav-cta{white-space:nowrap}
.burger{
  display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px;border-radius:8px;
}
.burger span{
  display:block;width:26px;height:2.5px;background:#fff;margin:5px 0;border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:1000px){
  :root{--header-h:66px}
  .logo img{height:28px}
  .burger{display:block}
  .nav{position:relative}
  .js .nav-menu{
    display:none;position:absolute;top:var(--header-h);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:18px;
    background:var(--panel-dark);border-bottom:1px solid rgba(255,255,255,.12);
    padding:14px var(--gutter) 24px;max-height:calc(100vh - var(--header-h));overflow-y:auto;
    box-shadow:0 24px 40px rgba(2,8,20,.45);
  }
  .js .nav-menu.is-open{display:flex}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-link,.nav-toggle{width:100%;justify-content:space-between;padding:14px 4px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-link[aria-current="page"],.nav-toggle.is-current{border-bottom-color:rgba(255,255,255,.08);color:#FFB070}
  .subnav{position:static;transform:none;min-width:0;box-shadow:none;border:0;background:transparent;padding:4px 0 10px 12px}
  .subnav::before{display:none}
  .subnav a{font-size:16px;padding:10px 12px}
  .nav-cta{align-self:flex-start}
  /* Ohne JS: Navigation als einfache Liste unter dem Logo */
  html:not(.js) .site-header{height:auto}
  html:not(.js) .nav{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
  html:not(.js) .burger{display:none}
  html:not(.js) .nav-menu{width:100%;flex-direction:column;align-items:stretch;gap:12px}
  html:not(.js) .subnav{display:block}
}

/* ---------- Hero Startseite: Weltall, Erde, Wolken ---------- */
.hero{position:relative;color:var(--on-dark);background:var(--space-bg)}
.hero-home{
  z-index:2;overflow:hidden;
  margin-top:calc(-1 * var(--header-h));
  padding-top:var(--header-h);
  min-height:clamp(780px,100svh,960px);
  display:flex;flex-direction:column;
}
.hero-bg,.hero-atmo,.hero-clouds,.scene-layer{position:absolute;pointer-events:none}
.hero-bg{
  top:0;left:0;right:0;bottom:-18%;
  background:var(--space-bg) url('/webinaut-space-bg.webp') center bottom / cover no-repeat;
}
/* Atmosphaere: unter den Wolken weicher Uebergang vom Weltall zum Himmel */
.hero-atmo{
  left:0;right:0;bottom:0;height:22%;
  background:linear-gradient(180deg,rgba(159,216,253,0) 0%,rgba(159,216,253,.5) 45%,rgba(159,216,253,.92) 70%,var(--sky-edge) 82%);
}
.hero-clouds{
  left:-12px;right:-12px;bottom:0;z-index:2;
  aspect-ratio:1774 / 487;
  background:url('/webinaut-clouds-overlay-unten.webp') center bottom / 100% auto no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 84%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 84%,transparent 100%);
  transform:translateY(7%);
  animation:cloud-drift 46s ease-in-out infinite alternate;
}
@keyframes cloud-drift{
  from{transform:translate3d(-10px,7%,0)}
  to{transform:translate3d(10px,7%,0)}
}
.hero-inner{
  position:relative;z-index:3;flex:1;
  width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(24px,4.5vh,56px) var(--gutter) 0;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:24px;align-items:start;
}
.hero-text{padding-top:clamp(4px,2vh,28px);max-width:600px}
.hero-kicker{
  font-family:'Space Grotesk',sans-serif;font-weight:600;
  font-size:clamp(19px,1.9vw,24px);line-height:1.3;color:#D5E7FF;margin-bottom:14px;
}
.hero-home h1{color:#fff;font-size:clamp(36px,4.6vw,60px);margin-bottom:20px}
.nowrap{white-space:nowrap}
.hero-lead{font-size:clamp(17.5px,1.4vw,19.5px);line-height:1.65;color:var(--on-dark);max-width:54ch;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-figure{position:relative;margin:0;align-self:start;justify-self:end;width:100%;max-width:640px}
.hero-figure img{width:100%;animation:float 7s ease-in-out infinite alternate;will-change:transform}
@keyframes float{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(0,-11px,0)}
}
.hero-note{
  position:absolute;right:2%;bottom:-34px;margin:0;
  font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;line-height:1.35;
  color:#D5E7FF;text-align:right;transform:rotate(-4deg);
}
.scroll-cue{
  position:absolute;left:50%;bottom:clamp(110px,11vw,170px);z-index:3;transform:translateX(-50%);
  display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;letter-spacing:.04em;color:#fff;
  background:rgba(4,11,27,.72);border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:9px 16px;border-radius:999px;
}
.scroll-cue:hover{text-decoration:none;color:#fff}
.scroll-cue .caret{width:9px;height:9px;margin-top:-4px}

@media (max-width:1000px){
  .hero-home{min-height:0}
  .hero-inner{grid-template-columns:1fr;gap:8px;padding-top:36px}
  .hero-text{max-width:640px;padding-top:0}
  .hero-figure{justify-self:center;max-width:540px;margin-top:6px}
  .hero-note{display:none}
  .hero-clouds{background-image:url('/webinaut-clouds-overlay.webp');aspect-ratio:1774 / 760;background-size:170% auto;transform:translateY(6%)}
  @keyframes cloud-drift{from{transform:translate3d(-6px,6%,0)}to{transform:translate3d(6px,6%,0)}}
  .hero-bg{bottom:0}
  .hero-atmo{height:12%}
  .scroll-cue{display:none}
  .hero-spacer{height:clamp(70px,18vw,150px)}
}
@media (max-width:560px){
  .hero-bg{background-image:url('/webinaut-space-bg-900w.webp');background-position:62% bottom}
  .hero-clouds{background-image:url('/webinaut-clouds-overlay-900w.webp');aspect-ratio:1774 / 1000;background-size:230% auto}
  .hero-actions .btn{width:100%}
  .hero-figure{max-width:440px;margin-left:-6px;margin-right:-6px;width:calc(100% + 12px)}
}

/* ---------- Kompakter Hero fuer Unterseiten ---------- */
.subhero{
  z-index:2;overflow:hidden;
  margin-top:calc(-1 * var(--header-h));
  padding-top:var(--header-h);
}
.subhero .hero-bg{bottom:-42%;background-position:center top}
@media (max-width:1000px){
  .subhero .hero-bg{bottom:0;background-image:url('/webinaut-space-sub-mittel.webp');background-position:center top}
}
@media (max-width:560px){
  .subhero .hero-bg{background-image:url('/webinaut-space-sub-schmal.webp')}
}
.subhero .hero-atmo{height:clamp(90px,10vw,150px);background:linear-gradient(180deg,rgba(159,216,253,0) 0%,rgba(159,216,253,.6) 45%,var(--sky-edge) 85%)}
.subhero .hero-clouds{aspect-ratio:1774 / 380;transform:translateY(4%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 72%,transparent 97%);
          mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 72%,transparent 97%)}
@keyframes cloud-drift-sub{from{transform:translate3d(-8px,4%,0)}to{transform:translate3d(8px,4%,0)}}
.subhero .hero-clouds{animation-name:cloud-drift-sub}
.subhero-inner{
  position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;
  padding:28px var(--gutter) clamp(150px,17vw,300px);
}
.subhero h1{color:#fff;max-width:20ch;margin-bottom:16px}
.subhero-lead{font-size:clamp(17.5px,1.45vw,20px);color:var(--on-dark);max-width:62ch}
.subhero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.subhero-companion{position:absolute;right:max(var(--gutter),calc((100% - var(--maxw)) / 2 + var(--gutter)));bottom:clamp(80px,9vw,130px);width:clamp(150px,18vw,240px);z-index:3}
.subhero-companion img{width:100%}
@media (max-width:820px){.subhero-companion{display:none}}

/* Breite und flache Fenster: Erde und Wolken duerfen nicht hinter den Text wandern.
   Der Horizont bleibt bei 61 % des Bildes verankert, die Wolkenbaender wachsen
   ab einer bestimmten Hoehe nicht mehr mit der Fensterbreite mit. */
@media (min-width:1001px){
  .hero-home{min-height:clamp(860px,100svh,max(960px,50vw))}
  .hero-home .hero-bg{background-position:center 61%}
  /* Hoehe direkt setzen: max-height mit aspect-ratio wuerde die Breite verkleinern */
  .hero-home .hero-clouds{aspect-ratio:auto;height:min(calc((100vw + 24px) * 487 / 1774),calc(.44 * clamp(860px,100svh,max(960px,50vw))))}
  .subhero .hero-clouds{aspect-ratio:auto;height:min(calc((100vw + 24px) * 380 / 1774),340px)}
}
@media (min-width:1001px) and (max-height:820px){
  .scroll-cue{display:none}
}

/* Lange deutsche Komposita (z. B. Suchmaschinenoptimierung) auf schmalen
   Bildschirmen trennen statt ueber den Rand laufen lassen */
@media (max-width:560px){
  main p,main li,main dd,main summary,main td,main th,main h2,main h3,main h4{
    -webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;
  }
}

/* Breadcrumbs */
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;font-size:14.5px;margin-bottom:22px}
.breadcrumbs li{display:flex;align-items:center;gap:6px;color:var(--on-dark-muted)}
.breadcrumbs li + li::before{content:"/";color:rgba(185,204,228,.6)}
.breadcrumbs a{color:#DCEBFF;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(220,235,255,.45)}
.breadcrumbs a:hover{color:#fff}
.breadcrumbs [aria-current="page"]{color:#fff}

/* ---------- Himmel: Inhaltsbereich mit wiederholbarem Sky-Tile ---------- */
.sky{
  position:relative;z-index:1;
  background:var(--sky-edge) url('/webinaut-sky-tile.webp') center top / max(1774px,100%) auto repeat-y;
  padding:clamp(70px,9vw,120px) 0 clamp(150px,16vw,220px);
}
@media (max-width:760px){
  .sky{background-image:url('/webinaut-sky-tile-900w.webp');background-size:700px auto}
}
.section{padding:clamp(48px,6vw,84px) 0}
.section:first-child{padding-top:0}
.section-head{max-width:760px;margin:0 auto clamp(34px,4vw,52px);text-align:center}
.section-head p{font-size:clamp(17.5px,1.4vw,19.5px)}
.section-head.left{margin-left:0;text-align:left}

/* Glas-Panel fuer laengere Texte vor Wolken */
.panel.narrow{max-width:960px;margin-left:auto;margin-right:auto}
.panel{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.75);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  padding:clamp(26px,4vw,52px);
}
.prose{max-width:72ch}
.prose h2{margin-bottom:18px}
.prose h3{margin-top:34px}
.prose h4{margin-top:26px}
.prose > :first-child{margin-top:0}
.prose ul,.prose ol{margin:0 0 20px 1.2em}
.prose li{margin-bottom:8px;padding-left:4px}
.prose li::marker{color:var(--blue-2)}

/* Listen mit Markenpunkt */
ul.check{list-style:none;margin:6px 0 22px}
ul.check li{position:relative;padding-left:30px;margin-bottom:10px}
ul.check li::before{
  content:"";position:absolute;left:4px;top:.62em;width:11px;height:11px;border-radius:50%;
  border:2.5px solid var(--blue-1);box-shadow:0 0 0 2px rgba(255,122,36,.0);
}
ul.check li::after{
  content:"";position:absolute;left:0;top:calc(.62em + 4px);width:19px;height:3px;border-radius:3px;
  background:var(--accent);transform:rotate(-24deg);opacity:.9;
}

/* ---------- Leistungskarten ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{
  position:relative;display:flex;flex-direction:column;
  background:var(--panel);border:1px solid rgba(255,255,255,.8);
  border-radius:16px;padding:28px 26px 24px;box-shadow:var(--shadow-card);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:transform .18s ease,box-shadow .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(7,19,41,.06),0 22px 44px rgba(16,72,158,.18)}
.card-icon{width:40px;height:40px;margin-bottom:16px;color:var(--blue-2)}
.card-icon svg{width:100%;height:100%}
.card h3{margin-bottom:8px}
.card h3 a{color:var(--dark)}
.card h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.card h3 a:hover{text-decoration:none;color:var(--blue-3)}
.card p{font-size:16.5px;line-height:1.6;color:var(--text);flex:1}
.card-arrow{margin-top:16px;color:var(--blue-2)}
.card-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px;position:relative;z-index:1}
.card-links a{font-weight:650;font-size:15.5px;display:inline-flex;align-items:center;gap:6px;text-decoration:none!important;border-bottom:2px solid rgba(16,72,158,.3)}
.card-links a:hover{border-bottom-color:var(--blue-3)}
.section-more{text-align:center;margin-top:34px}
@media (max-width:980px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.services-grid{grid-template-columns:1fr}}

/* ---------- Redaktioneller Abschnitt mit Illustration ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.split-text h2{font-size:clamp(30px,3.6vw,48px)}
.split-more{margin-top:22px}
@media (max-width:900px){.split{grid-template-columns:1fr}}

.browser-illu{position:relative;margin:0;padding:64px 18px 70px}
.browser{
  position:relative;z-index:1;background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 30px 60px rgba(7,19,41,.24);border:1px solid rgba(7,19,41,.08);
  transform:perspective(1400px) rotateY(-8deg) rotateX(3deg);
}
.browser-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#EEF4FB;border-bottom:1px solid rgba(7,19,41,.06)}
.browser-bar i{width:10px;height:10px;border-radius:50%;background:#C9D6E6}
.browser-bar i:nth-child(1){background:#FF8B6A}
.browser-bar i:nth-child(2){background:#FFC85A}
.browser-bar i:nth-child(3){background:#6FD08C}
.browser-bar span{flex:1;height:10px;margin-left:10px;border-radius:6px;background:#DCE6F2}
.browser-body{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;padding:20px}
.browser-copy{display:flex;flex-direction:column;justify-content:center;gap:11px}
.browser-copy b{font-family:'Space Grotesk',sans-serif;font-size:clamp(16px,1.6vw,21px);line-height:1.2;color:var(--dark)}
.browser-copy .bar{display:block;height:7px;border-radius:5px;background:#DCE6F2}
.browser-copy .bar.short{width:70%}
.browser-copy .pill{display:block;width:58%;height:18px;border-radius:6px;background:var(--accent);margin-top:4px}
.browser-body img{width:100%;height:auto;aspect-ratio:896 / 480;object-fit:cover;border-radius:10px}
.browser-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 20px 20px}
.browser-foot span{height:44px;border-radius:8px;background:#F0F5FB}
.chip{
  position:absolute;z-index:2;display:inline-flex;align-items:center;gap:9px;
  background:#fff;color:var(--dark);font-weight:650;font-size:15.5px;line-height:1.2;
  padding:12px 17px;border-radius:12px;box-shadow:0 12px 30px rgba(7,19,41,.16);
}
.chip svg{width:22px;height:22px;color:var(--blue-2);flex-shrink:0}
.chip::after{content:"";position:absolute;width:0;border-left:2px dashed var(--accent);opacity:.9}
.chip-search{left:0;top:0}
.chip-search::after{left:46px;top:100%;height:34px}
.chip-ai{right:0;top:14px}
.chip-ai::after{right:40px;top:100%;height:26px}
.chip-leads{right:6%;bottom:0}
.chip-leads::after{left:30px;bottom:100%;height:36px}
@media (max-width:560px){
  .browser-illu{padding:58px 0 62px}
  .chip{font-size:14px;padding:9px 12px}
  .browser-body{grid-template-columns:1fr;padding:14px}
  .browser-copy{order:2}
  .browser-foot{display:none}
  .browser{transform:none}
}

/* ---------- Tabellen (mit mobiler Kartenansicht) ---------- */
.table-wrap{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);background:var(--panel)}
.table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.55}
.table caption{caption-side:top;text-align:left;padding:18px 22px 4px;font-weight:650;color:var(--dark)}
.table th,.table td{padding:16px 22px;text-align:left;vertical-align:top}
.table thead th{
  font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--dark);font-weight:650;
}
.table tbody tr + tr{border-top:1px solid var(--border)}
.table tbody tr:nth-child(even){background:rgba(234,244,255,.6)}
.table tbody th{font-weight:600;color:var(--dark)}
@media (max-width:700px){
  .table-wrap{background:transparent;box-shadow:none;overflow:visible}
  .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .table,.table tbody,.table tr,.table th,.table td{display:block;width:100%}
  .table tbody tr{background:var(--panel)!important;border-radius:14px;box-shadow:var(--shadow-card);margin-bottom:14px;padding:6px 0}
  .table tbody tr + tr{border-top:0}
  .table th,.table td{padding:8px 18px}
  .table td::before{
    content:attr(data-label);display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
    font-weight:650;color:var(--blue-3);margin-bottom:2px;
  }
}

/* ---------- CTA ohne Motiv (dunkle Box) ---------- */
.cta-dark{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px 40px;align-items:center;
  background:linear-gradient(135deg,#0B2149 0%,#071329 70%);
  color:var(--on-dark);border-radius:var(--radius-lg);
  padding:clamp(28px,4vw,46px) clamp(26px,4vw,52px);box-shadow:var(--shadow-float);
}
.cta-dark::after{
  content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;
  border:3px solid rgba(77,163,255,.35);pointer-events:none;
}
.cta-dark h2,.cta-dark h3{color:#fff;margin-bottom:8px}
.cta-dark p{color:var(--on-dark);max-width:58ch}
.cta-dark .btn{position:relative;z-index:1}
@media (max-width:760px){.cta-dark{grid-template-columns:1fr}}

/* Hinweisbox */
.note{
  border-left:4px solid var(--accent);background:var(--panel);border-radius:0 14px 14px 0;
  padding:18px 22px;font-size:17px;box-shadow:var(--shadow-card);
}

/* ---------- Ablauf in drei Schritten ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:step}
.step{position:relative;background:var(--panel-soft);border-radius:16px;padding:26px 24px;border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.step-num{
  display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(40px,4vw,54px);line-height:1;color:var(--blue-2);margin-bottom:10px;letter-spacing:-.03em;
}
.step p{font-size:17px}
@media (min-width:901px){
  .step + .step::before{
    content:"";position:absolute;left:-17px;top:44px;width:12px;height:12px;
    border-right:2.5px solid var(--blue-2);border-top:2.5px solid var(--blue-2);transform:rotate(45deg);
  }
}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* ---------- Region ---------- */
.region{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,4vw,56px);align-items:start}
.region-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.region-list li{
  background:var(--panel);border:1px solid rgba(255,255,255,.8);border-radius:999px;
  padding:7px 16px;font-size:15.5px;font-weight:600;color:var(--dark);box-shadow:0 4px 12px rgba(16,72,158,.08);
}
@media (max-width:900px){.region{grid-template-columns:1fr}}

/* ---------- FAQ (aufklappbar) ---------- */
.faq-list{max-width:880px;margin:0 auto}
.faq-item{
  background:var(--panel);border:1px solid rgba(255,255,255,.8);border-radius:16px;
  box-shadow:var(--shadow-card);margin-bottom:14px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 26px;cursor:pointer;list-style:none;border-radius:16px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;min-width:0;font-size:clamp(18px,1.6vw,21px)}
.faq-item summary::after{
  content:"";flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:var(--light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231560CF' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;
  transition:transform .2s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-body{padding:0 26px 22px}
.faq-item .faq-body p{font-size:17px}

/* ---------- Definitionen (Glossar) ---------- */
.deflist{margin:0}
.deflist dt{
  font-family:'Space Grotesk',sans-serif;font-weight:650;font-size:clamp(19px,1.8vw,22px);
  line-height:1.3;color:var(--dark);margin:30px 0 8px;
}
.deflist dt:first-child{margin-top:0}
.deflist dd{margin:0 0 6px}
.deflist dd p{margin-bottom:10px}
.term-nav{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.term-nav a{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--panel);font-size:15px;font-weight:600;color:var(--blue-3);box-shadow:0 3px 10px rgba(16,72,158,.08)}
.term-nav a:hover{text-decoration:none;background:#fff;color:var(--dark)}

/* ---------- Formulare ---------- */
.form-panel{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);padding:clamp(24px,4vw,44px)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
.form-grid .full{grid-column:1 / -1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.field label,.field legend{display:block;font-weight:650;font-size:16px;color:var(--dark);margin-bottom:7px}
.field .req{color:var(--accent-hover);font-weight:700}
.field .hint{display:block;font-size:14.5px;color:var(--muted);margin-top:5px;line-height:1.5}
.field input[type="text"],.field input[type="email"],.field input[type="url"],.field input[type="tel"],.field select,.field textarea{
  width:100%;font:inherit;font-size:16.5px;color:var(--dark);
  background:#F7FAFE;border:1.5px solid #9DB3CB;border-radius:10px;
  padding:12px 14px;min-height:50px;transition:border-color .15s ease,box-shadow .15s ease;
}
.field textarea{min-height:160px;resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(35,113,237,.22);background:#fff}
.field [aria-invalid="true"]{border-color:#C0392B;background:#FFF6F5}
.field-error{display:block;color:#B42318;font-size:14.5px;font-weight:600;margin-top:6px}
fieldset.field{border:0;min-width:0}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
@media (max-width:640px){.choice-grid{grid-template-columns:1fr}}
.choice,.field .choice{display:flex;align-items:flex-start;gap:10px;font-size:16.5px;font-weight:500;line-height:1.45;cursor:pointer;padding:6px 0;margin:0;color:var(--text)}
.choice input{width:20px;height:20px;margin-top:1px;flex-shrink:0;accent-color:var(--blue-2)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-status{border-radius:12px;padding:16px 18px;font-weight:600;margin-bottom:18px}
.form-status:empty{display:none}
.form-status.is-success{background:#E7F7EE;color:#0B5B32;border:1.5px solid #6CC59A}
.form-status.is-error{background:#FFF1F0;color:#8F1D14;border:1.5px solid #F2A39C}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.form-legal{font-size:15px;color:var(--muted);line-height:1.55}

/* ---------- Finale: Abschluss-CTA vor Bonn, Rhein und Siebengebirge ---------- */
.finale{
  position:relative;z-index:2;
  margin-top:-110px;
  height:clamp(640px,52vw,900px);
  background:transparent;
}
.finale-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px);
          mask-image:linear-gradient(180deg,transparent 0,#000 110px)}
.finale-scene img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.finale-inner{
  position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;height:100%;
  padding:clamp(120px,10vw,170px) var(--gutter) 0;
  display:flex;justify-content:flex-end;align-items:flex-start;
}
.finale-card{
  max-width:500px;background:rgba(255,255,255,.88);border-radius:var(--radius-lg);
  padding:clamp(26px,3vw,40px);box-shadow:var(--shadow-float);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.9);
}
.finale-card h2{font-size:clamp(28px,3vw,42px);margin-bottom:14px}
.finale-card p{margin-bottom:24px}
@media (max-width:900px){
  .finale{height:auto;margin-top:-120px;padding-top:80px;
    background:linear-gradient(180deg,rgba(159,216,253,0) 0,var(--sky-edge) 110px)}
  .finale-inner{display:block;height:auto;padding:0 var(--gutter)}
  .finale-card{max-width:620px;margin:0 auto}
  .finale-scene{position:relative;inset:auto;height:clamp(380px,78vw,560px);margin-top:-130px;z-index:0;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 140px);mask-image:linear-gradient(180deg,transparent 0,#000 140px)}
  .finale-scene img{object-position:14% bottom}
  .finale{display:flex;flex-direction:column}
  .finale-inner{order:1;position:relative;z-index:2;padding-top:20px}
  .finale-scene{order:2}
}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--footer-bg);color:var(--footer-text);
  padding:clamp(28px,4vw,48px) 0 34px;font-size:16px;line-height:1.6;position:relative;
}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 44px;
}
.footer-brand .logo img{height:30px}
.footer-about{color:var(--footer-muted);max-width:32ch;margin-top:16px}
.footer-grid h2{
  font-family:'Inter',sans-serif;color:#fff;font-size:13px;font-weight:650;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;
}
.footer-grid ul{list-style:none}
.footer-grid li{margin-bottom:10px}
.footer-grid a{color:var(--footer-text)}
.footer-grid a:hover{color:#fff}
.footer-bottom{
  max-width:var(--maxw);margin:0 auto;padding:22px var(--gutter) 0;
  border-top:1px solid rgba(174,198,223,.18);
  display:flex;justify-content:space-between;align-items:center;gap:12px 28px;flex-wrap:wrap;
  color:var(--footer-muted);font-size:15px;
}
.footer-bottom a{color:var(--footer-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(229,241,255,.4)}
.footer-bottom a:hover{color:#fff;text-decoration-color:#fff}
.footer-legal{display:flex;gap:20px;list-style:none}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;gap:30px}}

/* ---------- Unterseiten: Bausteine ---------- */
.stack > * + *{margin-top:clamp(28px,4vw,44px)}
.card.static:hover{transform:none;box-shadow:var(--shadow-card)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card .card-fit{
  flex:0 0 auto;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);
  font-size:15.5px;line-height:1.55;color:var(--muted);
}
.card .card-fit strong{color:var(--blue-3)}
.card h4{font-size:clamp(19px,1.7vw,22px);margin-bottom:8px}
.card h4 a{color:var(--dark)}
.card h4 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.card h4 a:hover{text-decoration:none;color:var(--blue-3)}
.card .card-fit a,.card-note a{position:relative;z-index:1}

/* Leistungsgruppen (Bausteine) */
.group{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:clamp(20px,3vw,40px);align-items:start}
.group + .group{margin-top:clamp(36px,5vw,60px)}
.group-head{position:sticky;top:calc(var(--header-h) + 24px)}
.group-head h3{font-size:clamp(22px,2.2vw,28px);margin-bottom:8px}
.group-head p{font-size:16.5px;color:var(--text)}
.group-num{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em;color:var(--blue-2);margin-bottom:6px}
.card-note{margin-top:16px;font-size:16.5px;background:var(--panel-soft);border-radius:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.7)}
@media (max-width:900px){.group{grid-template-columns:1fr}.group-head{position:static}}

/* Beispiele */
.tag{
  display:inline-block;align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#7A3300;background:#FFE7D6;border-radius:999px;padding:4px 10px;margin-bottom:12px;
}

/* Personenkarte */
.person-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(20px,3vw,34px);align-items:start}
.person-mono{
  width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:40px;letter-spacing:.02em;color:#fff;
  background:radial-gradient(circle at 30% 25%,#4DA3FF,#10489E 70%);
  box-shadow:0 0 0 6px rgba(255,255,255,.9),0 14px 30px rgba(16,72,158,.3);
}
.person-card h3{margin-bottom:2px}
.person-role{font-size:14px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-3);margin-bottom:14px}
@media (max-width:600px){.person-card{grid-template-columns:1fr}.person-mono{width:88px;height:88px;font-size:30px}}

/* Zeitleiste fuer Ablaeufe */
.timeline{list-style:none;counter-reset:tl;position:relative;max-width:820px}
.timeline::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--blue-1),rgba(35,113,237,.15))}
.timeline > li{position:relative;padding-left:72px;counter-increment:tl}
.timeline > li + li{margin-top:22px}
.timeline > li::before{
  content:counter(tl);position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;color:#fff;
  background:var(--blue-2);box-shadow:0 0 0 5px rgba(255,255,255,.85);
}
.timeline h3{font-size:clamp(19px,1.7vw,22px);margin:8px 0 6px}
.timeline p{font-size:17px}
.timeline-panel{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(26px,4vw,48px)}

/* Zusammenarbeitsmodelle */
.model-card{display:flex;flex-direction:column}
.model-card h3{font-size:clamp(21px,2vw,25px);margin-bottom:14px}
.model-facts{margin:0}
.model-facts dt{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-3);margin-top:14px}
.model-facts dt:first-child{margin-top:0}
.model-facts dd{margin:3px 0 0;font-size:16.5px;line-height:1.55}
.model-num{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;color:var(--blue-2);background:var(--light);
}

/* Werte in Vergleichstabellen */
.val{display:inline-flex;align-items:center;gap:7px;font-weight:600;white-space:nowrap}
.val::before{content:"";width:10px;height:10px;border-radius:50%;flex-shrink:0}
.val-ja{color:#0B5D33}.val-ja::before{background:#1E9E5A}
.val-wunsch{color:var(--blue-3)}.val-wunsch::before{background:transparent;border:2px solid var(--blue-2);width:8px;height:8px}
.val-nein{color:var(--muted)}.val-nein::before{background:#B5C3D3}
.table-note{font-size:15.5px;color:var(--muted);margin-top:14px}

/* Maskottchen-Abschnitt */
.mascot-figure{margin:0}
.mascot-figure img{width:100%;max-width:560px;margin:0 auto}

/* Formular-Ergaenzungen */
.form-intro{margin-bottom:22px}
.required-note{font-size:15px;color:var(--muted);margin-bottom:18px}
.form-status{scroll-margin-top:calc(var(--header-h) + 24px)}
.form-status:focus{outline:3px solid var(--focus);outline-offset:3px}
.form-status ul{margin:8px 0 0 1.2em;font-weight:500}
button[aria-busy="true"]{opacity:.75;cursor:progress}
.field input::placeholder,.field textarea::placeholder{color:#6B7F95}
.choice input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* ---------- Ladereihenfolge der Kulissen ----------
   Mit JavaScript laden Sky-Tile und Unterseiten-Wolken erst, wenn der
   Hero-Hintergrund da ist (main.js setzt .bg-ready). Ohne JS laden alle sofort. */
.js:not(.bg-ready) .sky{background-image:none}
.js:not(.bg-ready) .subhero .hero-clouds{background-image:none;opacity:0}
.subhero .hero-clouds{transition:opacity .9s ease}

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-figure img{transform:none}
}
/* Auf kleinen Geraeten keine Wolkenbewegung */
@media (max-width:760px){.hero-clouds{animation:none}}
