:root {
  --ink: #041d00;
  --muted: #59625a;
  --paper: #f7f7f5;
  --panel: #eeeeeb;
  --line: #d8d8d3;
  --brand: #666665;
  --brand-dark: #3f403f;
  --accent: #45ab53;
  --accent-dark: #278337;
  --white: #ffffff;
  --max: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.68 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--accent-dark); text-underline-offset: 3px; }
a:hover { color: var(--accent); }
img { max-width: 100%; height: auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: #fff; padding: .7rem; z-index: 10; }

.site-header { background: var(--brand); border-bottom: 1px solid rgba(255,255,255,.18); box-shadow: 0 4px 18px rgba(0,0,0,.12); }
.nav-wrap { max-width: var(--max); margin: auto; padding: 1rem 1.2rem; display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.brand { color: #fff; font-weight: 850; letter-spacing: -.03em; text-decoration: none; font-size: 1.42rem; }
.brand:hover { color: #fff; }
.site-nav { display: flex; gap: 1rem; flex-wrap: wrap; }
.site-nav a { text-decoration: none; font-size: .94rem; color: rgba(255,255,255,.78); }
.site-nav a:hover, .site-nav [aria-current="page"] { color: #fff; }
.site-nav [aria-current="page"] { font-weight: 750; border-bottom: 2px solid var(--accent); }

main { min-height: 62vh; }
.wrap { max-width: var(--max); margin: auto; padding: 3.5rem 1.2rem; }
.narrow { max-width: 780px; }
.hero { padding: 4.8rem 0 3.8rem; background: linear-gradient(135deg, #fff 0%, #ececea 60%, #dededb 100%); }
.hero-grid { display: grid; gap: 2rem; align-items: center; }
.eyebrow { color: var(--accent-dark); text-transform: uppercase; font-size: .76rem; letter-spacing: .14em; font-weight: 850; }
h1, h2, h3 { line-height: 1.16; letter-spacing: -.03em; }
h1 { font-size: clamp(2.35rem, 7vw, 4.8rem); margin: .5rem 0 1rem; }
h2 { font-size: clamp(1.65rem, 4vw, 2.45rem); margin: 3rem 0 .9rem; }
h3 { font-size: 1.25rem; margin: 1.8rem 0 .6rem; }
.lede { font-size: clamp(1.08rem, 2.5vw, 1.32rem); color: var(--muted); max-width: 760px; }

.button { display: inline-block; border-radius: 9px; background: var(--accent); color: #fff; text-decoration: none; font-weight: 800; padding: .9rem 1.35rem; border: 2px solid var(--accent); box-shadow: 0 6px 14px rgba(39,131,55,.22); transition: transform .15s ease, background .15s ease; }
.button:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; transform: translateY(-1px); }
.button.secondary { background: transparent; color: var(--ink); border-color: var(--brand); box-shadow: none; }
.button-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }

.section { padding: 1.2rem 0 3rem; }
.cards { display: grid; gap: 1rem; }
.card { border: 1px solid var(--line); border-radius: 18px; padding: 1.4rem; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.05); }
.card h3 { margin-top: .2rem; }
.card-link { display: block; text-decoration: none; color: inherit; }
.card-link:hover { border-color: var(--accent); }
.tag { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--accent-dark); font-weight: 850; }
.meta { color: var(--muted); font-size: .88rem; }

.notice, .verdict, .callout { border: 1px solid var(--line); border-radius: 14px; padding: 1.15rem 1.3rem; background: var(--panel); margin: 1.4rem 0; }
.notice { font-size: .9rem; border-left: 5px solid var(--accent); }
.verdict { background: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.06); border-top: 5px solid var(--accent); }
.article-header { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.article-header h1 { font-size: clamp(2.2rem, 6vw, 4.15rem); }
.article-body { max-width: 820px; }
.article-body p, .article-body li { color: #273428; }

.product-hero { margin: 1.5rem 0 1.2rem; padding: clamp(1rem,4vw,2.5rem); border: 1px solid var(--line); border-radius: 26px; background: radial-gradient(circle at 50% 32%, #fff 0, #ececea 55%, #c9c9c5 100%); overflow: hidden; box-shadow: 0 18px 42px rgba(0,0,0,.11); }
.product-hero img { display: block; width: 100%; filter: drop-shadow(0 24px 22px rgba(0,0,0,.22)); }
.product-hero figcaption { margin-top: .75rem; text-align: center; color: var(--muted); font-size: .8rem; }
.toc { padding: 1.3rem; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.toc ul { columns: 2; padding-left: 1.25rem; }
.fact-grid, .pros-cons { display: grid; gap: 1rem; margin: 1.4rem 0; }
.fact-grid > div, .pros-cons > div { border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem; background: #fff; }
.fact-grid > div { border-top: 4px solid var(--accent); }
.fact-grid strong { display: block; }
.table-wrap { overflow-x: auto; }
.comparison { width: 100%; border-collapse: collapse; margin: 1.25rem 0; }
.comparison th, .comparison td { text-align: left; vertical-align: top; padding: .85rem; border-bottom: 1px solid var(--line); }
.comparison th { background: var(--panel); }

.cta-panel { text-align: center; padding: clamp(1.25rem,3vw,1.7rem); border-radius: 18px; background: linear-gradient(155deg, #686967, #3f403f); color: #fff; margin: 1.25rem 0 2rem; border: 2px solid rgba(255,255,255,.2); box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.cta-panel h2 { color: #fff; margin: .25rem 0 .45rem; font-size: clamp(1.55rem,4vw,2rem); }
.cta-panel p { color: rgba(255,255,255,.9); margin: .35rem auto .65rem; max-width: 650px; }
.cta-panel .button { display: flex; width: 100%; min-height: 66px; align-items: center; justify-content: center; margin: .65rem 0 0; background: var(--accent); border-color: #62ca70; color: #fff; padding: 1rem 1.25rem; font-size: clamp(1.08rem,3vw,1.35rem); line-height: 1.25; text-transform: uppercase; letter-spacing: .015em; box-shadow: 0 7px 0 #20732f, 0 12px 24px rgba(0,0,0,.2); }
.cta-panel .button:hover { background: #52ba60; transform: translateY(-2px); }
.cta-note { display: block; font-size: .78rem; margin-top: .7rem; color: rgba(255,255,255,.72); }
.cta-kicker { display: inline-block; color: #b8f2bf; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cta-checks { display: inline-grid; gap: .18rem; margin: .25rem auto .55rem; padding: 0; list-style: none; text-align: left; }
.cta-checks li { color: #fff; }
.cta-checks li::before { content: "✓"; margin-right: .55rem; color: #7be487; font-weight: 900; }

.placeholder { border: 1px solid var(--line); border-radius: 18px; background: #e7e7e4; margin: 1.5rem 0; }
.faq details { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.faq summary { font-weight: 750; cursor: pointer; }
.site-footer { background: #343534; color: #e7e7e5; padding: 2.8rem 1.2rem; margin-top: 3rem; border-top: 6px solid var(--accent); }
.footer-inner { max-width: var(--max); margin: auto; }
.footer-links { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.site-footer a { color: #fff; }
.site-footer p { max-width: 820px; color: #c8c8c5; font-size: .9rem; }
.legal h1 { font-size: clamp(2.3rem,6vw,4rem); }
address { font-style: normal; }

/* Shared offer-first layout */
.offer-first-page { max-width: 920px; padding-top: 2.2rem; }
.commercial-hero { text-align: center; padding: 1.3rem 0 .8rem; }
.commercial-hero .eyebrow { margin: 0; }
.commercial-hero h1 { max-width: 760px; margin: .35rem auto .15rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.commercial-hero .lede { margin: 0 auto 1.15rem; }
.product-name { margin: .25rem 0 0; color: var(--ink); font-size: clamp(1rem, 3vw, 1.35rem); font-weight: 900; letter-spacing: .12em; }
.offer-label { display: inline-block; margin: .2rem 0 0; padding: .2rem .65rem; border-radius: 999px; background: #dff5e2; color: var(--accent-dark); font-size: .73rem; font-weight: 900; letter-spacing: .1em; }
.commercial-highlights { display: flex; justify-content: center; gap: .65rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.commercial-highlights li { padding: .45rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #344536; font-size: .86rem; }
.commercial-highlights li::before { content: "✓"; margin-right: .4rem; color: var(--accent-dark); font-weight: 900; }
.product-offer-image-link { display: block; margin: .7rem auto 1rem; border: 1px solid var(--line); border-radius: 20px; background: #fff; cursor: pointer; overflow: hidden; box-shadow: 0 13px 34px rgba(0,0,0,.1); transition: transform .18s ease, box-shadow .18s ease; }
.product-offer-image-link img { display: block; width: 100%; }
.product-offer-image-link:focus-visible { outline: 4px solid var(--accent-dark); outline-offset: 4px; }
.main-offer-cta { margin-top: 0; }
.main-offer-cta .button { max-width: 700px; margin-left: auto; margin-right: auto; }
.main-offer-message { margin: .85rem auto 0 !important; color: #fff !important; font-size: clamp(1.05rem, 2.5vw, 1.28rem); font-weight: 800; }
.trust-strip { margin: 2rem 0 3.2rem; padding: 1.35rem; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.trust-strip h2 { margin: 0 0 1rem; text-align: center; font-size: clamp(1.45rem, 3vw, 1.9rem); }
.trust-strip ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.trust-strip li { padding: .7rem; border-radius: 10px; background: var(--panel); text-align: center; font-weight: 750; }
.affiliate-disclosure { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted) !important; font-size: .84rem; text-align: center; }
.review-intro { padding-top: .4rem; border-top: 5px solid var(--accent); }
.review-intro h2 { margin: .25rem 0 .6rem; }
.review-intro .eyebrow { margin: 1.3rem 0 0; }
.information-intro { padding-top: .4rem; border-top: 5px solid var(--accent); }
.information-intro h2 { margin: .25rem 0 .6rem; }
.information-intro .eyebrow { margin: 1.3rem 0 0; }
.ingredient-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.ingredient-grid article { padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.ingredient-grid article:last-child { grid-column: 1 / -1; }
.ingredient-grid h3 { margin-top: 0; }
.ingredient-grid p { margin-bottom: 0; }
.inline-cta { margin: 1.5rem 0 2.5rem; text-align: center; }
.inline-cta .button { min-width: min(100%, 390px); padding: 1rem 1.35rem; }
.final-cta { margin-top: 3rem; }
.mobile-sticky-cta { display: none; }

@media (hover: hover) and (pointer: fine) {
  .product-offer-image-link:hover { transform: translateY(-2px); box-shadow: 0 17px 40px rgba(0,0,0,.14); }
}

.cookie-modal { position: fixed; inset: 0; z-index: 1000; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 1rem; border: 0; background: rgba(4, 18, 3, .48); backdrop-filter: blur(0px); }
.cookie-modal[open] { display: grid; align-items: end; justify-items: center; }
.cookie-modal__dialog { position: relative; width: min(calc(100% - 2rem), 1525px); max-height: calc(100vh - 2rem); overflow-y: auto; padding: clamp(1.4rem, 4vw, 3.55rem) clamp(1.35rem, 5vw, 3.15rem) clamp(1.55rem, 4vw, 3.25rem); border: 1px solid rgba(255,255,255,.82); border-radius: 12px; background: rgba(255,255,255,.93); color: var(--ink); text-align: left; box-shadow: 0 22px 70px rgba(0,0,0,.28); animation: cookie-modal-enter .62s cubic-bezier(.22, .8, .28, 1) both; }
@keyframes cookie-modal-enter {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.cookie-modal__eyebrow { margin: 0 0 .45rem; color: var(--accent-dark); font-size: .75rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.cookie-modal__dialog h1, .cookie-modal__dialog h2 { margin: 0 0 .65rem; font-size: clamp(1.55rem, 3vw, 2.05rem); letter-spacing: 0; }
.cookie-modal__dialog p:not(.cookie-modal__eyebrow):not(.privacy-links) { margin: 0 0 1.35rem; max-width: 1080px; color: var(--ink); font-size: clamp(.98rem, 1.55vw, 1.24rem); line-height: 1.55; }
.cookie-modal__actions { display: block; }
.cookie-modal__accept, .cookie-modal__reject { font: inherit; font-weight: 800; cursor: pointer; }
.cookie-modal__accept { display: inline-flex; min-width: 134px; min-height: 64px; align-items: center; justify-content: center; padding: .95rem 1.45rem; border: 2px solid #2f7df3; border-radius: 6px; background: #2f7df3; color: #fff; box-shadow: 0 10px 20px rgba(47,125,243,.24); }
.cookie-modal__accept:hover { border-color: #1f6fe8; background: #1f6fe8; transform: translateY(-1px); }
.cookie-modal__reject { position: absolute; top: 1.45rem; right: 1.7rem; display: grid; width: 2.6rem; height: 2.6rem; place-items: center; padding: 0; border: 0; background: transparent; color: #2f7df3; font-size: 2.7rem; line-height: 1; transform: scaleX(1.12); box-shadow: none; }
.cookie-modal__reject:hover { color: #0b55cc; }
.cookie-modal__accept:focus-visible, .cookie-modal__reject:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.cookie-modal__actions button:disabled { opacity: .65; cursor: wait; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .cookie-modal__dialog { animation-duration: .01ms; }
}

@media (min-width: 1025px) {
  .cookie-modal__dialog { width: min(calc(100% - 4rem), 1180px); padding: 2.35rem 3rem 2.5rem; }
}

@media (min-width: 720px) {
  .hero-grid { grid-template-columns: 1.35fr .65fr; }
  .cards { grid-template-columns: repeat(3,1fr); }
  .fact-grid { grid-template-columns: repeat(3,1fr); }
  .pros-cons { grid-template-columns: 1fr 1fr; }
  .toc ul { columns: 2; }
}

@media (max-width: 560px) {
  .nav-wrap { justify-content: center; }
  .site-nav { justify-content: center; }
  .toc ul { columns: 1; }
  .wrap { padding-top: 2.5rem; }
  .cta-panel { margin-left: -.35rem; margin-right: -.35rem; padding: 1.15rem .9rem 1.25rem; }
  .cta-panel .button { min-height: 70px; padding: 1rem .65rem; font-size: 1.08rem; }
  .cookie-modal { padding: .9rem; }
  .cookie-modal__dialog { width: 100%; max-height: calc(100vh - 1.8rem); padding: 1.75rem 1.2rem 1.55rem; border-radius: 8px; }
  .cookie-modal__dialog h1, .cookie-modal__dialog h2 { font-size: 1.3rem; }
  .cookie-modal__dialog p:not(.cookie-modal__eyebrow):not(.privacy-links) { font-size: .9rem; line-height: 1.55; }
  .cookie-modal__reject { top: 1rem; right: 1rem; width: 2.25rem; height: 2.25rem; font-size: 2.35rem; }
  .cookie-modal__accept { min-width: 94px; min-height: 56px; padding: .8rem 1.05rem; }
  .product-review-page { padding-bottom: 72px; }
  .product-review-page .site-header { box-shadow: none; }
  .product-review-page .nav-wrap { padding-top: .65rem; padding-bottom: .65rem; }
  .product-review-page .site-nav { display: none; }
  .offer-first-page { padding: .75rem .7rem 2rem; }
  .commercial-hero { padding: .55rem 0 .35rem; }
  .commercial-hero h1 { margin: .2rem auto .1rem; font-size: clamp(1.55rem, 7vw, 1.9rem); }
  .commercial-hero .lede { margin-bottom: .65rem; font-size: .98rem; line-height: 1.45; }
  .commercial-hero .eyebrow { font-size: .67rem; }
  .product-name { margin-top: .1rem; font-size: .94rem; }
  .offer-label { margin-top: .08rem; font-size: .64rem; }
  .commercial-highlights { gap: .3rem; }
  .commercial-highlights li { padding: .28rem .5rem; font-size: .7rem; }
  .product-offer-image-link { width: 100%; margin: .35rem 0 .7rem; border-radius: 12px; }
  .main-offer-cta { margin-bottom: 1.25rem; }
  .main-offer-cta p { font-size: .9rem; }
  .trust-strip { margin: 1.25rem 0 2.4rem; padding: 1rem .75rem; }
  .trust-strip ul { grid-template-columns: 1fr; gap: .45rem; }
  .trust-strip li { padding: .55rem; font-size: .88rem; }
  .ingredient-grid { grid-template-columns: 1fr; }
  .ingredient-grid article:last-child { grid-column: auto; }
  .inline-cta .button { width: 100%; min-height: 60px; }
  .mobile-sticky-cta { position: fixed; z-index: 900; right: .65rem; bottom: .65rem; left: .65rem; display: flex; min-height: 54px; align-items: center; justify-content: center; border: 2px solid #74d27f; border-radius: 10px; background: var(--accent-dark); color: #fff; font-weight: 850; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.3); }
  .mobile-sticky-cta:hover { background: var(--accent); color: #fff; }
}

/* ============================================================
   LANDER (structure copied from the reference page)
   ============================================================ */
:root {
  --ll-bg: #f4f7f2;
  --ll-alt: #eaf1e5;
  --ll-ink: #14251b;
  --ll-muted: #45564a;
  --ll-line: #d5e0d0;
  --ll-green: #3a7d44;
  --ll-green-dark: #2b5f33;
  --ll-green-light: #e3f1e2;
  --ll-cream: #fbfdf9;
  --ll-gold: #b9892a;
  --ll-radius: 18px;
  --ll-shadow: 0 14px 36px rgba(20, 37, 27, .08);
  --ll-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ll-serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 84px; }

body {
  margin: 0;
  background: var(--ll-cream);
  color: var(--ll-ink);
  font: 17px/1.72 var(--ll-font);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body .container { max-width: 1150px; margin: 0 auto; padding: 0 20px; }

body a { color: var(--ll-green-dark); text-underline-offset: 3px; }

/* --- scroll progress --- */
#scroll-progress-container {
  position: fixed; top: 0; left: 0; z-index: 1001;
  width: 100%; height: 4px; background: transparent; pointer-events: none;
}
#scroll-progress-bar {
  width: 0; height: 100%;
  background: linear-gradient(90deg, var(--ll-green), #7fb069);
  transition: width .1s linear;
}

/* --- top bars --- */
body .top-bar {
  background: var(--ll-green-dark);
  color: #fff;
  font-size: .92rem;
  text-align: center;
  padding: 10px 16px;
  letter-spacing: .01em;
}
body .top-bar strong { color: #ffe9a8; }
body .country-flag { display: inline-block; width: 28px; height: 18px; margin: 0 8px -4px 0; border-radius: 2px; object-fit: cover; vertical-align: baseline; box-shadow: 0 1px 3px rgba(0,0,0,.25); }

body .au-exclusive-bar {
  display: flex; align-items: center; justify-content: center;
  gap: 18px; flex-wrap: wrap;
  max-width: 1150px;
  margin: 14px auto 0;
  padding: 10px 14px;
  border: 1px dashed #c3d3bc;
  border-radius: 999px;
  background: var(--ll-green-light);
  font-size: .86rem;
}
body .au-post-logo {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 900; letter-spacing: .12em; font-size: .8rem;
  color: var(--ll-green-dark);
}
body .au-status-text { display: flex; align-items: center; gap: .7rem; }
body .au-status-text img { width: 26px; height: auto; border-radius: 3px; }
body .au-status-text > div { display: flex; flex-direction: column; line-height: 1.25; }
body .au-status-text span { font-size: .76rem; color: var(--ll-muted); }
body .au-status-text strong { font-size: .84rem; color: var(--ll-ink); }

/* --- header (scoped so the legal pages stay untouched) --- */
body header {
  position: sticky; top: 0; z-index: 90;
  background: rgba(251, 253, 249, .92);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--ll-line);
}
body .header-content { display: flex; align-items: center; gap: 1rem; padding: 12px 20px !important; }
body .header-content .logo { display: inline-flex; align-items: center; }

body .header-nav { display: flex; gap: 1.35rem; margin-left: 1rem; }
body .header-nav a {
  color: var(--ll-ink); text-decoration: none;
  font-weight: 600; font-size: .94rem;
  padding: 6px 2px; border-bottom: 2px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
body .header-nav a:hover { color: var(--ll-green); border-bottom-color: var(--ll-green); }

body .header-btn {
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: auto;
  padding: 11px 22px; border-radius: 999px;
  background: var(--ll-green); color: #fff;
  font-weight: 800; font-size: .92rem; text-decoration: none;
  box-shadow: 0 8px 18px rgba(58, 125, 68, .25);
  transition: transform .18s ease, background .18s ease;
}
body .header-btn:hover { background: var(--ll-green-dark); color: #fff; transform: translateY(-2px); }
body .header-content > .au-status-text { display: none; }

/* --- hero --- */
body .hero {
  padding: 46px 0 30px;
  background: radial-gradient(900px 480px at 12% -10%, #e6f2e2 0%, rgba(230, 242, 226, 0) 70%);
}

body .hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 38px; align-items: center; }

body .trust-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 15px; border-radius: 999px;
  background: #fff; border: 1px solid var(--ll-line);
  font-size: .83rem; font-weight: 600; color: var(--ll-muted);
  box-shadow: 0 4px 12px rgba(20, 37, 27, .05);
}
body .stars { color: #f0a92b; letter-spacing: 2px; }

body .hero h1 {
  font-family: var(--ll-serif);
  font-size: clamp(2.25rem, 5vw, 3.6rem);
  line-height: 1.1; letter-spacing: -.02em;
  margin: 18px 0 14px; color: var(--ll-ink);
}
body .hero h1 span { display: block; color: var(--ll-green); }
body .hero-lead { color: var(--ll-muted); font-size: 1.06rem; margin: 0 0 20px; max-width: 560px; }
body .hero h3 { font-size: 1.02rem; margin: 0 0 15px; color: var(--ll-ink); }

body .hero-list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
body .hero-list li {
  display: flex; align-items: center; gap: 10px;
  font-weight: 600; font-size: .97rem; color: #22392a;
}
body .hero-list svg {
  flex: 0 0 24px;
  width: 24px; height: 24px;
  padding: 4px; border-radius: 50%;
  background: var(--ll-green-light); color: var(--ll-green);
}

body .hero-image-container {
  display: flex; justify-content: center; align-items: center;
  padding: 18px; border-radius: 26px;
  background: radial-gradient(circle at 50% 40%, #fff 0%, #eef4ea 62%, #dfe9d9 100%);
  box-shadow: var(--ll-shadow);
}
body .product-hero-img { display: block; width: min(100%, 440px); height: auto; border-radius: 18px; object-fit: contain; }

/* --- buttons --- */
body .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 17px 30px; border-radius: 999px;
  background: linear-gradient(180deg, #48954f 0%, var(--ll-green) 100%);
  color: #fff; font-weight: 800; font-size: 1.02rem; letter-spacing: .01em;
  text-decoration: none; border: 0; cursor: pointer;
  box-shadow: 0 5px 0 var(--ll-green-dark), 0 14px 26px rgba(58, 125, 68, .28);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body .btn:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.04); box-shadow: 0 7px 0 var(--ll-green-dark), 0 18px 30px rgba(58, 125, 68, .32); }
body .btn:active { transform: translateY(1px); box-shadow: 0 3px 0 var(--ll-green-dark); }
body .btn:focus-visible { outline: 3px solid #111; outline-offset: 3px; }

/* --- sections --- */
body .section { padding: 66px 0; }
body .section.alt { background: var(--ll-alt); }
body .section-title {
  font-family: var(--ll-serif);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  line-height: 1.18; letter-spacing: -.01em;
  text-align: center; margin: 0 0 12px; color: var(--ll-ink);
}
body .section-subtitle {
  max-width: 680px; margin: 0 auto 38px;
  text-align: center; color: var(--ll-muted); font-size: 1.02rem;
}

/* --- editorial quote --- */
body .editorial-quote {
  max-width: 800px; margin: 0 auto; text-align: center;
  position: relative; padding: 6px 10px;
}
body .editorial-quote p {
  font-family: var(--ll-serif);
  font-size: clamp(1.15rem, 2.2vw, 1.42rem);
  line-height: 1.62; font-style: italic; color: #1f3527;
  margin: 0 0 18px;
}
body .quote-mark {
  display: block;
  font-family: var(--ll-serif);
  font-size: 4.4rem; line-height: .8;
  color: #9cc19d;
}

/* --- benefits --- */
body .features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body .feature-card {
  padding: 26px 22px 22px;
  border: 1px solid var(--ll-line); border-radius: var(--ll-radius);
  background: #fff; box-shadow: 0 8px 22px rgba(20, 37, 27, .05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body .feature-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(20, 37, 27, .1); border-color: #bcd3b6; }
body .feature-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; margin-bottom: 16px;
  border-radius: 14px; background: var(--ll-green-light); color: var(--ll-green);
}
body .feature-card h3 { font-size: 1.08rem; margin: 0 0 8px; color: var(--ll-ink); }
body .feature-card p { margin: 0; font-size: .93rem; line-height: 1.62; color: var(--ll-muted); }

/* --- ingredients --- */
body .ingredients-flex { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: start; }
body .ing-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
body .ing-item {
  display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: start;
  padding: 20px; border: 1px solid var(--ll-line); border-radius: 16px; background: #fff;
}
body .ing-icon-box {
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--ll-green-light); font-size: 1.5rem;
}
body .ing-item h4 { margin: 2px 0 6px; font-size: 1.03rem; color: var(--ll-ink); }
body .ing-item p { margin: 0; font-size: .92rem; line-height: 1.6; color: var(--ll-muted); }

body .facts-wrapper { position: relative; margin: auto; width: 100%; }
body .facts-container {
  padding: 20px 22px;
  border: 2px solid #1f3527; border-radius: 6px;
  background: #fff; color: #122317;
  font-family: "Helvetica Neue", Arial, sans-serif;
}
body .facts-title { font-size: 1.6rem; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }
body .facts-meta { margin: 8px 0 12px; padding-bottom: 10px; border-bottom: 8px solid #1f3527; font-size: .82rem; line-height: 1.45; }
body .facts-header-row { display: flex; justify-content: space-between; padding-bottom: 5px; border-bottom: 3px solid #1f3527; font-weight: 800; font-size: .8rem; }
body .facts-row { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #c8d3c6; font-size: .85rem; font-weight: 700; }
body .facts-footer { margin-top: 12px; padding-top: 10px; border-top: 4px solid #1f3527; font-size: .74rem; line-height: 1.5; }

body .facts-wrapper.collapsed { max-height: 420px; overflow: hidden; }
body .facts-wrapper.collapsed::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 45px; height: 90px;
  background: linear-gradient(to bottom, rgba(234, 241, 229, 0), var(--ll-alt));
  pointer-events: none;
}
body .facts-expand-btn {
  position: absolute; left: 0; right: 0; bottom: 0; width: 100%;
  padding: 18px; border: none; border-radius: 0 0 10px 10px;
  background: #dfe9da; color: var(--ll-ink);
  font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; text-align: center;
}
body .facts-expand-btn:hover { background: #d4e2cd; }
body .facts-wrapper:not(.collapsed) { max-height: none; overflow: visible; }
body .facts-wrapper:not(.collapsed)::after { display: none; }
body .facts-wrapper:not(.collapsed) .facts-expand-btn { position: static; margin-top: 10px; border-radius: 8px; }

/* --- comparison table --- */
body .table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 16px; box-shadow: var(--ll-shadow); }
body table { width: 100%; min-width: 620px; border-collapse: collapse; background: #fff; font-size: .93rem; }
body thead th {
  padding: 16px 14px; text-align: center; vertical-align: bottom;
  background: #f1f6ee; border-bottom: 1px solid var(--ll-line);
  font-size: .86rem; line-height: 1.35; color: var(--ll-ink);
}
body thead th:first-child, body tbody td:first-child { text-align: left; font-weight: 600; }
body thead th.col-highlight { background: var(--ll-green); color: #fff; }
body tbody td { padding: 14px; text-align: center; border-bottom: 1px solid var(--ll-line); }
body tbody tr:last-child td { border-bottom: 0; }
body tbody td.col-highlight { background: #edf6ea; }
body .check { color: var(--ll-green); font-weight: 900; font-size: 1.05rem; }
body .cross { color: #c9544a; font-weight: 900; font-size: 1.05rem; }

/* --- reviews --- */
body .reviews-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
body .review-card {
  padding: 24px 24px 20px;
  border: 1px solid var(--ll-line); border-radius: var(--ll-radius);
  background: #fff; box-shadow: 0 8px 22px rgba(20, 37, 27, .05);
}
body .review-title-group { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
body .review-card .stars { font-size: .95rem; }
body .review-card h3 { margin: 0 0 8px; font-size: 1.05rem; line-height: 1.35; color: var(--ll-ink); }
body .review-card p { margin: 0 0 14px; font-size: .94rem; color: #2f4436; }
body .reviewer { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: .86rem; color: var(--ll-ink); }
body .verified-badge {
  padding: 3px 10px; border-radius: 999px;
  background: var(--ll-green-light); color: var(--ll-green-dark);
  font-size: .74rem; font-weight: 700;
}

/* --- pricing --- */
body .packages-grid { display: grid; gap: 18px; }
body .package-card {
  position: relative;
  display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;
  padding: 30px 24px 22px;
  border: 2px solid var(--ll-line); border-radius: 20px;
  background: #fff; color: inherit; text-decoration: none;
  box-shadow: 0 8px 22px rgba(20, 37, 27, .05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body .package-card:hover { transform: translateY(-3px); border-color: #a9c9a3; box-shadow: 0 16px 34px rgba(20, 37, 27, .1); }
body .package-card.best-seller { border-color: var(--ll-green); background: linear-gradient(180deg, #f6fbf3, #fff); box-shadow: 0 14px 34px rgba(58, 125, 68, .16); }
body .pkg-badge {
  position: absolute; top: -13px; left: 24px;
  padding: 6px 14px; border-radius: 999px;
  font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: #fff;
}
body .badge-green { background: var(--ll-green); }
body .badge-gray { background: #7c8a80; }
body .package-left { display: flex; align-items: center; gap: 16px; min-width: 0; }
body .radio-check, body .radio-circle {
  flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 900;
}
body .radio-check { background: var(--ll-green); color: #fff; }
body .radio-circle { border: 2px solid #b6c4b2; background: #fff; }
body .pkg-bottles-wrapper { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
body .bottle-img-group { display: flex; align-items: center; }
body .bottle-thumb { height: 96px; width: auto; max-width: 120px; object-fit: contain; }
body .bottle-thumb.main-bottle { height: 104px; }
body .bonus-bottle { height: 84px; }
body .plus-sign { font-size: 1.4rem; font-weight: 900; color: var(--ll-green); }
body .plus-sign.plus-gray { color: #8a978c; }
body .bonus-box {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border: 1px dashed #8fbd8b; border-radius: 12px; background: #f0f8ed;
}
body .bonus-box.gray { border-color: #c2ccc0; background: #f4f6f3; }
body .bonus-text { font-size: .66rem; font-weight: 900; letter-spacing: .1em; color: var(--ll-green-dark); }
body .bonus-pricing { display: flex; align-items: baseline; gap: 6px; }
body .bonus-retail { font-size: .72rem; color: #8a978c; }
body .bonus-free { font-size: .78rem; font-weight: 900; color: var(--ll-green); }
body .package-right { text-align: right; min-width: 190px; }
body .efficiency-row, body .shipping-row {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .78rem; font-weight: 700; color: var(--ll-green-dark);
}
body .efficiency-row {
  padding: 3px 10px; border-radius: 999px;
  background: var(--ll-green-light); margin-bottom: 6px;
}
body .shipping-row { display: flex; justify-content: flex-end; color: #4c6352; }
body .shipping-row.gray { color: #77857a; }
body .eff-icon { width: 16px; height: 16px; flex: 0 0 16px; }
body .pkg-retail-strike { margin-top: 6px; font-size: .84rem; color: #8a978c; }
body .pkg-retail-strike.gray { color: #a3aea5; }
body .pkg-price-large { font-size: 2.1rem; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; color: var(--ll-ink); }
body .pkg-subtext { font-size: .78rem; color: var(--ll-muted); }

/* --- FAQ --- */
body .faq-container { max-width: 860px; }
body .faq-container details {
  margin-bottom: 12px; padding: 0 22px;
  border: 1px solid var(--ll-line); border-radius: 14px; background: #fff;
}
body .faq-container summary {
  padding: 18px 0; cursor: pointer; list-style: none;
  font-weight: 700; font-size: 1.01rem; color: var(--ll-ink);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
body .faq-container summary::-webkit-details-marker { display: none; }
body .faq-container summary::after {
  content: "+"; flex: 0 0 auto;
  font-size: 1.35rem; font-weight: 400; color: var(--ll-green);
  transition: transform .2s ease;
}
body .faq-container details[open] summary::after { transform: rotate(45deg); }
body .faq-content { padding: 0 0 18px; font-size: .95rem; line-height: 1.68; color: var(--ll-muted); }

/* --- footer / modal / sticky (scoped) --- */
body footer {
  background: #21301f !important; color: #fff;
  padding: 50px 0 24px !important; margin-top: 0 !important; border-top: 0 !important;
}
body footer .footlinks a:hover { color: #a9d3a4; }
body footer .fine { color: #c3ccc0 !important; font-size: .78rem !important; line-height: 1.6; }
body .footer-link-content { box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }

body .sticky-cta {
  position: fixed; z-index: 950; right: 16px; bottom: 16px;
  opacity: 0; visibility: hidden; transform: translateY(14px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}
body .sticky-cta.visible { opacity: 1; visibility: visible; transform: translateY(0); }
body .sticky-cta .btn { padding: 14px 22px; font-size: .95rem; }

/* --- responsive --- */
@media (max-width: 1024px) {
  body .header-nav { display: none; }
  body .hero-grid { grid-template-columns: 1fr; gap: 26px; }
  body .hero-image-container { order: -1; }
  body .features-grid { grid-template-columns: repeat(2, 1fr); }
  body .ingredients-flex { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body .container { padding: 0 16px; }
  body .top-bar { font-size: .8rem; padding: 8px 12px; }
  body .au-exclusive-bar { margin: 10px 12px 0; gap: 8px; border-radius: 14px; }
  body .header-content { justify-content: space-between !important; padding: 10px 16px !important; }
  body .header-btn { padding: 9px 15px; font-size: .82rem; }
  body .hero { padding: 26px 0 10px; }
  body .hero h1 { font-size: clamp(1.95rem, 8vw, 2.5rem); }
  body .hero .btn { width: 100%; padding: 16px 20px; }
  body .section { padding: 44px 0; }
  body .section-subtitle { margin-bottom: 26px; font-size: .96rem; }
  body .features-grid, body .reviews-grid { grid-template-columns: 1fr; }
  body .feature-card { padding: 22px 18px; }
  body .ing-item { grid-template-columns: 44px 1fr; padding: 16px; }
  body .ing-icon-box { width: 44px; height: 44px; border-radius: 12px; font-size: 1.25rem; }
  body .quote-mark { font-size: 3.2rem; }

  body .table-wrapper { margin: 0 -16px; border-radius: 0; box-shadow: none; }
  body table { min-width: 560px; font-size: .86rem; }
  body thead th, body tbody td { padding: 11px 10px; }

  body .package-card { grid-template-columns: 1fr; gap: 14px; padding: 28px 16px 18px; }
  body .package-right { text-align: left; min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4px 12px; }
  body .efficiency-row { grid-column: 1 / -1; justify-self: start; margin-bottom: 2px; }
  body .shipping-row { grid-column: 1 / -1; justify-content: flex-start; }
  body .pkg-retail-strike { margin-top: 0; }
  body .pkg-price-large { font-size: 1.85rem; }
  body .pkg-subtext { grid-column: 2; grid-row: 3; justify-self: end; }
  body .bottle-thumb { height: 78px; }
  body .bottle-thumb.main-bottle { height: 86px; }
  body .bonus-bottle { height: 68px; }

  body footer { padding: 34px 0 90px !important; }
  body .sticky-cta { left: 12px; right: 12px; bottom: 12px; }
  body .sticky-cta .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body .header-content .brand-logo { display: block; width: min(220px, 42vw); height: auto; }

/* realistic product thumbnails inside the pricing cards */
body .package-card .pkg-bottles-wrapper {
  min-height: 104px;
  padding: 6px 12px;
  align-items: center;
  border-radius: 12px;
  background: radial-gradient(circle at 40% 45%, #fff 0%, #eef4ea 70%, #e2ebdc 100%);
}
body .package-card .plus-sign { padding: 0 4px; }
body .package-card .bonus-box { padding: 8px 10px; }
body .package-card .bottle-thumb { height: 84px; max-width: 96px; }
body .package-card .bottle-thumb.main-bottle { height: 90px; }
body .package-card .bottle-thumb.bonus-bottle { height: 72px; }
@media (max-width: 760px) {
  body .package-card .pkg-bottles-wrapper { min-height: 90px; padding: 4px 8px; }
  body .package-card .bottle-thumb { height: 68px; }
}

/* polish pass: pricing thumbnails, header notice, footer, typos */
body .header-content > .au-status-text {
  display: none !important;
}
body .au-exclusive-bar .au-status-text > div { gap: 1px; }

body .package-card .pkg-bottles-wrapper {
  min-height: 96px;
  padding: 6px 12px;
  background: radial-gradient(circle at 50% 60%, #ffffff 0%, #eef4ea 72%, #e3ebdd 100%);
  border: 1px solid #e3ecdf;
}
body .package-card .bottle-img-group { flex: 0 0 auto; }
body .package-card .bottle-thumb { height: 82px; max-width: 104px; width: auto; }
body .package-card .bottle-thumb.main-bottle { height: 88px; }
body .package-card .bottle-thumb.bonus-bottle { height: 70px; }
body .package-card .bonus-box { padding: 6px 10px; gap: 8px; }

body footer .footlinks { font-size: .92rem; }
body footer .footlinks a { text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }
body footer .footlinks a:hover { border-bottom-color: #a9d3a4; }

@media (max-width: 760px) {
  body .au-exclusive-bar { display: none; }
  body .package-card .bottle-thumb { height: 66px; }
  body .package-card .bottle-thumb.bonus-bottle { height: 58px; }
}
