/* ============================================================
   RAPHAEL STENZHORN — KI WORKSHOP LANDINGPAGE  ·  LIGHT THEME
   Brand Playbook palette · Outfit (display) + Inter (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* --- Brand: Gold --- */
  --gold:#BDA05E;
  --gold-light:#F1D18C;
  --gold-dark:#8B7232;
  --gold-deep:#735C1D;

  /* --- Brand: Schwarzblau --- */
  --ink:#14192D;          /* primary headings / dark */
  --ink-2:#3B3F56;        /* secondary text */
  --ink-soft:#5B6076;     /* body on light */
  --muted:#8A8FA3;        /* muted labels */

  /* --- Brand: Light neutrals --- */
  --white:#FFFFFF;
  --paper:#FBFBFC;        /* page background */
  --surface:#FFFFFF;      /* cards */
  --surface-2:#F4F5F8;    /* alt sections */
  --surface-3:#EDEFF4;    /* deeper alt */
  --gray:#DDDDDE;
  --gray-2:#C6CBDD;

  /* --- Lines --- */
  --line:#E6E8EF;
  --line-strong:#D7DAE3;
  --line-gold:rgba(189,160,94,.4);

  /* --- Effects --- */
  --shadow-sm:0 2px 8px rgba(20,25,45,.05);
  --shadow:0 18px 40px -20px rgba(20,25,45,.22);
  --shadow-lg:0 40px 90px -35px rgba(20,25,45,.32);
  --shadow-gold:0 16px 40px -14px rgba(189,160,94,.6);

  --grad-gold:linear-gradient(135deg,#F1D18C 0%,#C9A85F 45%,#BDA05E 70%,#9A7E3E 100%);
  --grad-gold-soft:linear-gradient(135deg,#F1D18C,#BDA05E);

  --container:1200px;
  --radius:18px;
  --radius-lg:26px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink-soft);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(189,160,94,.28);color:var(--ink)}

/* ---------- TYPOGRAPHY ---------- */
.display{font-family:'Outfit',sans-serif;font-weight:700;line-height:1;color:var(--ink);letter-spacing:-.02em}
.eyebrow{
  font-family:'Inter',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-dark);display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);border-radius:2px}
.eyebrow.center::before{display:none}

.gold-text{
  background:linear-gradient(120deg,#B89653,#8B7232);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}

h2.section-title{
  font-family:'Outfit',sans-serif;font-weight:700;
  font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.05;color:var(--ink);
  letter-spacing:-.02em;text-wrap:balance;
}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink-soft);max-width:62ch}

/* ---------- LAYOUT ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px;position:relative;z-index:1}
.section{padding-block:clamp(4rem,8vw,7rem);position:relative;z-index:1}
.section-head{max-width:760px;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head .eyebrow{margin-bottom:1.1rem}
.section-head p{margin-top:1.2rem;color:var(--ink-soft)}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:'Inter',sans-serif;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.05rem 2rem;border-radius:100px;border:0;cursor:pointer;
  font-size:1rem;letter-spacing:.005em;line-height:1.15;text-align:center;white-space:nowrap;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,background .25s;
}
.btn-primary{position:relative;color:#2A2206;
  background:radial-gradient(120% 140% at 30% 18%,rgba(255,255,255,.5),rgba(255,255,255,0) 46%),var(--grad-gold);
  box-shadow:0 12px 30px -10px rgba(189,160,94,.6),inset 0 0 0 1px rgba(255,255,255,.38),inset 0 2px 6px rgba(255,255,255,.45),0 0 20px rgba(241,209,140,.22)}
.btn-primary::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 0 rgba(241,209,140,.5);animation:btnHalo 2.9s ease-out infinite}
@keyframes btnHalo{0%{box-shadow:0 0 0 0 rgba(241,209,140,.28)}70%{box-shadow:0 0 0 12px rgba(241,209,140,0)}100%{box-shadow:0 0 0 0 rgba(241,209,140,0)}}
@media(prefers-reduced-motion:reduce){.btn-primary::after{animation:none}}
.btn-primary:hover{transform:translateY(-3px);
  box-shadow:0 20px 44px -16px rgba(189,160,94,.7),inset 0 0 0 1px rgba(255,255,255,.42),inset 0 2px 6px rgba(255,255,255,.5),0 0 26px rgba(241,209,140,.3)}
.btn-ghost{background:var(--white);color:var(--ink);border:1px solid var(--line-strong)}
.btn-ghost:hover{background:var(--surface-2);transform:translateY(-2px);border-color:var(--gold)}
.btn-lg{padding:1.25rem 2.5rem;font-size:1.08rem}
.btn-block{display:flex;width:100%}
.btn .arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}
.cta-full{display:inline}
.cta-short{display:none}

/* ---------- ANNOUNCEMENT BAR ---------- */
.topbar{
  background:var(--ink);color:var(--gray);
  font-size:.83rem;letter-spacing:.02em;position:relative;z-index:30;
}
.topbar .container{display:flex;align-items:center;justify-content:center;gap:.7rem;padding-block:.7rem;text-align:center;flex-wrap:wrap}
.live-dot{width:8px;height:8px;border-radius:50%;background:#E0573B;box-shadow:0 0 0 0 rgba(224,87,59,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(224,87,59,.6)}70%{box-shadow:0 0 0 9px rgba(224,87,59,0)}100%{box-shadow:0 0 0 0 rgba(224,87,59,0)}}
.topbar strong{color:#fff;font-weight:700}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:25;transition:background .3s,border-color .3s,box-shadow .3s;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-block:1rem}
.brand{display:flex;align-items:center;gap:.8rem;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:-.01em;font-size:1.08rem;color:var(--ink);white-space:nowrap;line-height:1.05}
.brand .logo-mark{height:48px;width:auto;flex:none}
.brand .mark + span{display:inline-flex;flex-direction:column;justify-content:center}
.brand small{display:block;font-family:'Inter';font-size:.58rem;letter-spacing:.26em;color:var(--gold-dark);font-weight:600;margin-top:1px}
.header-cta{display:flex;align-items:center;gap:1.4rem}
.header-cta .when{font-size:.82rem;color:var(--muted);font-weight:600}
.header-cta .when b{color:var(--ink)}
@media(max-width:760px){.header-cta .when{display:none}}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(2.2rem,4vw,3.4rem) clamp(3rem,5vw,4rem);background:var(--paper)}
.hero-logo{height:64px;width:auto;display:block;margin-bottom:1.4rem}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(241,209,140,.28), transparent 60%),
    radial-gradient(700px 600px at -8% 12%, rgba(20,25,45,.04), transparent 55%);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:center}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}}

