/* Forsthaus Leiner Berg – zentrale Stil-Datei (Design-Tokens nach MARU-Designbook, Waldpalette)
   Alle Farben, Schriften und Abstände NUR hier ändern. */
@font-face{font-family:"Sora";src:url("../fonts/sora-var-latin.woff2") format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-var-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Sora Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica"),local("DejaVu Sans");size-adjust:109%;ascent-override:94%;descent-override:26%}
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica"),local("DejaVu Sans");size-adjust:107%;ascent-override:90%;descent-override:22%}

:root{
  /* Farbwelt „Forsthaus“ – Rollen wie im Designbook (Navy→Wald, Electric Blue→Tannengrün, Cyan→Laternengold, Cloud→Leinen, Slate→Moosgrau) */
  --forest-deep:#10241A;   /* Hintergrund dunkler Flächen, Text auf hell */
  --forest:#245A33;        /* Primärakzent, Verlauf-Start */
  --moss:#4F7F3A;          /* Verlauf-Ende auf hell */
  --gold:#D2C8B6;          /* Sand natur – entsättigtes Erdbeige als Highlight auf Dunkel; kein Gold */
  --linen:#F2F0EA;         /* heller Hintergrund */
  --slate:#55604F;         /* Fließtext auf hell */
  --white:#FFFFFF;
  --berry:#8E3A22;         /* Signalfarbe „Jetzt buchbar“ – sparsam */

  --accent:var(--forest); --accent-strong:#1B4527; --accent-2:var(--gold);
  --bg:var(--white); --bg-deep:var(--forest-deep); --surface:var(--linen); --card-bg:var(--white);
  --ink:var(--forest-deep); --text:#2C3529; --text-soft:var(--slate); --on-accent:var(--white); --on-deep:rgba(255,255,255,.86);
  --line:rgba(16,36,26,.12); --line-strong:rgba(16,36,26,.28); --line-deep:rgba(255,255,255,.16);
  --grad-accent:linear-gradient(120deg,#245A33 0%,#4F7F3A 100%);
  --grad-gold:linear-gradient(120deg,#C6BCA9 0%,#E2DBCE 100%);
  --grad-deep:linear-gradient(135deg,#071510 0%,#10241A 55%,#1F3D2A 100%);
  --shadow:0 1px 2px rgba(16,36,26,.06),0 8px 24px rgba(16,36,26,.08);
  --shadow-brand:0 10px 30px rgba(36,90,51,.28);

  --font-display:"Sora","Sora Fallback",system-ui,sans-serif;
  --font-body:"Inter","Inter Fallback",system-ui,sans-serif;

  --maxw:1200px; --gutter:clamp(16px,4vw,40px); --radius:14px; --radius-sm:8px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--font-body);text-rendering:optimizeLegibility}
@media (max-width:600px){body{font-size:1.09rem}}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-strong)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--white);padding:12px 18px;border-radius:var(--radius-sm)}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Typografie – Sora für Aussagen, Inter für Text */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0 0 var(--s4);line-height:1.08;letter-spacing:-.02em}
h1{font-weight:800;font-size:clamp(2.2rem,5.2vw,4.1rem)}
h2{font-weight:800;font-size:clamp(1.85rem,3.6vw,2.9rem)}
h3{font-weight:700;font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.2;letter-spacing:-.01em}
p{margin:0 0 var(--s4);max-width:68ch}
.lead{font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.55;color:var(--text)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .82rem/1.2 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--s4)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(210,200,182,.22)}
/* Genau ein Highlight-Wort pro Überschrift */
.hl{background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.deep .hl,.hero .hl{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.bar{display:block;width:clamp(96px,34%,220px);height:4px;background:var(--grad-accent);border:0;margin:0 0 var(--s5)}
.deep .bar{background:var(--grad-gold)}
.subline{font:600 clamp(1.1rem,1.7vw,1.35rem)/1.4 var(--font-display);color:var(--ink);margin:0 0 var(--s4)}

/* Buttons – Verlauf-Pill mit vollem Radius für Handlungen */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 26px;border-radius:999px;font:700 1rem/1.2 var(--font-display);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.btn--primary{background:var(--grad-accent);color:var(--on-accent);box-shadow:var(--shadow-brand)}
.btn--primary:hover{color:var(--on-accent);transform:translateY(-1px)}
.btn--gold{background:var(--gold);color:var(--forest-deep)}
.btn--gold:hover{color:var(--forest-deep);transform:translateY(-1px)}
.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.deep .btn--ghost,.hero .btn--ghost{border-color:rgba(255,255,255,.45);color:var(--white)}
.deep .btn--ghost:hover,.hero .btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn svg{width:20px;height:20px;flex:none}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.micro{font-size:.92rem;color:var(--text-soft);margin-top:var(--s3)}
.deep .micro,.hero .micro{color:var(--on-deep)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:48px;height:48px;flex:none}
.brand span{font:800 1.05rem/1.05 var(--font-display);letter-spacing:-.01em}
.brand small{display:block;font:600 .74rem/1.2 var(--font-body);color:var(--text-soft);letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:var(--s2)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav a.navlink{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;text-decoration:none;color:var(--ink);font:400 .98rem/1 var(--font-body);letter-spacing:.005em}
.nav a.navlink:hover,.nav a.navlink[aria-current="page"]{color:var(--accent);background:var(--linen)}
.nav .btn{min-height:44px;padding:10px 20px;font-size:.95rem}
.social-mini{display:flex;gap:2px;margin-left:6px}
.social-mini a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--slate)}
.social-mini a:hover{color:var(--accent);background:var(--linen)}
.social-mini svg{width:20px;height:20px}
.nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);font:700 .95rem var(--font-display);color:var(--ink);cursor:pointer}
.nav-toggle svg{width:20px;height:20px}
@media (max-width:1180px){
  .nav-toggle{display:inline-flex}
  .nav{position:fixed;inset:72px 0 auto 0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;padding:var(--s4) var(--gutter) var(--s5);gap:var(--s3);display:none;max-height:calc(100vh - 72px);overflow:auto}
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column}
  .nav a.navlink{font-size:1.1rem;min-height:52px;border-bottom:1px solid var(--line);border-radius:0}
  .social-mini{margin:0}
}
.no-js .nav{display:flex;position:static;box-shadow:none;border:0}

