/* Hof Jehle: light glass surfaces with the supplied Jehle logo palette.
   Jehle Landwirtschaft: lime #afd131 and near-black #1f1c1f. */
:root { --brand:#afd131; --ink:#1f1c1f; --green:#526510; --muted:#656465; --soft:#f7f8f4; --line:#e6e7e1; --lime:#afd131; --font:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue','Manrope',sans-serif; --surface-shadow:0 12px 32px -8px #262a1714,0 4px 12px -4px #262a170d; }
body { background:#fafbf7; letter-spacing:-.011em; }
h1,h2,h3 { letter-spacing:-.03em; font-weight:700; }
h1 em,h2 em,.estate-home em { font-family:var(--font); font-style:normal; font-weight:inherit; font-size:1em; line-height:inherit; letter-spacing:inherit; color:var(--green); }
h1 { font-size:clamp(2.8rem,4.8vw,4.1rem); font-weight:750; line-height:1.08; }
h2 { font-size:clamp(2rem,3.3vw,2.8rem); line-height:1.13; }
a:focus-visible,button:focus-visible { outline-color:var(--green); }
.section { padding-block:80px; }
.home-page .site-header { background:transparent; padding:12px 0; }
.home-page .header-inner { min-height:66px; padding:8px 14px 8px 20px; background:#fafbf7b3; border-color:transparent; box-shadow:none; backdrop-filter:blur(40px) saturate(180%); -webkit-backdrop-filter:blur(40px) saturate(180%); border-radius:28px; transition:background .5s,border-color .5s,box-shadow .5s; }
.home-page .site-header.is-scrolled .header-inner { background:#ffffffe6; border-color:#e5e7dfb3; box-shadow:0 18px 60px -28px #afd13155,inset 0 1px 0 #fff; }
.home-page .site-header .brand { color:var(--ink); font-weight:750; letter-spacing:-.04em; }
.home-page .site-header .brand span { color:var(--lime); }
.brand { display:inline-flex; align-items:center; flex-shrink:0; min-height:44px; }
.brand-logo { display:block; width:112px; height:auto; }
.estate-wordmark .brand-logo { width:216px; max-width:100%; }
.home-page .main-nav { padding:4px; background:#ffffff99; border:1px solid #e5e7dfb3; border-radius:99px; gap:3px; }
.home-page .main-nav > a { color:#5d5c5c; border-radius:99px; }
.home-page .main-nav > a:not(.nav-contact):hover,.home-page .main-nav > a:not(.nav-contact):focus-visible { color:#526510; border-color:transparent; background:#afd1310d; }
.home-page .main-nav > a:not(.nav-contact)[aria-current='location'] { background:#526510; color:#fff; border-color:transparent; box-shadow:0 6px 18px -8px #afd13199; }
.home-page .main-nav .nav-contact { background:#526510; color:#fff; border-color:transparent; box-shadow:0 6px 16px -8px #afd13180; }
.home-page .main-nav .nav-contact:hover { background:#3f500c; box-shadow:0 8px 20px -8px #afd13180; }
.hero { padding-top:32px; padding-bottom:42px; color:var(--ink); background:radial-gradient(ellipse at 78% 12%,#afd1311c,transparent 58%),linear-gradient(180deg,#f6f8ee,#fafbf7 92%); }
.hero::before { content:none; }
.hero-grid { grid-template-columns:1fr 1.08fr; gap:42px; }
.hero-copy .lead { color:var(--muted); max-width:440px; font-size:1.1rem; line-height:1.7; }
.hero .eyebrow { display:inline-flex; color:var(--green); background:#afd1310d; border:1px solid #afd13130; border-radius:99px; padding:7px 13px; font-size:.875rem; margin-bottom:22px; }
.hero .eyebrow::before { content:none; }
.hero h1 em { color:#526510; }
.button,.light-button { border-radius:13px; min-height:48px; font-weight:600; padding:12px 22px; }
.hero .primary,.shop-copy .primary { background:#526510; color:#fff; box-shadow:0 10px 24px -12px #afd13199; }
.hero .primary:hover,.shop-copy .primary:hover { background:#3f500c; box-shadow:0 14px 28px -12px #afd13199; }
.hero .text-link,.shop-copy .text-link { color:var(--ink); }
.hero-picture { transform:none; padding:9px; border:1px solid #fff; border-radius:28px; background:#ffffff8c; box-shadow:0 24px 60px -20px #afd13145,0 4px 14px #282d1610,inset 0 1px 0 #fff; }
.hero-picture > img { border-radius:20px; }
.hero-picture figcaption { left:22px; right:22px; bottom:22px; background:#ffffffeb; border:1px solid #fff; color:#343824; box-shadow:0 12px 32px -8px #262a1720; backdrop-filter:blur(24px) saturate(160%); -webkit-backdrop-filter:blur(24px) saturate(160%); }
.hero-picture figcaption > span { color:#535743; }
.facts { margin-top:34px; gap:14px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.facts > div { padding:20px 22px; border:1px solid #e9eae3; border-radius:18px; background:#ffffffb3; box-shadow:0 4px 16px -8px #262a1714; gap:6px; }
.facts > div + div { border-left:1px solid #e9eae3; }
.facts dd { color:var(--ink); font-size:1.8rem; font-weight:650; }
.facts dd span { color:#606353; }
.facts dt { color:var(--muted); }
.agriculture { background:#fff; }
.story-grid,.energy-grid,.section-heading { gap:48px; }
.story-picture::before { content:none; }
.story-picture > img { border-radius:24px; border:6px solid #f7f7f5; box-shadow:var(--surface-shadow); }
.story-note { border:1px solid #afd13126; border-radius:16px; background:#f6f8ee; padding:18px 20px; }
.story-note > span { color:var(--green); }
.story-note p { color:#6d7061; }
.energy { background:radial-gradient(ellipse at 90% 10%,#afd1310e,transparent 65%),#f7f8f4; color:var(--ink); }
.energy::before { content:none; }
.energy .eyebrow,.energy h2 em { color:var(--green); }
.energy .section-heading > p,.energy-explanation p { color:var(--muted); }
.plant-picture { background:#fff; border-color:#fff; box-shadow:var(--surface-shadow); }
.plant-picture figcaption { background:#ffffffe6; color:var(--ink); border-color:#fff; }
.plant-data strong { color:var(--green); }
.plant-data p { color:var(--muted); }
.energy-explanation article,.energy-explanation article + article { border:1px solid #e6e8e0; background:#ffffffad; border-radius:20px; box-shadow:var(--surface-shadow); }
.icon-box { background:#afd13114; color:var(--green); box-shadow:none; border:1px solid #afd1311a; }
.energy-explanation .connection-note { color:#5d6249; border-color:#afd13166; }
.family { background:#fff; }
.person-card { border-color:#e8e9e4; box-shadow:var(--surface-shadow); border-radius:22px; }
.person-card:hover { border-color:#afd13155; box-shadow:0 20px 45px -20px #afd13140; }
.person-copy h3 { border:0; padding:0; font-weight:650; }
.team-strip { border-color:#e8e9e3; background:#fafaf8; border-radius:20px; }
.shop-section { background:radial-gradient(ellipse at 10% 20%,#afd13112,transparent 65%),#f6f7f3; }
.shop-copy h2 { color:var(--ink); }
.shop-copy .eyebrow,.shop-copy h2 em { color:var(--green); }
.shop-copy > p:not(.eyebrow):not(.season-note),.shop-copy .season-note { color:var(--muted); }
.opening-hours { transform:none; background:#ffffffb3; border-color:#fff; box-shadow:var(--surface-shadow); }
.opening-hours strong { color:var(--green); }
.opening-hours span { color:#616553; border-color:#e4e7d8; }
.products span { border-color:#e2e6d4; color:#5c6639; background:#ffffff80; }
.shop-picture { transform:none; background:#ffffffb3; border-color:#fff; box-shadow:0 24px 60px -24px #afd13140; }
.shop-picture figcaption span { color:var(--muted); }
.projects { background:#fafbf7; }
.project-hofmanager,.project-jehle { background:linear-gradient(135deg,#ffffff,#f7f9f0); border-color:#e7e9df; color:var(--ink); box-shadow:var(--surface-shadow); }
.project-hofmanager p { color:var(--muted); }
.project-hofmanager .project-brand h3 > span,.project-jehle .project-brand h3 > span,.project-hofmanager .project-domain { color:var(--green); }
.project-hofmanager .link-arrow,.project-jehle .link-arrow { background:#f3f6ea; color:var(--green); border-color:#e2e7d1; }
.project-domain { border-color:#e5e7dc; }
.project-card:hover { border-color:#afd13166; }
.contact-section { background:#fafbf7; padding:10px 0 64px; }
.contact-panel { background:radial-gradient(ellipse at 0 0,#afd1310c,transparent 70%),#ffffffb3; border:1px solid #e6e8e0; color:var(--ink); box-shadow:var(--surface-shadow); gap:55px; }
.contact-intro .eyebrow,.contact-intro h2 em { color:var(--green); }
.contact-person { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.contact-person img { width:66px; height:66px; border-radius:50%; object-fit:cover; object-position:54% 25%; border:3px solid #fff; box-shadow:0 8px 24px -10px #afd13180; }
.contact-person .eyebrow { margin:0; }
.contact-person .eyebrow::before { content:none; }
.contact-intro > p:not(.eyebrow) { color:var(--muted); }
.light-button { background:#526510; color:white; }
.light-button:hover { background:#3f500c; }
.contact-links { padding:6px 0 6px 30px; border-left:1px solid #e8e9e2; }
.contact-links > a { border-color:#e8e9e2; }
.contact-links > a > span:first-child { color:var(--muted); }
.contact-arrow,.contact-links > a:hover strong { color:var(--green); }
.site-footer.footer-estate { background:radial-gradient(ellipse at 20% 0,#afd1310b,transparent 65%),linear-gradient(#fafaf8,#f2f3ee); border-color:#e4e6dd; color:var(--ink); }
.footer-estate::before { box-shadow:none; background:#afd131; }
.estate-top,.estate-home address,.estate-links > a,.estate-bottom { color:#6b6e62; }
.estate-wordmark,.estate-links h2 { color:var(--ink); }
.estate-wordmark > span,.estate-home em,.estate-up > span,.estate-route { color:var(--green); }
.estate-home > p { color:#656958; }
.estate-up > span { border-color:#dee1d3; background:#ffffff88; }
.estate-links > a:hover,.estate-bottom a:hover,.estate-route:hover { color:#3f500c; }
.estate-shop { background:linear-gradient(135deg,#ffffffad,#ffffff40); border-color:#fff; box-shadow:var(--surface-shadow); }
.estate-shop:hover { background:#fff; border-color:#afd13155; }
.estate-shop-label,.estate-shop > span:not(.estate-shop-label) { color:#626653; }
.estate-shop > strong { color:var(--green); }
.estate-shop > strong > span { color:#afd13170; }
.estate-shop .estate-shop-bottom,.estate-bottom { border-color:#e1e3d8; }
.legal-page .site-header { background:#fafbf7ea; border-color:#e6e7e0; }
.legal-page .site-header .brand { color:var(--ink); }
.legal-return { color:var(--green); }
@media(max-width:900px) { .hero-grid { gap:28px; } .facts > div { padding:16px; } .story-grid,.energy-grid,.section-heading { gap:30px; } .contact-panel { gap:30px; } }
@media(max-width:720px) {
 .home-page .header-inner { min-height:62px; background:#ffffffd9; border-color:#e6e8e0; }
 .home-page .menu-toggle { color:var(--ink); background:#afd13108; border-color:#afd13120; }
 .home-page .menu-toggle[aria-expanded='true'] { color:var(--green); background:#afd13114; }
 .home-page .main-nav { padding:10px; border-radius:24px; background:#fffffff7; border-color:#e6e8e0; box-shadow:0 20px 50px -20px #afd13155; }
 .home-page .main-nav > a { border-radius:14px; }
 .hero { padding-top:22px; padding-bottom:32px; }
 .hero-grid { grid-template-columns:1fr; gap:28px; }
 .hero-copy .lead { max-width:560px; font-size:1rem; }
 .hero-picture { max-width:560px; width:100%; margin-inline:auto; }
 .facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:24px; }
 .facts > div { border:1px solid #e9eae3; padding:16px; }
 .facts > div + div { border-left:1px solid #e9eae3; }
 .section { padding-block:52px; }
 .contact-panel { padding:28px; gap:26px; }
 .contact-links { border-left:0; border-top:1px solid #e8e9e2; padding:24px 0 0; }
 .contact-section { padding-bottom:40px; }
}
@media(max-width:480px) { .hero-picture figcaption { left:17px; right:17px; bottom:17px; padding:12px; font-size:.875rem; } .contact-panel { padding:24px; } }
@media(prefers-reduced-motion:reduce) { .home-page .header-inner { transition:none; } }

/* Shared states inherit the same Jehle color family. */
::selection { background:#e5eccd; color:#343d15; }
.primary:hover { background:#3f500c; }
.hero-picture::after,.project-card::after,.contact-panel::after { background:radial-gradient(380px circle at var(--light-x,50%) var(--light-y,50%),#f7ffd921,transparent 70%); }

/* Black lettering and lime surfaces echo the two-color farm logo. */
h1 em,h2 em,.hero h1 em,.energy h2 em,.shop-copy h2 em,.contact-intro h2 em { color:var(--ink); }
.home-page .main-nav > a:not(.nav-contact)[aria-current='location'],
.home-page .main-nav .nav-contact,.hero .primary,.shop-copy .primary,.light-button { background:var(--brand); color:var(--ink); }
.home-page .main-nav .nav-contact:hover,.hero .primary:hover,.shop-copy .primary:hover,.light-button:hover { background:#bfdc51; color:var(--ink); }
@media(max-width:720px) { .brand-logo { width:100px; } }

.home-page .site-header :focus-visible { outline-color:var(--green); }

/* Frosted glass: translucent surfaces, bright edges and quiet lime reflections. */
:root {
 --glass-surface:linear-gradient(135deg,#ffffffde 0%,#ffffff85 48%,#f6f9e9a6 100%);
 --glass-shadow:0 16px 42px -24px #262b2540,0 4px 12px -8px #262b251a,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff99;
}
.home-page .header-inner {
 background:linear-gradient(115deg,#ffffffd9,#ffffff85 60%,#f2f7dfad);
 border:1px solid #ffffffdb;
 box-shadow:var(--glass-shadow);
 backdrop-filter:blur(28px) saturate(160%);
 -webkit-backdrop-filter:blur(28px) saturate(160%);
}
.home-page .site-header.is-scrolled .header-inner {
 background:linear-gradient(115deg,#ffffffed,#ffffffb8 70%,#f2f7dfd9);
 border-color:#fffffff0;
 box-shadow:0 18px 48px -26px #3d472e59,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffffa6;
}
.home-page .main-nav { background:#ffffff57; border-color:#ffffffc7; box-shadow:inset 0 1px 0 #fff; }
.facts > div,.story-note,.energy-explanation article,.energy-explanation article + article,
.opening-hours,.project-card,.contact-panel,.estate-shop {
 background:var(--glass-surface);
 border:1px solid #ffffffdb;
 box-shadow:var(--glass-shadow);
 backdrop-filter:blur(18px) saturate(140%);
 -webkit-backdrop-filter:blur(18px) saturate(140%);
}
.facts > div + div { border-left-color:#ffffffdb; }
.hero-picture,.shop-picture {
 background:linear-gradient(125deg,#fffffff2,#ffffff52 52%,#eaf2c87a);
 border-color:#fff;
 box-shadow:0 24px 54px -25px #4c5a3052,0 4px 12px -6px #29341e1a,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffffb3;
}
.hero-picture figcaption,.plant-picture figcaption {
 background:linear-gradient(120deg,#ffffffeb,#ffffffbf);
 border-color:#fffffff2;
 box-shadow:0 12px 30px -18px #1f1c1f40,inset 0 1px 0 #fff;
 backdrop-filter:blur(24px) saturate(160%);
 -webkit-backdrop-filter:blur(24px) saturate(160%);
}
.projects { background:radial-gradient(ellipse at 12% 60%,#afd13118,transparent 55%),#fafbf7; }
.contact-section { background:radial-gradient(ellipse at 85% 60%,#afd13116,transparent 55%),#fafbf7; }
.hero-picture::after,.project-card::after,.contact-panel::after {
 background:radial-gradient(340px circle at var(--light-x,50%) var(--light-y,50%),#ffffff2e,transparent 72%);
}
.home-page .main-nav .nav-contact,.hero .primary,.shop-copy .primary,.light-button {
 background:linear-gradient(145deg,#c3df62 0%,#afd131 58%,#a6c82b 100%);
 box-shadow:inset 0 1px 0 #ffffff9c,inset 0 -1px 0 #6b831229,0 8px 20px -12px #647b1859;
}
@media(max-width:720px) {
 .home-page .main-nav { background:#fffffff2; border-color:#fff; }
 .facts > div,.story-note,.energy-explanation article,.opening-hours,.project-card,.contact-panel,.estate-shop {
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
 }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .home-page .header-inner,.home-page .site-header.is-scrolled .header-inner,.facts > div,.story-note,.energy-explanation article,.energy-explanation article + article,
 .opening-hours,.project-card,.contact-panel,.estate-shop { background:#fafcf5; }
}
@media(prefers-reduced-transparency:reduce) {
 .home-page .header-inner,.home-page .site-header.is-scrolled .header-inner,.home-page .main-nav,.facts > div,.story-note,.energy-explanation article,.energy-explanation article + article,
 .opening-hours,.project-card,.contact-panel,.estate-shop,.hero-picture figcaption,.plant-picture figcaption {
  background:#fafcf5; backdrop-filter:none; -webkit-backdrop-filter:none;
 }
}