.hero h1{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.025em;color:var(--ink);
  margin:1.3rem 0 1.3rem;hyphens:auto;
}
.hero p.sub{font-size:clamp(1.08rem,1.55vw,1.32rem);color:var(--ink-2);max-width:42ch;font-weight:400;line-height:1.55}
.hero p.sub b{color:var(--ink);font-weight:700}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

.event-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.meta-chip{display:inline-flex;align-items:center;gap:.55rem;background:var(--white);border:1px solid var(--line-strong);
  padding:.6rem 1rem;border-radius:100px;font-size:.86rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm);white-space:nowrap}
.meta-chip svg{width:16px;height:16px;color:var(--gold-dark);flex:none}
.meta-chip .zoom{font-weight:800;color:#2D8CFF;letter-spacing:.01em}

/* hero visual (family photo) */
.hero-visual{position:relative}
.hero-photo{display:block;width:100%;height:clamp(440px,52vw,580px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  border:1px solid var(--line);background:var(--surface-2);overflow:hidden;position:relative}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;transform:scale(1.61);transform-origin:58% 45%}
.hero-float{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);padding:.55rem .75rem;display:flex;align-items:center;gap:.55rem}
.hero-float.rating{left:-22px;bottom:34px}
.hero-float.rating .stars{color:var(--gold);font-size:.85rem;letter-spacing:.5px;line-height:1}
.hero-float.rating b{color:var(--ink);font-family:'Outfit';font-weight:700;font-size:.82rem;display:block}
.hero-float.rating small{color:var(--muted);font-size:.66rem;font-weight:600;white-space:nowrap}
.hero-float.rating small a{color:inherit;text-decoration:none;transition:color .2s}
.hero-float.rating small a:hover{color:var(--gold-dark);text-decoration:underline}
.hero-float.benefit{right:-18px;top:30px;background:var(--ink);border-color:rgba(255,255,255,.1)}
.hero-float.benefit .big{font-family:'Outfit';font-weight:700;color:var(--gold-light);font-size:1.5rem;line-height:1}
.hero-float.benefit small{color:var(--gray);font-size:.72rem;font-weight:600;max-width:13ch;display:block}
.hero-float.bonus{left:-22px;bottom:34px;max-width:230px;gap:.6rem}
.hero-float.bonus .bn-ic{width:34px;height:34px;border-radius:10px;background:var(--grad-gold);color:#2A2206;display:grid;place-items:center;flex:none;box-shadow:var(--shadow-gold)}
.hero-float.bonus .bn-ic svg{width:19px;height:19px}
.hero-float.bonus b{display:block;font-family:'Outfit';font-weight:700;color:var(--ink);font-size:.84rem;line-height:1.1}
.hero-float.bonus small{display:block;color:var(--gold-dark);font-size:.71rem;font-weight:600;line-height:1.25;margin-top:2px}
@media(max-width:560px){.hero-float.bonus{left:8px}.hero-float.benefit{right:8px}}

/* bonus strip */
.bonus-strip{display:flex;align-items:center;gap:1.1rem;background:linear-gradient(110deg,rgba(241,209,140,.22),rgba(255,255,255,.4));
  border:1px solid var(--line-gold);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-top:2.6rem;box-shadow:var(--shadow-sm)}
.bonus-strip .bicon{width:46px;height:46px;border-radius:12px;background:var(--grad-gold);display:grid;place-items:center;color:#2A2206;flex:none;box-shadow:var(--shadow-gold)}
.bonus-strip .bicon svg{width:24px;height:24px}
.bonus-strip p{font-size:.95rem;color:var(--ink-2);margin:0}
.bonus-strip .flag{font-family:'Outfit';font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.02em;font-size:.82rem;display:block;margin-bottom:1px}
.bonus-strip b{color:var(--gold-dark);font-weight:700}

/* press / bekannt aus */
.press{border-top:1px solid var(--line);margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:2rem}
.press .label{text-align:center;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:1.4rem}
.press-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.6rem,4vw,3.2rem)}
.press-logos img{height:30px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .25s,opacity .25s}
.press-logos img:hover{filter:grayscale(0);opacity:1}
@media(max-width:560px){.press-logos{gap:.9rem 1.1rem}.press-logos img{height:19px}}

