/* Dropprinters · Basis. Reset, Typo, Glas, Aurora, Buttons, Nav, Footer, CTA-Band, Reveal.
   Gilt für alle Seiten. Seiten-CSS (home-/cs-/sol-Präfix) definiert diese Klassen nicht um.
   Liquid Glass ist hier eine Web-Annäherung (backdrop-filter + Lichtkanten), kein Apple-Material. */

/* ---------- Abgeleitete Werte (ergänzen tokens.css, ersetzen nichts) ---------- */
:root{
  --nav-h:64px; --nav-h-compact:56px; --nav-top:14px;
  --section-pad:clamp(96px,12vw,160px);
  --z-nav:50; --z-menu:40; --z-grain:70; --z-skip:90;
  --glass-spot:380px;
  --mx:30%; --my:0%;
}

/* ---------- Lenis (Smooth Scroll) ---------- */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px;background:var(--bg-0)}
body{margin:0;min-height:100svh;background:var(--bg-0);color:var(--ink-0);
  font-family:var(--font-body);font-size:17px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  overflow-x:hidden;overflow-x:clip}
/* v7 hell: Seite hell, Scrollleiste dunkel und schmal */
html{color-scheme:light;scrollbar-width:thin;scrollbar-color:rgba(10,10,12,.30) transparent}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-thumb{background:rgba(10,10,12,.28);border-radius:10px;border:3px solid transparent;background-clip:content-box}
img,svg,video,canvas{display:block;max-width:100%}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
/* v7: Standard ist hell. --accent-ink ist dort dunkles Petrol (Ring weit ueber 3:1), in Rauchglas-Inseln loest es zu Cyan auf; die .light-Ausnahme entfaellt */
[tabindex="-1"]:focus{outline:none}
::selection{background:rgba(37,99,235,.18);color:inherit}
[hidden]{display:none!important}

/* ---------- Typografie ---------- */
h1,.h1,h2,.h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
h1,.h1{font-size:var(--h1)}
h2,.h2{font-size:var(--h2)}
h3,.h3{font-family:var(--font-display);font-weight:600;font-size:var(--h3);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
h1 em,h2 em,.h1 em,.h2 em{font-style:italic;font-weight:700;letter-spacing:-.03em}
p{text-wrap:pretty}
.lead{font-size:var(--lead);line-height:1.5;color:var(--ink-1);max-width:58ch}
.kicker{display:inline-flex;align-items:center;gap:.7em;font-family:var(--font-accent);font-weight:800;font-style:italic;
  font-size:14px;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-1)}
/* Schräger Trenner im Winkel des DP-Monogramms */
.kicker__sep{display:inline-block;width:2px;height:.95em;background:currentColor;opacity:.45;transform:skewX(-23deg)}
.text-accent{color:var(--accent-ink)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:var(--z-skip);padding:12px 18px;border-radius:var(--r-pill);
  background:var(--solid);color:var(--on-solid);font-weight:600;transition:top .2s var(--ease-out)}
.skip-link:focus{top:16px}

/* ---------- Layout & Abschnitts-Rhythmus ---------- */
.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
.stage{position:relative;isolation:isolate;overflow:hidden;overflow:clip;background:var(--bg-0);color:var(--ink-0);
  padding-block:var(--section-pad);color-scheme:light}
.light{position:relative;isolation:isolate;background:var(--light-0);color:var(--ink-dark-0);padding-block:var(--section-pad);color-scheme:light}
.on-light{color:var(--ink-dark-0)}
.light .lead,.on-light .lead{color:var(--ink-dark-1)}
.light .kicker,.on-light .kicker{color:var(--ink-dark-1)}
.light ::selection,.on-light ::selection{background:rgba(37,99,235,.18)}

/* ---------- Glas (Liquid-Glass-Rezept v7: Milchglas auf hell) ----------
   Werte kommen aus den Glas-Tokens; in Rauchglas-Inseln (Liste in tokens.css) loesen dieselben Tokens zu dunklem Glas auf. */
.glass{position:relative;color:var(--ink-0);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-xl);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  box-shadow:var(--glass-shadow);overflow:hidden;isolation:isolate}
/* Specular-Kante oben links */
.glass::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:var(--glass-spec);
  -webkit-mask:linear-gradient(#000,transparent 70%);mask:linear-gradient(#000,transparent 70%)}
/* Refraktions-Lichtfleck: folgt dem Zeiger über --mx/--my (core.js setzt sie in % der Element-Box) */
.glass::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle var(--glass-spot) at var(--mx) var(--my),var(--glass-glow),transparent 60%);
  opacity:var(--glass-glow-o);mix-blend-mode:var(--glass-glow-blend)}
