/* Gemeinsamer Skin v1 für alle Vermittlungsseiten. Quelle: baukasten/styles.css + partner.css + wizard.css + hero.css. Nicht hier bearbeiten. Alles liegt in @layer skin, damit Seiten-Tokens und -Ausnahmen immer gewinnen. */
@layer skin{
/* Baukasten-Grundstil (aus batteriespeicher-nachruesten.de, 14.10.2026). Akzent, Band und Schrift setzt render.py pro Nische am Ende.
   Schichten: 1 Farbe · 2 Abstand · 3 Typo · 4 Komponenten. Schrift selbst gehostet (Archivo, OFL), keine externen Ressourcen. */
@font-face{font-family:"Archivo";src:url(fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}

/* 1 Farbe (OKLCH, Graus ohne Farbton). Akzent Signalgelb = „Ablauf/Montage-Tag“, nur Band, Schrittmarken, Illustration. */
:root{color-scheme:light dark;
--bg:oklch(98.4% .005 95);--surface:oklch(100% 0 none);--surface-2:oklch(95.5% 0 none);
--ink:oklch(20% 0 none);--mute:oklch(41% 0 none);--line:oklch(85% 0 none);--field:oklch(52% 0 none);
--acc:oklch(86% .165 92);--band:oklch(86% .165 92);--band-ink:oklch(21% .03 85);--band-mute:oklch(32% .04 85);
--btn:oklch(20% 0 none);--btn-ink:oklch(98.4% .005 95);
--sh:0 1px 1px oklch(0% 0 none / .06),0 3px 8px oklch(0% 0 none / .07),0 18px 36px -14px oklch(0% 0 none / .22)}
@media (prefers-color-scheme:dark){:root{
--bg:oklch(17.5% 0 none);--surface:oklch(22.5% 0 none);--surface-2:oklch(25.5% 0 none);
--ink:oklch(95% .005 95);--mute:oklch(79% 0 none);--line:oklch(38% 0 none);--field:oklch(62% 0 none);
--band:oklch(29% .05 88);--band-ink:oklch(96% .02 95);--band-mute:oklch(85% .04 92);
--btn:oklch(95% .005 95);--btn-ink:oklch(17.5% 0 none);
--sh:0 1px 1px oklch(0% 0 none / .4),0 10px 28px -12px oklch(0% 0 none / .7)}}

/* 2 Abstand */
:root{--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;--s6:6rem;--max:46rem;--wide:80rem;--r1:.4rem;--r2:.75rem;--r3:1.25rem}

/* 3 Typo */
:root{--f:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--t-sm:.9375rem;--t-base:1.0625rem;--t-lg:clamp(1.15rem,1rem + .6vw,1.45rem);--t-h3:1.25rem;--t-h2:clamp(1.6rem,1.15rem + 1.8vw,2.4rem);--t-h1:clamp(2.75rem,1.4rem + 6vw,6rem)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f);font-size:var(--t-base);line-height:1.6;color:var(--ink);background:var(--bg);font-kerning:normal}
h1,h2,h3{font-stretch:75%;line-height:1.05;letter-spacing:-.025em;text-wrap:balance;margin:0}
h1{font-size:var(--t-h1);font-weight:800;line-height:.95}
h2{font-size:var(--t-h2);font-weight:750;margin-top:var(--s5);margin-bottom:var(--s2)}
h3{font-size:var(--t-h3);font-weight:700;letter-spacing:-.015em;margin-top:var(--s4);margin-bottom:var(--s1)}
p,li,dd{text-wrap:pretty}
p{margin:0 0 var(--s2)}
h1,h2,h3,p,li,dd,dt,td,th,label,summary,legend,a{overflow-wrap:anywhere;hyphens:auto}
small{font-size:var(--t-sm);color:var(--mute)}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:2px}

/* 4 Komponenten */
.testbanner{margin:0;background:var(--ink);color:var(--bg);text-align:center;font-size:var(--t-sm);padding:.35rem var(--s2)}
.head-in{max-width:var(--wide);margin:auto;padding:var(--s2);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:baseline;justify-content:space-between}
.brand{margin:0;font-weight:700;font-stretch:80%;font-size:var(--t-base)}.brand a{text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:0 var(--s2)}
nav a{color:var(--mute);text-decoration:none;padding:.6rem 0;min-height:44px;display:inline-flex;align-items:center}
main{display:block;padding-bottom:var(--s5)}
main>*{width:min(var(--max),100% - 2rem);margin-inline:auto}
main>.full{width:100%}
main>h1{margin-top:var(--s4);margin-bottom:var(--s2);font-size:clamp(2.25rem,1.5rem + 3.2vw,4rem)}
main>h1+p{color:var(--mute)}

.btn{display:inline-flex;align-items:center;min-height:48px;background:var(--btn);color:var(--btn-ink);padding:.9rem 1.5rem;border-radius:var(--r1);font-weight:700;text-decoration:none;font-size:var(--t-base);transition:transform 140ms cubic-bezier(.23,1,.32,1)}
.btn:active,button:active{transform:scale(.97)}
.cta{margin-block:var(--s4)}

