@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(schriften/barlow-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(schriften/barlow-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(schriften/barlow-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(schriften/barlow-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(schriften/barlow-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(schriften/barlow-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(schriften/barlow-condensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(schriften/barlow-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(schriften/barlow-condensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(schriften/barlow-condensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Reinsteiner Bau – Handwerksbetrieb, hell und sachlich. Farben aus dem Logo, Schrift wie Baustellenbeschilderung. */
:root{
  --navy:#15396b;
  --navy-dk:#0d2646;
  --orange:#ec6a1e;
  --orange-dk:#c9550f;
  --ink:#1a2330;
  --grey:#5a6573;
  --line:#dde3ea;
  --stone:#f2f4f6;
  --bg:#ffffff;
  --head:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.08;margin:0;color:var(--navy-dk);text-wrap:balance}
h1{font-size:clamp(2.4rem,5.2vw,3.9rem);letter-spacing:-.005em}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
h3{font-size:1.35rem}
p{margin:0}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.label{font:600 .8rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk)}
.lead{font-size:1.12rem;color:var(--grey);max-width:62ch}
section{padding-block:88px}
.sec-head{display:grid;gap:14px;margin-bottom:44px}

/* Knöpfe */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:3px;font:600 1rem/1 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-o{background:var(--orange);color:#fff}
.btn-o:hover{background:var(--orange-dk)}
.btn-l{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-l:hover{background:var(--navy);color:#fff}

/* Kopf */
.top{background:var(--navy-dk);color:#c9d5e4;font-size:.88rem}
.top .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;padding-block:7px}
.top a{color:#fff;text-decoration:none}
.top-kontakt{display:flex;gap:18px;flex-wrap:wrap}
.top-zeit{color:#9fb1c8;margin-left:-10px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:#fff}
header.kopf{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.kopf .logo img{height:58px;width:auto}
.kopf nav{display:flex;align-items:center;gap:26px}
.kopf nav a{text-decoration:none;color:var(--ink);font-weight:500}
.kopf nav a:hover{color:var(--orange-dk)}
.kopf nav .btn{color:#fff;padding:11px 18px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:3px;padding:8px 12px;font:600 .95rem var(--body);color:var(--navy)}

/* Einstieg */
.hero{padding-block:64px 72px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero-text{display:grid;gap:22px;min-width:0}
.hero .knopfe{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.fakten{display:flex;flex-wrap:wrap;gap:10px 28px;margin:10px 0 0;padding:18px 0 0;border-top:1px solid var(--line);list-style:none;color:var(--grey);font-size:.95rem}
.fakten b{color:var(--ink);font-weight:600}
.plan{background:#fff;border:1px solid var(--line);border-radius:4px;padding:14px;box-shadow:0 18px 40px -26px rgba(13,38,70,.45)}
.plan svg{width:100%;height:auto;display:block}
.plan .ln{fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.plan .ln.o{stroke:var(--orange)}
.plan .ln.d{stroke:#8b97a6;stroke-width:1.2}
.plan .ln.h{stroke:#aab4c0;stroke-width:1.1}
.plan text{font:500 13px var(--body);fill:var(--grey)}
.plan .tb{font:600 11px var(--body);letter-spacing:.12em;fill:var(--navy)}
.plan .rast{stroke:#edf0f4;stroke-width:1}
@media (prefers-reduced-motion:no-preference){
  .plan .ln{animation:zeichnen 1.1s cubic-bezier(.55,.1,.3,1) backwards;animation-delay:var(--d,0s)}
  .plan .txt{animation:auf .6s ease backwards;animation-delay:var(--d,2.4s)}
}
@keyframes zeichnen{from{stroke-dashoffset:1}}
@keyframes auf{from{opacity:0}}

/* Gewerke-Band */
.gewerke{background:var(--navy-dk);overflow:hidden;padding-block:16px}
.gewerke-spur{display:flex;width:max-content}
.gewerke ul{display:flex;margin:0;padding:0;list-style:none}
.gewerke li{display:flex;align-items:center;white-space:nowrap;font:600 1.15rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.gewerke li::after{content:"";width:7px;height:7px;margin-inline:26px;background:var(--orange);transform:rotate(45deg)}
@media (prefers-reduced-motion:no-preference){
  .gewerke-spur{animation:gleiten 45s linear infinite}
  .gewerke:hover .gewerke-spur{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){
  .gewerke-spur{width:auto}
  .gewerke ul{flex-wrap:wrap;justify-content:center;row-gap:10px;padding-inline:16px}
  .gewerke ul[aria-hidden]{display:none}
}
@keyframes gleiten{to{transform:translateX(-50%)}}

/* Leistungen */
.l-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.karte{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 22px 22px;background:#fff;border:1px solid var(--line);border-radius:4px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s;min-width:0}
.karte::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--orange);transition:width .3s ease}
.karte .code{font:600 .74rem/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--grey)}
.karte p{color:var(--grey);font-size:.98rem}
.karte .spec{font-size:.88rem;color:var(--navy);font-weight:500}
.karte .eigen{position:absolute;top:18px;right:16px;font:600 .68rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dk);border:1px solid #f3c4a6;padding:4px 6px;border-radius:2px}
.karte ul{margin:0;padding:12px 0 0;list-style:none;border-top:1px dashed var(--line);display:grid;gap:4px;font-size:.92rem}
.karte li::before{content:"– ";color:var(--orange)}
.karte.gross{grid-column:span 2;background:var(--navy);border-color:var(--navy)}
.karte.gross h3,.karte.gross .spec{color:#fff}
.karte.gross p,.karte.gross .code,.karte.gross li{color:#c7d3e3}
.karte.gross ul{border-color:rgba(255,255,255,.2)}
@media (hover:hover){
  .karte ul{max-height:0;overflow:hidden;opacity:0;padding-top:0;border-top-color:transparent;transition:max-height .35s ease,opacity .3s ease,padding .3s}
  .karte:hover,.karte:focus-within{transform:translateY(-5px);box-shadow:0 16px 30px -20px rgba(13,38,70,.5)}
  .karte:hover::after,.karte:focus-within::after{width:100%}
  .karte:hover ul,.karte:focus-within ul{max-height:140px;opacity:1;padding-top:12px;border-top-color:var(--line)}
  .karte.gross:hover ul{border-top-color:rgba(255,255,255,.2)}
}

/* Generalunternehmer */
.gu{background:var(--navy-dk);color:#d3dceb}
.gu h2{color:#fff}
.gu .label{color:#f39a63}
.gu .lead{color:#b5c3d6}
.vergleich{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:48px}
.vergleich > div{padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:4px;min-width:0}
.vergleich .mit{background:rgba(255,255,255,.05);border-color:var(--orange)}
.vergleich h3{color:#fff;margin-bottom:12px}
.vergleich ul{margin:0;padding-left:20px;display:grid;gap:6px}
.kette{display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none;margin:0;padding:0;counter-reset:k}
.kette li{padding:18px 18px 0 0;border-top:2px solid rgba(255,255,255,.18);min-width:0}
.kette b{display:block;color:#fff;font:700 1.15rem/1.2 var(--head);margin-bottom:6px}
.kette span{font-size:.9rem;color:#a9b8cc}

/* Über uns */
.ueber .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.ueber .intro{display:grid;gap:18px;position:sticky;top:120px}
.chronik{list-style:none;margin:0;padding:0;display:grid;gap:0}
.chronik li{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.chronik .jahr{font:700 1.4rem/1 var(--head);color:var(--orange-dk)}
.chronik h3{margin-bottom:8px}
.chronik p{color:var(--grey)}
.werte{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.werte div{padding-top:14px;border-top:3px solid var(--navy)}
.werte b{display:block;font:700 1.15rem var(--head);color:var(--navy-dk);margin-bottom:6px}
.werte p{color:var(--grey);font-size:.95rem}

/* Ablauf */
.ablauf{background:var(--stone)}
.schritte{--p:0;position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;list-style:none;margin:0;padding:0}
.schritte::before,.schritte::after{content:"";position:absolute;top:21px;left:22px;right:calc(20% - 2px);height:4px;border-radius:2px;background:#d4dbe3}
.schritte::after{background:var(--orange);right:auto;width:calc((80% - 20px) * var(--p));transition:width .15s linear}
.schritt{position:relative;display:grid;gap:10px;min-width:0}
.punkt{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #c3ccd7;font:700 1.15rem var(--head);color:var(--grey);transition:background .3s,border-color .3s,color .3s}
.schritt.fertig .punkt{background:var(--orange);border-color:var(--orange);color:#fff}
.schritt p{color:var(--grey);font-size:.96rem}

/* Anfrage */
.anfrage .wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:start}
form{display:grid;gap:18px;min-width:0}
.feld{display:grid;gap:6px;min-width:0}
.reihe{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label,legend{font-weight:600;font-size:.95rem}
input,select,textarea{width:100%;font:400 1rem var(--body);padding:11px 12px;border:1px solid #c8d0da;border-radius:3px;background:#fff;color:var(--ink)}
textarea{min-height:110px;resize:vertical}
fieldset{border:0;padding:0;margin:0;min-width:0}
.checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.checks label{display:inline-flex;align-items:center;gap:7px;font-weight:500;padding:8px 12px;border:1px solid #c8d0da;border-radius:3px;cursor:pointer}
.checks input{width:auto;margin:0;accent-color:var(--orange)}
.checks label:has(input:checked){border-color:var(--orange);background:#fff4ec}
.hinweis{font-size:.88rem;color:var(--grey)}
.fehler{color:#b3261e;font-size:.92rem}
.ergebnis{border:2px solid var(--orange);border-radius:4px;padding:22px;display:grid;gap:12px;background:#fffaf6}
.ergebnis pre{margin:0;white-space:pre-wrap;font:400 .9rem/1.5 ui-monospace,Menlo,monospace;background:#fff;border:1px solid var(--line);padding:12px;max-height:260px;overflow:auto}
.ergebnis .knopfe{display:flex;flex-wrap:wrap;gap:10px}
.kontakt{background:var(--stone);border-radius:4px;padding:26px;display:grid;gap:18px}
.kontakt dl{margin:0;display:grid;gap:14px}
.kontakt dt{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.kontakt dd{margin:2px 0 0;font-weight:500}
.kontakt img{width:160px;mix-blend-mode:multiply}

/* Fuß */
footer{background:var(--navy-dk);color:#aebdd0;font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding-block:28px}
footer a{color:#fff;text-decoration:none;margin-right:16px}
footer a:hover{text-decoration:underline}

/* Unterseiten */
.recht{padding-block:56px 80px}
.recht .wrap{max-width:820px}
.recht h1{margin-bottom:28px}
.recht h2{font-size:1.5rem;margin:32px 0 10px}
.recht h3{margin:22px 0 8px}
.recht p,.recht li{color:#38424f;margin-bottom:10px}
.recht .stand{color:var(--grey);margin:-16px 0 20px}
.recht .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.recht .tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:3px;text-decoration:none;font-weight:500}
.recht .tabs a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}
.recht .para{padding-top:6px}
.recht h2 span{color:var(--orange-dk);margin-right:10px}
.recht .kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:8px 0 14px}
.recht .kv dt{font-weight:600}.recht .kv dd{margin:0;color:#38424f}
.recht .sel{font-weight:600;user-select:all}
.kopf .wrap > .btn-l{padding:10px 16px}
.zurueck{display:inline-block;margin-bottom:22px;text-decoration:none;font-weight:600}

/* Chat */
.chat-knopf{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:9px;padding:13px 18px;border:0;border-radius:30px;background:var(--navy);color:#fff;font:600 1rem var(--body);cursor:pointer;box-shadow:0 10px 24px -10px rgba(13,38,70,.6)}
.chat-knopf:hover{background:var(--navy-dk)}
.chat{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:41;width:min(360px,calc(100vw - 32px));height:min(520px,calc(100vh - 140px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 24px 50px -20px rgba(13,38,70,.5);overflow:hidden}
.chat-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--navy);color:#fff}
.chat-kopf b{display:block;font:700 1.1rem var(--head)}
.chat-kopf small{color:#c3d0e1;font-size:.8rem}
.chat-kopf button{background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px}
.verlauf{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--stone)}
.msg{max-width:86%;padding:10px 13px;border-radius:12px;font-size:.95rem;line-height:1.45}
.msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:3px}
.msg.ich{background:var(--navy);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.msg a{color:var(--orange-dk);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 0;background:#fff}
.chips button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:6px 11px;font:500 .85rem var(--body);color:var(--navy);cursor:pointer}
.chips button:hover{border-color:var(--orange)}
.chat form{display:flex;gap:8px;padding:12px;background:#fff}
.chat input{flex:1;min-width:0}
.chat form button{border:0;background:var(--orange);color:#fff;border-radius:3px;padding:0 14px;font:600 .95rem var(--body);cursor:pointer}

/* Unterseite Über uns */
.ueber-seite .ueber{padding-block:56px 88px}
.ueber h1{font-size:clamp(2.1rem,4.4vw,3.2rem)}
.kopf nav a[aria-current]{color:var(--orange-dk)}

/* LV-Seite */
.lv-seite{padding-block:56px 88px}
.lv-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:40px;align-items:start}
.lv-eingabe{display:grid;gap:24px;min-width:0}
.block{border:1px solid var(--line);border-radius:4px;padding:26px;background:#fff}
.block-titel{font-size:1.4rem;display:flex;align-items:center;gap:12px}
.block-titel span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:1rem}
#lv-form .block-titel:not(:first-child){margin-top:14px}
.optional{font-weight:400;color:var(--grey)}
.knopfe{display:flex;flex-wrap:wrap;gap:10px}
select:disabled{background:var(--stone);color:var(--grey)}
.blatt{position:sticky;top:110px;display:grid;gap:10px;min-width:0;padding:28px 28px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 44px -28px rgba(13,38,70,.5)}
.blatt-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--navy)}
.blatt-kopf img{height:54px;width:auto}
.blatt-kopf dl{margin:0;display:grid;gap:3px;font-size:.84rem}
.blatt-kopf dl div{display:flex;gap:10px;justify-content:flex-end}
.blatt-kopf dt{color:var(--grey);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;align-self:center}
.blatt-kopf dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.blatt h2{font-size:1.7rem;margin-top:8px}
.blatt-unter{color:var(--grey);font-size:.92rem}
.tabelle{overflow-x:auto}
.blatt table{width:100%;border-collapse:collapse;font-size:.94rem}
.blatt th{text-align:left;font:600 .72rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--grey);padding:10px 8px;border-bottom:1px solid var(--ink)}
.blatt td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.blatt td.pos{width:44px;color:var(--orange-dk);font-weight:600;font-variant-numeric:tabular-nums}
.blatt td b{display:block;font-weight:600}
.blatt td span{display:block;color:var(--grey)}
.blatt td em{display:block;font-size:.86rem;color:var(--grey)}
.blatt .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.blatt td.akt{width:1%;white-space:nowrap;text-align:right}
.akt button{background:none;border:0;padding:2px 4px;font:500 .82rem var(--body);color:var(--navy);text-decoration:underline;cursor:pointer}
.akt button[data-rm]{color:#b3261e}
tr.aktiv td{background:#fff4ec}
.lv-leer{padding:22px 4px;color:var(--grey);font-size:.95rem;border-bottom:1px solid var(--line)}
.blatt-fuss{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding-top:6px;font-size:.8rem;color:var(--grey);text-transform:uppercase;letter-spacing:.08em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:880px){.lv-raster{grid-template-columns:1fr}.blatt{position:static}}
@media (max-width:600px){.block,.blatt{padding:20px 16px}.blatt-kopf img{height:42px}}


/* ===== Version 5: Fotos, Hausschnitt, Gewerke-Seiten ===== */
.btn-w{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}
.btn-w:hover{background:#fff;color:var(--navy-dk)}

.hero{position:relative;isolation:isolate;padding-block:clamp(90px,14vw,170px) clamp(70px,10vw,120px);color:#fff;overflow:hidden;background:var(--navy-dk)}
.hero-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,26,49,.92) 0%,rgba(9,26,49,.78) 42%,rgba(9,26,49,.25) 75%,rgba(9,26,49,.1) 100%)}
.hero .wrap{display:block}
.hero-text{max-width:620px;gap:22px}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem)}
.hero .label{color:#f6a06b}
.hero .lead{color:#dbe4ef}
.hero-fakt{color:#c3d0e1;font-size:.98rem;padding-top:14px;border-top:1px solid rgba(255,255,255,.2)}
.hero-fakt b{color:#fff}
@media (prefers-reduced-motion:no-preference){
  .hero-bild{animation:heranzoomen 14s ease-out both}
}
@keyframes heranzoomen{from{transform:scale(1.08)}}
@keyframes hochkommen{from{opacity:0;transform:translateY(18px)}}

/* Karten mit Foto */
a.karte{padding:0;overflow:hidden;color:inherit;text-decoration:none;gap:0}
.karte-bild{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--stone)}
.karte-bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.karte-text{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;flex:1}
.karte .eigen{top:20px;right:16px}
.karte .weiter{margin-top:auto;padding-top:6px;font-weight:600;color:var(--orange-dk)}
.karte .weiter::after{content:" →"}
.karte.gross .karte-bild{aspect-ratio:auto;height:220px}
.karte.gross .weiter{color:#f6a06b}
@media (hover:hover){a.karte:hover .karte-bild img,a.karte:focus-visible .karte-bild img{transform:scale(1.05)}}

/* Hausschnitt */
.schnitt{background:var(--stone)}
.schnitt-raster{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center}
.schnitt-bild{margin:0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:16px}
.schnitt-bild svg{width:100%;height:auto;display:block}
.schnitt .erde{fill:#e7e1d8}
.schnitt .gelaende{stroke:#8a7a66;stroke-width:2}
.schnitt .schnittwand{fill:var(--navy)}
.schnitt .schraff-linie{stroke:#c9bfb1;stroke-width:2}
.schnitt .kachel{fill:none;stroke:#b9c7d8;stroke-width:1}
.schnitt .kontur{fill:none;stroke:var(--navy);stroke-width:2}
.schnitt .kontur.dick{stroke-width:4}
.schnitt .gestrichelt{stroke-dasharray:6 5}
.schnitt .wanne{fill:#fff;stroke:var(--navy);stroke-width:1.5}
.schnitt .glanz{stroke:#fff;stroke-width:3;opacity:.9}
.schnitt .rolle{stroke:#b9c7d8;stroke-width:5;stroke-linecap:round}
.schnitt .heizrohr{stroke:var(--orange);stroke-width:3;stroke-linecap:round}
.schnitt .schutt{fill:#a8998a}
.schnitt .pflaster{fill:#9aa5b1}
.schnitt .pflanze{fill:none;stroke:#4f8a5b;stroke-width:2}
.schnitt .kote{fill:var(--orange)}
.schnitt .kote-text{font:500 11px var(--body);fill:var(--grey)}
.zone{cursor:pointer;outline:none}
.zone .flaeche{fill:#eef2f7;transition:fill .2s}
.zone .estrich-schicht{fill:#d9dee5}
.zone text{font:600 11px var(--body);letter-spacing:.12em;fill:var(--navy);pointer-events:none}
.zone:hover .flaeche,.zone:focus-visible .flaeche{fill:#ffe3d1}
.zone.aktiv .flaeche{fill:var(--orange)}
.zone.aktiv text{fill:#fff}
.zone:focus-visible .flaeche{stroke:var(--orange);stroke-width:2}
.schnitt-info{display:grid;gap:12px;align-content:start;padding:26px;background:#fff;border-radius:4px;border-top:4px solid var(--orange);min-width:0}
.schnitt-info .code{font:600 .74rem/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--grey)}
.schnitt-info h3{font-size:1.8rem}
.schnitt-info p{color:var(--grey)}
.schnitt-info .eigen{justify-self:start;font:600 .7rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dk);border:1px solid #f3c4a6;padding:5px 7px;border-radius:2px}
@media (prefers-reduced-motion:no-preference){.schnitt-info.wechsel > *{animation:hochkommen .35s ease backwards}}

/* Fußzeile */
footer .fuss-raster{display:grid;grid-template-columns:1.1fr 2fr 1fr;gap:28px;padding-block:44px 28px}
.fuss-firma,.fuss-spalte{display:flex;flex-direction:column;gap:7px;min-width:0}
footer b{color:#fff;font:700 1.1rem var(--head);margin-bottom:4px}
footer .fuss-spalte a,footer .fuss-firma a{margin:0}
.fuss-unten{border-top:1px solid rgba(255,255,255,.12);padding-block:16px 22px;font-size:.85rem}

/* Gewerke-Seiten */
.pfad{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--grey);margin-bottom:26px}
.pfad a{color:var(--grey)}
.g-hero{padding-block:40px 72px}
.g-hero-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}
.g-hero-text{display:grid;gap:20px}
.g-hero-bild{border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.g-hero-bild img{width:100%;height:100%;object-fit:cover}
.g-leistungen{padding-top:0}
.g-opts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.g-opts li{display:grid;gap:8px;padding:24px;border:1px solid var(--line);border-radius:4px;border-left:4px solid var(--navy)}
.g-opts p{color:var(--grey)}
.g-opts a{justify-self:start;font-weight:600;color:var(--orange-dk);text-decoration:none}
.g-opts a::after{content:" →"}
.g-schritte{background:var(--stone)}
.g-ablauf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.g-ablauf li{display:grid;gap:14px;align-content:start}
.g-ablauf .punkt{background:var(--orange);border-color:var(--orange);color:#fff}
.g-ablauf p{color:var(--grey);margin-top:6px}
.g-faq-raster{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.faq{display:grid;gap:10px}
.faq details{border:1px solid var(--line);border-radius:4px;background:#fff}
.faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 20px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:600 1.4rem var(--body);color:var(--orange-dk)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 18px;color:var(--grey)}
.g-cta{background:var(--navy-dk);color:#d3dceb;padding-block:56px}
.g-cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.g-cta h2{color:#fff;margin-bottom:8px}
.weitere-liste{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.weitere-liste a{display:grid;gap:10px;text-decoration:none;color:var(--navy-dk);font:700 1.15rem var(--head)}
.weitere-liste img{aspect-ratio:3/2;object-fit:cover;border-radius:4px;transition:transform .4s ease}
@media (hover:hover){.weitere-liste a:hover img{transform:translateY(-4px)}}

/* Über uns mit Foto */
.ueber-bild{width:100%;height:clamp(220px,34vw,420px);object-fit:cover}

@media (max-width:1000px){.weitere-liste{grid-template-columns:repeat(3,1fr)}.g-ablauf{grid-template-columns:repeat(2,1fr)}}
@media (max-width:880px){
  .schnitt-raster,.g-hero-raster,.g-faq-raster{grid-template-columns:1fr}
  footer .fuss-raster{grid-template-columns:1fr 1fr}
  .fuss-firma{grid-column:1/-1}
  .hero::before{background:linear-gradient(180deg,rgba(9,26,49,.88),rgba(9,26,49,.7))}
}
@media (max-width:600px){
  .g-opts,.g-ablauf{grid-template-columns:1fr}
  .weitere-liste{grid-template-columns:1fr 1fr}
  .karte.gross .karte-bild{height:auto;aspect-ratio:3/2}
  .schnitt-bild{padding:6px}
  .zone text{font-size:13px}
}

/* schmal */
@media (max-width:1000px){
  .l-grid{grid-template-columns:repeat(2,1fr)}
  .kette{grid-template-columns:repeat(3,1fr);row-gap:22px}
}
@media (max-width:880px){
  .hero .wrap,.ueber .wrap,.anfrage .wrap{grid-template-columns:1fr}
  .ueber .intro{position:static}
  .kopf nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}
  .kopf nav.offen{display:flex}
  .kopf nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .kopf nav .btn{margin-top:12px;justify-content:center}
  .menu-btn{display:block}
  .schritte{grid-template-columns:1fr;gap:26px}
  .schritte::before,.schritte::after{top:22px;left:21px;right:auto;width:4px;height:calc(100% - 44px)}
  .schritte::after{height:calc((100% - 44px) * var(--p))}
  .schritt{grid-template-columns:46px 1fr;column-gap:16px}
  .schritt h3{align-self:center}
  .schritt p{grid-column:2}
  .werte{grid-template-columns:1fr}
}
@media (max-width:600px){
  section{padding-block:64px}
  .l-grid,.vergleich,.reihe{grid-template-columns:1fr}
  .karte.gross{grid-column:auto}
  .kette{grid-template-columns:1fr 1fr}
  .chronik li{grid-template-columns:1fr;gap:6px}
  .kopf .logo img{height:48px}
  .chat-knopf span{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* Aufbau je Gewerk: Kachelraster + 3D-Schichtstapel */
.aufbau-sek{padding:clamp(56px,8vw,104px) 0;background:#fff}
.ab-raster{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.ab-kachel{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;overflow:hidden;background:var(--navy-dk);color:#fff;text-align:left;cursor:pointer;font:inherit;border-radius:2px}
.ab-kachel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .5s ease,opacity .3s ease}
.ab-kachel::after{content:"";position:absolute;inset:auto 0 0 0;height:58%;background:linear-gradient(to top,rgba(13,38,70,.92),rgba(13,38,70,0))}
.ab-kachel span{position:absolute;z-index:1}
.ab-k-nr{top:10px;left:12px;font:700 .8rem/1 var(--head);letter-spacing:.1em;opacity:.85}
.ab-k-t{left:12px;right:12px;bottom:28px;font:700 1.18rem/1.1 var(--head)}
.ab-k-s{left:12px;bottom:10px;font:500 .74rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#ffd9c2}
.ab-kachel[aria-expanded="true"]{outline:3px solid var(--orange);outline-offset:-3px}
.ab-kachel[aria-expanded="true"] img{opacity:.9}
.ab-fenster{display:none}
.ab-fenster.offen{display:block}
.ab-gehaeuse{border:1px solid var(--line);background:var(--stone);padding:clamp(18px,3vw,32px)}
.ab-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ab-kopf>div{display:grid;gap:10px}
.aufbau{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(16px,3vw,36px);align-items:start}
.ab-stufen{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ab-stufen li{border-bottom:1px solid var(--line)}
.ab-stufen button{width:100%;display:flex;gap:14px;align-items:baseline;padding:14px 8px;border:0;background:transparent;text-align:left;font:500 1rem/1.25 var(--body);color:var(--ink);cursor:pointer}
.ab-stufen .nr{font:700 .95rem/1 var(--head);letter-spacing:.06em;color:var(--grey);min-width:1.8em}
.ab-stufen button:hover{background:rgba(21,57,107,.06)}
.ab-stufen button[aria-pressed="true"]{background:#fff;color:var(--navy-dk);font-weight:600;box-shadow:inset 4px 0 0 var(--orange)}
.ab-stufen button[aria-pressed="true"] .nr{color:var(--orange-dk)}
.ab-buehne{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(12px,2vw,28px);background:#fff;border:1px solid var(--line);min-height:400px}
.stapel-buehne{position:relative;height:clamp(320px,34vw,430px);perspective:2000px;perspective-origin:50% 15%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(closest-side,rgba(21,57,107,.07),transparent 75%)}
.stapel{--s:clamp(190px,19vw,260px);position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;transform:translateY(18%) rotateX(60deg) rotateZ(-40deg)}
.slab{--t:12px;--z:0px;--c:#bdb7aa;position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(var(--z));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.slab .top{position:absolute;inset:0;transform:translateZ(var(--t));background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.slab .fr,.slab .rt{position:absolute;background:var(--sc,var(--c))}
.slab .fr{left:0;bottom:0;width:100%;height:var(--t);transform-origin:bottom;transform:rotateX(90deg);filter:brightness(.72)}
.slab .rt{right:0;top:0;width:var(--t);height:100%;transform-origin:right;transform:rotateY(-90deg);filter:brightness(.55)}
.slab.dim .top{filter:saturate(.7) brightness(1.04)}
.slab.dim .fr,.slab.dim .rt{opacity:.85}
.slab.on .top{box-shadow:inset 0 0 0 3px var(--orange),0 0 36px rgba(236,106,30,.3)}
.ab-texte{position:relative;padding:22px 24px 72px 4px;align-self:stretch;display:grid;align-content:center}
.ab-text{display:none;gap:8px}
.ab-text.aktiv{display:grid}
.ab-nr{font:600 .72rem/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--orange-dk)}
.ab-text strong{font:700 1.6rem/1.1 var(--head);color:var(--navy-dk)}
.ab-text p{color:var(--grey);max-width:46ch}
.ab-nav{position:absolute;left:4px;bottom:22px;display:flex;gap:6px}
.ab-zu{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--navy-dk);font:400 1.6rem/1 var(--body);cursor:pointer;border-radius:2px}
.ab-zu:hover{background:var(--navy-dk);color:#fff;border-color:var(--navy-dk)}
.g-aufbau{padding:clamp(40px,6vw,72px) 0;background:#fff}
.g-aufbau .aufbau{background:var(--stone);border:1px solid var(--line);padding:clamp(16px,3vw,30px)}
/* Materialien (Oberfläche oben, Kanten in --c/--sc) */
.m-plan{--c:#f3efe4}.m-plan .top{background:linear-gradient(rgba(21,57,107,.22) 1px,transparent 1px) 0 0/100% 14px,linear-gradient(90deg,rgba(21,57,107,.22) 1px,transparent 1px) 0 0/14px 100%,#f3efe4}
.m-beton{--c:#9fa1a2}.m-beton .top{background:radial-gradient(circle at 30% 40%,rgba(0,0,0,.14) 0 1px,transparent 1.6px) 0 0/9px 9px,radial-gradient(circle at 70% 70%,rgba(255,255,255,.18) 0 1px,transparent 1.5px) 0 0/13px 13px,linear-gradient(135deg,#adafb0,#8f9192)}
.m-mauer{--c:#b5532e}.m-mauer .top{background:linear-gradient(#d9d2c4 2px,transparent 2px) 0 0/100% 22px,linear-gradient(90deg,#d9d2c4 2px,transparent 2px) 0 0/44px 22px,linear-gradient(135deg,#c2603a,#a54a28)}
.m-dachziegel{--c:#9c3d22}.m-dachziegel .top{background:repeating-linear-gradient(0deg,#7e2f19 0 3px,transparent 3px 20px),repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 22px),linear-gradient(135deg,#b4492a,#8d371e)}
.m-gips{--c:#ecebe6}.m-gips .top{background:radial-gradient(circle,#9aa0a6 0 1.4px,transparent 1.8px) 6px 6px/40px 30px,linear-gradient(90deg,transparent 49.5%,#d0cec7 49.5% 50.5%,transparent 50.5%),#ecebe6}
.m-farbe{--c:#5f7f99}.m-farbe .top{background:linear-gradient(135deg,#6f90aa,#4f6f88)}
.m-zwischen{--c:#c9d5df}.m-zwischen .top{background:linear-gradient(135deg,#d5dfe7,#b9c7d2)}
.m-folie{--c:#2f5d8a}.m-folie .top{background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 8px,transparent 8px 16px),linear-gradient(135deg,#3a6c9b,#264d74)}
.m-abdicht{--c:#3c7fa6}.m-abdicht .top{background:linear-gradient(135deg,#4a90b8,#336d90)}
.m-altbelag{--c:#8a7d6b}.m-altbelag .top{background:linear-gradient(115deg,transparent 30%,rgba(0,0,0,.35) 30.5% 31.5%,transparent 32%),linear-gradient(35deg,transparent 60%,rgba(0,0,0,.3) 60.5% 61.5%,transparent 62%),linear-gradient(#b8ad9a 2px,transparent 2px) 0 0/100% 25%,linear-gradient(90deg,#b8ad9a 2px,transparent 2px) 0 0/25% 100%,#958870}
.m-schutt{--c:#8c8579}.m-schutt .top{background:radial-gradient(circle at 30% 30%,#a69e90 0 4px,transparent 5px) 0 0/18px 16px,radial-gradient(circle at 70% 60%,#6f685d 0 3px,transparent 4px) 0 0/14px 19px,radial-gradient(circle at 50% 50%,#b5532e 0 3px,transparent 4px) 4px 8px/27px 23px,#857e72}
.m-erde{--c:#6f5136}.m-erde .top{background:radial-gradient(circle,rgba(0,0,0,.2) 0 1.2px,transparent 1.8px) 0 0/8px 8px,radial-gradient(circle,rgba(255,255,255,.1) 0 1px,transparent 1.5px) 3px 4px/11px 11px,linear-gradient(135deg,#7b5b3d,#5f452d)}
.m-rasen{--c:#6a4d33;--sc:#6a4d33}.m-rasen .top{background:repeating-linear-gradient(80deg,rgba(255,255,255,.1) 0 2px,transparent 2px 5px),linear-gradient(135deg,#6f9a3f,#4f7a2c)}
.m-kies{--c:#a39b8c}.m-kies .top{background:radial-gradient(circle,#c3bcae 0 2.6px,transparent 3.2px) 0 0/10px 10px,radial-gradient(circle,#7f786c 0 2px,transparent 2.6px) 5px 5px/10px 10px,#9a9284}
.m-sand{--c:#d6c196}.m-sand .top{background:radial-gradient(circle,rgba(0,0,0,.12) 0 .8px,transparent 1.2px) 0 0/5px 5px,linear-gradient(135deg,#dfcb9f,#c9b385)}
.m-schalung{--c:#c4985e}.m-schalung .top{background:repeating-linear-gradient(90deg,#b5874d 0 2px,transparent 2px 30px),linear-gradient(135deg,#d0a46a,#b88c52)}
.m-bewehrung{--c:#8e8f90;--sc:#9fa1a2}.m-bewehrung .top{background:linear-gradient(#8a4b26 3px,transparent 3px) 0 6px/100% 22px,linear-gradient(90deg,#8a4b26 3px,transparent 3px) 6px 0/22px 100%,#a5a7a8}
.m-holz{--c:#b9884f}.m-holz .top{background:repeating-linear-gradient(90deg,#a0703c 0 3px,transparent 3px 46px),repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 6px),linear-gradient(135deg,#c79659,#a97a43)}
.m-latten{--c:#b9884f}.m-latten .top{background:repeating-linear-gradient(0deg,#b9884f 0 9px,rgba(0,0,0,.5) 9px 26px)}
.m-profil{--c:#b7bec5}.m-profil .top{background:repeating-linear-gradient(90deg,#d5dade 0 4px,#9ea6ae 4px 6px,transparent 6px 40px),linear-gradient(135deg,#c3c9cf,#a3abb3)}
.m-blech{--c:#8f989f}.m-blech .top{background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 2px,transparent 2px 24px),linear-gradient(135deg,#a5aeb5,#7f888f)}
.m-kupfer{--c:#b7733f}.m-kupfer .top{background:repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0 2px,transparent 2px 24px),linear-gradient(135deg,#c98552,#a1622f)}
.m-daemm{--c:#e2c24a}.m-daemm .top{background:repeating-linear-gradient(20deg,rgba(150,110,0,.22) 0 2px,transparent 2px 6px),linear-gradient(135deg,#ebcf5f,#d4b23a)}
.m-eps{--c:#eeede7}.m-eps .top{background:radial-gradient(circle,rgba(0,0,0,.07) 0 2px,transparent 2.6px) 0 0/7px 7px,#f1f0ea}
.m-heiz{--c:#bdb7aa}.m-heiz .top{background:repeating-linear-gradient(90deg,transparent 0 12px,#e36a2a 12px 16px,transparent 16px 28px),#2f5d8a}
.m-estrich{--c:#bfb9ac}.m-estrich .top{background:radial-gradient(circle,rgba(0,0,0,.08) 0 1px,transparent 1.5px) 0 0/7px 7px,linear-gradient(135deg,#cbc5b8,#b0aa9d)}
.m-grund{--c:#e7dfcb}.m-grund .top{background:linear-gradient(135deg,#efe7d3,#ddd4bd)}
.m-spachtel{--c:#f2efe8}.m-spachtel .top{background:linear-gradient(120deg,rgba(0,0,0,.04) 0 30%,transparent 30% 60%,rgba(0,0,0,.04) 60%),#f4f1ea}
.m-harz{--c:#8d9093}.m-harz .top{background:linear-gradient(135deg,#9da0a3,#7d8083)}
.m-struktur{--c:#a8a49c}.m-struktur .top{background:radial-gradient(ellipse at 30% 30%,rgba(255,255,255,.25),transparent 40%),radial-gradient(ellipse at 70% 75%,rgba(0,0,0,.12),transparent 45%),#a8a49c}
.m-versiegel{--c:#b9b6ae}.m-versiegel .top{background:linear-gradient(120deg,rgba(255,255,255,.55) 0 18%,transparent 18% 40%,rgba(255,255,255,.3) 40% 46%,transparent 46%),#b3b0a8}
.m-kleber{--c:#c9c4b8}.m-kleber .top{background:repeating-linear-gradient(0deg,#d8d3c7 0 4px,#a9a397 4px 7px)}
.m-fliese{--c:#e9e6df}.m-fliese .top{background:linear-gradient(#b9b4aa 2px,transparent 2px) 0 0/100% 33.33%,linear-gradient(90deg,#b9b4aa 2px,transparent 2px) 0 0/33.33% 100%,linear-gradient(135deg,#f3f1ec,#dcd8cf)}
.m-fuge{--c:#e9e6df}.m-fuge .top{background:linear-gradient(var(--orange) 2px,transparent 2px) 0 0/100% 33.33%,linear-gradient(90deg,var(--orange) 2px,transparent 2px) 0 0/33.33% 100%,linear-gradient(135deg,#f3f1ec,#dcd8cf)}
.m-pflaster{--c:#9c9890}.m-pflaster .top{background:linear-gradient(#77736b 2px,transparent 2px) 0 0/100% 20px,linear-gradient(90deg,#77736b 2px,transparent 2px) 0 0/30px 40px,linear-gradient(90deg,#77736b 2px,transparent 2px) 15px 20px/30px 40px,linear-gradient(135deg,#aaa69e,#8f8b83)}
.m-parkett{--c:#9a6a3c}.m-parkett .top{background:linear-gradient(45deg,rgba(0,0,0,.14) 25%,transparent 25% 50%,rgba(0,0,0,.14) 50% 75%,transparent 75%) 0 0/28px 28px,repeating-linear-gradient(-45deg,transparent 0 13px,rgba(60,35,15,.35) 13px 14px),linear-gradient(135deg,#b07c48,#8a5c31)}
.m-parkettroh{--c:#c9a477}.m-parkettroh .top{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 3px,transparent 3px 9px),linear-gradient(135deg,#d6b285,#bf9969)}
.m-lack{--c:#a8713f}.m-lack .top{background:linear-gradient(120deg,rgba(255,255,255,.5) 0 16%,transparent 16% 38%,rgba(255,255,255,.28) 38% 44%,transparent 44%),linear-gradient(135deg,#b97f48,#93602f)}
@media (prefers-reduced-motion:no-preference){.ab-text.aktiv{animation:abEin .4s ease both}@keyframes abEin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
@media (hover:hover){.ab-kachel:hover img{transform:scale(1.05);opacity:.85}}
@media (max-width:1000px){.ab-raster{grid-template-columns:repeat(3,1fr)}.ab-buehne{grid-template-columns:1fr}.ab-texte{padding:0 20px 76px}.ab-nav{left:20px}}
@media (max-width:760px){.ab-raster{grid-template-columns:repeat(2,1fr)}.aufbau{grid-template-columns:1fr}.ab-stufen{display:flex;overflow-x:auto;border-top:0;border-bottom:1px solid var(--line)}.ab-stufen li{border:0;flex:0 0 auto}.ab-stufen button{padding:12px 14px;white-space:nowrap}.ab-stufen button[aria-pressed="true"]{box-shadow:inset 0 -4px 0 var(--orange)}.stapel-buehne{height:300px}}

/* Leistungen in der Fußzeile zweispaltig */
footer .fuss-spalte[aria-label="Leistungen"]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(8,auto);grid-auto-flow:column;column-gap:32px;row-gap:7px;align-content:start}
footer .fuss-spalte[aria-label="Leistungen"] b{grid-column:1/-1;grid-row:1}
@media (max-width:880px){footer .fuss-spalte[aria-label="Leistungen"]{grid-column:1/-1}}
@media (max-width:420px){footer .fuss-spalte[aria-label="Leistungen"]{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}

/* Hausschnitt mit allen Gewerken */
.schnitt .ziegel-linie{stroke:#2e3640;stroke-width:1;fill:none;opacity:.5}
.schnitt .mauer-linie{stroke:#7a3d24;stroke-width:.8;fill:none;opacity:.5}
.schnitt .dielen-linie{stroke:#7a5230;stroke-width:.8;fill:none;opacity:.55}
.schnitt .korn{fill:#a8957d;opacity:.5}
.schnitt .geruest{fill:none;stroke:#6b7785;stroke-width:2.5;stroke-linecap:round}
.schnitt .balken{fill:none;stroke:#a87a45;stroke-width:4;stroke-linecap:round}
.schnitt .kamin{fill:#fff;stroke:var(--navy);stroke-width:2}
.schnitt .dach-text{font:600 9px var(--body);letter-spacing:.12em;fill:#fff;pointer-events:none;opacity:0}
.zone .erde-flaeche{fill:#e7e1d8}
.zone .beton-flaeche{fill:#b9bec4}
.zone .mauer-flaeche{fill:#e2c2b2}
.zone .ziegel-flaeche{fill:#5f6873}
.zone .parkett-flaeche{fill:#d8b07c}
.zone .blech{fill:#9aa4ad;stroke:var(--navy);stroke-width:1}
.zone text.klein{font-size:9px}
.zone.aktiv .erde-flaeche,.zone.aktiv .beton-flaeche,.zone.aktiv .mauer-flaeche,.zone.aktiv .ziegel-flaeche,.zone.aktiv .parkett-flaeche,.zone.aktiv .blech{fill:var(--orange)}
.zone:hover .erde-flaeche,.zone:hover .beton-flaeche,.zone:hover .mauer-flaeche,.zone:hover .ziegel-flaeche,.zone:hover .parkett-flaeche,.zone:hover .blech{filter:brightness(1.12)}
.schnitt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.schnitt-chip{font:500 .82rem/1 var(--body);padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--navy-dk);border-radius:2px;cursor:pointer}
.schnitt-chip:hover{border-color:var(--navy)}
.schnitt-chip.aktiv{background:var(--orange);border-color:var(--orange);color:#fff}

/* Versand: Fangfeld, Zustimmung, Dank */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.zustimmung{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--grey);cursor:pointer}
.zustimmung input{width:18px;height:18px;margin-top:3px;flex:0 0 auto;accent-color:var(--orange)}
.dank{border-top:4px solid #3c8a5a}
.dank:focus{outline:none}
