:root{--paper:#F5F0E7;--paper-2:#ECE4D6;--cream:#FBF8F2;--ink:#211E19;--ink-2:#3C382F;--muted:#5C554A;--line:#DAD1C0;--gold:#9A7736;--gold-2:#6B5124;--green:#284A3B;--green-2:#1D3A2E;--serif:Georgia,"Iowan Old Style","Palatino Linotype","Book Antiqua",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--s1:8px;--s2:16px;--s3:34px;--s4:64px;--hdr:88px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 26px}
.serif{font-family:var(--serif)}
/* Kopfzeile: vollstaendig hier, damit die Mobil-Regeln unten nicht von den
   spaeter geladenen Seiten-Stylesheets ueberschrieben werden koennen. */
header.top{position:sticky;top:0;z-index:30;background:rgba(245,240,231,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;letter-spacing:.01em;color:var(--ink)}
.brand .mark{width:34px;height:34px;flex:0 0 34px}
.brand b{font-weight:600}
.brand .bw{display:flex;flex-direction:column;line-height:1.05}
.brand .claim{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-2);margin-top:3px}
@media(max-width:520px){.brand .claim{display:none}}
header nav{display:flex;gap:22px}
header nav a{font-size:14.5px;color:var(--ink-2);transition:color .15s}
header nav a:hover{color:var(--gold-2)}
.cta-phone{background:var(--green);color:#F3EFE4;padding:9px 17px;border-radius:999px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background .15s}
.cta-phone:hover{background:var(--green-2)}
.cta-phone .dot{width:7px;height:7px;border-radius:50%;background:#8FCB9B}
@media(max-width:860px){header.top .inner{flex-wrap:wrap;height:auto;min-height:0;padding-block:10px;row-gap:8px}header nav{order:3;width:100%;flex-wrap:wrap;gap:6px 16px}header nav a{font-size:14px;padding:4px 0}}
@media(max-width:420px){.brand{font-size:17px}.brand .mark{width:28px;height:28px;flex:0 0 28px}.cta-phone{padding:8px 12px;font-size:12.5px}.wrap{padding:0 16px}}
/* Sprungmarken folgen der echten Kopfzeilenhoehe, statt 88px hart zu setzen */
@media(max-width:860px){:root{--hdr:132px}}
@media(max-width:420px){:root{--hdr:150px}}
[id]{scroll-margin-top:calc(var(--hdr) + 12px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}.btn:hover{transform:none}}
@media(hover:none){.btn:hover,.cta-phone:hover,.other a:hover{transform:none}}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--green);color:#F3EFE4;padding:11px 18px;font-size:14.5px;font-weight:600;border-radius:0 0 10px 0}
.skip:focus{left:0}
/* Fokus: dunkler Ring plus heller Halo, damit er auf Papier UND auf den
   dunkelgruenen Flaechen (Footer, Kontakt, Kostenkarte) sichtbar bleibt. */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #211E19;outline-offset:2px;box-shadow:0 0 0 6px #F0E4C4;border-radius:3px}
footer a:focus-visible,.contact a:focus-visible,.costcard a:focus-visible,.honest a:focus-visible,.partner a:focus-visible{outline-color:#F3EFE4}
/* Linksystem, eine Quelle fuer alle Seiten.
   Rolle 1 Lesefluss: gruen unterstrichen. Rolle 2 Verzeichnis: gruen mit feiner Goldkante. */
.prose a,.prose li a,.steps a,.check li a,.disc a,.sub a,.val a,.card a,details p a,.hero .lead a{color:var(--green);text-decoration:underline;text-decoration-color:rgba(154,119,54,.65);text-decoration-thickness:1px;text-underline-offset:2px}
.prose a:hover,.steps a:hover,.check li a:hover,.disc a:hover,.sub a:hover,.val a:hover,.card a:hover,details p a:hover{color:var(--gold-2);text-decoration-color:var(--gold-2);text-decoration-thickness:2px}
.toc a,.geo a,.crumb a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(154,119,54,.55)}
.toc a:hover,.geo a:hover,.crumb a:hover{color:var(--gold-2);border-bottom-color:var(--gold-2)}
.prose a:visited,.toc a:visited,.geo a:visited,.val a:visited{color:var(--muted);text-decoration-color:rgba(92,85,74,.5);border-bottom-color:rgba(92,85,74,.5)}
.src a{color:var(--muted);text-decoration:underline}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--green);color:#F3EFE4}
.btn-primary:hover{background:var(--green-2)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2)}
.prose p strong{color:var(--ink)}
h1,h2,h3,h2.h{hyphens:auto;overflow-wrap:break-word;text-wrap:balance}
details summary::-webkit-details-marker{display:none}
details[open] summary::after{content:"–"}
footer .cols-f{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:26px}
@media(max-width:980px){footer .cols-f{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){footer .cols-f{grid-template-columns:1fr 1fr}}
footer ul a{color:#CFC8B8}
footer ul a:hover{color:#fff}
footer .rule a{color:#B7C7BB}
