/* The stem is the attachment point. Branches grow in from the viewport edge;
   foreground crops sit below the label, and all packaging stays stationary. */
:root { --page-gutter:calc(max(0px, (100vw - 1600px) / 2) + var(--space)); }
.garden-layer { mix-blend-mode:normal; }

/* Pin each cut stem just outside the page. Translating by the measured stem
   coordinates before rotating lets the foliage sway without detaching. */
.garden-layer.edge-branch {
  position:absolute; width:0; height:0; max-width:none;
  transform:none; translate:none; rotate:none; will-change:auto;
  --stem-x:0%; --stem-y:0%; --branch-angle:0deg; --branch-flip:1;
}
.edge-branch .garden-botanical {
  position:absolute; width:var(--branch-size); max-width:none; height:auto;
  scale:1; rotate:none; translate:none;
  transform-origin:var(--stem-x) var(--stem-y);
  transform:translate(calc(-1 * var(--stem-x)),calc(-1 * var(--stem-y))) rotate(var(--branch-angle)) scaleX(var(--branch-flip));
  animation:anchored-sway var(--sway-time,22s) ease-in-out infinite alternate;
}
@keyframes anchored-sway {
  from { transform:translate(calc(-1 * var(--stem-x)),calc(-1 * var(--stem-y))) rotate(calc(var(--branch-angle) - .45deg)) scaleX(var(--branch-flip)); }
  to { transform:translate(calc(-1 * var(--stem-x)),calc(-1 * var(--stem-y))) rotate(calc(var(--branch-angle) + .45deg)) scaleX(var(--branch-flip)); }
}
.edge-branch.hero-canopy { left:-12px; right:auto; top:0; bottom:auto; --branch-size:36vw; --stem-x:0%; --stem-y:5%; }
/* The original lemon asset has a white background; blend it only in this
   white hero, away from packaging. All transparent cutouts use normal alpha. */
.edge-branch.hero-citrus { right:-16px; left:auto; top:auto; bottom:-70px; --branch-size:30vw; --stem-x:86%; --stem-y:100%; mix-blend-mode:multiply; }
.hero-grasses { transform:none; }

