/* MFKcheck Design System v2 – Swiss, ruhig, vertrauenswürdig. Mobile-first, keine externen Requests. */
@font-face{font-family:"InterVar";src:url("/fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  /* Farben: neutrale Basis, ein Akzent (Blau), Schweizer Rot sparsam (Logo, Marker) */
  --ink:#0A1020;--text:#1D2939;--text-2:#475467;--muted:#5D6B82;--line:#E4E7EC;--line-2:#D0D5DD;
  --bg:#FFFFFF;--bg-soft:#F9FAFB;--bg-tint:#F4F6FA;--bg-ink:#0B1222;
  --accent:#1D4ED8;--accent-h:#1A3FB0;--accent-soft:#EEF3FF;--accent-line:#C7D7FE;--ring:0 0 0 4px rgba(29,78,216,.22);
  --red:#D52B1E;--red-soft:#FEF1F0;
  --ok:#067647;--ok-bg:#ECFDF3;--ok-line:#ABEFC6;--warn:#93370D;--warn-bg:#FFFAEB;--warn-line:#FEDF89;--err:#B42318;--err-bg:#FEF3F2;--err-line:#FECDCA;
  /* Typografie */
  --font:"InterVar","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);--fs-3xl:clamp(2rem,1.3rem + 3vw,3.5rem);
  /* Abstände */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--s24:96px;
  /* Radien & Schatten */
  --r-xs:6px;--r-sm:10px;--r:14px;--r-lg:20px;--r-full:999px;
  --sh-xs:0 1px 2px rgba(16,24,40,.05);--sh-sm:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);
  --sh-md:0 4px 8px -2px rgba(16,24,40,.08),0 2px 4px -2px rgba(16,24,40,.04);--sh-lg:0 16px 32px -8px rgba(16,24,40,.14),0 4px 8px -4px rgba(16,24,40,.06);
  --ease:cubic-bezier(.2,.7,.2,1);--t:.18s var(--ease);
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
img,svg{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none;transition:color var(--t)}a:hover{color:var(--accent-h);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{color:var(--ink);line-height:1.15;letter-spacing:-.022em;margin:0 0 .5em;font-weight:700;text-wrap:balance}
h1{font-size:var(--fs-3xl);letter-spacing:-.035em}h2{font-size:var(--fs-2xl);letter-spacing:-.03em}h3,.h3{font-size:var(--fs-md);letter-spacing:-.015em}.h4,h4{font-size:var(--fs-base)}
p{margin:0 0 1em}.lead{font-size:var(--fs-md);color:var(--text-2);max-width:64ch;line-height:1.55}
.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.tiny{font-size:var(--fs-xs)}.center{text-align:center}.big{font-size:var(--fs-lg);font-weight:650;color:var(--ink)}
.ok{color:var(--ok);font-weight:600}.warn{color:var(--warn)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-sm);font-weight:600}.skip:focus{top:12px;color:#fff}
.ic{width:20px;height:20px;flex:none}.ic-sm{width:16px;height:16px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--s5)}@media(min-width:768px){.wrap{padding:0 var(--s8)}}
.narrow{max-width:780px;margin-left:auto;margin-right:auto}
.section{padding:var(--s16) 0}@media(min-width:768px){.section{padding:var(--s20) 0}}.wrap.section{padding-left:var(--s5);padding-right:var(--s5)}@media(min-width:768px){.wrap.section{padding-left:var(--s8);padding-right:var(--s8)}}
.section-tint{background:var(--bg-tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--s3)}
.eyebrow .dot{width:8px;height:8px;border-radius:2px;background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.sec-head{max-width:720px;margin-bottom:var(--s10)}.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}.sec-sub{color:var(--text-2);font-size:var(--fs-md);margin:0}
.sec-more{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;margin-top:var(--s8)}.sec-title{margin-top:var(--s12);font-size:var(--fs-xl)}
.arrow-link{display:inline-flex;align-items:center;gap:6px;font-weight:600}

/* ---------- Top-Leisten ---------- */
.draftbar{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--bg-ink);color:#E4E7EC;font-size:var(--fs-xs);padding:7px 16px;text-align:center;letter-spacing:.01em}.draftbar .ic{color:#FEC84B}

/* ---------- Header ---------- */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.8) blur(14px);-webkit-backdrop-filter:saturate(1.8) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--t),box-shadow var(--t)}
.top.scrolled,.nav-open .top{border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(16,24,40,.02),0 8px 24px -16px rgba(16,24,40,.18)}
.top-in{display:flex;align-items:center;gap:var(--s6);min-height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none!important;flex:none}.brand:hover{color:var(--ink)}
.logo-mark{flex:none;width:30px;height:30px;border-radius:9px;box-shadow:0 2px 6px -1px rgba(213,43,30,.35)}
.wordmark{font-weight:750;font-size:1.2rem;letter-spacing:-.035em}.wordmark b{font-weight:750;color:var(--text-2)}
.nav{display:none;gap:2px}.nav a{color:var(--text-2);font-weight:550;font-size:var(--fs-sm);padding:8px 12px;border-radius:var(--r-sm);text-decoration:none!important;transition:background var(--t),color var(--t)}
.nav a:hover{color:var(--ink);background:var(--bg-tint)}.nav a[aria-current]{color:var(--ink);background:var(--bg-tint)}
.top-right{display:flex;align-items:center;gap:var(--s3);margin-left:auto}
.cta-top{display:none!important}
.menu{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);cursor:pointer}.menu .ic-close{display:none}.nav-open .menu .ic-open{display:none}.nav-open .menu .ic-close{display:block}
.drawer{display:none;border-top:1px solid var(--line);background:var(--bg)}.nav-open .drawer{display:block;animation:drop .22s var(--ease)}
.drawer-in{display:flex;flex-direction:column;padding-top:var(--s3);padding-bottom:var(--s6);gap:2px}.drawer-in>a:not(.btn){padding:12px 4px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}
.drawer-langs{padding:var(--s5) 0 0}.drawer-langs p{display:flex;align-items:center;gap:6px;margin:0 0 var(--s2)}.drawer .btn{margin-top:var(--s3)}
.lang-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.lang-grid a{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm);font-weight:550;text-decoration:none!important}.lang-grid a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.lang-menu{position:relative}.lang-menu summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--bg);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;user-select:none}.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover{color:var(--ink);border-color:var(--line-2)}.lang-menu[open] summary{color:var(--ink);border-color:var(--line-2);background:var(--bg-tint)}.lang-menu[open] summary .ic:last-child{transform:rotate(180deg)}.lang-menu .lm-cur{display:none}
.lm-list{position:absolute;right:0;top:calc(100% + 6px);z-index:60;list-style:none;margin:0;padding:6px;min-width:240px;max-width:calc(100vw - 32px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.lm-list a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm);text-decoration:none!important}.lm-list a:hover{background:var(--bg-tint)}.lm-list a[aria-current]{font-weight:650;background:var(--bg-tint)}.lm-list a .ic{margin-left:auto;color:var(--accent)}
.lm-code{display:inline-block;min-width:38px;font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--muted)}
@media(min-width:1280px){.lang-menu .lm-cur{display:inline}.lang-menu .lm-short{display:none}}
@media(min-width:1024px){.nav{display:flex}.menu,.nav-open .drawer{display:none}.cta-top{display:inline-flex!important}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-sm);font:inherit;font-weight:600;font-size:var(--fs-sm);line-height:1.2;border:1px solid transparent;cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t),transform var(--t)}
.btn:active{transform:translateY(1px)}.btn .ic{width:18px;height:18px}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(16,24,40,.1),inset 0 1px 0 rgba(255,255,255,.12)}.btn-primary:hover{background:var(--accent-h);color:#fff;box-shadow:0 6px 16px -6px rgba(29,78,216,.55)}
.btn-ghost{background:var(--bg);color:var(--ink);border-color:var(--line-2);box-shadow:var(--sh-xs)}.btn-ghost:hover{background:var(--bg-soft);color:var(--ink);border-color:#98A2B3}
.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:#F2F4F7;color:var(--ink)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.btn-outline-light:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6)}
.btn-lg{min-height:52px;padding:14px 22px;font-size:var(--fs-base);border-radius:12px}.btn-sm{min-height:36px;padding:7px 12px;font-size:.8125rem}.btn-block{width:100%;white-space:normal}

/* ---------- Badges / Pills ---------- */
.badge,.pill,.st{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;line-height:1;border-radius:var(--r-full);padding:5px 9px;background:var(--bg-tint);color:var(--text-2);border:1px solid var(--line);white-space:nowrap;vertical-align:middle;height:fit-content;letter-spacing:.01em}
.badge-ok,.pill-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.badge-warn,.pill-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}
.st-neu{background:#EFF4FF;color:#1849A9;border-color:#C7D7FE}.st-angefragt{background:#F4F3FF;color:#5925DC;border-color:#D9D6FE}.st-offeriert{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}
.st-angenommen,.st-termin_bestaetigt{background:#ECFDFF;color:#0E7090;border-color:#A5F0FC}.st-erledigt,.st-provision_abgerechnet{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.st-storniert{background:var(--err-bg);color:var(--err);border-color:var(--err-line)}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;background:var(--ok-bg);color:var(--ok);border-radius:var(--r-full);padding:4px 10px}

/* ---------- Cards ---------- */
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:var(--s6);box-shadow:var(--sh-xs);margin-bottom:var(--s4)}
.card.accent{background:linear-gradient(180deg,var(--accent-soft),#fff 70%);border-color:var(--accent-line)}
.card-link{display:flex;flex-direction:column;color:inherit;text-decoration:none!important;transition:box-shadow var(--t),transform var(--t),border-color var(--t)}.card-link:hover{color:inherit;border-color:var(--line-2);box-shadow:var(--sh-lg);transform:translateY(-2px)}
.card-link .link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:var(--fs-sm)}.card-link p{color:var(--text-2)}
.card-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);margin:0 0 var(--s4)}.card-title .ic{color:var(--muted)}
.card-flush{padding:0;overflow:hidden}.card-flush .table-wrap{border:0;border-radius:0;box-shadow:none}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}.card-head .card-title{margin:0}
.feat-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);margin-bottom:var(--s4);flex:none}.feat-ic .ic{width:22px;height:22px}
.grid2,.grid3,.grid4{display:grid;gap:var(--s5)}.grid2>.card,.grid3>.card,.grid4>.card{margin:0}
@media(min-width:768px){.grid2{grid-template-columns:1.5fr 1fr;align-items:start}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.grid4{grid-template-columns:repeat(4,1fr)}}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);padding:var(--s10) var(--s6);border:1px dashed var(--line-2);border-radius:var(--r);background:var(--bg-soft);color:var(--text-2)}.empty>.ic,.empty .pulse .ic{width:28px;height:28px;color:var(--muted)}.empty p{margin:0;max-width:52ch}.empty.slim{padding:var(--s6);border:0;background:transparent}
.pulse{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.pulse .ic{color:var(--accent)!important;animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{opacity:.45}}

/* ---------- Seitenkopf ---------- */
.page-head{background:linear-gradient(180deg,var(--bg-tint),var(--bg));border-bottom:1px solid var(--line);padding:var(--s12) 0 var(--s10)}@media(min-width:768px){.page-head{padding:var(--s16) 0 var(--s12)}}
.page-head h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);max-width:22ch}.page-head .lead{margin:0}.page-head .eyebrow a{color:inherit}
.narrow-head .wrap{max-width:780px}.narrow-head h1{max-width:none}
.crumb-head .eyebrow{text-transform:none;letter-spacing:0;font-size:var(--fs-sm);color:var(--muted);font-weight:500}.crumb-head .eyebrow a{color:var(--accent)}
.hero-head{position:relative;overflow:hidden}.hero-head::after{content:"";position:absolute;inset:auto -10% -60% 40%;height:420px;background:radial-gradient(closest-side,rgba(29,78,216,.10),transparent);pointer-events:none}.hero-head .hero-cta{margin-top:var(--s6)}
.crumb{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s2)}.crumb a{color:var(--muted)}