/* Hero */
.hero-in{max-width:var(--wide);margin:auto;padding:var(--s4) var(--s2) var(--s4);display:grid;gap:var(--s3);align-items:end}
.hero-copy{min-width:0}
.hero-sub{font-size:var(--t-lg);line-height:1.4;max-width:34ch;margin:var(--s3) 0 var(--s3)}
.hero-sub span{color:var(--mute)}
.hero-act{margin:0 0 var(--s1)}
.hero-note{color:var(--mute);font-size:var(--t-sm);max-width:44ch;margin:0}
.hero-art{display:none;width:100%;height:auto;justify-self:end}
@media (min-width:640px){.hero-art{display:block;max-width:20rem}}
@media (min-width:960px){.hero-in{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);padding-top:var(--s5)}.hero-art{max-width:26rem}}
.i-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.i-thin{fill:none;stroke:var(--mute);stroke-width:2;stroke-linecap:round}
.i-fill{fill:var(--surface)}
.i-acc{fill:var(--acc)}.i-acc-soft{fill:var(--band)}.i-dot{fill:var(--acc);stroke:var(--ink);stroke-width:2}
.i-cable{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round}

/* Montage-Tag-Band */
.band{background:var(--band);color:var(--band-ink);margin-top:var(--s3)}
.band-in{max-width:var(--wide);margin:auto;padding:var(--s4) var(--s2) var(--s5)}
.band h2{margin-top:0}
.band-lead{max-width:52ch;color:var(--band-ink)}
.band a{color:inherit}
.steps{list-style:none;padding:0;margin:var(--s3) 0 0;display:grid;align-items:start;gap:var(--s2);counter-reset:s}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps .day{grid-row:span 2}}
@media (min-width:1100px){.steps .ph{aspect-ratio:4/3}.steps{grid-template-columns:1fr 1fr 1fr 1.35fr 1fr}.steps .day{grid-row:auto}}
.steps li{background:var(--surface);color:var(--ink);border-radius:var(--r1);padding:var(--s2) var(--s2) var(--s3);box-shadow:var(--sh);min-width:0;margin:0;display:flex;flex-direction:column;gap:.35rem}
.steps li::before{counter-increment:s;content:"Schritt " counter(s);color:var(--mute);font-size:var(--t-sm)}
.steps b{font-stretch:78%;font-size:var(--t-h3);line-height:1.15;letter-spacing:-.015em}
.steps span{color:var(--mute);font-size:var(--t-sm)}
.steps a{color:var(--ink)}
.steps .day{outline:3px solid var(--ink);outline-offset:-3px}
.steps .ph{margin-top:var(--s1);aspect-ratio:16/7;border:2px dashed var(--line);border-radius:var(--r1);display:grid;place-items:center;text-align:center;padding:var(--s1)}

/* Check */
#check{background:var(--surface);border-radius:var(--r3);padding:var(--s3) var(--s2);margin-top:var(--s5);box-shadow:var(--sh);scroll-margin-top:var(--s2)}
#check h2{margin-top:0}
fieldset{border:0;padding:0;margin:0 0 var(--s3);min-width:0}
legend{font-weight:650;margin-bottom:var(--s1);padding:0}
fieldset br,.lead br,.reminder br{display:none}
input[type=number],input[type=text],input[type=email],input[type=tel],textarea,select{font:inherit;font-size:var(--t-base);width:100%;max-width:22rem;padding:.7rem .8rem;border:1.5px solid var(--field);border-radius:var(--r1);background:var(--surface);color:var(--ink);min-height:48px;display:block;margin-top:.3rem}
textarea{max-width:100%}
input,select,textarea,button{font-size:var(--t-base)}
input[aria-invalid=true]{border-color:var(--ink);border-width:3px}
fieldset>input{display:inline-block;margin:0 var(--s1) var(--s1) 0}
fieldset label:has(input[type=radio]){display:inline-flex;align-items:center;gap:.5rem;margin:0 var(--s1) var(--s1) 0;padding:.6rem .9rem;border:1.5px solid var(--line);border-radius:var(--r1);background:var(--surface);cursor:pointer;min-height:48px}
fieldset label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface-2);font-weight:600}
input[type=radio],input[type=checkbox]{accent-color:var(--ink);width:1.2rem;height:1.2rem;flex:none;margin:0}
label:has(input[type=checkbox]){display:block;position:relative;padding-left:2rem;cursor:pointer;min-height:44px;padding-top:.6rem}
label:has(input[type=checkbox]) input{position:absolute;left:0;top:.8rem}
.toggle{background:var(--surface-2);border-radius:var(--r1);padding:.25rem var(--s2) .4rem}
button{font:inherit;font-weight:700;background:var(--btn);color:var(--btn-ink);border:0;border-radius:var(--r1);padding:.9rem 1.5rem;min-height:48px;cursor:pointer;width:100%;max-width:22rem;transition:transform 140ms cubic-bezier(.23,1,.32,1)}
[role=alert]{font-weight:650;margin:var(--s1) 0 0}[role=alert]:empty{display:none}
[role=alert]:not(:empty)::before{content:"Bitte prüfen: ";font-weight:400}
#check-out>div{margin-top:var(--s3);padding:var(--s3) var(--s2) var(--s2);border-radius:var(--r2);background:var(--surface-2)}
#check-out .lead,#check-out .reminder{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
#check-out h3{margin-top:0}
.result [data-f=verdict]{font-size:var(--t-h3);font-stretch:80%}
#check-out,#check{scroll-margin-top:var(--s3)}