/* Signatur: Zierleiste wie die gesägten Giebelbretter des Schweizerhauses */
.trim{height:14px;background:
  linear-gradient(135deg,var(--trim-c,var(--forest)) 25%,transparent 25%) -7px 0/14px 14px,
  linear-gradient(225deg,var(--trim-c,var(--forest)) 25%,transparent 25%) -7px 0/14px 14px}
.trim--gold{--trim-c:var(--gold)}

/* Hero – Forsthaus im Bild */
.hero{background:var(--grad-deep);color:var(--on-deep);position:relative;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:560px;gap:var(--s5)}
.hero__text{padding:clamp(40px,7vw,96px) var(--gutter) clamp(40px,6vw,80px) max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));display:flex;flex-direction:column;justify-content:center}
.hero h1{color:var(--white);font-size:clamp(2.05rem,3.7vw,3.3rem)}
.hero .eyebrow{color:var(--gold)}
.hero .lead{color:var(--on-deep)}
.hero__media{display:flex;align-items:center;padding:clamp(32px,5vw,64px) max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter))) clamp(32px,5vw,64px) 0}
.hero__frame{position:relative;width:100%}
.hero__frame img{width:100%;height:auto;aspect-ratio:1080/604;object-fit:cover;border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,.35);outline:1px solid var(--line-deep);outline-offset:8px}
.hero__badge{position:absolute;left:clamp(-28px,-2vw,-12px);bottom:-24px;z-index:2;background:var(--forest-deep);color:var(--white);border:1px solid var(--line-deep);border-radius:var(--radius);padding:14px 18px;max-width:280px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.hero__badge strong{display:block;font:800 1.6rem/1 var(--font-display);color:var(--gold)}
.hero__badge span{font-size:.92rem}
.hero--sub .hero__grid{min-height:480px}
.hero--sub h1{font-size:clamp(2rem,4vw,3.2rem)}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr;min-height:0}
  .hero__media{order:-1;padding:0}
  .hero__frame img{border-radius:0;box-shadow:none;outline:0;aspect-ratio:16/9}
  .hero__text{padding:36px var(--gutter) 40px}
  .hero__grid{gap:0}
  .hero__badge{display:none}
}

