/* An illustrated route driven by the visitor's scroll; no forced scrolling. */
.factory-scene{overflow:hidden;isolation:isolate}.factory-scene .factory-backdrop{display:block;width:100%;height:100%;object-fit:contain}.factory-scene .factory-founder{position:absolute;right:-9%;bottom:-2%;width:75%;height:75%;max-width:none;object-fit:contain;z-index:2}.factory-scene .factory-logo{left:37%;top:21%;width:19%;height:5%;transform:rotate(13deg);z-index:1}
.story-intro{max-width:1200px}.story-intro h1{font-size:clamp(3rem,6vw,6.2rem);max-width:900px}.story-intro .hand{color:var(--green)}.story-journey{display:grid;grid-template-columns:170px minmax(0,1fr);gap:clamp(24px,4vw,60px);padding-bottom:5rem;align-items:start}.story-map-nav{position:sticky;top:118px;display:grid;gap:.6rem;padding-top:1.5rem}.story-map-nav .eyebrow{margin-bottom:.7rem}.story-map-nav a{display:flex;gap:.7rem;align-items:center;font-size:.875rem;text-decoration:none;min-height:36px;color:var(--ink-2)}.story-map-nav a span{font-variant-numeric:tabular-nums;font-size:.75rem}.story-map-nav a[aria-current=step]{color:var(--green);font-weight:800}.story-map-nav a[aria-current=step] span{background:var(--gold);padding:2px 4px}.story-route{position:relative;padding-left:72px;min-width:0}.story-road{position:absolute;left:0;top:0;width:64px;height:100%;overflow:visible;pointer-events:none}.story-road-base,.story-road-progress{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.story-road-base{stroke:var(--soft-line);stroke-width:2;stroke-dasharray:4 8}.story-road-progress{stroke:var(--green);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--route-progress,0))}.story-stop{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;min-height:420px;padding:48px 0 70px;scroll-margin-top:120px}.story-stop-copy{min-width:0;max-width:34rem}.story-stop-copy h2{font-size:clamp(2.2rem,3.1vw,3.3rem)}.story-stop-copy p{font-size:1rem}.story-stop-copy p.hand{font-size:1.5rem}.story-stop-art{margin:0;min-width:0;align-self:center}.story-stop-art img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;aspect-ratio:1}.story-stop:nth-of-type(even) .story-stop-copy{order:2}.story-stop:nth-of-type(even) .story-stop-art{order:1}.story-marker{position:absolute;left:-54px;top:48px;width:28px;height:28px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--ink);border-radius:50%;font-size:.66rem;font-weight:800;z-index:1}.story-stop.passed .story-marker{background:var(--gold)}.story-stop.current .story-marker{outline:4px solid var(--paper-2)}
/* Replace former time-based entrances with small reversible scroll movements. */
html.scroll-flow .intro-art img,html.scroll-flow .workshop-picture,html.scroll-flow .craft-stop img,html.scroll-flow .jar-art svg,html.scroll-flow .aroma-lines,html.scroll-flow .scene-art img,html.scroll-flow .pack-visual img,html.scroll-flow .page-drawing img,html.scroll-flow .family-frame img,html.scroll-flow .illustrated-family img,html.scroll-flow .illustrated-grower img,html.scroll-flow .motion-picture img,html.scroll-flow .motion-doodle{animation:none!important}
.flow-scene img,.flow-scene>svg{transition:none!important;transform:translateY(var(--flow-y,0px)) rotate(var(--flow-tilt,0deg));transform-origin:50% 75%}
.flow-vector{transform:translateY(var(--flow-y,0px))}
html.scroll-flow .factory-scene .factory-backdrop{transform:translateY(calc(var(--flow-y,0px) * .4))}
html.scroll-flow .factory-scene .factory-founder{transform:translateY(var(--flow-y,0px))}
html.scroll-flow .factory-scene .factory-logo{transform:translateY(calc(var(--flow-y,0px) * .4)) rotate(13deg)}
html.scroll-flow .craft-route .craft-connection path{animation:none;stroke-dashoffset:calc(70 * (1 - var(--craft-progress,0)))}
@media(max-width:1100px){.story-journey{grid-template-columns:140px minmax(0,1fr);gap:24px}.story-stop{gap:24px}.story-stop-copy h2{font-size:2.4rem}}
@media(max-width:900px){.story-journey{grid-template-columns:1fr;gap:0}.story-map-nav{display:flex;gap:1.2rem;overflow-x:auto;white-space:nowrap;top:78px;z-index:5;background:var(--paper);padding:12px 0;border-block:1px solid var(--soft-line);margin-bottom:1rem}.story-map-nav .eyebrow{display:none}.story-map-nav a{flex-shrink:0;min-height:36px}.story-stop{scroll-margin-top:160px}.story-stop-art img{max-height:360px}}
@media(max-width:620px){.story-map-nav{top:72px;gap:1rem;margin-bottom:.5rem}.story-map-nav a{font-size:.8125rem}.story-route{padding-left:40px}.story-road{width:34px}.story-stop{grid-template-columns:1fr;min-height:0;gap:1.6rem;padding:36px 0 50px}.story-marker{left:-37px;top:36px}.story-stop-copy,.story-stop:nth-of-type(even) .story-stop-copy{order:0}.story-stop-art,.story-stop:nth-of-type(even) .story-stop-art{order:1}.story-stop-copy h2{font-size:2.2rem}.story-stop-art img{max-height:330px}.story-intro h1{font-size:3.2rem}.story-journey{padding-bottom:3rem}.factory-scene .factory-founder{right:-9%;width:75%;height:75%}}
@media(prefers-reduced-motion:reduce){.flow-scene img,.flow-scene>svg,.flow-vector{transform:none!important}.factory-scene .factory-logo{transform:rotate(13deg)!important}.story-road-progress{stroke-dashoffset:0}.story-stop{scroll-margin-top:160px}}
/* Two scenes unfold in reading order. Tall viewports glide between them;
   shorter screens retain a natural vertical sequence, plus the scene buttons. */
