:root {
  --bg: #fcfaff;
  --bg-soft: #f4efff;
  --surface: #ffffff;
  --text: #1e1633;
  --muted: #5d5379;
  --primary: #6f3df4;
  --primary-dark: #5226c9;
  --line: #e9e1ff;
  --radius: 16px;
  --shadow: 0 12px 34px rgba(73, 38, 168, 0.12);
  --container: 1160px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--text); background: var(--bg); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.container { width: min(var(--container), 92vw); margin: 0 auto; }
.section { padding: 82px 0; }
.section-soft { background: linear-gradient(180deg, rgba(111, 61, 244, 0.06), rgba(111, 61, 244, 0.02)); }
.kicker { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--primary); margin: 0 0 10px; }
h1,h2,h3 { margin: 0 0 14px; line-height: 1.15; }
h1 { font-size: clamp(2.2rem, 4vw, 3.8rem); }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.6rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 16px; color: var(--muted); }
.lead { font-size: 1.12rem; max-width: 62ch; }
.narrow { max-width: 58ch; margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(252,250,255,.9); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.brand { font-weight: 800; font-size: 1.08rem; }
.brand span { color: var(--primary); margin-left: 4px; }
.site-nav { display: flex; align-items: center; gap: 22px; }
.site-nav a { color: #3f3560; font-weight: 600; font-size: .94rem; }
.site-nav a.active { color: var(--primary); }
.menu-btn { display: none; border: 1px solid var(--line); background: var(--surface); color: var(--primary); border-radius: 10px; width: 40px; height: 40px; }
.btn { display:inline-flex; align-items:center; justify-content:center; border-radius:12px; padding:12px 18px; font-weight:700; border:1px solid transparent; background:var(--primary); color:#fff; transition:.2s ease; }
.btn:hover { background: var(--primary-dark); }
.btn-sm { padding: 10px 14px; font-size: .9rem; }
.btn-ghost { background: transparent; border-color: var(--line); color: var(--primary); }
.btn-ghost:hover { background: #f3edff; }
.text-link { color: var(--primary); font-weight: 700; }
.hero { padding-top: 62px; }
.hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 34px; align-items: start; }
.cta-row { display: flex; gap: 12px; margin: 26px 0 18px; }
.hero-points { display:flex; gap:18px; flex-wrap:wrap; }
.hero-points span { font-size:.92rem; color:#4f4471; background:#f2ebff; border:1px solid var(--line); padding:8px 12px; border-radius:999px; }
.hero-card,.card,.list-panel,.cta-panel,.faq-item,.form-card,.stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-card,.list-panel,.cta-panel,.form-card { padding:24px; }
.hero-card ul,.list-panel ul,.tick-list,.check-list { margin:10px 0 0; padding-left:18px; color:#514670; }
.hero-card li,.list-panel li,.tick-list li,.check-list li { margin-bottom:10px; }
.cards { display:grid; gap:18px; }
.cards.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cards.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.card { padding:22px; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.center { text-align:center; }
.metrics { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:16px; }
.stat { padding:20px; }
.stat strong { display:block; font-size:1.6rem; color:var(--primary); }
.faq-list { display:grid; gap:14px; }
.faq-item { padding:18px 20px; }
.faq-item h3 { margin-bottom:8px; }
.form-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
label { display:block; margin-bottom:6px; color:#443a61; font-weight:600; font-size:.9rem; }
input,select,textarea { width:100%; padding:12px 13px; border:1px solid #ddd1ff; border-radius:10px; font:inherit; color:var(--text); background:#fff; }
textarea { min-height:120px; resize:vertical; }
.form-grid .full { grid-column: span 2; }
.site-footer { border-top:1px solid var(--line); background:#fff; padding:26px 0; }
.visual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.visual-card { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:#fff; }
.visual-card img { width:100%; height:280px; object-fit:cover; display:block; }
.visual-card p { margin:0; padding:12px 14px; font-size:.9rem; color:#4f4471; }
.section-image { position: relative; margin-top: 24px; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.section-image::after { content: ""; position: absolute; top:0;left:0;right:0;bottom:0; background: linear-gradient(135deg, rgba(82, 37, 196, 0.45) 0%, rgba(111, 61, 244, 0.2) 100%); pointer-events: none; mix-blend-mode: overlay; z-index: 2; mix-blend-mode: multiply; }
.section-image img { width: 100%; height: 360px; object-fit: cover; display: block; z-index: 1; position: relative; }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a { color:#524771; font-weight:600; font-size:.9rem; }
@media (max-width:980px){
  .hero-grid,.split,.cards.three,.metrics,.visual-grid{grid-template-columns:1fr 1fr;}
  .site-nav{position:absolute; top:76px; right:4vw; left:4vw; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:14px; display:none; flex-direction:column; align-items:flex-start; gap:12px;}
  .site-nav.open{display:flex;}
  .menu-btn{display:inline-flex; align-items:center; justify-content:center;}
}
@media (max-width:700px){
  .hero-grid,.split,.cards.two,.cards.three,.metrics,.form-grid,.visual-grid{grid-template-columns:1fr;}
  .cta-row{flex-direction:column; align-items:stretch;}
  .form-grid .full{grid-column:auto;}
  .section{padding:66px 0;}
}
