:root{--bg:#f6f3eb;--paper:#fffdf8;--ink:#172c22;--muted:#54675c;--green:#28714d;--green-dark:#174b34;--berry:#a84040;--border:#d8ded2;--font-heading:"Space Grotesk",sans-serif;--font-body:"Inter",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
figure{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.045em;line-height:1.08}
h1{font-size:clamp(3rem,6vw,6rem)}
h2{font-size:clamp(2.15rem,4.3vw,4.25rem)}
h3{font-size:clamp(1.2rem,2vw,1.6rem)}
p{color:#344b3d}
button,input{font:inherit}
.farm-skip{position:absolute;left:-10000px;z-index:40;background:#fff;padding:12px 18px}
.farm-skip:focus{left:10px;top:10px}
.farm-container,.farm-main,.farm-header-inner{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.farm-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}
.farm-header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(18px,2.7vw,40px);min-height:96px}
.farm-brand{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-width:0;text-decoration:none;white-space:nowrap;line-height:1}
.farm-brand-name{color:var(--ink);font:italic 700 clamp(1.78rem,2.25vw,2.2rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.065em}
.farm-brand-name::after{content:"";display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:var(--berry);vertical-align:baseline}
.farm-brand small{display:block;margin-top:8px;color:var(--muted);font-family:var(--font-body);font-size:.58rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.farm-nav{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:clamp(10px,1.25vw,19px);overflow-x:auto;scrollbar-width:thin}
.farm-nav a{position:relative;flex:none;padding:35px 0;white-space:nowrap;color:#46594d;font-size:.75rem;font-weight:750;text-decoration:none}
.farm-nav a:hover,.farm-nav a[aria-current=page]{color:var(--green-dark)}
.farm-nav a[aria-current=page]::after{content:"";position:absolute;bottom:28px;left:0;right:0;height:2px;background:var(--green)}
.farm-akra{grid-column:3;grid-row:1;display:flex;align-items:center;gap:7px;color:#365240;text-decoration:none}
.farm-akra img{width:38px;height:38px;flex:none}
.farm-akra span{display:flex;flex-direction:column;font-size:.58rem;line-height:1.13;letter-spacing:.03em}
.farm-akra b{color:var(--ink);font-size:.72rem;letter-spacing:-.02em}
.farm-main{padding:24px 0 90px}
.farm-breadcrumb{display:flex;gap:10px;align-items:center;margin:0 0 20px;color:var(--muted);font-size:.85rem}
.farm-breadcrumb a{color:var(--green-dark);text-underline-offset:3px}
.farm-eyebrow{color:var(--berry);font-family:var(--font-heading);font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:12px 19px;border:1px solid var(--green);border-radius:100px;background:var(--green);color:#fff;font-weight:800;font-size:.87rem;text-decoration:none;text-align:center;transition:background .15s ease,transform .15s ease}
.btn:hover{background:var(--green-dark);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--green-dark)}
.btn-ghost:hover{background:#e7efe7;color:var(--green-dark)}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:27px}
.farm-photo{position:relative;overflow:hidden;background:#dce6d6}
.farm-photo img{width:100%;height:100%;object-fit:cover}
.farm-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 18px 13px;background:linear-gradient(transparent,rgba(20,35,20,.6));color:white;font-size:.72rem;font-weight:700}
.farm-hero,.page-hero{display:grid;grid-template-columns:55% 45%;min-height:650px;background:var(--paper);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 24px 65px -52px #2e3b31}
.farm-hero-image,.page-hero-image{position:relative;min-width:0;min-height:580px}
.farm-hero-image .farm-photo,.page-hero-image{height:100%}
.farm-hero-image img,.page-hero-image img{height:100%;width:100%;object-fit:cover}
.hero-image-credit{position:absolute;bottom:13px;left:18px;color:white;font-size:.71rem;text-shadow:0 1px 6px #172c22}
.farm-hero-copy,.page-hero-copy{padding:clamp(30px,4.5vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.farm-hero h1{font-size:clamp(3.1rem,5.9vw,5.7rem);margin:0 0 28px}
.farm-hero h1 em{display:block;font-size:.49em;line-height:1.15;font-style:normal;color:var(--green-dark);letter-spacing:-.04em;margin-top:12px}
.farm-hero-copy>p:not(.farm-eyebrow),.page-hero-copy>p:not(.farm-eyebrow){max-width:34rem;font-size:1.07rem;line-height:1.8}
.page-hero{grid-template-columns:48% 52%;min-height:510px}
.page-hero-image{min-height:470px}
.page-hero-copy h1{max-width:100%;margin:0 0 24px;font-size:clamp(2.65rem,5.2vw,4.65rem);overflow-wrap:break-word}
.farm-trustbar,.farm-info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:24px 8px;border-bottom:1px solid var(--border)}
.farm-trustbar span{font-size:.83rem;font-weight:750}
.farm-trustbar b{color:var(--berry);font-size:.77rem;margin-right:9px}
.farm-info-strip{padding:28px 0}
.farm-info-strip div{display:flex;flex-direction:column;gap:3px;border-left:2px solid var(--green);padding:0 18px}
.farm-info-strip b{color:var(--green-dark);font-size:.77rem;text-transform:uppercase;letter-spacing:.07em}
.farm-info-strip span{color:#3b4d40;font-size:.92rem}
.farm-section{margin-top:clamp(65px,8vw,116px);scroll-margin-top:110px}
.section-intro{max-width:830px;margin-bottom:36px}
.section-intro h2{margin:0 0 17px}
.section-intro>p{max-width:720px;font-size:1.04rem;line-height:1.75}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.visit-grid article,.variety-grid article,.product-list article,.contact-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,3vw,34px);background:var(--paper);border:1px solid var(--border);border-radius:19px}
.visit-grid p,.product-list p{flex:1}
.visit-grid a,.contact-grid a{color:var(--green-dark);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.visit-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dcebdd;color:var(--green-dark);font-size:1.25rem;margin-bottom:26px}
.farm-section-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.farm-section-split>div{padding:24px 0}
.farm-section-split>div h2{margin-bottom:22px}
.farm-section-split>div p{max-width:590px;font-size:1.04rem;line-height:1.8}
.split-photo{height:520px;border-radius:18px}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.story-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--border);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.story-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px -28px #233c2c}
.story-card-photo{height:250px}
.story-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:23px;height:100%}
.story-card-body small,.people-grid small,.product-list b,.contact-grid article>span{font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;color:var(--berry);font-weight:800}
.story-card-body strong{font-family:var(--font-heading);font-size:1.55rem;line-height:1.12;letter-spacing:-.04em}
.story-card-body>span{color:var(--muted);font-size:.92rem;flex:1}
.story-card-body b{color:var(--green-dark);font-size:.83rem;margin-top:10px}
.farm-highlight{display:grid;grid-template-columns:1fr 1fr;background:#e5eee4;border-radius:24px;overflow:hidden}
.highlight-copy{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.highlight-copy h2{margin-bottom:22px}
.highlight-copy p{font-size:1.04rem}
.highlight-photo{min-height:520px}
.farm-story-preview{display:grid;grid-template-columns:40% 1fr;gap:clamp(35px,6vw,90px);align-items:center}
.story-person-photo{height:460px;border-radius:20px}
.farm-story-preview p{font-size:1.05rem;line-height:1.8}
.bod-preview-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:26px}
.bod-preview-row div{display:flex;flex-direction:column;gap:5px}
.bod-preview-row strong{font-family:var(--font-heading);font-size:1.2rem}
.bod-preview-row span{font-size:.85rem;color:var(--muted)}
.faq-list{border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 4px;font-family:var(--font-heading);font-size:1.2rem;font-weight:750;letter-spacing:-.025em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e1eae0;color:var(--green-dark);font-family:var(--font-body);font-size:1.3rem;flex:none}
.faq-list details[open] summary::after{content:'−'}
.faq-answer{max-width:780px;padding:0 44px 16px 4px}
.faq-answer p{margin:0;line-height:1.8}
.farm-final-cta{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:clamp(30px,5vw,65px);margin-top:clamp(70px,8vw,115px);border-radius:24px;background:#1d4933;color:white}
.farm-final-cta .farm-eyebrow{color:#f1b9a6}
.farm-final-cta h2{max-width:700px;margin:0 0 12px}
.farm-final-cta p{color:#d9e6dc;max-width:610px;margin-bottom:0}
.farm-final-cta .btn{background:#fff;color:var(--green-dark);border-color:#fff}
.farm-final-cta .btn-ghost{color:#fff;background:transparent;border-color:#b0ceb8}
.farm-final-cta .button-row{justify-content:flex-end;min-width:max-content}
.onpage-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.onpage-nav a{border:1px solid var(--border);border-radius:100px;padding:8px 14px;background:var(--paper);text-decoration:none;font-size:.85rem;font-weight:750;color:var(--green-dark)}
.variety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.variety-grid article{min-height:205px}
.variety-grid span{color:var(--berry);font-size:.82rem;font-weight:800}
.variety-grid h3{margin:20px 0 12px}
.variety-grid p{margin:0;font-size:.9rem;color:var(--muted)}
.photo-mosaic{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;height:360px}
.photo-mosaic .farm-photo{border-radius:14px}
.product-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.product-list article{min-height:285px}
.product-list h3{margin:25px 0 13px}
.product-list .btn{margin-top:auto}
.crop-hero{display:grid;grid-template-columns:52% 1fr;gap:clamp(28px,5vw,70px);align-items:center;margin:10px 0 50px}
.crop-large-photo{height:390px;border-radius:18px}
.crop-hero p{font-size:1.04rem;line-height:1.8}
.farm-timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--border)}
.farm-timeline li{display:grid;grid-template-columns:70px 1fr 190px;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}
.farm-timeline li>span{color:var(--berry);font-family:var(--font-heading);font-size:1.35rem;font-weight:800}
.farm-timeline h3{margin:0 0 8px}
.farm-timeline p{margin:0;max-width:690px;font-size:.95rem}
.timeline-photo{height:130px;border-radius:11px}
.crop-link-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.honey-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:stretch;gap:17px}
.honey-grid .farm-photo{min-height:410px;border-radius:14px}
.honey-grid>div{padding:25px 14px}
.honey-grid h3{margin-bottom:15px}
.honey-grid h3:not(:first-child){margin-top:34px}
.stall-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:16px;padding:20px 23px;border:1px solid var(--border);border-radius:14px;background:var(--paper)}
.stall-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e5ede2;color:var(--green-dark);font-family:var(--font-heading);font-weight:800}
.stall-card small{color:var(--berry);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.stall-card h3{font-size:1.22rem;margin:3px 0}
.stall-card p{font-size:.82rem;margin:0;color:var(--muted)}
.stall-card a{color:var(--green-dark);font-weight:800;font-size:.82rem;text-decoration:none;white-space:nowrap}
.stall-card-farm{background:#e4eee4;margin-bottom:12px}
.stalls-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.source-footnote{color:var(--muted);font-size:.82rem;margin-top:17px}
.source-footnote a{color:var(--green-dark)}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.people-grid article{display:grid;grid-template-columns:42% 1fr;background:var(--paper);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.person-photo{height:100%;min-height:380px}
.people-grid article>div{padding:clamp(24px,3vw,40px)}
.people-grid h3{font-size:1.8rem;margin:10px 0 22px}
.people-grid p{font-size:.94rem}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contact-grid article{min-height:290px}
.contact-grid h2{font-size:1.8rem;margin:20px 0 14px}
.contact-grid p{flex:1}
.contact-grid a{font-size:.92rem;overflow-wrap:anywhere}
.visit-map{display:grid;grid-template-columns:1fr 1fr;min-height:420px;overflow:hidden;background:#e5eee4;border-radius:20px}
.visit-map>div{padding:clamp(25px,5vw,65px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.visit-map h2{margin:0 0 18px}
.visit-map-photo{min-height:420px}
.farm-footer{background:#173c2c;color:#eff4eb;padding:55px 0 0}
.farm-footer-grid{display:grid;grid-template-columns:1.4fr .85fr 1fr;gap:50px}
.farm-footer-brand{font-family:var(--font-heading);font-size:1.7rem;font-weight:800;letter-spacing:-.04em;text-decoration:none}
.farm-footer p{color:#d6e2d5;font-size:.88rem;margin:14px 0}
.farm-footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px 20px}
.farm-footer a{text-decoration:none}
.farm-footer a:hover{text-decoration:underline}
.farm-footer nav a,.farm-footer-grid>div:last-child>a{font-size:.85rem;font-weight:700}
.farm-footer-grid>div:last-child strong{font-family:var(--font-heading);font-size:1.13rem}
.farm-footer .farm-credits{font-size:.72rem;color:#aac7ad}
.farm-footer-bottom{width:min(1200px,calc(100% - 48px));margin:48px auto 0;padding:18px 0;border-top:1px solid #46624d;display:flex;justify-content:space-between;gap:20px;font-size:.77rem;color:#c9d9cb}
@media(max-width:1080px){.farm-hero,.page-hero{min-height:570px}.farm-hero-image{min-height:530px}.people-grid article{grid-template-columns:1fr}.person-photo{height:320px;min-height:0}.farm-final-cta{align-items:flex-start;flex-direction:column}.farm-final-cta .button-row{justify-content:flex-start;min-width:0}}
@media(max-width:800px){.farm-container,.farm-main,.farm-header-inner{width:min(100% - 30px,1200px)}.farm-hero,.page-hero{grid-template-columns:1fr}.farm-hero-image,.page-hero-image{min-height:360px;height:360px}.farm-hero-copy,.page-hero-copy{padding:36px}.farm-hero h1{font-size:clamp(3rem,8vw,5rem)}.farm-trustbar,.farm-info-strip,.visit-grid,.story-grid,.variety-grid,.product-list,.contact-grid{grid-template-columns:1fr 1fr}.farm-section-split,.farm-highlight,.farm-story-preview,.crop-hero,.visit-map{grid-template-columns:1fr}.farm-section-split .split-photo,.highlight-photo,.story-person-photo,.visit-map-photo{height:380px;min-height:0}.farm-highlight .highlight-photo{order:-1}.farm-story-preview .story-person-photo{max-width:560px}.bod-preview-row{grid-template-columns:1fr 1fr}.bod-preview-row .btn{grid-column:1/-1;justify-self:start}.honey-grid{grid-template-columns:1fr 1fr}.honey-grid>div{grid-column:1/-1;grid-row:2}.honey-grid .farm-photo{min-height:290px;max-height:360px}.stalls-grid,.people-grid{grid-template-columns:1fr}.people-grid article{grid-template-columns:40% 1fr}.farm-footer-grid{grid-template-columns:1fr 1fr}.farm-footer-grid>div:first-child{grid-column:1/-1}.farm-footer-bottom{width:min(100% - 30px,1200px)}}
@media(max-width:560px){.farm-header-inner{width:calc(100% - 24px)}.farm-nav{gap:21px}.farm-main{width:calc(100% - 24px);padding-bottom:60px}.farm-hero,.page-hero{border-radius:16px}.farm-hero-image,.page-hero-image{height:280px;min-height:280px}.farm-hero-copy,.page-hero-copy{padding:28px 23px 33px}.farm-hero h1{font-size:3.2rem}.page-hero h1{font-size:3.1rem}.farm-hero-copy>p:not(.farm-eyebrow),.page-hero-copy>p:not(.farm-eyebrow){font-size:.97rem}.farm-trustbar,.farm-info-strip,.visit-grid,.story-grid,.variety-grid,.product-list,.contact-grid,.bod-preview-row,.stalls-grid,.people-grid,.honey-grid,.photo-mosaic{grid-template-columns:1fr}.farm-trustbar{gap:4px;padding:19px 4px}.farm-info-strip{gap:18px}.farm-section{margin-top:67px;scroll-margin-top:130px}.section-intro{margin-bottom:25px}.section-intro h2,.farm-section-split h2{font-size:2.4rem}.farm-section-split{gap:10px}.farm-section-split>div{padding:5px 0}.farm-section-split .split-photo,.highlight-photo,.story-person-photo,.visit-map-photo{height:300px}.highlight-copy{padding:30px 24px}.highlight-photo{min-height:300px}.story-card-photo{height:230px}.photo-mosaic{height:auto}.photo-mosaic .farm-photo{height:260px}.variety-grid article{min-height:0}.crop-hero{gap:24px;margin-bottom:25px}.crop-large-photo{height:260px}.farm-timeline li{grid-template-columns:42px 1fr;gap:8px 14px}.timeline-photo{grid-column:2;height:165px}.farm-timeline p{font-size:.88rem}.honey-grid>div{grid-row:auto}.honey-grid .farm-photo{height:260px;min-height:260px}.people-grid article{grid-template-columns:1fr}.person-photo{height:330px}.stall-card{grid-template-columns:35px 1fr;gap:10px}.stall-card a{grid-column:2}.farm-final-cta{padding:30px 23px;border-radius:17px}.farm-final-cta h2{font-size:2.35rem}.farm-footer-grid{grid-template-columns:1fr;gap:25px}.farm-footer-grid>div:first-child{grid-column:auto}.farm-footer-bottom{flex-direction:column;margin-top:30px}.contact-grid article{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.story-card{transition:none}}

/* Long producer titles must stay within the photo/text card on narrow screens. */
.farm-hero-copy,.page-hero-copy,.crop-hero>div,.farm-section-split>div{min-width:0}
@media(max-width:560px){.page-hero h1{font-size:clamp(2.35rem,9vw,3.1rem)}}

/* Keep the producer identity and akra visible while the page navigation moves below them. */
@media(max-width:1080px){
  .farm-header-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;min-height:0;padding-top:13px}
  .farm-brand{grid-column:1;grid-row:1}
  .farm-akra{grid-column:2;grid-row:1}
  .farm-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%}
  .farm-nav a{padding:14px 0}
  .farm-nav a[aria-current=page]::after{bottom:9px}
}
@media(max-width:560px){
  .farm-header-inner{column-gap:9px;padding-top:12px}
  .farm-brand-name{font-size:clamp(1.5rem,7vw,1.75rem)}
  .farm-brand small{font-size:.5rem;letter-spacing:.1em}
  .farm-akra img{width:32px;height:32px}
  .farm-akra span{font-size:.49rem}
  .farm-akra b{font-size:.65rem}
}
