/* ============================================================
   STABOS — Theme-Styles (aus dem Stabos Design System)
   ============================================================ */
:root{
--green-50:#E9F7F2;--green-100:#C7EBDF;--green-200:#95DAC3;--green-300:#5DC5A4;--green-400:#2FB28C;--green-500:#10A080;--green-600:#0C8569;--green-700:#0A6B55;--green-800:#095544;--green-900:#073F33;
--gray-50:#F7F8F8;--gray-100:#EEF0EF;--gray-200:#DDE0DF;--gray-300:#C4C8C7;--gray-400:#9CA1A0;--gray-500:#767B7A;--gray-600:#606060;--gray-700:#4A4C4C;--gray-800:#323434;--gray-900:#1C1E1E;
--white:#FFFFFF;--black:#0E0F0F;
--success:var(--green-500);--success-bg:var(--green-50);--warning:#E0A100;--warning-bg:#FBF3DC;--danger:#D14343;--danger-bg:#FBE9E9;--info:#2B7FD1;--info-bg:#E7F1FB;
--brand:var(--green-500);--brand-hover:var(--green-600);--brand-active:var(--green-700);--brand-soft:var(--green-50);--brand-ink:var(--green-800);
--text-strong:var(--gray-900);--text-body:var(--gray-700);--text-muted:var(--gray-500);--text-faint:var(--gray-400);
--surface-page:var(--white);--surface-subtle:var(--gray-50);--surface-card:var(--white);--surface-sunken:var(--gray-100);
--border-subtle:var(--gray-200);--border-default:var(--gray-300);
--ring-brand:rgba(16,160,128,.35);
--font-display:"Sora",system-ui,sans-serif;--font-body:"Manrope",system-ui,sans-serif;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:3.75rem;
--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;
--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;
--shadow-xs:0 1px 2px rgba(28,30,30,.06);--shadow-sm:0 1px 3px rgba(28,30,30,.08),0 1px 2px rgba(28,30,30,.04);--shadow-lg:0 12px 28px rgba(28,30,30,.10),0 4px 10px rgba(28,30,30,.05);--shadow-brand:0 10px 28px rgba(16,160,128,.28);
--container-max:1200px;--container-wide:1320px;--gutter:clamp(1.25rem,4vw,3rem);
--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:140ms;--dur-base:220ms;--dur-slow:420ms;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:0;text-wrap:balance}
h1{font-size:var(--text-2xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}
p{margin:0;text-wrap:pretty}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-hover)}
button{font:inherit}
[hidden]{display:none!important}
svg.lucide{width:18px;height:18px;flex:none}
.wrap{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter)}
.wrap--narrow{max-width:var(--container-max)}
.wrap--text{max-width:760px}
.eyebrow{display:block;font-weight:700;font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.eyebrow+h1,.eyebrow+h2{margin-top:10px}
.lead{font-size:var(--text-md);line-height:1.7;margin-top:14px}
.note{color:var(--text-muted);font-size:var(--text-xs);margin-top:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 20px;font-family:var(--font-body);font-weight:700;font-size:var(--text-base);line-height:1;letter-spacing:-.01em;color:var(--white);background:var(--brand);border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:hover{background:var(--brand-hover);color:var(--white);box-shadow:var(--shadow-brand)}
.btn:active{transform:scale(.98)}
.btn:focus-visible,.chip:focus-visible{outline:3px solid var(--ring-brand);outline-offset:2px}
.btn--sm{height:38px;padding:0 14px;font-size:var(--text-sm);gap:8px}
.btn--lg{height:56px;padding:0 28px;font-size:var(--text-md);gap:10px}
.btn--block{width:100%}
.btn--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-default)}
.btn--secondary:hover{background:var(--surface-subtle);color:var(--text-strong);box-shadow:var(--shadow-xs)}
.btn--ghost{background:transparent;color:var(--brand);box-shadow:none}
.btn--ghost:hover{background:var(--brand-soft);color:var(--brand);box-shadow:none}
.btn--dark{background:var(--gray-900);color:var(--white);box-shadow:var(--shadow-sm)}
.btn--dark:hover{background:var(--gray-800);box-shadow:var(--shadow-sm)}
.btn--glass{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);box-shadow:none}
.btn--glass:hover{background:rgba(255,255,255,.18);box-shadow:none}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-weight:700;font-size:var(--text-xs);line-height:1.3;border-radius:var(--radius-pill);background:var(--gray-100);color:var(--text-body)}
.badge--brand{background:var(--brand-soft);color:var(--brand-ink)}
.badge--success{background:var(--success-bg);color:var(--green-700)}
.badge--warning{background:var(--warning-bg);color:#8A6400}
.badge--info{background:var(--info-bg);color:#1F5C99}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

/* Icon tiles */
.icon-tile{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand)}
.icon-tile svg.lucide{width:22px;height:22px}
.icon-tile--sm{width:34px;height:34px}.icon-tile--sm svg.lucide{width:18px;height:18px}
.icon-tile--lg{width:52px;height:52px;margin-bottom:20px}.icon-tile--lg svg.lucide{width:26px;height:26px}
.icon-tile--round{border-radius:var(--radius-pill);width:48px;height:48px}
.icon-tile--xl{width:64px;height:64px}.icon-tile--xl svg.lucide{width:32px;height:32px}
.icon-tile--success{background:var(--success-bg);color:var(--success)}

/* Card */
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}
.card--pad{padding:var(--space-6)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--surface-card);border-bottom:1px solid transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.admin-bar .site-header{top:32px}
.site-header.is-scrolled{background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom-color:var(--border-subtle)}
.site-header__inner{display:flex;align-items:center;gap:32px;padding-top:14px;padding-bottom:14px}
.site-header__logo{display:flex;align-items:center}
.site-logo{height:34px;width:auto;display:block}
.site-nav{margin-left:8px}
.site-nav .menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm);color:var(--text-body)}
.site-nav a:hover{color:var(--brand)}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a{color:var(--brand);background:var(--brand-soft)}
.site-header__right{margin-left:auto;display:flex;align-items:center;gap:12px}
.site-header__phone{display:inline-flex;align-items:center;gap:7px;color:var(--text-strong);font-weight:700;font-size:var(--text-sm)}
.site-header__phone svg.lucide{width:16px;height:16px;color:var(--brand)}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-strong);cursor:pointer;place-items:center}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--gray-900)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,22,.92) 0%,rgba(20,22,22,.55) 55%,rgba(20,22,22,.2) 100%)}
.hero__inner{position:relative;padding-top:var(--space-10);padding-bottom:var(--space-10)}
.hero__content{max-width:620px}
.hero__title{color:var(--white);font-size:var(--text-4xl);font-weight:800;line-height:1.04;letter-spacing:-.03em;margin:0 0 16px}
.hero__sub{display:block;font-weight:700;font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--green-300);line-height:1.5}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}

