

@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations")}
@font-face{font-family:"Fraunces";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-wght-normal.woff2) format("woff2-variations")}
@font-face{font-family:"Fraunces";font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-wght-italic.woff2) format("woff2-variations")}

/* ════════════════════════════════════════════════════════════════
   WARMHOME · Ads-Landingpage Dortmund
   Tokens 1:1 aus dem Warmhome-Theme (Fassung 2026-09-02)
   Aufbau nach Conversion-Bauplan: Hero + Formular → Vertrauen → Nutzen →
   Referenzen → Ablauf → Einsatzgebiet → FAQ → Schluss-CTA
   ════════════════════════════════════════════════════════════════ */
:root{
  --background:38 52% 96%;
  --foreground:28 28% 13%;
  --card:40 50% 99%;
  --secondary:36 30% 89%;
  --muted:38 34% 92%;
  --muted-foreground:28 14% 38%;
  --accent:41 54% 48%;
  --accent-hover:41 54% 40%;
  --accent-foreground:28 28% 13%;
  --border:34 24% 85%;
  --ring:41 54% 48%;
  --brown-900:27 28% 19%;
  --brown-800:28 29% 24%;
  --brown-700:28 29% 28%;
  --gold-300:47 61% 71%;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --pill:999px;
  --font-body:"Inter",system-ui,-apple-system,sans-serif;
  --font-serif-accent:"Fraunces",Georgia,"Times New Roman",serif;
  --shadow-card:0 1px 2px hsl(28 28% 13% / .04),0 18px 40px -22px hsl(28 28% 13% / .22);
  --shadow-form:0 30px 70px -30px hsl(27 40% 5% / .7),0 2px 6px hsl(27 40% 5% / .18);
  --shadow-accent:0 8px 30px -8px hsl(41 54% 48% / .38);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid hsl(var(--border))}
*{-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-body);font-size:17px;line-height:1.65;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
::selection{background:hsl(var(--accent)/.25)}
[id]{scroll-margin-top:84px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3{letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.6vw,4rem);font-weight:600;letter-spacing:-.03em;line-height:1.03}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem);font-weight:450;letter-spacing:-.025em}
h3{font-size:1.2rem;font-weight:600;letter-spacing:-.015em;line-height:1.25}
p{text-wrap:pretty}
.lead{font-size:1.075rem;color:hsl(var(--muted-foreground));line-height:1.7}
.accent-italic{font-family:var(--font-serif-accent);font-style:italic;font-weight:400;color:hsl(var(--accent));padding-inline-end:.1em}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.02em;color:hsl(var(--accent));display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:hsl(var(--accent));flex:none}
@media(max-width:767px){h1,h2,.lead{-webkit-hyphens:auto;hyphens:auto}}

.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
section{padding-block:clamp(64px,9vw,112px)}
.sec-head{max-width:720px;display:grid;gap:16px;margin-bottom:clamp(36px,5vw,56px)}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:0 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.btn .ico{width:18px;height:18px;flex:none}
.btn-accent{background:hsl(var(--accent));color:hsl(var(--accent-foreground));box-shadow:var(--shadow-accent)}
.btn-accent:hover{background:hsl(var(--accent-hover));color:hsl(40 50% 99%)}
.btn-light{border:1px solid hsl(40 50% 99% / .55);color:hsl(40 50% 99%)}
.btn-light:hover{background:hsl(40 50% 99% / .1)}
.btn-dark{background:hsl(var(--brown-900));color:hsl(40 50% 99%)}
.btn-dark:hover{background:hsl(var(--brown-700))}
.btn-block{width:100%}

