/* ============================================
   DentiCore — Master Stylesheet
   ============================================ */

/* ---------- RESET ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { min-height: 100vh; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
input, select, textarea { font: inherit; }

/* ---------- VARIABLES ---------- */
:root{
  --teal:#439C86;
  --teal-d:#2F6E5C;
  --teal-l:#DDF0EA;
  --teal-m:#5CB49E;

  --red:#D54545;
  --red-d:#A62F2F;
  --red-m:#C63C3C;
  --red-l:#F6D9D9;

  --gold:#F0B429;
  --gold-d:#C7911A;

  --gray:#EDEDED;
  --gray-d:#6B7280;
  --ink:#1E2A26;
  --white:#FFFFFF;

  --font-head:'Playfair Display', Georgia, serif;
  --font-body:'Inter', -apple-system, sans-serif;

  --radius: 14px;
  --shadow: 0 10px 30px rgba(30,42,38,.10);
  --shadow-lg: 0 20px 50px rgba(30,42,38,.16);
}

body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}

/* ---------- UTILITIES ---------- */
.container{ max-width: 1180px; margin: 0 auto; padding: 0 24px; }

.sec-tag{
  display:inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--teal-d);
  background: var(--teal-l);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.sec-h{
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: 14px;
}
.sec-h em{ color: var(--teal); font-style: normal; }
.sec-h strong{ color: var(--red); }
.sec-sub{
  font-size: 17px;
  color: var(--gray-d);
  max-width: 680px;
  margin: 0 auto 44px;
}
.center{ text-align:center; }

.btn-green, .btn-gold{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight: 800;
  font-size: 17px;
  padding: 18px 40px;
  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  text-align:center;
}
.btn-green{
  background: var(--red);
  color: var(--white);
  box-shadow: 0 12px 28px rgba(213,69,69,.35);
}
.btn-green:hover{ background: var(--red-d); transform: translateY(-2px); box-shadow: 0 16px 34px rgba(213,69,69,.42); }

.btn-gold{
  background: linear-gradient(180deg,#FFD65C,var(--gold));
  color: #4A2E00;
  box-shadow: 0 12px 28px rgba(240,180,41,.4);
}
.btn-gold:hover{ transform: translateY(-2px); box-shadow: 0 16px 34px rgba(240,180,41,.5); }

.pulse-dot{
  width:9px; height:9px; border-radius:50%;
  background:#7CFFC4;
  box-shadow: 0 0 0 rgba(124,255,196,.6);
  animation: pulse 1.8s infinite;
}
@keyframes pulse{
  0%{ box-shadow: 0 0 0 0 rgba(124,255,196,.6); }
  70%{ box-shadow: 0 0 0 10px rgba(124,255,196,0); }
  100%{ box-shadow: 0 0 0 0 rgba(124,255,196,0); }
}

section{ padding: 84px 0; }
.sec-alt{ background: var(--gray); }

/* ---------- TOPBAR ---------- */
.topbar{
  background: var(--ink);
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
  text-align:center;
  padding: 9px 16px;
  letter-spacing: .01em;
}
.topbar span{ opacity:.55; margin: 0 8px; }

/* ---------- HEADER ---------- */
header.site-header{
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  transition: box-shadow .2s ease;
}
header.site-header.scrolled{ box-shadow: 0 6px 20px rgba(0,0,0,.08); }

.h-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 24px;
  max-width: 1180px;
  margin: 0 auto;
}
.logo{ display:flex; align-items:center; gap:12px; }
.logo-icon{
  width:44px; height:44px;
  border-radius: 12px;
  background: var(--ink);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.logo-icon svg{ width:24px; height:24px; }
.logo-text{ line-height:1.15; }
.logo-name{ font-family: var(--font-head); font-weight:800; font-size:21px; color: var(--ink); }
.logo-tag{ font-size:11px; color: var(--gray-d); letter-spacing:.03em; text-transform:uppercase; }

nav.desktop-nav{ display:flex; gap:32px; }
nav.desktop-nav a{
  font-size:14.5px; font-weight:600; color: var(--ink);
  position:relative; padding: 6px 0;
  transition: color .18s ease;
}
nav.desktop-nav a:hover{ color: var(--teal); }
nav.desktop-nav a.active{ color: var(--teal); }
nav.desktop-nav a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background: var(--teal); border-radius:2px;
}

