:root {
  --forest: #1f3a2b;
  --forest-deep: #142a1e;
  --leaf: #4c7a3f;
  --soil: #3a2717;
  --soil-mid: #5b3f28;
  --spud: #b8864b;
  --wheat: #e9c27a;
  --cream: #f6efe1;
  --paper: #fbf7ee;
  --ink: #23211c;
  --muted: #6b6457;
  --line: rgba(35, 33, 28, .12);
  --radius: 18px;
  --shadow: 0 1px 2px rgba(30, 24, 14, .06), 0 12px 32px -12px rgba(30, 24, 14, .22);
  --display: "Fraunces", Georgia, serif;
  /* Wordmark: Fraunces, but with a conventional J (Lora subset containing only "J") */
  --wordmark: "Lora", "Fraunces", Georgia, serif;
  --body: "Work Sans", system-ui, sans-serif;
  --wrap: min(1200px, 100% - 3rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0;
  font-family: var(--body);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.08; margin: 0 0 .6em; letter-spacing: -.01em; }
h2 { font-size: clamp(2rem, 4.2vw, 3.25rem); }
h3 { font-size: 1.4rem; }
p { margin: 0 0 1.1em; }

.grain {
  position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.eyebrow {
  font-size: .8rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--leaf); margin-bottom: 1rem; display: inline-flex; align-items: center; gap: .7rem;
}
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.eyebrow-light { color: var(--wheat); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .95rem 1.6rem; border-radius: 999px; font: 600 1rem/1 var(--body);
  text-decoration: none; border: 2px solid transparent; cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-primary { background: var(--wheat); color: var(--soil); box-shadow: 0 8px 24px -8px rgba(233, 194, 122, .7); }
.btn-primary:hover { background: #f2d08f; }
.btn-ghost { border-color: rgba(255, 255, 255, .5); color: #fff; }
.btn-ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.btn-block { width: 100%; }
:focus-visible { outline: 3px solid var(--wheat); outline-offset: 3px; }

/* Header */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  transition: background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.site-header.scrolled {
  background: rgba(20, 42, 30, .88); backdrop-filter: blur(12px);
  box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .5);
}
.nav { width: var(--wrap); margin: 0 auto; height: 76px; display: flex; align-items: center; justify-content: space-between; }
.logo { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--cream); }
.logo-mark { height: 42px; width: auto; flex-shrink: 0; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .35)); }
.logo span { font: 600 1.35rem/1 var(--wordmark); display: flex; flex-direction: column; }
.logo small { font: 600 .8rem/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--wheat); margin-top: .35rem; }
.nav-links { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 1.6rem; }
.nav-links a { color: var(--cream); text-decoration: none; font-weight: 500; font-size: .95rem; position: relative; }
.nav-links a:not(.nav-cta)::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--wheat);
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a.active::after { transform: scaleX(1); }

