/* Palette roles.
   --aleafiaa-blue  primary hierarchy: headings, labels, primary buttons, selected states.
   --v2-ink         neutral dark, preferred wherever it reads better than either brand colour (prices, body).
   --aleafiaa-green restrained accent only: small marks, rules, decorative dots. Never large headings or body copy.
   --aleafiaa-green-brand  #C1D834 brand green for decorative fills on dark surfaces (too light for text on white).
   --v2-available   availability/success text; AA on white (4.9:1). */
:root{--aleafiaa-blue:#2a3484;--aleafiaa-green:#a4b900;--aleafiaa-green-brand:#c1d834;--v2-available:#24733e;--v2-ink:#121b31;--v2-muted:#566072;--v2-surface:#f4f7fc;--v2-line:#dce3ee}
.v2-home{color:var(--v2-ink);font-size:1rem;line-height:1.65;overflow:hidden}.v2-home h1,.v2-home h2,.v2-home h3,.v2-home p{margin-top:0}.v2-home h1,.v2-home h2,.v2-home h3{letter-spacing:-.04em;line-height:1.12}.v2-home h2{font-size:clamp(2rem,3.8vw,3.35rem);font-weight:800;margin-bottom:1rem}.v2-home h3{font-size:1.15rem;font-weight:800}.v2-home p{color:var(--v2-muted)}.v2-shell{max-width:1200px}.v2-blue{color:var(--aleafiaa-blue)}.v2-green{color:var(--aleafiaa-green)}.v2-green-underline{text-decoration:underline;text-decoration-color:var(--aleafiaa-green);text-decoration-thickness:.17em;text-underline-offset:.15em}.v2-pill{border:1px solid rgba(42,52,132,.38);border-radius:999px;color:var(--aleafiaa-blue)!important;display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.03em;margin-bottom:1rem!important;padding:.27rem .72rem}.v2-section{padding:6.5rem 0}.v2-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem 1rem;margin-top:1.5rem}.v2-button{align-items:center;border:1.5px solid transparent;border-radius:999px;display:inline-flex;font-size:.93rem;font-weight:750;gap:.55rem;justify-content:center;min-height:44px;padding:.65rem 1.25rem;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.v2-button:hover{transform:translateY(-2px)}.v2-button-primary{background:var(--aleafiaa-blue);color:#fff}.v2-button-primary:hover{background:#1d266b;color:#fff}.v2-button-secondary{border-color:var(--aleafiaa-blue);color:var(--aleafiaa-blue)}.v2-button-secondary:hover{background:var(--aleafiaa-blue);color:#fff}.v2-button-light{background:#fff;color:var(--aleafiaa-blue)}.v2-text-link{color:var(--aleafiaa-blue);display:inline-flex;font-weight:800;gap:.5rem;text-decoration:none}.v2-text-link:hover{color:#1d266b;text-decoration:underline}.v2-home a:focus-visible{outline:3px solid var(--v2-ink);outline-offset:4px}
/* --v2-hero-visual-opacity is the CMS overlay control: unset (or 1) is the
   published treatment, and any lower value scales the per-breakpoint ramp
   below rather than replacing it, so lowering it strengthens the white overlay
   consistently at every screen size. */
.v2-hero{background:#f8fbff;min-height:600px;position:relative}.v2-hero-visual{background:url('../images/v2/v2-hero-runner.jpg') center right/cover no-repeat;inset:0;opacity:var(--v2-hero-visual-opacity,1);position:absolute}.v2-hero-content{min-height:600px;position:relative}.v2-hero-copy{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 62%,rgba(255,255,255,0) 100%);max-width:510px;padding:8rem 0 4rem}.v2-hero h1{font-size:clamp(3rem,5.2vw,5.2rem);font-weight:850;margin-bottom:1rem;text-shadow:0 1px 0 rgba(255,255,255,.65)}.v2-hero h1 .v2-green{color:#596400}.v2-hero-copy>p{font-size:1.08rem;max-width:450px}.v2-hero-mini-areas{display:flex;gap:1.15rem;margin-top:1.8rem}.v2-hero-mini-areas span{color:var(--aleafiaa-blue);font-size:.73rem;font-weight:800;line-height:1.2;padding-left:.7rem;position:relative}.v2-hero-mini-areas span::before{background:var(--aleafiaa-green);border-radius:50%;content:"";height:5px;left:0;position:absolute;top:2px;width:5px}
.v2-science{background:#fff;padding:6.5rem 0 0}.v2-science h2{font-size:clamp(2rem,4vw,3.25rem)}.v2-science-copy{font-size:1.03rem;margin:0 auto;max-width:790px}.v2-trust-inline{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:center;list-style:none;margin:2rem 0 3.7rem;padding:0}.v2-trust-inline li{color:var(--v2-ink);font-size:.88rem;font-weight:700}.v2-trust-inline i{color:var(--aleafiaa-blue)}.v2-health-band{background:linear-gradient(105deg,#123e70,#1f347c 50%,#173b79);padding:3.1rem 0}.v2-health-card{align-items:center;background:#fff;border-radius:16px;display:flex;gap:.8rem;height:100%;padding:1rem 1.15rem}.v2-health-icon{align-items:center;background:#e7edf9;border-radius:50%;color:var(--aleafiaa-blue);display:flex;flex:0 0 45px;font-size:1.25rem;height:45px;justify-content:center}.v2-health-card h3{color:var(--aleafiaa-blue);font-size:1rem;margin:0}.v2-health-card p{font-size:.8rem;line-height:1.35;margin:.16rem 0 0}
.v2-about{background:#fff}/* Supplied composite: shown as complete artwork (its own WHO-GMP caption is baked in), never cropped. */
.v2-about-portrait{border-radius:26px;overflow:hidden;position:relative}.v2-about-portrait img{aspect-ratio:748/652;display:block;height:auto;width:100%}.v2-check-list{list-style:none;margin:1.5rem 0 0;padding:0}.v2-check-list li{color:var(--v2-ink);font-size:.93rem;margin:.63rem 0;padding-left:1.75rem;position:relative}.v2-check-list li::before{color:var(--aleafiaa-blue);content:"✓";font-size:1.15rem;font-weight:900;left:0;position:absolute;top:-2px}.v2-copy-card{border-radius:24px;height:100%;padding:2rem}.v2-copy-card>i{font-size:1.45rem;margin-bottom:1.25rem}.v2-copy-card h3{font-size:1.3rem}.v2-copy-card p{font-size:.93rem;margin:0}.v2-vision-card{background:linear-gradient(130deg,#173e8d,#285eb8);color:#fff}.v2-vision-card p{color:#fff}.v2-core-card{background:#f5f4f1}.v2-core-card>i{color:var(--aleafiaa-blue)}
.v2-retained{background:#f9fbff}.v2-retained-image{display:block;margin:auto;max-height:310px;object-fit:contain}.v2-products{background:#fff}.v2-section-intro{margin:0 auto 2.7rem;max-width:760px}.v2-product-layout{align-items:center;display:flex;gap:1.25rem}.v2-product-layout>.row{flex:1}.v2-products .v2-shop-card{min-height:500px}.v2-products .v2-shop-card-image{flex:0 0 260px;height:260px;padding:1.15rem}.v2-products .v2-shop-card-body{min-height:240px}.v2-products .v2-shop-card-description{min-height:3.8rem}.v2-explore-all{align-items:center;color:var(--v2-ink);display:flex;flex:0 0 88px;flex-direction:column;font-size:.82rem;font-weight:800;gap:.55rem;text-align:center;text-decoration:none}.v2-explore-all i{color:var(--aleafiaa-blue);font-size:2.6rem}.v2-explore-all:hover{color:var(--aleafiaa-blue)}
.v2-catalog-notice{align-items:flex-start;background:#f4f7fc;border:1px solid var(--v2-line);border-radius:20px;display:flex;gap:1rem;margin:0 auto;max-width:680px;padding:1.4rem 1.5rem}.v2-catalog-notice>i{color:var(--aleafiaa-blue);font-size:1.35rem;margin-top:.2rem}.v2-catalog-notice strong{color:var(--v2-ink)}.v2-catalog-notice p{margin:.15rem 0 0}
.v2-quality{background:#f7f8fc}.v2-quality-item{background:#fff;border-radius:12px;color:var(--v2-ink);display:flex;flex-direction:column;gap:.3rem;height:100%;padding:.9rem}.v2-quality-item i{color:var(--aleafiaa-blue);font-size:1.2rem}.v2-quality-item strong{font-size:.8rem}.v2-quality-item span{color:var(--v2-muted);font-size:.68rem;line-height:1.3}/* Supplied composite: its "100% Quality Tested Before Release" caption is baked into the artwork. */
.v2-quality-image{border-radius:24px;overflow:hidden;position:relative}.v2-quality-image img{aspect-ratio:966/838;display:block;height:auto;width:100%}
.v2-values{background:#fff}.v2-value-card{background:#fff;border:1px solid #e3e7ef;border-radius:25px;box-shadow:0 9px 22px rgba(20,35,65,.08);height:100%;padding:1.6rem}.v2-value-card>i{align-items:center;background:var(--aleafiaa-blue);border-radius:14px;color:#fff;display:flex;font-size:1.2rem;height:48px;justify-content:center;margin-bottom:1.5rem;width:48px}.v2-value-card h3{margin-bottom:.7rem}.v2-value-card p{font-size:.88rem;margin:0}.v2-metrics{background:linear-gradient(100deg,#11356f,#1f4f9f);border-radius:24px;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);margin:3.4rem 0 0;overflow:hidden}.v2-metrics>div{padding:1.35rem;text-align:center}.v2-metrics dt{font-size:clamp(1.45rem,2.5vw,2.25rem);font-weight:800}.v2-metrics dd{font-size:.78rem;margin:0}.v2-partnership{background:#fff;padding:2.2rem 0}.v2-partnership-inner{background:linear-gradient(130deg,#123674,#2955a2);border-radius:25px;color:#fff;margin:auto;max-width:940px;padding:3.2rem}.v2-partnership-inner>i{background:rgba(255,255,255,.14);border-radius:10px;font-size:1.1rem;padding:.65rem}.v2-partnership h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-top:1rem}.v2-partnership p{color:#e2e9ff;margin:0 auto 1.5rem;max-width:710px}.v2-contact-bridge{background:#f7f8fc;padding:5.5rem 0}.v2-closing{background:#fff;padding:5.5rem 0}.v2-closing h2{margin-left:auto;margin-right:auto;max-width:930px}.v2-closing-copy{margin:1.8rem auto;max-width:860px}
.v2-contact-actions{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem}.v2-contact-actions a{color:var(--aleafiaa-blue);font-size:.86rem;font-weight:800;text-decoration:none}.v2-contact-actions a:hover{text-decoration:underline}.v2-contact-actions a:focus-visible{outline:3px solid var(--v2-ink);outline-offset:3px}
@media (max-width:991.98px){.v2-section{padding:4.75rem 0}.v2-hero,.v2-hero-content{min-height:570px}.v2-hero-copy{padding:6rem 0 3rem}.v2-hero-visual{background-position:61% center;opacity:calc(var(--v2-hero-visual-opacity,1) * .84)}.v2-about-portrait{margin:0 auto;max-width:550px}.v2-product-layout{align-items:stretch;display:block}.v2-products .v2-shop-card{min-height:480px}.v2-explore-all{flex-direction:row;justify-content:center;margin-top:1.5rem}.v2-explore-all i{font-size:1.5rem}.v2-quality-image{margin:1rem auto 2rem;max-width:620px}}
@media (max-width:575.98px){.v2-section,.v2-science{padding:3.8rem 0}.v2-science{padding-bottom:0}.v2-hero,.v2-hero-content{min-height:680px}.v2-hero-visual{background-position:67% center;opacity:calc(var(--v2-hero-visual-opacity,1) * .35)}.v2-hero-copy{max-width:none;padding:4.7rem 0 2rem}.v2-hero h1{font-size:3.1rem}.v2-hero-copy>p{font-size:1rem}.v2-hero-mini-areas{gap:.6rem}.v2-hero-mini-areas span{font-size:.66rem}.v2-actions{align-items:stretch;flex-direction:column}.v2-button{width:100%}.v2-copy-card{padding:1.5rem}.v2-products .v2-shop-card{min-height:0}.v2-products .v2-shop-card-image{flex-basis:250px;height:250px}.v2-products .v2-shop-card-body,.v2-products .v2-shop-card-description{min-height:0}.v2-section-intro h2 br,.v2-science h2 br{display:none}.v2-metrics{border-radius:18px;grid-template-columns:repeat(2,1fr);margin-top:2.3rem}.v2-metrics>div:nth-child(n+3){background:rgba(0,0,0,.06)}.v2-partnership{padding:1.2rem 0}.v2-partnership-inner{border-radius:18px;padding:2.3rem 1.25rem}.v2-contact-bridge{padding:3.8rem 0}.v2-closing{padding:3.8rem 0}}
@media (prefers-reduced-motion:reduce){.v2-home [data-aos]{opacity:1!important;transform:none!important;transition:none!important}.v2-button{transition:none!important}}

/* ── CMS-driven homepage ──────────────────────────────────────────────────
   The homepage renders one <section> per `homepage_sections` row. Two pairs of
   rows were a single visual band before that split (the science copy with its
   trust list; the value cards with the metrics strip), so consecutive sections
   sharing a band group collapse the padding between them and the published
   vertical rhythm survives. Disable or move either half and the full padding
   returns on its own, because the classes are computed per render.

   These rules are last in the file on purpose: they must win the source-order
   tie against `.v2-section` and `.v2-science`, including inside the breakpoint
   blocks above, without resorting to !important. */
.v2-band-start{padding-bottom:0}
.v2-band-mid{padding-top:0;padding-bottom:0}
.v2-band-end{padding-top:0}
.v2-trust-band{padding:0}
.v2-trust-logo{display:inline-block;width:auto;max-width:120px;max-height:28px;vertical-align:middle;object-fit:contain}

/* Editors may supply a separate mobile hero image. When they have not, the one
   background element keeps behaving exactly as it always did. */
.v2-hero-visual-mobile{display:none}
@media (max-width:575.98px){
    .v2-hero-visual-desktop{display:none}
    .v2-hero-visual-mobile{display:block;background-position:center center;background-size:cover;background-repeat:no-repeat}
}

/* The draft-preview banner. Loud on purpose: nobody should mistake a preview
   for the live site, least of all on a phone. */
.v2-preview-flag{position:sticky;top:0;z-index:30;margin:0;padding:.7rem 1rem;background:#2a3484;color:#fff;font-size:.82rem;font-weight:800;letter-spacing:.01em;text-align:center}

/* Leadership and journal spotlights. */
.v2-spotlight{background:#f7f8fc}
.v2-spotlight-card{display:flex;flex-direction:column;gap:1rem;height:100%;padding:1.25rem;background:#fff;border:1px solid #e3e7ef;border-radius:22px;box-shadow:0 9px 22px rgba(20,35,65,.08);color:var(--v2-ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.v2-spotlight-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,35,65,.13);color:var(--v2-ink)}
.v2-spotlight-card:focus-visible{outline:3px solid var(--v2-ink);outline-offset:4px}
.v2-spotlight-media{display:grid;place-items:center;overflow:hidden;width:88px;height:88px;border-radius:50%;background:#e7edf9}
.v2-spotlight-media-wide{width:100%;height:170px;border-radius:16px}
.v2-spotlight-media img{width:100%;height:100%;object-fit:cover}
.v2-spotlight-initials{color:var(--aleafiaa-blue);font-size:1.5rem;font-weight:800}
.v2-spotlight-body{display:flex;flex-direction:column;gap:.3rem}
.v2-spotlight-body strong{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.v2-spotlight-meta{color:var(--v2-muted);font-size:.83rem}
.v2-spotlight-excerpt{color:var(--v2-muted);font-size:.86rem;line-height:1.5}
.v2-spotlight-tag{align-self:flex-start;margin-top:.35rem;padding:.16rem .6rem;border-radius:999px;background:#e7edf9;color:var(--aleafiaa-blue);font-size:.7rem;font-weight:800}
@media (max-width:575.98px){.v2-spotlight-media-wide{height:190px}}
@media (prefers-reduced-motion:reduce){.v2-spotlight-card{transition:none}.v2-spotlight-card:hover{transform:none}}

/* Featured product cards: preserve a generous image stage and readable commerce details. */
.v2-products .v2-product-layout .row > .col{display:flex}
.v2-products .v2-product-layout .v2-shop-card{min-height:640px;width:100%}
.v2-products .v2-shop-card-image{flex:0 0 300px;height:300px;padding:1.25rem}
.v2-products .v2-shop-card-image img{object-fit:contain}
.v2-products .v2-shop-card-body{min-height:340px;padding:1.35rem 1.35rem 1.5rem}
.v2-products .v2-shop-card-label{margin-bottom:.7rem}
.v2-products .v2-shop-card-description{line-height:1.58;margin:.85rem 0 1rem;min-height:5.2rem}
.v2-products .v2-shop-card-commerce{padding-top:.35rem}
.v2-products .v2-shop-card-actions{margin-top:1.25rem}
@media (max-width:1199.98px){.v2-products .v2-product-layout{display:block}.v2-products .v2-product-layout .v2-explore-all{margin-top:1.5rem}}
@media (max-width:991.98px){.v2-products .v2-product-layout .v2-shop-card{min-height:600px}.v2-products .v2-shop-card-image{flex-basis:285px;height:285px}.v2-products .v2-shop-card-body{min-height:315px}}
@media (max-width:575.98px){.v2-products .v2-product-layout .v2-shop-card{min-height:585px}.v2-products .v2-shop-card-image{flex-basis:270px;height:270px;padding:1rem}.v2-products .v2-shop-card-body{min-height:300px;padding:1.2rem}}