.glass--strong{background:var(--glass-bg-strong)}
.glass--pill{border-radius:var(--r-pill)}
/* Auf hellen Blaettern (kein Fade dahinter) etwas dichter. Muss vor der Rauchglas-Grundregel stehen. */
.on-light .glass,.light .glass{background:var(--glass-light-bg);border-color:var(--glass-light-border);
  box-shadow:0 20px 50px -26px rgba(48,32,110,.20),0 1px 6px rgba(48,32,110,.05),inset 0 1px 0 #fff}

/* Dickes Glas, hell (Helden-Objekte): Lichtring mit Dispersion im ::before, Glanz im Hintergrund, Tiefe unten */
.glass--liquid,.on-light .glass--liquid,.light .glass--liquid{border-color:rgba(10,10,12,.06);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.5) 55%,rgba(255,255,255,.72)),var(--glass-light-bg);
  box-shadow:0 30px 70px -24px rgba(48,32,110,.26),0 2px 6px rgba(48,32,110,.05),inset 0 1px 0 #fff,
    inset 1px 0 0 rgba(34,211,238,.18),inset -1px 0 0 rgba(244,114,182,.18),inset 0 -20px 40px -30px rgba(48,32,110,.10)}
.glass--liquid::before,.on-light .glass--liquid::before,.light .glass--liquid::before{inset:0;padding:1px;
  background:linear-gradient(140deg,#fff 0%,rgba(255,255,255,.4) 30%,rgba(10,10,12,.06) 60%,rgba(255,255,255,.8) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}

/* Rauchglas-Grund fuer Glas-Huellen in Inseln (die Insel liefert nur Tokens, diese Huellen brauchen zusaetzlich einen dunklen Grund).
   Spezifitaet 0,2,0 bzw. 0,3,0 nach den .on-light-Regeln. Huellen mit eigenem Hintergrund (.pt-panel, .sol-win__core, .sol-config__core) setzen var(--smoke-bg) lokal. */
.glass:is(.glass--smoke,.pg-hero__pane,.cs-shop,.cs-console,.sol-plt-hub,.sol-con__hub),
.on-light .glass:is(.glass--smoke,.pg-hero__pane,.cs-shop,.cs-console,.sol-plt-hub,.sol-con__hub),
.light .glass:is(.glass--smoke,.pg-hero__pane,.cs-shop,.cs-console,.sol-plt-hub,.sol-con__hub){
  background:linear-gradient(145deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 42%),var(--smoke-bg);
  border-color:var(--smoke-border);box-shadow:var(--smoke-shadow);
  -webkit-backdrop-filter:blur(var(--smoke-blur)) saturate(140%);backdrop-filter:blur(var(--smoke-blur)) saturate(140%)}
/* Specular-Kante auf Rauchglas gedaempft: volle Staerke hellt die Kopfleisten auf (Nebentext --ink-2 fiel dort auf 4,4:1) */
.glass:not(.glass--liquid):is(.glass--smoke,.pg-hero__pane,.cs-shop,.cs-console,.sol-plt-hub,.sol-con__hub)::before{opacity:.55}
.glass--strong:is(.glass--smoke,.sol-plt-hub){background:linear-gradient(145deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 42%),var(--smoke-bg-strong)}
.glass--liquid:is(.glass--smoke,.pg-hero__pane,.cs-shop){border-color:rgba(255,255,255,.10);
  box-shadow:0 30px 80px -20px rgba(24,16,60,.6),inset 0 1px 0 rgba(255,255,255,.38),inset 1px 0 0 rgba(34,211,238,.10),inset -1px 0 0 rgba(244,114,182,.10),inset 0 -28px 48px -30px rgba(255,255,255,.14)}
.glass--liquid:is(.glass--smoke,.pg-hero__pane,.cs-shop)::before{background:linear-gradient(140deg,rgba(255,255,255,.70) 0%,rgba(255,255,255,.14) 22%,rgba(255,255,255,.03) 52%,rgba(255,255,255,.10) 78%,rgba(255,255,255,.45) 100%)}

/* Fallbacks: kein backdrop-filter bzw. reduzierte Transparenz → satte Flaechen, Text bleibt lesbar.
   Milchglas ohne Blur: fast deckend hell. Ueber var(--bg-0) statt Weiss-Literal, damit Glas in Rauchglas-Inseln dunkel bleibt (dort --bg-0 = --smoke-0). */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .glass,.glass--liquid,.btn--glass,.nav__bar,.chip{background:var(--bg-0)}
  .on-light .glass,.light .glass,.on-light .glass--liquid,.light .glass--liquid{background:var(--bg-0)}
  .glass:is(.glass--smoke,.pg-hero__pane,.cs-shop,.cs-console,.sol-plt-hub,.sol-con__hub),.pt-chipx,.ptb-chip,.pt-panel,.pt-rail__track{background:rgba(20,20,32,.96)}
  .nav__menu{background:rgba(255,255,255,.98)}
}
/* Reduzierte Transparenz: deckende Flaechen statt Glas, kein Backdrop-Blur und kein Lichtfleck – auch für Glas aus Seiten-CSS.
   --bg-2 ist hell (#ECECF2) und loest in Inseln zu #1D1D2A auf. */
@media (prefers-reduced-transparency:reduce){
  *,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .glass,.glass--liquid,.btn--glass,.nav__bar,.chip,.on-light .glass,.light .glass,.on-light .glass--liquid,.light .glass--liquid{background:var(--bg-2)}
  .glass::after{display:none}
  .nav__menu{background:var(--bg-0)}
  .field input,.field select,.field textarea{background-color:var(--bg-0)}
}

/* ---------- Aurora: Pastell-Farbfades hinter Glas (v7 hell; gleiches Rezept in stage-core.css .pt-aurora) ---------- */
.aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.aurora__blob{position:absolute;width:var(--s,54vmax);aspect-ratio:1;border-radius:50%;opacity:var(--o,.7);mix-blend-mode:normal;
  background:radial-gradient(closest-side,var(--c) 0%,color-mix(in srgb,var(--c) 70%,transparent) 24%,color-mix(in srgb,var(--c) 38%,transparent) 48%,color-mix(in srgb,var(--c) 12%,transparent) 74%,transparent 100%)}
/* Deckkraft v7 .90/.80/.85/.65. Obergrenze .9, Pigment nie dunkler als #CDB8FF (--ink-2 direkt auf dem Violett-Fade 5,59:1) */
.aurora__blob:nth-child(1){--c:var(--aurora-a);--s:62vmax;--o:.90;left:-20%;top:-38%}
.aurora__blob:nth-child(2){--c:var(--aurora-b);--s:54vmax;--o:.80;right:-18%;top:-14%}
.aurora__blob:nth-child(3){--c:var(--aurora-c);--s:52vmax;--o:.85;left:14%;bottom:-42%}
.aurora__blob:nth-child(4){--c:var(--aurora-d);--s:34vmax;--o:.65;right:6%;bottom:-24%}
@media (max-width:768px){
  .aurora__blob:nth-child(4){display:none}
  .aurora__blob:nth-child(1){--s:84vmax;left:-45%;top:-28%}
  .aurora__blob:nth-child(2){--s:72vmax;right:-45%;top:4%}
  .aurora__blob:nth-child(3){--s:68vmax;left:-10%;bottom:-30%}
}
/* Stripe-Sweep (nur Hub-Hero, rein CSS, Geschwister der .aurora): diagonaler Farbfade orange → pink → violett → blau mit weichen Kanten */
.fade-sweep{position:absolute;z-index:-1;pointer-events:none;right:-22vmax;top:-34%;width:min(64vw,1040px);height:170%;
  transform:rotate(-26deg);transform-origin:60% 45%;opacity:var(--sweep-o);filter:blur(28px) saturate(1.05);will-change:transform;
  background:linear-gradient(90deg,rgba(255,185,138,0) 0%,var(--sweep-1) 18%,var(--sweep-2) 38%,var(--sweep-3) 60%,var(--sweep-4) 82%,rgba(141,190,255,0) 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 64%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 64%,transparent 100%)}
.fade-sweep::before{content:"";position:absolute;inset:0 34% 0 30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);mix-blend-mode:soft-light}
@media (max-width:768px){.fade-sweep{right:-52vmax;width:96vw;top:-20%;height:150%;opacity:.6;filter:blur(18px)}}
@media (prefers-reduced-motion:no-preference){.fade-sweep{animation:fade-sweep-drift 26s ease-in-out infinite alternate}.hm-hero.is-paused .fade-sweep{animation-play-state:paused}}
@keyframes fade-sweep-drift{from{transform:rotate(-26deg) translate3d(0,0,0)}to{transform:rotate(-26deg) translate3d(-3vmax,2vmax,0)}}
/* Fade-Baender: waschen nur die Naht zweier Blaetter, netto 0 Hoehe (nur Hub, hoechstens 2) */
.fade-band{--fb-h:clamp(96px,13vw,200px);position:relative;z-index:2;height:var(--fb-h);margin-block:calc(var(--fb-h) / -2);pointer-events:none}
.fade-band::before{content:"";position:absolute;inset:0 -4vw;background:var(--fade-ramp-x);filter:blur(38px);opacity:.34;transform:skewY(-3deg);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%)}
.fade-band--rev::before{transform:skewY(3deg);transform-origin:center}
@media (max-width:768px){.fade-band{--fb-h:clamp(72px,18vw,120px)}.fade-band::before{filter:blur(28px);opacity:.30}}
@media print{.fade-sweep,.fade-band{display:none!important}}
/* Film-Grain gegen Banding der Pastelle: dunkles Rauschen, multipliziert, fest und klickdurchlaessig (Deckkraft nie ueber .04) */
body::after{content:"";position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Buttons ---------- */
.btn{--btn-bg:transparent;--btn-fg:currentColor;--btn-shine:rgba(255,255,255,.55);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 20px;
  border-radius:var(--r-pill);border:0;font-family:var(--font-display);font-weight:600;font-size:15px;line-height:1;letter-spacing:-.005em;
  white-space:nowrap;color:var(--btn-fg);background-color:var(--btn-bg);
  background-image:linear-gradient(105deg,transparent 38%,var(--btn-shine) 50%,transparent 62%);background-size:260% 100%;background-position:130% 0;background-repeat:no-repeat;
  transition:transform 320ms var(--ease-glass),background-position 700ms var(--ease-glass),background-color 320ms var(--ease-glass),color 320ms var(--ease-glass),box-shadow 320ms var(--ease-glass);
  -webkit-tap-highlight-color:transparent;user-select:none}
.btn:active{transform:scale(.97);transition-duration:200ms}
@media (hover:hover){.btn:hover{transform:translateY(-1px);background-position:-30% 0}.btn:hover:active{transform:scale(.97)}}
/* Primaer: schwarze CI-Pille mit weisser Schrift (in Rauchglas-Inseln umgekehrt), ueber --solid/--on-solid */
.btn--primary{--btn-bg:var(--solid);--btn-fg:var(--on-solid);--btn-shine:rgba(255,255,255,.9);
  background-image:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%);
  box-shadow:0 14px 30px -16px rgba(10,10,12,.55),inset 0 1px 0 rgba(255,255,255,.14)}