/* Preisschild */
.price-grid{display:grid;gap:var(--s4);align-items:start}
@media (min-width:760px){main>.price{width:min(64rem,100% - 2rem)}.price-grid{grid-template-columns:minmax(0,20rem) minmax(0,1fr)}}
.tag{position:relative;background:var(--surface);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:var(--s5) var(--s3) var(--s3);box-shadow:var(--sh);transform:rotate(-2deg);margin:var(--s2) var(--s1)}
.tag::before{content:"";position:absolute;top:var(--s3);left:50%;width:1rem;height:1rem;margin-left:-.5rem;border-radius:50%;background:var(--bg);box-shadow:inset 0 1px 2px oklch(0% 0 none / .3)}
.tag-k{color:var(--mute);margin:0}
.tag-p{font-size:var(--t-h2);font-weight:800;font-stretch:72%;line-height:1.05;letter-spacing:-.025em;margin:.2rem 0 var(--s2)}
.tag ul{list-style:none;padding:0;margin:0;border-top:1px dashed var(--line)}
.tag li{padding:.55rem 0;margin:0;border-bottom:1px dashed var(--line)}
.tag-s{margin:var(--s2) 0 0;color:var(--mute);font-size:var(--t-sm)}
.ladder{margin:var(--s2) 0 var(--s3);display:grid;gap:var(--s2)}
.ladder div{position:relative;padding-top:.75rem}
.ladder div::before{content:"";position:absolute;top:0;left:0;height:.35rem;border-radius:1rem;background:var(--ink)}
.ladder div:nth-child(1)::before{width:33%}.ladder div:nth-child(2)::before{width:66%}.ladder div:nth-child(3)::before{width:100%}
.ladder dt{font-weight:700}.ladder dd{margin:0;color:var(--mute)}

/* Foto-Check */
.photo{display:grid;gap:var(--s3);align-items:center;margin-top:var(--s5)}
@media (min-width:760px){main>.photo{width:min(64rem,100% - 2rem)}.photo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.photo h2{margin-top:0}
.photo-tile{aspect-ratio:4/3;border:2px dashed var(--field);border-radius:var(--r2);display:grid;place-items:center;text-align:center;padding:var(--s2);color:var(--mute);background:var(--surface-2)}

/* Hinweise, Nein-Antwort, FAQ */
.no,.draft{background:var(--surface-2);border-radius:var(--r2);padding:var(--s3) var(--s3) var(--s2);margin-top:var(--s5)}
.draft{margin-block:var(--s3)}
.no h2{margin-top:0;font-size:var(--t-h3)}
details{border-top:1px solid var(--line);padding:0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:650;padding:var(--s2) 0;min-height:48px;list-style-position:outside}
details p{color:var(--mute)}
.end{background:var(--surface-2);margin-top:var(--s5)}
.end-in{width:min(var(--max),100% - 2rem);margin:auto;padding:var(--s4) 0}
.end h2{margin-top:0}.end .cta{margin:var(--s2) 0 0}

/* Tabellen, Listen */
table{width:100%;border-collapse:collapse;margin:var(--s3) 0;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.65rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:700;border-bottom:2px solid var(--ink)}
@media (max-width:640px){th,td{padding:.55rem .4rem}}
table{table-layout:auto}
main ul,main ol{padding-left:1.3rem}main li{margin:.35rem 0}
#ampel-out:not(:empty){background:var(--surface-2);border-radius:var(--r2);padding:var(--s2);margin-top:var(--s2)}
#ampel-out p:first-child{font-weight:700;font-size:var(--t-h3)}
#ampel,#wl{background:var(--surface);border-radius:var(--r2);padding:var(--s3) var(--s2);box-shadow:var(--sh)}
#ampel label,#wl label{font-weight:600}

footer{border-top:1px solid var(--line);color:var(--mute);font-size:var(--t-sm);padding:var(--s3) var(--s2) var(--s4)}
footer>p{max-width:var(--wide);margin:var(--s1) auto}
.foot-links{display:flex;flex-wrap:wrap;gap:0 var(--s3)}.foot-links a{min-height:44px;display:inline-flex;align-items:center}
footer a{color:var(--ink)}

@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:2px}nav a:not(.btn):hover{color:var(--ink)}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* 5 Mobil-Feinschliff (Claude, 14.10.2026) */
h1,h2,h3,.steps b,a{hyphens:manual;overflow-wrap:break-word}
p,li,dd{hyphenate-limit-chars:10 4 4;-webkit-hyphenate-limit-before:4;-webkit-hyphenate-limit-after:4}
.mark{background:linear-gradient(transparent 58%,var(--acc) 58% 90%,transparent 90%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.steps li::before{align-self:flex-start;background:var(--acc);color:var(--band-ink);font-weight:700;padding:.1rem .55rem;border-radius:999px;font-size:.8125rem}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--acc);color:var(--band-ink);display:grid;place-items:center;font-weight:800;line-height:1}
details[open] summary::after{content:"–"}
@media (max-width:639px){
 .hero-in{padding-top:var(--s3)}
 .hero-art{display:block;order:-1;max-width:13rem;justify-self:start;margin-bottom:calc(-1*var(--s1))}
 fieldset label:has(input[type=radio]){display:flex;width:100%;max-width:22rem}
 .tag{margin-inline:var(--s1)}
}
@media (prefers-color-scheme:dark){:root{--band:oklch(84% .16 90);--band-ink:oklch(20% .03 85);--band-mute:oklch(32% .04 85)}}
@media (prefers-color-scheme:dark){.mark{background:none;color:var(--acc)}}