/* Leistungen */
.services{background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}
.services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:var(--space-7);padding-bottom:var(--space-7)}
.service{display:flex;gap:14px;align-items:flex-start}
.service__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:var(--text-strong)}
.service p{margin-top:4px;font-size:var(--text-sm);line-height:1.5}

/* Sections */
.section{padding:var(--space-9) 0}
.section--tight{padding:var(--space-8) 0}
.section--subtle{background:var(--surface-subtle)}
.section--border{border-top:1px solid var(--border-subtle)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.section-head--stack{display:block;max-width:620px;margin-bottom:48px}
.section-head--center{display:block;text-align:center;max-width:620px;margin:0 auto 48px}
.section-head--center .lead{margin-top:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.empty-note{color:var(--text-muted);text-align:center;padding:48px 0}

/* Projektkarte */
.pcard{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;color:inherit;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.pcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);color:inherit}
.pcard__media{position:relative;aspect-ratio:4/3;background:var(--surface-sunken);overflow:hidden}
.pcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-out)}
.pcard:hover .pcard__media img{transform:scale(1.04)}
.pcard__placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--text-faint);background:linear-gradient(135deg,var(--gray-100),var(--gray-200))}
.pcard__placeholder svg.lucide{width:40px;height:40px}
.pcard__badge{position:absolute;top:12px;left:12px}
.pcard__body{padding:var(--space-5);display:flex;flex-direction:column;gap:10px;flex:1}
.pcard__loc{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-sm);font-weight:600}
.pcard__loc svg.lucide{width:15px;height:15px}
.pcard__title{font-size:var(--text-lg);line-height:1.2}
.pcard__facts{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--text-sm);font-weight:500}
.pcard__facts span{display:inline-flex;align-items:center;gap:6px}
.pcard__facts svg.lucide{width:16px;height:16px;color:var(--brand)}
.pcard__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-subtle);display:flex;align-items:flex-end;justify-content:space-between}
.pcard__area{display:flex;flex-direction:column}
.pcard__area strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--text-strong);letter-spacing:-.02em;line-height:1}
.pcard__area span{font-size:var(--text-xs);color:var(--text-muted);font-weight:600;margin-top:4px}
.pcard__more{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-weight:700;font-size:var(--text-sm)}
.pcard__more svg.lucide{width:16px;height:16px}