@media (hover:hover){.btn--primary:hover{--btn-bg:var(--solid-hover)}}
.btn--glass{--btn-fg:var(--ink-0);--btn-shine:rgba(255,255,255,.95);background-color:var(--glass-bg);border:1px solid var(--line-strong);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  box-shadow:inset 0 1px 0 var(--glass-highlight),0 10px 26px -16px rgba(10,10,12,.35)}
@media (hover:hover){.btn--glass:hover{background-color:var(--glass-bg-strong)}}
/* Pfeil als eigener Kreis im Button (Button-in-Button); Toenung folgt der Schriftfarbe, damit sie auch in Inseln stimmt */
.btn__icon{display:grid;place-items:center;width:32px;height:32px;margin-right:-10px;border-radius:50%;
  background:rgba(10,10,12,.08);transition:transform 320ms var(--ease-glass),background-color 320ms var(--ease-glass)}
.btn--primary .btn__icon{background:color-mix(in srgb,var(--on-solid) 14%,transparent)}
.btn--glass .btn__icon{background:color-mix(in srgb,var(--ink-0) 7%,transparent)}
.btn__icon svg{width:16px;height:16px;fill:currentColor}
@media (hover:hover){.btn:hover .btn__icon{transform:translate(2px,-1px) scale(1.05)}}

