:root {
  --alv-blue: #2f3686;
  --alv-royal: #3255a7;
  --alv-sky: #39a9dc;
  --alv-orange: #f1911f;
  --alv-text: #747474;
  --alv-dark: #333333;
  --alv-mist: #f2f6f5;
  --alv-white: #ffffff;
  --alv-line: #dce5e3;
  --alv-shell: 1180px;
  --alv-shadow: 0 12px 34px rgba(47, 54, 134, 0.11);
  --alv-font: "Fira Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--alv-mist);
  color: var(--alv-text);
  font-family: var(--alv-font);
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 {
  color: var(--alv-royal);
  font-weight: 700;
  line-height: 1.22;
  margin: 0 0 .62em;
}
h1 { font-size: clamp(2.7rem, 5.3vw, 5.2rem); font-style: italic; letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 3vw, 3.15rem); }
h3 { font-size: 1.25rem; }
.shell { width: min(calc(100% - 48px), var(--alv-shell)); margin-inline: auto; }
.section { padding: 92px 0; }
.section--white { background: #fff; }
.section-heading { max-width: 720px; margin-bottom: 46px; }
.section-heading--center { text-align: center; margin-inline: auto; }
.section-heading > p:last-child { font-size: 1.06rem; }
.eyebrow, .hero__kicker {
  margin-bottom: 12px;
  color: var(--alv-orange);
  font-size: .79rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 31px;
  border: 2px solid var(--alv-blue);
  border-radius: 3px;
  background: var(--alv-blue);
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.button:hover, .button:focus-visible { background: var(--alv-orange); border-color: var(--alv-orange); transform: translateY(-2px); }
.button--outline { background: transparent; color: var(--alv-blue); }
.text-link { color: var(--alv-blue); font-size: .9rem; font-weight: 700; }
.text-link::after { content: "  ›"; color: var(--alv-orange); }
.mobile-home-tools, .mobile-age-catalog { display: none; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 1000; padding: 10px 16px; background: #fff; color: var(--alv-blue); }
.skip-link:focus { top: 12px; }

.site-header {
  position: relative;
  z-index: 20;
  height: 96px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(34, 51, 91, .08);
}
.site-header__inner { display: flex; align-items: center; height: 100%; gap: 32px; }
.brand { flex: 0 0 156px; }
.brand img { width: 156px; max-height: 70px; object-fit: contain; }
.custom-logo-link { display: block; }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: stretch; gap: 30px; list-style: none; margin: 0; padding: 0; }
.site-nav__list > li > a { position: relative; display: flex; align-items: center; min-height: 96px; color: #3f467e; font-size: .96rem; font-weight: 600; white-space: nowrap; }
.site-nav__list > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--alv-orange); transform: scaleX(0); transition: transform .2s ease; }
.site-nav__list > li > a:hover::after, .site-nav__list > li.current-menu-item > a::after { transform: scaleX(1); }
.header-advice { flex: 0 0 auto; padding: 11px 20px; border-radius: 3px; background: var(--alv-orange); color: #fff; font-weight: 700; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 632px; overflow: hidden; background: #dfeff3; }
.hero__backdrop { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.hero__backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(245,250,249,.93) 0%, rgba(245,250,249,.77) 38%, rgba(245,250,249,.05) 68%); }
.hero__inner { position: relative; display: flex; align-items: center; min-height: 632px; }
.hero__copy { max-width: 550px; padding: 58px 0 76px; }
.hero h1 { color: var(--alv-blue); }
.hero h1 em { color: var(--alv-orange); font-style: italic; }
.hero__copy > p:not(.hero__kicker) { max-width: 500px; margin-bottom: 30px; color: #5b6270; font-size: 1.12rem; }

.range-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; }
.range-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  min-height: 340px;
  grid-column: span 2;
  overflow: hidden;
  border-radius: 2px;
  background: #fff;
  box-shadow: var(--alv-shadow);
}
.range-card:nth-child(4), .range-card:nth-child(5) { grid-column: span 3; }
.range-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(47,54,134,.08), transparent 55%); }
.range-card__body { position: relative; z-index: 2; padding: 34px 0 30px 30px; align-self: center; }
.range-card__body p { margin-bottom: 8px; color: var(--alv-text); font-size: .82rem; line-height: 1.45; }
.range-card__body h3 { color: var(--alv-blue); font-size: 1.7rem; }
.range-card__body span { display: block; margin-bottom: 18px; font-size: .9rem; line-height: 1.55; }
.range-card__body strong { color: var(--alv-orange); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.range-card img { align-self: end; width: 100%; max-height: 330px; object-fit: contain; object-position: right bottom; transition: transform .35s ease; }
.range-card:hover img { transform: scale(1.035); }
.range-card--immunity { background: #eef7ee; }
.range-card--sleep { background: #f2eff8; }
.range-card--wellbeing { background: #edf7fa; }
.range-card--children { background: #fff7e8; }

.age-strip__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.age-links { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.age-links a { text-align: center; color: var(--alv-blue); font-size: .9rem; font-weight: 700; }
.age-links img { width: 76px; aspect-ratio: 1; margin: 0 auto 12px; object-fit: contain; transition: transform .2s ease; }
.age-links a:hover img { transform: translateY(-5px); }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.product-card { overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(47,54,134,.07); text-align: center; }
.product-card a { display: block; padding: 22px 20px 28px; }
.product-card__image { display: grid; place-items: center; height: 260px; margin-bottom: 16px; background: linear-gradient(180deg, #fff, #f4f8f7); }
.product-card__image img { max-height: 240px; margin: auto; transition: transform .25s ease; }
.product-card:hover img { transform: scale(1.04); }
.product-card__age { display: inline-block; margin: 0 0 10px; color: var(--alv-orange); font-size: .76rem; font-weight: 700; }
.product-card h3 { min-height: 3em; color: var(--alv-blue); font-size: 1.05rem; }
.section-action { margin: 42px 0 0; text-align: center; }

.brand-story { background: var(--alv-blue); color: rgba(255,255,255,.8); }
.brand-story__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.brand-story__image img { max-height: 480px; margin-inline: auto; object-fit: contain; }
.brand-story h2 { color: #fff; }
.brand-story .button { border-color: #fff; background: #fff; color: var(--alv-blue); }
.brand-story .button:hover { border-color: var(--alv-orange); background: var(--alv-orange); color: #fff; }

.article-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.article-card { background: var(--alv-mist); }
.article-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.article-card__body { padding: 24px; }
.article-card__body > p { margin-bottom: 7px; color: var(--alv-orange); font-size: .75rem; font-weight: 700; }
.article-card h3 { min-height: 4.5em; color: var(--alv-blue); font-size: 1.04rem; }

.geo-summary__inner { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; }
.geo-summary__answer > p { font-size: 1.08rem; }
.fact-list { margin: 30px 0 0; border-top: 1px solid var(--alv-line); }
.fact-list > div { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--alv-line); }
.fact-list dt { color: var(--alv-blue); font-weight: 700; }
.fact-list dd { margin: 0; }

.footer-ranges { padding: 38px 0; background: #e9f0ef; }
.footer-ranges__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
.footer-range { display: flex; align-items: center; gap: 14px; color: var(--alv-blue); font-size: .86rem; font-weight: 700; }
.footer-range img { width: 64px; height: 64px; object-fit: contain; }
.site-footer { border-top: 1px solid var(--alv-line); background: #fff; }
.footer-social {
  position: relative;
  z-index: 5;
  align-self: stretch;
  overflow: visible;
  padding-left: 28px;
  border-left: 1px solid var(--alv-line);
  color: var(--alv-blue);
}
.footer-social__inner {
  display: grid;
  align-content: start;
  gap: 14px;
}
.footer-social__heading h2 {
  margin: 0;
  color: var(--alv-blue);
  font-size: .92rem;
  line-height: 1.2;
}
.footer-social__platforms {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}
.footer-social__item {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  min-width: 52px;
  min-height: 61px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--alv-blue);
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: transform .2s ease, opacity .2s ease;
}
.footer-social__item:hover,
.footer-social__item.is-open {
  z-index: 7;
  opacity: .88;
  transform: translateY(-2px);
}
.footer-social__item:focus-visible {
  z-index: 7;
  outline: 2px solid var(--alv-blue);
  outline-offset: 4px;
  transform: translateY(-2px);
}
.footer-social__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 11px;
  background: #fff;
}
.footer-social__icon img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}
.footer-social__icon--tmall {
  width: 42px;
  height: 42px;
  border-radius: 11px;
}
.footer-social__icon--tmall img {
  width: 42px;
  height: 42px;
  object-fit: cover;
  filter: none;
}
.footer-social__item--xiaohongshu .footer-social__icon { background: #ff2442; }
.footer-social__item--douyin .footer-social__icon { background: #17191d; }
.footer-social__name {
  color: #707985;
  font-size: .66rem;
  font-weight: 800;
  white-space: nowrap;
}
.footer-social__qr {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 16px);
  display: grid;
  width: 136px;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(27,56,79,.24);
  color: #4d5863;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px) scale(.96);
  transform-origin: center bottom;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.footer-social__qr::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 16px;
  background: #fff;
  transform: translateX(-50%) rotate(45deg);
}
.footer-social__qr > img {
  position: relative;
  z-index: 1;
  width: 120px;
  height: 120px;
  border-radius: 6px;
  background: #fff;
  object-fit: contain;
}
.footer-social__item:hover .footer-social__qr,
.footer-social__item:focus-visible .footer-social__qr,
.footer-social__item.is-open .footer-social__qr {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) scale(1);
}
.site-footer__main { display: grid; grid-template-columns: 160px minmax(0, 1fr) 246px; align-items: start; gap: 36px; padding-block: 42px 34px; }
.site-footer__logo { width: 141px; }
.site-footer__tagline { max-width: 700px; }
.site-footer__tagline--mobile { display: none; }
.footer-links { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; margin: 18px 0; padding: 0; color: var(--alv-blue); font-size: .9rem; }
.menu-footer-navigation-container + .footer-links--fallback { display: none; }
.site-footer__legal { font-size: .8rem; color: #969696; }
.site-footer__icp { color: inherit; text-decoration: none; }
.site-footer__icp:hover,
.site-footer__icp:focus-visible { color: var(--alv-blue); text-decoration: underline; text-underline-offset: .18em; }

.content-hero { padding: 72px 0 58px; background: #fff; }
.content-hero__inner { max-width: 900px; }
.breadcrumbs { margin-bottom: 24px; color: #8b8b8b; font-size: .82rem; }
.breadcrumbs a { color: var(--alv-blue); }
.content-hero h1 { color: var(--alv-blue); font-size: clamp(2.35rem, 5vw, 4.5rem); }
.content-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: .84rem; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 70px; padding-block: 70px 96px; }
.prose { color: #555e67; }
.prose > * { max-width: 760px; }
.prose h2 { margin-top: 1.7em; font-size: 2rem; }
.prose h3 { margin-top: 1.5em; font-size: 1.4rem; }
.prose a { color: var(--alv-blue); text-decoration: underline; text-underline-offset: 3px; }
.prose table { width: 100%; border-collapse: collapse; margin: 28px 0; background: #fff; }
.prose th, .prose td { padding: 13px 16px; border: 1px solid var(--alv-line); text-align: left; vertical-align: top; }
.prose th { color: var(--alv-blue); background: #eaf1f0; }
.prose blockquote { margin: 28px 0; padding: 20px 26px; border-left: 4px solid var(--alv-orange); background: #fff; }
.content-aside { align-self: start; position: sticky; top: 28px; padding: 28px; background: #fff; box-shadow: var(--alv-shadow); }
.content-aside h2 { font-size: 1.15rem; }
.content-aside ul { margin: 0; padding-left: 18px; }
.content-aside li { margin-bottom: 10px; }
.review-box,
.product-review,
.product-rating,
.rating-card,
.review-card,
.star-rating,
.woocommerce-review-link { display: none !important; }
.faq-list { margin-top: 48px; border-top: 1px solid var(--alv-line); }
.faq-item { border-bottom: 1px solid var(--alv-line); }
.faq-item__button { width: 100%; padding: 22px 4px; border: 0; background: transparent; color: var(--alv-blue); font: 700 1rem/1.4 var(--alv-font); text-align: left; cursor: pointer; }
.faq-item__button::after { content: "+"; float: right; color: var(--alv-orange); }
.faq-item__button[aria-expanded="true"]::after { content: "−"; }
.faq-item__answer { padding: 0 36px 22px 4px; }
.product-hero { padding: 70px 0; background: #fff; }
.product-hero__inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.product-hero__image { display: grid; place-items: center; min-height: 500px; padding: 28px; background: linear-gradient(145deg, #f9fbfb 0%, #eef4f3 100%); }
.product-hero__image img { width: 100%; max-height: 450px; object-fit: contain; mix-blend-mode: multiply; }
.product-hero__copy { min-width: 0; }
.product-hero h1 { color: var(--alv-blue); font-size: clamp(2.35rem, 4vw, 4.2rem); }
.status-badge { display: inline-flex; margin-bottom: 18px; padding: 7px 11px; background: #fff4e6; color: #a45b00; font-size: .76rem; font-weight: 700; }
.status-badge--approved { background: #e8f5e9; color: #286e32; }
.status-badge--working { border-radius: 999px; background: #fff3df; color: #9b5600; }
.product-source-name { margin-bottom: 8px; color: var(--alv-orange); font-size: .76rem; font-weight: 700; letter-spacing: .04em; }
.product-lead { max-width: 650px; color: #565f68; font-size: 1.08rem; }
.product-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 28px 0; }
.product-facts > div { min-width: 0; padding: 16px; border-left: 3px solid var(--alv-orange); background: var(--alv-mist); }
.product-facts dt { color: var(--alv-blue); font-size: .82rem; font-weight: 700; }
.product-facts dd { margin: 4px 0 0; }
.product-jump { display: flex; flex-wrap: wrap; gap: 9px; }
.product-jump a { padding: 8px 14px; border: 1px solid #dce5e3; border-radius: 999px; color: var(--alv-blue); font-size: .78rem; font-weight: 700; }
.product-jump a:hover, .product-jump a:focus-visible { border-color: var(--alv-orange); color: var(--alv-orange); }
.product-answer { padding: 46px 0; background: var(--alv-blue); color: rgba(255,255,255,.88); }
.product-answer__inner { display: grid; grid-template-columns: 190px 1fr; gap: 42px; align-items: start; }
.product-answer .eyebrow { margin-top: 7px; }
.product-answer h2 { color: #fff; font-size: clamp(1.85rem, 3vw, 2.7rem); }
.product-answer p:last-child { margin: 0; font-size: 1.08rem; }
.product-content-layout { padding-top: 74px; }
.product-prose > .product-section { max-width: 820px; scroll-margin-top: 24px; }
.product-section + .product-section { margin-top: 66px; padding-top: 52px; border-top: 1px solid var(--alv-line); }
.dosage-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 26px 0; }
.dosage-grid article { position: relative; min-height: 126px; padding: 24px 24px 22px 70px; overflow: hidden; border: 1px solid #ead7bd; background: #fff8ed; }
.dosage-grid span { position: absolute; left: 18px; top: 18px; color: rgba(241,145,31,.28); font-size: 2.15rem; font-weight: 800; line-height: 1; }
.dosage-grid p { margin: 0; color: var(--alv-blue); font-weight: 700; }
.course-note { padding: 16px 20px; border-left: 4px solid var(--alv-orange); background: #fff; }
.nutrition-table { margin-top: 34px; }
.nutrition-table h3 { margin-bottom: 14px; color: var(--alv-blue); }
.table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.nutrition-table table { min-width: 620px; margin: 0; }
.nutrition-table tbody th { color: #46505a; background: #f8faf9; font-weight: 700; }
.product-warning { border-top: 5px solid var(--alv-orange); }
.product-warning .eyebrow { margin-bottom: 7px; }
.product-warning__note { margin: 20px 0 0; padding-top: 17px; border-top: 1px solid var(--alv-line); color: #919191; font-size: .78rem; }

/* Product details mirror the live France-site structure and spacing. */
.product-detail { background: #fff; }
.product-detail .site-header { position: absolute; inset: 0 0 auto; z-index: 30; height: 116px; background: transparent; box-shadow: none; }
.product-detail .site-header__inner { width: 100%; max-width: none; height: 116px; padding: 0 28px; justify-content: flex-end; }
.product-detail .brand { position: absolute; top: -89px; left: -45px; display: block; width: 250px; height: 255px; padding: 0; background: transparent; box-shadow: none; }
.product-detail .brand img { width: 250px; max-height: none; }
.product-detail .header-advice { display: none; }
.product-detail .menu-toggle { display: flex; align-items: center; gap: 0; margin: 0; padding: 12px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.product-detail .menu-toggle > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.product-detail .menu-toggle__icon { display: grid; gap: 5px; width: 30px; }
.product-detail .menu-toggle__icon i { display: block; height: 3px; background: #fff; }
.product-detail .site-nav { display: none; position: absolute; top: 92px; right: 26px; width: 300px; padding: 10px 22px 22px; background: #fff; box-shadow: var(--alv-shadow); }
.product-detail .site-nav.is-open { display: block; }
.product-detail .site-nav__list { display: block; }
.product-detail .site-nav__list > li > a { min-height: 48px; border-bottom: 1px solid var(--alv-line); color: var(--alv-blue); }
.product-scene { position: relative; min-height: 215px; background: #edb852 url('../images/source/product-effervescent/Alvityl_vitalite.jpg') center/cover no-repeat; }
.product-scene__inner { display: flex; align-items: flex-start; min-height: 215px; padding-top: 96px; }
.product-scene .breadcrumbs { margin-left: 150px; color: #fff; font-size: .74rem; font-weight: 600; text-shadow: 0 1px 5px rgba(30,25,20,.42); }
.product-scene .breadcrumbs a { color: #fff; }
.product-ranges { position: absolute; z-index: 2; left: 50%; bottom: 14px; display: grid; grid-template-columns: repeat(5, minmax(158px,1fr)); gap: 18px; width: min(930px, calc(100% - 420px)); transform: translateX(-50%); }
.product-ranges a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 7px 16px; border: 2px solid #fff; border-radius: 27px; background: #fff; color: var(--alv-blue); font-size: .86rem; font-style: italic; font-weight: 700; line-height: 1.1; text-align: center; }
.product-ranges a.is-current { background: rgba(125,93,61,.36); color: #fff; }
.product-ranges img { width: 21px; height: 21px; object-fit: contain; }
.product-overview { padding: 34px 0 171px; background: #fff; }
.product-reading-width { max-width: 1005px; }
.product-overview h1 { margin: 0 0 48px; color: var(--alv-blue); font-size: 2rem; font-style: italic; font-weight: 400; letter-spacing: -.025em; }
.product-overview h1 strong { font-weight: 700; }
.product-overview__grid { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 92px; align-items: start; }
.product-overview__image { text-align: center; }
.product-overview__image img { width: 100%; max-width: 300px; max-height: 360px; margin-inline: auto; object-fit: contain; mix-blend-mode: multiply; }
.product-overview__image p { max-width: 320px; margin: 18px auto 0; color: var(--alv-orange); font-size: .92rem; font-weight: 700; }
.product-overview__copy { padding-top: 0; }
.product-overview__copy h2 { margin-bottom: 28px; color: var(--alv-blue); font-size: 1.5rem; font-style: italic; }
.product-overview__copy p { max-width: 680px; margin-bottom: 18px; }
.section-separator { width: 100%; height: 28px; object-fit: cover; }
.product-nutrition { background: var(--alv-mist); }
.product-nutrition .product-reading-width { padding-top: 48px; padding-bottom: 86px; }
.product-nutrition h2, .product-use h2 { color: var(--alv-blue); font-size: 2rem; font-style: italic; font-weight: 400; }
.product-nutrition h2 strong, .product-use h2 strong { font-weight: 700; }
.product-nutrition > .product-reading-width > h3, .product-use h3 { margin-top: 34px; color: var(--alv-blue); font-size: 1.35rem; font-style: italic; }
.product-direct-answer { max-width: 940px; margin-bottom: 34px; }
.product-benefits { max-width: 940px; margin: -10px 0 34px; padding-left: 24px; }
.product-benefits:empty { display: none; }
.product-benefits li { margin-bottom: 8px; }
.nutrition-tables { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 42px; min-width: 0; margin-top: 24px; align-items: start; }
.nutrition-tables .nutrition-table { min-width: 0; margin-top: 0; }
.nutrition-tables .nutrition-table:only-child { grid-column: 1 / -1; max-width: 720px; }
.product-nutrition .nutrition-table h3, .product-nutrition .nutrition-table h4 { margin-bottom: 42px; color: var(--alv-blue); font-size: 1rem; font-style: italic; }
.product-nutrition .nutrition-table table { width: 100%; min-width: 0; margin: 0; border-collapse: collapse; font-size: .86rem; }
.product-nutrition .nutrition-table th, .product-nutrition .nutrition-table td { padding: 3px 10px; border: 1px solid #aeb8b6; line-height: 1.45; text-align: center; }
.product-nutrition .nutrition-table thead th { padding-block: 9px; background: var(--alv-blue); color: #fff; font-style: italic; }
.product-nutrition .nutrition-table tbody th { background: rgba(255,255,255,.24); color: #5d666c; font-weight: 400; }
.product-nutrition .nutrition-table tbody tr:nth-child(even) th, .product-nutrition .nutrition-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.64); }
.nrv-note { margin: 22px 0 0; font-size: .78rem; }
.product-use { background: #fff; }
.product-use .product-reading-width { padding-top: 48px; padding-bottom: 70px; }
.use-list { margin: 22px 0; padding-left: 24px; }
.use-list li { margin-bottom: 7px; }
.product-label-note { padding: 34px 0; background: var(--alv-mist); font-size: .8rem; }
.product-label-note p { margin: 0; }
.product-discovery { padding: 74px 0 78px; background: var(--alv-mist); text-align: center; }
.product-discovery h2 { color: var(--alv-blue); font-size: 2rem; font-style: italic; }
.product-discovery img { width: min(900px,100%); max-height: 310px; margin: 26px auto 0; object-fit: contain; }
.discovery-ranges { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 70px; width: min(880px,100%); margin: -8px auto 0; }
.discovery-ranges a { padding: 10px 12px; border-radius: 999px; background: #fff; color: var(--alv-blue); font-size: .78rem; font-style: italic; font-weight: 700; }
.discovery-legal { margin: 8px 0 0; color: var(--alv-blue); font-size: 1.2rem; font-style: italic; }
.discovery-note { margin: 18px 0 0; font-size: .72rem; }

@media (min-width: 821px) {
  .product-nutrition .product-reading-width { padding-bottom: 46px; }
  .product-nutrition .nutrition-tables { margin-top: 74px; }
}

/* 2026-07-27 round 15: give the homepage range dock breathing room and
   use a centered editorial flow across every product detail page. */
@media (min-width: 1081px) {
  .home .hero-range-dock {
    bottom: -120px;
  }

  .home .age-guide > .shell {
    padding-top: 156px;
  }
}

@media (min-width: 561px) and (max-width: 1080px) {
  .home .hero-range-dock {
    bottom: -104px;
  }

  .home .age-guide > .shell {
    padding-top: 138px;
  }
}

.product-page-hero {
  padding: 38px 0 58px;
}

.product-page-hero > .shell > h1 {
  width: min(980px, 100%);
  margin-inline: auto;
  font-size: clamp(1.9rem, 2.45vw, 2.7rem);
  line-height: 1.25;
  text-align: center;
}

.product-page-hero__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding-top: 30px;
}

.product-page-hero__media {
  display: grid;
  place-items: center;
  align-self: center;
  width: 100%;
  min-height: 0;
  padding: 0;
}

.product-page-hero__media img {
  width: auto;
  max-width: min(100%, 430px);
  max-height: 430px;
  object-fit: contain;
}

.product-page-hero__copy {
  width: min(900px, 100%);
  margin-inline: auto;
}

.product-page-hero__copy .eyebrow {
  text-align: center;
}

.product-source-content {
  padding-top: 54px;
}

.product-overview {
  padding: 34px 0 72px;
}

.product-overview h1 {
  max-width: 980px;
  margin: 0 auto 38px;
  font-size: clamp(1.9rem, 2.45vw, 2.7rem);
  line-height: 1.25;
  text-align: center;
}

.product-overview__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.product-overview__image {
  width: 100%;
}

.product-overview__image img {
  max-width: 430px;
  max-height: 430px;
}

.product-overview__copy,
.product-overview--source .product-overview__copy {
  width: min(900px, 100%);
  padding-top: 0;
}

.product-overview--source {
  min-height: 0;
}

.archive-header { padding: 72px 0 52px; background: #fff; text-align: center; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding-block: 70px 96px; }
.archive-card { background: #fff; box-shadow: var(--alv-shadow); }
.archive-card__body { padding: 24px; }
.archive-card img { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #f7faf9; }

/* Source-matched homepage composition: overlay navigation, range dock and age flow. */
.home .site-header {
  position: absolute;
  inset: 0 0 auto;
  background: transparent;
  box-shadow: none;
}
.home .site-header__inner { justify-content: space-between; }
.home .header-advice { display: none; }
.home .menu-toggle { display: flex; align-items: center; gap: 10px; margin-left: auto; padding: 10px; border: 0; background: rgba(20,28,55,.26); color: #fff; font: 700 .8rem/1 var(--alv-font); cursor: pointer; }
.home .menu-toggle__icon { display: grid; gap: 4px; width: 24px; }
.home .menu-toggle__icon i { display: block; height: 2px; background: currentColor; }
.home .site-nav { display: none; position: absolute; top: 78px; right: 0; width: 300px; padding: 10px 22px 22px; background: #fff; box-shadow: var(--alv-shadow); }
.home .site-nav.is-open { display: block; }
.home .site-nav__list { display: block; }
.home .site-nav__list > li > a { min-height: 48px; border-bottom: 1px solid var(--alv-line); }
.home .hero { min-height: 720px; }
.home .hero__inner { justify-content: center; min-height: 720px; text-align: center; }
.home .hero__backdrop::after { background: linear-gradient(180deg, rgba(16,26,56,.08), rgba(16,26,56,.18)); }
.home .hero__copy { max-width: 620px; padding: 60px 0 120px; }
.home .hero__copy .hero__kicker, .home .hero__copy > p:not(.hero__kicker), .home .hero__copy .button { display: none; }
.home .hero h1 { margin: 0; color: #fff; font-size: clamp(2.4rem, 4.5vw, 4.7rem); text-shadow: 0 3px 18px rgba(0,0,0,.36); }
.home .hero h1 em { color: #fff; }
.hero-range-dock { position: absolute; z-index: 3; left: 50%; bottom: -52px; display: grid; grid-template-columns: repeat(5, 150px); align-items: end; transform: translateX(-50%); }
.hero-range-dock a { display: block; transition: transform .2s ease; }
.hero-range-dock a:hover { transform: translateY(-8px); }
.hero-range-dock img { width: 100%; }
.mobile-home-tools { display: block; padding: 95px 0 28px; }
.mobile-home-tools .shell { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 760px; }
.mobile-home-tools label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mobile-home-tools select { width: 100%; height: 48px; padding: 0 44px 0 17px; border: 1px solid #d4dfdd; border-radius: 24px; background: #fff; color: var(--alv-blue); font: italic 1rem/1 var(--alv-font); }
.mobile-age-catalog { display: block; padding: 10px 0 80px; }
.mobile-age-group { display: grid; grid-template-columns: 135px 1fr; gap: 44px; padding: 50px 0; border-bottom: 1px solid var(--alv-line); }
.mobile-age-group > header img { width: 110px; margin-inline: auto; }
.mobile-age-group__label { margin: 12px 0 0; color: var(--alv-blue); font-size: 1.5rem; line-height: 1.05; text-align: center; }
.mobile-age-group__label span { color: var(--alv-orange); font-size: .8rem; font-style: normal; }
.mobile-age-group__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.mobile-catalog-card { min-width: 0; text-align: center; }
.mobile-catalog-card a { display: flex; flex-direction: column; height: 100%; padding: 10px 14px 22px; }
.mobile-catalog-card__image { display: grid; place-items: center; min-height: 230px; margin-bottom: 14px; overflow: hidden; }
.mobile-catalog-card__image img { max-height: 225px; width: 100%; object-fit: contain; }
.mobile-catalog-card--article { background: #fff; box-shadow: 0 8px 24px rgba(47,54,134,.07); }
.mobile-catalog-card--article .mobile-catalog-card__image { min-height: 0; margin: -10px -14px 14px; }
.mobile-catalog-card--article .mobile-catalog-card__image img { max-height: none; aspect-ratio: 3/2; object-fit: cover; }
.mobile-catalog-card p { margin: 0 0 6px; color: var(--alv-orange); font-size: .7rem; font-weight: 700; }
.mobile-catalog-card h2 { flex: 1; margin-bottom: 16px; color: var(--alv-blue); font-size: 1rem; line-height: 1.4; }
.mobile-catalog-card span { align-self: center; padding: 9px 15px; border-radius: 18px; background: var(--alv-blue); color: #fff; font-size: .68rem; font-weight: 700; }
.mobile-catalog-card--article span { background: transparent; color: var(--alv-orange); }
.range-picker, .age-strip, .featured-products, .advice { display: none; }
.brand-story { background: #fff; color: var(--alv-text); }
.brand-story h2 { color: var(--alv-blue); }
.brand-story .button { border-color: var(--alv-blue); background: var(--alv-blue); color: #fff; }

@media (max-width: 1080px) {
  .site-nav__list { gap: 16px; }
  .header-advice { display: none; }
  .range-card { grid-column: span 3; }
  .range-card:last-child { grid-column: 2 / span 4; }
  .product-grid, .article-grid { grid-template-columns: repeat(2, 1fr); }
  .product-ranges { grid-template-columns: repeat(5, minmax(140px,1fr)); gap: 10px; width: min(820px, calc(100% - 260px)); }
}

@media (max-width: 820px) {
  .shell { width: min(calc(100% - 36px), var(--alv-shell)); }
  .section { padding: 68px 0; }
  .site-header { height: 70px; }
  .site-header__inner { justify-content: space-between; }
  .brand { flex-basis: 126px; }
  .brand img { width: 126px; }
  .menu-toggle { display: flex; align-items: center; gap: 10px; margin-left: auto; padding: 8px; border: 0; background: transparent; color: var(--alv-blue); font: 700 .8rem/1 var(--alv-font); }
  .menu-toggle__icon { display: grid; gap: 4px; width: 24px; }
  .menu-toggle__icon i { display: block; height: 2px; background: var(--alv-blue); }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 70px; padding: 8px 20px 24px; background: #fff; box-shadow: 0 14px 25px rgba(47,54,134,.13); }
  .site-nav.is-open { display: block; }
  .site-nav__list { display: block; }
  .site-nav__list > li > a { min-height: 50px; border-bottom: 1px solid var(--alv-line); }
  .hero, .hero__inner { min-height: 570px; }
  .hero__backdrop { background-position: 62% center; }
  .hero__backdrop::after { background: linear-gradient(90deg, rgba(245,250,249,.95), rgba(245,250,249,.72) 60%, rgba(245,250,249,.2)); }
  .hero__copy { max-width: 470px; }
  .range-grid { grid-template-columns: 1fr 1fr; }
  .range-card, .range-card:nth-child(4), .range-card:nth-child(5), .range-card:last-child { grid-column: auto; }
  .range-card:last-child { grid-column: 1 / -1; }
  .age-strip__inner, .brand-story__inner, .geo-summary__inner, .content-layout, .product-hero__inner { grid-template-columns: 1fr; gap: 44px; }
  .product-answer__inner { grid-template-columns: 1fr; gap: 4px; }
  .product-answer .eyebrow { margin-top: 0; }
  .content-aside { position: static; }
  .site-footer__main { grid-template-columns: 130px minmax(0, 1fr); }
  .footer-social {
    grid-column: 1 / -1;
    padding: 20px 0 0;
    border-top: 1px solid var(--alv-line);
    border-left: 0;
  }
  .footer-social__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }
  .footer-social__platforms { gap: 18px; }
  .footer-ranges__grid { grid-template-columns: repeat(3, 1fr); }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
  .product-detail .site-header { height: 92px; }
  .product-detail .site-header__inner { height: 92px; padding: 0 18px; }
  .product-detail .brand { top: -89px; left: -50px; width: 150px; height: 204px; padding: 0; }
  .product-detail .brand img { width: 200px; max-width: none; }
  .product-detail .menu-toggle { display: flex; }
  .product-detail .site-nav { display: none; position: absolute; left: auto; right: 14px; top: 76px; width: 280px; padding: 8px 20px 24px; background: #fff; box-shadow: 0 14px 25px rgba(47,54,134,.13); }
  .product-detail .site-nav.is-open { display: block; }
  .product-detail .site-nav__list { display: block; }
  .product-detail .site-nav__list > li > a { min-height: 50px; border-bottom: 1px solid var(--alv-line); }
  .product-scene, .product-scene__inner { min-height: 215px; }
  .product-scene { background-position: center; }
  .product-scene__inner { padding-top: 80px; }
  .product-scene .breadcrumbs, .product-ranges { display: none; }
  .product-overview { padding: 30px 0 68px; }
  .product-overview h1 { margin-bottom: 38px; font-size: 2rem; overflow-wrap: anywhere; }
  .product-overview__grid { grid-template-columns: 1fr; gap: 38px; }
  .product-overview__image img { max-width: 300px; max-height: 360px; }
  .product-overview__copy { padding-top: 0; }
  .product-overview__copy h2 { margin-bottom: 20px; }
  .nutrition-tables { grid-template-columns: 1fr; }
  .nutrition-tables .nutrition-table:only-child { grid-column: auto; max-width: none; }
  .product-nutrition .product-reading-width { padding-top: 42px; padding-bottom: 60px; }
  .product-use .product-reading-width { padding-top: 42px; padding-bottom: 58px; }
  .product-discovery { padding: 56px 0; }
  .discovery-ranges { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .shell { width: min(calc(100% - 30px), var(--alv-shell)); }
  .section { padding: 56px 0; }
  .home .site-header { position: relative; height: 92px; background: #fff; box-shadow: 0 5px 18px rgba(34,51,91,.08); }
  .home .site-header__inner { justify-content: space-between; }
  .brand { flex-basis: 158px; }
  .brand img { width: 158px; }
  .home .menu-toggle { background: transparent; color: var(--alv-blue); }
  .home .site-nav { left: 0; right: 0; top: 92px; width: auto; }
  .home .hero, .home .hero__inner { min-height: 510px; }
  .home .hero__backdrop { background-image: url('../images/source/home/Alvityl-enfant-complement-alimentaires.png') !important; background-position: center; }
  .home .hero__backdrop::after { background: linear-gradient(180deg, transparent 38%, rgba(20,28,55,.72) 100%); }
  .hero__inner { align-items: flex-end; }
  .hero__copy { padding: 0 0 38px; }
  .hero__copy .hero__kicker, .hero__copy > p:not(.hero__kicker), .hero__copy .button { display: none; }
  .hero h1 { max-width: 300px; margin: 0; color: #fff; font-size: 2.35rem; text-shadow: 0 2px 12px rgba(0,0,0,.34); }
  .hero h1 em { color: #fff; }
  .hero-range-dock { display: none; }
  .mobile-home-tools { display: block; padding: 24px 0 8px; background: var(--alv-mist); }
  .mobile-home-tools .shell { grid-template-columns: 1fr; gap: 0; max-width: none; }
  .mobile-home-tools label { display: block; margin-bottom: 12px; }
  .mobile-home-tools label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mobile-home-tools select { width: 100%; height: 48px; padding: 0 44px 0 17px; border: 1px solid #d4dfdd; border-radius: 24px; background: #fff; color: var(--alv-blue); font: italic 1rem/1 var(--alv-font); }
  .mobile-age-catalog { display: block; padding: 12px 0 54px; }
  .mobile-age-group { display: block; padding: 24px 0 34px; border-bottom: 1px solid var(--alv-line); }
  .mobile-age-group > header img { width: 96px; margin: 0 auto 24px; }
  .mobile-age-group__label { margin: 0 0 24px; }
  .mobile-age-group__grid { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: stretch; }
  .mobile-catalog-card { width: min(100%, 286px); min-width: 0; margin-inline: auto; background: #fff; box-shadow: 0 7px 22px rgba(47,54,134,.07); text-align: center; }
  .mobile-catalog-card:not(.mobile-catalog-card--article) { background: transparent; box-shadow: none; }
  .mobile-catalog-card a { display: flex; flex-direction: column; height: 100%; padding: 14px 12px 18px; }
  .mobile-catalog-card__image { display: grid; place-items: center; min-height: 150px; margin-bottom: 12px; overflow: hidden; }
  .mobile-catalog-card__image img { max-height: 145px; width: 100%; object-fit: contain; }
  .mobile-catalog-card--article .mobile-catalog-card__image { margin: -14px -12px 12px; }
  .mobile-catalog-card--article .mobile-catalog-card__image img { max-height: none; aspect-ratio: 3/2; object-fit: cover; }
  .mobile-catalog-card p { margin: 0 0 5px; color: var(--alv-orange); font-size: .64rem; font-weight: 700; }
  .mobile-catalog-card h2 { flex: 1; margin-bottom: 14px; color: var(--alv-blue); font-size: .88rem; line-height: 1.35; }
  .mobile-catalog-card span { align-self: center; padding: 8px 12px; border-radius: 18px; background: var(--alv-blue); color: #fff; font-size: .65rem; font-weight: 700; }
  .mobile-catalog-card--article span { background: transparent; color: var(--alv-orange); }
  .range-picker, .age-strip, .featured-products, .advice { display: none; }
  .range-grid, .product-grid, .article-grid, .archive-grid { grid-template-columns: 1fr; }
  .range-card, .range-card:last-child { grid-column: auto; min-height: 300px; }
  .range-card__body { padding: 28px 0 26px 24px; }
  .range-card__body h3 { font-size: 1.55rem; }
  .age-strip__inner { gap: 28px; }
  .age-links { grid-template-columns: repeat(3, 1fr); }
  .age-links img { width: 64px; }
  .product-card__image { height: 240px; }
  .article-card h3 { min-height: auto; }
  .brand-story { background: #fff; color: var(--alv-text); }
  .brand-story h2 { color: var(--alv-blue); }
  .brand-story .button { border-color: var(--alv-blue); background: var(--alv-blue); color: #fff; }
  .brand-story__inner { gap: 32px; }
  .brand-story__image { order: 2; }
  .fact-list > div { grid-template-columns: 96px 1fr; }
  .footer-social__inner {
    display: flex;
    gap: 10px;
    padding: 0;
    text-align: left;
  }
  .footer-social__heading h2 {
    font-size: .86rem;
    white-space: nowrap;
  }
  .footer-social__platforms {
    justify-content: flex-end;
    gap: 12px;
    width: auto;
  }
  .footer-social__item {
    min-width: 48px;
    min-height: 59px;
    padding: 0;
  }
  .footer-social__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .footer-social__icon img {
    width: 23px;
    height: 23px;
  }
  .footer-social__icon--tmall {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .footer-social__icon--tmall img {
    width: 40px;
    height: 40px;
  }
  .footer-social__name { font-size: .62rem; }
  .footer-social__qr {
    width: 132px;
    padding: 7px;
  }
  .footer-social__qr > img {
    width: 118px;
    height: 118px;
  }
  .footer-social__item:first-child .footer-social__qr {
    left: 0;
    transform: translate(0, 10px) scale(.96);
    transform-origin: left bottom;
  }
  .footer-social__item:first-child .footer-social__qr::after {
    left: 25%;
  }
  .footer-social__item:first-child:hover .footer-social__qr,
  .footer-social__item:first-child:focus-visible .footer-social__qr,
  .footer-social__item:first-child.is-open .footer-social__qr {
    transform: translate(0, 0) scale(1);
  }
  .footer-social__item:last-child .footer-social__qr {
    right: 0;
    left: auto;
    transform: translate(0, 10px) scale(.96);
    transform-origin: right bottom;
  }
  .footer-social__item:last-child .footer-social__qr::after {
    right: 19%;
    left: auto;
  }
  .footer-social__item:last-child:hover .footer-social__qr,
  .footer-social__item:last-child:focus-visible .footer-social__qr,
  .footer-social__item:last-child.is-open .footer-social__qr {
    transform: translate(0, 0) scale(1);
  }
  .footer-ranges__grid { grid-template-columns: 1fr 1fr; }
  .footer-range { gap: 8px; }
  .footer-range img { width: 50px; height: 50px; }
  .site-footer__main { grid-template-columns: 1fr; gap: 20px; padding-block: 34px 28px; }
  .footer-social { grid-column: auto; padding-top: 18px; }
  .product-hero { padding: 40px 0 58px; }
  .product-hero__inner { gap: 34px; }
  .product-hero__image { min-height: 320px; }
  .product-hero__image img { max-height: 300px; }
  .product-hero h1 { font-size: 2.25rem; overflow-wrap: anywhere; }
  .product-facts { grid-template-columns: 1fr; }
  .product-answer { padding: 38px 0; }
  .product-answer p:last-child { font-size: 1rem; }
  .product-content-layout { padding-top: 52px; }
  .dosage-grid { grid-template-columns: 1fr; }
  .dosage-grid article { min-height: 100px; }
  .nutrition-table table { min-width: 560px; font-size: .84rem; }
  .content-hero { padding: 48px 0 38px; }
  .content-layout { padding-block: 50px 70px; }
  .product-detail .site-header { height: 78px; }
  .product-detail .site-header__inner { height: 78px; padding: 0 14px; }
  .product-detail .brand { top: -89px; left: -50px; width: 150px; height: 204px; padding: 0; }
  .product-detail .brand img { width: 200px; max-width: none; }
  .product-detail .menu-toggle__icon { width: 26px; }
  .product-detail .site-nav { top: 72px; left: 14px; right: 14px; width: auto; }
  .product-scene, .product-scene__inner { min-height: 215px; }
  .product-scene { background-position: center; }
  .product-overview { padding: 28px 0 56px; }
  .product-overview h1 { margin-bottom: 92px; font-size: 2rem; line-height: 1.45; }
  .product-overview__grid { gap: 105px; }
  .product-overview__image img { max-width: 300px; }
  .product-overview__image p { max-width: 280px; font-size: .82rem; }
  .product-overview__copy h2 { font-size: 1.42rem; line-height: 1.5; }
  .product-nutrition h2, .product-use h2 { font-size: 1.8rem; line-height: 1.45; }
  .product-direct-answer { margin-bottom: 28px; }
  .product-nutrition .nutrition-table table { min-width: 560px; font-size: .82rem; }
  .table-scroll { max-width: 100%; overflow-x: auto; }
  .product-label-note { padding: 28px 0; }
  .product-discovery h2 { font-size: 1.75rem; }
}

/* 2026 China homepage: modern presentation anchored to the French site's range and age flow. */
.home .site-header {
  position: relative;
  inset: auto;
  height: 82px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(34, 51, 91, .08);
}
.home .site-header__inner { justify-content: flex-start; }
.home .brand { flex-basis: 126px; }
.home .brand img { width: 126px; max-height: 58px; }
.home .site-nav {
  display: block;
  position: static;
  width: auto;
  margin-left: auto;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.home .site-nav__list { display: flex; gap: 24px; }
.home .site-nav__list > li > a { min-height: 82px; font-size: .86rem; }
.home .header-advice { display: inline-flex; }
.home .menu-toggle { display: none; }
.home .hero {
  min-height: 585px;
  overflow: visible;
  background: #dfeff3;
}
.home .hero__inner {
  justify-content: flex-start;
  min-height: 585px;
  text-align: left;
}
.home .hero__backdrop { background-position: center; }
.home .hero__backdrop::after {
  background: linear-gradient(90deg, rgba(247,250,249,.92) 0%, rgba(247,250,249,.78) 37%, rgba(247,250,249,.08) 69%);
}
.home .hero__copy {
  max-width: 500px;
  padding: 54px 0 92px;
}
.home .hero__copy .hero__kicker,
.home .hero__copy > p:not(.hero__kicker) { display: block; }
.home .hero__copy .button { display: inline-flex; }
.home .hero h1 {
  margin-bottom: .5em;
  color: var(--alv-blue);
  font-size: clamp(3rem, 5.2vw, 5.4rem);
  text-shadow: none;
}
.home .hero h1 em { color: var(--alv-orange); }
.home .hero__copy > p:not(.hero__kicker) {
  max-width: 460px;
  color: #525d68;
  font-size: 1rem;
}
.home .hero-range-dock {
  bottom: -64px;
  grid-template-columns: repeat(5, 132px);
  gap: 12px;
}
.home-section-heading { margin-bottom: 42px; text-align: center; }
.home-section-heading > p,
.full-range__copy > p:first-child {
  margin-bottom: 8px;
  color: var(--alv-orange);
  font-size: clamp(.84rem, 1vw, .96rem);
  font-weight: 700;
  letter-spacing: .15em;
}
.home-section-heading h2 { margin-bottom: 0; font-size: clamp(2rem, 3vw, 3rem); }
.home-ranges { padding: 126px 0 84px; background: var(--alv-mist); }
.source-range-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 26px;
  align-items: end;
}
.source-range-grid a { color: var(--alv-blue); text-align: center; font-size: .82rem; font-weight: 700; }
.source-range-grid img { width: 100%; max-height: 210px; object-fit: contain; transition: transform .2s ease; }
.source-range-grid a:hover img { transform: translateY(-7px); }
.source-range-grid span { display: block; margin-top: 12px; }
.age-guide { background: #fff; }
.age-guide > .shell { padding-block: 76px 54px; }
.home-section-heading--split {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 70px;
  align-items: center;
  margin-bottom: 0;
  text-align: left;
}
.age-jump {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.age-jump a { display: block; padding: 8px 5px; border: 1px solid #e1e7e6; border-radius: 999px; background: #fff; }
.age-jump img { width: 100%; max-height: 30px; object-fit: contain; transition: transform .2s ease; }
.age-jump a:hover img { transform: translateY(-3px); }
.age-section { padding: 72px 0 66px; background: var(--alv-mist); }
.age-section--white { background: #fff; }
.age-section__inner { position: relative; }
.age-section__marker { display: flex; align-items: center; justify-content: center; min-height: 72px; margin-bottom: 26px; }
.age-section__marker img { width: 116px; }
.age-section__marker--text { flex-direction: column; color: var(--alv-blue); line-height: 1.1; }
.age-section__marker--text small { margin-bottom: 8px; color: var(--alv-orange); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.age-section__marker--text strong { font-size: 1.7rem; font-style: italic; }
.age-section__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; align-items: stretch; }
.age-section__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(760px, 100%); margin-inline: auto; }
.age-product { min-width: 0; text-align: center; }
.age-product a { display: flex; flex-direction: column; height: 100%; padding: 8px 12px 16px; }
.age-product__image { display: grid; place-items: center; height: 210px; margin-bottom: 16px; }
.age-product__image img { max-width: 88%; max-height: 196px; object-fit: contain; mix-blend-mode: multiply; transition: transform .24s ease; }
.age-product:hover .age-product__image img { transform: translateY(-5px) scale(1.025); }
.age-product p { margin: 0 0 7px; color: var(--alv-orange); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.age-product h3 { flex: 1; margin: 0 0 15px; color: var(--alv-blue); font-size: 1rem; font-weight: 600; }
.age-product span,
.age-advice span,
.home-advice span { color: var(--alv-blue); font-size: .76rem; font-weight: 700; }
.age-product span::after,
.age-advice span::after,
.home-advice span::after { content: "  ›"; color: var(--alv-orange); }
.age-advice { min-width: 0; background: #fff; box-shadow: 0 8px 26px rgba(47,54,134,.07); }
.age-section--white .age-advice { background: var(--alv-mist); box-shadow: none; }
.age-advice a { display: block; height: 100%; }
.age-advice img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.age-advice div { padding: 22px 24px 24px; }
.age-advice p { margin-bottom: 6px; color: var(--alv-orange); font-size: .7rem; font-weight: 700; }
.age-advice h3 { min-height: 3em; margin-bottom: 18px; color: var(--alv-blue); font-size: 1.05rem; }
.age-section__more { margin: 34px 0 0; text-align: center; }
.age-section__more a { display: inline-flex; padding: 9px 18px; border: 1px solid #dfe6e4; border-radius: 999px; background: #fff; color: var(--alv-blue); font-size: .72rem; font-weight: 700; }
.full-range { padding: 82px 0; background: #fff; }
.full-range__inner { display: grid; grid-template-columns: 1fr .72fr; gap: 70px; align-items: center; }
.full-range__copy h2 { margin-bottom: 18px; }
.full-range__copy > p:not(:first-child) { max-width: 530px; }
.full-range__inner > img {
  width: auto;
  max-width: min(100%, 360px);
  max-height: 160px;
  justify-self: center;
  object-fit: contain;
}
.home .brand-story { padding: 80px 0; background: var(--alv-blue); color: rgba(255,255,255,.82); }
.home .brand-story h2 { color: #fff; }
.home .brand-story .button { border-color: #fff; background: #fff; color: var(--alv-blue); }
.home .brand-story__image img { max-height: 320px; }
.home .brand-story__mobile-media,
.home .brand-story__mobile-content { display: none; }
.home-advice { padding: 84px 0; background: #fff; }
.home-advice__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.home-advice article { min-width: 0; background: var(--alv-mist); }
.home-advice article a { display: block; height: 100%; padding-bottom: 22px; }
.home-advice img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.home-advice p,
.home-advice h3,
.home-advice span { margin-left: 20px; margin-right: 20px; }
.home-advice p { margin-top: 22px; margin-bottom: 7px; color: var(--alv-orange); font-size: .8rem; font-weight: 700; }
.home-advice h3 { min-height: 4.4em; margin-top: 14px; margin-bottom: 14px; font-size: .96rem; }
.home-advice p + h3 { margin-top: 0; }
.footer-nutrients { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 16px; color: #7b7f89; font-size: .76rem; }
.catalog-hero { padding: 68px 0 54px; background: #fff; }
.catalog-hero > .shell > p { margin-bottom: 8px; color: var(--alv-orange); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.catalog-hero h1 { margin-bottom: 16px; color: var(--alv-blue); font-size: clamp(3rem, 6vw, 5.5rem); }
.catalog-hero__intro { max-width: 620px; color: #5e6670; font-size: 1.04rem; }
.catalog-shell { padding: 64px 0 96px; background: var(--alv-mist); }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 46px; }
.catalog-filters a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 18px; border: 1px solid #d9e2e0; border-radius: 999px; background: #fff; color: var(--alv-blue); font-size: .8rem; font-weight: 700; }
.catalog-filters a.is-active { border-color: var(--alv-blue); background: var(--alv-blue); color: #fff; }
.catalog-filters span { margin-left: 7px; opacity: .72; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 26px; }
.catalog-card { min-width: 0; text-align: center; }
.catalog-card a { display: flex; flex-direction: column; height: 100%; padding: 12px 10px 18px; }
.catalog-card__image { display: grid; place-items: center; height: 210px; margin-bottom: 16px; }
.catalog-card__image img { max-width: 92%; max-height: 195px; object-fit: contain; mix-blend-mode: multiply; transition: transform .24s ease; }
.catalog-card:hover img { transform: translateY(-5px) scale(1.025); }
.catalog-card p { margin: 0 0 7px; color: var(--alv-orange); font-size: .68rem; font-weight: 700; }
.catalog-card h2 { flex: 1; margin-bottom: 15px; color: var(--alv-blue); font-size: .92rem; line-height: 1.4; }
.catalog-card span { color: var(--alv-blue); font-size: .74rem; font-weight: 700; }
.catalog-card span::after { content: "  ›"; color: var(--alv-orange); }
.product-overview--source { min-height: 650px; }
.product-overview--source .product-overview__copy p { max-width: 520px; }

@media (max-width: 1080px) {
  .home .site-nav__list { gap: 14px; }
  .home .site-nav__list > li > a { font-size: .78rem; }
  .home .header-advice { display: none; }
  .home .hero-range-dock { grid-template-columns: repeat(5, 112px); }
  .home-advice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .home .site-header { height: 74px; }
  .home .site-header__inner { justify-content: space-between; }
  .home .menu-toggle { display: flex; background: transparent; color: var(--alv-blue); }
  .home .site-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 74px;
    width: auto;
    padding: 8px 20px 24px;
    background: #fff;
    box-shadow: 0 14px 25px rgba(47,54,134,.13);
  }
  .home .site-nav.is-open { display: block; }
  .home .site-nav__list { display: block; }
  .home .site-nav__list > li > a { min-height: 50px; }
  .home .hero, .home .hero__inner { min-height: 540px; }
  .home .hero-range-dock { grid-template-columns: repeat(5, 94px); gap: 8px; }
  .source-range-grid { gap: 12px; }
  .home-section-heading--split, .full-range__inner { grid-template-columns: 1fr; gap: 34px; }
  .age-section__grid, .age-section__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .home .site-header { height: 78px; }
  .home .site-nav { top: 78px; }
  .home .hero, .home .hero__inner { min-height: 520px; }
  .home .hero__backdrop {
    background-image: url('../images/source/home/Alvityl-et-la-vie-sequilibre-laboratoire.png') !important;
    background-position: 64% center;
  }
  .home .hero__backdrop::after {
    background: linear-gradient(0deg, rgba(247,250,249,.97) 0%, rgba(247,250,249,.78) 44%, rgba(247,250,249,.05) 78%);
  }
  .home .hero__inner { align-items: flex-end; }
  .home .hero__copy { max-width: 100%; padding: 0 0 42px; }
  .home .hero__copy .hero__kicker,
  .home .hero__copy > p:not(.hero__kicker) { display: block; }
  .home .hero__copy .button { display: inline-flex; min-height: 44px; padding: 10px 18px; }
  .home .hero h1 { max-width: 330px; margin-bottom: 14px; color: var(--alv-blue); font-size: 2.65rem; text-shadow: none; }
  .home .hero h1 em { color: var(--alv-orange); }
  .home .hero__copy > p:not(.hero__kicker) { margin-bottom: 18px; color: #48535f; font-size: .92rem; line-height: 1.6; }
  .home .hero-range-dock { display: none; }
  .home-ranges { padding: 58px 0; }
  .home-section-heading { margin-bottom: 28px; }
  .source-range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .source-range-grid a:last-child { grid-column: 1 / -1; width: calc(50% - 8px); margin-inline: auto; }
  .source-range-grid img { max-height: 160px; }
  .age-guide > .shell { padding-block: 54px 38px; }
  .home-section-heading--split { gap: 24px; }
  .home-section-heading--split h2 br { display: none; }
  .age-jump { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 7px; }
  .age-jump a { flex: 0 0 110px; }
  .age-section { padding: 48px 0 44px; }
  .age-section__marker { margin-bottom: 20px; }
  .age-section__grid, .age-section__grid--two { grid-template-columns: 1fr; gap: 24px; }
  .age-product { width: min(100%, 290px); margin-inline: auto; }
  .age-product__image { height: 172px; }
  .age-product__image img { max-height: 162px; }
  .age-product p { font-size: .66rem; }
  .age-product h3 { min-height: auto; }
  .age-advice { width: min(100%, 330px); margin-inline: auto; }
  .full-range { padding: 58px 0; }
  .full-range__inner { gap: 28px; }
  .full-range__inner > img { max-height: 170px; }
  .home .brand-story { padding: 58px 0; background: var(--alv-blue); color: rgba(255,255,255,.82); }
  .home .brand-story h2 { color: #fff; }
  .home .brand-story .button { border-color: #fff; background: #fff; color: var(--alv-blue); }
  .home .brand-story__image { order: 2; }
  .home-advice { padding: 58px 0; }
  .home-advice__grid { grid-template-columns: 1fr; }
  .home-advice article { width: min(100%, 330px); margin-inline: auto; }
  .home-advice h3 { min-height: auto; }
  .catalog-hero { padding: 46px 0 36px; }
  .catalog-shell { padding: 42px 0 64px; }
  .catalog-filters { gap: 8px; margin-bottom: 34px; }
  .catalog-filters a { padding-inline: 14px; }
  .catalog-grid { grid-template-columns: 1fr 1fr; gap: 28px 12px; }
  .catalog-card a { padding-inline: 4px; }
  .catalog-card__image { height: 150px; }
  .catalog-card__image img { max-height: 140px; }
  .catalog-card h2 { font-size: .8rem; overflow-wrap: anywhere; }
}

/* Complete source-content templates */
.content-reading-width { width: min(860px, 100%); }
.product-range-banner { min-height: 230px; background-position: center; background-size: cover; }
.product-range-banner > .shell { position: relative; min-height: 230px; padding-top: 92px; }
.product-range-banner .breadcrumbs { color: rgba(255,255,255,.92); }
.product-range-banner .breadcrumbs a { color: #fff; }
.product-range-banner__nav { position: absolute; right: 0; bottom: 15px; left: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.product-range-banner__nav a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 7px 15px; border: 2px solid transparent; border-radius: 999px; background: #fff; color: var(--alv-blue); font-size: .83rem; font-style: italic; font-weight: 800; }
.product-range-banner__nav a.is-active { border-color: #fff; background: transparent; color: #fff; }
.product-range-banner__nav img { width: 30px; height: 30px; object-fit: contain; }
.product-page-hero { padding: 34px 0 88px; background: #fff; }
.product-page-hero > .shell > h1 { margin: 0; color: var(--alv-blue); font-size: clamp(2rem, 3vw, 3rem); font-style: italic; line-height: 1.14; }
.product-page-hero__grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); gap: clamp(56px, 7vw, 112px); align-items: center; padding-top: 42px; }
.product-page-hero__media { display: grid; place-items: center; min-height: 340px; }
.product-page-hero__media img { max-width: min(100%, 320px); max-height: 330px; object-fit: contain; mix-blend-mode: multiply; }
.product-page-hero__copy .eyebrow,
.page-hero .eyebrow,
.article-hero .eyebrow,
.listing-hero .eyebrow { margin-bottom: 12px; color: var(--alv-orange); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.product-page-hero__copy h2 { margin: 0 0 15px; color: var(--alv-blue); font-size: clamp(1.35rem, 2vw, 1.9rem); line-height: 1.25; }
.product-page-hero__copy p,
.product-page-hero__copy li { color: #4f5961; font-size: 1rem; line-height: 1.78; }
.product-page-hero__copy ul { margin: 18px 0 0; padding-left: 1.2em; }
.product-gallery { padding-block: 62px 10px; }
.product-gallery__track { display: flex; gap: 22px; padding: 0 0 18px; overflow-x: auto; scroll-snap-type: x mandatory; }
.product-gallery figure { flex: 0 0 min(300px, 78vw); scroll-snap-align: start; margin: 0; background: #fff; }
.product-gallery img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.source-content { padding: 86px 0 98px; background: #fff; }
.product-gallery + .source-content { padding-top: 58px; }
.source-content h2 { margin: 2.4em 0 .72em; color: var(--alv-blue); font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.18; }
.source-content h2:first-child { margin-top: 0; }
.source-content h3 { margin: 2em 0 .65em; color: var(--alv-blue); font-size: clamp(1.25rem, 2vw, 1.7rem); }
.source-content h4 { margin: 1.6em 0 .55em; color: var(--alv-blue); font-size: 1.1rem; }
.source-content p,
.source-content li { color: #505b62; font-size: 1rem; line-height: 1.86; }
.source-content p { margin: 0 0 1.2em; }
.source-content ul,
.source-content ol { margin: 0 0 1.5em; padding-left: 1.35em; }
.source-content li { margin-bottom: .55em; }
.content-link a { display: inline-flex; align-items: center; gap: 8px; color: var(--alv-blue); font-weight: 800; }
.content-link a::after { content: "›"; color: var(--alv-orange); font-size: 1.35em; }
.article-figure { margin: 46px auto; }
.article-figure img { display: block; width: 100%; max-height: 620px; object-fit: contain; }
.content-table { margin: 42px 0 54px; }
.content-table > h3 { margin-top: 0; }
.content-table table { width: 100%; border-collapse: collapse; background: #fff; }
.content-table th,
.content-table td { padding: 13px 16px; border: 1px solid #d9e1e1; color: #4e5861; text-align: left; vertical-align: top; }
.content-table thead th { border-color: var(--alv-blue); background: var(--alv-blue); color: #fff; font-size: .83rem; }
.content-table tbody th { color: var(--alv-blue); font-weight: 750; }
.content-table tbody tr.content-table__group-heading th {
  border-color: var(--alv-blue);
  background: var(--alv-blue);
  color: #fff;
  font-weight: 800;
}
.content-table__notes { margin-top: 14px; color: #5d666c; font-size: .8rem; line-height: 1.65; }
.content-table__notes p { margin: 0 0 6px; }
.related-products { padding: 82px 0 92px; background: var(--alv-mist); }
.related-products header { margin-bottom: 40px; text-align: center; }
.related-products header p { margin-bottom: 8px; color: var(--alv-orange); font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.related-products header h2 { margin: 0; }
.related-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.related-product { min-width: 0; text-align: center; }
.related-product a { display: flex; flex-direction: column; height: 100%; }
.related-product div { display: grid; place-items: center; height: 210px; margin-bottom: 18px; background: #fff; }
.related-product img { max-width: 88%; max-height: 190px; object-fit: contain; mix-blend-mode: multiply; }
.related-product h3 { flex: 1; margin: 0 0 12px; color: var(--alv-blue); font-size: .93rem; }
.related-product span { color: var(--alv-blue); font-size: .75rem; font-weight: 750; }
.related-product span::after { content: "  ›"; color: var(--alv-orange); }
.article-hero { padding: 34px 0 74px; background: var(--alv-mist); }
.article-hero__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(46px, 7vw, 100px); align-items: center; padding-top: 42px; }
.article-hero__copy h1,
.page-hero h1,
.listing-hero h1 { margin: 0; color: var(--alv-blue); font-size: clamp(2.6rem, 5vw, 5rem); line-height: 1.08; }
.article-hero__media img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.article-source-content { padding-top: 80px; }
.page-hero,
.listing-hero { padding: 46px 0 64px; background: var(--alv-mist); }
.page-hero--compact { padding-bottom: 58px; }
.page-hero .breadcrumbs,
.listing-hero .breadcrumbs { margin-bottom: 42px; }
.page-hero h1,
.listing-hero h1 { max-width: 970px; }
.page-hero > .shell > p:last-child,
.listing-hero > .shell > p:last-child { max-width: 720px; margin: 24px 0 0; color: #576168; font-size: 1.02rem; line-height: 1.8; }
.listing-content,
.catalog-shell { padding: 70px 0 100px; background: #fff; }
.content-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 62px 30px; }
.content-card { min-width: 0; }
.content-card[hidden] { display: none !important; }
.content-card a { display: flex; flex-direction: column; height: 100%; }
.content-card__media { display: grid; place-items: center; aspect-ratio: 3/2; margin-bottom: 23px; overflow: hidden; background: var(--alv-mist); }
.content-card__media img { width: 100%; height: 100%; object-fit: cover; }
.content-card-grid--products .content-card__media {
  aspect-ratio: 1.18;
  background: transparent;
}
.content-card-grid--products .content-card__media img {
  width: 84%;
  height: 84%;
  object-fit: contain;
  mix-blend-mode: normal;
}
.content-card__copy { display: flex; flex: 1; flex-direction: column; }
.content-card__copy p { margin: 0 0 8px; color: var(--alv-orange); font-size: .7rem; font-weight: 800; }
.content-card__copy h2 { flex: 1; margin: 0 0 18px; color: var(--alv-blue); font-size: 1.2rem; line-height: 1.35; }
.content-card__copy span { color: var(--alv-blue); font-size: .78rem; font-weight: 750; }
.content-card__copy span::after { content: "  ›"; color: var(--alv-orange); }
.content-card__summary {
  display: -webkit-box;
  margin: 10px 0 18px;
  overflow: hidden;
  color: #667078;
  font-size: .82rem;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.range-advice .content-card__media { background: #fff; }
.range-advice .content-card__media img { object-fit: cover; }
.faq-page { padding: 76px 0 100px; background: #fff; }
.faq-page__inner { width: min(940px, 100%); }
.faq-item { border-top: 1px solid #d9e1e1; }
.faq-item:last-child { border-bottom: 1px solid #d9e1e1; }
.faq-item summary { position: relative; padding: 24px 56px 24px 0; color: var(--alv-blue); font-size: 1.05rem; font-weight: 750; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; top: 19px; right: 4px; color: var(--alv-orange); font-size: 1.7rem; font-weight: 400; }
.faq-item[open] summary::after { content: "−"; }
.faq-item > div { padding: 0 50px 25px 0; }
.faq-item p { margin: 0; color: #566168; line-height: 1.8; }

@media (max-width: 980px) {
  .product-page-hero__grid { grid-template-columns: .8fr 1.2fr; gap: 42px; }
  .product-page-hero__media { min-height: 350px; }
  .product-page-hero__media img { max-height: 330px; }
  .related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .product-range-banner,
  .product-range-banner > .shell { min-height: 190px; }
  .product-range-banner > .shell { padding-top: 98px; }
  .product-range-banner__nav { display: none; }
  .product-page-hero { padding-bottom: 58px; }
  .product-page-hero__grid,
  .article-hero__grid { grid-template-columns: 1fr; gap: 32px; padding-top: 28px; }
  .product-page-hero__media { min-height: 250px; }
  .product-page-hero__media img { max-height: 235px; }
  .product-page-hero > .shell > h1 { font-size: clamp(1.9rem, 9vw, 2.65rem); }
  .source-content { padding: 60px 0 72px; }
  .source-content h2 { margin-top: 2em; }
  .content-table { max-width: 100%; margin-inline: 0; }
  .content-table .table-scroll { max-width: 100%; overflow-x: auto; }
  .content-table th,
  .content-table td { min-width: 120px; padding: 11px 12px; font-size: .82rem; }
  .article-hero__media { order: -1; }
  .article-hero__copy h1,
  .page-hero h1,
  .listing-hero h1 { font-size: clamp(2.3rem, 12vw, 3.5rem); }
  .content-card-grid,
  .content-card-grid--products { grid-template-columns: 1fr 1fr; gap: 42px 14px; }
  .content-card__copy h2 { font-size: .93rem; overflow-wrap: anywhere; }
  .content-card__media { margin-bottom: 16px; }
  .related-products__grid { gap: 34px 14px; }
  .related-product div { height: 160px; }
  .related-product img { max-height: 145px; }
  .faq-item summary { padding-right: 44px; font-size: .95rem; }
}

@media (max-width: 420px) {
  .content-card-grid:not(.content-card-grid--products) { grid-template-columns: 1fr; }
}

/* Source-aligned secondary pages */
.has-source-banner .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 40;
  height: 94px;
  background: transparent;
  box-shadow: none;
}
.has-source-banner .site-header__inner {
  width: 100%;
  max-width: none;
  height: 94px;
  padding-inline: 28px;
  justify-content: flex-end;
}
.has-source-banner .brand {
  position: absolute;
  top: -82px;
  left: -42px;
  width: 238px;
  height: 245px;
}
.has-source-banner .brand img {
  width: 238px;
  max-width: none;
  max-height: none;
  filter: none;
}
.has-source-banner .header-advice { display: none; }
.has-source-banner .menu-toggle {
  display: flex;
  align-items: center;
  margin-left: auto;
  padding: 12px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.has-source-banner .menu-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.has-source-banner .menu-toggle__icon {
  display: grid;
  gap: 5px;
  width: 30px;
}
.has-source-banner .menu-toggle__icon i {
  display: block;
  height: 3px;
  background: currentColor;
}
.has-source-banner .site-nav {
  display: none;
  position: absolute;
  top: 82px;
  right: 28px;
  width: min(320px, calc(100vw - 40px));
  margin: 0;
  padding: 12px 24px 22px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(33, 43, 91, .18);
}
.has-source-banner .site-nav.is-open { display: block; }
.has-source-banner .site-nav__list { display: block; }
.has-source-banner .site-nav__list > li > a {
  min-height: 48px;
  border-bottom: 1px solid var(--alv-line);
  color: var(--alv-blue);
}
.source-banner {
  min-height: 230px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.source-banner__inner {
  position: relative;
  min-height: 230px;
  padding-top: 94px;
}
.source-banner .breadcrumbs {
  margin-left: 150px;
  color: rgba(255, 255, 255, .96);
  font-size: .75rem;
  font-weight: 700;
  text-shadow: 0 1px 7px rgba(28, 30, 50, .44);
}
.source-banner .breadcrumbs a { color: #fff; }
.source-banner__ranges {
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.source-banner__ranges a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 7px 14px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: #fff;
  color: var(--alv-blue);
  font-size: .8rem;
  font-style: italic;
  font-weight: 800;
  text-align: center;
}
.source-banner__ranges a.is-active {
  border-color: #fff;
  background: rgba(36, 43, 111, .34);
  color: #fff;
}
.source-banner__ranges img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(2926%) hue-rotate(204deg) brightness(91%) contrast(92%);
}
.source-banner__ranges a.is-active img {
  filter: brightness(0) invert(1);
}
.secondary-title {
  padding-top: 64px;
  padding-bottom: 52px;
}
.secondary-title .eyebrow {
  margin-bottom: 10px;
  color: var(--alv-orange);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.secondary-title h1 {
  max-width: 900px;
  margin: 0;
  color: var(--alv-blue);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 1.08;
}
.secondary-title > p:last-child {
  max-width: 720px;
  margin: 20px 0 0;
  color: #59636b;
  font-size: 1rem;
  line-height: 1.8;
}
.article-hero {
  padding: 50px 0 70px;
  background: #fff;
}
.article-hero__grid {
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  padding-top: 0;
}
.article-hero__copy h1 {
  font-size: clamp(2.25rem, 4.2vw, 4.4rem);
}
.article-hero__copy > p:last-child {
  margin: 22px 0 0;
  color: #566168;
  font-size: 1rem;
  line-height: 1.8;
}
.article-hero__media {
  min-height: 330px;
  background: var(--alv-mist);
}
.article-hero__media img {
  height: 100%;
  min-height: 330px;
  object-fit: cover;
}
.article-hero__media--empty {
  background: linear-gradient(135deg, #f0f5f4, #fff);
}
.article-source-content { background: var(--alv-mist); }
.faq-page { padding-top: 10px; }
.faq-page__inner {
  padding: 14px 32px;
  border: 1px solid #d9e1e1;
}
.faq-item:first-child { border-top: 0; }
.brand-page .brand-story {
  padding: 12px 0 96px;
  background: #fff;
  color: var(--alv-text);
}
.brand-story__grid {
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(54px, 7vw, 105px);
  align-items: start;
}
.brand-story__media {
  position: sticky;
  top: 30px;
  margin: 0;
}
.brand-story__media img {
  width: 100%;
  max-height: 720px;
  object-fit: cover;
}
.brand-story__copy h2 {
  margin: 0 0 22px;
  color: var(--alv-blue);
  font-size: clamp(1.8rem, 2.6vw, 2.5rem);
  line-height: 1.18;
  text-wrap: balance;
}
.brand-story__copy h3 {
  margin: 42px 0 12px;
  color: var(--alv-blue);
  font-size: 1.3rem;
}
.brand-story__copy p {
  margin: 0 0 20px;
  color: #505b62;
  font-size: 1rem;
  line-height: 1.86;
}
.range-products {
  padding: 64px 0 96px;
  background: var(--alv-mist);
}
.range-advice {
  padding: 82px 0 96px;
  background: #fff;
}
.range-advice > .shell > header {
  margin-bottom: 42px;
}
.range-advice h2 {
  margin: 0;
  color: var(--alv-blue);
  font-size: clamp(2rem, 3.5vw, 3rem);
}
.sitemap-page {
  padding: 10px 0 96px;
  background: #fff;
}
.sitemap-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px 80px;
}
.sitemap-group h2 {
  padding-bottom: 14px;
  border-bottom: 2px solid var(--alv-blue);
  color: var(--alv-blue);
  font-size: 1.5rem;
}
.sitemap-group ul {
  columns: 2;
  gap: 30px;
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}
.sitemap-group li {
  break-inside: avoid;
  margin: 0 0 10px;
}
.sitemap-group a {
  color: #4f5961;
  font-size: .9rem;
  line-height: 1.5;
}
.sitemap-group a:hover { color: var(--alv-orange); }
.home .brand {
  flex-basis: 172px;
}
.home .brand img {
  width: 172px;
  max-height: 68px;
}

@media (max-width: 1080px) {
  .source-banner__ranges { gap: 8px; }
  .source-banner__ranges a { padding-inline: 8px; font-size: .72rem; }
  .source-banner__ranges img { width: 24px; height: 24px; }
  .home .brand { flex-basis: 150px; }
  .home .brand img { width: 150px; }
}

@media (max-width: 720px) {
  .has-source-banner .site-header,
  .has-source-banner .site-header__inner { height: 78px; }
  .has-source-banner .site-header__inner { padding-inline: 14px; }
  .has-source-banner .brand {
    top: -70px;
    left: -42px;
    width: 178px;
    height: 190px;
  }
  .has-source-banner .brand img { width: 178px; }
  .has-source-banner .site-nav { top: 70px; right: 14px; }
  .source-banner,
  .source-banner__inner { min-height: 176px; }
  .source-banner__inner { padding-top: 82px; }
  .source-banner .breadcrumbs { margin-left: 86px; font-size: .67rem; }
  .source-banner__ranges { display: none; }
  .secondary-title { padding-top: 44px; padding-bottom: 38px; }
  .secondary-title h1 { font-size: clamp(2.15rem, 10vw, 3.2rem); }
  .article-hero { padding: 34px 0 52px; }
  .article-hero__grid,
  .brand-story__grid { grid-template-columns: 1fr; gap: 34px; }
  .article-hero__media { min-height: 230px; }
  .article-hero__media img { min-height: 230px; }
  .brand-story__media { position: static; }
  .brand-story__media img { max-height: 520px; object-position: center 34%; }
  .faq-page__inner { padding: 8px 18px; }
  .range-products { padding: 46px 0 68px; }
  .range-advice { padding: 58px 0 72px; }
  .sitemap-page__grid { grid-template-columns: 1fr; gap: 38px; }
  .sitemap-group ul { columns: 1; }
}

/* Final public-site refinements: Chinese navigation assets, crisp product media,
   accessible contrast, and complete range landing overviews. */
.home .brand--home {
  display: grid;
  place-items: center;
  flex: 0 0 82px;
  width: 82px;
  height: 82px;
  margin: 0;
  border: 1px solid #e8eceb;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 5px 16px rgba(28, 45, 92, .08);
}
.home .brand--home img {
  width: 70px;
  height: auto;
  max-height: 38px;
  object-fit: contain;
  transform: translateY(1px);
}

.home .hero-range-dock {
  bottom: -76px;
  grid-template-columns: repeat(5, clamp(116px, 10.4vw, 160px));
  gap: clamp(8px, 1vw, 15px);
}
.hero-range-dock .range-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 172px;
  padding: 22px 10px 16px;
  border-radius: 26px 26px 4px 4px;
  color: #fff;
  text-align: center;
  box-shadow: 0 12px 26px rgba(31, 42, 100, .12);
}
.hero-range-dock .range-tile > span {
  min-height: 2.6em;
  font-size: clamp(.68rem, .8vw, .8rem);
  font-weight: 700;
  line-height: 1.25;
}
.hero-range-dock .range-tile > img {
  width: 52px;
  height: 52px;
  margin: 8px 0;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.hero-range-dock .range-tile > strong {
  font-size: clamp(.72rem, .88vw, .88rem);
  line-height: 1.2;
}
.range-tile--vitality { background: #eb922a; }
.range-tile--immunity { background: #72b83f; }
.range-tile--sleep { background: #3d9bd1; }
.range-tile--wellbeing { background: #bd303b; }
.range-tile--children { background: #f6c43e; }
.hero-range-dock .range-tile:hover,
.hero-range-dock .range-tile:focus-visible {
  color: #fff;
  transform: translateY(-8px);
}

.age-guide > .shell { padding-top: 96px; }
.age-jump a {
  display: flex;
  min-height: 58px;
  padding: 8px 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--alv-blue);
  line-height: 1.15;
}
.age-jump a > span {
  margin-bottom: 4px;
  color: #7f8bb0;
  font-size: .58rem;
  letter-spacing: .06em;
}
.age-jump a > strong {
  font-size: .84rem;
  font-style: italic;
}
.age-jump a:hover,
.age-jump a:focus-visible {
  border-color: var(--alv-blue);
  color: var(--alv-blue);
  transform: translateY(-2px);
}
.age-section__marker {
  flex-direction: column;
  color: var(--alv-blue);
  line-height: 1.1;
}
.age-section__marker > span {
  margin-bottom: 7px;
  color: var(--alv-orange);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.age-section__marker > strong {
  font-size: 1.65rem;
  font-style: italic;
}

.full-range__inner {
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  gap: clamp(44px, 6vw, 88px);
}
.product-family-collage {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  min-height: 260px;
  padding: 28px 20px 20px;
  background: linear-gradient(180deg, #fff 0%, #f5f7f6 100%);
}
.product-family-collage > img {
  width: 100%;
  height: 205px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.product-family-collage--brand {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 330px;
  padding: 0;
  background: transparent;
}
.product-family-collage--brand > img {
  height: 300px;
  mix-blend-mode: normal;
}
.product-family-collage--brand > img:nth-child(2) {
  height: 325px;
}
.home .brand-story .brand-story__copy .eyebrow {
  color: #ffc667;
}
.home .brand-story .brand-story__copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, .9);
}

.range-overview {
  padding: 66px 0 82px;
  background: #fff;
}
.range-overview__heading {
  margin-bottom: 42px;
}
.range-overview__heading .eyebrow,
.range-products__heading .eyebrow {
  margin-bottom: 9px;
  color: var(--alv-orange);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.range-overview__heading h1 {
  max-width: 960px;
  margin: 0;
  color: var(--alv-blue);
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: 1.08;
}
.range-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  gap: clamp(46px, 7vw, 100px);
  align-items: center;
}
.range-overview__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  min-height: 330px;
  padding: 30px 24px 22px;
  background: linear-gradient(180deg, #fff 0%, #f3f5f4 100%);
  overflow: hidden;
}
.range-overview__products img {
  width: 100%;
  height: 260px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.range-overview__products img:nth-child(2) { height: 295px; }
.range-overview__copy h2 {
  margin: 0 0 20px;
  color: var(--alv-blue);
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  font-style: italic;
  line-height: 1.2;
}
.range-overview__copy p {
  margin: 0 0 28px;
  color: #566168;
  font-size: 1rem;
  line-height: 1.86;
}
.range-overview__copy .text-link {
  color: var(--alv-blue);
  font-size: .83rem;
  font-weight: 800;
}
.range-overview__copy .text-link::after {
  content: "  ›";
  color: var(--alv-orange);
}
.range-products__heading {
  margin-bottom: 38px;
}
.range-products__heading h2 {
  margin: 0;
  color: var(--alv-blue);
  font-size: clamp(2rem, 3.5vw, 3.2rem);
}

@media (max-width: 1080px) {
  .home .brand--home {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
  }
  .home .brand--home img { width: 62px; }
  .full-range__inner {
    grid-template-columns: minmax(0, .82fr) minmax(440px, 1.18fr);
  }
  .product-family-collage > img { height: 175px; }
}

@media (max-width: 820px) {
  .full-range__inner,
  .range-overview__grid {
    grid-template-columns: 1fr;
  }
  .range-overview__products { order: 2; }
  .range-overview__copy { order: 1; }
}

@media (max-width: 560px) {
  .home .brand--home {
    flex-basis: 66px;
    width: 66px;
    height: 66px;
  }
  .home .brand--home img { width: 56px; max-height: 32px; }
  .home .hero-range-dock {
    position: relative;
    left: auto;
    bottom: auto;
    display: flex;
    width: 100%;
    padding: 18px 18px 20px;
    gap: 10px;
    overflow-x: auto;
    transform: none;
    background: var(--alv-mist);
  }
  .hero-range-dock .range-tile {
    flex: 0 0 122px;
    min-height: 152px;
    padding: 18px 8px 14px;
  }
  .hero-range-dock .range-tile > img {
    width: 44px;
    height: 44px;
  }
  .age-guide > .shell { padding-top: 50px; }
  .age-jump a { flex-basis: 116px; }
  .full-range__inner { grid-template-columns: minmax(0, 1fr); }
  .product-family-collage {
    min-height: 220px;
    padding-inline: 10px;
  }
  .product-family-collage > img { height: 155px; }
  .product-family-collage--brand {
    min-height: 245px;
  }
  .product-family-collage--brand > img,
  .product-family-collage--brand > img:nth-child(2) { height: 225px; }
  .range-overview { padding: 48px 0 58px; }
  .range-overview__heading { margin-bottom: 30px; }
  .range-overview__grid { gap: 34px; }
  .range-overview__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 430px;
    padding: 18px 12px;
  }
  .range-overview__products img,
  .range-overview__products img:nth-child(2) { height: 195px; }
}

/* 2026-07-24 source-fidelity pass: restore the French brand roundel,
   use the original range silhouettes, and localize the age marker as a
   finished public-facing component. */
.home .site-header {
  overflow: visible;
}
.home .site-header__inner {
  position: relative;
  padding-left: 164px;
}
.home .brand--home {
  position: absolute;
  z-index: 4;
  top: -15px;
  left: -22px;
  display: block;
  flex: none;
  width: 174px;
  height: 178px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 9px 14px rgba(29, 42, 87, .14));
}
.home .brand--home img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  transform: none;
}

.home .hero-range-dock {
  bottom: -46px;
  grid-template-columns: repeat(5, clamp(138px, 11.5vw, 184px));
  gap: clamp(10px, 1.1vw, 18px);
  align-items: end;
}
.hero-range-dock .range-tile {
  min-height: 0;
  aspect-ratio: 209 / 231;
  padding: 25px 12px 16px;
  border-radius: 0;
  background-color: var(--tile-color);
  -webkit-mask-image: var(--tile-mask);
  mask-image: var(--tile-mask);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  box-shadow: none;
  filter: drop-shadow(0 13px 13px rgba(26, 37, 81, .18));
  transition: transform .22s ease, filter .22s ease;
}
.hero-range-dock .range-tile > span {
  min-height: 2.5em;
  font-size: clamp(.69rem, .77vw, .82rem);
  font-weight: 700;
  line-height: 1.22;
}
.hero-range-dock .range-tile > img {
  width: clamp(43px, 3.8vw, 54px);
  height: clamp(43px, 3.8vw, 54px);
  margin: 6px 0;
}
.hero-range-dock .range-tile > strong {
  font-size: clamp(.76rem, .84vw, .91rem);
  font-weight: 800;
}
.range-tile--vitality {
  --tile-color: #eb922a;
  --tile-mask: url("../images/source/home/Alvityl-vitalite-fatigue.png");
}
.range-tile--immunity {
  --tile-color: #72b83f;
  --tile-mask: url("../images/source/home/Alvityl-immunite-organisme-affaibli.png");
}
.range-tile--sleep {
  --tile-color: #3d9bd1;
  --tile-mask: url("../images/source/home/Alvityl-stress-et-sommeil-sommeil-perturbe.png");
}
.range-tile--wellbeing {
  --tile-color: #bd303b;
  --tile-mask: url("../images/source/home/Alvityl-bien-etre-physique-dfficile-de-bouger.png");
}
.range-tile--children {
  --tile-color: #f6c43e;
  --tile-mask: url("../images/source/home/Alvityl-enfant-gamme.png");
}
.hero-range-dock .range-tile:hover,
.hero-range-dock .range-tile:focus-visible {
  color: #fff;
  transform: translateY(-9px);
  filter: drop-shadow(0 18px 16px rgba(26, 37, 81, .23));
}

.age-guide > .shell {
  padding-top: 82px;
}
.age-section__marker {
  display: flex;
  width: max-content;
  max-width: calc(100% - 24px);
  min-height: 70px;
  margin: 0 auto 34px;
  padding: 8px 20px 8px 8px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border-radius: 24px;
  background: var(--alv-blue);
  color: #fff;
  box-shadow: 0 13px 25px rgba(47, 54, 134, .17);
}
.age-section__marker-logo {
  display: grid;
  place-items: center;
  flex: 0 0 84px;
  width: 84px;
  height: 54px;
  padding: 7px 9px;
  border-radius: 18px;
  background: #fff;
}
.age-section__marker-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.age-section__marker-copy {
  display: flex;
  min-width: 86px;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
  white-space: nowrap;
}
.age-section__marker-copy small {
  margin: 0 0 5px;
  color: #ffd17c;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.age-section__marker-copy strong {
  color: #fff;
  font-size: 1.48rem;
  font-style: italic;
  font-weight: 800;
}

.range-overview__visual {
  display: grid;
  place-items: center;
  min-height: 470px;
  margin: 0;
  background: #fff;
  overflow: hidden;
}
.range-overview__visual img {
  display: block;
  width: min(100%, 600px);
  height: auto;
  max-height: 570px;
  object-fit: contain;
}
.range-overview__copy {
  max-width: 570px;
}

@media (max-width: 1080px) {
  .home .site-header__inner {
    padding-left: 138px;
  }
  .home .brand--home {
    top: -12px;
    left: -18px;
    width: 148px;
    height: 152px;
  }
  .home .hero-range-dock {
    grid-template-columns: repeat(5, 112px);
    gap: 9px;
  }
  .hero-range-dock .range-tile {
    padding: 21px 8px 13px;
  }
}

.article-references {
  margin-top: 64px;
  padding-top: 28px;
  border-top: 1px solid rgba(45, 58, 139, .18);
}

.article-references h2 {
  margin: 0 0 14px;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.article-references__origin,
.article-references__meta,
.article-references li {
  font-size: .86rem;
  line-height: 1.65;
}

.article-references ol {
  margin: 18px 0;
  padding-left: 1.45rem;
}

.article-references a {
  color: var(--alv-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.article-references__meta {
  margin-top: 20px;
  color: #747d84;
}

/* 2026-07-30 final visual and content QA pass. */
.content-table tbody tr.content-table__group-heading th {
  background: var(--alv-blue) !important;
  color: #fff !important;
  font-weight: 700;
}

.product-source-content .content-table {
  margin-right: auto;
  margin-left: auto;
}

.product-source-content .content-table__notes {
  margin-top: 18px;
  color: #626a72;
  font-size: .9rem;
  line-height: 1.65;
}

.product-page-hero__identity h1 {
  font-size: clamp(1.34rem, 1.45vw, 1.72rem);
}

.product-page-hero__copy {
  margin-top: -18px;
}

.range-overview__heading h1 {
  font-size: clamp(1.9rem, 2.55vw, 2.85rem);
}

.range-products .content-card__copy,
.range-products .content-card__copy h2,
.content-card-grid--products .content-card__copy,
.content-card-grid--products .content-card__copy h2 {
  text-align: center;
}

.range-products .content-card__media,
.content-card-grid--products .content-card__media,
.related-product div {
  background: transparent !important;
}

.range-products .content-card__media img,
.content-card-grid--products .content-card__media img,
.related-product img {
  mix-blend-mode: multiply;
}

.rating,
.ratings,
.review,
.reviews,
.product-rating,
.product-reviews {
  display: none !important;
}

.home .section-heading .eyebrow,
.home-advice .eyebrow {
  font-size: .92rem;
  letter-spacing: .08em;
}

.home-advice h3 {
  margin-top: 18px !important;
}

.home-advice h3 + p,
.article-card h3 + p,
.content-card--article h2 + p,
.content-card--expert h2 + p {
  margin-top: 12px;
}

@media (min-width: 1081px) {
  .home .hero-range-dock {
    bottom: -138px;
  }

  .home .age-guide > .shell {
    padding-top: 176px;
  }
}

@media (min-width: 561px) and (max-width: 1080px) {
  .home .hero-range-dock {
    bottom: -116px;
  }

  .home .age-guide > .shell {
    padding-top: 152px;
  }
}

@media (max-width: 820px) {
  .home .site-header__inner {
    padding-left: 118px;
  }
  .home .brand--home {
    top: -10px;
    left: -14px;
    width: 128px;
    height: 132px;
  }
  .home .hero-range-dock {
    grid-template-columns: repeat(5, 91px);
    gap: 7px;
  }
  .hero-range-dock .range-tile {
    padding: 18px 7px 11px;
  }
  .hero-range-dock .range-tile > span {
    font-size: .58rem;
  }
  .hero-range-dock .range-tile > strong {
    font-size: .64rem;
  }
  .range-overview__visual {
    order: 2;
    min-height: 0;
  }
  .range-overview__copy {
    order: 1;
  }
}

@media (max-width: 560px) {
  .home .site-header__inner {
    padding-left: 98px;
  }
  .home .brand--home {
    top: -8px;
    left: -10px;
    width: 108px;
    height: 112px;
  }
  .home .hero-range-dock {
    padding: 22px 18px 24px;
    gap: 12px;
  }
  .hero-range-dock .range-tile {
    flex-basis: 126px;
    min-height: 0;
    padding: 23px 9px 13px;
  }
  .hero-range-dock .range-tile > span {
    font-size: .66rem;
  }
  .hero-range-dock .range-tile > strong {
    font-size: .72rem;
  }
  .age-guide > .shell {
    padding-top: 44px;
  }
  .age-section__marker {
    min-height: 64px;
    margin-bottom: 26px;
    padding: 7px 16px 7px 7px;
    gap: 12px;
  }
  .age-section__marker-logo {
    flex-basis: 74px;
    width: 74px;
    height: 48px;
  }
  .age-section__marker-copy strong {
    font-size: 1.3rem;
  }
  .range-overview__visual img {
    max-height: none;
  }
}

/* 2026-07-24 homepage composition refinement:
   a tighter masthead, an editorial beach brand panel and quieter age labels. */
.home .site-header {
  height: 72px;
}
.home .site-header__inner {
  min-height: 72px;
  padding-left: 142px;
}
.home .site-nav__list > li > a {
  min-height: 72px;
}
.home .brand--home {
  top: -12px;
  left: -14px;
  width: 148px;
  height: 152px;
  filter: none;
}

.home .brand-story--beach {
  position: relative;
  min-height: 540px;
  padding: 0;
  overflow: hidden;
  background-color: #dff4f8;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0) 38%, rgba(242,251,252,.36) 58%, rgba(247,252,252,.92) 100%),
    var(--brand-story-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #4f5b65;
}
.home .brand-story--beach .brand-story__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr);
  min-height: 540px;
  align-items: center;
}
.home .brand-story--beach .brand-story__copy {
  grid-column: 2;
  max-width: 520px;
  padding: 58px 0;
}
.home .brand-story--beach .brand-story__copy .eyebrow {
  color: var(--alv-orange);
}
.home .brand-story--beach .brand-story__copy h2 {
  color: var(--alv-blue);
}
.home .brand-story--beach .brand-story__copy > p:not(.eyebrow) {
  color: #4f5b65;
}
.home .brand-story--beach .button {
  border-color: var(--alv-blue);
  background: var(--alv-blue);
  color: #fff;
}

.age-section__marker {
  min-height: 58px;
  margin-bottom: 30px;
  padding: 8px 18px 8px 12px;
  gap: 11px;
  border: 1px solid rgba(47,54,134,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: var(--alv-blue);
  box-shadow: 0 7px 20px rgba(47,54,134,.07);
}
.age-section__marker-logo {
  flex: 0 0 56px;
  width: 56px;
  height: 34px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.age-section__marker-logo img {
  width: 56px;
  max-height: 30px;
}
.age-section__marker-copy {
  min-width: 76px;
}
.age-section__marker-copy small {
  margin-bottom: 3px;
  color: #7883a6;
  font-size: .58rem;
}
.age-section__marker-copy strong {
  color: var(--alv-blue);
  font-size: 1.25rem;
}

@media (max-width: 1080px) {
  .home .site-header__inner {
    padding-left: 124px;
  }
  .home .brand--home {
    top: -10px;
    left: -10px;
    width: 130px;
    height: 134px;
  }
  .home .brand-story--beach {
    background-position: 42% center;
  }
}

@media (max-width: 820px) {
  .home .site-header {
    height: 68px;
  }
  .home .site-header__inner {
    min-height: 68px;
    padding-left: 104px;
  }
  .home .brand--home {
    top: -8px;
    left: -8px;
    width: 110px;
    height: 114px;
  }
  .home .site-nav__list > li > a {
    min-height: 68px;
  }
  .home .brand-story--beach {
    min-height: 520px;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0) 34%, rgba(247,252,252,.78) 68%, rgba(247,252,252,.97) 100%),
      var(--brand-story-bg);
    background-position: 34% center;
  }
  .home .brand-story--beach .brand-story__inner {
    display: flex;
    min-height: 520px;
    align-items: flex-end;
  }
  .home .brand-story--beach .brand-story__copy {
    max-width: 620px;
    padding: 230px 0 42px;
  }
}

@media (max-width: 560px) {
  .home .site-header__inner {
    padding-left: 86px;
  }
  .home .brand--home {
    top: -6px;
    left: -7px;
    width: 92px;
    height: 96px;
  }
  .home .brand-story--beach {
    min-height: 560px;
    background-position: 31% center;
  }
  .home .brand-story--beach .brand-story__inner {
    min-height: 560px;
  }
  .home .brand-story--beach .brand-story__copy {
    padding: 270px 0 34px;
  }
  .age-section__marker {
    min-height: 54px;
    padding: 7px 15px 7px 10px;
  }
  .age-section__marker-logo {
    flex-basis: 50px;
    width: 50px;
    height: 30px;
  }
  .age-section__marker-logo img {
    width: 50px;
  }
  .age-section__marker-copy strong {
    font-size: 1.15rem;
  }
}

/* 2026-07-24 round 6: corrected brand artwork, calmer page scale and
   collision-free homepage/age navigation. */
.home .brand--home {
  top: -10px;
  left: -10px;
  display: grid;
  width: 144px;
  height: 144px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #edf0ef;
  border-radius: 50%;
  background: #fff;
}
.home .brand--home img {
  width: 112px;
  height: auto;
  max-height: 66px;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.has-source-banner .brand,
.product-detail .brand {
  top: -62px;
  left: -24px;
  display: grid;
  width: 218px;
  height: 218px;
  padding: 82px 26px 25px;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}
.has-source-banner .brand img,
.product-detail .brand img {
  display: block;
  width: 100%;
  max-width: 156px;
  height: auto;
  max-height: 86px;
  object-fit: contain;
  object-position: center;
  filter: none;
  transform: none;
}

.home .hero-range-dock {
  bottom: -92px;
  grid-template-columns: repeat(5, clamp(132px, 10.6vw, 170px));
  gap: clamp(10px, 1vw, 16px);
}
.age-guide > .shell {
  padding-top: 128px;
}

.age-section__marker {
  width: max-content;
  min-width: 214px;
  min-height: 66px;
  padding: 9px 23px 9px 15px;
  gap: 17px;
  border: 1px solid rgba(47, 54, 134, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .98);
  color: var(--alv-blue);
  box-shadow: 0 8px 24px rgba(47, 54, 134, .08);
}
.age-section__marker-logo {
  flex: 0 0 64px;
  width: 64px;
  height: 38px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.age-section__marker-logo img {
  width: 64px;
  max-height: 36px;
}
.age-section__marker-copy {
  min-width: 92px;
  padding-left: 16px;
  border-left: 1px solid rgba(47, 54, 134, .14);
}
.age-section__marker-copy small {
  margin-bottom: 4px;
  color: #7b85a6;
  font-size: .6rem;
}
.age-section__marker-copy strong {
  color: var(--alv-blue);
  font-size: 1.34rem;
}

.range-overview {
  padding: 50px 0 66px;
}
.range-overview__heading {
  margin-bottom: 30px;
}
.range-overview__heading h1 {
  max-width: 820px;
  font-size: clamp(2.25rem, 3.35vw, 3.55rem);
  letter-spacing: -.035em;
}
.range-overview__grid {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
  gap: clamp(42px, 5.4vw, 72px);
}
.range-overview__visual {
  min-height: 400px;
}
.range-overview__visual img {
  width: min(100%, 520px);
  max-height: 500px;
}
.range-overview__copy {
  max-width: 520px;
}
.range-overview__copy h2 {
  margin-bottom: 17px;
  font-size: clamp(1.72rem, 2.25vw, 2.55rem);
  line-height: 1.22;
}
.range-overview__copy p {
  margin-bottom: 24px;
  font-size: .95rem;
  line-height: 1.78;
}
.range-products__heading h2 {
  font-size: clamp(1.85rem, 2.8vw, 2.75rem);
}

.product-page-hero {
  padding: 30px 0 66px;
}
.product-page-hero > .shell > h1 {
  max-width: 980px;
  font-size: clamp(1.9rem, 2.5vw, 2.8rem);
  letter-spacing: -.035em;
}
.product-page-hero__grid {
  gap: clamp(44px, 5.2vw, 76px);
  padding-top: 36px;
}
.product-page-hero__media {
  min-height: 300px;
}
.product-page-hero__media img {
  max-width: min(100%, 300px);
  max-height: 300px;
}
.product-page-hero__copy h2 {
  font-size: clamp(1.3rem, 1.8vw, 1.72rem);
}
.product-source-content h2 {
  margin-top: 2em;
  font-size: clamp(1.65rem, 2.05vw, 2.15rem);
  line-height: 1.24;
}
.product-source-content h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.48rem);
}

.catalog-hero h1 {
  font-size: clamp(2.55rem, 4.2vw, 4.1rem);
}
.page-hero h1,
.listing-hero h1,
.secondary-title h1 {
  font-size: clamp(2.25rem, 3.8vw, 4.05rem);
}

@media (max-width: 1080px) {
  .home .brand--home {
    width: 132px;
    height: 132px;
  }
  .home .brand--home img {
    width: 102px;
  }
  .home .hero-range-dock {
    bottom: -78px;
    grid-template-columns: repeat(5, 108px);
    gap: 9px;
  }
  .age-guide > .shell {
    padding-top: 112px;
  }
  .range-overview__grid {
    grid-template-columns: minmax(0, 1fr) minmax(310px, .9fr);
    gap: 38px;
  }
}

@media (max-width: 820px) {
  .home .brand--home {
    width: 112px;
    height: 112px;
  }
  .home .brand--home img {
    width: 86px;
  }
  .has-source-banner .brand,
  .product-detail .brand {
    top: -54px;
    left: -22px;
    width: 190px;
    height: 190px;
    padding: 72px 23px 22px;
  }
  .has-source-banner .brand img,
  .product-detail .brand img {
    max-width: 138px;
  }
  .range-overview__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .range-overview__visual {
    min-height: 0;
  }
  .product-page-hero__grid {
    gap: 30px;
  }
}

@media (max-width: 560px) {
  .home .hero-range-dock {
    bottom: auto;
  }
  .age-guide > .shell {
    padding-top: 44px;
  }
  .age-section__marker {
    min-width: 196px;
    min-height: 60px;
    padding: 8px 18px 8px 12px;
    gap: 13px;
  }
  .age-section__marker-logo {
    flex-basis: 56px;
    width: 56px;
    height: 34px;
  }
  .age-section__marker-logo img {
    width: 56px;
  }
  .age-section__marker-copy {
    min-width: 82px;
    padding-left: 13px;
  }
  .age-section__marker-copy strong {
    font-size: 1.2rem;
  }
}

/* 2026-07-24 round 7: tighter homepage rhythm after removing the redundant
   hero CTA, with lower question labels in the five source-faithful tiles. */
.home .site-header {
  height: 62px;
}
.home .site-header__inner {
  min-height: 62px;
  padding-left: 126px;
}
.home .site-nav__list > li > a {
  min-height: 62px;
}
.home .brand--home {
  top: -8px;
  left: -8px;
  width: 128px;
  height: 128px;
}
.home .brand--home img {
  width: 100px;
  max-height: 60px;
}
.home .hero,
.home .hero__inner {
  min-height: 560px;
}
.home .hero__copy {
  max-width: 510px;
  padding: 68px 0 72px;
}
.home .hero__copy > p {
  max-width: 460px;
  margin-bottom: 0;
}
.home .hero-range-dock {
  bottom: -84px;
}
.hero-range-dock .range-tile {
  padding-top: 38px;
}
.hero-range-dock .range-tile > span {
  min-height: 2.65em;
  margin-bottom: 3px;
  line-height: 1.35;
}
.age-guide > .shell {
  padding-top: 116px;
}

@media (max-width: 1080px) {
  .home .site-header {
    height: 60px;
  }
  .home .site-header__inner {
    min-height: 60px;
    padding-left: 116px;
  }
  .home .site-nav__list > li > a {
    min-height: 60px;
  }
  .home .brand--home {
    width: 118px;
    height: 118px;
  }
  .home .brand--home img {
    width: 92px;
  }
  .home .hero,
  .home .hero__inner {
    min-height: 540px;
  }
  .home .hero-range-dock {
    bottom: -72px;
  }
  .hero-range-dock .range-tile {
    padding-top: 31px;
  }
  .age-guide > .shell {
    padding-top: 102px;
  }
}

@media (max-width: 820px) {
  .home .site-header,
  .home .site-header__inner {
    min-height: 58px;
    height: 58px;
  }
  .home .brand--home {
    width: 104px;
    height: 104px;
  }
  .home .brand--home img {
    width: 80px;
  }
}

@media (max-width: 560px) {
  .home .site-header,
  .home .site-header__inner {
    min-height: 56px;
    height: 56px;
  }
  .home .hero,
  .home .hero__inner {
    min-height: 500px;
  }
  .home .hero__copy {
    padding: 58px 0 54px;
  }
  .age-guide > .shell {
    padding-top: 38px;
  }
}

/* 2026-07-24 round 8: source-faithful homepage masthead.
   The header remains semantic and server-rendered; only its presentation is
   changed to the French site's roundel-and-hamburger composition. */
.home .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 40;
  width: 100%;
  min-height: 0;
  height: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.home .site-header__inner {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 0;
  height: 0;
  padding: 0;
}

.home .brand--home {
  position: absolute;
  top: -10px;
  left: -12px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 172px;
  height: 172px;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

.home .brand--home img {
  width: 138px;
  max-width: 80%;
  max-height: 92px;
  object-fit: contain;
}

.home .header-advice {
  display: none;
}

.home .menu-toggle {
  position: absolute;
  top: 24px;
  right: 26px;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.home .menu-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.home .menu-toggle__icon {
  display: grid;
  gap: 5px;
  width: 31px;
}

.home .menu-toggle__icon i {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
  box-shadow: 0 1px 4px rgba(13, 27, 66, .24);
}

.home .site-nav {
  position: absolute;
  top: 76px;
  right: 28px;
  z-index: 4;
  display: block;
  width: min(330px, calc(100vw - 32px));
  margin: 0;
  padding: 12px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 16px 44px rgba(21, 35, 73, .22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.home .site-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.home .site-nav__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
}

.home .site-nav__list > li > a {
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 0 16px;
  border-bottom: 1px solid #e4e9e8;
  color: var(--alv-blue);
  font-size: .96rem;
  font-weight: 800;
  text-decoration: none;
}

.home .site-nav__list > li:last-child > a {
  border-bottom: 0;
}

.home .site-nav__list > li > a:hover,
.home .site-nav__list > li > a:focus-visible {
  color: var(--alv-orange);
  background: #f6f8f7;
}

.home .hero,
.home .hero__inner {
  min-height: 620px;
}

.home .hero__copy {
  padding-top: 116px;
}

@media (max-width: 820px) {
  .home .site-header,
  .home .site-header__inner {
    min-height: 0;
    height: 0;
  }
  .home .brand--home {
    top: -8px;
    left: -10px;
    width: 136px;
    height: 136px;
  }
  .home .brand--home img {
    width: 108px;
    max-height: 72px;
  }
  .home .menu-toggle {
    top: 16px;
    right: 14px;
  }
  .home .site-nav {
    top: 66px;
    right: 16px;
  }
  .home .hero__copy {
    padding-top: 112px;
  }
}

@media (max-width: 560px) {
  .home .brand--home {
    width: 116px;
    height: 116px;
  }
  .home .brand--home img {
    width: 92px;
    max-height: 62px;
  }
  .home .menu-toggle {
    top: 12px;
    right: 8px;
  }
  .home .site-nav {
    top: 60px;
    right: 10px;
  }
  .home .hero,
  .home .hero__inner {
    min-height: 560px;
  }
  .home .hero__copy {
    padding-top: 104px;
  }
}

/* 2026-07-24 round 9: use the complete official roundel on the homepage,
   balance the age marker lockup, and remove redundant range labels from cards. */
.home .brand--home {
  top: -89px;
  left: -45px;
  width: 250px;
  height: 255px;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.home .brand--home img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.age-section__marker {
  min-width: 226px;
  padding: 9px 24px 9px 16px;
  gap: 16px;
}

.age-section__marker-logo {
  display: grid;
  place-items: center;
  flex: 0 0 72px;
  width: 72px;
  height: 42px;
  overflow: hidden;
}

.age-section__marker-logo img {
  display: block;
  width: 70px;
  max-width: 100%;
  max-height: 40px;
  margin: 0;
  object-fit: contain;
  object-position: center;
}

.range-products .content-card__copy h2:first-child {
  margin-top: 0;
}

@media (max-width: 820px) {
  .home .brand--home {
    top: -72px;
    left: -36px;
    width: 210px;
    height: 214px;
  }
}

@media (max-width: 560px) {
  .home .brand--home {
    top: -64px;
    left: -32px;
    width: 188px;
    height: 192px;
  }

  .age-section__marker {
    min-width: 204px;
    padding: 8px 18px 8px 12px;
  }

  .age-section__marker-logo {
    flex-basis: 62px;
    width: 62px;
    height: 36px;
  }

  .age-section__marker-logo img {
    width: 60px;
    max-height: 34px;
  }
}

/* 2026-07-27 round 12: match the French homepage's clipped top-left roundel. */
.home .brand--home {
  top: -89px;
  left: -45px;
  display: block;
  width: 250px;
  height: 255px;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  filter: none;
}

.home .brand--home img {
  position: absolute;
  top: 135px;
  left: 65px;
  display: block;
  width: 168px;
  max-width: none;
  height: auto;
  max-height: none;
  object-fit: contain;
  filter: none;
}

.brand-story__copy > p:not(.eyebrow) + p {
  margin-top: 12px;
}

.home-advice__more {
  margin: 32px 0 0;
  text-align: center;
}

@media (max-width: 1200px) {
  .home .brand--home {
    top: -89px;
    left: -45px;
    width: 250px;
    height: 255px;
  }

  .home .brand--home img {
    top: 135px;
    left: 65px;
    width: 168px;
  }
}

@media (max-width: 820px) {
  .home .brand--home {
    top: -60px;
    left: -32px;
    width: 210px;
    height: 210px;
  }

  .home .brand--home img {
    top: 90px;
    left: 44px;
    width: 138px;
  }
}

@media (max-width: 560px) {
  .home .brand--home {
    top: -50px;
    left: -27px;
    width: 180px;
    height: 180px;
  }

  .home .brand--home img {
    top: 76px;
    left: 38px;
    width: 118px;
  }
}

/* 2026-07-27 round 14: tighten editorial hierarchy and long product pages. */
.content-card--article .content-card__copy h2,
.content-card--expert .content-card__copy h2 {
  font-size: 1rem;
  line-height: 1.42;
}

.age-advice h3,
.home-advice h3 {
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.42;
}

.product-page-hero__grid {
  align-items: start;
}

.product-page-hero__media {
  min-height: 0;
  padding-top: 8px;
  align-self: start;
}

@media (min-width: 821px) {
  .home .hero__copy {
    padding-top: 140px;
  }

  .home .hero-range-dock {
    bottom: -64px;
  }

  .hero-range-dock .range-tile > span {
    transform: translateY(3px);
  }

  .hero-range-dock .range-tile > img {
    transform: translateY(-4px);
  }
}

/* Round 15 final overrides: calmer homepage spacing and vertical product pages. */
@media (min-width: 1081px) {
  .home .hero-range-dock { bottom: -120px; }
  .home .age-guide > .shell { padding-top: 156px; }
}

@media (min-width: 561px) and (max-width: 1080px) {
  .home .hero-range-dock { bottom: -104px; }
  .home .age-guide > .shell { padding-top: 138px; }
}

.product-page-hero { padding: 38px 0 58px; }
.product-page-hero > .shell > h1 {
  width: min(980px, 100%);
  margin-inline: auto;
  font-size: clamp(1.9rem, 2.45vw, 2.7rem);
  line-height: 1.25;
  text-align: center;
}
.product-page-hero__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding-top: 30px;
}
.product-page-hero__media {
  display: grid;
  place-items: center;
  align-self: center;
  width: 100%;
  min-height: 0;
  padding: 0;
}
.product-page-hero__media img {
  width: auto;
  max-width: min(100%, 430px);
  max-height: 430px;
  object-fit: contain;
}
.product-page-hero__copy {
  width: min(900px, 100%);
  margin-inline: auto;
}
.product-page-hero__copy .eyebrow { text-align: center; }
.product-source-content { padding-top: 54px; }
.product-overview { padding: 34px 0 72px; }
.product-overview h1 {
  max-width: 980px;
  margin: 0 auto 38px;
  font-size: clamp(1.9rem, 2.45vw, 2.7rem);
  line-height: 1.25;
  text-align: center;
}
.product-overview__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.product-overview__image { width: 100%; }
.product-overview__image img { max-width: 430px; max-height: 430px; }
.product-overview__copy,
.product-overview--source .product-overview__copy {
  width: min(900px, 100%);
  padding-top: 0;
}
.product-overview--source { min-height: 0; }

.article-hero__copy h1 {
  font-size: clamp(1.85rem, 2.25vw, 2.65rem);
  line-height: 1.22;
  text-wrap: balance;
}

.range-overview__copy h2 {
  max-width: 18em;
  font-size: clamp(1.65rem, 2vw, 2.2rem);
  line-height: 1.28;
  text-wrap: balance;
}

@media (max-width: 820px) {
  .article-hero__copy h1 {
    font-size: clamp(1.75rem, 8.2vw, 2.5rem);
  }
}

/* Round 16: balanced product-detail structure — identity left, introduction right, details below. */
.product-page-hero {
  padding: clamp(30px, 3.6vw, 52px) 0 clamp(42px, 4.8vw, 64px);
  background: #fff;
}

.product-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(42px, 5vw, 72px);
  padding-top: 0;
}

.product-page-hero__identity {
  min-width: 0;
}

.product-page-hero__identity h1 {
  margin: 0 0 clamp(18px, 2.2vw, 28px);
  color: var(--alv-blue);
  font-size: clamp(1.42rem, 1.65vw, 1.9rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.025em;
  text-align: left;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.product-title__brand,
.product-title__name {
  display: block;
}

.product-title__brand {
  white-space: nowrap;
}

.product-page-hero__media {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 0;
  padding: 0;
}

.product-page-hero__media img {
  width: auto;
  max-width: min(100%, 320px);
  max-height: 340px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.product-page-hero__copy {
  width: 100%;
  max-width: 750px;
  margin: -10px 0 0;
  padding: 0;
  border-top: 0;
}

.product-page-hero__copy h2 {
  max-width: 20em;
  margin: 0 0 20px;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem);
  line-height: 1.28;
  text-wrap: balance;
}

.product-page-hero__copy h2:not(:first-child) {
  margin-top: clamp(34px, 4vw, 48px);
}

.product-page-hero__copy h3 {
  margin: clamp(28px, 3vw, 38px) 0 16px;
  color: var(--alv-blue);
  font-size: clamp(1.15rem, 1.45vw, 1.35rem);
  line-height: 1.35;
}

.product-page-hero__copy p,
.product-page-hero__copy li {
  font-size: clamp(.98rem, 1.05vw, 1.06rem);
  line-height: 1.82;
}

.product-page-hero__copy p:last-child,
.product-page-hero__copy ul:last-child {
  margin-bottom: 0;
}

.product-gallery {
  width: min(1180px, calc(100% - 40px));
  padding: clamp(30px, 3.6vw, 48px) 0 clamp(24px, 3vw, 38px);
  border-top: 1px solid #e4e8e7;
}

.product-gallery__track {
  gap: clamp(16px, 2vw, 24px);
  padding-bottom: 16px;
}

.product-gallery figure {
  flex-basis: min(310px, 78vw);
  display: grid;
  place-items: center;
}

.product-gallery img {
  height: auto;
  max-height: 320px;
  aspect-ratio: auto;
  object-fit: contain;
}

.product-source-content {
  padding-top: clamp(52px, 6vw, 82px);
}

.product-source-content .content-reading-width {
  width: min(1080px, 100%);
}

.product-source-content .content-reading-width > p,
.product-source-content .content-reading-width > ul,
.product-source-content .content-reading-width > ol {
  max-width: 860px;
}

.product-source-content h2 {
  max-width: 22em;
}

.product-source-content .content-table {
  width: min(820px, 100%);
  margin: 38px 0 54px;
}

.product-source-content .content-table--cols-2 {
  width: min(720px, 100%);
}

.product-source-content .content-table--cols-3 {
  width: min(860px, 100%);
}

.product-source-content .content-table--cols-4 {
  width: min(900px, 100%);
}

.product-source-content .content-table--cols-5 {
  width: min(980px, 100%);
}

.product-source-content .content-table table {
  table-layout: fixed;
}

.product-source-content .content-table--profile-pair col:nth-child(1) {
  width: 58%;
}

.product-source-content .content-table--profile-pair col:nth-child(2) {
  width: 42%;
}

.product-source-content .content-table--profile-reference col:nth-child(1) {
  width: 56%;
}

.product-source-content .content-table--profile-reference col:nth-child(2) {
  width: 29%;
}

.product-source-content .content-table--profile-reference col:nth-child(3) {
  width: 15%;
}

.product-source-content .content-table--profile-split-values col:nth-child(1) {
  width: 44%;
}

.product-source-content .content-table--profile-split-values col:nth-child(2),
.product-source-content .content-table--profile-split-values col:nth-child(3) {
  width: 28%;
}

.product-source-content .content-table--profile-reference-detail col:nth-child(1) {
  width: 38%;
}

.product-source-content .content-table--profile-reference-detail col:nth-child(2),
.product-source-content .content-table--profile-reference-detail col:nth-child(3) {
  width: 24%;
}

.product-source-content .content-table--profile-reference-detail col:nth-child(4) {
  width: 14%;
}

.product-source-content .content-table--profile-multi-dose col:nth-child(1) {
  width: 34%;
}

.product-source-content .content-table--profile-multi-dose col:nth-child(n+2) {
  width: 22%;
}

.product-source-content .content-table--cols-5.content-table--profile-multi-dose col:nth-child(n+2) {
  width: 16.5%;
}

.product-source-content .content-table--profile-double-reference col:nth-child(1) {
  width: 34%;
}

.product-source-content .content-table--profile-double-reference col:nth-child(2),
.product-source-content .content-table--profile-double-reference col:nth-child(4) {
  width: 19%;
}

.product-source-content .content-table--profile-double-reference col:nth-child(3),
.product-source-content .content-table--profile-double-reference col:nth-child(5) {
  width: 14%;
}

.product-source-content .content-table th,
.product-source-content .content-table td {
  padding: 12px 16px;
  line-height: 1.55;
  vertical-align: middle;
}

.product-source-content .content-table thead th {
  height: 62px;
}

.product-source-content .content-table tbody th,
.product-source-content .content-table tbody td {
  height: 54px;
}

.product-source-content .content-table thead th:not(:first-child),
.product-source-content .content-table__cell--compact {
  white-space: nowrap;
}

.product-overview {
  padding: clamp(42px, 5vw, 72px) 0 clamp(52px, 6vw, 82px);
}

.product-overview .product-reading-width {
  max-width: 1120px;
}

.product-overview__grid {
  display: grid;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(42px, 5vw, 72px);
}

.product-overview__identity {
  min-width: 0;
}

.product-overview__identity h1,
.product-overview h1 {
  max-width: none;
  margin: 0 0 clamp(18px, 2.2vw, 28px);
  font-size: clamp(1.42rem, 1.65vw, 1.9rem);
  line-height: 1.2;
  text-align: left;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.product-overview__image {
  width: 100%;
}

.product-overview__image img {
  width: auto;
  max-width: min(100%, 320px);
  max-height: 340px;
}

.product-overview__copy,
.product-overview--source .product-overview__copy {
  width: 100%;
  max-width: 750px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.product-nutrition .nutrition-tables {
  justify-items: start;
}

.product-nutrition .nutrition-table:only-child {
  width: min(860px, 100%);
  max-width: 860px;
}

.product-nutrition .nutrition-table--cols-2:only-child {
  width: min(720px, 100%);
  max-width: 720px;
}

.product-nutrition .nutrition-table--cols-4:only-child {
  width: min(900px, 100%);
  max-width: 900px;
}

.product-nutrition .nutrition-table--cols-5:only-child {
  width: min(980px, 100%);
  max-width: 980px;
}

.product-nutrition .nutrition-table table {
  table-layout: fixed;
}

.product-nutrition .nutrition-table--profile-pair col:nth-child(1) {
  width: 58%;
}

.product-nutrition .nutrition-table--profile-pair col:nth-child(2) {
  width: 42%;
}

.product-nutrition .nutrition-table--profile-reference col:nth-child(1) {
  width: 56%;
}

.product-nutrition .nutrition-table--profile-reference col:nth-child(2) {
  width: 29%;
}

.product-nutrition .nutrition-table--profile-reference col:nth-child(3) {
  width: 15%;
}

.product-nutrition .nutrition-table--profile-split-values col:nth-child(1) {
  width: 44%;
}

.product-nutrition .nutrition-table--profile-split-values col:nth-child(2),
.product-nutrition .nutrition-table--profile-split-values col:nth-child(3) {
  width: 28%;
}

.product-nutrition .nutrition-table--profile-reference-detail col:nth-child(1) {
  width: 38%;
}

.product-nutrition .nutrition-table--profile-reference-detail col:nth-child(2),
.product-nutrition .nutrition-table--profile-reference-detail col:nth-child(3) {
  width: 24%;
}

.product-nutrition .nutrition-table--profile-reference-detail col:nth-child(4) {
  width: 14%;
}

.product-nutrition .nutrition-table--profile-multi-dose col:nth-child(1) {
  width: 34%;
}

.product-nutrition .nutrition-table--profile-multi-dose col:nth-child(n+2) {
  width: 22%;
}

.product-nutrition .nutrition-table--cols-5.nutrition-table--profile-multi-dose col:nth-child(n+2) {
  width: 16.5%;
}

.product-nutrition .nutrition-table--profile-double-reference col:nth-child(1) {
  width: 34%;
}

.product-nutrition .nutrition-table--profile-double-reference col:nth-child(2),
.product-nutrition .nutrition-table--profile-double-reference col:nth-child(4) {
  width: 19%;
}

.product-nutrition .nutrition-table--profile-double-reference col:nth-child(3),
.product-nutrition .nutrition-table--profile-double-reference col:nth-child(5) {
  width: 14%;
}

.product-nutrition .nutrition-table thead th:not(:first-child),
.product-nutrition .nutrition-table__cell--compact {
  white-space: nowrap;
}

@media (max-width: 980px) {
  .product-page-hero__grid,
  .product-overview__grid {
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: clamp(34px, 5vw, 54px);
  }

  .product-page-hero__media img,
  .product-overview__image img {
    max-width: min(100%, 290px);
    max-height: 320px;
  }
}

@media (max-width: 760px) {
  .product-page-hero,
  .product-overview {
    padding-top: 34px;
  }

  .product-page-hero__grid,
  .product-overview__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .product-page-hero__identity h1,
  .product-overview__identity h1,
  .product-overview h1 {
    margin-bottom: 24px;
    font-size: clamp(1.62rem, 7vw, 2.12rem);
    text-align: center;
  }

  .product-page-hero__media img,
  .product-overview__image img {
    max-width: min(82vw, 300px);
    max-height: 310px;
  }

  .product-page-hero__copy,
  .product-overview__copy,
  .product-overview--source .product-overview__copy {
    max-width: none;
    margin-top: 0;
    padding-top: 0;
  }

  .product-gallery {
    width: min(100% - 28px, 1180px);
    padding-top: 26px;
  }

  .product-source-content {
    padding-top: 46px;
  }

  .product-source-content .content-table--cols-2 table {
    min-width: 620px;
  }

  .product-source-content .content-table--cols-3 table {
    min-width: 780px;
  }

  .product-source-content .content-table--cols-4 table {
    min-width: 860px;
  }

  .product-source-content .content-table--cols-5 table {
    min-width: 960px;
  }
}

/* Round 18: reduce the poster-like scale of range pages and let product
   photography sit naturally on the mist background. */
.range-overview > .shell,
.range-products > .shell {
  width: min(100% - 48px, 1160px);
}

.range-overview {
  padding: 42px 0 58px;
}

.range-overview__heading {
  margin-bottom: 24px;
}

.range-overview__heading h1 {
  max-width: 760px;
  font-size: clamp(2.05rem, 3vw, 3.2rem);
  line-height: 1.1;
}

.range-overview__grid {
  grid-template-columns: minmax(0, .94fr) minmax(320px, .76fr);
  gap: clamp(34px, 4.5vw, 62px);
}

.range-overview__visual {
  min-height: 330px;
}

.range-overview__visual img {
  width: min(100%, 445px);
  max-height: 420px;
  mix-blend-mode: multiply;
}

.range-overview__copy {
  max-width: 460px;
}

.range-overview__copy h2 {
  max-width: 17em;
  margin-bottom: 15px;
  font-size: clamp(1.5rem, 1.85vw, 2rem);
  line-height: 1.3;
}

.range-overview__copy p {
  margin-bottom: 21px;
  font-size: .92rem;
  line-height: 1.72;
}

.range-products {
  padding: 54px 0 78px;
}

.range-products__heading {
  margin-bottom: 32px;
}

.range-products__heading h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
}

.range-products .content-card-grid {
  gap: 48px 34px;
}

.range-products .content-card,
.range-products .content-card__copy {
  align-items: center;
  text-align: center;
}

.range-products .content-card__media {
  width: 100%;
  aspect-ratio: 1.12;
  margin-bottom: 16px;
}

.range-products .content-card__media img,
.content-card-grid--products .content-card__media img {
  width: 78%;
  height: 78%;
  mix-blend-mode: multiply;
}

.range-products .content-card__copy h2,
.range-products .content-card__copy h2:first-child {
  width: 100%;
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.38;
  text-align: center;
  text-wrap: balance;
}

.range-products .content-card__copy span {
  align-self: center;
}

.related-products {
  padding: 70px 0 82px;
}

.related-products > .shell {
  width: min(100% - 48px, 1160px);
}

.related-products__grid {
  gap: 30px;
}

.related-product div {
  height: 190px;
  margin-bottom: 16px;
  background: transparent;
}

.related-product img {
  max-width: 82%;
  max-height: 174px;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 12px 14px rgba(40, 46, 72, .08));
}

.related-product h3 {
  font-size: .88rem;
  line-height: 1.42;
  text-wrap: balance;
}

@media (max-width: 820px) {
  .range-overview > .shell,
  .range-products > .shell,
  .related-products > .shell {
    width: min(100% - 32px, 1160px);
  }

  .range-overview__grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .range-overview__visual {
    order: 1;
    min-height: 0;
  }

  .range-overview__copy {
    order: 2;
    max-width: 620px;
  }
}

/* 2026-08-04 mobile responsive refinement
   Consolidate the accumulated phone rules into one predictable layout. */
@media (max-width: 760px) {
  html {
    scroll-padding-top: 74px;
  }

  body {
    font-size: 16px;
  }

  .shell,
  .range-overview > .shell,
  .range-products > .shell,
  .related-products > .shell {
    width: min(calc(100% - 30px), var(--alv-shell));
  }

  /* Source banner and navigation */
  .has-source-banner .site-header,
  .has-source-banner .site-header__inner,
  .product-detail .site-header,
  .product-detail .site-header__inner {
    height: 70px;
  }

  .has-source-banner .site-header__inner,
  .product-detail .site-header__inner {
    width: 100%;
    padding-inline: 10px;
  }

  .has-source-banner .brand,
  .product-detail .brand {
    top: -42px;
    left: -18px;
    width: 150px;
    height: 150px;
    padding: 56px 18px 18px;
  }

  .has-source-banner .brand img,
  .product-detail .brand img {
    max-width: 108px;
    max-height: 60px;
  }

  .has-source-banner .menu-toggle,
  .product-detail .menu-toggle {
    display: grid;
    width: 48px;
    height: 48px;
    margin-left: auto;
    padding: 9px;
    place-items: center;
  }

  .has-source-banner .site-nav,
  .product-detail .site-nav,
  .home .site-nav {
    top: 70px;
    right: 10px;
    left: auto;
    width: min(64vw, 270px);
    max-height: calc(100svh - 82px);
    padding: 6px 12px 10px;
    overflow-y: auto;
    border-radius: 3px;
    box-shadow: 0 14px 34px rgba(21, 35, 73, .2);
  }

  .has-source-banner .site-nav__list > li > a,
  .product-detail .site-nav__list > li > a,
  .home .site-nav__list > li > a {
    min-height: 44px;
    padding-inline: 10px;
    font-size: .9rem;
  }

  .source-banner,
  .source-banner__inner {
    min-height: 160px;
  }

  .source-banner__inner {
    padding-top: 70px;
  }

  .source-banner .breadcrumbs {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  /* Homepage masthead and five range choices */
  .home .brand--home {
    top: -48px;
    left: -24px;
    width: 152px;
    height: 156px;
  }

  .home .brand--home img {
    width: 100%;
    max-width: none;
    max-height: none;
  }

  .home .menu-toggle {
    top: 10px;
    right: 7px;
    width: 48px;
    height: 48px;
  }

  .home .hero,
  .home .hero__inner {
    min-height: 560px;
  }

  .home .hero {
    overflow: visible;
  }

  .home .hero__inner {
    align-items: flex-end;
  }

  .home .hero__copy {
    max-width: 100%;
    padding: 0 0 58px;
  }

  .home .hero h1 {
    max-width: 310px;
    margin-bottom: 12px;
    font-size: clamp(2.15rem, 10.5vw, 2.55rem);
    line-height: 1.08;
  }

  .home .hero__copy > p:not(.hero__kicker) {
    max-width: 340px;
    font-size: .92rem;
    line-height: 1.62;
  }

  .home .hero-range-dock {
    position: absolute;
    right: 0;
    bottom: -244px;
    left: 0;
    display: grid;
    width: 100%;
    padding: 14px 14px 18px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    transform: none;
    background: var(--alv-mist);
  }

  .hero-range-dock .range-tile {
    grid-column: span 2;
    min-width: 0;
    width: 100%;
    aspect-ratio: 1 / 1.06;
    padding: 20px 6px 10px;
  }

  .hero-range-dock .range-tile:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .hero-range-dock .range-tile > span {
    min-height: 2.45em;
    margin: 0;
    font-size: .62rem;
    line-height: 1.22;
  }

  .hero-range-dock .range-tile > img {
    width: 38px;
    height: 38px;
    margin: 3px 0;
  }

  .hero-range-dock .range-tile > strong {
    font-size: .68rem;
  }

  .home .age-guide > .shell,
  .age-guide > .shell {
    padding-top: 278px;
    padding-bottom: 34px;
  }

  .home-section-heading--split {
    gap: 22px;
  }

  .home-section-heading h2 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.1;
  }

  .age-jump {
    margin-inline: -15px;
    padding: 0 15px 8px;
    gap: 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .age-jump::-webkit-scrollbar {
    display: none;
  }

  .age-jump a {
    flex: 0 0 106px;
    min-height: 50px;
    scroll-snap-align: start;
  }

  .age-section {
    padding: 40px 0 38px;
  }

  .age-section__marker {
    min-width: 190px;
    min-height: 56px;
    margin-bottom: 22px;
    padding: 7px 16px 7px 11px;
  }

  .age-section__marker-logo {
    flex-basis: 54px;
    width: 54px;
    height: 32px;
  }

  .age-section__marker-logo img {
    width: 52px;
    max-height: 30px;
  }

  .age-section__marker-copy {
    min-width: 78px;
    padding-left: 12px;
  }

  .age-section__marker-copy strong {
    font-size: 1.1rem;
  }

  .age-section__grid,
  .age-section__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 22px 10px;
  }

  .age-section__grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 5px);
    justify-self: center;
  }

  .age-product,
  .age-advice {
    width: 100%;
    min-width: 0;
    margin-inline: 0;
  }

  .age-product a {
    padding: 5px 4px 12px;
  }

  .age-product__image {
    height: 138px;
    margin-bottom: 11px;
  }

  .age-product__image img {
    max-width: 94%;
    max-height: 130px;
  }

  .age-product p {
    font-size: .62rem;
    line-height: 1.35;
  }

  .age-product h3 {
    min-height: 2.7em;
    margin-bottom: 11px;
    font-size: .84rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .age-product span,
  .age-advice span {
    min-height: 42px;
  }

  .age-advice div {
    padding: 15px 13px 17px;
  }

  .age-advice h3 {
    min-height: 0;
    margin-bottom: 12px;
    font-size: .88rem;
  }

  .age-section__more {
    margin-top: 24px;
  }

  .age-section__more a {
    min-height: 44px;
    align-items: center;
  }

  /* Listing and card density */
  .catalog-hero {
    padding: 38px 0 30px;
  }

  .catalog-hero h1,
  .page-hero h1,
  .listing-hero h1,
  .secondary-title h1 {
    font-size: clamp(2rem, 9.6vw, 2.55rem);
    line-height: 1.12;
  }

  .catalog-hero__intro,
  .page-hero > .shell > p:last-child,
  .listing-hero > .shell > p:last-child {
    font-size: .96rem;
    line-height: 1.72;
  }

  .catalog-shell {
    padding: 36px 0 66px;
  }

  .catalog-filters {
    gap: 8px;
    margin-bottom: 30px;
  }

  .catalog-filters a {
    min-height: 44px;
    padding-inline: 14px;
  }

  .content-card-grid,
  .content-card-grid--products {
    gap: 36px 12px;
  }

  .content-card-grid--products .content-card__media {
    min-height: 150px;
    margin-bottom: 13px;
  }

  .content-card-grid--products .content-card__media img {
    width: 82%;
    height: 82%;
  }

  .content-card__copy h2,
  .content-card__copy h2:first-child {
    font-size: .88rem;
    line-height: 1.38;
  }

  /* Article, range and product reading rhythm */
  .article-hero {
    padding: 34px 0 44px;
  }

  .article-hero__grid {
    gap: 28px;
    padding-top: 16px;
  }

  .article-hero__media {
    min-height: 0;
  }

  .article-hero__media img {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .article-hero__copy h1 {
    font-size: clamp(2rem, 8.6vw, 2.5rem);
    line-height: 1.18;
  }

  .article-hero__copy > p:last-child {
    margin-top: 16px;
    font-size: 1rem;
    line-height: 1.75;
  }

  .source-content,
  .article-source-content {
    padding: 50px 0 66px;
  }

  .source-content > .shell,
  .article-source-content > .shell,
  .product-source-content .content-reading-width {
    width: min(calc(100% - 30px), 1080px);
  }

  .source-content h2,
  .product-source-content h2 {
    margin-top: 1.75em;
    font-size: clamp(1.7rem, 8vw, 2rem);
    line-height: 1.2;
  }

  .source-content h3,
  .product-source-content h3 {
    margin-top: 1.65em;
    font-size: 1.25rem;
    line-height: 1.3;
  }

  .source-content p,
  .source-content li {
    font-size: 1rem;
    line-height: 1.82;
  }

  .article-figure {
    margin: 32px auto;
  }

  .article-references {
    margin-top: 44px;
    padding-top: 24px;
  }

  .article-references ol {
    padding-left: 1.25em;
  }

  .article-references a {
    overflow-wrap: anywhere;
  }

  .range-overview {
    padding: 34px 0 48px;
  }

  .range-overview__heading {
    margin-bottom: 22px;
  }

  .range-overview__heading h1 {
    font-size: clamp(1.82rem, 7.8vw, 2.25rem);
    line-height: 1.16;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  .range-overview__grid {
    gap: 24px;
  }

  .range-overview__visual img {
    max-height: 340px;
  }

  .range-overview__copy h2 {
    font-size: 1.55rem;
  }

  .range-overview__copy p {
    font-size: 1rem;
    line-height: 1.76;
  }

  .range-products {
    padding: 44px 0 64px;
  }

  .product-page-hero,
  .product-overview {
    padding: 30px 0 48px;
  }

  .product-page-hero__grid,
  .product-overview__grid {
    gap: 28px;
  }

  .product-page-hero__identity h1,
  .product-overview__identity h1,
  .product-overview h1,
  .product-page-hero > .shell > h1 {
    margin-bottom: 18px;
    font-size: clamp(1.55rem, 7.2vw, 1.95rem);
    line-height: 1.18;
  }

  .product-page-hero__media,
  .product-overview__image {
    min-height: 0;
  }

  .product-page-hero__media img,
  .product-overview__image img {
    max-width: min(78vw, 270px);
    max-height: 270px;
  }

  .product-page-hero__copy p,
  .product-page-hero__copy li,
  .product-overview__copy p,
  .product-overview__copy li {
    font-size: 1rem;
    line-height: 1.76;
  }

  /* Data tables stay locally scrollable without widening the page. */
  .content-table .table-scroll,
  .nutrition-table .table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 54, 134, .45) rgba(47, 54, 134, .08);
  }

  .product-source-content .content-table {
    margin-block: 30px 44px;
  }

  .product-source-content .content-table th,
  .product-source-content .content-table td {
    padding: 11px 13px;
    line-height: 1.5;
  }

  .product-source-content .content-table thead th {
    height: 58px;
  }

  .product-source-content .content-table tbody th,
  .product-source-content .content-table tbody td {
    height: 50px;
  }

  /* Footer remains complete but is easier to scan and tap on phones. */
  .site-footer__main {
    grid-template-columns: 159px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 18px;
    padding-block: 30px 24px;
  }

  .site-footer__logo {
    grid-column: 1;
    grid-row: 1;
    width: 126px;
    align-self: center;
  }

  .site-footer__tagline--mobile {
    display: block;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0;
    color: #626c74;
    font-size: clamp(.98rem, 4.25vw, 1.08rem);
    line-height: 1.45;
  }

  .site-footer__tagline-brand,
  .site-footer__tagline-copy {
    display: block;
  }

  .site-footer__tagline-brand {
    margin-bottom: 3px;
    color: var(--alv-blue);
    font-weight: 800;
    letter-spacing: .01em;
  }

  .site-footer__tagline-copy {
    color: #6f777f;
    font-size: .92em;
  }

  .site-footer__tagline--desktop {
    display: none;
  }

  .site-footer__copy,
  .footer-social {
    grid-column: 1 / -1;
  }

  .site-footer__links a,
  .site-footer__nutrients a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
  }

  .site-footer__social a {
    min-width: 48px;
    min-height: 48px;
  }
}

@media (max-width: 360px) {
  .home .brand--home {
    width: 140px;
    height: 144px;
  }

  .home .hero-range-dock {
    bottom: -226px;
    gap: 6px;
    padding-inline: 10px;
  }

  .hero-range-dock .range-tile {
    padding-top: 18px;
  }

  .home .age-guide > .shell,
  .age-guide > .shell {
    padding-top: 260px;
  }

  .content-card-grid--products {
    gap-inline: 9px;
  }

  .content-card__copy h2,
  .content-card__copy h2:first-child,
  .age-product h3 {
    font-size: .8rem;
  }
}

/* 2026-08-04 mobile responsive refinement, round 2
   Tighten the homepage rhythm, keep discovery cards in two columns and
   rebalance long-form typography for a phone reading distance. */
@media (max-width: 760px) {
  /* The desktop mark is positioned inside an oversized clipped circle.
     Reset its inherited offset so the complete wordmark stays visible. */
  .home .brand--home img {
    position: absolute;
    top: 48%;
    left: 22%;
    width: 74%;
    height: auto;
    max-width: none;
    max-height: none;
    transform: none;
  }

  .full-range {
    padding-block: 42px;
  }

  .full-range__inner {
    gap: 20px;
  }

  .full-range__copy h2 {
    font-size: 1.78rem;
    line-height: 1.18;
  }

  .full-range__copy p {
    font-size: .96rem;
    line-height: 1.7;
  }

  .product-family-collage {
    min-height: 176px;
    padding: 16px 8px 12px;
  }

  .product-family-collage > img {
    height: 132px;
  }

  .home .brand-story--beach,
  .home .brand-story--beach .brand-story__inner {
    min-height: 0;
  }

  .home .brand-story--beach {
    position: relative;
    padding: 0;
    background: #dff4f8;
    color: var(--alv-text);
  }

  .home .brand-story--beach::before {
    display: none;
    content: none;
  }

  .home .brand-story--beach .brand-story__mobile-media {
    display: block;
    height: clamp(260px, 68vw, 295px);
    overflow: hidden;
    background: #dff4f8;
  }

  .home .brand-story--beach .brand-story__mobile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 31% 47%;
  }

  .home .brand-story--beach .brand-story__inner {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    padding: 0;
    pointer-events: none;
  }

  .home .brand-story--beach .brand-story__copy {
    display: none;
  }

  .home .brand-story--beach .brand-story__mobile-content {
    display: block;
    height: 100%;
  }

  .home .brand-story--beach .brand-story__mobile-heading {
    position: absolute;
    inset: 0 0 0 auto;
    display: flex;
    width: 64%;
    padding: 30px clamp(20px, 5.2vw, 24px) 22px 10px;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    background: transparent;
    text-align: right;
  }

  .home .brand-story--beach .brand-story__mobile-heading .eyebrow {
    margin: 0 0 8px;
    color: var(--alv-orange);
    font-size: clamp(.74rem, 3.1vw, .84rem);
    font-weight: 800;
    letter-spacing: .08em;
    text-shadow: none;
  }

  .home .brand-story--beach .brand-story__mobile-heading h2 {
    max-width: 9em;
    margin: 0;
    color: var(--alv-blue);
    font-size: clamp(1.4rem, 6.2vw, 1.58rem);
    line-height: 1.14;
    text-wrap: balance;
    text-shadow: none;
  }

  .home .brand-story--beach .brand-story__mobile-heading h2 span {
    display: block;
  }

  .home .brand-story--beach .brand-story__mobile-cta {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 0;
    margin: 22px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--alv-blue);
    font-size: clamp(1.05rem, 4.7vw, 1.2rem);
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
    text-shadow: none;
    transform: none;
    pointer-events: auto;
  }

  .home .brand-story--beach .brand-story__mobile-cta span {
    color: var(--alv-orange);
  }

  .home .brand-story--beach .brand-story__mobile-cta:hover,
  .home .brand-story--beach .brand-story__mobile-cta:focus-visible {
    color: var(--alv-orange);
  }

  .home .brand-story--beach .brand-story__mobile-cta:hover span,
  .home .brand-story--beach .brand-story__mobile-cta:focus-visible span {
    color: var(--alv-blue);
  }

  .home .brand-story--beach .brand-story__mobile-body {
    display: none;
  }

  .home .brand-story--beach .brand-story__mobile-body p {
    max-width: 36rem;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(.9rem, 3.8vw, .98rem);
    line-height: 1.62;
  }

  .home .brand-story--beach .brand-story__mobile-body .button {
    display: inline-flex;
    min-height: 38px;
    margin-top: 10px;
    padding: 0;
    gap: 8px;
    align-items: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-size: .94rem;
  }

  .home .brand-story--beach .brand-story__mobile-body .button:hover,
  .home .brand-story--beach .brand-story__mobile-body .button:focus-visible {
    background: transparent;
    color: #ffc667;
  }

  /* Homepage and listing articles stay visually scannable in two columns. */
  .home-advice {
    padding-block: 48px 54px;
  }

  .home-advice .home-section-heading {
    margin-bottom: 28px;
  }

  .home-advice .home-section-heading h2 {
    font-size: 1.9rem;
    line-height: 1.12;
  }

  .home-advice__grid,
  .content-card-grid:not(.content-card-grid--products) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 10px;
  }

  .home-advice article {
    width: 100%;
    margin: 0;
  }

  .home-advice article > a {
    padding-bottom: 15px;
  }

  .home-advice article img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }

  .home-advice article h3,
  .home-advice article p,
  .home-advice article span {
    margin-inline: 12px;
  }

  .home-advice article h3 {
    min-height: 3.8em;
    margin-top: 14px;
    font-size: .86rem;
    line-height: 1.38;
  }

  .home-advice article span {
    margin-top: 12px;
    font-size: .7rem;
  }

  .content-card-grid:not(.content-card-grid--products) {
    gap: 30px 12px;
  }

  .content-card-grid:not(.content-card-grid--products) .content-card__copy h2,
  .content-card-grid:not(.content-card-grid--products) .content-card__copy h2:first-child {
    font-size: .84rem;
    line-height: 1.38;
  }

  .content-card-grid:not(.content-card-grid--products) .content-card__copy p,
  .content-card-grid:not(.content-card-grid--products) .content-card__copy span {
    font-size: .72rem;
    line-height: 1.45;
  }

  /* Secondary pages: keep body copy readable while reducing poster-scale headings. */
  .catalog-hero h1,
  .page-hero h1,
  .listing-hero h1,
  .secondary-title h1,
  .content-hero h1 {
    font-size: clamp(1.85rem, 8vw, 2.25rem);
    line-height: 1.16;
  }

  .article-hero__copy h1 {
    font-size: clamp(1.9rem, 8vw, 2.25rem);
    line-height: 1.17;
  }

  .source-content h2,
  .product-source-content h2 {
    font-size: clamp(1.55rem, 7vw, 1.85rem);
    line-height: 1.22;
  }

  .source-content h3,
  .product-source-content h3 {
    font-size: 1.15rem;
    line-height: 1.34;
  }

  .source-content p,
  .source-content li,
  .product-source-content p,
  .product-source-content li {
    font-size: 1rem;
    line-height: 1.74;
  }

  .product-page-hero__identity h1,
  .product-overview__identity h1,
  .product-overview h1,
  .product-page-hero > .shell > h1 {
    font-size: clamp(1.48rem, 6.7vw, 1.82rem);
    line-height: 1.2;
  }

  .product-page-hero__copy p,
  .product-page-hero__copy li,
  .product-overview__copy p,
  .product-overview__copy li {
    line-height: 1.72;
  }

  .brand-story__copy h2 {
    font-size: clamp(1.62rem, 7vw, 1.85rem);
    line-height: 1.2;
  }

  .brand-story__copy h3 {
    font-size: 1.15rem;
  }

  .brand-story__copy p {
    font-size: 1rem;
    line-height: 1.74;
  }
}

@media (max-width: 360px) {
  .home .brand-story--beach .brand-story__mobile-heading h2 {
    font-size: 1.4rem;
  }

  .home-advice__grid,
  .content-card-grid:not(.content-card-grid--products) {
    gap-inline: 8px;
  }

  .home-advice article h3 {
    margin-inline: 10px;
    font-size: .8rem;
  }

  .home-advice article span {
    margin-inline: 10px;
    font-size: .66rem;
  }
}

/* Final product-title parity: keep the desktop identity column wide enough
   for the confirmed two-line title treatment used by the approved preview. */
@media (min-width: 981px) {
  .product-page-hero__grid {
    grid-template-columns: minmax(390px, 440px) minmax(0, 1fr);
    gap: clamp(56px, 5vw, 72px);
  }

  .product-page-hero--magnesium-b6 .product-title__name {
    white-space: nowrap;
  }
}
