:root{
  --navy:#0E2A47;
  --navy-deep:#081A2E;
  --navy-soft:#1B3A5C;
  --mint:#59C09A;
  --mint-deep:#3AA17B;
  --mint-tint:#EAF6F1;
  --mint-tint-2:#DFF1EA;
  --paper:#FBFAF7;
  --ink:#16232E;
  --ink-muted:#59697A;
  --line:#E4E7E4;
  --line-on-navy:rgba(255,255,255,0.16);
  --radius:4px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:16px;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);margin:0 0 0.5em 0;line-height:1.15;}
p{margin:0 0 1em 0;color:var(--ink-muted);max-width:68ch;}
a{color:inherit;}
img,svg{max-width:100%;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;position:relative;}
@media (max-width:640px){.wrap{padding:0 20px;}}

/* Topbar / nav */
.topbar{background:var(--navy-deep);color:#CFE3DC;font-size:13.5px;}
.topbar .wrap{display:flex;justify-content:flex-end;gap:28px;padding-top:9px;padding-bottom:9px;}
.topbar a{color:#CFE3DC;text-decoration:none;}
.topbar a:hover{color:#fff;}

header.main{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
nav{display:flex;align-items:center;justify-content:space-between;padding:0;gap:22px;}

/* ===== Logo wordmark — Fundament always navy, Werk always mint,
   EXCEPT on a navy background where Fundament flips to white ===== */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo .word{font-family:'Fraunces',serif;font-weight:600;font-size:24px;}
.logo .word .w1{color:var(--navy);}
.logo .word .w2{color:var(--mint);}
.on-navy .logo .word .w1,
.sec-navy .logo .word .w1,
.hero-dark .logo .word .w1,
footer .word .w1,
footer .foot-logo .word > span:first-child{color:#fff;}
footer .word .w2, footer .foot-logo .word .w2{color:var(--mint);}

.navlinks{display:flex;align-items:center;gap:20px;}
.navlinks a{text-decoration:none;color:var(--ink);font-size:15px;font-weight:500;white-space:nowrap;}
.navlinks{flex-wrap:nowrap;}
.navlinks a:hover{color:var(--navy);}
.btn{display:inline-block;background:var(--navy);color:#fff !important;padding:12px 22px;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:14.5px;white-space:nowrap;}
.btn:hover{background:var(--navy-deep);}
.btn.mint{background:var(--mint);}
.btn.mint:hover{background:var(--mint-deep);}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,0.55);color:#fff !important;}
.btn.ghost:hover{background:rgba(255,255,255,0.12);}
.navlinks .btn{padding:10px 18px;}

/* Mobile hamburger menu */
.nav-toggle{display:none;}
.nav-toggle-btn{display:none;}
@media (max-width:900px){
  nav.wrap{flex-wrap:wrap;position:relative;}
  .nav-toggle-btn{
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    gap:5px;width:38px;height:38px;cursor:pointer;order:2;
  }
  .nav-toggle-btn span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;}
  .navlinks{
    order:3;flex-basis:100%;display:none;flex-direction:column;align-items:stretch;
    gap:2px;background:var(--paper);border-top:1px solid var(--line);
    margin-top:14px;padding:10px 0 18px;
  }
  .nav-toggle:checked ~ .navlinks{display:flex;}
  .navlinks a:not(.btn){display:block;padding:11px 2px;}
  .navlinks .btn{display:inline-block;margin-top:12px;text-align:center;}
}

/* ===== Decorative mint circle — reusable accent, used sparingly across sections ===== */
.circle-accent{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 30%, rgba(34,184,160,0.30), transparent 65%);}
.circle-accent.tr{right:-100px;top:-140px;width:360px;height:360px;}
.circle-accent.bl{left:-120px;bottom:-140px;width:320px;height:320px;}
.circle-accent.center-fade{right:10%;top:-80px;width:220px;height:220px;opacity:.7;}
.sec-white .circle-accent, .sec-tint .circle-accent{background:radial-gradient(circle at 30% 30%, rgba(34,184,160,0.16), transparent 65%);}

/* ===== Page hero — dark navy band ===== */
.hero-dark{background:linear-gradient(160deg,var(--navy) 0%, var(--navy-deep) 100%);color:#fff;padding:88px 0 76px;position:relative;overflow:hidden;}
.hero-dark .wrap{position:relative;}
.hero-dark .kicker{color:var(--mint);font-weight:600;font-size:14.5px;margin-bottom:16px;}
.hero-dark h1{color:#fff;font-size:clamp(32px,4.6vw,50px);max-width:18ch;}
.hero-dark p.lede{color:#C9D6DE;font-size:18px;max-width:680px;}
.hero-dark .actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}

/* Hero with portrait photo, right side. The photo is a freestanding cutout (transparent
   background) placed directly on the navy hero — no card, no frame, no edited background.
   It's pinned so its bottom edge sits flush with the section's true bottom edge (bypassing
   the section's own bottom padding) and its left edge stays fixed relative to the text
   column, so enlarging it only ever grows it upward/rightward, never over the copy. */
.hero-grid{display:flex;align-items:center;gap:40px;position:relative;}
.hero-copy{flex:1;min-width:0;max-width:740px;}
.hero-photo{position:absolute;left:764px;bottom:-76px;width:467px;z-index:1;}
.hero-photo img{display:block;width:100%;}
.hero-photo-scrim{position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(to top, rgba(8,26,46,0.72), rgba(8,26,46,0));z-index:2;pointer-events:none;}
.hero-photo-caption{position:absolute;left:28px;right:28px;bottom:22px;z-index:3;transform:translateX(-1.5cm);}
.hero-photo-caption .hero-photo-name{font-family:'Fraunces',serif;font-weight:700;font-size:20px;color:#fff;line-height:1.2;}
.hero-photo-caption .hero-photo-role{font-family:'Inter',sans-serif;font-weight:600;font-size:13px;color:#fff;letter-spacing:.02em;margin-top:3px;}
@media (max-width:900px){
  .hero-grid{flex-direction:column;align-items:flex-start;}
  .hero-copy{max-width:none;}
  .hero-photo{position:static;width:240px;margin:16px auto 0;left:auto;bottom:auto;}
  .hero-photo-caption{transform:none;}
}

/* Section backdrops */
.sec-white{background:var(--paper);position:relative;overflow:hidden;}
.sec-tint{background:var(--mint-tint);position:relative;overflow:hidden;}
.sec-navy{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.sec-navy h2, .sec-navy h3{color:#fff;}
.sec-navy p{color:#C9D6DE;}

/* ===== Stacked content block — heading + text full width, no side-by-side split ===== */
.block{padding:76px 0;}
.block-head{max-width:62ch;margin-bottom:8px;}
.eyebrow{color:var(--mint-deep);font-weight:600;font-size:14px;margin-bottom:12px;}
.sec-navy .eyebrow, .hero-dark .eyebrow{color:var(--mint);}
.block h2{font-size:clamp(24px,2.8vw,32px);max-width:20ch;}
.block .body p{max-width:70ch;}
/* Utility: a body paragraph that should span the full content width instead of the 70ch reading measure —
   use whenever text sits directly above/below a wider element (a box, a grid) it needs to visually align with. */
.block .body-wide p{max-width:none;}
/* A plain note directly beneath a cards-3 grid: match the cards' type size and let it run the full row width,
   instead of the narrower 70ch/larger body-text default. Applies wherever this exact pattern occurs. */
.cards-3 + .body p{max-width:none;font-size:14.5px;}
/* Same principle for a note directly beneath a fact-duo or cause-grid block: full width, matched type size. */
.fact-duo + .body p{max-width:none;font-size:13.5px;}
.cause-grid + .body p{max-width:none;font-size:13px;}
.block .body h4{font-family:'Inter',sans-serif;font-size:15.5px;font-weight:700;color:var(--navy);margin:28px 0 10px;line-height:1.3;padding-top:22px;border-top:1px solid var(--line);}
.block .body h4:first-child{margin-top:0;padding-top:0;border-top:none;}
/* Visual relief for long unbroken paragraph runs — adds soft dividers between
   paragraphs without touching any copy. Apply .body-relief where a text block
   has 3+ paragraphs and no other visual break. */
.body-relief p:not(:last-child){padding-bottom:22px;margin-bottom:22px !important;border-bottom:1px solid var(--line);}
.block .body p .inline-head{font-family:'Inter',sans-serif;font-weight:700;color:var(--navy);}
.block .body ul.tight-list{margin-bottom:1em;}
.block .body ul.tight-list li{margin-bottom:2px;}
@media (min-width:821px){.plain-duo .col .body p{text-align:justify;hyphens:none;-webkit-hyphens:none;}}
.block .body ul{max-width:70ch;color:var(--ink-muted);padding-left:1.15em;}
.block .body li{margin-bottom:8px;}
.block .body li strong{color:var(--navy);}
.block .body a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--mint);text-underline-offset:3px;}

/* Timeline steps: number+heading full width, then text (left) + bullets (right) below it,
   both starting at the same offset with matching line-height so bullets align to text lines.
   Heading = 27px (matches sitewide panel-heading standard), body/list = 16px (matches sitewide base). */
.timeline-steps{display:flex;flex-direction:column;gap:36px;margin-top:40px;}
.timeline-steps .trow{border-top:2px solid var(--mint);padding-top:24px;}
.timeline-steps .trow:first-child{border-top:none;padding-top:0;}
.timeline-steps .trow .num{font-family:'Fraunces',serif;font-size:22px;color:var(--navy);font-weight:600;display:block;margin-bottom:8px;}
.sec-navy .timeline-steps .trow{border-top-color:var(--mint);}
.sec-navy .timeline-steps .trow .num{color:var(--mint);}
.timeline-steps .trow h3{font-size:27px;margin:0 0 14px;max-width:none;}
.timeline-steps .trow-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;}
@media (max-width:820px){.timeline-steps .trow-body{grid-template-columns:1fr;gap:12px;}}
.timeline-steps .trow-body p{font-size:16px;line-height:1.65;margin:0;max-width:none;}
.timeline-steps .trow-body ul{padding-left:1.1em;font-size:16px;line-height:1.65;color:var(--ink-muted);margin:0;text-align:left;}
.sec-navy .timeline-steps .trow-body ul{color:#C9D6DE;}

.support-list{display:flex;flex-direction:column;margin-top:36px;max-width:78ch;}
.support-list .item{display:flex;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);}
.support-list .item:first-child{padding-top:0;}
.support-list .item:last-child{border-bottom:none;}
.sec-navy .support-list .item{border-bottom-color:var(--line-on-navy);}
.support-list .pct{font-family:'Fraunces',serif;font-size:21px;color:var(--mint-deep);font-weight:600;width:64px;flex-shrink:0;}
.sec-navy .support-list .pct{color:var(--mint);}
.support-list .txt strong{color:var(--navy);display:block;font-size:14.5px;}
.sec-navy .support-list .txt strong{color:#fff;}
.support-list .txt span{font-size:13px;color:var(--ink-muted);}
.sec-navy .support-list .txt span{color:#C9D6DE;}

/* Full-width stat band on navy */
.band-stats{padding:56px 0;}
.band-stats .row-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;}
.band-stats .cell{padding:0 28px;border-left:1px solid var(--line-on-navy);text-align:left;}
.band-stats .cell:first-child{border-left:none;padding-left:0;}
.band-stats .num{font-family:'Fraunces',serif;font-size:36px;color:var(--mint);font-weight:600;display:block;}
.band-stats .lbl{font-size:13.5px;color:#C9D6DE;margin-top:4px;}
@media(max-width:760px){.band-stats .cell{border-left:none;border-top:1px solid var(--line-on-navy);padding:20px 0 0;}}

/* Attributed pull-quote band, centered, with name/title underneath */
.band-quote{padding:80px 0;text-align:center;}
.band-quote blockquote{margin:0 auto;max-width:32ch;}
.band-quote p{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(22px,3vw,30px);margin:0;color:#fff;line-height:1.45;}
.band-quote .attribution{margin-top:22px;font-family:'Inter',sans-serif;font-style:normal;font-size:14px;color:var(--mint);font-weight:600;}
.band-quote .attribution span{display:block;color:#C9D6DE;font-weight:400;font-size:13px;margin-top:2px;}

/* Pricing / comparison, stacked-friendly two columns kept ONLY for literal price comparison (not text/heading split) */
.plans{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-top:54px;width:100%;}
.plans .plan{padding:0 56px;text-align:left;}
.plans .plan:first-child{padding-left:0;border-right:1px solid var(--line);}
.plans .plan:last-child{padding-right:0;}
.plans .plan h3{font-size:27px;margin-bottom:10px;max-width:none;text-align:left;}
.plans .plan p{text-align:left;}
.plans .plan .price{font-family:'Fraunces',serif;font-size:30px;color:var(--navy);display:block;margin:6px 0 14px;text-align:left;}
.sec-navy .plans .plan h3{color:#fff;}
.sec-navy .plans .plan .price{color:var(--mint);}
.sec-navy .plans .plan:first-child{border-right-color:var(--line-on-navy);}
.plans .plan ul{padding-left:1.1em;font-size:16px;color:var(--ink-muted);text-align:left;}
.sec-navy .plans .plan ul{color:#C9D6DE;}
@media(max-width:700px){.plans{grid-template-columns:1fr;}.plans .plan:first-child{border-right:none;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:28px;}.plans .plan{padding-left:0;}}

.source{font-size:12.5px;color:#8B98A2;max-width:70ch;margin-top:-6px;}
.sec-navy .source{color:#93A2AA;}

.callout-simple{border-left:3px solid var(--mint);padding-left:24px;max-width:70ch;margin:28px 0;}
.callout-simple p{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-size:19px;margin-bottom:0;}
.sec-navy .callout-simple p{color:#fff;}

/* ===== Homepage hero (light, above the fold) ===== */
.hero{padding:88px 0 72px;position:relative;overflow:hidden;}
.hero h1{font-size:clamp(34px,4.4vw,52px);max-width:18ch;}
.hero .lede{font-size:18px;max-width:60ch;}
.hero-actions{display:flex;gap:16px;align-items:center;margin-top:28px;flex-wrap:wrap;}

/* ===== Light page hero for utility pages (FAQ, Terminbuchung) — was
   previously unstyled (zero rules), which made these two pages look
   unfinished next to every other page's .hero-dark banner. ===== */
.pagehero{padding:64px 0 48px;border-bottom:1px solid var(--line);}
.pagehero .eyebrow{color:var(--mint-deep);}
.pagehero h1{font-size:clamp(30px,4vw,44px);max-width:26ch;}
.pagehero .lede{font-size:17px;max-width:640px;color:var(--ink-muted);margin-top:10px;}

.ctaband{background:var(--navy-deep);color:#fff;padding:64px 0;text-align:center;border-top:1px solid var(--line-on-navy);}
.ctaband h2{color:#fff;font-size:clamp(24px,3vw,32px);}
.ctaband p{color:#C9D6DE;margin:0 auto 26px;}

footer{background:var(--navy-deep);color:#B9C7CE;padding:56px 0 28px;font-size:14.5px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.12);}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;gap:28px;}}
.foot-grid h4{color:#fff;font-size:14px;margin-bottom:14px;font-weight:600;}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.foot-grid a{color:#B9C7CE;text-decoration:none;}
.foot-grid a:hover{color:#fff;}
.foot-logo .word{font-family:'Fraunces',serif;font-weight:600;font-size:20px;}
.foot-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:13px;flex-wrap:wrap;gap:10px;}

/* Portrait image on Über-uns */
.portrait{width:200px;height:200px;object-fit:cover;border-radius:6px;margin-bottom:28px;display:block;}

/* ===== Centered bio hero (Über-uns only — intentional rhythm break from left-aligned page heroes) ===== */
.hero-bio{background:linear-gradient(160deg,var(--navy) 0%, var(--navy-deep) 100%);color:#fff;padding:72px 0 64px;text-align:center;position:relative;overflow:hidden;}
.hero-bio .wrap{position:relative;max-width:640px;}
.portrait-circle{width:132px;height:132px;object-fit:cover;border-radius:50%;border:3px solid var(--mint);margin:0 auto 20px;display:block;}
.hero-bio .name{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:#fff;margin-bottom:2px;}
.hero-bio .role{color:var(--mint);font-size:13.5px;font-weight:600;margin-bottom:28px;}
.hero-bio .rule{width:36px;height:2px;background:var(--line-on-navy);margin:0 auto 28px;}
.hero-bio h1{color:#fff;font-size:clamp(28px,4vw,40px);max-width:none;}
.hero-bio p.lede{color:#C9D6DE;font-size:17px;max-width:52ch;margin-left:auto;margin-right:auto;}
.hero-bio .actions{display:flex;justify-content:center;margin-top:28px;}

/* ===== Credential list — quiet check mark instead of plain bullet ===== */
.cred-list{display:flex;flex-direction:column;margin-top:32px;max-width:64ch;}
.cred-list .item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.cred-list .item:first-child{padding-top:0;}
.cred-list .item:last-child{border-bottom:none;}
.cred-list .check{width:18px;height:18px;flex-shrink:0;margin-top:3px;border-radius:50%;background:var(--mint-tint);color:var(--mint-deep);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.cred-list .txt strong{color:var(--navy);display:block;font-size:15px;font-weight:600;}
.cred-list .txt span{font-size:13px;color:var(--ink-muted);}

/* ===== Split layout: text + aside stat card (real column layout, not stacked) ===== */
.split-aside{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;margin-top:8px;}
@media (max-width:820px){.split-aside{grid-template-columns:1fr;}}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px 30px 26px;}
.sec-tint .stat-card, .sec-navy .stat-card{background:var(--paper);}
.stat-card .cap{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--navy-soft);margin-bottom:18px;}
.stat-card .sub{font-size:13px;color:var(--ink-muted);margin-top:16px;margin-bottom:0;}

.gap-bars .bar-row{margin-bottom:16px;}
.gap-bars .bar-row:last-child{margin-bottom:0;}
.gap-bars .bar-label{display:flex;justify-content:space-between;font-size:13.5px;color:var(--ink);margin-bottom:7px;font-weight:600;}
.gap-bars .bar-label span:last-child{font-family:'Fraunces',serif;color:var(--navy);}
.gap-bars .bar-track{background:var(--line);border-radius:4px;height:13px;overflow:hidden;}
.gap-bars .bar-fill{height:100%;border-radius:4px;}
.gap-bars .bar-fill.navy{background:var(--navy-soft);}
.gap-bars .bar-fill.mint{background:var(--mint);}

/* ===== Two support-lists side by side (real variance vs. two stacked identical blocks) ===== */
/* ===== Cause grid: 3-column bordered cards with a large number, replacing
   the plain bullet list. Matches the card-grid pattern from the reference
   screenshots instead of a flat list. ===== */
.cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px;}
@media (max-width:900px){.cause-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.cause-grid{grid-template-columns:1fr;}}
.cause-grid .item{border:1px solid var(--line);border-radius:8px;padding:26px 24px;background:#fff;}
.cause-grid .item .pct{font-family:'Fraunces',serif;font-size:32px;font-weight:700;color:var(--navy);display:block;margin-bottom:12px;}
.cause-grid .item h4{font-size:15.5px;color:var(--navy);margin:0 0 8px;line-height:1.3;}
.cause-grid .item p{font-size:13px;margin:0;}
.sec-tint .cause-grid .item{background:var(--paper);}
.handwerk-panel .cause-grid .item .pct{color:var(--mint-deep);}
.cause-grid .item.item-highlight{display:flex;align-items:center;gap:24px;background:var(--mint-tint);border:2px solid var(--mint-deep);padding:26px 32px;}
.cause-grid .item.item-highlight .pct{margin:0;flex:0 0 auto;font-size:40px;color:var(--mint-deep);}
.cause-grid .item.item-highlight h4{margin:0;font-size:17px;line-height:1.4;color:var(--navy);}
@media (max-width:600px){.cause-grid .item.item-highlight{flex-direction:column;text-align:center;gap:10px;}}

/* ===== Paired card grid — two topic cards side by side, alternating background.
   Matches the reference structure: each card is a self-contained topic block,
   not one long stacked column. ===== */
.card-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:36px;}
@media (max-width:820px){.card-pair{grid-template-columns:1fr;}}
.card-pair .panel{border-radius:8px;padding:38px 36px;}
.card-pair .panel.bg-a{background:#fff;border:1px solid var(--line);}
.card-pair .panel.bg-b{background:var(--mint-tint);}
.card-pair .panel h3{font-size:27px;max-width:none;margin-bottom:16px;}
.card-pair .panel p{font-size:16px;max-width:none;}
.card-pair .panel p em{font-style:italic;color:var(--ink-muted);font-size:13px;}
.card-pair .panel .highlight{color:var(--navy);font-weight:600;}
.card-pair .panel p.source{font-size:12.5px;color:#8B98A2;max-width:none;margin-top:8px;}

/* ===== Tarifqualität as its own section: prose on one side, two compact
   comparison boxes stacked on the other — not a nested compare table. ===== */
.tarif-split{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start;margin-top:8px;}
@media (max-width:900px){.tarif-split{grid-template-columns:1fr;}}
.tarif-boxes{display:flex;flex-direction:column;gap:20px;}
.tbox{background:#fff;border-radius:8px;padding:22px 24px;border-left:4px solid var(--line);}
.tbox.weak{border-left-color:#B9C2C9;}
.tbox.strong{border-left-color:var(--mint);}
.tbox h4{font-size:15px;color:var(--navy);margin:0 0 12px;}
.tbox ul{margin:0;padding-left:1.1em;font-size:13.5px;color:var(--ink-muted);}
.tbox li{margin-bottom:7px;}
.tbox li:last-child{margin-bottom:0;}
.shock-statement{font-family:'Fraunces',serif;font-size:clamp(24px,3vw,34px);font-weight:600;color:var(--navy);text-align:center;margin:0 0 8px;}
.big-number-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;text-align:left;}
@media (max-width:820px){.big-number-split{grid-template-columns:1fr;text-align:center;}}
.big-number-split .lead-col{text-align:center;}
.big-number-split .lead-col .shock-statement{text-align:center;}
.big-number-split .lead-col .figure{font-family:'Fraunces',serif;font-size:clamp(56px,8vw,88px);font-weight:600;line-height:1;text-align:center;}
.big-number-split .lead-col .figure.figure-lg{font-size:clamp(72px,10vw,112px);}
.big-number-split .figure-caption{max-width:36ch;margin:16px auto 0;font-size:clamp(18px,2.2vw,22px);font-weight:600;line-height:1.35;color:var(--navy);}
.big-number-split .figure-source{max-width:36ch;margin:10px auto 0;font-size:12px;font-weight:400;color:var(--ink-muted);}
.big-number-split .text-col{container-type:inline-size;}
.big-number-split .text-col .text-col-kicker{font-size:clamp(11px,calc(4.2cqw - 1.2px),22px);font-weight:700;color:var(--navy);margin:0 0 12px;white-space:nowrap;max-width:100%;}
.big-number-split .text-col p{margin-bottom:16px;max-width:52ch;}
.big-number-split .text-col p:last-child{margin-bottom:0;}
@media (max-width:820px){.big-number-split .text-col p{max-width:none;margin-left:auto;margin-right:auto;}}

/* ===== Ratio stat block ("1 von 4") — icon-based alternative to a bare percentage ===== */
.ratio-split{display:grid;grid-template-columns:0.82fr 1px 1.18fr;gap:44px;align-items:center;}
@media (max-width:820px){.ratio-split{grid-template-columns:1fr;gap:36px;}}
.ratio-divider{background:var(--line);align-self:stretch;}
@media (max-width:820px){.ratio-divider{display:none;}}

.ratio-col{text-align:center;}
.ratio-figure{font-family:'Fraunces',serif;font-weight:700;color:var(--navy);font-size:clamp(58px,7.5vw,84px);line-height:1;letter-spacing:-0.01em;}
.ratio-figure .of{font-size:0.44em;font-weight:600;margin:0 10px;vertical-align:middle;position:relative;top:-0.05em;}
.ratio-sub{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(20px,2.2vw,26px);color:var(--navy);margin:18px auto 0;max-width:none;white-space:nowrap;}
@media (max-width:560px){.ratio-sub{white-space:normal;}}

.ratio-icons{display:flex;justify-content:center;align-items:flex-end;gap:22px;margin:44px 0 0;}
.ratio-icons svg{width:50px;height:50px;display:block;}
.ratio-icons .pin{color:#CBD6D2;}
.ratio-icons .pin.active{color:var(--navy);}

.ratio-text-col{text-align:left;}
@media (max-width:820px){.ratio-text-col{text-align:center;}}
.ratio-lead{font-weight:700;color:var(--navy);font-size:18px;line-height:1.45;margin-bottom:16px;max-width:44ch;}
@media (max-width:820px){.ratio-lead{margin-left:auto;margin-right:auto;}}
.ratio-note{color:var(--ink-muted);font-size:15.5px;max-width:none;line-height:1.5;}
@media (max-width:820px){.ratio-note{margin-left:auto;margin-right:auto;}}
.ratio-text-col .source{margin-top:18px;}

/* (support-duo removed — replaced by clearly separated sections, see handwerk-panel) */

/* ===== Large closing pull-quote — breaks the pattern before the CTA ===== */
.pull-quote{text-align:center;padding:8px 0 4px;margin-top:36px;}
.pull-quote .rule{width:44px;height:2px;background:var(--mint);margin:0 auto 26px;}
.pull-quote p{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(20px,2.6vw,27px);color:var(--navy);line-height:1.4;max-width:52ch;margin:0 auto;}
.sec-navy .pull-quote p{color:#fff;}

/* ===== Guarantee band — stamp graphic + trust copy, used before a closing CTA ===== */
.guarantee-band{padding:64px 0;}
.guarantee-inner{display:flex;align-items:center;justify-content:center;gap:56px;text-align:center;max-width:900px;margin:0 auto;}
.stamp{flex:0 0 auto;}
.stamp-ring{width:260px;height:260px;border-radius:50%;border:6px double var(--mint-deep);display:flex;align-items:center;justify-content:center;transform:rotate(-9deg);color:var(--mint-deep);text-align:center;position:relative;background:var(--paper);box-shadow:0 12px 28px rgba(58,161,123,0.18);}
.stamp-ring::before{content:"";position:absolute;inset:14px;border:1.5px solid var(--mint-deep);border-radius:50%;}
.stamp-text{font-family:'Fraunces',serif;font-weight:700;font-size:23px;line-height:1.3;letter-spacing:0.5px;text-transform:uppercase;}
.stamp-text .stamp-pct{display:block;font-size:34px;margin-bottom:4px;}
.guarantee-text{flex:1 1 auto;text-align:center;}
.guarantee-text h3{margin-bottom:10px;font-size:26px;}
.guarantee-text p{margin:0 auto;font-size:17.5px;max-width:52ch;text-align:center;}
@media (max-width:760px){.stamp-ring{width:200px;height:200px;}.stamp-text{font-size:18px;}.stamp-text .stamp-pct{font-size:27px;}}
@media (max-width:640px){.guarantee-inner{flex-direction:column;gap:26px;}}

/* Manual line breaks meant only for wider hero headlines; let mobile wrap naturally */
br.br-desktop-only{display:none;}
@media (min-width:600px){br.br-desktop-only{display:inline;}}
.sec-navy .pull-quote .rule{background:var(--mint);}
/* ===== Handwerk panel — visually distinguished from the primary cause list above,
   because it is a different metric (Arbeitsunfähigkeit, not Berufsunfähigkeit)
   and must not read as a like-for-like comparison. ===== */
.handwerk-panel{border-top:3px solid var(--mint-deep);}
.method-note{background:var(--mint-tint);border-left:3px solid var(--navy-soft);padding:14px 18px;font-size:13.5px;color:var(--ink-muted);border-radius:0 6px 6px 0;max-width:none;}
.method-note strong{color:var(--navy);}

/* ===== Enhanced full-bleed number band (replaces flat sec-navy) ===== */
.shock-band{background:linear-gradient(155deg,var(--navy) 0%, var(--navy-deep) 100%);position:relative;overflow:hidden;padding:64px 0;}
.shock-band .kicker-sm{color:var(--mint);font-weight:600;font-size:13.5px;text-align:center;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.shock-band .big-number .figure{color:var(--mint);}
.shock-band .big-number .cap{color:#C9D6DE;}

.big-number{padding:64px 0;text-align:center;}
.big-number .figure{font-family:'Fraunces',serif;font-size:clamp(56px,9vw,96px);color:var(--navy);font-weight:600;line-height:1;}
.sec-navy .big-number .figure{color:var(--mint);}
.big-number .cap{max-width:44ch;margin:14px auto 0;font-size:15px;color:var(--ink-muted);}
.sec-navy .big-number .cap{color:#C9D6DE;}

/* ===== Content-first patterns (VermächtnisWerk-style substance over decoration) ===== */

.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:36px;}
@media (max-width:820px){.cards-3{grid-template-columns:1fr;}}
.cards-3 .card h3{font-size:18px;color:var(--navy);margin-bottom:8px;}
.cards-3 .card p{font-size:14.5px;margin-bottom:0;}
.cards-3 .card .kicker-sm{font-size:12.5px;color:var(--mint-deep);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}

.myth-list{display:flex;flex-direction:column;gap:26px;margin-top:32px;max-width:74ch;}
.myth-item{border-top:1px solid var(--line);padding-top:20px;}
.myth-item .mythos{color:var(--ink-muted);font-size:16px;margin-bottom:8px;}
.myth-item .mythos strong{color:var(--navy);font-weight:600;}
.myth-item .fakt{font-size:16px;margin-bottom:0;color:var(--navy);line-height:1.65;}
.myth-item .fakt strong{color:var(--mint-deep);font-weight:600;}

.essay p{max-width:72ch;}
.essay p + p{margin-top:1.1em;}

.credibility{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap;margin-top:8px;}
.credibility .lead-num{font-family:'Fraunces',serif;font-size:15px;color:var(--mint-deep);font-weight:600;margin-bottom:6px;}
.credibility .lead-title{font-size:19px;color:var(--navy);font-family:'Fraunces',serif;font-weight:600;margin-bottom:6px;}
.credibility .lead-sub{font-size:14.5px;color:var(--ink-muted);max-width:44ch;}
.credibility .diffs{list-style:none;margin:0;padding:0;flex:1;min-width:260px;display:flex;flex-direction:column;gap:9px;}
.credibility .diffs li{font-size:14px;color:var(--ink-muted);padding-left:18px;position:relative;}
.credibility .diffs li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--mint);border-radius:50%;}

.process-simple{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px;}
@media (max-width:820px){.process-simple{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.process-simple{grid-template-columns:1fr;}}
.process-simple .step .n{font-family:'Fraunces',serif;font-size:26px;color:var(--mint-deep);margin-bottom:8px;}
.process-simple .step h3{font-size:16px;color:var(--navy);margin-bottom:6px;}
.process-simple .step p{font-size:13.5px;margin-bottom:0;}

.personas{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:36px;}
@media (max-width:700px){.personas{grid-template-columns:1fr;}}
.personas .p-item h3{font-size:17px;color:var(--navy);margin-bottom:8px;}
.personas .p-item p{font-size:14.5px;margin-bottom:0;}
.link-more{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:2px solid var(--mint);padding-bottom:2px;}
.logo-img{height:85px;width:auto;max-width:none;display:block;}
@media (max-width:640px){.logo-img{height:40px;}}
@media (max-width:400px){.logo-img{height:34px;}}
.footer-logo-img{height:68px;}

/* Two-tone "FundamentWerk" in running text (footer copyright etc.) */
.fw .f{color:var(--navy);}
.fw .w{color:var(--mint);}
footer .fw .f, .sec-navy .fw .f, .hero-dark .fw .f, .hero-bio .fw .f{color:#fff;}

/* Homepage-specific: 2-step process (Kennenlerngespräch -> Finanzgutachten) */
.process-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;max-width:820px;}
@media (max-width:640px){.process-2{grid-template-columns:1fr;}}
.process-2 .step .n{font-family:'Fraunces',serif;font-size:30px;color:var(--mint-deep);margin-bottom:10px;}
.process-2 .step h3{font-size:19px;color:var(--navy);margin-bottom:8px;}
.process-2 .step p{font-size:14.5px;margin-bottom:0;}

/* Trust stats band as light section (not navy-on-navy) */
.trust-band{padding:44px 0;}
.trust-band .row-inline{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center;}
.trust-band .row-inline.cols-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:820px){.trust-band .row-inline{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.trust-band .row-inline.cols-3{grid-template-columns:1fr;}}
.trust-band .cell .num{font-family:'Fraunces',serif;font-size:26px;color:var(--navy);font-weight:600;display:block;}
.trust-band .cell .lbl{font-size:12.5px;color:var(--ink-muted);margin-top:4px;display:block;}
.trust-band .block-head h2{font-size:clamp(24px,2.8vw,32px);}
.trust-band .note{max-width:52ch;margin:20px auto 0;font-size:12px;color:var(--ink-muted);text-align:center;}
.trust-band .tb-divider{width:56px;height:3px;background:var(--mint-deep);border-radius:2px;margin:22px auto 0;}
/* Equation-style 4-box layout (100 € + 50 € + 0 € = 100 % Mehrwert) */
/* Cells use display:contents so kicker/num/lbl become direct grid items -
   this makes every row (kicker row, number row, text row) align exactly
   across all four columns, table-style, regardless of each cell's own content height. */
.trust-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;grid-template-rows:auto auto auto;align-items:start;column-gap:16px;row-gap:0;max-width:1120px;margin:0 auto;}
.trust-equation .cell{display:contents;text-align:center;}
.trust-equation .cell:nth-child(1) > *{grid-column:1;}
.trust-equation .cell:nth-child(3) > *{grid-column:3;}
.trust-equation .cell:nth-child(5) > *{grid-column:5;}
.trust-equation .cell:nth-child(7) > *{grid-column:7;}
.trust-equation .cell .kicker-sm{grid-row:1;align-self:end;font-size:12.5px;color:var(--mint-deep);font-weight:600;margin-bottom:14px;text-transform:uppercase;letter-spacing:.03em;display:block;}
.trust-equation .cell .num{grid-row:2;font-family:'Fraunces',serif;font-size:clamp(44px,4.6vw,58px);color:var(--navy);font-weight:600;display:block;}
.trust-equation .cell .lbl{grid-row:3;align-self:start;font-size:15.5px;line-height:1.6;max-width:28ch;margin:14px auto 0;color:var(--ink);display:block;}
.trust-equation .cell.result .num{color:var(--navy);}
.trust-equation .op{grid-row:1 / span 3;align-self:center;justify-self:center;font-family:'Fraunces',serif;font-size:50px;font-weight:700;color:var(--mint-deep);text-align:center;line-height:1;}
.trust-equation .op:nth-child(2){grid-column:2;}
.trust-equation .op:nth-child(4){grid-column:4;}
.trust-equation .op:nth-child(6){grid-column:6;}
@media (max-width:900px){
  .trust-equation{grid-template-columns:1fr;grid-template-rows:none;gap:0;}
  .trust-equation .cell{display:block;padding:20px 0;}
  .trust-equation .cell > *{grid-column:auto !important;}
  .trust-equation .cell .kicker-sm,
  .trust-equation .cell .num,
  .trust-equation .cell .lbl{grid-row:auto;}
  .trust-equation .op{grid-row:auto;grid-column:auto !important;padding:4px 0;font-size:34px;}
}

/* Terminbuchung chooser page */
.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;}
@media (max-width:700px){.choice-cards{grid-template-columns:1fr;}}
.choice-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:36px 32px;}
.choice-card .tag{font-size:12.5px;font-weight:600;color:var(--mint-deep);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;}
.choice-card h2{font-size:22px;margin-bottom:10px;}
.choice-card .meta{font-size:13.5px;color:var(--ink-muted);margin-bottom:16px;}
.choice-card p{font-size:14.5px;}

/* ===== Nav dropdown ===== */
.has-dropdown{position:relative;}
.has-dropdown > span{cursor:pointer;white-space:nowrap;}
.has-dropdown > span::after{content:" ▾";font-size:11px;color:var(--ink-muted);}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px rgba(14,42,71,0.12);padding:8px;min-width:220px;z-index:30;}
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu{display:block;}
.dropdown-menu a{display:block;padding:9px 12px;border-radius:4px;font-size:14.5px;color:var(--ink);text-decoration:none;}
.dropdown-menu a:hover{background:var(--mint-tint);color:var(--navy);}
.dropdown-menu a.soon{color:var(--ink-muted);font-style:italic;}
@media (max-width:900px){
  .has-dropdown{display:block;position:static;}
  .has-dropdown > span{display:block;padding:11px 2px;}
  .dropdown-menu{display:block;position:static;box-shadow:none;border:none;background:transparent;padding:0 0 4px 14px;min-width:0;}
  .dropdown-menu a{padding:9px 2px;font-size:14px;}
}

/* ===== Two distinct 4-card layouts ===== */
.cards-2x2{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;max-width:1080px;margin-left:auto;margin-right:auto;}
@media (max-width:700px){.cards-2x2{grid-template-columns:1fr;}}

.cards-2x2--plain .card .idx{font-family:'Fraunces',serif;font-size:16px;color:var(--mint-deep);font-weight:600;margin-bottom:10px;}
.cards-2x2--plain .card h3{font-size:21px;color:var(--navy);margin-bottom:10px;}
.cards-2x2--plain .card p{font-size:16px;margin-bottom:0;line-height:1.65;}

.cards-2x2--boxed .card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 28px;}
.cards-2x2--boxed .card .kicker-sm{display:inline-block;font-size:11.5px;font-weight:600;color:var(--mint-deep);background:var(--mint-tint);padding:3px 10px;border-radius:20px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.03em;}
.cards-2x2--boxed .card h3{font-size:17px;color:var(--navy);margin-bottom:8px;}
.cards-2x2--boxed .card p{font-size:14px;margin-bottom:0;}

/* Justified text where requested */
.essay p, .myth-item p{text-align:justify;hyphens:auto;}

/* Myth list: 4 items, 2x2, justified to line width */
.myth-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;margin-top:32px;max-width:1080px;margin-left:auto;margin-right:auto;}
@media (max-width:700px){.myth-grid{grid-template-columns:1fr;}}
.myth-grid .myth-item{border-top:1px solid var(--line);padding-top:20px;}

/* Process 4-in-a-row (restored) */
.process-4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:36px;}
@media (max-width:820px){.process-4{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.process-4{grid-template-columns:1fr;}}
.process-4 .step .n{font-family:'Fraunces',serif;font-size:26px;color:var(--mint-deep);margin-bottom:8px;}
.process-4 .step h3{font-size:15.5px;color:var(--navy);margin-bottom:6px;}
.process-4 .step p{font-size:13px;margin-bottom:0;}

/* Final CTA — swapped colors: solid mint bg, light button */
.ctaband.mint-solid{background:var(--mint-deep);}
.ctaband.mint-solid h2{color:#fff;}
.ctaband.mint-solid p{color:#DFF6F0;}
.ctaband.mint-solid .btn.light{background:var(--mint-tint);color:var(--navy) !important;}
.ctaband.mint-solid .btn.light:hover{background:#DCF3EC;}

/* Personas as a single stacked list (deliberately different from the 2x2 sections above) */
.persona-list{display:flex;flex-direction:column;margin-top:32px;max-width:760px;}
.persona-list .p-row{padding:20px 0;border-bottom:1px solid var(--line);}
.persona-list .p-row:first-child{padding-top:0;}
.persona-list .p-row:last-child{border-bottom:none;}
.persona-list .p-row h3{font-size:17px;color:var(--navy);margin:0 0 6px 0;}
.persona-list .p-row p{font-size:14.5px;margin:0;text-align:justify;hyphens:auto;}

/* Variant: four-in-a-row with a top rule instead of a number/letter */
.process-4--plain .step{border-top:2px solid var(--mint);padding-top:16px;}
.process-4--plain .step h3{font-size:16px;}

/* Navy circle accent variant for use on light/mint backgrounds */
.circle-accent.navy-tone{background:radial-gradient(circle at 30% 30%, rgba(14,42,71,0.10), transparent 65%);}

/* FAQ accordion (native details/summary, no JS needed) */
.faq-cat{margin-bottom:44px;}
.faq-cat h2{font-size:20px;color:var(--navy);margin-bottom:18px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer;padding:16px 4px;font-weight:600;color:var(--navy);font-size:15px;list-style:none;position:relative;padding-right:28px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:16px;color:var(--mint-deep);font-size:18px;font-weight:700;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding:0 4px 18px 4px;font-size:14.5px;color:var(--ink-muted);max-width:70ch;}
.faq-item p + ul{margin-top:-14px;}
.faq-item ul{padding:0 4px 18px 26px;font-size:14.5px;color:var(--ink-muted);max-width:70ch;}
.faq-item ul li{margin-bottom:5px;}
.faq-item ul + p{padding-top:0;}
.faq-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;}

/* Generic content accordion (native details/summary), reuses .faq-item look for a single toggle block */
.essay-more{margin-top:18px;border-top:1px solid var(--line);}
.essay-more summary{cursor:pointer;padding:16px 4px;font-weight:600;color:var(--navy);font-size:15px;list-style:none;position:relative;padding-right:28px;}
.essay-more summary::-webkit-details-marker{display:none;}
.essay-more summary::after{content:"+";position:absolute;right:4px;top:16px;color:var(--mint-deep);font-size:18px;font-weight:700;}
.essay-more[open] summary::after{content:"–";}
.essay-more .body{padding-top:10px;}

/* Handwerk toggle: clearly clickable pill button instead of a plain text link */
.handwerk-toggle{border-top:none;}
.handwerk-toggle summary{
  cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;font-weight:700;color:var(--navy);font-size:16px;
  list-style:none;border:1.5px solid var(--mint-deep);border-radius:999px;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.handwerk-toggle summary::-webkit-details-marker{display:none;}
.handwerk-toggle summary::after{content:"+";color:var(--mint-deep);font-size:18px;font-weight:700;}
.handwerk-toggle[open] summary::after{content:"–";}
.faq-nav a{font-size:13px;padding:7px 14px;border-radius:20px;background:var(--mint-tint);color:var(--navy);text-decoration:none;font-weight:600;}
.faq-nav a:hover{background:var(--mint);color:#fff;}

/* Closing tagline (mirrors VermächtnisWerk's closing signature line) */
.closing-line{padding:56px 0;text-align:center;}
.closing-line .rule{width:64px;height:2px;background:var(--line);margin:0 auto 28px;}
.closing-line p{font-family:'Fraunces',serif;font-size:19px;color:var(--mint-deep);font-weight:600;line-height:1.6;margin:0;}

.foot-tagline{color:var(--mint);font-family:'Fraunces',serif;font-style:italic;margin-top:3px;font-size:18px;line-height:1.6;font-weight:500;}
.foot-logo{text-align:center;}
.foot-logo .logo-img{margin-left:auto;margin-right:auto;}
.foot-disclaimer{font-size:12px;color:#7C8B95;margin-top:14px;line-height:1.6;max-width:640px;}

/* Über-uns: plain portrait photo (no crop, no circle), matching VermächtnisWerk's simple presentation */
.bio-header{padding:64px 0 0;}
.bio-header .eyebrow{color:var(--mint-deep);font-weight:600;font-size:14.5px;margin-bottom:10px;}
.bio-header h1{font-size:clamp(30px,4vw,42px);}
.bio-header .subline{font-size:17px;color:var(--ink-muted);max-width:56ch;}
.bio-photo{width:100%;max-width:300px;border-radius:8px;display:block;margin:32px 0 8px;}

.qual-list{display:flex;flex-direction:column;gap:26px;margin-top:32px;max-width:74ch;}
.qual-list h3{font-size:17px;color:var(--navy);margin-bottom:6px;font-weight:600;}
.qual-list h3 .parens{font-weight:400;color:var(--ink-muted);}
.qual-list p{font-size:14.5px;margin-bottom:0;}

/* Big reveal number (VermächtnisWerk-style example callout) — legacy, kept in case still referenced */
.reveal{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 30px;margin:20px 0;}
.reveal .cap{font-size:13px;color:var(--ink-muted);margin-bottom:10px;}
.reveal .figure{font-family:'Fraunces',serif;font-size:34px;color:var(--navy);font-weight:600;}
.reveal .sub{font-size:13.5px;color:var(--ink-muted);margin-top:6px;}
.reveal-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;}
@media (max-width:640px){.reveal-row{grid-template-columns:1fr;}}
.reveal-row .reveal{margin:0;}

/* Fakten-Duo — replaces the old reveal-row. Fixed-height caption band keeps both
   figures on the same baseline regardless of caption length; a lead sentence gives
   the two numbers a shared context instead of floating unexplained side by side. */
.fact-duo{background:var(--mint-tint);border-radius:8px;padding:36px 40px 32px;margin:28px 0;}
.fact-duo .fd-lead{font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:var(--navy);margin:0 0 24px 0;max-width:none;}
.fact-duo .fd-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:36px;align-items:stretch;}
.fact-duo .fd-divider{background:var(--mint-deep);opacity:.35;}
.fact-duo .fd-item{display:flex;flex-direction:column;}
.fact-duo .fd-cap{min-height:2.6em;display:flex;align-items:flex-end;font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--navy-soft);margin-bottom:12px;}
.fact-duo .fd-figure{font-family:'Fraunces',serif;font-size:44px;font-weight:700;color:var(--navy);line-height:1;}
.fact-duo .fd-sub{font-size:13.5px;color:var(--ink-muted);margin-top:10px;}
@media (max-width:640px){
  .fact-duo{padding:28px 24px;}
  .fact-duo .fd-grid{grid-template-columns:1fr;gap:24px;}
  .fact-duo .fd-divider{display:none;}
  .fact-duo .fd-cap{min-height:0;}
}

.two-col-compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0;}
@media (max-width:640px){.two-col-compare{grid-template-columns:1fr;}}
.two-col-compare .col{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px 26px;}
.two-col-compare .col h4{color:var(--navy);font-size:16px;margin:0 0 12px;}
.two-col-compare .col ul{margin:0;padding-left:1.1em;font-size:14px;color:var(--ink-muted);}
.two-col-compare .col li{margin-bottom:8px;}

/* Persona grid: 2 columns, each item still stacked (heading above text) */
.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;margin-top:32px;}
@media (max-width:700px){.persona-grid{grid-template-columns:1fr;}}
.persona-grid .p-row{padding:18px 0;border-bottom:1px solid var(--line);}
.persona-grid .p-row h3{font-size:16px;color:var(--navy);margin:0 0 6px 0;}
.persona-grid .p-row p{font-size:13.5px;margin:0;color:var(--ink-muted);}

/* Three-column plain variant (wider than the four-column version) */
.process-3--plain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px;}
@media (max-width:820px){.process-3--plain{grid-template-columns:1fr;}}
.process-3--plain .step{border-top:2px solid var(--mint);padding-top:16px;}
.process-3--plain .step h3{font-size:17px;color:var(--navy);margin-bottom:8px;}
.process-3--plain .step p{font-size:16px;margin-bottom:0;}

/* Über-uns hero: navy, photo + text side by side (mirrors VermächtnisWerk's bio layout) */
.hero-bio-split{display:flex;gap:44px;align-items:center;}
@media (max-width:700px){.hero-bio-split{flex-direction:column;align-items:flex-start;}}
.hero-bio-split img{width:230px;border-radius:8px;flex-shrink:0;display:block;}
.hero-bio-split .txt .eyebrow{color:var(--mint);font-weight:600;font-size:14.5px;margin-bottom:10px;}
.hero-bio-split .txt h1{color:#fff;font-size:clamp(28px,4vw,40px);margin-bottom:10px;}
.hero-bio-split .txt .subline{color:#C9D6DE;font-size:16px;max-width:44ch;}

/* Qualification list centered with checkmarks */
.qual-list.centered{max-width:600px;margin-left:auto;margin-right:auto;text-align:left;}
.qual-list.centered h3{display:flex;align-items:center;gap:10px;}
.qual-list.centered .check{width:20px;height:20px;border-radius:50%;background:var(--mint-tint);color:var(--mint-deep);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.qual-list.centered p{margin-left:30px;}

/* Photo + text side by side within a normal (non-navy) section */
.split-media{display:flex;gap:44px;align-items:flex-start;}
.split-media-lg{align-items:center;}
@media (max-width:700px){.split-media{flex-direction:column;}}
.split-media img{width:220px;border-radius:8px;flex-shrink:0;display:block;}
.split-media .txt{flex:1;}
.split-media-lg img{width:380px;}
@media (max-width:700px){.split-media-lg img{width:260px;}}

/* Hero closing quote line (mirrors VermächtnisWerk's quote under the hero CTAs) */
.hero-quote{margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.18);max-width:680px;}
.hero-quote p{font-family:'Fraunces',serif;font-style:italic;color:var(--mint);font-size:32px;font-weight:500;line-height:1.4;margin:0;}

/* Vorsorge-Bausteine: Titel + Fließtext, aber mit klarer Vor/Nachteil-Struktur */
.baustein-item{padding:24px 0;border-bottom:1px solid var(--line);}
.baustein-item:last-child{border-bottom:none;}
.baustein-item h3{font-size:18px;color:var(--navy);margin-bottom:8px;}
.baustein-item p{font-size:14.5px;margin-bottom:8px;}
.baustein-item .vk{display:flex;gap:24px;flex-wrap:wrap;font-size:13.5px;margin-top:10px;}
.baustein-item .vk .v{color:var(--mint-deep);}
.baustein-item .vk .k{color:#B5654A;}
.baustein-item .vk strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}

/* Inflation price comparison table */
.infla-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0;}
@media (max-width:900px){.infla-table{grid-template-columns:1fr;}}
.infla-col{background:#fff;border-radius:18px;padding:30px 28px 26px;box-shadow:0 12px 32px rgba(14,42,71,0.08);}
.infla-col .infla-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.infla-col .icon-tile{width:44px;height:44px;border-radius:12px;background:var(--mint-tint);margin:0;flex-shrink:0;}
.infla-col .icon-tile svg{width:24px;height:24px;stroke:var(--mint-deep) !important;}
.infla-col h4{font-family:'Inter',sans-serif;font-size:15.5px;color:var(--navy);margin:0;font-weight:700;line-height:1.3;}
.infla-col .infla-mult{display:flex;align-items:baseline;gap:9px;margin-bottom:22px;}
.infla-col .im-num{font-family:'Fraunces',serif;font-size:42px;font-weight:700;color:var(--mint-deep);line-height:1;}
.infla-col .im-label{font-size:12.5px;color:var(--ink-muted);}
.infla-col .infla-bars{display:flex;align-items:flex-end;gap:8px;height:110px;margin-bottom:8px;}
.infla-col .ib{flex:1;background:var(--mint-tint);border-radius:5px 5px 0 0;position:relative;min-height:6px;}
.infla-col .ib.now{background:var(--mint);}
.infla-col .ib.proj{background:repeating-linear-gradient(45deg,var(--mint-tint),var(--mint-tint) 5px,#fff 5px,#fff 10px);border:1.5px dashed var(--mint-deep);}
.infla-col .ib .ib-val{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;color:var(--navy-soft);font-weight:700;white-space:nowrap;margin-bottom:4px;}
.infla-col .infla-yrs{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:8px;}
.infla-col .infla-yrs span{flex:1;text-align:center;font-size:10.5px;color:var(--ink-muted);}

/* GKV/PKV price comparison with feature checklist */
.price-compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0;}
@media (max-width:700px){.price-compare{grid-template-columns:1fr;}}
.price-compare .pcol{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;}
.price-compare .pcol h3{font-size:16px;color:var(--ink-muted);text-align:center;margin-bottom:6px;font-weight:500;}
.price-compare .pcol .amt{font-family:'Fraunces',serif;font-size:34px;color:var(--navy);text-align:center;margin-bottom:4px;}
.price-compare .pcol .amt-sub{font-size:12.5px;color:var(--ink-muted);text-align:center;margin-bottom:20px;}
.price-compare .feat{display:flex;gap:6px;padding:9px 0;border-top:1px solid var(--line);font-size:13px;}
.price-compare .feat:first-of-type{border-top:none;}
.price-compare .feat .chk{color:var(--mint-deep);flex-shrink:0;font-size:11px;width:12px;display:inline-block;}
.price-compare .feat strong{display:block;color:var(--navy);font-size:13px;}
.price-compare .val-badge{display:inline-block;background:var(--mint-tint);color:var(--mint-deep);font-weight:700;font-size:12px;line-height:1.2;padding:1px 10px;border-radius:20px;margin-left:8px;letter-spacing:.02em;white-space:nowrap;}
.price-compare .feat span{color:var(--ink-muted);}

.praxis-item{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;}
.praxis-grid{columns:3;column-gap:24px;margin-top:36px;}
.praxis-card{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:24px;overflow-wrap:break-word;}
.praxis-card h4{font-size:15.5px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.praxis-card p{font-size:16px;color:var(--ink-muted);margin:0 0 12px;overflow-wrap:break-word;}
.praxis-card p:last-child{margin-bottom:0;}
@media (max-width:900px){.praxis-grid{columns:2;}}
@media (max-width:560px){.praxis-grid{columns:1;}}
.calc-note{font-size:12.5px;color:#8B98A2;max-width:none;margin:12px 0 24px;line-height:1.5;}
.praxis-item:last-child{border-bottom:none;}
.praxis-item strong{color:var(--navy);}

/* Baustein grid: 2 columns instead of one long stacked list */
.baustein-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;margin-top:8px;}
@media (max-width:760px){.baustein-grid{grid-template-columns:1fr;}}
.baustein-grid .baustein-item{padding:0;border-bottom:none;}
.baustein-grid .baustein-item h3{font-size:16.5px;}

/* Simple flat "comic style" SVG icon tiles */
.icon-tile{width:64px;height:64px;border-radius:14px;background:var(--mint-tint);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.icon-tile svg{width:34px;height:34px;}
.icon-row{display:flex;gap:32px;flex-wrap:wrap;margin:28px 0;justify-content:center;}
.icon-row .icon-item{text-align:center;max-width:110px;}
.icon-row .icon-item span{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:6px;}

/* ===== Editorial topic list: large ghost numerals alternating sides, thin
   dividers between entries. Deliberately NOT a connected rail/timeline —
   each topic reads as its own standalone editorial block. ===== */
.topic-list{display:flex;flex-direction:column;margin-top:48px;}
.topic-entry{display:grid;grid-template-columns:180px minmax(0,1fr);gap:44px;padding:40px 0;border-top:1px solid var(--line);align-items:start;}
.topic-entry:first-child{border-top:none;padding-top:0;}
.topic-entry.reverse{grid-template-columns:minmax(0,1fr) 180px;}
.topic-entry.reverse .topic-num{grid-column:2;grid-row:1;order:2;}
.topic-entry.reverse .topic-text{grid-column:1;grid-row:1;order:1;}
.topic-num{font-family:'Fraunces',serif;font-size:84px;font-weight:700;color:var(--mint-tint);line-height:1;user-select:none;}
.sec-white .topic-num{color:#EDF2ED;}
.sec-tint .topic-num{color:#D3EBDF;}
.topic-text h3{font-size:27px;margin:0 0 14px;max-width:none;}
.topic-text p{font-size:16px;max-width:none;margin:0 0 1em;}
.topic-text p:last-child{margin-bottom:0;}
.topic-text .cite{font-style:italic;color:var(--ink-muted);}
.topic-note{font-style:italic;font-weight:600;color:var(--mint-deep);}
@media (max-width:820px){
  .topic-entry, .topic-entry.reverse{grid-template-columns:1fr;gap:10px;padding:28px 0;}
  .topic-entry.reverse .topic-num, .topic-entry.reverse .topic-text{grid-column:1;order:initial;}
  .topic-num{font-size:44px;}
}

/* Standalone interstitial band (reuses the sitewide ctaband idiom) for a single
   emphasis statement that should NOT read as part of a numbered list. */
.statement-band{background:var(--navy);border-radius:16px;padding:52px 56px;margin:8px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
.statement-band h3{color:#fff;font-size:28px;margin:0;max-width:none;line-height:1.25;}
.statement-band p{color:#C9D6DE;font-size:16px;max-width:none;margin:0 0 1em;}
.statement-band p:last-child{margin-bottom:0;}
@media (max-width:820px){.statement-band{grid-template-columns:1fr;padding:36px 30px;}}

/* Plain two-column prose, no headings/boxes: for sections that are one continuous
   argument split across two columns rather than two distinct sub-topics. */
.prose-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:8px;}
.prose-duo p{max-width:none;}
@media (max-width:820px){.prose-duo{grid-template-columns:1fr;}}

/* Third-column modifier for the existing price-compare checkmark cards */
.price-compare.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){.price-compare.cols-3{grid-template-columns:1fr;}}

/* ===== Rechenbeispiel cards: dark, elevated, with a big highlighted end figure
   and an age-progress bar, for comparisons like "Start mit 21/31/41". ===== */
.rk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0;}
@media (max-width:900px){.rk-cards{grid-template-columns:1fr;}}
.rk-card{background:var(--navy);border-radius:16px;overflow:hidden;box-shadow:0 10px 32px rgba(14,42,71,0.20);}
.rk-head{padding:30px 28px 22px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.10);}
.rk-label{font-size:13px;color:#9FB0BE;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.rk-amount{font-family:'Fraunces',serif;font-size:32px;font-weight:700;color:var(--mint);margin:10px 0 2px;line-height:1.15;}
.rk-amount-sub{font-size:12.5px;color:#C9D6DE;}
.rk-progress{padding:20px 28px 6px;}
.rk-bar{height:5px;border-radius:3px;background:rgba(255,255,255,0.15);overflow:hidden;}
.rk-bar-fill{height:100%;background:var(--mint);border-radius:3px;}
.rk-ages{display:flex;justify-content:space-between;font-size:11.5px;color:#9FB0BE;margin-top:7px;}
.rk-stats{padding:12px 28px 26px;}
.rk-stat{display:flex;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,0.08);}
.rk-stat:first-child{border-top:none;}
.rk-stat .chk{color:var(--mint);flex-shrink:0;}
.rk-stat strong{display:block;color:#fff;font-size:14px;}
.rk-stat span{color:#C9D6DE;font-size:12.5px;}

/* ===== Accordion for long baustein lists: collapsed by default so ten items
   don't dump all Vorteil/Nachteil text on screen at once. ===== */
.av-accordion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 24px;margin-top:36px;}
@media (max-width:820px){.av-accordion{grid-template-columns:1fr;}}
.av-accordion details{background:var(--mint-tint);border-radius:10px;overflow:hidden;}
.av-accordion summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15.5px;}
.av-accordion summary::-webkit-details-marker{display:none;}
.av-accordion summary::after{content:"⌄";font-size:18px;color:var(--mint-deep);flex-shrink:0;transition:transform .2s;}
.av-accordion details[open] summary::after{transform:rotate(180deg);}
.av-accordion .av-body{padding:0 22px 20px;}
.av-accordion .av-body p{font-size:16px;margin:0 0 12px;max-width:none;color:var(--ink-muted);}
.av-accordion .vk{display:flex;gap:24px;flex-wrap:wrap;font-size:13.5px;}
.av-accordion .vk .v{color:var(--mint-deep);}
.av-accordion .vk .k{color:#B5654A;}
.av-accordion .vk strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}

.hero-icon-big{width:100px;height:100px;border-radius:20px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
.hero-icon-big svg{width:52px;height:52px;}

/* Berufsunfähigkeit hero: headline and lede share the same right edge instead of the
   lede running noticeably narrower than the (visually much wider) headline block. */
.hero-dark .bu-hero-h1{max-width:910px;}
.hero-dark p.bu-hero-lede{max-width:910px;}
.hero-dark .av-hero-h1{max-width:960px;}
.hero-dark .kv-hero-h1{max-width:920px;}

/* ===== "Bedeutet nicht nur Unfall" paired with the causes grid, as one unit ===== */
.cfs-eyebrow{margin-bottom:14px;}
.cfs-side-source{margin-top:20px;}
.cause-feature-grid{display:grid;grid-template-columns:minmax(0,0.84fr) minmax(0,1fr);gap:64px;align-items:start;}
@media (max-width:900px){.cause-feature-grid{grid-template-columns:1fr;}}
.cause-feature-text{text-align:left;display:flex;flex-direction:column;}
.cause-feature-text h3{font-size:32px;margin-bottom:16px;max-width:none;line-height:1.15;}
.cause-feature-text p{font-size:16px;max-width:none;}
.cause-feature-text .source{margin-top:4px;}
.cause-feature-side .eyebrow{margin-bottom:10px;}
.cause-feature-side > h4{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);font-size:32px;line-height:1.15;margin:0 0 20px;max-width:none;}
.cause-grid.cause-grid--stack3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:0;}
.cause-grid--stack3 .item{padding:20px 18px;}
.cause-grid--stack3 .item .pct{font-size:26px;margin-bottom:8px;}
.cause-grid--stack3 .item h4{font-size:15.5px;}
.cause-grid--stack3 .item p{font-size:12.5px;}
@media (max-width:560px){.cause-grid.cause-grid--stack3{grid-template-columns:1fr;}}

/* ===== "Arbeitsunfähigkeit" / "Je früher" — plain text columns under a shared
   section heading, matching the Ursachen/Tarifqualität pattern instead of boxed cards ===== */
.plain-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:8px;}
@media (max-width:820px){.plain-duo{grid-template-columns:1fr;}}
.plain-duo .col h3{font-size:27px;max-width:none;margin:0 0 16px;}
.plain-duo .col p{font-size:16px;max-width:none;}
.plain-duo .quote-col{display:flex;align-items:center;}
/* Modifier: top-align the quote instead of centering it — for a left column tall enough that a
   vertically centered quote would float in empty space disconnected from the heading above it. */
.plain-duo.align-top .quote-col{align-items:flex-start;padding-top:6px;}
.plain-duo .quote-col .big-quote{font-family:'Fraunces',serif;font-style:italic;font-weight:500;color:var(--navy);font-size:clamp(19px,1.85vw,23px);line-height:1.4;margin:0;max-width:none;}

/* ===== Centered single-column block: body copy + a standalone centered quote
   below it, for sections where a side-by-side plain-duo doesn't fit. ===== */
.block-head.centered{max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}
.body-centered{max-width:640px;margin:0 auto;text-align:center;}
.quote-centered{font-family:'Fraunces',serif;font-style:italic;font-weight:500;color:var(--navy);font-size:clamp(19px,1.85vw,23px);line-height:1.4;max-width:560px;margin:28px auto 0;text-align:center;}

/* ===== "Ziel unserer Beratung" — circle + left-aligned text, parallel in width
   to the "Gut zu wissen" columns above it instead of centered. ===== */
.ziel-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
@media (max-width:820px){.ziel-split{grid-template-columns:1fr;}}
.ziel-circle-col{display:flex;justify-content:center;}
.ziel-circle{width:340px;height:340px;border-radius:50%;background:var(--mint-tint);display:flex;align-items:center;justify-content:center;padding:36px;}
.ziel-circle p{font-size:16px;text-align:center;max-width:none;color:var(--navy);}
.ziel-text-col{text-align:left;}
.ziel-text-col h2{margin:0 0 16px;text-align:left;}
.ziel-text-col .eyebrow{margin-bottom:10px;}
.ziel-text-col p{font-size:16px;max-width:none;}
/* Handwerk block-head + intro centered over the (unchanged) 6-block grid below */
.handwerk-head{text-align:center;max-width:none;margin-left:auto;margin-right:auto;}
.handwerk-head h2{margin:0 auto;max-width:52ch;}
.handwerk-intro{text-align:center;}
.block .body.handwerk-intro p{margin-left:auto;margin-right:auto;max-width:none;}
.handwerk-source{max-width:none;white-space:normal;}
/* Method-note must win over the more specific ".block .body p{max-width:70ch}" rule
   so it can actually stretch edge-to-edge with the cause-grid above it. */
.block .body p.method-note{max-width:none;}

/* ===== Age-Tabs: "Früh beginnen vs. später aufholen" — CSS-only Tabs
   (radio + label, kein JS), ersetzt die alte 3er-rk-cards-Aufstellung.
   Grün = erreichter Anteil vom bestmöglichen Ergebnis (Start mit 11),
   Rot  = durch den späteren Start bereits verlorener Anteil. ===== */
.age-tabs{margin:32px 0 0;}
.age-tabs input[type="radio"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.age-tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.age-tab-nav label{cursor:pointer;padding:9px 15px;border-radius:24px;background:#fff;color:var(--navy);font-weight:600;font-size:12.5px;border:1.5px solid var(--line);transition:background .15s ease,color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;}
.age-tab-nav label:hover{border-color:var(--mint-deep);}
.age-panel{display:none;}
.age-panel-head{margin-bottom:20px;}
.age-panel-head .ap-age{font-family:'Fraunces',serif;font-size:27px;color:var(--navy);font-weight:600;display:block;}
.age-panel-head .ap-years{font-size:14.5px;color:var(--ink-muted);margin-top:4px;}
.age-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media (max-width:900px){.age-results{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.age-results{grid-template-columns:1fr;}}
.age-tab-divider{width:1px;align-self:center;height:28px;background:var(--line);margin:0 2px;}
.age-tab-nav label.age-tab-special{border-style:dashed;border-color:var(--mint-deep);color:var(--mint-deep);}
#age-11:checked ~ .age-tab-nav label[for="age-11"],
#age-1:checked ~ .age-tab-nav label[for="age-1"]{background:var(--mint-deep);color:#fff;border-color:var(--mint-deep);border-style:solid;}
.age-result .ar-bonus-block{display:flex;align-items:center;gap:10px;background:rgba(89,192,154,0.16);border-radius:10px;padding:11px 14px;margin:14px 0 18px;}
.age-result .ar-bonus-block .ar-bonus-arrow{font-size:19px;color:var(--mint);font-weight:700;line-height:1;}
.age-result .ar-bonus-block .ar-bonus-text{font-size:12.5px;color:#DCEBE5;line-height:1.35;}
.age-result .ar-bonus-block .ar-bonus-text strong{color:var(--mint);font-size:15px;display:block;}
.age-result{background:var(--navy);border-radius:16px;padding:26px 26px 24px;box-shadow:0 10px 32px rgba(14,42,71,0.20);}
.age-result .ar-rate{font-size:13px;color:#9FB0BE;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.age-result .ar-amount{font-family:'Fraunces',serif;font-size:30px;font-weight:700;color:var(--mint);margin:10px 0 2px;line-height:1.15;}
.age-result .ar-amount-sub{font-size:12.5px;color:#C9D6DE;margin-bottom:18px;}
.age-result .arb{height:10px;border-radius:5px;overflow:hidden;display:flex;background:rgba(255,255,255,0.12);}
.age-result .arb-fill{height:100%;}
.age-result .arb-fill.achieved{background:var(--mint);}
.age-result .arb-fill.lost{background:#E0665A;}
.age-result .arb-caption{display:flex;justify-content:space-between;font-size:11.5px;color:#C9D6DE;margin-top:8px;}
.age-result .arb-caption .lost-label{color:#F3A79D;}
.age-result .ar-stats{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.10);font-size:12.5px;color:#C9D6DE;}
.age-result .ar-stats strong{color:#fff;}
/* ===== Individueller Altersvorsorge-Rechner (eigene Eingaben, Live-Berechnung per JS) =====
   Sitzt auf sec-navy, deshalb eigene helle Karten statt der navy .age-result-Karten
   (die würden auf navy-Hintergrund verschwinden). ===== */
.av-calc{margin-top:32px;}
.av-calc-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:var(--paper);border-radius:16px;padding:28px;box-shadow:0 10px 28px rgba(8,26,46,0.25);}
@media (max-width:820px){.av-calc-inputs{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.av-calc-inputs{grid-template-columns:1fr;}}
.av-field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:8px;}
.av-field input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);background:#fff;box-sizing:border-box;}
.av-field input:focus{outline:none;border-color:var(--mint-deep);}
.av-calc-btn{display:block;margin:24px auto 0;padding:15px 34px;font-size:15px;}
.av-calc-error{max-width:60ch;margin:16px auto 0;text-align:center;font-size:13.5px;color:#F3A79D;display:none;}
.av-calc-results[hidden]{display:none;}
.av-calc-results{margin-top:32px;}
.av-results-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
@media (max-width:1100px){.av-results-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.av-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.av-results-grid{grid-template-columns:1fr;}}
.av-result{background:var(--paper);border-radius:16px;padding:22px 20px 20px;box-shadow:0 10px 28px rgba(8,26,46,0.25);}
.av-result .ar-rate{font-size:12.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.av-result .ar-amount{font-family:'Fraunces',serif;font-size:23px;font-weight:700;color:var(--navy);margin:10px 0 2px;line-height:1.15;}
.av-result .ar-amount-sub{font-size:12px;color:var(--ink-muted);margin-bottom:16px;}
.av-result .arb{height:9px;border-radius:5px;overflow:hidden;display:flex;background:var(--line);}
.av-result .arb-fill{height:100%;}
.av-result .arb-fill.achieved{background:var(--mint-deep);}
.av-result .arb-fill.lost{background:#D9756A;}
.av-result .arb-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-muted);margin-top:8px;}
.av-result .arb-caption .lost-label{color:#B3453A;}
.av-result .ar-stats{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-muted);}
.av-result .ar-stats strong{color:var(--navy);}
.av-result .av-catchup{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-muted);}
.av-result .av-catchup strong{color:var(--mint-deep);}

.av-catchup-row{margin-top:28px;padding-top:28px;border-top:1px solid var(--line-on-navy);}
.av-catchup-head{margin-bottom:18px;}
.av-catchup-head h3{font-family:'Fraunces',serif;font-size:18px;color:#fff;margin:0 0 6px;}
.av-catchup-head p{font-size:13.5px;color:#C9D6DE;margin:0;}
.av-catchup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
@media (max-width:1100px){.av-catchup-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.av-catchup-grid{grid-template-columns:1fr;}}
.av-catchup-card{background:var(--paper);border-radius:16px;padding:20px 18px 18px;box-shadow:0 10px 28px rgba(8,26,46,0.25);border-top:3px solid #D9756A;}
.av-catchup-card .ar-rate{font-size:12.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.av-catchup-card .ar-amount{font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--navy);margin:10px 0 2px;line-height:1.15;}
.av-catchup-card .ar-amount-sub{font-size:12px;color:var(--ink-muted);}
.av-catchup-card .av-catchup-diff{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:#B3453A;font-weight:600;}

.av-hint{background:var(--paper);border-radius:14px;margin-top:24px;overflow:hidden;box-shadow:0 10px 28px rgba(8,26,46,0.25);}
.av-hint summary{list-style:none;cursor:pointer;padding:17px 22px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14.5px;}
.av-hint summary::-webkit-details-marker{display:none;}
.av-hint summary::after{content:"⌄";font-size:19px;color:var(--mint-deep);flex-shrink:0;transition:transform .2s;}
.av-hint[open] summary::after{transform:rotate(180deg);}
.av-hint .av-hint-body{padding:0 22px 22px;}
.av-hint .av-hint-body p{font-size:15.5px;line-height:1.65;color:var(--ink-muted);max-width:none;margin:0;}
.av-hint .av-hint-body p strong{color:var(--navy);}

/* Aktiver Tab: Panel einblenden + Label hervorheben. Ein Selektor-Paar je Alter. */
#age-11:checked ~ .age-tab-panels #panel-11{display:block;}
#age-1:checked ~ .age-tab-panels #panel-1{display:block;}
#age-21:checked ~ .age-tab-panels #panel-21{display:block;}
#age-31:checked ~ .age-tab-panels #panel-31{display:block;}
#age-41:checked ~ .age-tab-panels #panel-41{display:block;}
#age-51:checked ~ .age-tab-panels #panel-51{display:block;}
#age-21:checked ~ .age-tab-nav label[for="age-21"]{background:var(--navy);color:#fff;border-color:var(--navy);}
#age-31:checked ~ .age-tab-nav label[for="age-31"]{background:var(--navy);color:#fff;border-color:var(--navy);}
#age-41:checked ~ .age-tab-nav label[for="age-41"]{background:var(--navy);color:#fff;border-color:var(--navy);}
#age-51:checked ~ .age-tab-nav label[for="age-51"]{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ===== Vorsorgeformen-Section: Text links, Akkordeon rechts, statt
   voller Breite untereinander. Akkordeon-Spalte etwas breiter, da die
   Einträge selbst mehr Raum brauchen als der einleitende Fließtext. ===== */
.av-options-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:48px;align-items:start;}
@media (max-width:900px){.av-options-split{grid-template-columns:1fr;}}
.av-options-split .av-accordion{margin:0;grid-template-columns:1fr;}

/* ===== Sachversicherungen-Auswahl: vertikale Rail-Navigation links (statt
   horizontaler Pill-Reihe wie bei age-tabs), Detail-Dossier rechts mit
   Schadenfall-Szenario + Leistungs-Highlights. CSS-only via radio+label. ===== */
.sv-select{margin:40px 0 0;}
.sv-select input[type="radio"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.sv-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(14,42,71,0.07);}
@media (max-width:820px){.sv-layout{grid-template-columns:minmax(0,1fr);}}
.sv-nav{background:var(--mint-tint);padding:14px;display:flex;flex-direction:column;gap:3px;}
@media (max-width:820px){.sv-nav{flex-direction:row;flex-wrap:wrap;padding:14px;}}
.sv-nav label{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;cursor:pointer;font-weight:600;color:var(--navy-soft);font-size:14px;line-height:1.3;transition:background .15s ease,color .15s ease;user-select:none;}
@media (max-width:820px){.sv-nav label{flex:1 1 auto;font-size:12.5px;padding:10px 12px;min-width:0;}}
.sv-nav label:hover{background:#fff;}
.sv-nav .svn{font-family:'Fraunces',serif;font-weight:700;font-size:13px;color:var(--mint-deep);flex-shrink:0;width:20px;}
.sv-panels{padding:44px 48px;}
@media (max-width:640px){.sv-panels{padding:32px 26px;}}
.sv-panel{display:none;}
.sv-panel-head{display:flex;align-items:center;gap:16px;margin-bottom:22px;}
.sv-panel-head .icon-tile{margin:0;flex-shrink:0;}
.sv-panel-head h3{font-size:24px;margin:0;max-width:none;min-width:0;overflow-wrap:break-word;hyphens:auto;}
.sv-scenario{background:#FBF3EF;border-left:3px solid #C97A5C;border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:22px;}
.sv-scenario .sv-scenario-tag{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#B5654A;margin-bottom:6px;}
.sv-scenario p{margin:0;font-size:15px;color:var(--navy-soft);max-width:none;}
.sv-body p{font-size:15.5px;max-width:none;}
.sv-highlights{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:22px 0 0;}
@media (max-width:560px){.sv-highlights{grid-template-columns:1fr;}}
.sv-highlights .item{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--navy);font-weight:600;padding:9px 0;border-top:1px solid var(--line);}
.sv-highlights .item:nth-child(-n+2){border-top:none;}
@media (max-width:560px){.sv-highlights .item:nth-child(2){border-top:1px solid var(--line);}}
.sv-highlights .item .chk{color:var(--mint-deep);flex-shrink:0;font-weight:700;}
#sv-1:checked ~ .sv-layout .sv-nav label[for="sv-1"],
#sv-2:checked ~ .sv-layout .sv-nav label[for="sv-2"],
#sv-3:checked ~ .sv-layout .sv-nav label[for="sv-3"],
#sv-4:checked ~ .sv-layout .sv-nav label[for="sv-4"],
#sv-5:checked ~ .sv-layout .sv-nav label[for="sv-5"],
#sv-6:checked ~ .sv-layout .sv-nav label[for="sv-6"],
#sv-7:checked ~ .sv-layout .sv-nav label[for="sv-7"],
#sv-8:checked ~ .sv-layout .sv-nav label[for="sv-8"]{background:var(--navy);color:#fff;}
#sv-1:checked ~ .sv-layout .sv-nav label[for="sv-1"] .svn,
#sv-2:checked ~ .sv-layout .sv-nav label[for="sv-2"] .svn,
#sv-3:checked ~ .sv-layout .sv-nav label[for="sv-3"] .svn,
#sv-4:checked ~ .sv-layout .sv-nav label[for="sv-4"] .svn,
#sv-5:checked ~ .sv-layout .sv-nav label[for="sv-5"] .svn,
#sv-6:checked ~ .sv-layout .sv-nav label[for="sv-6"] .svn,
#sv-7:checked ~ .sv-layout .sv-nav label[for="sv-7"] .svn,
#sv-8:checked ~ .sv-layout .sv-nav label[for="sv-8"] .svn{color:var(--mint);}
#sv-1:checked ~ .sv-layout .sv-panels #panel-sv-1{display:block;}
#sv-2:checked ~ .sv-layout .sv-panels #panel-sv-2{display:block;}
#sv-3:checked ~ .sv-layout .sv-panels #panel-sv-3{display:block;}
#sv-4:checked ~ .sv-layout .sv-panels #panel-sv-4{display:block;}
#sv-5:checked ~ .sv-layout .sv-panels #panel-sv-5{display:block;}
#sv-6:checked ~ .sv-layout .sv-panels #panel-sv-6{display:block;}
#sv-7:checked ~ .sv-layout .sv-panels #panel-sv-7{display:block;}
#sv-8:checked ~ .sv-layout .sv-panels #panel-sv-8{display:block;}

/* Cookie-Consent-Banner */
#cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--navy-deep);color:#fff;padding:22px 24px;box-shadow:0 -6px 24px rgba(0,0,0,0.18);display:none;}
#cookie-banner.show{display:block;}
#cookie-banner .cb-wrap{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
#cookie-banner .cb-text{flex:1 1 420px;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,0.88);}
#cookie-banner .cb-text strong{color:#fff;}
#cookie-banner .cb-text a{color:var(--mint);text-decoration:underline;}
#cookie-banner .cb-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;}
#cookie-banner .cb-btn{border-radius:4px;padding:10px 18px;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,0.3);background:transparent;color:#fff;white-space:nowrap;}
#cookie-banner .cb-btn:hover{border-color:rgba(255,255,255,0.6);}
#cookie-banner .cb-btn.cb-accept{background:var(--mint);border-color:var(--mint);color:var(--navy-deep);}
#cookie-banner .cb-btn.cb-accept:hover{background:var(--mint-deep);border-color:var(--mint-deep);color:#fff;}
@media (max-width:680px){#cookie-banner .cb-wrap{flex-direction:column;align-items:stretch;}#cookie-banner .cb-actions{justify-content:stretch;}#cookie-banner .cb-btn{flex:1;}}

/* Cookie-Einstellungen Link im Footer */
.cookie-settings-link{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;}

/* Gewerbe-Seite: Quick-Navigation (Pill-Buttons zu den drei Themenblöcken) */
.quicknav-label{text-align:center;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--ink-muted);margin-bottom:12px;}
.gewerbe-quicknav{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.gewerbe-quicknav a{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;border-radius:999px;background:var(--mint-tint);color:var(--navy);font-size:14.5px;font-weight:700;text-decoration:none;border:1.5px solid var(--mint-deep);box-shadow:0 2px 6px rgba(58,161,123,0.15);transition:background 0.15s ease,color 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease;}
.gewerbe-quicknav a span{font-size:13px;transition:transform 0.15s ease;}
.gewerbe-quicknav a:hover{background:var(--mint);color:var(--navy-deep);transform:translateY(-1px);box-shadow:0 4px 12px rgba(58,161,123,0.28);}
.gewerbe-quicknav a:hover span{transform:translateX(3px);}
@media (max-width:600px){.gewerbe-quicknav{justify-content:flex-start;}.gewerbe-quicknav a{flex:1 1 auto;justify-content:center;}}