/* ─── Kopfzeile: nur Logo + Telefon, keine Menü-Links (ein Ziel, keine Ablenkung) ─── */
.top{position:sticky;top:0;z-index:50;background:hsl(var(--brown-900));color:hsl(40 50% 99%);border-bottom:1px solid hsl(40 50% 99% / .08)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:40px;height:auto}
.brand b{display:block;font-family:var(--font-serif-accent);font-size:1.35rem;font-weight:500;letter-spacing:.06em;line-height:1;text-transform:uppercase}
.brand b em{font-style:normal;color:hsl(var(--gold-300))}
.brand small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:hsl(38 30% 80%);margin-top:4px}
.top-right{display:flex;align-items:center;gap:18px}
.top-tel{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.top-tel b{font-size:1.05rem;letter-spacing:.01em}
.top-tel span{font-size:.72rem;color:hsl(38 30% 78%)}
.top .btn{min-height:44px;padding:0 1.1rem}
@media(max-width:720px){.top-tel{display:none}.brand small{display:none}.top .btn span.lg{display:none}}

/* ─── Hero mit Formular rechts ─── */
.hero{position:relative;color:hsl(40 50% 99%);background:hsl(var(--brown-900));overflow:hidden;padding-block:clamp(40px,6vw,84px) clamp(48px,6vw,96px)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero-veil{position:absolute;inset:0;background:
  linear-gradient(90deg,hsl(27 35% 7% / .94) 0%,hsl(27 35% 8% / .86) 42%,hsl(27 35% 8% / .55) 70%,hsl(27 35% 8% / .45) 100%),
  linear-gradient(0deg,hsl(27 35% 7% / .6),transparent 40%)}
.hero-grid{position:relative;display:grid;column-gap:clamp(32px,4vw,56px);row-gap:26px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"copy form" "more form"}
.hero-copy{grid-area:copy;align-self:end;display:grid;gap:22px;max-width:640px}
.hero-more{grid-area:more;align-self:start;display:grid;gap:22px;max-width:640px}
.lead-card{grid-area:form;align-self:center}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;width:fit-content;border:1px solid hsl(var(--gold-300)/.3);background:hsl(27 30% 10% / .45);backdrop-filter:blur(6px);padding:.45rem .95rem;border-radius:var(--pill);font-size:.84rem;font-weight:500;color:hsl(38 30% 92%)}
.hero-kicker i{width:7px;height:7px;border-radius:50%;background:hsl(var(--gold-300));box-shadow:0 0 0 4px hsl(var(--gold-300)/.18)}
.hero h1 .accent-italic{color:hsl(var(--gold-300))}
.hero .lead{color:hsl(38 30% 88%);max-width:560px}
.usp{display:grid;gap:12px}
.usp li{display:flex;gap:12px;align-items:flex-start;font-weight:500;color:hsl(38 30% 94%)}
.usp li i{flex:none;width:24px;height:24px;border-radius:50%;background:hsl(var(--accent));display:grid;place-items:center;margin-top:1px}
.usp li i::after{content:"";width:12px;height:12px;background:hsl(var(--brown-900));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat}
.usp li b{color:hsl(var(--gold-300));font-weight:600}
.hero-call{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:4px}
.hero-call small{color:hsl(38 30% 78%);font-size:.85rem}

/* ─── Formular-Karte (4 Schritte, Kacheln = ein Klick pro Schritt) ─── */
.lead-card{overflow:hidden;background:hsl(var(--card));color:hsl(var(--foreground));border-radius:var(--radius-lg);box-shadow:var(--shadow-form);padding:clamp(20px,2.4vw,30px);position:relative}
.lead-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,hsl(var(--accent)),hsl(var(--gold-300)))}
.lc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.lc-title{font-size:1.2rem;font-weight:650;letter-spacing:-.015em;line-height:1.25}
.lc-free{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--accent-hover));background:hsl(var(--accent)/.12);padding:.25rem .55rem;border-radius:var(--pill);white-space:nowrap}
.lc-progress{display:flex;align-items:center;gap:10px;margin:14px 0 18px;font-size:.8rem;color:hsl(var(--muted-foreground))}
.lc-bar{flex:1;height:6px;border-radius:var(--pill);background:hsl(var(--muted));overflow:hidden}
.lc-bar span{display:block;height:100%;width:25%;background:hsl(var(--accent));border-radius:inherit;transition:width .35s ease}
.step{display:none;animation:stepIn .3s ease}
.step.on{display:block}
@keyframes stepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.step-q{font-size:1.05rem;font-weight:600;margin-bottom:12px;line-height:1.35}
.opts{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.opt{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:74px;padding:12px 14px 12px 14px;border:1.5px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .15s}
.opt:hover{border-color:hsl(var(--accent));background:hsl(var(--accent)/.06)}
.opt:active{transform:scale(.98)}
.opt.sel{border-color:hsl(var(--accent));background:hsl(var(--accent)/.12)}
.opt b{font-size:.95rem;font-weight:600;line-height:1.25}
.opt small{font-size:.78rem;color:hsl(var(--muted-foreground));line-height:1.3}
.opt .emo{width:26px;height:26px;color:hsl(var(--accent-hover));margin-bottom:2px}
.opts-6 .opt{min-height:64px}
.opt-plus b span{color:hsl(var(--accent-hover));font-weight:700;margin-left:1px}
.fields{display:grid;gap:12px}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:5px}
.field input{width:100%;height:50px;border:1.5px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));padding:0 14px;font-size:1rem;transition:border-color .15s}
.field input:focus{outline:none;border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent)/.18)}
.field input.bad{border-color:hsl(4 65% 50%)}
.field-row{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}
.lc-legal{font-size:.74rem;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:10px}
.lc-legal a{text-decoration:underline}
.lc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px;min-height:24px}
.lc-back{background:none;border:0;cursor:pointer;font-size:.85rem;font-weight:600;color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;gap:4px}
.lc-back:hover{color:hsl(var(--foreground))}
.lc-back[hidden]{display:none}
.lc-trust{font-size:.78rem;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:6px}
.lc-trust svg{width:14px;height:14px;color:hsl(var(--accent-hover))}
.lc-done{text-align:center;padding:18px 4px 6px}
.lc-done .ok{width:64px;height:64px;border-radius:50%;background:hsl(var(--accent)/.14);display:grid;place-items:center;margin:0 auto 16px}
.lc-done .ok svg{width:30px;height:30px;color:hsl(var(--accent-hover))}
.lc-done h3{margin-bottom:8px}
.lc-done p{color:hsl(var(--muted-foreground));font-size:.95rem}
.lc-done .btn{margin-top:18px}
.lc-note{margin-top:12px;font-size:.75rem;color:hsl(var(--muted-foreground))}
.lc-err{display:none;margin-top:10px;font-size:.85rem;color:hsl(4 60% 42%);font-weight:500}
.lc-err.on{display:block}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"copy" "form" "more"}
  .hero-copy,.hero-more{max-width:none}
  .hero-copy .lead{display:none}
  .hero-veil{background:linear-gradient(180deg,hsl(27 35% 7% / .9),hsl(27 35% 8% / .82) 60%,hsl(27 35% 7% / .95))}
}
@media(max-width:560px){.kick-lg{display:none}.opt{min-height:0;padding:12px}.opt .emo{width:22px;height:22px}.opt small{font-size:.74rem}.lc-title{font-size:1.1rem}.lc-free{display:none}}
@media(max-width:340px){.opts{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}}