/* Fakten-Leiste */
.facts{background:var(--forest-deep);color:var(--on-deep);border-top:1px solid var(--line-deep)}
.facts ul{list-style:none;margin:0;padding:var(--s5) 0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.facts li{display:flex;flex-direction:column;gap:2px;padding-left:var(--s4);border-left:2px solid var(--gold)}
.facts b{font:800 1.3rem/1.15 var(--font-display);color:var(--white)}
.facts span{font-size:.95rem}
@media (max-width:860px){.facts ul{grid-template-columns:1fr 1fr;row-gap:var(--s5)}}

/* Sektionen */
.section{padding:clamp(64px,9vw,120px) 0}
.section--tight{padding:clamp(48px,6vw,80px) 0}
.surface{background:var(--surface)}
.deep{background:var(--grad-deep);color:var(--on-deep)}
.deep h2,.deep h3{color:var(--white)}
.deep .eyebrow{color:var(--gold)}
.deep p{color:var(--on-deep)}
.head{max-width:760px;margin-bottom:var(--s7)}
.head--center{margin-left:auto;margin-right:auto;text-align:center}
.head--center .bar{margin-left:auto;margin-right:auto}
.head--center p{margin-left:auto;margin-right:auto}

/* Editorial Split */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6) var(--s5);align-items:center}
.split__media{grid-column:1/span 6}
.split__body{grid-column:8/span 5}
.split--rev .split__media{grid-column:7/span 6;order:2}
.split--rev .split__body{grid-column:1/span 5}
.split__media img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover}
.split__media figcaption{font-size:.88rem;color:var(--text-soft);margin-top:var(--s2)}
@media (max-width:860px){.split{grid-template-columns:1fr}.split__media,.split__body,.split--rev .split__media,.split--rev .split__body{grid-column:auto;order:0}}

/* Wege-Raster: eine große, zwei kleine Kacheln (bewusst asymmetrisch) */
.ways{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:var(--s5)}
.way{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--white);background:var(--forest-deep);isolation:isolate}
.way--big{grid-row:span 2;min-height:540px}
.way img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.way::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,21,16,.92) 0%,rgba(7,21,16,.35) 55%,rgba(7,21,16,.1) 100%)}
.way:hover img{transform:scale(1.03)}
.way__body{padding:var(--s6)}
.way__body h3{color:var(--white);font-size:clamp(1.4rem,2.4vw,2rem)}
.way__body p{color:var(--on-deep);margin-bottom:var(--s3)}
.way__more{font:700 .98rem var(--font-display);color:var(--gold);display:inline-flex;gap:8px;align-items:center}
.way__more svg{width:20px;height:20px}
.way:hover{color:var(--white)}
@media (max-width:860px){.ways{grid-template-columns:1fr}.way--big{grid-row:auto;min-height:420px}.way{min-height:300px}}

/* Check-Liste – Check-Kreis im Verlauf, max. vier pro Block */
.checks{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:var(--s4)}
.checks li{display:grid;grid-template-columns:36px 1fr;gap:var(--s3);align-items:start}
.checks li::before{content:"";width:32px;height:32px;border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"),var(--grad-accent);background-size:18px 18px,cover;background-position:center;background-repeat:no-repeat}
.deep .checks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310241A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"),var(--grad-gold)}
.checks b{display:block;font:700 1.05rem/1.3 var(--font-display);color:var(--ink)}
.deep .checks b{color:var(--white)}
.checks span{display:block;color:var(--text-soft)}
.deep .checks span{color:var(--on-deep)}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5) var(--s7)}
@media (max-width:760px){.cols-2{grid-template-columns:1fr}}

/* Große Zahl als Ankermoment */
.bignum{font:800 clamp(4.5rem,12vw,9rem)/.9 var(--font-display);letter-spacing:-.04em;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 var(--s3)}
.deep .bignum{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text}

/* Anlass-Liste */
.occasions{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}
.occasions a{display:grid;grid-template-columns:72px 1fr auto;gap:var(--s5);align-items:center;padding:var(--s5) 0;border-bottom:1px solid var(--line-strong);text-decoration:none;color:var(--ink)}
.occasions .num{font:800 1.1rem var(--font-display);color:var(--accent)}
.occasions h3{margin:0 0 4px}
.occasions p{margin:0;color:var(--text-soft)}
.occasions .arrow{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--accent);transition:all .2s}
.occasions a:hover .arrow{background:var(--grad-accent);color:var(--white);border-color:transparent}
.occasions svg{width:20px;height:20px}
@media (max-width:600px){.occasions a{grid-template-columns:1fr auto}.occasions .num{display:none}}

