:root {
  --bg: #f4f6f8; --bg-soft: #ffffff; --card: #ffffff;
  --border: rgba(18,22,32,.12);
  --red: #ff2732; --red-dark: #d61d27; --red-soft: rgba(255,39,50,.1);
  --green: #15803d;
  --white: #14161c; --gray: #5b6270; --gray-light: #22262e;
}
* { margin: 0; padding: 0; box-sizing: border-box; touch-action: manipulation; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: "Inter","Segoe UI",Arial,sans-serif; background: var(--bg); color: var(--white); line-height: 1.7; overflow-x: hidden; }
h1,h2,h3 { font-family: "Sora","Segoe UI",Arial,sans-serif; }
img { max-width: 100%; display: block; height: auto; }
a { -webkit-tap-highlight-color: transparent; }
.container { max-width: 920px; margin: 0 auto; padding: 0 22px; }
.hl { color: var(--red); }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .45s ease, transform .45s ease; will-change: opacity, transform; }
.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } .reveal.visible { opacity: 1; transform: none; } .btn:hover { transform: none; } }
.hero { position: relative; padding: 56px 0 52px; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(ellipse 620px 320px at 72% 0%, rgba(255,39,50,.08), transparent); }
.hero .container { position: relative; }
.hero-logo { height: 42px; width: auto; display: block; margin: 0 0 18px; }
.offer-logo { height: 38px; width: auto; display: block; margin: 0 auto 14px; opacity: .95; }
.footer-logo { height: 42px; width: auto; display: block; margin: 0 auto 10px; }
.badge { display:inline-flex; gap:8px; border:1px solid rgba(255,39,50,.35); background:var(--red-soft); color:#c2231f; font-size:12.5px; font-weight:600; letter-spacing:.6px; padding:7px 15px; border-radius:100px; margin-bottom:20px; text-transform:uppercase; }
h1 { font-size: clamp(27px,5.4vw,42px); line-height:1.16; letter-spacing:-.8px; font-weight:800; margin-bottom:16px; overflow-wrap:break-word; word-wrap:break-word; }
.sub { color: var(--gray); font-size:16.5px; max-width:640px; margin-bottom:26px; }
.price-box { display:flex; flex-direction:column; gap:2px; background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px 20px; margin-bottom:22px; max-width:100%; width:fit-content; }
.price-box .par { font-family:"Sora"; font-weight:800; font-size:26px; line-height:1.1; }
.price-box .total { color:var(--gray); font-size:13.5px; }
.price-box .total strong { color: var(--green); }
.btn { display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--red),var(--red-dark)); color:#fff; font-weight:700; font-size:16px; padding:16px 34px; border-radius:13px; text-decoration:none; box-shadow:0 8px 28px rgba(255,39,50,.35); min-height:52px; }
.btn:hover { transform: translateY(-2px); }
.micro { display:block; margin-top:10px; color:var(--gray); font-size:13px; }
.trust { display:flex; gap:16px; flex-wrap:wrap; margin-top:24px; color:var(--gray); font-size:13.5px; }
.trust strong { color: var(--gray-light); }
.stars { color:#ffd166; letter-spacing:2px; }
section { padding: 58px 0; }
.soft { background: var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
h2 { font-size: clamp(23px,4vw,32px); letter-spacing:-.5px; margin-bottom:14px; }
.lead { color:var(--gray); font-size:16px; max-width:640px; margin-bottom:34px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius,18px); padding:26px; }
.card h3 { font-size:18px; margin-bottom:12px; }
.pain-trigger { margin-top:16px; padding:14px 16px; border-left:3px solid var(--red); background:rgba(255,39,50,.06); color:var(--gray-light); font-size:15px; font-weight:600; line-height:1.5; }
.checks { list-style:none; }
.checks li { padding:8px 0 8px 30px; position:relative; color:var(--gray-light); font-size:15px; }
.checks li::before { content:""; position:absolute; left:0; top:13px; width:16px; height:16px; background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2316a34a" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center/contain no-repeat; }
.xlist li::before { background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%239ca3af" stroke-width="3" stroke-linecap="round"><path d="M6 18L18 6M6 6l12 12"/></svg>'); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.step .n { width:42px; height:42px; border-radius:12px; background:var(--red-soft); border:1px solid rgba(255,39,50,.35); color:var(--red); font-family:"Sora"; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.step h3 { font-size:17px; margin-bottom:6px; }
.step p { color:var(--gray); font-size:14.5px; }
.faq { max-width:780px; }
.faq details { background:var(--card); border:1px solid var(--border); border-radius:13px; margin-bottom:11px; overflow:hidden; }
.faq summary { padding:17px 20px; font-weight:600; font-size:15.5px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:14px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-size:21px; color:var(--red); line-height:1; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .a { padding:0 20px 18px; color:var(--gray); font-size:14.5px; }
.offer { text-align:center; background:linear-gradient(160deg, rgba(255,39,50,.14), rgba(255,39,50,.03)); border:1px solid rgba(255,39,50,.4); border-radius:22px; padding:40px 28px; }
.offer .par { font-family:"Sora"; font-weight:800; font-size:clamp(34px,6vw,46px); letter-spacing:-1px; }
.offer .total { color:var(--gray); margin-bottom:22px; }
.offer .btn { width:100%; max-width:420px; }
footer { border-top:1px solid var(--border); background:var(--bg-soft); padding:30px 0 90px; text-align:center; color:var(--gray); font-size:13.5px; }
footer a { color:var(--red); text-decoration:none; }
.wa-float { position:fixed; bottom:20px; right:16px; z-index:120; width:54px; height:54px; border-radius:50%; background:#25d366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(37,211,102,.4); }
.wa-float svg { width:27px; height:27px; fill:#fff; }
@media (max-width:720px) {
  .container { padding: 0 18px; }
  .top img { height: 30px; width: auto; max-width: none; }
  .chip { font-size:13px; padding:10px 15px; min-height:48px; }
  section { padding:46px 0; }
  .grid2 { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr; }
  .hero .btn { width:100%; }
  .hero-logo { height: 34px; }
  .price-box .total { font-size:14px; }
  .trust { font-size:14px; row-gap:12px; }
  .micro { font-size:13.5px; }
  .card { padding:22px; }
  .step p { font-size:14.5px; }
  footer { padding-bottom:96px; }
}
@media (max-width:400px) {
  .badge { font-size:11.5px; padding:6px 12px; }
  h1 { font-size: 25px; }
  .sub { font-size:15.5px; }
  .price-box .par { font-size:24px; }
  .offer { padding:32px 20px; }
  .offer .par { font-size:32px; }
}