/* Badges & Chips (hellgrau wie dp-digital; in Inseln loesen die Tokens dunkel auf) */
.badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-pill);
  font-family:var(--font-body);font-size:12.5px;font-weight:600;line-height:1;letter-spacing:.01em;white-space:nowrap;
  color:var(--ink-1);background:var(--chip-bg);border:1px solid var(--line)}
.badge--accent{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent-ink) 30%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.chip{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 12px;border-radius:var(--r-pill);
  font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;color:var(--ink-0);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.62) 60%);border:1px solid var(--line);
  box-shadow:inset 0 1px 0 #fff,0 14px 30px -18px rgba(48,32,110,.30)}
.chip svg{width:22px;height:22px;fill:currentColor;opacity:.9}

/* ---------- Navigation (Glas-Pille) ---------- */
.nav{position:fixed;top:var(--nav-top);left:0;right:0;z-index:var(--z-nav);display:flex;justify-content:center;
  padding-inline:var(--gutter);pointer-events:none}
.nav__bar{position:relative;z-index:2;pointer-events:auto;display:flex;align-items:center;gap:20px;width:100%;max-width:1120px;
  height:var(--nav-h);padding:0 8px 0 18px;border-radius:var(--r-pill);color:var(--ink-0);
  background:rgba(255,255,255,.66);border:1px solid rgba(10,10,12,.08);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  box-shadow:0 18px 44px -22px rgba(48,32,110,.28),inset 0 1px 0 rgba(255,255,255,.95);
  transition:height 360ms var(--ease-glass),background-color 360ms var(--ease-glass),border-color 360ms var(--ease-glass),box-shadow 360ms var(--ease-glass),color 360ms var(--ease-glass)}
.nav.is-scrolled .nav__bar{height:var(--nav-h-compact);background:rgba(255,255,255,.80)}
/* v7: helles Milchglas ist Standard. .nav.is-light (core.js) bleibt als Klasse bestehen und aendert nichts mehr. */
/* Fallbacks der Nav-Leiste: stehen bewusst nach den Nav-Regeln, sonst gewinnen deren halbtransparente Flächen */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .nav .nav__bar,.nav.is-scrolled .nav__bar{background:rgba(255,255,255,.96)}
}
@media (prefers-reduced-transparency:reduce){
  .nav .nav__bar,.nav.is-scrolled .nav__bar{background:var(--bg-2)}
}
/* Logo-Zeile (Lockup, v2): Monogramm links, rechts eine Spalte aus Wortmarke und Markenzeile (.nav__tag).
   Hub-Variante ohne .nav__tag; v1-Markup (Monogramm + Wortmarke ohne .nav__col) bleibt gültig.
   Leistenhöhe bleibt 64/56 px (--nav-h/--nav-h-compact), daran hängen die Sticky-Offsets der Seiten. */
.nav__brand{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:44px;color:inherit;padding:4px 4px;border-radius:12px}
.nav__mono{width:auto;height:36px}
.nav__word{width:auto;height:18px}
.nav__mono,.nav__word,.footer__giant,.dp-logo{fill:currentColor}
.nav__mono,.nav__word{transition:height 360ms var(--ease-glass)}
.nav__col{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;line-height:1;transition:gap 360ms var(--ease-glass)}
/* Markenzeile: rechtsbündig unter der Wortmarke; die Spationierung hinter dem letzten Buchstaben wird ausgeglichen */
.nav__tag{display:block;margin-right:-.12em;font-family:var(--font-accent);font-weight:700;font-style:italic;font-size:10.3px;line-height:1;
  letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:inherit;opacity:.8;transition:font-size 360ms var(--ease-glass)}