.skip-link {
  position: fixed; top: .75rem; left: .75rem; z-index: 200; padding: .6rem 1rem; border-radius: 8px;
  background: var(--wheat); color: var(--soil); font-weight: 600; text-decoration: none; transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
.nav-cta { padding: .6rem 1.2rem; border: 1.5px solid var(--wheat); border-radius: 999px; color: var(--wheat) !important; transition: background .2s, color .2s; }
.nav-cta:hover { background: var(--wheat); color: var(--soil) !important; }
.nav-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; cursor: pointer; position: relative; }
.nav-toggle span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--cream); transition: transform .3s ease; }
.nav-toggle span:first-child { top: 17px; }
.nav-toggle span:last-child { top: 25px; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* Hero */
.hero {
  position: relative; min-height: 100svh; display: flex; align-items: center;
  color: #fff; overflow: hidden; padding: 120px 0 0;
  background: linear-gradient(180deg, #16301f 0%, #2b4c39 30%, #8c7b4e 62%, #e1a865 82%, #f0c98b 100%);
}
.hero-sky { position: absolute; inset: 0; }
.sun {
  position: absolute; width: 260px; height: 260px; border-radius: 50%; right: 14%; bottom: 33%;
  background: radial-gradient(circle, #fff2cf 0%, #f8d48f 45%, rgba(248, 212, 143, 0) 70%);
  animation: rise 2.4s cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes rise { from { transform: translateY(80px); opacity: 0; } to { transform: none; opacity: 1; } }
.hero-inner { position: relative; z-index: 2; width: var(--wrap); margin: 0 auto; padding-bottom: 28vh; }
.hero .eyebrow { color: var(--wheat); }
.hero h1 { font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 800; max-width: 12ch; margin-bottom: .35em; letter-spacing: -.025em; }
.hero h1 em { font-style: italic; font-weight: 400; color: var(--wheat); }
.hero-lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 36rem; color: rgba(255, 255, 255, .86); }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.hero-fields { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 42vh; min-height: 260px; z-index: 1; }

/* Stats */
.stats {
  position: relative; z-index: 3; width: var(--wrap); margin: -64px auto 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--cream); border-radius: var(--radius); box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.stat { padding: 1.8rem 1.6rem; display: flex; flex-direction: column; gap: .3rem; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat-num { font: 800 clamp(1.8rem, 3vw, 2.5rem)/1 var(--display); color: var(--forest); }
.stat-label { font-size: .88rem; color: var(--muted); }

/* Sections */
.section { width: var(--wrap); margin: 0 auto; padding: clamp(5rem, 10vw, 8rem) 0; }

/* About */
.about { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.about-art { position: relative; }
.art-card { border-radius: 220px 220px var(--radius) var(--radius); overflow: hidden; box-shadow: var(--shadow); position: relative; transform: rotate(-1.5deg); }
.art-card img { display: block; width: 100%; aspect-ratio: 5 / 6; height: auto; object-fit: cover; }
.art-badge {
  position: absolute; right: -1.5rem; top: 12%; width: 140px; height: 140px; border-radius: 50%;
  background: var(--forest); color: var(--cream); display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; box-shadow: var(--shadow); border: 6px solid var(--paper); animation: spin-in 1.2s .4s both;
}
.art-badge span { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.art-badge strong { font: italic 600 1.7rem/1.1 var(--display); color: var(--wheat); }
@keyframes spin-in { from { transform: rotate(-30deg) scale(.6); opacity: 0; } to { transform: rotate(8deg); opacity: 1; } }
.lede { font-size: 1.2rem; color: var(--ink); }
.about-copy p:not(.eyebrow):not(.lede) { color: var(--muted); }
.pull {
  margin: 2rem 0 0; padding: 1.4rem 0 0 1.6rem; border-left: 3px solid var(--spud);
  font: italic 400 clamp(1.3rem, 2.2vw, 1.65rem)/1.35 var(--display); color: var(--forest);
}

/* Story */
.story { padding-top: 0; }
.story .values { margin-top: clamp(5rem, 10vw, 7rem); padding-top: clamp(4rem, 8vw, 6rem); border-top: 1px solid var(--line); }
.story-head { max-width: 40rem; margin-bottom: 3rem; }
.story-body { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.story-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; align-items: start; }
.clipping {
  margin: 0; padding: .8rem .8rem 0; background: #efe4cb; box-shadow: var(--shadow);
  border: 1px solid rgba(90, 70, 40, .18);
}
.clipping-lyle { transform: rotate(-2.5deg); }
.clipping-bert { transform: rotate(2deg) translateY(2.5rem); }
.clipping img, .clipping-empty { display: block; width: 100%; aspect-ratio: 384 / 522; object-fit: cover; filter: sepia(.15); }
.clipping-empty {
  display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(45deg, #e5d7b8 0 6px, #e9dcbf 6px 12px);
  font: italic 400 4.5rem var(--display); color: rgba(90, 70, 40, .35);
}
.clipping figcaption { padding: .7rem 0 .8rem; text-align: center; font: italic 600 1.15rem var(--display); color: var(--soil); }
.story-copy p:not(.lede) { color: var(--muted); }
.story-sign { font: italic 400 1.15rem var(--display); color: var(--forest) !important; margin-top: 1.5rem; }

/* Advantage */
.stats + .advantage { margin-top: clamp(4rem, 8vw, 6rem); }
.advantage {
  width: 100%; max-width: none; color: var(--cream);
  background:
    radial-gradient(1200px 400px at 85% 0%, rgba(233, 194, 122, .12), transparent 60%),
    linear-gradient(180deg, var(--forest) 0%, var(--forest-deep) 100%);
  padding-left: calc((100% - min(1200px, 100% - 3rem)) / 2);
  padding-right: calc((100% - min(1200px, 100% - 3rem)) / 2);
  position: relative; overflow: hidden;
}
.advantage::before {
  content: ""; position: absolute; inset: 0; opacity: .07; pointer-events: none;
  background: repeating-linear-gradient(-62deg, transparent 0 22px, var(--wheat) 22px 24px);
}
.section-head { max-width: 40rem; margin-bottom: 3.5rem; position: relative; }
.section-head p:not(.eyebrow) { color: rgba(246, 239, 225, .75); font-size: 1.12rem; }
.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; position: relative; }
.pillar {
  padding: 2rem 1.6rem; border-radius: var(--radius); background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(246, 239, 225, .12); position: relative;
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}
.pillar:hover { transform: translateY(-6px); background: rgba(255, 255, 255, .08); border-color: rgba(233, 194, 122, .4); }
.pillar-icon { width: 52px; height: 52px; color: var(--wheat); margin-bottom: 1.6rem; }
.pillar-num { position: absolute; top: 1.6rem; right: 1.6rem; font: 400 .9rem var(--display); color: rgba(246, 239, 225, .4); }
.pillar h3 { color: #fff; font-size: 1.3rem; }
.pillar p { color: rgba(246, 239, 225, .72); font-size: .97rem; margin: 0; }

/* Varieties */
.varieties { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 2fr); gap: clamp(2.5rem, 5vw, 4.5rem); align-items: start; }
.seed-bag { margin: 0; position: sticky; top: 110px; }
.seed-bag img {
  width: 100%; height: auto; border-radius: 6px; transform: rotate(-2deg);
  box-shadow: 0 2px 4px rgba(30, 24, 14, .12), 0 24px 44px -18px rgba(30, 24, 14, .45);
}
.seed-bag figcaption { margin-top: 1.4rem; font: italic 400 1.05rem/1.4 var(--display); color: var(--soil-mid); max-width: 26ch; }
.varieties-head { margin-bottom: 2.5rem; }
.varieties-head h2 { max-width: 18ch; }
.varieties-head > p { color: var(--muted); }
.variety-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.varieties .variety-grid { grid-template-columns: repeat(2, 1fr); }
.variety {
  background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 1.6rem; display: flex; flex-direction: column; min-height: 230px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.variety:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: var(--shadow); }
.variety-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: auto; }
.variety-type { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--leaf); }
.spud { width: 84px; transition: transform .5s cubic-bezier(.3, 1.6, .5, 1); filter: drop-shadow(0 6px 6px rgba(58, 39, 23, .25)); }
.variety:hover .spud { transform: rotate(-14deg) scale(1.08); }
.variety h3 { font-size: 1.65rem; margin: 1.5rem 0 .5rem; }
.variety-note { font-size: .92rem; color: var(--muted); margin: 0 0 1rem; line-height: 1.5; }
.fy-sep { font: 600 .95rem var(--display); color: var(--muted); }
.varieties-head > .cert-note { color: var(--soil); margin-top: .5rem; padding: .9rem 1.1rem; border-left: 3px solid var(--leaf); background: var(--cream); border-radius: 0 var(--radius) var(--radius) 0; font-size: .95rem; }
.fy { display: flex; align-items: center; gap: .45rem; padding-top: 1rem; border-top: 1px dashed var(--line); }
.fy-label { font-size: .82rem; color: var(--muted); margin-right: auto; }
.chip {
  display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--forest); color: var(--cream); font: 600 .95rem var(--display);
}
.variety-cta { background: var(--spud); color: var(--soil); text-decoration: none; border-color: transparent; position: relative; }
.variety-cta .variety-type { color: var(--soil); }
.variety-cta h3 { margin-top: auto; font-size: 1.5rem; max-width: 14ch; }
.variety-cta .arrow {
  position: absolute; top: 1.4rem; right: 1.4rem; width: 46px; height: 46px; border-radius: 50%;
  display: grid; place-items: center; background: var(--soil); color: var(--wheat); font-size: 1.3rem;
  transition: transform .3s ease;
}
.variety-cta:hover .arrow { transform: rotate(-45deg); }

/* Contact */
.contact { padding-top: 0; }
.contact-card {
  display: grid; grid-template-columns: 1fr 1.15fr; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow);
  background: var(--cream); border: 1px solid var(--line);
}
.contact-info {
  padding: clamp(2rem, 5vw, 3.5rem); color: var(--cream); position: relative;
  background:
    linear-gradient(160deg, rgba(31, 58, 43, .96), rgba(58, 39, 23, .96)),
    repeating-linear-gradient(-62deg, transparent 0 18px, rgba(233, 194, 122, .3) 18px 20px);
}
.contact-info h2 { color: #fff; }
.contact-info > p { color: rgba(246, 239, 225, .78); }
.contact-list { list-style: none; padding: 0; margin: 2.2rem 0 0; display: grid; gap: 1.1rem; }
.contact-list li { display: grid; gap: .1rem; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(246, 239, 225, .14); }
.contact-list li:last-child { border-bottom: 0; }
.ci-label { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--wheat); font-weight: 600; }
.contact-list a { text-decoration: none; font-size: 1.1rem; }
.contact-list a:hover { color: var(--wheat); }

.contact-form { padding: clamp(2rem, 5vw, 3.5rem); display: grid; gap: 1.2rem; align-content: center; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.field { display: grid; gap: .45rem; }
.field > span { font-size: .85rem; font-weight: 600; color: var(--forest); }
.field em { font-style: normal; font-weight: 400; color: var(--muted); }
.field input, .field textarea {
  font: inherit; color: var(--ink); background: var(--paper); border: 1.5px solid var(--line);
  border-radius: 12px; padding: .85rem 1rem; transition: border-color .2s, box-shadow .2s, background .2s; width: 100%;
}
.field textarea { resize: vertical; min-height: 140px; }
.field input:hover, .field textarea:hover { border-color: rgba(35, 33, 28, .25); }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--leaf); background: #fff; box-shadow: 0 0 0 4px rgba(76, 122, 63, .15); }
.field input:user-invalid, .field textarea:user-invalid { border-color: #b4462f; box-shadow: 0 0 0 4px rgba(180, 70, 47, .12); }
.contact-form .btn-primary { background: var(--forest); color: var(--cream); box-shadow: none; margin-top: .4rem; }
.contact-form .btn-primary:hover { background: var(--leaf); }

/* Footer */
.site-footer { background: var(--soil); color: rgba(246, 239, 225, .7); padding: 3.5rem 0 2rem; }
.footer-inner { width: var(--wrap); margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }
.footer-logo { font: 600 1.6rem var(--wordmark); color: var(--cream); display: flex; align-items: center; gap: .85rem; }
.footer-logo img { height: 46px; width: auto; }
.footer-brand p { margin: .3rem 0 0; font-size: .92rem; }
.footer-inner { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 2.5rem; }
.footer-title { font-size: .8rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--wheat); margin: .4rem 0 .9rem; }
.footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.footer-links a { text-decoration: none; font-size: .95rem; }
.footer-links a:hover { color: var(--wheat); }
.copyright { width: var(--wrap); margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(246, 239, 225, .12); font-size: .85rem; }
.credit { width: var(--wrap); margin: .4rem auto 0; font-size: .8rem; }
.credit a { color: inherit; }

/* Winter feature */
.winter {
  position: relative; display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
  padding: clamp(2rem, 4vw, 3rem); margin-bottom: 1.25rem; border-radius: 24px; overflow: hidden;
  background: linear-gradient(135deg, rgba(214, 228, 236, .16), rgba(214, 228, 236, .04));
  border: 1px solid rgba(214, 228, 236, .22);
}
.winter-temp { position: relative; display: flex; flex-direction: column; gap: .5rem; padding-right: clamp(1rem, 3vw, 3rem); border-right: 1px solid rgba(246, 239, 225, .16); }
.winter-num { font: 800 clamp(4rem, 9vw, 7rem)/.9 var(--display); color: #e4eef3; letter-spacing: -.04em; }
.winter-num sup { font-size: .38em; font-weight: 400; vertical-align: top; position: relative; top: .35em; margin-left: .05em; color: var(--wheat); }
.winter-sub { font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cream); font-weight: 600; }
.winter-flake { position: absolute; width: 150px; height: 150px; left: -40px; top: -60px; color: #e4eef3; opacity: .08; animation: drift 24s linear infinite; }
@keyframes drift { to { transform: rotate(360deg); } }
.winter-copy h3 { color: #fff; font-size: clamp(1.45rem, 2.4vw, 1.9rem); max-width: 26ch; }
.winter-copy p { color: rgba(246, 239, 225, .78); margin-bottom: .9em; }
.winter-quote { margin: 1.4rem 0 0; padding-left: 1.1rem; border-left: 3px solid var(--wheat); }
.winter-copy .winter-quote p { font: italic 400 1.15rem/1.4 var(--display); color: var(--wheat); margin: 0 0 .5rem; }
.winter-quote cite { font-style: normal; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--cream); }

.advantage .pillars { grid-template-columns: repeat(3, 1fr); }

/* Standards: biosecurity + gentle handling */
.standards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1.25rem; position: relative; }
.standard {
  display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; padding: 2rem 1.8rem; border-radius: var(--radius);
  background: rgba(233, 194, 122, .08); border: 1px solid rgba(233, 194, 122, .28);
}
.standard .pillar-icon { margin: 0; }
.standard-tag { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--wheat); margin-bottom: .5rem; }
.standard h3 { color: #fff; font-size: 1.4rem; }
.standard p:not(.standard-tag) { color: rgba(246, 239, 225, .76); font-size: .98rem; margin: 0; }

/* Values */
.values { display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.values-intro { position: sticky; top: 110px; }
.values-intro > p:not(.eyebrow) { color: var(--muted); font-size: 1.1rem; }
.values-seal { width: 128px; margin-top: 2rem; color: var(--spud); }
.values-seal svg { animation: drift 40s linear infinite; }
.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem 2rem; }
.value { padding-top: 1.4rem; border-top: 2px solid var(--forest); position: relative; }
.value-num { display: block; font: italic 400 1.1rem var(--display); color: var(--spud); margin-bottom: .6rem; }
.value h3 { font-size: 1.55rem; color: var(--forest); }
.value p { color: var(--muted); margin: 0; }

/* Reveal animation */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.js .reveal.in { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 1000px) {
  .pillars, .advantage .pillars { grid-template-columns: repeat(2, 1fr); }
  .standards { grid-template-columns: 1fr; }
  .variety-grid { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { border-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 820px) {
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .nav-toggle { display: block; }
  .nav-links {
    position: fixed; top: 76px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0;
    background: var(--forest-deep); padding: 1rem 1.5rem 1.5rem;
    transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s;
  }
  .nav-links.open { opacity: 1; transform: none; pointer-events: auto; }
  .nav-links li a { display: block; padding: .9rem 0; border-bottom: 1px solid rgba(246, 239, 225, .1); }
  .nav-links .nav-cta { margin-top: 1rem; text-align: center; border-bottom: 1.5px solid var(--wheat); }
  .about, .varieties-head, .contact-card, .values, .story-body { grid-template-columns: 1fr; }
  .story-photos { max-width: 480px; margin: 0 auto 2.5rem; width: 100%; }
  .values-intro { position: static; }
  .winter { grid-template-columns: 1fr; }
  .winter-temp { border-right: 0; padding-right: 0; border-bottom: 1px solid rgba(246, 239, 225, .16); padding-bottom: 1.5rem; }
  .about-art { max-width: 420px; margin: 0 auto; width: 100%; }
  .varieties { grid-template-columns: 1fr; }
  .seed-bag { position: static; max-width: 320px; margin: 0 auto; }
  .seed-bag figcaption { text-align: center; margin-inline: auto; }
  .art-badge { right: -.5rem; width: 116px; height: 116px; }
  .varieties-head { gap: 1rem; }
}
@media (max-width: 560px) {
  .footer-inner { grid-template-columns: 1fr; }
  .pillars, .advantage .pillars, .variety-grid, .varieties .variety-grid, .field-row, .values-grid { grid-template-columns: 1fr; }
  .logo-mark { height: 34px; }
  .logo span { font-size: 1.15rem; }
  .standard { grid-template-columns: 1fr; gap: 1rem; }
  .stats { grid-template-columns: 1fr 1fr; margin-top: -40px; }
  .stat { padding: 1.3rem 1.1rem; }
  .sun { width: 180px; height: 180px; right: 4%; }
  .hero-inner { padding-bottom: 32vh; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .js .reveal { opacity: 1; transform: none; }
}
