/* ============================================================
   REDESIGN — "Engineered warmth"
   Warm paper surfaces, deep forest green ink, amber heat accent,
   Space Grotesk display type over Manrope body, layered depth.
   ============================================================ */
@font-face{font-family:"Space Grotesk";src:url(/assets/space-grotesk-variable.ttf)format("truetype");font-weight:300 700;font-display:swap}

:root{
  --background:#FAF9F4;
  --foreground:#13291E;
  --primary:#0E5A38;
  --primary-hover:#0B4930;
  --accent:#3E9B63;
  --heat:#DD6B20;
  --muted:#5C6B5E;
  --soft:#F0F3EA;
  --sand:#F4F1E8;
  --line:#E3E6DB;
  --line-strong:#C7D0C2;
  --dark:#0E2A1C;
  --on-dark:#F3F6EF;
  --on-dark-muted:#A9C2AC;
  --radius:14px;
  --space:clamp(72px,8vw,124px);
  --font-display:"Space Grotesk",Manrope,Arial,sans-serif;
  --shadow-sm:0 1px 2px rgba(19,41,30,.04),0 3px 10px rgba(19,41,30,.05);
  --shadow-md:0 4px 10px rgba(19,41,30,.05),0 18px 44px -16px rgba(19,41,30,.22);
  --shadow-lg:0 30px 70px -20px rgba(10,32,20,.35);
}
::selection{background:rgba(62,155,99,.28)}
html{scroll-padding-top:104px}
body{background:var(--background);color:var(--foreground);font-size:16px;line-height:1.7}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2F7A4F;outline-offset:3px;border-radius:4px}

h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.06}
h2{font-size:clamp(32px,3.3vw,46px)}
h3{letter-spacing:-.01em;font-size:24px;line-height:1.2}

.wrap{width:min(1280px,100% - 96px);margin-inline:auto}
.section{padding-block:var(--space)}

