/* A walk from canopy to roots to crop. The original garden remains the base. */
:root { --header-height:88px; }
html { scroll-padding-top:calc(var(--header-height) + 24px); }
.garden-view { top:var(--header-height); }
.garden-layer { transform:translate3d(var(--garden-x,0px),var(--garden-y,0px),0); }
.garden-hero-copy { transform:translateY(calc(var(--hero-opening,0) * -24px)); }
.pattern-type { background-position:calc(var(--hero-opening,0) * 80px) center; }
.garden-range-section { --range-wash:#eef4e8; background:var(--range-wash,var(--wash)); transition:background-color .7s ease; }
.garden-range .family-tabs { scroll-padding-inline:1rem; }
.garden-range .family-tabs button { min-height:54px; }
.garden-range .family-panel { animation:garden-panel-enter .65s cubic-bezier(.2,.65,.3,1) both; }
.range-bags { isolation:isolate; }
.range-bag { position:relative; z-index:2; transform:perspective(1000px) rotateX(var(--pack-x,0deg)) rotateY(var(--pack-y,0deg)) rotate(-5deg); transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.range-bags:hover .range-bag { transform:perspective(1000px) rotateX(var(--pack-x,0deg)) rotateY(var(--pack-y,0deg)) rotate(-3deg) translateY(-8px); }
.family-botany { z-index:3; }
.family-botany.citrus { width:37%; left:-12%; bottom:2rem; --stem-origin:50% 100%; }
.family-botany.olive { width:76%; left:-44%; top:14%; --stem-origin:0% 0%; }
.family-botany.grasses { width:65%; left:-30%; bottom:0; --sway-time:17s; }
.concept-note { z-index:4; }

/* The plant bridges the headline above ground and the story at its roots. */
.root-story { position:relative; padding-block:7rem 8rem; }
.root-story-grid { display:grid; grid-template-columns:1fr .9fr .83fr; gap:2.5rem; align-items:center; }
.root-story-title { position:relative; z-index:3; align-self:start; padding-top:6rem; }
.root-story-title h2 { font-size:clamp(3rem,4.55vw,5rem); line-height:1.09; }
.root-study { min-width:0; position:relative; height:760px; }
.root-study-plant { width:135%; left:-18%; top:0; --stem-origin:50% 59%; --sway-time:23s; }
.root-story-copy { align-self:end; position:relative; z-index:3; padding-bottom:4rem; }
.root-story-copy>p:first-child { font-family:'Outfit',sans-serif; font-size:clamp(1.7rem,2.3vw,2.5rem); letter-spacing:-.03em; line-height:1.15; max-width:13ch; margin-bottom:1.3rem; }
.root-story-copy>p:nth-child(2) { font-size:1.2rem; color:var(--muted); line-height:1.7; max-width:30ch; }
.root-story-copy .text-link { margin-top:1.5rem; }
.root-study-plant .garden-botanical { animation-name:seedling-sway; }

/* A large, quiet product introduction and a gallery of formulations. */
.range-hero { position:relative; padding-block:2.5rem 4rem; }
.range-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:3%; align-items:center; }
.range-hero-copy { position:relative; z-index:4; padding-block:3rem; }
.range-hero h1 { font-size:clamp(3.5rem,7.3vw,7.5rem); line-height:1.04; letter-spacing:-.045em; }
.range-hero-copy p { font-size:1.3rem; color:var(--muted); line-height:1.65; margin-top:2rem; }
.range-hero-copy .text-link { margin-top:1.5rem; }
.range-hero-stage { min-width:0; height:660px; position:relative; display:grid; place-items:center; isolation:isolate; }
.range-hero-bag { position:relative; height:620px; width:100%; object-fit:contain; mix-blend-mode:multiply; z-index:2; transform:perspective(1000px) rotateX(var(--pack-x,0deg)) rotateY(var(--pack-y,0deg)) rotate(-6deg); transition:transform .7s ease; }
.range-hero-canopy { width:88%; right:-43%; top:3%; z-index:3; --stem-origin:100% 0%; }
.range-hero-grasses { width:105%; left:-30%; bottom:-6%; z-index:3; --sway-time:19s; }
.catalogue { padding-block:3rem 6rem; }
.catalogue-toolbar h2 { font-size:2rem; }
.catalogue-note { max-width:58ch; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3.5rem 2rem; }
.product-card { min-width:0; }
.product-bag-stage { position:relative; background:var(--family-wash,var(--wash)); isolation:isolate; height:clamp(320px,32vw,470px); border-radius:2px; }
.pack-grade-art { position:absolute; top:1.2rem; left:1rem; right:1rem; font-family:'Outfit',sans-serif; font-size:clamp(2.2rem,3.9vw,4.3rem); line-height:1.05; font-weight:500; color:#315c3c; opacity:.11; text-align:center; overflow-wrap:anywhere; letter-spacing:-.045em; }
.product-bag { position:relative; z-index:2; padding-top:.8rem; }
.product-card:nth-child(3n+2) .product-bag { transform:rotate(3deg); }
.product-card:nth-child(3n) .product-bag { transform:rotate(-3deg); }
.product-card:hover .product-bag,.product-card:focus-within .product-bag { transform:translateY(-10px) rotate(-2deg) scale(1.025); }
.product-card-body { position:relative; padding-right:2rem; }
.product-card h3 { line-height:1.17; overflow-wrap:break-word; }
.product-card-arrow { position:absolute; right:.2rem; top:1.3rem; font-size:1.35rem; transition:transform .3s ease; }
.product-card:hover .product-card-arrow { transform:translate(2px,-2px); }
.product-packshot { position:relative; isolation:isolate; background:var(--family-wash,var(--wash)); }
.detail-bag { z-index:2; position:relative; transform:perspective(1000px) rotateX(var(--pack-x,0deg)) rotateY(var(--pack-y,0deg)) rotate(-3deg); transition:transform .7s ease; }
.product-packshot figcaption { position:relative; z-index:4; }
.detail-botany.citrus { width:28%; left:auto; right:-8%; bottom:4rem; }
.detail-botany.olive { width:66%; top:-1rem; left:-39%; }
.detail-botany.grasses { width:63%; left:-35%; bottom:3.4rem; }
.product-detail { padding-block:3rem 5rem; }
.product-detail-copy h1 { overflow-wrap:break-word; }
.product-section-nav { top:calc(var(--header-height) + 2rem); }
.product-section-nav a[aria-current="location"] { color:var(--green); border-bottom-color:var(--green); }
.programme-garden { background:var(--wash); position:relative; }
.programme-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:8%; align-items:center; }
.programme-plant { position:relative; height:680px; }
.programme-seedling { width:88%; max-width:420px; left:6%; top:0; --stem-origin:50% 59%; --sway-time:23s; }
.programme-copy { position:relative; z-index:3; }
.programme-copy h2 { font-size:clamp(3rem,5vw,5rem); }
.programme-copy p { font-size:1.25rem; color:var(--muted); max-width:35ch; line-height:1.7; margin:2rem 0; }

/* Four production chapters, each with one visual and one thought. */
.garden-process .process-tabs { gap:1.5rem; }
.garden-process .process-tabs button { font-size:1.4rem; padding-right:0; min-width:0; }
.garden-process .process-panel { display:grid; grid-template-columns:1fr 1.1fr; gap:7%; align-items:center; padding:2rem 0 0; min-height:630px; animation:garden-panel-enter .65s ease both; }
.process-visual { position:relative; height:590px; display:grid; place-items:center; overflow:clip; isolation:isolate; }
.process-seedling { width:70%; max-width:340px; top:0; left:15%; --stem-origin:50% 59%; --sway-time:23s; }
.process-bag { width:100%; height:540px; object-fit:contain; mix-blend-mode:multiply; transform:rotate(-5deg); }
.process-citrus { width:72%; max-width:370px; top:0; left:14%; }
.process-copy h3 { font-size:clamp(2.4rem,3.8vw,4rem); max-width:17ch; }
.process-copy p { margin-top:1.8rem; max-width:34ch; font-size:1.25rem; line-height:1.7; color:var(--muted); }
.analysis-type { display:flex; align-items:baseline; gap:.07em; font-family:'Outfit',sans-serif; font-size:clamp(6rem,12vw,13rem); font-weight:500; letter-spacing:-.065em; line-height:1; color:var(--forest); }
.analysis-type span:nth-child(2) { font-family:'Newsreader',serif; font-style:italic; color:var(--green); transform:translateY(.22em); }
.analysis-type span:nth-child(3) { color:var(--lime); }

/* A journal rhythm for real, sourced research photography. */
.research-garden-header { position:relative; }
.research-garden-header .page-hero { position:relative; z-index:3; padding-bottom:6rem; }
.research-garden-header .page-hero-row { align-items:start; }
.research-garden-header .page-hero .lead { padding-top:1rem; }
.research-canopy { width:46%; right:-26%; bottom:-3rem; --stem-origin:100% 100%; }
.research-library { padding-bottom:7rem; }
.research-library #research-count { margin-bottom:3.5rem; }
.research-journal { display:flex; flex-direction:column; gap:6rem; }
.research-journal .article-card { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:center; }
.research-journal .article-card:nth-child(even) { grid-template-columns:1fr 1.1fr; }
.research-journal .article-card:nth-child(even) .article-card-image { order:2; }
.research-journal .article-card-image { aspect-ratio:1.16; border-radius:3px; }
.research-journal .article-card h3 { font-size:clamp(2rem,3.6vw,3.7rem); line-height:1.13; max-width:18ch; letter-spacing:-.035em; }
.research-journal .article-card-content { padding:0; }
.research-journal .article-card .text-link { margin-top:2rem; font-size:1.1rem; }
.research-principles { background:var(--wash); }
.research-principles .values-grid { gap:5%; margin-top:4rem; }
.research-principles .value { border-top:1px solid var(--line); padding-top:1.6rem; }
.research-principles .value h3 { font-size:1.8rem; }
.research-principles .value p { margin-top:1rem; max-width:31ch; line-height:1.7; }
.garden-insights .article-grid { grid-template-columns:1.12fr .88fr; gap:7%; align-items:start; }
.garden-insights .article-card:nth-child(2) { padding-top:7rem; }
.garden-insights .article-card:first-child .article-card-image { aspect-ratio:1.2; }
.garden-insights .article-card:nth-child(2) .article-card-image { aspect-ratio:1.06; }
.review-header { padding-top:3rem; }
.review-header>.text-link { margin-bottom:3rem; font-size:1rem; }
.review-header h1 { max-width:22ch; font-size:clamp(3rem,5.3vw,5.6rem); line-height:1.08; }
.review-abstract { max-width:57ch; font-size:1.3rem; line-height:1.65; }
.review-meta { margin-top:2rem; font-size:1rem; }
.review-image>img { border-radius:3px; }
.review-toc { top:calc(var(--header-height) + 2rem); }
.review-toc nav a[aria-current="location"] { color:var(--green); border-left-color:var(--green); }
.reading-progress { top:var(--header-height); }
.contact-section { align-items:start; }
.contact-info { position:sticky; top:calc(var(--header-height) + 2rem); }
.enquiry-panel { background:#f3f7ef; }
.field input,.field textarea,.field select { border-color:#d5dfd0; padding:1rem; }
.contact-closing { position:relative; height:300px; overflow:clip; }
.contact-closing-grasses { width:75%; bottom:-150px; right:-10%; }
.not-found-garden { position:relative; min-height:780px; }
.not-found { position:relative; z-index:3; padding-bottom:15rem; }
.lost-grasses { width:70%; right:-10%; bottom:-100px; }
.reveal.is-waiting { transform:translateY(28px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.3,1); }
.reveal.is-visible { transform:none; }
.motion-paused .reveal.is-waiting,.garden-reduced .reveal.is-waiting { opacity:1; transform:none; }
.motion-paused .family-panel,.motion-paused .process-panel { animation:none!important; }

@keyframes garden-panel-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes seedling-sway { from { rotate:-.3deg; } to { rotate:.3deg; } }

@media (min-width:1600px) {
  .root-study-plant { width:120%; left:-10%; }
}
@media (max-width:1100px) {
  .root-story-grid { grid-template-columns:1fr 1fr; gap:2rem 3rem; }
  .root-story-title { grid-column:1; grid-row:1; padding-top:3rem; align-self:end; }
  .root-story-title h2 { font-size:clamp(3rem,5.5vw,4.8rem); }
  .root-study { grid-column:2; grid-row:1 / 3; height:730px; }
  .root-study-plant { width:100%; left:0; }
  .root-story-copy { grid-column:1; grid-row:2; align-self:start; padding-bottom:0; }
  .root-story-copy>p:first-child { max-width:20ch; }
  .range-hero-stage { height:580px; }
  .range-hero-bag { height:550px; }
  .range-hero h1 { font-size:7.4vw; }
  .range-hero-grasses { bottom:-1%; }
  .programme-plant { height:600px; }
  .programme-seedling { width:100%; left:0; }
  .garden-process .process-panel { min-height:580px; }
  .process-visual { height:540px; }
  .process-seedling { width:86%; left:7%; }
  .process-bag { height:500px; }
  .process-citrus { width:92%; left:4%; }
  .contact-info { position:static; }
}
@media (max-width:900px) {
  :root { --header-height:76px; }
  .nav-inner { height:76px; }
  .main-nav { display:none; position:absolute; left:0; right:0; top:76px; background:#fff; padding:2rem var(--space) 3rem; flex-direction:column; align-items:stretch; border-bottom:1px solid var(--line); gap:1rem; max-height:calc(100svh - 76px); overflow:auto; }
  .main-nav.is-open { display:flex; }
  .main-nav>a:not(.btn) { font-family:'Outfit',sans-serif; font-size:1.8rem; padding:.6rem 0; width:fit-content; }
  .main-nav .btn { width:fit-content; margin-top:1rem; font-size:1rem; }
  .menu-toggle { display:flex; gap:.8rem; align-items:center; padding:.75rem 0; font-size:1rem; }
  .menu-icon { display:block; width:23px; height:13px; border-block:1px solid currentColor; }
  .menu-toggle[aria-expanded="true"] .menu-icon { height:0; border-bottom:0; }
  .garden-view { top:76px; }
  .root-study { height:650px; }
  .root-study-plant { width:115%; left:-7.5%; }
  .root-story-grid { gap:2rem; }
  .range-hero { padding-top:1rem; }
  .range-hero-stage { height:510px; }
  .range-hero-bag { height:490px; }
  .range-hero-copy p { font-size:1.2rem; }
  .range-hero-grasses { width:110%; left:-35%; bottom:-1%; }
  .catalogue { padding-top:1.5rem; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 1.5rem; }
  .product-bag-stage { height:370px; }
  .pack-grade-art { font-size:3rem; }
  .programme-grid { gap:5%; }
  .programme-plant { height:560px; }
  .programme-seedling { width:110%; left:-5%; }
  .programme-copy h2 { font-size:3rem; }
  .programme-copy p { font-size:1.15rem; }
  .garden-process .process-panel { gap:5%; min-height:550px; }
  .process-visual { height:500px; }
  .process-bag { height:460px; }
  .process-copy h3 { font-size:2.5rem; }
  .process-copy p { font-size:1.15rem; }
  .garden-process .process-tabs button { font-size:1.2rem; }
  .research-garden-header .page-hero { padding-bottom:4rem; }
  .research-canopy { width:64%; right:-37%; bottom:-1rem; }
  .research-journal { gap:4rem; }
  .research-journal .article-card { gap:6%; }
  .research-journal .article-card h3 { font-size:2.35rem; }
  .research-principles .values-grid { gap:2rem; }
  .research-principles .value h3 { font-size:1.5rem; }
  .garden-insights .article-card:nth-child(2) { padding-top:4rem; }
  .contact-closing-grasses { width:110%; bottom:-110px; right:-20%; }
}
@media (max-width:650px) {
  .root-story { padding-block:4.5rem 5rem; }
  .root-story-grid { display:flex; flex-direction:column; gap:1rem; }
  .root-story-title { align-self:center; text-align:center; padding:0; }
  .root-story-title h2 { font-size:clamp(2.8rem,11.8vw,4rem); }
  .root-study { height:570px; width:100%; max-width:380px; margin-block:1rem; }
  .root-study-plant { width:100%; left:0; top:0; }
  .root-story-copy { text-align:center; align-self:center; }
  .root-story-copy>p:first-child { font-size:1.8rem; margin-inline:auto; }
  .root-story-copy>p:nth-child(2) { font-size:1.15rem; max-width:33ch; margin-inline:auto; }
  .root-story-copy .text-link { margin-top:1rem; }
  .range-bags { min-height:440px; }
  .range-bag { height:410px; }
  .family-botany.citrus { width:31%; left:-9%; bottom:4rem; }
  .family-botany.olive { width:76%; left:-42%; top:6%; }
  .family-botany.grasses { width:73%; left:-35%; bottom:2rem; }
  .range-hero { padding-block:2rem 2.5rem; }
  .range-hero-grid { grid-template-columns:1fr; gap:0; }
  .range-hero-copy { text-align:center; padding:1rem 0 0; }
  .range-hero h1 { font-size:clamp(3.1rem,12.5vw,4.6rem); }
  .range-hero-copy p { margin:1.5rem auto 0; font-size:1.15rem; }
  .range-hero-copy .text-link { margin-top:1rem; }
  .range-hero-stage { height:500px; max-width:430px; width:100%; margin-inline:auto; }
  .range-hero-bag { height:460px; max-width:340px; }
  .range-hero-canopy { width:78%; right:-41%; top:8%; }
  .range-hero-grasses { width:110%; left:-34%; bottom:-1%; }
  .catalogue { padding-block:1rem 4.5rem; }
  .catalogue-toolbar h2 { font-size:1.6rem; }
  .product-grid { gap:2.5rem 1rem; }
  .product-bag-stage { height:260px; padding:1rem .4rem; }
  .pack-grade-art { font-size:clamp(1.5rem,6vw,2.2rem); top:1rem; left:.5rem; right:.5rem; }
  .product-card h3 { font-size:1.3rem; }
  .product-card-body { padding-right:0; }
  .product-card-arrow { display:none; }
  .product-card-body .card-grade { font-size:1rem; }
  .product-detail { padding-block:2rem 3.5rem; }
  .detail-botany.citrus { width:30%; right:-11%; bottom:4rem; }
  .detail-botany.olive { width:70%; left:-42%; }
  .programme-garden { padding-block:4rem; }
  .programme-grid { display:flex; flex-direction:column-reverse; gap:2rem; }
  .programme-copy { text-align:center; }
  .programme-copy h2 { font-size:clamp(2.7rem,11vw,3.9rem); }
  .programme-copy p { margin:1.5rem auto; max-width:33ch; }
  .programme-plant { height:540px; width:100%; max-width:355px; }
  .programme-seedling { width:100%; left:0; }
  .garden-process .process-tabs { gap:.8rem; overflow-x:auto; scroll-padding-inline:1rem; grid-template-columns:repeat(4,max-content); justify-content:space-between; }
  .garden-process .process-tabs button { font-size:1.05rem; white-space:nowrap; padding-block:1rem; }
  .garden-process .process-panel { grid-template-columns:1fr; gap:1.4rem; padding-top:1.5rem; min-height:790px; align-content:start; }
  .process-visual { height:480px; max-width:350px; width:100%; margin:auto; }
  .process-seedling { width:90%; left:5%; }
  .process-citrus { width:86%; left:7%; }
  .process-bag { height:465px; }
  .process-copy { text-align:center; }
  .process-copy h3 { font-size:2.4rem; max-width:17ch; margin-inline:auto; }
  .process-copy p { margin:1.5rem auto 0; font-size:1.15rem; max-width:32ch; }
  .analysis-type { font-size:7.5rem; }
  .research-garden-header .page-hero { padding-bottom:3rem; }
  .research-garden-header .page-hero .lead { padding-top:0; }
  .research-canopy { width:75%; right:-62%; bottom:0; }
  .research-library { padding-bottom:4.5rem; }
  .research-library #research-count { margin-bottom:2rem; }
  .research-journal { gap:3.5rem; }
  .research-journal .article-card,.research-journal .article-card:nth-child(even) { grid-template-columns:1fr; gap:1.4rem; }
  .research-journal .article-card:nth-child(even) .article-card-image { order:0; }
  .research-journal .article-card-image { aspect-ratio:1.3; }
  .research-journal .article-card h3 { font-size:2rem; max-width:25ch; }
  .research-journal .article-card .text-link { margin-top:1rem; font-size:1rem; }
  .research-principles .values-grid { margin-top:2.5rem; gap:2.5rem; }
  .research-principles .value h3 { font-size:1.8rem; margin-top:0; }
  .research-principles .value p { max-width:38ch; }
  .garden-insights .article-grid { grid-template-columns:1fr; gap:3rem; }
  .garden-insights .article-card:nth-child(2) { padding-top:0; }
  .garden-insights .article-card:first-child .article-card-image,.garden-insights .article-card:nth-child(2) .article-card-image { aspect-ratio:1.35; }
  .review-header { padding-top:2rem; }
  .review-header>.text-link { margin-bottom:2rem; }
  .review-header h1 { font-size:clamp(2.4rem,9vw,3.3rem); }
  .review-abstract { font-size:1.15rem; }
  .review-meta { font-size:.95rem; }
  .review-toc { top:auto; }
  .contact-closing { height:180px; }
  .contact-closing-grasses { width:155%; right:-40%; bottom:-80px; }
  .not-found-garden { min-height:700px; }
  .not-found { padding-bottom:13rem; }
  .lost-grasses { width:130%; right:-35%; bottom:-35px; }
}
@media (max-width:370px) {
  .root-study { height:495px; }
  .range-hero-stage { height:450px; }
  .range-hero-bag { height:420px; }
  .product-bag-stage { height:225px; }
  .product-card-body { padding-right:0; }
  .product-card-arrow { display:none; }
  .programme-plant { height:480px; }
  .garden-process .process-tabs { gap:1.2rem; justify-content:start; }
  .process-visual { height:440px; }
  .process-bag { height:430px; }
}
@media (prefers-reduced-motion:reduce) {
  .garden-hero-copy { transform:none; }
  [data-pack-tilt] img { transform:none!important; }
  .garden-process .process-panel,.garden-range .family-panel { animation:none; }
  .root-study-plant .garden-botanical { animation:none; }
}
@media (forced-colors:active) {
  .pack-grade-art { display:none; }
  .analysis-type span { color:CanvasText!important; }
}
@media print {
  .root-story,.range-hero,.programme-garden { padding-block:1rem; }
  .root-story-grid,.programme-grid,.range-hero-grid { display:block; }
  .root-study,.programme-plant,.range-hero-stage,.process-visual,.contact-closing,.pack-grade-art,.product-card-arrow { display:none!important; }
  .root-story-title,.root-story-copy { padding:0; }
  .research-journal .article-card { break-inside:avoid; }
  .garden-process .process-panel { min-height:0; display:block; }
  .product-bag-stage { height:180px; }
}
