/* ============================================================
   CARLUTION — SHARED STYLESHEET
   ------------------------------------------------------------
   A  CORE          — auf allen Seiten identisch
      A1  Tokens
      A2  Base / Reset
      A3  Keyframes
      A4  Shared Components
      A5  Navbar
      A6  Footer
      A7  Breakpoints
      A8  Reduced Motion

   B  SEITE: GEO-WORKSHOP     (#geo-workshop-page, auch GVA-Workshop)
   C  SEITE: EVENTS           (#carlution-workshops-page)
   D  SEITE: SELBSTCHECK      (#selfcheck-page)
   E  SEITE: GEO-TOOL         (#geo-tool-page)
   F  SEITE: RTL-EVENT        (#rtl-event-page)
   G  SEITE: DOWNLOAD / 404   (#download-page)
   H  SEITE: STARTSEITE       (#home-page)
   I  SEITEN: WEBSITELÖSUNGEN + PREISÜBERSICHT (.hp-page)
   J  LEISTUNGSSEITEN + PARTNER (.hp-page)
   K  KONTAKT + RECHTSTEXTE (.hp-page)
   L  FAQ-SEITE (.hp-page)
   M  DIGITALE IDENTITÄT & KI-FAKTEN (.hp-page)
   N  NEWS – Übersicht + Beitrag (.hp-page)
   O  DANKE-SEITE (.hp-page)
   P  COOKIE-BANNER

   Neue Seite = neuer Block am Ende, mit eigenem Präfix.
   In A gehört NICHTS Seitenspezifisches.

   Hinweis: Viele !important und die ID-Scopes stammen aus der
   Zeit im WordPress-/Avada-Theme. Sie sind harmlos, können aber
   Schritt für Schritt entfernt werden (jeweils mit Sichtprüfung).
   ============================================================ */


/* ############################################################
   A  CORE
   ############################################################ */

/* ============================================================
   A1  TOKENS
   ============================================================ */
:root{
  --ink:#141617;
  --ink-soft:#4A4D4F;
  --ink-muted:#8A8E91;
  --surface:#FAFAFA;
  --border:#E2E4E5;
  --accent:#46C8FF;
  --accent-dark:#1FA3DE;
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2');
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v31-latin-500.woff2') format('woff2'); 
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-latin-600.woff2') format('woff2'); 
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v31-latin-700.woff2') format('woff2');
}
/* sofia-sans-condensed-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Sofia Sans Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/sofia-sans-condensed-v6-latin-regular.woff2') format('woff2'); 
}

/* sofia-sans-condensed-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Sofia Sans Condensed';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/sofia-sans-condensed-v6-latin-800.woff2') format('woff2'); 
}

/* sofia-sans-condensed-800italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Sofia Sans Condensed';
  font-style: italic;
  font-weight: 800;
  src: url('../fonts/sofia-sans-condensed-v6-latin-800italic.woff2') format('woff2');
}

/* ============================================================
   A2  BASE / RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html,body{overflow-x:clip}

html{scroll-behavior:smooth}

body{
  font-family:'Montserrat',sans-serif;
  background:var(--surface);
  color:var(--ink);
  line-height:1.6;
  font-size:16px;
}

/* verhindert Scrollen hinter dem offenen Mobile-Menü */
body.cl-lock{overflow:hidden}

/* Page-Wrapper — stammt aus der Avada-Zeit (neutralisierte dessen
   Spacing). Nicht einfach löschen: der :is(p,h1,h2,h3)-Reset gewinnt
   per ID-Spezifität gegen Klassen-Margins, einige Layouts rechnen damit.
   #rtl-event-page fehlt hier absichtlich (Block F setzt eigene Margins). */
#carlution-workshops-page,
#geo-workshop-page,
#selfcheck-page,
#geo-tool-page,
#download-page{
  max-width:100% !important;width:100% !important;
  margin:0 !important;padding:0 !important;
}
#carlution-workshops-page *,
#geo-workshop-page *,
#selfcheck-page *,
#geo-tool-page *,
#download-page *{box-sizing:border-box}
#carlution-workshops-page :is(p,h1,h2,h3),
#geo-workshop-page :is(p,h1,h2,h3),
#selfcheck-page :is(p,h1,h2,h3),
#geo-tool-page :is(p,h1,h2,h3),
#download-page :is(p,h1,h2,h3){margin:0;padding:0}


/* ============================================================
   A3  KEYFRAMES
   ------------------------------------------------------------
   @keyframes sind global, lassen sich nicht scopen → alle hier.
   ============================================================ */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}
@keyframes heroGlow{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
@keyframes caret{50%{opacity:0}}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes videoPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes bekannt-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Hero-Netz (F2): wanderndes Signal, Drift der Ebene, Knoten-Blinken.
   netFlow verschiebt das Muster um genau eine Periode (240) →
   nahtlose Schleife, egal wie lang die Linie ist. */
@keyframes netFlow{from{stroke-dashoffset:240}to{stroke-dashoffset:0}}
@keyframes netDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,12px)}}
@keyframes netNode{0%,100%{opacity:.25}50%{opacity:.75}}

/* ============================================================
   A4  SHARED COMPONENTS
   ============================================================ */
.section-eyebrow{
  font-size:26px;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;color:var(--accent);margin-bottom:12px;
}

.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:var(--ink);border:none;border-radius:100px;
  padding:16px 32px;font-size:17px;font-weight:700;cursor:pointer;
  text-decoration:none;letter-spacing:.01em;
  transition:background .25s,transform .25s,box-shadow .25s;
}
/* Hover: Grund dunkler, Schrift bleibt dunkel (Kontrast ~6:1).
   Weiß auf --accent-dark hätte nur ~2,9:1 und wäre schlecht lesbar. */
.btn-primary:hover{
  background:var(--accent-dark);color:var(--ink);transform:translateY(-2px);
  box-shadow:0 6px 18px -8px rgba(70,200,255,.55);
}

/* Pill-Badge */
.cl-pill{
  display:inline-flex;align-items:center;gap:8px;width:fit-content;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  border-radius:100px;padding:8px 20px;
  font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.7);
}
.cl-pill-dot{
  width:6px;height:6px;border-radius:50%;background:var(--accent);
  flex-shrink:0;animation:pulse 2s infinite;
}

/* Generisches Scroll-Reveal (Klassen per JS getoggelt) */
.reveal{opacity:0;transform:translateY(20px)}
.reveal.in-view{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}

/* Nur für Screenreader sichtbar */
.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;
}


/* ============================================================
   A5  NAVBAR
   ============================================================ */
#cl-nav{
  --cl-h:82px;          /* Nav-Höhe Desktop */
  --cl-h-mobile:96px;   /* Nav-Höhe Mobile  */

  position:absolute;top:0;left:0;right:0;z-index:1000;
  font-family:'Montserrat',sans-serif;
  background:transparent;
}

.cl-backdrop{
  position:fixed;top:0;left:0;right:0;
  height:100dvh;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%),
    rgba(16,18,22,.98);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility 0s linear .3s;
  z-index:998;
  pointer-events:none;
}
#cl-nav.cl-open .cl-backdrop{
  opacity:1;visibility:visible;
  transition:opacity .3s ease,visibility 0s;
}

.cl-bar{
  position:relative;z-index:1000;
  max-width:1360px;margin:0 auto;height:var(--cl-h);
  padding:0 40px;
  display:flex;
  align-items:center;justify-content:space-between;
  gap:24px;
  transition:background .3s ease;
}
.cl-logo{flex-shrink:0}
.cl-links{flex:1;display:flex;justify-content:center;min-width:0}
.cl-burger{flex-shrink:0}

/* ---------- Logo ---------- */
.cl-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.cl-logo-img{height:clamp(64px,4.6vw,84px);width:auto;display:block}

/* ---------- Desktop-Links ---------- */
.cl-links{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.cl-links a{
  position:relative;z-index:0;text-decoration:none;color:#fff;
  font-size:clamp(14px,1.1vw,16px);font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  padding:9px clamp(9px,1vw,18px);white-space:nowrap;border-radius:100px;
  transition:color .22s ease;
}
.cl-links a::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:var(--accent);border-radius:100px;
  clip-path:inset(0 100% 0 0 round 100px);
  opacity:0;
  transition:clip-path .32s ease,opacity .32s ease;
}
.cl-links a:hover{color:var(--ink)}
.cl-links a:hover::after{clip-path:inset(0 0 0 0 round 100px);opacity:1}
.cl-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- Hamburger (nur mobil sichtbar) ---------- */
.cl-burger{
  display:none;flex-direction:column;justify-content:center;gap:6px;
  width:46px;height:46px;padding:11px;flex-shrink:0;
  background:none;border:none;cursor:pointer;border-radius:10px;
  -webkit-tap-highlight-color:transparent;
}
.cl-burger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cl-burger span{
  display:block;height:2.5px;width:100%;border-radius:3px;background:#fff;
  transition:transform .35s cubic-bezier(.6,.05,.2,1),opacity .25s ease;
}
#cl-nav.cl-open .cl-burger span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
#cl-nav.cl-open .cl-burger span:nth-child(2){opacity:0}
#cl-nav.cl-open .cl-burger span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* ---------- Mobile-Menü ---------- */
.cl-menu{
  position:fixed;left:0;right:0;top:var(--cl-h-mobile);
  height:calc(100dvh - var(--cl-h-mobile));
  background:transparent;           /* Fläche kommt von .cl-backdrop */
  padding:14px 24px 40px;
  display:flex;flex-direction:column;
  overflow-y:auto;overscroll-behavior:contain;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s;
  z-index:999;
}
#cl-nav.cl-open .cl-menu{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .3s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s;
}
.cl-menu a{
  display:flex;align-items:center;justify-content:space-between;
  text-decoration:none;color:#fff;
  font-size:22px;font-weight:700;letter-spacing:.01em;
  padding:17px 4px;border-bottom:1px solid rgba(255,255,255,.09);
  opacity:0;transform:translateY(14px);
  transition:color .2s ease,transform .45s ease,opacity .45s ease;
}
.cl-menu a::after{
  content:'›';color:rgba(255,255,255,.3);font-weight:400;font-size:24px;
  transition:transform .2s ease,color .2s ease;
}
.cl-menu a:active,
.cl-menu a:hover{color:var(--accent)}
.cl-menu a:hover::after{color:var(--accent);transform:translateX(4px)}

#cl-nav.cl-open .cl-menu a{opacity:1;transform:translateY(0)}
#cl-nav.cl-open .cl-menu a:nth-child(1){transition-delay:.06s}
#cl-nav.cl-open .cl-menu a:nth-child(2){transition-delay:.10s}
#cl-nav.cl-open .cl-menu a:nth-child(3){transition-delay:.14s}
#cl-nav.cl-open .cl-menu a:nth-child(4){transition-delay:.18s}
#cl-nav.cl-open .cl-menu a:nth-child(5){transition-delay:.22s}
#cl-nav.cl-open .cl-menu a:nth-child(6){transition-delay:.26s}
#cl-nav.cl-open .cl-menu a:nth-child(7){transition-delay:.30s}


/* ============================================================
   A6  FOOTER
   ============================================================ */
.cl-footer{
  position:relative;overflow:hidden;
  background:var(--ink);color:#fff;
  font-family:'Montserrat',sans-serif;
  padding:80px 24px 0;
}
.cl-footer::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.16) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}
.cl-footer-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

/* --- Benefits-Checkliste --- */
.cl-foot-benefits{
  display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;
  padding-bottom:56px;margin-bottom:8px;
}
.cl-foot-benefit{display:flex;align-items:center;gap:16px}
.cl-foot-benefit .cl-foot-check{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 6px 14px -6px rgba(31,163,222,.6);
}
.cl-foot-check svg{width:16px;height:16px;display:block;color:#fff}
.cl-foot-benefit span{font-size:17px;font-weight:700;color:#fff;line-height:1.35}

/* --- Spalten --- */
.cl-foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;
  padding:56px 0;border-top:1px solid rgba(255,255,255,.09);
}
.cl-foot-logo-img{height:84px;width:auto;display:block;margin-bottom:24px}
.cl-foot-accent-line{
  width:100%;max-width:230px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent-dark));margin-bottom:24px;
}
.cl-foot-address{font-size:15px;font-weight:600;line-height:1.7;color:rgba(255,255,255,.72)}
.cl-foot-address strong{color:#fff;font-weight:700}
.cl-foot-phone{
  display:inline-block;margin-top:14px;font-size:20px;font-weight:700;
  color:#fff;text-decoration:none;transition:color .2s ease;
}
.cl-foot-phone:hover{color:var(--accent)}

.cl-foot-col h4{
  font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--accent);margin-bottom:22px;
}
.cl-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cl-foot-col ul a{
  position:relative;z-index:0;display:inline-block;
  font-size:16px;font-weight:700;color:rgba(255,255,255,.78);
  text-decoration:none;width:fit-content;
  padding:6px 14px;margin-left:-14px;border-radius:100px;
  transition:color .22s ease;
}
.cl-foot-col ul a::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:var(--accent);border-radius:100px;
  clip-path:inset(0 100% 0 0 round 100px);
  opacity:0;
  transition:clip-path .32s ease,opacity .32s ease;
}
.cl-foot-col ul a:hover{color:var(--ink)}
.cl-foot-col ul a:hover::after{clip-path:inset(0 0 0 0 round 100px);opacity:1}

/* --- Social --- */
.cl-foot-social{display:flex;gap:12px;margin-top:26px}
.cl-foot-social a{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.cl-foot-social a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.cl-foot-social svg{width:20px;height:20px;display:block}

/* --- Bottom-Bar --- */
.cl-foot-bottom{
  margin:0 -24px;padding:20px 24px;text-align:center;position:relative;z-index:1;
  background:var(--accent);
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
}


/* ============================================================
   A7  BREAKPOINTS — CORE
   ============================================================ */

/* ---------- Nav-Umschaltung Desktop → Burger ---------- */
@media (max-width:1220px){
  #cl-nav{--cl-h:var(--cl-h-mobile)}   /* 82px → 96px */
  .cl-bar{padding:0 28px}              /* 40px → 28px */
  .cl-links{display:none}
  .cl-burger{display:flex}
  .cl-logo-img{height:clamp(64px,9vw,78px)}
}

/* ---------- Mobile ---------- */
@media (max-width:820px){

  /* ===== Base ===== */
  body{font-size:15px}

  /* ===== Shared ===== */
  .section-eyebrow{font-size:18px}
  .btn-primary{padding:14px 24px;font-size:15px;border-radius:999px}

  /* ===== Footer ===== */
  .cl-footer{padding:56px 24px 0}
  .cl-foot-benefits{grid-template-columns:1fr;gap:16px;padding-bottom:40px}
  .cl-foot-benefit span{font-size:15px}
  .cl-foot-grid{grid-template-columns:1fr;gap:36px;padding:40px 0}
}


/* ============================================================
   A8  REDUCED MOTION — CORE
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  #cl-nav *,
  #cl-nav .cl-menu a{transition-duration:.001ms !important;transition-delay:0s !important}

.cl-pill-dot,
  .cl-footer::before{animation:none}

  html{scroll-behavior:auto}
}



/* ############################################################
   B  SEITE: GEO-WORKSHOP          #geo-workshop-page
   ############################################################ */

/* ============================================================
   B1  HERO
   ============================================================ */
#geo-workshop-page .hero{
  position:relative;
  background:var(--ink) !important;color:#fff !important;
  padding:110px 24px 50px !important;overflow:hidden;
  text-align:left !important;
}
#geo-workshop-page .hero *{text-align:left !important}

.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

.hero-inner{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:auto 360px;gap:56px;
  align-items:center;justify-content:center;
}
.hero-left{display:flex;flex-direction:column;align-items:flex-start}

.hero-badges{display:flex;flex-wrap:wrap;gap:12px}
#geo-workshop-page .hero-badges .cl-pill{margin:0 !important;position:static}
#geo-workshop-page .hero-badges-eyebrow{margin:0 0 24px !important}
#geo-workshop-page .hero-badges-meta{margin:0 0 32px !important}

#geo-workshop-page .hero h1{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:clamp(28px,5vw,52px) !important;font-weight:800 !important;
  line-height:1.1 !important;color:#fff !important;
  margin:0 0 20px !important;
  display:flex;flex-direction:column;align-items:flex-start;
}
.hero h1 em{
  font-style:normal;color:var(--accent) !important;
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:4px;
}
.h1-line{display:block;white-space:nowrap}

#hero-rotate{display:inline-block;min-width:5.4em;text-align:left}
#hero-rotate::after{
  content:'';display:inline-block;width:3px;height:.85em;
  background:var(--accent);margin-left:6px;vertical-align:baseline;
  animation:caret 1s steps(1) infinite;
}

#geo-workshop-page .hero-note{
  margin-top:20px !important;font-size:13px;color:rgba(255,255,255,.4) !important;
}

.hero-visual{
  width:100%;aspect-ratio:9/16;border-radius:20px;overflow:hidden;
  animation:heroFloat 4s ease-in-out infinite;
}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}

/* dekorative Seitenbilder — nur mobil sichtbar */
#geo-workshop-page .hero-side{display:none}

/* ---- Hero-Tabs (Google Vehicle Ads) — ersetzt .hero-benefits ---- */
#geo-workshop-page .hero-tabs{
  width:100%;max-width:520px;
  margin:8px 0 32px !important;
}

/* Tab-Leiste (nur Icons) — vier separate Blöcke, darunter eine eigene Box */
.hero-tabs-nav{
  display:flex;gap:10px;
  margin-bottom:10px;               /* Abstand zur Inhalts-Box */
}
.hero-tab{
  flex:1;display:flex;align-items:center;justify-content:center;
  height:56px;padding:0;cursor:pointer;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.hero-tab:hover{
  transform:translateY(-2px);
  border-color:rgba(70,200,255,.45);
  background:rgba(255,255,255,.07);
}
.hero-tab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Aktiver Reiter: dezenter Akzent-Rahmen, gleiche Transparenz */
.hero-tab.is-active{
  background:rgba(255,255,255,.07);
  border-color:rgba(70,200,255,.45);
  box-shadow:0 8px 20px -12px rgba(31,163,222,.6);
}
/* Aktives Icon → Akzentblau (#46C8FF) statt Weiß */
.hero-tab.is-active .hero-tab-icon img{
  filter:brightness(0) saturate(100%) invert(72%) sepia(58%) saturate(1080%) hue-rotate(175deg) brightness(101%) contrast(101%);
}
.hero-tab-icon{display:flex;align-items:center;justify-content:center}
.hero-tab-icon img{
  width:26px;height:26px;display:block;pointer-events:none;
  /* Platzhalter-SVGs weiß erzwingen; Deckkraft = Rahmenfarbe der Box */
  filter:brightness(0) invert(1);
  opacity:.7;
  transition:opacity .25s ease;
}
/* aktives Icon bleibt voll sichtbar (Blau kommt aus der is-active-Regel) */
.hero-tab.is-active .hero-tab-icon img{opacity:1}

/* Inhalts-Box — eigene Box, Grid-Stack (Höhe des längsten Textes → kein Springen) */
.hero-tabs-panel{
  display:grid;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  padding:18px 20px;
}
.hero-tab-content{
  grid-area:1 / 1;
  display:flex;align-items:center;gap:16px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;
}
.hero-tab-content.is-active{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .35s ease,transform .35s ease,visibility 0s;
}
.hero-tab-content .hero-check{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 6px 14px -6px rgba(31,163,222,.6);
}
.hero-tab-content .hero-check svg{width:16px;height:16px;color:#fff;display:block}
#geo-workshop-page .hero-tab-content p{
  margin:0 !important;
  font-size:16px;font-weight:600;line-height:1.4;color:rgba(255,255,255,.88);
}

/* ---- Hero-Bild-Deck (Google Vehicle Ads) ---- */
#geo-workshop-page .hero-visual#hero-deck{
  overflow:visible;          /* rotierte Karten dürfen aus dem Rahmen ragen */
  background:none;
}
.hero-deck-card{
  position:absolute;inset:0;
  transform-origin:center center;
  will-change:transform,opacity;
  transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .55s ease,filter .55s ease;
  backface-visibility:hidden;
}
.hero-deck-card img{width:100%;height:100%;display:block}

