/* Runde 10 (v3): Satoshi (FTAPI-Hausschrift, auch in den Printmedien der
   CPT) ersetzt Instrument Sans als Sans. JetBrains Mono bleibt als
   technische Ebene. Gewicht 600 wird auf Satoshi-Bold gemappt (Satoshi
   hat kein Semibold). Fuer Production: OTF durch WOFF2 ersetzen. */
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Regular.woff2') format('woff2'),url('fonts/Satoshi-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Medium.woff2') format('woff2'),url('fonts/Satoshi-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Bold.woff2') format('woff2'),url('fonts/Satoshi-Bold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Bold.woff2') format('woff2'),url('fonts/Satoshi-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}

/* ============================================================
   CPT Website · Design-System (Light)
   Farben: exakte CPT-Brand-Werte (aus Live-CSS konvertiert)
   ============================================================ */
:root{
  --orange:#FF6A36; --orange-400:#FF8F77; --orange-600:#D44D00; --orange-50:#FFF0EE;
  --purple:#8D36FF; --purple-600:#7700E4; --purple-700:#5C00B2; --purple-100:#E4DBFF; --purple-50:#F3EEFF;
  --ink:#1B003C; --ink-70:rgba(27,0,60,.7); --ink-55:rgba(27,0,60,.55); --ink-40:rgba(27,0,60,.4);
  --line:rgba(27,0,60,.1); --line-soft:rgba(27,0,60,.07);
  --paper:#FAF8F4; --paper-2:#F3EFE8; --card:#FFFFFF;
  --mono:'JetBrains Mono',monospace; --sans:'Satoshi','Instrument Sans',sans-serif;
  --rad:18px; --shadow:0 24px 60px -35px rgba(27,0,60,.35);
  --maxw:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}

/* ---------- Typo-Bausteine ---------- */
.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-600);margin-bottom:14px}
h1.display{font-size:clamp(36px,5.4vw,64px);line-height:1.02;letter-spacing:-.028em}
h2.title{font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.022em;margin-bottom:14px;max-width:760px}
h3{letter-spacing:-.01em}
.sub{font-size:16.5px;line-height:1.65;color:var(--ink-70);max-width:660px}
.center{text-align:center}
.center .sub,.center h2.title{margin-left:auto;margin-right:auto}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 5vw}
section.blk{padding:96px 0}
section.blk.tight{padding:64px 0}
section.blk.alt{background:var(--paper-2)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:28px}}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:600;font-size:15px;padding:14px 28px;border-radius:99px;text-decoration:none;transition:transform .15s,box-shadow .15s;cursor:pointer;border:none}
.btn:hover{transform:translateY(-2px)}
.btn-p{background:var(--orange);color:#fff;box-shadow:0 10px 26px -12px rgba(212,77,0,.65)}
.btn-s{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-ink{background:var(--ink);color:#fff}
.btn.small{padding:10px 20px;font-size:14px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 4vw;background:rgba(250,248,244,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft)}
header.site .logo svg{height:33px;width:auto;display:block}
nav.main{display:flex;gap:4px;align-items:center}
nav.main>div{position:relative}
nav.main a.top{display:inline-block;font-size:14.5px;font-weight:500;color:var(--ink-70);text-decoration:none;padding:9px 13px;border-radius:9px;transition:background .15s,color .15s}
nav.main a.top:hover{background:var(--purple-50);color:var(--ink)}
nav.main a.top.active{color:var(--orange-600);font-weight:600}
nav.main .dd{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .25s}
/* unsichtbare Hover-Bruecke ueber der 6px-Luecke: sonst klappt das Menue zu,
   bevor der Cursor das Dropdown erreicht */
nav.main .dd::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
nav.main div:hover .dd,nav.main div:focus-within .dd{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
nav.main .dd a{font-size:14px;color:var(--ink-70);text-decoration:none;padding:9px 12px;border-radius:8px}
nav.main .dd a:hover{background:var(--purple-50);color:var(--ink)}
@media(max-width:960px){nav.main{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero .media{position:absolute;inset:0;background-size:cover;background-position:center}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,244,.9) 0%,rgba(250,248,244,.55) 35%,rgba(27,0,60,.55) 100%)}
.hero .inner{position:relative;padding:120px 0 90px;max-width:820px}
.hero.short .inner{padding:84px 0 64px}
.hero .inner .sub{color:var(--ink-70)}
.hero.dark-bottom .scrim{background:linear-gradient(180deg,rgba(18,3,31,.38) 0%,rgba(18,3,31,.5) 55%,rgba(18,3,31,.78) 100%)}
.hero.dark-bottom .inner{color:#fff}
.hero.dark-bottom .inner .sub{color:rgba(255,255,255,.88)}
.hero.dark-bottom .kicker{color:var(--orange-400)}
.pagehero{padding:76px 0 8px}
.pagehero h1{font-size:clamp(32px,4.4vw,54px);letter-spacing:-.025em;line-height:1.04;max-width:820px}
.pagehero .sub{margin-top:16px}

/* ---------- Karten ---------- */
.card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--rad);padding:28px 30px;box-shadow:0 14px 40px -30px rgba(27,0,60,.3)}
.card h3{font-size:18px;margin-bottom:9px;display:flex;align-items:center;gap:10px}
.card p{font-size:14.5px;line-height:1.62;color:var(--ink-70)}
.card .tag{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-700)}
/* FTAPI-Formsprache statt Raute: Dreieck, Quadrat, Kreis, abgerundetes Quadrat.
   Diese vier Formen nutzt FTAPI auch auf ihren Folien. Farbe kommt per inline-background. */
.mk{width:13px;height:13px;flex:none;display:inline-block}
.mk.tri{clip-path:polygon(50% 4%,96% 96%,4% 96%)}
.mk.sq{border-radius:0}
.mk.circ{border-radius:50%}
.mk.rsq{border-radius:4px}
.imgcard{overflow:hidden;padding:0}
.imgcard img{width:100%;height:230px;object-fit:cover}
.imgcard .pad{padding:20px 24px}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.stat{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:24px;text-align:center}
.stat b{display:block;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.02em;background:linear-gradient(90deg,var(--orange-600),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:13px;color:var(--ink-55)}

/* ---------- Speaker ---------- */
/* Featured-Layout (Feedback Session 2, aus V5): eine Person 2 Zeilen hoch,
   die anderen kleiner daneben. Highlight kommt aus Streavent (feature-Flag). */
.speakers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:1fr;gap:16px}
.sp{background:#fff;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.sp:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.sp img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--purple-50);flex:1;min-height:0}
.sp .pad{padding:15px 17px}
.sp b{font-size:15.5px;display:block;margin-bottom:3px}
.sp span{font-size:12.5px;color:var(--ink-55);line-height:1.45;display:block}
.sp .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-600);display:inline-block;margin-top:9px}
/* Featured-Speaker als eigene Reihe ueber dem Grid (Feedback Runde 7):
   breite Karten mit Bild links, robuster als Grid-Spans. */
.speakers-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-bottom:16px}
.speakers-feat .sp{flex-direction:row;align-items:stretch}
.speakers-feat .sp img{width:42%;min-height:250px;aspect-ratio:auto;flex:none}
.speakers-feat .sp .pad{padding:24px 26px;display:flex;flex-direction:column;justify-content:center}
.speakers-feat .sp b{font-size:21px;margin-bottom:6px}
.speakers-feat .sp span{font-size:13.5px}
@media(max-width:640px){.speakers-feat{grid-template-columns:1fr}.speakers-feat .sp{flex-direction:column}.speakers-feat .sp img{width:100%;aspect-ratio:1/1;min-height:0}}

