/* =========================================================
   БАЗА
========================================================= */

.ny-reg-web,
.ny-reg-web * {
  box-sizing:border-box;
}


/* =========================================================
   ПАЛИТРЫ ЦВЕТОВ
========================================================= */


/* --- ПАЛИТРА 1: ТЁМНО-СИНЯЯ (по умолчанию) --- */

:root {

  /* Основные бренд-цвета */
  --pink:#edb5c1;
  --teal:#9aced3;
  --lavender:#9aa5c4;
  --blue:#4c6e9b;
  --gold:#d4a574;
  --gray:#5f6366;

  /* Базовые токены */
  --bg-reg:#F4F0EA;
  --surface:#FFFFFF;
  --ink:#1E2A3D;
  --text:#4A5868;
  --muted:#8995A4;
  --line:#E0DBD3;

  /* Мягкие фоны плашек */
  --pink-soft:#FBE9ED;
  --teal-soft:#E2F4F6;
  --lavender-soft:#E9ECF3;
  --gold-soft:#F4E8D7;

  /* Глубокий акцент */
  --blue-deep:#2C3E5A;

  /* Тени */
  --shadow:rgba(30,42,61,.15);
  --shadow-deep:0 30px 60px -35px rgba(31,42,61,.5);
  --shadow-card:0 18px 40px -30px rgba(30,42,61,.12);
  --shadow-widget:0 30px 60px -30px rgba(31,42,61,.35);

  /* HERO-градиент */
  --hero-grad:linear-gradient(135deg,#2C3E5A 0%,#3A5F7A 40%,#5A7A92 70%,#8B7A8A 100%);
  --hero-blob-teal:rgba(154,206,211,.35);
  --hero-blob-pink:rgba(237,181,193,.45);

  /* Правый градиент (под виджетом) */
  --widget-grad:linear-gradient(135deg,#3A5F7A 0%,#5A8B9E 50%,#9A8AA0 100%);
  --widget-blob-teal:rgba(154,206,211,.45);
  --widget-blob-pink:rgba(237,181,193,.55);

  /* Pills-теги hero */
  --hero-tag-border:rgba(255,255,255,.45);
  --hero-tag-bg:rgba(255,255,255,.08);
  --hero-tag-color:#FFFFFF;

  /* Цветные теги (4 варианта, как в референсе) */
  --tag-pink-bg:rgba(237,181,193,.22);
  --tag-pink-border:rgba(237,181,193,.5);
  --tag-teal-bg:rgba(154,206,211,.22);
  --tag-teal-border:rgba(154,206,211,.5);
  --tag-lavender-bg:rgba(154,165,196,.25);
  --tag-lavender-border:rgba(154,165,196,.55);
  --tag-blue-bg:rgba(76,110,155,.4);
  --tag-blue-border:rgba(154,173,212,.55);

}


/* =========================================================
   БАЗА
========================================================= */

.ny-reg-web {

  width:100% !important;
  max-width:none !important;
  margin:0 !important;

  min-height:100vh;
  min-height:100dvh;

  display:flex !important;
  flex-direction:column;
  justify-content:center;

  padding:40px 0;

  background:var(--bg-reg);
  color:var(--ink);

  font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  font-size:15px;
  line-height:1.55;
}

.ny-reg-web__container {
  flex-shrink:0;
  width:100% !important;
}

.ny-reg-web input,
.ny-reg-web textarea,
.ny-reg-web select {
  font:inherit;
}


/* =========================================================
   КОНТЕЙНЕР
========================================================= */

.ny-reg-web__container {
  width:100% !important;
  max-width:1480px !important;
  margin:0 auto !important;
  padding:0 20px !important;
}


/* =========================================================
   HERO
========================================================= */

.ny-reg-web__hero {
  position:relative;

  overflow:hidden;

  margin:20px 0 20px;

  padding:60px 64px 64px;

  border-radius:32px;

  background:var(--hero-grad);

  color:#FFFFFF;

  box-shadow:var(--shadow-deep);
}

.ny-reg-web__hero::before {
  content:"";

  position:absolute;

  top:-100px;
  right:200px;

  width:300px;
  height:300px;

  border-radius:50%;

  background:var(--hero-blob-pink);
  filter:blur(80px);

  z-index:1;
}

.ny-reg-web__hero::after {
  content:"";

  position:absolute;

  bottom:-150px;
  left:-80px;

  width:380px;
  height:380px;

  border-radius:50%;

  background:var(--hero-blob-teal);
  filter:blur(90px);

  z-index:1;
}

.ny-reg-web__hero-content {
  position:relative;

  z-index:2;

  max-width:820px;
}

.ny-reg-web__hero-overline {
  display:inline-block;

  margin:0 0 22px;

  padding:10px 22px;

  background:rgba(237,181,193,.10);

  border:1px solid rgba(237,181,193,.55);

  border-radius:50px;

  color:var(--pink);

  font-size:12px;
  font-weight:700;

  letter-spacing:.14em;

  text-transform:uppercase;

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.ny-reg-web__welcome {
  margin:0 0 12px;

  color:var(--teal);

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:26px;
  font-style:italic;
  font-weight:400;
}

.ny-reg-web__title {
  margin:0;

  color:#FFFFFF;

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:64px;
  font-weight:700;

  line-height:1.05;

  letter-spacing:-.025em;

  text-wrap:balance;
}

.ny-reg-web__title span {
  color:var(--pink);
}

.ny-reg-web__subtitle {
  max-width:760px;

  margin:22px 0 0;

  color:rgba(255,255,255,.88);

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:18px;

  line-height:1.55;
}


/* =========================================================
   TAGS — bordered pills
========================================================= */

.ny-reg-web__hero-tags {
  display:flex;

  flex-wrap:wrap;

  gap:10px;

  margin-top:32px;
}

.ny-reg-web__hero-tag {
  padding:10px 20px;

  border-radius:50px;

  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);

  color:#FFFFFF;

  font-size:12px;
  font-weight:600;

  letter-spacing:.04em;

  text-transform:uppercase;

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);

  transition:transform .2s ease,background .2s ease;
}

.ny-reg-web__hero-tag:hover {
  transform:translateY(-2px);
  background:rgba(255,255,255,.18);
}

.ny-reg-web__hero-tag--pink {
  background:var(--tag-pink-bg);
  border-color:var(--tag-pink-border);
}

.ny-reg-web__hero-tag--teal {
  background:var(--tag-teal-bg);
  border-color:var(--tag-teal-border);
}

.ny-reg-web__hero-tag--lavender {
  background:var(--tag-lavender-bg);
  border-color:var(--tag-lavender-border);
}

.ny-reg-web__hero-tag--blue {
  background:var(--tag-blue-bg);
  border-color:var(--tag-blue-border);
}


/* =========================================================
   НИЖНЯЯ СЕТКА — 2 КОЛОНКИ
========================================================= */

.ny-reg-web__main {
  display:grid !important;

  width:100% !important;

  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);

  align-items:stretch;

  gap:20px;

  margin-top:0;
}