/* ---------- Top line + header ---------- */
.topline{background:var(--dark);color:#C9D8C8;justify-content:space-between;align-items:center;height:36px;padding-inline:4%;font-size:10.5px;font-weight:600;letter-spacing:.6px;display:flex}
.topline a{align-items:center;gap:10px;display:flex;transition:color .2s}
.topline a:hover{color:#F0B27A}
.site-header{z-index:40;border-bottom:1px solid var(--line);background:rgba(250,249,244,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0}
.header-inner{justify-content:space-between;align-items:center;gap:30px;width:min(1400px,100% - 64px);min-height:92px;margin:auto;display:flex}
.brand{flex-shrink:0;align-items:center;gap:13px;display:flex}
.brand-symbol{background:linear-gradient(145deg,#147244,#0B4930);color:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 16px -6px rgba(14,90,56,.5)}
.brand strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;line-height:1.25;display:block}
.brand small{letter-spacing:.14em;text-transform:uppercase;font-size:9.5px;font-weight:600;color:var(--muted);line-height:1.6;display:block}
.navigation{align-items:center;gap:26px;font-size:13px;font-weight:600;display:flex}
.navigation>a:not(.button){position:relative;padding:6px 0;transition:color .2s}
.navigation>a:not(.button)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--primary);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.navigation>a:not(.button):hover{color:var(--primary)}
.navigation>a:not(.button):hover::after{transform:scaleX(1)}
.menu-toggle{display:none}

/* ---------- Buttons & links ---------- */
.button{border-radius:12px;border:1px solid transparent;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:14px 24px;font-size:13.5px;font-weight:700;transition:background .2s,color .2s,border-color .2s,box-shadow .25s,transform .2s;display:inline-flex}
.button svg{transition:transform .2s}
.button:hover svg{transform:translate(1px,-1px)}
.button-primary{background:var(--primary);color:#fff;box-shadow:0 12px 26px -12px rgba(14,90,56,.65)}
.button-primary:hover{background:var(--primary-hover);color:#fff!important;transform:translateY(-1px);box-shadow:0 16px 32px -12px rgba(14,90,56,.7)}
.button-outline{color:var(--foreground);background:#fff;border-color:var(--line-strong)}
.button-outline:hover{border-color:var(--primary);color:var(--primary);background:#F3F8EF;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.button-light{color:var(--primary-hover);background:#fff;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.button-light:hover{background:#EAF3E6;transform:translateY(-1px)}
.navigation .button{gap:10px;min-height:44px;padding:10px 18px;font-size:12.5px;border-radius:10px}
.text-link{border-bottom:1px solid var(--line-strong);align-items:center;gap:12px;padding:9px 0;font-size:13px;font-weight:700;transition:color .2s,border-color .2s;display:inline-flex}
.text-link:hover{color:var(--primary);border-color:var(--primary)}
.text-link svg{transition:transform .2s}
.text-link:hover svg{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{grid-template-columns:1.06fr 1fr;align-items:center;gap:64px;padding-top:64px;padding-bottom:84px;display:grid;position:relative}
.hero::before{content:"";position:absolute;inset:-120px -40vw auto -40vw;height:640px;background:radial-gradient(720px 420px at 78% 30%,rgba(14,90,56,.09),transparent 65%),radial-gradient(560px 340px at 8% 90%,rgba(221,107,32,.06),transparent 60%);pointer-events:none}
.eyebrow{letter-spacing:.17em;color:var(--primary);align-items:center;gap:11px;margin-bottom:24px;font-size:10.5px;font-weight:700;text-transform:uppercase;display:flex}
.eyebrow>span{background:var(--heat);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 0 rgba(221,107,32,.45);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(221,107,32,.4)}70%{box-shadow:0 0 0 8px rgba(221,107,32,0)}100%{box-shadow:0 0 0 0 rgba(221,107,32,0)}}
h1{letter-spacing:-.025em;font-size:clamp(48px,4.8vw,70px);line-height:1.04}
h1 em{color:var(--primary);font-style:normal;background:linear-gradient(0deg,rgba(62,155,99,.16),rgba(62,155,99,.16)) 0 82%/100% 34% no-repeat;padding:0 .05em;border-radius:2px}
.hero-description{color:var(--muted);max-width:515px;margin-top:28px;font-size:16.5px;line-height:1.8}
.actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}
.hero-points{color:var(--muted);flex-wrap:wrap;gap:12px 22px;margin-top:34px;font-size:11px;font-weight:600;letter-spacing:.04em;display:flex}
.hero-points span{align-items:center;gap:6px;display:flex}
.hero-points svg{width:13px;height:13px;color:var(--primary)}
.hero-media{min-width:0;padding-bottom:70px;position:relative;z-index:0}
.hero-media::before{content:"";position:absolute;top:26px;left:26px;right:-16px;bottom:44px;border:1px solid var(--line-strong);border-radius:22px;z-index:-1}
.hero-media>img{object-fit:cover;object-position:45% 50%;border-radius:18px;width:100%;height:420px;box-shadow:var(--shadow-md)}
.photo-label{letter-spacing:.12em;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);align-items:center;gap:9px;padding:10px 15px;font-size:8.5px;font-weight:700;border-radius:999px;box-shadow:var(--shadow-sm);display:flex;position:absolute;top:18px;left:18px}
.live-dot{background:var(--heat);border-radius:50%;width:6px;height:6px}
.hero-product{border:1px solid var(--line);background:#fff;align-items:center;gap:18px;padding:14px 24px 14px 12px;display:flex;position:absolute;bottom:0;left:-24px;right:24px;border-radius:16px;box-shadow:var(--shadow-lg)}
.hero-product img{object-fit:contain;mix-blend-mode:multiply;width:140px;height:116px}
.hero-product>div{flex:1}
.hero-product span{color:var(--heat);letter-spacing:.12em;font-size:8px;font-weight:700;display:block}
.hero-product strong{font-family:var(--font-display);margin:6px 0;font-size:18px;display:block}
.hero-product small{color:var(--muted);font-size:10px;display:block}
.hero-product>svg{color:var(--primary);flex-shrink:0}

/* ---------- Promise bar ---------- */
.promise-bar{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:var(--shadow-md);grid-template-columns:repeat(4,1fr);gap:22px;padding:28px 32px;display:grid;margin-top:-46px;position:relative;z-index:2}
.promise-bar>div{border-right:1px solid var(--line);align-items:center;gap:16px;display:flex;padding-right:18px}
.promise-bar>div:last-child{border:0;padding-right:0}
.promise-bar svg{stroke-width:1.5px;width:44px;height:44px;padding:10px;color:var(--primary);background:var(--soft);border-radius:12px;flex-shrink:0}
.promise-bar span{color:var(--muted);font-size:12px;line-height:1.55}
.promise-bar strong{color:var(--foreground);font-weight:700}

/* ---------- Intro + steps ---------- */
.intro{grid-template-columns:1.3fr 1fr;align-items:end;gap:100px;padding-bottom:48px;display:grid}
.intro h2{font-size:clamp(30px,3vw,40px);line-height:1.18}
.intro h2 span{color:var(--muted)}
.intro>p{color:var(--muted);font-size:15px}
.steps{padding-bottom:var(--space);grid-template-columns:repeat(3,1fr);gap:26px;display:grid}
.steps article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 30px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,border-color .25s}
.steps article:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.step-number{font-family:var(--font-display);color:var(--primary);background:var(--soft);border-radius:999px;padding:6px 13px;margin-bottom:24px;font-size:12px;font-weight:700;letter-spacing:.1em;display:inline-block}
.steps h3{margin-bottom:18px}
.steps p{color:var(--muted);font-size:14px;line-height:1.8}
.step-note{letter-spacing:.12em;color:var(--primary);border-top:1px solid var(--line);padding-top:16px;margin-top:26px;font-size:9px;font-weight:700;display:block}

/* ---------- Division (DIY vs. Profi) ---------- */
.division{background:var(--soft);border-block:1px solid var(--line)}
.section-heading{margin-bottom:46px}
.section-heading>p:last-child{max-width:640px;color:var(--muted);margin-top:22px}
.division-grid{grid-template-columns:1fr 1fr;gap:26px;display:grid}
.division-grid article{border-radius:20px;padding:40px 42px;position:relative;overflow:hidden}
.diy{border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}
.expert{color:var(--on-dark);background:linear-gradient(150deg,#173B26,#0C2417 72%);box-shadow:var(--shadow-lg)}
.expert::after{content:"";position:absolute;inset:0;background:radial-gradient(480px 240px at 92% 0%,rgba(62,155,99,.25),transparent 65%);pointer-events:none}
.division-grid article>svg{stroke-width:1.5px;margin-bottom:26px;background:rgba(14,90,56,.08);border-radius:12px;padding:8px;width:46px;height:46px}
.expert>svg{background:rgba(255,255,255,.08)}
.division-grid .eyebrow{margin-bottom:14px;font-size:9px}
.expert .eyebrow{color:#9FD8AF}
.division-grid h3{margin-bottom:28px}
.division-grid li{border-top:1px solid var(--line);align-items:start;gap:13px;padding:14px 0;font-size:14px;display:flex}
.division-grid li svg{width:17px;height:17px;color:var(--accent);flex-shrink:0;margin-top:3px}
.expert li{border-color:#2C4A38}
.expert li svg{color:#9FD8AF}
.fine{color:var(--muted);font-size:11px;line-height:1.8}
.division-grid .fine{margin-top:24px}
.expert .fine{color:#B9CDB9;position:relative;z-index:1}

/* ---------- Section headings (split) ---------- */
.split{grid-template-columns:1.1fr 1fr;align-items:end;gap:120px;display:grid}
.split>p{color:var(--muted);font-size:15px}

/* ---------- Packages ---------- */
.packages{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}
.package{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:var(--shadow-sm);flex-direction:column;padding:34px 30px;display:flex;position:relative;transition:transform .25s,box-shadow .25s}
.package:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.package.featured{border:1.5px solid var(--primary);box-shadow:var(--shadow-md)}
.package.featured::before{content:"Beliebt";position:absolute;top:20px;right:20px;background:var(--heat);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.package-tag{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-size:10px;font-weight:700}
.package h3{margin-bottom:16px;font-size:27px}
.package>p{color:var(--muted);min-height:70px;font-size:13.5px}
.package ul{border-top:1px solid var(--line);margin:22px 0 28px;padding-top:14px}
.package li{align-items:start;gap:10px;margin:14px 0;font-size:12.5px;display:flex}
.package li svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;margin-top:3px}
.package-bottom{margin-top:auto}
.package-bottom strong{margin-bottom:16px;font-size:13px;display:block}
.package .button{justify-content:space-between;width:100%}

/* ---------- Cost band (dark statement) ---------- */
.cost-band{background:var(--dark);background-image:radial-gradient(640px 300px at 85% 10%,rgba(62,155,99,.22),transparent 62%),radial-gradient(520px 280px at 5% 95%,rgba(221,107,32,.13),transparent 60%);color:var(--on-dark);padding:72px 0}
.cost-band>.wrap{grid-template-columns:120px 1fr auto;align-items:center;gap:48px;display:grid}
.cost-sign{font-family:var(--font-display);color:var(--heat);font-size:96px;font-weight:700;line-height:1;text-align:center}
.cost-band .eyebrow{color:#E8B27C;margin-bottom:13px;font-size:9.5px}
.cost-band h2{color:#fff;font-size:clamp(28px,2.8vw,36px)}
.cost-band p:not(.eyebrow){max-width:560px;color:var(--on-dark-muted);margin-top:18px;font-size:14.5px}
.cost-band .text-link{color:#fff;border-bottom-color:rgba(255,255,255,.35);white-space:nowrap}
.cost-band .text-link:hover{color:#F0B27A;border-color:#F0B27A}

/* ---------- Products ---------- */
.brand-tabs{gap:10px;margin-bottom:26px;display:flex}
.brand-tabs button{border:1px solid var(--line-strong);background:#fff;border-radius:999px;align-items:center;gap:30px;min-height:48px;padding:12px 22px;font-size:13px;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:flex}
.brand-tabs button:hover{border-color:var(--primary);color:var(--primary)}
.brand-tabs button[aria-pressed=true]{background:var(--foreground);color:#fff;border-color:var(--foreground)}
.product-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:76px;display:grid}
.product-layout figure{background:#F4F5F0;border:1px solid var(--line);border-radius:20px;padding:28px;min-width:0}
.product-layout figure>img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:340px}
.product-layout figcaption{color:var(--muted);margin-top:16px;font-size:10.5px}
.geostandard-logo{background:#DB0000;width:152px;height:auto;margin-bottom:26px;border-radius:10px}
.product-layout h3{margin-bottom:22px;font-size:clamp(26px,2.6vw,33px);line-height:1.18}
.product-layout p{color:var(--muted);font-size:14.5px}
.product-tags{flex-wrap:wrap;gap:9px;margin:26px 0;display:flex}
.product-tags span{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 13px;font-size:10.5px;font-weight:600}

/* ---------- References ---------- */
.reference-section{border-block:1px solid var(--line);background:var(--soft)}
.reference-section .eyebrow{font-size:12px}
.reference-section .split>p{font-size:16px}
.reference-grid{grid-template-columns:1fr 1fr;align-items:start;gap:30px;display:grid}
.reference-card{border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden;transition:transform .25s,box-shadow .25s}
.reference-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.reference-cover{position:relative}
.reference-cover>img{aspect-ratio:3/2;object-fit:cover;width:100%}
.reference-cover>span{max-width:calc(100% - 34px);color:var(--foreground);background:rgba(255,255,255,.95);backdrop-filter:blur(6px);align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:600;border-radius:999px;box-shadow:var(--shadow-sm);display:flex;position:absolute;bottom:17px;left:17px;right:auto}
.reference-body{padding:32px 32px 26px}
.reference-label{letter-spacing:.14em;color:var(--primary);margin-bottom:16px;font-size:10.5px;font-weight:700;text-transform:uppercase}
.reference-body h3{min-height:70px;margin-bottom:18px;font-size:27px;line-height:1.2}
.reference-description{color:var(--muted);font-size:15.5px;line-height:1.8}
.reference-facts{margin:26px 0 15px}
.reference-facts>div{border-top:1px solid var(--line);grid-template-columns:80px 1fr;gap:15px;padding:13px 0;font-size:14px;display:grid}
.reference-facts dt{color:var(--muted)}
.reference-facts dd{margin:0;font-weight:700}
.reference-details summary{color:var(--primary);min-height:52px;font-size:14px}
.reference-details summary svg{flex-shrink:0;transition:transform .2s}
.reference-details[open] summary svg{transform:rotate(45deg)}
.reference-expanded{padding-bottom:22px}
.reference-expanded figure{margin:7px 0 24px}
.reference-expanded img{object-fit:cover;object-position:center;width:100%;height:330px;border-radius:12px}
.reference-card:first-child .reference-expanded img{object-fit:contain;background:#F3F5F0}
.reference-expanded figcaption{color:var(--muted);margin-top:10px;font-size:12px}
.reference-expanded h4{margin:0 0 13px;font-size:18px;font-weight:700;line-height:1.4}
.reference-expanded p{color:var(--muted);font-size:15.5px;line-height:1.8}
.reference-expanded .reference-source{margin-top:19px;font-size:12px}
.reference-footer{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding-top:30px;display:flex}
.reference-footer p{font-family:var(--font-display);color:var(--muted);font-size:19px;letter-spacing:-.01em;line-height:1.35}
.reference-footer strong{color:var(--foreground);font-weight:700}
.reference-footer .text-link{font-size:14px}

/* ---------- Funding ---------- */
.funding{background:var(--sand);border-bottom:1px solid var(--line)}
.funding-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}
.funding-grid>div>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-top:24px;font-size:15px}
.funding .text-link{margin-top:22px}
.funding-steps article{border-top:1px solid var(--line-strong);gap:22px;padding:24px 0;display:flex}
.funding-steps article>span{font-family:var(--font-display);color:var(--heat);margin-top:2px;font-size:13px;font-weight:700;letter-spacing:.06em}
.funding-steps h3{letter-spacing:-.01em;margin-bottom:8px;font-size:18px}
.funding-steps p{color:var(--muted);font-size:13.5px}
.funding-steps .fine{max-width:none;margin-top:16px;font-size:11px}
.fine a{text-underline-offset:3px;text-decoration:underline}

/* ---------- Local / Vor-Ort ---------- */
.local{grid-template-columns:1fr 1fr;align-items:center;gap:85px;display:grid}
.local-image{position:relative}
.local-image img{object-fit:cover;object-position:30% center;width:100%;height:460px;border-radius:20px;box-shadow:var(--shadow-md)}
.local-image>span{color:#fff;letter-spacing:.12em;background:var(--dark);padding:16px 22px;font-size:9px;font-weight:700;border-radius:0 0 20px 20px;margin-top:-1px;display:block}
.local h2{font-size:clamp(30px,3vw,40px)}
.local>div>p:not(.eyebrow){color:var(--muted);margin-top:24px;font-size:15px}
.towns{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}
.towns span{border:1px solid var(--line-strong);background:#fff;padding:7px 14px;border-radius:999px;font-size:11.5px;font-weight:600}
.local .fine{font-size:11px!important}
.local .button{margin-top:26px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);grid-template-columns:.85fr 1.15fr;gap:85px;display:grid}
.faq h2{font-size:clamp(30px,3vw,40px)}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;font-size:15px;font-weight:600;list-style:none;display:flex;transition:color .2s}
summary:hover{color:var(--primary)}
summary::-webkit-details-marker{display:none}
summary>span{font-size:19px;font-weight:400;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:999px;display:grid;place-items:center;flex-shrink:0;transition:transform .25s,background .2s,color .2s,border-color .2s}
details[open] summary>span{transform:rotate(45deg);background:var(--primary);border-color:var(--primary);color:#fff}
details>p{color:var(--muted);padding-bottom:24px;font-size:13.5px;line-height:1.8}

/* ---------- Contact ---------- */
.contact{color:var(--on-dark);background:var(--dark);background-image:radial-gradient(760px 380px at 82% 0%,rgba(62,155,99,.26),transparent 62%),radial-gradient(560px 320px at 6% 100%,rgba(221,107,32,.14),transparent 60%)}
.contact>.wrap{grid-template-columns:1.4fr 1fr;align-items:center;gap:110px;display:grid}
.contact .eyebrow{color:#9FD8AF;font-size:9.5px}
.contact h2{color:#fff;font-size:clamp(44px,4.4vw,62px)}
.contact p:not(.eyebrow){color:var(--on-dark-muted);max-width:550px;margin:25px 0 32px;font-size:16px}
.contact .button-light{margin-bottom:4px}
.contact-email{color:#CDE3CE;text-underline-offset:4px;margin-top:24px;font-size:12.5px;text-decoration:underline;display:block;transition:color .2s}
.contact-email:hover{color:#F0B27A}
.contact-note{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);border-radius:20px;padding:36px}
.contact-note>svg{color:#F0B27A;stroke-width:1.5px;margin-bottom:22px}
.contact-note h3{margin-bottom:24px;font-size:23px;color:#fff}
.contact-note li{color:#C4D8C5;border-top:1px solid rgba(255,255,255,.12);padding:11px 0;font-size:13px}

/* ---------- Footer ---------- */
.footer{padding:64px 0 26px}
.footer-top{grid-template-columns:1.7fr 1fr 1fr;gap:60px;padding-bottom:42px;display:grid}
.footer-top p{color:var(--muted);margin-top:20px;font-size:12.5px}
.footer address{color:var(--muted);font-size:12.5px;font-style:normal;line-height:1.9}
.footer address strong{color:var(--foreground)}
.footer-top>div:last-child{flex-direction:column;gap:11px;font-size:12.5px;display:flex}
.footer-top>div:last-child a{width:fit-content;transition:color .2s}
.footer-top>div:last-child a:hover{color:var(--primary)}
.legal{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:30px;padding-top:16px;display:grid}
.legal details{border:0}
.legal summary{color:var(--muted);padding:8px 0;font-size:11px}
.legal p{font-size:11px}
.legal>span{color:var(--muted);text-align:right;padding-top:8px;font-size:10.5px}

/* ---------- Breakpoints ---------- */
@media (min-width:1600px){
  .hero{padding-top:85px;padding-bottom:95px}
  .hero-media>img{height:455px}
}
@media (max-width:1200px){
  .navigation{gap:15px;font-size:11.5px}
  .header-inner{gap:20px;width:calc(100% - 48px)}
  .brand strong{font-size:17px}
  .brand small{font-size:9px}
  .hero{gap:38px}
  .hero-product{gap:12px;padding-right:14px;left:-12px;right:12px}
  .hero-product img{width:110px}
  .hero-product strong{font-size:16px}
  .hero-product span{font-size:7px}
  .intro{gap:50px}
  .intro h2{font-size:34px}
  .split{gap:60px}
  .cost-band>.wrap{grid-template-columns:80px 1fr;gap:30px}
  .cost-sign{font-size:72px}
  .cost-band .text-link{grid-column:2;justify-self:start}
  .local{gap:50px}
  .local h2{font-size:34px}
}
@media (max-width:1050px){
  .wrap{width:calc(100% - 64px)}
  .header-inner{min-height:78px}
  .menu-toggle{background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;border-radius:10px}
  .menu-toggle:hover{background:var(--soft)}
  .navigation{border-bottom:1px solid var(--line);background:#fff;width:100%;max-height:calc(100dvh - 80px);padding:20px 32px;font-size:15px;display:none;position:absolute;top:80px;left:0;right:0;overflow:auto;box-shadow:var(--shadow-md)}
  .navigation.open{flex-direction:column;align-items:stretch;gap:0;display:flex}
  .navigation>a{padding:13px 0}
  .navigation .button{margin-top:12px;padding:13px}
  .hero{gap:30px;padding-top:44px;padding-bottom:72px}
  h1{letter-spacing:-.02em;font-size:50px}
  .hero-description{font-size:14.5px}
  .hero-media>img{height:375px}
  .hero-product img{width:100px;height:110px}
  .hero-product small{font-size:8px}
  .hero-product>svg{display:none}
  .hero-points{gap:8px;font-size:9.5px}
  .promise-bar{grid-template-columns:1fr 1fr;gap:22px;padding:24px}
  .promise-bar>div{border-right:0;gap:14px;padding-right:0}
  .promise-bar span{font-size:11px}
  .steps{gap:22px}
  .division-grid article{padding:30px}
  .division-grid h3{font-size:23px}
  .division-grid li{font-size:12.5px}
  .packages{gap:18px}
  .package{padding:26px 22px}
  .package.featured{padding-top:26px}
  .package h3{font-size:23px}
  .package .button{padding:12px;font-size:12px}
  .product-layout{gap:40px}
  .funding-grid{gap:55px}
  .local-image img{height:415px}
  .faq{gap:45px}
  .contact>.wrap{gap:60px}
  .contact h2{font-size:54px}
  .reference-grid{gap:22px}
  .reference-body{padding:26px}
  .reference-body h3{font-size:25px}
  .reference-facts>div{grid-template-columns:1fr;gap:3px}
  .reference-cover>span{max-width:calc(100% - 24px);font-size:12px;bottom:12px;left:12px}
}
@media (max-width:767px){
  .wrap{width:calc(100% - 40px)}
  .topline{padding:0 20px;font-size:9px;height:32px}
  .topline a{display:none}
  .header-inner{width:calc(100% - 40px);min-height:72px}
  .brand-symbol{width:37px;height:37px;border-radius:10px}
  .brand{gap:10px}
  .brand strong{font-size:16px}
  .brand small{font-size:8.5px}
  .navigation{padding:16px 20px;top:72px}
  .hero{grid-template-columns:1fr;gap:34px;padding-top:38px;padding-bottom:56px}
  .eyebrow{letter-spacing:.14em;margin-bottom:20px;font-size:9px}
  h1{letter-spacing:-.02em;font-size:clamp(40px,9.6vw,60px)}
  .hero-description{margin-top:22px;font-size:15px;line-height:1.75}
  .hero .actions{gap:16px;margin-top:26px}
  .hero .button{padding:13px 18px;font-size:12.5px}
  .hero .text-link{font-size:12px}
  .hero-points{gap:8px 14px;margin-top:26px;font-size:9.5px}
  .hero-media{padding-bottom:64px}
  .hero-media::before{display:none}
  .hero-media>img{height:320px;border-radius:14px}
  .photo-label{padding:8px 12px;font-size:7px;top:12px;left:12px}
  .hero-product{gap:12px;padding:10px 16px 10px 6px;left:12px;right:12px;border-radius:14px}
  .hero-product img{width:104px;height:96px}
  .hero-product span{font-size:6px}
  .hero-product strong{font-size:15px}
  .hero-product small{font-size:8px}
  .promise-bar{grid-template-columns:1fr 1fr;gap:22px 14px;padding:22px;margin-top:-38px}
  .promise-bar svg{width:38px;height:38px;padding:8px}
  .promise-bar span{font-size:11px}
  .intro{grid-template-columns:1fr;gap:22px;padding-bottom:32px}
  .intro h2{letter-spacing:-.015em;font-size:30px}
  .intro>p{font-size:14px}
  .steps{grid-template-columns:1fr;gap:18px}
  .steps article{grid-template-columns:40px 1fr;gap:12px 18px;padding-top:24px;display:grid}
  .step-number{grid-row:1/span 3;margin:4px 0 0;justify-self:start;padding:5px 11px}
  .steps h3{margin:0;font-size:24px}
  .steps p{grid-column:2;font-size:13px}
  .step-note{grid-column:2;margin-top:4px;border-top:0;padding-top:0;font-size:8px}
  .section-heading{margin-bottom:32px}
  .section-heading>p:last-child{font-size:14px}
  .division-grid{grid-template-columns:1fr;gap:18px}
  .division-grid article{padding:30px 24px}
  .division-grid h3{font-size:24px}
  .division-grid li{font-size:13px}
  .division-grid .fine{font-size:11px}
  .split{grid-template-columns:1fr;gap:22px}
  .split>p{font-size:14px}
  .packages{grid-template-columns:1fr;gap:18px}
  .package{padding:30px 24px}
  .package.featured{padding-top:30px}
  .package.featured::before{top:24px}
  .package h3{font-size:28px}
  .package>p{min-height:0}
  .package li{font-size:13px}
  .package-bottom strong{font-size:14px}
  .package .button{font-size:13px}
  .cost-band{padding:56px 0}
  .cost-band>.wrap{grid-template-columns:1fr;gap:20px}
  .cost-sign{display:none}
  .cost-band h2{font-size:30px}
  .cost-band .text-link{grid-column:1}
  .product-layout{grid-template-columns:1fr;gap:32px}
  .product-layout figure{padding:22px}
  .product-layout figure>img{height:255px}
  .product-layout h3{font-size:30px}
  .geostandard-logo{width:138px;margin-bottom:22px}
  .funding-grid{grid-template-columns:1fr;gap:38px}
  .funding-grid>div>p:not(.eyebrow){font-size:14px}
  .local{grid-template-columns:1fr;gap:32px}
  .local-image img{height:300px}
  .local-image>span{border-radius:0 0 14px 14px;padding:14px 18px;font-size:8px}
  .local h2{font-size:33px}
  .local>div>p:not(.eyebrow){font-size:14px}
  .faq{grid-template-columns:1fr;gap:32px}
  .faq h2{font-size:33px}
  summary{padding:19px 0;font-size:13.5px}
  .contact>.wrap{grid-template-columns:1fr;gap:38px}
  .contact h2{font-size:48px}
  .contact p:not(.eyebrow){font-size:15px}
  .contact .eyebrow{font-size:8px}
  .contact-note{padding:26px}
  .contact-email{overflow-wrap:anywhere}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px}
  .footer-top>div:first-child{grid-column:1/-1}
  .legal{grid-template-columns:1fr 1fr;gap:15px}
  .legal>span{text-align:left;grid-column:1/-1}
  .footer{padding-top:44px}
  .reference-grid{grid-template-columns:1fr;gap:24px}
  .reference-body{padding:26px 22px}
  .reference-body h3{min-height:0;font-size:27px}
  .reference-section .eyebrow{letter-spacing:.08em;font-size:12px}
  .reference-footer{flex-direction:column;align-items:start}
  .reference-expanded img{height:300px}
  .reference-cover>span,.reference-label{font-size:12px}
  .brand-tabs{flex-wrap:wrap}
}
@media (max-width:360px){
  .hero h1{font-size:37px}
  .hero-points{flex-direction:column;gap:5px}
  .hero-product img{width:84px}
  .hero-product strong{font-size:13px}
  .hero-product span{font-size:6px}
  .hero-product small{font-size:7px}
  .hero-media>img{height:280px}
  .brand strong{font-size:15px}
  .brand small{font-size:8px}
  .division-grid article{padding:25px 20px}
}
@media (min-width:1051px) and (max-width:1250px){
  .navigation{gap:11px;font-size:10.5px}
  .navigation .button{padding:10px 12px;font-size:11px}
  .header-inner{gap:15px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* ============================================================
   ROUND 2 — Aira-inspired refinement
   Deeper near-black green bands · amber accent · flat thin-border
   cards · pill CTAs · bigger editorial type · timeline signature ·
   dark footer bookend · moodier photography.
   ============================================================ */
:root{
  --dark:#0C1F15;
  --heat:#E8863B;
  --shadow-sm:0 1px 2px rgba(19,41,30,.04),0 2px 8px rgba(19,41,30,.04);
  --shadow-md:0 2px 6px rgba(19,41,30,.04),0 14px 34px -18px rgba(19,41,30,.18);
  --shadow-lg:0 22px 48px -20px rgba(8,26,16,.32);
}
h1{font-size:clamp(50px,5vw,74px);letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(34px,3.8vw,54px);letter-spacing:-.028em;line-height:1.05}
h3{font-size:26px}
.intro h2,.local h2,.faq h2{font-size:clamp(32px,3.4vw,46px)}
.contact h2{font-size:clamp(46px,4.6vw,66px)}
.cost-band h2{font-size:clamp(30px,3vw,42px)}
.product-layout h3{font-size:clamp(27px,2.8vw,36px)}
.reference-footer p{font-size:20px;line-height:1.3}

/* Pill CTAs (Aira-style) */
.button{border-radius:999px;padding:15px 27px}
.navigation .button{border-radius:999px}

/* Flatter, outline-first cards */
.steps article:hover{box-shadow:var(--shadow-md)}
.package:hover,.reference-card:hover{box-shadow:var(--shadow-md)}
.package.featured{box-shadow:0 10px 30px -16px rgba(14,90,56,.35)}
.package.featured::before{color:#231204;font-weight:800}
.hero-product{box-shadow:var(--shadow-lg)}
.promise-bar{box-shadow:var(--shadow-md)}

/* Deeper dark bands with warmer glow */
.cost-band,.contact{background-color:var(--dark)}
.cost-band{background-image:radial-gradient(640px 320px at 85% 8%,rgba(232,134,59,.20),transparent 62%),radial-gradient(520px 280px at 4% 96%,rgba(62,155,99,.24),transparent 60%)}
.contact{background-image:radial-gradient(760px 380px at 82% 0%,rgba(62,155,99,.28),transparent 62%),radial-gradient(560px 320px at 6% 100%,rgba(232,134,59,.16),transparent 60%)}
.contact-note>svg{color:var(--heat)}

/* Signature: funding timeline with amber nodes (Aira motif) */
.funding-steps{position:relative}
.funding-steps::before{content:"";position:absolute;left:11px;top:36px;bottom:46px;width:2px;background:var(--line-strong)}
.funding-steps article{position:relative}
.funding-steps article>span{position:relative;z-index:1;width:24px;height:24px;border:2px solid var(--heat);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:0;color:var(--foreground);background:var(--sand);margin-top:2px;flex-shrink:0}

/* Moody, warm photography treatment */
.hero-media>img,.local-image img,.reference-cover>img,.reference-expanded img{filter:saturate(1.07) contrast(1.03)}

/* Dark footer bookend (Aira rhythm) */
.footer{background:var(--dark);background-image:radial-gradient(700px 300px at 85% 0%,rgba(62,155,99,.16),transparent 60%);color:var(--on-dark)}
.footer-top p,.footer address{color:#9FB4A2}
.footer address strong{color:#fff}
.footer .brand small{color:#9FB4A2}
.footer-top>div:last-child a{color:#D7E4D6}
.footer-top>div:last-child a:hover{color:#F0B27A}
.legal{border-top:1px solid rgba(255,255,255,.12)}
.legal summary{color:#9FB4A2}
.legal p{color:#AFC5B0}
.legal>span{color:#8AA28D}

/* Mobile scale guards for the bigger type */
@media (max-width:767px){
  h1{font-size:clamp(40px,9.4vw,58px)}
  .contact h2{font-size:clamp(42px,11vw,50px)}
  .funding-steps::before{left:11px;top:34px;bottom:40px}
}
@media (max-width:360px){
  .hero h1{font-size:38px}
}

/* ============================================================
   ROUND 3 — Immersive dark hero (Aira-style first screen)
   Full-bleed near-black green stage behind a dark glass header,
   light type, mint/amber glows, photo with hairline edge, white
   product card straddling the soft dark→light seam.
   ============================================================ */
html,body{overflow-x:clip}
@media (min-width:1051px){
  .hero{padding-top:76px;padding-bottom:96px;min-height:calc(100svh - 132px)}
}
.hero{isolation:isolate}
.hero::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:100%;z-index:-1;pointer-events:none;background-color:var(--dark);background-image:linear-gradient(to bottom,rgba(250,249,244,0) calc(100% - 70px),var(--background) 100%),radial-gradient(760px 430px at 78% 16%,rgba(62,155,99,.32),transparent 62%),radial-gradient(560px 340px at 5% 86%,rgba(232,134,59,.15),transparent 60%)}
.hero .eyebrow{color:#9FD8AF}
.hero h1{color:#fff}
.hero h1 em{color:#8FD9A8;background:linear-gradient(0deg,rgba(62,155,99,.32),rgba(62,155,99,.32)) 0 82%/100% 34% no-repeat;padding:0 .05em;border-radius:2px}
.hero-description{color:#B7CBBE}
.hero-points{color:#A9C2AC}
.hero-points svg{color:#7FD6A0}
.hero .text-link{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.hero .text-link:hover{color:#F0B27A;border-bottom-color:#F0B27A}
.hero-media::before{border-color:rgba(255,255,255,.14)}
.hero-media>img{box-shadow:0 0 0 1px rgba(255,255,255,.12),var(--shadow-lg)}
.photo-label{background:rgba(12,31,21,.72);color:#E5EFE4;box-shadow:none}
/* Dark glass header chrome (immersive over hero, stays dark when sticky) */
.site-header{background:rgba(12,31,21,.88);border-bottom:1px solid rgba(255,255,255,.08)}
.brand strong{color:#fff}
.brand small{color:#93AC96}
.navigation>a:not(.button){color:#D7E4D6}
.navigation>a:not(.button):hover{color:#fff}
.navigation>a:not(.button)::after{background:#7FD6A0}
.menu-toggle{color:#E5EFE4}
.menu-toggle:hover{background:rgba(255,255,255,.08)}
/* Promise card straddles the dark→light seam */
.promise-bar{margin-top:-52px}
@media (max-width:767px){
  .hero{padding-top:44px;padding-bottom:76px}
  .promise-bar{margin-top:-40px}
}

/* ============================================================
   ROUND 4 — Fix: full-bleed dark footer band
   The footer element carries the .wrap class, so its dark
   background stopped at the 1280px content width and left light
   gutters at the page bottom. Pull the band edge-to-edge and
   re-constrain the inner content instead.
   ============================================================ */
.footer{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0}
.footer-top,.legal{width:min(1280px,100% - 96px);margin-inline:auto}
@media (max-width:1050px){
  .footer-top,.legal{width:calc(100% - 64px)}
}
@media (max-width:767px){
  .footer-top,.legal{width:calc(100% - 40px)}
}

/* ============================================================
   ROUND 5 — Legal compliance: structured Impressum / Datenschutz
   / Barrierefreiheit inside footer. Small-type, dark-theme aware.
   ============================================================ */
.legal{row-gap:26px}
.legal h4{color:#D7E4D6;font-size:11.5px;letter-spacing:.05em;margin:12px 0 4px;font-weight:700}
.legal p{margin:4px 0}
.legal a{text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:#F0B27A}
.legal-body{padding-bottom:8px}
.legal details[open] summary{color:#D7E4D6}

/* ============================================================
   ROUND 6 — "Neon-Tech" full-dark rebuild (Heatpunk-inspired)
   Whole page near-black green · electric mint accent · violet +
   amber radial glows · light product panels floating on dark ·
   monochrome strip · sticker badge · glow arch over footer.
   Content & markup unchanged — CSS overlay only.
   ============================================================ */
:root{
  --background:#0B100C;
  --foreground:#F2F6F0;
  --primary:#34D399;
  --primary-hover:#6EE7B7;
  --accent:#4EF09C;
  --muted:#9FAF9F;
  --soft:#131A14;
  --sand:#121710;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.18);
  --dark:#080D09;
  --violet:#7C3AED;
}
::selection{background:rgba(78,240,156,.32)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#4EF09C}

/* Base glow canvas + section separators */
body{background:
  radial-gradient(900px 480px at 88% -60px, rgba(78,240,156,.10), transparent 62%),
  radial-gradient(760px 420px at -10% 18%, rgba(124,58,237,.08), transparent 60%),
  var(--background)}
.division{background:transparent;border-color:var(--line)}
.funding{background:transparent;border-bottom:1px solid var(--line)}
.reference-section{background:transparent;border-color:var(--line)}

/* Header */
.site-header{background:rgba(8,13,9,.78);border-bottom:1px solid rgba(255,255,255,.08)}
.topline{background:#060A07;color:#B9C8BA}
.brand strong{color:#fff}
.brand small{color:#8FA694}
.brand-symbol{background:linear-gradient(145deg,#34D399,#0E5A38);box-shadow:0 0 24px -6px rgba(78,240,156,.55)}
.menu-toggle{color:#E5EFE4}
.navigation>a:not(.button){color:#C9D6CA}
.navigation>a:not(.button):hover{color:#fff}
.navigation>a:not(.button)::after{background:#4EF09C}

/* Buttons: neon pill + ghost */
.button-primary{background:var(--primary);color:#07130C;box-shadow:0 10px 34px -12px rgba(78,240,156,.55)}
.button-primary:hover{background:var(--primary-hover);color:#07130C!important;box-shadow:0 14px 40px -12px rgba(78,240,156,.7)}
.button-outline{color:#F2F6F0;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.25)}
.button-outline:hover{color:#4EF09C;border-color:#4EF09C;background:rgba(78,240,156,.08);box-shadow:none}
.button-light{color:#07130C;background:#fff}
.button-light:hover{background:#D9F5E4}
.text-link{border-bottom-color:rgba(255,255,255,.28)}
.text-link:hover{color:#4EF09C;border-bottom-color:#4EF09C}

/* Hero: glow stage, neon headline, backlit photo */
.hero{padding-top:70px}
.hero::before{background-color:transparent;background-image:
  radial-gradient(820px 460px at 80% 12%, rgba(78,240,156,.16), transparent 62%),
  radial-gradient(620px 380px at 6% 88%, rgba(124,58,237,.13), transparent 60%)}
.hero .eyebrow{color:#4EF09C}
.hero h1 em{color:#4EF09C;background:linear-gradient(0deg,rgba(78,240,156,.25),rgba(78,240,156,.25)) 0 82%/100% 34% no-repeat}
.hero-description{color:#B9C7BB}
.hero-points{color:#9FAF9F}
.hero-points svg{color:#4EF09C}
.hero-media::before{border-color:rgba(78,240,156,.22)}
.hero-media>img{box-shadow:0 0 0 1px rgba(255,255,255,.09),0 0 90px -28px rgba(78,240,156,.45)}

/* Promise strip → monochrome logo-band style */
.promise-bar{background:#111812;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px -24px rgba(0,0,0,.7);margin-top:-40px}
.promise-bar>div{border-right-color:rgba(255,255,255,.08)}
.promise-bar svg{color:#4EF09C;background:rgba(78,240,156,.10)}
.promise-bar span{color:#9FAF9F}
.promise-bar strong{color:#F2F6F0}

/* Steps / packages / division cards → dark slate with glow */
.steps article,.package,.reference-card{background:#111812;border-color:rgba(255,255,255,.08)}
.step-number{color:#4EF09C;background:rgba(78,240,156,.10)}
.steps h3,.package h3{color:#F2F6F0}
.package.featured{border-color:#34D399;box-shadow:0 16px 44px -20px rgba(78,240,156,.35)}
.package.featured::before{transform:rotate(-2deg);box-shadow:0 8px 22px -8px rgba(0,0,0,.6)}
.package ul,.division-grid li,.funding-steps article{border-color:rgba(255,255,255,.08)}
.package-bottom strong{color:#F2F6F0}
.diy{background:#111812}
.diy>svg{color:#4EF09C;background:rgba(78,240,156,.10)}
.expert>svg{background:rgba(78,240,156,.12);color:#4EF09C}
.expert .eyebrow{color:#4EF09C}
.expert li svg{color:#4EF09C}
.expert li{border-color:rgba(255,255,255,.10)}
.expert .fine{color:#9FB4A2}

/* Reference cards: dark, glass chips */
.reference-card{box-shadow:0 20px 50px -30px rgba(0,0,0,.8)}
.reference-cover>span{background:rgba(8,13,9,.78);color:#E5EFE4;backdrop-filter:blur(6px)}
.reference-body h3{color:#F2F6F0}
.reference-facts dd{color:#F2F6F0}
.reference-details summary{color:#4EF09C}
.reference-footer{border-top-color:rgba(255,255,255,.14)}
.reference-footer p{color:#B9C7BB}
.reference-footer strong{color:#F2F6F0}

/* Funding: amber nodes pop on dark */
.funding-steps article>span{background:rgba(232,134,59,.12);border-color:#E8863B}
.funding-steps::before{background:rgba(255,255,255,.14)}

/* Cost band + contact: neon glow pair */
.cost-band{background-color:#0A0F0B;background-image:
  radial-gradient(640px 320px at 85% 8%, rgba(232,134,59,.18), transparent 62%),
  radial-gradient(560px 300px at 8% 92%, rgba(124,58,237,.14), transparent 60%)}
.contact{background-color:#0A0F0B;background-image:
  radial-gradient(760px 400px at 80% 0%, rgba(78,240,156,.20), transparent 62%),
  radial-gradient(560px 320px at 8% 100%, rgba(124,58,237,.16), transparent 60%)}

/* Product section: light panel floating with neon backlight */
.product-layout figure{box-shadow:0 0 80px -30px rgba(78,240,156,.4)}
.product-layout p{color:#9FAF9F}
.product-layout figcaption{color:#8FA694}
.product-tags span{background:rgba(78,240,156,.08);border-color:rgba(255,255,255,.12);color:#C9D6CA}
.brand-tabs button{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2);color:#F2F6F0}
.brand-tabs button:hover{border-color:#4EF09C;color:#4EF09C}
.brand-tabs button[aria-pressed=true]{background:#F2F6F0;color:#07130C;border-color:#F2F6F0}
.geostandard-logo{box-shadow:0 0 26px -8px rgba(219,0,0,.5)}
.hero-product{color:#13291E}
.hero-product small{color:#5C6B5E}
.hero-product>svg{color:#0E5A38}

/* Local section */
.towns span{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);color:#E5EFE4}
.local-image img{box-shadow:0 0 0 1px rgba(255,255,255,.09),0 0 90px -30px rgba(124,58,237,.35)}
.local-image>span{background:rgba(8,13,9,.9)}
.local .button{margin-top:26px}

/* FAQ + legal */
.faq{border-top-color:var(--line)}
details{border-color:rgba(255,255,255,.08)}
details>p{color:#9FAF9F}
summary{color:#F2F6F0}
summary:hover{color:#4EF09C}
summary>span{border-color:rgba(255,255,255,.22);color:#E5EFE4}
details[open] summary>span{background:var(--primary);border-color:var(--primary);color:#07130C}
.legal summary{color:#8FA694}
.legal h4{color:#B9E8CC}
.legal p{color:#A9BBAC}
.legal{border-top-color:rgba(255,255,255,.1)}
.contact-note li{color:#C4D8C5}

/* Footer: darker well + glow arch signature */
.footer{background:#070B08;background-image:none;position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:130vw;height:300px;pointer-events:none;background:radial-gradient(58% 100% at 50% 100%, rgba(78,240,156,.16), rgba(124,58,237,.10) 46%, transparent 72%)}
.footer-top,.legal{position:relative;z-index:1}
.footer-top p{color:#8FA694}
.footer address{color:#8FA694}
.footer address strong{color:#F2F6F0}
.footer-top>div:last-child a{color:#C9D6CA}
.footer-top>div:last-child a:hover{color:#4EF09C}
.legal>span{color:#7C9280}
.legal p,.legal summary{color:#8FA694}

/* ============================================================
   ROUND 7 — "Wärmefluss" (v7, Autarkkraft/HeatGeek-inspired)
   Cold→warm light narrative: frost blue flows into ember orange.
   Dynamic photo backgrounds (CSS Ken-Burns) on hero, cost band
   and local band. Archivo display + Manrope + IBM Plex Mono.
   Dark ↔ paper rhythm. Content & markup unchanged — CSS only.
   ============================================================ */
@font-face{font-family:"Archivo";src:url(/assets/archivo-var.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/plexmono-medium.woff2)format("woff2");font-weight:500;font-display:swap}

:root{
  --ink:#0D1311; --ink-2:#151D1A; --paper:#F2F0EA;
  --frost:#8EC5D6; --glut:#FF7A2F; --moos:#1F6B47;
  --flow:linear-gradient(90deg,var(--frost) 0%,#C9C3A8 48%,var(--glut) 100%);
  --background:var(--ink); --foreground:#EEF2EE;
  --primary:var(--glut); --primary-hover:#FF9152;
  --accent:var(--frost); --muted:#A3B1AA;
  --soft:var(--ink-2); --sand:var(--ink-2);
  --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.26);
  --dark:var(--ink); --on-dark:#EEF2EE; --on-dark-muted:#A3B1AA;
  --font-display:"Archivo",Manrope,Arial,sans-serif;
  --radius:10px;
  --shadow-lg:0 40px 90px -40px rgba(0,0,0,.8);
  --shadow-md:0 24px 60px -30px rgba(0,0,0,.65);
  --shadow-sm:0 10px 30px -18px rgba(0,0,0,.6);
}
::selection{background:rgba(142,197,214,.32)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--glut);outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:800;font-stretch:114%;letter-spacing:-.03em}
h2{font-size:clamp(34px,4.2vw,62px);line-height:1}
h3{font-weight:750;font-stretch:110%;font-size:24px;letter-spacing:-.015em}
.eyebrow,.step-note,.package-tag,.package-bottom strong,.reference-label,.photo-label,.local-image>span,.topline,.legal>span,.contact-email,.funding-steps article>span{font-family:"Plex Mono",ui-monospace,Menlo,monospace;font-weight:500}
.hero h1{font-size:clamp(46px,6.2vw,96px);line-height:.94;letter-spacing:-.035em;font-stretch:118%}
.hero h1 em,.intro h2 span{font-style:normal;background:var(--flow);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:v7flow 9s ease-in-out infinite alternate}
@keyframes v7flow{from{background-position:0% 0}to{background-position:100% 0}}
@keyframes v7kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-1.6%,-1.2%)}}
@keyframes v7pulse{0%{box-shadow:0 0 0 0 rgba(255,122,47,.5)}70%{box-shadow:0 0 0 9px rgba(255,122,47,0)}100%{box-shadow:0 0 0 0 rgba(255,122,47,0)}}

/* ---------- Kopfzeile ---------- */
.topline{background:rgba(13,19,17,.6);color:var(--muted);font-size:11px;letter-spacing:.08em}
.topline a:hover{color:var(--glut)}
.site-header{background:rgba(13,19,17,.72);border-bottom-color:rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand strong{color:#fff;font-stretch:112%;letter-spacing:-.01em}
.brand small{color:var(--muted);letter-spacing:.14em}
.brand-symbol{background:var(--ink-2);border:1px solid rgba(255,255,255,.14);color:var(--frost);box-shadow:none;border-radius:11px;position:relative;overflow:hidden}
.brand-symbol::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--flow)}
.navigation>a:not(.button){color:#D3DCD6}
.navigation>a:not(.button):hover{color:#fff}
.navigation>a:not(.button)::after{background:var(--flow)}
.menu-toggle{color:#EEF2EE}
.menu-toggle:hover{background:rgba(255,255,255,.08)}

/* ---------- Buttons ---------- */
.button{border-radius:10px;font-size:14px}
.button-primary{background:var(--glut);color:#1A0C03;box-shadow:0 12px 32px -14px rgba(255,122,47,.8)}
.button-primary:hover{background:#FF9152;color:#1A0C03!important;box-shadow:0 16px 40px -14px rgba(255,122,47,.9)}
.button-outline{color:#EEF2EE;background:rgba(13,19,17,.35);border-color:rgba(255,255,255,.32);backdrop-filter:blur(6px)}
.button-outline:hover{color:var(--frost);border-color:var(--frost);background:rgba(13,19,17,.5);box-shadow:none}
.button-light{background:var(--glut);color:#1A0C03;box-shadow:0 12px 32px -14px rgba(255,122,47,.8)}
.button-light:hover{background:#FF9152;color:#1A0C03}
.text-link{border-bottom-color:rgba(255,255,255,.3)}
.text-link:hover{color:var(--glut);border-bottom-color:var(--glut)}

/* ---------- Hero: dynamische Fotobühne (Ken-Burns) ---------- */
.hero{padding-top:76px;padding-bottom:96px;min-height:calc(100svh - 132px)}
.hero::before{content:"";position:absolute;top:-4%;left:50%;transform:translateX(-50%);width:100vw;height:108%;z-index:-2;pointer-events:none;
  background-image:url(/assets/technical-exchange.jpg);background-size:cover;background-position:42% 50%;
  animation:v7kb 30s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:100%;z-index:-1;pointer-events:none;
  background-image:none,
  linear-gradient(90deg,rgba(13,19,17,.94) 0%,rgba(13,19,17,.72) 40%,rgba(13,19,17,.28) 74%,rgba(13,19,17,.4) 100%),
  linear-gradient(0deg,var(--ink) 0%,rgba(13,19,17,0) 30%),
  linear-gradient(180deg,rgba(13,19,17,.62) 0%,rgba(13,19,17,0) 24%);
  background-size:140px 140px,cover,cover,cover;opacity:1}
.hero .eyebrow{color:var(--frost);letter-spacing:.16em;font-size:11.5px}
.hero .eyebrow>span{background:var(--glut);animation:v7pulse 2.2s infinite}
.hero-description{color:#C9D3CD;font-size:17px;line-height:1.75}
.hero-points{color:#C2CCC6;font-size:13px;letter-spacing:0}
.hero-points svg{color:var(--glut);width:15px;height:15px}
.hero-media{z-index:2}
.hero-media::before{display:none}
.hero-media>img{border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.14),var(--shadow-lg);filter:saturate(1.05)}
.photo-label{background:rgba(13,19,17,.72);color:#D6DED9;font-size:10px;letter-spacing:.14em;backdrop-filter:blur(8px)}
.live-dot{background:var(--glut)}
.hero-product{background:var(--paper);color:var(--ink);border:0;border-radius:14px}
.hero-product span{color:var(--moos);letter-spacing:.14em}
.hero-product small{color:#56635C}
.hero-product>svg{color:var(--moos)}
.hero .text-link{color:#fff}
.hero .text-link:hover{color:var(--glut);border-bottom-color:var(--glut)}

/* ---------- Leistungsleiste ---------- */
.promise-bar{background:rgba(13,19,17,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:none;margin-top:-52px;border-radius:14px}
.promise-bar>div{border-right-color:rgba(255,255,255,.12)}
.promise-bar svg{color:var(--frost);background:rgba(142,197,214,.1);border-radius:10px}
.promise-bar span{color:var(--muted)}
.promise-bar strong{color:#EEF2EE}

/* ---------- 01 Ablauf ---------- */
.intro h2 span{color:transparent}
.steps article{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:none;transition:border-color .3s,transform .3s}
.steps article:hover{border-color:rgba(255,255,255,.28);transform:translateY(-3px);box-shadow:none}
.steps p{color:#B9C4BE}
.step-number{color:var(--frost);background:transparent;border:2px solid var(--frost);border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:14px;letter-spacing:.04em;margin-bottom:22px}
.steps article:nth-child(2) .step-number{border-color:#C9C3A8;color:#E4DECA}
.steps article:nth-child(3) .step-number{border-color:var(--glut);color:var(--glut);background:#1D130D}
.step-note{color:var(--muted);border-top-color:rgba(255,255,255,.12);letter-spacing:.14em;font-size:10.5px;padding-top:16px}

/* ---------- 02 Eigenleistung ---------- */
.division{background:transparent;border-color:rgba(255,255,255,.08)}
.division-grid article{border-radius:22px}
.diy{background:#fff;color:var(--ink);border:1px solid #E1DED4;box-shadow:0 40px 80px -50px rgba(13,19,17,.45)}
.diy>svg{color:#2F7F98;background:rgba(47,127,152,.1)}
.diy .eyebrow{color:#2F7F98}
.diy li{border-color:#E6E3DA}
.diy li svg{color:#2F7F98}
.diy .fine{color:#5E6A64}
.expert{background:var(--ink-2);border:1px solid rgba(255,255,255,.12);box-shadow:none}
.expert>svg{color:var(--glut);background:rgba(255,122,47,.12)}
.expert .eyebrow{color:var(--glut)}
.expert li{border-color:rgba(255,255,255,.12)}
.expert li svg{color:var(--glut)}
.expert .fine{color:var(--muted)}

/* ---------- 03 Pakete (helle Sektion) ---------- */
.section[id="pakete"]{background:var(--paper);color:var(--ink)}
.section[id="pakete"] .section-heading>p:last-child{color:#4C5852}
.packages{gap:18px}
.package{background:#fff;border:1px solid #E1DED4;border-radius:22px;box-shadow:none}
.package:hover{box-shadow:0 30px 60px -40px rgba(13,19,17,.4)}
.package-tag{color:var(--moos);letter-spacing:.14em;font-size:10.5px}
.package>p{color:#56635C}
.package li{font-size:14.5px;font-weight:600}
.package li svg{color:var(--moos)}
.package ul{border-top-color:#E6E3DA}
.package-bottom strong{color:#6A756F;letter-spacing:.12em;font-size:11px}
.package .button{border-radius:10px}
.section[id="pakete"] .button-outline,.reference-footer .button-outline{color:var(--ink);background:#fff;border-color:rgba(13,19,17,.28);backdrop-filter:none}
.section[id="pakete"] .button-outline:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.package.featured{background:var(--ink);color:#EEF2EE;border:0;box-shadow:0 30px 70px -35px rgba(13,19,17,.7);overflow:hidden}
.package.featured::before{content:"Beliebt";background:var(--glut);color:#1A0C03;font-family:"Plex Mono",monospace;letter-spacing:.09em;top:22px;right:22px}
.package.featured::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--flow)}
.package.featured h3{color:#EEF2EE}
.package.featured>p{color:#B9C4BE}
.package.featured ul{border-top-color:rgba(255,255,255,.12)}
.package.featured li svg{color:var(--glut)}
.package.featured .package-bottom strong{color:var(--muted)}
.package.featured .button{background:var(--glut);color:#1A0C03;border:0}
.package.featured .button:hover{background:#FF9152;color:#1A0C03}

/* ---------- Kosten-Band: dynamischer Hintergrund ---------- */
.cost-band{background:var(--ink);position:relative;overflow:hidden;isolation:isolate;padding:clamp(96px,11vw,150px) 0}
.cost-band::before{content:"";position:absolute;inset:-4%;z-index:-2;background-image:url(/assets/reference-brieselang-house.jpg);background-size:cover;background-position:60% 60%;animation:v7kb 34s ease-in-out infinite alternate}
.cost-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:none,linear-gradient(90deg,rgba(13,19,17,.95) 0%,rgba(13,19,17,.8) 44%,rgba(13,19,17,.32) 100%),linear-gradient(180deg,rgba(13,19,17,.55) 0%,rgba(13,19,17,0) 22%,rgba(13,19,17,0) 78%,rgba(13,19,17,.6) 100%);background-size:140px 140px,cover,cover,cover}
.cost-band>.wrap{position:relative;z-index:2}
.cost-sign{background:var(--glut);color:#1A0C03;width:76px;height:76px;border-radius:18px;display:grid;place-items:center;font-size:38px;box-shadow:0 18px 40px -16px rgba(255,122,47,.8)}
.cost-band .eyebrow{color:var(--frost);letter-spacing:.16em}
.cost-band h2{color:#fff}
.cost-band p:not(.eyebrow){color:#C9D3CD}
.cost-band .text-link{color:#fff}
.cost-band .text-link:hover{color:var(--glut);border-bottom-color:var(--glut)}

/* ---------- 04 Wärmepumpen ---------- */
.brand-tabs{gap:6px;padding:6px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);border-radius:999px;display:inline-flex}
.brand-tabs button{background:transparent;border:0;color:#C2CCC6;border-radius:999px;min-height:44px;font-weight:700}
.brand-tabs button:hover{color:#fff}
.brand-tabs button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.product-layout figure{background:#fff;border:0;border-radius:22px;box-shadow:none}
.product-layout figure>img{mix-blend-mode:normal}
.product-layout figcaption{color:var(--muted)}
.product-layout p{color:#B9C4BE}
.product-tags span{background:transparent;border:1px solid rgba(255,255,255,.16);color:#D3DCD6}
.geostandard-logo{border-radius:8px}
.borochi-title{font-family:var(--font-display);font-weight:800;font-stretch:118%;font-size:32px;letter-spacing:-.02em;line-height:1;color:#fff}
.borochi-title span{display:block;margin-top:6px;font-family:"Plex Mono",monospace;font-weight:500;font-size:10.5px;letter-spacing:.2em;color:var(--frost)}

/* ---------- Referenzprojekte (helle Sektion) ---------- */
.reference-section{background:var(--paper);color:var(--ink);border:0}
.reference-section .eyebrow{color:var(--moos);font-size:11.5px;letter-spacing:.16em}
.reference-section .split>p{color:#4C5852}
.reference-card{border:1px solid #E1DED4;border-radius:22px;box-shadow:none}
.reference-card:hover{box-shadow:0 30px 60px -40px rgba(13,19,17,.4)}
.reference-cover>span{background:rgba(13,19,17,.8);color:#fff;backdrop-filter:blur(8px)}
.reference-label{color:var(--moos);letter-spacing:.14em;font-size:10.5px}
.reference-body h3{color:var(--ink)}
.reference-description{color:#4C5852}
.reference-facts>div{border-top-color:#E6E3DA;grid-template-columns:110px 1fr}
.reference-facts dt{color:#6A756F;font-family:"Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding-top:2px}
.reference-facts dd{color:var(--ink)}
.reference-details summary{color:var(--ink);font-weight:700}
.reference-details summary:hover{color:var(--moos)}
.reference-expanded p{color:#4C5852}
.reference-expanded figcaption{color:#6A756F}
.reference-card:first-child .reference-expanded img{background:#F3F5F0}
.reference-footer{background:var(--ink);color:#fff;border:0;border-radius:22px;padding:26px 30px;margin-top:26px}
.reference-footer p{color:#fff}
.reference-footer strong{color:#fff}
.reference-footer .text-link{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.reference-footer .text-link:hover{color:var(--glut);border-bottom-color:var(--glut)}

/* ---------- Förderung ---------- */
.funding{background:transparent;border-bottom:1px solid rgba(255,255,255,.08)}
.funding .eyebrow{color:var(--frost);letter-spacing:.16em}
.funding-grid>div>p:not(.eyebrow){color:#C2CCC6}
.funding-steps article{border-top-color:rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);align-items:center}
.funding-steps article>span{background:var(--flow);-webkit-background-clip:text;background-clip:text;color:transparent;border:0;border-radius:0;width:auto;height:auto;font-size:44px;font-weight:800;font-family:var(--font-display);font-stretch:118%;letter-spacing:-.02em}
.funding-steps h3{color:#EEF2EE}
.funding-steps p{color:#B9C4BE}
.funding .fine{border:1px solid rgba(255,122,47,.35);background:rgba(255,122,47,.06);color:#D9C8BC;padding:16px 18px;border-radius:14px;font-size:13.5px;max-width:560px;margin-top:26px}
.funding .text-link{color:var(--frost);border-bottom-color:rgba(142,197,214,.4)}
.funding .text-link:hover{color:#fff;border-bottom-color:#fff}

/* ---------- Vor-Ort: dynamisches Band 2 ---------- */
.local{position:relative;overflow:hidden;isolation:isolate;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);padding:clamp(96px,11vw,150px) 0;background:var(--ink)}
.local::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:none,linear-gradient(90deg,rgba(13,19,17,.32) 0%,rgba(13,19,17,.78) 55%,rgba(13,19,17,.95) 100%),linear-gradient(180deg,rgba(13,19,17,.55) 0%,rgba(13,19,17,0) 22%,rgba(13,19,17,0) 78%,rgba(13,19,17,.6) 100%);background-size:140px 140px,cover,cover,cover;z-index:1}
.local-image{position:absolute;inset:0;z-index:0}
.local-image img{width:100%;height:100%;height:100%;object-fit:cover;object-position:35% center;border-radius:0;box-shadow:none;filter:saturate(1.05);animation:v7kb 36s ease-in-out infinite alternate}
.local-image>span{position:absolute;top:34px;left:max(24px,calc((100% - 1320px)/2));background:transparent;color:var(--muted);padding:0;font-size:10.5px;letter-spacing:.14em;border-radius:0}
.local>div:last-child{position:relative;z-index:2;margin-left:auto;max-width:600px}
.local .eyebrow{color:var(--frost)}
.local h2{color:#fff}
.local>div>p:not(.eyebrow){color:#C9D3CD}
.towns span{background:rgba(13,19,17,.45);border:1px solid rgba(255,255,255,.22);color:#EEF2EE;backdrop-filter:blur(6px);display:inline-flex;align-items:center;gap:8px;font-weight:700}
.towns span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--glut)}
.towns span:first-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.local .fine{color:var(--muted)}
.local .button{margin-top:26px}

/* ---------- FAQ (helle Sektion) ---------- */
.faq{border-top:0}
.faq h2{color:var(--ink)}
.faq .eyebrow{color:var(--moos);letter-spacing:.16em}
.faq details{border-color:#D8D4C8}
.faq summary{color:var(--ink);font-family:var(--font-display);font-weight:700;font-stretch:108%;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.01em}
.faq summary:hover{color:var(--moos)}
.faq summary>span{border-color:#CFCABD;color:var(--ink)}
.faq details[open] summary>span{background:var(--glut);border-color:var(--glut);color:#1A0C03}
.faq details>p{color:#4C5852;font-size:15.5px}

/* ---------- Kontakt ---------- */
.contact{background:var(--ink);background-image:radial-gradient(900px 520px at 86% -8%,rgba(255,122,47,.2),transparent 62%),radial-gradient(700px 460px at -6% 104%,rgba(142,197,214,.14),transparent 60%)}
.contact .eyebrow{color:var(--frost);letter-spacing:.16em}
.contact h2{color:#fff;font-size:clamp(46px,6.6vw,104px);line-height:.92}
.contact p:not(.eyebrow){color:#C9D3CD}
.contact-email{color:var(--frost);font-size:14px;letter-spacing:.02em}
.contact-email:hover{color:#fff}
.contact-note{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);border-radius:22px}
.contact-note>svg{color:var(--glut)}
.contact-note h3{color:#fff}
.contact-note li{color:#C4D8C5;border-top-color:rgba(255,255,255,.12)}

/* ---------- Footer ---------- */
.footer{background:#080C0B;overflow:hidden}
.footer::before{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:min(1280px,92vw);height:3px;background:var(--flow);opacity:.85}
.footer .brand small{color:var(--muted)}
.footer-top p{color:var(--muted)}
.footer address{color:#C2CCC6}
.footer address strong{color:#EEF2EE}
.footer-top>div:last-child a{color:#D3DCD6}
.footer-top>div:last-child a:hover{color:var(--glut)}
.legal{border-top-color:rgba(255,255,255,.12)}
.legal summary{color:#D3DCD6}
.legal h4{color:#E4EAE6}
.legal p{color:#A9BBAC}
.legal a{color:var(--frost)}
.legal a:hover{color:#fff}
.legal>span{color:var(--muted)}
.legal mark{background:rgba(255,122,47,.18);color:#FFB488;padding:0 4px;border-radius:3px}

/* ---------- Responsive Feinabstimmung ---------- */
@media (max-width:1200px){
  .cost-band>.wrap{grid-template-columns:76px 1fr}
  .cost-sign{width:64px;height:64px;font-size:32px}
}
@media (max-width:1050px){
  .navigation{background:rgba(13,19,17,.97);border-bottom-color:rgba(255,255,255,.12)}
  .hero{padding-top:60px;padding-bottom:80px}
}
@media (max-width:767px){
  .hero h1{font-size:clamp(40px,11.4vw,58px);font-stretch:108%}
  .hero{padding-top:44px;padding-bottom:72px;min-height:0}
  .hero::before{background-position:38% 50%}
  .hero::after{background-image:none,linear-gradient(180deg,rgba(13,19,17,.8) 0%,rgba(13,19,17,.66) 40%,rgba(13,19,17,.92) 80%,var(--ink) 100%);background-size:140px 140px,cover}
  .steps article{background:rgba(255,255,255,.03)}
  .cost-band{padding:88px 0}
  .cost-band>.wrap{grid-template-columns:1fr}
  .cost-band .text-link{grid-column:1}
  .local{width:auto;max-width:none;margin-left:0;padding:72px 0}
  .local-image{position:relative;inset:auto;margin-bottom:26px}
  .local-image img{height:300px;border-radius:16px;animation:none}
  .local-image>span{position:static;display:block;background:var(--ink-2);color:var(--muted);border-radius:0 0 14px 14px;padding:13px 18px;margin-top:-1px;font-size:9px}
  .local>div:last-child{max-width:none;margin-left:0}
  .local::before{display:none}
  .contact h2{font-size:clamp(44px,13vw,64px)}
  .reference-footer{flex-direction:column;align-items:start;padding:24px 20px}
  .legal mark{word-break:break-word}
}
@media (prefers-reduced-motion:reduce){
  .hero::before,.cost-band::before,.local-image img{animation:none}
  .hero h1 em,.intro h2 span{animation:none}
  .hero .eyebrow>span{animation:none}
}
/* --- ROUND 7b — Kontrast-Fixes aus dem Screenshot-Review --- */
section.faq{background:var(--paper);color:var(--ink)}
.section[id="pakete"] .package h3{color:var(--ink)}
.reference-card{background:#fff}
.local::before{background-image:none,linear-gradient(90deg,rgba(13,19,17,.95) 0%,rgba(13,19,17,.78) 45%,rgba(13,19,17,.32) 100%),linear-gradient(180deg,rgba(13,19,17,.55) 0%,rgba(13,19,17,0) 22%,rgba(13,19,17,0) 78%,rgba(13,19,17,.6) 100%)}
h1,h2{transform:translateZ(0)}

/* v7.1: video background for .cost-band */
video.cost-band-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.cost-band:has(video.cost-band-video)::before{visibility:hidden}

/* v7.2: remove frosted/noise overlay when cost-band shows video */
.cost-band:has(video.cost-band-video)::after{background-image:none}
.cost-band:has(video.cost-band-video) .wrap{text-shadow:0 1px 3px rgba(10,15,11,.5)}

/* v7.3: video background for .local (vor-ort) band */
.local-image video.vor-ort-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.local-image:has(video.vor-ort-video) img{visibility:hidden}
.local:has(video.vor-ort-video)::before{background-image:none}
.local:has(video.vor-ort-video) .local-image>span,.local:has(video.vor-ort-video)>div:last-child{text-shadow:0 1px 3px rgba(10,15,11,.5)}
@media (max-width:767px){.local-image video.vor-ort-video{border-radius:16px}}

/* v7.3.2: restore wrap side insets in full-bleed vor-ort band (fix text clipping) */
.local{padding-left:max(24px,calc((100% - 1320px)/2));padding-right:max(24px,calc((100% - 1320px)/2))}
@media (max-width:767px){.local{padding-left:20px;padding-right:20px}}

/* v7.5: video card in hero right column (photo replaced, grain mask kept, tuned) */
.hero-media>video.hero-card-video{border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.14),var(--shadow-lg);filter:saturate(1.05);display:block}
.hero-media:has(video.hero-card-video)>img{display:none}
.hero-media:has(video.hero-card-video)::after{content:"";position:absolute;top:0;left:0;right:0;bottom:70px;z-index:1;pointer-events:none;background-image:none;background-size:140px 140px;opacity:.45}
.hero-media:has(video.hero-card-video) .hero-product,.hero-media:has(video.hero-card-video) .photo-label{z-index:2}
.hero-media>video.hero-card-video{object-position:50% 30%;box-shadow:0 0 0 1px rgba(255,255,255,.14),var(--shadow-lg);filter:saturate(1.05)}
@media (min-width:1600px){.hero-media>video.hero-card-video{height:455px}}
@media (max-width:1050px){.hero-media>video.hero-card-video{height:375px}}
@media (max-width:767px){.hero-media>video.hero-card-video{height:320px;border-radius:14px}}
@media (max-width:360px){.hero-media>video.hero-card-video{height:280px}}

/* v7.6: hide skip link (Zum Inhalt) */
.skip-link{display:none!important}

/* v7.6.1: lock card video to the exact photo-window geometry (no :has dependency) */
.hero-media.has-card-video>img{display:none}
.hero-media.has-card-video::after{content:"";position:absolute;top:0;left:0;right:0;bottom:70px;z-index:1;pointer-events:none;background-image:none;background-size:140px 140px;opacity:.45}
.hero-media.has-card-video .hero-product,.hero-media.has-card-video .photo-label{z-index:2}
.hero-media>video.hero-card-video{min-width:0;max-width:100%}

/* v7.6.2: grain on backgrounds only - card video plays clean */
.hero-media.has-card-video::after,.hero-media:has(video.hero-card-video)::after{display:none}
.hero:has(video.hero-video)::after{background-image:none,linear-gradient(90deg,rgba(13,19,17,.86) 0%,rgba(13,19,17,.6) 40%,rgba(13,19,17,.2) 74%,rgba(13,19,17,.32) 100%),linear-gradient(0deg,var(--ink) 0%,rgba(13,19,17,0) 30%),linear-gradient(180deg,rgba(13,19,17,.62) 0%,rgba(13,19,17,0) 24%);background-size:140px 140px,cover,cover,cover}