/* ---------- Hero (Start) ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg)}
.hero-bg{position:absolute;inset:0;background:radial-gradient(900px 420px at 85% -10%,rgba(29,78,216,.11),transparent 65%),radial-gradient(600px 300px at 0% 0%,rgba(213,43,30,.05),transparent 70%),linear-gradient(180deg,#fff,var(--bg-soft));pointer-events:none}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.45;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 20%,#000 20%,transparent 75%)}
.hero-in{position:relative;display:grid;gap:var(--s10);padding-top:var(--s12);padding-bottom:var(--s20)}
.hero h1{max-width:18ch;margin-bottom:var(--s5)}.hero .lead{font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s8) 0}
.trust{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3) var(--s6)}@media(min-width:560px){.trust{grid-template-columns:1fr 1fr}}
.trust li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);color:var(--text-2);font-weight:500}.trust .ic{color:var(--ok);width:18px;height:18px;margin-top:2px}
.hero-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--sh-lg),0 0 0 6px rgba(255,255,255,.6);align-self:start}
.hero-card label{margin-bottom:var(--s4)}.hero-card-head{display:flex;gap:var(--s3);align-items:flex-start;padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:1px solid var(--line)}.hero-card-head h2{margin:0 0 2px}.hero-card-head p{margin:0}
.hc-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--ink);color:#fff;flex:none}
.hc-foot{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-xs);color:var(--muted);margin:var(--s4) 0 0}.hc-foot .ic{color:var(--ok);margin-top:1px}
@media(min-width:1024px){.hero-in{grid-template-columns:1.3fr .9fr;align-items:center;padding-top:var(--s20);padding-bottom:calc(var(--s24) + var(--s4))}.hero-card{padding:var(--s8)}}

/* ---------- Kennzahlen ---------- */
.stats{position:relative;z-index:2;display:grid;gap:var(--s4);margin-top:calc(-1 * var(--s12))}@media(min-width:768px){.stats{grid-template-columns:repeat(3,1fr)}}
.stat{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s6);box-shadow:var(--sh-md)}
.stat b{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);font-weight:700;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.stat>span:not(.stat-ic){color:var(--text-2);font-size:var(--fs-sm)}
.stat-ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--bg-tint);color:var(--text-2);margin-bottom:var(--s3)}.stat-ic .ic{width:18px;height:18px}
.src{display:inline-block;font-size:var(--fs-xs);color:var(--muted);word-break:break-word;margin-top:2px}.src:hover{color:var(--accent)}