/* ============================================================
   B2  BEKANNT AUS (Logo-Marquee)
   ============================================================ */
.bekannt-aus{padding:48px 24px;text-align:center}
.bekannt-aus-label{
  font-size:16px;font-weight:600;text-transform:uppercase;
  letter-spacing:.1em;color:var(--ink-muted);
}
.bekannt-aus-marquee{
  margin-top:32px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
  mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
}
.bekannt-aus-track{
  display:flex;align-items:center;width:max-content;will-change:transform;
  animation:bekannt-scroll 30s linear infinite; /* Dauer wird per JS neu berechnet */
}
.bekannt-aus-track .bekannt-aus-item{flex-shrink:0;margin-right:56px}
.bekannt-aus-item{display:flex;align-items:center;justify-content:center;height:52px}
.bekannt-aus-item img{height:52px;width:auto;max-width:180px;object-fit:contain;border-radius:6px}
.bekannt-aus-item.svg-logo img{height:38px}


/* ============================================================
   B3  VIDEO
   ============================================================ */
.video-section{
  position:relative;   /* ::before ragt sonst 10% über den rechten Seitenrand */
  background:
    radial-gradient(ellipse 60% 80% at 20% 20%,rgba(255,255,255,.18) 0%,transparent 60%),
    linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  padding:100px 24px;overflow:hidden;
}
.video-section::before{
  content:'';position:absolute;top:-20%;right:-10%;width:520px;height:520px;
  background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 65%);
  pointer-events:none;
}

#geo-workshop-page .video-inner{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
  display:grid !important;grid-template-columns:1.15fr .85fr !important;
  gap:64px;align-items:center !important;text-align:left !important;
}
#geo-workshop-page .video-inner *{text-align:inherit}
.video-left{order:1}
.video-right{order:2;color:#fff}

.video-frame{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:22px;overflow:hidden;
  background:rgba(0,0,0,.3);border:3px solid rgba(255,255,255,.55);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.55),0 0 0 8px rgba(255,255,255,.08);
  transition:transform .3s ease,box-shadow .3s ease;
}
.video-frame:hover{
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 40px 90px -25px rgba(0,0,0,.6),0 0 0 8px rgba(255,255,255,.12);
}
.video-frame video{width:100%;height:100%;object-fit:cover;display:block;border:none}

.video-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:50%;border:none;background:#fff;color:var(--accent-dark);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .25s,box-shadow .25s;
}
.video-play::after{
  content:'';position:absolute;inset:-10px;border-radius:50%;
  border:2px solid rgba(255,255,255,.5);animation:videoPulse 2.2s ease-out infinite;
}
.video-play:hover{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 14px 36px rgba(0,0,0,.45)}
.video-play-icon{font-size:26px;margin-left:5px}

.video-title{
  font-family:'Sofia Sans Condensed',sans-serif;font-size:clamp(28px,5vw,52px);
  font-weight:800;color:#fff;line-height:1.1;margin:0 0 16px;
}
.video-text{
  font-size:18px;font-weight:600;color:rgba(255,255,255,.9);
  line-height:1.55;max-width:460px;margin:0 0 28px;
}
#geo-workshop-page .video-section .cl-pill{
  margin:0 0 18px !important;
  background:#fff !important;border:1px solid #fff !important;
  color:var(--accent-dark) !important;font-weight:700;
}


/* ============================================================
   B4  NUTZEN
   ============================================================ */
#geo-workshop-page .nutzen{padding:72px 24px}
.nutzen-inner{max-width:1200px;margin:0 auto;text-align:left}
.nutzen .section-title{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;white-space:nowrap;
}

#geo-workshop-page .nutzen-grid{
  display:grid !important;grid-template-columns:1fr 1fr !important;
  gap:18px;margin-top:36px;counter-reset:nutzen;
}

.nutzen-card{
  position:relative;overflow:hidden;display:flex;align-items:center;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);border-radius:18px;
  padding:36px 64px 36px 120px;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transform:scale(.94);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.nutzen-card::before{
  content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
}
.nutzen-card:hover,
.nutzen-card.active{
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),
             0 4px 12px -6px rgba(20,22,23,.08);
  border-color:rgba(70,200,255,.55);
}
.nutzen-card:hover{transform:translateY(-5px)}
.nutzen-card.active{transform:translateY(-6px) scale(1.03)}
.nutzen-card:hover::before,
.nutzen-card.active::before{transform:scaleY(1)}

.nutzen-icon{
  position:absolute;left:32px;top:50%;transform:translateY(-50%);
  width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .25s ease,box-shadow .25s ease;
}
.nutzen-icon svg,
.nutzen-icon img{width:30px;height:30px;display:block}
.nutzen-card:hover .nutzen-icon,
.nutzen-card.active .nutzen-icon{
  transform:translateY(-50%) scale(1.07) rotate(-4deg);
  box-shadow:0 14px 26px -8px rgba(31,163,222,.7);
}

#geo-workshop-page .nutzen-card p{
  font-size:18px;font-weight:600;color:var(--ink-soft);line-height:1.55;margin:0 !important;
}
.nutzen-card-wide{grid-column:1 / -1}

/* gestaffeltes Reveal (Klassen per JS) */
.js-nutzen .nutzen-card{opacity:0;transform:translateY(20px)}
.js-nutzen .nutzen-card.in-view{
  opacity:1;transform:translateY(0);
  transition:opacity .5s ease,transform .5s ease;
}

#geo-workshop-page .nutzen .btn-primary{display:flex;width:fit-content;margin:64px auto 0}

/* Slider-Dots — nur mobil sichtbar */
.nutzen-dots{display:none}
.nutzen-dots button{
  width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:#D7EFFF;transition:.25s;
}
.nutzen-dots button.active{width:28px;border-radius:999px;background:var(--accent)}


/* ============================================================
   B5  FÜR WEN
   ============================================================ */
#geo-workshop-page .fuerwen{
  position:relative;
  background:var(--ink);padding:96px 24px;
  overflow:hidden;
}
.fuerwen::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.16) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}
.fuerwen-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;text-align:left}
#geo-workshop-page .fuerwen .section-title{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  color:#fff !important;margin:0 0 40px !important;
}
#geo-workshop-page .fuerwen-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.fw-card{
  position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;
  padding:32px;background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);border-radius:14px;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
/* Cursor-Follow-Glow (Position per JS über --mx/--my) */
.fw-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(70,200,255,.14),transparent 60%);
}
.fw-card:hover{transform:translateY(-4px);border-color:rgba(70,200,255,.45);background:rgba(255,255,255,.06)}
.fw-card:hover::after{opacity:1}

.fw-check{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  position:relative;z-index:1;
}
#geo-workshop-page .fw-card p{
  margin:0 !important;position:relative;z-index:1;
  font-size:18px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.82);
}

.fw-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px}
#geo-workshop-page .fuerwen .cl-pill{margin:0 !important;position:static;text-transform:uppercase}
#geo-workshop-page .fuerwen .btn-primary{
  display:flex;width:fit-content;margin:64px auto 0;position:relative;z-index:1;
}

/* Slider-Dots — nur mobil sichtbar */
.fuerwen-dots{display:none}
.fuerwen-dots button{
  width:9px;height:9px;border:none;border-radius:50%;background:#3E464B;padding:0;transition:.25s;
}
.fuerwen-dots button.active{width:28px;border-radius:999px;background:var(--accent)}


/* ============================================================
   B6  REFERENT
   ============================================================ */
#geo-workshop-page .referent{
  background:
    radial-gradient(ellipse 60% 80% at 80% 20%,rgba(255,255,255,.18) 0%,transparent 60%),
    linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  padding:100px 24px;overflow:hidden;
}
#geo-workshop-page .referent-inner{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:center;
}

.referent-visual{
  position:relative;width:100%;aspect-ratio:9/16;border-radius:22px;overflow:hidden;
  background:rgba(0,0,0,.15);border:3px solid rgba(255,255,255,.55);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.5),0 0 0 8px rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s ease,box-shadow .3s ease;
}
.referent-visual:hover{
  transform:translateY(-4px);
  box-shadow:0 40px 90px -25px rgba(0,0,0,.55),0 0 0 8px rgba(255,255,255,.12);
}
.referent-visual img{width:100%;height:100%;object-fit:cover;display:block}

#geo-workshop-page .referent .section-eyebrow{color:#fff !important;opacity:.85}
#geo-workshop-page .referent-name{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  color:#fff;margin:0 0 24px !important;
}
#geo-workshop-page .referent-lead{
  font-size:18px;font-weight:600;line-height:1.55;
  color:rgba(255,255,255,.92);max-width:520px;margin:0 0 16px !important;
}

.referent-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.ref-stat{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  border-radius:14px;padding:16px 22px;text-align:center;flex:1;min-width:120px;
}
.ref-num,.ref-plus{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,4vw,40px);font-weight:800;color:#fff;line-height:1;
}
.ref-stat small{
  display:block;margin-top:6px;font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.75);
}

.referent-facts{display:flex;flex-direction:column;gap:16px}
.ref-fact{
  position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:16px;
  padding:18px 22px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);border-radius:14px;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.ref-fact::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 60%);
}
.ref-fact:hover{transform:translateX(6px);border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}
.ref-fact:hover::after{opacity:1}
.ref-dot{
  flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:8px;
  background:#fff;position:relative;z-index:1;
}
#geo-workshop-page .ref-fact p{
  margin:0 !important;position:relative;z-index:1;
  font-size:16px;font-weight:500;line-height:1.55;color:rgba(255,255,255,.9);
}
#geo-workshop-page .ref-fact p strong{color:#fff;font-weight:700}


/* ============================================================
   B7  TESTIMONIALS
   ============================================================ */
.testimonials{position:relative;background:var(--ink);padding:72px 24px;overflow:hidden}
.testimonials::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(70,200,255,.10) 0%,transparent 65%);
}

.t-header{max-width:820px;margin:0 auto;text-align:center;position:relative;z-index:2}
#geo-workshop-page .testimonials .t-badge{
  display:inline-flex !important;align-items:center;gap:8px;width:fit-content;
  background:rgba(255,255,255,.08) !important;border:1px solid rgba(255,255,255,.15) !important;
  border-radius:100px;padding:8px 20px;
  font-size:12px !important;font-weight:500;text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.7) !important;margin:0 auto 22px;
}
.t-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:blink 2s ease-in-out infinite}
#geo-workshop-page .testimonials .t-header h2{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px) !important;font-weight:800;line-height:1.1;
  color:#fff !important;margin-bottom:16px;
}
.t-header h2 em{font-style:normal;color:var(--accent)}
#geo-workshop-page .testimonials .t-header p{
  font-size:18px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.82);
}

.t-columns-wrapper{
  position:relative;z-index:2;margin-top:48px;
  display:flex;justify-content:center;gap:14px;max-height:660px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 14%,black 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,black 14%,black 86%,transparent 100%);
}
.t-col{display:flex;flex-direction:column;flex-shrink:0;width:252px}
.t-col-hidden-md{display:none}
.t-col-hidden-lg{display:none}
.t-track{display:flex;flex-direction:column;gap:12px;will-change:transform}

.t-card{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);
  border-radius:18px;padding:20px;width:252px;flex-shrink:0;
  transition:background .25s,border-color .2s;
}
.t-card:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
.t-stars{color:var(--accent);font-size:12px;margin-bottom:8px;letter-spacing:1.5px}
.t-text{font-size:13px;color:rgba(255,255,255,.68);line-height:1.68;font-style:italic}
.t-author{display:flex;align-items:center;gap:10px;margin-top:14px}
.t-name{font-size:13px;font-weight:600;color:#fff;line-height:1.3}
.t-role{font-size:11px;color:rgba(255,255,255,.38);margin-top:1px}

.t-logos{margin-top:48px;position:relative;z-index:2;text-align:center}
#geo-workshop-page .t-logos-label{
  font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.45);margin-bottom:28px;
}
.t-logos-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.t-logo-pill{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:7px;padding:5px 13px;font-size:12px;color:rgba(255,255,255,.38);
  font-weight:500;letter-spacing:.02em;transition:all .2s;
}
.t-logo-pill:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.7)}


/* ============================================================
   B8  FAQ
   ============================================================ */
#geo-workshop-page .faq, #carlution-workshops-page .faq {padding:96px 24px !important}
.faq-inner{max-width:1200px;margin:0 auto;text-align:left}
#geo-workshop-page .faq .section-title, #carlution-workshops-page .faq .section-title{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  margin:0 0 8px !important;
}

.faq-list{display:flex;flex-direction:column;gap:14px;margin-top:36px}
.faq-item{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);border-radius:18px;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:border-color .25s ease,box-shadow .25s ease;
}
.faq-item::before{
  content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
}
.faq-item:hover,
.faq-item.open{
  border-color:rgba(70,200,255,.55);
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),0 4px 12px -6px rgba(20,22,23,.08);
}
.faq-item:hover::before,
.faq-item.open::before{transform:scaleY(1)}

.faq-q{
  width:100%;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;gap:20px;text-align:left;
  padding:26px 32px;font-family:'Montserrat',sans-serif;
  font-size:18px;font-weight:700;color:var(--ink);line-height:1.45;
  -webkit-tap-highlight-color:transparent;
}
.faq-q:focus{outline:none}
.faq-q:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:18px}
.faq-q-text{flex:1}

.faq-icon{
  flex-shrink:0;width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .3s ease;
}
.faq-icon svg{width:20px;height:20px;display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}

.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
#geo-workshop-page .faq-a p,
#carlution-workshops-page .faq-a p{
  margin:0 !important;padding:0 32px 28px 32px;
  font-size:16px;font-weight:600;color:var(--ink-soft);line-height:1.65;max-width:820px;
}
#geo-workshop-page .faq .btn-primary,
#carlution-workshops-page .faq .btn-primary{display:flex;width:fit-content;margin:56px auto 0}


/* ============================================================
   B9  MODAL (Anmeldeformular) — geöffnet per JS über [data-modal-open]
   ============================================================ */
/* z-index ÜBER dem Cookie-Banner (.ck-banner: 1000000): Besucher, die den Banner noch nicht
   beantwortet haben, müssen das Formular vollständig sehen und absenden können.
   Nach dem Schließen ist der Banner wieder sichtbar. */
