
:root{
  --anthrazit:#2E3338;   /* RAL-7016-Welt */
  --tief:#22262A;
  --pvc:#FAFBF9;         /* PVC-Weiß */
  --glas:#DDEBF4;        /* Glaston */
  --dichtung:#D6382A;    /* Dichtungs-Rot aus dem Profilschnitt */
  --stahl:#5F6A72;
  --linie:#CDD6DC;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{transition:none!important}}
body{font-family:'Archivo',sans-serif;background:var(--pvc);color:var(--anthrazit);line-height:1.55;font-size:16.5px}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-stretch:112%;letter-spacing:-.015em}
.btn{display:inline-block;padding:14px 26px;border-radius:6px;font-weight:700;text-decoration:none;font-size:16px;border:2px solid transparent}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--dichtung);outline-offset:2px}
.btn-rot{background:var(--dichtung);color:#fff}
.btn-rot:hover{background:#B92D21}
.btn-ghost{border-color:var(--anthrazit);color:var(--anthrazit)}
.btn-ghost.hell{border-color:#fff;color:#fff}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stahl);display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--dichtung)}
section{padding:84px 0}

/* Kopf */
header{position:sticky;top:0;background:rgba(250,251,249,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--linie);z-index:50}
.kopf{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
.marke{font-weight:900;font-stretch:118%;font-size:20px;text-decoration:none;letter-spacing:-.01em}
.marke b{color:var(--dichtung)}
nav.haupt{display:flex;gap:26px;font-weight:600;font-size:15px}
nav.haupt a{text-decoration:none;color:var(--anthrazit)}
nav.haupt a:hover{color:var(--dichtung)}
.burger{display:none}
@media(max-width:920px){
  nav.haupt{display:none}
  .burger{display:block;background:none;border:1px solid var(--linie);border-radius:6px;padding:8px 10px;cursor:pointer;font-size:18px}
  nav.haupt.offen{display:flex;position:absolute;top:66px;left:0;right:0;background:var(--pvc);flex-direction:column;padding:18px 24px;border-bottom:1px solid var(--linie);gap:16px}
}

/* Hero */
.hero{padding:76px 0 70px;background:linear-gradient(180deg,#fff 0%,var(--pvc) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:900;line-height:1.06;margin-bottom:20px}
.hero h1 .rot{color:var(--dichtung)}
.hero p.sub{font-size:19px;color:var(--stahl);max-width:54ch;margin-bottom:30px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-fakt{margin-top:34px;display:flex;gap:28px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--stahl)}
.hero-fakt b{display:block;font-size:19px;color:var(--anthrazit);font-weight:500}
/* Technische Zeichnung als Signatur */
.zeichnung{position:relative;justify-self:center}
.zeichnung img{width:min(330px,70vw);filter:drop-shadow(0 24px 40px rgba(46,51,56,.18))}
.masslinie{position:absolute;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--anthrazit);white-space:nowrap}
.masslinie::before{content:"";position:absolute;background:var(--dichtung)}
.m1{top:6%;right:calc(100% + 14px)}.m1::before{width:40px;height:1px;left:calc(100% + 4px);top:50%}
.m2{top:46%;left:calc(100% + 16px)}.m2::before{width:40px;height:1px;right:calc(100% + 4px);top:50%}
.m3{bottom:8%;right:calc(100% + 14px)}.m3::before{width:40px;height:1px;left:calc(100% + 4px);top:50%}
@media(max-width:880px){
  .hero .wrap{grid-template-columns:1fr}
  .zeichnung{margin-top:10px}
  .masslinie{position:static;display:inline-block;margin:10px 12px 0 0}
  .masslinie::before{display:none}
}

/* Philosophie */
.philo{background:var(--anthrazit);color:#fff}
.philo blockquote{font-size:clamp(26px,3.4vw,40px);font-weight:800;font-stretch:110%;line-height:1.18;max-width:22ch}
.philo blockquote .rot{color:#FF6A57}
.philo .neben{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid rgba(255,255,255,.18);padding-top:30px}
.philo .neben p{color:#C6CDD3;font-size:15.5px}
.philo .neben b{display:block;color:#fff;margin-bottom:6px;font-size:16.5px}
@media(max-width:760px){.philo .neben{grid-template-columns:1fr}}

/* Schritte */
.schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.schritt{background:#fff;border:1px solid var(--linie);border-radius:10px;padding:26px}
.schritt .nr{font-family:'IBM Plex Mono',monospace;color:var(--dichtung);font-size:13px;margin-bottom:12px;display:block}
.schritt h3{font-size:19px;margin-bottom:8px}
.schritt p{color:var(--stahl);font-size:15.5px}
.hinweis{margin-top:22px;background:var(--glas);border-radius:8px;padding:16px 20px;font-size:15px;max-width:760px}
@media(max-width:760px){.schritte{grid-template-columns:1fr}}

/* Produkte */
.produkte{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.produkt{background:#fff;border:1px solid var(--linie);border-radius:10px;padding:26px;display:flex;flex-direction:column}
.produkt svg{margin-bottom:16px}
.produkt h3{font-size:19px;margin-bottom:6px}
.produkt p{color:var(--stahl);font-size:15px;flex:1}
.produkt .mono{margin-top:14px;font-size:12.5px;color:var(--anthrazit)}
.zubehoer{margin-top:30px;background:#fff;border:1px solid var(--linie);border-radius:10px;padding:22px 26px;display:flex;gap:12px 34px;flex-wrap:wrap;align-items:center}
.zubehoer span{font-size:15px}
.zubehoer .punkt{color:var(--dichtung);font-weight:900}
@media(max-width:860px){.produkte{grid-template-columns:1fr}}

/* Outsekt */
.outsekt{background:var(--tief);color:#fff;position:relative;overflow:hidden}
.outsekt .wort{font-size:clamp(40px,7vw,84px);font-weight:900;font-stretch:120%;letter-spacing:-.02em;line-height:1}
.outsekt .wort .aus{color:#FF6A57}
.outsekt p.claim{font-size:19px;color:#C6CDD3;margin:16px 0 26px;max-width:48ch}
.outsekt ul{list-style:none;display:flex;gap:10px 26px;flex-wrap:wrap;margin-bottom:30px}
.outsekt li{font-family:'IBM Plex Mono',monospace;font-size:13.5px;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 16px}

/* Service */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.service{background:#fff;border:1px solid var(--linie);border-radius:10px;padding:26px}
.service .preis{font-family:'IBM Plex Mono',monospace;color:var(--dichtung);font-weight:500;font-size:14px;display:block;margin-bottom:10px}
.service h3{font-size:19px;margin-bottom:8px}
.service p{color:var(--stahl);font-size:15.5px}
@media(max-width:860px){.services{grid-template-columns:1fr}}

/* Qualität */
.qual .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.qual ul{list-style:none;margin-top:22px}
.qual li{padding:13px 0;border-bottom:1px solid var(--linie);display:flex;gap:14px;font-size:16px}
.qual li::before{content:"—";color:var(--dichtung);font-weight:900}
@media(max-width:860px){.qual .wrap{grid-template-columns:1fr}}

/* Berater */
.berater{background:#fff;border-top:1px solid var(--linie)}
.berater .wrap{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center}
.berater img{border-radius:12px}
.berater h2{font-size:28px;margin-bottom:6px}
.berater .rolle{color:var(--stahl);margin-bottom:22px}
.kontakte{display:flex;gap:14px;flex-wrap:wrap}
.kontakt-btn{display:flex;align-items:center;gap:10px;border:1.5px solid var(--anthrazit);border-radius:8px;padding:11px 18px;text-decoration:none;font-weight:600;font-size:15px}
.kontakt-btn.wa{border-color:#1FAF57;color:#0E7A3A}
.kontakt-btn:hover{background:var(--pvc)}
@media(max-width:760px){.berater .wrap{grid-template-columns:1fr}.berater img{width:220px}}

/* Fußzeile */
footer{background:var(--anthrazit);color:#AEB6BC;padding:44px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:#fff;text-decoration:none;margin-right:18px}
footer a:hover{text-decoration:underline}

/* Hintergrund-Animationen (elegant, dezent) */
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.deko{position:absolute;inset:0;pointer-events:none;z-index:0}
.raster{position:absolute;inset:-120px;opacity:.5;
  background-image:linear-gradient(rgba(46,51,56,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(46,51,56,.045) 1px,transparent 1px);
  background-size:64px 64px;animation:rasterzug 80s linear infinite}
@keyframes rasterzug{from{transform:translate(0,0)}to{transform:translate(64px,64px)}}
.glasflaeche{position:absolute;border:1px solid rgba(46,51,56,.10);border-radius:8px;
  background:linear-gradient(135deg,rgba(221,235,244,.55),rgba(221,235,244,.06));
  box-shadow:0 18px 40px rgba(46,51,56,.06);animation:schweben 16s ease-in-out infinite}
.g1{width:220px;height:300px;top:8%;right:4%;animation-delay:0s}
.g2{width:150px;height:210px;bottom:6%;right:26%;animation-delay:-5s}
.g3{width:110px;height:150px;top:16%;left:38%;animation-delay:-10s;opacity:.7}
@keyframes schweben{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-16px) rotate(.6deg)}}
.philo{position:relative;overflow:hidden}
.philo .wrap{position:relative;z-index:1}
.philo::after{content:"";position:absolute;top:-50%;left:-30%;width:55%;height:220%;transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:schimmer 11s ease-in-out infinite}
@keyframes schimmer{0%{left:-40%}55%{left:120%}100%{left:120%}}
@media (prefers-reduced-motion:reduce){
  .raster,.glasflaeche,.philo::after,.flagge svg{animation:none!important}
}

/* Flaggen */
.sprachen{display:flex;gap:5px}
.sprachen .flagge{border:none;background:none;border-radius:6px;padding:3px;cursor:pointer;line-height:0;perspective:130px;transition:transform .18s ease}
.sprachen .flagge:hover{transform:translateY(-2px)}
.sprachen .flagge svg{width:36px;height:25px;border-radius:3px;display:block;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
  transform-origin:left center;animation:wehen 3.4s ease-in-out infinite}
.sprachen .flagge:nth-child(2) svg{animation-delay:-.5s}
.sprachen .flagge:nth-child(3) svg{animation-delay:-1s}
.sprachen .flagge:nth-child(4) svg{animation-delay:-1.5s}
.sprachen .flagge:nth-child(5) svg{animation-delay:-2s}
.sprachen .flagge:nth-child(6) svg{animation-delay:-2.5s}
@keyframes wehen{
  0%,100%{transform:rotateY(0deg) skewY(0deg) scaleY(1)}
  25%{transform:rotateY(-17deg) skewY(2.6deg) scaleY(.96)}
  50%{transform:rotateY(0deg) skewY(0deg) scaleY(1)}
  75%{transform:rotateY(15deg) skewY(-2.3deg) scaleY(.98)}}
.sprachen .flagge:hover svg{animation-duration:1.2s}
.sprachen .flagge[aria-pressed="true"]{background:#E2E8F0;box-shadow:inset 0 0 0 2px var(--anthrazit)}

/* Einblendung */
.rise{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rise.da{opacity:1;transform:none}

/* Logo in der Kopfzeile */
.marke{display:flex;align-items:center;gap:10px}
.marke img{height:34px;width:34px}

/* Hero-Hintergrundbild (austauschbar: bilder/hero.svg -> hero.jpg) */
.hero-bild{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:0;
  background:url('bilder/hero.svg') right center/cover no-repeat;opacity:.95;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 32%);mask-image:linear-gradient(90deg,transparent,black 32%)}
@media(max-width:880px){.hero-bild{width:100%;opacity:.35;-webkit-mask-image:none;mask-image:none}}

/* Unterseiten */
.seitenkopf{background:var(--anthrazit);color:#fff;padding:88px 0 64px;position:relative;overflow:hidden}
.seitenkopf h1{font-size:clamp(32px,5vw,52px);font-weight:900;font-stretch:114%}
.seitenkopf p{color:#C6CDD3;font-size:18px;max-width:60ch;margin-top:12px}
.seitenkopf .eyebrow{color:#9AA4AC}
.inhalt{padding:64px 0}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:26px;margin-top:30px}
.karte{background:#fff;border:1px solid var(--linie);border-radius:10px;padding:26px}
.karte h3{font-size:19px;margin-bottom:8px}
.karte p{color:var(--stahl);font-size:15.5px}
.karte .mono{margin-top:12px;font-size:12.5px;display:block}
.recht{max-width:820px}
.recht h2{font-size:22px;margin:34px 0 10px}
.recht p,.recht li{color:#3E464D;font-size:15.5px;margin-bottom:10px}
.recht ul{padding-left:22px}
.todo{background:#FFF3CD;border:1px solid #E7CF7E;border-radius:6px;padding:2px 8px;font-size:13px}
.bild-rahmen{border:1px solid var(--linie);border-radius:10px;overflow:hidden;background:#fff;padding:14px}
.quelle{font-size:12px;color:var(--stahl);margin-top:6px}

/* Bildsektion „Drei Schritte“ */
.bildsektion{position:relative;background:url('bilder/wohnen.jpg') center/cover fixed no-repeat;color:#fff;overflow:hidden}
.bildsektion::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(34,38,42,.93) 0%,rgba(34,38,42,.85) 46%,rgba(34,38,42,.42) 100%)}
.bildsektion .wrap{position:relative;z-index:1}
.bildsektion .eyebrow{color:#9AA4AC}
.bildsektion .schritt{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);backdrop-filter:blur(3px)}
.bildsektion .schritt h3{color:#fff}
.bildsektion .schritt p{color:#C6CDD3}
.bildsektion .hinweis{background:rgba(255,255,255,.1);color:#EAEFF2}
@media(max-width:900px){.bildsektion{background-attachment:scroll}}

/* Vergleichsblock */
@media(max-width:800px){ #vergleich{grid-template-columns:1fr !important} }
#standardliste .karte h3{color:#1B7A3E}

/* Bilder im Ratgeber */
.artikelbild{margin:30px 0;border-radius:10px;overflow:hidden;border:1px solid var(--linie)}
.artikelbild img{width:100%;display:block}
.artikelbild figcaption{font-size:13px;color:var(--stahl);padding:10px 14px;background:#F1F4F2}

/* Kennzahlen im Ratgeber */
.werk-zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
.werk-zahlen div{background:var(--anthrazit);color:#fff;border-radius:10px;padding:20px 16px;text-align:center}
.werk-zahlen b{display:block;font-size:30px;font-weight:900;font-stretch:112%;line-height:1;color:#fff}
.werk-zahlen span{display:block;font-size:12.5px;color:#C6CDD3;margin-top:8px}
@media(max-width:600px){.werk-zahlen{grid-template-columns:1fr;gap:10px}.werk-zahlen div{display:flex;justify-content:space-between;align-items:center;text-align:left}.werk-zahlen b{font-size:24px}.werk-zahlen span{margin-top:0}}

/* Rechenbeispiele im Ratgeber */
.beispiel{background:#EAF3EC;border:1px solid #B9D9C0;border-left:5px solid #1B7A3E;border-radius:8px;padding:18px 20px;margin:22px 0}
.beispiel-titel{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#1B7A3E;margin-bottom:8px}
.beispiel p{color:#14532D;margin-bottom:6px}
.beispiel b{color:#0B3D1C}
