:root{--bg:#F7F5FF;--ink:#14121F;--v:#6D28D9;--i:#5B6CF0;--b:#7CC8FF;--k:#07070D}
*{box-sizing:border-box;margin:0}
body{font:16px/1.65 Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3,.logo{font-family:'Playfair Display',Georgia,serif;font-weight:800;line-height:1.15}
.wrap{max-width:1040px;margin:auto;padding:0 20px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--b);outline-offset:2px}
header{position:sticky;top:0;z-index:10;background:var(--k);color:#fff}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;flex-wrap:wrap}
.logo{text-decoration:none;font-size:1.15rem;color:var(--b);text-shadow:0 0 14px rgba(124,200,255,.55)}
nav{display:flex;align-items:center;gap:22px}
nav a{text-decoration:none;font-size:.95rem;opacity:.85}
nav a:hover,nav a.on{opacity:1;color:var(--b)}
nav a.btn{opacity:1;color:#fff;padding:8px 18px}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer}
.btn{display:inline-block;padding:13px 28px;border-radius:99px;background:linear-gradient(135deg,var(--v),var(--i));color:#fff;text-decoration:none;font:600 1rem Inter,sans-serif;border:0;cursor:pointer;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.alt{background:none;border:2px solid var(--b);color:var(--b)}
.hero{position:relative;overflow:hidden;background:var(--k);color:#fff;padding:104px 0 96px;text-align:center}
.hero.s{padding:64px 0 56px}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(2.1rem,6.5vw,4rem);max-width:760px;margin:0 auto 18px;color:var(--b);text-shadow:0 0 28px rgba(124,200,255,.45)}
.hero p{max-width:540px;margin:0 auto 30px;opacity:.88}
.hero .btn{margin:6px}
.bubble{position:absolute;border:7px solid var(--v);border-radius:50%;opacity:.6;animation:f 10s ease-in-out infinite}
@keyframes f{50%{transform:translateY(-24px)}}
@media(prefers-reduced-motion:reduce){.bubble{animation:none}.btn{transition:none}}
section{padding:68px 0}
h2{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:12px}
.sub{max-width:560px;margin-bottom:36px;color:#4a4660}
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;padding:0;counter-reset:s}
.steps li{counter-increment:s;padding-left:54px;position:relative}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--v);color:#fff;display:grid;place-items:center;font:800 1.1rem 'Playfair Display',serif}
.steps b{display:block}
.duo{display:grid;gap:0;grid-template-columns:1fr 1fr;border-radius:28px;overflow:hidden}
.duo>div{padding:44px 34px}
.duo .p{background:#fff}
.duo .e{background:var(--v);color:#fff}
.duo h3{font-size:1.5rem;margin-bottom:10px}
.dark{background:var(--k);color:#fff}
.dark h2{color:var(--b)}
.dark p{max-width:520px;margin:0 auto 26px;opacity:.88}
.c{text-align:center}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.card{background:#fff;border-radius:22px;padding:30px;box-shadow:0 10px 34px rgba(109,40,217,.09)}
.card.hl{background:linear-gradient(160deg,var(--v),var(--i));color:#fff;transform:scale(1.03)}
.card h3{font-size:1.3rem;margin-bottom:6px}
.price{font:800 1.7rem 'Playfair Display',serif;margin:10px 0;color:var(--i)}
.hl .price{color:var(--b)}
.card ul{padding-left:18px;margin-top:8px}
.note{margin-top:28px;padding:16px 20px;border-left:4px solid var(--b);background:#fff;border-radius:0 12px 12px 0}
form{display:grid;gap:16px;background:#fff;padding:32px;border-radius:24px;box-shadow:0 10px 34px rgba(109,40,217,.09)}
.row{display:grid;gap:16px;grid-template-columns:1fr 1fr}
label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:1rem Inter,sans-serif;padding:12px 14px;border:1.5px solid #d8d2f0;border-radius:12px;background:#fbfaff;width:100%}
.hp{display:none}
#msg{font-weight:600}
.side{display:grid;gap:14px;align-content:start}
.side a{color:var(--v);font-weight:600}
.two{display:grid;gap:34px;grid-template-columns:1.4fr 1fr}
.empty{background:#fff;border-radius:24px;padding:48px 30px;text-align:center;box-shadow:0 10px 34px rgba(109,40,217,.09)}
footer{background:var(--k);color:#fff;padding:34px 0;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--b)}
@media(max-width:760px){
.burger{display:block}
nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:8px 0 18px}
header.open nav{display:flex}
.duo,.row,.two{grid-template-columns:1fr}
.card.hl{transform:none}
}