/* ─── Vertrauens-Leiste ─── */
.trust{background:hsl(var(--brown-800));color:hsl(40 50% 99%);padding-block:0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-cell{padding:26px 20px;display:grid;gap:4px;text-align:center;border-left:1px solid hsl(40 50% 99% / .08)}
.trust-cell:first-child{border-left:0}
.trust-cell b{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;letter-spacing:-.02em;color:hsl(var(--gold-300));line-height:1.1}
.trust-cell b small{font-size:.55em;font-weight:500}
.trust-cell span{font-size:.85rem;color:hsl(38 30% 82%)}
@media(max-width:760px){.trust-grid{grid-template-columns:1fr 1fr}.trust-cell:nth-child(3){border-left:0}.trust-cell:nth-child(n+3){border-top:1px solid hsl(40 50% 99% / .08)}}

/* ─── Nutzen ─── */
.benefits{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}
.bcard{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow-card);display:grid;gap:10px;align-content:start}
.bcard .ic{width:46px;height:46px;border-radius:12px;background:hsl(var(--accent)/.13);display:grid;place-items:center}
.bcard .ic svg{width:24px;height:24px;color:hsl(var(--accent-hover))}
.bcard p{font-size:.95rem;color:hsl(var(--muted-foreground));line-height:1.6}
@media(max-width:1000px){.benefits{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.benefits{grid-template-columns:1fr}}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:clamp(32px,4vw,44px)}
.cta-row small{color:hsl(var(--muted-foreground));font-size:.9rem}
.cta-row .btn-outline{border:1.5px solid hsl(var(--foreground)/.2);color:hsl(var(--foreground))}
.cta-row .btn-outline:hover{border-color:hsl(var(--foreground)/.5)}