.home-page .elan-editorial{overflow:visible}
.home-page .shelf-scroll .shelf-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.home-page .shelf-scroll .shelf-panel{flex:0 0 100%;width:100%;min-height:0;border-bottom:0}
.home-page .shelf-scroll.scroll-scenes{height:170vh;position:relative}
.home-page .scroll-scenes .shelf-story{position:sticky;top:100px}
.home-page .scroll-scenes .shelf-track{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:none}
.home-page .scroll-scenes .shelf-panel{flex:0 0 100%;border-bottom:0}
.story-stop-art .workshop-packing{max-height:230px;aspect-ratio:4/3;margin-top:2rem}
.story-stop-art figcaption{margin-top:.75rem;text-align:center;line-height:1.5}
@media(max-width:620px){.home-page .scroll-scenes .shelf-story{top:82px}.home-page .scroll-scenes .scene-art{height:280px}}
@media(prefers-reduced-motion:reduce){.home-page .shelf-scroll{height:auto!important}.home-page .shelf-scroll .shelf-story{position:static}.home-page .shelf-scroll .shelf-track{display:block;overflow:visible}.home-page .shelf-scroll .shelf-panel{width:100%}}
.home-page .shelf-scroll .shelf-panel{scroll-margin-top:110px}

/* The bottle question leads; the ÉLAN payoff follows the illustrated journey. */
.elan-intro h2{font-size:clamp(2.8rem,5.2vw,5.5rem);max-width:850px}.elan-payoff{display:grid;justify-items:center;gap:1rem;text-align:center;padding:2rem 0;max-width:850px;margin-inline:auto}.elan-payoff h3{font-size:clamp(2.5rem,4.2vw,4.2rem);letter-spacing:-.04em}.elan-payoff .eyebrow{color:var(--ink)}.elan-payoff .hand{font-size:1.7rem}.who-not-editorial{background:var(--paper-2);border-block:1px solid var(--ink)}.who-not-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.who-not-three>div{display:grid;gap:.8rem;align-content:start;border-top:1px solid var(--ink);padding-top:1.2rem}.who-not-three h3{font-size:1.6rem}.who-not-three p{font-size:1rem}.home-page .confused-art img,.home-page .together-art img{width:100%;max-width:100%;margin-left:0;object-fit:contain}.home-page .scroll-scenes .shelf-track{scroll-snap-type:none}
@media(max-width:620px){.who-not-three{grid-template-columns:1fr;gap:1.5rem}.home-page .scene-art{height:260px}.elan-payoff .hand{font-size:1.5rem}.elan-payoff{padding-top:1.5rem}.home-page .shelf-toolbar>p{font-size:.8rem}.home-page .shelf-panel .scene-copy{gap:.75rem}.home-page .scene-copy h3{font-size:1.95rem}.home-page .scene-copy .hand{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.home-page .shelf-scroll .shelf-track{display:block;overflow:visible}.home-page .shelf-scroll .shelf-panel{width:100%;border-bottom:1px solid var(--ink)}}
/* Scroll controls the in-between positions; manual gestures snap to a scene. */
.home-page .shelf-scroll .shelf-track{scroll-snap-type:none}
.home-page .shelf-track.manual-control:not(.dragging){scroll-snap-type:x mandatory}
/* A compact launch homepage and a dedicated middle-width layout. */
.home-page .editorial-heading:has(>div:only-child){grid-template-columns:1fr}
.home-page .craft-connection{top:110px}.home-page .craft-stage{gap:.75rem}.home-page .who-not-editorial h2{font-size:clamp(2.1rem,3.4vw,3rem)}.home-page .who-not-editorial{padding-block:2.5rem}.home-page .who-not-editorial .editorial-heading{margin-bottom:1.5rem}.home-page .elan-summary{display:block;max-width:700px;margin-inline:auto;text-align:center}.home-page .elan-summary>div{gap:.5rem}.home-page .lineup .plabel{grid-template-rows:auto auto auto 1fr auto}.utility-links{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.utility-links>a{display:grid;gap:1rem;text-decoration:none;border-top:1px solid var(--ink);padding-top:1.5rem;align-content:start}.utility-links h2{font-size:clamp(2rem,3.5vw,3rem)}.utility-links .text-link{justify-self:start}.utility-links>a:first-child{border-color:var(--c-spark)}.utility-links>a:last-child{border-color:var(--green)}
@media(min-width:700px) and (max-width:1100px){.home-page .pack-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:center}.home-page .pack-visual{order:0}.home-page .pack-visual.person-pack img{height:360px;max-width:300px}.home-page .explorer-editorial h2{font-size:clamp(2.5rem,4.2vw,3.5rem)}.home-page .pack-bottom{align-items:flex-start;gap:1rem;flex-direction:column}.home-page .story-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center}.home-page .story-layout h2{font-size:clamp(2.5rem,4.5vw,3.8rem)}.home-page .story-layout .lede{font-size:1.1rem}.home-page .illustrated-family img{height:310px;width:100%;object-fit:contain}.home-page .story-layout .stack-lg,.home-page .pack-layout .stack-lg{gap:1.2rem}}
@media(max-width:699px){.utility-links{grid-template-columns:1fr;gap:2rem}.home-page .pack-bottom{gap:1rem}.home-page .story-layout{gap:1.75rem}.home-page .story-layout .stack-lg{gap:1.2rem}.home-page .illustrated-family img{max-height:300px}.home-page .pack-visual.person-pack img{height:340px;max-width:300px}}