/* 6 Baukasten-Ergänzungen */
.i-air{fill:none;stroke:var(--warm,var(--acc));stroke-width:5;stroke-linecap:round}
.fit{display:grid;gap:var(--s3);margin-top:var(--s3)}
@media (min-width:760px){main>.fit-wrap{width:min(64rem,100% - 2rem)}.fit{grid-template-columns:1fr 1fr}}
.fit>div{background:var(--surface);border-radius:var(--r2);box-shadow:var(--sh);padding:var(--s3)}
.fit h3{margin-top:0}.fit ul{margin:0}
.fit .yes h3::before,.fit .no-fit h3::before{content:"";display:inline-block;width:.75rem;height:.75rem;border-radius:2px;margin-right:.5rem}
.fit .yes h3::before{background:var(--acc);box-shadow:inset 0 0 0 2px var(--ink)}.fit .no-fit h3::before{background:var(--line)}
.how{background:var(--surface-2);border-radius:var(--r2);padding:var(--s3);margin-top:var(--s5)}
.how h2{margin-top:0}
#check-out .res{margin-top:var(--s3);padding:var(--s3) var(--s2);border-radius:var(--r2);background:var(--surface-2)}
#check-out .res h3{margin-top:0;font-stretch:80%}
#check-out .res[data-v=passt],#check-out .res[data-v=zustimmung]{box-shadow:inset 0 0 0 3px var(--acc)}
.lead-note{font-size:var(--t-sm);color:var(--mute)}
.hero-sub,.hero-note{hyphens:manual}