/* ---------- COUNTDOWN ---------- */
.countdown-band{background:var(--ink);position:relative;z-index:1}
.countdown-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0,rgba(189,160,94,.18),transparent 65%)}
.countdown-band .container{padding-block:clamp(2.4rem,5vw,3.4rem);text-align:center;position:relative}
.countdown-label{font-family:'Outfit';font-weight:600;letter-spacing:.06em;color:var(--gold-light);font-size:1rem;margin-bottom:1.4rem}
.countdown{display:flex;justify-content:center;gap:clamp(.6rem,2vw,1.2rem)}
.cd-unit{min-width:88px}
.cd-num{font-family:'Outfit';font-weight:700;font-size:clamp(2.4rem,6vw,4rem);line-height:1;color:#fff;
  font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.5rem .2rem;
  background:rgba(255,255,255,.04)}
.cd-label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-2);margin-top:.6rem;font-weight:700}
.cd-sep{font-family:'Outfit';font-size:clamp(1.8rem,4vw,3rem);color:var(--gold);opacity:.5;align-self:flex-start;line-height:1.6}
@media(max-width:560px){.cd-sep{display:none}.countdown{gap:.5rem}.cd-unit{min-width:68px}}

/* ---------- PHASES ---------- */
.phases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:880px){.phases-grid{grid-template-columns:1fr}}
.phase-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.2rem 2rem;
  position:relative;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s;box-shadow:var(--shadow-sm)}
.phase-card:hover{transform:translateY(-6px);border-color:var(--line-gold);box-shadow:var(--shadow)}
.phase-num{font-family:'Outfit';font-weight:800;font-size:4.5rem;line-height:.8;color:transparent;
  -webkit-text-stroke:1.5px rgba(189,160,94,.35);position:absolute;top:1.2rem;right:1.4rem}
.phase-tag{font-family:'Inter';font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark)}
.phase-icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,rgba(241,209,140,.4),rgba(189,160,94,.18));
  border:1px solid var(--line-gold);display:grid;place-items:center;margin:1.3rem 0;color:var(--gold-dark)}
.phase-icon svg{width:26px;height:26px}
.phase-card h3{font-family:'Outfit';font-weight:700;color:var(--ink);font-size:1.45rem;line-height:1.1;margin-bottom:.7rem;letter-spacing:-.01em;max-width:15ch}
.phase-card p{font-size:.97rem;color:var(--ink-soft)}

.phases-rail{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:3rem;flex-wrap:wrap}
.phases-rail .step{display:flex;align-items:center;gap:1rem;color:var(--ink-2);font-size:.85rem;font-weight:700;letter-spacing:.02em}
.phases-rail .dot{width:11px;height:11px;border-radius:50%;background:var(--grad-gold);box-shadow:0 0 0 4px rgba(189,160,94,.16)}
.phases-rail .line{width:clamp(30px,8vw,90px);height:2px;background:linear-gradient(90deg,var(--gold),rgba(189,160,94,.2))}

/* ---------- INFINITE GRID BACKGROUND (phases) ---------- */
.phases-section{overflow:hidden}
.grid-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.grid-layer{position:absolute;inset:-80px;
  background-image:
    linear-gradient(to right, var(--ink) 1px, transparent 1px),
    linear-gradient(to bottom, var(--ink) 1px, transparent 1px);
  background-size:40px 40px;
  animation:gridScroll 2.6s linear infinite;
  will-change:background-position}
