/* Full-width campaign photography, with type placed in each scene's natural space. */
.home .hero-gallery{position:relative;min-height:0;overflow:hidden;background:#f0eee9;--ink:#303d8b;--ui:#303d8b}
.hero-gallery__stage{display:grid}
.hero-scene{position:relative;grid-area:1/1;height:max(520px,38.2vw);min-width:0;opacity:0;visibility:hidden;pointer-events:none;color:var(--ink)}
.hero-gallery.is-ready .hero-scene{transition:opacity .48s ease}
.hero-scene.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.hero-scene.is-leaving{opacity:1;visibility:visible;pointer-events:none;z-index:1}
.hero-scene__image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--focus,50% 50%)}
.hero-scene__copy{position:absolute;z-index:2;left:15%;top:29%;width:36%;max-width:1040px;opacity:0}
.hero-scene.is-active .hero-scene__copy{opacity:1}
.hero-gallery.is-ready .hero-scene__copy{transition:opacity .18s ease .14s}
.hero-gallery.is-ready .hero-scene.is-leaving .hero-scene__copy{opacity:0;transition:opacity .12s ease}
.hero-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--copy-shade,none)}
.hero-scene::before{content:"";position:absolute;pointer-events:none;z-index:1;left:0;right:0;bottom:0;height:max(115px,6vw);background:linear-gradient(0deg,rgba(249,248,243,.94),rgba(249,248,243,.64) 50%,transparent)}
.hero-scene[data-tone="dark"]::before{background:linear-gradient(0deg,rgba(14,27,44,.9),rgba(14,27,44,.5) 50%,transparent)}
.hero-scene--brand{background:#f3f0eb;--copy-shade:linear-gradient(90deg,rgba(248,247,243,.14),transparent 49%);--type-accent:var(--brand-accent)}
.hero-scene--brand .hero-scene__image{object-position:center 25%}
.hero-scene--vitality{--copy-shade:linear-gradient(90deg,rgba(252,248,239,.98) 0%,rgba(252,248,239,.94) 32%,rgba(252,248,239,.7) 46%,transparent 67%)}
.hero-scene--immunity{--copy-shade:none}
.hero-scene--sleep{background:#182d43;--copy-shade:linear-gradient(90deg,rgba(18,32,53,.17),transparent 50%)}
.hero-scene--wellbeing{--copy-shade:linear-gradient(90deg,rgba(244,247,234,.96),rgba(244,247,234,.73) 35%,transparent 61%)}
.hero-scene--children{--copy-shade:linear-gradient(270deg,rgba(251,246,235,.82),rgba(251,246,235,.38) 30%,transparent 53%)}
.hero-scene__eyebrow{position:relative;margin:0 0 max(20px,1.04vw);font-size:clamp(12px,.78vw,24px);font-weight:750;letter-spacing:.12em;line-height:1.5}
.hero-scene__eyebrow::before{content:"";display:inline-block;vertical-align:middle;width:max(22px,1.3vw);height:max(3px,.17vw);background:var(--accent);margin-right:max(11px,.57vw)}
.home .hero-gallery :is(h1,h2){max-width:none;margin:0 0 max(20px,1.04vw);font-size:clamp(44px,3.7vw,140px);font-weight:750;line-height:1.17;letter-spacing:-.04em;font-style:normal;text-shadow:none;color:inherit}
.home .hero-gallery :is(h1,h2) em{font-style:inherit;color:var(--type-accent,var(--accent))}
.hero-scene__description{max-width:100%;margin:0 0 max(24px,1.25vw);font-size:clamp(15px,1.02vw,32px);font-weight:550;line-height:1.85;text-wrap:pretty;color:#26365e}
.hero-scene__cta{display:inline-flex;align-items:center;gap:max(25px,1.3vw);min-height:max(43px,2.24vw);padding:max(9px,.47vw) max(19px,.99vw);border:1px solid currentColor;border-radius:99px;background:transparent;color:inherit;font-size:clamp(13px,.75vw,24px);line-height:1.6;font-weight:650;transition:background .2s,color .2s,gap .2s}
.hero-scene__cta span{font-size:clamp(20px,1.04vw,32px);line-height:1}
.hero-scene__cta:hover{background:var(--ink);color:#fff;border-color:var(--ink);gap:max(31px,1.6vw)}
.hero-scene--brand .hero-scene__copy{top:25%;width:31%}
.home .hero-scene--brand h1{font-style:italic;font-size:clamp(49px,4.25vw,160px);font-weight:850}
.home .hero-scene--brand h1 em{color:var(--type-accent)}
.hero-scene--brand .hero-scene__eyebrow::before{display:none}
.hero-scene--vitality .hero-scene__copy{top:32%;left:17%}
.hero-scene--immunity .hero-scene__copy{left:64%;top:27%;width:30%}
.home .hero-scene--immunity h2{font-size:clamp(38px,3.2vw,128px)}
.hero-scene--sleep{color:#fff;--ink:#fff}
.hero-scene--sleep .hero-scene__copy{left:15%;top:25%;width:33%}
.home .hero-scene--sleep h2{font-weight:650;font-size:clamp(50px,4.1vw,156px);line-height:1.22}
.hero-scene--sleep .hero-scene__description{color:#e6eaf0}
.hero-scene--sleep .hero-scene__cta:hover{background:#fff;color:#233551}
.hero-scene--wellbeing .hero-scene__copy{top:29%;left:17%;width:36%}
.home .hero-scene--wellbeing h2{font-size:clamp(40px,3.35vw,128px);line-height:1.22}
.hero-scene--children .hero-scene__copy{left:64%;top:26%;width:30%}
.home .hero-scene--children h2{font-size:clamp(41px,3.6vw,140px);font-weight:700;line-height:1.24}
.home .hero-gallery .hero-scene h2{letter-spacing:.045em;line-height:1.22}
.hero-gallery__nav{position:absolute;z-index:3;left:14%;right:14%;bottom:max(22px,1.15vw);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:max(17px,1vw);color:var(--ui);transition:color .48s ease}
.hero-gallery__topic{position:relative;display:flex;flex-direction:column;gap:max(12px,.63vw);text-align:left;min-height:max(48px,2.5vw);justify-content:flex-end;border:0;background:none;padding:0 0 7px;color:inherit;font-size:clamp(15px,.9vw,28px);font-weight:750;cursor:pointer;white-space:nowrap}
.hero-gallery__topic span{display:block;transition:transform .2s ease}
.hero-gallery__topic i{display:block;height:max(4px,.21vw);width:100%;background:var(--topic-color);opacity:1;transform-origin:center bottom;transition:transform .2s}
.hero-gallery__topic.is-current{font-weight:850}
.hero-gallery__topic.is-current i{transform:scaleY(1.5);opacity:1}
.hero-gallery__topic:focus-visible span{transform:translateY(-2px)}
.hero-gallery__topic:focus-visible i{opacity:1;transform:scaleY(1.5)}
@media(hover:hover) and (pointer:fine){.hero-gallery__topic:hover span{transform:translateY(-3px)}.hero-gallery__topic:hover i{opacity:1;transform:scaleY(1.5)}}
.hero-gallery__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hero-gallery[data-tone="dark"]{--ui:#fff}
.hero-gallery[data-tone="dark"] .hero-gallery__nav{color:#fff}
.hero-gallery[data-theme="brand"] .hero-gallery__nav{color:#303d8b}
.hero-gallery :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.home .menu-toggle{color:#303d8b;background:transparent;border-radius:0;box-shadow:none}
.home .menu-toggle__icon i{background:#303d8b}
.home .age-guide>.shell{padding-top:68px}
/* A fluid homepage shell keeps the body aligned with the full-width campaign on large displays. */
@media(min-width:901px){
 .home .brand--home{--roundel:clamp(250px,13vw,500px);width:var(--roundel);height:calc(var(--roundel) * 1.02);top:calc(var(--roundel) * -.356);left:calc(var(--roundel) * -.18)}
 .home .brand--home img{top:calc(var(--roundel) * .54);left:calc(var(--roundel) * .26);width:calc(var(--roundel) * .672)}
 .home .menu-toggle{width:clamp(48px,3vw,96px);height:clamp(48px,3vw,96px);padding:clamp(10px,.6vw,20px)}
 .home .menu-toggle__icon{width:100%;height:clamp(22px,1.35vw,44px)}
 .home .menu-toggle__icon i{height:clamp(3px,.17vw,6px)}
}
@media(min-width:1600px){
 .home .shell:not(.site-header__inner){width:calc(100% - 48px);max-width:clamp(1180px,72vw,2800px)}
 .home .age-guide>.shell{padding-block:clamp(68px,3.55vw,136px) clamp(54px,2.8vw,108px)}
 .home .home-section-heading h2,.home .full-range__copy h2,.home .brand-story h2{font-size:clamp(48px,2.5vw,96px)}
 .home .home-section-heading>p,.home .full-range__copy>p:first-child{font-size:clamp(16px,.84vw,32px)}
 .home .home-section-heading--split{gap:clamp(70px,3.65vw,140px)}
 .home .age-jump{gap:clamp(14px,.73vw,28px)}
 .home .age-jump a{padding:clamp(12px,.63vw,24px) clamp(10px,.52vw,20px)}
 .home .age-jump a>span{font-size:clamp(11px,.57vw,22px)}
 .home .age-jump a>strong{font-size:clamp(15px,.78vw,30px)}
 .home .age-section{padding-block:clamp(72px,3.75vw,144px) clamp(66px,3.44vw,132px)}
 .home .age-section__grid{gap:clamp(42px,2.19vw,84px)}
 .home .age-section__grid--two{width:66%}
 .home .age-section__marker{min-height:clamp(72px,3.75vw,144px);margin-bottom:clamp(26px,1.35vw,52px)}
 .home .age-section__marker img{width:clamp(116px,6.04vw,232px)}
 .home .age-section__marker--text small{font-size:clamp(12px,.63vw,24px)}
 .home .age-section__marker--text strong{font-size:clamp(27px,1.41vw,54px)}
 .home .age-product__image{height:clamp(210px,10.94vw,420px)}
 .home .age-product__image img{max-height:clamp(196px,10.21vw,392px)}
 .home .age-product h3{font-size:clamp(16px,.84vw,32px)}
 .home .age-product p,.home .age-advice p{font-size:clamp(12px,.63vw,24px)}
 .home .age-product span,.home .age-advice span,.home .age-section__more a{font-size:clamp(13px,.68vw,26px)}
 .home .age-advice h3,.home .home-advice h3{font-size:clamp(17px,.89vw,34px)}
 .home .age-advice div{padding:clamp(24px,1.25vw,48px)}
 .home .full-range,.home .brand-story,.home .home-advice{padding-block:clamp(80px,4.17vw,160px)}
 .home .full-range__copy>p:not(:first-child){max-width:90%}
 .home .full-range__copy>p:not(:first-child),.home .brand-story__copy>p:not(.eyebrow){font-size:clamp(16px,.84vw,32px)}
 .home .full-range__inner>img{max-width:70%;max-height:clamp(160px,8.33vw,320px)}
 .home .brand-story__image img{max-height:clamp(320px,16.67vw,640px)}
 .home .home-advice__grid{gap:clamp(22px,1.15vw,44px)}
 .home .home-advice article p,.home .home-advice article span{font-size:clamp(13px,.68vw,26px)}
 .home .home-product-directory summary{font-size:clamp(16px,.84vw,32px)}
 .home .home-product-directory h3{font-size:clamp(17px,.89vw,34px)}
 .home .home-product-directory li a{font-size:clamp(14px,.73vw,28px)}
}
@media(min-width:901px) and (max-width:1150px){
 .hero-scene__copy,.hero-scene--brand .hero-scene__copy,.hero-scene--vitality .hero-scene__copy,.hero-scene--wellbeing .hero-scene__copy{left:18%;width:38%;top:30%}
 .hero-scene--immunity .hero-scene__copy,.hero-scene--children .hero-scene__copy{left:61%;width:33%;top:29%}
 .hero-scene--sleep .hero-scene__copy{left:18%;width:35%;top:27%}
 .hero-scene__eyebrow{font-size:11px;margin-bottom:15px}
 .hero-scene__description{font-size:13px;line-height:1.7;margin-bottom:16px}
 .home .hero-gallery :is(h1,h2){font-size:42px;margin-bottom:17px}
 .hero-gallery__nav{gap:12px;left:12%;right:12%;bottom:22px}
 .hero-gallery__topic{font-size:13px}
}
@media(max-width:900px){
 .home .site-header{position:relative;height:76px;background:#fff}
 .home .site-header__inner{height:76px;min-height:76px;width:auto;margin:0 22px;padding:0;display:flex;align-items:center;justify-content:space-between}
 .home .brand--home{position:relative;inset:auto;width:103px;height:60px;min-width:0;padding:0;border:0;border-radius:0;transform:none;display:flex;align-items:center;background:transparent;box-shadow:none;overflow:visible}
 .home .brand--home img{position:static;inset:auto;margin:0;width:103px;height:auto;max-height:60px;object-fit:contain;transform:none}
 .home .menu-toggle{position:relative;inset:auto;width:44px;height:44px;margin:0;padding:10px;background:transparent}
 .home .site-nav{top:76px}
 .hero-scene{--photo-height:clamp(245px,69vw,340px);height:auto;min-height:calc(var(--photo-height) + 366px);background:var(--mobile-bg,#f4f1eb);--mobile-focus:70% 50%}
 .hero-scene__image{height:var(--photo-height);object-fit:cover;object-position:var(--mobile-focus);mask-image:linear-gradient(#000 0%,#000 84%,transparent 100%)}
 .hero-scene--brand .hero-scene__image,.hero-scene--sleep .hero-scene__image{left:0;width:100%;object-position:var(--mobile-focus)}
 .hero-scene::after{display:none}
 .hero-scene::before,.hero-scene[data-tone="dark"]::before{height:124px;background:linear-gradient(0deg,var(--mobile-bg,#f4f1eb) 60%,transparent)}
 .hero-scene--brand{--mobile-focus:65% 30%;--mobile-bg:#f4f1eb}
 .hero-scene--immunity{--mobile-focus:26% 50%;--mobile-bg:#f6f1e7}
 .hero-scene--sleep{--mobile-focus:76% 20%;--mobile-bg:#1e2a3b}
 .hero-scene--wellbeing{--mobile-focus:82% 50%;--mobile-bg:#eef0df}
 .hero-scene--children{--mobile-focus:26% 50%;--mobile-bg:#f5efe5}
 .hero-gallery .hero-scene .hero-scene__copy{position:relative;left:auto;top:auto;margin:calc(var(--photo-height) - 2px) 24px 0;padding-bottom:124px;width:calc(100% - 48px);max-width:none}
 .hero-scene__eyebrow{font-size:12px;margin-bottom:13px;letter-spacing:.06em}
 .home .hero-gallery :is(h1,h2){font-size:35px;line-height:1.2;margin-bottom:15px;letter-spacing:-.03em}
 .home .hero-gallery .hero-scene--sleep h2{font-size:36px}
 .hero-scene__description{font-size:15px;line-height:1.7;margin-bottom:18px;max-width:480px;font-weight:500}
 .hero-scene__cta{min-height:44px;font-size:14px;padding:8px 18px;gap:24px}
 .hero-gallery__nav{left:24px;right:24px;bottom:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 15px}
 .hero-gallery__topic{min-height:44px;gap:9px;font-size:13px;align-items:flex-start;text-align:left;padding-bottom:4px;font-weight:750}
 .hero-gallery__topic span{font-size:inherit}
 .hero-gallery__topic span::after{content:none}
 .hero-gallery__topic i{opacity:1}
 .hero-gallery__topic.is-current{font-weight:850}
 .home .age-guide>.shell{padding-top:48px}
 .home .home-section-heading--split{display:block}
 .home .home-section-heading h2{font-size:30px;line-height:1.3;letter-spacing:-.04em}
 .home .age-guide .home-section-heading h2{font-size:28px;text-wrap:balance}
 .home .age-guide .home-section-heading h2 br{display:none}
 .home .age-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:25px 0 0;overflow:visible;padding:0}
 .home .age-jump a{min-width:0;width:100%;padding:11px 7px}
 .home .age-product p{font-size:14px;line-height:1.65}
 .home .age-product h3{font-size:13px;line-height:1.6}
 .home .footer-social__name{font-size:12px}
 .home .footer-links a,.home .footer-nutrients a{display:inline-flex;align-items:center;min-height:34px;line-height:1.5}
}
@media(min-width:601px) and (max-width:900px){
 .hero-gallery .hero-scene .hero-scene__copy{left:auto;width:84%;margin-inline:8%;padding-bottom:90px}
 .hero-gallery__nav{left:8%;right:8%;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;bottom:22px}
 .hero-scene{height:auto;min-height:calc(var(--photo-height) + 322px)}
 .hero-scene__description{max-width:540px}
}
@media(max-width:480px){
 .home .site-footer__main{grid-template-columns:102px minmax(0,1fr);gap:18px 16px}
 .home .site-footer__logo{width:100px}
 .home .site-footer__tagline--mobile{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.hero-gallery.is-ready .hero-scene,.hero-gallery.is-ready .hero-scene__copy,.hero-gallery__nav,.hero-gallery__topic span,.hero-gallery__topic i{transition:none}.hero-gallery__topic:is(:hover,:focus-visible) span{transform:none}}
/* Keep the final hover QR inside the page at tablet widths as well. */
.footer-social__item:last-child .footer-social__qr { left:auto; right:0; transform:translate(0,10px) scale(.96); transform-origin:right bottom; }
.footer-social__item:last-child .footer-social__qr::after { left:auto; right:19%; }
.footer-social__item:last-child:is(:hover,:focus-visible,.is-open) .footer-social__qr { transform:translate(0,0) scale(1); }

@media(max-width:900px){
  .hero-scene--brand{--mobile-focus:76% 48%;--mobile-bg:#f7f5f0}
  .hero-scene--immunity{--mobile-focus:39% 50%;--mobile-bg:#f5f3ef}
  .hero-scene--sleep{--mobile-focus:81% 44%;--mobile-bg:#21324a}
}

/* A native, compact directory retains all product links in the initial document. */
.home-product-directory{padding-top:0;padding-bottom:48px}
.home-product-directory details{border-top:1px solid #e5e7ef;border-bottom:1px solid #e5e7ef}
.home-product-directory summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:23px 0;list-style:none;color:#303d8b;font-size:16px;font-weight:650}
.home-product-directory summary::-webkit-details-marker{display:none}
.home-product-directory summary span{font-size:23px;transition:transform .2s}
.home-product-directory details[open] summary span{transform:rotate(45deg)}
.home-product-directory summary:focus-visible{outline:2px solid #405baa;outline-offset:4px}
.home-product-directory__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0 0 28px}
.home-product-directory h3{font-size:17px;margin:0 0 12px;color:#303d8b}
.home-product-directory ul{list-style:none;margin:0;padding:0}
.home-product-directory li{margin:0}
.home-product-directory li a{display:inline-block;padding:7px 0;color:#555e77;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.home-product-directory li a:hover{color:#405baa;text-decoration:underline}
@media(max-width:760px){.home-product-directory__groups{grid-template-columns:1fr;gap:22px}}