/* 8 Kopfzeile (Claude, 14.10.2026): mitlaufend, Wortmarke, fester Check-Knopf; mobil Popover-Menü ohne JS-Framework */
header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--bg) 84%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
@supports (animation-timeline:scroll()){header{animation:hdr-shadow linear both;animation-timeline:scroll();animation-range:0 96px}@keyframes hdr-shadow{to{box-shadow:0 10px 28px -18px oklch(0% 0 none / .35)}}}
[id]{scroll-margin-top:5.5rem}
.head-in{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s2);padding:.6rem var(--s2);max-width:var(--wide);margin:auto}
.brand{display:inline-flex;align-items:center;gap:.6rem;margin:0;text-decoration:none;color:var(--ink);font-weight:750;font-stretch:78%;font-size:1.0625rem;line-height:1.05;letter-spacing:-.01em;min-height:44px;flex:none}
.brand span:last-child{max-width:10em}
.logo{flex:none;width:1.9rem;height:1.9rem;border-radius:.55rem;background:var(--acc);box-shadow:inset 0 0 0 2.5px var(--band-ink);position:relative}
.logo::before,.logo::after{content:"";position:absolute;left:.45rem;right:.45rem;height:2.5px;border-radius:2px;background:var(--band-ink);top:.62rem}
.logo::after{top:auto;bottom:.62rem;right:.75rem}
.btn-s{min-height:40px;padding:.5rem .9rem;font-size:.9375rem;border-radius:999px;white-space:nowrap}
.hdr-cta{margin-left:auto;flex:none}
.menu-btn{flex:none;width:44px;height:44px;min-height:44px;max-width:none;padding:0;border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;place-items:center}
.menu-btn span,.menu-btn span::before{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative}
.menu-btn span::before{content:"";position:absolute;top:-6px}
.menu-btn span::after{content:"";position:absolute;top:6px;left:0;width:12px;height:2px;border-radius:2px;background:currentColor}
nav a.nav-partner{color:var(--band-ink)}
nav a.nav-partner span{background:var(--acc);color:var(--band-ink);padding:.2rem .6rem;border-radius:999px;font-weight:700}
nav a[aria-current=page]:not(.nav-partner){color:var(--ink);text-decoration:underline 2px;text-decoration-color:var(--acc);text-underline-offset:.45em}
.menu-top,.menu-cta{display:none}
@media (max-width:1023px){
 nav[popover]{position:fixed;inset:0 0 auto 0;margin:0;width:100%;max-width:none;max-height:100dvh;overflow:auto;border:0;padding:var(--s1) var(--s2) var(--s3);background:var(--bg);color:var(--ink);border-radius:0 0 var(--r3) var(--r3);box-shadow:0 24px 48px -24px oklch(0% 0 none / .5);flex-direction:column;gap:0}
 nav[popover]:popover-open{display:flex}
 nav[popover]:not(:popover-open){display:none}
 nav[popover]::backdrop{background:oklch(15% 0 none / .4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
 .menu-top{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin:0 0 var(--s1);color:var(--mute);font-size:var(--t-sm)}
 .menu-x{width:44px;height:44px;min-height:44px;max-width:none;padding:0;border-radius:999px;background:var(--surface-2);color:var(--ink);position:relative}
 .menu-x::before,.menu-x::after{content:"";position:absolute;left:13px;right:13px;top:21px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
 .menu-x::after{transform:rotate(-45deg)}
 nav[popover] a:not(.btn){color:var(--ink);font-size:1.375rem;font-weight:700;font-stretch:80%;letter-spacing:-.01em;padding:.75rem 0;min-height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center}
 nav[popover] a.nav-partner{border-bottom:1px solid var(--line)}
 .menu-cta{display:inline-flex;justify-content:center;margin-top:var(--s3)}
 .hdr-cta .cta-long{display:none}
 @media (min-width:480px){.hdr-cta .cta-long{display:inline}}
}
@media (min-width:1024px){
 .menu-btn{display:none}
 nav[popover]{display:flex;position:static;inset:auto;margin:0 0 0 auto;padding:0;border:0;background:none;color:inherit;overflow:visible;width:auto;height:auto;max-height:none;align-items:center;flex-wrap:nowrap;gap:0 1.25rem}
 nav[popover] a{white-space:nowrap}
 .hdr-cta{margin-left:var(--s1)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:1023px){
 nav[popover]{transition:opacity .18s ease-out,transform .22s cubic-bezier(.23,1,.32,1),overlay .22s allow-discrete,display .22s allow-discrete;opacity:0;transform:translateY(-12px)}
 nav[popover]:popover-open{opacity:1;transform:none}
 @starting-style{nav[popover]:popover-open{opacity:0;transform:translateY(-12px)}}
}
@media (hover:hover) and (pointer:fine){nav a:not(.btn):not(.nav-partner){text-decoration:underline 2px transparent;text-underline-offset:.45em;transition:text-decoration-color .15s ease-out,color .15s ease-out}nav a:not(.btn):not(.nav-partner):hover{text-decoration-color:var(--acc)}.menu-btn:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}}
.cta-long{margin-left:.3em}
@media (max-width:399px){.head-in{gap:.75rem}}
@media (max-width:359px){.hdr-cta{display:none}.menu-btn{margin-left:auto}}
.brand{flex:0 1 auto;min-width:0}.brand span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.head-in{min-width:0}
/* Partner-Seite (aus der Speicher-Seite, 14.10.2026). Wird von render.py inline eingebettet. */
.p-hero{max-width:var(--wide);margin:auto;padding:var(--s4) var(--s2) var(--s3)}
.p-hero h1{font-size:clamp(2.4rem,1.4rem + 4.5vw,4.6rem);max-width:16ch}
.p-hero .hero-sub{max-width:44ch}
.p-kicker{display:inline-block;background:var(--band);color:var(--band-ink);font-weight:700;font-size:var(--t-sm);padding:.25rem .6rem;border-radius:var(--r1);margin:0 0 var(--s2)}
.p-toc{display:flex;flex-wrap:wrap;gap:var(--s1);margin:var(--s3) 0 0;padding:0;list-style:none}
.p-toc a{display:inline-flex;min-height:44px;align-items:center;padding:0 .9rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:var(--t-sm);background:var(--surface)}
main>.p-sec,main>.p-end{width:100%}
.p-sec{max-width:var(--wide);margin:auto;padding:var(--s4) var(--s2) 0}
.p-sec>h2{margin-top:0}
.p-lead{max-width:60ch;color:var(--mute);font-size:var(--t-lg);line-height:1.45}
.flow{width:100%;height:auto;margin-top:var(--s3);overflow:visible}
.flow text{font-family:var(--f);fill:var(--ink);font-size:15px}
.flow .t-b{font-weight:750;font-size:17px;font-stretch:80%}
.flow .t-m{fill:var(--mute);font-size:13.5px}
.flow .box{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}
.flow .box-acc{fill:var(--band);stroke:var(--ink);stroke-width:2.5}
.flow .arrow{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.flow .dash{fill:none;stroke:var(--mute);stroke-width:2;stroke-dasharray:4 5}
.flow-m{display:none}
@media (max-width:760px){.flow-d{display:none}.flow-m{display:grid}}
.split{display:grid;gap:var(--s3);margin-top:var(--s3)}
@media (min-width:760px){.split{grid-template-columns:1fr 1fr}}
.card{background:var(--surface);border-radius:var(--r2);box-shadow:var(--sh);padding:var(--s3)}
.card h3{margin-top:0}
.card ul{margin:0;padding-left:1.1rem}.card li{margin:.35rem 0}
.card.me h3::before,.card.you h3::before{content:"";display:inline-block;width:.75rem;height:.75rem;border-radius:2px;margin-right:.5rem;vertical-align:.05em}
.card.me h3::before{background:var(--ink)}.card.you h3::before{background:var(--acc);box-shadow:inset 0 0 0 2px var(--ink)}
.money{display:grid;gap:var(--s3);margin-top:var(--s3);align-items:start}
@media (min-width:760px){.money{grid-template-columns:5fr 7fr}}
.range{margin-top:var(--s2)}
.range-bar{position:relative;height:56px;border-radius:var(--r1);background:repeating-linear-gradient(90deg,var(--surface-2) 0 10px,var(--surface) 10px 20px);border:2px solid var(--ink)}
.range-pin{position:absolute;top:-10px;bottom:-10px;width:6px;margin-left:-3px;background:var(--ink);border-radius:3px}
.range-l{display:flex;justify-content:space-between;font-size:var(--t-sm);color:var(--mute);margin-top:.4rem}
.week{list-style:none;padding:0;margin:var(--s3) 0 0;display:grid;gap:var(--s2)}
@media (min-width:760px){.week{grid-template-columns:repeat(4,1fr)}}
.week li{background:var(--surface);border-radius:var(--r1);box-shadow:var(--sh);padding:var(--s2) var(--s2) var(--s3);margin:0}
.week b{display:block;font-stretch:78%;font-size:var(--t-h3);line-height:1.15}
.week small{display:block;margin-bottom:.3rem}
.goal{margin-top:var(--s3);display:grid;gap:var(--s2);grid-template-columns:1fr 1fr}
.goal div:first-child{background:var(--acc);color:var(--band-ink)}
@media (min-width:760px){.goal{grid-template-columns:repeat(4,1fr)}}
.goal div{border:2px solid var(--ink);border-radius:var(--r1);padding:var(--s2)}
.goal b{display:block;font-size:var(--t-h2);font-weight:800;font-stretch:72%;line-height:1}
.need{list-style:none;padding:0;margin:var(--s3) 0 0;display:grid;gap:var(--s1)}
@media (min-width:760px){.need{grid-template-columns:1fr 1fr}}
.need li{display:flex;gap:.75rem;align-items:flex-start;padding:var(--s2);background:var(--surface);border-radius:var(--r1);border:1px solid var(--line);margin:0}
.need li::before{content:"";flex:none;width:1.1rem;height:1.1rem;margin-top:.25rem;border:2px solid var(--ink);border-radius:3px}
.qs{counter-reset:q;list-style:none;padding:0;margin:var(--s3) 0 0}
.qs li{counter-increment:q;position:relative;padding:var(--s2) 0 var(--s2) 3.2rem;border-bottom:1px dashed var(--line);margin:0;font-size:var(--t-lg);line-height:1.4}
.qs li::before{content:counter(q);position:absolute;left:0;top:var(--s2);width:2.2rem;height:2.2rem;border-radius:50%;background:var(--band);color:var(--band-ink);font-weight:800;display:grid;place-items:center;font-size:var(--t-base)}
.note{margin-top:var(--s3);padding:var(--s2) var(--s3);background:var(--surface-2);border-radius:var(--r1);color:var(--mute);font-size:var(--t-sm)}
.p-end{max-width:var(--wide);margin:var(--s5) auto 0;padding:0 var(--s2)}

.p-hero>.hero-art{margin-bottom:var(--s2)}
@media (min-width:960px){.p-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);column-gap:var(--s4)}.p-hero>*{grid-column:1}.p-hero>.hero-art{grid-column:2;grid-row:1/span 6;align-self:center;margin:0}}
.ex-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,21rem);gap:var(--s2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--s2);padding:var(--s2) var(--s2) var(--s3);margin:var(--s1) calc(-1*var(--s2)) 0;scrollbar-width:thin}
@media (min-width:960px){.ex-row{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}}
.ex{margin:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:var(--s2)}
.ex figcaption{display:flex;flex-direction:column;gap:.2rem;font-size:var(--t-sm)}
.ex figcaption>b{font-size:var(--t-base)}.ex figcaption>span{color:var(--mute)}
.ex dl{display:grid;grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:.4rem 0 0;padding-top:.5rem;border-top:1px dashed var(--line)}
.ex dt{color:var(--mute)}.ex dd{margin:0}
.mock{background:var(--surface);color:var(--ink);border-radius:var(--r2);box-shadow:var(--sh);padding:var(--s2);font-size:.875rem;line-height:1.45;min-height:23rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden}
.mock p{margin:0}.mock small{color:var(--mute);font-size:.75rem}
.m-small{font-size:.75rem;color:var(--mute)}.m-small b{color:var(--ink)}
.m-google{gap:.4rem}
.m-gt{font-size:1.15rem;line-height:1.3;color:oklch(45% .16 262);font-weight:500}
@media (prefers-color-scheme:dark){.m-gt{color:oklch(78% .1 262)}}
.m-gd{color:var(--mute)}
.m-head{display:flex;align-items:center;gap:.6rem;line-height:1.25}
.m-av{width:2rem;height:2rem;border-radius:50%;background:var(--acc);box-shadow:inset 0 0 0 2px var(--ink);flex:none;position:relative}
.m-av::after{content:"";position:absolute;inset:.55rem .7rem;border:2px solid var(--ink);border-radius:2px}
.m-ig,.m-fb{padding:0;gap:0}.m-ig>*,.m-fb>p{padding:.7rem var(--s2)}
.m-ig-img{aspect-ratio:1;background:var(--acc);color:var(--band-ink);display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;padding:var(--s3) var(--s2)!important;position:relative}
.m-ig-img p{font-size:1.9rem;font-weight:800;font-stretch:72%;line-height:1;letter-spacing:-.02em;max-width:9ch}
.m-ig-img small{color:var(--band-ink);font-size:.85rem;max-width:22ch}
.m-batt{position:absolute;top:var(--s2);right:var(--s2);width:3.2rem;height:5rem;border:3px solid var(--band-ink);border-radius:.6rem;display:flex;flex-direction:column-reverse;gap:.25rem;padding:.4rem}
.m-batt i{height:.8rem;background:var(--band-ink);border-radius:2px}
.m-cap{font-size:.8125rem}
.m-fb-img{background:var(--surface-2);position:relative;padding:var(--s2) var(--s2) 0}
.m-art{display:block;width:78%;height:auto}
.m-tag{position:absolute;right:var(--s2);top:var(--s2);background:var(--surface);border-radius:var(--r1);padding:.4rem .7rem;box-shadow:var(--sh);transform:rotate(3deg);line-height:1.15;text-align:center}
.m-tag b{font-size:1.1rem;font-stretch:75%}
.m-fb-bar{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:var(--surface-2);border-top:1px solid var(--line)}
.m-fb-bar i,.m-btn{font-style:normal;font-weight:700;background:var(--btn);color:var(--btn-ink);border-radius:var(--r1);padding:.45rem .8rem;white-space:nowrap;font-size:.8125rem;display:inline-block}
.m-brief{background:oklch(99.5% .003 95);color:oklch(22% 0 none);font-size:.8125rem;transform:rotate(-1deg);border-radius:3px}
.m-brief small{color:oklch(45% 0 none)}
.m-lh{display:flex;flex-direction:column;border-bottom:2px solid oklch(86% .165 92);padding-bottom:.5rem}
.m-qr{display:flex;gap:.7rem;align-items:center}
.m-qr i{flex:none;width:3.2rem;height:3.2rem;background:conic-gradient(oklch(22% 0 none) 25%,transparent 0 50%,oklch(22% 0 none) 0 75%,transparent 0) 0 0/.8rem .8rem;outline:3px solid oklch(22% 0 none);outline-offset:-3px}
.m-blatt{background:oklch(94% .008 95);color:oklch(22% 0 none);font-family:Georgia,serif;border-radius:3px}
.m-np{font-size:.7rem;letter-spacing:.08em;border-bottom:3px double oklch(22% 0 none);padding-bottom:.3rem}
.m-ad{border:2px solid oklch(22% 0 none);padding:.8rem;background:oklch(99% .003 95);display:flex;flex-direction:column;gap:.4rem;font-family:var(--f)}
.m-adh{font-weight:800;font-stretch:72%;font-size:1.35rem;line-height:1.05}
.m-np-txt{flex:1;min-height:4rem;background:repeating-linear-gradient(oklch(22% 0 none / .18) 0 2px,transparent 2px 9px)}
.m-mh{border-bottom:1px solid var(--line);padding-bottom:.6rem;line-height:1.5}
.m-mh small{display:inline-block;width:3.6rem}
.m-google{justify-content:flex-start}
.m-search{border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem;margin-bottom:.6rem!important;box-shadow:0 1px 3px oklch(0% 0 none / .08)}
.m-search::before{content:"";display:inline-block;width:.7rem;height:.7rem;border:2px solid var(--mute);border-radius:50%;margin-right:.55rem;vertical-align:-.05em}
.m-links{display:flex;gap:.9rem;font-size:.8125rem;color:oklch(45% .16 262)}
@media (prefers-color-scheme:dark){.m-links{color:oklch(78% .1 262)}}
.m-res{display:grid;gap:.45rem;margin-top:auto!important;padding-top:.8rem;border-top:1px solid var(--line)}
.m-res i{height:.55rem;border-radius:3px;background:var(--surface-2)}.m-res i:nth-child(1){width:55%;background:var(--line)}.m-res i:nth-child(3){width:80%}
.mock,.mock *{hyphens:manual}
.m-mh small{display:block;width:auto}
.m-ig-art{position:absolute;top:var(--s2);right:var(--s2);width:48%;height:auto}
.m-ig-art .i-fill{fill:var(--surface)}
.m-ig-img p{max-width:none;font-size:1.7rem;overflow-wrap:normal}
.p-hero>.p-kicker{justify-self:start}
/* 9 Mehrstufiger Check und Inhaltsbausteine (für Seiten mit eigenem Check-Skript, z. B. Wärmepumpe) */
.wrap{max-width:68rem;margin-inline:auto;padding-inline:var(--s2)}
main.wrap{padding-inline:var(--s2)}main.wrap>*{width:100%}
.narrow{max-width:46rem}
section.hero:not(.full){padding:var(--s4) 0 var(--s3)}
section.hero:not(.full) h1{font-size:clamp(2.25rem,1.3rem + 4vw,3.75rem);margin-bottom:var(--s2)}
.lead{font-size:var(--t-lg);line-height:1.45;color:var(--mute);max-width:46ch}
.btn.sec{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn:disabled{opacity:.5}
.card{background:var(--surface);border-radius:var(--r2);box-shadow:var(--sh);padding:var(--s3);margin:var(--s2) 0}
.grid{display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.grid>.card{margin:0}
.info{background:var(--surface-2);border-left:4px solid var(--acc);border-radius:var(--r1);padding:.8rem 1rem;margin:var(--s3) 0;font-size:var(--t-sm)}
.small{font-size:var(--t-sm);color:var(--mute)}
.opts{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin-top:var(--s1)}
.opts label{position:relative;display:flex;align-items:center;min-height:56px;border:1.5px solid var(--line);border-radius:var(--r1);padding:.75rem 2.75rem .75rem 1rem;cursor:pointer;background:var(--surface);font-weight:600;transition:border-color .15s ease-out}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}
.opts label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:var(--surface-2)}
.opts label:has(input:checked)::after{content:"✓";position:absolute;right:.8rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;border-radius:50%;background:var(--acc);color:var(--band-ink);font-size:.875rem;font-weight:800;display:grid;place-items:center}
@media (hover:hover) and (pointer:fine){.opts label:hover{border-color:var(--ink)}}
.step{display:none}.step.on{display:block}
.step h2{font-size:var(--t-h3);margin-top:0}
.bar{height:8px;background:var(--surface-2);border-radius:9px;overflow:hidden;margin:var(--s1) 0 var(--s3)}
.bar i{display:block;height:100%;background:var(--acc);transition:width .3s cubic-bezier(.23,1,.32,1)}
.f{margin:var(--s2) 0}.f label{display:block;font-weight:600;margin-bottom:.3rem}
.res{background:var(--surface-2);border-radius:var(--r2);padding:var(--s3);box-shadow:inset 0 0 0 3px var(--acc);margin:var(--s2) 0}
.res h2{margin:0 0 .4rem;font-size:var(--t-h3)}
.res .big{font-size:var(--t-h2);font-weight:800;font-stretch:72%;line-height:1.05;letter-spacing:-.02em}
.err{color:oklch(48% .19 25);font-weight:650}
@media (prefers-color-scheme:dark){.err{color:oklch(74% .16 25)}}
.hp{position:absolute;left:-9999px}
.ph{background:var(--surface-2);border:2px dashed var(--field);padding:var(--s2);border-radius:var(--r1)}
.trust{margin:var(--s4) 0}
.trust .card{display:flex;gap:.9rem;align-items:flex-start}
.ico{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--acc);color:var(--band-ink);display:grid;place-items:center;font-size:1.25rem}
.trust h3{margin:0 0 .25rem}.trust p{margin:0}
.about{display:grid;gap:var(--s3);align-items:center}
@media (min-width:640px){.about{grid-template-columns:12rem 1fr}}
.photo{aspect-ratio:4/3;border:2px dashed var(--field);border-radius:var(--r2);background:var(--surface-2);display:grid;place-items:center;text-align:center;font-size:var(--t-sm);color:var(--mute);padding:var(--s1)}
footer .wrap{padding:0}
section.hero:not(.full){display:grid;gap:var(--s2) var(--s4);align-items:center}
@media (min-width:960px){section.hero:not(.full):has(.hero-art){grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}section.hero:not(.full)>*{grid-column:1}section.hero:not(.full)>.hero-art{grid-column:2;grid-row:1/span 4}}
/* 10 Hero-Baustein .hx (Variante „Foto“ als Hybrid, 14.10.2026). Markup-Muster: README, Abschnitt „Hero-Baustein“.
   Mobil: Bildplatz randlos unter der Kopfzeile (3:2, höchstens 34svh), darunter Überschrift, Unterzeile, Knopf, Notiz.
   Ab 900 px: Text links, Bildplatz rechts (5:4).
   Bildplatz: ohne <img> zeigt er die Nischen-Zeichnung (.hx-art) auf ruhiger Token-Fläche. Kommt ein <img> dazu,
   verschwindet die Zeichnung über :has(), und die Zeile „Symbolbild (KI-erstellt)“ (.hx-cap) erscheint.
   Preisschild .hx-tag ist optional (nur Seiten mit Festpreis-Modell); Farben aus --acc/--band-ink der Seite. */
