/* PR-003 index.html styles — extracted verbatim from the supplied <style> block (platform QA: CSP style-src has no 'unsafe-inline'). */
:root{
  --health:#1a2e3a;
  --gold:#f0c234;
  --gold-soft:rgba(240,194,52,.16);
  --cream:#f5f0e8;
  --charcoal:#1a1a1a;
  --paper:#fffdf9;
  --paper-alt:#f7f3ec;
  --muted:#667078;
  --line:#dfe3e5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:Poppins,Arial,sans-serif;
  line-height:1.72;
  overflow-x:hidden;
}
.page{
  width:100%;
  max-width:820px;
  margin:0 auto;
  background:var(--paper);
  min-height:100vh;
  box-shadow:0 0 0 1px rgba(26,46,58,.04);
}
header{
  padding:28px clamp(22px,5vw,48px) 4px;
}
.brand{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--health);
  font-weight:600;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
main{
  padding:0 clamp(22px,5vw,48px) 64px;
}
section{
  padding:clamp(42px,6vw,62px) 0;
  border-bottom:1px solid var(--line);
}
section.alt{
  background:var(--paper-alt);
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
}
section:last-child{border-bottom:0}
h1,h2,h3{
  font-family:"Playfair Display",Georgia,serif;
  line-height:1.14;
  color:var(--health);
}
h1{
  font-size:clamp(2.35rem,7.2vw,3.9rem);
  line-height:1.1;
  margin:0 0 10px;
  letter-spacing:-.02em;
  text-wrap:balance;
}
h1 span{
  display:block;
  font-size:.52em;
  font-weight:600;
  color:#3f515b;
  margin-top:10px;
  letter-spacing:-.005em;
}
.hero-heading{
  text-align:center;
  max-width:640px;
  margin:0 auto;
}
.hero-heading .eyebrow{
  justify-content:center;
}
.hero-heading .accent-rule{
  margin-left:auto;
  margin-right:auto;
}
h2{
  font-size:clamp(1.85rem,5.7vw,2.65rem);
  margin:0 0 22px;
  letter-spacing:-.015em;
  text-wrap:balance;
}
h3{
  font-size:1.32rem;
  margin:26px 0 12px;
}
.subtitle{
  font-family:"Playfair Display",Georgia,serif;
  font-style:italic;
  font-size:clamp(1.2rem,4vw,1.65rem);
  line-height:1.35;
  color:#3f515b;
  margin:0;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 16px;
  color:var(--health);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}
.eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--gold);
  display:inline-block;
  flex:0 0 auto;
}
.accent-rule{
  width:56px;
  height:4px;
  background:var(--gold);
  border-radius:2px;
  margin:2px 0 20px;
}
p{margin:0 0 18px}
ul,ol{margin:0 0 22px;padding-left:1.35rem}
li{margin:.45rem 0}
blockquote{
  margin:28px 0;
  padding:22px clamp(18px,4vw,28px);
  border-left:4px solid var(--gold);
  background:#fbf7ec;
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.1rem;
  line-height:1.55;
}
figure{margin:30px 0}
figure img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}
figure.plain img{border-radius:10px}
figcaption{
  font-size:.78rem;
  color:var(--muted);
  margin-top:8px;
  text-align:center;
}
.badge-fig{max-width:220px;margin:24px auto}
.badge-fig img{border-radius:0}
.product-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px;
  margin:22px 0;
  box-shadow:0 8px 24px rgba(26,46,58,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.product-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(26,46,58,.1);
}
.product-card figure{margin:16px 0}
.tag{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:#e4ecef;
  color:var(--health);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tag.bonus{
  background:#f6edcf;
  color:#7a6a2f;
}
.step-block{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:26px;
}
.step-num{
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--health);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  box-shadow:0 4px 10px rgba(26,46,58,.22);
}
.step-body{min-width:0}
.step-body h3{margin:2px 0 5px}
.step-body p{margin:0}
.fit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}
.guarantee-box{
  background:#fbf7ec;
  border:1px solid #eadfbf;
  border-radius:18px;
  padding:clamp(24px,5vw,34px);
  text-align:center;
}
.offer-list{
  text-align:left;
}
.price-block{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px 26px;
  margin:24px 0 8px;
}
.price-line{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:8px 0;
  border-bottom:1px dashed var(--line);
}
.price-line:last-of-type{border-bottom:0}
.price-line .label{color:#3f4a50}
.price-line .value{font-weight:700;color:var(--health)}
.price-total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-top:14px;
  padding-top:14px;
  border-top:2px solid var(--health);
}
.price-total .label{font-weight:700}
.price-total .value{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.5rem;
  color:var(--health);
  font-weight:700;
}
.price-note{font-size:.82rem;color:var(--muted);margin-top:10px}
.cta-wrap{
  margin:36px 0 22px;
  text-align:center;
}
.cta{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:999px;
  background:var(--health);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  text-align:center;
  box-shadow:0 10px 24px rgba(26,46,58,.18);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cta:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(26,46,58,.24);
}
.cta-sub{
  margin-top:10px;
  font-size:.82rem;
  color:var(--muted);
  font-family:Poppins,Arial,sans-serif;
}
.disclaimer{
  font-size:.82rem;
  color:var(--muted);
  margin-top:24px;
}
footer{
  padding:24px clamp(22px,5vw,48px) 34px;
  background:var(--health);
  color:#fff;
  font-size:.76rem;
  line-height:1.6;
}
footer a{color:inherit}