/* =========================================================
   ЛЕВАЯ КОЛОНКА — FEATURES
========================================================= */

.ny-reg-web__features {
  position:relative;

  width:100% !important;
  min-width:0 !important;

  padding:48px 56px;

  border:1px solid var(--line);
  border-radius:32px;

  background:var(--surface);

  box-shadow:var(--shadow-card);
}

.ny-reg-web__features-head {
  width:100%;

  margin:0 0 32px;
}

.ny-reg-web__overline {
  display:inline-block;

  margin:0 0 16px;

  padding:7px 16px;

  background:var(--lavender-soft);
  border-radius:50px;

  color:var(--blue);

  font-size:11px;
  font-weight:700;

  letter-spacing:.14em;

  text-transform:uppercase;
}

.ny-reg-web__features-title {
  margin:0 0 14px;

  color:var(--ink);

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:38px;
  font-weight:700;

  line-height:1.15;

  letter-spacing:-.01em;

  text-wrap:balance;
}

.ny-reg-web__features-text {
  max-width:600px;

  margin:0;

  color:var(--text);

  font-size:15px;

  line-height:1.6;
}


/* =========================================================
   СЕТКА FEATURE-КАРТОЧЕК 2×2
========================================================= */

.ny-reg-web__feature-grid {
  display:grid !important;

  width:100% !important;

  grid-template-columns:repeat(1,minmax(0,1fr));

  gap:16px;

  margin-top:8px;
}