main>.hx{width:100%}
main.wrap>.hx{width:auto;margin-inline:calc(-1*var(--s2))}
.hx-in{max-width:var(--wide);margin:auto;display:grid;gap:var(--s3);padding:0 0 var(--s4)}
.hx-copy{min-width:0;padding-inline:var(--s2);max-width:42rem}
.hx h1{font-size:clamp(2.25rem,.9rem + 6.2vw,5.25rem);line-height:.93}
.hx-long h1{font-size:clamp(1.875rem,1.2rem + 3.2vw,3.75rem);line-height:1}
.hx-sub{font-size:var(--t-lg);line-height:1.3;max-width:34ch;margin:.75rem 0 var(--s2);hyphens:manual}
.hx-sub span{color:var(--mute)}
.hx-act{margin:0}
.hx h1+.hx-act{margin-top:var(--s3)}
.hx-btn{width:100%;justify-content:center;gap:.7rem;min-height:56px;font-size:1.0625rem}
.hx-btn::after{content:"";flex:none;width:.5rem;height:.5rem;border:solid currentColor;border-width:2.5px 2.5px 0 0;transform:rotate(45deg);transition:transform 160ms cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.hx-btn:hover::after{transform:translateX(3px) rotate(45deg)}}
.hx-note{margin:var(--s2) 0 0;color:var(--mute);font-size:var(--t-sm);line-height:1.5;max-width:44ch;hyphens:manual}
.hx-long .hx-note{font-size:var(--t-base);max-width:46ch}