.nav.is-scrolled .nav__mono{height:32px}
.nav.is-scrolled .nav__word{height:16px}
.nav.is-scrolled .nav__col{gap:3.5px}
.nav.is-scrolled .nav__tag{font-size:9.2px}
.nav__links{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;margin-inline:auto}
.nav__link{position:relative;padding:9px 14px;border-radius:var(--r-pill);font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;
  color:var(--ink-1);transition:color 200ms ease,background-color 200ms ease}
.nav__link[aria-current]{color:var(--ink-0);background:rgba(10,10,12,.06)}
@media (hover:hover){
  .nav__link:hover{color:var(--ink-0);background:var(--hover)}
}
/* Nav-CTA: schwarze CI-Pille (.btn--primary), in der Glasleiste ohne Fallschatten */
.nav__cta{flex:none;height:44px;padding:0 18px;font-size:14.5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}

/* Marken-Umschalter (details/summary): öffnet ohne JavaScript; core.js ergänzt Esc, Klick außerhalb, focusout.
   Panel mit fast deckender Fläche statt eigenem Blur (ein zweiter backdrop-filter in der Glasleiste filtert nicht die Seite). */
.nav__brands{position:relative;flex:none}
.nav__brands-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);list-style:none;
  font-size:14.5px;font-weight:500;line-height:1;white-space:nowrap;color:var(--ink-1);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;
  transition:color 200ms ease,background-color 200ms ease}
.nav__brands-btn::-webkit-details-marker{display:none}
.nav__brands-btn::marker{content:""}
.nav__brands-btn::after{content:"";flex:none;width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform 260ms var(--ease-glass),margin-top 260ms var(--ease-glass)}
.nav__brands[open]>.nav__brands-btn{color:var(--ink-0);background:rgba(10,10,12,.06)}
.nav__brands[open]>.nav__brands-btn::after{margin-top:3px;transform:rotate(-135deg)}
@media (hover:hover){
  .nav__brands-btn:hover{color:var(--ink-0);background:var(--hover)}
}
.nav__brands-panel{position:absolute;top:calc(100% + 18px);right:0;z-index:3;display:grid;gap:2px;width:max-content;min-width:260px;max-width:min(340px,100vw - 32px);
  margin:0;padding:8px;list-style:none;border-radius:22px;color:var(--ink-0);background:rgba(255,255,255,.98);border:1px solid rgba(10,10,12,.08);
  box-shadow:0 28px 54px -22px rgba(48,32,110,.32),inset 0 1px 0 #fff;transform-origin:top right}
.nav__brands[open] .nav__brands-panel{animation:dp-brands-in 240ms var(--ease-out)}
@keyframes dp-brands-in{from{opacity:0;transform:translate3d(0,-6px,0) scale(.98)}}
.nav__brands-link{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:52px;padding:8px 14px;border-radius:14px;
  font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.15;color:inherit;transition:background-color 160ms ease}
.nav__brands-link small{font-family:var(--font-body);font-size:12.5px;font-weight:500;letter-spacing:0;line-height:1.2;color:var(--ink-1)}
.nav__brands-link:focus-visible{outline-offset:-2px}
@media (hover:hover){.nav__brands-link:hover{background:rgba(10,10,12,.05)}}
@media (prefers-reduced-transparency:reduce){
  .nav__brands-panel{background:var(--bg-0)}
}

.nav__burger{display:none;position:relative;flex:none;width:44px;height:44px;margin-left:auto;border-radius:50%;
  background:rgba(10,10,12,.06);color:inherit;transition:background-color 200ms ease}
.nav__burger span{position:absolute;left:13px;right:13px;height:1.5px;border-radius:2px;background:currentColor;
  transition:transform 360ms var(--ease-glass),top 360ms var(--ease-glass)}
.nav__burger span:nth-child(1){top:18px}
.nav__burger span:nth-child(2){top:25px}
.nav.is-open .nav__burger span:nth-child(1){top:21.5px;transform:rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
/* Mobiles Vollbild-Glasmenü: eigene Menüpunkte, darunter ruhiger der Block „Weitere Marken“; scrollt, wenn es nicht passt (320×568) */
.nav__menu{position:fixed;inset:0;z-index:1;pointer-events:auto;display:flex;flex-direction:column;justify-content:flex-start;gap:32px;
  padding:calc(var(--nav-top) + var(--nav-h) + 40px) var(--gutter) max(32px,env(safe-area-inset-bottom));
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:rgba(250,250,252,.88);-webkit-backdrop-filter:blur(36px) saturate(180%);backdrop-filter:blur(36px) saturate(180%);
  color:var(--ink-0);opacity:0;visibility:hidden;transition:opacity 420ms var(--ease-out),visibility 0s linear 420ms}
.nav.is-open .nav__menu{opacity:1;visibility:visible;transition:opacity 420ms var(--ease-out),visibility 0s}
/* PERF-02: geschlossenes Menü ohne Blur; Abschalten erst nach dem Ausblenden (420 ms), beim Öffnen sofort an */
.nav:not(.is-open) .nav__menu{-webkit-backdrop-filter:none;backdrop-filter:none;
  transition:opacity 420ms var(--ease-out),visibility 0s linear 420ms,-webkit-backdrop-filter 0s linear 420ms,backdrop-filter 0s linear 420ms}
.nav__menu-list{display:flex;flex-direction:column;gap:4px}
.nav__menu-link{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);
  font-family:var(--font-display);font-weight:600;font-size:clamp(30px,8.5vw,44px);letter-spacing:-.03em;line-height:1.05;
  opacity:0;transform:translate3d(0,28px,0);transition:opacity 500ms var(--ease-out),transform 700ms var(--ease-out);transition-delay:calc(var(--i,0) * 55ms + 80ms)}
.nav__menu-link small{font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:0;color:var(--ink-2)}
.nav.is-open .nav__menu-link{opacity:1;transform:none}
.nav__menu-title{font-family:var(--font-accent);font-weight:700;font-style:italic;font-size:13px;line-height:1;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);opacity:0;transition:opacity 500ms var(--ease-out) 300ms}
.nav.is-open .nav__menu-title{opacity:1}
.nav__menu-title+.nav__menu-brands{margin-top:-18px}
.nav__menu-brands{display:flex;flex-direction:column}
.nav__menu-brands .nav__menu-link{align-items:center;min-height:48px;padding:11px 0;font-size:clamp(20px,5.6vw,26px);letter-spacing:-.02em;line-height:1.1;
  color:var(--ink-1);border-bottom-color:var(--line-soft)}