/* Schritte */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);counter-reset:s}
.steps li{counter-increment:s;padding-top:var(--s5);border-top:2px solid var(--line-strong);position:relative}
.steps li::before{content:"0" counter(s);display:block;font:800 .95rem var(--font-display);color:var(--accent);margin-bottom:var(--s3);letter-spacing:.08em}
.steps li::after{content:"";position:absolute;top:-2px;left:0;width:40%;height:2px;background:var(--grad-accent)}
.steps h3{font-size:1.15rem}
.steps p{color:var(--text-soft);margin:0}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* Social-Wand */
.social-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s6);align-items:start}
.stat-row{display:flex;flex-wrap:wrap;gap:var(--s6);margin:var(--s5) 0 var(--s6)}
.stat b{display:block;font:800 clamp(2.2rem,4vw,3.2rem)/1 var(--font-display);color:var(--gold)}
.stat span{font-size:.95rem;color:var(--on-deep)}
.social-links{display:grid;gap:var(--s3);margin-bottom:var(--s4)}
.social-link{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border:1px solid var(--line-deep);border-radius:var(--radius);text-decoration:none;color:var(--white);min-height:64px;transition:border-color .2s,background .2s}
.social-link:hover{border-color:var(--gold);color:var(--white);background:rgba(255,255,255,.04)}
.social-link svg{width:26px;height:26px;flex:none;color:var(--gold)}
.social-link b{font:700 1.05rem var(--font-display);display:block}
.social-link small{color:var(--on-deep);font-size:.9rem}
.embed{position:relative;background:var(--white);border-radius:var(--radius);overflow:hidden;min-height:520px;color:var(--text)}
.embed__gate{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--s3);padding:var(--s6);background:var(--linen)}
.embed__gate h3{margin:0}
.embed__gate p{color:var(--text-soft);font-size:.95rem;margin:0}
.embed iframe{display:block;width:100%;height:100%;min-height:520px;border:0}
@media (max-width:900px){.social-grid{grid-template-columns:1fr}}

.share{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin-top:var(--s5)}
.share span{font:700 .9rem var(--font-display);color:var(--text-soft);margin-right:4px}
.share a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;text-decoration:none;color:var(--ink);font:600 .9rem var(--font-display)}
.share a:hover{border-color:var(--accent);color:var(--accent)}
.share svg{width:18px;height:18px}

/* Info-Karten (Öffnungszeiten, Kontakt) */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.info > div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s6)}
.info h3{display:flex;align-items:center;gap:10px}
.info h3 svg{width:22px;height:22px;color:var(--accent)}
.info p{margin-bottom:var(--s2)}
.hours{width:100%;border-collapse:collapse;font-size:.98rem}
.hours th,.hours td{text-align:left;padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.hours th{font-weight:600;color:var(--ink);padding-right:12px}
@media (max-width:900px){.info{grid-template-columns:1fr}}
.map{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--linen);min-height:380px;margin-top:var(--s6);border:1px solid var(--line)}
.map iframe{display:block;width:100%;height:420px;border:0}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line-strong)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s4);align-items:center;padding:var(--s5) 0;font:700 1.12rem/1.35 var(--font-display);color:var(--ink);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);font-weight:400;font-size:1.4rem;color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:var(--s5);margin:0;color:var(--text)}

/* CTA-Band */
.cta-band{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s6);align-items:center}
.cta-band .actions{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start}
.phone-big{font:800 clamp(1.6rem,3vw,2.3rem)/1 var(--font-display);color:var(--gold);text-decoration:none}
.phone-big:hover{color:var(--white)}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}}

/* Formular */
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,48px);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5)}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.field label,.field legend{display:block;font:600 .98rem/1.3 var(--font-display);color:var(--ink);margin-bottom:6px}
.field .opt{font:400 .88rem var(--font-body);color:var(--text-soft)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);font:400 1.02rem/1.4 var(--font-body);color:var(--text);background:var(--white)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:3px solid rgba(36,90,51,.2);outline-offset:0}
.field input:user-invalid,.field select:user-invalid{border-color:var(--berry)}
.field fieldset{border:0;padding:0;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chips label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--line-strong);border-radius:999px;font:500 .96rem var(--font-body);color:var(--text);cursor:pointer;margin:0}
.chips input{width:18px;height:18px;min-height:0;accent-color:var(--forest)}
.chips label:has(input:checked){border-color:var(--accent);background:rgba(36,90,51,.07)}
.consent-check{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:.95rem;color:var(--text-soft)}
.consent-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--forest)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.9rem;color:var(--text-soft);margin:var(--s3) 0 0}
.form-aside{display:grid;gap:var(--s5)}
.form-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--s6);align-items:start}
@media (max-width:960px){.form-wrap{grid-template-columns:1fr}}
.aside-card{border-left:3px solid var(--gold);padding:var(--s2) 0 var(--s2) var(--s5)}
.aside-card h3{font-size:1.15rem}
.aside-card p{color:var(--text-soft);margin-bottom:var(--s2)}

/* Breadcrumb */
.crumbs{font-size:.9rem;margin-bottom:var(--s4)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:rgba(255,255,255,.5)}
.crumbs a{color:var(--on-deep)}
.crumbs [aria-current]{color:var(--gold)}

