/* ===== ЛОГИН — первый экран ===== */
.login-hero{
  position: relative;
  min-height: 100vh;
  background: var(--bg-1);
  overflow: hidden;
}

/* светлый мягкий градиент, как в примере */
.login-hero__bg{
  position:absolute; inset:0;
  background: linear-gradient(180deg,#f6f8ff 0%, #f7f9ff 35%, #f5f7fc 60%, #eef2ff 100%);
}
.login-hero__scrim{
  position:absolute; inset:0;
  background: radial-gradient(1200px 700px at 50% -10%, rgba(0,0,0,.06), transparent 60%);
}

.login-hero__container{
  position:relative; z-index:1;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(56px,7vw,96px) clamp(16px,4vw,56px);
  display:grid; justify-items:center; gap: clamp(24px, 3vw, 36px);
  text-align:center;
}

.login-hero__eyebrow{
  margin:0;
  color:#7a6fa0;
  font:700 clamp(14px,1.8vw,18px) Montserrat, sans-serif;
  letter-spacing:.04em;
}
.login-hero__title{
  margin:.2em 0 0;
  color:#4e3e8b;
  font:800 clamp(28px,6vw,48px) Montserrat, sans-serif;
  letter-spacing:.01em;
}

/* ===== Карточка формы ===== */
.login-card{
  width: min(520px, 100%);
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: 18px;
  box-shadow: 0 16px 44px rgba(0,0,0,.25);
  padding: 22px;
  display:flex; flex-direction:column; gap:14px;
}

/* поля — используем ваши токены, подчёркиваем фокус */
.field{
  height:56px;
  background:#fff;
  border:1px solid rgba(78, 89, 146, .22);
  border-radius:12px;
  padding:0 14px;
  font:600 16px Montserrat, sans-serif;
  outline:none;
  transition: box-shadow .2s, border-color .2s;
}
.field:focus{
  border-color: color-mix(in srgb, var(--accent) 60%, #6b7cff 40%);
  box-shadow: 0 0 0 4px rgba(75,93,255,.15);
}

/* нижняя строка с чекбоксом и ссылкой */
.login-card__row{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:4px; margin-bottom:2px;
}
.checkbox{ display:inline-flex; align-items:center; gap:8px; color:#4b5563; font:500 14px Montserrat, sans-serif; }
.checkbox input{ width:16px; height:16px; }

.login-card__link{
  color:#5a68ff; text-decoration:none; font:600 14px Montserrat, sans-serif;
}
.login-card__link:hover{ text-decoration:underline; }

/* кнопка — ваша .cta с небольшими правками */
.login-card__cta{
  width:100%;
  height:56px;
  border-radius:12px;
  background: var(--accent);
  box-shadow: 0 8px 24px rgba(75,93,255,.35);
}

.login-card__legal{
  margin:4px 0 0 0;
  color:#6f6d80;
  font:400 12.5px/1.6 Montserrat, sans-serif;
}
.login-card__legal a{ color:#5a68ff; text-decoration:none; }
.login-card__legal a:hover{ text-decoration:underline; }

.login-card__signup{
  margin:0;
  color:#4b5563;
  font:500 14px/1.6 Montserrat, sans-serif;
}
.login-card__signup a{ color: var(--accent); text-decoration:none; font-weight:700; }
.login-card__signup a:hover{ text-decoration:underline; }

/* a11y helper */
.visually-hidden{
  position:absolute!important; clip:rect(1px,1px,1px,1px);
  padding:0!important; border:0!important; height:1px!important; width:1px!important; overflow:hidden;
}

/* адаптив */
@media (max-width:560px){
  .login-card{ border-radius:14px; padding:18px; }
  .login-card__cta{ height:52px; }
}
/* ===== FOOTER ===== */
.footer{
  background: var(--bg-1);               /* единый фон */
  color: var(--text);
  padding: clamp(40px, 6vw, 64px) clamp(16px, 4vw, 56px) 0;
  border-top: 1px solid var(--stroke);
}
.footer__container{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}
.footer__brand h3{ margin: 0 0 8px; font: 800 22px/1.2 Montserrat, sans-serif; }
.footer__brand p{ margin: 0; font: 400 16px/1.4 Montserrat, sans-serif; color: var(--muted); }
.footer__nav{ display:flex; flex-direction:column; gap:8px; }
.footer__nav a{ color:var(--text); text-decoration:none; font:500 16px Montserrat, sans-serif; transition:color .25s }
.footer__nav a:hover{ color:var(--accent); }
.footer__socials{ display:flex; gap:12px; }
.footer__socials a{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; background:var(--accent); color:#fff; text-decoration:none; font-size:18px; transition:background .25s;
}
.footer__socials a:hover{ background:#3f4de8; }
.footer__bottom{
  margin-top:32px; padding-top:20px; border-top:1px solid var(--stroke);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px;
  font:400 14px Montserrat, sans-serif; color:var(--muted);
}
.footer__bottom a{ color:var(--muted); text-decoration:none; transition:color .25s }
.footer__bottom a:hover{ color:var(--accent); }

/* ===== АДАПТИВ ===== */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr}
  .card{justify-self:start; max-width:560px}
  .headline p{max-width:34ch}
  .who__grid{grid-template-columns:1fr}
  .trust5__grid{ grid-template-columns:1fr; }
  .cta6__container{ grid-template-columns:1fr; }
  .cta6__form{ justify-self:start; }
}
@media (max-width:560px){
  .nav{justify-content:center; gap:20px; padding:18px 16px}
  .card{padding:22px; border-radius:22px}
  .card h3{font-size:22px}
  .cta{height:52px; font-size:18px}
  .who-card{padding:22px; border-radius:22px}
  .who-card__tab{font-size:16px; left:18px}
  .features3{ padding-bottom: 120px; }
  .features3__grid{ grid-template-columns: 1fr; }
  .fcard{ border-radius: 20px; min-height: 150px; }
  .features3__art{ height: min(48vh, 520px); opacity: .85; }
  .tcard{
    grid-template-columns: 72px 1fr;
    border-radius: 22px;
    padding: 18px;
  }
  .tcard__avatar{ width:72px; height:72px; border-radius:14px; }
  .tcard__name{ font-size:16px; padding:8px 14px; }
  .tcard__text{ font-size:16px; }
  .trust5__card{ border-radius:22px; min-height:300px; }
  .cta6__bg{ background-position: 60% center; }
}
