:root{
  --bg:#ffffff;
  --soft:#f6f4ff;
  --soft-2:#f1eefe;
  --ink:#0f0c29;
  --ink-2:#1a1740;
  --muted:#6b6b8a;
  --line:#ece9f7;
  --brand:#7c5cff;
  --brand-2:#a78bfa;
  --brand-3:#5b3df5;
  --grad: linear-gradient(135deg,#7c5cff 0%, #a78bfa 50%, #f0aaff 100%);
  --shadow-sm: 0 4px 14px rgba(31,21,77,0.06);
  --shadow-md: 0 18px 40px rgba(31,21,77,0.10);
  --shadow-lg: 0 30px 60px rgba(31,21,77,0.14);
  --r: 18px;
  --r-lg: 24px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
[hidden]{display:none !important}
body{
  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}
.container--narrow{max-width:860px}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:44px;
  padding:0 20px;
  border-radius:12px;
  font-weight:600;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.18s ease;
  white-space:nowrap;
}
.btn--lg{height:54px;padding:0 26px;font-size:16px;border-radius:14px}
.btn--full{width:100%}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:#000;transform:translateY(-1px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000;transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn--ghost:hover{background:var(--soft)}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:#fff;transform:translateY(-1px)}
.btn--ghost-on-dark{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn--ghost-on-dark:hover{background:rgba(255,255,255,.08)}

/* BADGES */
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
}
.badge--soft{background:var(--soft);color:var(--brand-3);border:1px solid var(--line)}
.badge--soft .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 0 4px rgba(124,92,255,.18);
}
.badge--ghost{background:var(--soft);color:var(--brand-3);text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.badge--white{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:.06em;font-size:12px}

.grad{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* HEADER */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  height:72px;
}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);font-size:18px}
.logo__mark{
  width:32px;height:32px;border-radius:9px;
  background:var(--grad);
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}
.nav{display:flex;gap:28px}
.nav a{font-size:15px;font-weight:500;color:var(--muted)}
.nav a:hover{color:var(--ink)}
.header__actions{display:flex;gap:10px;align-items:center}

/* LANG SWITCHER */
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft);
}
.lang-switch[hidden]{display:none}
.lang-switch__btn{
  appearance:none;-webkit-appearance:none;
  background:transparent;border:none;cursor:pointer;
  font-family:inherit;
  font-size:12px;font-weight:700;
  letter-spacing:.04em;
  color:var(--muted);
  padding:6px 10px;border-radius:999px;
  transition:.15s ease;
  line-height:1;
}
.lang-switch__btn:hover{color:var(--ink)}
.lang-switch__btn.is-active{
  background:#fff;
  color:var(--ink);
  box-shadow:var(--shadow-sm);
}

@media (max-width:880px){
  .nav{display:none}
  .header__actions .btn--ghost{display:none}
  .lang-switch{order:-1}
}

/* HERO */
.hero{
  position:relative;
  padding:80px 0 40px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:-200px -200px auto auto;
  width:700px;height:700px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(167,139,250,.25), transparent 70%);
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;inset:auto auto -250px -200px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(240,170,255,.18), transparent 70%);
  z-index:0;
}
.hero__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:60px;
  align-items:center;
  z-index:1;
}
.hero__title{
  font-size:clamp(36px, 5.2vw, 64px);
  line-height:1.05;
  margin:18px 0 18px;
  font-weight:800;
  letter-spacing:-.02em;
}
.hero__desc{
  font-size:18px;
  color:var(--muted);
  max-width:540px;
}
.hero__cta{display:flex;gap:12px;margin:28px 0 28px;flex-wrap:wrap}
.hero__meta{display:flex;gap:32px}
.meta-item strong{display:block;font-size:24px;font-weight:800}
.meta-item span{color:var(--muted);font-size:14px}