.ny-reg-web__feature {
  display:flex;
  align-items:flex-start;

  width:100%;

  gap:18px;

  padding:20px 22px;

  border:1px solid var(--line);
  border-radius:18px;

  background:var(--surface);

  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.ny-reg-web__feature:hover {
  transform:translateY(-2px);
  border-color:var(--pink);
  box-shadow:0 12px 24px -18px var(--shadow);
}

.ny-reg-web__feature-num {
  flex-shrink:0;

  display:flex;
  align-items:center;
  justify-content:center;

  width:48px;
  height:48px;

  border-radius:50%;

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:15px;
  font-weight:700;

  letter-spacing:.02em;
}

.ny-reg-web__feature--01
.ny-reg-web__feature-num {
  background:var(--pink-soft);
  color:var(--blue);
}

.ny-reg-web__feature--02
.ny-reg-web__feature-num {
  background:var(--teal-soft);
  color:var(--blue-deep);
}

.ny-reg-web__feature--03
.ny-reg-web__feature-num {
  background:var(--lavender-soft);
  color:var(--blue);
}

.ny-reg-web__feature--04
.ny-reg-web__feature-num {
  background:var(--gold-soft);
  color:var(--blue);
}

.ny-reg-web__feature-body {
  display:block;

  min-width:0;
}

.ny-reg-web__feature-title {
  display:block;

  margin:0 0 4px;

  color:var(--ink);

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:16px;
  font-weight:700;

  line-height:1.3;
}

.ny-reg-web__feature-text {
  display:block;

  margin:0;

  color:var(--text);

  font-size:13px;

  line-height:1.5;
}


/* =========================================================
   ПРАВАЯ КОЛОНКА — ВИДЖЕТ НА ГРАДИЕНТЕ
========================================================= */

.ny-reg-web__widget-wrap {
  position:relative;

  display:flex;

  width:100% !important;
  min-width:0 !important;

  overflow:hidden;

  border-radius:32px;

  background:var(--widget-grad);

  box-shadow:var(--shadow-deep);
}

.ny-reg-web__widget-wrap::before {
  content:"";

  position:absolute;

  top:-100px;
  right:-80px;

  width:280px;
  height:280px;

  border-radius:50%;

  background:var(--widget-blob-pink);
  filter:blur(80px);

  z-index:1;
}

.ny-reg-web__widget-wrap::after {
  content:"";

  position:absolute;

  bottom:-150px;
  left:-60px;

  width:340px;
  height:340px;

  border-radius:50%;

  background:var(--widget-blob-teal);
  filter:blur(90px);

  z-index:1;
}

.ny-reg-web__widget {
  position:relative;

  z-index:2;

  width:100%;

  margin:50px;

  padding:50px;

  border-radius:24px;

  background:var(--surface);

  box-shadow:var(--shadow-widget);
}

.ny-reg-web__widget-icon {
  display:flex;
  align-items:center;
  justify-content:center;

  width:52px;
  height:52px;

  margin-bottom:22px;

  border-radius:50%;

  background:var(--pink-soft);

  color:var(--blue);
}

.ny-reg-web__widget-icon svg {
  width:20px;
  height:20px;
}

.ny-reg-web__widget-overline {
  display:block;

  margin:0 0 8px;

  color:var(--blue);

  font-size:11px;
  font-weight:700;

  letter-spacing:.14em;

  text-transform:uppercase;
}

.ny-reg-web__widget-title {
  margin:0 0 10px;

  color:var(--ink);

  font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;

  font-size:28px;
  font-weight:700;

  line-height:1.15;

  letter-spacing:-.01em;
}

.ny-reg-web__widget-text {
  margin:0;

  color:var(--text);

  font-size:14px;

  line-height:1.55;
}


/* =========================================================
   ВИДЖЕТ GetCourse — обёртка (контейнер, не стили формы)
========================================================= */

.ny-reg-web__widget-form {
  width:100% !important;

  margin:32px 0 0 !important;
  padding:0 !important;
}

.ny-reg-web__widget-form .vb-z2p-gc-form {
  display:block;

  width:100% !important;

  padding:0;
}


/* =========================================================
   РАЗДЕЛИТЕЛЬ + НИЖНЯЯ НОТА
========================================================= */

.ny-reg-web__widget-divider {
  width:100%;

  height:1px;

  margin:36px 0 24px;

  background:var(--line);
}

.ny-reg-web__widget-note {
  display:flex;
  align-items:flex-start;

  width:100%;

  gap:12px;
}

.ny-reg-web__widget-note-icon {
  flex-shrink:0;

  display:flex;
  align-items:center;
  justify-content:center;

  width:28px;
  height:28px;

  border-radius:50%;

  background:var(--teal-soft);

  color:var(--blue-deep);
}

.ny-reg-web__widget-note-icon svg {
  width:14px;
  height:14px;
}

.ny-reg-web__widget-note-text {
  display:block;

  min-width:0;

  color:var(--text);

  font-size:13px;

  line-height:1.5;
}





/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px) {

  .ny-reg-web__main {
    grid-template-columns:1fr;
    row-gap:20px;
  }

  .ny-reg-web__features {
    padding:40px 36px;
  }

  .ny-reg-web__widget {
    margin:20px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:800px) {

  .ny-reg-web {
    min-height:auto;
    padding:20px 0 30px;
    justify-content:flex-start;
  }

  .ny-reg-web__container {
    padding:0 12px !important;
  }

  .ny-reg-web__hero {
    padding:36px 24px 40px;
    border-radius:24px;

    margin:12px 0 16px;
  }

  .ny-reg-web__title {
    font-size:36px;
  }

  .ny-reg-web__welcome {
    font-size:18px;
  }

  .ny-reg-web__subtitle {
    font-size:15px;
  }

  .ny-reg-web__hero-overline {
    font-size:10px;
    padding:7px 14px;
  }

  .ny-reg-web__features {
    padding:28px 22px;
    border-radius:24px;
  }

  .ny-reg-web__features-title {
    font-size:26px;
  }

  .ny-reg-web__feature-grid {
    grid-template-columns:1fr;
  }

  .ny-reg-web__widget-wrap {
    border-radius:24px;
  }

  .ny-reg-web__widget {
    margin:14px;
    padding:26px 22px;
  }

  .ny-reg-web__widget-title {
    font-size:22px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .ny-reg-web *,
  .ny-reg-web *::before,
  .ny-reg-web *::after {

    transition:none !important;
    animation:none !important;

  }

}