/* Ergänzung 41: ausschließlich neue Oberflächen; bestehende Gestaltungstokens. */
.sc41 { color:var(--ink); background:var(--paper); font:17px/1.6 'Instrument Sans',sans-serif; }
.sc41 * { box-sizing:border-box; }
.sc41 [hidden] { display:none!important; }
.sc41 a { color:var(--felt); }
.sc41-header { background:var(--felt-deep); color:var(--cream); padding:16px 22px; }
.sc41-header-inner,.sc41-wrap { width:100%; max-width:1120px; margin:auto; }
.sc41-header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.sc41-brand { display:flex; gap:12px; align-items:center; text-decoration:none; color:var(--cream)!important; }
.sc41-brand img { width:52px; height:52px; object-fit:contain; border-radius:8px; }
.sc41-brand strong { display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:19px; }
.sc41-brand small { display:block; font-size:14px; }
.sc41-nav { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.sc41 .sc41-nav a { display:flex; align-items:center; min-height:44px; padding:8px 12px; color:var(--cream); text-decoration:none; border-radius:8px; }
.sc41-nav a:hover,.sc41-nav a[aria-current=page] { background:var(--felt-soft); }
.sc41 section { padding:56px 24px; scroll-margin-top:20px; }
.sc41 h1,.sc41 h2,.sc41 h3 { font-family:'Bricolage Grotesque',sans-serif; color:inherit; line-height:1.12; margin:0 0 18px; }
.sc41 h1 { font-size:clamp(34px,5vw,60px); max-width:18ch; }
.sc41 h2 { font-size:clamp(26px,3vw,36px); }
.sc41 h3 { font-size:23px; }
.sc41 p { margin:0 0 18px; }
.sc41-hero { background:var(--felt); color:var(--cream); }
.sc41-hero p { max-width:62ch; color:var(--cream); }
.sc41-eyebrow { font-size:14px; font-weight:600; letter-spacing:.06em; margin-bottom:18px; }
.sc41-hero .sc41-eyebrow { color:var(--cream-dim); }
.sc41-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.sc41-card { background:var(--paper); color:var(--ink); border:1px solid var(--felt-soft); border-radius:14px; padding:28px; min-width:0; }
.sc41-featured { border-top:5px solid var(--gold); }
.sc41-price { font-family:'Bricolage Grotesque',sans-serif; font-size:32px; font-weight:800; margin:18px 0 8px; }
.sc41-unit,.sc41-note,.sc41-status { font-size:14px; color:var(--felt-soft); }
.sc41-note { margin:12px 0 0!important; }
.sc41-card ul { margin:16px 0 24px; padding-left:20px; }
.sc41-card li { margin:9px 0; }
.sc41-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.sc41-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 20px; background:var(--felt); color:var(--cream)!important; border:2px solid var(--felt); border-radius:999px; font:600 16px/1.4 'Instrument Sans',sans-serif; cursor:pointer; text-decoration:none; }
.sc41-button:hover { background:var(--felt-soft); border-color:var(--felt-soft); }
.sc41-button:active { transform:translateY(1px); }
.sc41-button:disabled { opacity:.65; cursor:wait; }
.sc41-button-alt { background:transparent; color:var(--felt)!important; }
.sc41-button-alt:hover { background:var(--cream-dim); }
.sc41-hero .sc41-button { background:var(--gold); border-color:var(--gold); color:var(--felt-deep)!important; }
.sc41-hero .sc41-button:hover { background:var(--gold-soft); border-color:var(--gold-soft); }
.sc41-hero .sc41-button-alt { background:transparent; border-color:var(--cream); color:var(--cream)!important; }
.sc41-hero .sc41-button-alt:hover { background:var(--felt-deep); }
/* Designregelwerk: Fokusring 2 Pixel, felt-soft auf hellem Grund,
   gold-soft auf dunklem Grund, 2 Pixel Abstand. Rot bleibt Fehlerfarbe. */