/* ---------- Partner-Wall ---------- */
.tier-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-55);margin:38px 0 14px;display:flex;align-items:center;gap:12px}
.tier-label i{width:11px;height:11px;border-radius:3px}
.wall{display:grid;gap:14px}
.wall.xl{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.wall.l{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.wall.m{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.wall.s{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.wall.xs{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.ptile{background:#fff;border:1px solid var(--line-soft);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:22px;min-height:96px;text-decoration:none;transition:transform .15s,box-shadow .15s;position:relative}
a.ptile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.ptile img{max-height:44px;max-width:75%;object-fit:contain}
.wall.xl .ptile{min-height:140px}
.wall.xl .ptile img{max-height:60px}
.ptile .txt{font-size:19px;font-weight:700;letter-spacing:-.01em}
.ptile .badge{position:absolute;top:10px;right:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-700);background:var(--purple-50);padding:4px 8px;border-radius:99px}

/* ---------- Agenda ---------- */
.agenda{display:flex;flex-direction:column;gap:0;border:1px solid var(--line-soft);border-radius:var(--rad);overflow:hidden;background:#fff}
.slot{display:grid;grid-template-columns:110px 1fr auto;gap:18px;padding:19px 26px;border-bottom:1px solid var(--line-soft);align-items:baseline}
@media(max-width:640px){.slot{grid-template-columns:1fr;gap:6px}}

/* ---------- Stream-Elemente ---------- */
.stream-head{border-radius:var(--rad);padding:52px 40px;color:#fff;position:relative;overflow:hidden}
/* Rauten NICHT mehr flaechendeckend (Feedback Session 2). Nur ein weiches
   Einfaden aus der unteren rechten Ecke. LIEGENDE Rauten wie an der
   Allianz Arena (Feedback Runde 5): horizontale Ringlinien + eine Schar
   diagonaler Wendellinien, keine stehenden Karos. */
.stream-head .pattern{position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 1.5px,transparent 1.5px 24px),
                   repeating-linear-gradient(116deg,rgba(255,255,255,.55) 0 1.5px,transparent 1.5px 38px);
  -webkit-mask-image:radial-gradient(135% 130% at 100% 115%,#000 0%,rgba(0,0,0,.55) 30%,transparent 58%);
  mask-image:radial-gradient(135% 130% at 100% 115%,#000 0%,rgba(0,0,0,.55) 30%,transparent 58%)}
.stream-head h1{position:relative;font-size:clamp(30px,4vw,48px);letter-spacing:-.02em}
.stream-head .claim{position:relative;font-size:17px;opacity:.92;margin-top:10px;font-weight:500}
.schips{display:flex;flex-wrap:wrap;gap:9px}
.schip{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:99px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:transform .12s}
.schip:hover{transform:translateY(-2px)}
.schip i{width:10px;height:10px;border-radius:3px}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:0;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;font-weight:600;font-size:15.5px;padding:19px 24px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font-size:20px;color:var(--orange-600);flex:none}
.faq details[open] summary:after{content:'–'}
.faq .a{padding:0 24px 20px;font-size:14.5px;color:var(--ink-70);max-width:720px}

/* ---------- Media-Platzhalter-Kennzeichnung ---------- */
[data-media]{position:relative}
.media-note{position:absolute;left:10px;bottom:10px;z-index:5;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:#fff;background:rgba(27,0,60,.72);padding:5px 9px;border-radius:7px;max-width:75%;pointer-events:none}

/* ---------- Footer ---------- */
footer.site{background:#12031F;color:rgba(243,238,255,.75);padding:64px 4vw 32px;margin-top:96px}
footer.site .inner{max-width:var(--maxw);margin:0 auto;position:relative;z-index:2}
footer.site .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:42px}
@media(max-width:800px){footer.site .top{grid-template-columns:1fr 1fr}}
footer.site svg{height:40px;width:auto;margin-bottom:16px}
footer.site .claim{font-size:14px;line-height:1.6;color:rgba(243,238,255,.6);max-width:300px}
footer.site h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-400);margin-bottom:13px}
footer.site ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer.site a{color:rgba(243,238,255,.75);text-decoration:none;font-size:14px}
footer.site a:hover{color:#fff}
footer.site .legal{max-width:none;width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;font-size:12.5px;color:rgba(243,238,255,.45)}
footer.site .legal .links{display:flex;gap:20px}
footer.site .sync{margin-top:10px;font-family:var(--mono);font-size:10.5px;color:rgba(243,238,255,.4)}

/* ---------- Reveal & Loader ---------- */
/* Runde 10 (Crawler): Versteck nur, wenn JS laeuft (html.js setzt media.js).
   Ohne JS bleiben alle Inhalte sichtbar, statt hinter opacity:0 zu haengen. */
html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}
#cpt-loader{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:opacity .4s}
#cpt-loader.done{opacity:0;pointer-events:none}
#cpt-loader svg{width:88px;height:auto}

/* ---------- Hero-Split (Message links, Video rechts) ---------- */
/* V5-Prinzip (Feedback Session 2): aufgeraeumt, klare Message, Video rechts,
   flexibel austauschbar, KEIN Autoplay, KEIN Ton. */
.hero-split{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding:104px 0 84px}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:32px;padding:72px 0 56px}}
.hero-video{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#12031F;aspect-ratio:4/5;max-height:560px}
@media(max-width:900px){.hero-video{aspect-ratio:16/10;max-height:none}}
.hero-video video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- "Ich bin ..."-Role-Switcher ---------- */
.role-switcher{display:grid;grid-template-columns:270px 1fr;gap:22px;margin-top:32px}
@media(max-width:820px){.role-switcher{grid-template-columns:1fr}}
.role-tabs{display:flex;flex-direction:column;gap:8px}
@media(max-width:820px){.role-tabs{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px}}
.role-tab{text-align:left;background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:15px 18px;cursor:pointer;transition:border-color .15s,transform .15s;flex:none}
.role-tab:hover{transform:translateY(-1px)}
.role-tab strong{display:block;font-size:15px;letter-spacing:-.01em}
.role-tab span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);margin-top:4px}
.role-tab.active{border-color:var(--orange);box-shadow:0 12px 30px -22px rgba(212,77,0,.7)}
.role-tab.active strong{color:var(--orange-600)}
.role-panel{position:relative;min-height:260px}
.role-content{display:none;background:#fff;border:1px solid var(--line-soft);border-radius:var(--rad);padding:32px 34px;box-shadow:0 20px 50px -38px rgba(27,0,60,.4);animation:roleFade .35s ease}
.role-content.active{display:block}
@keyframes roleFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.role-content h3{font-size:22px;letter-spacing:-.015em;margin-bottom:10px}
.role-content p{color:var(--ink-70);font-size:15.5px;max-width:560px}
/* Bullets mit FTAPI-Formsprache statt Pills (Feedback Runde 7) */
.role-points{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:9px}
.role-points li{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}
.role-points li .mk{flex:none}
.role-cta{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Stream-Landingpage: Fuer-wen, Cases, Networking ---------- */
.forwhom{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}
.fw{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:22px 24px}
.fw h4{font-size:16px;letter-spacing:-.01em;margin-bottom:7px;display:flex;align-items:center;gap:9px}
.fw p{font-size:14px;color:var(--ink-70);line-height:1.55}
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}
.case{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:24px 26px;display:flex;flex-direction:column;gap:14px}

/* ---------- Programm: Tag-Tabs ---------- */
.daytabs{display:inline-flex;gap:6px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:99px;padding:5px;margin-bottom:26px}
.daytab{border:none;background:transparent;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink-70);padding:10px 20px;border-radius:99px;cursor:pointer;transition:background .15s,color .15s}
.daytab.active{background:#fff;color:var(--orange-600);box-shadow:0 6px 18px -12px rgba(27,0,60,.4)}
.dayview{display:none}
.dayview.active{display:block;animation:roleFade .3s ease}
/* Stream-Grid (Programm Tag 2): alle Streams auf einen Blick */
.streamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.streamgrid .card h3{font-size:17px}

/* ============================================================
   ARENA EDITORIAL — Design-Upgrade (v2)
   Light Mode bleibt. Brand-Gradient wird echtes Gestaltungs-
   element, Arena-Rauten als Signatur-Textur, mehr Bewegung.
   ============================================================ */
:root{--grad:linear-gradient(100deg,var(--orange) 0%,#E1508C 48%,var(--purple) 100%)}

/* --- Atmosphäre: weicher Brand-Glow hinter der ganzen Seite --- */
body{position:relative}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(62vw 52vh at 84% -8%, rgba(255,106,54,.16), transparent 60%),
    radial-gradient(52vw 46vh at 6% 4%, rgba(141,54,255,.13), transparent 62%);}

/* --- Arena-Rauten-Textur als Utility (nur unten rechts eingeblendet).
   Liegende Orientierung wie an der Arena: Ringe + Wendeln. --- */
.arena-tex{position:relative;isolation:isolate}
.arena-tex::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:
    repeating-linear-gradient(0deg, rgba(27,0,60,.045) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(116deg, rgba(27,0,60,.045) 0 1px, transparent 1px 40px);
  -webkit-mask-image:radial-gradient(130% 120% at 100% 108%, #000 0%, transparent 58%);
          mask-image:radial-gradient(130% 120% at 100% 108%, #000 0%, transparent 58%);}

/* dekorative Glow-Blobs (per HTML platziert).
   Bewusst OHNE blur-Filter: der Filter malt über die Section-Grenze hinaus
   und wird dort hart abgeschnitten (Feedback: "Header wirkt abgeschnitten").
   Der Verlauf läuft stattdessen innerhalb des Elements weich auf null aus. */
.glow{position:absolute;border-radius:50%;opacity:.6;pointer-events:none;z-index:0;animation:floaty 11s ease-in-out infinite}
.glow.o{background:radial-gradient(circle closest-side,rgba(255,106,54,.42),rgba(255,106,54,.14) 55%,transparent 100%)}
.glow.p{background:radial-gradient(circle closest-side,rgba(141,54,255,.36),rgba(141,54,255,.12) 55%,transparent 100%);animation-delay:-4s}
@keyframes floaty{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14px,-20px) scale(1.06)}}

/* schwebende Rauten-Deko */
.diamond{position:absolute;pointer-events:none;z-index:0;transform:rotate(45deg) skewX(-8deg);border-radius:8px;opacity:.9;animation:floaty 9s ease-in-out infinite}

/* --- Typo: größer, gradient-fähig --- */
h1.display{font-size:clamp(42px,6.6vw,88px);line-height:.98;letter-spacing:-.035em}
h2.title{font-size:clamp(30px,4.2vw,52px);letter-spacing:-.028em}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* --- Eyebrow (Kicker-Upgrade mit Marker + Linie) --- */
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--orange-600)}
.kicker::before{content:'';width:22px;height:1.5px;background:var(--grad);flex:none}

/* --- Buttons: Gradient-CTA mit Glow --- */
.btn{border-radius:12px;font-weight:600;letter-spacing:-.01em;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s}
.btn-p{background:var(--grad);background-size:140% 140%;box-shadow:0 14px 34px -12px rgba(212,77,0,.7)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 20px 46px -14px rgba(141,54,255,.6);background-position:100% 0}
.btn-s{background:rgba(255,255,255,.75);backdrop-filter:blur(6px);border:1px solid var(--line)}
.btn-s:hover{transform:translateY(-2px);border-color:var(--orange);color:var(--orange-600)}

/* --- Karten: Hover-Lift + optionaler Farb-Akzent oben --- */
.card{transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(27,0,60,.5);border-color:var(--line)}
.card.accent::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--ac,var(--grad))}
.card.accent{padding-top:32px}

/* --- Sektions-Rhythmus + dunkler „Abendevent"-Moment --- */
section.blk{padding:104px 0;position:relative}
section.blk.ink{background:radial-gradient(80vw 60vh at 70% 0%, #2A0B49, #12031F 70%);color:#fff;overflow:hidden}
section.blk.ink .title{color:#fff}
section.blk.ink .sub{color:rgba(255,255,255,.82)}
section.blk.ink .kicker{color:var(--orange-400)}
section.blk.ink .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#fff}
section.blk.ink .card p{color:rgba(255,255,255,.78)}
section.blk.ink .schip{color:var(--ink)}


/* --- Stats: auf dunklem Panel, große Gradient-Zahlen --- */
.statpanel{background:radial-gradient(70vw 40vh at 80% 0%, #2A0B49, #16052A 72%);border-radius:26px;padding:46px 40px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.statpanel .stats{position:relative;z-index:1}
.statpanel .stat{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.12);border-radius:0;text-align:left;padding:8px 22px}
.statpanel .stat:first-child{border-left:none}
.statpanel .stat b{font-size:clamp(40px,4.6vw,60px)}
.statpanel .stat span{color:rgba(255,255,255,.66);font-size:13.5px}
@media(max-width:640px){.statpanel .stat{border-left:none}}

/* --- Hero-Upgrade --- */
.hero2{position:relative;overflow:hidden}
.hero-split{padding:120px 0 96px}
.hero-video{aspect-ratio:4/5;border-radius:24px}
.hero-video::after{content:'';position:absolute;inset:0;border-radius:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.7);border:1px solid var(--line-soft);padding:8px 14px;border-radius:99px;margin-bottom:22px}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--grad);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}

/* --- Speaker: Hover-Overlay + Ring am Featured --- */
.sp{position:relative}
.sp .pad{transition:transform .2s}
.sp.large{position:relative}
.sp.large::after{content:'';position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 2px var(--orange);pointer-events:none;opacity:.9}
.sp.large .tag{color:#fff;background:var(--grad);padding:4px 10px;border-radius:99px}

/* --- Stream-Header größer/dramatischer --- */
.stream-head{padding:64px 46px;border-radius:24px}
.stream-head h1{font-size:clamp(34px,4.6vw,58px)}
.stream-head .claim{font-size:19px}

/* --- Role-Switcher etwas edler --- */
.role-content{border-radius:22px}
.role-tab.active{background:linear-gradient(180deg,#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent}

/* --- pagehero mit Glow-Kontext --- */
.pagehero{padding:92px 0 8px;position:relative}
.pagehero h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.03em}
/* Sektions-Huelle fuer Unterseiten-Heros: Glows + Arena-Textur laufen nicht
   aus der Sektion. Der Effektbereich bekommt unten Raum und einen weichen
   Fade auf Papier, damit keine harte Kante direkt unter dem Text entsteht
   (Feedback: "Header abgeschnitten"). */
.pagehero-sec{position:relative;overflow:hidden;padding-bottom:72px}
.pagehero-sec::after{content:'';position:absolute;left:0;right:0;bottom:0;height:130px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(250,248,244,0),var(--paper))}
.pagehero-sec>.wrap{position:relative;z-index:2}
.pagehero .sub{margin-top:16px}

/* --- Section-Divider (Rauten-Reihe) --- */
.divider{display:flex;justify-content:center;gap:10px;padding:8px 0}
.divider i{width:9px;height:9px;background:var(--grad);opacity:.5}
.divider i:nth-child(1){border-radius:50%}
.divider i:nth-child(2){clip-path:polygon(50% 0,100% 100%,0 100%)}
.divider i:nth-child(3){border-radius:2px;transform:rotate(45deg)}

/* --- Speaker-Popup (Details, spaeter live aus Streavent) --- */
.sp{cursor:pointer}
.sp-modal{position:fixed;inset:0;z-index:150;display:none;align-items:center;justify-content:center;padding:5vw}
.sp-modal.open{display:flex}
.sp-backdrop{position:absolute;inset:0;background:rgba(18,3,31,.55);backdrop-filter:blur(6px)}
/* Runde 10c (Felix): Popup immer gleich hoch, Bilder einheitlich
   beschnitten. Feste Dialog-Hoehe statt intrinsischer Bildhoehe. */
.sp-dialog{position:relative;display:grid;grid-template-columns:320px 1fr;max-width:720px;width:100%;height:440px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(18,3,31,.6);animation:roleFade .3s ease}
.sp-media{height:100%;overflow:hidden}
@media(max-width:680px){.sp-dialog{grid-template-columns:1fr;height:auto;max-height:88vh;overflow-y:auto}.sp-media{height:240px}}
.sp-media img{width:100%;height:100%;object-fit:cover;object-position:center 22%;background:var(--purple-50)}
.sp-body{padding:34px 36px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sp-body .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--grad);padding:5px 11px;border-radius:99px}
.sp-body h3{font-size:26px;letter-spacing:-.02em;margin-top:8px}
.sp-body .role{font-size:14.5px;color:var(--ink-70);line-height:1.5}
.sp-body .note{font-size:13px;color:var(--ink-55);line-height:1.6;margin-top:10px;padding-top:14px;border-top:1px solid var(--line-soft)}
.sp-body .sp-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.sp-close{position:absolute;top:14px;right:16px;z-index:2;width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 8px 20px -10px rgba(27,0,60,.5)}
.sp-close:hover{background:#fff}

/* --- Kontakt-/Info-Karte mit Gradient-Rand (z.B. FAQ, Presse) --- */
.gradcard{position:relative;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent;border-radius:var(--rad);padding:30px 34px}

/* ============================================================
   Startseite v3 (Feedback-Runde 3): Bildleiste, Wer-kommt,
   Programm-Tage, Role-Switcher mit Bild
   ============================================================ */

/* --- Bildleiste: laufende Fotoleiste mit echten Momenten 2026 --- */
.photostrip{overflow:hidden;padding:20px 0;background:rgba(255,255,255,.5);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.photostrip .ptrack{display:inline-flex;gap:16px;white-space:nowrap;animation:marq 55s linear infinite;will-change:transform}
/* Hover-Pause entfernt (Runde 10): der abrupte Stopp wirkte wie Ruckeln. */
.photostrip img{height:210px;width:auto;border-radius:14px;box-shadow:0 14px 34px -24px rgba(27,0,60,.5);flex:none}
@media(max-width:640px){.photostrip img{height:150px}}

/* --- Wer kommt: Zielgruppen-Karten mit Foto --- */
.who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.who{background:#fff;border:1px solid var(--line-soft);border-radius:var(--rad);overflow:hidden;padding-bottom:24px;box-shadow:0 14px 40px -30px rgba(27,0,60,.3);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.who:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(27,0,60,.5)}
.who img{width:100%;height:210px;object-fit:cover;margin-bottom:20px}
.who h3{font-size:18px;padding:0 26px;margin-bottom:9px;display:flex;align-items:center;gap:10px}
.who p{font-size:14.5px;line-height:1.62;color:var(--ink-70);padding:0 26px}

/* --- Programm auf einen Blick: drei Tage-Karten --- */
.days{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin-top:34px}
.day{padding:0;overflow:hidden;display:flex;flex-direction:column}
.day img{width:100%;height:185px;object-fit:cover}
.day .pad{padding:22px 26px 26px}
.day .daydate{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-600)}
.day h3{margin:10px 0 9px}

/* --- Role-Switcher: Inhalt mit Bild --- */
.role-content.active{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.role-media img{border-radius:14px;width:100%;height:270px;object-fit:cover;box-shadow:0 18px 40px -28px rgba(27,0,60,.5)}
@media(max-width:820px){.role-content.active{grid-template-columns:1fr}.role-media img{height:190px}}

/* ============================================================
   REDESIGN v4 (Feedback-Runde 4): mutiger, editorialer, mehr
   Bild/Video. Kein "Eyebrow + Titel + 3 Boxen"-Einheitsbrei.
   ============================================================ */

/* --- Noise-Textur über der ganzen Seite (aus V5, gibt Materialität) --- */
body::after{content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.032;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- Eyebrows: größer, kräftiger, lesbar --- */
.kicker{font-size:13px;letter-spacing:.2em;font-weight:500;margin-bottom:18px}
.kicker::before{width:34px;height:2px}
section.blk.ink .kicker{color:#FFB59C}

/* --- Titel: größere Bühne --- */
h2.title{font-size:clamp(32px,4.8vw,62px);letter-spacing:-.03em}

/* --- Hero: gekippter Video-Frame (V5), Autoplay ohne Ton --- */
/* minmax(0,..) statt fr: sonst erzwingt die Headline ihre Min-Content-Breite
   und die Videospalte kollabiert auf 0 (Bug: "kein Video im Hero"). */
.hero-split{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
.hero2 .wrap{max-width:1340px}
.hero-split h1.display{font-size:clamp(38px,4.7vw,68px)}
@media(max-width:900px){.hero-split{grid-template-columns:1fr}}
.hero-video{transform:rotate(2.2deg);box-shadow:0 50px 110px -40px rgba(18,3,31,.55);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-video:hover{transform:rotate(.6deg)}
.hero-video.autoplay .play{display:none}
.hero-video .vtag{position:absolute;left:20px;bottom:18px;z-index:3;color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-video::before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(18,3,31,.5),transparent 42%);pointer-events:none}

/* --- Bildleiste: zwei gegenläufige Reihen (V5) --- */
.photostrip .ptrack.rev{animation-direction:reverse;animation-duration:47s;margin-top:16px}

/* --- Connect/Protect/Transform: editoriale Zeilen statt Boxen --- */
.pillar-list{border-top:1.5px solid var(--line);margin-top:44px}
.pillar-row{display:grid;grid-template-columns:1.1fr 1fr auto;gap:36px;align-items:center;padding:38px 0;border-bottom:1.5px solid var(--line)}
.pillar-row .pnum{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--ink-55);margin-bottom:10px}
.pillar-row .pword{font-size:clamp(40px,6.2vw,82px);font-weight:700;letter-spacing:-.035em;line-height:.98;display:flex;align-items:center;gap:20px;transition:color .25s}
.pillar-row .pword .mk{width:clamp(16px,2vw,26px);height:clamp(16px,2vw,26px)}
.pillar-row:hover .pword{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pillar-row p{font-size:15.5px;line-height:1.65;color:var(--ink-70);max-width:44ch}
.pillar-row img{width:210px;height:140px;object-fit:cover;border-radius:14px;transform:rotate(3deg);box-shadow:0 18px 44px -24px rgba(27,0,60,.5);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.pillar-row:hover img{transform:rotate(0deg) scale(1.06)}
@media(max-width:900px){.pillar-row{grid-template-columns:1fr;gap:16px}.pillar-row img{display:none}}

/* --- Video-Background-Section (V5-Wunsch von Thomas) --- */
.videobg{position:relative;overflow:hidden;color:#fff;padding:130px 0}
.videobg>video,.videobg>img.bgmedia{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.videobg .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,3,31,.78),rgba(27,0,60,.5) 45%,rgba(18,3,31,.85))}
.videobg .wrap{position:relative;z-index:2}
.videobg .title{color:#fff}
.videobg .sub{color:rgba(255,255,255,.85)}
.videobg .kicker{color:#FFB59C}

/* --- Kennzahlen: große Typo statt Box --- */
.bigstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:46px}
.bigstat{padding:10px 26px;border-left:1.5px solid rgba(255,255,255,.28)}
.bigstat b{display:block;font-size:clamp(58px,7.5vw,108px);font-weight:700;letter-spacing:-.045em;line-height:.95}
.bigstat span{display:block;margin-top:10px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.78);max-width:24ch}

/* --- Wer kommt: großformatige Bildkarten mit Text auf dem Bild ---
   Bewusst auf .who-grid gescoped: .who allein kollidierte mit den
   Zitat-Karten der Stream-Seite (.case .who). */
.who-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.who-grid .who{position:relative;min-height:480px;border-radius:22px;overflow:hidden;padding:0;display:flex;align-items:flex-end;background:var(--ink)}
.who-grid .who>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.who-grid .who:hover>img{transform:scale(1.06)}
.who-grid .who::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(18,3,31,.92) 0%,rgba(18,3,31,.35) 45%,rgba(18,3,31,.05) 70%)}
.who-grid .who .inner{position:relative;z-index:2;padding:30px 30px 32px;color:#fff}
.who-grid .who h3{font-size:23px;letter-spacing:-.015em;color:#fff;padding:0;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.who-grid .who p{color:rgba(255,255,255,.85);padding:0;font-size:14.5px}

/* --- Programm: große nummerierte Bildzeilen --- */
.dayrows{margin-top:20px}
.dayrow{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center;padding:58px 0;border-top:1.5px solid var(--line)}
.dayrow:first-child{border-top:none}
.dayrow .dnum{font-size:clamp(70px,9vw,128px);font-weight:700;letter-spacing:-.05em;line-height:.9;color:transparent;-webkit-text-stroke:1.5px rgba(27,0,60,.35);margin-bottom:14px;display:block}
.dayrow .daydate{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-600)}
.dayrow h3{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;margin:12px 0 12px}
.dayrow p{font-size:15.5px;line-height:1.65;color:var(--ink-70);max-width:46ch}
.dayrow .dmedia{position:relative}
.dayrow .dmedia img{width:100%;height:380px;object-fit:cover;border-radius:20px;transform:rotate(-1.6deg);box-shadow:0 34px 70px -38px rgba(27,0,60,.6)}
.dayrow.flip .dmedia{order:-1}
.dayrow.flip .dmedia img{transform:rotate(1.6deg)}
@media(max-width:900px){.dayrow{grid-template-columns:1fr;gap:22px}.dayrow.flip .dmedia{order:0}.dayrow .dmedia img{height:240px}}

/* --- Golden CTA: Bild + Statement + Gradient-Rahmen (V5) --- */
.golden{position:relative;max-width:1240px;margin:0 auto;border-radius:32px;overflow:hidden;color:#fff;padding:110px 7vw;text-align:center;isolation:isolate}
.golden .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:brightness(.38) saturate(1.05)}
.golden::before{content:'';position:absolute;inset:0;border-radius:32px;padding:2px;background:linear-gradient(135deg,var(--orange),#E1508C,var(--purple));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.golden .kicker{color:#FFB59C;justify-content:center}
.golden h2{font-size:clamp(38px,5.6vw,74px);letter-spacing:-.035em;line-height:1.02;margin-bottom:18px}
.golden p{color:rgba(255,255,255,.85);font-size:16.5px;max-width:560px;margin:0 auto}
.golden-wrap{padding:0 5vw 110px}

/* --- Hero-Video: robuste Höhe (rendert auch ohne aspect-ratio-Support) --- */
.hero-video{min-height:480px}
@media(max-width:900px){.hero-video{min-height:300px}}

/* --- Footer: Statement auf Bild, dann erst die Link-Spalten --- */
footer.site{position:relative;overflow:hidden;padding-top:0;margin-top:96px}
footer.site::before{content:'';position:absolute;left:0;right:0;top:0;height:640px;z-index:0;
  background:url('img/tag1_96.jpg') center 30%/cover no-repeat;filter:brightness(.6) saturate(1.05)}
footer.site::after{content:'';position:absolute;left:0;right:0;top:0;height:660px;z-index:1;
  background:linear-gradient(180deg,rgba(18,3,31,.55) 0%,rgba(18,3,31,.68) 55%,#12031F 97%)}
footer.site .fstatement{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:120px 0 110px;text-align:center;color:#fff}
footer.site .fstatement .kicker{color:#FFB59C;justify-content:center}
footer.site .fstatement h2{font-size:clamp(40px,6vw,84px);letter-spacing:-.035em;line-height:1.0;margin-bottom:20px;color:#fff}
footer.site .fstatement p{color:rgba(255,255,255,.85);font-size:16.5px;max-width:540px;margin:0 auto}
footer.site .fstatement .cta-row{justify-content:center;margin-top:32px}
/* Footer-Linkfarbe nicht auf die Statement-Buttons vererben */
footer.site .fstatement a.btn-s{background:rgba(255,255,255,.94);color:var(--ink)}
footer.site .fstatement a.btn-p{color:#fff}

/* ============================================================
   Runde 6: mehr Sektions-Varianz auf Unterseiten
   ============================================================ */

/* --- Checkliste (B&P-Checkpoints): Zeilen statt Karten-Raster --- */
.checklist{border-top:1.5px solid var(--line);margin-top:28px}
.checkrow{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:flex-start;padding:22px 4px;border-bottom:1.5px solid var(--line)}
.checkrow .ck{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none;margin-top:2px}
.checkrow b{display:block;font-size:16.5px;letter-spacing:-.01em;margin-bottom:4px}
.checkrow p{color:var(--ink-70);font-size:14.5px;line-height:1.6;max-width:52ch}

/* --- Takeaway-Panel: dunkles Panel mit großen Ziffern statt weißer Boxen --- */
.takepanel{background:radial-gradient(70vw 46vh at 78% 0%, #2A0B49, #16052A 72%);border-radius:26px;padding:46px 44px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.takepanel .tphead{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#FFB59C;margin-bottom:26px}
.takepanel .titems{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}
.takepanel .titem b{display:block;font-size:clamp(40px,4.5vw,62px);font-weight:700;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}
.takepanel .titem p{font-size:15.5px;line-height:1.55;color:rgba(255,255,255,.88);max-width:30ch}
.takepanel .tpfoot{margin-top:26px;font-size:13.5px;color:rgba(255,255,255,.66)}

/* --- Bildgalerie (3er-Reihe, leicht gekippt) --- */
.gallery3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.gallery3 img{width:100%;height:250px;object-fit:cover;border-radius:16px;box-shadow:0 20px 46px -28px rgba(27,0,60,.5)}
.gallery3 img:nth-child(odd){transform:rotate(-1.2deg)}
.gallery3 img:nth-child(even){transform:rotate(1.2deg)}

/* --- Zitat-Karten mit Foto-Kopf --- */

/* --- gestapelte Bilder neben Text-Spalten --- */
.imgstack{display:flex;flex-direction:column;gap:16px}
.imgstack img{width:100%;height:230px;object-fit:cover;border-radius:16px;box-shadow:0 20px 46px -28px rgba(27,0,60,.5)}
.imgstack img:first-child{transform:rotate(1.4deg)}
.imgstack img:last-child{transform:rotate(-1.2deg)}

/* Reduzierte Bewegung respektieren */
@media(prefers-reduced-motion:reduce){
  .glow,.diamond,.marquee .track,.photostrip .ptrack,.hero-badge .dot{animation:none}
  .marquee .track{transform:none}
}

/* ============================================================
   Runde 7 (15.07.): Tier-Baender, Footer warum-cpt, 120+ Fix
   ============================================================ */

/* --- Partner-Tiers als farbig hinterlegte Zeilen --- */
.tierband{border-radius:20px;padding:20px 22px 22px;margin-top:16px;border:1px solid var(--line-soft)}
.tierband .tier-label{margin:0 0 14px;color:var(--ink-70)}
.tierband .ptile{border-color:rgba(27,0,60,.07)}
.tb-cohost{background:linear-gradient(120deg,#FFEDE2,#F6E9FF 80%)}
.tb-platin{background:linear-gradient(120deg,#F2EBFE,#FBF1F8 80%)}
.tb-gold{background:linear-gradient(120deg,#FFF5E4,#FFF0E6 80%)}
.tb-silber{background:#F4F2ED}
.tb-connect,.tb-inst{background:#FBFAF7}

/* --- Footer auf warum-cpt: Sonderweg entfernt (Runde 10). Die Seite nutzt
   jetzt den Standard-Footer mit Statement wie alle anderen Seiten. --- */

/* --- Bigstats: das "+" von 120+ nicht mehr anschneiden. background-clip:text
   malt den Verlauf nur innerhalb der Box; "120+" war breiter als die
   Grid-Spalte, das Plus lag ausserhalb und blieb unsichtbar. Box waechst
   mit dem Text, Ziffern etwas kleiner, damit nichts in die Nachbarspalte laeuft. --- */
.bigstat b{width:max-content;max-width:none;font-size:clamp(52px,6.4vw,92px);line-height:1.02}

/* ============================================================
   Runde 8: Agenda (Streavent-Zeitraster), Burger-Navigation,
   Bugfixes .who / Tier-Tabelle
   ============================================================ */

/* --- Agenda-Filter --- */
.ag-filters{display:flex;flex-direction:column;gap:8px;margin:6px 0 22px}
.fgroup{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.flabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-55);width:56px;flex:none}
.fchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--ink-70);font-family:var(--sans);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:99px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.fchip i{width:9px;height:9px;border-radius:3px;flex:none}
.fchip:hover{border-color:var(--purple)}
.fchip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.fchip.reset{align-self:flex-start;margin-left:63px;background:var(--paper-2);border-style:dashed}

/* --- Agenda-Zeitraster --- */
.ag-cols{display:grid;gap:0 10px;position:sticky;top:59px;z-index:20;background:var(--paper);padding:10px 0 8px;border-bottom:1.5px solid var(--line)}
.ag-loc{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;letter-spacing:-.01em;min-width:0}
.ag-loc i{width:11px;height:11px;border-radius:3px;flex:none}
.ag-body{display:grid;gap:0 10px;position:relative;margin-top:14px}
.ag-body>*{grid-row:1}
.ag-time{position:relative;grid-column:1}
.ag-tlabel{position:absolute;left:0;transform:translateY(-50%);font-family:var(--mono);font-size:12.5px;color:var(--ink-55)}
.ag-col{position:relative;border-radius:10px;background-image:linear-gradient(180deg,var(--line-soft) 1px,transparent 1px);background-repeat:repeat-y}
.ag-all{position:relative;pointer-events:none}
.ag-all .ag-item{pointer-events:auto}
.ag-item{position:relative;height:auto;background:#fff;border:1px solid var(--line-soft);border-left:3px solid var(--lc,var(--purple));border-radius:12px;padding:11px 14px 10px;box-shadow:0 10px 26px -22px rgba(27,0,60,.4);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:5px;transition:transform .15s,box-shadow .15s,opacity .2s}
.ag-item:hover{transform:translateY(-2px);box-shadow:0 18px 40px -24px rgba(27,0,60,.5);z-index:5}
.ag-item .t{font-family:var(--mono);font-size:11.5px;color:var(--ink-70)}
.ag-item b{font-size:15px;line-height:1.3;letter-spacing:-.012em}
.ag-item .fpill{position:absolute;top:9px;right:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-700);background:var(--purple-50);padding:4px 9px;border-radius:99px;white-space:nowrap}
.ag-item.all{background:var(--paper-2);border-style:dashed;border-left-style:solid;align-items:flex-start;justify-content:center}
.ag-item.hi{background:radial-gradient(120% 160% at 20% 0%,#2A0B49,#12031F 75%);border:none;border-left:3px solid var(--orange);color:#fff}
.ag-item.hi .t{color:rgba(255,255,255,.7)}
.ag-item.hi .fpill{background:rgba(255,255,255,.14);color:#FFB59C}
.ag-item.dimmed{opacity:.14;pointer-events:none}
.ag-avs{display:flex;align-items:center;gap:6px;margin-top:auto;min-height:30px;flex:none}
.ag-avs em{font-style:normal;font-size:13px;font-weight:600;color:var(--ink-70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-item.hi .ag-avs em{color:rgba(255,255,255,.75)}
.ag-av{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-right:-10px;background:var(--purple-50);flex:none}
.ag-av.ini{display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--purple-700)}
.ag-avs em{margin-left:12px}

/* --- Agenda: chronologische Liste (Mobil) --- */
.ag-list{display:none}
.ag-li{position:relative;background:#fff;border:1px solid var(--line-soft);border-left:3px solid var(--lc,var(--purple));border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer}
.ag-li .t{font-family:var(--mono);font-size:12px;color:var(--ink-70);display:block;margin-bottom:4px}
.ag-li b{font-size:15px;letter-spacing:-.01em;display:block;margin-bottom:8px}
.ag-li .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.ag-li .fpill{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-700);background:var(--purple-50);padding:3px 8px;border-radius:99px}
.ag-li .loc{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-70)}
.ag-li .loc i{width:9px;height:9px;border-radius:3px}
.ag-li.hi{background:radial-gradient(120% 160% at 20% 0%,#2A0B49,#12031F 75%);border:none;border-left:3px solid var(--orange);color:#fff}
.ag-li.hi .t{color:rgba(255,255,255,.7)}
.ag-li.hi .loc{color:rgba(255,255,255,.8)}
.ag-li.hi .ag-avs em{color:rgba(255,255,255,.75)}
@media(max-width:880px){.ag-gridwrap,.ag-cols{display:none}.ag-list{display:block}.flabel{width:100%}.fchip.reset{margin-left:0}}

/* --- Agenda: Session-Overlay --- */
.ag-modal{position:fixed;inset:0;z-index:120;display:none}
.ag-modal.open{display:block}
.ag-backdrop{position:absolute;inset:0;background:rgba(18,3,31,.55);backdrop-filter:blur(6px)}
.ag-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:86vh;overflow:auto;background:#fff;border-radius:20px;padding:30px 32px;box-shadow:0 40px 90px -30px rgba(18,3,31,.6)}
.ag-dialog>.fpill{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:99px;margin-bottom:14px}
.ag-dialog h3{font-size:23px;letter-spacing:-.02em;line-height:1.15;margin-bottom:8px}
.ag-dialog .when{font-family:var(--mono);font-size:11px;color:var(--ink-55);margin-bottom:14px}
.ag-dialog .desc{font-size:14.5px;line-height:1.62;color:var(--ink-70)}
.ag-sps{margin:16px 0 4px;display:grid;gap:10px}
.ag-sprow{display:flex;align-items:center;gap:12px}
.ag-sprow img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--purple-50)}
.ag-av.ini.big{width:44px;height:44px;font-size:13px;border:none;background:var(--purple-50)}
.ag-sprow b{font-size:14px;display:block}
.ag-sprow span{font-size:12px;color:var(--ink-55);display:block;line-height:1.35}
.ag-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ag-tags span{font-size:11.5px;font-weight:600;color:var(--purple-700);background:var(--purple-50);padding:4px 10px;border-radius:99px}
.ag-dialog .note{font-size:12px;color:var(--ink-55);line-height:1.55;margin:16px 0}
.ag-dialog .note a{color:var(--purple-700)}
.ag-close{position:absolute;top:14px;right:16px;border:none;background:var(--paper-2);width:34px;height:34px;border-radius:50%;font-size:19px;cursor:pointer;color:var(--ink)}

/* --- Bugfix: .who-Karten sauber auf das Homepage-Grid gescoped.
   Die ungescopte Regel traf u.a. Namenszeilen in Listen (weisse Kaesten). --- */
.who{background:none;border:none;border-radius:0;overflow:visible;padding-bottom:0;box-shadow:none;transition:none}
.who:hover{transform:none;box-shadow:none}
.who-grid .who{background:#fff;border:1px solid var(--line-soft);border-radius:var(--rad);overflow:hidden;padding-bottom:24px;box-shadow:0 14px 40px -30px rgba(27,0,60,.3);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.who-grid .who:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(27,0,60,.5)}

/* --- Bugfix: Tier-Tabelle scrollt auf schmalen Screens horizontal
   (vorher wurden Silber/Connect rechts hart abgeschnitten) --- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--rad)}
.tablewrap .tiertable{min-width:560px}

/* --- Mobile Navigation: Burger + Fullscreen-Overlay --- */
.burger{display:none;border:none;background:transparent;cursor:pointer;padding:10px;margin-left:auto}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;margin:5px 0;transition:transform .2s,opacity .2s}
@media(max-width:960px){.burger{display:block}}
.mnav{position:fixed;inset:0;z-index:110;background:radial-gradient(100vw 80vh at 80% 0%,#2A0B49,#12031F 75%);color:#fff;display:none;flex-direction:column;padding:20px 7vw 40px;overflow:auto}
.mnav.open{display:flex}
.mnav .mhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.mnav .mhead svg{height:36px;width:auto}
.mnav .mclose{border:none;background:rgba(255,255,255,.1);color:#fff;width:40px;height:40px;border-radius:50%;font-size:21px;cursor:pointer;flex:none}
.mnav .mgroup{border-top:1px solid rgba(255,255,255,.12);padding:16px 0}
.mnav .mgroup>span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#FFB59C;margin-bottom:10px}
.mnav a{display:block;color:#fff;text-decoration:none;font-size:21px;font-weight:600;letter-spacing:-.015em;padding:7px 0}
.mnav .mgroup a.sub{font-size:16px;font-weight:500;color:rgba(255,255,255,.82);padding:5px 0}
.mnav .btn{margin-top:22px;text-align:center}

/* --- FAQ als Split mit Seitenleiste (Runde 8) --- */
.faq-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:28px;align-items:start}
.faq-aside{display:grid;gap:16px;position:sticky;top:90px}
@media(max-width:880px){.faq-split{grid-template-columns:1fr}.faq-aside{position:static}}

/* --- Startseite mobil straffen (Runde 8): zweite Bildleiste weg,
   Speaker-Grid auf 4 + 2 Featured begrenzt --- */
@media(max-width:640px){
  body[data-page="home"] #photo-strip-2{display:none}
  body[data-page="home"] .speakers .sp:nth-child(n+5){display:none}
}

/* --- Agenda-Iteration (Runde 9): Ort in der Kachel, Tags als Outline-Chips --- */
.agloc{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-70)}
.agloc i{width:9px;height:9px;border-radius:3px;flex:none}
.ag-tchips{display:flex;flex-wrap:wrap;gap:5px}
.tchip{font-size:11px;font-weight:600;color:var(--ink-70);border:1px solid var(--line);background:transparent;padding:3px 9px;border-radius:99px;white-space:nowrap}
.ag-item.hi .agloc{color:rgba(255,255,255,.8)}
.ag-li .meta .tchip{background:#fff}

/* --- Agenda-Speaker im MMK/Streavent-Massstab (Runde 9): grosses Foto,
   Name fett, Rolle darunter; Zeilen brechen nebeneinander um, wenn Platz ist --- */
.ag-spg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:auto;padding-top:4px}
.ag-sp{display:flex;align-items:center;gap:11px;min-width:0}
.ag-sp img,.ag-sp .ini{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--purple-50);flex:none}
.ag-sp .ini{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--purple-700)}
.ag-sp .txt{min-width:0}
.ag-sp b{display:block;font-size:14px;line-height:1.25;letter-spacing:-.01em}
.ag-sp em{display:block;font-style:normal;font-size:11.5px;line-height:1.3;color:var(--ink-55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-more{font-size:12.5px;font-weight:600;color:var(--purple-700);white-space:nowrap}
.ag-item.hi .ag-sp em{color:rgba(255,255,255,.7)}
.agpin{flex:none}
.agloc{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-70)}
.ag-li .loc{display:inline-flex;align-items:center;gap:6px}
.ag-li .loc svg{width:13px;height:13px}

/* Kacheln wachsen mit dem Inhalt ueber die Slot-Hoehe hinaus (Runde 9):
   alle Speaker sichtbar, Startzeit bleibt am Zeitraster fixiert */
.ag-item{min-height:0}
.ag-spg{flex-direction:column;align-items:flex-start;gap:9px}
.ag-sp .txt{flex:1;min-width:0}
.ag-sp b{overflow-wrap:break-word}

/* --- Agenda: Filter hinter einem Button eingeklappt (Runde 9) --- */
.ag-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.ag-top .daytabs{margin-bottom:0}
.fbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink-70);font-family:var(--sans);font-size:14px;font-weight:600;padding:11px 20px;border-radius:99px;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s}
.fbtn:hover{border-color:var(--purple);color:var(--ink)}
.fbtn.on{border-color:var(--ink);color:var(--ink);box-shadow:0 10px 24px -18px rgba(27,0,60,.5)}
.fcount{background:var(--orange);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:2px 8px;line-height:1.3}
.ag-filters{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:16px 18px;box-shadow:0 14px 40px -32px rgba(27,0,60,.35)}

/* --- Session-Minipage: Header-Banner (Runde 9) --- */
.ag-dialog{padding:0}
/* Runde 10l (Felix): Fokus auf die Gesichter, nicht die Bildmitte */
.ag-banner img{width:100%;height:200px;object-fit:cover;object-position:center 22%;display:block}
.ag-dbody{padding:26px 32px 30px}
.ag-close{z-index:3;background:rgba(255,255,255,.92)}

/* --- Kompakte Kachel, wenn im Stream zwei Dinge parallel laufen --- */
.ag-item.mini{padding:10px 11px 9px;gap:4px}
.ag-item.mini .t{font-size:10.5px}
.ag-item.mini b{font-size:13px;line-height:1.3}
.ag-item.mini .fpill{position:static;align-self:flex-start;order:-1;margin-bottom:1px}
.ag-item.mini .ag-sp img,.ag-item.mini .ag-sp .ini{width:34px;height:34px}
.ag-item.mini .ag-sp b{font-size:12.5px}
.ag-item.mini .ag-sp em{font-size:10.5px}

/* --- Parallel im Stream: gestapelt statt gequetscht (Runde 9) --- */
.ag-item.par{border-left-style:dashed}

/* Format-Pill in der Session-Minipage (neue Struktur mit Banner) */
.ag-dbody>.fpill{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:99px;margin-bottom:14px}
.ag-item .fpill.parpill{background:transparent;color:var(--purple-700);border:1px dashed var(--purple)}

/* --- Agenda-Feinschliff (Runde 10): Kopfzeile statt absoluter Pill,
   Modal-Chips oben, kein Parallel-Badge mehr --- */
.ag-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ag-item .fpill{position:static;flex:none}
.ag-item.par{border-left-style:solid}
.ag-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.mchip{font-size:12px;font-weight:600;color:var(--purple-700);background:var(--purple-50);padding:5px 12px;border-radius:99px}
.ag-dbody .agloc{display:inline-flex}
.ag-dbody .when{margin-bottom:6px}
.ag-chips .fpill{position:static;display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:99px}

/* --- Rechtsseiten (Impressum / Datenschutz) --- */
.legal{max-width:760px}
.legal h2{font-size:19px;letter-spacing:-.012em;margin:34px 0 10px}
.legal p{font-size:15px;line-height:1.7;color:var(--ink-70);margin-bottom:12px}
.legal a{color:var(--purple-700)}
.legal b{color:var(--ink)}

/* --- Partner-Statement als Grosszitat --- */
.bigquote{position:relative;max-width:840px;margin:0 auto}
.bigquote .qmark{position:absolute;top:-38px;left:50%;transform:translateX(-50%);font-size:110px;line-height:1;background:var(--grad,linear-gradient(90deg,#FF6A36,#8D36FF));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.bigquote p{font-size:clamp(24px,3.2vw,38px);line-height:1.25;letter-spacing:-.02em;font-weight:700}

/* --- Stream-Seite: Sessions-Liste --- */
.st-agenda{max-width:860px}
.st-agenda .ag-li{background:#fff}

/* ============================================================
   Runde 11: Feedback-Durchgang (Header zentriert, Sponsoren dezent,
   Fundament-Grafik, Stream-Kacheln, Presse-Downloads, Maps, u.a.)
   ============================================================ */

/* --- Unterseiten-Header zentriert (rechts war nur White Space) --- */
.pagehero.center{text-align:center}
.pagehero.center h1{margin-left:auto;margin-right:auto;max-width:880px}
.pagehero.center .sub{margin-left:auto;margin-right:auto}
.pagehero.center .kicker{justify-content:center}
.pagehero.center .cta-row{justify-content:center}

/* --- Zahlen + Verlaufstext auf Video-Hintergruenden besser lesbar --- */
.videobg .grad,.bigstat b.grad{background:linear-gradient(90deg,#FFD9C2,#FF9E7E 45%,#DDB9FF);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 16px rgba(255,140,90,.35))}

/* --- Pillar-Rows: "Transform" darf die Textspalte nicht verschieben --- */
.pillar-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto}
.pillar-row .pword{font-size:clamp(38px,5.6vw,72px)}

/* --- Sponsoren dezent: keine Farb-Boxen, Logos nach Stufe gestaffelt --- */
.tierband{background:none;border:none;padding:0;margin-top:34px;border-radius:0}
.tb-cohost,.tb-platin,.tb-gold,.tb-silber,.tb-connect,.tb-inst{background:none}
.tierband .tier-label{margin:0 0 14px}
.tier-label::after{content:'';flex:1;height:1px;background:var(--line)}
.wall.xl .ptile{min-height:180px}
.wall.xl .ptile img{max-height:78px;max-width:55%}
.wall.l .ptile{min-height:136px}
.wall.l .ptile img{max-height:56px}
.wall.m .ptile{min-height:104px}
.wall.m .ptile img{max-height:40px}
.wall.s .ptile{min-height:82px}
.wall.s .ptile img{max-height:28px}
.wall.s .ptile .txt{font-size:15px}
.wall.l .ptile .txt{font-size:22px}

/* --- Agenda-/Programm-Listen: Hover zeigt Klickbarkeit --- */
.ag-li{transition:transform .15s,box-shadow .15s,border-color .15s}
.ag-li:hover{transform:translateY(-2px);box-shadow:0 18px 40px -26px rgba(27,0,60,.45);border-color:var(--purple)}

/* --- Stream-Hero: Powered-by (Stream-Owner-Platzhalter) --- */
.stream-head{position:relative}
.st-pow{position:absolute;top:28px;right:32px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.85)}
.st-pow span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.st-pow svg{height:30px;width:auto;display:block}
@media(max-width:720px){.st-pow{position:static;margin-top:18px}}

/* --- Stream-Seite: Quick-Info unter "Worum es geht" --- */
.st-quick{margin-top:18px;display:grid;gap:12px}
.st-quick .qrow{display:flex;gap:12px;align-items:flex-start}
.st-quick .qrow .mk{flex:none;margin-top:4px}
.st-quick .qrow b{font-size:14.5px;display:block;margin-bottom:2px}
.st-quick .qrow p{font-size:13.5px;line-height:1.55;color:var(--ink-70)}

/* --- Programm: Stream-Kacheln mit Bild + Powered-by --- */
/* Runde 10c (Felix): immer 4 gleich grosse Kacheln in einer Reihe,
   kein 3+1-Umbruch */
.streamgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media(max-width:1020px){.streamgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.streamgrid{grid-template-columns:1fr}}
.stcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-soft);border-top:3px solid var(--ac,var(--purple));border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s}
.stcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.stcard img{width:100%;height:150px;object-fit:cover}
.stcard .pad{padding:20px 22px 14px;flex:1}
.stcard h3{font-size:17px;display:flex;align-items:center;gap:9px;margin-bottom:8px}
.stcard p{font-size:13.5px;line-height:1.55;color:var(--ink-70)}
.stcard .tag{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-700)}
.stcard .pow{display:flex;align-items:center;gap:9px;padding:12px 22px;border-top:1px solid var(--line-soft);color:var(--ink-55)}
.stcard .pow span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.stcard .pow svg{height:22px;width:auto;display:block;opacity:.8}

/* --- Warum-CPT: Fundament-Grafik "Digitale Sicherheit traegt alles" --- */
.foundation{background:#fff;border:1px solid var(--line-soft);border-radius:var(--rad);padding:30px 30px 26px;box-shadow:var(--shadow)}
.foundation .frow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.foundation .fchip{display:flex;align-items:center;gap:8px;justify-content:center;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:11px 8px;font-size:12.5px;font-weight:600;letter-spacing:-.005em}
.foundation .fchip .mk{width:10px;height:10px;flex:none}
.foundation .fpillars{display:grid;grid-template-columns:repeat(6,1fr);gap:0;height:26px;margin:6px 18% 0}
.foundation .fpillars i{width:2px;height:100%;margin:0 auto;background:linear-gradient(180deg,var(--line),rgba(141,54,255,.5))}
.foundation .fbase{background:radial-gradient(120% 180% at 20% 0%,#2A0B49,#12031F 75%);border-radius:14px;padding:18px 22px;text-align:center;color:#fff}
.foundation .fbase b{display:block;font-size:20px;letter-spacing:-.015em;background:var(--grad,linear-gradient(90deg,#FF8F77,#DDB9FF));-webkit-background-clip:text;background-clip:text;color:transparent}
.foundation .fbase span{font-size:12px;color:rgba(255,255,255,.7)}

/* --- Fuer-wen: Persona-Akzentfarbe zieht sich durch die Seite --- */
body.pac .kicker{color:var(--pac)}
body.pac .checkrow .ck{background:var(--pac)}
body.pac .btn-p{background:var(--pac);box-shadow:0 10px 26px -12px var(--pac)}
body.pac .card.accent{--ac:var(--pac)}

/* --- Presse: Download-Liste --- */
.dlist{display:grid;gap:10px}
.dl{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:14px 18px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.dl:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--purple)}
.dl .dico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none}
.dl .dtxt{flex:1;min-width:0}
.dl .dtxt b{display:block;font-size:14.5px}
.dl .dtxt em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-55)}
.dl .dget{font-size:13px;font-weight:700;color:var(--purple-700);white-space:nowrap}

/* --- Presse: Ansprechpartnerin-Karte --- */

/* --- Service: Google-Maps-Karte --- */
.mapcard{border-radius:var(--rad);overflow:hidden;border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.mapcard iframe{display:block;width:100%;height:300px;border:0}

/* --- Warum-CPT: Fundament-Grafik v2 (Skyline auf leuchtendem Fundament) --- */
.foundation2{position:relative;background:radial-gradient(130% 170% at 22% 0%,#2A0B49,#12031F 78%);border-radius:var(--rad);box-shadow:var(--shadow);overflow:hidden;padding:36px 30px 0}
.foundation2::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(64deg,rgba(255,255,255,.045) 0 1px,transparent 1px 26px),repeating-linear-gradient(116deg,rgba(255,255,255,.045) 0 1px,transparent 1px 26px);pointer-events:none}
.fsky{display:flex;align-items:flex-end;gap:10px;height:250px;position:relative}
.fp{flex:1;height:var(--h);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 72%,#ffffff),var(--c) 55%);border-radius:10px 10px 0 0;display:flex;flex-direction:column;align-items:center;padding:12px 4px 12px;gap:10px;min-width:0;box-shadow:0 -6px 30px -14px var(--c);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.fp:hover{transform:translateY(-8px)}
.fp .mk{width:11px;height:11px;flex:none}
.fp span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;letter-spacing:.02em;color:#fff;flex:1;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}
.fbase2{position:relative;margin:0 -30px;padding:20px 26px 24px;text-align:center;color:#fff;background:linear-gradient(90deg,var(--orange),#C650A0 48%,var(--purple));box-shadow:0 -16px 60px -10px rgba(255,106,54,.5)}
.fbase2 b{display:block;font-size:21px;letter-spacing:-.015em;color:#fff}
.fbase2 span{font-size:12.5px;color:rgba(255,255,255,.9)}

/* ============================================================
   Runde 10 (v3): Feedback CPT-Team via Miro
   ============================================================ */

/* --- Pillar-Wortmarke skaliert mit ihrer Spalte statt mit dem Viewport.
   Auf sehr breiten Screens lief "Transform" in die Textspalte: 5.6vw
   erreicht den 72px-Cap frueher, als die (gedeckelte) Spalte mitwaechst. --- */
.pillar-row>div:first-child{min-width:0;container-type:inline-size}
@media(min-width:900px){
  @supports (width:1cqw){
    .pillar-row .pword{font-size:clamp(34px,calc(21cqw - 14px),72px)}
  }
}

/* --- Bigstats: Ziffer wurde rechts angeschnitten. width:max-content misst
   die Advance-Breite inkl. negativem Letter-Spacing, background-clip:text
   malt nur innerhalb der Box; die Glyphen-Tinte ragt rechts darueber hinaus. --- */
.bigstat b{padding-right:.08em}

/* --- Bildleiste: Track auf Inhaltsbreite. Als inline-flex war .ptrack nur
   viewportbreit, translateX(-50%) fuhr also nur einen halben Viewport pro
   Durchlauf und der Loop sprang am Ende sichtbar zurueck. Mit max-content
   ist -50% exakt ein kompletter Bildersatz: nahtloser Loop, und die
   Laufzeit (site.js) ergibt ein bildanzahl-unabhaengiges Tempo. --- */
.photostrip .ptrack{width:max-content}

/* --- Who-Grid: vier Kacheln (neu: Gesellschaft) als 2x2 statt Auto-Fit,
   die laengeren Texte brauchen die Breite. --- */
@media(min-width:760px){.who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* --- KPI-Panel (Fuer-wen): heller Zahlen-Verlauf wie auf der Startseite,
   der Orange-Lila-Verlauf war auf dem dunklen Panel zu kontrastarm. --- */
.statpanel .grad{background:linear-gradient(90deg,#FFD9C2,#FF9E7E 45%,#DDB9FF);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 16px rgba(255,140,90,.35))}

/* --- Powered-by-Zeile der Stream-Karten groesser (asvin-Logo wurde
   angeschnitten). --- */
.stcard .pow{padding:14px 22px;gap:11px}
.stcard .pow svg{height:28px}
.stcard .pow img{height:28px !important;width:auto;object-fit:contain}

/* --- In-Ausarbeitung-Hinweis (Stream-Seiten, Runde 10): dezente Notice,
   verschwindet ueber DATA.streamsInProgress. --- */
/* Runde 10d (Felix): Hinweis sitzt mittig zwischen Stream-Hero und
   "Worum es geht" (Section-Padding oben 64px, darum unten ausgleichen) */
.wip-note{display:flex;align-items:flex-start;gap:12px;background:#FFF4EC;border:1px solid rgba(212,77,0,.25);border-radius:14px;padding:14px 18px;font-size:13.5px;line-height:1.55;color:var(--ink-70);margin-bottom:56px}
.wip-note .mk{width:10px;height:10px;flex:none;margin-top:5px}
.wip-note b{color:var(--orange-600)}

/* --- Aufsichtsrat-Kacheln (Runde 10, Platzhalter-Daten) --- */
.boardgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.boardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.boardgrid{grid-template-columns:1fr}}
.bcard{background:#fff;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;box-shadow:0 14px 40px -30px rgba(27,0,60,.3)}
.bcard img{width:100%;height:210px;object-fit:cover;object-position:center 22%}
.bcard .pad{padding:18px 20px 20px}
.bcard b{display:block;font-size:16px;letter-spacing:-.01em}
.bcard .brole{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-600);margin:6px 0 10px}
.bcard p{font-size:13.5px;line-height:1.55;color:var(--ink-70)}

/* --- Social-Proof-Raster (Runde 10, Platzhalter-Inhalte) --- */
@media(max-width:900px){.proofgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.proofgrid{grid-template-columns:1fr}}
.proof{border-radius:16px;overflow:hidden;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;text-decoration:none}
.proof.pvideo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proof.pvideo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,3,31,0) 30%,rgba(18,3,31,.78))}
.proof.pvideo .pplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(18,3,31,.55);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s,background .2s}
.proof.pvideo:hover .pplay{transform:translate(-50%,-50%) scale(1.1);background:var(--orange)}
.proof.pvideo .pcap{position:relative;z-index:2;color:#fff;font-weight:600;font-size:14.5px;padding:16px 18px}
.proof.pquote{background:#fff;border:1px solid var(--line-soft);padding:22px;justify-content:space-between;gap:14px}
.proof.pquote .pq{font-size:15.5px;line-height:1.5;letter-spacing:-.01em;font-weight:500}
.proof.pquote .psrc{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55)}
.proof.pstat{background:radial-gradient(70vw 40vh at 80% 0%,#2A0B49,#16052A 72%);padding:22px;justify-content:center;align-items:flex-start;gap:6px}
.proof.pstat b{font-size:44px;letter-spacing:-.03em;background:linear-gradient(90deg,#FFD9C2,#FF9E7E 45%,#DDB9FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.proof.pstat span{font-size:13px;color:rgba(255,255,255,.75);max-width:22ch;line-height:1.5}
.proof.psocial{background:#fff;border:1px solid var(--line-soft);padding:20px 22px;justify-content:flex-start;gap:12px}
.proof.psocial .phead{display:flex;align-items:center;gap:11px}
.proof.psocial .pav{width:38px;height:38px;border-radius:9px;background:#0A66C2;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.proof.psocial .phead b{display:block;font-size:14px}
.proof.psocial .phead span{display:block;font-size:11.5px;color:var(--ink-55)}
.proof.psocial p{font-size:13.5px;line-height:1.55;color:var(--ink-70)}

/* --- Ticket-Shop-Hinweis (Runde 10): Platzhalter, bis der
   Streavent-Ticket-Shop verknuepft und freigeschaltet ist. --- */
/* Runde 10c (Felix): Shop-Hinweis als dunkles Panel statt Pill-Karte */
.shoppanel{position:relative;overflow:hidden;text-align:center;background:radial-gradient(80vw 50vh at 78% 0%,#2A0B49,#16052A 72%);border-radius:24px;padding:64px 48px;box-shadow:0 30px 70px -40px rgba(18,3,31,.7)}
.shoppanel h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.025em;margin-bottom:14px;color:#fff;position:relative}
.shoppanel p{font-size:16px;line-height:1.7;color:rgba(243,238,255,.78);max-width:52ch;margin:0 auto;position:relative}
.shoppanel .cta-row{position:relative}
.btn.btn-w{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn.btn-w:hover{background:rgba(255,255,255,.2)}
@media(max-width:700px){.shoppanel{padding:40px 24px}}

/* --- "Bekannt aus"-Leiste im Presse-Hero (Runde 10): Wortmarken als
   Platzhalter, bis echte Logo-Dateien der Medien vorliegen. --- */
.medialogos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 34px;margin-top:34px}
.medialogos .mlabel{flex-basis:100%;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-40)}
.medialogos .ml{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink-40);filter:grayscale(1);white-space:nowrap}
@media(max-width:700px){.medialogos{gap:10px 22px}.medialogos .ml{font-size:15px}}

/* --- Pressestimmen-Kacheln (Runde 10): echte Artikel-Screenshots mit
   den Logos der Medien im Bild, Klick oeffnet den Original-Beitrag. --- */
.pressgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px;padding:10px 0}
.pressgrid .presscard:nth-child(3n+1){transform:rotate(-1.6deg)}
.pressgrid .presscard:nth-child(3n+2){transform:rotate(1.2deg) translateY(8px)}
.pressgrid .presscard:nth-child(3n+3){transform:rotate(-.8deg) translateY(-6px)}
.pressgrid .presscard:hover{transform:rotate(0deg) translateY(-4px) scale(1.02)}
@media(max-width:900px){.pressgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pressgrid{grid-template-columns:1fr}}
.presscard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;text-decoration:none;box-shadow:0 18px 44px -28px rgba(27,0,60,.35);transition:transform .2s,box-shadow .2s}
.presscard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.presscard img{width:100%;height:190px;object-fit:cover;object-position:top;border-bottom:1px solid var(--line-soft);transition:opacity .15s}
.presscard:hover img{opacity:.92}
.presscard .pad{padding:16px 20px 18px;flex:1;display:flex;flex-direction:column;gap:7px}
.presscard b{font-size:15px;letter-spacing:-.01em}
.presscard p{font-size:13px;line-height:1.55;color:var(--ink-70);flex:1}
.presscard .tag{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-700)}

/* --- Presse-Kontakt: echtes Foto statt Initialen-Kreis, eckig im
   Site-Stil (keine runden Portraits auf der Website). --- */

/* --- Mobile-Pass (Runde 10) --- */

/* Safe-Area: Header und Mobile-Nav decken die Kamera-Aussparung neuer
   iPhones ab (viewport-fit=cover ist im Meta-Viewport gesetzt). */
header.site{padding-top:calc(13px + env(safe-area-inset-top))}
.mnav{padding-top:calc(20px + env(safe-area-inset-top))}

/* Pillar-Zeilen mobil wieder einspaltig: der globale Spalten-Override
   aus Runde 9 stand NACH der 900px-Regel und gewann deshalb auch mobil
   (Wortmarke und Text lagen uebereinander). */
@media(max-width:900px){
  .pillar-row{grid-template-columns:1fr;gap:12px}
  .pillar-row p{max-width:none}
}

/* Kompaktere Abstaende + Zentrierung der Section-Koepfe und CTAs. */
@media(max-width:700px){
  section.blk{padding:60px 0}
  .hero-split{padding:44px 0 52px;gap:26px}
  .hero-split>div:first-child{text-align:center}
  .hero-split .sub{margin-left:auto;margin-right:auto}
  .cta-row{justify-content:center}
  .blk .wrap>.kicker,.videobg .wrap>.kicker{display:flex;justify-content:center}
  .blk .wrap>.title,.videobg .wrap>.title{text-align:center;margin-left:auto;margin-right:auto}
  .blk .wrap>.sub{text-align:center;margin-left:auto;margin-right:auto}
  .blk .wrap>div.reveal:not(.veranstalter){text-align:center}
  .schips{justify-content:center}
  .veranstalter{text-align:left}
}

/* Rollen-Bilder: Fokus auf den oberen Bildbereich, dort sitzen die Koepfe.
   (Feedback: beim HR-Bild war der halbe Kopf abgeschnitten; die Datei ist
   zusaetzlich auf Kopf/Oberkoerper gecroppt.) --- */
.role-media img{object-position:center 18%}

/* Agenda-Liste mobil: lange Speaker-Rollen ("Praesidentin, Bundesamt ...")
   blaehten die Grid-Items ueber den Viewport hinaus (75px Quer-Overflow
   auf programm.html). Items hart auf Containerbreite begrenzen. */
@media(max-width:700px){
  .ag-sps{grid-template-columns:minmax(0,1fr)}
  .ag-sp{max-width:100%}
  .ag-sp .txt{overflow:hidden}
}

/* "Ich bin ...": Tabs mobil als 2-Spalten-Raster statt Seitwaerts-Scroller
   (dass man scrollen konnte, war nicht erkennbar). */
@media(max-width:820px){
  .role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible;padding-bottom:0}
  .role-tab{padding:12px 12px}
  .role-tab strong{font-size:13.5px}
  .role-tab span{font-size:10.5px;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* --- Veranstalter-Section (Runde 10, Iteration 6): eigene Section vor dem
   Footer in der Sektionssprache der Seite (Kicker + Titel + Sub), Logo als
   gekippte Karte im Stil der Pillar-Thumbs. Die Footer-Fussnote war dem
   Team zu leise fuer die Rolle von FTAPI. --- */
.vhost{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:center}
.vhost .sub{margin-top:0}
.vhost .btn{margin-top:24px}
/* Foto von Ari (CEO FTAPI) mit ueberlappender Logo-Karte: persoenlicher
   als das Logo allein (Feedback Felix). Optik wie die Pillar-Thumbs. */
.vhost-media{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 0 0 0}
.vhost-media .vfoto{position:relative;z-index:2;width:100%;max-width:280px;height:auto;border-radius:18px;transform:translateX(-46px) rotate(2deg);border:1px solid var(--line-soft);box-shadow:0 22px 50px -26px rgba(27,0,60,.5);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
/* Teamfoto (Runde 10, via Inbox) als zweite Karte hinter dem Buehnenfoto */
.vhost-media .vteam{position:absolute;z-index:1;top:4px;right:calc(50% - 218px);width:250px;height:auto;border-radius:14px;transform:rotate(-4deg);border:1px solid var(--line-soft);box-shadow:0 16px 40px -24px rgba(27,0,60,.45)}
.vhost-media .vlogo{position:absolute;z-index:3;left:calc(50% - 205px);bottom:64px;width:118px;height:auto;background:#fff;border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;transform:rotate(-4deg);box-shadow:0 16px 36px -20px rgba(27,0,60,.5)}
.vhost-media .vcap{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-70)}
.vhost:hover .vhost-media .vfoto{transform:translateX(-46px) rotate(0deg) scale(1.02)}
@media(max-width:760px){
  .vhost{grid-template-columns:1fr;gap:28px;text-align:center}
  .vhost .kicker{display:flex;justify-content:center}
  .vhost-media{padding-top:18px}
  .vhost-media .vfoto{max-width:230px;transform:translateX(-30px) rotate(2deg)}
  .vhost:hover .vhost-media .vfoto{transform:translateX(-30px) rotate(0deg) scale(1.02)}
  .vhost-media .vteam{width:175px;right:calc(50% - 160px)}
  .vhost-media .vlogo{left:calc(50% - 165px);bottom:52px;width:96px}
}

/* ---- Runde 10b: Presse-Slider (Feedback Felix 31.07.) ----
   Die Social-Proof-Section laeuft jetzt als Endlos-Band im Stil des
   Testimonial-Sliders auf streavent.de: Videos, Zitate, Zahlen und
   Artikel wechseln sich ab. Karten leicht verdreht wie die
   Veranstalter-Collage. Pausiert bei Hover, Inhalte statisch im HTML. */
.pslider{overflow:hidden;padding:30px 0 34px}
.pstrack{display:flex;align-items:center;gap:20px;width:max-content;animation:pressmove 128s linear infinite}
.pslider:hover .pstrack{animation-play-state:paused}
@keyframes pressmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pstrack .proof{flex:0 0 auto}
.pstrack .pvideo{width:300px;height:330px}
.pstrack .pquote{width:330px;min-height:250px}
.pstrack .pstat{width:260px;min-height:214px}
.pstrack .psocial{width:330px;min-height:250px}
.pstrack .ppress{width:300px;background:#fff;border:1px solid var(--line-soft);display:flex;flex-direction:column;justify-content:flex-start;box-shadow:0 14px 40px -30px rgba(27,0,60,.3)}
.pstrack .ppress img{width:100%;height:230px;object-fit:cover;object-position:top;display:block}
.pstrack .ppress .psrc{padding:14px 16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55)}
/* Querformat-Videokarte (ZDF-Thumbnail traegt eingebrannten Text,
   der im Hochformat-Crop unleserlich wuerde) */
.pstrack .pvideo.wide{width:420px;height:260px}
.pquote .pmark{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-55);font-weight:500}
/* Verdrehung + vertikaler Versatz, alternierend (8 Karten je Haelfte,
   Muster wiederholt sich nahtlos ueber die Loop-Kopie) */
.pstrack>*:nth-child(4n+1){transform:rotate(-1.8deg)}
.pstrack>*:nth-child(4n+2){transform:rotate(1.4deg) translateY(12px)}
.pstrack>*:nth-child(4n+3){transform:rotate(-1.1deg) translateY(-10px)}
.pstrack>*:nth-child(4n+4){transform:rotate(2deg) translateY(8px)}
@media(max-width:640px){
  .pstrack{gap:14px}
  .pstrack .pvideo{width:260px;height:300px}
  .pstrack .pquote,.pstrack .psocial{width:290px}
  .pstrack .ppress{width:264px}
  .pstrack .ppress img{height:200px}
}

/* ---- Runde 10c: Agenda-Stundenlinien + Anker-Offset ---- */
.ag-linelayer{position:absolute;top:0;left:0;right:0;pointer-events:none;z-index:0;grid-column:1/-1}
.ag-hline{position:absolute;left:56px;right:0;border-top:1px dashed var(--line);opacity:.6}

/* ---- Runde 10c: echte Medien-Logos (Inbox Felix) ---- */
.medialogos .mlimg{height:24px;width:auto;filter:grayscale(1);opacity:.66;transition:filter .2s,opacity .2s}
.medialogos .mlimg:hover{filter:none;opacity:1}
.medialogos .mlsvg{height:20px}
@media(max-width:700px){.medialogos .mlimg{height:18px}}
.pquote .pmark img{height:20px;width:auto;display:block;filter:grayscale(1);opacity:.75}
.proof.psocial img.pav{width:38px;height:38px;border-radius:9px;flex:none;object-fit:contain}

/* ---- Runde 10f: freie Sponsoring-Plaetze (Thomas-Termin) ---- */
.ptile.open{border:1.5px dashed var(--line);background:rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-decoration:none;transition:border-color .2s,background .2s,transform .15s}
.ptile.open .plus{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink-40);color:var(--ink-55);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;transition:border-color .2s,color .2s,transform .25s}
.ptile.open .openslot{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55)}
.ptile.open:hover{border-color:var(--orange);background:#FFF4EC;transform:translateY(-2px)}
.ptile.open:hover .plus{border-color:var(--orange);color:var(--orange-600);transform:rotate(90deg)}
.tier-label .openinfo{font-style:normal;margin-left:auto;color:var(--orange-600);letter-spacing:.1em}
/* Spezifitaets-Fix: Spalten-Layout der Frei-Platz-Kacheln gewinnt gegen .wall-Regeln */
.wall .ptile.open{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:14px}

/* ---- Runde 10g: Stimmen aus der CPT (Video-Testimonial-Slider) ---- */
.pstrack .vcard{width:236px;height:396px;border-radius:16px;overflow:hidden;position:relative;flex:0 0 auto;background:var(--purple-50);box-shadow:0 18px 44px -28px rgba(27,0,60,.4)}
.vcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,3,31,0) 40%,rgba(18,3,31,.82))}
.vcard .vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:rgba(18,3,31,.5);border:1px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;z-index:2;opacity:.85}
.vcard .vmeta{position:absolute;left:0;right:0;bottom:0;padding:16px;z-index:2;color:#fff}
.vcard .vmeta b{display:block;font-size:14.5px}
.vcard .vmeta span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:4px;display:block}
@media(max-width:640px){.pstrack .vcard{width:210px;height:350px}}

/* ---- Runde 10g: Board-Initialen-Avatar + LinkedIn-Post-Karte ---- */
.bcard .bini{width:100%;height:210px;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--orange),var(--purple));letter-spacing:.02em}
a.proof.psocial{color:var(--ink)}
a.proof.psocial p{color:var(--ink-70)}
.proof.psocial .psrc{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-700);margin-top:auto}
.proof.psocial .phead span{font-size:12px;color:var(--ink-55)}
/* Zentrier-Fix Frei-Platz-Kacheln (Felix): Text immer mittig, egal
   welche Wall-Groessen-Regel sonst greift */
.wall .ptile.open{text-align:center}
.wall .ptile.open .openslot{width:100%;text-align:center}
.wall .ptile.open .plus{margin:0 auto}
/* Video-Playback in der Stimmen-Karte */
.vcard video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:4;background:#000}
.vcard.playing::after,.vcard.playing .vplay,.vcard.playing .vmeta{display:none}
.pslider.paused .pstrack{animation-play-state:paused}
.vcard{cursor:pointer}

/* Runde 10h (Felix): klare Groessen-Kaskade der Sponsor-Stufen
   (Co-Host > Platin > Gold > Silber > Connect) */
.wall.m .ptile{min-height:112px}
.wall.s .ptile{min-height:92px}
.wall.xs .ptile{min-height:72px}
.wall.xs .ptile img{max-height:22px}
.wall.xs .ptile .txt{font-size:13px}
.wall.xs .ptile.open .plus{width:20px;height:20px;font-size:13px}
.wall.xs .ptile.open .openslot{font-size:9.5px;letter-spacing:.1em}

/* Runde 10h (Felix): Aufsichtsrat sind 5 Personen -> eine Reihe auf
   Desktop statt 3+2-Grid mit Luecke */
.boardgrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.bcard img,.bcard .bini{height:180px}
.bcard .pad{padding:16px 16px 18px}
.bcard .pad p{font-size:12.5px;line-height:1.55}
.bcard .pad b{font-size:15px}
@media(max-width:1100px){.boardgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.boardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Runde 10i (Felix): Co-Host-Wortmarke fuellt die Box, kleinere Stufen
   mit angepasstem Abstand */
.wall.xl .ptile .txt{font-size:clamp(38px,4.2vw,56px);font-weight:700;letter-spacing:-.02em}
.wall.xl .ptile img{max-height:96px;max-width:70%}
.wall.xs .ptile.open{gap:9px}

/* ---- Runde 10i: Video-Lightbox + Aftermovie-Karte ---- */
.vlightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:4vmin;background:rgba(18,3,31,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.vlightbox video{max-width:min(1100px,92vw);max-height:86vh;border-radius:18px;box-shadow:0 40px 120px -30px rgba(0,0,0,.7);background:#000}
.vlightbox .vclose{position:absolute;top:22px;right:26px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.vlightbox .vclose:hover{background:rgba(255,255,255,.3)}
body.vlb-open{overflow:hidden}
.amcard{position:relative;display:block;width:100%;aspect-ratio:16/9;cursor:pointer;background:#12031F}
.amcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.amcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,3,31,0) 45%,rgba(18,3,31,.7))}
.amcard .pplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(18,3,31,.55);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s,background .2s}
.amcard:hover .pplay{transform:translate(-50%,-50%) scale(1.1);background:var(--orange)}
.amcard .amlabel{position:absolute;left:20px;bottom:16px;z-index:2;color:#fff;font-weight:600;font-size:15px}
.proof.pvideo[data-lightbox]{cursor:pointer}


/* ---- Runde 10n (Felix, iPhone mit Dynamic Island): iOS pinnt
   Header/Overlay unter der Statusbar-Zone, die Seite scrollte darueber
   sichtbar durch. Deckstreifen direkt UEBER Header und Mobile-Nav
   fuellen die Zone in der jeweiligen Optik, unabhaengig von
   env(safe-area-inset-top). Ausserhalb des Viewports auf Geraeten ohne
   Notch, dort wirkungslos. ---- */
header.site::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:160px;background:rgba(250,248,244,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:none;pointer-events:none}
.mnav::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:160px;background:#22083D;pointer-events:none}