.hero__visual{
  position:relative;
  height:520px;
}
.visual-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.visual-card--main{
  position:absolute;
  inset:30px 0 0 30px;
  width:calc(100% - 30px);
  height:440px;
}
.visual-card__head{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;
  border-bottom:1px solid var(--line);
  background:#fcfbff;
}
.dotrow{display:inline-flex;gap:6px}
.dotrow i{width:10px;height:10px;border-radius:50%;background:#e2def4;display:inline-block}
.dotrow i:nth-child(1){background:#ff9aa2}
.dotrow i:nth-child(2){background:#ffd29a}
.dotrow i:nth-child(3){background:#a8e6a3}
.visual-card__url{
  margin-left:auto;font-size:12px;color:var(--muted);
  padding:4px 10px;background:#fff;border:1px solid var(--line);border-radius:8px;
}
.visual-card__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows:120px;
  gap:10px;
  padding:16px;
}
.ph-tile{
  border-radius:12px;
  background:linear-gradient(135deg,#e9e3ff,#fbe5ff);
  position:relative;
  overflow:hidden;
}
.ph-tile::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.7), transparent 50%);
}
.ph--1{background:linear-gradient(135deg,#7c5cff,#a78bfa)}
.ph--2{background:linear-gradient(135deg,#ffb3ec,#ffd29a)}
.ph--3{background:linear-gradient(135deg,#a8e6a3,#7cb9ff)}
.ph--4{background:linear-gradient(135deg,#ffd29a,#ff9aa2)}
.ph--5{background:linear-gradient(135deg,#c4b5fd,#f0aaff)}
.ph--6{background:linear-gradient(135deg,#5b3df5,#a78bfa)}

.float-card{
  position:absolute;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
}
.float-card--qr{
  bottom:24px;left:-10px;
  padding:12px;
}
.qr{
  width:64px;height:64px;border-radius:10px;background:#fff;
  border:1px solid var(--line);
  display:grid;place-items:center;
  overflow:hidden;
}
.float-card__text strong{display:block;font-size:14px}
.float-card__text span{display:block;font-size:12px;color:var(--muted)}
.float-card--stat{
  top:-6px;right:-12px;
}
.float-card__icn{
  width:38px;height:38px;border-radius:10px;background:var(--soft);
  display:grid;place-items:center;
}

@media (max-width:980px){
  .hero__grid{grid-template-columns:1fr;gap:30px}
  .hero{padding:48px 0 20px}
  .hero__visual{height:420px}
  .visual-card--main{inset:20px 0 0 0;width:100%;height:360px}
  .visual-card__grid{grid-auto-rows:90px}
}

.hero__brands{
  margin-top:60px;
  padding-top:30px;
  border-top:1px solid var(--line);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  position:relative;z-index:1;
}
.hero__brands-label{color:var(--muted);font-size:14px;font-weight:600}
.brands{display:flex;gap:14px;color:#5a5a78;font-weight:600;font-size:15px;flex-wrap:wrap}
.brands span:nth-child(even){color:var(--brand-2)}

/* SECTIONS */
.section{padding:90px 0}
.section--soft{background:var(--soft)}
.section__head{
  max-width:760px;margin:0 auto 50px;text-align:center;
}
.section__title{
  font-size:clamp(28px, 3.6vw, 44px);
  line-height:1.1;margin:14px 0 14px;
  font-weight:800;letter-spacing:-.02em;
}
.section__desc{color:var(--muted);font-size:17px}

/* FEATURES */
.features{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
}
.feature{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
  transition:.2s ease;
}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.feature__icn{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;color:#fff;
  background:var(--grad);
  margin-bottom:16px;
  font-size:24px;
}
.feature__icn i{display:block;line-height:1}
.ic-1{background:linear-gradient(135deg,#7c5cff,#a78bfa)}
.ic-2{background:linear-gradient(135deg,#5b3df5,#7c5cff)}
.ic-3{background:linear-gradient(135deg,#a78bfa,#f0aaff)}
.ic-4{background:linear-gradient(135deg,#ff9aa2,#a78bfa)}
.ic-5{background:linear-gradient(135deg,#7cb9ff,#7c5cff)}
.ic-6{background:linear-gradient(135deg,#ffd29a,#ff9aa2)}
.feature h3{margin:0 0 8px;font-size:20px}
.feature p{margin:0;color:var(--muted)}

@media (max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.features{grid-template-columns:1fr}}

/* ACTIVITIES */
.activities{
  display:grid;grid-template-columns: repeat(3,1fr);gap:18px;
}
.activity{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px;transition:.2s ease;
  text-align:left;
}
.activity:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.activity__icn{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--soft);color:var(--brand-3);
  font-size:26px;margin-bottom:14px;
}
.activity__icn i{display:block;line-height:1}
.activity h4{margin:0 0 6px;font-size:18px}
.activity p{margin:0;color:var(--muted);font-size:15px}

@media (max-width:900px){.activities{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.activities{grid-template-columns:1fr}}

/* STEPS */
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px;
  position:relative;
}
.step__num{
  font-size:14px;font-weight:800;color:var(--brand);
  background:var(--soft);
  display:inline-block;
  padding:5px 10px;border-radius:999px;
  margin-bottom:16px;
}
.step h3{margin:0 0 8px;font-size:19px}
.step p{margin:0;color:var(--muted);font-size:15px}

@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* PRICING */
.plans{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  align-items:stretch;
  margin-bottom:30px;
}
.plan{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px 24px;
  position:relative;
  display:flex;flex-direction:column;
}
.plan--free{
  background:#fafafa;
  border-color:#eee;
}
.plan--free .plan__list li{color:#9a9aac}
.plan--free .plan__list li.off{color:#c0606e}
.plan--popular{
  border:2px solid var(--brand);
  box-shadow: 0 20px 50px rgba(124,92,255,.18);
  transform:translateY(-6px);
}
.plan__popular{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#f59e0b,#fbbf24);
  color:#fff;font-weight:800;font-size:12px;letter-spacing:.08em;
  padding:6px 14px;border-radius:999px;
  box-shadow:0 6px 16px rgba(245,158,11,.35);
}
.plan__tag{
  display:inline-block;
  padding:6px 12px;border-radius:8px;
  font-weight:700;font-size:13px;
  margin-bottom:14px;
  align-self:flex-start;
}
.plan__tag--yellow{background:#fff3c4;color:#8a5b00}
.plan__tag--green{background:#d8f5e2;color:#0e7e40}
.plan__price{margin:8px 0 6px}
.plan__price .cur{font-size:36px;font-weight:800;letter-spacing:-.02em}
.plan__price .per{margin-left:8px;color:var(--muted);font-size:14px}
.plan__sub{color:var(--muted);margin-bottom:18px;font-size:14px}
.plan__list{
  list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px;
  flex:1;
}
.plan__list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px}
.plan__list .li-ic{
  width:24px;height:24px;border-radius:7px;
  display:inline-grid;place-items:center;
  background:var(--soft);color:var(--brand-3);
  font-size:14px;flex-shrink:0;font-weight:700;
}
.plan__list .li-ic i{display:block;line-height:1}
.plan__list li.off .li-ic{background:#ffe5e8;color:#d54a5d}

@media (max-width:900px){.plans{grid-template-columns:1fr}.plan--popular{transform:none}}

/* ADDONS */
.addons{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
}
.addons__col{}
.addons__head{
  display:flex;align-items:center;gap:12px;margin-bottom:14px;
}
.addons__ic{
  width:36px;height:36px;border-radius:10px;
  display:inline-grid;place-items:center;
  background:var(--soft);color:var(--brand-3);
  font-size:20px;flex-shrink:0;
}
.addons__ic i{display:block;line-height:1}
.addons__head h3{margin:0;font-size:17px;text-transform:uppercase;letter-spacing:.04em}
.addons__opt{color:var(--muted);font-size:12px;text-transform:uppercase}
.addons__row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.addon{
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;background:#fcfbff;
  transition:.2s ease;cursor:pointer;
}
.addon:hover{border-color:var(--brand);background:#fff}
.addon__main strong{display:block;font-size:15px}
.addon__main span{display:block;color:var(--muted);font-size:12px}
.addon__price{color:var(--brand);font-weight:800;font-size:15px}

@media (max-width:980px){.addons{grid-template-columns:1fr}}
@media (max-width:560px){.addons__row{grid-template-columns:1fr}}

/* STATS */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  background:var(--ink);
  color:#fff;
  border-radius:var(--r-lg);
  padding:36px;
  position:relative;overflow:hidden;
}
.stats::before{
  content:"";position:absolute;inset:auto -120px -200px auto;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(124,92,255,.5), transparent 70%);
}
.stat{position:relative;z-index:1}
.stat__num{font-size:38px;font-weight:800;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__lbl{color:#b4b0d6;font-size:14px;margin-top:4px}

@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* REVIEWS */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;
}
.review__stars{color:#f59e0b;font-size:18px;display:inline-flex;gap:3px;margin-bottom:10px;line-height:1}
.review__stars i{display:block}
.review p{margin:0 0 18px;font-size:15.5px;line-height:1.6}
.review__author{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:var(--soft)}
.avatar--1{background:linear-gradient(135deg,#ff9aa2,#ffd29a)}
.avatar--2{background:linear-gradient(135deg,#7c5cff,#a78bfa)}
.avatar--3{background:linear-gradient(135deg,#a8e6a3,#7cb9ff)}
.review__author strong{display:block;font-size:14px}
.review__author span{display:block;color:var(--muted);font-size:13px}

@media (max-width:980px){.reviews{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;gap:12px}
.faq__item{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;
  transition:.2s ease;
}
.faq__item[open]{border-color:var(--brand);box-shadow:var(--shadow-sm)}
.faq__item summary{
  cursor:pointer;font-weight:700;font-size:16px;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";font-size:22px;color:var(--brand);font-weight:400;line-height:1;
}
.faq__item[open] summary::after{content:"–"}
.faq__item p{margin:12px 0 0;color:var(--muted)}

/* CTA */
.cta{padding:60px 0 100px}
.cta__box{
  position:relative;
  background:linear-gradient(135deg,#1a1740 0%, #3a259e 60%, #7c5cff 100%);
  color:#fff;
  border-radius:32px;
  padding:60px 50px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.cta__box h2{
  font-size:clamp(28px,3.6vw,42px);margin:14px 0 14px;letter-spacing:-.02em;line-height:1.1;
}
.cta__box p{font-size:17px;color:#cfc8ee;max-width:560px;margin:0 0 28px}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap}
.cta__content{position:relative;z-index:2;max-width:680px}
.cta__shape{
  position:absolute;inset:auto -180px -200px auto;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(240,170,255,.4), transparent 70%);
  z-index:1;
}

/* FOOTER */
.footer{padding:60px 0 30px;border-top:1px solid var(--line);background:#fff}
.footer__inner{
  display:grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:40px;border-bottom:1px solid var(--line);
}
.footer__about{color:var(--muted);margin-top:14px;max-width:340px}
.footer__col h5{margin:0 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.footer__col a{display:block;color:var(--muted);margin-bottom:8px;font-size:15px}
.footer__col a:hover{color:var(--ink)}
.footer__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:24px;color:var(--muted);font-size:14px;gap:10px;flex-wrap:wrap;
}
.footer__bottom a{color:var(--muted)}
.footer__bottom a:hover{color:var(--ink)}

@media (max-width:980px){
  .footer__inner{grid-template-columns:repeat(2,1fr);gap:30px}
}
@media (max-width:560px){
  .footer__inner{grid-template-columns:1fr}
}

/* CONTACT FORM */
.link{color:var(--brand-3);font-weight:600;border-bottom:1px solid rgba(91,61,245,.25);transition:.15s}
.link:hover{color:var(--brand);border-bottom-color:var(--brand)}

.cform{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px;
  box-shadow:var(--shadow-sm);
  display:grid;gap:18px;
}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform__field{display:flex;flex-direction:column;gap:6px}
.cform__field label{
  font-size:13px;font-weight:700;color:var(--ink);
  text-transform:uppercase;letter-spacing:.04em;
}
.cform__field input,
.cform__field textarea{
  font-family:inherit;font-size:15px;
  padding:13px 16px;
  border:1.5px solid var(--line);
  border-radius:12px;
  color:var(--ink);background:#fcfbff;
  outline:none;transition:border-color .15s, box-shadow .15s, background .15s;
  width:100%;
}
.cform__field textarea{resize:vertical;min-height:110px}
.cform__field input:focus,
.cform__field textarea:focus{
  border-color:var(--brand);
  background:#fff;
  box-shadow:0 0 0 4px rgba(124,92,255,.12);
}
.cform__field input::placeholder,
.cform__field textarea::placeholder{color:#a5a3bd}
.cform__actions{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px;
}
.cform__hint{color:var(--muted);font-size:13px;max-width:340px}
.cform__hint a{color:var(--brand-3);text-decoration:underline}
.cform__success,
.cform__error{
  display:none;
  align-items:center;gap:10px;
  padding:14px 16px;border-radius:12px;
  font-weight:600;line-height:1.45;
}
.cform__success{background:#e8fbef;color:#0e7e40}
.cform__error  {background:#ffecef;color:#b3253c}
.cform__error a{color:inherit;text-decoration:underline}
.cform__success.is-visible,
.cform__error.is-visible{display:flex}
.cform__success i,
.cform__error   i{font-size:22px;line-height:1;flex-shrink:0}

@media (max-width:600px){
  .cform{padding:22px}
  .cform__row{grid-template-columns:1fr}
}

/* REGISTRATION MODAL */
.modal{
  position:fixed;inset:0;z-index:100;
  display:none;
  align-items:center;justify-content:center;
  padding:20px;
}
.modal.is-open{display:flex}
.modal__backdrop{
  position:absolute;inset:0;
  background:rgba(15,12,41,.55);
  backdrop-filter:blur(6px);
  animation:modalFade .18s ease;
}
.modal__dialog{
  position:relative;
  width:100%;max-width:460px;
  background:#fff;
  border-radius:24px;
  padding:36px 32px 30px;
  box-shadow:var(--shadow-lg);
  text-align:center;
  animation:modalPop .22s cubic-bezier(.18,1.2,.4,1);
}
.modal__close{
  position:absolute;top:14px;right:14px;
  width:36px;height:36px;border-radius:10px;
  background:transparent;border:none;cursor:pointer;
  display:grid;place-items:center;
  color:var(--muted);font-size:20px;
  transition:.15s;
}
.modal__close:hover{background:var(--soft);color:var(--ink)}
.modal__icon{
  width:64px;height:64px;border-radius:18px;
  margin:0 auto 16px;
  background:var(--grad);color:#fff;
  display:grid;place-items:center;
  font-size:34px;
  box-shadow:0 12px 28px rgba(124,92,255,.32);
}
.modal__title{
  margin:0 0 10px;font-size:24px;font-weight:800;letter-spacing:-.02em;
}
.modal__text{
  margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.55;
}
.modal__text strong{color:var(--ink)}
.modal__actions{
  display:flex;flex-direction:column;gap:10px;
}
.modal__actions .btn{width:100%}

@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalPop{
  from{opacity:0;transform:translateY(12px) scale(.96)}
  to  {opacity:1;transform:translateY(0)    scale(1)}
}
