/* =============================================
   ГЛАВНАЯ СТРАНИЦА — базовые
   ============================================= */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary:#2563EB;--primary-dark:#1D4ED8;--primary-light:#3B82F6;
  --secondary:#1F2937;--text:#111827;--text-light:#6B7280;--text-white:#F9FAFB;
  --bg:#fff;--bg-alt:#F9FAFB;--border:#E5E7EB;
  --success:#10B981;--warning:#F59E0B;--error:#EF4444;
  --shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
  --radius:8px;--radius-lg:12px;
}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}

/* Шапка */
.header{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.header__inner{display:flex;justify-content:space-between;align-items:center;height:4rem}
.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.logo__text{font-size:1.25rem;font-weight:700;color:var(--text)}
.nav{display:flex;gap:2rem}
.nav__link{color:var(--text-light);text-decoration:none;font-weight:500;transition:color .2s}
.nav__link:hover{color:var(--primary)}

/* Hero */
.hero{padding:4rem 0;background:linear-gradient(135deg,#F8FAFC,#EFF6FF)}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero__title{font-size:3rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem}
.hero__subtitle{font-size:1.25rem;color:var(--text-light);margin-bottom:2rem}
.hero__stats{display:flex;gap:2rem;margin-bottom:2rem}
.stat{text-align:center}
.stat__number{font-size:2rem;font-weight:700;color:var(--primary)}
.stat__label{font-size:.875rem;color:var(--text-light)}
.hero__image{text-align:center}
.hero__image img{max-width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}

/* Секции */
.section{padding:4rem 0}
.section--alt{background:var(--bg-alt)}
.section__title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:.5rem}
.section__subtitle{font-size:1.125rem;color:var(--text-light);text-align:center;margin-bottom:3rem}

/* Шаги */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.step{text-align:center;padding:2rem;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.step__number{width:3rem;height:3rem;background:var(--primary);color:var(--text-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin:0 auto 1rem}
.step__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}
.step__text{color:var(--text-light)}

/* Преимущества */
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.benefit{text-align:center;padding:2rem;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.benefit__icon{width:3rem;height:3rem;background:#EFF6FF;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.benefit__title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}
.benefit__text{color:var(--text-light);font-size:.875rem}

/* Отзывы */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.review{background:var(--bg);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.review:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.review__content{margin-bottom:1.5rem}
.review__text{font-size:1.125rem;font-style:italic;line-height:1.6}
.review__author{display:flex;align-items:center;gap:1rem}
.review__avatar{width:3rem;height:3rem;background:var(--primary);color:var(--text-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}
.review__name{font-weight:600}
.review__role{font-size:.875rem;color:var(--text-light)}

/* CTA */
.section--cta{background:linear-gradient(135deg,#EFF6FF,#DBEAFE)}
.cta{text-align:center;padding:3rem;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:800px;margin:0 auto}
.cta__title{font-size:2rem;font-weight:700;margin-bottom:1rem}
.cta__text{color:var(--text-light);margin-bottom:2rem}

/* Кнопки главной */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn--primary{background:var(--primary);color:var(--text-white)}
.btn--primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--lg{padding:1rem 2rem;font-size:1.125rem}

/* Футер */
.footer{background:var(--secondary);color:var(--text-white);padding:3rem 0}
.footer__inner{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center}
.footer__links{display:flex;gap:1.5rem}
.footer__link{color:#D1D5DB;text-decoration:none;transition:color .2s}
.footer__link:hover{color:var(--text-white)}
.footer__copyright{color:#9CA3AF;font-size:.875rem}

/* Анимации */
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.nav__link.active{color:var(--primary);position:relative}
.nav__link.active::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--primary);border-radius:1px}

@media(max-width:768px){
  .hero__inner{grid-template-columns:1fr;text-align:center}
  .hero__stats{justify-content:center}
  .hero__title{font-size:2rem}
  .nav{display:none}
  .footer__inner{grid-template-columns:1fr;text-align:center}
  .footer__links{justify-content:center;flex-wrap:wrap}
}


/* =============================================
   ТЕСТ — СОВРЕМЕННЫЙ ИНТЕРФЕЙС
   ============================================= */

/* ---------- Фон с орбами ---------- */
.test-body{
  background:#0F172A;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}
.test-bg{
  position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
}
.test-bg__orb{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;
  animation:orbFloat 20s ease-in-out infinite alternate;
}
.test-bg__orb--1{width:500px;height:500px;background:#2563EB;top:-10%;left:-5%;animation-delay:0s}
.test-bg__orb--2{width:400px;height:400px;background:#7C3AED;bottom:-10%;right:-5%;animation-delay:-7s}
.test-bg__orb--3{width:300px;height:300px;background:#06B6D4;top:40%;left:50%;animation-delay:-14s}
@keyframes orbFloat{
  0%{transform:translate(0,0) scale(1)}
  33%{transform:translate(60px,-40px) scale(1.1)}
  66%{transform:translate(-40px,60px) scale(.9)}
  100%{transform:translate(30px,-20px) scale(1.05)}
}

/* ---------- Шапка теста ---------- */
.test-header{
  position:sticky;top:0;z-index:100;
  background:rgba(15,23,42,.6);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.test-header__inner{
  max-width:900px;margin:0 auto;padding:0 1.5rem;
  display:flex;justify-content:space-between;align-items:center;height:3.5rem;
}
.logo--small .logo__text{color:#fff;font-size:1rem}

/* Круглый прогресс */
.circular-progress{
  width:42px;height:42px;position:relative;
}
.circular-progress svg{width:100%;height:100%;transform:rotate(-90deg)}
.circular-progress__fill{
  transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1);
}
.circular-progress__text{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:.625rem;font-weight:700;color:#94A3B8;
}

/* ---------- Stage ---------- */
.test-main{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  min-height:calc(100vh - 3.5rem);padding:2rem 1rem;
}
.test-stage{
  width:100%;max-width:800px;position:relative;min-height:460px;
}

/* ---------- Экраны ---------- */
.t-screen{
  display:none;
  animation:screenIn .5s cubic-bezier(.16,1,.3,1) both;
}
.t-screen--active{display:block}
@keyframes screenIn{
  from{opacity:0;transform:translateY(30px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ---------- Intro ---------- */
.intro{text-align:center;padding:2rem}
.intro__badge{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:#60A5FA;background:rgba(37,99,235,.12);
  padding:.4rem 1rem;border-radius:100px;margin-bottom:2rem;
  border:1px solid rgba(37,99,235,.2);
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .1s both;
}
.intro__badge-dot{width:6px;height:6px;background:#3B82F6;border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.intro__title{
  font-size:3rem;font-weight:800;color:#F1F5F9;line-height:1.1;
  margin-bottom:1rem;
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .2s both;
}
.intro__title-accent{
  background:linear-gradient(135deg,#60A5FA,#A78BFA);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.intro__sub{
  font-size:1.125rem;color:#94A3B8;margin-bottom:1rem;
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .3s both;
}
.intro__desc{
  font-size:.9375rem;color:#64748B;line-height:1.7;
  max-width:420px;margin:0 auto 2.5rem;
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .35s both;
}

/* Кнопка «Начать» */
.btn-start{
  display:inline-flex;align-items:center;gap:.75rem;
  padding:1rem 2.25rem;
  background:linear-gradient(135deg,#2563EB,#3B82F6);
  color:#fff;font-size:1.125rem;font-weight:700;
  border:none;border-radius:60px;cursor:pointer;
  box-shadow:0 0 0 0 rgba(37,99,235,.4),0 4px 20px rgba(37,99,235,.3);
  transition:all .3s cubic-bezier(.4,0,.2,1);
  text-decoration:none;
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .45s both,btnPulse 3s ease-in-out 1.5s infinite;
}
@keyframes btnPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4),0 4px 20px rgba(37,99,235,.3)}
  50%{box-shadow:0 0 0 12px rgba(37,99,235,0),0 4px 20px rgba(37,99,235,.3)}
}
.btn-start:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 0 0 0 rgba(37,99,235,.4),0 8px 30px rgba(37,99,235,.4);
}
.btn-start:active{transform:scale(.97)}
.btn-start__arrow{
  display:flex;transition:transform .3s;
}
.btn-start:hover .btn-start__arrow{transform:translateX(4px)}

/* Features chips */
.intro__features{
  display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;
  margin-top:2.5rem;
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) .55s both;
}
.intro__feat{
  display:flex;align-items:center;gap:.375rem;
  font-size:.8125rem;font-weight:500;color:#94A3B8;
  background:rgba(255,255,255,.05);
  padding:.375rem .75rem;border-radius:100px;
  border:1px solid rgba(255,255,255,.08);
}

/* ---------- Экран вопроса: layout ---------- */
.q-wrapper{
  display:grid;grid-template-columns:200px 1fr;gap:2.5rem;
  align-items:start;
}

/* Sidebar */
.q-sidebar{
  display:flex;flex-direction:column;gap:1rem;
  padding-top:.5rem;
  position:sticky;top:5rem;
}
.q-category{
  display:flex;align-items:center;gap:.5rem;
  font-size:.8125rem;font-weight:600;color:#CBD5E1;
  text-transform:uppercase;letter-spacing:.06em;
}
.q-category__dot{
  width:10px;height:10px;border-radius:50%;
  transition:background .3s;
}
.q-dimension{
  font-size:.75rem;color:#475569;line-height:1.5;
}
.q-back{
  display:inline-flex;align-items:center;gap:.375rem;
  margin-top:1rem;
  font-size:.875rem;font-weight:500;color:#64748B;
  background:none;border:none;cursor:pointer;
  padding:.5rem .75rem;border-radius:var(--radius);
  transition:all .2s;
}
.q-back:hover{color:#F1F5F9;background:rgba(255,255,255,.06)}

/* Правая часть */
.q-main{
  animation:slideInRight .5s cubic-bezier(.16,1,.3,1) both;
}
@keyframes slideInRight{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}

.q-number{
  font-size:4rem;font-weight:800;
  background:linear-gradient(135deg,rgba(96,165,250,.3),rgba(167,139,250,.3));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  line-height:1;margin-bottom:.5rem;
  transition:all .3s;
}
.q-text{
  font-size:1.4rem;font-weight:600;color:#F1F5F9;
  line-height:1.5;margin-bottom:1.5rem;
  animation:fadeUp .4s ease-out both;
  animation-delay:.1s;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

.q-scale-labels{
  display:flex;justify-content:space-between;
  font-size:.6875rem;font-weight:500;color:#475569;
  text-transform:uppercase;letter-spacing:.04em;
  margin-bottom:.75rem;
  padding:0 .25rem;
}

/* Варианты */
.q-options{
  display:flex;flex-direction:column;gap:.5rem;
}
.q-opt{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.25rem;
  background:rgba(255,255,255,.04);
  border:1.5px solid rgba(255,255,255,.08);
  border-radius:14px;
  cursor:pointer;
  transition:all .25s cubic-bezier(.4,0,.2,1);
  /* stagger */
  opacity:0;transform:translateY(16px);
  animation:optIn .4s cubic-bezier(.16,1,.3,1) both;
}
.q-opt:nth-child(1){animation-delay:.05s}
.q-opt:nth-child(2){animation-delay:.10s}
.q-opt:nth-child(3){animation-delay:.15s}
.q-opt:nth-child(4){animation-delay:.20s}
.q-opt:nth-child(5){animation-delay:.25s}
@keyframes optIn{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

.q-opt:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(96,165,250,.4);
  transform:translateX(6px);
}
.q-opt:active{transform:scale(.98)}

/* Номер + текст варианта */
.q-opt__num{
  width:2rem;height:2rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:8px;
  font-size:.75rem;font-weight:700;
  background:rgba(255,255,255,.06);color:#94A3B8;
  transition:all .25s;
}
.q-opt__label{
  flex:1;font-size:.9375rem;font-weight:500;color:#E2E8F0;
  line-height:1.4;
}
.q-opt__bar{
  position:absolute;bottom:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,#3B82F6,#A78BFA);
  border-radius:0 3px 0 0;
  transition:width .4s cubic-bezier(.4,0,.2,1);
}

/* Выбранный вариант */
.q-opt.selected{
  background:rgba(37,99,235,.12);
  border-color:rgba(96,165,250,.6);
  box-shadow:0 0 0 3px rgba(37,99,235,.15),inset 0 0 0 1px rgba(96,165,250,.2);
}
.q-opt.selected .q-opt__num{
  background:var(--primary);color:#fff;
}
.q-opt.selected .q-opt__bar{width:100%}

/* Подсказка клавиш */
.q-keys-hint{
  text-align:center;margin-top:1.25rem;
  font-size:.75rem;color:#475569;
}
.q-keys-hint kbd{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.5rem;height:1.5rem;padding:0 .375rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:5px;
  font-family:inherit;font-size:.6875rem;font-weight:600;color:#94A3B8;
  margin:0 2px;
}

/* ---------- Экран завершения ---------- */
.done{
  text-align:center;padding:3rem 2rem;
  animation:screenIn .5s cubic-bezier(.16,1,.3,1) both;
}
.done__check{
  margin-bottom:2rem;
  animation:popIn .6s cubic-bezier(.16,1,.3,1) .2s both;
}
@keyframes popIn{
  0%{transform:scale(.3);opacity:0}
  70%{transform:scale(1.08)}
  100%{transform:scale(1);opacity:1}
}
.done__circle{
  animation:drawCircle .8s ease-out .5s forwards;
}
@keyframes drawCircle{to{stroke-dashoffset:0}}
.done__tick{
  animation:drawTick .4s ease-out 1.1s forwards;
}
@keyframes drawTick{to{stroke-dashoffset:0}}

.done__title{
  font-size:2.25rem;font-weight:800;color:#F1F5F9;margin-bottom:.75rem;
}
.done__text{
  font-size:1.125rem;color:#94A3B8;margin-bottom:2.5rem;line-height:1.6;
}

/* Шкалы результатов */
.done__bars{
  display:flex;flex-direction:column;gap:.75rem;
  max-width:480px;margin:0 auto 2.5rem;
}
.done__bar{
  display:grid;grid-template-columns:130px 1fr 40px;gap:.75rem;align-items:center;
  animation:fadeUp .4s ease-out both;
}
.done__bar:nth-child(1){animation-delay:.3s}
.done__bar:nth-child(2){animation-delay:.38s}
.done__bar:nth-child(3){animation-delay:.46s}
.done__bar:nth-child(4){animation-delay:.54s}
.done__bar:nth-child(5){animation-delay:.62s}
.done__bar:nth-child(6){animation-delay:.70s}
.done__bar:nth-child(7){animation-delay:.78s}
.done__bar:nth-child(8){animation-delay:.86s}

.done__bar-label{
  font-size:.8125rem;font-weight:600;color:#CBD5E1;text-align:right;
}
.done__bar-track{
  height:10px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;
}
.done__bar-fill{
  height:100%;border-radius:10px;width:0%;
  transition:width 1s cubic-bezier(.4,0,.2,1);
}
.done__bar-val{
  font-size:.875rem;font-weight:700;color:#F1F5F9;text-align:left;
}

.done__btn{
  animation:screenIn .6s cubic-bezier(.16,1,.3,1) 1s both;
}

/* Цвета шкал */
.cat-extraversion .done__bar-fill{background:linear-gradient(90deg,#3B82F6,#60A5FA)}
.cat-agreeableness .done__bar-fill{background:linear-gradient(90deg,#10B981,#34D399)}
.cat-neuroticism .done__bar-fill{background:linear-gradient(90deg,#EF4444,#F87171)}
.cat-conscientiousness .done__bar-fill{background:linear-gradient(90deg,#F59E0B,#FBBF24)}
.cat-openness .done__bar-fill{background:linear-gradient(90deg,#8B5CF6,#A78BFA)}
.cat-stress .done__bar-fill{background:linear-gradient(90deg,#06B6D4,#22D3EE)}
.cat-empathy .done__bar-fill{background:linear-gradient(90deg,#EC4899,#F472B6)}
.cat-selfcontrol .done__bar-fill{background:linear-gradient(90deg,#14B8A6,#2DD4BF)}

/* Категории цвета в вопросе */
.cat-dot-extraversion{background:#3B82F6}
.cat-dot-agreeableness{background:#10B981}
.cat-dot-neuroticism{background:#EF4444}
.cat-dot-conscientiousness{background:#F59E0B}
.cat-dot-openness{background:#8B5CF6}
.cat-dot-stress{background:#06B6D4}
.cat-dot-empathy{background:#EC4899}
.cat-dot-selfcontrol{background:#14B8A6}

/* ---------- Адаптив ---------- */
@media(max-width:768px){
  .intro__title{font-size:2rem}
  .q-wrapper{grid-template-columns:1fr;gap:1.5rem}
  .q-sidebar{flex-direction:row;align-items:center;position:static;flex-wrap:wrap}
  .q-back{margin-top:0}
  .q-number{font-size:2.5rem}
  .q-text{font-size:1.125rem}
  .done__bar{grid-template-columns:90px 1fr 36px}
  .done__bar-label{font-size:.75rem}
  .test-bg__orb{filter:blur(60px);opacity:.2}
}