@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root { --forest:#123f34; --forest-deep:#0a3028; --sage:#8aa491; --leaf:#50765d; --cream:#f4f0e5; --paper:#fbf8f0; --ink:#1b2b26; --line:rgba(27,43,38,.18); --display:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
.site-header { height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,78px); background:var(--forest); color:var(--cream); border-bottom:1px solid rgba(244,240,229,.22); position:relative; z-index:10; }
.brand { display:flex; align-items:center; gap:13px; }
.brand strong { display:block; font-family:var(--display); font-size:25px; line-height:1; letter-spacing:.02em; }
.brand small { display:block; margin-top:4px; font-size:9px; text-transform:uppercase; letter-spacing:.19em; opacity:.7; }
.site-header nav { display:flex; align-items:center; gap:clamp(18px,3vw,42px); font-size:12px; font-weight:600; }
.site-header nav a:not(.nav-cta) { opacity:.76; transition:opacity .2s; }
.site-header nav a:hover { opacity:1; }
.nav-cta { border:1px solid rgba(244,240,229,.55); padding:12px 18px; border-radius:99px; }
.farm-mark { width:228px; height:228px; display:block; }
.farm-mark img { width:100%; height:100%; display:block; object-fit:contain; }
.farm-mark--compact { width:49px; height:49px; }
.hero { min-height:690px; background:var(--forest); color:var(--cream); display:grid; grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr); align-items:stretch; padding:72px clamp(24px,7vw,112px) 54px; gap:7vw; overflow:hidden; }
.hero-copy { max-width:790px; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#c7d5c8; font-size:10px; line-height:1; font-weight:700; text-transform:uppercase; letter-spacing:.23em; }
.eyebrow span { width:35px; height:1px; background:currentColor; display:inline-block; }
.eyebrow--dark { color:var(--leaf); }
.hero h1 { max-width:790px; margin:18px 0 25px; font-family:var(--display); font-size:clamp(62px,7vw,104px); font-weight:500; line-height:.87; letter-spacing:-.045em; }
.hero h1 em { color:#a9bea9; font-weight:400; }
.hero-lede { max-width:665px; font-size:clamp(16px,1.5vw,19px); line-height:1.75; color:rgba(244,240,229,.76); }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:18px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; padding:16px 24px; font-size:12px; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button--light { background:var(--cream); color:var(--forest); }
.text-link { font-size:12px; font-weight:700; padding:10px 0; border-bottom:1px solid rgba(244,240,229,.35); }
.hero-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; padding-top:24px; border-top:1px solid rgba(244,240,229,.18); }
.hero-proof strong,.hero-proof span { display:block; }
.hero-proof strong { font-family:var(--display); font-size:20px; font-weight:600; }
.hero-proof span { margin-top:5px; font-size:10px; line-height:1.4; opacity:.58; }
.hero-mark-wrap { border-left:1px solid rgba(244,240,229,.18); display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; padding-left:7vw; }
.hero-mark-wrap::before,.hero-mark-wrap::after { content:""; position:absolute; border:1px solid rgba(244,240,229,.08); border-radius:50%; width:480px; height:480px; }
.hero-mark-wrap::after { width:365px; height:365px; }
.hero-mark-wrap .farm-mark { position:relative; z-index:2; }
.hero-mark-orbit { position:relative; z-index:2; margin-bottom:27px; display:flex; gap:11px; align-items:center; font-size:8px; letter-spacing:.16em; opacity:.66; white-space:nowrap; }
.hero-mark-wrap>p { position:relative; z-index:2; margin:22px 0 0; font-family:var(--display); font-size:16px; text-align:center; line-height:1.25; color:#b5c8b8; }
.trust-strip { background:#dce3d8; display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(24px,7vw,112px); }
.trust-strip p { margin:0; padding:20px 16px; text-align:center; border-right:1px solid rgba(18,63,52,.16); color:var(--forest); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.trust-strip p:first-child { border-left:1px solid rgba(18,63,52,.16); }
.section { padding:118px clamp(24px,7vw,112px); }
.approach { display:grid; grid-template-columns:.78fr 1.22fr; gap:8vw; }
.section h2 { font-family:var(--display); font-size:clamp(47px,5vw,72px); font-weight:500; line-height:.98; letter-spacing:-.03em; }
.section-intro h2 { margin:22px 0 0; }
.large-copy { max-width:760px; font-family:var(--display); font-size:clamp(27px,3vw,40px); line-height:1.22; color:#29463d; }
.principles { margin-top:56px; border-top:1px solid var(--line); }
.principles article { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:26px 0; border-bottom:1px solid var(--line); }
.principles b { font-size:10px; color:var(--leaf); letter-spacing:.14em; }
.principles h3 { margin:-6px 0 6px; font-family:var(--display); font-size:27px; font-weight:600; }
.principles p { margin:0; max-width:570px; color:#60706a; font-size:14px; line-height:1.65; }
.approach-photo { height:390px; margin:42px 0 0; position:relative; overflow:hidden; background:#dbe2d6; }
.approach-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 46%; }
.approach-photo::after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,rgba(8,38,31,.7)); }
.approach-photo figcaption { position:absolute; z-index:1; right:22px; bottom:18px; margin:0; color:var(--cream); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.offerings { background:var(--cream); }
.offerings-head { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; margin-bottom:55px; }
.offerings-head h2 { margin:20px 0 0; }
.offerings-head>p { max-width:500px; margin-bottom:8px; color:#62716b; font-size:14px; line-height:1.7; }
.crop-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.crop-card { min-height:440px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.crop-number { font-size:9px; letter-spacing:.15em; color:var(--leaf); }
.crop-photo { height:158px; margin:15px 0 20px; overflow:hidden; background:#dbe2d6; }
.crop-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.crop-photo--zucchini img { object-position:center 55%; transform:scale(1.28); }
.crop-photo--tomatoes img { object-position:center 47%; }
.crop-card h3 { margin:auto 0 5px; font-family:var(--display); font-size:30px; font-weight:600; }
.crop-card p { margin:0; color:#68766f; font-size:12px; line-height:1.6; }
.crop-card .crop-season { margin-bottom:13px; color:var(--leaf); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; }
.availability-note { margin:34px 0 0; display:flex; gap:25px; max-width:930px; color:#66736e; font-size:12px; line-height:1.65; }
.availability-note span { flex:0 0 auto; color:var(--forest); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:9px; padding-top:4px; }
.story { background:var(--paper); display:grid; grid-template-columns:1.25fr .75fr; gap:4vw; }
.story-panel { background:var(--forest); color:var(--cream); padding:clamp(38px,6vw,78px); }
.story-panel h2 { margin:24px 0 32px; max-width:630px; }
.story-panel>p:not(.eyebrow) { max-width:690px; color:rgba(244,240,229,.72); font-size:14px; line-height:1.8; }
.story-photo { margin:0; min-height:620px; position:relative; overflow:hidden; background:#dbe2d6; }
.story-photo img { width:100%; height:100%; position:absolute; inset:0; display:block; object-fit:cover; object-position:center; }
.story-photo::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(8,38,31,.9)); }
.story-photo figcaption { position:absolute; z-index:1; left:34px; right:34px; bottom:30px; color:var(--cream); }
.story-photo figcaption strong,.story-photo figcaption span { display:block; }
.story-photo figcaption strong { font-family:var(--display); font-size:29px; }
.story-photo figcaption span { margin-top:4px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; opacity:.72; }
.chef-section { background:var(--forest-deep); color:var(--cream); padding:110px clamp(24px,7vw,112px); display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:center; }
.chef-copy h2 { max-width:750px; margin:24px 0 25px; font-family:var(--display); font-size:clamp(50px,5.8vw,82px); font-weight:500; line-height:.96; letter-spacing:-.035em; }
.chef-copy>p:not(.eyebrow) { max-width:660px; color:rgba(244,240,229,.68); font-size:15px; line-height:1.75; }
.button--cream { margin-top:15px; background:#dce3d8; color:var(--forest); }
.contact-card { border:1px solid rgba(244,240,229,.25); padding:34px; }
.contact-kicker { padding-bottom:19px; border-bottom:1px solid rgba(244,240,229,.2); font-size:9px; text-transform:uppercase; letter-spacing:.18em; color:#b8c8bb; }
.contact-card ol { margin:0; padding:0; list-style:none; }
.contact-card li { display:grid; grid-template-columns:42px 1fr; gap:8px; padding:17px 0; border-bottom:1px solid rgba(244,240,229,.12); font-family:var(--display); font-size:19px; }
.contact-card li span { padding-top:5px; color:#8ba493; font-family:var(--sans); font-size:8px; letter-spacing:.13em; }
.contact-direct { margin-top:26px; display:flex; flex-direction:column; gap:7px; }
.contact-direct a { font-size:12px; color:rgba(244,240,229,.75); }
.contact-direct a:hover { color:white; }
footer { min-height:150px; background:#08261f; color:var(--cream); padding:38px clamp(24px,7vw,112px); display:grid; grid-template-columns:auto 1fr auto auto; gap:35px; align-items:center; border-top:1px solid rgba(244,240,229,.12); }
.footer-brand { display:flex; align-items:center; gap:12px; font-family:var(--display); font-size:22px; }
.footer-brand .farm-mark { width:42px; height:42px; }
footer p,footer a,footer small { margin:0; font-size:10px; color:rgba(244,240,229,.55); }
footer a { color:var(--cream); border-bottom:1px solid rgba(244,240,229,.3); padding-bottom:3px; }
@media (max-width:980px) { .hero { grid-template-columns:1fr; } .hero-mark-wrap { display:none; } .approach,.story,.chef-section { grid-template-columns:1fr; } .crop-grid { grid-template-columns:repeat(2,1fr); } .story { gap:18px; } .story-photo { min-height:520px; } footer { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .site-header { height:78px; padding:0 20px; } .site-header nav a:not(.nav-cta) { display:none; } .nav-cta { padding:10px 14px; } .brand small { display:none; } .farm-mark--compact { width:42px; height:42px; } .hero { min-height:auto; padding:64px 24px 44px; } .hero h1 { font-size:clamp(58px,19vw,82px); } .hero-actions { align-items:flex-start; flex-direction:column; gap:15px; } .hero-proof { grid-template-columns:1fr; gap:15px; margin-top:44px; } .hero-proof div { padding-bottom:12px; border-bottom:1px solid rgba(244,240,229,.1); } .trust-strip { grid-template-columns:repeat(2,1fr); padding:0; } .trust-strip p:first-child { border-left:0; } .trust-strip p:nth-child(3),.trust-strip p:nth-child(4) { border-top:1px solid rgba(18,63,52,.16); } .section,.chef-section { padding:80px 24px; } .offerings-head { grid-template-columns:1fr; gap:22px; } .crop-grid { grid-template-columns:1fr; } .crop-card { min-height:400px; } .approach-photo { height:340px; } .availability-note { flex-direction:column; gap:6px; } .story { padding-left:14px; padding-right:14px; } .story-panel { padding:40px 28px; } .story-photo { min-height:430px; } .contact-card { padding:26px 20px; } footer { grid-template-columns:1fr; gap:14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