/* CTA */
.cta-band{background:var(--brand)}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-top:var(--space-8);padding-bottom:var(--space-8)}
.cta-band h2{color:var(--white)}
.cta-band p{color:rgba(255,255,255,.88);margin-top:8px;font-size:var(--text-md)}

/* Seitenkopf + Filter */
.page-head{background:var(--surface-card);border-bottom:1px solid var(--border-subtle);padding:var(--space-7) 0 var(--space-6)}
.page-head__text{margin-top:8px;font-size:var(--text-md)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.chips--sm{margin:0 0 16px}
.chip{padding:10px 18px;border-radius:var(--radius-pill);cursor:pointer;font-weight:700;font-size:var(--text-sm);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-body);transition:all var(--dur-fast) var(--ease-out)}
.chips--sm .chip{padding:8px 14px}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.is-active{border-color:var(--brand);background:var(--brand);color:var(--white)}

/* Detail */
.detail{background:var(--surface-subtle);padding:var(--space-6) 0 var(--space-9)}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-weight:600;font-size:var(--text-sm);margin-bottom:18px}
.back-link svg.lucide{width:16px;height:16px}
.gallery__main{border-radius:var(--radius-lg);overflow:hidden;background:var(--gray-900)}
.gallery__main img{width:100%;height:520px;object-fit:cover;display:block}
.gallery__thumbs{display:grid;gap:12px;margin-top:12px}
.gallery__thumb{padding:0;border:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:none;opacity:.75;transition:opacity var(--dur-fast)}
.gallery__thumb:hover{opacity:1}
.gallery__thumb.is-active{border-color:var(--brand);opacity:1}
.gallery__thumb img{width:100%;height:120px;object-fit:cover;display:block}
.detail__body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;margin-top:28px;align-items:start}
.detail__address{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-weight:600;font-size:var(--text-sm)}
.detail__address svg.lucide{width:16px;height:16px}
.detail__title{margin-top:10px}
.detail__subtitle{font-size:var(--text-md);margin-top:8px}
.detail__h{margin:40px 0 14px}
.detail__lage-title{font-family:var(--font-display);font-weight:700;color:var(--text-strong);margin-bottom:8px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.fact{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 18px}
.fact svg.lucide{width:20px;height:20px;color:var(--brand)}
.fact__label{font-size:var(--text-xs);color:var(--text-muted);margin-top:10px;font-weight:600}
.fact__value{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:var(--text-strong)}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.feature{display:flex;align-items:center;gap:12px;font-size:var(--text-sm)}
.lage{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.lage--map{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.lage p{line-height:1.7}
.lage__plan{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--white);display:block}
.plan-view{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.plan-view img{width:100%;max-height:760px;object-fit:contain;display:block}
.mix{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.mix__row{display:grid;grid-template-columns:1fr .8fr .7fr 1fr 1.1fr;width:100%;text-align:left;align-items:center;padding:13px 16px;border:0;border-top:1px solid var(--border-subtle);background:var(--surface-card);font-size:var(--text-sm);color:var(--text-body);cursor:pointer}
.mix__row strong{color:var(--text-strong)}
.mix__row:hover,.mix__row.is-active{background:var(--brand-soft)}
.mix__row--head{border-top:0;background:var(--surface-sunken);font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;cursor:default;padding:11px 16px}
.mix__row--head:hover{background:var(--surface-sunken)}
.detail__aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:10px}
.admin-bar .detail__aside{top:122px}
.detail__area{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--text-strong);letter-spacing:-.02em}
.detail__area-sub{font-size:var(--text-sm);color:var(--text-muted);margin-top:-8px}
.detail__contact{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin:10px 0 8px}
.detail__company{font-weight:700;color:var(--text-strong);font-size:var(--text-sm)}
.detail__contact a{font-size:var(--text-xs);color:var(--text-muted)}

/* Verfügbarkeit */
.mix__row.is-sold{background:var(--surface-subtle)}
.mix__row.is-sold>span:not(:last-child),.mix__row.is-sold strong{color:var(--text-faint)}
.mix__row.is-sold.is-active,.mix__row.is-sold:hover{background:var(--surface-sunken)}
.chip.is-sold{color:var(--text-faint);text-decoration:line-through;text-decoration-thickness:1px}
.chip.is-sold.is-active{background:var(--gray-500);border-color:var(--gray-500);color:var(--white)}
.plan-view{position:relative}
.plan-empty{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:340px;padding:48px 24px;background:var(--surface-subtle)}
.plan-empty .icon-tile--lg{margin-bottom:8px}
.plan-empty__text{max-width:420px;color:var(--text-body);line-height:1.6}
.plan-empty__btn{margin-top:14px}
.plan-view.no-plan .plan-empty{display:flex}
.plan-view.no-plan img{display:none}
.plan-view.no-plan.is-sold .plan-empty__btn{display:none}
.plan-view__sold{display:none;position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--gray-900);color:var(--white);font-size:var(--text-xs);font-weight:700}
.plan-view.is-sold .plan-view__sold{display:block}
.plan-view.is-sold img{opacity:.55}
.avail{padding:4px 0 6px}
.avail__text{font-size:var(--text-sm);font-weight:700;color:var(--text-strong)}
.avail__bar{height:6px;border-radius:var(--radius-pill);background:var(--brand-soft);margin-top:8px;overflow:hidden}
.avail__bar span{display:block;height:100%;background:var(--gray-400);border-radius:inherit}
.pcard__avail{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600;color:var(--green-700)}
.pcard__dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}
.pcard__avail.is-soldout{color:var(--text-muted)}
.pcard__avail.is-soldout .pcard__dot{background:var(--gray-400)}

