:root {
  --green-900: #153b2e;
  --green-800: #1f513e;
  --green-700: #1f6b4f;
  --green-600: #2f7f61;
  --green-100: #e6f0e9;
  --cream: #fbf8ef;
  --sand: #f1e6cf;
  --gold: #d6a33b;
  --coral: #e66a4e;
  --ink: #1b2c25;
  --muted: #5c6b64;
  --white: #ffffff;
  --line: #d9e1dc;
  --shadow: 0 18px 45px rgba(25, 67, 50, .12);
  --radius: 22px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; transform: translateY(-160%); background: var(--white); color: var(--green-900); padding: 10px 14px; border-radius: 8px; font-weight: 800; box-shadow: var(--shadow); }
.skip-link:focus { transform: none; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }

.site-header { position: sticky; z-index: 1000; top: 0; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(31,107,79,.1); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 235px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: 28px; }
.primary-nav a { text-decoration: none; font-size: .94rem; font-weight: 750; color: #31483f; transition: color .2s ease, transform .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--green-700); }
.primary-nav .nav-button { color: var(--white); background: var(--green-700); padding: 11px 18px; border-radius: 999px; }
.primary-nav .nav-button:hover { color: var(--white); transform: translateY(-1px); background: var(--green-800); }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span:not(.sr-only) { display: block; width: 25px; height: 2px; background: var(--green-900); margin: 5px; border-radius: 2px; }

.hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #fbf8ef 0%, #f5f8ef 54%, #e9f3eb 100%); }
.hero-pattern { position: absolute; inset: 0; opacity: .36; background-image: radial-gradient(circle at 1px 1px, rgba(31,107,79,.18) 1px, transparent 0); background-size: 28px 28px; mask-image: linear-gradient(to right, black, transparent 65%); }
.hero-grid { position: relative; min-height: 690px; display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 55px; padding-block: 82px; }
.eyebrow { margin: 0 0 14px; display: flex; align-items: center; gap: 10px; color: var(--green-700); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 30px; height: 3px; border-radius: 9px; background: var(--gold); }
.hero h1 { max-width: 730px; margin: 0; color: var(--green-900); font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 5.4vw, 5.35rem); line-height: 1.02; letter-spacing: -.045em; }
.hero-lead { max-width: 660px; margin: 26px 0 0; color: #455b52; font-size: clamp(1.08rem, 1.8vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 22px; border: 0; border-radius: 999px; text-decoration: none; font-weight: 820; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--white); background: var(--green-700); box-shadow: 0 10px 28px rgba(31,107,79,.22); }
.button-primary:hover { background: var(--green-800); box-shadow: 0 13px 34px rgba(31,107,79,.27); }
.button-secondary { color: var(--green-900); background: var(--white); border: 1px solid #cfdbd4; }
.button-secondary:hover { box-shadow: 0 10px 24px rgba(20,59,46,.1); }
.button-light { color: var(--green-900); background: var(--white); }
.button-full { width: 100%; }
.hero-note { display: flex; align-items: center; gap: 9px; margin: 24px 0 0; color: #637269; font-size: .88rem; }
.hero-note svg { width: 18px; fill: var(--green-700); flex: 0 0 auto; }
.hero-visual { position: relative; height: 500px; }
.sun-shape { position: absolute; width: 410px; height: 410px; border-radius: 50%; top: 42px; right: 34px; background: #f0d9a7; box-shadow: inset 0 0 0 22px rgba(255,255,255,.24); }
.basket-art { position: absolute; left: 50%; top: 52%; width: 360px; height: 310px; transform: translate(-50%, -50%); }
.basket-body { position: absolute; left: 48px; right: 48px; bottom: 18px; height: 138px; background: linear-gradient(145deg,#c8872e,#e1ad54); clip-path: polygon(0 0,100% 0,87% 100%,13% 100%); border-radius: 0 0 38px 38px; box-shadow: 0 20px 36px rgba(74,52,20,.18); overflow: hidden; }
.basket-body::before, .basket-body::after { content:""; position:absolute; inset:0; background: repeating-linear-gradient(90deg,transparent 0 34px,rgba(116,73,21,.15) 35px 42px); }
.basket-body::after { background: repeating-linear-gradient(0deg,transparent 0 29px,rgba(116,73,21,.14) 30px 37px); }
.basket-handle { position: absolute; z-index: 1; width: 210px; height: 170px; left: 75px; bottom: 73px; border: 16px solid #ae742d; border-bottom: 0; border-radius: 110px 110px 0 0; }
.bread { position: absolute; z-index: 2; width: 102px; height: 148px; left: 72px; top: 35px; border-radius: 50px 50px 24px 24px; background: linear-gradient(135deg,#f2c46d,#d8933f); transform: rotate(-18deg); box-shadow: inset 9px -10px 0 rgba(125,72,21,.1); }
.bread::after { content:""; position:absolute; width:55px; height:10px; left:22px; top:44px; border-radius:50%; border-top:5px solid rgba(139,75,22,.34); transform:rotate(-18deg); box-shadow: 0 25px 0 rgba(139,75,22,.3); }
.tomato { position: absolute; z-index: 3; width: 92px; height: 88px; right: 58px; top: 88px; border-radius: 50%; background: #e85e49; box-shadow: inset 10px -12px 0 rgba(142,41,30,.13); }
.tomato::before { content:"✦"; position:absolute; color:#2e7b54; font-size:46px; top:-28px; left:20px; transform:rotate(8deg); }
.carrot { position:absolute; z-index:2; width:48px; height:130px; right:126px; top:65px; background:#ed7c37; border-radius:45% 45% 70% 70%; transform:rotate(23deg); clip-path: polygon(0 0,100% 0,54% 100%,46% 100%); }
.carrot::before,.carrot::after,.carrot span { content:""; position:absolute; width:14px; height:70px; background:#2f7f61; border-radius:100% 0; top:-52px; left:16px; transform-origin:bottom center; }
.carrot::before { transform:rotate(-34deg); }.carrot::after { transform:rotate(35deg); }.carrot span { transform:rotate(4deg); }
.leaf { position:absolute; z-index:2; width:72px; height:122px; background:#438965; border-radius:100% 0 100% 0; }
.leaf::after { content:""; position:absolute; width:2px; height:94px; background:rgba(255,255,255,.35); left:34px; top:15px; transform:rotate(14deg); }
.leaf-one { left:150px; top:10px; transform:rotate(24deg); }.leaf-two { left:185px; top:24px; transform:rotate(65deg) scale(.85); background:#6da078; }
.heart-badge { position:absolute; z-index:5; right:22px; bottom:20px; display:grid; place-items:center; width:68px; height:68px; border-radius:50%; color:#fff; background:var(--coral); font-size:33px; box-shadow:0 10px 20px rgba(98,42,29,.2); }
.produce-card { position:absolute; z-index:6; display:grid; grid-template-columns:44px auto; column-gap:10px; align-items:center; min-width:190px; padding:13px 16px; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.7); border-radius:16px; box-shadow:var(--shadow); backdrop-filter:blur(8px); }
.produce-card strong,.produce-card small { grid-column:2; }.produce-card strong { font-size:.94rem; }.produce-card small { color:var(--muted); font-size:.78rem; }.produce-icon { grid-row:1 / span 2; display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:var(--cream); font-size:25px; }
.produce-card-one { left:-4px; top:70px; }.produce-card-two { right:-6px; bottom:40px; }

.trust-strip { background: var(--green-900); color: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid div { padding: 22px 28px; border-right: 1px solid rgba(255,255,255,.14); }
.trust-grid div:last-child { border-right: 0; }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { font-size: 1rem; letter-spacing: .02em; }
.trust-grid span { margin-top: 3px; color: #bcd0c6; font-size: .82rem; }

.section { padding: 108px 0; }
.section-soft { background: #f5f7f1; }
.two-column { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:80px; }
.section-copy h2,.section-heading h2,.legal-intro h2,.cta-card h2 { margin:0; color:var(--green-900); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.3rem,4vw,3.8rem); line-height:1.08; letter-spacing:-.035em; }
.section-copy > p:not(.eyebrow), .section-heading > p:not(.eyebrow) { color:var(--muted); font-size:1.06rem; }
.notice-card { display:flex; gap:15px; margin-top:28px; padding:20px; border:1px solid #d5e2d8; border-radius:16px; background:#f6faf7; }
.notice-card svg { width:28px; height:28px; flex:0 0 auto; fill:var(--green-700); }.notice-card strong{color:var(--green-900)}.notice-card p{margin:3px 0 0;color:var(--muted)}.notice-card a{font-weight:800;color:var(--green-700)}
.hours-card { padding:34px; border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); border:1px solid #e1e8e3; }
.hours-heading { display:flex; align-items:center; gap:15px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.icon-box { display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:var(--green-100); }.icon-box svg{width:27px;fill:var(--green-700)}
.hours-heading span { color:var(--muted); font-size:.77rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; }.hours-heading h3{margin:2px 0 0;color:var(--green-900);font-size:1.4rem}
.hours-row { display:flex; justify-content:space-between; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); }.hours-row span{color:var(--muted)}.hours-row strong{color:var(--green-900);text-align:right}
.hours-footnote { color:#738078; font-size:.84rem; }
.text-link { display:inline-flex; gap:7px; color:var(--green-700); font-weight:850; text-decoration:none; }.text-link:hover{text-decoration:underline}
.centered { max-width:740px; margin:0 auto 45px; text-align:center; }.centered .eyebrow{justify-content:center}
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.program-card { padding:34px; background:var(--white); border-radius:var(--radius); border:1px solid #e1e8e3; transition:transform .25s ease, box-shadow .25s ease; }.program-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.program-icon { display:grid; place-items:center; width:58px;height:58px;border-radius:17px;background:var(--green-100);}.program-icon svg{width:29px;fill:var(--green-700)}
.program-card h3{margin:24px 0 8px;color:var(--green-900);font-size:1.28rem}.program-card p{margin:0;color:var(--muted)}
.story-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:80px; }
.story-art { min-height:500px; display:grid; place-items:center; padding:40px; border-radius:40% 60% 55% 45% / 45% 45% 55% 55%; background:linear-gradient(150deg,#f0dcaf,#e7c578); }
.story-panel { position:relative; display:flex; flex-direction:column; justify-content:center; width:100%; min-height:360px; padding:50px; border-radius:26px; color:var(--white); background:var(--green-700); box-shadow:0 25px 60px rgba(31,107,79,.22); overflow:hidden; }.story-panel::after{content:"";position:absolute;width:180px;height:180px;border:36px solid rgba(255,255,255,.08);border-radius:50%;right:-60px;top:-70px}
.story-sprout{font-size:45px;color:#f5c75c}.story-quote{max-width:420px;margin-top:20px;font-family:Georgia,serif;font-size:2.1rem;line-height:1.2}.hands-row{display:flex;gap:8px;margin-top:40px;color:#f1d07a;font-size:32px;letter-spacing:-8px}
.mission-points { margin-top:28px; display:grid; gap:13px; }.mission-points div{display:flex;gap:13px;align-items:flex-start}.mission-points span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:var(--green-100);color:var(--green-700);font-weight:900}.mission-points p{margin:0;color:var(--muted)}.mission-points strong{color:var(--green-900)}
.section-dark { position:relative; overflow:hidden; color:var(--white); background:var(--green-900); }.section-dark::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:80px solid rgba(255,255,255,.03);left:-220px;top:-230px}
.legal-grid { position:relative; display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:center; }
.eyebrow-light { color:#d9ebe1; }.legal-intro h2{color:var(--white)}.legal-intro p:not(.eyebrow){color:#c1d2c9;font-size:1.05rem}.legal-intro .button{margin-top:16px}
.legal-card { margin:0; display:grid; grid-template-columns:1fr 1fr; background:var(--white); color:var(--ink); border-radius:var(--radius); overflow:hidden; box-shadow:0 28px 65px rgba(0,0,0,.18); }.legal-card div{padding:22px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.legal-card div:nth-child(2n){border-right:0}.legal-card div:nth-last-child(-n+2){border-bottom:0}.legal-card dt{color:#768179;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.legal-card dd{margin:6px 0 0;color:var(--green-900);font-weight:800;line-height:1.45}.legal-card a{color:var(--green-700)}
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:80px; }
.contact-list { margin-top:30px; display:grid; gap:12px; }.contact-list > a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;text-decoration:none;transition:background .2s ease}.contact-list > a:hover{background:#f5f8f4}.contact-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:14px;background:var(--green-100)}.contact-icon svg{width:24px;fill:var(--green-700)}.contact-list small,.contact-list strong{display:block}.contact-list small{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.contact-list strong{color:var(--green-900)}
.contact-form { padding:36px; border-radius:var(--radius); background:#f7f9f5; border:1px solid #dde5df; }.contact-form h3{margin:0;color:var(--green-900);font-size:1.5rem}.contact-form > p{margin:4px 0 22px;color:var(--muted);font-size:.88rem}.contact-form label{display:block;margin:14px 0 6px;color:var(--green-900);font-weight:780;font-size:.88rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cdd9d1;border-radius:11px;background:var(--white);padding:12px 13px;color:var(--ink);outline:none;transition:border .2s ease,box-shadow .2s ease}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 4px rgba(47,127,97,.12)}.contact-form textarea{resize:vertical}.contact-form .button{margin-top:22px}.form-status{min-height:24px;margin-top:9px;color:var(--green-700);font-size:.88rem;font-weight:700}
.cta-section { padding:0 0 105px; }.cta-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 55px;border-radius:28px;color:var(--white);background:linear-gradient(125deg,var(--green-700),var(--green-900));box-shadow:var(--shadow)}.cta-card h2{color:var(--white);font-size:clamp(2rem,3.5vw,3.1rem)}.cta-card p:not(.eyebrow){margin-bottom:0;color:#d2e1d9}
.site-footer { padding-top:65px; color:#d4e0da; background:#102c22; }.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr .7fr;gap:50px;padding-bottom:45px}.footer-brand img{width:220px;filter:brightness(0) invert(1);opacity:.92}.footer-brand p{max-width:330px;color:#aebfb6}.site-footer h3{margin:0 0 15px;color:var(--white);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.site-footer a{display:block;margin:7px 0;color:#bdccc4;text-decoration:none}.site-footer a:hover{color:var(--white);text-decoration:underline}.site-footer p{color:#9fb2a8;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{margin:0;font-size:.8rem}
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }.reveal.visible{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.program-card{transition:none} }
@media (max-width: 980px) {
  .menu-toggle{display:block}.primary-nav{position:absolute;left:20px;right:20px;top:74px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.primary-nav.open{display:flex}.primary-nav a{padding:12px 13px}.primary-nav .nav-button{text-align:center;margin-top:7px}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding:80px 0}.hero-copy{max-width:760px}.hero-visual{height:440px;max-width:600px;width:100%;margin:0 auto}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div:nth-child(2){border-right:0}.trust-grid div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .two-column,.story-grid,.legal-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.card-grid{grid-template-columns:1fr 1fr}.story-art{max-width:640px;width:100%;margin:auto}.legal-intro{max-width:700px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid > div:last-child{grid-column:2 / span 2}
}
@media (max-width: 680px) {
  .container{width:min(calc(100% - 28px),var(--container))}.header-inner{min-height:70px}.brand img{width:195px}.hero-grid{padding:62px 0}.hero h1{font-size:clamp(2.7rem,14vw,4rem)}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{height:390px}.sun-shape{width:320px;height:320px;right:50%;transform:translateX(50%)}.basket-art{transform:translate(-50%,-50%) scale(.82)}.produce-card{min-width:165px;padding:10px}.produce-card-one{left:0;top:45px}.produce-card-two{right:0;bottom:24px}
  .trust-grid{grid-template-columns:1fr}.trust-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)!important}.trust-grid div:last-child{border-bottom:0!important}.section{padding:78px 0}.card-grid{grid-template-columns:1fr}.hours-card,.contact-form{padding:24px}.hours-row{display:block}.hours-row strong{display:block;text-align:left;margin-top:3px}.story-art{min-height:390px;padding:24px}.story-panel{min-height:310px;padding:32px}.story-quote{font-size:1.65rem}.legal-card{grid-template-columns:1fr}.legal-card div{border-right:0!important;border-bottom:1px solid var(--line)!important}.legal-card div:last-child{border-bottom:0!important}.cta-section{padding-bottom:75px}.cta-card{display:block;padding:35px 26px}.cta-card .button{margin-top:25px}.footer-grid{grid-template-columns:1fr}.footer-grid > div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom p+ p{margin-top:5px}
}

@media print {
  .site-header { position: static; }
  .menu-toggle, .primary-nav, .hero-actions, .contact-form, .cta-section { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  .hero-grid { min-height: auto; }
  a { text-decoration: none; }
}