/* Bildplatz: die Box trägt Format und Höhe, Foto und Zeichnung füllen sie */
.hx-media{order:-1;position:relative;margin:0;min-width:0;width:100%;aspect-ratio:3/2;max-height:34svh;background:color-mix(in oklch,var(--surface-2),var(--acc) 14%)}
.hx-media>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hx-art{position:absolute;inset:0;display:block;width:100%;height:100%;padding:7% 6% 4%}
.hx-cap{display:none;position:absolute;top:100%;right:0;margin:0;padding:.3rem var(--s2) 0;font-size:.75rem;line-height:1.3;color:var(--mute)}
.hx-media:has(>img){background:none}
.hx-media:has(>img)>.hx-art{display:none}
.hx-media:has(>img)>.hx-cap{display:block}

/* Preisschild: Akzentfläche, gerade bis -1°, Öse links, ein weicher Schatten */
.hx-tag{position:absolute;left:var(--s2);bottom:var(--s2);margin:0;display:block;width:max-content;max-width:calc(100% - 2*var(--s2));background:var(--acc);color:var(--band-ink);padding:.55rem .9rem .6rem 2rem;border-radius:var(--r1);transform:rotate(-1deg);transform-origin:0 100%;box-shadow:var(--sh);overflow-wrap:normal;hyphens:manual}
.hx-tag::before{content:"";position:absolute;left:.75rem;top:50%;width:.6rem;height:.6rem;margin-top:-.3rem;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--band-ink)}
.hx-tag-p{display:block;font-size:1.125rem;font-weight:750;font-stretch:80%;line-height:1.1;letter-spacing:-.01em;width:min-content}
.hx-tag-k{display:block;margin-top:.1rem;font-size:var(--t-sm);font-weight:600;line-height:1.25;white-space:nowrap}
/* Ohne Foto die Zeichnung rechts vom Schild mittig setzen, damit das Schild sie nicht verdeckt */
.hx-media:has(>.hx-tag):not(:has(>img))>.hx-art{padding-left:calc(var(--s2) + 9.5rem)}

