:root{
  --red:#ee063b;
  --red-strong:#ff0031;
  --pink:#f00038;
  --ink:#242323;
  --dark:#0a071b;
  --blue:#1d67cd;
  --container:1011px;
  --display:'Wix Madefor Display', Arial, sans-serif;
  --body:'Inter', Arial, sans-serif;
  --section-space:72px;
  --section-space-mobile:28px;
  --h1:40px;
  --h2:40px;
  --h3:19px;
  --h4:16px;
  --text-lg:23px;
  --text-md:19px;
  --text-sm:16px;
  --body-line:1.33;
  --radius-lg:30px;
  --radius-md:20px;
  --radius-sm:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:var(--body);
  font-size:var(--text-md);
  line-height:var(--body-line);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
main{overflow:hidden}
.desktop-container{width:min(var(--container), calc(100% - 40px)); margin-inline:auto}
.section-white{background:#fff}

h1,h2,h3,h4,p{margin:0}
h1,
h2,
.section-title,
.hero h1,
.intro-copy h2,
.intro-question h2,
.bio-copy h2,
.offer-left h2,
.light-heading h2{
  font-family:var(--display);
  font-weight:400;
}
.hero h1{font-size:var(--h1); line-height:1.03; color:var(--ink); text-align:center}
.intro-copy h2,
.intro-question h2,
.bio-copy h2,
.offer-left h2{font-size:var(--h2); line-height:1.03; color:#e90138}
.light-heading h2{font-size:var(--h2); line-height:1.03; color:#fff; text-align:center}
.feature-row h3,
.signal-card h3,
.compare-card h3,
.stats article h3{font-size:var(--h3); line-height:1.2}
body, p, li{font-family:var(--body)}

.gradient-band{
  height:118px;
  background:
    radial-gradient(circle at 5% 50%, #1d67cd 0 6%, transparent 24%),
    radial-gradient(circle at 41% 50%, #ff0031 0 13%, transparent 38%),
    radial-gradient(circle at 93% 50%, #1d67cd 0 8%, transparent 28%),
    linear-gradient(90deg, #176bd4 0%, #af285c 25%, #ef0036 48%, #7c3f8e 72%, #176bd4 100%);
}

/* HERO */
.hero{
  position:relative;
  min-height:1182px;
  background:
    radial-gradient(ellipse at 6% 72%, rgba(238,6,59,.025), transparent 25%),
    radial-gradient(ellipse at 50% 46%, rgba(15,15,15,.018), transparent 26%),
    linear-gradient(#fffdfd, #fff);
}
.hero-inner{
  height:1064px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:39px;
}
.hero-logo{width:179px; height:77px; object-fit:contain; margin-bottom:52px}
.eyebrow{
  display:inline-block;
  background:var(--pink);
  color:#fff;
  font-family:var(--display);
  font-weight:800;
  font-size:18px;
  line-height:20px;
  padding:2px 4px;
  margin-bottom:22px;
}
.hero-sub{
  font-size:22.6px;
  line-height:25.3px;
  text-align:center;
  margin-top:26px;
}
.video-card{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:1011px;
  height:568px;
  padding:0;
  border:0;
  background:#111;
  overflow:hidden;
  cursor:pointer;
  border-radius:0;
}
.video-card img{width:100%; height:100%; object-fit:cover}
.play-dot{
  position:absolute;
  left:50%;
  top:50%;
  width:72px;
  height:50px;
  border-radius:14px;
  background:#ff0033;
  transform:translate(-50%, -50%);
}
.play-dot:after{
  content:"";
  position:absolute;
  left:29px;
  top:13px;
  border-left:20px solid #fff;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
}
.hero > .gradient-band{position:absolute; left:0; right:0; bottom:0}

/* GENERIC SECTION SPACING */
.intro,
.signals,
.bio,
.comparison,
.stats,
.offer{
  padding-block:var(--section-space);
}

/* INTRO */
.intro{
  min-height:auto;
}
.intro-top{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 416px;
  gap:40px;
  align-items:center;
}
.intro-copy h2{margin-bottom:28px}
.intro-copy p{
  max-width:636px;
  font-size:var(--text-md);
  line-height:1.34;
  margin-bottom:18px;
}
.intro-copy .strong-copy{
  font-family:var(--display);
  font-size:20px;
  line-height:1.32;
  font-weight:800;
  margin-bottom:0;
}
.product-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-wrap img{width:416px; height:418px; object-fit:contain}
.quote{
  margin-top:42px;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:7px;
}
.quote-mark{font-family:Georgia, serif; font-size:70px; color:#ccc; line-height:.7}
.quote p{font-family:var(--body); font-size:17.6px; line-height:20px; text-align:center}
.cta{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-inline:auto;
  background:linear-gradient(90deg, #ed0a58 0%, #ee0050 26%, #7a3d9c 64%, #1f6bd7 100%);
  color:#fff;
  font-family:var(--body);
  font-weight:700;
  border-radius:50px;
  text-align:center;
}
.cta-large{width:718px; height:83px; font-size:33px; margin-top:36px}
.feature-list{width:718px; margin-top:44px}
.feature-row{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:18px;
  align-items:start;
  padding:0 0 24px;
  margin-bottom:24px;
  border-bottom:1px solid #d6d6d6;
}
.feature-row:last-child{border-bottom:0; margin-bottom:0; padding-bottom:0}
.feature-icon{
  width:50px;
  height:50px;
  border:2px solid #888;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#777;
  font-weight:700;
  font-size:17px;
  position:relative;
}
.calendar-icon:before{content:""; position:absolute; top:6px; left:5px; right:5px; border-top:2px solid #999}
.feature-row h3{
  font-family:var(--display);
  font-weight:800;
  font-size:15px;
  line-height:17px;
  margin-bottom:2px;
  color:#515151;
}
.feature-row p{font-size:14.8px; line-height:17.5px; color:#515151}
.intro-question{text-align:center; margin-top:44px}
.intro-question h2{margin-bottom:16px}
.intro-question p{font-size:var(--text-md); line-height:1.34; color:#0a071b}

/* SIGNALS */
.dark-red-section{
  color:#fff;
  background:
    radial-gradient(ellipse at 50% 105%, rgba(80,0,0,.55), transparent 43%),
    radial-gradient(circle at 40% 30%, rgba(89,0,34,.42), transparent 38%),
    linear-gradient(115deg, #2f0011 0%, #3f0018 35%, #190313 55%, #570014 100%);
  position:relative;
  overflow:hidden;
}
.dark-red-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 30% 45%, rgba(255,255,255,.035), transparent 28%),
    radial-gradient(ellipse at 68% 46%, rgba(255,255,255,.02), transparent 30%);
  pointer-events:none;
}
.center-heading{text-align:center}
.signals .center-heading{padding-top:0}
.red-highlight{
  display:inline-block;
  background:var(--red-strong);
  color:#fff;
  font-size:23px;
  line-height:25px;
  margin-top:18px;
  padding:1px 6px;
}
.signal-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  justify-content:center;
  margin-top:48px;
}
.signal-unit{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.signal-card{
  width:100%;
  min-height:354px;
  border:2px solid #ee063b;
  border-radius:20px;
  padding:25px 28px;
  color:#fff;
  background:rgba(15,2,12,.08);
}
.signal-card h3{
  color:#fff;
  font-family:var(--body);
  font-size:19px;
  line-height:1.22;
  font-weight:400;
  text-align:center;
}
.thin-line{height:2px; background:rgba(255,255,255,.5); margin:18px 0 22px}
.signal-card ul{
  font-family:var(--display);
  font-size:16px;
  line-height:1.3;
  padding-left:22px;
  color:#fff;
}
.signal-card li{color:rgba(255,255,255,.95); margin-bottom:6px}
.signal-caption{
  background:#fff;
  color:#222;
  font-family:var(--display);
  font-size:16px;
  line-height:1.2;
  font-weight:700;
  text-align:center;
  margin-top:12px;
  padding:5px 8px;
  width:calc(100% - 24px);
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.signals-end{text-align:center; margin-top:56px}
.signals-end > p{font-size:20px; line-height:1.18}
.signals-end small{display:block; font-family:var(--display); font-size:15px; line-height:17px; margin-top:7px}
.cta-medium{width:560px; height:75px; font-size:30px; margin-top:24px}

/* BIO */
.bio{min-height:auto}
.bio-grid{
  display:grid;
  grid-template-columns:359px minmax(0, 553px);
  gap:76px;
  align-items:center;
  justify-content:center;
}
.bio-photo-wrap{display:flex; align-items:center; justify-content:center}
.bio-photo-wrap img{width:359px; height:530px; object-fit:contain}
.bio-copy h2{margin-bottom:18px}
.bio-copy p{
  font-family:var(--display);
  font-size:19px;
  line-height:20.9px;
  margin-bottom:16px;
  color:#0a071b;
}
.bio-copy p:last-of-type{margin-bottom:12px}
.signature{font-family:var(--display); font-weight:700; color:#ef003f; line-height:.84; font-size:18px; margin-top:4px}

/* COMPARISON */
.dark-gray-section{
  background:
    linear-gradient(rgba(22,22,29,.88), rgba(47,47,49,.88)),
    radial-gradient(circle at 70% 50%, #777 0%, #4a4a4a 25%, #24242c 60%, #16161d 100%);
  color:#fff;
}
.comparison-head p{
  font-family:var(--display);
  font-size:19px;
  line-height:20.9px;
  font-weight:600;
  margin-top:18px;
}
.compare-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:38px;
  justify-content:center;
  margin-top:48px;
}
.compare-card{
  min-height:585px;
  border-radius:30px;
  padding:44px 44px 36px;
  font-family:var(--display);
}
.common-card{background:#fff; color:#121212}
.awaken-card{background:#f8073e; color:#fff}
.compare-card h3{
  font-family:var(--body);
  font-size:19px;
  font-weight:400;
  margin-bottom:34px;
}
.compare-card ul{list-style:none; padding:0; margin:0}
.compare-card li{
  font-size:18px;
  line-height:21px;
  font-weight:600;
  margin-bottom:20px;
  position:relative;
  padding-left:25px;
}
.compare-card li:last-child{margin-bottom:0}
.compare-card li:before{position:absolute; left:0; top:-1px; font-size:22px; font-weight:800}
.x-list li:before{content:"×"; color:red}
.check-list li:before{content:"✓"; color:#00d64b}
.check-list li{font-family:var(--body); font-weight:800}
.comparison-end{text-align:center; margin-top:48px}
.comparison-end > p{font-size:20px; line-height:1.18; margin-bottom:6px}
.comparison-end small{font-family:var(--display); font-size:15px; line-height:17px}
.comparison-end .cta{margin-top:24px}

/* STATS */
.stats{min-height:auto}
.stats-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; text-align:center; align-items:start}
.stats article{display:flex; flex-direction:column; align-items:center}
.stats article strong{display:block; font-size:94px; line-height:94px; color:#242323}
.stats article h3{font-family:var(--display); font-size:19px; line-height:23px; color:#ff0031; margin:15px 0 11px; font-weight:700}
.stats article p{font-family:var(--display); font-size:16px; line-height:19px; max-width:193px}

/* OFFER */
.offer{min-height:auto; padding-top:0}
.offer-band{height:96px}
.offer-grid{
  display:grid;
  grid-template-columns:412px 464px;
  gap:125px;
  padding-top:var(--section-space);
  align-items:center;
}
.offer-left h2{margin-bottom:16px}
.offer-left img{width:412px; height:407px; object-fit:contain}
.offer-question{font-family:var(--display); font-weight:700; font-size:19px; line-height:23px; margin-bottom:27px}
.price-box{
  min-height:142px;
  border:2px solid #ff0031;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px 26px 16px;
  color:#ed033a;
}
.price-row{
  width:100%;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:end;
  justify-content:center;
  column-gap:14px;
}
.installments{
  position:static;
  margin:0 0 8px;
  font-size:37px;
  line-height:1;
  font-weight:700;
  color:#111;
  white-space:nowrap;
}
.price-group{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  white-space:nowrap;
  line-height:1;
}
.currency{font-size:48px; line-height:1; font-weight:700; margin:0 5px 4px 0; color:#ed033a}
.price-main{font-size:77px; line-height:.86; font-weight:700; color:#ed033a}
.price-cents{font-size:53px; line-height:.9; font-weight:700; margin:0 0 1px 2px; color:#ed033a}
.card-note{
  position:static;
  margin:0 0 15px;
  font-family:var(--display);
  font-size:12px;
  line-height:1;
  font-weight:700;
  color:#111;
  white-space:nowrap;
}
.price-box > strong{font-family:var(--display); font-size:15px; line-height:1.2; color:#111; margin:0; text-align:center}
.cash-price{text-align:center; font-size:25px; margin-top:12px}
.cash-price b{color:#ef003c}
.cta-buy{width:464px; height:75px; font-size:24px; margin-top:18px}
.payment-logos{width:229px; height:88px; object-fit:contain; margin:10px auto 0; filter:grayscale(1)}

/* FOOTER */
.site-footer{
  height:161px;
  color:#fff;
  background:
    radial-gradient(circle at 5% 50%, rgba(29,103,205,.95), transparent 24%),
    radial-gradient(circle at 42% 55%, rgba(255,0,49,.95), transparent 33%),
    radial-gradient(circle at 93% 50%, rgba(29,103,205,.9), transparent 25%),
    linear-gradient(90deg, #176bd4, #eb1043 48%, #2966c8);
}
.footer-inner{height:100%; display:grid; grid-template-columns:83px 309px 193px; gap:31px; align-items:center; justify-content:center}
.footer-inner img{width:83px; height:83px; object-fit:contain}
.footer-inner p,.footer-inner a{font-size:13px; line-height:16px; text-align:center}
.footer-inner a{text-decoration:underline}

/* TABLET */
@media (max-width:1100px) and (min-width:768px){
  :root{--container:900px; --section-space:60px}
  .video-card{width:min(90vw,900px); height:auto; aspect-ratio:1011 / 568}
  .intro-top{grid-template-columns:1fr 360px}
  .product-wrap img{width:360px; height:auto}
  .signal-grid{grid-template-columns:repeat(3, 1fr); gap:18px}
  .signal-card{padding-inline:18px}
  .bio-grid{grid-template-columns:330px 1fr; gap:40px}
  .bio-photo-wrap img{width:330px; height:auto}
  .compare-grid{grid-template-columns:1fr 1fr}
  .compare-card{padding:38px 34px}
  .offer-grid{grid-template-columns:380px 450px; gap:45px}
  .offer-left img{width:380px; height:auto}
  .cta-buy{width:450px}
}

.intro-mobile-lead{display:none}


/* MOBILE — single source of truth. Comfortable type, 1.5rem side gutters, no overlaps. */
@media (max-width:767px){
  :root{
    --mobile-gutter:1.5rem;
    --mobile-section-space:3rem;
  }

  html{font-size:16px}
  body{font-size:1rem; line-height:1.5; overflow-x:hidden}
  h1,h2,h3,h4,p,li,a,span{overflow-wrap:break-word}
  .desktop-container{width:auto; margin-inline:var(--mobile-gutter)}

  /* Every content section uses the same vertical rhythm. Hero is intentionally different. */
  .intro,
  .signals,
  .bio,
  .comparison,
  .stats{padding-block:var(--mobile-section-space)}
  .offer{padding:0 0 var(--mobile-section-space)}

  .gradient-band{height:1.35rem}

  /* Hero */
  .hero{min-height:auto; background:#fff}
  .hero-inner{
    height:auto;
    padding:1.5rem 0 0;
    align-items:center;
  }
  .hero-logo{width:7.5rem; height:auto; margin-bottom:1.15rem}
  .eyebrow{
    font-size:.82rem;
    line-height:1.25;
    margin-bottom:1rem;
    padding:.18rem .38rem;
    text-align:center;
  }
  .hero h1{
    font-size:clamp(1.75rem, 7.6vw, 2.2rem);
    line-height:1.08;
    max-width:34rem;
  }
  .hero h1 br{display:none}
  .hero-sub{
    font-size:1rem;
    line-height:1.45;
    margin-top:1rem;
    max-width:34rem;
  }
  .hero-sub br{display:none}
  .video-card{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    height:auto;
    aspect-ratio:1011/568;
    margin-top:1.5rem;
  }
  .play-dot{width:3.2rem; height:2.25rem; border-radius:.65rem}
  .play-dot:after{
    left:1.3rem;
    top:.58rem;
    border-left-width:.9rem;
    border-top-width:.55rem;
    border-bottom-width:.55rem;
  }
  .hero > .gradient-band{position:relative; margin-top:0}

  /* Intro */
  .intro-mobile-lead{
    display:grid;
    grid-template-columns:minmax(0, 44%) minmax(0, 56%);
    gap:1rem;
    align-items:center;
    margin-bottom:2rem;
  }
  .intro-mobile-lead > img{width:100%; height:auto; object-fit:contain}
  .mobile-quote{display:flex; align-items:flex-start; gap:.4rem; color:var(--ink)}
  .mobile-quote .quote-mark{font-size:2.2rem; line-height:.7; color:#c9c9c9; flex:0 0 auto}
  .mobile-quote p{font-size:.94rem; line-height:1.42; text-align:left}
  .intro-top{display:block}
  .intro-top .product-wrap{display:none}
  .intro-copy{width:100%; padding:0}
  .intro-copy h2{
    font-size:clamp(1.7rem, 7vw, 2rem);
    line-height:1.08;
    margin-bottom:1rem;
    text-align:left;
  }
  .intro-copy h2 br{display:none}
  .intro-copy p{
    max-width:none;
    font-size:1rem;
    line-height:1.48;
    margin-bottom:1rem;
  }
  .intro-copy .strong-copy{font-size:1rem; line-height:1.45; margin-bottom:0}
  .quote-desktop{display:none}
  .cta-large,
  .cta-medium,
  .cta-buy{
    width:calc(100% - (2 * var(--mobile-gutter)));
    max-width:none;
    height:auto;
    min-height:3.25rem;
    padding:.8rem 1rem;
    font-size:1rem;
    line-height:1.15;
    margin-top:1.5rem;
  }
  .signals .cta-medium,
  .comparison .cta-medium,
  .offer .cta-buy{width:100%;}
  .feature-list{width:auto; margin-top:2rem}
  .feature-row{
    grid-template-columns:2.6rem minmax(0,1fr);
    gap:.85rem;
    padding-bottom:1.15rem;
    margin-bottom:1.15rem;
  }
  .feature-icon{width:2.6rem; height:2.6rem; font-size:.9rem; border-width:1.5px}
  .feature-row h3{font-size:1rem; line-height:1.25; margin-bottom:.25rem}
  .feature-row p{font-size:.94rem; line-height:1.45}
  .intro-question{margin-top:2rem; text-align:left}
  .intro-question h2{font-size:clamp(1.65rem, 6.6vw, 1.95rem); line-height:1.08; margin-bottom:.8rem}
  .intro-question h2 br{display:none}
  .intro-question p{font-size:1rem; line-height:1.45}
  .intro-question p br{display:none}

  /* Signals */
  .light-heading h2{font-size:clamp(1.7rem, 6.8vw, 2rem); line-height:1.1}
  .light-heading h2 br{display:none}
  .red-highlight{
    display:inline-block;
    font-size:.88rem;
    line-height:1.25;
    margin-top:.8rem;
    padding:.25rem .45rem;
  }
  .signal-grid{grid-template-columns:1fr; gap:1.5rem; margin-top:2rem}
  .signal-unit{width:100%}
  .signal-card{
    width:100%;
    min-height:0;
    padding:1.25rem 1.25rem 1.35rem;
    border-width:1.5px;
    border-radius:1rem;
  }
  .signal-card h3{font-size:1.08rem; line-height:1.22}
  .thin-line{height:1px; margin:1rem 0 1.1rem}
  .signal-card ul{font-size:.98rem; line-height:1.42; padding-left:1.25rem}
  .signal-card li{margin-bottom:.45rem; color:#fff}
  .signal-caption{
    width:100%;
    min-height:0;
    margin-top:.55rem;
    padding:.7rem .8rem;
    font-size:.9rem;
    line-height:1.3;
  }
  .signals-end{margin-top:2rem}
  .signals-end > p{font-size:1rem; line-height:1.45}
  .signals-end > p br{display:none}
  .signals-end small{font-size:.88rem; line-height:1.35; margin-top:.35rem}
  .signals-end .cta{margin-top:1rem}

  /* Bio */
  .bio-grid{display:block}
  .bio-copy h2{
    font-size:clamp(1.7rem, 6.8vw, 2rem);
    line-height:1.08;
    margin-bottom:1.25rem;
  }
  .bio-copy h2 br{display:none}
  .bio-photo-wrap{width:min(78%, 19rem); height:auto; margin:0 auto 1.5rem}
  .bio-photo-wrap img{width:100%; height:auto; object-fit:contain}
  .bio-copy p{font-size:1rem; line-height:1.48; margin-bottom:1rem}
  .signature{font-size:1rem; line-height:.9; margin-top:.25rem}

  /* Comparison */
  .comparison-head p{font-size:.96rem; line-height:1.4; margin-top:.8rem}
  .comparison-head p br{display:none}
  .compare-grid{grid-template-columns:1fr; gap:1rem; margin-top:2rem}
  .compare-card{min-height:0; border-radius:1rem; padding:1.35rem 1.2rem}
  .compare-card h3{font-size:1rem; line-height:1.2; margin-bottom:1rem}
  .compare-card li{font-size:.96rem; line-height:1.42; margin-bottom:.9rem; padding-left:1.4rem}
  .compare-card li:before{font-size:1.2rem; top:-.05rem}
  .comparison-end{margin-top:1.75rem}
  .comparison-end > p{font-size:1rem; line-height:1.4; margin-bottom:.25rem}
  .comparison-end small{font-size:.9rem; line-height:1.35}
  .comparison-end small br{display:none}
  .comparison-end .cta{margin-top:1rem}

  /* Stats */
  .stats-grid{grid-template-columns:1fr; gap:2rem}
  .stats article strong{font-size:3.4rem; line-height:1}
  .stats article h3{font-size:1.1rem; line-height:1.2; margin:.45rem 0 .3rem}
  .stats article p{font-size:.95rem; line-height:1.4; max-width:18rem}

  /* Offer */
  .offer-band{height:1.35rem}
  .offer-grid{display:block; padding-top:var(--mobile-section-space)}
  .offer-left h2{
    font-size:clamp(1.7rem, 6.8vw, 2rem);
    line-height:1.08;
    margin:0 0 1.25rem;
    text-align:center;
  }
  .offer-left h2 br{display:none}
  .offer-left img{width:min(86%, 22rem); height:auto; margin:0 auto 1.5rem}
  .offer-question{
    font-size:1rem;
    line-height:1.45;
    margin:0 0 1.2rem;
    text-align:center;
  }
  .offer-question br{display:none}
  .price-box{
    width:100%;
    min-height:0;
    height:auto;
    margin:0;
    padding:1rem .85rem .9rem;
    border-width:2px;
    border-radius:1rem;
    gap:.6rem;
  }
  .price-row{
    width:100%;
    display:grid;
    grid-template-columns:auto minmax(0, auto) auto;
    align-items:end;
    justify-content:center;
    column-gap:.4rem;
  }
  .installments{
    margin:0 0 .55rem;
    font-size:1.45rem;
    line-height:1;
  }
  .price-group{min-width:0}
  .currency{font-size:1.8rem; margin:0 .16rem .2rem 0}
  .price-main{font-size:3.7rem; line-height:.84}
  .price-cents{font-size:2.45rem; line-height:.9; margin:0 0 .05rem .04rem}
  .card-note{font-size:.72rem; line-height:1; margin:0 0 .85rem; white-space:nowrap}
  .price-box > strong{font-size:.9rem; line-height:1.25}
  .cash-price{font-size:1.05rem; line-height:1.35; margin-top:.9rem}
  .offer-right .cta-buy{width:100%; min-height:3.25rem; font-size:1rem; margin-top:1rem}
  .payment-logos{width:min(13rem, 65%); height:auto; margin:.7rem auto 0}

  /* Footer */
  .site-footer{height:auto; padding:1.5rem 0}
  .footer-inner{
    height:auto;
    grid-template-columns:3.5rem 1fr;
    gap:.8rem 1rem;
    width:auto;
  }
  .footer-inner img{width:3.5rem; height:3.5rem; grid-row:1 / span 2}
  .footer-inner p,.footer-inner a{font-size:.78rem; line-height:1.35; text-align:left}
  .footer-inner a{justify-self:start}
}

/* Narrow phones: keep the price row readable without collision. */
@media (max-width:360px){
  .desktop-container{margin-inline:1.25rem}
  .cta-large,.cta-medium,.cta-buy{width:calc(100% - 2.5rem)}
  .price-box{padding-inline:.55rem}
  .price-row{column-gap:.22rem}
  .installments{font-size:1.25rem}
  .currency{font-size:1.55rem}
  .price-main{font-size:3.15rem}
  .price-cents{font-size:2.1rem}
  .card-note{font-size:.64rem}
}