/* Stellplätze */
.parking-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;font-size:var(--text-sm)}
.parking-head strong{color:var(--text-strong)}
.parking-legend{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;color:var(--text-muted);font-size:var(--text-xs);font-weight:600}
.pdot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:-8px;vertical-align:-1px}
.pdot--free{background:var(--green-100);border:1px solid var(--green-300)}
.pdot--reserved{background:var(--warning-bg);border:1px solid #E8C35A}
.pdot--sold{background:var(--gray-100);border:1px solid var(--gray-300)}
.parking{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.ptile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid;font-size:var(--text-xs);line-height:1.3}
.ptile__no{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.01em}
.ptile__kind{color:var(--text-muted)}
.ptile__st{font-weight:700;margin-top:2px}
.ptile--success{background:var(--green-50);border-color:var(--green-200);color:var(--green-700)}
.ptile--success .ptile__no{color:var(--green-800)}
.ptile--warning{background:var(--warning-bg);border-color:#EED7A0;color:#8A6400}
.ptile--neutral{background:var(--surface-subtle);border-color:var(--border-subtle);color:var(--text-faint)}
.ptile--neutral .ptile__no{color:var(--text-faint);text-decoration:line-through;text-decoration-thickness:1px}

/* Fließtext (Editor-Inhalte) */
.prose{line-height:1.7}
.prose>*+*{margin-top:12px}
.prose h2{font-size:var(--text-lg);margin-top:40px}
.prose h3{font-size:var(--text-md);margin-top:28px}
.prose ul,.prose ol{padding-left:1.25em}
.prose a{text-decoration:underline;text-underline-offset:2px}

/* Über uns */
.about-intro{background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle)}
.about-intro__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:var(--space-9);padding-bottom:var(--space-9)}
.about-intro h1{font-size:var(--text-3xl);margin-top:16px}
.about-intro .lead{margin-top:22px}
.about-intro__img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius-lg);display:block}
.value-card{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px}
.value-card p{margin-top:10px;line-height:1.65}
.step__no{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;color:var(--brand);letter-spacing:-.03em;line-height:1.1}
.step h3{font-size:var(--text-md);margin-top:8px}
.step p{margin-top:8px;font-size:var(--text-sm);line-height:1.6}

