.ct, .ct *{ box-sizing:border-box; }
.ct{
  font-family:'Montserrat',-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#16162a;
  --vio:#5b4ce6;
  --vio-d:#4a3bd0;
  --ink:#16162a;
  --mut:#6b6b80;
  --line:#ececf4;
  --soft:#f7f6fd;
  padding-top:88px;
}
.ct a{ color:var(--vio); text-decoration:none; }
.ct a:hover{ text-decoration:underline; }
.ct-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.ct-hero{
  background:radial-gradient(820px 380px at 82% -10%, #ece9ff 0%, transparent 60%), linear-gradient(180deg,#faf9ff,#fff);
  border-bottom:1px solid #f0eef8;
  padding:34px 0 46px;
  border-radius:30px;
}
.ct-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--vio);
  margin-bottom:16px;
}
.ct-eyebrow::before{ content:""; width:22px; height:2px; background:var(--vio); border-radius:2px; }
.ct-hero h1{
  font-size:clamp(32px,5vw,48px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.06;
  margin:0 0 14px;
  color:var(--ink);
}
.ct-hero p{ font-size:17px; line-height:1.6; color:var(--mut); max-width:560px; margin:0; }
.ct-main{ display:grid; grid-template-columns:1fr 1.1fr; gap:32px; padding:48px 0 64px; align-items:start; }
.ct-info{ display:flex; flex-direction:column; gap:16px; }
.ct-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px 24px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  box-shadow:0 8px 24px rgba(20,15,55,.04);
  transition:transform .2s, box-shadow .2s;
}
.ct-card:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(20,15,55,.08); }
.ct-card__ic{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:13px;
  background:linear-gradient(145deg,#6a5bf0,#4a3bd0);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(91,76,230,.28);
}
.ct-card__ic svg{ width:22px; height:22px; color:#fff; }
.ct-card__t{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#9a9ab0;
  margin:0 0 4px;
}
.ct-card__v{ font-size:17px; font-weight:700; color:var(--ink); line-height:1.35; text-decoration:none; }
.ct-card__v a,
a.ct-card__v{ color:var(--ink); text-decoration:none; }
.ct-card__v a:hover,
a.ct-card__v:hover{ color:var(--vio); text-decoration:none; }
.ct-card__sub{ font-size:13px; color:var(--mut); margin-top:8px; }
.ct-card__stack{ display:flex; flex-direction:column; gap:10px; }
.ct-card__line{ display:flex; flex-direction:column; gap:2px; }
.ct-card__line + .ct-card__line{
  padding-top:10px;
  border-top:1px solid #f0eef8;
}
.ct-card__hint{ font-size:12.5px; color:var(--mut); line-height:1.35; }
.ct-msgs{ display:flex; gap:10px; margin-top:12px; }
.ct-msg{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:14px 8px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  transition:.18s;
}
.ct-msg:hover{ border-color:#cfc8fb; background:#faf9ff; text-decoration:none; transform:translateY(-2px); }
.ct-msg__ic{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; color:#fff; }
.ct-msg__ic svg{ width:20px; height:20px; }
.ct-msg__ic--max svg, .ct-msg__ic--max svg path{ fill:none !important; stroke:#fff !important; }
.ct-msg__ic--tg svg, .ct-msg__ic--tg svg path,
.ct-msg__ic--vk svg, .ct-msg__ic--vk svg path{ fill:#fff !important; stroke:none !important; }
.ct-msg__ic--max{ background:linear-gradient(145deg,#7d5bff,#5b4ce6); }
.ct-msg__ic--tg{ background:linear-gradient(145deg,#3aa9ee,#229ed9); }
.ct-msg__ic--vk{ background:linear-gradient(145deg,#4a7fe0,#0077ff); }
.ct-msg span{ font-size:12.5px; font-weight:600; color:#5a5a72; }
.ct-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:34px 34px 18px;
  box-shadow:0 22px 56px rgba(20,15,55,.08);
}
.ct-form h2{ font-size:23px; font-weight:800; letter-spacing:-.01em; margin:0 0 6px; color:var(--ink); }
.ct-form > p{ font-size:14.5px; color:var(--mut); margin:0 0 24px; line-height:1.5; }
.ct-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ct-field{ display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.ct-field.full{ grid-column:1 / -1; }
.ct-field label{ font-size:13px; font-weight:600; color:#5a5a72; }
.ct-field label .req{ color:#e0533d; }
.ct-field input, .ct-field textarea{
  border:1.5px solid #e3e3ec;
  border-radius:11px;
  padding:13px 15px;
  font:500 14.5px 'Montserrat',sans-serif;
  background:#fff;
  color:var(--ink);
  transition:border-color .15s, background .15s;
  resize:vertical;
}
.ct-field input:focus, .ct-field textarea:focus{ outline:none; border-color:var(--vio); }
.ct-field input.invalid, .ct-field textarea.invalid{ border-color:#e0533d; background:#fff6f4; }
.ct-field textarea{ min-height:120px; line-height:1.5; }
.ct-consent{ display:flex; gap:11px; align-items:flex-start; margin:4px 0 20px; }
.ct-consent input{ width:20px; height:20px; margin-top:1px; accent-color:var(--vio); flex:0 0 auto; cursor:pointer; }
.ct-consent label{ font-size:12.5px; color:var(--mut); line-height:1.5; cursor:pointer; }
.ct-submit{
  width:100%;
  appearance:none;
  border:none;
  cursor:pointer;
  background:var(--vio);
  color:#fff;
  border-radius:13px;
  padding:16px;
  font:700 14px 'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  box-shadow:0 14px 30px rgba(91,76,230,.32);
  transition:.15s;
}
.ct-submit:hover{ background:var(--vio-d); transform:translateY(-1px); }
.ct-submit:disabled{ opacity:.6; cursor:default; transform:none; }
.ct-formmsg{ text-align:center; font-size:13.5px; font-weight:600; margin-top:12px; min-height:0; }
.ct-formmsg:empty{ display:none; }
.ct-formmsg.err{ color:#e0533d; }
.ct-success{ text-align:center; padding:18px 8px; }
.ct-success__ic{
  width:66px;
  height:66px;
  border-radius:50%;
  background:#22a45d;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px;
  box-shadow:0 12px 28px rgba(34,164,93,.35);
}
.ct-success h2{ font-size:22px; font-weight:800; margin:0 0 8px; color:var(--ink); }
.ct-success p{ font-size:14.5px; color:var(--mut); line-height:1.55; margin:0 auto; max-width:380px; }
.ct-req{
  background:linear-gradient(135deg,#1f1b3a,#332a66);
  border-radius:22px;
  padding:34px 32px;
  color:#fff;
  margin-bottom:64px;
}
.ct-req h2{ font-size:20px; font-weight:700; margin:0 0 20px; color:#fff !important; }
.ct-req__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px 28px; }
.ct-req__i{ display:flex; flex-direction:column; gap:4px; }
.ct-req__i span{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:#b0a8e0; }
.ct-req__i b{ font-size:15.5px; font-weight:600; color:#fff; }
.ct-req__i a{ color:#fff; }
@media (prefers-reduced-motion: no-preference){
  .ct-reveal{ opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
  .ct-reveal.in{ opacity:1; transform:none; }
  .ct-reveal.d1{ transition-delay:.08s; }
  .ct-reveal.d2{ transition-delay:.16s; }
  .ct-reveal.d3{ transition-delay:.24s; }
}
.lp-inner-page .chd__nav > a.active{ color:#5b4ce6; }
@media (max-width:920px){
  .ct-main{ grid-template-columns:1fr; gap:24px; }
  .ct-req__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:980px){
  .ct{ padding-top:16px; }
  .ct-hero{ padding:22px 18px 28px; }
  .ct-hero h1{ font-size:clamp(26px,8vw,36px); }
  .ct-main{ padding:28px 0 48px; }
}
@media (max-width:560px){
  .ct{ padding-top:14px; }
  .ct-wrap{ padding:0 16px; }
  .ct-hero{ padding:18px 16px 22px; border-radius:22px; }
  .ct-row{ grid-template-columns:1fr; }
  .ct-req__grid{ grid-template-columns:1fr; }
  .ct-form{ padding:26px 22px 16px; }
}