/* Rechtstexte */
.legal{max-width:820px}
.legal h2{font-size:1.6rem;margin-top:var(--s7)}
.legal h3{font-size:1.2rem;margin-top:var(--s5)}
.ph{background:#FFF3CD;color:#5C4400;padding:1px 6px;border-radius:4px;font-weight:600}

/* Footer */
.site-footer{background:var(--forest-deep);color:var(--on-deep);font-size:.98rem}
.site-footer a{color:var(--white)}
.site-footer a:hover{color:var(--gold)}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--s6);padding:var(--s8) 0 var(--s6)}
.foot h2{font-size:1rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--s4)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot ul a{display:inline-block;padding:4px 0;text-decoration:none}
.foot .brand{color:var(--white);margin-bottom:var(--s4)}
.foot .brand small{color:var(--on-deep)}
.foot-social{display:flex;gap:var(--s2);margin-top:var(--s4)}
.foot-social a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-deep)}
.foot-social svg{width:20px;height:20px}
.foot-bottom{border-top:1px solid var(--line-deep);padding:var(--s5) 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);font-size:.9rem}
.foot-bottom ul{display:flex;flex-wrap:wrap;gap:var(--s4);list-style:none;margin:0;padding:0}
@media (max-width:900px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot{grid-template-columns:1fr}}

/* Mobile Sticky-Aktion */
.mobile-cta{display:none}
@media (max-width:760px){
  .mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(16,36,26,.08)}
  .mobile-cta .btn{min-height:48px;padding:10px 12px;font-size:.98rem}
  body{padding-bottom:76px}
}

