  @font-face{font-family:"Fira Sans";src:url("/schrift/firasans-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
  @font-face{font-family:"Fira Sans";src:url("/schrift/firasans-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
  @font-face{font-family:"Fira Sans";src:url("/schrift/firasans-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
  @font-face{font-family:"Fira Sans";src:url("/schrift/firasans-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
  @font-face{font-family:"Fauna One";src:url("/schrift/faunaone-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

  :root{
    --berry:#aa164a;
    --berry-dark:#8e1240;
    --navy:#232c37;
    --text:#333333;
    --grey:#f2f2f4;
    --cream:#faf0eb;
    --white:#ffffff;
    --muted:rgba(35,44,55,.7);
    --radius:16px;
    --btn-radius:12px;
    --shadow:0 4px 24px rgba(35,44,55,.10);
    --hero-img:url("/bild/hero.webp");
    --check:url("/bild/haken.png");
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  [id]{scroll-margin-top:96px}
  body{margin:0;font-family:"Fira Sans",Firasans,Arial,sans-serif;font-size:18px;line-height:1.55;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  .container{max-width:1180px;margin:0 auto;padding:0 40px}
  h1,h2,h3{margin:0;color:var(--navy);line-height:1.15}
  p{margin:0 0 1em}

  .eyebrow{display:flex;align-items:center;gap:14px;font-family:"Fauna One",Faunaone,serif;font-size:20px;color:var(--berry);margin-bottom:18px}
  .eyebrow::after{content:"";flex:1;height:1px;background:currentColor;opacity:.7}
  .on-dark .eyebrow,.on-berry .eyebrow{color:#fff}
  .h-upper{font-weight:600;text-transform:uppercase;font-size:clamp(28px,4vw,42px);letter-spacing:.005em}
  .lead{font-size:18px;max-width:40em}
  .label{font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:16px;color:var(--berry)}

  .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 20px;border-radius:var(--btn-radius);border:1px solid var(--berry);background:var(--berry);color:#f2f2f4;text-transform:uppercase;letter-spacing:1.5px;font-size:17px;font-weight:400;text-decoration:none;cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s}
  .btn:hover{background:var(--berry-dark);border-color:var(--berry-dark)}
  .btn-outline{background:transparent;border-color:#fff;color:#faf0eb}
  .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
  .btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
  .quiet{background:none;border:0;padding:0;font:inherit;font-size:16px;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.85}
  .quiet:hover{opacity:1}

  .nav{position:fixed;top:12px;left:0;right:0;z-index:100;padding:0 40px}
  .nav-inner{max-width:1180px;margin:0 auto;background:rgba(242,242,244,.92);backdrop-filter:blur(10px);border-radius:28px;display:flex;align-items:center;justify-content:space-between;padding:14px 26px;box-shadow:0 2px 14px rgba(0,0,0,.08)}
  .nav-logo img{height:22px;width:auto}
  .nav-links{display:flex;gap:6px;align-items:center}
  .nav-links a{text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:15px;padding:5px 10px;color:#1a1b1f}
  .nav-links a:hover,.nav-links a.active{color:var(--berry)}

  .hero{position:relative;min-height:640px;display:flex;align-items:flex-end;color:#fff;padding:150px 0 80px;background-color:var(--navy);background-image:linear-gradient(90deg,rgba(35,44,55,.9) 0%,rgba(35,44,55,.72) 45%,rgba(35,44,55,.2) 100%),var(--hero-img);background-size:cover;background-position:center 30%;background-repeat:no-repeat}
  .hero .container{width:100%;position:relative}
  .hero .eyebrow{color:#fff;max-width:720px}
  .hero h1{color:#fff;font-weight:600;text-transform:uppercase;font-size:clamp(32px,5vw,52px);max-width:900px;margin-bottom:22px}
  .hero p{max-width:740px;color:#fff;font-size:19px}
  .hero .btn-row{margin-top:30px}
  .live-chip{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px;font-size:15px;letter-spacing:1px;text-transform:uppercase;margin-bottom:22px}
  .live-chip i{width:9px;height:9px;border-radius:50%;background:#ff4d7a;animation:pulse 1.8s infinite}
  @keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,77,122,0)}0%{box-shadow:0 0 0 0 rgba(255,77,122,.7)}}
  .datev-badge{position:absolute;right:40px;bottom:0;width:96px;background:#fff;border-radius:8px;padding:6px}

  .event{padding:70px 0}
  .event-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:44px 32px;text-align:center;max-width:980px;margin:0 auto}
  .event-box h2{font-weight:600;font-size:clamp(24px,3vw,32px);margin:12px 0 8px}
  .event-box .sub{font-size:20px;margin-bottom:22px;color:var(--navy)}
  .event-meta{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;color:var(--berry);font-weight:600;font-size:20px;margin-bottom:26px}
  .event-meta .dash{width:30px;height:2px;background:var(--berry);opacity:.7}
  .countdown{display:flex;justify-content:center;gap:12px;margin:0 0 28px}
  .countdown div{background:var(--cream);border-radius:12px;min-width:84px;padding:12px 10px}
  .countdown b{display:block;font-size:30px;color:var(--navy);line-height:1;font-weight:600}
  .countdown small{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
  .event-box .btn-row{justify-content:center}
  .event-box .quiet{color:var(--berry)}
  .event-text{max-width:640px;margin:0 auto 26px}
  .event-note{font-size:15px;color:var(--muted);margin:18px 0 0}

  .on-berry{background:var(--berry);color:#fff;padding:90px 0}
  .on-berry h2{color:#fff}
  .on-berry .lead{color:#fff}
  .num-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
  .num-card{background:var(--cream);color:var(--text);border-radius:var(--radius);padding:28px 26px}
  .num-card h3{font-size:50px;font-weight:700;margin-bottom:10px}
  .num-card p{font-size:16px;margin:0}
  .dark-pill{display:table;margin:44px auto 0;background:var(--navy);color:#fff;font-weight:600;border-radius:12px;padding:20px 32px;text-align:center}

  section.pad{padding:90px 0}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:50px}
  .feature{background:var(--grey);border-radius:var(--radius);padding:30px 28px}
  .ic{width:56px;height:56px;border-radius:14px;background:var(--berry);display:grid;place-items:center;margin-bottom:18px;flex:none}
  .ic svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
  .feature h3{font-size:21px;font-weight:600;margin-bottom:8px}
  .feature p{font-size:16px;margin:0}
  .trust-note{display:flex;gap:18px;align-items:center;margin-top:24px;border:1px solid #e3e3e8;border-radius:var(--radius);padding:20px 24px;font-size:16px}
  .trust-note .ic{margin:0;width:46px;height:46px}
  .trust-note .ic svg{width:24px;height:24px}

  .grey{background:var(--grey)}
  .two-col.wide-media{grid-template-columns:1fr 1.7fr;gap:40px;align-items:center}
  .checklist{list-style:none;padding:0;margin:20px 0 30px}
  .checklist li{position:relative;padding:7px 0 7px 40px}
  .checklist li::before{content:"";position:absolute;left:0;top:8px;width:26px;height:26px;background:var(--check) center/contain no-repeat}
  .shot{margin:0}
  .shot img{width:100%;height:auto}
  .shot figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:4px}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
  .step{background:var(--cream);border-radius:var(--radius);padding:30px 28px}
  .step h3{font-size:50px;font-weight:700;margin-bottom:10px}
  .step h4{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--navy)}
  .step p{font-size:16px;margin:0}
  .origin{margin-top:32px;background:var(--grey);border-radius:var(--radius);padding:22px 26px;font-size:16px}
  .origin b{color:var(--navy)}

  .on-dark{background:var(--navy);color:#fff;padding:90px 0}
  .on-dark h2{color:#fff}
  .offer-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
  .offer-list{list-style:none;padding:0;margin:20px 0 0;color:#faf0eb}
  .offer-list li{position:relative;padding:5px 0 5px 36px}
  .offer-list li::before{content:"";position:absolute;left:0;top:7px;width:24px;height:24px;background:var(--check) center/contain no-repeat}
  .offer-card{background:rgba(250,240,235,.06);border:1px solid rgba(250,240,235,.25);border-radius:var(--radius);padding:30px}
  .offer-card .label{color:#faf0eb}
  .offer-card p{margin:10px 0 0;color:#faf0eb}
  .offer-big{display:flex;align-items:baseline;gap:10px;margin-top:8px;color:#fff}
  .offer-big b{font-size:84px;line-height:1;font-weight:700}
  .offer-big span{font-size:24px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px}
  .offer-big s{opacity:.6}
  .offer-price{margin-top:14px;color:#fff}
  .offer-price b{font-size:34px;font-weight:600}
  .offer-price small{font-size:15px;color:#faf0eb;opacity:.85}
  .offer-card p.offer-deadline{margin-top:16px;padding-top:14px;border-top:1px solid rgba(250,240,235,.25);font-weight:600;color:#fff}
  .on-dark .quiet{color:#faf0eb;margin-top:26px;display:inline-block}

  .form-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
  form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:15px;font-weight:500;margin-bottom:6px;color:var(--navy)}
  .field input,.field select{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #d9d9df;border-radius:10px;background:#fff;color:var(--text)}
  .field input:focus,.field select:focus{outline:2px solid rgba(170,22,74,.35);border-color:var(--berry)}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .consent{display:flex;gap:10px;font-size:14px;color:var(--muted);margin:6px 0 12px}
  .consent:last-of-type{margin-bottom:20px}
  .consent input{accent-color:var(--berry);margin-top:3px;flex:none}
  form .btn{width:100%}
  .form-error{color:var(--berry);font-size:15px;margin:12px 0 0;text-align:center}
  .form-error:empty{display:none}
  .thanks{display:none;text-align:center;padding:40px 10px}
  .thanks h3{font-size:26px;font-weight:600;margin-bottom:10px}

  .praxis{background:var(--cream)}
  .praxis .btn-row{margin-top:26px}

  .faq{max-width:900px;margin:40px auto 0}
  .faq details{background:var(--grey);border-radius:12px;margin-bottom:12px;padding:0 24px}
  .faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);display:flex;justify-content:space-between;gap:20px;font-size:17px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";color:var(--berry);font-size:26px;line-height:1;font-weight:400}
  .faq details[open] summary::after{content:"–"}
  .faq details p{margin:0;padding:0 0 20px;font-size:17px}
  .faq a{color:var(--berry)}

  footer{background:var(--navy);color:#faf0eb;padding:50px 0 30px;font-size:15px}
  .foot-claim{font-family:"Fauna One",Faunaone,serif;font-size:22px;color:#fff;margin:0 0 6px}
  .foot-values{text-transform:uppercase;letter-spacing:2px;font-size:14px;opacity:.8;margin:0 0 30px}
  .foot-links{display:flex;flex-wrap:wrap;gap:8px 26px;margin-bottom:26px}
  .foot-links a,.foot-legal a{text-decoration:none;text-transform:uppercase;letter-spacing:2px}
  .foot-links a:hover,.foot-legal a:hover{color:#fff;text-decoration:underline}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid rgba(250,240,235,.2);padding-top:22px}
  .foot-legal{display:flex;gap:20px;flex-wrap:wrap}

  .sticky{display:none}

  body.state-before [data-show]:not([data-show~="before"]),
  body.state-live [data-show]:not([data-show~="live"]),
  body.state-after [data-show]:not([data-show~="after"]),
  body:not(.offer-on) [data-offer]{display:none !important}

  @media (max-width:991px){
    .container{padding:0 24px}
    .nav{padding:0 16px}
    .nav-links{display:none}
    .two-col,.two-col.wide-media,.offer-grid,.form-grid{grid-template-columns:1fr;gap:36px}
    .num-cards,.feature-grid,.steps{grid-template-columns:1fr}
    .datev-badge{position:static;margin-top:30px}
  }
  @media (max-width:560px){
    body{font-size:17px;padding-bottom:78px}
    .container{padding:0 16px}
    .nav-inner{padding:12px 18px}
    .nav-logo img{height:18px}
    .hero{min-height:0;padding:120px 0 56px;background-image:linear-gradient(rgba(35,44,55,.7),rgba(35,44,55,.85)),var(--hero-img);background-position:62% center}
    .hero .btn-row .btn{width:100%}
    .eyebrow{font-size:17px}
    .event,section.pad,.on-berry,.on-dark{padding:60px 0}
    .event-box{padding:32px 18px}
    .event-meta{font-size:17px;gap:10px}
    .event-meta .dash{width:16px}
    .countdown{gap:8px}
    .countdown div{min-width:0;flex:1;padding:10px 4px}
    .countdown b{font-size:24px}
    .countdown small{font-size:11px}
    .event-box .btn-row .btn{width:100%}
    .row{grid-template-columns:1fr}
    form{padding:24px 18px}
    .dark-pill{padding:16px 20px}
    .trust-note{align-items:flex-start}
    .sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(242,242,244,.96);backdrop-filter:blur(8px);box-shadow:0 -2px 14px rgba(0,0,0,.08)}
    .sticky .btn{flex:1;padding:12px 8px;font-size:14px;letter-spacing:1px}
  }

  .abst-22{margin-top:22px}
  .abst-20{margin-top:20px}
  .creme{color:#faf0eb}
  .ohne-rand{margin:0}
  .two-col.mittig{align-items:center}
  .faq-weiter{text-align:center;margin-top:30px}
  .beere{color:var(--berry)}
  .datev-badge{height:auto}

  .hp-feld{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

  .recht{max-width:860px;margin:0 auto;padding:130px 40px 70px}
  .recht h1{font-weight:600;font-size:clamp(28px,4vw,40px);margin-bottom:10px}
  .recht h2{font-weight:600;font-size:22px;margin:32px 0 10px}
  .recht a{color:var(--berry)}
  .recht ul{padding-left:1.2em}
  .recht .stand{color:var(--muted);font-size:16px}
  @media (max-width:560px){.recht{padding:100px 16px 50px}}