.nav__menu .btn{align-self:stretch;flex:none;margin-top:auto;opacity:0;transition:opacity 500ms var(--ease-out) 360ms}
.nav.is-open .nav__menu .btn{opacity:1}
.nav-open{overflow:hidden}
/* Umschaltpunkt (v2): Menü-Symbol bis 1099 px, volle Leiste ab 1100 px. Nur hier und in core.js (Media-Query der Navigation);
   die 960/961-Schwellen der Seiten-Layouts bleiben unberührt. */
@media (max-width:1099px){
  .nav__links,.nav__cta,.nav__brands{display:none}
  .js .nav__burger{display:block}
  html:not(.js) .nav__cta{display:inline-flex;margin-left:auto}
  .nav__bar{padding:0 8px 0 14px}
}
@media (max-width:380px){
  .nav__brand{gap:8px}
  .nav__bar{gap:12px}
}
/* Ohne JavaScript und schmal: CTA als runder Pfeil-Knopf neben der Logo-Zeile; die Beschriftung bleibt der zugängliche Name */
@media (max-width:520px){
  html:not(.js) .nav__cta{width:44px;padding:0;gap:0;font-size:0}
  html:not(.js) .nav__cta::after{content:"";width:16px;height:16px;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224.49 136.49l-72 72a12 12 0 0 1-17-17L187 140H40a12 12 0 0 1 0-24h147l-51.49-51.52a12 12 0 0 1 17-17l72 72a12 12 0 0 1 0 17.01Z'/%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 256 256'%3E%3Cpath d='M224.49 136.49l-72 72a12 12 0 0 1-17-17L187 140H40a12 12 0 0 1 0-24h147l-51.49-51.52a12 12 0 0 1 17-17l72 72a12 12 0 0 1 0 17.01Z'/%3E%3C/svg%3E") center/contain no-repeat}
}
/* Schmale Desktops: enger setzen statt umbrechen (Agency: fünf Menüpunkte, Umschalter und CTA) */
@media (min-width:1100px) and (max-width:1279px){
  .nav__bar{gap:12px;padding-left:16px}
  .nav__link{padding-inline:10px}
  .nav__brands-btn{padding-inline:11px}
  .nav__cta{padding-inline:16px}
}
@media (min-width:1100px){.nav__menu{display:none}}

/* ---------- CTA-Band #kontakt (Glas-Karte + Kontaktformular, Logik in core.js) ---------- */
.cta-band{padding-block:clamp(96px,11vw,150px)}
.cta-band__card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:end;
  padding:clamp(28px,5vw,64px);border-radius:calc(var(--r-xl) + 8px)}
.cta-band__copy{display:grid;gap:22px;align-content:start;align-self:start}
.cta-band__copy h2{font-size:clamp(34px,4.2vw,60px)}
.cta-band__copy .lead{max-width:44ch}
.cta-band__facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cta-form{position:relative;display:grid;gap:14px}
.cta-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:grid;gap:8px;align-content:start}
.field label{font-size:13.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-1)}
.field__opt{font-weight:500;color:var(--ink-2)}
.field input,.field select,.field textarea{height:52px;width:100%;padding:0 18px;border-radius:var(--r-md);border:1px solid var(--field-border);
  background:var(--field-bg);color:var(--ink-0);font-size:16px;transition:border-color 200ms ease,background-color 200ms ease,box-shadow 200ms ease}
.field textarea{height:auto;min-height:96px;padding:14px 18px;line-height:1.5;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%230A0A0C' fill-opacity='.7' d='M216.49 104.49l-80 80a12 12 0 0 1-17 0l-80-80a12 12 0 0 1 17-17L128 159l71.51-71.52a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;background-size:14px}
.field select option{background:var(--bg-0);color:var(--ink-0)}
.field input::placeholder,.field textarea::placeholder{color:rgba(10,10,12,.62)}
/* Fokus: dunkler Rand und Ring (≥ 3:1 auf hell), Cyan nur als weicher Halo */
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink-0);background-color:var(--bg-0);box-shadow:0 0 0 1px var(--ink-0),0 0 0 5px rgba(34,211,238,.30)}
.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:#BE123C}
.field__error{font-size:13px;line-height:1.45;color:#BE123C}
/* Einwilligung: eigene Checkbox, Label rechts, Fehler darunter */
.field--check{grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:6px;margin-top:2px}
.field--check input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:22px;height:22px;margin:1px 0 0;padding:0;
  border-radius:7px;border-color:var(--field-border);cursor:pointer;transition:background-color 160ms var(--ease-out),border-color 160ms var(--ease-out)}