/* One calm product display, with a shared baseline across all seven families. */
.garden-range-section { background:#fff; transition:none; padding-bottom:0; overflow:clip; border-bottom:1px solid var(--line); }
.garden-range .family-panel { grid-template-columns:1.15fr 1fr; gap:8%; align-items:end; padding-top:2.5rem; animation:none; }
.garden-range .range-bags { position:relative; isolation:isolate; height:570px; min-height:0; margin-left:calc(-1 * var(--page-gutter)); width:calc(100% + var(--page-gutter)); }
.garden-range .range-bag { position:absolute; left:23%; bottom:30px; width:72%; height:510px; max-width:none; object-fit:contain; z-index:2; }
.range-bag,.range-hero-bag,.product-bag,.detail-bag,.process-bag {
  mix-blend-mode:normal; opacity:1;
  transform:none!important; translate:none!important; rotate:none!important; scale:none!important;
  animation:none!important; transition:none!important;
}
.garden-range .family-description { position:relative; z-index:4; align-self:center; padding:0 0 4rem; }
.garden-range .family-description h3 { max-width:14ch; }
.garden-range .family-description .concept-note { position:static; text-align:left; font-size:.875rem; margin:1.2rem 0 0; }
.family-botany { z-index:3; transform:none!important; }
.family-botany .garden-botanical { animation:none; }
.family-botany.strawberry { width:52%; left:-2%; right:auto; top:auto; bottom:-12px; }
.family-botany.cucumber { width:32%; left:4%; right:auto; top:auto; bottom:-22px; }
.family-botany.pepper { width:31%; left:7%; right:auto; top:auto; bottom:-24px; }
.family-botany.carrot { width:24%; left:11%; right:auto; top:auto; bottom:12px; }
.family-botany.herbs { width:64%; left:-6%; right:auto; top:auto; bottom:-16px; }
.family-botany.pea { width:27%; left:9%; right:auto; top:auto; bottom:-25px; }
.family-botany.aubergine { width:30%; left:9%; right:auto; top:auto; bottom:-22px; }

/* Orchard chapters: keep branches outside the text column and above articles. */
.vineyard-science { min-height:850px; overflow:clip; }
.edge-branch.science-grapes { left:-12px; right:auto; top:13%; bottom:auto; --branch-size:39vw; --stem-x:2.5%; --stem-y:0%; --branch-angle:-12deg; }
.vineyard-science .garden-science-copy { margin-left:54%; }
.garden-insights { overflow:clip; }
.crop-insights-heading { display:grid; grid-template-columns:1fr 1fr; gap:5%; align-items:center; margin-bottom:3rem; }
.crop-insights-heading .section-heading { position:relative; z-index:3; margin-bottom:0; }
.garden-insights .crop-insights-heading .section-heading>div { display:block; }
.crop-insights-heading .text-link { margin-top:1.6rem; }
.berry-study { position:relative; height:clamp(280px,29vw,500px); }
.edge-branch.insights-blueberries { left:auto; right:calc(-1 * var(--page-gutter) - 12px); top:0; bottom:auto; --branch-size:min(43vw,740px); --stem-x:7.9%; --stem-y:100%; --branch-angle:180deg; }
.orchard-invitation { position:relative; overflow:clip; isolation:isolate; min-height:720px; display:flex; align-items:center; }
.invitation-copy { position:relative; z-index:3; width:52%; padding-block:6rem; }
.invitation-copy h2 { font-size:clamp(3.4rem,6.8vw,7rem); max-width:12ch; line-height:1.04; }
.invitation-copy .btn { margin-top:2rem; }
.edge-branch.invitation-pomegranate { left:auto; right:-12px; top:84%; bottom:auto; --branch-size:48vw; --stem-x:2.2%; --stem-y:100%; --branch-flip:-1; }

/* Company: stems enter from the sides, wheat grows from the chapter boundary. */
.fig-garden { min-height:740px; overflow:clip; }
.edge-branch.about-figs { left:-12px; right:auto; top:82%; bottom:auto; --branch-size:49vw; --stem-x:5.9%; --stem-y:100%; }
.fig-garden .about-purpose { margin-left:51%; }
.fig-garden .about-purpose h2 { font-size:clamp(2.8rem,4.6vw,4.8rem); }
.manufacturing-garden { position:relative; overflow:clip; padding-bottom:0; border-bottom:1px solid var(--line); }
.process-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:7%; align-items:center; padding-top:2.5rem; }
.process-crop-study { position:static; height:540px; }
.process-wheat { width:48vw; left:-4vw; bottom:-22px; transform:none!important; --stem-origin:50% 100%; }
.process-wheat .garden-botanical { animation:none; }
.harvest-process .process-panel { display:block; min-height:340px; padding:0 0 3rem; }
.harvest-process .process-copy h3 { font-size:clamp(2.5rem,3.7vw,4rem); }
.harvest-process .process-copy p { max-width:34ch; }
.peach-partnership { min-height:800px; overflow:clip; }
.edge-branch.partnership-peaches { left:auto; right:-12px; top:88%; bottom:auto; --branch-size:31vw; --stem-x:97.3%; --stem-y:100%; --branch-angle:-8deg; }
.peach-partnership .wrap>div { width:53%; }
.garden-documents { position:relative; padding-top:6rem; }
.document-intro h2 { font-size:clamp(2.8rem,4.8vw,5rem); }
.garden-documents .document-list { position:relative; z-index:3; }