/* ---------- Stepper ---------- */
.stepper{list-style:none;padding:0;margin:0;display:grid;gap:var(--s8);counter-reset:s}
@media(min-width:768px){.stepper{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stepper{grid-template-columns:repeat(4,1fr);gap:var(--s6)}}
.step{position:relative}.step h3{margin:var(--s4) 0 var(--s2)}.step p{color:var(--text-2);margin:0;font-size:.95rem}
.step-ic{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);color:var(--ink)}.step-ic .ic{width:24px;height:24px}
.step-ic i{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-style:normal;font-size:.72rem;font-weight:700;border:2px solid #fff}
@media(min-width:1024px){.step:not(:last-child)::after{content:"";position:absolute;top:26px;left:68px;right:-8px;height:1px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 12px)}}
.steps{list-style:none;padding:0;display:grid;gap:var(--s4)}
legend .num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.78rem;margin-right:10px}

/* ---------- USP / Teaser / Picker / FAQ ---------- */
.usp-wrap{display:grid;gap:var(--s10)}@media(min-width:1024px){.usp-wrap{grid-template-columns:.85fr 1.15fr;gap:var(--s16)}}
.usp{list-style:none;padding:0;margin:0;display:grid;gap:var(--s6)}@media(min-width:640px){.usp{grid-template-columns:1fr 1fr}}
.usp li{display:flex;flex-direction:column;padding:var(--s6);border:1px solid var(--line);border-radius:var(--r);background:#fff}.usp h3{margin-bottom:6px}.usp p{color:var(--text-2);margin:0;font-size:.95rem}
.teaser{display:grid;gap:var(--s3)}
.teaser-row{display:grid;grid-template-columns:auto 1fr;gap:var(--s3) var(--s4);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s5);box-shadow:var(--sh-xs)}
.rank{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--bg-tint);font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums}
.tr-main h3{margin:0 0 2px;font-size:var(--fs-base)}.tr-main p{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;color:var(--muted);font-size:var(--fs-sm)}.tr-main .ok{display:inline-flex;align-items:center;gap:3px}
.tr-price{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-top:var(--s3);border-top:1px solid var(--line)}.tr-price small{color:var(--muted);font-size:var(--fs-xs);width:100%}.tr-price b{font-size:var(--fs-lg);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
@media(min-width:768px){.teaser-row{grid-template-columns:auto 1fr auto;padding:var(--s5) var(--s6)}.tr-price{grid-column:auto;flex-direction:column;align-items:flex-end;border:0;padding:0;text-align:right;gap:2px}.tr-price small{width:auto}}
.picker{display:grid;gap:var(--s3);align-items:end;max-width:640px}.picker label{margin:0}@media(min-width:640px){.picker{grid-template-columns:1fr auto}}
.picker-or{margin:var(--s6) 0 var(--s3)}
.canton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s2)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;font-size:var(--fs-sm);color:var(--text-2);background:#fff;text-decoration:none!important;transition:border-color var(--t),color var(--t),box-shadow var(--t)}
a.chip:hover{border-color:var(--accent-line);color:var(--ink);box-shadow:var(--sh-sm)}.chip b{display:inline-grid;place-items:center;min-width:30px;padding:2px 0;border-radius:6px;background:var(--bg-tint);color:var(--ink);font-size:.72rem;letter-spacing:.03em}
.chip.chk{cursor:pointer;font-weight:500}.chip.chk input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.chip.chk:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.faq-wrap{display:grid;gap:var(--s8)}@media(min-width:1024px){.faq-wrap{grid-template-columns:.8fr 1.2fr;gap:var(--s16)}}
.faq-list{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 var(--s6)}
.faq{border-bottom:1px solid var(--line)}.faq:last-child{border-bottom:0}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5) 0;cursor:pointer;font-weight:600;color:var(--ink);list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{color:var(--muted);transition:transform var(--t)}.faq[open] summary .ic{transform:rotate(180deg)}.faq p{margin:0 0 var(--s5);color:var(--text-2)}
.faq:not(.card) summary:hover{color:var(--accent)}

