.hero { min-height: 690px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 72px; padding-block: 70px; }
.hero h1 { margin: 0; font-size: clamp(42px, 5vw, 70px); line-height: 1.08; letter-spacing: -.055em; }
.hero-lead { max-width: 680px; margin: 25px 0 0; font-size: 18px; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.trial-line { color: var(--muted); font-size: 13px; margin-top: 16px; }
.phone-preview { width: min(100%, 360px); min-height: 610px; justify-self: center; padding: 30px 22px 24px; border: 8px solid #23312c; border-radius: 48px; background: #fdfcf7; box-shadow: 0 38px 80px rgba(29, 50, 42, .2); transform: rotate(2deg); }
.phone-top { width: 82px; height: 24px; margin: -22px auto 22px; border-radius: 20px; background: #23312c; }
.preview-store { color: var(--brand); font-size: 13px; font-weight: 800; }
.preview-title { margin: 22px 0 12px; font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.small-title { font-size: 17px; margin-top: 26px; }
.preview-options { display: grid; gap: 9px; }
.preview-options span { padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; font-weight: 700; }
.preview-options span:nth-child(2) { border-color: var(--brand); color: var(--brand-dark); background: var(--brand-soft); }
.preview-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.preview-tags span { padding: 7px 10px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: 13px; font-weight: 700; }
.preview-review { margin-top: 24px; padding: 15px; border-radius: 14px; color: #4e5a55; background: #fff; border: 1px solid var(--line); font-size: 14px; }
.preview-button { margin-top: 13px; padding: 13px; text-align: center; color: #fff; background: var(--brand); border-radius: 13px; font-weight: 750; }
.section { padding-block: 92px; }
.section h2 { margin: 0; max-width: 720px; font-size: clamp(30px, 4vw, 48px); line-height: 1.15; letter-spacing: -.045em; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.steps article { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.steps article > span { color: var(--accent); font-weight: 850; }
.steps h3 { margin: 22px 0 8px; font-size: 20px; }
.steps p { margin: 0; color: var(--muted); }
.pricing-section { padding-top: 72px; }
.pricing-lead { margin: 16px 0 0; color: var(--muted); font-size: 17px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.price-card { position: relative; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.price-card.featured { border-color: #9bc8b4; box-shadow: 0 18px 45px rgba(24, 119, 91, .12); }
.price-card h3 { margin: 20px 0 8px; font-size: 21px; }
.price-card p { margin: 14px 0 5px; color: var(--ink); font-weight: 700; }
.price-card small { color: var(--muted); }
.price-tag { display: inline-flex; padding: 4px 9px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: 12px; font-weight: 800; }
.price { display: flex; align-items: baseline; gap: 5px; }
.price strong { font-size: 42px; line-height: 1; letter-spacing: -.04em; }
.price span { color: var(--muted); }
.split { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.split > div > p:last-child { font-size: 17px; }
.feature-list { display: grid; gap: 12px; }
.feature-list div { padding: 20px; display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.feature-list span { color: var(--muted); }
.site-footer { padding: 26px 0 40px; color: var(--muted); font-size: 13px; text-align: center; border-top: 1px solid var(--line); }
@media (max-width: 820px) {
  .hero { grid-template-columns: 1fr; gap: 50px; padding-block: 48px 72px; }
  .hero h1 { font-size: clamp(40px, 12vw, 56px); }
  .phone-preview { min-height: 570px; transform: none; }
  .steps, .split, .pricing-grid { grid-template-columns: 1fr; }
  .split { gap: 32px; }
  .section { padding-block: 65px; }
}
