*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #fdfcf9; color: #111827; min-height: 100vh; min-height: 100dvh;
  display: flex; flex-direction: column; justify-content: safe center; align-items: center;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.lp { width: 100%; max-width: 440px; padding: 14px 18px; display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.lp-h1 { margin: 0; font-weight: 900; font-size: clamp(19px, 5.4vw, 26px); line-height: 1.12; letter-spacing: -0.01em; text-align: center; text-transform: uppercase; color: #0f172a; }
.lp-h2 { margin: 0; font-weight: 700; font-size: clamp(13px, 3.7vw, 16px); line-height: 1.28; text-align: center; text-transform: uppercase; color: #1f2937; }
.hl-dark { background: #be185d; color: #fdf2f8; padding: 1px 8px; border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hl-text { color: #be185d; }
.hl-yellow { background: #f9a8d4; color: #831843; padding: 1px 6px; border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.lp-img { display: block; max-width: 100%; max-height: 40vh; width: auto; height: auto; margin: 0 auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08); }
.lp-cta { display: block; width: 100%; padding: 15px 16px; background: #22c55e; color: #fff; font-weight: 800; font-size: clamp(15px, 4.2vw, 18px); text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: 0.02em; border-radius: 10px; box-shadow: 0 4px 0 #15803d, 0 6px 12px rgba(34,197,94,0.25); transition: transform 0.08s ease, box-shadow 0.08s ease, background 0.08s ease; cursor: pointer; }
.lp-cta:hover { background: #16a34a; }
.lp-cta:active { transform: translateY(2px); box-shadow: 0 2px 0 #15803d, 0 3px 6px rgba(34,197,94,0.2); }
.lp-urgency { margin: 0; padding: 9px 14px; background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; font-size: clamp(11.5px, 3.2vw, 13.5px); line-height: 1.32; text-align: center; color: #1f2937; }
.lp-urgency b, .lp-urgency strong { color: #dc2626; font-weight: 800; }
@media (min-height: 800px) { .lp { padding: 24px 20px; gap: 14px; } }
@media (min-width: 600px) { .lp { padding: 32px 24px; gap: 16px; } }