/* Kontakt */
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}
.contact__info{display:flex;flex-direction:column;gap:20px}
.contact__item{display:flex;gap:16px;align-items:flex-start}
.contact__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.contact__value{display:block;font-weight:600;color:var(--text-strong);margin-top:3px}
.form{display:flex;flex-direction:column;gap:18px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form__hp{position:absolute;left:-9999px}
.field{display:flex;flex-direction:column;gap:6px}
.field__label{font-weight:600;font-size:var(--text-sm);color:var(--text-strong)}
.field__hint{font-size:var(--text-xs);color:var(--text-muted)}
.field__wrap{position:relative;display:block}
.field__wrap svg.lucide{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.field input,.field textarea{width:100%;height:46px;padding:0 14px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-strong);background:var(--white);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.field__wrap input{padding-left:42px}
.field textarea{height:auto;padding:12px 14px;resize:vertical;line-height:1.5}
.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand)}
.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:var(--text-sm);line-height:1.5}
.checkbox input{margin-top:3px;accent-color:var(--brand);width:16px;height:16px;flex:none}
.form-error{background:var(--danger-bg);color:#9A2C2C;border-radius:var(--radius-sm);padding:12px 14px;font-size:var(--text-sm);font-weight:600;margin-bottom:18px}
.form-success{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}
.form-success .icon-tile{margin-bottom:10px}

/* Rechtliches / Standardseite */
.legal{max-width:760px;margin:0 auto;padding:72px var(--gutter) 96px}
.legal h1{margin-bottom:32px}

/* Footer */
.site-footer{background:var(--gray-900);color:var(--gray-400)}
.site-footer__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--text-sm);padding-top:var(--space-7);padding-bottom:var(--space-5)}
.site-footer__top a{display:inline-flex;align-items:center;gap:6px;color:var(--white);font-weight:600}
.site-footer__top svg.lucide{width:15px;height:15px}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.08)}
.site-footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:var(--text-sm);padding-top:18px;padding-bottom:18px}
.site-footer__copy{color:var(--gray-500)}
.site-footer .menu{display:flex;flex-wrap:wrap;gap:28px;list-style:none;margin:0;padding:0}
.site-footer .menu a{color:var(--gray-300)}
.site-footer .menu a:hover{color:var(--white)}

/* Responsive */
@media (max-width:1100px){
.services__grid,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail__body{grid-template-columns:minmax(0,1fr)}
.detail__aside{position:static}
.about-intro__grid{gap:40px}
}
@media (max-width:960px){
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);padding:12px var(--gutter) 20px}
.nav-open .site-nav{display:block}
.site-nav .menu{flex-direction:column}
.site-nav a{padding:12px 14px;font-size:var(--text-base)}
.nav-toggle{display:grid}
.site-header__phone span{display:none}
.site-header__inner{position:relative}
}
@media (max-width:720px){
:root{--text-4xl:2.5rem;--text-3xl:2.25rem;--text-2xl:1.75rem}
.section{padding:var(--space-8) 0}
.hero__inner{padding-top:var(--space-8);padding-bottom:var(--space-8)}
.services__grid,.grid-3,.grid-4,.facts,.features,.lage--map,.about-intro__grid,.contact,.form__row{grid-template-columns:minmax(0,1fr)}
.gallery__main img{height:300px}
.gallery__thumb img{height:72px}
.about-intro__img{height:280px}
.site-header__cta{display:none}
.mix__row{font-size:var(--text-xs);padding:12px;grid-template-columns:1fr .7fr .6fr .9fr 1.2fr;gap:4px}
.card--pad{padding:var(--space-5)}
}