.sc41 a:focus-visible,.sc41 button:focus-visible,.sc41 input:focus-visible,.sc41 select:focus-visible,.sc41 textarea:focus-visible,.sc41 summary:focus-visible { outline:2px solid var(--felt-soft); outline-offset:2px; }
.sc41-hero a:focus-visible,.sc41-header a:focus-visible,.sc41-calc a:focus-visible { outline-color:var(--gold-soft); }
.sc41-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.sc41-tabs button { background:var(--paper); color:var(--felt); border:1px solid var(--felt); border-radius:999px; padding:10px 18px; min-height:44px; font:600 16px/1.4 'Instrument Sans',sans-serif; cursor:pointer; }
.sc41-tabs button:hover { background:var(--cream-dim); }
.sc41-tabs button[aria-pressed=true] { background:var(--felt); color:var(--cream); }
.sc41 details { border-top:1px solid var(--line); padding:14px 0; }
.sc41 summary { min-height:44px; display:list-item; padding:8px 0; cursor:pointer; font-weight:600; }
.sc41 details p { margin:12px 0; }
.sc41-form label { display:block; margin-bottom:16px; font-weight:600; }
.sc41-form input,.sc41-form select,.sc41-form textarea { display:block; width:100%; min-height:46px; font:400 17px/1.5 'Instrument Sans',sans-serif; background:var(--paper); color:var(--ink); border:1px solid var(--felt-soft); border-radius:8px; padding:10px 12px; margin-top:6px; }
.sc41-form textarea { resize:vertical; }
.sc41-form .sc41-grid { gap:16px; }
.sc41-message { margin-top:16px; padding:16px; border-left:4px solid var(--felt); background:var(--cream); color:var(--ink); }
.sc41-message[data-error=true] { border-color:var(--red); }
.sc41-hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.sc41-footer { padding:24px; border-top:1px solid var(--line); background:var(--paper); }
.sc41-footer .sc41-wrap { display:flex; gap:14px; flex-wrap:wrap; }
.sc41-footer a { display:flex; align-items:center; min-height:44px; font-size:14px; }
.sc41-note-box { background:var(--cream); padding:20px; border-radius:8px; margin:22px 0; }
.sc41-contract { padding:18px; background:var(--paper); color:var(--ink); border:1px solid var(--felt-soft); border-radius:14px; margin-bottom:20px; font:16px/1.5 'Instrument Sans',sans-serif; }
.scb-on .sc41-header { display:none; }

/* ---- Ergänzung 41.2: Vergleich, Rechenbeispiel, Zusagen ---- */
.sc41-scroll { overflow-x:auto; border:1px solid var(--felt-soft); border-radius:14px; }
.sc41-scroll:focus-visible { outline:2px solid var(--felt-soft); outline-offset:2px; }
.sc41-table { border-collapse:collapse; width:100%; min-width:760px; background:var(--paper); font-size:16px; }
.sc41-table th,.sc41-table td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--felt-soft); }
.sc41-table thead th { background:var(--felt); color:var(--cream); font-family:'Bricolage Grotesque',sans-serif; font-size:17px; }
.sc41-table thead th span { display:block; margin-top:4px; font-family:'Instrument Sans',sans-serif; font-size:14px; font-weight:400; color:var(--cream-dim); }
.sc41-table tbody th { width:32%; font-weight:600; color:var(--ink); }
.sc41-table tbody td { color:var(--ink); }
.sc41-table tbody tr:nth-child(even) th,.sc41-table tbody tr:nth-child(even) td { background:var(--cream); }
.sc41-table tbody tr:last-child th,.sc41-table tbody tr:last-child td { border-bottom:0; }
.sc41-calc { background:var(--felt-deep); color:var(--cream); border-radius:14px; padding:34px clamp(20px,4vw,36px); }
.sc41-calc h3 { color:var(--cream); font-size:26px; }
.sc41-calc p { color:var(--cream-dim); max-width:66ch; }
.sc41-calc-rows { margin-top:24px; }
.sc41-calc-row,.sc41-calc-sum { display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; padding:14px 0; border-bottom:1px solid var(--felt-soft); }
.sc41-calc-row span,.sc41-calc-sum span { flex:1 1 58%; min-width:0; }
.sc41-calc-row span { color:var(--cream-dim); }
.sc41-calc-row b,.sc41-calc-sum b { color:var(--cream); font-variant-numeric:tabular-nums; }
.sc41-calc-sum { font-family:'Bricolage Grotesque',sans-serif; font-size:19px; }
.sc41-calc-sum span { color:var(--cream); }
.sc41-calc-total { border-bottom:0; }
.sc41-calc-total span,.sc41-calc-total b { color:var(--gold-soft); }
.sc41-calc-note { margin:20px 0 0!important; font-size:15px; color:var(--cream-dim); }
.sc41-yes { border-left:5px solid var(--gold); }
.sc41-no { border-left:5px solid var(--felt-soft); }
.sc41-yes ul,.sc41-no ul { margin:16px 0 0; padding-left:20px; }
.sc41-yes li,.sc41-no li { margin:10px 0; }

@media(max-width:680px){ .sc41-grid { grid-template-columns:1fr; } .sc41 section { padding:36px 18px; } .sc41-card { padding:22px; } .sc41-header { padding:16px 18px; } .sc41-nav { gap:2px; } .sc41-nav a { padding:8px; } .sc41-price { font-size:28px; } .sc41-table { min-width:680px; font-size:15px; } .sc41-table th,.sc41-table td { padding:12px 14px; } .sc41-calc { padding:26px 18px; } .sc41-calc h3 { font-size:23px; } }
@media(prefers-reduced-motion:reduce){ .sc41 * { scroll-behavior:auto!important; transition:none!important; } }