.cf-modal{
  position:fixed;inset:0;z-index:1000001;
  display:flex;align-items:center;justify-content:center;
  padding:20px;overflow-y:auto;background:rgba(0,0,0,.7);
}
.cf-modal[hidden]{display:none}
.cf-inner{
  position:relative;width:100%;max-width:600px;max-height:90vh;
  overflow-y:auto;overflow-x:hidden;
  background:#fff;border-radius:12px;padding:30px;
}
.cf-close{
  position:absolute;top:15px;right:20px;
  background:none;border:none;cursor:pointer;
  font-size:28px;line-height:1;color:var(--ink);
}
.cf-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.cf-hint{text-align:center;color:#666;font-weight:600;font-size:15px;margin-top:8px}
.cf-hint a{color:var(--accent-dark)}


/* ============================================================
   B10  BREAKPOINTS — GEO
   ============================================================ */

/* ---------- Testimonials: 2. und 3. Spalte einblenden ---------- */
@media (min-width:700px){ .t-col-hidden-md{display:flex} }
@media (min-width:1040px){ .t-col-hidden-lg{display:flex} }

/* ---------- Mobile ---------- */
@media (max-width:820px){

  /* Typo-Skala */
  .hero h1,
  .section-title,
  .video-title,
  .referent-name,
  .testimonials h2{font-size:36px !important;line-height:1.08}

  .video-text,
  .hero-note,
  .nutzen-card p,
  .fw-card p,
  .referent-lead{font-size:16px !important;line-height:1.6}

  /* Vertikale Section-Paddings */
  .video-section,
  #geo-workshop-page .nutzen,
  #geo-workshop-page .fuerwen,
  #geo-workshop-page .referent,
  .testimonials{padding:64px 24px}

  /* ===== Hero ===== */
  #geo-workshop-page .hero{padding:32px 22px 44px !important;text-align:center !important}
  #geo-workshop-page .hero *{text-align:center !important}

  #geo-workshop-page .hero-inner{display:flex;flex-direction:column;gap:0}
  .hero-left{align-items:center}

  /* Bild zuerst, Text darunter */
  #geo-workshop-page .hero-right{order:-1;width:100%;position:relative}
  #geo-workshop-page .hero-visual{
    aspect-ratio:9/16;
    width:50%;max-width:460px;
    margin:4em auto 24px;
    border-radius:18px;
    position:relative;z-index:1;   /* liegt über den Seitenbildern */
  }

  /* dekorative Seitenbilder, bluten links/rechts aus */
  #geo-workshop-page .hero-side{
    display:block;position:absolute;
    top:4em;bottom:24px;width:40%;
    aspect-ratio:9/16;
    object-fit:cover;border-radius:18px;
    opacity:.35;pointer-events:none;z-index:0;
  }
  #geo-workshop-page .hero-side-left{left:-18%}
  #geo-workshop-page .hero-side-right{right:-18%}

  /* Badges */
  #geo-workshop-page .cl-pill{font-size:10px;letter-spacing:.02em;padding:6px 10px}
  #geo-workshop-page .hero-badges-eyebrow{
    flex-wrap:nowrap;justify-content:center;gap:6px;margin:0 0 16px !important;
  }
  #geo-workshop-page .hero-badges-eyebrow .cl-pill{white-space:nowrap}
  #geo-workshop-page .hero-badges-meta{justify-content:center;margin:0 0 22px !important}

  /* Headline */
  #geo-workshop-page .hero .h1-line{white-space:normal}
  #geo-workshop-page .hero h1{
    font-size:36px !important;line-height:1.08 !important;
    align-items:center;width:100%;margin:0 0 18px !important;
  }
  #geo-workshop-page #hero-rotate{min-width:0}

  /* CTA + Note */
  #geo-workshop-page .hero .btn-primary{
    display:inline-flex;width:auto;max-width:none;margin:0;padding:14px 24px;font-size:15px;
  }
  #geo-workshop-page .hero-note{margin:14px auto 0 !important;font-size:12px !important}

  /* Hero-Tabs mobil */
  #geo-workshop-page .hero-tabs{margin:0 auto 22px !important;max-width:420px}
  #geo-workshop-page .hero-tab:hover{transform:none}
  #geo-workshop-page .hero-tab-content p{text-align:left !important}

  /* ===== Video ===== */
  #geo-workshop-page .video-inner{
    grid-template-columns:1fr !important;gap:36px;text-align:center !important;
  }
  .video-left{order:-1}
  .video-title{display:none}
  #geo-workshop-page .video-section .cl-pill{
    display:inline-flex !important;margin:0 auto 18px !important;justify-content:center;
  }
  #geo-workshop-page .video-right,
  #geo-workshop-page .video-text{text-align:center !important}
  #geo-workshop-page .video-text{margin-left:auto !important;margin-right:auto !important}
  .video-text{margin-bottom:20px}

  /* ===== Nutzen — Grid wird zum Swipe-Slider ===== */
  .nutzen .section-title{white-space:normal}

  #geo-workshop-page .nutzen-grid{
    display:flex !important;gap:18px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin:36px -24px 0;padding:0;
    scrollbar-width:none;
  }
  #geo-workshop-page .nutzen-grid::-webkit-scrollbar{display:none}
  /* unsichtbare Spacer, damit die 1. und letzte Karte zentriert einrasten */
  #geo-workshop-page .nutzen-grid::before,
  #geo-workshop-page .nutzen-grid::after{content:"";flex:0 0 8%}

  .nutzen-card{
    flex:0 0 84%;scroll-snap-align:center;
    padding:30px 34px 30px 98px;
  }
  .nutzen-icon{width:50px;height:50px;left:24px}
  .nutzen-icon svg{width:26px;height:26px}

  .nutzen-dots{display:flex;justify-content:center;gap:10px;margin-top:28px}
  #geo-workshop-page .nutzen .btn-primary{margin-top:40px}

  /* ===== Für wen — Grid wird zum Swipe-Slider ===== */
  #geo-workshop-page .fuerwen-grid{
    display:flex !important;gap:16px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin:10px -24px -24px;padding:18px 0 24px;
    scrollbar-width:none;
  }
  #geo-workshop-page .fuerwen-grid::-webkit-scrollbar{display:none}
  #geo-workshop-page .fuerwen-grid::before,
  #geo-workshop-page .fuerwen-grid::after{content:"";flex:0 0 8%}

  .fw-card{
    flex:0 0 84%;scroll-snap-align:center;
    padding:24px;
    transform:scale(.94);transition:transform .25s;
  }
  .fw-card.active{
    transform:translateY(-4px) scale(1.03);
    border-color:rgba(70,200,255,.45);
    background:rgba(255,255,255,.06);
    box-shadow:0 12px 24px -16px rgba(31,163,222,.28),
               0 4px 10px -8px rgba(20,22,23,.08);
    z-index:2;
  }
  .fw-card.active::after{opacity:1}
  .fw-card.active .fw-check{transform:scale(1.08);box-shadow:0 12px 24px -8px rgba(31,163,222,.6)}

  .fuerwen-dots{display:flex;justify-content:center;gap:10px;margin-top:28px}
  #geo-workshop-page .fuerwen .btn-primary{margin-top:40px}

  /* ===== Referent ===== */
  #geo-workshop-page .referent-inner{grid-template-columns:1fr !important;gap:40px}
  .referent-left{display:flex;justify-content:center}
  .referent-visual{width:220px;max-width:65vw;margin:0 auto}
  .referent-right{width:100%;overflow:visible}

  /* 4 Fact-Karten als 2×2-Grid statt langem Stapel */
  #geo-workshop-page .referent-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ref-fact{flex-direction:column;gap:10px;padding:16px 16px 18px}
  .ref-fact:hover{transform:none}   /* translateX wirkt im Grid störend */

  /* ===== Testimonials ===== */
  #geo-workshop-page .testimonials .t-header h2{
    font-size:36px !important;line-height:1.08 !important;text-align:center !important;
    overflow-wrap:break-word;word-break:break-word;hyphens:auto;
  }
  #geo-workshop-page .testimonials .t-badge{
    font-size:10px !important;letter-spacing:.02em;padding:6px 10px;
  }

  /* ===== FAQ ===== */
  #geo-workshop-page .faq{padding:64px 24px !important}
  #geo-workshop-page .faq .section-title{font-size:36px !important;line-height:1.08}
  .faq-list{margin-top:28px;gap:12px}
  .faq-q{padding:22px;font-size:16px;gap:14px}
  #geo-workshop-page .faq-a p{padding:0 22px 24px;font-size:15px}
  .faq-icon{width:34px;height:34px}
  .faq-icon svg{width:18px;height:18px}
  #geo-workshop-page .faq .btn-primary{margin-top:40px;padding:14px 24px;font-size:15px}
}

/* ---------- Modal ---------- */
@media (max-width:600px){
  .cf-modal{padding:10px;align-items:flex-start}
  .cf-inner{padding:16px;max-height:95vh}
  .cf-hint{font-size:13px;margin-top:6px}
  .cf-close{font-size:24px;top:8px;right:12px}
}

/* ---------- Reduced Motion — GEO ---------- */
@media (prefers-reduced-motion:reduce){
  .bekannt-aus-track,
  .hero-visual,
  .hero::before,
  .fuerwen::before{animation:none}

  /* Hero-Tabs: harter Wechsel */
  .hero-tab-content{transition:opacity .001ms}
}



/* ############################################################
   C  SEITE: EVENTS          #carlution-workshops-page
   ############################################################ */

/* ============================================================
   C1  HERO
   ============================================================ */
/* Full-Bleed: bricht aus dem Avada-Content-Container aus */
#carlution-workshops-page .ws-hero,
#carlution-workshops-page .ws-section{
  width:100vw !important;max-width:100vw !important;
  position:relative;left:50%;right:50%;
  margin-left:-50vw !important;margin-right:-50vw !important;
}

#carlution-workshops-page .ws-hero{
  background:var(--ink) !important;color:#fff !important;
  padding:160px 24px 96px !important;overflow:hidden;
}
.ws-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

.ws-hero-inner{
  max-width:900px;margin:0 auto;position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;
}

#carlution-workshops-page .ws-hero h1{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:clamp(40px,7vw,84px) !important;font-weight:800 !important;line-height:1.02 !important;
  color:#fff !important;text-transform:uppercase;
}
.ws-hero h1 em{
  font-style:normal;color:var(--accent) !important;
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:6px;
}

#carlution-workshops-page #ws-rotate{
  display:inline-block;min-height:.8em;min-width:6em;
}


/* ============================================================
   C2  EVENT-GRID
   ============================================================ */
#carlution-workshops-page .ws-section{padding:80px 24px 110px !important;background:#fff !important}
.ws-section-inner{max-width:1200px;margin:0 auto}

.ws-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;flex-wrap:wrap;margin-bottom:44px;
}
.ws-section-head .section-eyebrow{margin-bottom:6px}
#carlution-workshops-page .ws-section-title{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:clamp(28px,5vw,52px) !important;font-weight:800 !important;line-height:1.1 !important;
  text-transform:uppercase;
}

.ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,384px));justify-content:center;gap:24px}

/* ---------- Karte ---------- */
.ws-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);border-radius:22px;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.ws-card:hover{
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),0 4px 12px -6px rgba(20,22,23,.08);
  border-color:rgba(70,200,255,.55);
}

#carlution-workshops-page .ws-card.reveal.in-view{
  transition:opacity .6s ease,transform .6s ease,
             box-shadow .25s ease,border-color .25s ease;
}

/* Klick-Overlay über die ganze Karte */
.ws-card-link{position:absolute;inset:0;z-index:4;text-indent:-9999px;overflow:hidden}

/* Bild */
.ws-card-media{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  background:
    radial-gradient(ellipse 70% 90% at 25% 15%,rgba(255,255,255,.28) 0%,transparent 55%),
    linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
}
.ws-card-media img{width:100%;height:100%;object-fit:cover;display:block}

/* Body — flex:1 schiebt den Footer nach unten.
   position:relative bleibt: .ws-card-foot und .ws-card-link
   rechnen mit z-index innerhalb dieses Stapelkontexts. */
.ws-card-body{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px 24px 24px;flex:1}

/* Meta-Pills (Datum / Uhrzeit / Format) — eine kompakte Zeile */
.ws-meta{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
.ws-pill{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:#fff;border:1px solid var(--border);color:var(--ink);
  border-radius:100px;padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.01em;
}
.ws-pill svg{width:14px;height:14px;color:var(--accent-dark);flex-shrink:0}

#carlution-workshops-page .ws-card-title{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:32px !important;font-weight:800 !important;line-height:1.2 !important;
  color:var(--ink) !important;text-transform:uppercase;
}
#carlution-workshops-page .ws-card-title em{font-style:normal;color:var(--accent) !important}

/* Sub-Infos — Checkmark-Liste, bricht sauber um */
.ws-tags{display:flex;flex-wrap:wrap;gap:6px 16px}
.ws-tag{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--ink-soft);font-size:14px;font-weight:600;
}
.ws-tag-dot{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;width:16px;height:16px;border-radius:50%;
  background:var(--accent);
}
.ws-tag-dot::after{
  content:"";width:4px;height:7px;margin-top:-1px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}

.ws-card-foot{position:relative;z-index:5;margin-top:auto}
.ws-card .btn-primary{width:100%;justify-content:center}

/* ---------- Platzhalter-Karte ---------- */
.ws-card-empty{
  box-shadow:none;min-height:340px;align-items:center;justify-content:center;
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.ws-empty-inner{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  color:var(--ink-muted);transition:color .25s ease;
}
.ws-empty-mark{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;
  border:2px solid var(--border);font-size:26px;font-weight:400;line-height:1;
  transition:border-color .25s ease,color .25s ease,transform .3s ease;
}
.ws-empty-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.ws-card-empty:hover{border-color:rgba(70,200,255,.55);background:rgba(70,200,255,.03)}
.ws-card-empty:hover .ws-empty-inner{color:var(--accent-dark)}
.ws-card-empty:hover .ws-empty-mark{border-color:var(--accent);color:var(--accent-dark);transform:rotate(90deg)}


/* ============================================================
   C3  BREAKPOINTS — EVENTS
   ============================================================ */
@media (max-width:820px){

  /* ===== Hero ===== */
  #carlution-workshops-page .ws-hero{padding:112px 22px 72px !important}
  /* Hero-Headline bleibt groß — dient später als Titel-Element der Website */
  #carlution-workshops-page .ws-hero h1{
    font-size:clamp(52px,14vw,72px) !important;
    line-height:1 !important;
  }
  #carlution-workshops-page .ws-section-title{font-size:36px !important;line-height:1.08 !important}

  /* ===== Event-Grid ===== */
  #carlution-workshops-page .ws-section{padding:56px 22px 80px !important}
  .ws-section-head{margin-bottom:32px}
  .ws-grid{grid-template-columns:1fr;gap:20px}
  .ws-card-body{padding:20px 20px 22px}
  .ws-meta{gap:5px}
  .ws-pill{padding:5px 9px;font-size:11px;gap:5px}
  .ws-pill svg{width:12px;height:12px}
  .ws-card-empty{display:none}
}

/* ---------- Reduced Motion — EVENTS ---------- */
@media (prefers-reduced-motion:reduce){
  .ws-hero::before{animation:none}
}
/* ############################################################
   D  SEITE: SELBSTCHECK      #selfcheck-page
   ############################################################ */

#selfcheck-page{
  min-height:100vh;
  background:var(--ink);color:#fff;
  font-family:'Montserrat',sans-serif;
  position:relative;overflow-x:clip;
  display:flex;flex-direction:column;
}
#selfcheck-page::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

.sc-wrap{
  position:relative;z-index:1;max-width:820px;width:100%;margin:0 auto;
  padding:140px 24px 96px;
  flex:1;display:flex;flex-direction:column;
}
.sc-stage{
  flex:1;display:flex;flex-direction:column;justify-content:flex-start;
}

/* Header — reuses .cl-pill for the kicker */
.sc-header{text-align:center;margin-bottom:20px}
#selfcheck-page .sc-header .cl-pill{margin:0 auto 20px}
#selfcheck-page .sc-header h1{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  color:#fff;text-transform:uppercase;margin:0 0 16px;
}
#selfcheck-page .sc-header h1 em{
  font-style:normal;color:var(--accent);
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:4px;
}
#selfcheck-page p.sc-sub{
  display:grid;grid-template-rows:1fr;
  max-width:620px;margin:12px auto 0;
  transition:grid-template-rows .35s ease,opacity .35s ease,margin .35s ease;
  opacity:1;
}
.sc-sub-inner{
  overflow:hidden;
  font-size:18px;font-weight:600;color:rgba(255,255,255,.82);line-height:1.55;
}
.sc-group-eyebrow{text-align:center;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:24px;transition:opacity .2s ease}

#selfcheck-page .sc-q-title{font-size:18px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
#selfcheck-page .sc-q-text{font-size:16px;font-weight:600;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:28px}

.sc-score-panel{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:36px 24px;margin-bottom:24px;
}
.sc-score-row{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.sc-score-ring{position:relative;width:120px;height:120px;flex-shrink:0}
.sc-score-ring svg{transform:rotate(-90deg)}
.sc-score-ring-bg{fill:none;stroke:rgba(255,255,255,.12);stroke-width:8}
.sc-score-ring-fg{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s ease}
.sc-score-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Sofia Sans Condensed',sans-serif;font-size:28px;font-weight:800;color:#fff}
.sc-score-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.4);margin-bottom:5px}

/* Verdict uses body font (Montserrat), not the heading font — heading font stays reserved for titles */
#selfcheck-page .sc-score-verdict{
  font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;color:#fff;
}
.sc-score-desc{font-size:16px;font-weight:600;color:rgba(255,255,255,.7);margin-top:8px;max-width:480px}

/* Bigger, bolder section label — no longer a tiny eyebrow */
#selfcheck-page .sc-group-title{
  text-align:center;font-size:clamp(20px,3.5vw,28px);font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;color:#fff;margin:32px 0 14px;
}
/* nach der Checkliste beginnt ein eigener Abschnitt → mehr Luft */
#selfcheck-page .sc-reset-row + .sc-group-title{margin-top:72px}

/* Vault */
.sc-vault-intro{text-align:center;color:rgba(255,255,255,.7);font-size:16px;font-weight:600;line-height:1.6;margin:0 auto 20px}
.sc-vault-intro strong{color:#fff}
.sc-vault-card{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:34px 24px 28px;text-align:center;position:relative;overflow:hidden;
}
.sc-vault-number{color:var(--accent);font-size:56px;font-weight:800;line-height:1;font-family:'Sofia Sans Condensed',sans-serif}
.sc-vault-label{color:rgba(255,255,255,.5);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:4px;margin-bottom:22px}
.sc-vault-rows{display:flex;flex-direction:column;align-items:center;gap:11px;filter:blur(4px);opacity:.5}
.sc-vault-row{height:10px;width:80%;max-width:340px;background:rgba(255,255,255,.15);border-radius:6px}
.sc-vault-row.sc-short{width:55%;max-width:220px}
.sc-vault-lock{
  position:absolute;top:50%;left:50%;transform:translate(-50%,6px);
  width:56px;height:56px;border-radius:50%;
  background:rgba(255,255,255,.12);border:2px solid var(--accent);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);
}
.sc-vault-lock svg{width:26px;height:26px;display:block}
.sc-teaser-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0 4px}

/* CTA — mirrors .video-section pill + .btn-primary pattern used elsewhere */
.sc-cta{
  margin-top:30px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:36px 32px;text-align:center;
}
#selfcheck-page .sc-cta h2{
  font-family:'Sofia Sans Condensed',sans-serif;font-size:clamp(22px,4vw,32px);font-weight:800;
  line-height:1.2;margin:0 auto 12px;color:#fff;text-transform:uppercase;
  max-width:36ch;
}
.sc-cta h2 span{color:var(--accent)}
#selfcheck-page .sc-cta p{font-size:16px;font-weight:600;color:rgba(255,255,255,.7);max-width:520px;margin:0 auto 24px;line-height:1.6}
#selfcheck-page .sc-cta .btn-primary{display:inline-flex}

@media (prefers-reduced-motion:reduce){
  #selfcheck-page::before{animation:none}
  .sc-score-ring-fg,.sc-sub{transition-duration:.001ms !important}
}

@media (max-width:820px){
  .sc-wrap{padding:120px 22px 72px}
  #selfcheck-page .sc-header h1{font-size:36px;line-height:1.08}
  .sc-sub-inner{font-size:16px}
}

/* ============================================================
   D2  CHECKLISTEN-MODUS
   ------------------------------------------------------------
   Zweite Darstellung derselben Seite: alle 10 Punkte stehen
   gleichzeitig da und werden abgehakt, der Score zählt live mit.
   Header, Gruppen-Eyebrow, Score-Panel, Vault, Teaser-Tags und
   CTA kommen unverändert aus D.
   ============================================================ */

/* Score-Panel kompakt + mitlaufend. Dieselbe Karte, nur einzeilig.
   Backdrop nach dem Rezept von .cl-backdrop — sonst scrollen die
   Items sichtbar durch die halbtransparente Karte. */
.sc-score-panel.sc-compact{
  position:sticky;top:14px;z-index:5;padding:20px 24px;
  background:rgba(20,22,23,.78);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.sc-score-row.sc-inline{flex-direction:row;align-items:center;text-align:left;gap:18px}
.sc-score-row.sc-inline > :last-child{flex:1;min-width:0}
.sc-score-row.sc-inline .sc-score-ring{width:78px;height:78px}
.sc-score-row.sc-inline .sc-score-ring-num{font-size:22px}
.sc-score-row.sc-inline .sc-score-desc{margin-top:4px;font-size:14px;min-height:3.2em}

/* Liste */
.sc-list{display:flex;flex-direction:column;gap:12px}
.sc-list + .sc-group-eyebrow{margin-top:36px}   /* zweite Gruppe braucht Luft */

/* Item — Rezept von .fw-card inkl. Cursor-Glow über --mx/--my.
   .fw-card selbst ist hier nicht verwendbar: B10 macht daraus mobil
   eine Slider-Karte (flex:0 0 84%, scale(.94)), ungescoped. */
.sc-item{
  position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:20px;
  width:100%;padding:24px;text-align:left;cursor:pointer;
  font-family:'Montserrat',sans-serif;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);border-radius:14px;
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.sc-item::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(70,200,255,.14),transparent 60%);
}
.sc-item:hover{border-color:rgba(70,200,255,.45);background:rgba(255,255,255,.06)}
.sc-item:hover::after{opacity:1}
.sc-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* abgehakt — Zustandsfarben wie .fw-card.active / .hero-tab.is-active */
.sc-item.is-checked{
  border-color:rgba(70,200,255,.45);background:rgba(255,255,255,.06);
  box-shadow:0 12px 24px -16px rgba(31,163,222,.28);
}