.field--check input::before{content:"";width:12px;height:12px;background:var(--on-solid);transform:scale(0);transition:transform 160ms var(--ease-out);
  clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
.field--check input:checked{background-color:var(--solid);border-color:var(--solid)}
.field--check input:checked::before{transform:scale(1)}
.field--check input:focus{box-shadow:0 0 0 1px var(--ink-0),0 0 0 5px rgba(10,10,12,.12)}
.field--check label{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--ink-1);cursor:pointer}
.field--check label a{color:var(--ink-0);text-decoration:underline;text-underline-offset:3px}
.field--check .field__error{grid-column:2}
/* Honeypot: für Menschen unsichtbar, für Bots ein normales Feld */
.cta-form__hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cta-form .btn{margin-top:6px;justify-self:start}
.cta-form .btn[aria-busy="true"]{opacity:.72;cursor:progress}
.cta-form__note{font-size:13px;color:var(--ink-2)}
.cta-form__status{font-size:14.5px;font-weight:500;line-height:1.5;color:var(--ink-0);min-height:1.4em}
.cta-form__status:empty{display:none}
.cta-form__status a{color:var(--ink-0);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cta-form[data-state="invalid"] .cta-form__status,.cta-form[data-state="error"] .cta-form__status{color:#BE123C}
.cta-form[data-state="sending"] .cta-form__status{color:var(--ink-1)}
/* Helles Formularband: section.light.on-light.cta-band > .container > .cta-band__card (ohne Glas) + Formular als Kontextregel.
   v7: das Standardformular ist jetzt ebenfalls hell (Feldrand ≥ 3:1, dunkler Fokus, Fehler #BE123C); diese Kontextregeln sind redundant und bleiben als Absicherung. */
.on-light .cta-band__card{border:1px solid rgba(10,10,12,.08);background:linear-gradient(160deg,var(--light-1),rgba(255,255,255,.8));
  box-shadow:0 24px 50px -32px rgba(16,24,48,.30),0 2px 6px -2px rgba(16,24,48,.06),inset 0 1px 0 #fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.on-light .cta-form .field label{color:var(--ink-dark-1)}
.on-light .cta-form .field__opt{color:var(--ink-dark-2)}
.on-light .cta-form .field input,.on-light .cta-form .field select,.on-light .cta-form .field textarea{border-color:rgba(10,10,12,.46);
  background-color:var(--light-1);color:var(--ink-dark-0)}
.on-light .cta-form .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%230A0A0C' fill-opacity='.7' d='M216.49 104.49l-80 80a12 12 0 0 1-17 0l-80-80a12 12 0 0 1 17-17L128 159l71.51-71.52a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E")}
.on-light .cta-form .field select option{background:var(--light-1);color:var(--ink-dark-0)}
.on-light .cta-form .field input::placeholder,.on-light .cta-form .field textarea::placeholder{color:rgba(10,10,12,.6)}
.on-light .cta-form .field input:focus,.on-light .cta-form .field select:focus,.on-light .cta-form .field textarea:focus{border-color:var(--ink-dark-0);
  box-shadow:0 0 0 1px var(--ink-dark-0),0 0 0 5px rgba(10,10,12,.12)}
.on-light .cta-form .field[data-invalid] input,.on-light .cta-form .field[data-invalid] select,.on-light .cta-form .field[data-invalid] textarea{border-color:#BE123C}
.on-light .cta-form .field__error{color:#BE123C}
.on-light .cta-form .field--check input::before{background:var(--light-1)}
.on-light .cta-form .field--check input:checked{background-color:var(--ink-dark-0);border-color:var(--ink-dark-0)}
.on-light .cta-form .field--check label{color:var(--ink-dark-1)}
.on-light .cta-form .field--check label a{color:var(--ink-dark-0)}
.on-light .cta-form__note{color:var(--ink-dark-2)}
.on-light .cta-form__status{color:var(--ink-dark-0)}
.on-light .cta-form__status a{color:var(--ink-dark-0)}
.on-light .cta-form[data-state="invalid"] .cta-form__status,.on-light .cta-form[data-state="error"] .cta-form__status{color:#BE123C}
.on-light .cta-form[data-state="sending"] .cta-form__status{color:var(--ink-dark-1)}
@media (max-width:860px){
  .cta-band__card{grid-template-columns:1fr;align-items:start}
  .cta-form .btn{justify-self:stretch}
}
@media (max-width:560px){
  .cta-form__grid{grid-template-columns:1fr}
}

/* ---------- Footer ---------- */
.footer{position:relative;isolation:isolate;overflow:hidden;overflow:clip;background:linear-gradient(180deg,var(--bg-1),var(--light-2));color:var(--ink-1);
  padding-top:clamp(64px,8vw,104px);border-top:1px solid var(--line)}
/* v7: Fade-Hauch (Pastell) am unteren Rand hinter der Wortmarke */
.footer::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-45%;height:70%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--fade-a) 60%,transparent),transparent)}
.footer__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:48px}
.footer__logo{display:inline-flex;align-items:center;gap:13px;min-height:44px;color:var(--ink-0);border-radius:12px}
/* Footer-Lockup: dieselbe Logo-Zeile wie in der Leiste, rund 1,28-fach */
.footer__logo .nav__mono{height:46px}
.footer__logo .nav__word{height:23px}
.footer__logo .nav__col{gap:5px}
.footer__logo .nav__tag{font-size:13.2px}
.footer__claim{margin-top:20px;max-width:30ch;font-size:15px;line-height:1.55;color:var(--ink-1)}
.footer__addr{margin-top:12px;font-size:14px;color:var(--ink-2)}
.footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.footer__title{margin-bottom:14px;font-family:var(--font-accent);font-weight:800;font-style:italic;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-0)}
/* SHARED-07: Tippfläche 44 px statt 19 px; Abstand steckt jetzt in der Linkhöhe */
.footer__col ul{display:grid;gap:0}
.footer__col a{display:inline-flex;align-items:center;min-height:44px;vertical-align:top;font-size:15px;color:var(--ink-1);transition:color 200ms ease}
@media (hover:hover){.footer__col a:hover{color:var(--ink-0)}}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:clamp(48px,7vw,88px);
  padding-block:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
