/* =========================================================================
   Startseite — abschnittsspezifische Stile
   ========================================================================= */

/* ---- HERO --------------------------------------------------------------- */
.hero{ position:relative; padding-block: clamp(48px, 6vw, 92px); }
.hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,64px); align-items:center; }
@media (max-width:960px){ .hero__grid{ grid-template-columns:1fr; } }
.hero h1{ margin-bottom:24px; }
.hero .lede{ margin-bottom:30px; }
.hero__cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero__signals{ display:flex; gap:26px; flex-wrap:wrap; margin-top:40px; padding-top:26px; border-top:1px solid var(--line); }
.hero__signal{ display:flex; gap:11px; align-items:center; font-size:14.5px; font-weight:600; color:var(--ink-soft); }
.hero__signal .ms{ color:var(--blue); font-size:21px; }

.hero__art{ position:relative; }
.hero__photo{ aspect-ratio:4/5; box-shadow:var(--shadow-blue); }
.hero__photo img{ object-position:50% 42%; }
.hero__stamp{ position:absolute; left:-46px; bottom:-40px; width:150px; height:150px; }
@media (max-width:960px){
  .hero__art{ max-width:440px; }
  .hero__stamp{ left:auto; right:-18px; bottom:-30px; width:120px; height:120px; }
}
.hero__tag{ position:absolute; top:18px; right:-14px; background:var(--blue-ink); color:var(--paper); font-family:var(--hand); font-size:23px; padding:6px 16px; border-radius:var(--r); box-shadow:var(--shadow-orange); transform:rotate(-3deg); white-space:nowrap; }

/* ---- KERNBEREICHE register --------------------------------------------- */
.areas{ border-top:1px solid var(--line); }
.area{
  display:grid; grid-template-columns:minmax(0,140px) 1fr auto; gap:clamp(18px,3vw,48px);
  align-items:center; padding:clamp(26px,3.4vw,42px) 0; border-bottom:1px solid var(--line);
  text-decoration:none; color:inherit; position:relative; transition:background .2s ease, padding-left .2s ease;
}
.area::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--orange); transition:width .2s ease; }
.area:hover{ background:var(--paper-toned); padding-left:18px; }
.area:hover::before{ width:5px; }
.area__num{ font-size:clamp(3.4rem,7vw,5.6rem); color:var(--blue); transition:color .2s; }
.area:hover .area__num{ color:var(--orange); }
.area__body h3{ margin-bottom:7px; }
.area__body p{ margin:0; color:var(--ink-soft); font-size:15.5px; max-width:52ch; }
.area__tags{ display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }
.tag{ font-size:12.5px; font-weight:600; color:var(--blue-ink); border:1px solid var(--line); border-radius:999px; padding:4px 11px; background:var(--paper); }
.area__go{ display:inline-flex; align-items:center; gap:7px; color:var(--blue-ink); font-weight:700; font-size:15px; white-space:nowrap; }
.area__go .ms{ transition:transform .2s ease; }
.area:hover .area__go .ms{ transform:translateX(5px); color:var(--orange); }
@media (max-width:760px){
  .area{ grid-template-columns:auto 1fr; row-gap:6px; }
  .area__go{ grid-column:1 / -1; justify-self:start; margin-top:16px; }
  .area__num{ font-size:3.2rem; }
}

