/* Hofangebot: Material, Produkt und Henne bilden eine gemeinsame Szene. */
.hero.hero-linen { --linen-y:0px; --photo-y:0px; padding-block:52px 44px; gap:64px; }
.hero-linen h1 { font-size:clamp(44px,4.5vw,64px); }
.hero-linen .hero-description { max-width:415px; }
.hero-linen .hero-visual { min-height:0; margin:0; }
.farm-feature { display:block; border:1px solid var(--border); border-radius:24px; overflow:hidden; background:var(--background); }
.farm-stage { position:relative; height:350px; isolation:isolate; background-color:#eee8d8; background-image:linear-gradient(120deg,#f8f5eb33 30%,#e1f5da66 100%),url('assets/linen-weave.webp'); background-size:auto,520px; background-position:center,center calc(50% + var(--linen-y)); }
.farm-scene-label { position:absolute; z-index:5; top:23px; left:25px; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#46594b; pointer-events:none; }
.farm-product-photo { position:absolute; z-index:1; right:28px; top:48px; width:205px; padding:9px 9px 12px; background:#fff; box-shadow:0 5px 15px #23362d16; transform:translateY(var(--photo-y)) rotate(6deg); }
.farm-product-photo img { display:block; width:100%; height:auto; aspect-ratio:1.1; object-fit:cover; }
.farm-product-photo > span { display:block; padding-top:10px; color:#46594b; font-size:10px; font-weight:600; text-align:center; }
.hen-scene { --hen-x:0px; --hen-y:0px; --hen-rotate:0deg; --egg-y:-40px; --egg-opacity:0; --egg-rotate:0deg; position:absolute; inset:0; display:block; width:100%; height:100%; z-index:2; padding:0; border-radius:0; background:none; }
.hen-scene:focus-visible { outline-offset:-5px; border-radius:22px 22px 0 0; }
.hero-hen { position:absolute; z-index:3; width:330px; height:330px; left:2px; bottom:5px; object-fit:contain; transform:translate3d(var(--hen-x),var(--hen-y),0) rotate(var(--hen-rotate)); transform-origin:63% 90%; will-change:transform; filter:drop-shadow(0 7px 4px #2d322415); pointer-events:none; }
.hen-ground { position:absolute; z-index:0; width:275px; height:15px; border-radius:50%; background:#6f786e30; filter:blur(5px); left:22px; bottom:17px; pointer-events:none; }
.hen-egg { position:absolute; width:29px; height:39px; z-index:2; bottom:18px; left:21%; border-radius:50% 50% 47% 47% / 64% 64% 37% 37%; background:radial-gradient(ellipse at 32% 29%,#fffdf2 7%,#f2e5c9 64%,#cdb68e 100%); border:1px solid #c9b99660; box-shadow:inset -3px -2px 6px #b39a7140,0 5px 3px -3px #44563a60; opacity:var(--egg-opacity); transform:translate3d(0,var(--egg-y),0) rotate(var(--egg-rotate)); transform-origin:50% 100%; pointer-events:none; }
.hen-play-hint { position:absolute; right:19px; bottom:17px; display:grid; place-items:center; width:33px; height:33px; border:1px solid #ffffff90; border-radius:50%; color:#46594b; background:#fff9; transition:background .2s; }
.hen-play-hint .icon { width:14px; height:14px; }
.hen-scene:hover .hen-play-hint { background:#fff; }
.farm-offer { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:119px; padding:22px 24px; }
.farm-offer-copy { min-width:0; }
.farm-offer-producer { display:block; max-width:100%; color:var(--muted); text-align:left; font-size:10px; line-height:1.5; }
.farm-offer-producer:hover { color:var(--ink); text-decoration:underline; }
.farm-offer h2 { margin:5px 0 3px; font-size:21px; line-height:1.3; letter-spacing:-.035em; }
.farm-offer h2 button { text-align:left; }
.farm-offer h2 button:hover { text-decoration:underline; }
.farm-offer p { margin:0; font-size:12px; color:var(--muted); }
.farm-offer p strong { color:var(--ink); font-size:15px; font-variant-numeric:tabular-nums; }
.farm-offer .farm-offer-add { flex-shrink:0; min-width:42px; min-height:42px; padding:10px 13px; font-size:10px; gap:5px; background:var(--cyan); color:#142c2f; border-color:transparent; }
.hen-scene.is-laying .hero-hen { animation:hen-lay 1.4s ease both; }
.hen-scene.is-laying .hen-egg { animation:egg-lay 1.4s ease both; }
@keyframes hen-lay { 0%,100%{transform:translate3d(var(--hen-x),var(--hen-y),0)} 25%{transform:translate3d(var(--hen-x),calc(var(--hen-y) + 5px),0) rotate(-1.5deg)} 47%{transform:translate3d(var(--hen-x),calc(var(--hen-y) - 4px),0) rotate(1deg)} 70%{transform:translate3d(var(--hen-x),calc(var(--hen-y) + 1px),0)} }
@keyframes egg-lay { 0%,25%{opacity:0;transform:translateY(-44px) scale(.5) rotate(-8deg)} 45%{opacity:1;transform:translateY(-23px) scale(.85)} 75%{opacity:1;transform:translateY(0) rotate(8deg)} 87%{opacity:1;transform:translateY(-3px) rotate(12deg)} 100%{opacity:1;transform:translateY(0) rotate(12deg)} }
html[data-theme=dark] .farm-feature { background:var(--theme-panel); }
html[data-theme=dark] .farm-stage { background-image:linear-gradient(120deg,#142428d9,#26372ad9),url('assets/linen-weave.webp'); }
html[data-theme=dark] .farm-scene-label { color:#c7d7c2; }
html[data-theme=dark] .farm-product-photo { background:#dfe6dc; }
html[data-theme=dark] .hen-ground { background:#0006; }
@media(max-width:1150px) { .hero.hero-linen { gap:38px; } .hero-linen h1 { font-size:54px; } .farm-stage { height:330px; } .hero-hen { width:305px;height:305px;left:-8px; } .farm-product-photo { width:178px;right:20px;top:51px; } .farm-offer { padding:19px;gap:10px; } .farm-offer-add span { display:none; } }
@media(max-width:900px) and (min-width:601px) { .hero.hero-linen { gap:28px; padding-block:40px; } .hero-linen h1 { font-size:42px; } .farm-stage { height:290px; } .hero-hen { width:267px;height:267px;left:-12px; } .farm-product-photo { width:145px;top:55px;right:14px; } .farm-scene-label { left:18px;top:19px;font-size:9px; } .farm-offer { padding:17px;min-height:112px; } .farm-offer h2 { font-size:19px; } .farm-offer-producer { font-size:9px; } .hen-ground { width:220px;left:14px; } .hen-egg { width:25px;height:34px; } }
@media(max-width:600px) { .hero.hero-linen { padding-block:30px 26px; gap:29px; } .hero-linen h1 { font-size:clamp(36px,9.9vw,52px); letter-spacing:-.055em; } .hero-linen .hero-description { font-size:14px; line-height:1.7; } .hero-linen .hero-actions { gap:20px; } .hero-linen .hero-actions .btn { font-size:11px;padding-inline:18px; } .hero-linen .hero-actions .text-link { font-size:11px; } .hero-linen .hero-benefits { font-size:9px;gap:12px; } .hero-linen .hero-visual { width:100%;margin:0;min-height:0; } .farm-stage { height:290px; } .hero-hen { width:276px;height:276px;left:0;bottom:4px; } .farm-product-photo { width:152px;right:17px;top:47px; } .farm-product-photo > span { font-size:9px; } .farm-scene-label { top:20px;left:20px;font-size:9px; } .farm-offer { min-height:110px;padding:18px;gap:10px; } .farm-offer h2 { font-size:21px; } .farm-offer-producer { font-size:10px; } .farm-offer-add span { display:none; } .hen-ground { width:230px;left:20px;bottom:15px; } .hen-egg { width:26px;height:35px;bottom:16px;left:24%; } }
@media(prefers-reduced-motion:reduce) { .hero-hen { will-change:auto;transform:none!important; } .hen-egg { opacity:1;transform:rotate(12deg)!important; } .hen-scene.is-laying .hero-hen,.hen-scene.is-laying .hen-egg { animation:none; } .farm-product-photo { transform:rotate(6deg); } }