.h-right{ display:flex; align-items:center; gap:18px; }
.h-btn{
  display:inline-flex; align-items:center; gap:9px;
  background: var(--red);
  color:#fff; font-weight:800; font-size:14px;
  padding: 12px 22px; border-radius: 999px;
  box-shadow: 0 8px 20px rgba(213,69,69,.35);
  transition: transform .18s ease;
}
.h-btn:hover{ transform: translateY(-2px); }

.hamburger{
  display:none; flex-direction:column; gap:5px; width:26px; cursor:pointer; background:none; border:none;
}
.hamburger span{ height:2px; background: var(--ink); border-radius:2px; transition: all .25s ease; }
.hamburger.o span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.hamburger.o span:nth-child(2){ opacity:0; }
.hamburger.o span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.mob-menu{
  display:none; flex-direction:column;
  background: var(--white);
  border-top: 1px solid rgba(0,0,0,.06);
  padding: 10px 24px 22px;
}
.mob-menu.show{ display:flex; }
.mob-menu a{
  padding: 13px 0; font-weight:600; font-size:15.5px; color: var(--ink);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.mob-menu .h-btn{ margin-top:14px; justify-content:center; }

/* ---------- HERO ---------- */
.hero{
  padding: 56px 0 70px;
  background: linear-gradient(180deg, var(--teal-l) 0%, #fff 78%);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items:center;
}
.hero-img-col{ order:1; }
.hero-text-col{ order:2; }

.hero-img-wrap{ position:relative; text-align:center; }
.hero-img-wrap img{
  max-width: 420px;
  margin: 0 auto;
  filter: drop-shadow(0 30px 40px rgba(30,42,38,.25));
  animation: floaty 4.5s ease-in-out infinite;
}
@keyframes floaty{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-16px); }
}
.hero-badge{
  position:absolute; bottom:6%; right:6%;
  background: var(--white);
  border-radius: 999px;
  padding: 12px 18px;
  box-shadow: var(--shadow-lg);
  display:flex; align-items:center; gap:10px;
  font-weight:800; font-size:13.5px;
  animation: floaty 4.5s ease-in-out infinite reverse;
}
.hero-badge .dot{ width:10px; height:10px; border-radius:50%; background: var(--teal); }

.official-pill{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--white);
  border: 1px solid var(--teal-l);
  color: var(--teal-d);
  font-weight:700; font-size:13px;
  padding: 8px 16px; border-radius:999px;
  margin-bottom: 20px;
  box-shadow: 0 4px 14px rgba(67,156,134,.12);
}
.official-pill .dot{ width:8px;height:8px;border-radius:50%; background: var(--teal); }

.hero-text-col h1{
  font-family: var(--font-head);
  font-size: clamp(32px, 4.6vw, 50px);
  font-weight: 800;
  line-height: 1.14;
  margin-bottom: 20px;
}
.hero-text-col h1 em{ color: var(--teal); font-style: normal; }
.hero-text-col h1 strong{ color: var(--red); font-weight:800; }

.hero-desc{ font-size:17px; color: var(--gray-d); margin-bottom: 22px; max-width:520px; }

.hero-stars{ display:flex; align-items:center; gap:10px; margin-bottom: 26px; }
.hero-stars .stars{ color: var(--gold); font-size:18px; letter-spacing:2px; }
.hero-stars span{ font-size:14px; color: var(--gray-d); font-weight:600; }

.trust-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 28px; }
.trust-pills span{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #E4E4E4;
  font-size:12.5px; font-weight:700; color: var(--ink);
  padding: 8px 14px; border-radius:999px;
}