/* ---------- CTA-Bänder ---------- */
.partner-cta{position:relative;overflow:hidden;display:grid;gap:var(--s8);align-items:center;padding:var(--s10) var(--s6);border-radius:var(--r-lg);background:radial-gradient(600px 300px at 100% 0%,rgba(29,78,216,.45),transparent 70%),linear-gradient(135deg,#0B1222,#16213B);color:#D0D5DD}
.partner-cta h2{color:#fff;margin-bottom:var(--s3)}.partner-cta p{margin:0;max-width:56ch}.partner-cta .eyebrow{color:#A4BCFD}
.pcta-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}@media(min-width:900px){.partner-cta{grid-template-columns:1.4fr auto;padding:var(--s12)}}
.cta-band{text-align:center;padding:var(--s12) var(--s6);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--accent-soft),#fff);border:1px solid var(--accent-line)}
.cta-band h2{max-width:24ch;margin:0 auto var(--s3)}.cta-band p{color:var(--text-2);margin-bottom:var(--s6)}.section-last{padding-top:0}

/* ---------- Formulare ---------- */
label{display:block;font-weight:550;font-size:var(--fs-sm);color:var(--text)}
input,select,textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:11px 14px;box-shadow:var(--sh-xs);transition:border-color var(--t),box-shadow var(--t)}
select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
input::placeholder,textarea::placeholder{color:#98A2B3}input:hover,select:hover,textarea:hover{border-color:#98A2B3}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:var(--ring)}
input[type=file]{padding:9px;background:var(--bg-soft)}input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:var(--fs-sm);border:1px solid var(--line-2);background:#fff;border-radius:8px;padding:6px 12px;margin-right:12px;cursor:pointer}
[aria-invalid="true"],[aria-invalid="true"] input{border-color:var(--err)!important;background-color:var(--err-bg)}label[aria-invalid="true"]{border-radius:var(--r-sm);padding:8px;color:var(--err)}
.form label{margin-bottom:var(--s4)}.form small{display:block;margin-top:6px;font-weight:400}
fieldset{border:1px solid var(--line);border-radius:var(--r);margin:0 0 var(--s4);padding:var(--s6);min-width:0}
legend{display:flex;align-items:center;font-weight:700;font-size:var(--fs-base);color:var(--ink);padding:0 8px;margin-left:-8px}
fieldset.card legend{float:left;width:100%;margin:0 0 var(--s5);padding:0 0 var(--s4);border-bottom:1px solid var(--line)}fieldset.card legend+*{clear:both}
.row{display:grid;gap:0 var(--s4)}@media(min-width:640px){.row{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:450;color:var(--text);margin-bottom:var(--s3)}.check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent);box-shadow:none}
.radios{display:grid;gap:var(--s3)}
.radio-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--s4);cursor:pointer;font-weight:500;margin:0!important;background:#fff;transition:border-color var(--t),background var(--t),box-shadow var(--t)}
.radio-card:hover{border-color:#98A2B3}.radio-card input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent);box-shadow:none}
.radio-card span{display:flex;flex-direction:column;gap:2px}.radio-card small{color:var(--muted);font-weight:400;margin:0}
.radio-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px rgba(29,78,216,.12)}.radio-card.slim{padding:12px 14px;margin-bottom:var(--s2)!important}
.window{display:grid;gap:0 var(--s3);grid-template-columns:1fr 1fr;padding-bottom:var(--s2);margin-bottom:var(--s3);border-bottom:1px dashed var(--line)}.window label:last-child{grid-column:1/-1}@media(min-width:640px){.window{grid-template-columns:1fr 1fr 1fr}.window label:last-child{grid-column:auto}}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-steps{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);padding:0;margin:var(--s6) 0 0}.form-steps li{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:550;color:var(--text-2)}
.form-steps i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);background:#fff;font-style:normal;font-size:.72rem;font-weight:700;color:var(--ink)}
.form-note{display:flex;justify-content:center;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--muted);margin-top:var(--s3)}
.filters{display:grid;gap:var(--s3);align-items:end}@media(min-width:768px){.filters{grid-template-columns:1.3fr .8fr .9fr 1.2fr auto}}.filters label{margin:0}.filters .check{margin:0 0 12px}
.result-count{font-size:var(--fs-sm);color:var(--muted);margin:var(--s6) 0 var(--s3)}