/* ─── Kosten ─── */
.price{background:hsl(var(--secondary)/.55)}
.price-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.price-box{background:hsl(var(--brown-900));color:hsl(40 50% 99%);border-radius:var(--radius-lg);padding:clamp(26px,3.5vw,40px);box-shadow:var(--shadow-card);position:relative;overflow:hidden}
.price-box::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(hsl(var(--gold-300)/.22),transparent 70%)}
.price-label{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--gold-300))}
.price-big{font-size:clamp(2.6rem,5.5vw,4rem);font-weight:600;letter-spacing:-.035em;line-height:1;margin:10px 0 6px}
.price-big small{font-size:.38em;font-weight:500;letter-spacing:0;color:hsl(38 30% 84%)}
.price-sub{color:hsl(38 30% 84%);font-size:.95rem}
.price-list{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid hsl(40 50% 99% / .12)}
.price-list li{display:flex;justify-content:space-between;gap:12px;font-size:.95rem}
.price-list li span{color:hsl(38 30% 82%)}
.price-list li b{font-weight:600;white-space:nowrap}
.price-foot{font-size:.78rem;color:hsl(38 30% 72%);margin-top:16px;line-height:1.5}
.price-copy{display:grid;gap:18px}
.checks{display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;background:hsl(var(--accent-hover));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat}
@media(max-width:860px){.price-grid{grid-template-columns:1fr}}
@media(max-width:560px){.price-list li{font-size:.86rem}.price-list li span{min-width:0}}

/* ─── Ablauf ─── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.st{position:relative;display:grid;gap:10px;align-content:start;padding-top:62px}
.st::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;border:1.5px solid hsl(var(--accent));display:grid;place-items:center;font-weight:600;color:hsl(var(--accent-hover));background:hsl(var(--background));z-index:1}
.st::after{content:"";position:absolute;top:22px;left:52px;right:-14px;height:1px;background:hsl(var(--accent)/.4)}
.st:last-child::after{display:none}
.st p{font-size:.95rem;color:hsl(var(--muted-foreground));line-height:1.6}
.st .tag{display:inline-block;width:fit-content;font-size:.75rem;font-weight:600;color:hsl(var(--accent-hover));background:hsl(var(--accent)/.12);padding:.2rem .6rem;border-radius:var(--pill)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:36px}.st:nth-child(2)::after{display:none}}
@media(max-width:520px){.steps{grid-template-columns:1fr;row-gap:0}.st{padding:0 0 28px 62px}.st::after{top:52px;bottom:4px;left:22px;right:auto;width:1px;height:auto}.st:nth-child(2)::after{display:block}}

/* ─── Referenzen + Stimmen ─── */
.proof{background:hsl(var(--brown-900));color:hsl(40 50% 99%)}
.proof .lead{color:hsl(38 30% 82%)}
.proof h2 .accent-italic{color:hsl(var(--gold-300))}
.gallery{display:grid;gap:14px;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:230px 230px}
.gallery figure{position:relative;border-radius:var(--radius);overflow:hidden;background:hsl(var(--brown-800))}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:12px;bottom:12px;font-size:.78rem;font-weight:600;background:hsl(27 30% 8% / .7);backdrop-filter:blur(6px);padding:.35rem .7rem;border-radius:var(--pill)}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px 150px}.gallery figure:first-child{grid-column:span 2;grid-row:auto}}
.reviews{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:clamp(36px,5vw,56px)}
.review{background:hsl(40 50% 99% / .05);border:1px solid hsl(40 50% 99% / .1);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}
.review .stars{color:hsl(var(--gold-300));letter-spacing:.14em;font-size:.95rem}
.review p{color:hsl(38 30% 88%);font-size:.97rem;line-height:1.65;flex:1}
.review cite{font-style:normal;display:flex;align-items:center;gap:12px}
.review cite i{width:40px;height:40px;border-radius:50%;background:hsl(var(--accent)/.2);display:grid;place-items:center;font-style:normal;font-weight:600;color:hsl(var(--gold-300))}
.review cite b{display:block;font-weight:600;line-height:1.2}
.review cite small{color:hsl(38 30% 72%);font-size:.82rem}
@media(max-width:900px){.reviews{grid-template-columns:1fr}}