/* ---------- REVIEWS (customer stories, no "review" wording) ---------- */
.stories-grid{
  display:grid; grid-template-columns: repeat(3,1fr); gap:28px; margin-top: 12px;
}
.story-card{
  background:#fff; border-radius: var(--radius);
  padding: 30px; box-shadow: var(--shadow);
  border: 1px solid rgba(0,0,0,.04);
}
.story-top{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.story-top img{ width:56px; height:56px; border-radius:50%; object-fit:cover; }
.story-name{ font-weight:800; font-size:15px; }
.story-loc{ font-size:12.5px; color: var(--gray-d); }
.story-stars{ color: var(--gold); font-size:14px; letter-spacing:2px; margin-top:2px; }
.verified{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:800; color: var(--teal-d);
  background: var(--teal-l); padding:4px 10px; border-radius:999px;
  margin-bottom:12px;
}
.story-headline{ font-family: var(--font-head); font-weight:700; font-size:18px; margin-bottom:10px; }
.story-text{ font-size:14.5px; color:#4B5560; }

/* ---------- WHY CHOOSE ---------- */
.why-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:24px; }
.why-card{
  text-align:center; background:#fff; border-radius: var(--radius);
  padding: 32px 20px; box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.04);
}
.why-card img{ width:84px; height:84px; object-fit:contain; margin:0 auto 18px; }
.why-card h3{ font-size:16px; font-weight:800; margin-bottom:8px; }
.why-card p{ font-size:13.5px; color: var(--gray-d); }

/* ---------- PRICING ---------- */
.pricing-head{ text-align:center; margin-bottom: 44px; }
.offer-badge{ max-width: 340px; margin: 0 auto 30px; }
.price-grid{
  display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; align-items:stretch;
}