/* Urheberhinweis: gleiche Größe/Farbe wie die Copyright-Zeile, Tippfläche ≥ 44 px */
.footer__credit{margin:0;font-size:inherit;color:inherit}
.footer__credit a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-1);text-decoration:underline;text-decoration-color:transparent;
  text-underline-offset:3px;text-decoration-thickness:1px;transition:color 200ms ease,text-decoration-color 200ms ease}
.footer__credit a:focus-visible{color:var(--ink-0);text-decoration-color:currentColor}
@media (hover:hover){.footer__credit a:hover{color:var(--ink-0);text-decoration-color:currentColor}}
@media (max-width:600px){.footer__bottom{flex-direction:column;align-items:flex-start;gap:0}}
/* Riesige Wortmarke als Abschluss, angeschnitten */
.footer__giant{display:block;width:100%;height:auto;margin-top:clamp(24px,4vw,48px);margin-bottom:-2.2%;color:rgba(10,10,12,.05)}
@media (max-width:860px){
  .footer__inner{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- Verlaufstext (opt-in .text-grad) ----------
   Basis ist immer eine sichtbare Vollfarbe. Der Verlauf liegt nur auf dem Element, das den Text selbst trägt:
   WebKit rechnet Text in inline-block-Kindern nicht in die Maske von background-clip:text ein (Wort unsichtbar).
   core.js (DP.split) zerlegt solche Elemente deshalb nie in Wort-Spans, sondern legt sie wortweise als Ganzes in .split-i. */
.text-grad{color:var(--text-grad-solid)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .text-grad{color:transparent;background:var(--text-grad);
    -webkit-background-clip:text;background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone}
}
@media (forced-colors:active){.text-grad{color:CanvasText;background:none}}

/* ---------- Reveal-Helfer (core.js schaltet .is-in) ---------- */
.split-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .05em .16em;margin:-.1em -.05em -.16em}
.split-i{display:inline-block}
.count{display:inline-flex;align-items:baseline;white-space:nowrap}
.count__d{display:inline-block;height:1em;line-height:1;overflow:hidden;padding-right:.08em;margin-right:-.08em}
.count__strip{display:flex;flex-direction:column}
.count__strip>span{display:block;height:1em;line-height:1}
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translate3d(0,24px,0);
    transition:opacity 900ms var(--ease-out),transform 1100ms var(--ease-out);transition-delay:var(--rd,0ms)}
  .js [data-reveal].is-in{opacity:1;transform:none}
  .js [data-split] .split-i{transform:translate3d(0,108%,0);transition:transform 1100ms var(--ease-out);
    transition-delay:calc(var(--wi,0) * 45ms + var(--rd,0ms))}
  .js [data-split].is-in .split-i{transform:none}
  .js .count__strip{transform:translate3d(0,0,0);transition:transform 1400ms var(--ease-out);transition-delay:calc(var(--ci,0) * 90ms + 120ms)}
  .js .count.is-in .count__strip{transform:translate3d(0,calc(var(--n,0) * -1em),0)}
}
@media (prefers-reduced-motion:reduce){
  .count__strip{transform:translate3d(0,calc(var(--n,0) * -1em),0)}
}

/* ---------- Druck: alle Inhalte sichtbar, keine Effekte ---------- */
@media print{
  [data-reveal],[data-split] .split-i{opacity:1!important;transform:none!important}
  .nav,.aurora,body::after{display:none!important}
  .count__strip{transform:translate3d(0,calc(var(--n,0) * -1em),0)!important}
}

/* ---------- Reduced Motion: statisch, alles sichtbar ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important;
    transition-duration:1ms!important;transition-delay:0s!important}
  [data-reveal],[data-split] .split-i{opacity:1!important;transform:none!important}
}
