/* Hanken Grotesk — self-hosted (latin-ext für ä/ö/ü/ß, latin für Basis) */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/hanken-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/hanken-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --green:#004499;--green-dk:#003380;--green-lt:#DDEEFF;--green-xlt:#EBF2FF;
  --green-deep:#1A1A1A;--volt:#1A1A1A;--mint:#EBF2FF;
  --dark:#1A1A1A;--mid:#404040;--slate:#666;--muted:#888;--muted-dark:#aaa;
  --border:#E0E0E0;--line-light:#EBEBEB;
  --bg:#FFFFFF;--paper:#FFFFFF;--white:#FFFFFF;--red:#EF4444;--amber:#F59E0B;
  --r:2px;--r-lg:3px;
}
[x-cloak]{display:none!important}
/* Anti-FOUC: gilt bis Alpine x-show übernimmt */
html:not([data-has-session]) .pre-session{display:none!important}
html[data-has-session] .pre-new{display:none!important}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;background:var(--bg);color:var(--dark);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

/* ─── DE-STRIPE ─── */
.de-stripe{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;background:linear-gradient(to right,#1A1A1A 33.33%,#CC0000 33.33%,#CC0000 66.66%,#FFCC00 66.66%);}

/* ─── NAV ─── */
#nav{position:fixed;top:3px;left:0;right:0;z-index:50;background:#fff;backdrop-filter:none;transition:background .3s ease,backdrop-filter .3s ease;}
#nav.scrolled{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(20px);}
.nav-logo-text{transition:opacity .25s ease,max-width .25s ease;max-width:240px;overflow:hidden;white-space:nowrap;}
#nav.scrolled .nav-logo-text{opacity:0;max-width:0;}
.nav-actions{display:flex;align-items:center;gap:12px;opacity:0;pointer-events:none;transition:opacity .25s ease;}
#nav.scrolled .nav-actions{opacity:1;pointer-events:auto;}
.nav-inner{max-width:1160px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:6px;font-weight:800;font-size:20px;color:var(--dark);text-decoration:none;letter-spacing:-.02em;}
.nav-logo-mark{width:40px;height:40px;background:none;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-logo-mark svg{display:block;}
.nav-cta{padding:9px 18px;background:var(--dark);color:white;border:none;border-radius:2px;font:600 13px 'Hanken Grotesk',sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .15s;}
.nav-cta:hover{background:#333;}
.nav-arr{margin-left:4px}

/* ─── LANDING HERO ─── */
#hero{padding:104px 24px 33px;display:flex;align-items:center;}
.hero-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}

.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:var(--green-lt);color:var(--green-dk);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;margin-bottom:20px;letter-spacing:.02em;}
.hero-title{font-size:clamp(38px,5vw,62px);font-weight:900;line-height:1.05;letter-spacing:-2px;color:var(--dark);margin-bottom:18px;}
.hero-title em{color:var(--green);font-style:normal;}
/* slide ticker */
.ticker-wrap{display:inline-block;overflow:hidden;vertical-align:.18em;min-width:8ch;margin-left:3px}
#ticker-slot{display:inline-block;}
@keyframes t-out{from{transform:translateY(0);}to{transform:translateY(-120%);}}
@keyframes t-in{from{transform:translateY(120%);}to{transform:translateY(0);}}
.t-out{animation:t-out .1s ease-in forwards;}
.t-in{animation:t-in .1s ease-out forwards;}
.hero-sub{font-size:19px;color:var(--mid);line-height:1.65;margin-bottom:36px;max-width:480px;}
.hero-input-row{display:flex;gap:10px;max-width:440px;margin-bottom:16px;flex-wrap:wrap;}
.hero-input{flex:1;min-width:200px;padding:14px 18px;border:2px solid var(--border);border-radius:var(--r);font:17px 'Hanken Grotesk',sans-serif;color:var(--dark);background:var(--white);outline:none;transition:border-color .15s;}
.hero-input:focus{border-color:var(--green);}
.hero-input::placeholder{color:var(--muted);}
.hero-btn{padding:14px 24px;background:var(--dark);color:white;border:none;border-radius:var(--r);font:700 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap;}
.hero-btn:hover{background:#333;}
.hero-btn:active{transform:scale(.97);}
.hero-trust{display:flex;gap:18px;flex-wrap:wrap;}
.hero-trust span{font-size:15px;color:var(--slate);display:flex;align-items:center;gap:5px;}
.hero-trust strong{color:var(--dark);}
/* Hero right — phone mockup */
.hero-right{position:relative;display:flex;justify-content:center;}

/* ─── TRUST BAR ─── */
#trustbar{background:var(--dark);padding:28px 24px;}
.trust-inner{max-width:1160px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;}
.trust-stat{text-align:center;}
.trust-num{font-size:28px;font-weight:900;color:var(--white);letter-spacing:-1px;}
.trust-label{font-size:15px;color:rgba(255,255,255,.85);margin-top:2px;}

/* ─── SECTIONS ─── */
.section{padding:80px 24px;}
.section-inner{max-width:1160px;margin:0 auto;}
.section-tag{display:inline-block;font-size:16px;font-weight:700;color:var(--green);letter-spacing:.02em;margin-bottom:12px;}
.section-title{font-size:clamp(28px,3.5vw,40px);font-weight:800;letter-spacing:-1px;color:var(--dark);margin-bottom:14px;}
.section-sub{font-size:18px;color:var(--mid);max-width:540px;line-height:1.7;margin-bottom:48px;}

/* HOW IT WORKS */
#how{background:var(--white);}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
@media(max-width:860px){.steps-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps-grid{grid-template-columns:1fr;}}
.step-card{position:relative;}
.step-num{width:40px;height:40px;background:var(--green-lt);color:var(--green-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 15px 'Hanken Grotesk',sans-serif;margin-bottom:14px;}
.step-card h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.step-card p{font-size:18px;color:var(--mid);line-height:1.6;}
.step-connector{position:absolute;top:20px;left:100%;width:calc(100% - 40px);height:1px;background:var(--border);z-index:0;}
@media(max-width:860px){.step-connector{display:none;}}

/* PRICING */
#pricing{background:var(--bg);}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
@media(max-width:860px){.pricing-grid{grid-template-columns:1fr;gap:36px;}.price-box{max-width:none;}}
.price-box{max-width:480px;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);padding:36px;box-shadow:0 4px 24px rgba(0,0,0,.05);margin-left:0;}
.price-badge{display:inline-flex;background:var(--green-lt);color:var(--green-dk);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:16px;letter-spacing:.04em;text-transform:uppercase;}
.price-amount{font-size:52px;font-weight:900;letter-spacing:-2px;color:var(--dark);margin-bottom:4px;line-height:1;}
.price-amount sub{font-size:20px;font-weight:500;color:var(--muted);letter-spacing:0;}
.price-note{font-size:16px;color:var(--muted);margin-bottom:24px;}
.price-rows{border-top:1px solid var(--border);padding-top:20px;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.price-row{display:flex;justify-content:space-between;font-size:18px;color:var(--mid);}
.price-row.total{font:700 18px 'Hanken Grotesk',sans-serif;color:var(--dark);}
.price-includes{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.price-includes li{font-size:18px;color:var(--mid);display:flex;align-items:center;gap:8px;}
.price-includes li::before{content:'✓';color:var(--green);font-weight:700;font-size:18px;}
.price-cta{width:100%;padding:16px;background:var(--dark);color:white;border:none;border-radius:var(--r);font:700 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .15s;}
.price-cta:hover{background:#333;}

/* FAQ */
#faq{background:var(--white);}
.faq-list{max-width:720px;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;background:none;border:none;font:600 18px 'Hanken Grotesk',sans-serif;color:var(--dark);cursor:pointer;text-align:left;}
.faq-icon{position:relative;width:26px;height:26px;background:var(--green-xlt);border-radius:50%;flex-shrink:0;transition:transform .3s,background .2s;color:var(--green-dk);}
.faq-icon-glyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:300;line-height:1;user-select:none;margin-top:-1px;}
.faq-q:hover .faq-icon{background:var(--green-lt);}
.faq-a{font-size:18px;color:var(--mid);line-height:1.75;max-height:0;overflow:hidden;opacity:0;padding-bottom:0;transition:max-height .38s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding-bottom .35s;}
.faq-a.open{max-height:220px;opacity:1;padding-bottom:20px;}

/* SOCIAL PROOF */
#social-proof{background:var(--white);}
.testimonial-kicker{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.testimonial-grid{grid-template-columns:1fr;}}
.testimonial-card{background:var(--bg);border-radius:16px;padding:20px;}
.testimonial-text{font-size:18px;line-height:1.5;color:var(--dark);margin-bottom:14px;}
.testimonial-author{display:flex;align-items:center;gap:10px;}
.testimonial-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;}
.testimonial-name{font-weight:600;font-size:15px;color:var(--dark);}
.testimonial-meta{font-size:14px;color:var(--muted);}

/* FOOTER CTA */
#cta-section{background:var(--bg);padding:60px 24px 80px;}
.cta-card{max-width:1160px;margin:0 auto;display:grid;border-radius:4px;overflow:hidden;min-height:480px;position:relative;}
.cta-card-img{overflow:hidden;width: 100%;}
.cta-card-img picture{display:block;width:100%;height:100%;}
.cta-bg{display:block;width:100%;height:100%;object-fit:cover;}
.cta-card-body{padding:64px 56px;display:flex;align-items:start;position:absolute;right:0;top:0;height:100%;width:52%;}
.cta-card-body>div{width:100%;}
.cta-pill{display:flex;background:#fff;border-radius:2px;padding:6px 6px 6px 20px;align-items:center;max-width:460px;width:100%;margin-bottom:14px;}
.cta-pill-inp{flex:1;border:none;background:transparent;font:16px 'Hanken Grotesk',sans-serif;color:var(--dark);outline:none;min-width:0;}
.cta-pill-inp::placeholder{color:var(--muted);}
@media(max-width:768px){
  #cta-section{padding:0 0 60px;}
  .cta-card{border-radius:0;}
  .cta-card-body{padding:28px 20px 32px;width:100%;text-align:center;}
  .cta-card-body>div{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;justify-content:center;gap:14px;}
  .cta-days{min-width:auto!important;}
  .cta-sub{max-width:100%;margin-bottom:0;}
  .cta-pill{max-width:100%;margin-bottom:0;}
  .cta-title{margin-bottom:0;margin-top:.33em;}
  .cta-resume-btn{width:100%;box-sizing:border-box;}
  .cta-email-chip{margin-bottom:0;}
}
.cta-title{font-size:clamp(28px,4vw,44px);font-weight:900;color:var(--white);letter-spacing:-1.5px;margin-bottom:14px;}
.cta-sub{font-size:18px;color:rgba(255,255,255,1);margin-bottom:36px;}
.cta-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.cta-input{flex:1;min-width:220px;padding:14px 18px;border:2px solid rgba(255,255,255,.15);border-radius:var(--r);font:17px 'Hanken Grotesk',sans-serif;color:white;background:rgba(255,255,255,.08);outline:none;}
.cta-input:focus{border-color:var(--green);}
.cta-input::placeholder{color:rgba(255,255,255,.35);}
.cta-btn{padding:14px 28px;background:var(--dark);color:white;border:none;border-radius:var(--r);font:700 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .15s;}
.cta-btn:hover{background:#333;}
.cta-resume-btn{display:inline-block;background:var(--dark);color:#fff;border:none;border-radius:2px;padding:16px 40px;font:700 17px 'Hanken Grotesk',sans-serif;cursor:pointer;letter-spacing:-.01em;transition:opacity .15s;}
.cta-resume-btn:hover{opacity:.88;}
.cta-email-chip{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:100px;padding:6px 16px;font:500 15px 'Hanken Grotesk',sans-serif;color:#fff;margin-bottom:20px;}
@media(max-width:600px){
  .hero-input-row{flex-direction:column;max-width:none;}
  .hero-input{min-width:0;font-size:16px;}
  .hero-btn{width:100%;}
  .cta-form{flex-direction:column;align-items:stretch;}
  .cta-input{min-width:0;font-size:16px;}
  .cta-btn{width:100%;}
  .nav-logo-text{font-size:15px;}
}
@media(max-width:768px){
  .finp,.hero-input,.cta-input{font-size:16px;}
}

/* FOOTER */
footer{background:#F5F5F5;padding:48px 24px 0;}
.footer-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px;margin-bottom:32px;}
@media(max-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr;}}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr;}}
.footer-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:var(--dark);margin-bottom:12px;text-decoration:none;}
.footer-tagline{font-size:16px;color:var(--mid);line-height:1.6;max-width:220px;margin-bottom:16px;}
.footer-contact-link{font-size:15px;color:var(--green);text-decoration:none;border:1px solid var(--border);border-radius:2px;padding:6px 12px;display:inline-block;transition:color .15s,border-color .15s;}
.footer-contact-link:hover{color:var(--dark);border-color:var(--mid);}
.footer-col h4{font-size:13px;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col a{font-size:15px;color:var(--green);text-decoration:none;transition:color .15s;}
.footer-col a:hover{color:var(--dark);}
.footer-stripe{height:3px;max-width:1160px;margin:0 auto;background:linear-gradient(to right,#1A1A1A 33.33%,#CC0000 33.33%,#CC0000 66.66%,#FFCC00 66.66%);}
.footer-bottom{max-width:1160px;margin:0 auto;padding:20px 0 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-copy{font-size:14px;color:var(--mid);}
.footer-links{display:flex;gap:16px;}
.footer-links a{font-size:14px;color:var(--mid);text-decoration:none;}
.footer-links a:hover{color:var(--dark);}

/* ─── FLOW (full-screen takeover) ─── */
#v2-flow{
  position:fixed;inset:0;z-index:200;
  background:var(--bg);
  display:flex;flex-direction:column;
  transform:translateY(100%);
  transition:transform .55s cubic-bezier(.32,.72,0,1);
  will-change:transform;
  touch-action:manipulation;
}
#v2-flow.open{transform:translateY(0);z-index:1001;}
#v2-flow.page-mode{position:relative;transform:none;transition:none;height:100dvh;min-height:100dvh;z-index:1;padding-bottom:env(safe-area-inset-bottom);}
.flow-progress{height:3px;background:var(--border);flex-shrink:0;}
.flow-progress-fill{height:100%;background:var(--green);transition:width .4s ease;}
.flow-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 20px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--white);-webkit-user-select:none;user-select:none;}
.flow-back{width:32px;height:32px;border:none;background:none;color:var(--slate);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .15s;}
.flow-back:hover{color:var(--dark);}
.flow-center{text-align:center;}
.flow-close{margin-left:auto;}
.flow-step-label{font-size:14px;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.05em;}
.flow-step-num{font-size:13px;color:var(--muted);}
.flow-close{width:32px;height:32px;background:var(--border);border:none;border-radius:50%;font-size:16px;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.flow-close:hover{background:#D1D5DB;color:var(--dark);}
/* Stage */
.flow-stage{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;scroll-behavior:smooth;}
/* Steps */
.fstep{display:none;flex-direction:column;min-height:100%;padding:32px 24px 32px;gap:20px;max-width:560px;margin:0 auto;width:100%;}
.fstep.active{display:flex;animation:fstep-in .38s cubic-bezier(.34,1.56,.64,1) both;}
.fstep.back{animation:fstep-back .38s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes fstep-in{from{opacity:0;transform:translateX(36px);}to{opacity:1;transform:none;}}
@keyframes fstep-back{from{opacity:0;transform:translateX(-36px);}to{opacity:1;transform:none;}}
.fstep-q{font-size:clamp(30px,3.5vw,46px);font-weight:800;color:var(--dark);line-height:1.2;letter-spacing:-.5px;}
@media(min-width:769px){.fstep-q--form{font-size:24px;}}
.fstep-sub{font-size:18px;color:var(--muted);line-height:1.6;margin-top:-8px;}
/* Flow inputs */
.finp{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--r);font:17px 'Hanken Grotesk',sans-serif;color:var(--dark);background:var(--white);outline:none;transition:border-color .15s;-webkit-appearance:none;appearance:none;box-sizing:border-box;}
.finp:focus{border-color:var(--green);}
.finp::placeholder{color:var(--muted);}
.finp.err{border-color:var(--red);}
.finp-err .finp{border-color:var(--red);}
.finp-err select.finp{border-color:var(--red);}
select.finp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;}
.finp-ok select.finp{background-image:none;}
input[type="date"].finp{text-align:left;min-height:52px;}
input[type="date"].finp::-webkit-date-and-time-value{text-align:left;}
.ocr-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;}
.ocr-overlay{position:fixed;inset:0;z-index:300;background:rgba(246,244,238,.92);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.finp-label{font-size:18px;font-weight:500;color:var(--mid);margin-bottom:6px;}
.field-v2{display:flex;flex-direction:column;}
.field-row-v2{display:flex;gap:10px;}
.field-row-v2 .field-v2{flex:1;min-width:0;}
/* Flow button */
.fbtn{width:100%;padding:16px;background:var(--dark);color:white;border:none;border-radius:var(--r);font:700 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .15s,transform .1s;}
.fbtn:hover:not(:disabled){background:#333;}
.fbtn:active:not(:disabled){transform:scale(.98);}
.fbtn:disabled{opacity:.35;cursor:not-allowed;}
@keyframes fbtn-shake{0%,100%{transform:none;}15%{transform:translateX(-6px);}30%{transform:translateX(6px);}45%{transform:translateX(-5px);}60%{transform:translateX(5px);}75%{transform:translateX(-3px);}90%{transform:translateX(3px);}}
.fbtn-shake{animation:fbtn-shake .5s ease;background:#ef4444 !important;}
.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0;}
@keyframes spin{to{transform:rotate(360deg);}}
.fbtn-outline{width:100%;padding:14px;background:none;border:2px solid var(--green);border-radius:var(--r);color:var(--green);font:600 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .15s,border-color .15s;position:relative}
.fbtn-outline:hover{background:var(--green-xlt);}
.fbtn-icon{position:absolute;left:1em;top:50%;transform:translateY(-50%);height:22px;width:auto;}
.ficon{display:inline-block;vertical-align:-0.15em;height:auto;flex-shrink:0;}
[style*="align-items:flex-start"]>.ficon,.bio-req-note>.ficon,.email-nudge>.ficon{margin-top:4px;vertical-align:unset;}
.fbtn-ghost{background:none;border:none;font:15px 'Hanken Grotesk',sans-serif;color:var(--slate);text-decoration:underline;cursor:pointer;align-self:center;}
.fbtn-choice{flex:1;padding:13px 20px;background:none;border:2px solid var(--border);border-radius:var(--r);color:var(--dark);font:600 17px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:all .15s;}
.fbtn-choice:hover{border-color:var(--green);}
.fbtn-choice.active{background:var(--green);border-color:var(--green);color:#fff;}
.fs-format-card{display:flex;align-items:center;gap:20px;width:100%;padding:22px;background:none;border:2px solid var(--border);border-radius:var(--r-lg);cursor:pointer;text-align:left;transition:border-color .15s;}
.fs-format-card:hover{border-color:var(--green);}
.fs-format-icon{flex-shrink:0;display:flex;align-items:center;}
.fs-format-text{display:flex;flex-direction:column;gap:4px;}
.fs-format-title{font:700 20px 'Hanken Grotesk',sans-serif;color:var(--dark);}
.fs-format-desc{font-size:18px;color:var(--muted);}
.fbtn-ghost:hover{color:var(--dark);}
/* Inline choices */
.choice-row{display:flex;flex-wrap:wrap;gap:10px;}
.choice-btn{flex:1;min-width:120px;padding:14px 16px;background:var(--white);border:2px solid var(--border);border-radius:var(--r);font:600 16px 'Hanken Grotesk',sans-serif;color:var(--dark);cursor:pointer;transition:all .15s;text-align:center;}
.choice-btn-icon{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;}
.choice-btn-icon .cb-icon{font-size:22px;line-height:1;}
.choice-btn-icon .cb-label{font-size:16px;font-weight:600;line-height:1.2;}
.choice-btn:hover{border-color:var(--green);}
.choice-btn.sel{border-color:var(--green);background:var(--green-xlt);color:var(--green-dk);}
/* Führerscheinklassen checkboxes */
.klassen-grid{display:grid;grid-template-columns: auto auto auto auto auto auto auto auto;gap:10px 18px;}
.klassen-label{display:flex;align-items:center;gap:6px;cursor:pointer;min-height:44px;flex-direction:column;text-align:center;}
.klassen-cb{width:17px;height:17px;accent-color:var(--green);flex-shrink:0;cursor:pointer;}
.klassen-code{font-family:monospace;font-weight:600;font-size:15px;color:var(--dark);}
@media(max-width:600px){
  .klassen-grid{gap:12px 22px;}
  .klassen-cb{width:22px;height:22px;}
  .klassen-code{font-size:17px;}
}
/* Camera */
.vcam-wrap{width:100%;position:relative;border-radius:var(--r-lg);overflow:hidden;background:#111;flex-shrink:0;touch-action:manipulation;}
.vcam-wrap.r43{aspect-ratio:4/3;}
.vcam-wrap.r11{aspect-ratio:1;}
/* Papierführerschein: Handy bleibt normal hochkant, das Dokument wird stattdessen
   um 90° gedreht davorgehalten — eine großzügige, hochkante Vorschau (volle
   Spaltenbreite, deutlich höher als breit) nutzt die lange vertikale Sensor-
   Achse für das jetzt vertikal ausgerichtete Dokument. */
.vcam-wrap.paper-tall{aspect-ratio:3/4;}
/* Etwas knapperer Abstand für den Papier-Kamera-Schritt — Titel+Subtitel+Vorschau
   +Button sollen zusammen ohne Scrollen in die Viewport-Höhe passen. */
.fstep.fstep-cam-paper{gap:12px;padding-top:20px;padding-bottom:16px;}
.vcam-wrap video{width:100%;height:100%;object-fit:cover;display:block;}
.vcam-wrap.selfie video{transform:scaleX(-1);}
.vcam-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.vcam-flip-inline{flex-shrink:0;width:52px;border-radius:var(--r-lg);border:none;background:#F1F5F9;color:var(--dark);font-size:20px;display:flex;align-items:center;justify-content:center;}
.vcam-flip-corner{position:absolute;bottom:10px;right:10px;z-index:5;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.45);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.vcam-flip-corner img{display:block;}
.vcam-gyro-btn{position:absolute;top:10px;left:10px;z-index:5;background:rgba(0,0,0,.45);border:none;color:rgba(255,255,255,.9);font:600 11px 'Hanken Grotesk',sans-serif;padding:5px 10px;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.bio-cam-footer{display:flex;flex-direction:column;align-items:center;gap:6px;}
.bio-tips-ticker-wrap{position:relative;height:1.5em;width:100%;display:flex;align-items:center;justify-content:center;}
.bio-tips-tick-item{position:absolute;font-size:12px;color:var(--muted);text-align:center;margin:0;white-space:nowrap;}
.bio-tips-all-link{background:none;border:none;font:600 12px 'Hanken Grotesk',sans-serif;color:var(--green);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;}
.level-h-track{position:absolute;top:calc(env(safe-area-inset-top,0px) + 82px);left:50%;transform:translateX(-50%);width:56%;height:6px;background:rgba(255,255,255,.28);border-radius:3px;z-index:2;}
.level-h-zone{position:absolute;left:42%;width:16%;top:0;bottom:0;background:rgba(74,222,128,.55);border-radius:3px;}
.level-h-marker{position:absolute;top:-4px;width:4px;height:14px;border-radius:2px;transform:translateX(-50%);transition:left .1s linear,background .15s;box-shadow:0 0 0 1px rgba(0,0,0,.3);}
.level-h-label{position:absolute;top:calc(env(safe-area-inset-top,0px) + 94px);left:50%;transform:translateX(-50%);font-size:10px;color:rgba(255,255,255,.8);white-space:nowrap;z-index:2;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.level-v-track{position:absolute;top:18%;bottom:18%;width:6px;background:rgba(255,255,255,.28);border-radius:3px;z-index:2;}
.level-v-track.level-v-left{left:10px;}
.level-v-track.level-v-right{right:10px;}
.level-v-zone{position:absolute;top:42%;height:16%;left:0;right:0;background:rgba(74,222,128,.55);border-radius:3px;}
.level-v-marker{position:absolute;left:-4px;width:14px;height:4px;border-radius:2px;transform:translateY(-50%);transition:top .1s linear,background .15s;box-shadow:0 0 0 1px rgba(0,0,0,.3);}
.vcam-box{width:76%;height:70%;border:2px solid rgba(255,255,255,.85);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.35);}
.vcam-box::before,.vcam-box::after{content:'';position:absolute;width:18px;height:18px;border-color:var(--green);border-style:solid;}
.vcam-box::before{top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:4px 0 0 0;}
.vcam-box::after{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 4px 0;}
.vcam-box.oval{width:55%;height:80%;border-radius:50%;overflow:hidden;border-width:3px;}
/* Papierführerschein: aufgeklappt deutlich breiter als eine Karte — der Rahmen
   nutzt fast den ganzen Frame, damit möglichst viele Sensor-Pixel auf das
   Dokument fallen statt auf Rand. Muss mit boxW/boxH in capture() (app.js) übereinstimmen. */
.vcam-box.paper{width:55%;height:85%;border-radius:8px;}
.oval-guides{position:absolute;inset:0;pointer-events:none;}
.oval-vline{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(255,255,255,.35);}
.oval-eyezone{position:absolute;left:0;right:0;top:33%;height:20%;background:rgba(255,255,255,.07);border-top:2px solid rgba(255,255,255,.4);border-bottom:2px solid rgba(255,255,255,.4);}
.vcam-box:not(.oval) .oval-guides{display:none;}
.vcam-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:14px;color:rgba(255,255,255,.8);font-weight:500;}
.vcam-ok{position:absolute;inset:0;background:rgba(22,163,74,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.vcam-ok-ring{width:64px;height:64px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pop .35s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes pop{from{opacity:0;transform:scale(.3);}to{opacity:1;transform:scale(1);}}
/* ── Bio Guide Step ─────────────────────────────────────────────────────── */
.fstep--compact{gap:12px;padding-top:28px;padding-bottom:20px;}
/* ── Bio Guide (neu: fullscreen dark + bottom sheet) ────────────────────── */
.fstep--bio-guide{padding:0;background:#000;gap:0;overflow:hidden;}
/* vp sizes itself to the image's natural height — no cropping */
.bgd-vp{overflow:hidden;flex-shrink:0;width:100%;}
.bgd-track{display:flex;transition:transform .38s cubic-bezier(.4,0,.2,1);}
.bgd-slide{flex:0 0 100%;min-width:0;}
.bgd-img{width:100%;height:auto;display:block;}
/* sheet gets remaining space, overlaps image by 24px with rounded corners */
.bgd-sheet{flex:1;position:relative;z-index:1;background:#fff;border-radius:24px 24px 0 0;margin-top:-24px;padding:20px 24px calc(env(safe-area-inset-bottom,0px) + 32px);display:flex;flex-direction:column;gap:20px;overflow-y:auto;}
.bgd-handle{width:36px;height:4px;background:#E5E7EB;border-radius:2px;margin:0 auto;}
.bgd-step-label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;text-align:center;}
.bgd-slide-text{display:flex;flex-direction:column;gap:10px;}
.bgd-title{font-size:24px;font-weight:800;color:var(--dark);line-height:1.2;text-align:center;letter-spacing:-.02em;}
.bgd-desc{font-size:16px;color:var(--slate);line-height:1.55;text-align:center;}
.bgd-dots{display:flex;gap:7px;justify-content:center;align-items:center;}
.bgd-dot{width:8px;height:8px;border-radius:50%;background:#D1D5DB;cursor:pointer;transition:width .2s,background .2s,border-radius .2s;flex-shrink:0;}
.bgd-dot.active{width:22px;border-radius:4px;background:var(--dark);}

/* ── Bio Guide Carousel (Bio-Tipps-Popup) ────────────────────────────────── */
.bio-guide-module{background:#fff;border:1.5px solid var(--border);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);overflow:hidden;}
.bio-guide-vp{overflow:hidden;width:100%;}
.bio-guide-track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.bio-guide-slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;gap:20px;box-sizing:border-box;overflow:hidden;padding:28px 18px 18px;}
.bio-onboard-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:48px 24px;min-height:280px;}
.bio-onboard-icon{font-size:64px;line-height:1;}
.bio-onboard-title{font-size:19px;font-weight:800;color:var(--dark);letter-spacing:-.01em;}
.bio-onboard-desc{font-size:16px;color:var(--slate);line-height:1.6;max-width:340px;}
@media(max-width:430px){
  .bio-onboard-slide{padding:32px 18px;min-height:220px;}
  .bio-onboard-icon{font-size:52px;}
  .bio-onboard-title{font-size:17px;}
}
.bgs-title{font-size:18px;font-weight:800;color:var(--dark);text-align:center;padding-bottom:2px;}
.bgs-desc-row{grid-column:1/-1;font-size:15px;color:var(--slate);line-height:1.55;text-align:center;padding:0 4px 10px;}
/* ok oben zentriert + groß, 3× fail darunter */
.bgs-photos{display:grid;grid-template-columns:repeat(3,1fr);row-gap:10px;column-gap:2px;}
.bgs-photo-col{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;}
.bgs-photo-col--ok{grid-column:1/-1;}
.bgs-photo-col--ok .bgs-photo{width:44%;margin:0 auto;}
.bgs-photo-col:not(.bgs-photo-col--ok){width:94%;margin:0 auto;}
.bgs-photo{width:100%;aspect-ratio:3/4;height:auto;position:relative;}
.bgs-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px;border:2px solid transparent;}
.bgs-photo.ok img{border-color:#22c55e;border-width:3px;}
.bgs-photo.fail img{border-color:#f87171;}
.bsp-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.bsp-ok-badge,.bsp-fail-badge{position:absolute;bottom:7px;right:7px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.35);}
.bsp-ok-badge{background:#16a34a;color:#fff;}
.bsp-fail-badge{background:#DC2626;color:#fff;}
.bsp-lbl{font-size:14px;font-weight:600;text-align:center;line-height:1.3;}
.bsp-lbl.ok{color:#16a34a;}
.bsp-lbl.fail{color:#dc2626;}
/* Navigation */
.bio-guide-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 14px;border-top:1px solid var(--border);background:#F5F4F0;}
.bgn-arrow{font-size:28px;width:48px;height:48px;border:1.5px solid var(--border);background:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dark);transition:opacity .15s,box-shadow .15s;flex-shrink:0;box-shadow:0 1px 4px rgba(0,0,0,.07);}
.bgn-arrow:hover{box-shadow:0 2px 8px rgba(0,0,0,.14);}
.bgn-arrow.invisible{opacity:0;pointer-events:none;}
.bgn-dots{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;}
.bgn-dot{width:10px;height:10px;border-radius:50%;background:#D1D5DB;cursor:pointer;transition:background .2s,transform .2s,width .2s;flex-shrink:0;}
.bgn-dot.active{background:var(--green);transform:scale(1.3);}
@media(max-width:430px){
  .fstep--compact{padding-top:20px;padding-bottom:10px;gap:8px;}
  .bio-guide-slide{padding:14px 12px 12px;gap:12px;}
  .bgs-photos{row-gap:12px;}
  .bgs-title{font-size:15px;}
  .bgs-desc-row{font-size:12px;padding:4px 2px 6px;}
  .bio-guide-nav{padding:9px 12px 10px;}
  .bgn-arrow{width:40px;height:40px;font-size:24px;}
  .flow-header{padding:10px 16px;}
}
/* Cam fallback */
.vcam-fallback{width:100%;background:var(--white);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.vcam-fallback-icon{display:flex;align-items:center;justify-content:center;}
.vcam-fallback-title{font-size:17px;font-weight:800;}
.vcam-fallback-sub{font-size:18px;color:var(--muted);line-height:1.6;}
.vcam-tip{display:flex;align-items:flex-start;justify-content:center;gap:8px;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:10px;padding:10px 12px;font-size:16px;color:#1D4ED8;line-height:1.5;width:100%;text-align:left;}
/* QR-Handoff: Desktop → Handy */
.qr-handoff-card{display:flex;align-items:center;gap:16px;background:var(--green-xlt);border:1px solid var(--green-lt);border-radius:var(--r-lg);padding:16px;flex-wrap:wrap;}
.qr-handoff-card img{flex-shrink:0;width:176px;height:176px;background:#fff;border-radius:10px;padding:10px;box-sizing:border-box;}
.qr-handoff-card>div{flex:1;min-width:180px;}
.qr-handoff-title{font:700 16px 'Hanken Grotesk',sans-serif;color:var(--dark);margin-bottom:4px;}
.qr-handoff-sub{font-size:16px;color:var(--slate);line-height:1.5;}
.qr-handoff-card .qr-handoff-sub{text-align:left;}
.vcam-fallback .qr-handoff-sub,.fstep--sig .qr-handoff-sub{text-align:center;}
.vcam-desktop-hint{width:100%;}
.vcam-hint-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--green-xlt);border:1.5px solid var(--green);border-radius:var(--r);font:600 16px 'Hanken Grotesk',sans-serif;color:var(--green);cursor:pointer;padding:12px 16px;transition:background .15s;}
.vcam-hint-toggle:hover{background:var(--green-lt);}
.vcam-hint-panel{display:flex;flex-direction:column;align-items:center;gap:10px;background:#F5F4F0;border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;margin-top:8px;text-align:center;}
.vcam-hint-panel img{flex-shrink:0;width:160px;height:160px;background:#fff;border-radius:8px;padding:8px;box-sizing:border-box;}
.vcam-hint-panel p{font-size:16px;color:var(--slate);line-height:1.5;margin:0;}
@media (max-width:768px){ .vcam-desktop-hint{display:none;} }

/* ── Kamera Fullscreen ────────────────────────────────────────────────────── */
#cam-fs{position:absolute;inset:0;z-index:100;background:#000;overflow:hidden;}
#cam-fs video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
#cam-fs.selfie video{transform:scaleX(-1);}

/* Header-Leiste: Gyro | Titel | Schließen */
.cfs-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:linear-gradient(rgba(0,0,0,.55),transparent);}
.cfs-header-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;}
.cfs-header-label{font-size:15px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);line-height:1.25;text-align:center;}
.chl-sep{display:none;}
.cfs-header-num{font-size:12px;color:rgba(255,255,255,.65);}

/* Overlay-Rahmen */
.cfs-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
/* Karten-Overlay: Kreditkarten-Proportionen (85.6 × 54 mm) */
#cam-fs .vcam-box:not(.oval):not(.paper){width:85%;height:auto;aspect-ratio:85.6/54;border-radius:10px;}
/* Bio-Oval: Passfoto-Proportionen (35 × 45 mm) */
#cam-fs .vcam-box.oval{width:68%;height:auto;aspect-ratio:7/9;border-radius:50%;overflow:hidden;}
/* Papier-Overlay: Papierführerschein-Proportionen (744×363 mm) hochkant gedreht → 363:744 */
#cam-fs .vcam-box.paper{width:68%;height:auto;aspect-ratio:363/744;border-radius:8px;}

/* Hinweis (zwischen Overlay und Capture-Button) */
.cfs-status{position:absolute;left:0;right:0;bottom:106px;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;padding:0 20px;}
.cfs-hint{font-size:16px;font-weight:600;color:rgba(255,255,255,.95);text-align:center;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.8);}
.cfs-skip-link{pointer-events:auto;background:none;border:none;margin-top:6px;padding:6px 4px;font-size:14px;font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:2px;text-shadow:0 1px 4px rgba(0,0,0,.8);cursor:pointer;}
.cfs-skip-link:active{opacity:.7;}

/* Capture-Bereich (nur Buttons) */
.cfs-bottom{position:absolute;bottom:0;left:0;right:0;padding:10px 28px calc(env(safe-area-inset-bottom,0px) + 18px);background:linear-gradient(transparent,rgba(0,0,0,.7));}
.cfs-controls{width:100%;display:grid;grid-template-columns:56px 1fr 56px;align-items:center;}
.cfs-side-btn{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.cfs-side-btn:first-child{justify-self:start;}
.cfs-side-btn:last-child{justify-self:end;}
.cfs-capture{width:72px;height:72px;border-radius:50%;border:4px solid rgba(255,255,255,.9);background:transparent;cursor:pointer;position:relative;padding:0;justify-self:center;}
.cfs-capture-inner{position:absolute;inset:5px;border-radius:50%;background:#fff;transition:transform .1s,opacity .15s;}
.cfs-capture:active .cfs-capture-inner{transform:scale(.88);}
.cfs-capture.cfs-capture--dim .cfs-capture-inner{opacity:.35;}

/* OK-Flash */
.cfs-ok{position:absolute;inset:0;background:rgba(22,163,74,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.cfs-ok-ring{width:72px;height:72px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pop .35s cubic-bezier(.34,1.56,.64,1) both;}

/* Bio-Warn-Modal (Gesicht nicht erkannt) */
.cfs-bio-warn-modal{position:absolute;inset:0;background:rgba(0,0,0,.6);z-index:15;display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px);}
.cfs-bio-warn-card{background:#1c1c1e;border-radius:16px 16px 0 0;padding:24px 20px;width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:14px;}
.cfs-bio-warn-text{color:rgba(255,255,255,.85);font-size:15px;font-weight:500;text-align:center;line-height:1.4;margin:0;}
.cfs-bio-warn-btn{width:100%;padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:700;cursor:pointer;background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);}
.cfs-bio-warn-btn--ok{background:#fff;color:#000;}


/* Landscape: Capture-Button rechts, wie iPhone Kamera */
@media(orientation:landscape){
  /* Header + Status: volle Breite damit Titel wirklich mittig erscheint */
  .cfs-header{left:0;right:0;padding-left:calc(env(safe-area-inset-left,0px) + 14px);padding-right:calc(env(safe-area-inset-right,0px) + 14px);}
  /* Overlay: höhenbasiert skalieren damit Box in den Screen passt */
  #cam-fs .vcam-box:not(.oval):not(.paper){width:auto;height:72%;aspect-ratio:85.6/54;}
  #cam-fs .vcam-box.oval{width:auto;height:78%;aspect-ratio:7/9;}
  /* Papier landscape: Dokument liegt natürlich quer → 744:363 */
  #cam-fs .vcam-box.paper{width:auto;height:82%;aspect-ratio:744/363;}
  /* Titel einzeilig in landscape */
  .chl-br{display:none;}
  .chl-sep{display:inline;}
  /* Weniger Abstand oben in landscape (kein Notch oben) */
  .cfs-header{padding-top:8px;}
  .cfs-header-center{position:relative;bottom:6px;}
  /* Hinweistext: volle Breite, zentriert */
  .cfs-status{bottom:14px;top:auto;left:0;right:0;text-align:center;}
  /* Capture-Button-Spalte rechts (darüber liegend, hat eigenen Hintergrund) */
  .cfs-bottom{top:0;left:auto;right:0;bottom:0;width:calc(env(safe-area-inset-right,0px) + 96px);padding:20px calc(env(safe-area-inset-right,0px) + 12px) 20px 12px;background:linear-gradient(to left,rgba(0,0,0,.7),transparent);}
  .cfs-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;}
  .cfs-side-btn{justify-self:unset;}
  /* Papier landscape: mehr Abstand oben (Header) und unten (Hinweistext) */
  #cam-fs.is-paper .cfs-header{padding-top:32px;}
  #cam-fs.is-paper .cfs-status{bottom:38px;}
}
/* Papier portrait: Hinweistext zentriert und auf 290px begrenzt */
#cam-fs.is-paper .cfs-hint{max-width:240px;margin-left:auto;margin-right:auto;margin-bottom:3vh;}
@media(orientation:landscape){
  #cam-fs.is-paper .cfs-hint{max-width:none;}
}

/* inp-ok */
.finp-ok{position:relative;}
.finp-ok .finp{padding-right:36px;}
.finp-ok::after{content:'✓';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--green);font-weight:700;}
/* Klassen */
.klassen-v2{display:flex;gap:10px;flex-wrap:wrap;}
.klasse-v2{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;}
.klasse-v2 input{width:24px;height:24px;accent-color:var(--green);cursor:pointer;}
.klasse-v2 span{font-size:11px;color:var(--muted);font-weight:600;}
/* ── Signature Fullscreen (mobile + mobile landscape) ───────────────────── */
#sig-fs{position:absolute;inset:0;z-index:100;background:#1E293B;display:flex;flex-direction:column;}
/* Portrait: rotation prompt fills whole screen */
.sfs-rotate{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:48px 32px;text-align:center;}
.sfs-rotate-back{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);left:10px;width:44px;height:44px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;}
.sfs-rotate-icon{font-size:80px;color:#fff;animation:sfs-tilt 2s ease-in-out infinite alternate;display:block;line-height:1;}
@keyframes sfs-tilt{from{transform:rotate(-50deg);}to{transform:rotate(50deg);}}
.sfs-rotate-title{font-size:26px;font-weight:800;color:#fff;letter-spacing:-.01em;margin:0;}
.sfs-rotate-sub{font-size:17px;color:rgba(255,255,255,.65);line-height:1.55;max-width:300px;margin:0;}
/* Canvas view (landscape) — fills #sig-fs, header floats over canvas like camera */
.sfs-canvas-view{flex:1;display:flex;flex-direction:column;min-height:0;}
.sfs-canvas-area{flex:1;position:relative;background:#fff;overflow:hidden;-webkit-user-select:none;user-select:none;min-height:0;}
.sfs-canvas-area canvas{display:block;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
/* Floating header over canvas — same pattern as .cfs-header on camera */
.sfs-overlay-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 16px;background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,0));pointer-events:none;}
.sfs-overlay-header>*{pointer-events:auto;}
.sfs-back-btn{width:44px;height:44px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dark);}
.sfs-back-btn svg path{stroke:var(--dark);}
.sfs-header-title{font-size:15px;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.06em;}
/* Bottom bar: two equal buttons side by side */
.sfs-bottom{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 12px);background:#fff;border-top:1px solid var(--border);flex-shrink:0;}
.sfs-clear{flex:0 0 auto;padding:14px 20px;border:1.5px solid var(--border);border-radius:12px;background:transparent;font-size:16px;font-weight:600;color:var(--dark);cursor:pointer;}
.sfs-submit{flex:1;padding:15px 20px;background:var(--dark);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s;}
.sfs-submit:disabled{opacity:.35;cursor:not-allowed;}
/* Hide on desktop (tablets+) — keep visible on mobile landscape */
/* Mouse/trackpad users never see the fullscreen overlay — any window width */
@media(pointer:fine){#sig-fs{display:none!important;}}
/* Wide screens (e.g. iPad landscape) also suppress the overlay */
@media(min-width:1024px){#sig-fs{display:none!important;}}
/* ── Signature (desktop .fstep) ─────────────────────────────────────────── */
/* Only hide the inline step on touch devices at narrow widths */
@media(pointer:coarse) and (max-width:1023px){.fstep--sig{display:none!important;}}
.sig-canvas-wrap{width:100%;position:relative;background:#fff;border:2px solid #D1D5DB;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/1;height:auto;flex-shrink:0;}
.sig-canvas-wrap{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.sig-canvas-wrap canvas{display:block;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
.sig-handoff-hint{background:#F8FAFC;border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
.sig-handoff-hint-text{font-size:15px;color:var(--slate);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sig-handoff-link{background:none;border:none;color:var(--green);font:600 15px 'Hanken Grotesk',sans-serif;cursor:pointer;padding:0;text-decoration:underline;white-space:nowrap;}
.sig-handoff-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:4px;}
.sig-handoff-qr img{border-radius:6px;border:1px solid var(--border);}
.sig-handoff-qr-sub{font-size:13px;color:var(--slate);text-align:center;line-height:1.4;margin:0;max-width:220px;}
.sig-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--slate);font-size:18px;gap:8px;flex-direction:column;display:flex;}
.sig-actions{display:flex;gap:10px;}
.sig-actions .fbtn,.sig-actions .fbtn-outline{flex:1;padding:13px;}
/* Payment rotate hint */
.pay-rotate-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green-lt);color:var(--green-dk);border-radius:var(--r-lg);padding:12px 14px;font-size:15px;font-weight:600;line-height:1.4;}
@media(pointer:fine){.pay-rotate-hint{display:none!important;}}
.pay-rotate-close{background:none;border:none;font-size:20px;color:var(--green-dk);cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;opacity:.7;}
.pay-rotate-close:hover{opacity:1;}
/* Payment */
.product-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--dark);border-radius:var(--r-lg);color:white;}
.product-card-icon{flex-shrink:0;display:flex;align-items:center;}
.product-name{font-size:16px;font-weight:700;}
.product-sub{font-size:14px;color:rgba(255,255,255,.85);margin-top:3px;}
.product-seals{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.product-seals span{font-size:13px;color:rgba(255,255,255,.75);display:inline-flex;align-items:center;gap:4px;}
.product-seals .ficon{filter:invert(1);}
.vsummary{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;}
.vsummary-row{display:flex;justify-content:space-between;font-size:15px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--border);}
.vsummary-row:last-child{border:none;font:700 17px 'Hanken Grotesk',sans-serif;color:var(--dark);padding-top:10px;}
/* Location */
.vloc-card{border:2px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:var(--white);}
.vloc-img{width:100%;height:80px;background:linear-gradient(135deg,#DCFCE7,#BBF7D0);border-radius:10px;}
.vloc-name{font-size:17px;font-weight:700;}
.vloc-addr{font-size:16px;color:var(--muted);}
.amt-list{background:var(--white);border:2px solid var(--border);border-radius:var(--r);overflow:hidden;}
.amt-opt{display:block;width:100%;text-align:left;padding:12px 14px;background:none;border:none;border-bottom:1px solid var(--border);font:16px 'Hanken Grotesk',sans-serif;color:var(--dark);cursor:pointer;transition:background .12s;}
.amt-opt:last-child{border-bottom:none;}
.amt-opt:hover{background:var(--green-xlt);}
.amt-opt strong{display:block;font-weight:600;}
.amt-opt small{color:var(--muted);}
/* Deadline banners */
.deadline-ok{display:flex;align-items:center;gap:8px;background:var(--green-xlt);border:1px solid var(--green-lt);border-radius:10px;padding:10px 12px;font-size:15px;color:var(--green-dk);}
.deadline-warn{display:flex;align-items:center;gap:8px;background:#FEF3C7;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;font-size:16px;color:#92400E;}
.deadline-err{display:flex;align-items:center;gap:8px;background:#FEF2F2;border:2px solid #991B1B;border-radius:10px;padding:10px 12px;font-size:16px;color:#991B1B;font-weight:700;}
.email-nudge{font-size:15px;color:#92400E;background:#FEF3C7;border:1px solid #FDE68A;border-radius:8px;padding:8px 10px;line-height:1.55;margin-top:4px;display:flex;align-items:flex-start;gap:8px;}
.vpay-actions{display:flex;flex-direction:column;gap:16px;flex-shrink:0;margin-top:12px;}
.vpay-actions-retry{display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin-top:12px;}
/* Success */
.vsuccess{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:20px 0;}
.vsuccess-ring{width:80px;height:80px;border:3.5px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:vring-in .6s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes vring-in{from{opacity:0;transform:scale(.2) rotate(-90deg);}to{opacity:1;transform:scale(1) rotate(0);}}
.vsuccess-title{font-size:24px;font-weight:800;animation:vfade-up .45s .2s ease both;}
.vsuccess-sub{font-size:16px;color:var(--mid);line-height:1.65;max-width:380px;animation:vfade-up .45s .3s ease both;}
@keyframes vfade-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.vreferral{background:var(--white);border:2px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:12px;animation:vfade-up .45s .4s ease both;}
.vreferral-url{background:var(--bg);border-radius:8px;padding:10px 12px;font:15px monospace;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vbtn-wa{padding:13px;background:#25D366;color:white;border:none;border-radius:var(--r);font:700 16px 'Hanken Grotesk',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
/* Confirm veil */
.veil{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:150;display:flex;align-items:flex-end;justify-content:center;}
.veil-card{position:relative;background:var(--white);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:28px 24px;width:100%;display:flex;flex-direction:column;gap:10px;max-width:560px;}
.veil-title{font-size:18px;font-weight:800;text-align:center;}
.veil-sub{font-size:16px;color:var(--muted);text-align:center;line-height:1.6;margin-bottom:4px;}
.veil-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--light);color:var(--dark);font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.bio-tips-vp{overflow:hidden;width:100%;}
.bio-tips-track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.bio-tips-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:8px 12px 4px;}
.bio-tips-icon{font-size:40px;line-height:1;}
.bio-tips-title{font-size:17px;font-weight:700;color:var(--dark);}
.bio-tips-desc{font-size:15px;color:var(--muted);line-height:1.55;max-width:340px;}
.bgs-tip-img{width:100%;height:auto;border-radius:10px;object-fit:contain;display:block;}
/* Bio upload */
.bio-upload-area{display:flex;flex-direction:column;gap:10px;width:100%;}
.bio-file-btn{position:relative;padding:14px;border:2px dashed var(--border);border-radius:var(--r-lg);background:var(--white);cursor:pointer;text-align:center;font:600 16px 'Hanken Grotesk',sans-serif;color:var(--mid);transition:border-color .15s;}
.bio-file-btn:hover{border-color:var(--green);}
.bio-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.bio-preview-img{width:100%;max-height:150px;object-fit:contain;border-radius:10px;background:#1E293B;}
.bio-req-note{font-size:15px;color:#92400E;background:#FEF3C7;border:1px solid #FDE68A;border-radius:8px;padding:8px 10px;line-height:1.6;display:flex;align-items:flex-start;gap:8px;}
/* Utils */
.mt-auto{margin-top:auto;}
.vcam-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;align-items:stretch;}
.vcam-actions .fbtn{flex:1 1 0;width:auto;min-width:0;}
.divider{height:1px;background:var(--border);}
.name-change{padding-top:4px;}
.warning-text{font-size:15px;color:var(--red);}

/* ═══ BUNDESSTIL v3 OVERRIDES ═══ */
/* Nav */
.nav-logo-mark{width:40px;height:40px;border-radius:0;background:none;}
.nav-cta{background:var(--dark);border-radius:2px;}
.nav-cta:hover{background:#333;}
/* Hero layout — BundID-Blau (heller, Cornflower-Ton) */
#hero{background:#3D6DC5;overflow:hidden;}
.hero-inner{align-items:center;}
.hero-inner>div:first-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.hero-right{display:flex;align-items:center;justify-content:center;}
.hero-visual{width:100%;height:auto;object-fit:cover;border-radius:3px;box-shadow:0 32px 64px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);display:block;}
.hero-title{font-weight:800;line-height:1.0;letter-spacing:-.025em;color:#fff;}
.hero-title em{color:#fff;font-style:normal;display:flex;gap:5px;}
.hero-sub{color:rgba(255,255,255,.85);}
/* Hero eyebrow badge — glassmorphism on blue */
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.9);font-size:11px;font-weight:600;letter-spacing:.06em;border-radius:2px;border:1px solid rgba(255,255,255,.25);padding:5px 11px;}
/* Hero email capture — white pill on blue */
.hero-capture{display:flex;background:#fff;border:1px solid rgba(255,255,255,.2);border-radius:2px;padding:4px 4px 4px 14px;align-items:center;max-width:440px;margin-bottom:0;box-shadow:0 4px 24px rgba(0,0,68,.25);}
.hero-capture-inp{flex:1;border:none;background:transparent;font:17px 'Hanken Grotesk',sans-serif;color:var(--dark);outline:none;min-width:0;padding-right:8px;}
.hero-capture-inp::placeholder{color:var(--muted);}
.hero-capture-btn{background:var(--dark);color:#fff;border:none;border-radius:2px;padding:11px 18px;font:600 16px 'Hanken Grotesk',sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s;flex-shrink:0;}
.hero-capture-btn:hover{background:#333;}
.hero-capture-btn:active{transform:scale(.97);}
.hero-caption{font-size:15px;font-weight:600;color:rgba(255,255,255,.92);margin-top:14px;}
/* Trust stats on blue */
.hero-trust{border-top:1px solid rgba(255,255,255,.18);padding-top:22px;margin-top:28px;gap:24px;}
.hero-trust span{font-size:15px;letter-spacing:.03em;color:rgba(255,255,255,.9);}
.hero-trust strong{font-size:22px;font-weight:800;color:#fff;display:block;letter-spacing:-.01em;}
/* How it works — white bg */
#how{background:#FFFFFF;}
#how .section-tag{color:var(--green);}
#how .section-title{color:var(--dark);}
#how .section-sub{color:var(--muted);}
#how .step-num{width:28px;height:28px;background:var(--dark);color:#fff;border-radius:2px;font-weight:700;font-size:14px;}
#how .step-card h3{color:var(--dark);font-weight:600;}
#how .step-card p{color:var(--mid);}
#how .step-connector{background:var(--border);}
/* Trust bar — dark */
#trustbar{background:var(--dark);border-bottom:none;}
.trust-num{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.01em;}
.trust-label{color:rgba(255,255,255,.45);}
/* Pricing — light blue bg */
#pricing{background:#EBF2FF;}
.price-badge{background:#F5F5F5;color:var(--green);border:1px solid var(--border);border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.04em;}
.price-box{border-color:var(--border);background:#fff;border-radius:3px;}
.price-amount{font-weight:800;letter-spacing:-.025em;}
.price-includes li::before{color:var(--green);}
/* FAQ */
.faq-q{font-weight:600;}
.faq-item{border-color:var(--border);}
.faq-icon{background:#F5F5F5;color:var(--dark);border-radius:2px;font-style:normal;line-height:1!important;}
.faq-q:hover .faq-icon{background:var(--border);}
/* CTA section */
#cta-section{background:var(--bg);}
.cta-title{font-weight:800;letter-spacing:-.025em;line-height:1.3;}
.cta-days{text-align:center;color:#fff;}
/* Footer */
footer{background:#F5F5F5;}
/* Nav alignment */
#nav{padding:0 24px;}
.nav-inner{padding:0;max-width:1160px;margin:0 auto;}
.faq-list{max-width:100%;}
/* Flow */
.flow-header{background:var(--white);border-color:var(--border);}
#v2-flow{background:var(--white);}
.fstep-q{font-weight:800;letter-spacing:-.02em;}
.finp-label{font-size:18px;font-weight:500;color:var(--mid);text-transform:none;letter-spacing:0;}
.finp{border:1.5px solid var(--border);background:#fff;border-radius:2px;}
.finp:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,68,153,.08);}
.finp::placeholder{color:var(--muted);}
select.finp{background-color:#fff;}
.fbtn-outline{border-radius:2px;}
.choice-btn{border-color:var(--border);border-radius:2px;}
.choice-btn.sel{border-color:var(--green);background:var(--green-xlt);color:var(--green);}
.flow-step-label{font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--dark);}
.flow-close{border-radius:50%;background:transparent;border:1.5px solid var(--border);}
.fbtn-choice.active{background:var(--dark);border-color:var(--dark);color:#fff;}
/* Camera */
.vcam-tip{background:var(--green-xlt);border-color:var(--green-lt);color:var(--green);}
/* Deadline banners */
.deadline-ok{background:var(--green-xlt);border-color:var(--green-lt);color:var(--green);}
/* Success */
.vsuccess-ring{border-color:var(--green);}
/* Location */
.vloc-card{border-color:var(--border);}
.vloc-img{background:linear-gradient(135deg,var(--green-lt),var(--green-xlt));}
.amt-opt:hover{background:var(--green-xlt);}
/* Summary */
.vsummary{background:var(--white)!important;border:1.5px solid var(--border)!important;border-radius:2px!important;padding:0!important;}
.vsummary-row{padding:12px 16px!important;font-size:16px!important;color:var(--dark)!important;border-color:var(--border)!important;}
.vsummary-row:nth-last-child(2){border-bottom:none!important;}
.vsummary-row:last-child{font:700 17px 'Hanken Grotesk',sans-serif!important;color:var(--dark)!important;padding:14px 16px!important;border-top:1px solid var(--border)!important;border-bottom:none!important;}
/* Payment selection */
.vpay-btn:not(.sel){opacity:.5!important;border-color:var(--border)!important;background:#fff!important;}
.vpay-btn.sel{border:3px solid var(--green)!important;background:var(--green-xlt)!important;box-shadow:inset 0 0 0 1px var(--green)!important;transform:none!important;}
.vpay-btn.sel .pn{color:var(--green)!important;font-weight:700!important;}
.vpay-btn.sel .vcheck{display:flex!important;background:var(--green)!important;}
/* Product card */
.product-card{background:var(--dark)!important;}
.product-sub{color:rgba(255,255,255,1)!important;}
.product-name{font-weight:700!important;}
.product-seals span{color:rgba(255,255,255,.9)!important;font-size:13px!important;}
/* Continue banner */
.continue-banner{background:rgba(0,68,153,.06);border:1.5px solid rgba(0,68,153,.2);border-radius:2px;padding:18px;margin-top:20px;}
/* A/B price tag */
.hero-price-ab{font-size:12px;color:var(--muted);letter-spacing:.02em;margin-top:8px;}

/* ─── REVEAL ANIMATIONS ─── */
.reveal-up{opacity:0;transform:translateY(40px);transition:all 0.8s cubic-bezier(0.16,1,0.3,1);}
.reveal-active{opacity:1;transform:translateY(0);}
.delay-100{transition-delay:100ms;}
.delay-200{transition-delay:200ms;}
.delay-300{transition-delay:300ms;}
.delay-400{transition-delay:400ms;}

@media(max-width:860px){.hero-inner{grid-template-columns:1fr;gap:48px;}}
@media(max-width:600px){
  #hero{padding-left:16px;padding-right:16px;padding-top:64px;padding-bottom:24px;}
  #nav{padding-left:16px;padding-right:16px;}
  .nav-inner{padding-left:0;padding-right:0;height:48px;}
  .nav-logo{gap:4px;font-size:16px;}
  .nav-arr{display:none;}
  .hero-capture{width:100%;max-width:100%;}
  .hero-eyebrow{margin-bottom:12px;}
  .hero-title{margin-bottom:10px;font-size:clamp(40px,10vw,54px);}
  .ticker-wrap{min-width:7ch;margin-left:0}
  .hero-sub{margin-bottom:16px;font-size:18px;}
  .hero-trust{margin-top:14px;padding-top:14px;gap:0;flex-wrap:nowrap;justify-content:space-between;width:100%;}
  .hero-trust > div{display:flex;flex-direction:column;gap:2px;}
  .hero-trust strong{font-size:18px;}
  .hero-trust span{font-size:13px;white-space:nowrap;}
  .hero-inner{gap:24px;}
  .section{padding:48px 16px;}
  #trustbar{padding:20px 16px;}
  footer{padding:36px 16px 24px;}
  .footer-grid{margin-bottom:28px;}
  #cta-section{padding-left:0;padding-right:0;padding-bottom:48px;}
}
@media(max-width:380px){
  .hero-capture{padding:5px 5px 5px 12px;}
  .hero-capture-btn{padding:10px 12px;font-size:15px;}
  .cta-pill{padding:5px 5px 5px 14px;}
}
.cta-note{font:500 17px 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,1);text-shadow:0 1px 6px rgba(0,0,0,1);}

@keyframes spin{to{transform:rotate(360deg)}}

/* ─── FLOW: MINDEST-SCHRIFTGROSSEN (global, alle Gerätegrößen) ─── */
.fstep [style*="font-size:11px"]{font-size:15px!important;line-height:1.6!important;}
.fstep [style*="font-size:12px"]{font-size:15px!important;line-height:1.6!important;}
.fstep [style*="font-size:13px"]{font-size:16px!important;line-height:1.5!important;}
.fstep [style*="font-size:14px"]{font-size:16px!important;line-height:1.5!important;}

/* ─── MOBILE TYPOGRAPHY MINIMUMS ─── */
@media(max-width:600px){
  /* Hero */
  .hero-title{font-size:clamp(40px,10vw,54px);}
  /* Section-Eyebrows */
  .section-tag{font-size:16px;}
  /* Fließtexte: min 18px */
  .hero-sub{font-size:18px;}
  .section-sub{font-size:18px;}
  .fstep-sub{font-size:18px;}
  .faq-a{font-size:18px;}
  .step-card p{font-size:18px;}
  .price-note{font-size:15px;}
  .price-row{font-size:18px;}
  .price-includes li{font-size:18px;}
  .finp-label{font-size:18px;}
  .finp{font-size:17px;}
  .vcam-fallback-sub{font-size:18px;}
  .vcam-tip{font-size:15px;}
  .deadline-ok,.deadline-warn,.deadline-err{display:block;font-size:15px;line-height:1.7;}
  .faq-q{font-size:18px;}
  /* Überschriften: min 22px */
  .fstep-q{font-size:30px;}
  .step-card h3{font-size:22px;}
  .section-title{font-size:26px;}
  .vcam-fallback-title{font-size:22px;}
  /* Flow Metadaten */
  .flow-step-label{font-size:14px;}
  .flow-step-num{font-size:14px;}
  /* CTA Section */
  .cta-title{font-size:clamp(34px,8vw,46px);text-align:center;margin-bottom:6px;}
  .cta-sub{font-size:18px;max-width:100%;margin-bottom:9px;}
  .cta-note{font-size:17px;}
  /* Generell: alle Hinweis- und Helfer-Texte mit Inline-Styles lesbar machen */
  .fstep [style*="font-size:11px"]{font-size:15px!important;line-height:1.6!important;}
  .fstep [style*="font-size:12px"]{font-size:15px!important;line-height:1.6!important;}
  .fstep [style*="font-size:13px"]{font-size:16px!important;line-height:1.5!important;}
  .fstep [style*="font-size:14px"]{font-size:16px!important;line-height:1.5!important;}
  /* Payment */
  .product-name{font-size:16px!important;}
  .product-sub{font-size:14px!important;}
  .vsummary-row{font-size:15px!important;}
}