/* Kreis = .fw-check aus B5. Abgehakt bleibt das Original,
   offen wird er neutrales Glas. */
.sc-item .fw-check{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.sc-item .fw-check svg{width:18px;height:18px;display:block;color:#fff}
.sc-item:not(.is-checked) .fw-check{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
}
.sc-item:not(.is-checked) .fw-check svg{opacity:.25}
.sc-item.is-checked .fw-check{box-shadow:0 6px 14px -6px rgba(31,163,222,.6)}

/* Texte = .sc-q-title / .sc-q-text aus dem Fragemodus,
   nur ohne Abstand nach unten. */
.sc-item-body{position:relative;z-index:1;flex:1;min-width:0}
#selfcheck-page .sc-item .sc-q-title,
#selfcheck-page .sc-item .sc-q-text{display:block}
#selfcheck-page .sc-item .sc-q-text{margin-bottom:0}

/* Reset — Rezept von .gt-copy-btn */
.sc-reset-row{text-align:center;margin-top:22px}
.sc-reset{
  background:transparent;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.6);
  font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;
  padding:9px 16px;border-radius:100px;cursor:pointer;
  transition:border-color .2s ease,color .2s ease;
}
.sc-reset:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Breakpoints — D2 ---------- */
@media (max-width:820px){
  .sc-item{padding:20px;gap:16px}
  .sc-score-panel.sc-compact{padding:16px 18px}
  .sc-score-row.sc-inline{gap:14px}
  .sc-score-row.sc-inline .sc-score-ring{width:64px;height:64px}
  .sc-score-row.sc-inline .sc-score-ring-num{font-size:19px}
  .sc-score-row.sc-inline .sc-score-desc{display:none}
  .sc-score-row.sc-inline .sc-score-verdict{min-height:3.2em;display:flex;align-items:center}
  #selfcheck-page .sc-score-verdict{font-size:17px}
}

/* ---------- Reduced Motion — D2 ---------- */
@media (prefers-reduced-motion:reduce){
  .sc-item,.sc-item::after,.sc-item .fw-check{transition-duration:.001ms !important}
}

/* ############################################################
   E  SEITE: GEO-TOOL         #geo-tool-page
   ############################################################ */

#geo-tool-page{
  min-height:100vh;
  background:var(--ink);color:#fff;
  font-family:'Montserrat',sans-serif;
  position:relative;overflow-x:hidden;
  display:flex;flex-direction:column;
}
#geo-tool-page::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

/* ============================================================
   E1  WRAP + HEADER  (mirrors .sc-wrap / .sc-header)
   ============================================================ */
.gt-wrap{
  position:relative;z-index:1;width:100%;
  padding-top:140px;   /* Nav ist position:absolute → gleicher Offset wie .sc-wrap */
  flex:1;
}

.gt-header{
  max-width:820px;margin:0 auto;padding:0 24px 40px;text-align:center;
}
#geo-tool-page .gt-header .cl-pill{margin:0 auto 20px}
#geo-tool-page .gt-h1{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  color:#fff;margin:0 0 16px;text-transform:uppercase;
}
.gt-h1 em{
  font-style:normal;color:var(--accent);
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:4px;
}
#geo-tool-page .gt-hero-text{
  font-size:18px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.82);
  max-width:620px;margin:0 auto;
}

/* ============================================================
   E2  PROGRESS  (identical recipe to .sc-progress-*)
   ============================================================ */
.gt-progress-shell{
  max-width:820px;margin:0 auto 40px;padding:0 24px;
  display:flex;align-items:center;gap:14px;
}
.gt-progress-track{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.gt-progress-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--accent),var(--accent-dark));
  border-radius:999px;transition:width .35s ease;
}
.gt-progress-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.4);white-space:nowrap}
.gt-progress-label b{color:var(--accent)}

/* ============================================================
   E3  LAYOUT SPLIT
   ============================================================ */
.gt-split{
  max-width:1200px;margin:0 auto;padding:0 24px 80px;
  display:grid;grid-template-columns:1fr 1.15fr;gap:28px;
  align-items:stretch;
}

/* ============================================================
   E4  FORM CARD  (glass card, same recipe as .fw-card / .sc-qcard)
   ============================================================ */
.gt-form-card{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  border-radius:14px;padding:32px;
}
#geo-tool-page .gt-card-title{font-size:18px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
.gt-card-sub{font-size:16px;font-weight:600;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:8px}

.gt-field-group{margin-bottom:20px}
.gt-field-group label{
  display:block;font-size:12px;font-weight:700;color:rgba(255,255,255,.45);
  margin-bottom:7px;text-transform:uppercase;letter-spacing:.06em;
}
.gt-field-group input,
.gt-field-group select,
.gt-field-group textarea{
  width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  color:#fff;padding:11px 13px;border-radius:10px;
  font-family:'Montserrat',sans-serif;font-size:14.5px;outline:none;
  transition:border-color .2s ease,background .2s ease;
}
.gt-field-group input:focus,
.gt-field-group select:focus,
.gt-field-group textarea:focus{border-color:var(--accent);background:rgba(255,255,255,.12)}
.gt-field-group input::placeholder,
.gt-field-group textarea::placeholder{color:rgba(255,255,255,.3)}

.gt-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.gt-section-tag{
  font-size:12px;font-weight:700;color:var(--accent);
  text-transform:uppercase;letter-spacing:.06em;
  margin:28px 0 14px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.14);
}

.gt-location-block{
  border:1px solid rgba(255,255,255,.09);border-radius:14px;
  padding:16px;margin-bottom:12px;background:rgba(255,255,255,.03);
}
.gt-location-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.gt-location-head span{font-size:13px;font-weight:700;color:rgba(255,255,255,.5)}
.gt-remove-loc{
  background:none;border:none;color:rgba(255,255,255,.45);cursor:pointer;
  font-size:12px;font-weight:600;text-decoration:underline;padding:0;
}
.gt-remove-loc:hover{color:#ff8a8a}

.gt-btn-add{
  width:100%;background:transparent;border:1.5px dashed rgba(255,255,255,.2);
  color:rgba(255,255,255,.5);padding:11px;border-radius:100px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;
  transition:border-color .2s ease,color .2s ease;
}
.gt-btn-add:hover{border-color:var(--accent);color:var(--accent)}

/* ============================================================
   E5  PREVIEW PANE
   ============================================================ */
.gt-preview-shell{
  position:sticky;top:24px;
  display:flex;flex-direction:column;height:100%;
}
.gt-preview-tabs{display:flex;gap:8px;margin-bottom:14px}
.gt-preview-tab{
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:8px 14px;border-radius:100px;color:rgba(255,255,255,.4);
}
.gt-tab-done{background:rgba(70,200,255,.12);color:var(--accent);border:1px solid rgba(70,200,255,.35)}
.gt-tab-locked{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09)}

/* Light "browser page" mock — same card recipe as .nutzen-card / .faq-item */
.gt-page-mock{
  flex:1;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  color:var(--ink-soft);border:1px solid var(--ink-muted);border-radius:18px;overflow:hidden;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
}
.gt-page-mock-top{
  background:#fff;padding:14px 20px;border-bottom:1px solid var(--border);
  font-size:11.5px;font-weight:600;color:var(--ink-muted);
  display:flex;align-items:center;gap:8px;
}
.gt-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}

.gt-page-mock-body{padding:26px 26px 10px}
#geo-tool-page .gt-pm-h1{
  font-family:'Sofia Sans Condensed',sans-serif;font-size:22px;font-weight:800;
  color:var(--ink);margin:0 0 6px;
}
.gt-pm-note{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:8px;padding:12px 14px;margin:0 0 22px;
}
.gt-pm-note p{
  font-size:12.5px; font-weight: 600; color:var(--ink-muted);line-height:1.55;margin:0 !important;
}
.gt-pm-note-icon{
  flex-shrink:0;width:16px;height:16px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-size:11px;font-weight:800;font-style:normal;
  display:flex;align-items:center;justify-content:center;
  line-height:1;margin-top:1px;
}
#geo-tool-page .gt-pm-section-title{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:14px;
  text-transform:uppercase;letter-spacing:.02em;margin:22px 0 10px;color:var(--ink);
  display:flex;align-items:center;gap:8px;
}
.gt-pm-check{
  width:18px;height:18px;border-radius:50%;background:var(--accent);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--ink);flex-shrink:0;
}
.gt-pm-list{
  margin:0;padding:0 0 18px;list-style:none;font-size:13.5px;font-weight:600;line-height:1.75;
  border-bottom:1px solid var(--border);
}
.gt-pm-list li{padding-left:18px;position:relative}
.gt-pm-list li::before{content:"—";position:absolute;left:0;color:var(--ink-muted)}
.gt-pm-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:6px}
.gt-pm-table td{padding:7px 0;border-bottom:1px solid var(--border)}
.gt-pm-table td:first-child{color:var(--ink-muted);width:40%}
.gt-pm-table td:last-child{font-weight:700;color:var(--ink)}
.gt-pm-empty{
  color:var(--ink-muted) !important;
  font-style:italic;
  font-weight:400 !important;
  font-size:13.5px;
  line-height:1.6;
}
.gt-pm-list li.gt-pm-empty{padding-left:0}
.gt-pm-list li.gt-pm-empty::before{content:none}
#geo-tool-page .gt-pm-location{font-size:13.5px;margin:0 0 12px}

/* Locked overlay — same glass recipe as .sc-qcard/.fw-card */
.gt-locked-zone{
  position:relative;flex:1;display:flex;flex-direction:column;
  padding:22px 26px 30px;
  background:linear-gradient(180deg,rgba(20,22,23,0) 0%,rgba(20,22,23,.35) 40%,var(--ink) 100%);
}
.gt-locked-content{filter:blur(3.5px);opacity:.55;user-select:none;pointer-events:none}
.gt-locked-content .gt-pm-section-title{color:var(--ink-soft)}
.gt-locked-content .gt-pm-list{color:var(--ink-muted)}
.gt-locked-content p{font-size:13px;color:var(--ink-muted)}

.gt-locked-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:20px;
  background:linear-gradient(180deg,
    rgba(20,22,23,0) 0%,
    rgba(20,22,23,.25) 25%,
    rgba(20,22,23,.65) 50%,
    rgba(20,22,23,.88) 70%,
    rgba(20,22,23,.96) 100%
  );
}

#geo-tool-page .gt-locked-overlay h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-size:26px;font-weight:800;
  color:#fff;margin:0 0 12px;max-width:400px;text-transform:uppercase;line-height:1.2;
}
.gt-locked-overlay > p{font-size:15px;color:rgba(255,255,255,.7);margin:0 0 20px;max-width:380px;line-height:1.65}
.gt-locked-list{
  font-size:15px;font-weight:600;color:rgba(255,255,255,.75);text-align:left;
  margin:0 0 20px;padding-left:20px;line-height:2;
}

.gt-bottom-actions{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:16px;flex-wrap:wrap;gap:12px;
}
.gt-footnote{font-size:12px;font-weight:600;color:rgba(255,255,255,.4)}
.gt-copy-btn{
  background:transparent;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.8);
  font-size:12.5px;font-weight:700;font-family:'Montserrat',sans-serif;
  padding:9px 16px;border-radius:100px;cursor:pointer;transition:border-color .2s ease;
}
.gt-copy-btn:hover,
.gt-copy-btn.gt-copied{border-color:var(--accent);color:var(--accent)}

#services{
  resize:vertical;
}

/* ============================================================
   E6  BREAKPOINTS — GEO-TOOL
   ============================================================ */
@media (max-width:920px){
  .gt-split{grid-template-columns:1fr}
  .gt-preview-shell{position:static}
}
@media (max-width:820px){
  .gt-wrap{padding-top:120px}
  #geo-tool-page .gt-h1{font-size:36px;line-height:1.08}
  .gt-hero-text{font-size:16px}
  .gt-header{padding:0 22px 32px}
  .gt-progress-shell{padding:0 22px;margin-bottom:32px}
  .gt-split{padding:0 22px 56px;gap:20px}
  .gt-form-card{padding:24px 20px}
}
@media (max-width:520px){
  .gt-row-2{grid-template-columns:1fr}
}

/* ---------- Reduced Motion — GEO-TOOL ---------- */
@media (prefers-reduced-motion:reduce){
  #geo-tool-page::before{animation:none}
  .gt-progress-fill{transition-duration:.001ms !important}
}

/* ############################################################
   F  SEITE: RTL-EVENT        #rtl-event-page
   ------------------------------------------------------------
   Wiederverwendet aus dem Core: #cl-nav, .cl-footer, .cl-pill,
   .btn-primary, .section-eyebrow, @keyframes heroGlow/pulse.
   Wiederverwendet aus B8: die komplette FAQ (.faq-list/.faq-item/
   .faq-q/.faq-icon/.faq-a) — nur die zwei dort auf
   #geo-workshop-page gescopten Regeln brauchen hier ein
   Gegenstück, siehe F8.
   Wiederverwendet aus C2: .ws-tag/.ws-tag-dot als Checkliste.

   Nicht wiederverwendet, obwohl es passen würde: .nutzen-card,
   .fw-card und .ref-fact. B10 baut die drei mobil ungescoped zu
   Slider-Karten um (flex:0 0 84%, scale(.94)). Dieselbe Stelle
   ist in D2 schon einmal aufgeschlagen. Die drei Rezepte stehen
   deshalb hier unter eigenem Präfix, Werte 1:1 wie im Original.
   ############################################################ */


/* ============================================================
   F1  SECTIONS, TITEL, FLIESSTEXT
   ------------------------------------------------------------
   Vier Flächenvarianten, alle schon aus B bekannt:
   hell (#fff) · .is-surface · .is-ink · .is-accent.
   z-Achse je Section: Bild 0 → Glow 1 → Inhalt 2.
   ============================================================ */

/* Full-Bleed: bricht aus dem Avada-Content-Container aus (Rezept C1) */
#rtl-event-page .rtl-hero,
#rtl-event-page .rtl-section{
  width:100vw !important;max-width:100vw !important;
  position:relative;left:50%;right:50%;
  margin-left:-50vw !important;margin-right:-50vw !important;
}

#rtl-event-page .rtl-section{padding:96px 24px !important;background:#fff !important}
#rtl-event-page .rtl-section.is-surface{background:var(--surface) !important}
#rtl-event-page .rtl-section.is-ink{background:var(--ink) !important;overflow:hidden}
#rtl-event-page .rtl-section.is-accent{
  background:
    radial-gradient(ellipse 60% 80% at 20% 20%,rgba(255,255,255,.18) 0%,transparent 60%),
    linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%) !important;
  overflow:hidden;
}

/* Glow auf allen dunklen Flächen — Rezept aus B1/B5 */
#rtl-event-page .rtl-hero::before,
#rtl-event-page .rtl-section.is-ink::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

.rtl-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2}

/* Titel — gleiche Skala wie .section-title (B) und .ws-section-title (C) */
#rtl-event-page .rtl-title{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:clamp(28px,5vw,52px) !important;font-weight:800 !important;line-height:1.1 !important;
  text-transform:uppercase;color:var(--ink);margin:0 0 14px !important;
}
/* em erbt Farbe und bleibt unausgezeichnet — nur die Kursive raus */
#rtl-event-page .rtl-title em{font-style:normal;color:inherit}
#rtl-event-page .rtl-lead{
  font-size:18px;font-weight:600;line-height:1.55;color:var(--ink-soft);
  max-width:640px;margin:0 !important;
}
/* volle Breite, wenn kein Bild danebensteht (Location) */
#rtl-event-page .rtl-lead.is-wide{max-width:900px}

/* Umkehrung auf Ink und Accent */
#rtl-event-page .is-ink .rtl-title,
#rtl-event-page .is-accent .rtl-title{color:#fff}
#rtl-event-page .is-ink .rtl-lead{color:rgba(255,255,255,.82)}
#rtl-event-page .is-accent .rtl-lead{color:rgba(255,255,255,.92)}
#rtl-event-page .is-accent .section-eyebrow{color:#fff;opacity:.85}

/* Zentrierter Abschluss-CTA — ersetzt die drei Einzelregeln aus B */
#rtl-event-page .rtl-cta{display:flex;width:fit-content;margin:56px auto 0}


/* ============================================================
   F2  HERO
   ------------------------------------------------------------
   Typografie wie C1 (Event-Hero), damit Workshops-Übersicht und
   Event-Detailseite dieselbe Tonlage haben.
   ============================================================ */
#rtl-event-page .rtl-hero{
  background:var(--ink) !important;color:#fff !important;
  padding:160px 24px 96px !important;overflow:hidden;
}

/* Skyline als eigenes <img> statt background-image: liegt damit
   unter dem Glow und bleibt lazy/priorisierbar. */
.rtl-hero-bg{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
  opacity:.22;filter:grayscale(1) contrast(1.05);
  pointer-events:none;
}

/* ---- Verbindungsnetz ----------------------------------------
   Liegt über dem Glow (gleicher z-index, später im DOM) und unter
   dem Inhalt (z-index 2). inset:-40px gibt der Drift Spielraum,
   sonst laufen die Kanten in den Hero hinein.
   Die Maske hält die Mitte frei, damit die Headline ruhig bleibt.
   ------------------------------------------------------------- */