#hero{
  position:relative;
  overflow:hidden;
  padding-top:clamp(20px,3.5vw,34px);
}
#hero::before{
  content:"";
  position:absolute;
  top:-90px;
  right:-130px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,var(--gold-soft),transparent 70%);
  pointer-events:none;
  z-index:0;
}
#hero > *{position:relative;z-index:1}

section.tone-cream{
  background:#fbf7ef;
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
}
section.tone-sage{
  background:#eaf1ee;
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
}
section.tone-blue{
  background:#eaf0f3;
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
}
section.tone-sand{
  background:#f4ead7;
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
}
section.tone-navy{
  background:#1a2e3a;
  color:#fff;
  margin-left:clamp(-48px,-5vw,-22px);
  margin-right:clamp(-48px,-5vw,-22px);
  padding-left:clamp(22px,5vw,48px);
  padding-right:clamp(22px,5vw,48px);
  border-bottom:0;
}
section.tone-navy h2,
section.tone-navy h3,
section.tone-navy p,
section.tone-navy li{
  color:#fff;
}
section.tone-navy .cta{
  background:#fff;
  color:#1a2e3a;
}
section.tone-navy .cta-sub{
  color:#d9e2e6;
}
section.tone-navy .accent-rule{
  background:var(--gold);
}

@media (max-width:640px){
  header{padding-top:22px}
  main{padding-bottom:42px}
  section{padding:38px 0}
  section.tone-cream,
  section.tone-sage,
  section.tone-blue,
  section.tone-sand,
  section.tone-navy{
    margin-left:-22px;
    margin-right:-22px;
    padding-left:22px;
    padding-right:22px;
  }
  section.alt{
    margin-left:-22px;
    margin-right:-22px;
    padding-left:22px;
    padding-right:22px;
  }
  .fit-grid{grid-template-columns:1fr;gap:4px}
  .product-card{padding:20px}
  .step-block{gap:12px}
  .step-num{flex-basis:36px;width:36px;height:36px}
  .cta{width:100%;max-width:100%;padding-left:20px;padding-right:20px}
  #hero::before{width:220px;height:220px;top:-60px;right:-90px}
  .price-line,.price-total{flex-direction:column;gap:2px}
}
@media (max-width:375px){
  h1{font-size:2.05rem}
  h2{font-size:1.72rem}
  .subtitle{font-size:1.12rem}
  p,li{font-size:.97rem}
  blockquote{font-size:1.02rem}
}

/* ---- Former inline style= attributes (platform QA). !important reproduces inline-style precedence exactly. ---- */
.qa-fig-narrow{max-width:340px !important;margin-left:auto !important;margin-right:auto !important}
.qa-fig-avatar{max-width:220px !important;margin-left:auto !important;margin-right:auto !important;border-radius:50% !important;overflow:hidden !important}
.qa-round{border-radius:50% !important}
.qa-mt8{margin-top:8px !important}