/* Consent-Hinweis (nur für Social-Media- und Karten-Einbindungen) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin-left:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px rgba(16,36,26,.18);padding:var(--s5)}
.consent[hidden]{display:none}
.consent h2{font-size:1.1rem;margin-bottom:var(--s2)}
.consent p{font-size:.94rem;color:var(--text-soft);margin-bottom:var(--s4)}
.consent .btn-row .btn{flex:1 1 180px;min-height:46px;padding:10px 16px;font-size:.95rem}
@media (max-width:760px){.consent{bottom:86px;left:10px;right:10px;padding:var(--s4)}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.mobile-cta,.consent,.site-footer{display:none}}
.field label.consent-check{display:grid;font:400 .95rem/1.5 var(--font-body);color:var(--text-soft)}
.split .split__l6{grid-column:1/span 6}.split .split__r5{grid-column:8/span 5}.split .split__l5{grid-column:1/span 5}.split .split__r6{grid-column:7/span 6}
@media (max-width:860px){.split .split__l6,.split .split__r5,.split .split__l5,.split .split__r6{grid-column:auto}}
/* Social-Icons in der Menüleiste – gut sichtbar, aber leiser als der Haupt-Button */
.head-tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav .social-mini{order:2;padding-left:8px;border-left:1px solid var(--line)}
.nav .btn{order:3}
.social-mini a{color:var(--forest);border:1px solid var(--line)}
.social-mini--bar{display:none}
@media (max-width:1180px){.social-mini--bar{display:flex;margin:0}.nav .social-mini{display:none}.nav{margin-left:0}}
@media (max-width:380px){.social-mini--bar a{width:40px;height:40px}.brand span{font-size:.95rem}}
/* Störer – Saison-Aktion (Aufbau wie auf maru-beratung.de, Farben Forsthaus) */
.stoerer{position:absolute;z-index:3;top:-34px;right:-26px;width:176px;height:176px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;text-decoration:none;color:var(--forest-deep);background:radial-gradient(circle at 30% 25%,#ECE6DB 0,#D2C8B6 55%,#ADA28D 100%);box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 4px var(--forest-deep),inset 0 0 0 6px rgba(255,255,255,.35);transform:rotate(10deg);transition:transform .25s ease,box-shadow .25s ease;padding:18px}
.stoerer::before{content:"";position:absolute;inset:10px;border-radius:50%;border:2px dashed rgba(16,36,26,.45);pointer-events:none}
.stoerer::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:3px solid rgba(210,200,182,.9);animation:stoererRing 2.4s ease-out infinite;pointer-events:none}
.stoerer:hover,.stoerer:focus-visible{color:var(--forest-deep);transform:rotate(4deg) scale(1.06)}
.stoerer:focus-visible{outline:3px solid var(--white);outline-offset:8px}
.stoerer__top{white-space:nowrap;font:800 .66rem/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;background:var(--berry);color:var(--white);padding:5px 9px;border-radius:999px}
.stoerer__main{font:800 1.3rem/1.02 var(--font-display);margin-top:4px}
.stoerer__sub{font:600 .7rem/1.25 var(--font-body);max-width:128px}
.stoerer__cta{font:800 .76rem/1 var(--font-body);margin-top:5px;border-bottom:2px solid currentColor;padding-bottom:1px}
@keyframes stoererRing{0%{transform:scale(1);opacity:.95}to{transform:scale(1.2);opacity:0}}
@media (max-width:1100px){.stoerer{right:-8px;top:-28px;width:150px;height:150px;padding:12px}.stoerer__main{font-size:1.1rem}.stoerer__sub{display:none}}
@media (max-width:860px){.stoerer{top:12px;bottom:auto;right:12px;width:124px;height:124px;padding:10px}.stoerer::before{inset:7px}.stoerer::after{inset:-6px}.stoerer__top{font-size:.54rem;padding:4px 6px;letter-spacing:.06em}.stoerer__main{font-size:.98rem}.stoerer__cta{font-size:.64rem}.hero__media{position:relative;z-index:2}}
/* WhatsApp-Button rechts (wie maru-beratung.de) */
.wa{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:45;width:62px;height:62px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.wa svg{width:34px;height:34px}
.wa::before,.wa::after{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:-1;animation:waPulse 2.6s cubic-bezier(.2,.7,.2,1) infinite}
.wa::after{animation-delay:1.3s}
.wa:hover,.wa:focus-visible{color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 16px 36px rgba(37,211,102,.45)}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.7);opacity:0}}
@media (max-width:760px){.wa{right:12px;top:auto;bottom:92px;transform:none;width:56px;height:56px}.wa:hover,.wa:focus-visible{transform:scale(1.06)}}
.legal,.legal p{overflow-wrap:anywhere}
/* Weihnachts-Aktion – Farben aus der Story „Weihnachtsfeiern 2026“ */
:root{--xmas-red:#8E2B22;--xmas-red-deep:#6E1F18;--xmas-gold:#D2C8B6;--xmas-green:#2D4C29}
.btn--xmas{background:var(--xmas-red);color:var(--white);box-shadow:0 10px 26px rgba(142,43,34,.35)}
.btn--xmas:hover,.btn--xmas:focus-visible{background:var(--xmas-red-deep);color:var(--white);transform:translateY(-1px)}
.hero .btn--xmas{box-shadow:0 0 0 2px var(--xmas-gold),0 10px 26px rgba(0,0,0,.3)}
.btn--xmas-box{display:inline-flex;align-items:center;min-height:52px;padding:14px 26px;background:var(--xmas-green);color:var(--white);font:800 1.05rem/1.2 var(--font-display);text-decoration:none;border-radius:0}
.btn--xmas-box:hover{background:#223a1f;color:var(--white)}
.xmas{background:var(--xmas-red)}
.xmas .eyebrow{color:var(--xmas-gold)}
.xmas .eyebrow::before{background:var(--xmas-gold)}
.xmas .bar{background:var(--xmas-gold);width:100%;max-width:none;height:3px}
.xmas .hl{background:none;color:var(--white);-webkit-text-fill-color:var(--white)}
.xmas p,.xmas .checks span{color:rgba(255,255,255,.9)}
.xmas .checks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E2B22' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"),linear-gradient(var(--xmas-gold),var(--xmas-gold))}
.xmas .micro{color:rgba(255,255,255,.85)}
.xmas-phone{font:800 1.15rem var(--font-display);color:var(--white);text-decoration:none;padding:0 6px}
.xmas-phone:hover{color:var(--xmas-gold)}
.hero.xmas{background:linear-gradient(135deg,#6E1F18 0%,#8E2B22 60%,#9C3328 100%)}
.hero.xmas .hl{color:var(--xmas-gold);-webkit-text-fill-color:var(--xmas-gold)}
.hero.xmas .btn--gold{background:var(--xmas-green);color:var(--white);border-radius:0}
.hero.xmas .crumbs [aria-current]{color:var(--xmas-gold)}
.hero.xmas + .trim{--trim-c:var(--xmas-red)}
/* Störer in Weihnachtsrot */
.stoerer{color:var(--white);background:radial-gradient(circle at 30% 25%,#B5443A 0,#8E2B22 55%,#6E1F18 100%);box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 4px var(--xmas-gold),inset 0 0 0 6px rgba(255,255,255,.12)}
.stoerer::before{border-color:rgba(210,200,182,.7)}
.stoerer::after{border-color:rgba(210,200,182,.9)}
.stoerer:hover,.stoerer:focus-visible{color:var(--white)}
.stoerer__top{background:var(--xmas-green);color:var(--white);border-radius:0}
.stoerer__cta{color:var(--xmas-gold)}
.stoerer__sub{color:rgba(255,255,255,.9)}
.mobile-cta .btn--xmas{box-shadow:none}
/* Menü-Symbol ohne Text */
.nav-toggle{width:48px;height:48px;padding:0;justify-content:center;border-radius:12px}
.nav-toggle svg{width:26px;height:26px}
.nav-toggle[aria-expanded="true"]{background:var(--linen)}

/* Desktop-Hero: Forsthaus als Hintergrund, Text über dem Bild */
@media (min-width:861px){
  .hero{isolation:isolate}
  .hero__grid{position:relative;display:block;min-height:clamp(600px,82vh,760px)}
  .hero--sub .hero__grid{min-height:clamp(500px,64vh,600px)}
  .hero__media{position:absolute;inset:0;padding:0;z-index:0;display:block}
  .hero__frame{position:absolute;inset:0}
  .hero__frame img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:62% 42%;border-radius:0;box-shadow:none;outline:0}
  .hero__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,16,.94) 0%,rgba(7,21,16,.82) 34%,rgba(7,21,16,.35) 62%,rgba(7,21,16,.12) 100%),linear-gradient(0deg,rgba(7,21,16,.55) 0%,rgba(7,21,16,0) 30%)}
  .hero.xmas .hero__frame::after{background:linear-gradient(90deg,rgba(110,31,24,.95) 0%,rgba(142,43,34,.85) 34%,rgba(142,43,34,.35) 62%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 30%)}
  .hero__text{position:relative;z-index:2;max-width:calc(var(--maxw) * .58 + max(var(--gutter),(100vw - var(--maxw))/2 + var(--gutter)));min-height:inherit;padding-top:clamp(56px,8vh,96px);padding-bottom:clamp(56px,8vh,96px);text-shadow:0 2px 18px rgba(0,0,0,.35)}
  .hero__badge{left:auto;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));bottom:36px;z-index:2}
  .stoerer{top:clamp(90px,16vh,150px);right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));width:200px;height:200px;padding:22px;z-index:3}
  .stoerer__main{font-size:1.5rem}
  .stoerer__sub{display:block;font-size:.74rem}
  .stoerer__top{font-size:.7rem}
  .stoerer__cta{font-size:.82rem}
}
@media (min-width:861px) and (max-width:1100px){
  .stoerer{width:160px;height:160px;padding:14px;top:72px}
  .stoerer__main{font-size:1.15rem}.stoerer__sub{display:none}
  .hero__text{max-width:64%}
}