/* ─── Einsatzgebiet ─── */
.area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:.55rem 1rem;border-radius:var(--pill);background:hsl(var(--card));border:1px solid hsl(var(--border));font-weight:500;font-size:.95rem}
.chips li.main{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:600}
.area-note{margin-top:22px;font-size:.95rem;color:hsl(var(--muted-foreground))}
.area-map{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}
.area-map svg{width:100%;height:auto}
@media(max-width:860px){.area-grid{grid-template-columns:1fr}}

/* ─── FAQ ─── */
.faq{max-width:860px;margin-inline:auto;display:grid;gap:12px}
.faq details{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow-card)}
.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font-weight:600;position:relative;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:hsl(var(--accent)/.12);color:hsl(var(--accent-hover));display:grid;place-items:center;font-size:1.2rem;font-weight:500;transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details > div{padding:0 22px 20px;color:hsl(var(--muted-foreground));font-size:.97rem;line-height:1.7}
.faq details > div{overflow:hidden}
.faq summary{transition:color .2s}
.faq details[open] summary{color:hsl(var(--accent-hover))}

/* ─── Schluss-CTA ─── */
.final{background:hsl(var(--brown-900));color:hsl(40 50% 99%);text-align:center}
.final .inner{max-width:720px;margin-inline:auto;display:grid;gap:18px;justify-items:center}
.final h2 .accent-italic{color:hsl(var(--gold-300))}
.final .lead{color:hsl(38 30% 84%)}
.final .row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.final small{color:hsl(38 30% 72%);font-size:.85rem}

/* ─── Fußzeile (Pflichtlinks) ─── */
footer{background:hsl(27 30% 12%);color:hsl(38 30% 76%);font-size:.85rem;padding-block:28px 96px}
.f-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:861px){footer{padding-bottom:28px}}

/* ─── Mobile Sticky-Leiste ─── */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:hsl(var(--brown-900)/.97);backdrop-filter:blur(8px);border-top:1px solid hsl(40 50% 99% / .1);transform:translateY(110%);transition:transform .3s ease}
.sticky.show{transform:none}
.sticky .btn{flex:1;min-height:50px;padding:0 .8rem;font-size:.95rem}
@media(max-width:860px){.sticky{display:flex}}