/* ---------- Alerts ---------- */
.alert{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;margin:0 0 var(--s4);background:var(--bg-soft);font-size:var(--fs-sm);color:var(--text)}.alert>.ic{margin-top:1px;flex:none}
.alert-err{background:var(--err-bg);color:var(--err);border-color:var(--err-line)}.alert-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.alert-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line);font-weight:550}

/* ---------- Garagen ---------- */
.garages{display:grid;gap:var(--s4)}@media(min-width:900px){.garages{grid-template-columns:1fr 1fr}}
.garage{display:flex;flex-direction:column;margin:0;transition:box-shadow var(--t),border-color var(--t)}.garage:hover{box-shadow:var(--sh-md);border-color:var(--line-2)}
.g-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3)}.g-head h3{margin:0}.g-head p{display:flex;align-items:center;gap:4px;margin:4px 0 0;font-size:var(--fs-sm)}
.g-prices{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:var(--s4) 0}
.price{display:flex;flex-direction:column;line-height:1.2;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px}.price small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.price b{font-size:var(--fs-lg);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.price.por b{font-size:var(--fs-base);color:var(--text-2)}
.garage>.small{color:var(--text-2)}
.g-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--s4)}

/* ---------- Tabellen / Fakten ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh-xs);-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th,.table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{position:sticky;top:0;background:var(--bg-soft);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.table tbody tr{transition:background var(--t)}.table tbody tr:hover{background:var(--bg-soft)}.table tr:last-child td{border-bottom:0}.table tr.best{background:var(--accent-soft)}
.canton-cell{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}.code{display:inline-grid;place-items:center;min-width:34px;height:26px;border-radius:6px;background:var(--bg-tint);border:1px solid var(--line);font-size:.72rem;font-weight:700;letter-spacing:.03em}
.ext{display:inline-flex;align-items:center;gap:4px}
dl{margin:0;display:grid;gap:4px var(--s5)}dt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:var(--s4)}dt:first-child{margin-top:0}dd{margin:0;color:var(--text)}
@media(min-width:640px){.facts dl,.offer dl,.card dl{grid-template-columns:180px 1fr;row-gap:var(--s4)}.facts dt,.offer dt,.card dt{margin-top:2px}.card dl>dd{padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.card dl>dd:last-of-type{border-bottom:0;padding-bottom:0}}
blockquote{margin:var(--s2) 0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--bg-soft);border-radius:0 var(--r-xs) var(--r-xs) 0;font-size:var(--fs-sm);color:var(--text-2)}
.sticky-aside .btn{margin:var(--s2) 0 var(--s3)}@media(min-width:768px){.sticky-aside{position:sticky;top:96px}}

/* ---------- Status / Angebot ---------- */
.track{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--s2)}
.track li{position:relative;font-size:.75rem;font-weight:600;color:var(--muted);padding-top:14px;line-height:1.3}
.track li::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:var(--line)}
.track li.done{color:var(--ok)}.track li.done::before{background:var(--ok)}.track li.now{color:var(--ink)}.track li.now::before{background:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.track-card{padding:var(--s5) var(--s6)}.track.admin{padding:var(--s5)}
.offer{box-shadow:var(--sh-md)}.offer fieldset{border:0;padding:0;margin:var(--s5) 0 var(--s3)}.offer legend{font-size:var(--fs-sm);margin-bottom:var(--s3);padding:0}
.offer-price{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin:var(--s2) 0 var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--line)}.offer-price b{font-size:clamp(2.2rem,1.8rem + 1.6vw,3rem);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.offer-price span{color:var(--muted);font-size:var(--fs-sm)}
.success{display:grid;place-items:center;width:72px;height:72px;margin:0 auto var(--s5);border-radius:50%;background:var(--ok-bg);color:var(--ok);box-shadow:0 0 0 10px rgba(6,118,71,.06)}.success .ic{width:34px;height:34px;stroke-width:2.4}
.done-wrap{padding-top:var(--s20);padding-bottom:var(--s20)}.done-wrap .lead{margin-left:auto;margin-right:auto}

/* ---------- Pakete ---------- */
.pkgs{align-items:stretch}.pkg{display:flex;flex-direction:column;position:relative;padding:var(--s6)}
.pkg h3{font-size:var(--fs-base);color:var(--text-2);font-weight:600;margin:0}
.pkg-hi{border:1.5px solid var(--accent);box-shadow:var(--sh-lg),0 0 0 4px rgba(29,78,216,.08)}
.pkg-price{display:flex;align-items:baseline;gap:6px;margin-top:var(--s3)}.pkg-price b{font-size:2.25rem;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.pkg-price span{color:var(--muted);font-size:var(--fs-sm)}
.pkg-comm{background:var(--bg-tint);border-radius:var(--r-sm);padding:10px 12px;font-size:var(--fs-sm);color:var(--text-2)}.pkg-comm b{color:var(--ink)}.pkg-hi .pkg-comm{background:var(--accent-soft)}
.pkg .btn{margin-top:auto}
.checklist{list-style:none;padding:0;margin:0 0 var(--s5)}.checklist li{position:relative;padding:7px 0 7px 28px;font-size:var(--fs-sm);color:var(--text)}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23067647' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
ul.checklist.card{padding:var(--s6)}
.digital{background:radial-gradient(500px 240px at 100% 0%,rgba(29,78,216,.35),transparent 70%),linear-gradient(135deg,#0B1222,#16213B);color:#D0D5DD;border:0;padding:var(--s10) var(--s8)}.digital h2{color:#fff}
.digital .feat-ic{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.digital .chip{background:rgba(255,255,255,.04);color:#E4E7EC;border-color:rgba(255,255,255,.16)}
.vorcheck fieldset.card .check{padding:10px 0;margin:0;border-bottom:1px solid var(--line)}.vorcheck fieldset.card .check:last-child{border-bottom:0}
.sticky-result{position:sticky;bottom:var(--s3);z-index:5;display:flex;gap:var(--s3);align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:var(--sh-lg);background:#fff;border-color:var(--accent-line)}.sticky-result p{margin:0;font-weight:600;color:var(--ink)}
.all-ok .sticky-result{border-color:var(--ok-line);background:var(--ok-bg)}
.prose{font-size:.975rem;padding:var(--s8)}.prose h2{font-size:var(--fs-lg);margin-top:1.8em}.prose h2:first-child{margin-top:0}.prose li{margin-bottom:.5em}.prose p,.prose li{color:var(--text)}

/* ---------- Footer ---------- */
.foot{background:var(--bg-ink);color:#98A2B3;margin-top:0;font-size:var(--fs-sm)}
.foot-in{display:grid;gap:var(--s10);padding-top:var(--s16);padding-bottom:var(--s10)}@media(min-width:768px){.foot-in{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.foot .brand,.foot .brand:hover{color:#fff}.foot .wordmark b{color:#98A2B3}.foot-brand p{margin:var(--s4) 0 0;max-width:42ch}
.foot-notice{display:flex;gap:10px;align-items:flex-start;padding:var(--s3) var(--s4);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);background:rgba(255,255,255,.03);color:#CBD5E1}.foot-notice .ic{color:#CBD5E1;margin-top:3px}
.foot-col{display:flex;flex-direction:column;gap:10px}.foot-col h2{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 4px}
.foot-col a{color:#B6BFCC;text-decoration:none}.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);padding-top:var(--s5);padding-bottom:var(--s8);border-top:1px solid rgba(255,255,255,.08);font-size:var(--fs-xs)}
.foot-swiss{display:inline-flex;align-items:center;gap:8px}.foot-swiss svg{width:14px;height:14px}

/* ---------- Admin (Backoffice) ---------- */
.is-admin{background:var(--bg-soft)}
.app{min-height:100vh}@media(min-width:1024px){.app{display:grid;grid-template-columns:248px 1fr}}
.side{background:#fff;border-bottom:1px solid var(--line);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
@media(min-width:1024px){.side{position:sticky;top:0;height:100vh;border-bottom:0;border-right:1px solid var(--line);padding:var(--s5) var(--s3)}}
.side-brand{padding:0 var(--s2)}.side .wordmark{font-size:1.08rem}.side .logo-mark{width:28px;height:28px}.side-brand .brand{gap:8px}.side-tag{margin-left:4px;font-size:.6rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--bg-tint);border:1px solid var(--line);border-radius:var(--r-full);padding:2px 7px}
.side-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}@media(min-width:1024px){.side-nav{flex-direction:column;margin-top:var(--s5)}}
.side-nav a,.side-foot a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);color:var(--text-2);font-weight:550;font-size:var(--fs-sm);white-space:nowrap;text-decoration:none!important}
.side-nav a .ic,.side-foot a .ic{width:18px;height:18px;color:var(--muted)}.side-nav a:hover,.side-foot a:hover{background:var(--bg-tint);color:var(--ink)}
.side-nav a[aria-current]{background:var(--accent-soft);color:var(--accent)}.side-nav a[aria-current] .ic{color:var(--accent)}
.side-foot{display:none}@media(min-width:1024px){.side-foot{display:flex;flex-direction:column;gap:2px;margin-top:auto;border-top:1px solid var(--line);padding-top:var(--s3)}}
.app-main{min-width:0}.app-bar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s6);background:rgba(249,250,251,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.app-title{font-weight:600;font-size:var(--fs-sm);color:var(--text-2)}.app-bar .pill .ic{width:13px;height:13px}
.app-content{padding:var(--s6) var(--s5) var(--s16);max-width:1320px}@media(min-width:768px){.app-content{padding:var(--s8) var(--s8) var(--s16)}}
.app-content h1{font-size:var(--fs-xl);letter-spacing:-.025em;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:4px}.app-content h2{font-size:var(--fs-lg);margin-top:var(--s8)}.app-content .card h2.card-title,.app-content .card-head h2{margin-top:0}
.app-content .ph p{margin:0}.ph{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s6)}
.kpis{display:grid;gap:var(--s4);margin-bottom:var(--s5)}@media(min-width:640px){.kpis{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.kpis{grid-template-columns:repeat(4,1fr)}.kpis-3{grid-template-columns:repeat(3,1fr)}}
.kpi{display:flex;gap:var(--s4);align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s5);box-shadow:var(--sh-xs)}
.kpi b{display:block;font-size:1.65rem;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}.kpi span:not(.kpi-ic){display:block;font-size:var(--fs-sm);color:var(--text-2)}.kpi a{display:inline-block;margin-top:6px;font-size:var(--fs-xs);font-weight:600}
.kpi-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--bg-tint);color:var(--text-2);flex:none}.kpi-accent .kpi-ic{background:var(--accent-soft);color:var(--accent)}
.pipeline{display:grid;gap:var(--s2);grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.pipeline{grid-template-columns:repeat(4,1fr)}}.pipe .st{font-size:.66rem;padding:4px 7px}
.pipe{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-sm);color:inherit;text-decoration:none!important;transition:border-color var(--t),box-shadow var(--t)}.pipe:hover{border-color:var(--line-2);box-shadow:var(--sh-sm);color:inherit}.pipe b{font-size:1.5rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.seg{display:flex;gap:4px;overflow-x:auto;padding:4px;margin-bottom:var(--s4);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);width:fit-content;max-width:100%}
.seg a{padding:6px 12px;border-radius:7px;font-size:var(--fs-sm);font-weight:550;color:var(--text-2);white-space:nowrap;text-decoration:none!important}.seg a:hover{background:var(--bg-tint);color:var(--ink)}.seg a[aria-current]{background:var(--ink);color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s4)}
form.inline{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}form.inline label{display:inline-flex;gap:6px;align-items:center;margin:0}form.inline input,form.inline select{width:auto;margin:0;padding:6px 10px;min-height:36px}form.inline select{padding-right:34px;background-position:right 8px center}
form.inline .check{margin:0;font-size:var(--fs-sm)}
.pick{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s3);margin-bottom:var(--s3);background:var(--bg-soft)}.pick .check{margin-bottom:var(--s2);font-size:var(--fs-sm)}
pre.draft{white-space:pre-wrap;background:var(--bg-soft);border:1px dashed var(--line-2);border-radius:var(--r-sm);padding:var(--s3) var(--s4);font-size:.8rem;font-family:var(--mono);color:var(--text)}
.invite{border-top:1px solid var(--line);padding:var(--s3) 0}.invite summary{cursor:pointer}
details.card>summary{cursor:pointer}
.events{list-style:none;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.events li{padding:10px var(--s4);border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.events li:last-child{border-bottom:0}
.is-login .app{display:grid;place-items:center;grid-template-columns:1fr;background:radial-gradient(800px 400px at 50% 0%,rgba(29,78,216,.08),transparent 70%)}.is-login .app-bar{display:none}
.login{width:min(420px,calc(100vw - 40px));margin:12vh auto 0;padding:var(--s8)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:var(--s6)}.login h1{font-size:var(--fs-xl)}

/* ---------- Motion ---------- */
.js .fade{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.js .fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .fade{opacity:1;transform:none}}
@media print{.top,.foot,.draftbar,.side,.app-bar{display:none}}
@media(max-width:639px){.usp li{flex-direction:row;gap:var(--s4);padding:var(--s5)}.usp .feat-ic{margin:0}.hero-cta .btn{flex:1 1 100%}.svc{padding:var(--s5)}}
@media(max-width:767px){.foot-in{grid-template-columns:1fr 1fr;gap:var(--s8) var(--s5)}.foot-brand{grid-column:1/-1}fieldset{padding:var(--s5)}}
.page-head+.section,.page-head+.wrap.section{padding-top:var(--s10)}

/* ---------- QA-Ergänzungen: Info-Alert, 404, Fehler ---------- */
.alert-info{background:var(--accent-soft);color:#1E3A8A;border-color:var(--accent-line)}
.alert-err>div b{font-weight:650}
.success.err{background:var(--err-bg);color:var(--err);box-shadow:0 0 0 10px rgba(180,35,24,.06)}
.nf-code{font-size:clamp(3.5rem,12vw,6rem);font-weight:800;letter-spacing:-.05em;line-height:1;margin:0 0 var(--s3);background:linear-gradient(135deg,var(--accent),#D52B1E);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3)}
.prose[lang="de-CH"]>h2:first-child{margin-top:0}
/* QA: Überlauf auf schmalen Viewports verhindern (lange Wörter FR/IT/RM, Datumsfelder, Badges) */
.badge,.pill{white-space:normal;line-height:1.25;max-width:100%}
.g-head{flex-wrap:wrap}.g-head>div{min-width:0;flex:1 1 220px}
.grid2>*,.grid3>*,.grid4>*,.garages>*,.row>*,.window>*{min-width:0}
.garage,.facts,.sticky-aside,.prose,.offer{overflow-wrap:anywhere}
.window{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(min-width:640px){.window{grid-template-columns:repeat(3,minmax(0,1fr))}}
input,select,textarea{min-width:0;max-width:100%}
@media(max-width:480px){.btn{white-space:normal;text-align:center}.btn-lg{width:100%}.hero-cta .btn,.nf-actions .btn{width:100%}}
.app-content a[href*="/g/"],.app-content a[href*="/o/"],.app-content code{overflow-wrap:anywhere;word-break:break-all}.app-content>*{min-width:0}
.app,.app-main,.app-content{min-width:0}.app-main{max-width:100%}
pre.draft{overflow-wrap:anywhere;max-width:100%}
/* A11y (Lighthouse): Links im Fliesstext nicht nur über Farbe erkennbar; Kontrast auf dunklem Footer */
.hc-foot a,.prose a,.alert a,.check a,.form-note a,p.tiny a:not(.btn),p.small a:not(.btn):not(.arrow-link){text-decoration:underline;text-underline-offset:2px}
.foot-de{font-size:var(--fs-xs);color:#B4BED0}
h2.result-count{font-weight:500;letter-spacing:0;line-height:1.5}
.kv{font:500 .78rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word;color:var(--text-2)}
.pcta-points{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s2);font-size:var(--fs-sm)}.pcta-points li{display:flex;gap:var(--s2);align-items:flex-start}.pcta-points .ic-sm{color:#A4BCFD;flex:none;margin-top:.2em}
.benefits{align-items:stretch}.benefit h2{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.benefit .badge{font-size:var(--fs-xs)}.checklist .li-new .badge{margin-left:.25em;white-space:normal}
/* Login-Hub */
.login-top{gap:6px}.login-head .lead{margin-inline:auto}.login-grid{margin-top:var(--s6);align-items:start}.login-card h2{font-size:1.2rem;margin:0 0 var(--s2)}.login-card .form{display:grid;gap:var(--s3);margin-top:var(--s4)}.login-card .btn-block{margin-top:var(--s2)}
@media(max-width:959px){.login-top{display:none}}
