/* Basisseiten Phase 3 (10.10.2026) – Montserrat, Farben aus theme.css, kein Kartenraster, keine Verläufe */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0a0d12;--bg-section:#0e1219;--bg-card:#131820;--accent:#b8d44a;--accent-hover:#a3bc3e;--text:#eef0f4;--text-sec:rgba(238,240,244,.78);--text-muted:#9aa7b5;--border:rgba(255,255,255,.08)}
html{scroll-padding-top:84px}
body{font-family:'Montserrat',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;padding-top:72px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:hover{color:#d3ea6e}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.bc{max-width:1100px;margin:0 auto;padding:14px 5% 0;font-size:.8rem;color:var(--text-muted)}
.bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.bc li+li::before{content:"›";margin-right:6px;color:var(--text-muted)}
.bc a{color:var(--text-muted);text-decoration:none}
.bc a:hover{color:var(--text)}
.page-hero{min-height:40vh;min-height:40svh;display:flex;flex-direction:column;justify-content:center;max-width:1100px;margin:0 auto;padding:40px 5% 32px}
.page-hero h1{font-size:clamp(1.9rem,4.6vw,3.1rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;max-width:22ch}
.page-hero .lead{margin-top:18px;font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--text-sec);max-width:60ch}
.h1-kicker{display:block;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}
.slogan{display:block;font-size:clamp(2.4rem,7vw,4.6rem);font-weight:700;line-height:1.08;letter-spacing:-.03em}
.slogan .w{display:inline-block;margin-right:.22em}
.slogan .w:nth-child(2){color:var(--accent)}
@keyframes slideInLeft{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}
.gw-anim{animation:slideInLeft .6s calc(var(--d,0s)) cubic-bezier(.22,1,.36,1) both}
@media (prefers-reduced-motion:reduce){.gw-anim{animation:none}}
.usp-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-section)}
.usp-bar p{max-width:1100px;margin:0 auto;padding:14px 5%;font-size:.92rem;font-weight:600;color:var(--text)}
.usp-bar p::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:middle}
.content{max-width:760px;margin:0 auto;padding:24px 5% 40px}
.content>section{padding:28px 0;border-bottom:1px solid var(--border)}
.content>section:last-of-type{border-bottom:0}
.content h2{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:700;line-height:1.25;margin-bottom:14px;letter-spacing:-.01em}
.content h3{font-size:1.08rem;font-weight:700;margin:22px 0 8px;color:var(--text)}
.content p{color:var(--text-sec);margin-bottom:14px}
.content p strong,.content li strong{color:var(--text)}
.content ul{margin:4px 0 16px 1.1em;color:var(--text-sec)}
.content li{margin-bottom:8px;padding-left:4px}
.content li::marker{color:var(--accent)}
.faq details{border-top:1px solid var(--border)}
.faq details:last-child{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;font-weight:600;color:var(--text);position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:22px;width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:26px}
.faq details p{padding:0 0 16px}
.cta{padding:36px 0 8px;text-align:left}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;background:var(--accent);color:#0a0d12;font:700 1rem/1.2 'Montserrat',sans-serif;border:0;border-radius:8px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn-primary:hover{background:var(--accent-hover);color:#0a0d12;transform:translateY(-1px)}
.ref-shot{margin:10px 0 14px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
/* Kontaktformular */
.contact-form{margin:18px 0 8px;display:grid;gap:16px}
.contact-form .fg{display:grid;gap:6px}
.contact-form label{font-size:.9rem;font-weight:600;color:var(--text)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:46px;padding:12px 14px;font:400 1rem/1.4 'Montserrat',sans-serif;color:var(--text);background:var(--bg-card);border:1px solid rgba(255,255,255,.14);border-radius:8px}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.contact-form .is-invalid{border-color:#f87171;outline-color:#f87171}
.contact-form .hp{position:absolute;left:-9999px;top:-9999px}
.form-msg{padding:12px 14px;border-radius:8px;font-weight:600}
.form-msg[hidden]{display:none}
.form-msg.ok{background:rgba(184,212,74,.12);color:var(--text);border:1px solid rgba(184,212,74,.4)}
.form-msg.err{background:rgba(248,113,113,.1);color:#fecaca;border:1px solid rgba(248,113,113,.4)}
.du-note{font-size:.95rem;color:var(--text)}
.portrait-sm{width:72px;height:72px;border-radius:50%;object-fit:cover;float:left;margin:0 14px 8px 0}
@media (max-width:600px){.page-hero{min-height:0;padding:28px 5% 24px}.content{padding-top:12px}}
/* v6 (10.10.2026): Porträt, Referenz-Shots, Zitat, Vergleichstabelle (Stil wie frühere Startseiten-Tabelle) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.portrait-lg{margin:8px auto 8px;max-width:420px}
.portrait-lg img,.ref-shot img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--border)}
.ref-shot{margin:6px 0 18px}
.quote{margin:8px 0 18px;padding:4px 0 4px 18px;border-left:3px solid var(--accent)}
.quote blockquote p{color:var(--text);font-size:1.1rem;font-weight:600;line-height:1.55;margin-bottom:8px}
.quote figcaption{color:var(--text-sec);font-size:.9rem}
.cmp-wrap{margin:8px -5% 18px;padding:0 5%}
.cmp-table{width:100%;border-collapse:collapse;background:var(--bg-card,#131821);border:1px solid var(--border);border-radius:16px;overflow:hidden;font-size:.9rem;line-height:1.5}
.cmp-table th,.cmp-table td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.cmp-table thead th{background:rgba(255,255,255,.04);color:var(--text);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
.cmp-table tbody th[scope=row]{color:var(--text);font-weight:600}
.cmp-table td{color:var(--text-sec)}
.cmp-table .col-me{background:#b8d44a24;color:var(--accent)}
.cmp-table .cell-me{background:#b8d44a0f;color:var(--text);font-weight:500}
.cmp-table tbody tr:last-child>*{border-bottom:0}
@media (max-width:719px){
 .cmp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .cmp-table,.cmp-table tbody,.cmp-table tr,.cmp-table th,.cmp-table td{display:block;width:100%}
 .cmp-table{background:none;border:0}
 .cmp-table tr{background:var(--bg-card,#131821);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden}
 .cmp-table tbody th[scope=row]{font-size:1rem;padding:12px 14px;border-bottom:1px solid var(--border)}
 .cmp-table td{border-bottom:1px solid var(--border);padding:10px 14px}
 .cmp-table td::before{content:attr(data-label);display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.7;margin-bottom:2px}
 .cmp-table td.cell-me::before{color:var(--accent);opacity:1}
 .cmp-table tr>*:last-child{border-bottom:0}
}
@media (min-width:1100px){.cmp-wrap{margin:8px -130px 18px;padding:0}}
/* Phase 4 (10.10.2026): Linkliste Regionale Seiten */
.region-links{margin:8px 0 0;padding:22px 0 6px;border-top:1px solid var(--border)}
.region-links-title{font-weight:700;color:var(--text);margin-bottom:10px}
.region-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.region-links li{margin:0;padding:0}
.region-links li::marker{content:none}