.price-card{
  position:relative;
  background:#fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 2px solid rgba(0,0,0,.04);
  padding: 34px 26px 28px;
  text-align:center;
  display:flex;
  flex-direction:column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.price-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.price-card.featured{
  border-color: var(--teal);
  transform: scale(1.045);
  box-shadow: var(--shadow-lg);
  z-index:2;
}
.price-card.featured:hover{ transform: scale(1.045) translateY(-6px); }

.price-ribbon{
  position:absolute; top:-15px; left:50%; transform: translateX(-50%);
  background: var(--red); color:#fff;
  font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding: 7px 20px; border-radius:999px;
  box-shadow: 0 8px 18px rgba(213,69,69,.35);
  white-space:nowrap;
}

.price-card-head h3{ font-family: var(--font-head); font-size:20px; font-weight:800; }
.price-card-head p{ font-size:12px; color: var(--gray-d); text-transform:uppercase; letter-spacing:.08em; margin: 4px 0 20px; }

.bottle-stack{ position:relative; height:180px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:16px; }
.bottle-stack img{ position:absolute; bottom:0; filter: drop-shadow(0 10px 16px rgba(30,42,38,.18)); }
.bottle-stack .b-center{ height:178px; left:50%; transform: translateX(-50%); z-index:3; }
.bottle-stack .b-left{ height:140px; left:50%; transform: translateX(-118px) rotate(-11deg); z-index:1; opacity:.92; }
.bottle-stack .b-right{ height:140px; left:50%; transform: translateX(48px) rotate(11deg); z-index:2; opacity:.96; }

.price-card-img{ height:180px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:16px; }
.price-card-img img{ max-height:100%; width:auto; object-fit:contain; filter: drop-shadow(0 10px 16px rgba(30,42,38,.18)); }

.price-card-badges{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-bottom:16px; }
.price-card-badges span{
  background: var(--teal-l); color: var(--teal-d);
  font-size:10.5px; font-weight:800; letter-spacing:.02em;
  padding: 5px 11px; border-radius:999px;
}

.price-card-price{ margin-bottom: 6px; }
.price-card-price .cur{ font-family: var(--font-head); font-size:22px; font-weight:800; color: var(--ink); position:relative; top:-16px; }
.price-card-price .amt{ font-family: var(--font-head); font-size:48px; font-weight:800; color: var(--ink); }
.price-card-price .unit{ font-size:14px; font-weight:600; color: var(--gray-d); }

.price-card-btn{ display:block; width:100%; margin: 14px 0 12px; padding:15px; font-size:15px; }

.price-card-total{ font-size:13px; color: var(--gray-d); margin-bottom:12px; }
.price-card-total s{ margin-right:6px; }
.price-card-total strong{ color: var(--ink); font-size:16px; }

.price-card-pay{ font-size:10.5px; color:#9aa3a0; letter-spacing:.03em; margin-top:auto; padding-top:10px; }

.guarantee-strip{
  margin-top: 40px; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:12px;
  font-size:14px; font-weight:700; color: var(--teal-d);
}
.guarantee-strip img{ width:38px; height:38px; }

/* ---------- BONUSES ---------- */
.bonuses-sec{
  background: linear-gradient(160deg, var(--ink), var(--teal-d));
  color:#fff;
}
.bonuses-sec .sec-tag{ background: rgba(255,255,255,.15); color:#fff; }
.bonuses-sec .sec-h{ color:#fff; }
.bonuses-sec .sec-sub{ color: rgba(255,255,255,.85); }
.bonus-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:26px; max-width: 780px; margin: 0 auto; }
.bonus-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius);
  overflow:hidden;
}
.bonus-card img{ width:100%; height:190px; object-fit:cover; }
.bonus-body{ padding: 22px; }
.bonus-body .retail{ font-size:13px; color: rgba(255,255,255,.65); }
.bonus-body .retail s{ margin-right:6px; }
.bonus-body .retail b{ color:#7CFFC4; }
.bonus-body h3{ font-family: var(--font-head); font-size:19px; margin: 8px 0 8px; }
.bonus-body p{ font-size:13.5px; color: rgba(255,255,255,.82); }

/* ---------- WHAT IS ---------- */
.what-is-grid{
  display:grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items:center;
}
.what-is-grid img{ border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.what-is-text p{ font-size:15.5px; color:#3E4A45; margin-bottom:16px; }
.what-is-text p:last-child{ margin-bottom:0; }

/* ---------- HOW IT WORKS ---------- */
.how-works{ background: var(--gray); }
.how-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:56px; align-items:start; }
.how-text p{ font-size:15.5px; color:#3E4A45; margin-bottom:16px; }
.how-box{
  background:#fff; border-radius: var(--radius); padding:34px; box-shadow: var(--shadow);
  border-left: 5px solid var(--teal);
}
.how-box h3{ font-family: var(--font-head); font-size:21px; margin-bottom:14px; }
.how-box p{ font-size:14.5px; color: var(--gray-d); margin-bottom:14px; }
.how-box p:last-child{ margin-bottom:0; }

/* ---------- ADVANTAGE ---------- */
.adv-list{ display:grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 40px; }
.adv-item{ display:flex; gap:16px; align-items:flex-start; }
.adv-dot{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background: var(--teal-l); color: var(--teal-d);
  display:flex; align-items:center; justify-content:center; font-weight:800;
}
.adv-item h4{ font-size:16px; font-weight:800; margin-bottom:6px; }
.adv-item p{ font-size:14px; color: var(--gray-d); }

/* ---------- INGREDIENTS ---------- */
.ing-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:22px; margin-top: 40px; }
.ing-card{
  background:#fff; border-radius: var(--radius); padding:24px;
  box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.04);
  transition: transform .2s ease;
}
.ing-card:hover{ transform: translateY(-4px); }
.ing-num{
  width:38px; height:38px; border-radius:10px;
  background: var(--teal); color:#fff; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px; transition: transform .25s ease;
}
.ing-card:hover .ing-num{ transform: scale(1.15) rotate(-6deg); }
.ing-card h3{ font-size:16px; font-weight:800; margin-bottom:8px; }
.ing-card p{ font-size:13.5px; color: var(--gray-d); margin-bottom:12px; }
.ing-tag{
  display:inline-block; font-size:11px; font-weight:800; letter-spacing:.02em;
  color: var(--teal-d); background: var(--teal-l); padding:4px 10px; border-radius:999px;
}
.science-row{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; margin-top:36px; }
.science-box{ background: var(--gray); border-radius: var(--radius); padding:24px; text-align:center; }
.science-box .big{ font-family: var(--font-head); font-size:30px; font-weight:800; color: var(--teal-d); }
.science-box p{ font-size:13px; color: var(--gray-d); margin-top:6px; }

/* ---------- BENEFITS ---------- */
.benefits-sec{
  background: linear-gradient(160deg, var(--teal-d), var(--teal));
  color:#fff;
}
.benefits-sec .sec-tag{ background: rgba(255,255,255,.15); color:#fff; }
.benefits-sec .sec-h{ color:#fff; }
.benefits-sec .sec-sub{ color: rgba(255,255,255,.85); }
.bene-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:16px 32px; }
.bene-item{ display:flex; gap:12px; align-items:flex-start; font-size:15px; }
.bene-item .check{
  width:24px; height:24px; border-radius:50%; flex-shrink:0;
  background: rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  font-size:13px; margin-top:2px;
}

/* ---------- GUARANTEE ---------- */
.guarantee-grid{ display:grid; grid-template-columns: 0.7fr 1.3fr; gap:56px; align-items:center; }
.guarantee-grid img{ max-width:280px; margin:0 auto; }
.guarantee-text p{ font-size:15.5px; color:#3E4A45; margin-bottom:16px; }
.guar-pills{ display:flex; flex-wrap:wrap; gap:10px; margin: 22px 0 28px; }
.guar-pills span{
  background: var(--teal-l); color: var(--teal-d);
  font-size:12.5px; font-weight:700; padding:8px 14px; border-radius:999px;
}

/* ---------- BENEFIT DETAIL CARDS ---------- */
.benefit-detail-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; margin-top: 12px; }
.benefit-detail-card{ background:#fff; border-radius: var(--radius); padding:28px 24px; box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.04); }
.benefit-detail-card .num{ width:36px; height:36px; border-radius:10px; background: var(--teal-l); color: var(--teal-d); display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:14px; }
.benefit-detail-card h3{ font-size:16px; font-weight:800; margin-bottom:8px; }
.benefit-detail-card p{ font-size:13.5px; color: var(--gray-d); }

/* ---------- PROS & CONS ---------- */
.proscons-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:28px; margin-top: 20px; }
.proscons-col{ background:#fff; border-radius: var(--radius); padding:32px; box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.04); }
.proscons-col.pros{ border-top:4px solid var(--teal); }
.proscons-col.cons{ border-top:4px solid var(--red); }
.proscons-col h3{ font-family: var(--font-head); font-size:20px; margin-bottom:18px; }
.proscons-col ul{ display:flex; flex-direction:column; gap:13px; }
.proscons-col li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:#3E4A45; }
.proscons-col li .ic{ flex-shrink:0; width:22px; height:22px; margin-top:1px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; }
.proscons-col.pros li .ic{ background: var(--teal-l); color: var(--teal-d); }
.proscons-col.cons li .ic{ background: var(--red-l); color: var(--red-d); }

/* ---------- PROSE / ARTICLE TEXT BLOCKS ---------- */
.prose{ max-width: 820px; margin: 0 auto; }
.prose p{ font-size:15.5px; color:#3E4A45; margin-bottom:16px; }
.prose p:last-child{ margin-bottom:0; }
.faq-sec{ background: var(--gray); }
.faq-list{ max-width: 820px; margin: 0 auto; }
.faq-item{
  background:#fff; border-radius: var(--radius); margin-bottom:14px;
  box-shadow: var(--shadow); overflow:hidden; border:1px solid rgba(0,0,0,.04);
}
.faq-q{
  display:flex; align-items:center; justify-content:space-between;
  padding: 22px 26px; cursor:pointer; font-weight:700; font-size:15.5px;
}
.faq-q .plus{
  font-size:20px; color: var(--teal); transition: transform .25s ease; flex-shrink:0; margin-left:16px;
}
.faq-item.open .plus{ transform: rotate(45deg); }
.faq-a{
  max-height:0; overflow:hidden; transition: max-height .3s ease;
  padding: 0 26px;
}
.faq-item.open .faq-a{ max-height: 400px; padding-bottom: 22px; }
.faq-a p{ font-size:14.5px; color: var(--gray-d); }

/* ---------- FINAL CTA ---------- */
.final-cta{
  background: linear-gradient(160deg, var(--ink), var(--teal-d));
  color:#fff; text-align:center;
}
.urgency-box{
  display:inline-flex; align-items:center; gap:10px;
  background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
  padding: 10px 22px; border-radius:999px; font-weight:700; font-size:13.5px;
  margin-bottom: 26px;
}
.final-cta h2{
  font-family: var(--font-head); font-size: clamp(28px,4.4vw,44px); font-weight:800; margin-bottom:16px;
}
.final-cta .sub{ font-size:16.5px; color: rgba(255,255,255,.85); max-width:560px; margin:0 auto 36px; }
.final-img-link{ display:inline-block; max-width:420px; margin: 0 auto 30px; border-radius: var(--radius); overflow:hidden; }
.final-price-note{ font-size:14px; color: rgba(255,255,255,.75); margin-bottom:26px; }
.pay-logos{ margin-top: 34px; opacity:.85; max-width:320px; margin-left:auto; margin-right:auto; }

/* ---------- FOOTER ---------- */
footer{ background: var(--ink); color: rgba(255,255,255,.75); padding: 56px 0 30px; font-size:13.5px; }
.f-row1{ display:flex; flex-wrap:wrap; gap:22px; justify-content:center; padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:26px; }
.f-row1 a{ color: rgba(255,255,255,.75); font-weight:600; }
.f-row1 a:hover{ color:#fff; }
.f-row2{ display:flex; flex-wrap:wrap; gap:22px; justify-content:center; margin-bottom:26px; }
.f-row2 a{ color: rgba(255,255,255,.6); }
.f-row2 a:hover{ color:#fff; }
.f-legal{ max-width: 880px; margin: 0 auto 22px; font-size:12px; color: rgba(255,255,255,.45); text-align:center; line-height:1.7; }
.f-copy{ text-align:center; font-size:12.5px; color: rgba(255,255,255,.45); }

/* ---------- STICKY MOBILE CTA ---------- */
.sticky-cta{
  display:none; position: fixed; bottom:0; left:0; right:0; z-index:998;
  background: var(--red); padding: 13px 20px;
  box-shadow: 0 -8px 24px rgba(0,0,0,.2);
  text-align:center;
}
.sticky-cta a{ color:#fff; font-weight:800; font-size:14.5px; letter-spacing:.02em; }

/* ---------- LEGAL PAGES ---------- */
.page-hero{
  background: linear-gradient(180deg, var(--teal-l), #fff);
  padding: 64px 0 50px; text-align:center;
}
.page-hero h1{ font-family: var(--font-head); font-size: clamp(30px,4.4vw,44px); font-weight:800; }
.page-hero p{ color: var(--gray-d); margin-top:12px; }
.legal-wrap{ max-width: 820px; margin: 0 auto; padding: 60px 24px; }
.legal-wrap h2{ font-family: var(--font-head); font-size:22px; margin: 34px 0 12px; }
.legal-wrap h2:first-child{ margin-top:0; }
.legal-wrap p{ font-size:15px; color:#3E4A45; margin-bottom:14px; }
.legal-note{ background: var(--teal-l); border-left:4px solid var(--teal); padding:16px 20px; border-radius:8px; font-size:14px; color: var(--teal-d); margin: 20px 0; }
.legal-cta-box{
  background: var(--gray); border-radius: var(--radius); padding: 40px; text-align:center; margin-top: 40px;
}
.legal-cta-box h3{ font-family: var(--font-head); font-size:24px; margin-bottom:10px; }
.legal-cta-box p{ color: var(--gray-d); margin-bottom:22px; }

/* ---------- CONTACT PAGE ---------- */
.contact-grid{ display:grid; grid-template-columns: 1.2fr 1fr; gap: 48px; max-width: 1100px; margin: 0 auto; padding: 60px 24px 90px; }
.contact-form{ background:#fff; border-radius: var(--radius); padding: 36px; box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.05); }
.contact-form h2{ font-family: var(--font-head); font-size:24px; margin-bottom: 22px; }
.f-group{ margin-bottom: 18px; }
.f-group label{ display:block; font-size:13.5px; font-weight:700; margin-bottom:7px; }
.f-group input, .f-group select, .f-group textarea{
  width:100%; padding: 13px 16px; border-radius:10px; border:1.5px solid #E2E2E2;
  font-size:14.5px; transition: border-color .2s ease;
}
.f-group input:focus, .f-group select:focus, .f-group textarea:focus{ outline:none; border-color: var(--teal); }
.f-group textarea{ resize:vertical; min-height:120px; }
.contact-info-grid{ display:flex; flex-direction:column; gap:18px; }
.info-card{ background:#fff; border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.05); display:flex; gap:16px; align-items:flex-start; }
.info-card .ic{ width:44px; height:44px; border-radius:12px; background: var(--teal-l); color: var(--teal-d); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:19px; }
.info-card h4{ font-size:15px; font-weight:800; margin-bottom:4px; }
.info-card p{ font-size:13.5px; color: var(--gray-d); }
.faq-cta-box{ background: var(--teal-l); border-radius: var(--radius); padding:24px; text-align:center; }
.faq-cta-box p{ font-size:14px; color: var(--teal-d); margin-bottom:14px; font-weight:600; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 960px){
  .hero-grid{ grid-template-columns: 1fr; text-align:center; }
  .hero-img-col{ order:1; }
  .hero-text-col{ order:2; }
  .hero-desc{ margin-left:auto; margin-right:auto; }
  .trust-pills{ justify-content:center; }
  .why-grid{ grid-template-columns: repeat(2,1fr); }
  .stories-grid{ grid-template-columns: 1fr; }
  .price-grid{ grid-template-columns: 1fr; max-width:420px; margin: 0 auto; }
  .price-card.featured{ transform:none; order:-1; }
  .price-card.featured:hover{ transform: translateY(-6px); }
  .bonus-grid{ grid-template-columns: 1fr; max-width:440px; margin:0 auto; }
  .what-is-grid{ grid-template-columns: 1fr; }
  .what-is-grid img{ max-width:360px; margin:0 auto; }
  .how-grid{ grid-template-columns: 1fr; }
  .adv-list{ grid-template-columns: 1fr; }
  .ing-grid{ grid-template-columns: repeat(2,1fr); }
  .bene-grid{ grid-template-columns: 1fr; }
  .benefit-detail-grid{ grid-template-columns: 1fr; }
  .proscons-grid{ grid-template-columns: 1fr; }
  .guarantee-grid{ grid-template-columns: 1fr; text-align:center; }
  .contact-grid{ grid-template-columns: 1fr; }
  .science-row{ grid-template-columns: 1fr; }
  section{ padding: 60px 0; }
  .sticky-cta{ display:block; }
  body{ padding-bottom: 62px; }
}

@media (max-width: 860px){
  nav.desktop-nav{ display:none; }
  .h-btn.desktop-only{ display:none; }
  .hamburger{ display:flex; }
}

@media (max-width: 560px){
  .why-grid{ grid-template-columns: 1fr; }
  .ing-grid{ grid-template-columns: 1fr; }
  .hero-img-wrap img{ max-width: 280px; }
  .h-inner{ padding: 12px 18px; }
  .topbar{ font-size:11.5px; }
  .topbar span{ margin: 0 5px; }
  .logo-tag{ display:none; }
  .f-row1, .f-row2{ gap:14px; }
}