/* ─── Ergänzungen Ortsseite ─── */
.top-nav{display:flex;gap:26px;font-size:.92rem;font-weight:500;color:hsl(38 30% 86%)}
.top-nav a:hover{color:hsl(var(--gold-300))}
@media(max-width:1080px){.top-nav{display:none}}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:hsl(38 30% 78%)}
.crumbs a{text-decoration:underline;text-underline-offset:3px}
.crumbs span[aria-current]{color:hsl(var(--gold-300))}
.prose-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.prose{display:grid;gap:18px;max-width:720px}
.prose p{color:hsl(var(--muted-foreground));font-size:1.02rem;line-height:1.75}
.prose p strong{color:hsl(var(--foreground));font-weight:600}
.prose h3{margin-top:10px}
.facts-box{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);box-shadow:var(--shadow-card);display:grid;gap:14px;position:sticky;top:100px}
.facts-box h3{font-size:1.05rem}
.facts-box dl{display:grid;gap:12px}
.facts-box dl div{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding-bottom:12px;border-bottom:1px solid hsl(var(--border))}
.facts-box dl div:last-child{border-bottom:0;padding-bottom:0}
.facts-box dt{font-weight:600;font-size:.92rem}
.facts-box dd{color:hsl(var(--muted-foreground));font-size:.92rem;text-align:right}
.facts-box .btn{margin-top:4px}
@media(max-width:900px){.prose-grid{grid-template-columns:1fr}.facts-box{position:static}}
.houses{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}
.house{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-card);display:grid;gap:10px;align-content:start}
.house .era{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--accent-hover))}
.house p{color:hsl(var(--muted-foreground));font-size:.97rem;line-height:1.65}
.house .fit{font-size:.85rem;font-weight:600;color:hsl(var(--foreground));display:flex;gap:8px;align-items:flex-start}
.house .fit::before{content:"→";color:hsl(var(--accent-hover))}
@media(max-width:760px){.houses{grid-template-columns:1fr}}
.area2{background:hsl(var(--secondary)/.55)}
.chip-h{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:22px 0 10px}
.chips a{display:block}
.chips li a:hover{border-color:hsl(var(--accent))}
.chips li.link{padding:0;border:0;background:none}
.chips li.link a{padding:.55rem 1rem;border-radius:var(--pill);background:hsl(var(--card));border:1px solid hsl(var(--accent)/.5);font-weight:600;font-size:.95rem;color:hsl(var(--accent-hover))}
.svc{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.svc a{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:22px;display:grid;gap:8px;align-content:start;transition:border-color .2s,transform .2s}
.svc a:hover{border-color:hsl(var(--accent));transform:translateY(-2px)}
.svc b{font-size:1.02rem}
.svc span{font-size:.92rem;color:hsl(var(--muted-foreground));line-height:1.55}
.svc em{font-style:normal;font-size:.85rem;font-weight:600;color:hsl(var(--accent-hover))}
@media(max-width:1000px){.svc{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.svc{grid-template-columns:1fr}}
.gallery.g4{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:220px 220px}
.updated{font-size:.8rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:28px}

/* ─── Rhythmus Desktop ─── */
.proof-light{padding-block:clamp(56px,7vw,88px)}
.proof-light .gallery figcaption{color:hsl(40 50% 99%)}
.split-sec{background:hsl(var(--secondary)/.55)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.split-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:4/3.2}
.split-img img{width:100%;height:100%;object-fit:cover}
.split-img figcaption{position:absolute;left:18px;bottom:18px;background:hsl(var(--brown-900)/.88);backdrop-filter:blur(6px);color:hsl(40 50% 99%);border-radius:14px;padding:12px 16px;display:grid;line-height:1.2}
.split-img figcaption b{font-size:1.6rem;font-weight:600;color:hsl(var(--gold-300));letter-spacing:-.02em}
.split-img figcaption span{font-size:.8rem;color:hsl(38 30% 84%)}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.adv{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.adv article{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-card);display:grid;gap:10px;align-content:start}
.adv .big{font-size:2.1rem;font-weight:600;letter-spacing:-.03em;color:hsl(var(--accent-hover));line-height:1}
.adv p{color:hsl(var(--muted-foreground));font-size:.97rem;line-height:1.65}
@media(max-width:900px){.adv{grid-template-columns:1fr}}
.adv-note{margin-top:22px;color:hsl(var(--muted-foreground));max-width:760px}
.adv-note strong{color:hsl(var(--foreground))}
.houses-sec{background:hsl(var(--brown-900));color:hsl(40 50% 99%)}
.houses-sec .lead{color:hsl(38 30% 82%)}
.houses-sec h2 .accent-italic{color:hsl(var(--gold-300))}
.houses-sec .house{background:hsl(40 50% 99% / .05);border-color:hsl(40 50% 99% / .1);box-shadow:none}
.houses-sec .house .era{color:hsl(var(--gold-300))}
.houses-sec .house p{color:hsl(38 30% 86%)}
.houses-sec .house .fit{color:hsl(40 50% 99%)}
.houses-sec .house .fit::before{color:hsl(var(--gold-300))}
.hubs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center;margin-bottom:clamp(28px,4vw,44px)}
.hubs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.hubs-h{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:26px 0 12px}
.hub{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:20px 20px 18px;box-shadow:var(--shadow-card);display:grid;gap:8px;align-content:start;transition:transform .2s,border-color .2s}
.hub:hover{transform:translateY(-2px);border-color:hsl(var(--accent))}
.hub h3{font-size:1.25rem}.hub p{color:hsl(var(--muted-foreground));font-size:.94rem;line-height:1.6}
.hub-n{font-size:.82rem;color:hsl(var(--muted-foreground))}.hub em{font-style:normal;font-weight:600;color:hsl(var(--accent-hover));font-size:.92rem}
.ov-map{padding:10px}.ov-prose{max-width:820px}
@media(max-width:1180px){.hubs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hubs-grid{grid-template-columns:1fr}.hubs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hubs{grid-template-columns:1fr}}