.rtl-hero-net{
  position:absolute;inset:-40px;z-index:1;pointer-events:none;
  animation:netDrift 26s ease-in-out infinite;
  will-change:transform;
  -webkit-mask-image:radial-gradient(ellipse 58% 52% at 50% 50%,transparent 28%,#000 76%);
  mask-image:radial-gradient(ellipse 58% 52% at 50% 50%,transparent 28%,#000 76%);
}
.rtl-hero-net svg{width:100%;height:100%;display:block}

.rtl-net-lines line{stroke:rgba(255,255,255,.10);stroke-width:1}

.rtl-net-nodes circle{fill:rgba(255,255,255,.35);animation:netNode 6s ease-in-out infinite}
.rtl-net-nodes circle:nth-child(2n){animation-duration:8s;animation-delay:-2.5s}
.rtl-net-nodes circle:nth-child(3n){animation-duration:10s;animation-delay:-5s}

/* Signale — nur auf ausgewählten Linien, sonst wird es unruhig */
.rtl-net-flow line{
  stroke:rgba(255,255,255,.42);stroke-width:1.5;stroke-linecap:round;
  stroke-dasharray:5 235;stroke-dashoffset:240;
  animation:netFlow 9s linear infinite;
}
.rtl-net-flow line:nth-child(2){animation-duration:13s;animation-delay:-4s}
.rtl-net-flow line:nth-child(3){animation-duration:11s;animation-delay:-7s}
.rtl-net-flow line:nth-child(4){animation-duration:15s;animation-delay:-2s}
.rtl-net-flow line:nth-child(5){animation-duration:10s;animation-delay:-9s}
.rtl-net-flow line:nth-child(6){animation-duration:14s;animation-delay:-5s}
.rtl-net-flow line:nth-child(7){animation-duration:12s;animation-delay:-11s}

.rtl-hero-inner{
  max-width:900px;margin:0 auto;position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;
}
#rtl-event-page .rtl-hero h1{
  font-family:'Sofia Sans Condensed',sans-serif !important;
  font-size:clamp(40px,7vw,84px) !important;font-weight:800 !important;line-height:1.02 !important;
  color:#fff !important;text-transform:uppercase;margin:0 !important;
}
#rtl-event-page .rtl-hero h1 em{
  font-style:normal;color:var(--accent) !important;
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:6px;
}
#rtl-event-page .rtl-hero-sub{
  font-size:18px;font-weight:600;line-height:1.55;
  color:rgba(255,255,255,.82);max-width:620px;margin:0 !important;
}
#rtl-event-page .rtl-hero-note{
  font-size:13px;font-weight:600;color:rgba(255,255,255,.4);margin:0 !important;
}

/* Badge-Reihen (Eyebrow + Meta) — Pills kommen aus A4 */
.rtl-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
#rtl-event-page .rtl-badges .cl-pill{margin:0 !important;position:static}

.rtl-partner-badge{
  display:block;
  width:100%;
  max-width:420px;
  height:auto;
}

@media (max-width:820px){
  .rtl-partner-badge{max-width:280px}
}

/* ============================================================
   F3  KARTEN-GRID  (Warum dabei sein)
   ------------------------------------------------------------
   Rezept von .nutzen-card (B4), Icon-Kachel von .nutzen-icon,
   hier im Textfluss statt absolut positioniert.
   ============================================================ */
.rtl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}

.rtl-card{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);border-radius:18px;padding:32px;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.rtl-card::before{
  content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
}
.rtl-card:hover{
  transform:translateY(-5px);border-color:rgba(70,200,255,.55);
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),
             0 4px 12px -6px rgba(20,22,23,.08);
}
.rtl-card:hover::before{transform:scaleY(1)}

.rtl-card-icon{
  flex-shrink:0;width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .25s ease,box-shadow .25s ease;
}
.rtl-card-icon svg,
.rtl-card-icon img{width:28px;height:28px;display:block}
.rtl-card:hover .rtl-card-icon{
  transform:scale(1.07) rotate(-4deg);
  box-shadow:0 14px 26px -8px rgba(31,163,222,.7);
}

#rtl-event-page .rtl-card h3{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:26px;font-weight:800;line-height:1.15;text-transform:uppercase;
  color:var(--ink);margin:0 !important;
}
#rtl-event-page .rtl-card p{
  font-size:16px;font-weight:600;line-height:1.6;color:var(--ink-soft);margin:0 !important;
}

/* ------------------------------------------------------------
   Dots zum Karten-Slider (siehe F9). Mechanik und Werte 1:1 von
   .nutzen-dots (B4/B10), aber eigenes Präfix — Regel aus dem
   Dateikopf: in B gehört nichts RTL-Spezifisches.
   ------------------------------------------------------------ */
.rtl-dots{display:none}
.rtl-dots button{
  width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:#D7EFFF;transition:.25s;
}
.rtl-dots button.active{width:28px;border-radius:999px;background:var(--accent)}

/* ============================================================
   F4  IMPRESSIONEN — Akkordeon-Marquee
   ============================================================ */
.rtl-gallery{
  display:flex;gap:16px;margin-top:40px;
  container-type:inline-size;
  --rtl-gal-open:2.8;   /* Wachstum des offenen Fensters */
  --rtl-gal-idle:.85;   /* Ruhewert aller Fenster        */
}

/* Fenster */
.rtl-shot{
  position:relative;overflow:hidden;
  flex:var(--rtl-gal-idle) 1 0;min-width:0;
  height: clamp(220px, 24vw, 310px);
  border:3px solid rgba(255,255,255,.55);border-radius:18px;
  box-shadow:0 20px 50px -25px rgba(0,0,0,.5);
  transition:flex-grow .75s cubic-bezier(.4,0,.2,1),
             box-shadow .45s ease;
}

/* Bild — feste Größe, mittig im Fenster, wird nur beschnitten */
.rtl-shot img{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  height:100%;max-width:none;
  width:560px;                          /* Fallback ohne cqw */
  width:calc((100cqw - 48px) * .523);
  object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);
  display:block;
  filter:saturate(.8) brightness(.9);
  transition:filter .45s ease;
}

/* 1 — Takt (JS setzt .is-active) */
.rtl-gallery .rtl-shot.is-active{
  flex-grow:var(--rtl-gal-open);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.6);
}
.rtl-gallery .rtl-shot.is-active img{filter:none}

/* 2 — Maus in der Reihe: alle zu, Takt ist damit überstimmt */
.rtl-gallery:hover .rtl-shot{
  flex-grow:var(--rtl-gal-idle);
  box-shadow:0 20px 50px -25px rgba(0,0,0,.5);
}
.rtl-gallery:hover .rtl-shot img{filter:saturate(.8) brightness(.9)}

/* 3 — das Fenster unter dem Cursor macht auf */
.rtl-gallery:hover .rtl-shot:hover{
  flex-grow:var(--rtl-gal-open);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.6);
}
.rtl-gallery:hover .rtl-shot:hover img{filter:none}


/* ============================================================
   F5  AGENDA — Timeline
   ------------------------------------------------------------
   Schiene mit Punkten statt 13 gleich schwerer Karten.
   Programmpunkte = Glaskarte (Rezept .fw-card, B5), Pausen nur
   eine Textzeile an einem kleineren Punkt.
   Linie und Punkt sind ::before/::after der Zeile — deshalb hier
   kein Cursor-Glow (der brauchte ::after).
   Die vertikalen Offsets (padding-top / margin-top) zentrieren
   Zeit und Punkt auf der ersten Titelzeile. Ändert sich die
   Kartenpolsterung, wandern die drei Werte mit.
   ============================================================ */
.rtl-agenda{display:grid;margin-top:44px}

.rtl-agenda-row{
  display:grid;
  grid-template-columns:82px 34px 1fr;   /* Zeit | Schiene | Inhalt */
  align-items:start;
}

/* Schiene — align-self:stretch ist Pflicht: die Zeile setzt
   align-items:start, das erbt das ::before und wird sonst 0 hoch. */
.rtl-agenda-row::before{
  content:'';grid-area:1/2;justify-self:center;align-self:stretch;
  width:2px;background:rgba(255,255,255,.14);
}
.rtl-agenda-row:first-child::before{margin-top:30px}   /* startet am 1. Punkt */
.rtl-agenda-row:last-child::before{align-self:start;height:32px}

/* Punkt */
.rtl-agenda-row::after{
  content:'';grid-area:1/2;justify-self:center;align-self:start;
  width:11px;height:11px;margin-top:26px;border-radius:50%;
  background:var(--accent);
  transition:transform .25s ease;
}

/* Zeit — Startzeit führt, Endzeit läuft gedimmt mit */
.rtl-agenda-time{
  grid-area:1/1;padding-top:21px;
  display:flex;flex-direction:column;gap:2px;
  font-size:15px;font-weight:700;line-height:1.3;color:var(--accent);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.rtl-agenda-time span{font-size:12px;font-weight:600;color:rgba(255,255,255,.35)}

/* Inhalt */
.rtl-agenda-body{
  grid-area:1/3;min-width:0;margin-bottom:26px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);border-radius:14px;
  padding:18px 24px;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.rtl-agenda-row:last-child .rtl-agenda-body{margin-bottom:0}
.rtl-agenda-row:hover .rtl-agenda-body{
  transform:translateY(-2px);
  border-color:rgba(70,200,255,.45);background:rgba(255,255,255,.06);
}
.rtl-agenda-row:hover::after{transform:scale(1.25)}

.rtl-agenda-title{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-size:17px;font-weight:700;line-height:1.45;color:#fff;
}
#rtl-event-page .rtl-agenda-body p{
  font-size:15px;font-weight:600;line-height:1.55;
  color:rgba(255,255,255,.7);margin:5px 0 0 !important;
}
#rtl-event-page .rtl-agenda-title .cl-pill{padding:4px 12px;font-size:10px}

/* Pause — keine Karte, kleinerer Punkt, eine Zeile.
   Punktfarbe deckend statt rgba: #48494A ist exakt
   rgba(255,255,255,.22) auf --ink, aber die Schiene
   scheint nicht mehr durch. */
.rtl-agenda-row.is-break::after{
  width:7px;height:7px;margin-top:6px;background:#48494A;
}
.rtl-agenda-row.is-break:hover::after{transform:none}
.rtl-agenda-row.is-break .rtl-agenda-time{padding-top:1px;font-size:13px;color:rgba(255,255,255,.38)}
.rtl-agenda-row.is-break .rtl-agenda-body {
  background:transparent;border:0;padding:0;margin-bottom:22px;
}
.rtl-agenda-row.is-break:hover .rtl-agenda-body{transform:none;background:transparent}
.rtl-agenda-row.is-break .rtl-agenda-title{
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.4);
}

/* Höhepunkt des Tages */
.rtl-agenda-row.is-highlight::after{
  width:15px;height:15px;margin-top:24px;
  box-shadow:0 0 0 5px rgba(70,200,255,.16);
}
.rtl-agenda-row.is-highlight .rtl-agenda-body{
  border-color:rgba(70,200,255,.45);background:rgba(70,200,255,.07);
}

#rtl-event-page .rtl-agenda-row.reveal,
#rtl-event-page .rtl-agenda-row.reveal.in-view{transform:none}

/* ============================================================
   F6  SPLIT-LAYOUT, BILDRAHMEN, FAKTEN  (Location)
   ------------------------------------------------------------
   Rahmen = .video-frame/.referent-visual (B3/B6),
   Faktenkarte = .ref-fact (B6).
   ============================================================ */
.rtl-split{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
/* Anmeldung: das Formular bekommt die breitere Spalte. Zwei Felder
   nebeneinander brauchen Platz — je schmaler die Spalte, desto höher
   der Stapel. .is-top wird nur hier verwendet. */
.rtl-split.is-top{align-items:start;grid-template-columns:.85fr 1.15fr;gap:44px}

/* Bildreihe über dem Text (Location) */
.rtl-frames{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:40px}
.rtl-frames figure{margin:0}
/* Rahmen wie .video-frame (B3), aber ohne dessen weißen Halo-Ring
   (0 0 0 8px) — sonst sitzt hier ein anderer Rahmen als in F4. */
.rtl-frame{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;
  background:rgba(0,0,0,.15);border:3px solid rgba(255,255,255,.55);
  box-shadow:0 20px 50px -25px rgba(0,0,0,.5);
  transition:transform .3s ease,box-shadow .3s ease;
}
.rtl-frame:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.55);
}
.rtl-frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  object-position:var(--focus-x,50%) var(--focus-y,50%);
}
.rtl-frame-caption{
  margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.75);
}

/* Fakten stehen unter dem Split → Zeile statt Spalte */
.rtl-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.rtl-fact{
  position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:16px;
  padding:20px 22px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);border-radius:14px;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.rtl-fact::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 60%);
}
.rtl-fact:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}
.rtl-fact:hover::after{opacity:1}
.rtl-fact-dot{
  flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:9px;
  background:#fff;position:relative;z-index:1;
}
#rtl-event-page .rtl-fact p{
  position:relative;z-index:1;margin:0 !important;
  font-size:16px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.9);
}
#rtl-event-page .rtl-fact p strong{
  display:block;margin-bottom:2px;
  font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;
}


/* ============================================================
   F7  ANMELDUNG
   ------------------------------------------------------------
   Checkliste nutzt .ws-tag/.ws-tag-dot aus C2, nur vertikal.
   Hinweisbox = .gt-pm-note aus E5 in Lesegröße.
   Das HubSpot-Embed bringt eigenes Styling mit, die Karte gibt
   ihm nur Fläche und Rahmen.
   ============================================================ */
.rtl-checklist{display:flex;flex-direction:column;gap:14px;margin-top:26px}
#rtl-event-page .rtl-checklist .ws-tag{font-size:16px;gap:12px;align-items:flex-start}
#rtl-event-page .is-ink .rtl-checklist .ws-tag{color:rgba(255,255,255,.82)}
#rtl-event-page .rtl-checklist .ws-tag-dot{width:20px;height:20px;margin-top:2px}
#rtl-event-page .rtl-checklist .ws-tag-dot::after{width:5px;height:9px;border-width:0 2px 2px 0}

.rtl-form-card{
  background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;
  box-shadow:0 24px 48px -32px rgba(20,22,23,.28);
}
#rtl-event-page .rtl-form-card h3{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:24px;font-weight:800;line-height:1.2;text-transform:uppercase;
  text-align:center;
  color:var(--ink);margin:0 0 10px !important;
}
/* HubSpot setzt am Wrapper gern eigene Ränder — die kommen raus,
   die Abstände oben und unten macht die Karte. */
#rtl-event-page .rtl-form-card .hs-form-frame{margin:0}
#rtl-event-page .rtl-form-hint{
  margin:10px 0 0 !important;text-align:center;
  font-size:12.5px;font-weight:600;color:var(--ink-muted);
}
#rtl-event-page .rtl-form-hint a{color:var(--accent-dark)}


/* ============================================================
   F8  FAQ
   ------------------------------------------------------------
   Kommt vollständig aus B8. Dort sind nur zwei Regeln auf
   #geo-workshop-page gescopt — die stehen hier noch einmal.
   ============================================================ */
#rtl-event-page .faq-list{margin-top:40px}
#rtl-event-page .faq-a p{
  margin:0 !important;padding:0 32px 28px 32px;
  font-size:16px;font-weight:600;line-height:1.65;color:var(--ink-soft);max-width:820px;
}


/* ============================================================
   F9  BREAKPOINTS — RTL-EVENT
   ============================================================ */
@media (max-width:1040px){
  .rtl-grid{grid-template-columns:repeat(2,1fr)}
  .rtl-split,
  .rtl-split.is-top{grid-template-columns:1fr;gap:40px}
}

@media (max-width:820px){

  /* ===== Flächen ===== */
  #rtl-event-page .rtl-section{padding:64px 22px !important}
  #rtl-event-page .rtl-title{font-size:36px !important;line-height:1.08 !important}
  #rtl-event-page .rtl-lead{font-size:16px}

  /* ===== Hero ===== */
  #rtl-event-page .rtl-hero{padding:112px 22px 72px !important}
  #rtl-event-page .rtl-hero h1{font-size:clamp(40px,11vw,60px) !important;line-height:1.03 !important}
  #rtl-event-page .rtl-hero-sub{font-size:16px}
  .rtl-hero-net{opacity:.55}
  .rtl-badges{gap:8px}
  #rtl-event-page .rtl-badges .cl-pill{font-size:10px;letter-spacing:.02em;padding:6px 10px}

/* ===== Karten: Grid wird zum Swipe-Slider (Rezept B10) ===== */
  #rtl-event-page .rtl-grid{
    display:flex;gap:14px;
    /* position:relative ist Pflicht: der Slider rechnet mit card.offsetLeft.
       Ohne das ist .rtl-inner der offsetParent und der negative Rand
       verschiebt jede Messung um 22px. */
    position:relative;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin:32px -22px 0;padding:0;
    scrollbar-width:none;
  }
  #rtl-event-page .rtl-grid::-webkit-scrollbar{display:none}
  /* unsichtbare Spacer, damit erste und letzte Karte mittig einrasten */
  #rtl-event-page .rtl-grid::before,
  #rtl-event-page .rtl-grid::after{content:"";flex:0 0 8%}

  .rtl-card{flex:0 0 84%;scroll-snap-align:center;padding:26px 24px}
  #rtl-event-page .rtl-card h3{font-size:22px}

  /* Ruhe .94 / aktiv 1.03 wie .nutzen-card. Der ID-Selektor ist nötig,
     sonst gewinnt .reveal.in-view (A4) mit seinem translateY(0);
     mobil trägt das Reveal deshalb nur noch die Deckkraft. */
  #rtl-event-page .rtl-card{transform:scale(.94)}
  #rtl-event-page .rtl-card.reveal.in-view{transition:opacity .6s ease,transform .25s ease}
  #rtl-event-page .rtl-card.active{
    transform:translateY(-6px) scale(1.03);
    border-color:rgba(70,200,255,.55);
    box-shadow:0 24px 48px -24px rgba(31,163,222,.4),
               0 4px 12px -6px rgba(20,22,23,.08);
    z-index:2;
  }
  #rtl-event-page .rtl-card.active::before{transform:scaleY(1)}
  #rtl-event-page .rtl-card.active .rtl-card-icon{
    transform:scale(1.07) rotate(-4deg);
    box-shadow:0 14px 26px -8px rgba(31,163,222,.7);
  }

  .rtl-dots{display:flex;justify-content:center;gap:10px;margin-top:28px}

  /* ===== Impressionen — Akkordeon braucht Breite, mobil bleibt das Raster ===== */
  .rtl-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
  .rtl-shot{height:150px;border-radius:14px;border-width:2px}
  /* im Raster füllt das Bild wieder sein Fenster; ohne aktives
     Bild wäre die Reihe sonst durchgehend matt */
  .rtl-shot img{width:100%;filter:none}

  /* ===== Agenda: Zeit über die Karte, Schiene bleibt ===== */
  .rtl-agenda{margin-top:32px}
  .rtl-agenda-row{grid-template-columns:20px 1fr;column-gap:14px}
  .rtl-agenda-row::before{grid-area:1/1/3/2}
  .rtl-agenda-row::after{grid-area:1/1;margin-top:4px}
  .rtl-agenda-row.is-break::after{margin-top:6px}
  .rtl-agenda-row.is-highlight::after{margin-top:2px}
  .rtl-agenda-row:first-child::before{margin-top:9px}
  .rtl-agenda-row:last-child::before{height:10px}
  .rtl-agenda-time{
    grid-area:1/2;flex-direction:row;align-items:baseline;gap:6px;
    padding-top:0;margin-bottom:8px;font-size:14px;
  }
  .rtl-agenda-row.is-break .rtl-agenda-time{padding-top:0;margin-bottom:4px}
  .rtl-agenda-body{grid-area:2/2;padding:16px 18px;margin-bottom:22px}
  .rtl-agenda-row.is-break .rtl-agenda-body{margin-bottom:18px}
  .rtl-agenda-row:hover .rtl-agenda-body{transform:none}
  .rtl-agenda-title{font-size:16px}

  /* ===== Location ===== */
  .rtl-frames{grid-template-columns:1fr;gap:14px;margin-bottom:32px}
  .rtl-frame{border-width:2px}
  .rtl-frame:hover{transform:none}
  .rtl-facts{grid-template-columns:1fr;margin-top:32px}
  .rtl-fact{padding:16px 18px}
  .rtl-fact:hover{transform:none}

  /* ===== Anmeldung ===== */
  .rtl-form-card{padding:18px 16px}

  /* ===== CTA ===== */
  #rtl-event-page .rtl-cta{margin-top:40px}
}

