/* Independent source-image windows, rather than one image with a fixed fruit orbit. */
.motion-scroll .theatre { height:420vh; }
.theatre-stage { isolation:isolate; }
.flavour-panels,.flavour-panel { position:static; }
.flavour-panel { min-height:530px; }
.flavour-title { top:30%;left:var(--gutter);z-index:3;pointer-events:none; }
.flavour-title h3 { font-size:clamp(85px,10.5vw,160px); }
.candy-layer { position:absolute;left:52%;top:17%;height:72%;width:27%;z-index:2;pointer-events:none;will-change:transform; }
.candy-cutout { display:block;height:100%;width:100%;overflow:visible; }
.candy-cutout image,.fruit-particle image { transform:none;animation:none; }
.fruit-field { position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none; }
.fruit-particle { position:absolute;left:var(--x);top:var(--y);width:var(--size);will-change:transform; }
.fruit-particle svg { width:100%;height:auto;display:block;overflow:hidden; }
.fruit-particle:nth-child(3n) { filter:blur(1px);opacity:.75; }
.flavour-detail { z-index:4;bottom:12%;right:var(--gutter);width:260px; }
.flavour-detail .buy-button { margin-top:13px; }
.flavour-detail>p:not(.eyebrow) { max-width:250px; }
.product-price { font-size:12px!important;line-height:1.4!important;margin-top:20px!important; }
.stage-top,.flavour-tabs,.stage-bottom { z-index:6;position:relative; }
.stage-bottom { position:absolute; }
.motion-toggle { background:transparent;border:0;border-bottom:1px solid currentColor;font-size:11px;padding:8px 0; }
.flavour-panel.active .candy-cutout { animation:candy-arrive .65s both; }
.flavour-panel.active .fruit-field { animation:field-arrive .45s both; }
@keyframes candy-arrive { from { opacity:0;transform:translateX(35px) rotate(4deg); } to { opacity:1;transform:translateX(0) rotate(0); } }
@keyframes field-arrive { from { opacity:0; } to { opacity:1; } }
[data-parallax] { translate:0 var(--parallax-y,0px);will-change:translate; }
/* In-place orchard previews: crossfade photographs, with a gentle settling zoom. */
.orchard-visual{display:grid;overflow:hidden;border-radius:48% 48% 4px 4px;isolation:isolate}
.orchard-scene{grid-area:1/1;opacity:0;transform:scale(1.055);transition:opacity .5s ease,transform .85s cubic-bezier(.2,.7,.25,1);pointer-events:none}
.orchard-scene.is-active{opacity:1;transform:scale(1);z-index:1}
.orchard-row{position:relative;cursor:pointer;transition:color .25s ease}
.orchard-row::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.25,1)}
.orchard-row.selected::after,.orchard-row:focus-visible::after{transform:scaleX(1)}
.orchard-row>span:nth-child(2){transition:transform .35s cubic-bezier(.2,.7,.25,1)}
.orchard-row.selected>span:nth-child(2){transform:translateX(7px)}
.orchard-row.selected strong{text-decoration:none}
.orchard-fruit-icon{width:36px;height:36px;margin-left:auto;opacity:.45;transform:rotate(-10deg) scale(.9);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.25,1)}
.orchard-row.selected .orchard-fruit-icon{opacity:1;transform:rotate(0) scale(1.08)}
@media(prefers-reduced-motion:reduce){.orchard-scene,.orchard-row::after,.orchard-row>span,.orchard-fruit-icon{transition:none!important;transform:none!important}.orchard-row::after{opacity:0}.orchard-row.selected::after{opacity:1}}
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation:none!important;transition:none!important; }
@media(max-width:1023px) {
  .theatre-stage { min-height:850px; }
  .flavour-title { top:150px; }
  .flavour-title h3 { font-size:clamp(70px,11vw,110px); }
  .candy-layer { left:48%;top:185px;height:470px;width:40%; }
  .flavour-detail { bottom:80px;left:var(--gutter);right:auto;width:85%; }
  .flavour-detail .buy-button { width:auto;min-width:210px; }
  .fruit-particle { width:calc(var(--size) * .65); }
}
@media(max-width:760px) {
  .theatre-stage { min-height:920px; }
  .flavour-title { top:155px; }
  .flavour-title>span { font-size:27px; }
  .flavour-title h3 { font-size:clamp(60px,16vw,85px); }
  .candy-layer { left:39%;top:300px;width:47%;height:345px; }
  .flavour-detail { bottom:70px; }
  .flavour-detail>p:not(.eyebrow) { font-size:13px;max-width:none; }
  .flavour-detail .product-price { margin-top:10px!important; }
  .fruit-particle { width:calc(var(--size) * .5); }
  .fruit-particle:nth-child(n+7) { display:none; }
  .stage-bottom { gap:15px; }
  .scroll-hint { display:none; }
  .motion-toggle { margin-right:auto; }
}
@media(prefers-reduced-motion:reduce) {
  [data-parallax] { translate:none!important; }
  .fruit-particle,.candy-layer { transform:none!important; }
  .motion-toggle { display:none; }
}