.grid-faint{opacity:.05}
.grid-reveal{opacity:0;transition:opacity .4s ease;
  background-image:
    linear-gradient(to right, var(--gold-dark) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gold-dark) 1px, transparent 1px);
  -webkit-mask-image:radial-gradient(260px circle at var(--mx,-300px) var(--my,-300px), #000 0%, transparent 70%);
          mask-image:radial-gradient(260px circle at var(--mx,-300px) var(--my,-300px), #000 0%, transparent 70%)}
.grid-bg.active .grid-reveal{opacity:.55}
@keyframes gridScroll{from{background-position:0 0,0 0}to{background-position:40px 40px,40px 40px}}
.grid-glow{position:absolute;inset:0}
.grid-glow .glow{position:absolute;border-radius:50%;filter:blur(120px)}
.glow-gold{right:-12%;top:-22%;width:46%;height:46%;background:rgba(189,160,94,.30)}
.glow-gold2{right:8%;top:-8%;width:22%;height:22%;background:rgba(241,209,140,.30);filter:blur(90px)}
.glow-ink{left:-12%;bottom:-26%;width:46%;height:46%;background:rgba(20,25,45,.16)}
@media(prefers-reduced-motion:reduce){.grid-layer{animation:none}}

/* ---------- TRANSFORMATION (before/after) ---------- */
.transform{background:var(--surface-2);border-block:1px solid var(--line)}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;position:relative}
@media(max-width:880px){.ba-grid{grid-template-columns:1fr}}
.ba-col{border-radius:var(--radius-lg);padding:2.2rem;position:relative;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}
.ba-before{border:1px solid #EAD7CF}
.ba-after{border:1px solid var(--line-gold);background:linear-gradient(170deg,rgba(241,209,140,.12),var(--surface))}
.ba-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.6rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.ba-head .badge{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;flex:none}
.ba-before .badge{background:#FBEDE7;border:1px solid #EAD7CF}
.ba-after .badge{background:linear-gradient(135deg,rgba(241,209,140,.5),rgba(189,160,94,.2));border:1px solid var(--line-gold)}
.ba-head h3{font-family:'Outfit';font-weight:700;font-size:1.4rem;letter-spacing:-.01em;line-height:1.05}
.ba-before h3{color:#B5654A}
.ba-after h3{color:var(--gold-dark)}
.ba-head small{display:block;font-family:'Inter';font-size:.72rem;letter-spacing:.16em;color:var(--muted);font-weight:700;margin-top:.5rem}
.ba-list{list-style:none;display:flex;flex-direction:column;gap:1.05rem}
.ba-list li{display:flex;gap:.9rem;font-size:.97rem;line-height:1.5}
.ba-list li .ic{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.ba-before .ic{background:#FBEDE7;color:#C76B4F}
.ba-after .ic{background:linear-gradient(135deg,rgba(241,209,140,.6),rgba(189,160,94,.3));color:var(--gold-deep)}
.ba-list li .ic svg{width:14px;height:14px}
.ba-list b{color:var(--ink);font-weight:700}
.ba-before .ba-list{color:var(--ink-soft)}
.ba-after .ba-list{color:var(--ink-2)}
.ba-arrow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:62px;height:62px;border-radius:50%;
  background:var(--grad-gold);display:grid;place-items:center;box-shadow:var(--shadow-gold);color:#2A2206;border:4px solid var(--surface-2)}
.ba-arrow svg{width:26px;height:26px}
@media(max-width:880px){.ba-arrow{position:static;transform:none;margin:.4rem auto;rotate:90deg}}

/* ---------- TRANSFORMATION — EMOTIONAL (image background) ---------- */
.transform-emo{position:relative;overflow:hidden;background:#0B0D14;border-block:1px solid rgba(0,0,0,.5)}
.ba-bg{position:absolute;inset:0;z-index:0;background:url('assets/transformation-office-v2.webp') center/cover no-repeat}
.ba-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,transparent 44%,rgba(255,240,212,.12) 72%,rgba(255,242,216,.24) 100%),
  linear-gradient(180deg,rgba(7,8,14,.86) 0%,rgba(7,8,14,.5) 24%,rgba(7,8,14,.26) 46%,rgba(7,8,14,.30) 62%,rgba(7,8,14,.72) 100%),
  radial-gradient(120% 66% at 50% 7%,rgba(7,8,14,.6),transparent 48%)}
.transform-emo>.container{position:relative;z-index:2}
.transform-emo .section-head{text-shadow:0 2px 30px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.6)}
.transform-emo .section-title{color:#fff}
.transform-emo .section-title .gold-text{background:none;-webkit-text-fill-color:#fff;color:#fff;-webkit-background-clip:initial;background-clip:initial}
.transform-emo .eyebrow.center{color:var(--gold-light)}

/* glass cards */
.transform-emo .ba-col{background:none;overflow:visible;box-shadow:0 34px 70px -28px rgba(0,0,0,.85);
  -webkit-backdrop-filter:blur(9px) saturate(1.05);backdrop-filter:blur(9px) saturate(1.05)}
.transform-emo .ba-before{background:linear-gradient(180deg,rgba(17,18,24,.78),rgba(11,12,18,.86));
  border:1px solid rgba(255,118,80,.30)}
.transform-emo .ba-after{background:linear-gradient(180deg,rgba(255,252,247,.97),rgba(255,249,240,.94));
  border:1px solid rgba(214,170,90,.6)}

/* bigger headlines + dark-mode text */
.transform-emo .ba-head{border-bottom-color:rgba(255,255,255,.15)}
.transform-emo .ba-head .badge{width:64px;height:64px;border-radius:16px;font-size:2.15rem}
.transform-emo .ba-head h3{font-size:clamp(1.7rem,2.7vw,2.15rem)}
.transform-emo .ba-before h3{color:#FF8A66}
.transform-emo .ba-after h3{color:var(--gold-dark)}
.transform-emo .ba-before .ba-head small{color:rgba(255,255,255,.52)}
.transform-emo .ba-after .ba-head{border-bottom-color:rgba(20,25,45,.14)}
.transform-emo .ba-after .ba-head small{color:var(--muted)}
.transform-emo .ba-before .badge{background:rgba(255,118,80,.16);border:1px solid rgba(255,118,80,.4)}
.transform-emo .ba-after .badge{background:linear-gradient(135deg,rgba(241,209,140,.85),rgba(189,160,94,.5));border:1px solid rgba(189,160,94,.5)}
.transform-emo .ba-before .ba-list{color:#D8D3CF}
.transform-emo .ba-after .ba-list{color:var(--ink-2)}
.transform-emo .ba-before .ba-list b{color:#fff}
.transform-emo .ba-after .ba-list b{color:var(--ink)}
.transform-emo .ba-before .ic{background:rgba(255,118,80,.16);color:#FF8A66}
.transform-emo .ba-after .ic{background:linear-gradient(135deg,rgba(241,209,140,.7),rgba(189,160,94,.42));color:var(--gold-deep)}
.transform-emo .ba-arrow{width:84px;height:84px;border:none;color:#3A2D06;
  background:radial-gradient(circle at 34% 28%,var(--gold-light) 0%,var(--gold) 52%,var(--gold-dark) 100%);
  box-shadow:0 10px 26px -8px rgba(20,25,45,.55),inset 0 0 0 1px rgba(255,255,255,.4),inset 0 2px 6px rgba(255,255,255,.45)}
.transform-emo .ba-arrow svg{width:32px;height:32px;stroke-width:2.4;filter:drop-shadow(0 1px 1px rgba(255,255,255,.4))}
.transform-emo .ba-arrow::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(241,209,140,.45);pointer-events:none}
@media(max-width:880px){.transform-emo .ba-arrow{width:72px;height:72px}}

/* ---------- EXPECT (learning) ---------- */
.has-grid{overflow:hidden}
.learn-core{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:clamp(2rem,4vw,3rem)}
@media(max-width:860px){.learn-core{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.learn-core{grid-template-columns:1fr}}
.core-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.35rem;
  box-shadow:var(--shadow-sm);text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;
  transition:transform .35s,border-color .35s,box-shadow .35s}
.core-card:hover{transform:translateY(-5px);border-color:var(--line-gold);box-shadow:var(--shadow)}
.cc-ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;color:var(--gold-dark);
  background:linear-gradient(135deg,rgba(241,209,140,.4),rgba(189,160,94,.18));border:1px solid var(--line-gold)}
.cc-ic svg{width:24px;height:24px}
.core-card h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.06rem;line-height:1.2;color:var(--ink);
  letter-spacing:-.01em;text-wrap:balance}
.core-card p{font-size:.88rem;color:var(--ink-soft);line-height:1.5;text-wrap:pretty}

.ki-spotlight{position:relative;overflow:hidden;margin-top:1.3rem;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,#181C30 0%,#0F1322 100%);
  border:1px solid rgba(241,209,140,.3);padding:clamp(1.8rem,4vw,2.8rem);box-shadow:var(--shadow-lg)}
.kis-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 90% at 88% 0%,rgba(241,209,140,.22),transparent 60%),radial-gradient(50% 80% at 6% 100%,rgba(189,160,94,.14),transparent 60%)}
.kis-head{position:relative;max-width:640px}
.kis-label{display:inline-flex;align-items:center;gap:.5rem;font-family:'Inter',sans-serif;font-weight:700;font-size:.74rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.9rem}
.kis-label svg{width:16px;height:16px}
.kis-head h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.15;
  color:#fff;letter-spacing:-.01em;text-wrap:balance}
.kis-cards{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.7rem}
@media(max-width:720px){.kis-cards{grid-template-columns:1fr}}
.ki-card{display:flex;gap:1rem;align-items:flex-start;background:rgba(255,255,255,.05);
  border:1px solid rgba(241,209,140,.22);border-radius:16px;padding:1.4rem 1.5rem;
  transition:transform .35s,border-color .35s,background .35s}
.ki-card:hover{transform:translateY(-4px);border-color:rgba(241,209,140,.5);background:rgba(255,255,255,.08)}
.kc-ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#3A2D06;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));box-shadow:0 6px 18px -6px rgba(241,209,140,.6)}
.kc-ic svg{width:23px;height:23px}
.ki-card h4{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.12rem;color:#fff;margin-bottom:.35rem;letter-spacing:-.01em}
.ki-card p{font-size:.94rem;color:rgba(255,255,255,.72);line-height:1.55}

/* ---------- SPEAKER (Über mich) ---------- */
.speaker{background:linear-gradient(180deg,var(--surface-2),var(--paper) 60%);border-block:1px solid var(--line)}
.speaker .eyebrow{color:var(--gold-dark)}
.speaker .eyebrow::before{display:none}
.speaker .section-title{color:var(--ink)}
.speaker-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:880px){.speaker-grid{grid-template-columns:1fr}}

.speaker-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.05fr 1.05fr 1.35fr;
  gap:.7rem;aspect-ratio:1/1.2}
.speaker-collage figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);position:relative}
.speaker-collage img{width:100%;height:100%;object-fit:cover;display:block}
.sc-tall{grid-column:1;grid-row:1/3}
.sc-a{grid-column:2;grid-row:1}
.sc-b{grid-column:2;grid-row:2}
.sc-wide{grid-column:1/3;grid-row:3}
.sc-tall img{object-position:center 30%}
.sc-wide img{object-position:60% 18%}
.sc-badge{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:14px;padding:.7rem 1rem;box-shadow:var(--shadow);
  font-family:'Outfit',sans-serif;font-weight:700;color:var(--ink);font-size:.95rem;line-height:1.1}
.sc-badge small{display:block;font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-dark);font-weight:600;margin-top:.25rem}
@media(max-width:560px){.sc-badge{font-size:.85rem;padding:.55rem .8rem}}

.speaker-body .mission{font-size:clamp(1.15rem,1.8vw,1.45rem);color:var(--ink);font-weight:600;line-height:1.4;margin:1.3rem 0;font-family:'Outfit';letter-spacing:-.01em}
.speaker-body p{margin-bottom:1rem;color:var(--ink-soft)}
.speaker-body b{color:var(--ink);font-weight:700}
.speaker-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.8rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.speaker-stats .s b{display:block;font-family:'Outfit';font-weight:700;font-size:2.1rem;color:var(--gold-dark);line-height:1}
.speaker-stats .s small{color:var(--muted);font-size:.82rem;font-weight:600}

/* ---------- TESTIMONIALS ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
@media(max-width:880px){.testi-grid{grid-template-columns:1fr}}
.testi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;
  position:relative;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}
.testi-card .quote{font-family:'Outfit';font-size:3rem;color:var(--gold);opacity:.35;line-height:.6;height:1.4rem}
.testi-stars{color:var(--gold);letter-spacing:2px}
.testi-card p{font-size:1rem;color:var(--ink-2);font-style:italic;flex:1}
.testi-author{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}
.testi-author .av{width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-gold);
  display:grid;place-items:center;font-family:'Outfit';font-weight:700;color:var(--gold-dark);font-size:1.05rem}
.testi-author b{color:var(--ink);font-size:.95rem;display:block}
.testi-author small{color:var(--muted);font-size:.78rem}
.placeholder-note{font-size:.72rem;color:var(--muted);text-align:center;margin-top:1.4rem;letter-spacing:.03em}


/* ---------- PROVENEXPERT EMBED CARD ---------- */
.pe-embed-card{max-width:920px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;padding:clamp(1.4rem,3vw,2.4rem)}
.pe-embed{width:100%}
.pe-embed .pewl{max-width:100% !important;margin-inline:auto}

/* ---------- CTA BAND ---------- */
.cta-band{position:relative;overflow:hidden;isolation:isolate;text-align:center;background:var(--ink)}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(720px 420px at 50% 0,rgba(189,160,94,.25),transparent 62%)}
.cta-band .container{max-width:860px}
.cta-band .eyebrow{color:var(--gold-light);justify-content:center}
.cta-band h2{font-family:'Outfit';font-weight:800;color:#fff;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.04;
  margin-bottom:1.1rem;text-wrap:balance;letter-spacing:-.025em;margin-top:1.1rem}