/* ============================================================
   F10  REDUCED MOTION — RTL-EVENT
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  #rtl-event-page .rtl-hero::before,
  #rtl-event-page .rtl-section.is-ink::before{animation:none}

  /* Netz bleibt als stilles Muster stehen, Signale ganz raus */
  .rtl-hero-net,
  .rtl-net-nodes circle{animation:none}
  .rtl-net-flow{display:none}
  .rtl-card,.rtl-card::before,.rtl-card-icon,
  .rtl-agenda-row::after,.rtl-agenda-body,
  .rtl-fact,.rtl-fact::after,
  .rtl-frame,.rtl-shot,.rtl-shot img{transition-duration:.001ms !important}
}

/* ############################################################
   G  SEITE: DOWNLOAD          #download-page
   ------------------------------------------------------------
   Wiederverwendet: #cl-nav, .cl-pill, .btn-primary, heroGlow.
   Karte = Rezept .fw-card/.sc-qcard/.gt-form-card.
   Felder = Rezept .gt-field-group.
   ############################################################ */

#download-page{
  min-height:100vh;
  background:var(--ink);color:#fff;
  font-family:'Montserrat',sans-serif;
  position:relative;overflow-x:clip;
  display:flex;flex-direction:column;
}
#download-page::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}

.dl-wrap{
  position:relative;z-index:1;max-width:680px;width:100%;margin:0 auto;
  padding:140px 24px 96px;
  flex:1;display:flex;flex-direction:column;
}

.dl-header{text-align:center;margin-bottom:32px}
#download-page .dl-header .cl-pill{margin:0 auto 20px}
#download-page .dl-header h1{
  font-family:'Sofia Sans Condensed',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;
  color:#fff;margin:0 0 16px;text-transform:uppercase;
}
#download-page .dl-header h1 em{
  font-style:normal;color:var(--accent);
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:4px;
}
#download-page .dl-sub{
  font-size:16px;font-weight:600;line-height:1.6;color:rgba(255,255,255,.7);
  max-width:420px;margin:0 auto;
}

.dl-card{
  max-width:680px;margin:0 auto;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  border-radius:14px;padding:32px;
  transition:opacity .3s ease;
}

.dl-field{margin-bottom:18px;text-align:left}
.dl-field label{
  display:block;font-size:12px;font-weight:700;color:rgba(255,255,255,.45);
  margin-bottom:7px;text-transform:uppercase;letter-spacing:.06em;
}
.dl-field input{
  width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  color:#fff;padding:11px 13px;border-radius:10px;
  font-family:'Montserrat',sans-serif;font-size:14.5px;outline:none;
  transition:border-color .2s ease,background .2s ease;
}
.dl-field input:focus{border-color:var(--accent);background:rgba(255,255,255,.12)}
.dl-field input::placeholder{color:rgba(255,255,255,.3)}

.dl-field-checkbox{
  display:flex;flex-direction:row;align-items:flex-start;gap:10px;
}
.dl-field-checkbox input{
  width:auto;margin-top:3px;accent-color:var(--accent);flex-shrink:0;
}
#download-page .dl-field-checkbox label{
  font-size:14px;font-weight:600;color:rgba(255,255,255,.7);
  text-transform:none;letter-spacing:normal;margin-bottom:0;
}
#download-page .dl-field-checkbox label a{color:var(--accent);text-decoration:underline}

#download-page .dl-form .btn-primary{
  display:flex;width:fit-content;
  border:none;cursor:pointer;margin:6px auto 0;
}
#download-page .dl-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}

.dl-error{color:#ff8a8a;font-size:14px;font-weight:600;text-align:center;margin-top:14px}

.dl-result{text-align:center;display:none}
.dl-result.dl-in{display:block}
.dl-result-icon{
  width:64px;height:64px;border-radius:50%;margin:0 auto 20px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 14px 26px -8px rgba(31,163,222,.6);
}
.dl-result-icon svg{width:28px;height:28px;display:block}
#download-page .dl-result h2{
  font-family:'Sofia Sans Condensed',sans-serif;font-size:clamp(22px,4vw,28px);font-weight:800;
  color:#fff;margin:0 0 10px;text-transform:uppercase;
}
#download-page .dl-result p{
  font-size:15px;font-weight:600;color:rgba(255,255,255,.7);
  margin:0 0 26px !important;line-height:1.6;
}
#download-page .dl-result .btn-primary{display:inline-flex;width:auto}

/* 404-Seite: Linkliste in der Download-Karte */
.nf-list{list-style:none;display:flex;flex-direction:column;gap:6px;text-align:center}
.nf-list a{
  display:inline-block;padding:8px 16px;border-radius:100px;
  color:#fff;font-weight:700;text-decoration:none;transition:color .2s ease,background .2s ease;
}
.nf-list a:hover{background:var(--accent);color:var(--ink)}

@media (prefers-reduced-motion:reduce){
  #download-page::before{animation:none}
}
@media (max-width:820px){
  .dl-wrap{padding:120px 22px 72px}
  #download-page .dl-header h1{font-size:36px;line-height:1.08}
  .dl-card{padding:24px 20px}
}

/* ############################################################
   H  SEITE: STARTSEITE        #home-page
   ------------------------------------------------------------
   Neu aufgebaut, ohne !important. Wiederverwendet aus dem Core:
   .cl-pill, .btn-primary, .section-eyebrow, .reveal, heroGlow,
   heroFloat. Aus B: .ref-stat/.ref-num (Zahlen), Testimonials
   und FAQ — deren auf andere Seiten gescopte Regeln stehen in H7.
   ############################################################ */

/* ============================================================
   H1  SECTIONS & TYPO
   Flächen: hell (Standard) · .is-ink · .is-accent
   ============================================================ */
.hp-section{position:relative;overflow:hidden;padding:96px 24px;background:#fff}
.hp-section.is-ink{background:var(--ink);color:#fff}
.hp-section.is-accent{
  background:
    radial-gradient(ellipse 60% 80% at 20% 20%,rgba(255,255,255,.18) 0%,transparent 60%),
    linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:#fff;
}
.hp-section.is-ink::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.16) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}
.hp-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

.hp-title{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:clamp(28px,5vw,52px);line-height:1.1;text-transform:uppercase;
  color:var(--ink);margin-bottom:20px;max-width:24ch;
}
.hp-title em{font-style:normal;color:var(--accent)}
.is-ink .hp-title,
.is-accent .hp-title{color:#fff}
.is-accent .hp-title em{color:var(--ink)}
.is-accent .section-eyebrow{color:#fff;opacity:.85}
/* Primär-Button auf Akzentfläche: Blau auf Blau wäre unsichtbar → Weiß */
.hp-section.is-accent .btn-primary{background:#fff;color:var(--ink)}
.hp-section.is-accent .btn-primary:hover{background:var(--ink);color:#fff;box-shadow:0 6px 18px -8px rgba(20,22,23,.55)}

.hp-lead{
  font-size:18px;font-weight:600;line-height:1.6;color:var(--ink-soft);
  max-width:760px;margin-bottom:16px;
}
.is-ink .hp-lead{color:rgba(255,255,255,.82)}
.is-accent .hp-lead{color:rgba(255,255,255,.92)}

.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hp-center{display:flex;justify-content:center;margin-top:56px}

/* Zweit-Button: gleiche Form wie .btn-primary, nur Kontur */
.hp-btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:15px 31px;border-radius:100px;
  border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent;
  font-size:17px;font-weight:700;letter-spacing:.01em;text-decoration:none;
  transition:border-color .25s,color .25s,transform .25s;
}
.hp-btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
/* auf blauer Fläche wäre Akzent-auf-Akzent unsichtbar → weiß gefüllt */
.is-accent .hp-btn-ghost:hover{background:#fff;border-color:#fff;color:var(--ink)}
.hp-btn-ghost.is-dark{border-color:var(--border);color:var(--ink)}
.hp-btn-ghost.is-dark:hover{border-color:var(--accent-dark);color:var(--ink);background:#F2FAFF}


/* ============================================================
   H2  HERO
   ============================================================ */
.hp-hero{
  position:relative;overflow:hidden;
  background:var(--ink);color:#fff;
  padding:160px 24px 96px;
}
.hp-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,200,255,.18) 0%,transparent 70%);
  animation:heroGlow 7s ease-in-out infinite;
}
.hp-hero-inner{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;
}
.hp-hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.hp-hero h1{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:clamp(36px,5.2vw,64px);line-height:1.04;text-transform:uppercase;color:#fff;
}
.hp-hero h1 em{
  font-style:normal;color:var(--accent);
  text-decoration:underline;text-decoration-color:rgba(70,200,255,.5);text-underline-offset:6px;
}
.hp-hero-claim{
  display:block;margin-top:14px;
  font-size:clamp(20px,2.4vw,30px);line-height:1.2;color:rgba(255,255,255,.85);
}
.hp-hero-lead{font-size:18px;font-weight:600;line-height:1.6;color:rgba(255,255,255,.82);max-width:560px}
.hp-hero-visual img{
  width:100%;height:auto;display:block;
  animation:heroFloat 5s ease-in-out infinite;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));
}


/* ============================================================
   H3  KARTEN (hell) — Rezept .rtl-card / .nutzen-card
   ============================================================ */
.hp-grid{display:grid;gap:18px;margin-top:40px}
.hp-benefits,
.hp-solutions{grid-template-columns:repeat(3,1fr)}
.hp-reasons{grid-template-columns:repeat(2,1fr)}

.hp-card{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);border-radius:18px;padding:32px;
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.hp-card::before{
  content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
}
.hp-card:hover{
  transform:translateY(-5px);border-color:rgba(70,200,255,.55);
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),0 4px 12px -6px rgba(20,22,23,.08);
}
.hp-card:hover::before{transform:scaleY(1)}
.hp-card.reveal.in-view{transition:opacity .6s ease,transform .6s ease,box-shadow .25s ease,border-color .25s ease}

.hp-card h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:26px;line-height:1.15;text-transform:uppercase;color:var(--ink);
}
.hp-card p{font-size:16px;font-weight:600;line-height:1.6;color:var(--ink-soft)}

.hp-card-icon{
  flex-shrink:0;width:56px;height:56px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  transition:transform .25s ease,box-shadow .25s ease;
}
.hp-card-icon img{width:28px;height:28px;display:block}
.hp-card-icon.is-light{background:var(--ink);box-shadow:0 10px 22px -10px rgba(20,22,23,.6)}
.hp-card:hover .hp-card-icon{transform:scale(1.07) rotate(-4deg);box-shadow:0 14px 26px -8px rgba(31,163,222,.7)}

/* Nummerierte Gründe */
.hp-reason-num{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:44px;line-height:1;color:var(--accent);
}

/* „Unser Fokus“ — breite Abschlusskarte mit CTA */
.hp-focus{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  margin-top:18px;padding:32px;border-radius:18px;
  background:var(--ink);color:#fff;
}
.hp-focus h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:26px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;
}
.hp-focus p{font-size:16px;font-weight:600;line-height:1.6;color:rgba(255,255,255,.82);max-width:680px}
.hp-focus .btn-primary{flex-shrink:0}


/* ============================================================
   H4  LÖSUNGEN (Glas auf Akzent) — Rezept .ref-fact / .rtl-fact
   ============================================================ */
.hp-solution{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:32px;border-radius:18px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.hp-solution::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 60%);
}
.hp-solution:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}
.hp-solution:hover::after{opacity:1}
.hp-solution > *{position:relative;z-index:1}
.hp-solution h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:28px;line-height:1.15;text-transform:uppercase;color:#fff;
}
.hp-solution p{font-size:16px;font-weight:600;line-height:1.6;color:rgba(255,255,255,.92);flex:1}
.hp-solution-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:6px;
  padding:10px 18px;border-radius:100px;background:#fff;color:var(--accent-dark);
  font-size:14px;font-weight:700;text-decoration:none;
  transition:background .25s,color .25s;
}
.hp-solution-link:hover{background:var(--ink);color:#fff}


/* ============================================================
   H5  VERTRAUEN (Split auf Ink)
   ============================================================ */
.hp-split{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.hp-trust-side{display:flex;flex-direction:column;gap:18px}

.hp-stats{display:flex;gap:12px}
.hp-stats .ref-stat{padding:16px 12px;min-width:0}

.hp-frame{
  border-radius:18px;overflow:hidden;
  border:3px solid rgba(255,255,255,.55);
  box-shadow:0 20px 50px -25px rgba(0,0,0,.5);
  background:rgba(255,255,255,.04);
}
.hp-frame img{width:100%;height:auto;display:block}

.hp-quote{
  padding:24px 26px;border-radius:14px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  border-left:3px solid var(--accent);
}
.hp-quote h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:24px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;
}
.hp-quote p{font-size:15px;font-weight:600;line-height:1.65;color:rgba(255,255,255,.82)}


/* ============================================================
   H6  CTA MIT ANSPRECHPARTNER + NEWSLETTER
   ============================================================ */
.hp-cta{display:grid;grid-template-columns:.55fr 1.45fr;gap:56px;align-items:center}
.hp-person{margin:0;text-align:center}
.hp-person-img{
  aspect-ratio:4/6;border-radius:22px;overflow:hidden;
  border:3px solid rgba(255,255,255,.55);
  box-shadow:0 30px 70px -25px rgba(0,0,0,.5),0 0 0 8px rgba(255,255,255,.08);
  background:rgba(0,0,0,.12);
}
.hp-person-img img{width:100%;height:100%;object-fit:cover;display:block}
.hp-person figcaption{margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hp-person figcaption strong{
  display:block;font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:28px;letter-spacing:0;color:#fff;
}

.hp-newsletter .hp-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.hp-newsletter .cl-pill{margin-bottom:20px}
.hp-newsletter .hp-title{max-width:none}
.hp-newsletter .hp-lead{margin-bottom:28px}


/* ============================================================
   H7  GETEILTE BAUSTEINE — Gegenstücke zu den in B auf
   #geo-workshop-page gescopten Regeln (Testimonials, FAQ)
   ============================================================ */
.hp-page .testimonials .t-badge{
  display:inline-flex;align-items:center;gap:8px;width:fit-content;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  border-radius:100px;padding:8px 20px;margin:0 auto 22px;
  font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.7);
}
.hp-page .testimonials .t-header h2{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:clamp(28px,5vw,52px);line-height:1.1;color:#fff;margin-bottom:16px;
}
.hp-page .testimonials .t-header p{font-size:18px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.82)}
.hp-page .t-logos-label{
  font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.45);margin-bottom:28px;
}
.hp-page .faq-list{margin-top:36px}
.hp-page .faq-a p{
  padding:0 32px 28px;max-width:820px;
  font-size:16px;font-weight:600;line-height:1.65;color:var(--ink-soft);
}


/* ============================================================
   H8  BREAKPOINTS — STARTSEITE
   ============================================================ */
@media (max-width:1040px){
  .hp-benefits,
  .hp-solutions{grid-template-columns:1fr}
  .hp-split,
  .hp-cta{grid-template-columns:1fr;gap:40px}
  .hp-person{max-width:300px;margin:0 auto}
}

@media (max-width:820px){
  .hp-section{padding:64px 22px}
  .hp-title{font-size:36px;line-height:1.08}
  .hp-lead,
  .hp-hero-lead{font-size:16px}

  .hp-hero{padding:120px 22px 64px}
  .hp-hero-inner{grid-template-columns:1fr;gap:40px}
  .hp-hero h1{font-size:40px}
  .hp-hero-claim{font-size:22px}
  .hp-hero-visual{max-width:520px;margin:0 auto}

  .hp-btn-ghost{padding:13px 23px;font-size:15px}
  .hp-reasons{grid-template-columns:1fr}
  .hp-card,
  .hp-solution{padding:26px 22px}
  .hp-card h3,
  .hp-solution h3{font-size:22px}
  .hp-card:hover,
  .hp-solution:hover{transform:none}

  .hp-focus{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .hp-stats{flex-wrap:wrap}
  .hp-stats .ref-stat{flex:1 1 30%}
  .hp-center{margin-top:40px}

  .hp-page .testimonials .t-header h2{font-size:36px;line-height:1.08}
  .hp-page .testimonials .t-badge{font-size:10px;letter-spacing:.02em;padding:6px 10px}
  .hp-page .faq-a p{padding:0 22px 24px;font-size:15px}
}

/* ---------- Reduced Motion — STARTSEITE ---------- */
@media (prefers-reduced-motion:reduce){
  .hp-hero::before,
  .hp-section.is-ink::before,
  .hp-hero-visual img{animation:none}
  .hp-card,.hp-card::before,.hp-card-icon,
  .hp-solution,.hp-solution::after{transition-duration:.001ms}
}


/* ############################################################
   I  SEITEN: WEBSITELÖSUNGEN + PREISÜBERSICHT   (.hp-page)
   ------------------------------------------------------------
   Baut auf Block H auf (.hp-section, .hp-title, .hp-card,
   .hp-solution …). Hier nur, was neu dazukommt: Paket-Karten,
   Vergleichstabelle, Referenz-Kachel. Ohne !important.
   ############################################################ */

/* ============================================================
   I1  ERGÄNZUNGEN ZU H
   ============================================================ */
.hp-features{grid-template-columns:repeat(4,1fr)}
.is-ink .hp-solution h3{font-size:24px}

/* Paket-Teaser (Websitelösungen, auf Akzent) */
.pk-tag{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:28px;line-height:1.1;text-transform:uppercase;color:#fff;
}
.hp-solution .pk-teaser-price{flex:0;font-size:14px;color:rgba(255,255,255,.85)}
.pk-teaser-price strong{font-size:22px;font-weight:700;color:#fff}

/* Bild neben CTA-Text */
.hp-cta-visual img{
  width:100%;max-width:460px;height:auto;display:block;margin:0 auto;
  animation:heroFloat 5s ease-in-out infinite;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.3));
}
.hp-section.is-accent .hp-split{align-items:center}

/* Links in FAQ-Antworten */
.hp-page .faq-a a{color:var(--accent-dark);font-weight:700}


/* ============================================================
   I2  REFERENZ-KACHEL (Case)
   ============================================================ */