/* Let the two ÉLAN drawings do the explaining. */
.home-page .elan-intro{margin-bottom:1.5rem}
.home-page .elan-intro h2{font-size:clamp(2.3rem,4.7vw,4.5rem);max-width:850px}
.home-page .shelf-toolbar{justify-content:flex-end;padding-bottom:1rem}
.home-page .shelf-toolbar .toggle{border-radius:999px}
.home-page .shelf-scroll .shelf-panel{grid-template-columns:.7fr 1.3fr;gap:2rem;padding-block:1rem;min-height:0}
.home-page .scene-copy{gap:.7rem;padding:0;max-width:25rem}
.home-page .scene-copy h3{font-size:clamp(2rem,3.5vw,3.2rem)}
.home-page .scene-base{font-size:1rem}
.home-page .scene-copy .hand{font-size:1.6rem}
.home-page .scene-art{height:400px}
.home-page .scene-copy .text-link{justify-self:start}
.home-page .scene-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-page .elan-payoff{padding:1.5rem 0 0}
.home-page .elan-payoff h3{font-size:clamp(2rem,3.5vw,3.2rem)}
/* Preserve Tamara's portrait; give the pack a clear, generous setting. */
.home-page .pack-visual.person-pack{position:relative;isolation:isolate;width:100%;justify-self:center;background:radial-gradient(ellipse at 50% 62%,var(--mint) 0 58%,transparent 58.4%)}
.home-page .pack-visual.person-pack img{width:min(100%,490px);height:auto;max-width:none;max-height:600px;object-fit:contain;margin-inline:auto;position:relative}
.tool-card .tool-illustration{display:block;width:100%;height:210px;object-fit:contain;margin-bottom:.4rem}
.tools-hub .tool-card{gap:.8rem}
@media(min-width:700px) and (max-width:950px){
 .home-page .pack-layout{grid-template-columns:1fr;gap:2rem}
 .home-page .pack-visual{order:2;max-width:490px}
 .home-page .pack-bottom{flex-direction:row;align-items:center}
}
@media(max-width:699px){
 .home-page .pack-layout{grid-template-columns:1fr;gap:2rem}
 .home-page .pack-visual.person-pack{max-width:460px}
 .home-page .pack-visual.person-pack img{width:100%;height:auto;max-height:none;max-width:none}
 .home-page .shelf-scroll .shelf-panel{grid-template-columns:1fr;gap:1rem}
 .home-page .scene-art,.home-page .scroll-scenes .scene-art{height:clamp(260px,75vw,350px);order:0}
 .home-page .scene-copy{order:1;max-width:none}
 .home-page .shelf-toolbar .toggle{width:auto}
 .home-page .shelf-toolbar .toggle button{flex:initial}
 .home-page .scene-copy h3{font-size:2rem}
 .home-page .elan-payoff h3{font-size:2rem}
 .tool-card .tool-illustration{height:230px}
}
/* Optional tracking and form controls for the launch draft. */
[hidden]{display:none!important}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.newsletter-consent{flex-basis:100%;order:3;font-size:.85rem;font-weight:400}.newsletter-consent input{flex-shrink:0}
.consent-panel{position:fixed;bottom:16px;left:16px;right:16px;z-index:100;background:var(--paper);border:2px solid var(--ink);padding:20px;max-width:760px;box-shadow:4px 4px 0 var(--ink);border-radius:14px}
.consent-panel h2{font-size:1.5rem}.consent-panel p{font-size:.9rem;margin:.5rem 0 1rem}.consent-options{display:grid;gap:.7rem;margin-top:1rem}.privacy-settings{background:none;color:inherit;font:inherit;border:1px solid currentColor;padding:.4rem .7rem;border-radius:999px;cursor:pointer}.label-declaration{font-size:.95rem}.consent-panel .actions{gap:.65rem}