.cta-band .when-line{color:var(--gray-2);font-size:1.1rem;margin-bottom:2rem}
.cta-band .when-line b{color:var(--gold-light)}
.cta-band .btn{margin-inline:auto}
.cta-mini-countdown{display:flex;justify-content:center;align-items:flex-start;gap:clamp(.5rem,1.6vw,1rem);margin-top:2.6rem}
.cta-mini-countdown .u{display:flex;flex-direction:column;align-items:center;min-width:74px}
.cta-mini-countdown .u span{display:block;width:100%;box-sizing:border-box;text-align:center;font-family:'Outfit';font-weight:700;
  color:#fff;font-size:clamp(2rem,4vw,2.8rem);line-height:1;font-variant-numeric:tabular-nums;
  border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.45rem .2rem;background:rgba(255,255,255,.04)}
.cta-mini-countdown .u small{display:block;font-family:'Inter';font-size:.66rem;letter-spacing:.16em;color:var(--gray-2);text-transform:uppercase;font-weight:700;margin-top:.55rem}
.cta-mini-countdown .cta-colon{font-family:'Outfit';font-weight:700;color:rgba(255,255,255,.4);font-size:clamp(2rem,4vw,2.8rem);line-height:1;padding:.45rem .1rem;border:1px solid transparent}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:820px;margin-inline:auto;display:flex;flex-direction:column;gap:.8rem}
.faq-item{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq-item.open{border-color:var(--line-gold);box-shadow:var(--shadow-sm)}
.faq-q{width:100%;background:none;border:0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.35rem 1.6rem;font-family:'Outfit';font-weight:600;font-size:1.08rem;color:var(--ink)}
.faq-q .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--gold-dark);transition:transform .35s,background .3s,color .3s}
.faq-item.open .pm{transform:rotate(45deg);background:var(--grad-gold);color:#2A2206;border-color:transparent}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{padding:0 1.6rem 1.4rem;color:var(--ink-soft);font-size:1rem;max-width:64ch}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--ink);border-top:1px solid var(--ink);padding-block:3rem 2rem}
.footer-top{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer .brand{color:#fff}
.footer-links{display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap}
.footer-links a{color:var(--gray-2);font-weight:600;font-size:.92rem;transition:color .2s}
.footer-links a:hover{color:var(--gold-light)}
.footer-bottom{padding-top:1.6rem;text-align:center;color:rgba(198,203,221,.5);font-size:.78rem;line-height:1.6}
.footer-bottom .copy{color:var(--gray-2);margin-bottom:.6rem;font-weight:600}

/* ---------- MODAL / OVERLAY FORM ---------- */
.overlay{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.overlay.open{display:flex}
.overlay-backdrop{position:absolute;inset:0;background:rgba(20,25,45,.55);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s}
.overlay.open .overlay-backdrop{opacity:1}
.overlay-card{position:relative;width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:2.4rem;box-shadow:var(--shadow-lg);transform:translateY(20px) scale(.98);opacity:0;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),opacity .35s;max-height:92vh;overflow-y:auto}
.overlay.open .overlay-card{transform:none;opacity:1}
.overlay-close{position:absolute;top:1.1rem;right:1.1rem;width:38px;height:38px;border-radius:50%;background:var(--surface-2);
  border:1px solid var(--line);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;font-size:1.1rem;transition:background .2s}
.overlay-close:hover{background:var(--surface-3)}
.overlay-flag{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--gold-dark);margin-bottom:1rem}
.overlay-card h3{font-family:'Outfit';font-weight:700;color:var(--ink);font-size:1.6rem;line-height:1.1;letter-spacing:-.01em}
.overlay-card .date{color:var(--gold-dark);font-weight:700;margin:.5rem 0 1.2rem;font-size:1.05rem}
.overlay-card .intro{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.5rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.82rem;font-weight:700;color:var(--ink-2);letter-spacing:.02em;margin-bottom:.5rem}
.field input{width:100%;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-2);
  color:var(--ink);font-family:'Inter';font-size:1rem;transition:border-color .2s,background .2s}
.field input:focus{outline:none;border-color:var(--gold);background:var(--white)}
.field input.invalid{border-color:#C76B4F}
.field .err{color:#C76B4F;font-size:.78rem;margin-top:.4rem;display:none}
.field.show-err .err{display:block}
.overlay-card .legal{font-size:.72rem;color:var(--muted);line-height:1.5;margin-top:1.2rem}
.overlay-card .legal a{color:var(--gold-dark)}
/* Desktop: wider card, date/time on one line */
@media (min-width:560px){
  .overlay-card{max-width:600px}
  .overlay-card h3{white-space:nowrap}
}
.overlay-success{text-align:center;padding:1rem 0}
.overlay-success .check{width:70px;height:70px;border-radius:50%;background:var(--grad-gold);display:grid;place-items:center;margin:0 auto 1.4rem;color:#2A2206}
.overlay-success .check svg{width:34px;height:34px}
.overlay-success h3{margin-bottom:.6rem}
.overlay-success p{color:var(--ink-soft)}

/* ---------- REVEAL ANIMATIONS ---------- */
@media (prefers-reduced-motion: no-preference){
  html.reveal-armed .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
  html.reveal-armed .reveal.d1{transition-delay:.08s}
  html.reveal-armed .reveal.d2{transition-delay:.16s}
  html.reveal-armed .reveal.d3{transition-delay:.24s}
  html.reveal-armed .reveal.d4{transition-delay:.32s}
  html.reveal-armed .reveal.in{opacity:1;transform:none}
}

@media(max-width:560px){
  .hero-actions .btn{width:100%}
  .section{padding-block:3.4rem}
}

/* ============================================================
   MOBILE-FIRST OPTIMIZATIONS
   Touch targets · sticky CTA · perf · spacing · overflow safety
   ============================================================ */

/* --- 1. TOUCH TARGETS (min 44–48px, generous spacing) --- */
.footer-links{gap:.3rem}
.footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.1rem;border-radius:10px}
.footer-links a:hover{background:rgba(255,255,255,.05)}
.faq-q{min-height:60px}
.overlay-close{width:44px;height:44px}
.hero-float.rating small a{display:inline-block;padding:.1rem 0}
.meta-chip{min-height:40px}

/* --- 2. PERFORMANCE: drop the animated grid + cursor reveal on mobile/touch --- */
/*    (constant background-position animation = battery drain; reveal needs a mouse) */
@media(max-width:760px), (hover:none){
  .grid-layer{animation:none}
  .grid-reveal{display:none}
  .grid-glow .glow{filter:blur(70px)}   /* lighter blur on mobile GPUs */
}

/* --- 4. TYPOGRAPHY & SPACING + horizontal-overflow safety --- */
@media(max-width:560px){
  .container{padding-inline:18px}
  /* hero logo: hide on mobile */
  .hero-logo{display:none}
  /* event meta: shrink the 3 pills so they sit in one row on mobile */
  .event-meta{flex-wrap:nowrap;gap:.3rem;margin-top:1.4rem;justify-content:center}
  .meta-chip{padding:.42rem .6rem;font-size:.7rem;gap:.3rem;min-height:0}
  .meta-chip svg{display:none}
  /* phases progress rail (Struktur · Entlastung · Gewinn): hide on mobile */
  .phases-rail{display:none}
  /* HERO: center everything on mobile only */
  .hero-copy{text-align:center}
  .hero .eyebrow{justify-content:center;font-size:.68rem;letter-spacing:.08em;white-space:nowrap}
  .hero .eyebrow::before{display:none}
  .hero-actions{justify-content:center}
  .hero p.sub{margin-inline:auto}
  /* hero headline: a bit bigger, centered; clamp keeps the forced breaks from clipping */
  .hero h1{font-size:clamp(1.95rem,8.6vw,2.7rem)}
  .hero p.sub{font-size:1.06rem}
  /* CTA mini-countdown: let the 4 units share the row, shrink with the screen */
  .cta-mini-countdown{gap:.35rem}
  .cta-mini-countdown .u{min-width:0;flex:1 1 0}
  .cta-mini-countdown .u span{font-size:1.55rem;padding:.4rem .1rem}
  .cta-mini-countdown .cta-colon{font-size:1.35rem;padding:.4rem 0}
  .cta-mini-countdown .u small{font-size:.58rem;letter-spacing:.06em}
  /* speaker stats wrap comfortably */
  .speaker-stats{gap:1.4rem}
  /* comparison/transformation section: portrait background on mobile */
  .transform-emo .ba-bg{background-image:url('assets/transformation-office-mobile-v2.png');background-position:center}
  .transform-cta-note{color:var(--ink) !important}
  .transform-emo .ba-bg::after{background:
    linear-gradient(180deg,rgba(7,8,14,.58) 0%,rgba(7,8,14,.18) 16%,rgba(7,8,14,0) 38%,rgba(7,8,14,0) 100%)}
  /* CTA buttons: shorter label on mobile so they don't overflow */
  .cta-full{display:none}
  .cta-short{display:inline}
  .btn-lg{padding:1.1rem 1.5rem;font-size:1rem}
}
@media(max-width:380px){
  .hero h1{font-size:1.8rem}
  .hero p.sub{font-size:1rem}
  .hero .eyebrow{font-size:.64rem;letter-spacing:.05em}
}