.hp-case{
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
  margin-top:32px;padding:40px;border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);
  border:1px solid var(--border);
  box-shadow:0 24px 48px -32px rgba(31,163,222,.35);
}
.hp-case-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:220px;aspect-ratio:1;border-radius:50%;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:#fff;text-align:center;
  box-shadow:0 20px 40px -18px rgba(31,163,222,.7);
}
.hp-case-num{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:60px;line-height:1}
.hp-case-label{margin-top:6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hp-case-logo{height:48px;width:auto;display:block;margin-bottom:16px}
.hp-case h3{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:26px;line-height:1.15;text-transform:uppercase;color:var(--ink);margin-bottom:10px;
}
.hp-case p{font-size:16px;font-weight:600;line-height:1.6;color:var(--ink-soft);max-width:640px}


/* ============================================================
   I3  PREISÜBERSICHT: HERO + PAKET-KARTEN
   ============================================================ */
.pk-hero{padding:160px 24px 80px}
.pk-hero-inner{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.pk-hero-inner .hp-hero-lead{max-width:680px}
.pk-promo{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:100px;
  background:var(--accent);color:var(--ink);
  font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  box-shadow:0 10px 26px -12px rgba(70,200,255,.8);
  text-decoration:none;transition:transform .25s,background .25s;
}
a.pk-promo:hover{transform:translateY(-2px);background:#fff}
.pk-promo.is-small{padding:6px 12px;font-size:11px;white-space:nowrap}

.pk-section{background:var(--surface)}
.pk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}

.pk-card{
  position:relative;display:flex;flex-direction:column;gap:14px;
  padding:32px 26px;border-radius:22px;
  background:#fff;border:1px solid var(--border);
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.pk-card:hover{
  transform:translateY(-5px);border-color:rgba(70,200,255,.55);
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4),0 4px 12px -6px rgba(20,22,23,.08);
}
/* Hervorgehobenes Paket: Akzentrahmen als echter Border + Ring.
   (Früher ::before mit z-index:-1 — beim Hover erzeugt transform eine
   eigene Ebene, dann lag der Verlauf VOR dem Hintergrund → Karte komplett blau.) */
.pk-card.is-featured{
  background:#4a4d4f;color:#fff;
  border:2px solid var(--accent);
  box-shadow:0 0 0 4px rgba(70,200,255,.18),0 24px 48px -28px rgba(31,163,222,.5);
}
.pk-card.is-featured:hover{
  border-color:var(--accent);
  box-shadow:0 0 0 5px rgba(70,200,255,.26),0 30px 56px -26px rgba(31,163,222,.6);
}

.pk-name{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:30px;line-height:1;text-transform:uppercase;color:var(--ink);
}
.pk-card.is-featured .pk-name{color:var(--accent)}
.pk-price{display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.pk-price strong{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:44px;line-height:1;color:var(--ink)}
.pk-price span{font-size:13px;font-weight:600;color:var(--ink-muted)}
.pk-card.is-featured .pk-price{border-color:rgba(255,255,255,.12)}
.pk-card.is-featured .pk-price strong{color:#fff}
.pk-card.is-featured .pk-price span{color:rgba(255,255,255,.55)}

.pk-intro{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-dark)}
.pk-card.is-featured .pk-intro{color:var(--accent)}

.pk-list{list-style:none;display:flex;flex-direction:column;gap:10px;flex:1}
.pk-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;line-height:1.45;color:var(--ink-soft)}
.pk-card.is-featured .pk-list li{color:rgba(255,255,255,.85)}
.pk-check{
  flex-shrink:0;width:20px;height:20px;margin-top:1px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;
}
.pk-check svg{width:11px;height:11px;display:block}
.pk-card .btn-primary{justify-content:center;margin-top:8px}

/* Vorteile in jedem Paket */
.pk-benefits{
  margin-top:28px;padding:28px 32px;border-radius:18px;
  background:#fff;border:1px dashed rgba(31,163,222,.45);
}
.pk-benefits-title{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:22px;text-transform:uppercase;color:var(--ink);margin-bottom:16px;
}
.pk-benefits ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px}
.pk-benefits li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink-soft)}


/* ============================================================
   I4  VERGLEICHSTABELLE
   Echte <table> (Screenreader, Google, KI). Mobil horizontal
   scrollbar mit fixierter erster Spalte.
   ============================================================ */
.pt-scroll{
  margin-top:36px;overflow-x:auto;border-radius:18px;
  border:1px solid var(--border);background:#fff;
  box-shadow:0 24px 48px -36px rgba(20,22,23,.35);
}
.pt-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pt-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;font-size:15px}
.pt-table th,
.pt-table td{padding:14px 18px;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border)}
.pt-table tbody th[scope="row"]{
  text-align:left;font-weight:600;color:var(--ink);
  position:sticky;left:0;z-index:1;background:#fff;
}
.pt-table td{font-weight:600;color:var(--ink-soft)}

/* Kopf */
.pt-table thead th{
  position:sticky;top:0;z-index:2;
  background:var(--ink);color:#fff;padding:20px 18px;border-bottom:none;
}
.pt-table thead .pt-corner{text-align:left;left:0;z-index:3;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pt-pkg{display:block;font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:22px;text-transform:uppercase}
.pt-pkg-price{display:block;margin-top:2px;font-size:14px;font-weight:700;color:var(--accent)}
.pt-table thead th.is-featured{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%)}
.pt-table thead th.is-featured .pt-pkg-price{color:var(--ink)}

/* Gruppen-Zeilen */
.pt-group th{
  text-align:left;padding:12px 18px;
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-dark);background:var(--surface);
  position:sticky;left:0;
}

/* Hervorgehobene Spalte */
.pt-table td.is-featured{background:rgba(70,200,255,.07)}

/* Symbole */
.pt-yes,.pt-no{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center}
.pt-yes{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}
.pt-no{background:var(--surface);border:1px solid var(--border);color:var(--ink-muted)}
.pt-yes svg,.pt-no svg{width:13px;height:13px;display:block}