/* ---- Foto-Helfer -------------------------------------------------------- */
.photo{ position:relative; overflow:hidden; border-radius:var(--r); }
.photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---- BEDARFSCHECK ------------------------------------------------------- */
.check{ background:var(--blue-ink); color:var(--paper); border-radius:var(--r); padding:clamp(28px,4vw,56px); box-shadow:6px 6px 0 var(--orange); position:relative; overflow:hidden; }
.check::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px); background-size:40px 40px; -webkit-mask-image:radial-gradient(120% 120% at 90% 10%, #000, transparent 70%); mask-image:radial-gradient(120% 120% at 90% 10%, #000, transparent 70%); pointer-events:none; }
.check > *{ position:relative; z-index:1; }
.check .eyebrow{ color:var(--orange); }
.check h2{ color:var(--paper); }
.check__lede{ color:rgba(246,241,232,.78); max-width:50ch; }
.check__stage{ margin-top:30px; min-height:200px; }
.check__step{ display:none; animation:fade .35s ease; }
.check__step.active{ display:block; }
.check__q{ font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:500; margin-bottom:6px; color:#fff; }
.check__hint{ color:rgba(246,241,232,.6); font-size:14px; margin-bottom:22px; }
.check__opts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.opt{ display:flex; align-items:center; gap:12px; text-align:left; background:rgba(246,241,232,.05); border:1px solid rgba(246,241,232,.18); color:var(--paper); border-radius:var(--r); padding:16px 18px; cursor:pointer; font-family:var(--sans); font-weight:600; font-size:16px; transition:transform .12s, background .15s, border-color .15s; }
.opt:hover{ background:rgba(236,148,45,.16); border-color:var(--orange); transform:translateY(-2px); }
.opt > .ms{ font-size:24px; color:var(--orange); flex-shrink:0; }
.opt__t{ flex:1; }

/* multi-select (Mehrfachauswahl) */
.opt--multi{ gap:14px; }
.opt__box{ width:24px; height:24px; flex-shrink:0; border:1.6px solid rgba(246,241,232,.4); border-radius:6px; display:grid; place-items:center; font-size:17px; color:transparent; transition:background .15s, border-color .15s, color .15s; }
.opt.is-sel{ background:rgba(236,148,45,.16); border-color:var(--orange); }
.opt.is-sel .opt__box{ background:var(--orange); border-color:var(--orange); color:#fff; }
.check__weiter{ margin-top:18px; }
.check__weiter:disabled{ opacity:.4; cursor:not-allowed; box-shadow:none; transform:none; }

/* progress / track line */
.check__top{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.check__branch{ font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); }
.check__steplbl{ font-size:13px; font-weight:600; color:rgba(246,241,232,.55); }
.check__dots{ display:flex; gap:8px; margin-left:auto; }
.check__dots i{ width:9px; height:9px; border-radius:50%; background:rgba(246,241,232,.22); transition:background .2s, transform .2s; }
.check__dots i.done{ background:rgba(236,148,45,.55); }
.check__dots i.on{ background:var(--orange); transform:scale(1.25); }

/* bottom bar (Zurück / Neu starten) */
.check__bar{ display:flex; align-items:center; gap:22px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(246,241,232,.16); }
.check__back,.check__restart{ background:none; border:0; color:rgba(246,241,232,.72); font-family:var(--sans); font-weight:600; cursor:pointer; display:inline-flex; gap:6px; align-items:center; font-size:15px; padding:0; }
.check__back .ms,.check__restart .ms{ font-size:19px; }
.check__back:hover,.check__restart:hover{ color:#fff; }
.check__restart{ margin-left:auto; color:rgba(246,241,232,.5); }

/* result wrapper */
.check__result{ display:none; }
.check__result.active{ display:block; animation:fade .4s ease; }

/* ---- Absicherungs-Landkarte ---- */
.lk__head h3{ color:#fff; font-size:clamp(1.6rem,2.8vw,2.2rem); margin:2px 0 0; }
.lk__intro{ color:rgba(246,241,232,.8); max-width:60ch; margin:12px 0 0; line-height:1.55; }
.lk__legend{ display:inline-flex; align-items:center; gap:7px; margin:26px 0 4px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,241,232,.5); }
.lk__legend .ms{ font-size:17px; }
.lk__list{ display:flex; flex-direction:column; }
.lk__item{ display:grid; grid-template-columns:128px 1fr auto; gap:18px; align-items:center; padding:18px 0; border-top:1px solid rgba(246,241,232,.14); }
.lk__item:last-child{ border-bottom:1px solid rgba(246,241,232,.14); }
.lk__prio{ justify-self:start; font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:5px 11px; border-radius:999px; white-space:nowrap; }
.lk__prio--must{ background:var(--orange); color:#fff; }
.lk__prio--now{ background:var(--blue); color:#fff; }
.lk__prio--good{ background:transparent; color:var(--paper); border:1px solid rgba(246,241,232,.4); }
.lk__prio--note{ background:transparent; color:rgba(246,241,232,.6); border:1px dashed rgba(246,241,232,.35); }
.lk__name{ font-family:var(--serif); font-weight:500; font-size:1.18rem; color:#fff; line-height:1.2; }
.lk__why{ font-size:14px; color:rgba(246,241,232,.66); line-height:1.45; margin-top:3px; }
.lk__ph{ color:var(--orange); font-weight:700; font-family:"Courier New",monospace; font-size:12.5px; }
.lk__act{ justify-self:end; }
.lk__chip{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font-family:var(--sans); font-weight:700; font-size:13.5px; color:var(--paper); background:rgba(246,241,232,.07); border:1px solid rgba(246,241,232,.22); border-radius:999px; padding:8px 14px; cursor:pointer; text-decoration:none; transition:background .14s, border-color .14s, color .14s; }
.lk__chip .ms{ font-size:16px; }
.lk__chip:hover{ background:rgba(236,148,45,.18); border-color:var(--orange); color:#fff; }
.lk__chip--pending{ color:rgba(246,241,232,.75); }
.lk__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.flix{ font-size:13px; color:rgba(246,241,232,.55); margin-top:18px; line-height:1.5; }
@media (max-width:680px){
  .lk__item{ grid-template-columns:1fr; gap:9px; }
  .lk__act{ justify-self:start; }
}

/* ---- Angebots-Spur (direkt zum Flixcheck) ---- */
.ang h3{ color:#fff; font-size:clamp(1.7rem,3vw,2.4rem); margin:2px 0 0; }
.ang__lede{ color:rgba(246,241,232,.8); max-width:56ch; margin:14px 0 0; line-height:1.55; }
.ang__note{ display:flex; align-items:flex-start; gap:10px; margin-top:20px; padding:14px 16px; background:rgba(23,147,215,.14); border:1px solid rgba(23,147,215,.4); border-radius:var(--r); font-size:14.5px; color:rgba(246,241,232,.92); }
.ang__note .ms{ font-size:20px; color:var(--blue); flex-shrink:0; }
.ang__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.ang__pending{ display:flex; align-items:flex-start; gap:10px; margin-top:20px; font-size:13.5px; color:rgba(246,241,232,.62); line-height:1.5; }
.ang__pending .ms{ font-size:19px; color:var(--orange); flex-shrink:0; }

/* ---- ZITAT-BAND --------------------------------------------------------- */
.quote{ position:relative; }
.quote__grid{ display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,54px); align-items:center; }
@media (max-width:760px){ .quote__grid{ grid-template-columns:1fr; } }
.quote__photo{ width:clamp(150px,22vw,232px); aspect-ratio:1; border-radius:var(--r); box-shadow:var(--shadow-orange); }
.quote__photo img{ object-position:50% 30%; }
.quote blockquote{ margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.28; color:var(--ink); letter-spacing:-0.01em; }
.quote blockquote .mark{ color:var(--orange); }
.quote__sig{ font-family:var(--hand); font-size:38px; color:var(--blue-ink); margin-top:18px; line-height:1; }
.quote__who{ font-family:var(--sans); font-weight:600; font-size:15px; color:var(--ink-soft); margin-top:4px; }

/* ---- PROZESS ------------------------------------------------------------ */
.proc__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:46px; }
.proc__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:2px solid var(--blue-ink); }
@media (max-width:880px){ .proc__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:760px){ .proc__grid{ grid-template-columns:1fr; } }
.step{ padding:28px 26px 32px 0; border-right:1px solid var(--line); position:relative; }
.step:last-child{ border-right:0; }
@media (max-width:880px){ .step:nth-child(2n){ border-right:0; } .step{ padding-right:24px; padding-left:0; } }
@media (max-width:760px){ .step{ border-right:0; border-bottom:1px solid var(--line); text-align:center; padding:30px 0 30px; } .step:last-child{ border-bottom:0; } .step__bullet{ left:50%; transform:translateX(-50%); } }
.step__num{ font-size:2.6rem; color:var(--orange); display:block; margin-bottom:14px; }
.step__bullet{ position:absolute; top:-9px; left:0; width:14px; height:14px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 4px var(--paper); }
.step h3{ font-size:1.35rem; margin-bottom:9px; }
.step p{ margin:0; color:var(--ink-soft); font-size:15px; }

/* ---- VERTRAUEN: counters / reviews / partners --------------------------- */
.facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
@media (max-width:760px){ .facts{ grid-template-columns:1fr 1fr; gap:30px 0; } }
.fact{ text-align:center; padding:0 14px; position:relative; }
.fact + .fact::before{ content:""; position:absolute; left:0; top:14%; bottom:14%; width:1px; background:var(--line); }
@media (max-width:760px){ .fact:nth-child(2n)::before{ display:none; } }
.fact__num{ font-size:clamp(2.8rem,6vw,4.2rem); color:var(--blue); display:block; line-height:.9; }
.fact__num .pre{ font-size:.45em; color:var(--orange); vertical-align:.35em; margin-right:2px; }
.fact__num .suf{ font-size:.4em; color:var(--ink-soft); margin-left:3px; }
.fact__label{ font-size:14.5px; font-weight:600; color:var(--ink-soft); margin-top:12px; }

.trust__split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,68px); align-items:center; margin-top:64px; }
@media (max-width:860px){ .trust__split{ grid-template-columns:1fr; } }
/* verhindert, dass ein breites Kind (z. B. das Bewertungs-Widget) das Grid aufsprengt */
.trust__split > *{ min-width:0; }
#reviews{ overflow-x:hidden; }
#reviews [class*="elfsight-app"]{ max-width:100%; }
.reviews__head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.reviews__head .gscore{ font-family:var(--serif); font-size:3rem; color:var(--ink); line-height:1; }
.stars{ color:var(--orange); font-size:22px; letter-spacing:2px; }
.reviews__sub{ font-size:14px; color:var(--ink-soft); }
.review{ display:none; animation:fade .4s ease; }
.review.active{ display:block; }
.review p{ font-family:var(--serif); font-size:1.2rem; line-height:1.5; color:var(--ink); font-weight:400; }
.review__who{ font-weight:700; font-size:14.5px; }
.review__who span{ color:var(--ink-soft); font-weight:500; }
.review__nav{ display:flex; gap:10px; margin-top:18px; }
.rev-btn{ width:42px; height:42px; border-radius:var(--r); border:1.5px solid var(--blue-ink); background:transparent; color:var(--blue-ink); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.rev-btn:hover{ background:var(--blue-ink); color:var(--paper); }
.gwidget{ height:120px; margin-top:22px; }

/* partner marquee */
.partners{ overflow:hidden; border-block:1px solid var(--line); padding:26px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee{ display:flex; gap:54px; width:max-content; animation:marq 34s linear infinite; }
.marquee:hover{ animation-play-state:paused; }
@media (prefers-reduced-motion: reduce){ .marquee{ animation:none; } }
@keyframes marq{ to{ transform:translateX(-50%); } }
.plogo{ height:54px; min-width:150px; display:flex; align-items:center; justify-content:center; }
.plogo img{ max-height:54px; max-width:210px; width:auto; object-fit:contain; display:block; }
.plogo .ph{ width:100%; height:100%; }
.plogo .ph span{ font-size:11px; }

/* ---- SPARTEN / Versicherungen Übersicht --------------------------------- */
.spart__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px); margin-top:42px; }
@media (max-width:820px){ .spart__grid{ grid-template-columns:1fr; } }
.spart__col h3{ font-size:1.4rem; display:flex; align-items:baseline; gap:10px; padding-bottom:14px; border-bottom:2px solid var(--blue-ink); }
.spart__col h3 .ms{ font-size:22px; color:var(--blue); }
.spart__col ul{ list-style:none; padding:0; margin:16px 0 0; }
.spart__col li{ padding:10px 0; border-bottom:1px solid var(--line); font-size:15.5px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:9px; }
.spart__col li .ms{ font-size:18px; color:var(--orange); }
.spart__col li.top{ color:var(--blue-ink); }
.spart__col li a{ text-decoration:none; color:inherit; }

/* ---- TEAM --------------------------------------------------------------- */
.team__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,30px); margin-top:42px; }
@media (max-width:820px){ .team__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .team__grid{ grid-template-columns:1fr; } }
.member__photo{ aspect-ratio:3/4; margin-bottom:16px; border:1px solid var(--line); }
.member__photo img{ object-position:50% 22%; }
/* Gruppenbild auf der Startseite */
.team__group{ margin-top:42px; aspect-ratio:3.24/1; border:1px solid var(--line); box-shadow:var(--shadow-blue); }
.team__group img{ object-position:center 28%; }
@media (max-width:760px){ .team__group{ aspect-ratio:auto; border:0; box-shadow:none; } .team__group img{ position:static; width:100%; height:auto; object-fit:contain; } }
.member__tag{ font-family:var(--sans); font-weight:700; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-top:6px; }
.member h3{ font-size:1.3rem; }
.member .role{ font-size:14px; font-weight:600; color:var(--ink-soft); margin-top:3px; }

/* ---- COMIC AVATAR (entfernbar) ------------------------------------------ */
.comic{ background:var(--paper-toned); border:1px dashed #b9ad96; border-radius:var(--r); }
.comic__grid{ display:grid; grid-template-columns:300px 1fr; gap:44px; align-items:center; }
@media (max-width:680px){ .comic__grid{ grid-template-columns:1fr; text-align:left; justify-items:center; } }
.comic__avatar{ width:300px; max-width:100%; aspect-ratio:895/1200; border-radius:var(--r); background:#fff; box-shadow:var(--shadow-blue); }
@media (max-width:680px){ .comic__avatar{ width:240px; } }
.comic__tagline{ position:absolute; top:14px; left:14px; font-family:var(--hand); font-size:18px; color:var(--ink-soft); }
.comic .removable-note{ font-size:12px; font-family:"Courier New",monospace; color:var(--ink-soft); margin-top:14px; }

/* ---- KONTAKT / TERMIN --------------------------------------------------- */
.cta-band{ background:var(--blue-ink); color:var(--paper); border-radius:var(--r); padding:clamp(34px,5vw,68px); position:relative; overflow:hidden; }
.cta-band__grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,4vw,56px); align-items:center; position:relative; z-index:1; }
@media (max-width:820px){ .cta-band__grid{ grid-template-columns:1fr; } }
.cta-band h2{ color:#fff; }
.cta-band .lede{ color:rgba(246,241,232,.82); }
.cta-band__contact{ display:flex; flex-direction:column; gap:14px; }
.contact-row{ display:flex; align-items:center; gap:13px; color:var(--paper); text-decoration:none; font-weight:600; }
.contact-row .ms{ color:var(--orange); font-size:22px; }
.contact-row:hover{ color:#fff; }
.contact-row small{ display:block; font-weight:500; color:rgba(246,241,232,.6); font-size:13px; }
.cta-band__stamp{ position:absolute; right:-46px; bottom:-46px; width:230px; height:230px; opacity:.9; }

/* ---- FOOTER ------------------------------------------------------------- */
.footgrid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(24px,3vw,48px); padding-block:clamp(48px,6vw,76px); }
@media (max-width:860px){ .footgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footgrid{ grid-template-columns:1fr; } }
.footer__logo{ background:var(--paper); border-radius:var(--r); padding:18px 20px; display:inline-block; max-width:100%; }
.footer__logo img{ height:54px; width:auto; max-width:100%; object-fit:contain; object-position:left center; display:block; }
.footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; font-size:15px; }
.footer__bottom{ border-top:1px solid rgba(246,241,232,.14); padding-block:24px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:13.5px; color:rgba(246,241,232,.55); }
.footer__addr{ font-size:15px; line-height:1.6; color:rgba(246,241,232,.7); margin-top:18px; }

/* ==== Spezialgebiet-Seiten ==== */
.sub-intro{ padding-block: clamp(40px,5vw,72px) clamp(8px,2vw,18px); }
.sub-intro .wrap{ position:relative; }
.sub-intro__stamp{ position:absolute; top:2px; right:var(--gutter); width:clamp(96px,11vw,136px); height:auto; }
@media (max-width:820px){ .sub-intro__stamp{ width:84px; top:-6px; opacity:.92; } }
@media (max-width:560px){ .sub-intro__stamp{ display:none; } }
.sub-intro h1{ font-size:clamp(2.4rem,5vw,3.7rem); max-width:18ch; margin-bottom:18px; }
.sub-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; }
@media (max-width:860px){ .sub-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .sub-grid{ grid-template-columns:1fr; } }
.scard{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:var(--r); padding:24px 22px; }
.scard .ms{ font-size:28px; color:var(--blue); }
.scard h3{ font-size:1.2rem; margin:12px 0 9px; }
.scard p{ margin:0; color:var(--ink-soft); font-size:14.5px; line-height:1.55; }
.prodlist{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.prodlist .tag{ font-size:14px; padding:9px 16px; }
.hinweis{ background:var(--paper-toned); border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:var(--r); padding:18px 20px; font-size:14px; color:var(--ink-soft); margin-top:30px; line-height:1.55; }
.calc{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-blue); padding:clamp(22px,3vw,32px); margin-top:30px; max-width:640px; }
.calc__row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:10px; }
.calc__row label{ font-weight:700; font-size:15px; }
.calc__row strong{ font-family:var(--serif); font-size:1.5rem; color:var(--blue); }
.calc input[type=range]{ width:100%; accent-color:var(--orange); }
.calc__bars{ margin-top:22px; display:flex; flex-direction:column; gap:12px; }
.calc__bar{ height:40px; border-radius:var(--r); position:relative; background:var(--paper-toned); overflow:hidden; }
.calc__bar i{ position:absolute; left:0; top:0; bottom:0; display:block; border-radius:var(--r); transition:width .3s ease; }
.calc__bar.full i{ background:var(--line); }
.calc__bar.start i{ background:var(--orange); }
.calc__bar span{ position:absolute; left:14px; top:50%; transform:translateY(-50%); font-weight:700; font-size:13.5px; color:var(--ink); z-index:1; }
.calc__save{ margin-top:18px; font-size:14px; color:var(--ink-soft); }
.calc__save strong{ display:block; font-family:var(--serif); font-size:1.7rem; color:var(--orange); }

