/* Selbst gehostete Schriften (latin, variable Gewichte) - keine Verbindung zu Google */
@font-face{font-family:'Oswald';src:url('../fonts/oswald-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Public Sans';src:url('../fonts/public-sans-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap;}
:root{
    --bg:#F5F3EC; --surface:#FFFFFF; --surface-2:#EBE7DB;
    --ink:#0B2440; --ink-soft:#57616E;
    --red:#C6273A; --red-deep:#7A1620; --blue:#1C4F86; --gold:#A9822F; --on-red:#FFFFFF;
    --band-bg:#0B2440; --band-ink:#F2EFE6; --band-soft:#B7C2CF; --band-red:#FF8791; --band-line:rgba(242,239,230,.24);
    --line:rgba(11,36,64,.14);
    --shadow:0 24px 60px -24px rgba(11,36,64,.4);
    --mark-blue:#0B2440; --mark-snow:#FFFFFF;

    --font-display:'Oswald','Arial Narrow',Arial,sans-serif;
    --font-body:'Public Sans','Segoe UI',Helvetica,Arial,sans-serif;
    --font-mono:'JetBrains Mono','Consolas',monospace;

    --sp-1:.5rem; --sp-2:.75rem; --sp-3:1.1rem; --sp-4:1.75rem;
    --sp-5:2.5rem; --sp-6:4rem; --sp-7:6rem; --sp-8:9rem;

    --fs-eyebrow:.78rem; --fs-body:1.05rem; --fs-lead:1.3rem;
    --fs-h3:clamp(1.4rem,1.1rem + 1.1vw,2rem);
    --fs-h2:clamp(2.1rem,1.5rem + 2.6vw,3.6rem);
    --fs-h1:clamp(2.3rem,1.5rem + 5vw,6.4rem);
    --radius:3px; --container:1220px;
    --ease:cubic-bezier(.16,.84,.28,1);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#081422; --surface:#0E2138; --surface-2:#122943;
      --ink:#F2EFE6; --ink-soft:#A7B2C0;
      --red:#FF6672; --red-deep:#FFC2C7; --blue:#7FB2F0; --gold:#E7C266; --on-red:#081422; --band-bg:#0F2D52;
      --line:rgba(242,239,230,.16); --shadow:0 24px 64px -22px rgba(0,0,0,.65);
      --mark-blue:#0E2138; --mark-snow:#F2EFE6;
    }
  }
  :root[data-theme="dark"]{
    --bg:#081422; --surface:#0E2138; --surface-2:#122943;
    --ink:#F2EFE6; --ink-soft:#A7B2C0;
    --red:#FF6672; --red-deep:#FFC2C7; --blue:#7FB2F0; --gold:#E7C266; --on-red:#081422; --band-bg:#0F2D52;
    --line:rgba(242,239,230,.16); --shadow:0 24px 64px -22px rgba(0,0,0,.65);
    --mark-blue:#0E2138; --mark-snow:#F2EFE6;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  }
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  img,svg{max-width:100%;display:block;}
  a{color:inherit;} h1,h2,h3,p{margin:0;} ul{margin:0;padding:0;list-style:none;}
  .container{max-width:var(--container);margin:0 auto;padding-inline:clamp(1.25rem,4vw,3rem);}
  button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
  h1,h2,h3,.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-weight:700;line-height:1.14;text-wrap:balance;}
  .mono{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;}

  /* grain overlay */
  .grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* custom cursor (fine-pointer only) */
  .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:95;border-radius:50%;transform:translate(-50%,-50%);will-change:transform;}
  .cursor-dot{width:6px;height:6px;background:var(--red);}
  .cursor-ring{width:34px;height:34px;border:1px solid var(--ink);opacity:.5;transition:width .25s var(--ease),height .25s var(--ease),opacity .25s ease,border-color .25s ease;}
  .cursor-ring.big{width:64px;height:64px;opacity:.9;border-color:var(--red);}
  body.has-fine-pointer{cursor:none;}
  body.has-fine-pointer a,body.has-fine-pointer button{cursor:none;}
  @media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none !important;} body.has-fine-pointer{cursor:auto;}}

  /* progress rail */
  .rail{position:fixed;left:clamp(1rem,2.4vw,2.2rem);top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;align-items:center;gap:.6rem;}
  .rail-track{position:relative;width:2px;height:220px;background:var(--line);}
  .rail-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:var(--red);transition:height .1s linear;}
  .rail-label{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
  @media (max-width:1240px){.rail{display:none;}}
  .topbar{position:fixed;top:0;left:0;height:3px;background:var(--red);width:0%;z-index:96;}

  header{position:sticky;top:0;z-index:60;background:color-mix(in srgb, var(--bg) 84%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding-block:var(--sp-2);}
  .brand{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;}
  .mark{position:relative;width:30px;height:30px;background:var(--mark-blue);flex:none;}
  .mark::before{content:"";position:absolute;left:34%;top:0;width:15%;height:100%;background:var(--red);}
  .mark::after{content:"";position:absolute;top:34%;left:0;height:15%;width:100%;background:var(--mark-snow);}
  .brand-text{display:flex;flex-direction:column;line-height:1.1;}
  .brand-text b{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;}
  .brand-text span{font-family:var(--font-mono);font-size:.66rem;color:var(--ink-soft);}
  .navlinks{display:flex;align-items:center;gap:var(--sp-4);}
  .navlinks a{font-size:.9rem;text-decoration:none;color:var(--ink-soft);}
  .navlinks a:hover{color:var(--ink);}
  @media (max-width:760px){.navlinks a.hide-mobile{display:none;}}
  .stage-readout{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-soft);letter-spacing:.08em;}

  .btn{display:inline-flex;align-items:center;gap:.55rem;padding:1rem 1.7rem;font-family:var(--font-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;border-radius:100px;text-decoration:none;border:1px solid transparent;position:relative;}
  .btn-primary{background:var(--red);color:var(--on-red);box-shadow:var(--shadow);}
  .navlinks a.btn-primary,.navlinks a.btn-primary:hover{color:var(--on-red);}
  .btn-ghost{border-color:var(--line);color:var(--ink);}
  .magnetic{transition:transform .25s var(--ease);}

  section{position:relative;}
  .stage{padding-block:var(--sp-8);border-bottom:1px solid var(--line);}
  .stage.alt{background:var(--surface);}
  .eyebrow{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.14em;color:var(--red-deep);margin-bottom:var(--sp-3);}
  .lead{font-size:var(--fs-lead);color:var(--ink-soft);max-width:46ch;margin-top:var(--sp-3);}
  .section-head{max-width:820px;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}
  .reveal-stag > *{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .reveal-stag.is-visible > *{opacity:1;transform:translateY(0);}
  .reveal-stag.is-visible > *:nth-child(1){transition-delay:.02s;}
  .reveal-stag.is-visible > *:nth-child(2){transition-delay:.1s;}
  .reveal-stag.is-visible > *:nth-child(3){transition-delay:.18s;}
  .reveal-stag.is-visible > *:nth-child(4){transition-delay:.26s;}
  .clip-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease);}
  .clip-reveal.is-visible{clip-path:inset(0 0 0% 0);}

  /* kinetic headline letters */
  .kinetic{overflow:hidden;display:block;}
  .kinetic .ch{display:inline-block;transform:translateY(115%) rotate(4deg);opacity:0;animation:chrise .8s var(--ease) forwards;}
  @keyframes chrise{to{transform:translateY(0) rotate(0);opacity:1;}}
  @media (prefers-reduced-motion:reduce){.kinetic .ch{animation:none;transform:none;opacity:1;}}

  /* ================= HERO ================= */
  .hero{position:relative;min-height:min(100svh,920px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#0a1826;}
  .hero-media{position:absolute;inset:0;overflow:hidden;}
  .hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);animation:kenburns 22s ease-in-out infinite alternate;}
  @keyframes kenburns{from{transform:scale(1.12) translate3d(0,0,0);}to{transform:scale(1.02) translate3d(-1.4%,-1%,0);}}
  @media (prefers-reduced-motion:reduce){.hero-media img{animation:none;transform:scale(1.03);}}
  .hero-scrim{position:absolute;inset:0;background:
    radial-gradient(60% 55% at var(--sx,60%) var(--sy,20%), rgba(0,0,0,0) 0%, rgba(4,12,22,.35) 46%, rgba(4,12,22,.78) 100%),
    linear-gradient(180deg, rgba(4,12,22,.55) 0%, rgba(4,12,22,.35) 30%, rgba(4,12,22,.92) 100%);
  }
  .hero-inner{position:relative;z-index:2;padding-block:var(--sp-7) var(--sp-5);color:#F4F1E8;}
  .hero-eyebrow{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#FF8F98;display:flex;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-4);}
  .hero h1{font-size:var(--fs-h1);color:#F4F1E8;}
  .hero h1 .kinetic:nth-of-type(2){color:#FF5A67;}
  .hero-sub{display:flex;flex-wrap:wrap;gap:var(--sp-6);align-items:flex-end;margin-top:var(--sp-5);}
  .hero-copy{max-width:44ch;color:#D9D4C6;font-size:var(--fs-lead);}
  .hero-ctas{display:flex;gap:var(--sp-3);flex-wrap:wrap;}
  .hero .btn-ghost{border-color:rgba(244,241,232,.35);color:#F4F1E8;}

  .marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid rgba(244,241,232,.2);background:rgba(4,12,22,.5);backdrop-filter:blur(6px);}
  .marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite;padding-block:.9rem;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.marquee-track{animation:none;}}
  .marquee span{font-family:var(--font-display);font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;color:#F4F1E8;padding-inline:1.4rem;white-space:nowrap;display:flex;align-items:center;gap:1.4rem;}
  .marquee span::after{content:"✦";color:var(--red);font-size:.8rem;}
  .marquee.light{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .marquee.light span{color:var(--ink);}

  /* ================= TEAM ================= */
  .team-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--sp-7);align-items:center;margin-top:var(--sp-6);}
  @media (max-width:900px){.team-grid{grid-template-columns:1fr;gap:var(--sp-5);}}
  .team-photo{position:relative;clip-path:polygon(0 0,100% 0,100% 92%,0% 100%);overflow:hidden;box-shadow:var(--shadow);}
  .team-photo img{width:100%;height:100%;object-fit:cover;object-position:35% center;aspect-ratio:4/3;transition:transform .6s var(--ease);}
  .team-photo:hover img{transform:scale(1.05);}
  .team-photo .cap{position:absolute;left:1.2rem;bottom:1.2rem;font-family:var(--font-mono);font-size:.72rem;color:#F4F1E8;background:rgba(8,20,34,.72);padding:.4rem .7rem;backdrop-filter:blur(4px);}
  .roles{display:grid;gap:var(--sp-3);}
  .role{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform .3s var(--ease),border-color .3s ease;}
  .role:hover{transform:translateX(6px);border-color:var(--red);}
  .role .idx{font-family:var(--font-mono);color:var(--red);font-size:.85rem;}
  .role h3{font-size:1.05rem;text-transform:none;letter-spacing:0;font-weight:700;font-family:var(--font-body);}
  .role p{color:var(--ink-soft);margin-top:.35rem;font-size:.95rem;}

  /* ================= SEASON — horizontal reel ================= */
  .season-pin{position:relative;height:340vh;}
  @media (max-width:980px){.season-pin{height:auto;}}
  .season-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--band-bg);color:var(--band-ink);}
  @media (max-width:980px){.season-sticky{position:static;height:auto;padding-block:var(--sp-7);}}
  .season-sticky .eyebrow{color:var(--band-red);}
  .season-sticky h2{color:var(--band-ink);}
  .season-sticky .lead{color:var(--band-soft);}
  .filmstrip-viewport{margin-top:var(--sp-6);overflow:hidden;}
  @media (max-width:980px){.filmstrip-viewport{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;}}
  .filmstrip-track{display:flex;gap:var(--sp-4);will-change:transform;padding-inline:clamp(1.25rem,4vw,3rem);}
  .venue-card{flex:none;width:min(78vw,360px);scroll-snap-align:start;border:1px solid var(--band-line);border-radius:var(--radius);padding:var(--sp-4);background:rgba(242,239,230,.06);}
  .venue-card .vc-idx{font-family:var(--font-mono);font-size:.75rem;color:var(--band-red);}
  .venue-card h3{font-size:1.6rem;margin-top:.6rem;color:var(--band-ink);}
  .venue-card .vc-country{font-family:var(--font-mono);font-size:.75rem;color:var(--band-soft);text-transform:uppercase;letter-spacing:.06em;}
  .venue-card p{margin-top:.8rem;font-size:.9rem;color:var(--band-soft);}
  .venue-card .vc-bar{margin-top:1.2rem;height:2px;background:var(--band-line);position:relative;}
  .venue-card .vc-bar i{position:absolute;left:0;top:0;height:100%;background:var(--band-red);}
  .venue-card .vc-status{display:inline-block;margin-top:1rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border:1px solid var(--band-line);color:var(--band-soft);}
  .venue-card .vc-status.ok{border-color:var(--band-red);color:var(--band-red);}
  .venue-card .vc-date{display:block;margin-top:.6rem;font-family:var(--font-mono);font-size:.8rem;color:var(--band-ink);}
  .season-hint{font-family:var(--font-mono);font-size:.72rem;color:var(--band-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--sp-4);}

  /* ================= AUDIENCE ================= */
  .aud-wrap{position:relative;margin-top:var(--sp-6);overflow:hidden;}
  .aud-bg-word{position:absolute;top:-1.2rem;left:0;right:0;font-family:var(--font-display);font-size:clamp(3rem,12vw,9rem);color:var(--line);white-space:nowrap;user-select:none;z-index:0;letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:clip;}
  .aud-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);align-items:start;}
  @media (max-width:900px){.aud-grid{grid-template-columns:1fr;}}
  .aud-list{display:grid;gap:var(--sp-3);}
  .aud-item{display:flex;gap:var(--sp-3);align-items:flex-start;padding-block:var(--sp-2);border-top:1px solid var(--line);}
  .aud-item:first-child{border-top:none;}
  .aud-item .tick{width:8px;height:8px;margin-top:.5em;background:var(--blue);flex:none;}
  .callout{border:1px solid var(--red);background:color-mix(in srgb, var(--red) 7%, var(--surface));border-radius:var(--radius);padding:var(--sp-4);}
  .callout p{color:var(--ink-soft);font-size:.95rem;}
  .callout p + p{margin-top:.6rem;}

  /* ================= REICHWEITE IN ZAHLEN ================= */
  .stats-block{margin-top:var(--sp-6);position:relative;z-index:1;}
  .stats-group + .stats-group{margin-top:var(--sp-5);}
  .stats-label{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.14em;color:var(--red-deep);margin-bottom:var(--sp-3);}
  .stats-label::after{content:"";flex:1;height:1px;background:var(--line);}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);}
  @media (max-width:900px){.stats{grid-template-columns:1fr;}}
  .stat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.45rem;padding:var(--sp-4);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);}
  .stat::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red);transition:width 1.1s var(--ease) .2s;}
  .reveal-stag.is-visible > .stat::after{width:100%;}
  .stat .num{display:flex;align-items:baseline;gap:.3rem;font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,1.7rem + 3.4vw,4.2rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
  .stat .num small{font-size:.42em;letter-spacing:.04em;text-transform:uppercase;color:var(--red);}
  .stat .what{font-weight:600;color:var(--ink);}
  .stat .sub{font-size:.88rem;line-height:1.5;color:var(--ink-soft);}
  .stats-note{margin-top:var(--sp-4);max-width:96ch;font-family:var(--font-mono);font-size:.72rem;line-height:1.75;color:var(--ink-soft);}
  .stats-note a{color:var(--blue);}
  .stats-block + .aud-grid{margin-top:var(--sp-7);}
  .fit{position:relative;z-index:1;margin-top:var(--sp-6);}
  .fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);}
  @media (max-width:900px){.fit-grid{grid-template-columns:1fr;}}
  .fit-item{border-top:2px solid var(--red);padding-top:var(--sp-3);}
  .fit-item h3{font-size:1.1rem;text-transform:none;letter-spacing:0;font-family:var(--font-body);font-weight:700;margin-bottom:.4rem;}
  .fit-item p{color:var(--ink-soft);font-size:.95rem;}

  /* ================= UNTERSEITEN (Reichweite, Sponsoring) ================= */
  .navlinks a[aria-current]{color:var(--ink);box-shadow:0 1px 0 var(--red);}
  .page-head{padding-block:var(--sp-7) var(--sp-5);border-bottom:1px solid var(--line);}
  .page-head h1{font-size:var(--fs-h1);max-width:16ch;margin-bottom:var(--sp-2);}
  .page-head .lead{max-width:58ch;}
  .stage.tight{padding-block:var(--sp-6);}
  .more-link{margin-top:var(--sp-3);}
  .more-link a{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;}
  .more-link a:hover{color:var(--red-deep);}
  .lvl{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.4rem;}
  .defs{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);margin:var(--sp-5) 0 0;}
  @media (max-width:900px){.defs{grid-template-columns:1fr;}}
  .def{border-top:2px solid var(--red);padding-top:var(--sp-3);}
  .def dt{font-weight:700;margin-bottom:.4rem;}
  .def dd{margin:0;color:var(--ink-soft);font-size:.95rem;}
  .baustein-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5);}
  @media (max-width:900px){.baustein-grid{grid-template-columns:1fr;}}
  .baustein{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);}
  .baustein h3{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:1.05rem;margin-bottom:.4rem;}
  .baustein p{color:var(--ink-soft);font-size:.93rem;}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin:var(--sp-5) 0 0;padding:0;list-style:none;}
  @media (max-width:900px){.steps{grid-template-columns:1fr;}}
  .step{border-top:2px solid var(--red);padding-top:var(--sp-3);}
  .step .idx{display:block;font-size:.8rem;color:var(--red-deep);margin-bottom:.3rem;}
  .step h3{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:1.05rem;margin-bottom:.4rem;}
  .step p{color:var(--ink-soft);font-size:.93rem;}
  .faq-list{max-width:820px;margin-top:var(--sp-4);}
  details.faq{border-top:1px solid var(--line);padding:var(--sp-3) 0;}
  details.faq:last-child{border-bottom:1px solid var(--line);}
  details.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--sp-3);font-weight:600;}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--red-deep);}
  details.faq[open] summary::after{content:"–";}
  details.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;}
  details.faq p{margin-top:.6rem;color:var(--ink-soft);max-width:68ch;}
  .check-wrap{max-width:860px;}
  .callout.check{padding:var(--sp-5);}
  .check-title{font-size:1.6rem;margin-bottom:var(--sp-2);}
  .check-list{margin:var(--sp-3) 0 var(--sp-4);padding:0;list-style:none;display:grid;gap:.55rem;}
  .check-list li{position:relative;padding-left:1.2rem;color:var(--ink-soft);font-size:.95rem;}
  .check-list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--red);}
  .check-note{margin-top:var(--sp-3);font-size:.82rem;color:var(--ink-soft);}

  /* ================= SPRACH-SWITCH ================= */
  .lang-switch{display:flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;}
  .lang-switch a{color:var(--ink-soft);text-decoration:none;padding:.35rem .15rem;border-bottom:1px solid transparent;}
  .lang-switch a:hover{color:var(--ink);}
  .lang-switch a[aria-current="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--red);}
  .lang-switch a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
  .lang-switch span{color:var(--ink-soft);}
  .lang-hint{position:relative;display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;justify-content:center;padding:.6rem 3rem .6rem 1rem;background:var(--band-bg);color:var(--band-ink);font-size:.9rem;text-align:center;}
  .lang-hint a{color:var(--band-ink);font-weight:600;text-decoration:underline;}
  .lang-hint-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);color:var(--band-ink);font-size:1.4rem;line-height:1;padding:.2rem .55rem;}
  .lang-hint a:focus-visible,.lang-hint-close:focus-visible{outline:2px solid var(--band-red);outline-offset:2px;}
  .legal .legal-note{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:.88rem;}

  /* kompakte Kopfzeile auf dem Handy (Sprach-Switch + Kontakt-Button passen in 360 px) */
  @media (max-width:520px){
    .nav{flex-wrap:wrap;row-gap:.4rem;}
    .brand{gap:.55rem;}
    .brand-text b{font-size:.88rem;letter-spacing:.03em;}
    .brand-text span{display:none;}
    .navlinks{gap:.7rem;}
    .navlinks a.btn{padding:.5rem .85rem !important;font-size:.72rem;}
    .lang-switch{font-size:.72rem;gap:.25rem;}
  }

  /* Footer-Links und lange Rechtstext-Zeilen dürfen auf schmalen Bildschirmen umbrechen */
  footer .foot-links{flex-wrap:wrap;gap:.4rem 1.2rem;}
  .legal p,.legal li,.legal h1,.legal h2{overflow-wrap:anywhere;}
  .legal h1{font-size:clamp(1.6rem,8vw,var(--fs-h2));}

  /* ================= SPONSORING / VAN HOTSPOT ================= */
  .van-board{margin-top:var(--sp-6);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:clamp(1rem,2.4vw,1.75rem);}
  .van-photo-wrap{position:relative;border-radius:var(--radius);overflow:hidden;}
  .van-photo-wrap img{width:100%;display:block;}
  .hotspot{position:absolute;border:1.5px dashed color-mix(in srgb, var(--ink) 60%, transparent);background:color-mix(in srgb, var(--ink) 4%, transparent);cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;}
  .hotspot .hs-num{position:absolute;top:-11px;left:-11px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:.68rem;display:flex;align-items:center;justify-content:center;}
  .hotspot.on{border-style:solid;border-color:var(--tier-color,var(--red));background:color-mix(in srgb, var(--tier-color,var(--red)) 30%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--tier-color,var(--red)) 22%, transparent);}
  .hotspot.dim{opacity:.25;}
  .van-legend{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:var(--sp-3);}
  .van-legend .lg-item{display:flex;gap:.5rem;align-items:baseline;font-size:.82rem;color:var(--ink-soft);}
  .van-legend .lg-item b{font-family:var(--font-mono);color:var(--ink);}
  .van-hint{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--sp-3);}

  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-6);}
  @media (max-width:900px){.tiers{grid-template-columns:1fr;}}
  .tier{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);text-align:left;transition:border-color .25s ease,transform .3s var(--ease),box-shadow .3s ease;}
  .tier:hover{transform:translateY(-6px);}
  .tier.active{border-color:var(--tier-color,var(--red));box-shadow:var(--shadow);}
  .tier .tier-name{font-family:var(--font-display);font-size:1.4rem;text-transform:uppercase;}
  .tier .tier-role{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;}
  .tier ul{display:grid;gap:.5rem;margin-top:.25rem;}
  .tier li{position:relative;padding-left:1.1rem;font-size:.9rem;color:var(--ink-soft);}
  .tier li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--red);}
  .tier-cap{margin-top:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--line);padding-top:var(--sp-2);}
  .pkg-note{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--sp-4);}

  /* ================= CONTACT ================= */
  .contact{background:var(--band-bg);color:var(--band-ink);padding-block:var(--sp-8);position:relative;overflow:hidden;}
  .contact .eyebrow{color:var(--band-red);}
  .contact h2{color:var(--band-ink);}
  .contact .lead{color:var(--band-soft);}
  .contact-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;margin-top:var(--sp-5);position:relative;z-index:1;}
  .contact .btn-primary{background:var(--band-red);color:#081422;}
  .contact .btn-ghost{border-color:var(--band-line);color:var(--band-ink);}
  .contact-mark{position:absolute;right:clamp(-4rem,-2vw,2rem);top:50%;transform:translateY(-50%);width:min(46vw,420px);height:min(46vw,420px);opacity:.9;}
  .contact-mark svg{width:100%;height:100%;}
  .contact-mark rect{transform-origin:center;animation:markin .9s var(--ease) both;}
  .contact-mark .r1{animation-delay:.05s;} .contact-mark .r2{animation-delay:.18s;} .contact-mark .r3{animation-delay:.31s;}
  @keyframes markin{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}

  footer{padding-block:var(--sp-5);}
  .foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);align-items:center;}
  .foot-row p{font-size:.82rem;color:var(--ink-soft);}
  .foot-links{display:flex;gap:var(--sp-4);}
  .foot-links a{font-size:.82rem;color:var(--ink-soft);text-decoration:none;}
  .foot-links a:hover{color:var(--ink);text-decoration:underline;}

  /* legal pages (Impressum / Datenschutz) */
  .legal{padding-block:var(--sp-7) var(--sp-6);min-height:70vh;}
  .legal .back{display:inline-block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;margin-bottom:var(--sp-4);}
  .legal .back:hover{color:var(--red);}
  .legal h1{font-size:var(--fs-h2);margin-bottom:var(--sp-5);}
  .legal h2{font-size:1.35rem;margin-top:var(--sp-5);margin-bottom:var(--sp-2);}
  .legal p,.legal li{color:var(--ink-soft);max-width:72ch;margin-bottom:var(--sp-2);}
  .legal ul{padding-left:1.2rem;list-style:disc;margin-bottom:var(--sp-3);}
  .legal a{color:var(--blue);word-break:break-word;}
  .legal b{color:var(--ink);}

  #tip{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;padding:.4rem .6rem;border-radius:2px;opacity:0;transform:translate(-50%,-130%);transition:opacity .15s ease;white-space:nowrap;}
  #tip.show{opacity:1;}

  /* ================= PERSON (Oliver Wrobel) ================= */
  .person-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--sp-7);align-items:start;margin-top:var(--sp-5);}
  @media (max-width:900px){.person-grid{grid-template-columns:1fr;gap:var(--sp-5);}}
  .person-photo{position:relative;margin:0;overflow:hidden;box-shadow:var(--shadow);clip-path:polygon(0 0,100% 0,100% 95%,0 100%);max-width:460px;}
  .person-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;transition:transform .6s var(--ease);}
  .person-photo.landscape{max-width:none;}
  .person-photo.landscape img{aspect-ratio:3/2;object-position:center 35%;}
  .person-photo:hover img{transform:scale(1.04);}
  .person-photo .cap{position:absolute;left:1.2rem;bottom:1.6rem;font-family:var(--font-mono);font-size:.72rem;color:#F4F1E8;background:rgba(8,20,34,.78);padding:.4rem .7rem;backdrop-filter:blur(4px);}
  .person-quote{margin:0 0 var(--sp-4);padding-left:var(--sp-3);border-left:3px solid var(--red);font-family:var(--font-display);font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);line-height:1.3;font-weight:500;color:var(--ink);text-wrap:balance;}
  .person-quote cite{display:block;margin-top:.6rem;font-family:var(--font-mono);font-size:.75rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
  .person-text p{color:var(--ink-soft);max-width:62ch;margin-bottom:var(--sp-2);}
  .milestones{list-style:none;margin:var(--sp-4) 0;padding:0;}
  .milestones li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--sp-3);padding:.85rem 0;border-top:1px solid var(--line);}
  .milestones li:last-child{border-bottom:1px solid var(--line);}
  .milestones .yr{font-family:var(--font-mono);font-size:.8rem;color:var(--red-deep);padding-top:.15rem;}
  .milestones b{display:block;font-weight:700;}
  .milestones span.d{display:block;color:var(--ink-soft);font-size:.93rem;}
  @media (max-width:520px){.milestones li{grid-template-columns:1fr;gap:.2rem;}}
  .ref-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--sp-5);align-items:center;margin-top:var(--sp-6);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);}
  @media (max-width:900px){.ref-card{grid-template-columns:1fr;}}
  .ref-card h3{font-size:var(--fs-h3);margin:.3rem 0 var(--sp-2);}
  .ref-card p{color:var(--ink-soft);max-width:56ch;}
  .ref-card figure{margin:0;}
  .ref-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);}
  .ref-card figcaption{margin-top:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
  .contact-person{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);position:relative;z-index:1;}
  .contact-person img{width:84px;height:84px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 22%;border:2px solid var(--band-red);}
  .contact-person b{display:block;color:var(--band-ink);font-size:1.1rem;}
  .contact-person .who{display:block;color:var(--band-soft);font-size:.9rem;line-height:1.45;}
  .contact-person .tag{display:block;margin-bottom:.15rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--band-red);}
  @media (max-width:600px){.contact-mark{opacity:.3;}}
  .photo-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);margin-top:var(--sp-5);}
  @media (max-width:700px){.photo-duo{grid-template-columns:1fr;}}
  .person-photo.sq{max-width:none;}
  .person-photo.sq img{aspect-ratio:1/1;object-position:center;}