@media (min-width:480px){.hx-btn{width:auto;padding-inline:1.75rem}}
@media (min-width:600px){.hx-tag-p{width:auto;font-size:1.25rem}.hx-media:has(>.hx-tag):not(:has(>img))>.hx-art{padding-left:calc(var(--s2) + 14rem)}}
@media (min-width:900px){
 main.wrap>.hx{margin-inline:0}
 .hx-in{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;column-gap:var(--s5);padding:var(--s4) var(--s2) var(--s5)}
 main.wrap>.hx .hx-in{padding-inline:0}
 .hx-copy{padding:0}
 .hx-media{order:0;aspect-ratio:5/4;max-height:min(36rem,calc(100svh - 10rem));border-radius:var(--r3)}
 .hx-media>img{border-radius:var(--r3)}
 .hx-cap{padding-inline:0}
 .hx-tag{left:calc(-1*var(--s4));bottom:var(--s4);padding:.7rem 1.2rem .75rem 2.3rem}
 .hx-tag::before{left:.9rem}
 .hx-tag-p{font-size:1.375rem;width:auto}
 .hx-sub{margin:var(--s2) 0 var(--s3)}
 .hx-media:has(>.hx-tag):not(:has(>img))>.hx-art{padding:7% 5% 4% 27%}
}
}