/* ---- KARTE 04: Einkommensschutz-Rechner als Tag ------------------------- */
.area__cover{ position:absolute; inset:0; z-index:1; }
.tag--rechner{ position:relative; z-index:2; display:inline-flex; align-items:center; gap:5px; background:var(--orange); color:#fff; border-color:var(--orange); text-decoration:none; transition:filter .14s, transform .14s; }
.tag--rechner .ms{ font-size:15px; }
.tag--rechner:hover{ filter:brightness(1.06); transform:translateY(-1px); }

/* ---- SCHADEN MELDEN ----------------------------------------------------- */
.schaden-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:38px; }
@media (max-width:860px){ .schaden-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .schaden-grid{ grid-template-columns:1fr; } }
.schaden-card{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; min-height:200px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:36px 24px; text-decoration:none; color:var(--blue-ink); transition:transform .16s, box-shadow .16s, border-color .16s; }
.schaden-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-blue); border-color:var(--blue); }
.schaden-card__info{ position:absolute; top:16px; right:16px; font-size:22px; color:var(--blue); opacity:.45; }
.schaden-card__ic{ font-size:52px; color:var(--blue); }
.schaden-card:hover .schaden-card__ic{ color:var(--orange); }
.schaden-card__t{ font-family:var(--serif); font-weight:500; font-size:1.35rem; text-align:center; line-height:1.15; }
.schaden-note{ text-align:center; margin-top:32px; color:var(--ink-soft); font-size:15px; }
.schaden-note a{ color:var(--blue); font-weight:600; }