

:root{
  --blue:#C9ECF8;
  --blue-soft:#EAF8FD;
  --blue-mid:#8CCFE7;
  --navy:#082D63;
  --navy-deep:#05244F;
  --white:#FFFFFF;
  --rasp:#E52B50;
  --char:#19334F;
  --muted:#61758A;
  --line:#DDEAF1;
  --green:#2D6A4F;
  --shadow:0 18px 50px rgba(8,45,99,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter","Avenir Next",Arial,sans-serif;
  color:var(--char);
  background:#fff;
  line-height:1.58;
  font-size:16px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.announcement{background:var(--navy);color:#fff;text-align:center;font-weight:800;font-size:13px;padding:9px 16px;letter-spacing:.02em}
header{background:#fff;border-bottom:1px solid #eef3f6;position:relative;z-index:30}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-size:32px;font-weight:800;color:var(--navy);letter-spacing:.015em}
.nav small{color:var(--muted);font-weight:700}
.hero{padding:28px 0 54px;background:linear-gradient(180deg,#fff 0%,#f8fcff 100%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:start}
.carousel{background:#fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #edf3f6}
.slides{position:relative}
.slide{display:none}.slide.active{display:block}
.slide img{width:100%;aspect-ratio:1/1;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;background:#fff}
.thumb{border:2px solid transparent;border-radius:0;overflow:hidden;cursor:pointer;background:#fff;padding:0}
.thumb.active{border-color:var(--navy)}
.thumb img{aspect-ratio:1/1;object-fit:cover}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--navy);margin:2px 0 12px}
h1,h2,h3{font-size:22px;letter-spacing:-.018em;font-weight:700}
h1{font-size:clamp(38px,5vw,60px);letter-spacing:-.035em;font-weight:800}
h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.025em;font-weight:800}
h3{font-size:22px;letter-spacing:-.01em}
.sub{font-size:17px;line-height:1.62;color:#496078;margin:18px 0 18px;max-width:54ch;font-weight:400}
.bullets{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:18px 0 22px;padding:0;list-style:none}
.bullets li{font-weight:800;font-size:15px;color:var(--navy)}
.product-title{font-size:17px;font-weight:700;color:var(--navy);margin:14px 0 2px;letter-spacing:-.01em}
.servings{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.01em}
.purchase-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 12px}
.tab{padding:12px;border:1px solid var(--line);background:#fff;border-radius:0;font-weight:700;color:var(--navy);cursor:pointer}
.tab.active{background:var(--blue);border-color:var(--blue-mid)}
.offer-list{display:grid;gap:10px}
.offer{border:2px solid var(--line);border-radius:0;padding:14px 15px;cursor:pointer;position:relative;transition:.2s;background:#fff}
.offer.active{border-color:var(--navy);box-shadow:0 9px 26px rgba(6,42,94,.10)}
.offer .row{display:flex;justify-content:space-between;gap:16px;align-items:center}
.offer .name{font-weight:800;color:var(--navy)}
.offer .price{font-size:22px;font-weight:800;color:var(--navy)}
.offer .meta{font-size:12px;color:var(--muted);font-weight:700}
.offer .save{color:var(--rasp);font-weight:1000}
.badge{position:absolute;top:-10px;right:12px;background:var(--blue);color:var(--navy);border-radius:999px;font-size:10px;font-weight:800;padding:5px 9px;letter-spacing:.05em}
.btn{
  display:block;
  width:100%;
  border:0;
  border-radius:0;
  padding:16px 20px;
  background:var(--navy);
  color:#fff;
  font-family:"Inter","Avenir Next",Arial,sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:.035em;
  text-align:center;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(8,45,99,.16);
}
.micro{text-align:center;font-size:12px;color:var(--muted);font-weight:700;margin-top:10px}
.benefitbar{border-top:1px solid #edf3f6;border-bottom:1px solid #edf3f6;background:#fff}
.benefitgrid{display:grid;grid-template-columns:repeat(4,1fr)}
.benefitgrid>div{padding:20px 18px;text-align:center}
.benefitgrid strong{display:block;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.08em}
.benefitgrid span{font-size:12px;color:var(--muted);font-weight:500}
.section{padding:72px 0}
.section.soft{background:var(--pale)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev .visual{order:2}.split.rev .copy{order:1}
.copy{max-width:58ch}
.kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#63B8D8;font-weight:700;margin-bottom:12px}
.stack{margin-top:22px}
.stack p{margin:0 0 12px;font-size:16px;line-height:1.62}
.stack p strong{color:var(--navy)}
.visual img{border-radius:26px;box-shadow:var(--shadow);border:1px solid #edf3f6}
.inline-cta{
  display:inline-flex;
  margin-top:22px;
  background:var(--navy);
  color:#fff;
  border-radius:11px;
  padding:13px 18px;
  font-family:"Inter","Avenir Next",Arial,sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.03em;
}
.mechanism{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff}
.mechanism h2,.mechanism h3{color:#fff}
.mechanism .kicker{color:var(--blue-mid)}
.mechanism .stack p{color:#eef7fb}
.proofgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.proofbox{background:#fff;border:1px solid var(--line);border-radius:0;padding:18px}
.proofbox strong{display:block;color:var(--navy);font-size:13px;margin-bottom:8px}
.proofbox span{font-weight:900}
.compare-wrap{overflow:auto;margin-top:30px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:0;overflow:hidden}
th,td{text-align:left;padding:15px;border-bottom:1px solid #e8eef2}
th{background:var(--navy);color:#fff}
td:first-child{font-weight:900}
.origin{max-width:760px;margin:auto;text-align:center}
.origin .stack{text-align:left}
.offer-section{background:linear-gradient(180deg,#fff,#f6fbfe)}
.offer-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.offer-card{background:#fff;border:2px solid var(--line);border-radius:0;overflow:hidden;position:relative}
.offer-card.pop{border-color:var(--navy);transform:translateY(-8px);box-shadow:var(--shadow)}
.offer-card img{aspect-ratio:1/1;object-fit:cover}
.offer-body{padding:18px}
.offer-body .big{font-size:30px;font-weight:800;color:var(--navy)}
.strike{text-decoration:line-through;color:#8a99a5}
.guarantee{background:var(--blue-soft)}
.faq{max-width:860px;margin:auto}
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{font-weight:800;color:var(--navy);cursor:pointer;font-size:18px}
details p{margin:11px 0 0;color:#46586a}
.final{text-align:center;background:var(--navy-deep);color:#fff}
.final h2{color:#fff}
.final .price-line{font-size:21px;font-weight:700;margin:22px 0}
.final .btn{max-width:460px;margin:24px auto 0}
footer{padding:34px 0;background:#041f47;color:#d5e6f3;font-size:13px}
footer .foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #dde7ed;z-index:50;display:none;box-shadow:0 -10px 30px rgba(0,0,0,.08)}
.sticky.show{display:block}
.sticky-inner{width:min(1180px,calc(100% - 24px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.sticky .sname{font-weight:800;color:var(--navy)}
.sticky .btn{width:auto;padding:12px 20px}
.drawer{position:fixed;top:0;right:-440px;width:min(420px,100%);height:100vh;background:#fff;z-index:90;box-shadow:-20px 0 60px rgba(0,0,0,.16);transition:.28s;padding:24px;overflow:auto}
.drawer.open{right:0}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:80;display:none}
.overlay.show{display:block}
.close{border:0;background:transparent;font-size:28px;cursor:pointer;float:right}
.progress{height:8px;border-radius:999px;background:#edf2f5;overflow:hidden;margin:16px 0}
.progress>div{height:100%;background:var(--navy);width:33%}
.checkout{margin-top:18px}
.note{font-size:12px;color:var(--muted)}
@media(max-width:800px){
  .container{width:min(100% - 24px,680px)}
  .nav{height:58px}.logo{font-size:27px}
  .hero{padding-top:14px}
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .hero-copy{display:flex;flex-direction:column}
  h1{font-size:39px}
  .sub{font-size:15px;margin:12px 0}
  .bullets{font-size:13px;margin:10px 0 15px}
  .purchase-tabs{margin-top:12px}
  .benefitgrid{grid-template-columns:1fr 1fr}
  .section{padding:54px 0}
  .split{grid-template-columns:1fr;gap:24px}
  .split .visual,.split.rev .visual{order:1}
  .split .copy,.split.rev .copy{order:2}
  .proofgrid{grid-template-columns:1fr 1fr}
  .offer-cards{grid-template-columns:1fr}
  .offer-card.pop{transform:none}
  .sticky .sname{font-size:13px}
  .sticky .btn{font-size:13px;padding:10px 13px}
}

/* Typography cleanup */
p, li, summary, td, th, button, a, span, div { font-synthesis:none; }
p { letter-spacing:-0.002em; }
summary { font-size:17px; font-weight:700; }
th { font-weight:700; letter-spacing:.01em; }
td { font-size:15px; }
.offer .name { font-weight:700; letter-spacing:-.005em; }
.offer .price { font-weight:800; letter-spacing:-.01em; }
.badge { font-weight:700; letter-spacing:.04em; }
.micro { font-weight:600; }
.benefitgrid strong { font-weight:700; letter-spacing:.005em; }
.proofbox strong { font-weight:700; }
.final .price-line { font-weight:700; letter-spacing:-.005em; }


/* MAGNE packaging typography + palette refinements */
strong,b{font-weight:700}
p,li,summary,td,th,button,a,span,div{font-synthesis:none}
p{letter-spacing:-.004em}
.stack p{font-size:16px;line-height:1.62}
summary{font-size:16px;font-weight:700;letter-spacing:-.01em}
th{font-weight:700;letter-spacing:.015em}
td{font-size:15px}
.offer .name{font-weight:700;letter-spacing:-.01em}
.offer .price{font-weight:800;letter-spacing:-.02em}
.offer .meta{font-weight:500}
.badge{font-weight:700;letter-spacing:.06em}
.micro{font-weight:500}
.proofbox strong{font-weight:700;letter-spacing:.04em}
.proofbox span{font-weight:700}
.final .price-line{font-weight:700;letter-spacing:-.01em}
.announcement{background:var(--navy-deep)}
header{border-bottom:1px solid var(--line)}
.hero{background:linear-gradient(180deg,#fff 0%,#F5FBFE 100%)}
.offer.active{border-color:var(--navy);box-shadow:0 9px 26px rgba(8,45,99,.10)}
.thumb.active{border-color:var(--navy)}
.sticky{border-top:1px solid var(--line)}


/* Force hero headline to exactly 2 lines on desktop while keeping images embedded */
.hero-title{
  font-size:46px !important;
  line-height:1.08 !important;
  width:max-content !important;
  max-width:none !important;
}
.hero-title span{
  display:block !important;
  white-space:nowrap !important;
}
@media(max-width:800px){
  .hero-title{
    font-size:36px !important;
    width:auto !important;
  }
  .hero-title span{
    white-space:normal !important;
  }
}


/* ---- 2026 typography + image integration cleanup ---- */
html,body{overflow-x:hidden}
body,button,input,select,textarea{font-family:"Inter","Avenir Next",Arial,sans-serif !important}
.logo,h1,h2,h3,.btn,.tab,.offer .name,.offer .price,.badge,.inline-cta,.benefitgrid strong,summary,.product-title,strong,b{
  font-family:"Inter","Avenir Next",Arial,sans-serif !important;
}
.logo{
  font-size:34px !important;
  font-weight:900 !important;
  letter-spacing:-0.06em !important;
  line-height:1 !important;
}
.nav small{
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
h1{
  font-size:clamp(40px,5.4vw,66px) !important;
  line-height:1.02 !important;
  letter-spacing:-0.06em !important;
  margin:0 !important;
}
h2{
  font-size:clamp(32px,4vw,52px) !important;
  line-height:1.05 !important;
  letter-spacing:-0.045em !important;
  margin:0 0 10px !important;
}
h3{
  font-size:clamp(22px,2vw,28px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.03em !important;
}
p,.sub,.stack p,td,th,summary,.servings,.micro,.offer .meta,.benefitgrid span{
  font-family:"Inter","Avenir Next",Arial,sans-serif !important;
}
.sub{font-size:18px !important; line-height:1.6 !important; letter-spacing:-.015em !important;}
.hero-title{
  width:auto !important;
  max-width:11.5ch !important;
  font-size:clamp(40px,5.4vw,66px) !important;
  line-height:1.02 !important;
}
.hero-title span{
  display:block !important;
  white-space:normal !important;
}
.copy,.hero-copy,.origin,.offer-body,.proofbox,.benefitgrid>div,.final,.faq,th,td,p,h1,h2,h3,summary{overflow-wrap:anywhere}
.slide img,.thumb img,.offer-card img{object-fit:contain !important;background:#fff !important}
.carousel{border-radius:24px !important}
.visual img{border-radius:20px !important}
.proofgrid{grid-template-columns:repeat(2,1fr) !important}
.bullets li{font-weight:700 !important; letter-spacing:-.01em !important}
.btn,.inline-cta{
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  border-radius:0 !important;
}
@media(max-width:800px){
  .logo{font-size:28px !important}
  h1,.hero-title{font-size:38px !important; max-width:100% !important}
  h2{font-size:30px !important}
  .nav small{font-size:11px !important; letter-spacing:.04em !important}
  .proofgrid{grid-template-columns:1fr !important}
  .slide img,.thumb img{aspect-ratio:1/1 !important; object-fit:contain !important}
}


/* SHARP UI OVERRIDES */
.carousel,.thumb,.tab,.offer,.btn,.badge,.visual img,.inline-cta,.proofbox,
.offer-card,.drawer,.progress,.guarantee,.purchase-tabs button,.sticky,
.offer-card img,.carousel img,.slide img,.thumb img{
  border-radius:0 !important;
}
.offer-card.pop{transform:none !important;}
.carousel,.visual img,.offer-card{box-shadow:none !important;}
.offer,.offer-card,.proofbox,.carousel,.tab{border-color:#D8E2E8 !important;}
.btn,.inline-cta{box-shadow:none !important;}


/* SCREENSHOT-INSPIRED SHOP SELECTOR */
.shop-selector{margin-top:22px}
.shop-label{font-size:14px;margin:0 0 18px;color:#111}
.shop-label span{color:#E85C21;font-weight:700}
.pkg-card{border:1px solid #D8E2E8;background:#F8FAF8;margin:0 0 12px;position:relative;cursor:pointer}
.pkg-card.active{border:2px solid #E9A7C0;background:#fff}
.pkg-top{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;padding:18px}
.pkg-top img{width:72px;height:72px;object-fit:contain;background:#fff;border:0}
.pkg-title{font-size:20px;font-weight:800;color:#111;letter-spacing:-.03em}
.pkg-sub{font-size:14px;color:#52616E;margin-top:3px}
.discount{display:inline-block;margin-left:8px;padding:5px 9px;background:#FBE3EC;color:#E9A7C0;font-size:11px;font-weight:800;vertical-align:middle}
.pkg-price{font-size:24px;font-weight:800;color:#E88FB0;text-align:right;white-space:nowrap}
.pkg-price small{display:block;color:#46515A;font-size:14px;text-decoration:line-through;margin-top:2px}
.pkg-extra{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 18px;background:#F8D6E3;border-top:1px solid rgba(255,106,36,.25);font-size:14px;color:#111}
.extra-thumb{width:44px;height:44px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;color:#082D63}
.extra-value{font-size:13px;text-decoration:none;color:#333}
.popular-tag{position:absolute;right:-2px;top:-14px;background:#E9A7C0;color:#fff;padding:6px 14px;font-size:12px;font-weight:800;z-index:2}
.addon-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;border:1px solid #D8E2E8;padding:13px 14px;margin-top:10px;background:#F7F8F5;font-size:13px}
.addon-row input{width:18px;height:18px}
.addon-price{color:#667}
.package-cta{margin-top:14px;background:#E9A7C0 !important;color:#fff !important;font-size:15px !important;letter-spacing:.08em !important;padding:18px 20px !important}
.payment-strip{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.payment-strip span{border:1px solid #D8E2E8;background:#fff;padding:4px 9px;font-size:10px;color:#334}
@media(max-width:640px){
  .pkg-top{grid-template-columns:58px 1fr auto;gap:10px;padding:14px 12px}
  .pkg-top img{width:58px;height:58px}
  .pkg-title{font-size:16px}
  .pkg-sub{font-size:12px}
  .pkg-price{font-size:18px}
  .pkg-extra{grid-template-columns:44px 1fr auto;padding:10px 12px;font-size:12px}
}


/* BABY PINK PACKAGE SECTOR */
.shop-label span{color:#E88FB0 !important;}
.pkg-card.active{border:2px solid #E9A7C0 !important;background:#fff !important;}
.pkg-price{color:#E88FB0 !important;}
.discount{background:#FBE3EC !important;color:#D46F99 !important;}
.pkg-extra{
  background:#F8D6E3 !important;
  border-top:1px solid rgba(228,143,176,.35) !important;
}
.popular-tag{
  background:#E9A7C0 !important;
  color:#fff !important;
}
.package-cta{
  background:#E9A7C0 !important;
  color:#fff !important;
}
.package-cta:hover{filter:brightness(.97);}
.addon-row strong{color:#111 !important;}
.pkg-card[data-tier="1"]:hover,
.pkg-card[data-tier="3"]:hover,
.pkg-card[data-tier="6"]:hover{
  border-color:#E9A7C0 !important;
}

/* MAX 2-LINE HEADLINES */
h1,h2,.hero-title,.pkg-title{
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
}
h1,.hero-title{
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  max-width:12.5ch !important;
}
h2{
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  max-width:18ch !important;
}
.pkg-title{
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  max-width:15ch !important;
}

/* Specific heading sizing to keep to 2 lines neatly */
.hero-title{
  font-size:clamp(40px,5vw,62px) !important;
  line-height:1.02 !important;
}
h2{
  font-size:clamp(28px,3.6vw,46px) !important;
  line-height:1.05 !important;
}
@media(max-width:800px){
  h1,.hero-title{max-width:100% !important;}
  h2{max-width:100% !important;}
  .pkg-title{max-width:14ch !important;}
}


/* SLIDING REVIEWS */
.reviews-section{
  padding:72px 0 78px;
  background:#F7F8F5;
  overflow:hidden;
}
.reviews-head{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto 24px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
}
.reviews-head .copy{max-width:620px}
.reviews-head .kicker{margin-bottom:8px}
.reviews-head h2{max-width:14ch !important}
.review-controls{display:flex;gap:8px}
.review-arrow{
  width:42px;height:42px;border:1px solid #D8E2E8;background:#fff;color:var(--navy);
  font-size:20px;font-weight:700;cursor:pointer;border-radius:0;
}
.review-arrow:hover{background:var(--blue-soft)}
.review-slider{overflow:hidden;width:100%}
.review-track{
  display:flex;gap:12px;width:max-content;padding:0 16px;
  transition:transform .45s ease;will-change:transform;
}
.review-card{
  width:280px;min-width:280px;background:#fff;border:1px solid #D8E2E8;
  border-radius:0;overflow:hidden;
}
.review-image{
  height:220px;background:linear-gradient(145deg,#F4F7F8,#E8EFF3);
  display:flex;align-items:center;justify-content:center;color:#81909B;
  font-size:12px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;
}
.review-body{padding:16px}
.review-stars{color:#F5A623;letter-spacing:1px;font-size:15px;margin-bottom:8px}
.review-quote{color:#182A3D;font-size:15px;line-height:1.45;min-height:66px}
.review-meta{margin-top:14px;font-size:12px;color:#6A7885;font-weight:600}
.review-note{
  width:min(1180px,calc(100% - 32px));
  margin:18px auto 0;font-size:12px;color:#768591;
}
@media(max-width:800px){
  .reviews-section{padding:54px 0 60px}
  .reviews-head{align-items:start;width:min(100% - 24px,680px)}
  .review-controls{display:none}
  .review-slider{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .review-slider::-webkit-scrollbar{display:none}
  .review-track{transform:none !important;padding:0 12px 4px}
  .review-card{width:82vw;min-width:82vw;max-width:330px}
}


.review-image.has-photo{
  height:300px !important;
  background:#fff !important;
}
.review-image.has-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.review-photo-card .review-body{
  padding:12px 14px 14px;
}
.review-photo-card .review-quote{
  min-height:auto;
  font-size:13px;
  color:#64727d;
}
@media(max-width:800px){
  .review-image.has-photo{height:330px !important;}
}

.rating-summary{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  font-size:13px;
}
.rating-big{
  font-size:26px;
  line-height:1;
  font-weight:800;
  color:var(--navy);
}
.rating-stars{
  color:#F5A623;
  letter-spacing:2px;
  font-size:17px;
}
.rating-count{color:#687886;font-weight:600}

.review-track{
  gap:16px !important;
  transition:transform .58s cubic-bezier(.22,.61,.36,1) !important;
}
.actual-review-card{
  width:330px !important;
  min-width:330px !important;
  border:1px solid #D8E2E8 !important;
  background:#fff !important;
}
.actual-review-card .review-image.has-photo{
  height:245px !important;
}
.actual-review-card .review-image.has-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.actual-review-card .review-body{
  padding:16px 16px 18px !important;
}
.actual-review-card .review-stars{
  color:#FF9900 !important;
  font-size:16px !important;
  letter-spacing:1px !important;
  margin-bottom:6px !important;
}
.actual-review-card .review-title{
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  color:#111;
  margin-bottom:9px;
}
.actual-review-card .review-quote{
  min-height:116px !important;
  font-size:14px !important;
  line-height:1.48 !important;
  color:#263746 !important;
}
.actual-review-card .review-meta{
  font-size:11px !important;
  line-height:1.4;
  color:#73818C !important;
  font-weight:600 !important;
  margin-top:14px !important;
}
@media(max-width:800px){
  .actual-review-card{
    width:84vw !important;
    min-width:84vw !important;
    max-width:340px !important;
    scroll-snap-align:start;
  }
  .review-slider{scroll-snap-type:x mandatory;}
  .actual-review-card .review-image.has-photo{height:270px !important;}
}

/* CONTINUOUS AUTO-SLIDING REVIEWS */
.review-slider{
  overflow:hidden !important;
  width:100%;
}
.review-track{
  display:flex !important;
  gap:16px !important;
  width:max-content !important;
  padding:0 16px !important;
  transform:none !important;
  animation:magneReviewMarquee 42s linear infinite !important;
  will-change:transform;
}
@keyframes magneReviewMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 8px));}
}
.review-controls{display:none !important;}

@media(max-width:800px){
  .review-slider{
    overflow:hidden !important;
    scroll-snap-type:none !important;
  }
  .review-track{
    transform:none !important;
    animation:magneReviewMarquee 34s linear infinite !important;
    padding:0 12px !important;
  }
  .actual-review-card{
    width:82vw !important;
    min-width:82vw !important;
    max-width:340px !important;
  }
}

/* SHOP HEADTITLE ONE LINE */
.shop-label{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
  font-size:14px !important;
}
.shop-label strong,
.shop-label span{
  white-space:nowrap !important;
}

/* FULL MOBILE FIT */
html,body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
*{
  min-width:0;
}
img,video,svg,canvas{
  max-width:100% !important;
  height:auto !important;
}
.container{
  width:min(1180px,calc(100% - 32px)) !important;
  max-width:100% !important;
}
.hero-grid,
.split,
.comp,
.offer-cards,
.offerbands,
.grid2,
.grid3,
.grid4,
.proofgrid,
.benefitgrid{
  min-width:0 !important;
}
.hero-copy,
.copy,
.origin,
.faq,
.final,
.shop-selector,
.pkg-card,
.pkg-top,
.offer-card,
.review-card{
  max-width:100% !important;
}
.pkg-price{
  max-width:100% !important;
}
table{
  max-width:100% !important;
}
.compare-wrap{
  max-width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* MOBILE LAYOUT CLEANUP */
@media(max-width:800px){
  .container{
    width:calc(100% - 24px) !important;
    padding:0 !important;
  }

  .announcement{
    font-size:10px !important;
    line-height:1.35 !important;
    padding:8px 10px !important;
    white-space:normal !important;
  }

  .nav{
    height:auto !important;
    min-height:58px !important;
    padding:12px 0 !important;
    gap:10px !important;
  }
  .nav small{
    display:none !important;
  }
  .logo{
    font-size:26px !important;
  }

  .hero{
    padding:12px 0 34px !important;
  }
  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .carousel{
    width:100% !important;
    max-width:100% !important;
  }
  .slide img{
    width:100% !important;
    aspect-ratio:1/1 !important;
    object-fit:contain !important;
  }
  .thumbs{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:5px !important;
    padding:7px !important;
  }

  .eyebrow{
    font-size:10px !important;
    letter-spacing:.09em !important;
    margin-bottom:9px !important;
  }

  h1,
  .hero-title{
    font-size:34px !important;
    line-height:1.03 !important;
    letter-spacing:-.045em !important;
    max-width:100% !important;
    width:100% !important;
  }
  .hero-title span{
    white-space:normal !important;
  }

  h2{
    font-size:28px !important;
    line-height:1.08 !important;
    max-width:100% !important;
  }
  h3{
    font-size:21px !important;
  }

  .sub{
    font-size:15px !important;
    line-height:1.5 !important;
    max-width:100% !important;
  }

  .bullets{
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin:14px 0 18px !important;
  }
  .bullets li{
    font-size:14px !important;
  }

  .benefitgrid{
    grid-template-columns:1fr 1fr !important;
  }
  .benefitgrid>div{
    padding:14px 8px !important;
  }

  .section{
    padding:48px 0 !important;
  }
  .split,
  .split.rev{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .split .visual,
  .split.rev .visual{
    order:1 !important;
  }
  .split .copy,
  .split.rev .copy{
    order:2 !important;
  }
  .visual img{
    width:100% !important;
  }

  .stack{
    margin-top:16px !important;
  }
  .stack p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .proofgrid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  /* shop/package selector */
  .shop-selector{
    width:100% !important;
  }
  .shop-label{
    font-size:12px !important;
    gap:4px !important;
    overflow:hidden !important;
  }
  .shop-label strong,
  .shop-label span{
    font-size:12px !important;
  }

  .pkg-top{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:12px 10px !important;
    align-items:center !important;
  }
  .pkg-top img{
    width:54px !important;
    height:54px !important;
  }
  .pkg-title{
    font-size:15px !important;
    line-height:1.2 !important;
    max-width:100% !important;
  }
  .pkg-sub{
    font-size:11px !important;
    line-height:1.25 !important;
  }
  .discount{
    display:inline-block !important;
    margin-left:4px !important;
    padding:3px 5px !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }
  .pkg-price{
    font-size:17px !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  .pkg-price small{
    font-size:10px !important;
  }
  .pkg-extra{
    grid-template-columns:38px minmax(0,1fr) auto !important;
    gap:7px !important;
    padding:9px 10px !important;
    font-size:11px !important;
  }
  .extra-thumb{
    width:34px !important;
    height:34px !important;
    font-size:11px !important;
  }
  .extra-value{
    font-size:10px !important;
    white-space:nowrap !important;
  }
  .popular-tag{
    top:-11px !important;
    right:0 !important;
    padding:4px 8px !important;
    font-size:9px !important;
  }
  .addon-row{
    grid-template-columns:20px minmax(0,1fr) auto !important;
    padding:11px 10px !important;
    font-size:11px !important;
  }
  .package-cta{
    font-size:12px !important;
    letter-spacing:.05em !important;
    padding:15px 12px !important;
  }
  .payment-strip{
    gap:4px !important;
  }
  .payment-strip span{
    padding:4px 6px !important;
    font-size:8px !important;
  }

  /* review slider mobile */
  .reviews-head{
    width:calc(100% - 24px) !important;
    margin-bottom:18px !important;
  }
  .reviews-head h2{
    max-width:100% !important;
  }
  .review-track{
    gap:12px !important;
  }
  .actual-review-card{
    width:82vw !important;
    min-width:82vw !important;
    max-width:320px !important;
  }
  .actual-review-card .review-image.has-photo{
    height:250px !important;
  }
  .actual-review-card .review-quote{
    min-height:auto !important;
  }

  .offer-cards{
    grid-template-columns:1fr !important;
  }
  .offer-card{
    width:100% !important;
  }

  .sticky-inner{
    width:calc(100% - 16px) !important;
    gap:8px !important;
  }
  .sticky .sname{
    font-size:11px !important;
  }
  .sticky .btn{
    font-size:11px !important;
    padding:9px 10px !important;
    width:auto !important;
    white-space:nowrap !important;
  }

  .drawer{
    width:100% !important;
    max-width:100% !important;
  }
}

/* EXTRA SMALL PHONES */
@media(max-width:390px){
  h1,.hero-title{
    font-size:31px !important;
  }
  h2{
    font-size:26px !important;
  }
  .shop-label,
  .shop-label strong,
  .shop-label span{
    font-size:11px !important;
  }
  .pkg-top{
    grid-template-columns:48px minmax(0,1fr) auto !important;
  }
  .pkg-top img{
    width:48px !important;
    height:48px !important;
  }
  .pkg-title{
    font-size:14px !important;
  }
  .pkg-price{
    font-size:15px !important;
  }
}

/* ==============================
   FINAL GLOBAL OVERLAP FIX
   ============================== */
*,*::before,*::after{
  box-sizing:border-box !important;
}
html,body{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  overflow-x:hidden !important;
}
body{
  position:relative !important;
}
main,header,footer,section,
.container,.hero-grid,.hero-copy,.split,.copy,.visual,.origin,.faq,
.shop-selector,.reviews-section,.offer-section,.offer-cards,.offer-card{
  min-width:0 !important;
  max-width:100% !important;
}
img,svg,video,canvas{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
}
h1,h2,h3,p,li,span,strong,small,button,summary,td,th,div{
  min-width:0 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

/* HEADLINES: no clipping or collision */
h1,h2,.hero-title{
  display:block !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  -webkit-box-orient:unset !important;
}
.hero-title{
  width:100% !important;
  max-width:100% !important;
}
.hero-title span{
  display:block !important;
  white-space:normal !important;
}
@media(min-width:801px){
  .hero-title{
    font-size:clamp(38px,4.15vw,52px) !important;
    line-height:1.03 !important;
  }
  .hero-title span:first-child,
  .hero-title span:last-child{
    white-space:nowrap !important;
  }
}

/* LAYOUT GRID SAFETY */
.hero-grid,.split{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}
.benefitgrid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.proofgrid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.offer-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.visual img{
  width:100% !important;
  object-fit:contain !important;
}

/* SHOP PACKAGES: REMOVE ALL COLLISIONS */
.shop-selector{
  width:100% !important;
}
.shop-label{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
.shop-label strong,.shop-label span{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.pkg-card{
  position:relative !important;
  width:100% !important;
  overflow:visible !important;
}
.pkg-top{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) max-content !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
}
.pkg-top img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
}
.pkg-copy{
  min-width:0 !important;
}
.pkg-title{
  display:block !important;
  max-width:100% !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  line-height:1.16 !important;
}
.pkg-sub{
  line-height:1.3 !important;
}
.pkg-price{
  align-self:center !important;
  white-space:nowrap !important;
}
.discount{
  white-space:nowrap !important;
  vertical-align:middle !important;
}
.popular-tag{
  top:0 !important;
  right:0 !important;
  transform:translateY(-100%) !important;
  white-space:nowrap !important;
}
.pkg-extra{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) max-content !important;
  align-items:center !important;
}
.extra-value{
  white-space:nowrap !important;
}
.addon-row{
  grid-template-columns:20px minmax(0,1fr) max-content !important;
}
.package-cta{
  white-space:normal !important;
  line-height:1.25 !important;
}

/* REVIEW SLIDER: IMAGE, TEXT, META NEVER OVERLAP */
.reviews-section{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}
.review-slider{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.review-track{
  display:flex !important;
  align-items:stretch !important;
  gap:16px !important;
  width:max-content !important;
  padding:0 16px 14px !important;
}
.review-card,.actual-review-card{
  display:flex !important;
  flex-direction:column !important;
  flex:0 0 330px !important;
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;
  min-height:550px !important;
  height:auto !important;
  overflow:hidden !important;
  background:#fff !important;
}
.review-image,
.review-image.has-photo,
.actual-review-card .review-image.has-photo{
  position:relative !important;
  flex:0 0 245px !important;
  width:100% !important;
  height:245px !important;
  min-height:245px !important;
  overflow:hidden !important;
}
.review-image img,
.review-image.has-photo img,
.actual-review-card .review-image.has-photo img{
  position:static !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.review-body,
.actual-review-card .review-body{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  width:100% !important;
  padding:16px !important;
  overflow:visible !important;
}
.review-stars,.review-title,.review-quote,.review-meta{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  transform:none !important;
}
.review-title{
  line-height:1.3 !important;
  margin-bottom:8px !important;
}
.review-quote,
.actual-review-card .review-quote{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
  line-height:1.48 !important;
}
.review-meta,
.actual-review-card .review-meta{
  margin-top:auto !important;
  padding-top:14px !important;
}
.review-note{
  position:relative !important;
  z-index:3 !important;
  clear:both !important;
}

/* LOWER OFFER CARDS */
.offer-card{
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  overflow:hidden !important;
}
.offer-card img{
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
}
.offer-body{
  flex:1 1 auto !important;
}

/* STICKY + DRAWER */
.sticky-inner{
  min-width:0 !important;
}
.drawer{
  max-width:100vw !important;
}

/* MOBILE FIT */
@media(max-width:800px){
  .container{
    width:calc(100% - 24px) !important;
    max-width:100% !important;
  }
  .hero-grid,.split,.proofgrid,.offer-cards{
    grid-template-columns:1fr !important;
  }
  .benefitgrid{
    grid-template-columns:1fr 1fr !important;
  }
  .hero-title{
    font-size:34px !important;
    line-height:1.04 !important;
  }
  h2{
    font-size:28px !important;
    line-height:1.08 !important;
  }

  .shop-label{
    font-size:11px !important;
    gap:4px !important;
  }
  .pkg-top{
    grid-template-columns:50px minmax(0,1fr) max-content !important;
    gap:8px !important;
    padding:12px 10px !important;
  }
  .pkg-top img{
    width:50px !important;
    height:50px !important;
  }
  .pkg-title{
    font-size:14px !important;
  }
  .pkg-sub{
    font-size:11px !important;
  }
  .pkg-price{
    font-size:15px !important;
  }
  .pkg-price small{
    font-size:10px !important;
  }
  .discount{
    margin-left:3px !important;
    padding:2px 4px !important;
    font-size:8px !important;
  }
  .pkg-extra{
    grid-template-columns:34px minmax(0,1fr) max-content !important;
    gap:7px !important;
    padding:9px 10px !important;
    font-size:11px !important;
  }
  .extra-thumb{
    width:30px !important;
    height:30px !important;
  }
  .extra-value{
    font-size:9px !important;
  }
  .popular-tag{
    font-size:9px !important;
    padding:4px 7px !important;
  }
  .addon-row{
    grid-template-columns:18px minmax(0,1fr) max-content !important;
    font-size:10px !important;
  }

  .review-track{
    gap:12px !important;
    padding:0 12px 12px !important;
  }
  .review-card,.actual-review-card{
    flex-basis:82vw !important;
    width:82vw !important;
    min-width:82vw !important;
    max-width:340px !important;
    min-height:520px !important;
  }
  .review-image,
  .review-image.has-photo,
  .actual-review-card .review-image.has-photo{
    flex-basis:250px !important;
    height:250px !important;
    min-height:250px !important;
  }

  .sticky .sname{
    max-width:44vw !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .sticky .btn{
    max-width:52vw !important;
    white-space:normal !important;
    line-height:1.1 !important;
  }
  .drawer{
    width:100% !important;
    max-width:100% !important;
  }
}

@media(max-width:390px){
  .hero-title{font-size:31px !important;}
  .pkg-top{
    grid-template-columns:44px minmax(0,1fr) max-content !important;
  }
  .pkg-top img{
    width:44px !important;
    height:44px !important;
  }
  .pkg-title{font-size:13px !important;}
  .pkg-price{font-size:14px !important;}
}


/* ==============================
   MAGNE EMAIL POPUP
   ============================== */
.magne-popup-overlay{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,26,32,.62);
  backdrop-filter:blur(4px);
}
.magne-popup-overlay.is-open{
  display:flex;
}
.magne-popup{
  position:relative;
  width:min(430px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  background:#fff;
  color:#16283A;
  border:0;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.magne-popup-close{
  position:absolute;
  top:0;
  right:0;
  width:38px;
  height:38px;
  border:0;
  border-radius:0;
  background:#082D63;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.magne-popup-visual{
  width:100%;
  aspect-ratio:1/1;
  background:#EAF8FD;
  overflow:hidden;
}
.magne-popup-visual img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
  object-position:center;
  background:#EAF8FD;
}
.magne-popup-content{
  padding:22px 22px 20px;
  text-align:center;
}
.magne-popup-title{
  margin:0 0 12px;
  font-family:"Inter","Avenir Next",Arial,sans-serif;
  font-size:16px;
  line-height:1.35;
  font-weight:800;
  color:#16283A;
}
.magne-popup-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  width:100%;
  border:1px solid #D8E2E8;
  background:#fff;
}
.magne-popup-form input{
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  padding:15px 13px;
  font:500 14px/1.2 "Inter","Avenir Next",Arial,sans-serif;
  color:#16283A;
  background:#fff;
}
.magne-popup-form button{
  border:0;
  border-radius:0;
  padding:0 16px;
  background:#082D63;
  color:#fff;
  font:800 13px/1 "Inter","Avenir Next",Arial,sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.magne-popup-note{
  margin:10px 0 18px;
  font-size:12px;
  color:#6F7F88;
}
.magne-popup-divider{
  height:1px;
  background:#E3E9ED;
  margin:0 0 16px;
}
.magne-popup-shop{
  display:block;
  width:100%;
  border:0;
  border-radius:0;
  padding:16px 18px;
  background:#E9A7C0;
  color:#fff;
  font:800 14px/1 "Inter","Avenir Next",Arial,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
}
.magne-popup-guarantee{
  margin:12px auto 0;
  max-width:320px;
  font-size:12px;
  line-height:1.45;
  color:#657681;
}
.magne-popup-success{
  display:none;
  margin-top:12px;
  padding:11px 12px;
  background:#EAF8FD;
  color:#082D63;
  font-size:12px;
  font-weight:700;
}
.magne-popup-success.show{display:block;}

@media(max-width:560px){
  .magne-popup-overlay{
    align-items:flex-end;
    padding:0;
  }
  .magne-popup{
    width:100%;
    max-width:100%;
    max-height:92vh;
  }
  .magne-popup-visual{
    aspect-ratio:16/11;
  }
  .magne-popup-content{
    padding:18px 16px 18px;
  }
  .magne-popup-form{
    grid-template-columns:1fr;
  }
  .magne-popup-form button{
    min-height:46px;
  }
}
