:root{
  --bg: #ffffff;
  --text: #1a1a1a;
  --muted: #515151;
  --primary: #6C5CE7;
  --primary-600: #5946e0;
  --accent: #A78BFA;
  --surface: #f7f7fd;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --radius: 14px;
  --shadow: 0 10px 25px rgba(108,92,231,0.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family: 'Be Vietnam Pro', 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, 'Noto Sans', sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6; font-size:16px;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--primary); text-decoration:none}
.container{width:min(1120px, 92%); margin-inline:auto}
.header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #eee}
.header .inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:32px}
.brand .name{font-weight:800; font-size:18px; letter-spacing:0.2px}
.nav{display:flex; gap:20px}
.nav a{padding:8px 12px; border-radius:10px}
.nav a:hover{background:var(--surface)}
.btn{display:inline-block; padding:12px 18px; border-radius:12px; font-weight:700; transition:.2s; border:1px solid transparent}
.btn-primary{background:var(--primary); color:#fff}
.btn-primary:hover{background:var(--primary-600)}
.btn-outline{border-color:var(--primary); color:var(--primary)}
.btn-outline:hover{background:var(--surface)}
.btn-ghost{color:var(--primary)}

.skip-link{position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{left:12px; top:12px; width:auto; height:auto; padding:8px 12px; background:#000; color:#fff; border-radius:8px}

.hero{padding:56px 0 24px; background:linear-gradient(180deg, #f4f6ff 0%, #ffffff 60%)}
.hero-grid{display:grid; grid-template-columns: 1.2fr 1fr; gap:28px; align-items:center}
.hero h1{font-size:clamp(28px, 4vw, 44px); line-height:1.2; margin:8px 0 12px}
.hero p{font-size:18px; color:var(--muted)}
.hero .cta{display:flex; gap:12px; margin:18px 0 12px; flex-wrap:wrap}
.hero-badges{display:flex; gap:16px; list-style:none; padding:0; margin:10px 0 0}
.hero-badges li{background:var(--surface); padding:8px 14px; border-radius:999px; font-weight:600}
.hero-media picture, .hero-media img{border-radius:16px; box-shadow:var(--shadow)}

.section{padding:56px 0}
.section.alt{background:var(--surface)}
.section h2{font-size:clamp(22px, 3.4vw, 34px); margin:0 0 18px}

.pricing{display:grid; grid-template-columns: repeat(3, 1fr); gap:18px}
.price-card{background:#fff; border:1px solid #eee; border-radius:16px; padding:18px; box-shadow:var(--shadow)}
.price-card h3{margin:0 0 8px}
.price-card ul{margin:0; padding-left:18px}
.note{color:#666; font-size:14px}

.benefit-list{columns:2; column-gap:28px; padding-left:18px}
.figure.small{max-width:680px; margin:22px auto}
.figure img{border-radius:12px; box-shadow:var(--shadow)}

.contact{display:grid; grid-template-columns: 1.2fr 0.8fr; gap:24px}
.tip{background:#fff; border:1px solid #eee; border-radius:14px; padding:16px}
.tip h3{margin:0 0 8px}

.footer-grid{display:grid; grid-template-columns: 1.2fr 1fr 0.8fr; gap:18px; padding:28px 0}
.site-footer{background:#0f172a; color:#cbd5e1}
.site-footer a{color:#e2e8f0}
.copyright{opacity:.8}

.badge-updates{display:flex; gap:10px; align-items:center; background:#fff; border:1px solid #eee; border-radius:12px; padding:10px 12px; margin-top:10px}
.badge-updates span{background:#eef2ff; color:#3730a3; padding:4px 8px; border-radius:999px; font-weight:700; font-size:12px}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns: 1fr}
  .pricing{grid-template-columns: 1fr 1fr}
  .contact{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .benefit-list{columns:1}
}
@media (max-width: 600px){
  .nav{display:none}
  .pricing{grid-template-columns: 1fr}
}