.motion-scroll .theatre-stage { top:88px;height:calc(100svh - 88px);min-height:550px; }
/* A soft, unboxed reading area keeps moving fruit clear of purchase copy. */
.flavour-detail{isolation:isolate}
.flavour-detail::before{content:'';position:absolute;inset:-35px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,var(--stage-bg) 35%,transparent 75%)}
.flavour-detail::before{max-width:330px}

/* Phone stage: one readable composition under the real navbar, with native page scrolling. */
@media (max-width:799px), (max-width:1023px) and (max-height:639px) {
  .theatre { --mobile-stage-height:calc(100svh - var(--header-height,76px)); }
  .motion-scroll .theatre { height:calc(var(--mobile-stage-height) * 4); }
  .theatre .theatre-stage {
    top:auto;height:var(--mobile-stage-height);min-height:0;
    padding:12px var(--gutter) 8px;display:flex;flex-direction:column;gap:6px;
  }
  .motion-scroll .theatre .theatre-stage { top:var(--header-height,76px); }
  .theatre .stage-top { flex-shrink:0; }
  .theatre .stage-top .eyebrow { font-size:10px; }
  .theatre .flavour-tabs { flex-shrink:0;margin:0;gap:5px;justify-content:space-between; }
  .theatre .flavour-tabs button { flex-direction:row;gap:3px;font-size:11px;min-height:44px;padding:7px 0; }
  .theatre .flavour-motion { width:20px;height:20px; }
  .theatre .flavour-panels { flex:1;min-height:0;height:auto;display:flex; }
  .theatre .flavour-panel { width:100%;height:auto;min-height:0;display:grid;grid-template-columns:1fr 42%;grid-template-rows:minmax(190px,1fr) auto;gap:10px 0; }
  .theatre .flavour-panel[hidden] { display:none; }
  .theatre .flavour-title { position:relative;inset:auto;grid-area:1/1;align-self:center; }
  .theatre .flavour-title>span { font-size:24px; }
  .theatre .flavour-title h3 { font-size:clamp(40px,10.8vw,66px);line-height:.96; }
  .theatre .candy-layer { position:relative;inset:auto;grid-area:1/2;align-self:center;width:100%;height:100%;max-height:340px;min-height:0; }
  .theatre .flavour-detail { position:relative;inset:auto;grid-area:2/1/3/3;width:100%; }
  .theatre .flavour-detail .eyebrow { font-size:10px; }
  .theatre .flavour-detail>p:not(.eyebrow) { font-size:14px;line-height:1.45;max-width:none;margin-top:5px; }
  .theatre .flavour-detail .product-price { margin-top:6px!important; }
  .theatre .flavour-detail .buy-button { width:100%;min-width:0;margin-top:8px;min-height:44px;padding:10px 16px; }
  .theatre .stage-bottom { position:relative;inset:auto;flex-shrink:0;gap:10px;min-height:44px; }
  .theatre .motion-toggle { min-height:44px; }
  .theatre .scroll-hint { display:none; }
  .theatre .stage-progress { margin-left:auto;width:85px; }
  .theatre .fruit-particle { width:calc(var(--size) * .45); }
  .theatre .fruit-particle:nth-child(n+7) { display:none; }
  /* Short screens and enlarged copy stay in normal flow instead of hiding content. */
  .mobile-stage-flow .theatre .theatre-stage { height:auto;position:relative;top:auto; }
  .mobile-stage-flow .theatre .flavour-panels { flex:auto; }
  .mobile-stage-flow .theatre .flavour-panel { grid-template-rows:210px auto; }
  .orchard-layout { flex-direction:column;align-items:stretch;gap:16px; }
  .orchard-image { width:100%;translate:none!important; }
  .orchard-image img { height:clamp(170px,28svh,250px);width:100%; }
  .orchard-image figcaption { font-size:10px;margin-top:10px; }
  .orchard-index { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px; }
  .orchard-intro { grid-column:1/-1;font-size:13px;margin:0 0 4px; }
  .orchard-row { padding:12px 0;gap:6px;min-height:76px;align-items:center; }
  .orchard-row .row-no { display:none; }
  .orchard-row strong { font-size:clamp(18px,4.7vw,24px); }
  .orchard-row small { font-size:10px;line-height:1.4; }
  .orchard-fruit-icon { width:24px;height:24px; }
  .orchard-row.selected>span:nth-child(2) { transform:none; }
}