.pt-table tbody tr:not(.pt-group):hover th,
.pt-table tbody tr:not(.pt-group):hover td{background:#F2FAFF}

/* Fuß mit Buttons */
.pt-table tfoot td{border-bottom:none;padding:20px 12px}
.pt-table tfoot .pt-corner{text-align:left;position:sticky;left:0;background:#fff}
.pt-btn{padding:12px 20px;font-size:14px}

.pk-terms{margin-top:22px;font-size:13px;font-weight:600;line-height:1.7;color:var(--ink-muted);max-width:980px}

/* Beratung */
.pk-consult{display:flex;align-items:center;justify-content:space-between;gap:40px}
.pk-consult .hp-lead{margin-bottom:0}


/* ============================================================
   I5  BREAKPOINTS
   ============================================================ */
@media (max-width:1200px){
  .pk-grid{grid-template-columns:repeat(2,1fr)}
  .hp-features{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1040px){
  .pk-consult{flex-direction:column;align-items:flex-start}
}
@media (max-width:820px){
  .pk-hero{padding:120px 22px 56px}
  .pk-grid,
  .hp-features{grid-template-columns:1fr}
  .pk-card:hover{transform:none}
  .pk-benefits{padding:22px}
  .hp-case{grid-template-columns:1fr;justify-items:center;text-align:center;padding:28px 22px;gap:24px}
  .hp-case-stat{width:170px}
  .hp-case-num{font-size:46px}
  .hp-case-logo{margin:0 auto 14px}
  .pt-table{font-size:14px}
  .pt-table th,.pt-table td{padding:12px 12px}
  .pt-table tbody th[scope="row"]{min-width:170px}
  .hp-cta-visual{max-width:320px;margin:0 auto}
}

@media (prefers-reduced-motion:reduce){
  .hp-cta-visual img{animation:none}
  .pk-card{transition-duration:.001ms}
}


/* ############################################################
   J  LEISTUNGSSEITEN + PARTNER   (.hp-page)
   ------------------------------------------------------------
   Vorlage includes/partials/service-page.php (Google Vehicle
   Ads, Social Ads) und die Partnerseite. Baut auf H und I auf.
   ############################################################ */

/* Ablauf in drei Schritten */
.sv-steps-label{
  margin:28px 0 14px;font-size:13px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-dark);
}
.sv-steps{list-style:none;display:flex;flex-direction:column;gap:12px;max-width:520px}
.sv-steps li{
  display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);border:1px solid var(--border);
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:22px;
  text-transform:uppercase;color:var(--ink);
  transition:transform .25s ease,border-color .25s ease;
}
.sv-steps li:hover{transform:translateX(6px);border-color:rgba(70,200,255,.55)}
.sv-step-num{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;font-size:18px;
}

/* Screenshot neben dem Einstieg */
.sv-shot{
  border-radius:18px;overflow:hidden;border:1px solid var(--border);
  box-shadow:0 30px 60px -30px rgba(20,22,23,.35);background:#fff;
}
.sv-shot img{width:100%;height:auto;display:block}

/* Zwischenüberschrift im SEO-Text */
.sv-seo-title{
  margin:6px 0 12px;font-size:17px;font-weight:700;line-height:1.4;color:#fff;
}

/* Partner-Hero: Claim außerhalb der H1 */
.pk-hero .hp-hero-claim{
  margin:-8px 0 0;font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  text-transform:uppercase;
}

/* Partner-Logos */
.pt-logos{
  list-style:none;margin-top:40px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;
}
.pt-logo,
.pt-logo > a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  min-height:170px;padding:26px 20px;border-radius:18px;text-decoration:none;
}
.pt-logo{
  background:#fff;border:1px solid var(--border);
  box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.pt-logo:has(> a){padding:0}
.pt-logo > a{width:100%;height:100%}
.pt-logo:hover{
  transform:translateY(-4px);border-color:rgba(70,200,255,.55);
  box-shadow:0 24px 48px -24px rgba(31,163,222,.4);
}
.pt-logo img{
  max-width:150px;max-height:70px;width:auto;height:auto;display:block;
  filter:grayscale(1);opacity:.8;transition:filter .3s ease,opacity .3s ease;
}
.pt-logo:hover img{filter:none;opacity:1}
.pt-logo-name{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.pt-logo > a .pt-logo-name{color:var(--accent-dark)}

@media (max-width:820px){
  .sv-steps li{font-size:19px;padding:14px 16px}
  .sv-steps li:hover{transform:none}
  .pt-logos{grid-template-columns:repeat(2,1fr);gap:12px}
  .pt-logo,.pt-logo > a{min-height:130px;padding:18px 12px}
  .pt-logo img{max-width:120px;max-height:54px}
}
@media (prefers-reduced-motion:reduce){
  .sv-steps li,.pt-logo,.pt-logo img{transition-duration:.001ms}
}
/* breite Logos/Badges dürfen die Kachelbreite nutzen */
.pt-logo.is-wide img{width:100%;max-width:none;max-height:none;height:auto;margin:-14px 0}

/* Partner: lange Satz-Überschrift (Multi-Channel) kleiner und breiter */
.hp-title.pt-title-long{font-size:clamp(24px,3.2vw,36px);max-width:40ch}

/* Partner: Kanal-Kacheln (4 Spalten → kleinere Überschrift) */
.pk-section .hp-features .hp-card h3{font-size:22px}

/* Partner: Detail-Karten auf Ink (Glas-Karte aus H4 + Liste aus I) */
.pt-detail p{flex:0}
.pt-detail p a{color:var(--accent);font-weight:700;text-underline-offset:3px}
.pt-detail p a:hover{color:#fff}
.pt-detail .pt-detail-label{
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);
}
.pt-detail .pk-list{flex:1}
.pt-detail .pk-list li{color:rgba(255,255,255,.85)}
.pt-detail .pk-list strong{color:#fff}
.pt-detail .hp-solution-link{margin-top:auto}


/* ############################################################
   K  KONTAKT + RECHTSTEXTE   (.hp-page)
   ------------------------------------------------------------
   Kontakt: Karten aus H (.hp-card). Rechtstexte: Vorlage
   includes/partials/legal-page.php — ruhige Lesetypografie,
   Inhaltsverzeichnis, Prüfhinweise nur in der Testumgebung.
   ############################################################ */

/* ============================================================
   K1  KONTAKT
   ============================================================ */
.kt-grid{grid-template-columns:repeat(3,1fr);margin-top:0}
.kt-card .btn-primary{margin-top:auto}
.kt-icon{color:#fff}
.kt-icon svg{width:26px;height:26px;display:block}
.kt-title{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:28px;line-height:1.1;text-transform:uppercase;color:var(--ink);
}
.kt-link{
  font-size:20px;font-weight:700;color:var(--ink);text-decoration:none;
  word-break:break-word;transition:color .2s ease;
}
.kt-link:hover{color:var(--accent-dark)}
.kt-card p{flex:0 0 auto}

.kt-address{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  margin-top:18px;padding:32px;border-radius:18px;
  background:#fff;border:1px solid var(--border);
}
.kt-address address{font-style:normal;font-size:17px;font-weight:600;line-height:1.7;color:var(--ink-soft)}
.kt-address strong{color:var(--ink)}


/* ============================================================
   K2  RECHTSTEXTE
   ============================================================ */
.lg-hero{padding-bottom:64px}
.lg-section{background:#fff}
.lg-layout.has-toc{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}

/* Inhaltsverzeichnis */
.lg-toc{
  position:sticky;top:24px;padding:22px;border-radius:14px;
  background:var(--surface);border:1px solid var(--border);
}
.lg-toc-title{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:10px}
.lg-toc ol{list-style:none;display:flex;flex-direction:column;gap:4px;counter-reset:none}
.lg-toc a{
  display:block;padding:6px 10px;margin:0 -10px;border-radius:8px;
  font-size:14px;font-weight:600;line-height:1.4;color:var(--ink-soft);text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.lg-toc a:hover{background:#fff;color:var(--accent-dark)}

/* Lesetext */
.lg-text{max-width:820px;color:var(--ink-soft);font-size:16px;font-weight:500;line-height:1.75}
.lg-text h2{
  font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;
  font-size:clamp(24px,3vw,32px);line-height:1.15;text-transform:uppercase;color:var(--ink);
  margin:48px 0 14px;scroll-margin-top:24px;
}
.lg-text > h2:first-child,
.lg-text > .lg-todo:first-child + h2{margin-top:0}
.lg-text h3{font-size:19px;font-weight:700;line-height:1.35;color:var(--ink);margin:30px 0 10px}
.lg-text h4{font-size:16px;font-weight:700;color:var(--ink);margin:22px 0 8px}
.lg-text h5{font-size:15px;font-weight:700;color:var(--accent-dark);margin:18px 0 6px}
.lg-text p{margin-bottom:14px;overflow-wrap:anywhere}
.lg-text ul,.lg-text ol{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:6px}
.lg-text a{color:var(--accent-dark);font-weight:600;overflow-wrap:anywhere}
.lg-text strong{color:var(--ink)}

/* Impressum-Karten */
.lg-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:24px}
.lg-card{
  padding:26px 28px;border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);border:1px solid var(--border);
}
.lg-text .lg-card h2{margin:0 0 10px;font-size:22px}
.lg-card p:last-child{margin-bottom:0}

/* Prüfhinweis — nur Testumgebung */
.lg-todo{
  margin:0 0 22px;padding:16px 20px;border-radius:12px;
  background:#FFF8DB;border:1px solid #F2D675;border-left:5px solid #E8B400;
  font-size:14px;line-height:1.6;color:#5C4A00;
}
.lg-todo strong{color:#3D3100}

@media (max-width:1040px){
  .kt-grid{grid-template-columns:1fr}
  .lg-layout.has-toc{grid-template-columns:1fr;gap:28px}
  .lg-toc{position:static}
}
@media (max-width:820px){
  .kt-address{flex-direction:column;align-items:flex-start;padding:24px 22px}
  .lg-cards{grid-template-columns:1fr}
  .lg-text{font-size:15px}
}


/* ############################################################
   L  FAQ-SEITE   (.hp-page)
   ############################################################ */
.hp-section.is-surface{background:var(--surface)}

/* Suche im Hero */
.fq-search{
  position:relative;width:100%;max-width:620px;margin-top:6px;
}
.fq-search svg{
  position:absolute;left:20px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;color:rgba(255,255,255,.55);pointer-events:none;
}
.fq-search input{
  width:100%;padding:17px 22px 17px 54px;border-radius:100px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  color:#fff;font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;
  outline:none;transition:border-color .2s ease,background .2s ease;
}
.fq-search input::placeholder{color:rgba(255,255,255,.45)}
.fq-search input:focus{border-color:var(--accent);background:rgba(255,255,255,.12)}
.fq-status{min-height:1.4em;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}

/* Kategorie-Sprungmarken */
.fq-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.fq-cat{
  display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:100px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  color:#fff;font-size:14px;font-weight:700;text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.fq-cat span{
  min-width:24px;padding:2px 7px;border-radius:100px;text-align:center;
  background:var(--accent);color:var(--ink);font-size:12px;
}
.fq-cat:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.fq-cat:hover span{background:var(--ink);color:#fff}

.fq-section{scroll-margin-top:0}
.fq-more{display:flex;justify-content:flex-end;margin-top:28px}
.fq-more .hp-btn-ghost{text-transform:uppercase;font-size:15px}
.fq-empty{
  max-width:1200px;margin:0 auto;padding:64px 24px;text-align:center;
  font-size:18px;font-weight:600;color:var(--ink-soft);
}

@media (max-width:820px){
  .fq-search input{font-size:15px;padding:15px 18px 15px 48px}
  .fq-more{justify-content:center}
  .fq-cat{font-size:13px;padding:8px 13px}
}


/* ############################################################
   M  DIGITALE IDENTITÄT & KI-FAKTEN   (.hp-page)
   Lesetext aus K2 (.lg-text), dazu Faktentabelle und Hinweis.
   ############################################################ */
.mf-text{max-width:900px;margin:0 auto}
.mf-note{
  padding:16px 20px;border-radius:12px;margin-bottom:8px;
  background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);
  font-size:15px;
}
.mf-list{list-style:none;margin-left:0}
.mf-list li{position:relative;padding-left:22px}
.mf-list li::before{
  content:'';position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
}
.mf-table{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:15px}
.mf-table th,
.mf-table td{padding:13px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.mf-table th{width:32%;font-weight:700;color:var(--ink);background:var(--surface)}
.mf-table td{font-weight:600;color:var(--ink-soft)}
.mf-table tr:first-child th,.mf-table tr:first-child td{border-top:1px solid var(--border)}
.mf-text .lg-card h3{margin-top:0}
.mf-text .faq-list{margin-top:18px}

@media (max-width:820px){
  .mf-table th,.mf-table td{display:block;width:100%;padding:10px 14px}
  .mf-table td{border-top:0}
  .mf-table th{border-bottom:0}
}


/* ############################################################
   N  NEWS — Übersicht + Beitrag   (.hp-page)
   Beitragstext nutzt die Lesetypografie aus K2 (.lg-text).
   ############################################################ */

/* ---------- Übersicht ---------- */
.nw-meta{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}
.nw-badge{padding:3px 10px;border-radius:100px;background:var(--accent);color:var(--ink);font-size:11px}
.nw-teaser{font-size:15px;font-weight:600;line-height:1.6;color:var(--ink-soft)}

.nw-lead{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;overflow:hidden;
  border-radius:22px;background:#fff;border:1px solid var(--border);
  box-shadow:0 24px 48px -32px rgba(31,163,222,.4);
}
.nw-lead-media{display:block;overflow:hidden}
.nw-lead-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.nw-lead:hover .nw-lead-media img{transform:scale(1.03)}
.nw-lead-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding:40px}
.nw-lead-title{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.1;text-transform:uppercase}
.nw-lead-title a,.nw-card-title a{color:var(--ink);text-decoration:none;transition:color .2s ease}
.nw-lead-title a:hover,.nw-card-title a:hover{color:var(--accent-dark)}

.nw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.nw-card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;
  background:#fff;border:1px solid var(--border);box-shadow:0 1px 2px rgba(20,22,23,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.nw-card:hover{transform:translateY(-4px);border-color:rgba(70,200,255,.55);box-shadow:0 24px 48px -24px rgba(31,163,222,.4)}
.nw-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface)}
.nw-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.nw-card-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px}
.nw-card-title{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:22px;line-height:1.15;text-transform:uppercase}
/* ganze Karte klickbar, Link bleibt die Überschrift */
.nw-card-title a::after{content:'';position:absolute;inset:0}
.nw-legacy{
  position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:100px;
  background:#FFF8DB;border:1px solid #E8B400;color:#5C4A00;font-size:11px;font-weight:700;
}

/* ---------- Beitrag ---------- */
.nw-hero h1{font-size:clamp(30px,4.4vw,56px);max-width:22ch}
/* Headline mit „: “ — Teil danach kleiner, eigene Zeile (headline_html() in functions.php) */
.nw-hero h1 .h2{
  display:block;margin-top:.3em;max-width:34ch;margin-inline:auto;
  font-size:.58em;line-height:1.2;color:rgba(255,255,255,.88);
}
.nw-back{text-decoration:none;transition:border-color .2s ease,color .2s ease}
.nw-back:hover{border-color:var(--accent);color:#fff}
.nw-hero-meta{font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.6)}

.nw-article-section{padding-top:0}
.nw-figure{margin:-48px auto 48px;max-width:1040px;position:relative;z-index:2}
.nw-figure img{
  width:100%;height:auto;display:block;border-radius:22px;
  border:3px solid #fff;box-shadow:0 30px 70px -30px rgba(20,22,23,.45);
}
.nw-text table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px}
.nw-text th,.nw-text td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.nw-text thead th{background:var(--ink);color:#fff;font-weight:700}
.nw-text tbody th{background:var(--surface);color:var(--ink);font-weight:700}

.nw-cta{
  margin:40px 0 28px;padding:26px 28px;border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#F2FAFF 100%);border:1px solid rgba(70,200,255,.45);
}
.nw-cta p{margin-bottom:16px;color:var(--ink)}

.nw-author{
  display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;
  margin:0 0 40px;padding:26px 28px;border-radius:18px;background:var(--ink);color:rgba(255,255,255,.82);
}
.nw-author img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}
.nw-author p{margin-bottom:8px;font-size:15px}
.nw-author a{color:var(--accent)}
.nw-author .nw-author-label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.nw-author .nw-author-name{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:26px;text-transform:uppercase;color:#fff;margin-bottom:6px}

.nw-text .nw-tags{list-style:none;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:32px 0 0}
.nw-tags li{padding:6px 12px;border-radius:100px;background:var(--surface);border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--ink-soft)}

/* Listen mit Icons statt Emojis ({icon:name} im Beitragstext) */
.nw-text .nw-icon-list{list-style:none;margin-left:0;gap:10px}
.nw-icon-list li{display:flex;align-items:flex-start;gap:12px}
.nw-ico{
  flex-shrink:0;width:34px;height:34px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:#fff;
}
.nw-ico svg{width:17px;height:17px;display:block}
.nw-icon-list li > span:last-child{padding-top:5px}

@media (max-width:1040px){
  .nw-grid{grid-template-columns:repeat(2,1fr)}
  .nw-lead{grid-template-columns:1fr}
  .nw-lead-media{aspect-ratio:16/9}
}
@media (max-width:820px){
  .nw-grid{grid-template-columns:1fr}
  .nw-lead-body{padding:26px 22px}
  .nw-card:hover{transform:none}
  .nw-figure{margin:-32px auto 32px}
  .nw-author{grid-template-columns:1fr;justify-items:start}
  .nw-author img{width:96px;height:96px}
  .nw-text table{display:block;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){
  .nw-lead-media img,.nw-card{transition-duration:.001ms}
}
.nw-figcaption{margin-top:10px;text-align:center;font-size:13px;font-weight:600;color:var(--ink-muted)}

/* Video in Beiträgen — Platzhalter, lädt erst nach Klick (scripts.js, Modul 19) */
.nw-video{
  position:relative;aspect-ratio:16/9;margin:8px 0 12px;border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:
    radial-gradient(ellipse 70% 80% at 30% 20%,rgba(70,200,255,.25) 0%,transparent 60%),
    var(--ink);
}
.nw-video.is-loaded{display:block;background:#000}
.nw-video iframe{width:100%;height:100%;border:0;display:block}
.nw-text .nw-video-play{
  display:inline-flex;align-items:center;gap:12px;padding:14px 26px;border-radius:100px;
  background:var(--accent);color:var(--ink);font-weight:800;text-decoration:none;
  transition:background .25s ease,transform .25s ease;
}
.nw-text .nw-video-play:hover{background:var(--accent-dark);transform:translateY(-2px)}
.nw-video-icon{font-size:18px}
.nw-text .nw-video-note{margin:0;font-size:12px;font-weight:600;color:rgba(255,255,255,.6)}
/* kurze Beiträge ohne Inhaltsverzeichnis: Text mittig statt linksbündig */
.lg-layout:not(.has-toc) > .nw-text{margin:0 auto}


/* ############################################################
   O  DANKE-SEITE   (.hp-page)
   ############################################################ */
.dk-hero{padding-bottom:88px}
.dk-check{
  display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;
  box-shadow:0 0 0 10px rgba(70,200,255,.14),0 20px 40px -14px rgba(31,163,222,.8);
}
.dk-check svg{width:40px;height:40px;display:block}
.dk-hint{font-size:14px;font-weight:600;color:rgba(255,255,255,.55);max-width:560px}


/* ############################################################
   P  COOKIE-BANNER   (includes/partials/cookie-banner.php)
   Karte unten links (Desktop) / volle Breite (mobil).
   „Alle akzeptieren“ und „Nur notwendige“ gleich gestaltet.
   ############################################################ */
.ck-banner{
  position:fixed;left:24px;bottom:24px;z-index:1000000;
  width:min(460px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;
  border-radius:18px;background:var(--ink);color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6),0 0 0 1px rgba(70,200,255,.12);
  font-family:'Montserrat',sans-serif;
}
.ck-banner[hidden]{display:none}
.ck-inner{padding:24px 24px 20px}
.ck-title{font-family:'Sofia Sans Condensed',sans-serif;font-weight:800;font-size:24px;line-height:1.1;text-transform:uppercase;color:#fff;margin-bottom:10px}
.ck-text{font-size:14px;font-weight:500;line-height:1.6;margin-bottom:16px}
.ck-text a{color:var(--accent);font-weight:700}

.ck-settings{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.ck-settings[hidden]{display:none}
.ck-group{padding:14px 14px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.ck-group-text{margin:8px 0 0 58px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.7)}
.ck-services{font-size:12px;color:rgba(255,255,255,.5)}

/* Schalter */
.ck-switch{position:relative;display:flex;align-items:center;gap:14px;cursor:pointer}
.ck-switch input{position:absolute;opacity:0;width:44px;height:24px;margin:0;cursor:pointer}
.ck-slider{
  position:relative;flex-shrink:0;width:44px;height:24px;border-radius:100px;
  background:rgba(255,255,255,.18);transition:background .2s ease;
}
.ck-slider::after{
  content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:transform .2s ease;
}
.ck-switch input:checked + .ck-slider{background:var(--accent)}
.ck-switch input:checked + .ck-slider::after{transform:translateX(20px)}
.ck-switch input:disabled + .ck-slider{opacity:.55}
.ck-switch input:focus-visible + .ck-slider{outline:2px solid var(--accent);outline-offset:3px}
.ck-group-title{font-size:15px;font-weight:700;color:#fff}
.ck-group-title small{font-size:12px;font-weight:600;color:rgba(255,255,255,.5)}

/* Buttons */
.ck-actions{display:flex;flex-wrap:wrap;gap:10px}
.ck-btn{
  flex:1 1 150px;padding:12px 16px;border-radius:100px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;
  border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.ck-btn[hidden]{display:none}
.ck-btn.is-strong{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.ck-btn.is-strong:hover{background:#fff;border-color:#fff;color:var(--ink)}
.ck-btn.is-link{flex-basis:100%;border-color:transparent;text-decoration:underline;text-underline-offset:3px;color:rgba(255,255,255,.75);padding:6px}
.ck-btn.is-link:hover{color:#fff}
.ck-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media (max-width:600px){
  .ck-banner{left:0;right:0;bottom:0;width:100%;max-height:85dvh;border-radius:18px 18px 0 0}
  .ck-inner{padding:20px 18px 18px}
  .ck-title{font-size:21px}
  .ck-group-text{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .ck-slider,.ck-slider::after,.ck-btn{transition-duration:.001ms}
}

/* ============================================================
   WORKSHOP „DIE 7 HÄUFIGSTEN FEHLER IM MARKETING“
   pages/workshop-marketing-fehler.php — Gestaltung nach der
   Claude-Design-Vorlage. Präfix mf- (Marketing-Fehler).
   ============================================================ */
.mf-page{--mf-head:'Sofia Sans Condensed',sans-serif;--mf-eyebrow:#0B78A8;--mf-text:#4A5357;--mf-text-dark:#2D3438;
  --mf-light:#C3C8CB;--mf-muted:#9AA3A8;--mf-card-dark:#1C2124;--mf-line-dark:#2A3135;
  font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:var(--surface);font-size:16px;line-height:1.6}
.mf-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.mf-section{background:#fff;padding:96px 0}
.mf-bg-soft{background:var(--surface)}
.mf-dark{background:var(--ink);color:#fff}
.mf-accent{color:var(--accent)}
.mf-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:start}
.mf-split-center{align-items:center}
.mf-stack{display:flex;flex-direction:column;gap:20px}

/* Überschriften & Texte */
.mf-eyebrow{margin:0;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mf-eyebrow)}
.mf-eyebrow-center{text-align:center}
.mf-eyebrow-light{color:var(--accent)}
.mf-h1,.mf-h2{margin:0;font-family:var(--mf-head);font-weight:800;text-transform:uppercase}
.mf-h1{font-size:clamp(48px,7vw,92px);line-height:.92;letter-spacing:-.005em}
.mf-h2{font-size:clamp(40px,5vw,64px);line-height:.95}
.mf-h2-sm{font-size:clamp(36px,4.4vw,54px)}
.mf-h2-lg{font-size:clamp(42px,5.4vw,72px);line-height:.92}
.mf-head{display:flex;flex-direction:column;gap:16px;max-width:760px}
.mf-lead{margin:0;font-size:18px;color:var(--mf-text)}
.mf-text{margin:0;font-size:17px;color:var(--mf-text-dark)}
.mf-role{margin:0;font-size:16px;font-weight:600;color:var(--mf-text)}

/* Buttons */
.mf-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:14px 24px;border-radius:999px;
  font-weight:700;font-size:15px;text-decoration:none;transition:background .25s,transform .25s,box-shadow .25s}
.mf-btn:hover{transform:translateY(-2px)}
.mf-btn-accent{background:var(--accent);color:var(--ink)}
.mf-btn-accent:hover{background:var(--accent-dark);color:var(--ink);box-shadow:0 6px 18px -8px rgba(70,200,255,.55)}
.mf-btn-dark{background:var(--ink);color:#fff}
.mf-btn-dark:hover{background:#2A3135;color:#fff}
.mf-btn-lg{font-size:17px;padding:18px 32px}
.mf-btn-block{width:100%;justify-content:center;font-size:17px;padding:16px 28px}

/* Hero */
.mf-hero{background:var(--ink);color:#fff;overflow:hidden}
.mf-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:56px;align-items:center;padding-top:160px;padding-bottom:88px}
.mf-hero-text{display:flex;flex-direction:column;gap:24px}
.mf-badge{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;border:1px solid #2C3A40;background:#1A2D35;
  border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.mf-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.mf-hero-lead{margin:0;max-width:560px;font-size:20px;font-weight:600;line-height:1.45}
.mf-hero-sub{margin:0;max-width:560px;color:var(--mf-light)}
.mf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:580px}
.mf-fact{display:flex;flex-direction:column;background:var(--mf-card-dark);border:1px solid var(--mf-line-dark);border-radius:14px;padding:14px 16px}
.mf-fact-label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mf-muted)}
.mf-fact-value{font-family:var(--mf-head);font-weight:700;font-size:24px;line-height:1.2}
.mf-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px}
.mf-hero-note{font-size:14px;color:var(--mf-muted)}
.mf-hero-media{position:relative}
.mf-hero-media img{display:block;width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;border-radius:24px}
.mf-hero-overlay{position:absolute;left:20px;right:20px;bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  background:rgba(20,22,23,.88);border:1px solid var(--mf-line-dark);border-radius:16px;padding:14px 18px}
.mf-hero-overlay-num{font-family:var(--mf-head);font-weight:800;font-size:44px;line-height:1;color:var(--accent)}
.mf-hero-overlay-text{font-size:14px;line-height:1.4}

/* Bekannt aus + Zahlen */
.mf-trust{background:#fff;border-bottom:1px solid var(--border)}
.mf-trust-inner{display:flex;flex-direction:column;gap:36px;padding-top:48px;padding-bottom:48px}
.mf-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px}
.mf-logos img{width:auto;object-fit:contain}
.mf-logo-wide{height:40px}
.mf-logo-square{height:56px;border-radius:10px}
.mf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.mf-stat{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px 24px}
.mf-stat-num{font-family:var(--mf-head);font-weight:800;font-size:52px;line-height:1;color:var(--accent)}
.mf-stat-label{font-size:15px;color:var(--mf-text)}

/* Die 7 Fehler */
#fehler .mf-wrap{display:flex;flex-direction:column;gap:48px}
.mf-errors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.mf-error{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px}
.mf-error-num{font-family:var(--mf-head);font-weight:800;font-size:56px;line-height:.9;color:var(--accent)}
.mf-error h3{margin:0;font-family:var(--mf-head);font-weight:700;font-size:28px;line-height:1.1}
.mf-error p{margin:0;font-size:15px;color:var(--mf-text)}
.mf-error-dark{background:var(--ink);border-color:var(--ink);color:#fff}
.mf-error-dark p{color:var(--mf-light)}
.mf-error-cta{justify-content:space-between;gap:20px;background:var(--accent);border-color:var(--accent)}
.mf-error-cta .mf-error-cta-title{margin:0;font-family:var(--mf-head);font-weight:800;text-transform:uppercase;font-size:34px;line-height:1;color:var(--ink)}
.mf-error-cta .mf-btn{align-self:flex-start}

/* Nutzen + Zielgruppe */
.mf-checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.mf-checks li{display:flex;gap:14px;align-items:flex-start;font-size:17px}
.mf-check{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--accent)}
.mf-check svg{width:16px;height:16px}
.mf-audience{display:flex;flex-direction:column;gap:20px;background:var(--ink);color:#fff;border-radius:26px;padding:40px}
.mf-audience h3{margin:0;font-family:var(--mf-head);font-weight:800;text-transform:uppercase;font-size:36px;line-height:1}
.mf-audience p:last-child{margin:0;color:var(--mf-light)}
.mf-chips{display:flex;flex-wrap:wrap;gap:10px}
.mf-chips span{border:1px solid #3A4448;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}

/* Referent */
.mf-portrait{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:520px;background:var(--ink);border-radius:26px;overflow:hidden}
.mf-portrait-claim{position:absolute;top:28px;left:28px;font-family:var(--mf-head);font-weight:800;text-transform:uppercase;font-size:72px;line-height:.85;color:#1F2A2F}
.mf-portrait img{position:relative;display:block;height:500px;width:auto}
.mf-mini-stats{display:flex;flex-wrap:wrap;gap:28px;padding-top:8px;border-top:1px solid var(--border)}
.mf-mini-stats div{display:flex;flex-direction:column}
.mf-mini-num{font-family:var(--mf-head);font-weight:800;font-size:40px;line-height:1;color:var(--accent)}
.mf-mini-label{font-size:14px;color:var(--mf-text)}

/* Kundenstimme + Eindrücke */
.mf-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px}
.mf-gallery > img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:26px}
.mf-quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:var(--ink);color:#fff;border-radius:26px;padding:40px}
.mf-stars{display:flex;gap:4px;color:var(--accent)}
.mf-quote blockquote{margin:0;font-size:20px;font-weight:500;line-height:1.5}
.mf-quote figcaption{font-size:15px;color:var(--mf-light)}
.mf-quote figcaption strong{color:#fff}

/* Anmeldung */
.mf-dark .mf-stack{gap:22px}
.mf-dark-text{margin:0;max-width:520px;font-size:17px;color:var(--mf-light)}
.mf-when{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.mf-when li{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:600}
.mf-when svg{flex:0 0 auto;width:22px;height:22px;color:var(--accent)}
.mf-form-card{display:flex;flex-direction:column;gap:16px;background:#fff;color:var(--ink);border-radius:26px;padding:36px}
.mf-form-title{margin:0;font-family:var(--mf-head);font-weight:800;text-transform:uppercase;font-size:30px;line-height:1}
.mf-form-fallback{margin:0;color:var(--mf-text)}
.mf-form-hint{margin:0;font-size:13px;color:var(--mf-text)}
.mf-form-hint a{color:var(--mf-eyebrow)}

/* FAQ: Komponente der Website, schmaler und mit Abstand oben/unten */
.mf-faq{padding:96px 24px}
.mf-faq .faq-inner{max-width:900px}

/* CTA-Band */
.mf-band{background:var(--accent);color:var(--ink)}
.mf-band-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:40px;padding-bottom:40px}
.mf-band-inner p{margin:0;font-family:var(--mf-head);font-weight:800;text-transform:uppercase;font-size:clamp(26px,3.4vw,40px);line-height:1}

@media (max-width:640px){
  .mf-section{padding:64px 0}
  .mf-faq{padding:64px 24px}
  .mf-hero-grid{padding-top:128px;padding-bottom:56px;gap:40px}
  .mf-portrait{min-height:420px}
  .mf-portrait img{height:400px}
  .mf-portrait-claim{font-size:56px}
  .mf-audience,.mf-quote{padding:28px}
  .mf-form-card{padding:24px}
}