/* Menüleiste zarter */
.nav a.navlink{font-weight:400;color:var(--text)}
.nav a.navlink:hover,.nav a.navlink[aria-current="page"]{font-weight:400}
@media (max-width:1180px){.nav a.navlink{font-weight:400}}

/* CTAs: Verlauf + leichter Hover im Marken-CI */
.btn{background-size:200% 100%;background-position:0% 50%;transition:transform .2s ease,box-shadow .2s ease,background-position .45s ease,color .2s ease,border-color .2s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);background-position:100% 50%}
.btn:active{transform:translateY(0)}
.btn--primary{background-image:linear-gradient(120deg,#1B4527 0%,#245A33 35%,#4F7F3A 70%,#245A33 100%);color:var(--white);box-shadow:0 8px 22px rgba(36,90,51,.28)}
.btn--primary:hover,.btn--primary:focus-visible{color:var(--white);box-shadow:0 14px 30px rgba(36,90,51,.38)}
.btn--gold{background-image:linear-gradient(120deg,#C6BCA9 0%,#E2DBCE 40%,#D2C8B6 70%,#B0A591 100%);color:var(--forest-deep);box-shadow:0 8px 22px rgba(90,84,72,.3)}
.btn--gold:hover,.btn--gold:focus-visible{color:var(--forest-deep);box-shadow:0 14px 30px rgba(90,84,72,.4)}
.btn--xmas{background-image:linear-gradient(120deg,#6E1F18 0%,#8E2B22 35%,#B5443A 70%,#8E2B22 100%);color:var(--white);box-shadow:0 8px 22px rgba(142,43,34,.32)}
.btn--xmas:hover,.btn--xmas:focus-visible{background-color:transparent;color:var(--white);box-shadow:0 14px 30px rgba(142,43,34,.45)}
.hero .btn--xmas{box-shadow:0 0 0 2px var(--xmas-gold),0 10px 26px rgba(0,0,0,.3)}
.hero .btn--xmas:hover{box-shadow:0 0 0 2px var(--xmas-gold),0 16px 34px rgba(0,0,0,.38)}
.btn--xmas-box{background-image:linear-gradient(120deg,#223a1f 0%,#2D4C29 40%,#3F6A39 75%,#2D4C29 100%);background-size:200% 100%;transition:background-position .45s ease,transform .2s ease,box-shadow .2s ease}
.btn--xmas-box:hover,.btn--xmas-box:focus-visible{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.25)}
.hero.xmas .btn--gold{background-image:linear-gradient(120deg,#223a1f 0%,#2D4C29 40%,#3F6A39 75%,#2D4C29 100%);color:var(--white)}
.btn--ghost{background-image:linear-gradient(120deg,rgba(36,90,51,0) 0%,rgba(36,90,51,0) 50%,rgba(36,90,51,.08) 100%)}
.deep .btn--ghost,.hero .btn--ghost{background-image:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 50%,rgba(255,255,255,.12) 100%)}
.btn::after{content:none}

/* WhatsApp-Button: Desktop und Mobil mittig rechts, läuft immer mit */
.wa{top:50%;bottom:auto;transform:translateY(-50%)}
.wa:hover,.wa:focus-visible{transform:translateY(-50%) scale(1.1)}
@media (max-width:760px){.wa{right:12px;top:50%;bottom:auto;transform:translateY(-50%);width:56px;height:56px}.wa:hover,.wa:focus-visible{transform:translateY(-50%) scale(1.06)}}

/* Störer Desktop: näher an den Text, weg vom WhatsApp-Button */
@media (min-width:1101px){.stoerer{right:auto;left:min(calc(var(--maxw) * .6 + (100vw - var(--maxw))/2 + 24px),calc(100vw - 340px));top:clamp(110px,18vh,170px)}}
@media (min-width:861px) and (max-width:1100px){.stoerer{right:auto;left:66%}}

/* Störer mobil: 1:1 wie maru-beratung.de, links auf dem Hausbild, leicht überlappend in den Text */
@media (max-width:860px){
  .hero__media,.hero__frame{overflow:visible}
  .stoerer{top:auto;bottom:calc(-1 * clamp(34px,9vw,52px));left:clamp(10px,3vw,40px);right:auto;width:clamp(108px,20vw,150px);height:clamp(108px,20vw,150px);padding:10px;transform:rotate(-8deg);z-index:5}
  .stoerer:hover,.stoerer:focus-visible{transform:rotate(-3deg) scale(1.05)}
  .stoerer::before{inset:7px}
  .stoerer::after{inset:-6px}
  .stoerer__top{font-size:clamp(.47rem,1.3vw,.62rem);padding:4px 6px;letter-spacing:.05em}
  .stoerer__main{font-size:clamp(.98rem,2.8vw,1.35rem);margin-top:5px}
  .stoerer__sub{display:none}
  .stoerer__cta{font-size:clamp(.6rem,1.6vw,.74rem);margin-top:6px}
  .hero__text{padding-top:clamp(64px,18vw,96px)}
}
/* Mobil: Logo und Social-Icons zurücknehmen, Menü-Symbol ist das stärkste Element */
@media (max-width:1180px){
  .site-header .wrap{min-height:64px}
  .brand svg{width:38px;height:38px}
  .brand span{font-size:.92rem}
  .brand small{font-size:.66rem}
  .social-mini--bar{gap:0}
  .social-mini--bar a{width:36px;height:36px;border-color:transparent}
  .social-mini--bar svg{width:17px;height:17px}
  .nav-toggle{width:48px;height:48px;background:var(--forest);border-color:var(--forest);color:var(--white)}
  .nav-toggle[aria-expanded="true"]{background:var(--forest-deep);color:var(--white)}
  .nav{inset:64px 0 auto 0}
}
/* Kontrast: helle Boxen innerhalb dunkler Sektionen (Facebook-Box, Karte) */
.deep .embed,.deep .embed__gate{color:var(--text)}
.deep .embed h3,.deep .embed__gate h3{color:var(--ink)}
.deep .embed p,.deep .embed__gate p{color:var(--slate)}
.deep .embed a:not(.btn){color:var(--forest)}
.deep .embed .btn--ghost{border-color:var(--line-strong);color:var(--ink);background-image:none}
.deep .embed .btn--ghost:hover{border-color:var(--forest);color:var(--forest)}
.deep .stat span,.deep .social-link small,.deep .micro{color:rgba(255,255,255,.88)}

.btn--nav2{display:none}
@media (min-width:1181px){.btn--nav2{display:inline-flex;min-height:44px;padding:10px 16px;font-size:.92rem;margin-right:4px}}
@media (max-width:760px){
  .mobile-cta--3{grid-template-columns:52px 1fr 1.4fr}
  .mobile-cta--3 .btn{padding:10px 8px;font-size:.92rem;gap:6px}
  .mobile-cta--3 .btn svg{width:18px;height:18px}
}
.info{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.info{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.info{grid-template-columns:1fr}}
/* Header kompakt: nichts umbrechen */
.nav a.navlink,.nav .btn,.brand span{white-space:nowrap}
.nav a.navlink{padding:0 10px}
.nav .btn{padding:10px 16px;font-size:.92rem}
.site-header .wrap{gap:var(--s3)}
@media (min-width:1181px) and (max-width:1300px){.nav a.navlink{font-size:.92rem;padding:0 8px}.btn--nav2{padding:10px 12px}.nav .social-mini{margin-left:2px}}
