/* ============================================================
   feld & wald GmbH — Website v1.0
   Basis: freigegebener Prototyp v0.1 (Design-Tokens unverändert)
   Farbwelt: Tanne / Laub / Trieb / Kalk / Torf (Konzept v2.1, Kap. 4)
   ============================================================ */

:root{
  --tanne:#1C4B2A; --laub:#4C8C3F; --trieb:#8CBF4D; --kalk:#F6F4EC;
  --torf:#131E16; --papier:#FFFFFF; --ink:#1C2A20; --mist:#5A6A5E; --linie:#DFDCCF;
  --f-disp:"Avenir Next","Futura","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-body:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,"Liberation Mono",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--ink);background:var(--papier);font-size:17px;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}

/* Sichtbarer Tastaturfokus (Qualitätsboden, Konzept Kap. 4) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--trieb);outline-offset:2px;border-radius:3px;
}
.skiplink{position:absolute;left:-9999px;top:0;z-index:100;background:var(--tanne);color:#fff;
  font-family:var(--f-disp);padding:12px 20px;border-radius:0 0 6px 0;text-decoration:none}
.skiplink:focus{left:0}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--laub);margin-bottom:14px}
h1,h2,h3{font-family:var(--f-disp);color:var(--tanne);line-height:1.12;letter-spacing:-.01em}
h2{font-size:clamp(26px,3.4vw,40px);font-weight:700;margin-bottom:18px}
h3{font-size:19px;font-weight:600}
.lede{font-size:clamp(17px,1.5vw,19px);color:var(--mist);max-width:62ch}
section{padding:88px 0}
.btn{display:inline-block;font-family:var(--f-disp);font-weight:600;font-size:15px;text-decoration:none;padding:14px 26px;border-radius:4px;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-p{background:var(--tanne);color:#fff}.btn-p:hover{background:#153b21}
.btn-g{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.btn-g:hover{background:rgba(255,255,255,.12)}
.btn-t{background:var(--trieb);color:var(--torf)}.btn-t:hover{background:#9ccf5f}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linie)}
.hd{display:flex;align-items:center;justify-content:space-between;height:112px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
/* Logo steht allein, ohne Wortmarke (Vorgabe Alper 14.07.2026) — Vektortausch: nur Datei ersetzen */
.brand .logo{width:96px;height:96px;object-fit:contain}
.wordmark{font-family:var(--f-disp);font-weight:700;font-size:21px;color:var(--tanne);letter-spacing:-.01em}
.wordmark .amp{color:var(--trieb);font-weight:600}
.wordmark small{display:block;font-size:9px;font-weight:600;letter-spacing:.34em;color:var(--mist);margin-top:1px}
nav{display:flex;align-items:center;gap:26px}
nav a{font-family:var(--f-disp);font-size:14.5px;font-weight:500;text-decoration:none;color:var(--ink)}
nav a:hover{color:var(--laub)}
.hd .btn{padding:10px 18px;font-size:14px}
@media(max-width:960px){nav a{display:none}nav a.keep{display:inline}}
@media(max-width:480px){.brand .logo{width:72px;height:72px}.hd{height:92px}.hd .btn{padding:9px 14px;font-size:13px}}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;background:#233;overflow:hidden}
.hero .bg,.hero picture.bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero picture.bg{position:absolute;inset:0}
.hero video.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,22,15,.28) 0%,rgba(12,22,15,.05) 40%,rgba(12,22,15,.66) 100%)}
.hero .inner{position:relative;width:100%;padding:0 0 68px}
.hero .eyebrow{color:var(--trieb)}
.hero h1{color:#fff;font-size:clamp(32px,4.6vw,58px);font-weight:700;max-width:16ch;margin-bottom:16px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero p{color:rgba(255,255,255,.92);max-width:56ch;font-size:clamp(16px,1.5vw,19px);margin-bottom:28px;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.videochip{position:absolute;top:22px;right:26px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:#fff;background:rgba(19,30,22,.55);border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:7px 14px;backdrop-filter:blur(4px)}

/* Wave divider (Logo-Feldstreifen) */
.wave{display:block;width:100%;height:54px;margin-top:-1px}

/* Kennzahlen */
.stats{background:var(--kalk);padding:44px 0;border-bottom:1px solid var(--linie)}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{border-left:2px solid var(--trieb);padding-left:18px}
.stat b{display:block;font-family:var(--f-mono);font-size:clamp(24px,2.6vw,34px);font-weight:700;color:var(--tanne);letter-spacing:-.02em}
.stat span{font-family:var(--f-disp);font-size:13.5px;color:var(--mist)}
.stats .fn{font-family:var(--f-mono);font-size:11px;color:var(--mist);margin-top:22px}
@media(max-width:820px){.stats .row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.stats .row{grid-template-columns:1fr}}

/* Leistungen */
.cards6{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.lcard{background:var(--kalk);border:1px solid var(--linie);border-radius:8px;padding:26px 24px}
.lcard svg{width:38px;height:38px;margin-bottom:14px}
.lcard p{font-size:15px;color:var(--mist);margin-top:6px;line-height:1.55}
@media(max-width:920px){.cards6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards6{grid-template-columns:1fr}}

/* Warum */
.warum{background:var(--papier)}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.split .imgbox{border-radius:10px;overflow:hidden;box-shadow:0 18px 50px rgba(28,75,42,.18)}
.checks{list-style:none;margin-top:26px}
.checks li{display:flex;gap:12px;margin-bottom:13px;font-size:16.5px}
.checks .ck{flex:0 0 22px;height:22px;border-radius:50%;background:var(--trieb);color:var(--torf);font-family:var(--f-disp);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.pull{margin-top:34px;padding:22px 26px;background:var(--kalk);border-left:3px solid var(--tanne);font-family:var(--f-body);font-style:italic;font-size:clamp(18px,1.9vw,22px);color:var(--tanne)}
@media(max-width:920px){.split{grid-template-columns:1fr}}

/* Maßnahmen */
.mass{background:var(--kalk)}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
.mcard{background:#fff;border:1px solid var(--linie);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.mcard img{height:150px;object-fit:cover;width:100%}
.mcard .tx{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.mcard p{font-size:14px;color:var(--mist);margin:6px 0 14px;flex:1;line-height:1.5}
.mlinks{display:flex;gap:14px;font-family:var(--f-disp);font-size:13px;font-weight:600}
.mlinks a{color:var(--laub);text-decoration:none}
.mlinks a:hover{text-decoration:underline}
.ghost{border:1px dashed var(--laub);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--f-disp);color:var(--laub);font-weight:600;font-size:15px;min-height:150px;background:transparent}
@media(max-width:980px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}}

/* Pflege */
.pflege .split{align-items:start}
/* Hochformat-Quelle auf Prototyp-Proportion beschneiden (4:3 wie Original-Slot) */
.pflege .imgbox img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tag{font-family:var(--f-disp);font-size:13px;font-weight:600;color:var(--tanne);background:var(--kalk);border:1px solid var(--linie);border-radius:99px;padding:7px 14px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.duo img{border-radius:8px;height:130px;width:100%;object-fit:cover}

/* Digitale Flächenkulisse (dunkel) */
.digital{background:var(--torf);color:#E8EFE7}
.digital h2{color:#fff}
.digital .eyebrow{color:var(--trieb)}
.digital .lede{color:rgba(232,239,231,.75)}
.dgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;margin-top:40px;align-items:start}
.viewer{background:#0C140F;border:1px solid #26382C;border-radius:10px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.vbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid #26382C;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#9DB8A3}
.vchips{display:flex;gap:8px}
.vchip{border:1px solid #33493A;border-radius:4px;padding:3px 9px;color:#BFD6C4;cursor:default}
.vchip.on{background:var(--trieb);color:var(--torf);border-color:var(--trieb);font-weight:700}
canvas#cloud{display:block;width:100%;height:380px}
.vfoot{padding:10px 16px;font-family:var(--f-mono);font-size:10.5px;color:#7E9884;border-top:1px solid #26382C;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.dl{list-style:none;margin:22px 0 26px}
.dl li{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid rgba(232,239,231,.14);font-family:var(--f-disp);font-size:15px}
.dl .fmt{font-family:var(--f-mono);font-size:11px;color:var(--trieb);border:1px solid rgba(140,191,77,.5);border-radius:4px;padding:2px 7px;min-width:74px;text-align:center}
.dl .lock{margin-left:auto;font-size:13px;color:#9DB8A3;font-family:var(--f-mono)}
@media(max-width:960px){.dgrid{grid-template-columns:1fr}}

/* Karte */
.karte{background:var(--papier)}
.kgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center;margin-top:36px}
.mapbox{background:var(--kalk);border:1px solid var(--linie);border-radius:10px;padding:10px}
.legend{list-style:none}
.legend li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--linie)}
.legend .num{flex:0 0 30px;height:30px;border-radius:50%;background:var(--tanne);color:#fff;font-family:var(--f-disp);font-weight:700;display:flex;align-items:center;justify-content:center}
.legend b{font-family:var(--f-disp);color:var(--tanne)}
.legend span{display:block;font-size:14px;color:var(--mist)}
.knote{font-family:var(--f-mono);font-size:11px;color:var(--mist);margin-top:16px}
@media(max-width:920px){.kgrid{grid-template-columns:1fr}}

/* Referenz */
.ref{background:var(--kalk)}
.refcard{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--linie);border-radius:10px;overflow:hidden;margin-top:36px}
.refcard img{height:100%;min-height:320px;object-fit:cover;width:100%}
.refcard .tx{padding:40px 42px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:880px){.refcard{grid-template-columns:1fr}}

/* Kontakt */
.kontakt{background:var(--tanne);color:#fff}
.kontakt h2,.kontakt h3{color:#fff}
.kontakt .eyebrow{color:var(--trieb)}
.kgrid2{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin-top:38px;align-items:start}
.person{display:flex;gap:18px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:20px}
.avatar{flex:0 0 64px;height:64px;border-radius:50%;background:var(--trieb);color:var(--torf);font-family:var(--f-disp);font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center}
.person small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--trieb);margin-bottom:3px}
.person .cd{font-family:var(--f-disp);font-size:15px;color:rgba(255,255,255,.85);margin-top:5px}
.roles{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.role{font-family:var(--f-disp);font-size:12.5px;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:6px 12px;color:rgba(255,255,255,.85)}
form{display:grid;gap:12px}
form input,form textarea{font-family:var(--f-disp);font-size:15px;padding:13px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.09);color:#fff}
form input::placeholder,form textarea::placeholder{color:rgba(255,255,255,.55)}
form textarea{min-height:110px;resize:vertical}
.formnote{font-family:var(--f-mono);font-size:10.5px;color:rgba(255,255,255,.55)}
@media(max-width:880px){.kgrid2{grid-template-columns:1fr}}

/* Footer */
footer{background:var(--torf);color:#8FA695;padding:44px 0}
.ft{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.ft .brand .wordmark{color:#E8EFE7}
.ft nav a{color:#8FA695}
.ft .vermerk{font-family:var(--f-mono);font-size:10.5px}

/* Reveal — nur aktiv, wenn JS läuft (html.js), sonst ist alles sofort sichtbar (No-JS-Fallback) */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
