/* ==========================================================================
   НеоТомограф — общие стили
   Шрифт: Manrope · Цвета из Figma-экспорта
   ========================================================================== */

:root{
  --blue:#0432D0;
  --blue-dark:#041880;
  --blue-light:#6199FF;
  --bg:#FBFBFB;
  --card:#F5F5F5;
  --card-2:#E8E8EA;
  --card-3:#DBDCDF;
  --text:#535353;
  --text-strong:#2b2b2b;
  --muted:#D0CECE;
  --line:#E6E6E6;
  --white:#ffffff;
  --radius:10px;
  --maxw:1280px;
  --pad:64px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.wrap{
  width:100%;
  max-width:none;      /* контент во всю ширину — элементы крупнее */
  margin:0 auto;
  padding:0 40px;      /* поля ровно 40px с каждой стороны */
}

/* Заголовок раздела */
.section-title{
  font-size:60px;
  line-height:1.1;
  font-weight:400;
  color:var(--blue);
  margin:0 0 24px;
  letter-spacing:-0.5px;
}

.section{padding:56px 0;}
.section--tight{padding:36px 0;}

.lead{
  font-size:24px;
  line-height:1.38;
  font-weight:500;
  color:var(--text);
  max-width:720px;
}
.lead .muted{color:var(--muted);}

.link-arrow{
  display:inline-block;
  margin-top:28px;
  font-size:20px;
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}
.link-arrow:hover{opacity:.8;}

/* ==========================================================================
   Курсор-шарик (следует за мышью с инерцией)
   ========================================================================== */
.cursor-trail{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  filter:url(#cursorGoo);       /* сегменты сливаются в сплошную ленту */
  color:#0432D0;                /* цвет следа (динамически: синий на светлом, белый на синем) */
  opacity:1;
  transition:opacity .35s ease,color .25s ease;
}
.cursor-goo-defs{position:absolute;width:0;height:0;pointer-events:none;}
.cursor-dot{
  position:absolute;
  top:0;left:0;
  background:currentColor;      /* берёт цвет из .cursor-trail */
  border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;   /* неровная органическая форма */
  will-change:transform,border-radius;
  animation:blobMorph 4.5s ease-in-out infinite;
}
@keyframes blobMorph{
  0%,100%{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;}
  20%{border-radius:63% 37% 44% 56% / 58% 40% 60% 42%;}
  40%{border-radius:38% 62% 60% 40% / 63% 55% 45% 37%;}
  60%{border-radius:55% 45% 36% 64% / 40% 62% 38% 60%;}
  80%{border-radius:48% 52% 58% 42% / 52% 38% 62% 48%;}
}
@media (hover:none),(pointer:coarse){
  .cursor-trail{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .cursor-trail{display:none;}
}

/* ==========================================================================
   Шапка
   ========================================================================== */
.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(251,251,251,.9);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid transparent;
}
.header__inner{
  display:flex;
  align-items:center;
  gap:40px;
  height:72px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:20px;
  font-weight:700;
  color:var(--blue);
  white-space:nowrap;
}
.brand img{width:42px;height:42px;}
.nav{
  display:flex;
  align-items:center;
  gap:28px;
}
.nav a{
  font-size:16px;
  font-weight:500;
  color:var(--text);
}
.nav a:hover,.nav a.is-active{color:var(--blue);}
.header__right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:20px;
}
.lang{
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  color:var(--blue);
  background:transparent;
  border:1px solid var(--blue);
  border-radius:6px;
  padding:5px 12px;
  cursor:pointer;
  user-select:none;
  line-height:1;
  transition:background .15s ease,color .15s ease;
}
.lang:hover{background:var(--blue);color:#fff;}
.burger{
  display:none;
  background:none;border:none;
  font-size:24px;line-height:1;color:var(--blue);
  cursor:pointer;padding:4px;
}

/* Кнопки */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:inherit;
  font-size:16px;
  font-weight:600;
  color:var(--white);
  background:var(--blue);
  border:none;
  border-radius:8px;
  padding:11px 20px;
  cursor:pointer;
  transition:background .15s ease,transform .05s ease;
  white-space:nowrap;
}
.btn:hover{background:#0329ad;}
.btn:active{transform:translateY(1px);}
.btn--sm{padding:8px 18px;font-size:15px;border-radius:6px;font-weight:400;}
.btn--lg{padding:14px 34px;font-size:18px;}
.btn--ghost{background:transparent;color:var(--blue);border:1px solid var(--blue);}
.btn--ghost:hover{background:rgba(4,50,208,.06);}

/* ==========================================================================
   Герой
   ========================================================================== */
.hero{
  position:relative;
  border-radius:var(--radius);
  background:linear-gradient(90.22deg,var(--blue) 31.07%,var(--blue-dark) 99.82%);
  overflow:hidden;
  min-height:420px;
  margin-top:16px;
  display:flex;
  align-items:flex-end;
}
.hero__img{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:min(52%,900px);
  pointer-events:none;
}
.hero__content{
  position:relative;
  z-index:2;
  padding:48px 48px 56px;
  max-width:760px;
}
.hero__title{
  margin:0;
  font-size:75px;
  line-height:1.05;
  font-weight:700;
  color:var(--white);
  letter-spacing:-1px;
}
.hero__subtitle{
  margin:18px 0 0;
  max-width:640px;
  font-size:22px;
  line-height:1.38;
  font-weight:500;
  color:var(--blue-light);
}
/* компактный герой для внутренних страниц */
.hero--compact{min-height:300px;}
.hero--compact .hero__title{font-size:60px;}

/* ==========================================================================
   Сетка карточек-статистик
   ========================================================================== */
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.stat{
  background:var(--card);
  border-radius:var(--radius);
  padding:34px 30px;
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.stat__num{
  font-size:60px;
  line-height:1.05;
  font-weight:400;
  color:var(--blue);
}
.stat__label{
  margin-top:10px;
  font-size:20px;
  line-height:1.35;
  color:var(--text);
}

/* ==========================================================================
   Продукт (на главной)
   ========================================================================== */
.product-teaser{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.product-teaser__media{
  background:linear-gradient(180deg,#f3f3f5,#e9eaee);
  border-radius:var(--radius);
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:320px;
}
.product-teaser__title{
  font-size:24px;
  font-weight:700;
  color:var(--text);
  line-height:1.4;
}

/* ==========================================================================
   Ценности / О компании (нумерованные карточки)
   ========================================================================== */
.values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:8px;
}
.value{
  background:var(--card);
  border-radius:var(--radius);
  padding:26px 26px 30px;
  min-height:200px;
}
.value__n{
  font-size:20px;
  color:var(--blue);
  font-weight:400;
}
.value__t{
  margin:20px 0 8px;
  font-size:20px;
  font-weight:700;
  color:var(--text-strong);
}
.value__d{
  font-size:16px;
  line-height:1.45;
  color:var(--text);
}

/* ==========================================================================
   Команда
   ========================================================================== */
.team{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.person{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:3/3.4;
  background:var(--card-2);
}
.person img{width:100%;height:100%;object-fit:cover;}
.person__plate{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  background:var(--blue);
  color:var(--white);
  border-radius:8px;
  padding:12px 16px;
}
.person__name{font-size:18px;font-weight:700;}
.person__role{font-size:14px;opacity:.85;margin-top:2px;}

/* ==========================================================================
   Научный совет
   ========================================================================== */
.board{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.expert{
  display:grid;
  grid-template-columns:150px 1fr;
  background:var(--blue);
  color:var(--white);
  border-radius:var(--radius);
  overflow:hidden;
  min-height:190px;
}
.expert img{width:100%;height:100%;object-fit:cover;}
.expert__body{padding:20px 22px;}
.expert__name{font-size:18px;font-weight:700;}
.expert__spec{font-size:14px;font-weight:600;color:var(--blue-light);margin:6px 0 10px;}
.expert__desc{font-size:13px;line-height:1.45;color:rgba(255,255,255,.85);}
.board__single{grid-column:1 / -1;max-width:calc(50% - 12px);}

/* ==========================================================================
   Страница продукта
   ========================================================================== */
.pitch{text-align:center;padding:20px 0 8px;}
.pitch__title{font-size:60px;font-weight:400;color:var(--blue);margin:0;}
.pitch__sub{
  max-width:900px;margin:16px auto 0;
  font-size:24px;line-height:1.4;font-weight:500;color:var(--muted);
}
.pitch__sub b{color:var(--text);font-weight:500;}

.showcase{
  position:relative;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#E8E8EA 30%,#DBDCDF 100%);
  padding:44px;
  overflow:hidden;
  min-height:520px;
}
.showcase__title{
  position:relative;z-index:2;
  max-width:640px;
  font-size:44px;line-height:1.2;font-weight:600;color:var(--white);
}
.showcase__img{
  position:absolute;right:0;top:40px;width:min(64%,860px);pointer-events:none;
}
.showcase__stats{
  position:relative;z-index:2;
  display:flex;gap:24px;flex-wrap:wrap;margin-top:auto;padding-top:220px;
}
.showcase__stat{
  background:var(--white);border-radius:var(--radius);
  padding:18px 26px;min-width:240px;
}
.showcase__stat b{display:block;font-size:40px;font-weight:600;color:var(--text);line-height:1.1;}
.showcase__stat span{font-size:16px;color:var(--text);}

.explain{
  max-width:1040px;margin:0 auto;text-align:center;
  font-size:22px;line-height:1.45;font-weight:500;color:var(--text);
}
.explain p+p{margin-top:18px;color:#6f6f6f;font-size:18px;}

.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.step{
  background:var(--blue);color:var(--white);
  border-radius:var(--radius);
  padding:24px 26px 28px;
  min-height:240px;
  display:flex;flex-direction:column;
}
.step__n{font-size:72px;font-weight:400;line-height:1;color:var(--white);}
.step__t{margin-top:auto;font-size:19px;font-weight:700;line-height:1.35;}
.step__t span{display:block;font-weight:400;font-size:15px;opacity:.85;margin-top:8px;}
.step__t .step-main{font-weight:700;font-size:19px;opacity:1;margin-top:0;}

/* точность подтверждённая клинически */
.precision{
  display:grid;grid-template-columns:1fr 1.35fr;gap:24px;align-items:stretch;
}
.precision__list{display:flex;flex-direction:column;gap:20px;}
.precision__item{
  background:var(--card-2);border-radius:var(--radius);
  padding:26px 30px;flex:1;display:flex;flex-direction:column;justify-content:center;
}
.precision__item b{font-size:44px;font-weight:600;color:var(--text);line-height:1.05;}
.precision__item span{font-size:16px;color:var(--text);margin-top:6px;}
.precision__media{
  border-radius:var(--radius);
  background:linear-gradient(180deg,#E8E8EA 30%,#DBDCDF 100%);
  display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;
}

.eyebrow{font-size:24px;font-weight:600;color:var(--text-strong);margin:0 0 20px;}
.eyebrow span{font-weight:400;color:var(--muted);font-size:18px;}
.eyebrow .eb-main{font-weight:600;color:var(--text-strong);font-size:24px;}

.impact{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.impact__card{
  background:var(--blue);color:var(--white);border-radius:var(--radius);
  padding:26px 24px;min-height:150px;display:flex;flex-direction:column;justify-content:center;
}
.impact__card b{font-size:40px;font-weight:600;line-height:1.05;}
.impact__card span{font-size:15px;margin-top:8px;opacity:.9;}

/* ==========================================================================
   Блог
   ========================================================================== */
.tabs{display:flex;gap:28px;justify-content:center;margin:8px 0 32px;}
.tabs button{
  background:none;border:none;font-family:inherit;font-size:18px;color:var(--text);
  cursor:pointer;padding:6px 2px;border-bottom:2px solid transparent;
}
.tabs button.is-active{color:var(--blue);border-color:var(--blue);font-weight:600;}

.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;}
.post__thumb{
  background:#d4d4d4;border-radius:8px;width:100%;aspect-ratio:16/10;margin-bottom:14px;
}
.post__meta{font-size:13px;color:#8a8a8a;}
.post__title{font-size:20px;font-weight:700;color:var(--text-strong);margin:8px 0 12px;line-height:1.3;}
.post__excerpt{font-size:14px;color:var(--text);line-height:1.5;margin-bottom:16px;}
.center{text-align:center;margin-top:44px;}

/* ==========================================================================
   Статья
   ========================================================================== */
.article{max-width:920px;margin:0 auto;}
.article__back{color:var(--blue);font-size:16px;display:inline-block;margin-bottom:22px;}
.article__tags-top{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.tag{background:var(--blue);color:#fff;font-size:13px;padding:5px 12px;border-radius:6px;}
.tag--muted{background:#e3e3e3;color:#666;}
.article__title{
  font-size:52px;line-height:1.15;font-weight:600;color:var(--blue);margin:0 0 28px;letter-spacing:-.5px;
}
.article__hero{width:100%;aspect-ratio:16/9;background:#d4d4d4;border-radius:var(--radius);margin-bottom:28px;}
.article__body p{font-size:18px;line-height:1.65;color:var(--text);margin:0 0 20px;}
.article__quote{
  border-left:3px solid var(--blue);padding:4px 0 4px 20px;margin:28px 0;
  font-size:20px;color:var(--muted);line-height:1.5;
}
.article__tags{display:flex;gap:12px;margin:28px 0 8px;}

/* ==========================================================================
   Юридические страницы
   ========================================================================== */
.legal{max-width:960px;margin:0 auto;}
.legal h1{font-size:52px;line-height:1.15;font-weight:400;color:var(--blue);margin:0 0 28px;letter-spacing:-.5px;}
.legal h2{font-size:22px;color:var(--text-strong);margin:34px 0 12px;}
.legal p{font-size:17px;line-height:1.7;color:var(--text);margin:0 0 16px;}
.legal ul{margin:0 0 16px;padding-left:22px;}
.legal li{font-size:17px;line-height:1.7;margin-bottom:8px;}
.legal a{color:var(--blue);text-decoration:underline;}

/* ==========================================================================
   Форма обратной связи
   ========================================================================== */
.contact{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
  background:var(--card);border-radius:var(--radius);padding:48px;
}
.contact__lead{font-size:40px;line-height:1.2;font-weight:400;color:var(--blue);}
.contact__lead b{display:block;font-weight:400;}
.contact__note{margin-top:28px;font-size:18px;color:var(--text);}
.form{display:flex;flex-direction:column;gap:14px;}
.form__tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.form__tab{
  background:#e7e7e7;border:none;font-family:inherit;font-size:15px;color:var(--text);
  padding:9px 18px;border-radius:7px;cursor:pointer;
}
.form__tab.is-active{background:var(--blue);color:#fff;}
.form input,.form textarea{
  font-family:inherit;font-size:16px;color:var(--text-strong);
  background:var(--white);border:1px solid var(--line);border-radius:8px;
  padding:14px 16px;width:100%;
}
.form textarea{min-height:120px;resize:vertical;}
.form input::placeholder,.form textarea::placeholder{color:#a3a3a3;}
.form__consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#8a8a8a;line-height:1.4;}
.form__consent input{width:auto;margin-top:2px;}
.form__consent a{color:var(--blue);text-decoration:underline;}
.form__status{font-size:14px;line-height:1.4;min-height:0;}
.form__status.is-error{color:#c0392b;}
.form__status.is-ok{color:#1f8a4c;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn:disabled:hover{background:var(--blue);}

/* ==========================================================================
   Подвал
   ========================================================================== */
.footer{margin:40px 0;}
.footer__inner{
  background:var(--card);border-radius:var(--radius);
  padding:40px 48px 28px;
}
.footer__top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;
  padding-bottom:28px;
}
.footer__brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--blue);}
.footer__brand img{width:39px;height:39px;}
.footer__grant{display:flex;gap:12px;align-items:center;margin-top:22px;}
.footer__grant img{width:34px;height:34px;}
.footer__grant span{font-size:12px;color:#8a8a8a;line-height:1.35;max-width:220px;}
.footer__col a{display:block;font-size:16px;color:var(--text);margin-bottom:10px;}
.footer__col a:hover{color:var(--blue);}
.footer__contacts .phone{display:block;font-size:18px;color:var(--blue);font-weight:600;}
.footer__contacts .mail{display:block;font-size:16px;color:var(--blue);margin-top:8px;}
.footer__contacts .phone:hover,.footer__contacts .mail:hover{text-decoration:underline;}
.footer__contacts .mail small{display:block;color:#9a9a9a;font-size:11px;font-weight:400;}
.footer__legal{
  border-top:1px solid #e8e8e8;padding-top:18px;
  font-size:11px;color:#a0a0a0;line-height:1.6;
}

/* ==========================================================================
   Адаптив
   ========================================================================== */
@media(max-width:1080px){
  .section-title{font-size:48px;}
  .hero__title{font-size:60px;}
  .hero--compact .hero__title{font-size:48px;}
  .pitch__title{font-size:48px;}
  .article__title{font-size:42px;}
  .contact__lead{font-size:32px;}
  .showcase__title{font-size:36px;}
}
@media(max-width:900px){
  .header__inner{gap:16px;}
  .burger{display:block;}
  .nav{
    position:absolute;top:72px;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--bg);padding:8px 40px 18px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 24px rgba(0,0,0,.06);
    display:none;
  }
  .nav.open{display:flex;}
  .nav a{padding:12px 0;width:100%;font-size:18px;}
  .stats,.values,.team,.impact,.steps{grid-template-columns:1fr 1fr;}
  .board{grid-template-columns:1fr;}
  .board__single{max-width:100%;}
  .posts{grid-template-columns:1fr 1fr;}
  .product-teaser,.precision,.contact{grid-template-columns:1fr;}
  .hero{align-items:flex-start;}
  .hero__img{position:static;transform:none;width:80%;margin:0 auto -20px;}
  .hero{flex-direction:column;}
  .hero__content{padding:32px;}
  .showcase__img{position:static;width:90%;margin:20px auto 0;}
  .showcase__stats{padding-top:32px;}
  .showcase{min-height:0;}
}
@media(max-width:600px){
  .wrap{padding:0 20px;}
  .header__inner{height:64px;gap:12px;}
  .brand{font-size:17px;gap:8px;}
  .brand img{width:36px;height:36px;}
  .header__right{gap:12px;}
  .header__right .btn--sm{display:none;}   /* CTA дублируется в блоке «Напишите нам» */
  .nav{top:64px;padding:8px 20px 18px;}
  .section{padding:40px 0;}
  .section--tight{padding:28px 0;}
  .section-title{font-size:34px;}
  .hero{min-height:0;margin-top:12px;}
  .hero__img{width:88%;margin:4px auto -16px;}
  .hero__content{padding:26px 22px 30px;}
  .hero__title{font-size:40px;}
  .hero__subtitle{font-size:17px;margin-top:14px;}
  .stat__num{font-size:40px;}
  .stat{min-height:0;padding:26px 22px;}
  .stat__label{font-size:17px;}
  .stats,.values,.team,.impact,.steps,.posts{grid-template-columns:1fr;}
  .value{min-height:0;padding:22px;}
  .product-teaser__media{min-height:220px;}
  .lead{font-size:20px;}
  .footer__top{grid-template-columns:1fr;gap:22px;}
  .contact,.footer__inner{padding:26px 20px;}
  .contact__lead{font-size:26px;}
  .form .btn{width:100%;}
  .pitch__title{font-size:34px;}
  .pitch__sub{font-size:19px;}
  .article__title{font-size:30px;}
  .legal h1{font-size:32px;}
  .impact__card b,.precision__item b,.showcase__stat b{font-size:32px;}
  .showcase{padding:26px 20px;}
  .showcase__title{font-size:28px;}
  .expert{grid-template-columns:100px 1fr;}
  .expert__body{padding:16px;}
}
@media(max-width:400px){
  .brand{font-size:15px;}
  .brand img{width:32px;height:32px;}
  .hero__title{font-size:34px;}
  .section-title{font-size:30px;}
  .form__tabs{gap:8px;}
  .form__tab{padding:8px 14px;font-size:14px;}
  .expert{grid-template-columns:1fr;}
  .expert img{aspect-ratio:16/10;}
}