/* Product introductions: a small harvest in the foreground, labels above it. */
.harvest-hero .range-hero-stage { height:650px; }
.harvest-hero .range-hero-bag { position:absolute; height:540px; width:82%; max-width:none; left:14%; bottom:55px; }
.range-brassicas { width:68%; left:0; bottom:24px; z-index:3; transform:none!important; }
.range-brassicas .garden-botanical { animation:none; }
.product-bag-stage { display:flex; align-items:center; justify-content:center; background:#fff; border-bottom:1px solid var(--line); padding:1.5rem 1rem; }
.product-bag { flex:0 1 auto; min-height:0; max-height:100%; height:100%; width:100%; padding:0; object-fit:contain; }
.pack-grade-art { display:none; }
.product-packshot { background:#fff; border-bottom:1px solid var(--line); }
.courgette-programme { background:#fff; overflow:clip; min-height:700px; display:flex; align-items:stretch; padding-bottom:0; border-bottom:1px solid var(--line); }
.courgette-programme .programme-grid { grid-template-columns:1.1fr 1fr; gap:8%; align-items:end; }
.courgette-programme .programme-plant { position:static; height:510px; }
.programme-courgettes { width:49vw; left:-2vw; right:auto; top:auto; bottom:-24px; transform:none!important; }
.programme-courgettes .garden-botanical { animation:none; }
.courgette-programme .programme-copy { align-self:center; padding-block:0 4rem; }

/* Research and contact: leave the cut stem beyond the outside page edge. */
.research-garden-header { position:relative; overflow:clip; min-height:650px; }
.research-garden-header .page-hero-row { display:block; }
.research-garden-header .page-hero h1 { max-width:14ch; }
.research-garden-header .page-hero .lead { max-width:38ch; margin-top:2rem; padding:0; }
.edge-branch.research-blossoms { left:auto; right:-12px; top:20%; bottom:auto; --branch-size:43vw; --stem-x:4%; --stem-y:0%; --branch-flip:-1; }
.research-principles .wrap>.text-link { margin-top:3rem; }
.contact-garden { position:relative; height:clamp(290px,28vw,430px); margin-top:3rem; margin-bottom:0; margin-left:calc(-1 * var(--page-gutter)); overflow:visible; }
.edge-branch.contact-oranges { left:-12px; right:auto; top:0; bottom:auto; --branch-size:44vw; --stem-x:93.9%; --stem-y:0%; --branch-flip:-1; }
.contact-section { padding-bottom:0; }
.not-found-garden { min-height:650px; }
.not-found { padding-bottom:7rem; }

.family-icon { width:28px; height:28px; flex:0 0 28px; color:inherit; overflow:visible; }
.garden-range .family-tabs button { display:inline-flex; align-items:center; gap:10px; }
.filter-pill[data-family-filter] { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.filter-pill .family-icon { width:23px; height:23px; flex-basis:23px; }

@media (min-width:1800px) {
  .edge-branch.hero-canopy { --branch-size:33vw; }

}
@media (max-width:1100px) {
  .garden-range .family-panel { gap:5%; }
  .garden-range .range-bags { height:510px; }
  .garden-range .range-bag { height:455px; }
  .vineyard-science { min-height:760px; }
  .edge-branch.science-grapes { top:20%; --branch-size:41vw; }
  .orchard-invitation { min-height:660px; }
  .fig-garden { min-height:710px; }
  .process-crop-study { height:480px; }
  .peach-partnership { min-height:730px; }
  .edge-branch.partnership-peaches { --branch-size:34vw; }
  .harvest-hero .range-hero-stage { height:580px; }
  .harvest-hero .range-hero-bag { height:480px; }
  .courgette-programme { min-height:600px; }
  .research-garden-header { min-height:600px; }
}
@media (max-width:900px) {
  .garden-range .range-bags { height:465px; }
  .garden-range .range-bag { height:415px; }
  .crop-insights-heading { gap:2rem; }
  .orchard-invitation { min-height:610px; }
  .invitation-copy h2 { font-size:4.1rem; }
  .fig-garden .about-purpose h2 { font-size:3rem; }
  .process-layout { gap:5%; }
  .process-crop-study { height:430px; }
  .harvest-process .process-copy h3 { font-size:2.5rem; }
  .harvest-hero .range-hero-stage { height:530px; }
  .harvest-hero .range-hero-bag { height:430px; }
  .research-garden-header .page-hero h1 { max-width:12ch; font-size:4.7rem; }
  .research-garden-header .page-hero .lead { max-width:31ch; }
  .edge-branch.research-blossoms { top:44%; --branch-size:40vw; }
}
@media (max-width:650px) {
  .edge-branch.hero-canopy { top:0; --branch-size:55vw; }
  .edge-branch.hero-citrus { bottom:-30px; --branch-size:47vw; }
  .garden-range .family-panel { display:flex; flex-direction:column; gap:1rem; padding-top:2rem; }
  .garden-range .family-description { order:-1; width:100%; text-align:center; padding:0; }
  .garden-range .family-description h3 { margin-inline:auto; }
  .garden-range .family-description .concept-note { text-align:center; margin:.9rem auto 0; }
  .garden-range .range-bags { flex:none; align-self:flex-start; width:calc(100% + 2 * var(--page-gutter)); height:450px; margin-left:calc(-1 * var(--page-gutter)); }
  .garden-range .range-bag { height:390px; left:23%; width:69%; bottom:28px; }
  .family-botany.strawberry { width:52%; left:0; }
  .family-botany.cucumber { width:34%; left:3%; }
  .family-botany.pepper { width:32%; left:6%; }
  .family-botany.carrot { width:25%; left:10%; }
  .family-botany.herbs { width:64%; left:-5%; }
  .family-botany.pea { width:28%; left:8%; }
  .family-botany.aubergine { width:30%; left:9%; }
  .vineyard-science { min-height:940px; padding-top:4.5rem; align-items:start; }
  .vineyard-science .garden-science-copy { margin:0; text-align:center; padding:0; }
  .edge-branch.science-grapes { top:53%; --branch-size:65vw; }
  .crop-insights-heading { display:block; margin-bottom:1.8rem; }
  .berry-study { height:clamp(245px,65vw,340px); margin-top:2rem; }
  .edge-branch.insights-blueberries { top:0; --branch-size:83vw; }
  .orchard-invitation { min-height:750px; align-items:start; }
  .invitation-copy { width:100%; text-align:center; padding-block:4rem 0; }
  .invitation-copy h2 { font-size:clamp(3rem,12vw,4.4rem); margin:auto; max-width:12ch; }
  .invitation-copy .btn { margin-top:1.7rem; }
  .edge-branch.invitation-pomegranate { top:auto; bottom:12px; --branch-size:94vw; }
  .fig-garden { min-height:850px; align-items:start; padding-top:1rem; }
  .fig-garden .about-purpose { margin:0; text-align:center; }
  .fig-garden .about-purpose h2 { font-size:2.8rem; }
  .edge-branch.about-figs { top:auto; bottom:16px; --branch-size:97vw; }
  .process-layout { display:flex; flex-direction:column; padding-top:1rem; gap:1.2rem; }
  .process-crop-study { width:100%; height:310px; order:2; }
  .process-wheat { width:110vw; left:-7vw; bottom:-18px; }
  .process-text-panels { width:100%; }
  .harvest-process .process-panel { display:block; min-height:305px; padding:0; }
  .harvest-process .process-copy h3 { font-size:2.4rem; }
  .harvest-process .process-copy p { font-size:1.15rem; }
  .peach-partnership { min-height:1000px; align-items:start; padding-top:1rem; }
  .peach-partnership .wrap>div { width:100%; text-align:center; }
  .edge-branch.partnership-peaches { top:auto; bottom:12px; --branch-size:64vw; }
  .garden-documents { padding-top:4rem; }
  .document-intro h2 { font-size:3rem; }
  .harvest-hero .range-hero-stage { height:510px; }
  .harvest-hero .range-hero-bag { height:420px; bottom:50px; }
  .range-brassicas { width:65%; left:0; bottom:24px; }
  .product-bag-stage { padding:1rem .6rem; }
  .courgette-programme { min-height:0; padding-block:4rem 0; }
  .courgette-programme .programme-grid { display:flex; flex-direction:column-reverse; gap:1rem; }
  .courgette-programme .programme-copy { text-align:center; padding:0; }
  .courgette-programme .programme-plant { height:360px; width:100%; }
  .programme-courgettes { width:98vw; left:-3vw; bottom:-20px; }
  .research-garden-header { min-height:770px; }
  .research-garden-header .page-hero { padding-bottom:0; }
  .research-garden-header .page-hero h1 { font-size:clamp(3rem,12vw,4.3rem); max-width:15ch; }
  .research-garden-header .page-hero .lead { margin-top:1.6rem; max-width:31ch; }
  .edge-branch.research-blossoms { top:auto; bottom:275px; --branch-size:89vw; }
  .research-principles .wrap>.text-link { margin-top:2rem; }
  .contact-garden { height:310px; margin-top:2.5rem; margin-bottom:0; }
  .edge-branch.contact-oranges { --branch-size:90vw; }
}
@media (max-width:370px) {
  .garden-range .range-bags { height:400px; }
  .garden-range .range-bag { height:345px; }
  .vineyard-science { min-height:940px; }

  .orchard-invitation { min-height:710px; }
  .fig-garden { min-height:830px; }
  .peach-partnership { min-height:960px; }
  .process-crop-study { height:270px; }
  .harvest-hero .range-hero-stage { height:460px; }
  .harvest-hero .range-hero-bag { height:370px; }
  .courgette-programme .programme-plant { height:310px; }
  .research-garden-header { min-height:770px; }
  .contact-garden { height:270px; }
}
@media (prefers-reduced-motion:reduce) {
  .edge-branch .garden-botanical { animation:none!important; }
}
@media print {
  .orchard-invitation,.berry-study,.process-crop-study,.contact-garden { display:none!important; }
  .vineyard-science,.fig-garden,.peach-partnership,.research-garden-header,.courgette-programme { min-height:0; padding-block:1rem; }
  .crop-insights-heading,.process-layout { display:block; }
  .harvest-process .process-panel { min-height:0; }
}

/* Prepared for the existing INFERT garden theme; integration pending source recovery. */
.garden-hero-copy { max-width:1100px; padding-inline:clamp(1.25rem,4vw,4rem); }
.garden-hero-copy h1 { line-height:1.12; letter-spacing:-.045em; overflow:visible; }
.hero-title-line { display:block; }
.garden-hero-copy .pattern-type {
 display:block; width:fit-content; max-width:100%; margin-inline:auto;
 line-height:1.22; padding:.02em .09em .15em; margin-top:-.035em; margin-bottom:-.14em;
 letter-spacing:-.045em; overflow:visible; overflow-wrap:anywhere; background-position:0 center;
}
.garden-hero .edge-branch.hero-canopy { top:clamp(28px,5vh,64px); --branch-size:33vw; }
.garden-hero .edge-branch.hero-plums { left:-14px; right:auto; top:68%; bottom:auto; --branch-size:29vw; --stem-x:0%; --stem-y:26.5%; --branch-angle:-5deg; }
.garden-hero .edge-branch .garden-botanical { animation:hero-branch-arrive 1.8s cubic-bezier(.2,.7,.25,1) both, anchored-sway 22s ease-in-out 1.8s infinite alternate; }
.hero-title-line { animation:hero-type-arrive 1s cubic-bezier(.2,.7,.25,1) .12s both; }
.garden-hero-copy .pattern-type { animation:hero-type-arrive 1.2s cubic-bezier(.2,.7,.25,1) .24s both, hero-pattern-drift 24s ease-in-out 1.5s infinite alternate; }
.garden-hero-copy>p,.garden-hero-copy>.btn { animation:hero-type-arrive 1s ease .4s both; }
@keyframes hero-type-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes hero-pattern-drift { from { background-position:0 center; } to { background-position:70px center; } }
@keyframes hero-branch-arrive {
 from { opacity:0; transform:translate(calc(-1 * var(--stem-x)),calc(-1 * var(--stem-y))) rotate(calc(var(--branch-angle) - 7deg)) scaleX(var(--branch-flip)); }
 to { opacity:1; transform:translate(calc(-1 * var(--stem-x)),calc(-1 * var(--stem-y))) rotate(var(--branch-angle)) scaleX(var(--branch-flip)); }
}
.page-hero h1,.range-hero h1,.product-detail h1,.section-heading h2,.family-description h3 { overflow:visible; overflow-wrap:break-word; padding-bottom:.08em; }
.page-hero-row>*,.product-detail-copy,.family-description,.range-hero-copy { min-width:0; }
.material-sample { position:absolute; aspect-ratio:1.75; z-index:5; pointer-events:none; user-select:none; overflow:hidden; filter:drop-shadow(0 3px 3px rgb(26 42 27 / 9%)); }
.material-image { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.material-sample[data-material-kind="powder"] .material-image { position:absolute; top:-43%; left:0; width:100%; height:auto; max-width:none; }
.family-material { width:42%; right:1%; bottom:7px; }
.card-material { width:56%; right:4%; bottom:7px; }
.hero-material { width:43%; right:0; bottom:12px; }
.detail-material { width:52%; right:3%; bottom:0; }
.product-bag-stage { padding-bottom:3.2rem; }
.detail-product-stage { position:relative; width:100%; height:clamp(440px,44vw,650px); isolation:isolate; }
.detail-product-stage .detail-bag { position:absolute; top:0; left:0; height:calc(100% - 55px); width:100%; object-fit:contain; }
.product-packshot figcaption { text-align:center; max-width:35ch; line-height:1.5; }
.garden-range .family-description .concept-note { max-width:32ch; line-height:1.5; }
.harvest-hero .range-brassicas { width:54%; }
@media(max-width:900px) {
 .garden-hero-copy h1 { font-size:clamp(3.5rem,8.5vw,6.8rem); }
 .garden-hero-copy .pattern-type { font-size:clamp(5.2rem,13.5vw,10rem); }
 .garden-hero .edge-branch.hero-canopy { --branch-size:35vw; }
 .garden-hero .edge-branch.hero-plums { --branch-size:34vw; top:70%; }
}
@media(max-width:650px) {
 .garden-hero-copy { padding-bottom:3rem; }
 .garden-hero-copy h1 { font-size:clamp(3.1rem,12vw,4.8rem); }
 .garden-hero-copy .pattern-type { font-size:clamp(4.25rem,21vw,8.5rem); line-height:1.24; background-size:270px auto; }
 .garden-hero .edge-branch.hero-canopy { top:35px; --branch-size:50vw; }
 .garden-hero .edge-branch.hero-plums { top:75%; --branch-size:52vw; }
 .garden-hero .edge-branch.hero-citrus { bottom:-25px; --branch-size:41vw; }
 .family-material { width:40%; right:3%; bottom:9px; }
 .card-material { width:62%; right:0; bottom:5px; }
 .hero-material { width:42%; right:0; bottom:14px; }
 .detail-product-stage { height:460px; }
 .detail-material { width:58%; right:0; }
 .product-bag-stage { padding-bottom:2.3rem; }
}
@media(max-width:370px) { .garden-hero-copy>p { max-width:24ch; } .detail-product-stage { height:400px; } }
@media(prefers-reduced-motion:reduce) {
 .garden-hero .edge-branch .garden-botanical,.hero-title-line,.garden-hero-copy .pattern-type,.garden-hero-copy>p,.garden-hero-copy>.btn { animation:none!important; }
}
@media print {
 .hero-title-line,.garden-hero-copy .pattern-type,.garden-hero-copy>p,.garden-hero-copy>.btn { animation:none!important; opacity:1; transform:none; }
 .material-sample { display:none; }
}

.motion-paused .hero-title-line,.motion-paused .garden-hero-copy .pattern-type,.motion-paused .garden-hero-copy>p,.motion-paused .garden-hero-copy>.btn { animation-play-state:paused!important; }