/* ---- Divi-Oberfläche für diese Seiten ausblenden / Vollbreite / Hintergrund ---- */
#sidebar,.main_title,.et_pb_title_container,#main-content .breadcrumbs{display:none!important}
#left-area{width:100%!important;float:none!important;padding:0!important;margin:0!important}
#main-content,#page-container,#content-area,article,.entry-content{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important;float:none!important}
#main-content>.container{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}
#scan-net-page{max-width:100%!important}
#scan-net-page .container{max-width:1220px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(1.25rem,4vw,3rem)!important;padding-right:clamp(1.25rem,4vw,3rem)!important;padding-top:0!important;width:100%!important;box-sizing:border-box!important}
html,body,#page-container,#et-main-area,#main-content,#content-area,#left-area,article,.entry-content{background:var(--bg)!important}
#scan-net-page{background:var(--bg);color:var(--ink)}
#scan-net-page :is(h1,h2,h3){color:inherit}
/* Divi zeichnet an jedes .container eine senkrechte Sidebar-Trennlinie (::before) - hier unerwünscht */
body #main-content .container::before,body #main-content .container:before,#main-content .container::before,#main-content .container:before,#scan-net-page .container::before,#scan-net-page .container::after{content:none!important;display:none!important;width:0!important;background:none!important}

/* Divi setzt auf .entry-content Listenpunkte/Zahlen: bei unseren Listen ausblenden */
#scan-net-page .steps,#scan-net-page .steps>li,#scan-net-page .milestones,#scan-net-page .milestones>li{list-style:none;}
#scan-net-page .steps>li::marker,#scan-net-page .milestones>li::marker{content:"";}
