:root{--ink:#19352a;--forest:#244c3a;--moss:#678151;--cream:#f5f0e6;--sun:#e8a63c;--white:#fff;--line:rgba(25,53,42,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-size:clamp(3rem,6.4vw,6.7rem);line-height:.94;letter-spacing:-.055em;margin-bottom:1.8rem;font-weight:500}h2 em,h1 em{font-family:'Playfair Display',serif;color:var(--sun);font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:600;margin-bottom:1.6rem}.eyebrow:before{content:'✦';margin-right:.75rem;color:var(--sun)}.eyebrow.green{color:var(--moss)}.section{padding:clamp(5rem,10vw,9rem) max(5vw,calc((100vw - 1240px)/2))}.site-header{height:88px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.2rem;font-weight:600;letter-spacing:-.04em}.brand img{width:50px;height:50px;border-radius:50%;object-fit:cover}.brand i{font-family:'Playfair Display',serif;color:#e5b45a}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.86rem}.site-header nav a:not(.nav-cta):after{content:'';display:block;width:0;border-bottom:1px solid;transition:.25s}.site-header nav a:hover:after{width:100%}.nav-cta,.button{display:inline-flex;align-items:center;gap:2.2rem;background:var(--sun);padding:.85rem 1.1rem .85rem 1.5rem;color:var(--ink);font-weight:600;border:0;cursor:pointer}.button span{font-size:1.25rem}.button.light{background:#f8f4ea}.menu{display:none;background:none;border:0}.hero{height:max(720px,100svh);position:relative;color:#fff;overflow:hidden}.hero>img{height:100%;object-fit:cover;animation:hero 18s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,25,.75),rgba(10,30,20,.08)),linear-gradient(0deg,rgba(10,30,20,.42),transparent 55%)}.hero-copy{position:absolute;left:max(5vw,calc((100vw - 1240px)/2));top:50%;transform:translateY(-43%);max-width:850px}.hero-copy h1{font-size:clamp(3.7rem,7.6vw,7.8rem)}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.5vw,1.25rem);max-width:570px;margin-bottom:2.2rem}.scroll{position:absolute;right:5vw;bottom:3rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem}.scroll b{font-size:1.1rem;margin-left:1rem}.intro{display:grid;grid-template-columns:1fr .82fr;gap:clamp(3rem,9vw,9rem);position:relative;align-items:center}.intro h2{font-size:clamp(3rem,5.7vw,5.9rem)}.lead{font-size:1.3rem;line-height:1.55}.intro-copy>p{max-width:580px}.text-link{display:inline-block;margin-top:1.2rem;padding-bottom:.25rem;border-bottom:1px solid;font-weight:600}.text-link span{margin-left:1.2rem}.portrait{position:relative;margin:0}.portrait img{aspect-ratio:4/5;object-fit:cover}.portrait figcaption{background:var(--forest);color:#fff;padding:1.1rem 1.4rem;display:flex;flex-direction:column;position:absolute;left:-2rem;bottom:2rem}.portrait figcaption span{font-size:.75rem;opacity:.7}.note{position:absolute;right:1.5vw;top:5rem;font:1.7rem/1.1 'Gochi Hand',cursive;transform:rotate(6deg);color:var(--moss)}.animals{background:var(--forest);color:#fff}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:6rem;align-items:end}.section-head h2{font-size:clamp(3rem,5.7vw,5.8rem)}.section-head>p{opacity:.72;max-width:480px}.animal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}.animal-card{position:relative;overflow:hidden;min-height:350px}.animal-card.large{grid-column:span 2;grid-row:span 2}.animal-card img{height:100%;object-fit:cover;transition:.6s}.animal-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68))}.animal-card:hover img{transform:scale(1.035)}.animal-card div{position:absolute;z-index:2;left:1.5rem;bottom:1.2rem}.animal-card small,.offer small{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;opacity:.72}.animal-card h3{font:1.8rem 'Playfair Display',serif;margin:.2rem 0}.offers{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.offer-title{position:sticky;top:2rem;align-self:start}.offer-title h2{font-size:clamp(3rem,5.4vw,5.5rem)}.offer{display:grid;grid-template-columns:42px 1fr 110px 40px;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:1rem 0;min-height:130px}.offer:last-child{border-bottom:1px solid var(--line)}.offer>span{font-size:.7rem}.offer h3{font:2rem 'Playfair Display',serif;margin:.1rem 0}.offer img{height:96px;object-fit:cover}.offer>a{font-size:1.5rem;transition:.2s}.offer:hover>a{transform:translate(4px,-4px)}.farm{min-height:760px;position:relative;color:#fff;display:flex;align-items:center;padding:8vw}.farm>img{position:absolute;inset:0;height:100%;object-fit:cover}.farm:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,44,32,.88) 0%,rgba(15,44,32,.6) 45%,transparent 80%)}.farm-copy{position:relative;z-index:1;max-width:610px}.farm-copy h2{font-size:clamp(3rem,5.8vw,5.8rem)}.facts{display:flex;gap:3rem;border-top:1px solid rgba(255,255,255,.3);padding-top:1.5rem;margin-top:2.5rem}.facts span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.facts b{display:block;font:2rem 'Playfair Display',serif;color:#e8b65d}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:#e8e5d7}.contact h2{font-size:clamp(3.4rem,6vw,6rem)}address{font-style:normal;display:flex;flex-direction:column;gap:1rem;margin-top:3rem}address a{font-weight:600;text-decoration:underline}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.contact-form label{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;font-weight:600}.contact-form label:nth-child(4),.contact-form .consent{grid-column:span 2}input,select,textarea{font:1rem 'DM Sans',sans-serif;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.8rem 0;border-radius:0;outline:none;color:var(--ink)}textarea{resize:vertical}.consent{flex-direction:row!important;align-items:center;gap:.7rem;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}.consent input{width:auto}.consent a{text-decoration:underline}.contact-form .button{justify-self:start}.legal{padding-top:170px;max-width:900px;margin:auto}.legal h1{font-size:clamp(3.5rem,7vw,6rem)}.legal h2{font-size:1.5rem;letter-spacing:-.02em;line-height:1.2;margin:2.5rem 0 .8rem}.legal a{text-decoration:underline}.legal-note{padding:1.5rem;background:#e7ddc8;border-left:4px solid var(--sun)}.page-impressum .site-header,.page-datenschutz .site-header{position:absolute;background:var(--forest)}footer{background:#173429;color:#fff;padding:5rem 5vw 2rem;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;font-size:.85rem}footer b{color:#d5ad68;margin-bottom:.5rem}.footer-brand{font-size:1.5rem;margin-bottom:1rem}.footer-brand img{width:60px;height:60px}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;margin-top:2rem;opacity:.5}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes hero{from{transform:scale(1.08)}to{transform:scale(1)}}
@media(max-width:850px){.site-header{height:72px}.site-header nav{position:fixed;inset:72px 0 auto;background:var(--cream);color:var(--ink);padding:2rem;display:none;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu{display:block}.menu span{display:block;width:26px;border-top:2px solid #fff;margin:7px}.hero{min-height:680px}.hero-copy{right:5vw}.intro,.section-head,.offers,.contact{grid-template-columns:1fr}.note{display:none}.portrait{max-width:550px}.animal-grid{grid-template-columns:1fr 1fr}.animal-card.large{grid-column:span 2;grid-row:auto}.animal-card{min-height:300px}.offers{gap:4rem}.offer-title{position:static}.farm{padding:5rem 6vw}.facts{gap:1.2rem;justify-content:space-between}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(4),.contact-form .consent{grid-column:span 1}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}}
@media(max-width:520px){h1,h2{letter-spacing:-.045em}.section{padding:5rem 1.25rem}.hero-copy{left:1.25rem;right:1.25rem}.hero-copy h1{font-size:3.65rem}.scroll{display:none}.animal-grid{display:block}.animal-card{margin-bottom:1rem}.offer{grid-template-columns:28px 1fr 34px}.offer img{display:none}.offer h3{font-size:1.6rem}.farm{min-height:700px}.facts b{font-size:1.55rem}.facts span{font-size:.58rem}.portrait figcaption{left:-.5rem}.contact{gap:3rem}footer{grid-template-columns:1fr;padding:4rem 1.25rem 2rem}footer>div:first-child,footer small{grid-column:1}.legal{padding-top:130px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero>img{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Hero-Inhalt bewusst höher positionieren, damit er auf flachen Displays nicht abgeschnitten wird. */
.hero-copy{top:39%}
@media(max-width:850px){.hero-copy{top:36%}}
@media(max-width:520px){.hero-copy{top:34%}}

/* Kompakte Hauptnavigation als Hamburger-Menü auf allen Bildschirmgrößen. */
.site-header .menu{display:block;position:relative;z-index:32;width:48px;height:48px;padding:9px;cursor:pointer}
.site-header .menu span{display:block;width:28px;border-top:2px solid #fff;margin:8px auto;transition:transform .25s,opacity .25s}
.site-header .menu[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)}
.site-header .menu[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)}
.site-header nav{position:fixed;z-index:30;top:0;right:0;bottom:0;width:min(430px,100%);padding:130px 5vw 55px;background:#080a09;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.5rem;font-size:clamp(1.35rem,2.5vw,2rem);transform:translateX(100%);visibility:hidden;transition:transform .35s ease,visibility .35s}
.site-header nav.open{display:flex;transform:translateX(0);visibility:visible}
.site-header nav a:not(.nav-cta){width:100%;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.18)}
.site-header nav a:not(.nav-cta):after{display:none}
.site-header nav .nav-cta{margin-top:1rem;font-size:1rem}

/* Mehr Raum für Impressum und Datenschutz. */
.legal{width:min(1180px,90vw);max-width:none}
.legal>p{max-width:1000px}
@media(min-width:900px){.legal h2{font-size:1.75rem}.legal>p{font-size:1.08rem}}
@media(max-width:850px){.site-header nav{inset:0 0 0 auto;padding:110px 2rem 45px;background:#080a09;color:#fff;align-items:flex-start}.site-header nav a:not(.nav-cta){width:100%}}

/* Hero-Slider */
.hero-slides,.hero-slide{position:absolute;inset:0;margin:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s;overflow:hidden}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide img{height:100%;object-fit:cover;transform:scale(1.04);transition:transform 7s ease}
.hero-slide.active img{transform:scale(1)}
.hero-controls{position:absolute;z-index:4;left:max(5vw,calc((100vw - 1240px)/2));bottom:3rem;display:flex;align-items:center;gap:1rem}
.hero-controls>button{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(8,10,9,.18);color:#fff;font-size:1.1rem;cursor:pointer;transition:background .2s}
.hero-controls>button:hover{background:#fff;color:var(--ink)}
.hero-dots{display:flex;align-items:center;gap:.55rem}
.hero-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:width .25s,border-radius .25s,background .25s}
.hero-dots button.active{width:28px;border-radius:5px;background:#fff}
@media(max-width:520px){.hero-controls{left:1.25rem;bottom:1.5rem}.hero-controls>button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide img{transition:none}}

/* Ab Tablet-Querformat wieder klassische Navigation; Hamburger nur auf Handys. */
@media(min-width:851px){
  .site-header .menu{display:none}
  .site-header nav{position:static;z-index:auto;width:auto;padding:0;background:transparent;color:inherit;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:2rem;font-size:.86rem;transform:none;visibility:visible;transition:none}
  .site-header nav a:not(.nav-cta){width:auto;padding-bottom:0;border-bottom:0}
  .site-header nav a:not(.nav-cta):after{content:'';display:block;width:0;border-bottom:1px solid;transition:width .25s}
  .site-header nav a:not(.nav-cta):hover:after{width:100%}
  .site-header nav .nav-cta{margin-top:0;font-size:.86rem}
}

/* Slidertext mit sicherem Abstand zur Unterkante. */
.hero-copy{top:31%}
.hero-copy,.scroll{z-index:4}
.scroll{display:flex;align-items:center;padding:.75rem; margin:-.75rem;cursor:pointer}
.scroll:hover b{transform:translateY(4px)}
.scroll b{display:inline-block;transition:transform .2s}
@media(max-width:850px){.hero-copy{top:27%}}
@media(max-width:520px){
  .hero-copy{top:22%;transform:translateY(-20%)}
  .hero-copy h1{font-size:clamp(2.75rem,14vw,3.65rem);margin-bottom:1.1rem}
  .hero-copy>p:not(.eyebrow){margin-bottom:1.35rem}
}

/* Hero-Textblock auf allen Geräten exakt 100px weiter oben. */
.hero-copy{top:calc(31% - 100px)}
@media(max-width:850px){.hero-copy{top:calc(27% - 100px)}}
@media(max-width:520px){.hero-copy{top:22%}}

/* Navigation bleibt beim Scrollen sichtbar. */
.site-header{position:fixed;transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.site-header.scrolled{background:rgba(8,35,25,.94);box-shadow:0 8px 30px rgba(0,0,0,.14);backdrop-filter:blur(10px)}
.page-impressum .site-header,.page-datenschutz .site-header{position:fixed}

/* Mobiles Menü bleibt auch nach dem Scrollen korrekt im sichtbaren Bereich. */
@media(max-width:850px){
  .site-header.scrolled{backdrop-filter:none}
  .site-header:has(nav.open){background:#080a09}
  .site-header nav,.site-header nav.open{position:fixed;inset:72px 0 auto auto;width:100%;height:calc(100dvh - 72px);max-height:calc(100dvh - 72px);padding:2.5rem 2rem;overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start;background:#080a09}
}

.website-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message{grid-column:1/-1;padding:1rem 1.25rem;margin:0;border-left:4px solid}
.form-message.success{background:#dce8d6;border-color:var(--moss)}
.form-message.error{background:#f3d9d2;border-color:#a34332}
.contact-form .form-topic,.contact-form .form-message-field{grid-column:1/-1}
body,input,select,textarea,button{font-family:Arial,"Helvetica Neue",sans-serif}
h1 em,h2 em,.brand i,.animal-card h3,.offer h3,.facts b{font-family:Georgia,"Times New Roman",serif}

/* Anfahrt */
.directions{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,8rem);align-items:center;background:#f5f0e6}
.directions-map{position:relative;min-height:560px;overflow:hidden;background:#dce4d2;border:1px solid rgba(25,53,42,.12)}
.directions-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-credit{position:absolute;z-index:2;right:.75rem;bottom:.75rem;padding:.55rem .8rem;background:rgba(255,255,255,.94);font-size:.72rem;font-weight:600}
.directions-map:before,.directions-map:after{content:'';position:absolute;border-radius:50%;background:#c2d3b5;filter:blur(1px)}
.directions-map:before{width:440px;height:300px;left:-120px;top:-80px}.directions-map:after{width:380px;height:420px;right:-140px;bottom:-170px}
.road{position:absolute;z-index:1;display:block;height:14px;background:#f9f5e9;border:1px solid #d3cbb9;border-radius:50%;transform-origin:left center}
.road-one{width:125%;left:-10%;top:48%;transform:rotate(-13deg)}.road-two{width:85%;left:22%;top:16%;transform:rotate(71deg)}.road-three{width:80%;left:2%;top:75%;transform:rotate(-57deg)}
.map-place{position:absolute;z-index:2;padding:.25rem .5rem;background:rgba(245,240,230,.85);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.map-hambergen{left:12%;bottom:19%}.map-heilsdorf{right:10%;top:18%}
.map-pin{position:absolute;z-index:3;left:53%;top:47%;display:flex;align-items:center;gap:.75rem;transform:translate(-50%,-50%);white-space:nowrap}.map-pin i{display:block;width:28px;height:28px;background:var(--sun);border:6px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 5px 16px rgba(0,0,0,.22)}.map-pin b{padding:.5rem .75rem;background:var(--forest);color:#fff;font-size:.8rem}
.directions-copy h2{font-size:clamp(3.2rem,5.6vw,5.8rem)}.directions-copy>p{max-width:510px}.directions-address{margin:2rem 0;gap:.4rem}.directions-address strong{font-size:1.1rem}.route-button{margin-top:.5rem}
@media(max-width:850px){.directions{grid-template-columns:1fr}.directions-map{min-height:420px}.directions-copy{grid-row:1}}
@media(max-width:520px){.directions-map{min-height:330px}.map-pin{left:48%}}

@media(max-width:520px){
  .legal h1{font-size:clamp(2.15rem,11vw,3rem);line-height:1.05;letter-spacing:-.04em;overflow-wrap:anywhere;hyphens:auto}
}

/* Foto-Slider für Tiere und Hof */
.photo-slider{position:relative;margin-top:3rem;overflow:hidden}
.photo-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.photo-slide{flex:0 0 100%;margin:0}
.photo-slide img{height:clamp(430px,62vw,720px);object-fit:cover}
.photo-controls{position:absolute;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.8rem;padding:.55rem;background:rgba(8,25,18,.82);color:#fff}
.photo-controls button{width:44px;height:44px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font-size:1.15rem;cursor:pointer;transition:background .2s,color .2s}
.photo-controls button:hover{background:#fff;color:var(--ink)}
.photo-count{min-width:52px;text-align:center;font-size:.75rem;letter-spacing:.12em}

/* Angebotskategorien */
.offer-groups{border-bottom:1px solid var(--line)}
.offer-group{border-top:1px solid var(--line)}
.offer-group-button{display:grid;grid-template-columns:42px 1fr 42px;gap:1rem;align-items:center;width:100%;padding:1.6rem 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.offer-group-button .offer-number{font-size:.7rem}
.offer-group-button strong{display:block;font:clamp(1.55rem,2.5vw,2.2rem) Georgia,"Times New Roman",serif;line-height:1.15}
.offer-group-button small{display:block;max-width:570px;margin-top:.45rem;font-size:.82rem;line-height:1.5;opacity:.72;text-transform:none;letter-spacing:0}
.offer-group-button i{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:1.5rem;transition:transform .3s,background .2s}
.offer-group-button.has-image{grid-template-columns:42px 112px 1fr 42px}
.offer-group-button>img{width:112px;height:88px;object-fit:cover}
.offers-title-image{width:100%;max-width:470px;aspect-ratio:4/3;margin-top:2rem;object-fit:cover}
.offer-group-button:hover i{background:var(--sun)}
.offer-group-button[aria-expanded="true"] i{transform:rotate(45deg);background:var(--sun)}
.offer-panel{height:auto;padding:0 0 0 58px;overflow:hidden;opacity:1;transition:height .48s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.offer-panel[hidden]{display:none}
.offer-panel .offer-detail:last-child{margin-bottom:2rem}
.offer-detail{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.offer-detail img{height:180px;object-fit:cover}
.offer-detail h3{margin:0 0 .55rem;font:2rem Georgia,"Times New Roman",serif}
.offer-detail p{max-width:570px;margin-bottom:.5rem}
.offer-detail .text-link{margin-top:.6rem}

/* Helle Hofgalerie statt vollflächigem Textmotiv */
.farm{display:block;min-height:0;padding:clamp(5rem,10vw,9rem) max(5vw,calc((100vw - 1240px)/2));background:#dfe5d7;color:var(--ink)}
.farm:after{display:none}
.farm .section-head{position:relative;z-index:1}

@media(max-width:850px){
  .photo-slide img{height:clamp(380px,75vw,600px)}
  .offer-panel{padding-left:0}
}
@media(max-width:520px){
  .photo-slide img{height:430px}
  .photo-controls{right:.75rem;bottom:.75rem}
  .offer-group-button{grid-template-columns:28px 1fr 36px;gap:.65rem;padding:1.35rem 0}
  .offer-group-button i{width:36px;height:36px}
  .offer-detail{grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}
  .offer-detail img{height:220px}
}
@media(prefers-reduced-motion:reduce){.photo-track{transition:none}}

/* Programm-Unterseiten */
.program-hero{position:relative;min-height:min(760px,88vh);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.program-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.program-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,18,.88),rgba(7,25,18,.42) 62%,rgba(7,25,18,.12))}
.program-hero-copy{position:relative;z-index:1;width:min(850px,90vw);margin:0 max(5vw,calc((100vw - 1240px)/2));padding:11rem 0 6rem}
.program-hero-copy h1{max-width:800px;margin:.5rem 0 1.3rem;font-size:clamp(3.5rem,7.2vw,7rem);line-height:.92;overflow-wrap:anywhere;hyphens:auto}
.program-hero-copy>p:last-child{max-width:680px;font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.65}
.program-back{display:inline-block;margin-bottom:3.5rem;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.65);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.program-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(4rem,10vw,9rem);align-items:start;background:var(--cream)}
.program-copy{max-width:760px}.program-copy h2{font-size:clamp(2.7rem,4.8vw,4.8rem);margin:0 0 2rem}.program-copy h3{margin:2.5rem 0 .7rem;font:2rem Georgia,"Times New Roman",serif}.program-copy p{font-size:1.06rem;line-height:1.8}.program-copy .button{margin-top:2rem}
.program-copy ul{margin:0 0 2rem;padding-left:1.25rem}.program-copy li{margin:.55rem 0;padding-left:.35rem;line-height:1.65}.program-copy strong{font-weight:700}
.program-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.program-actions .button{margin-top:0}
.program-facts{position:sticky;top:120px;padding:2rem;background:#dfe5d7}.program-facts>div{display:grid;gap:.4rem;padding:1.25rem 0;border-top:1px solid var(--line)}.program-facts b{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.program-facts span{font:1.25rem Georgia,"Times New Roman",serif;line-height:1.35}
.program-gallery{background:#f5f0e6}.program-gallery>h2{font-size:clamp(3rem,5.5vw,5.5rem)}.program-gallery .photo-slider{margin-top:2.5rem}
body[class^="page-"]:not(.page-home):not(.page-impressum):not(.page-datenschutz) .site-header{background:linear-gradient(rgba(8,35,25,.78),transparent)}
body[class^="page-"] .site-header.scrolled{background:rgba(8,35,25,.96);box-shadow:0 8px 30px rgba(0,0,0,.14);backdrop-filter:blur(10px)}
@media(max-width:850px){.program-content{grid-template-columns:1fr}.program-facts{position:static}.program-hero-copy{padding-bottom:4rem}.program-back{margin-bottom:2.5rem}}
@media(max-width:520px){.program-hero{min-height:680px}.program-hero-copy{min-width:0;padding:9rem 0 3.5rem}.program-hero-copy h1{max-width:100%;font-size:clamp(2.6rem,12.5vw,4.6rem)}.program-content{gap:3rem}.program-copy h3{font-size:1.65rem}}
@media(max-width:520px){.offer-group-button.has-image{grid-template-columns:28px 72px 1fr 36px}.offer-group-button>img{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){.offer-panel{transition:none}}

/* Sitemap */
.sitemap-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2rem,4vw,4rem);margin-top:3rem}
.sitemap-groups section h2{margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:1.6rem}
.sitemap-groups nav{display:flex;flex-direction:column;gap:.2rem}
.sitemap-groups nav a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(25,53,42,.12);text-decoration:none;transition:color .2s,padding-left .2s}
.sitemap-groups nav a:hover{padding-left:.35rem;color:var(--moss)}
@media(max-width:1050px){.sitemap-groups{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sitemap-groups{grid-template-columns:1fr}}
.page-sitemap .site-header{position:fixed;background:var(--forest)!important}

/* Vollständige Sitemap direkt im Footer */
footer{grid-template-columns:1.6fr repeat(4,minmax(130px,1fr))}
@media(max-width:1050px){footer{grid-template-columns:1fr 1fr 1fr}footer>div:first-child{grid-column:1/-1}}
@media(max-width:650px){footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}}
@media(max-width:420px){footer{grid-template-columns:1fr}footer>div:first-child{grid-column:1}}

/* Finale Startseitenstruktur aus dem Kundenbriefing */
.hero-cta{margin-top:.35rem}
.values{background:var(--forest);color:#fff;overflow:hidden}
.values-head{max-width:900px;margin-bottom:clamp(3rem,6vw,5.5rem)}
.values-head h2{font-size:clamp(3rem,5.7vw,5.8rem)}
.values-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.value-grid{border-top:1px solid rgba(255,255,255,.3)}
.value-card{display:grid;grid-template-columns:62px 1fr;gap:1rem;padding:1.65rem 0 1.8rem;border-bottom:1px solid rgba(255,255,255,.3);transition:padding .3s,color .3s}
.value-card:hover{padding-left:.75rem;color:#f1c777}
.value-card>span{padding-top:.35rem;font-size:.68rem;letter-spacing:.15em;color:#e8b65d}
.value-card h3{margin:0 0 .45rem;font:clamp(1.6rem,2.3vw,2.25rem) Georgia,"Times New Roman",serif}
.value-card p{max-width:520px;margin:0;color:rgba(255,255,255,.7);transition:color .3s}
.value-card:hover p{color:rgba(255,255,255,.9)}
.value-images{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:1.05fr .95fr;gap:.8rem;margin:0;height:clamp(520px,45vw,650px);min-height:0}
.value-images img{height:100%;min-height:0;object-fit:cover}
.value-images img:first-child{grid-column:1/3;object-position:center 62%}
.value-images img:nth-child(2){object-position:center 68%}
.value-images img:nth-child(3){object-position:center}
.value-images figcaption{position:absolute;left:-1.5rem;bottom:2.2rem;padding:1rem 1.3rem;background:var(--cream);color:var(--ink);font:1.1rem Georgia,"Times New Roman",serif;transform:rotate(-2deg);box-shadow:0 12px 35px rgba(0,0,0,.16)}
.value-images figcaption span{margin-right:.45rem;color:var(--sun)}

.offers{display:block}
.offers-head{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;align-items:end;margin-bottom:3rem}
.offers-head .eyebrow{grid-column:1/-1}
.offers-head h2{font-size:clamp(3rem,5.4vw,5.5rem);margin-bottom:0}
.offers-head>p:last-child{max-width:580px;margin-bottom:.5rem}
.offer-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.offer-tile{position:relative;min-height:430px;overflow:hidden;color:#fff;background:var(--forest)}
.offer-tile:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(7,24,17,.92))}
.offer-tile>img{height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s ease}
.offer-tile:hover>img{transform:scale(1.04)}
.offer-tile>span{position:absolute;z-index:2;left:1.6rem;right:1.6rem;bottom:1.5rem;display:grid;grid-template-columns:1fr auto;align-items:end;gap:.35rem 1rem}
.offer-tile small{grid-column:1/-1;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;opacity:.75}
.offer-tile strong{font:clamp(1.55rem,2.1vw,2.15rem)/1.1 Georgia,"Times New Roman",serif}
.offer-tile i{font-size:1.55rem;font-style:normal}

.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center;background:#dfe5d7}
.about-copy h2{font-size:clamp(3rem,5.5vw,5.6rem)}
.about-copy p:not(.eyebrow){max-width:650px}
.about-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}
.about-images img{height:clamp(420px,48vw,650px);object-fit:cover}

.partners{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:var(--forest);color:#fff}
.partners h2{font-size:clamp(3rem,5.4vw,5.5rem);margin-bottom:0}
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.partner-mark{min-height:210px;padding:2rem;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .2s}
.partner-mark:hover{transform:translateY(-4px)}
.partner-mark img{width:auto;max-width:min(100%,310px);height:110px;object-fit:contain}
.partner-mark:first-child img{height:145px}
.partner-mark i{position:absolute;right:1.25rem;bottom:1rem;font-style:normal;font-size:1.25rem;color:var(--moss)}
.social-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.social-links a:hover{background:var(--forest);color:#fff;transform:translateY(-3px)}
.social-links a:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.social-links svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-links .social-icon-fill,.social-links .social-icon-dot{fill:currentColor;stroke:none}

@media(max-width:950px){.values-layout{grid-template-columns:1fr;gap:4rem}.value-images{height:520px}.offer-tile-grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.partners{grid-template-columns:1fr}}
@media(max-width:650px){.offers-head{grid-template-columns:1fr;gap:1rem}.offers-head .eyebrow{grid-column:1}.offer-tile-grid,.partner-grid{grid-template-columns:1fr}.values-layout{gap:3rem}.value-images{height:390px;gap:.5rem}.value-images figcaption{left:.7rem;bottom:1rem;font-size:.95rem}.value-card{grid-template-columns:44px 1fr;padding:1.35rem 0}.value-card:hover{padding-left:0}.offer-tile{min-height:350px}.about-images{gap:.6rem}.about-images img{height:430px}.partners{gap:3rem}}

/* Die dreizeilige Startseitenbotschaft bewusst kompakter halten. */
.page-home .hero-copy h1{font-size:clamp(2.8rem,5.4vw,5.6rem);line-height:1}
@media(max-width:520px){.page-home .hero-copy h1{font-size:clamp(2.2rem,10vw,2.7rem);line-height:1.02}}

/* Navigation passend zur aktuellen Seiten- und Angebotsstruktur. */
.nav-group{position:relative}
.nav-dropdown{position:absolute;z-index:40;top:100%;left:-1.25rem;width:280px;padding:.75rem;background:#fff;color:var(--ink);box-shadow:0 18px 45px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,visibility .2s,transform .2s}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:none}
.site-header .nav-dropdown a{display:block!important;width:100%!important;padding:.7rem .8rem!important;border:0!important;font-size:.82rem;line-height:1.25}
.site-header .nav-dropdown a:hover,.site-header .nav-dropdown a:focus{background:var(--cream)}
.site-header .nav-dropdown a:after{display:none!important}
@media(max-width:850px){
  .site-header nav{gap:1rem}
  .nav-group{width:100%}
  .nav-group>a{display:block;width:100%;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.18)}
  .nav-dropdown{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .75rem;width:100%;padding:.55rem 0 .15rem;background:transparent;color:#fff;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .site-header .nav-dropdown a{min-width:0;padding:.4rem 0!important;color:rgba(255,255,255,.72);font-size:clamp(.8rem,3.6vw,.9rem);line-height:1.25;word-break:normal;overflow-wrap:normal;hyphens:none}
  .site-header .nav-dropdown a:hover,.site-header .nav-dropdown a:focus{background:rgba(255,255,255,.08);color:#fff}
}

/* Alle Angebotsseiten bereits vor den großen Bildkacheln direkt erreichbar. */
