/* ============================================================
   Level Plus — главный сайт-витрина
   Цвета бренда: желтый #FED852 + чернильный #191919
   ============================================================ */

:root{
  --accent:#FED852;          /* фирменный желтый логотипа: объекты, поверхности, тинты */
  --accent-strong:#EFA400;   /* глубокое золото: заливки hero/CTA, на которых текст белый */
  --accent-deep:#F5C63C;
  --ink:#191919;
  --canvas:#FFFFFF;
  --tint-warm:#FFF6DC;
  --on-accent:#FFFFFF;       /* текст на золотых заливках */
  --hero-grad:radial-gradient(130% 125% at 18% 0%, #E99800 0%, #F7AC0A 46%, #FFC94A 100%);
  --hero-shade:linear-gradient(112deg, rgba(150,88,0,0.42) 0%, rgba(150,88,0,0) 58%);
  --cta-shade:radial-gradient(70% 70% at 50% 50%, rgba(160,95,0,0.35) 0%, rgba(160,95,0,0) 72%);
  --font-stack:'Onest',ui-sans-serif,system-ui,sans-serif;
  --wd:800;
  --ease:cubic-bezier(0.32,0.72,0,1);
  --shadow-md:rgba(0,0,0,0.05) 0 -4px 16px 0;
  /* Палитра платформ — только для 3D-объектов и активных пунктов */
  --plat-connect:#3B82F6;
  --plat-formula:#7C5CFC;
  --plat-learn:#F5B800;
  --plat-closr:#F97316;
  --plat-hub:#EF4444;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--canvas);}
body{
  font-family:var(--font-stack);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;transition:opacity .3s var(--ease);}
a:hover{opacity:.6;}
img{max-width:100%;}
button{font-family:var(--font-stack);}
input,textarea{font-family:var(--font-stack);}
input::placeholder,textarea::placeholder{color:rgba(25,25,25,0.45);}
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}

.container{max-width:1200px;margin:0 auto;padding:0 24px;width:100%;}

/* ---------- Типографика ---------- */
.display-hero{margin:0;font-size:clamp(34px,7vw,104px);line-height:1;letter-spacing:0;font-weight:var(--wd);}
.display-xl{margin:0;font-size:clamp(44px,8vw,124px);line-height:1;letter-spacing:0;font-weight:var(--wd);}
.display-lg{margin:0;font-size:clamp(38px,6vw,90px);line-height:1;letter-spacing:0;font-weight:var(--wd);}
.heading{margin:0;font-size:clamp(30px,3.8vw,56px);line-height:1.05;letter-spacing:0;font-weight:var(--wd);}
.support{margin:36px 0 0;font-size:14px;font-weight:400;letter-spacing:0.02em;opacity:.55;}

/* Построчная маска появления заголовков */
.line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em;}
.line [data-line]{display:block;transform:translateY(112%);transition:transform .85s var(--ease);}

/* ---------- Бренд-объект: перекраска красного PNG в желтый бренда ---------- */
.brand-plus{filter:sepia(1) saturate(1.9) hue-rotate(2deg) brightness(1.75);}

/* ---------- Кнопки ---------- */
.btn{
  border:none;cursor:pointer;border-radius:12px;
  padding:17px 32px;font-size:15px;font-weight:500;letter-spacing:0.01em;
  transition:transform .35s var(--ease);
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:scale(0.98);}
.btn-ink{background:var(--ink);color:var(--accent);}
.btn-accent{background:var(--accent);color:var(--ink);}
.btn-white{background:#FFFFFF;color:var(--ink);}

/* ---------- Зерно поверх видео-фонов ---------- */
.grain{position:relative;}
.grain::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Сквозной «+» ---------- */
.plus-layer{position:fixed;inset:0;z-index:3;pointer-events:none;}
.plus-pos{position:absolute;left:73%;top:50%;width:clamp(160px,16vw,290px);}
.plus-par{width:100%;}
.plus-par img{width:100%;display:block;}
.idle-float{animation:idleFloat 7s ease-in-out infinite;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:100dvh;display:flex;align-items:center;
  position:relative;overflow:hidden;
  background:var(--hero-grad);
  color:var(--on-accent);
}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg .fluid-canvas,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hero-bg::after{content:"";position:absolute;inset:0;background:var(--hero-shade);}
.hero-top{position:absolute;top:0;left:0;right:0;z-index:5;padding-top:clamp(20px,2.5vw,32px);}
.hero-top-inner{display:flex;align-items:center;justify-content:space-between;}
.hero-logo{width:clamp(44px,4vw,54px);height:auto;display:block;}
.btn-sm{padding:12px 22px;font-size:14px;}
/* переключатель языков — наследует цвет текста секции */
.hero-top-right{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);}
.lang-switch{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:0.04em;}
.lang-switch a{color:inherit;opacity:.5;transition:opacity .3s var(--ease);}
.lang-switch a:hover{opacity:.85;}
.lang-switch a.is-active{opacity:1;}
.lang-sep{opacity:.3;}
.hero-inner{padding-top:130px;padding-bottom:90px;position:relative;z-index:4;}
.hero-cta{margin-top:clamp(36px,4.5vw,60px);}
.hero-plus-flat{display:none;}

/* ---------- Тех-композиция hero: плавающие продуктовые карточки ---------- */
.hero-comp{position:absolute;inset:0;z-index:2;pointer-events:none;}
.hcard{
  position:absolute;
  background:#FFFFFF;border-radius:16px;padding:16px 18px;
  box-shadow:0 24px 60px rgba(110,60,0,0.30);
  color:var(--ink);
  width:max-content;max-width:260px;
  opacity:0;
  animation:hcardIn .9s var(--ease) var(--d,0s) both, hcFloat 7.5s ease-in-out calc(var(--d,0s) + .9s) infinite;
}
@keyframes hcardIn{
  from{opacity:0;transform:translate(var(--px,0px), calc(var(--py,0px) + 28px)) scale(.92);}
  to{opacity:1;transform:translate(var(--px,0px), var(--py,0px)) scale(1);}
}
@keyframes hcFloat{
  0%,100%{transform:translate(var(--px,0px), var(--py,0px));}
  50%{transform:translate(var(--px,0px), calc(var(--py,0px) - 12px));}
}
.hc-ai{left:50%;top:14%;rotate:-3deg;--d:.7s;}
.hc-webinar{right:4%;top:13%;rotate:2.5deg;--d:.9s;}
.hc-sale{left:47%;top:67%;rotate:-2deg;--d:1.1s;}
.hc-crm{right:6%;bottom:10%;rotate:3deg;--d:1.3s;}
.hc-head{display:flex;align-items:center;font-size:12px;letter-spacing:0.03em;font-weight:500;opacity:.55;margin-bottom:8px;}
.hc-ai-head{color:#7C5CFC;opacity:1;}
.hc-crm-head{color:#EF4444;opacity:1;}
.hc-title{font-size:14px;font-weight:500;line-height:1.3;}
.hc-meta{font-size:12px;font-weight:400;opacity:.55;margin-top:4px;}
.live-dot{width:8px;height:8px;border-radius:50%;background:#FB2D54;display:inline-block;margin-right:8px;animation:livePulse 1.6s ease-in-out infinite;}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.35}}
.hc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34C771;margin-right:8px;}
.hc-bar{margin-top:12px;height:6px;border-radius:3px;background:rgba(25,25,25,0.08);overflow:hidden;}
.hc-bar span{display:block;height:100%;border-radius:3px;background:var(--accent-strong);width:64%;animation:barGrow 2.4s var(--ease) 1.6s both;}
@keyframes barGrow{from{width:8%}to{width:64%}}
.hc-typing{display:flex;gap:4px;margin-top:10px;}
.hc-typing i{width:6px;height:6px;border-radius:50%;background:rgba(25,25,25,0.35);animation:typing 1.2s ease-in-out infinite;}
.hc-typing i:nth-child(2){animation-delay:.15s;}
.hc-typing i:nth-child(3){animation-delay:.3s;}
@keyframes typing{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}
.hc-chart{display:flex;gap:5px;align-items:flex-end;height:44px;margin-top:12px;min-width:130px;}
.hc-chart i{flex:1;border-radius:3px;background:#477EE9;height:var(--h,50%);opacity:.85;animation:barUp 1s var(--ease) both;}
.hc-chart i:nth-child(1){animation-delay:1.5s;}
.hc-chart i:nth-child(2){animation-delay:1.6s;}
.hc-chart i:nth-child(3){animation-delay:1.7s;}
.hc-chart i:nth-child(4){animation-delay:1.8s;}
.hc-chart i:nth-child(5){animation-delay:1.9s;}
.hc-chart i:nth-child(6){animation-delay:2s;}
@keyframes barUp{from{height:6%}to{height:var(--h,50%)}}

/* ============================================================
   ЧТО МЫ ДЕЛАЕМ
   ============================================================ */
.about{padding:clamp(5rem,12vw,11rem) 0;}

/* ============================================================
   КЕЙСЫ
   ============================================================ */
.cases{padding:clamp(5rem,11vw,10rem) 0;position:relative;overflow:hidden;}
.cases-rows{display:flex;flex-direction:column;gap:24px;}
.marquee{overflow:hidden;width:100%;}
.marquee-track{display:flex;width:max-content;}
.cases .marquee-track img{
  width:clamp(220px,24vw,380px);aspect-ratio:16/10;object-fit:cover;object-position:top;
  border-radius:16px;margin-right:24px;
  opacity:.5;filter:grayscale(60%);
  transition:opacity .4s var(--ease),filter .4s var(--ease),transform .4s var(--ease);
}
.cases .marquee-track img:hover{opacity:1;filter:grayscale(0%);transform:translateY(-4px);}
.anim-marq-l{animation:marqL 80s linear infinite;}
.anim-marq-r{animation:marqR 95s linear infinite;}
.cases-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:none;text-align:center;
  background:radial-gradient(58% 52% at 50% 46%, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.6) 48%, rgba(255,255,255,0) 78%);
}
.cases-overlay .support{margin-top:20px;}
.ticker{margin-top:56px;}
.ticker span{white-space:nowrap;font-size:18px;letter-spacing:0.01em;font-weight:500;opacity:.45;}
.anim-ticker{animation:marqL 64s linear infinite;}

/* ============================================================
   ПОЛОСА ЦИФР — чистая типографика в духе Add / Send / Exchange:
   цветной сквиркл-чип с белой иконкой + дисплейное слово в цвете
   ============================================================ */
.stats{position:relative;}
.stats-pin{height:240vh;}
.stats-stage{position:sticky;top:0;height:100vh;height:100lvh;display:flex;align-items:center;overflow:hidden;}
.stats-stack{display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3.2vw,44px);}
.stat-line{
  display:flex;align-items:center;gap:clamp(12px,1.8vw,26px);
  color:var(--c);
  font-size:clamp(34px,6vw,84px);line-height:1;font-weight:var(--wd);letter-spacing:0.01em;
  /* строки подтягиваются по скроллу одна за другой (GSAP scrub), блок не растягивается */
  transform:translateY(36px);opacity:0;
}
.stat-chip{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:0.94em;height:0.94em;border-radius:29%;
  background:var(--c);color:#FFFFFF;
}
.stat-chip svg{width:62%;height:62%;display:block;}
.stat-text{white-space:nowrap;}

/* ============================================================
   ТЕХНОЛОГИИ
   ============================================================ */
.tech{background:var(--tint-warm);padding:clamp(5rem,12vw,11rem) 0;overflow:hidden;}
.tech-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:clamp(40px,6vw,96px);align-items:center;}
.tech .heading{max-width:20ch;}
.tech-text{max-width:600px;font-size:15px;line-height:1.7;font-weight:400;letter-spacing:0.01em;margin:44px 0 0;}
/* визуал: стек скриншотов платформ + плашки, собирающиеся из фрагментов */
.tech-visual{position:relative;aspect-ratio:0.88;}
.tech-stack{position:absolute;inset:0;}
.tech-shot{position:absolute;display:block;border-radius:14px;box-shadow:0 30px 70px rgba(25,25,25,0.22);}
.ts-1{width:72%;left:0;top:0;rotate:-3deg;z-index:1;}
.ts-2{width:70%;right:0;top:17%;rotate:2deg;z-index:2;}
.ts-3{width:66%;left:2%;top:38%;rotate:-2deg;z-index:3;}
.ts-4{width:64%;right:2%;top:58%;rotate:2.5deg;z-index:4;}
.ts-5{width:56%;left:7%;bottom:0;rotate:-1.5deg;z-index:5;}
.tcard{
  position:absolute;z-index:6;background:#FFFFFF;border-radius:12px;padding:9px 12px;
  box-shadow:0 14px 36px rgba(25,25,25,0.18);color:var(--ink);
  width:max-content;max-width:180px;opacity:0;
}
.tcard .hc-title{font-size:11px;}
.tcard .hc-head{font-size:9.5px;margin-bottom:4px;}
.tcard .hc-meta{font-size:9.5px;margin-top:2px;}
.tcard .hc-chart{height:26px;margin-top:8px;min-width:90px;}
.tcard .hc-typing{margin-top:6px;}
.tc-1{right:-3%;top:3%;rotate:2.5deg;}
.tc-2{left:-4%;top:31%;rotate:-2deg;}
.tc-3{right:-2%;top:47%;rotate:-2.5deg;}
.tc-4{left:2%;bottom:14%;rotate:3deg;}
.hc-learn-head{color:#F5B800;opacity:1;}
.hc-closr-head{color:#F97316;opacity:1;}
@media (max-width:1023px){
  .tech-grid{grid-template-columns:1fr;}
  .tech-visual{max-width:520px;margin-top:24px;}
}

/* ============================================================
   ПЛАТФОРМЫ — pinned-сцена
   ============================================================ */
.platforms-pinned{height:640vh;}
.platforms-stage{
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  background:var(--canvas);transition:background .7s var(--ease);
}
.platforms-head{padding-top:96px;}
.platforms-scene{position:relative;flex:1;min-height:0;}
.stage-plus{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(200px,22vw,360px);
}
.belt-obj{position:absolute;left:50%;top:50%;width:clamp(200px,25vw,390px);opacity:0;}
.belt-obj img{width:100%;display:block;}
.platforms-list{padding-bottom:clamp(28px,6vh,56px);display:flex;flex-direction:column;gap:14px;}
.platforms-names{display:flex;flex-wrap:wrap;gap:10px 28px;}
.plat-name{
  background:none;border:none;padding:0;cursor:pointer;
  font-size:clamp(14px,1.4vw,20px);font-weight:500;letter-spacing:0.01em;
  color:var(--ink);opacity:.35;
  transition:color .45s var(--ease),opacity .45s var(--ease);
}
.plat-name.is-active{opacity:1;}
.plat-desc{font-size:13px;font-weight:400;letter-spacing:0.02em;opacity:.7;min-height:1.6em;}

/* Плоский вариант платформ: мобильные и reduced-motion */
.platforms-flat{display:none;padding-top:clamp(5rem,12vw,11rem);padding-bottom:clamp(5rem,12vw,11rem);flex-direction:column;gap:72px;}
.plat-item{display:flex;flex-direction:column;gap:18px;}
.plat-item img{width:min(280px,64vw);}
.plat-item-name{font-size:clamp(22px,5vw,32px);font-weight:500;line-height:1.1;}
.plat-item-desc{font-size:14px;font-weight:400;letter-spacing:0.01em;line-height:1.6;}

/* ============================================================
   ПРОЦЕСС — горизонтальный скраб
   ============================================================ */
.process-pinned{height:420vh;}
.process-stage-wrap{
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;justify-content:center;overflow:hidden;
}
.process-head{padding-top:96px;}
.process-track{
  display:flex;align-items:center;flex:1;min-height:0;
  padding-left:max(24px,calc((100vw - 1200px)/2 + 24px));
  gap:clamp(64px,9vw,160px);
  will-change:transform;
}
.process-track::after{content:"";flex:0 0 max(24px,calc((100vw - 1200px)/2 + 24px));}
.process-stage{flex-shrink:0;transition:opacity .5s var(--ease);opacity:.18;}
.process-stage.is-active{opacity:1;}
.process-stage:nth-child(odd){transform:translateY(-4vh);}
.process-stage:nth-child(even){transform:translateY(6vh);}
.process-obj{width:clamp(120px,13vw,200px);margin-bottom:clamp(16px,2vw,28px);}
.process-obj img{width:100%;display:block;animation:idleFloat 8s ease-in-out infinite;}
.process-stage:nth-child(2) .process-obj img{animation-delay:-2s;animation-duration:7s;}
.process-stage:nth-child(3) .process-obj img{animation-delay:-4s;}
.process-stage:nth-child(4) .process-obj img{animation-delay:-1s;animation-duration:9s;}
.process-stage:nth-child(5) .process-obj img{animation-delay:-3s;animation-duration:7.5s;}
.process-title{font-size:clamp(56px,9vw,132px);line-height:1;font-weight:var(--wd);white-space:nowrap;}
.process-desc{margin-top:18px;font-size:14px;font-weight:400;letter-spacing:0.02em;opacity:.6;}

/* ============================================================
   ОТЗЫВЫ — по референсу: полноэкранный темный фон, белый заголовок,
   узкая колонка стеклянных карточек
   ============================================================ */
.voices{position:relative;margin-top:clamp(5rem,11vw,10rem);}
.voices-pin{height:280vh;}
.voices-stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;}
.voices-bg{position:absolute;inset:-12% 0;}
.voices-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.voices-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(15,13,10,0.42) 0%, rgba(15,13,10,0.1) 45%, rgba(15,13,10,0.48) 100%);
}
.voices-inner{
  position:relative;z-index:2;
  height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding-top:clamp(4rem,7vw,6rem);padding-bottom:clamp(4rem,7vw,6rem);
}
.voices-heading{color:#FFFFFF;text-align:center;}
/* стопка: карточки наслаиваются друг на друга в одной ячейке, весь блок = фоновое изображение */
.voices-cards{
  margin-top:clamp(40px,5vw,72px);
  width:min(520px,100%);
  display:grid;
  padding-bottom:44px;
}
.voice-card{
  margin:0;grid-area:1/1;
  background:rgba(22,20,16,0.55);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-radius:20px;padding:28px;
  color:#FFFFFF;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 18px 50px rgba(0,0,0,0.35);
  /* карточки проявляются одна над другой по скроллу (GSAP scrub) */
  opacity:0;
}
.voice-card:first-child{opacity:1;}
.voice-card:nth-child(1){z-index:1;}
.voice-card:nth-child(2){z-index:2;}
.voice-card:nth-child(3){z-index:3;}
.voice-card:nth-child(4){z-index:4;}
.voice-title{font-size:16px;font-weight:500;letter-spacing:0.01em;}
.voice-card blockquote{margin:0;font-size:15px;line-height:1.65;font-weight:400;opacity:.7;}
.voice-person{display:flex;align-items:center;gap:12px;margin-top:8px;}
.voice-avatar{
  width:40px;height:40px;border-radius:50%;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--av,#FED852);color:var(--ink);
  font-size:14px;font-weight:500;
}
.voice-name{font-size:14px;font-weight:500;}

/* ============================================================
   ФИНАЛЬНЫЙ CTA
   ============================================================ */
.cta{position:relative;}
.cta-pin{height:300vh;}
.cta-stage{
  /* большой вьюпорт (lvh): на iOS при скрытом тулбаре экран выше 100svh —
     иначе снизу под жёлтым кругом торчала бы белая полоса фона */
  position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;
  background:var(--canvas);
  display:flex;align-items:center;justify-content:center;
}
.cta-circle{
  position:absolute;left:50%;top:50%;
  width:165vmax;height:165vmax;margin:-82.5vmax 0 0 -82.5vmax;
  border-radius:50%;
  background:var(--hero-grad);
  transform:scale(0);
}
.cta-inner{position:relative;z-index:3;text-align:center;padding:0 24px;color:var(--on-accent);}
.cta-title{opacity:0;transform:translateY(50px);}
.cta-plus-btn{
  display:block;background:none;border:none;padding:0;cursor:pointer;
  position:relative;
  width:clamp(110px,13vw,180px);
  opacity:0;
  animation:plusPulse 2.4s ease-in-out infinite;
  transition:transform .35s var(--ease);
}
.cta-plus-btn:hover{transform:scale(1.08);}
.cta-plus-btn:active{transform:scale(0.96);}
/* сплошной плюс, нарисованный кодом (SVG), без теней — чистый белый */
.cta-plus-zone{position:relative;display:inline-block;margin-top:clamp(30px,4vw,48px);}
.plus-solid{display:block;width:100%;height:auto;fill:#FFFFFF;}
/* импульсы в форме плюса, растекаются от кнопки */
.cta-pulses{position:absolute;inset:0;pointer-events:none;opacity:0;}
.cta-pulses svg{
  position:absolute;inset:0;width:100%;height:100%;
  fill:none;stroke:rgba(255,255,255,0.6);stroke-width:1.6;
  transform-origin:center;opacity:0;
  animation:pulsePlus 5s linear infinite;
}
.cta-pulses svg:nth-child(2){animation-delay:1.25s;}
.cta-pulses svg:nth-child(3){animation-delay:2.5s;}
.cta-pulses svg:nth-child(4){animation-delay:3.75s;}
@keyframes pulsePlus{
  0%{transform:scale(1);opacity:0;}
  10%{opacity:.75;}
  100%{transform:scale(8);opacity:0;}
}
@keyframes plusPulse{0%,100%{scale:1}50%{scale:1.07}}
.cta-hint{margin:22px 0 0;font-size:13px;font-weight:400;letter-spacing:0.03em;opacity:0;}

/* ============================================================
   ФУТЕР
   ============================================================ */
.footer{
  min-height:100svh;padding:40px 0 0;
  display:flex;flex-direction:column;
}
/* всё по центру: лого, разделы, ссылки на платформы, копирайт */
.footer-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding-top:24px;}
.footer-logo{width:44px;height:auto;display:block;}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;font-size:13px;letter-spacing:0.02em;font-weight:400;}
/* ссылки на платформы — с фирменным цветным маркером-квадратом */
.footer-plats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;font-size:13px;font-weight:500;letter-spacing:0.01em;}
.footer-plats a,.footer-plat-private{display:inline-flex;align-items:center;gap:8px;color:var(--ink);}
.footer-plats a{opacity:.8;transition:opacity .3s var(--ease);}
.footer-plats a:hover{opacity:1;}
.footer-plats a::before,.footer-plat-private::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--c,var(--accent));flex:none;}
.footer-plat-private{opacity:.55;cursor:default;}
.footer-plat-note{font-size:11px;font-weight:400;opacity:.75;margin-left:2px;}
.footer-copy{font-size:11px;letter-spacing:0.03em;opacity:.5;}

/* финальный экран: крупный вордмарк по центру + плавающие плюсы, снизу воздух */
.footer-hero{position:relative;flex:1;min-height:52vh;display:flex;align-items:center;justify-content:center;padding-bottom:6vh;}
.footer-plusses{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.footer-plusses span{
  position:absolute;left:var(--x);top:var(--y);
  width:calc(58px * var(--s,1));height:calc(58px * var(--s,1));
  transform:translate(-50%,-50%);
  opacity:.14;
  animation:footPlusFloat 9s ease-in-out var(--d,0s) infinite;
}
.footer-plusses span::before,.footer-plusses span::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--accent);border-radius:26%;
}
.footer-plusses span::before{width:34%;height:100%;}
.footer-plusses span::after{width:100%;height:34%;}
@keyframes footPlusFloat{0%,100%{transform:translate(-50%,-50%) rotate(-8deg)}50%{transform:translate(-50%,calc(-50% - 22px)) rotate(8deg)}}
.giant-brand{position:relative;z-index:2;overflow:hidden;text-align:center;}
.giant-brand span{
  display:block;white-space:nowrap;
  font-size:clamp(72px,20vw,240px);line-height:.86;font-weight:var(--wd);letter-spacing:0.005em;
  background:linear-gradient(180deg, var(--accent-strong) 0%, #F7B62B 60%, #FFE18A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transform:translateY(115%);
  transition:transform 1s var(--ease);
}
.giant-brand span:nth-child(2){transition-delay:.12s;}
.giant-brand.is-in span{transform:translateY(0);}

/* ============================================================
   МОДАЛЬНАЯ ФОРМА
   ============================================================ */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;}
.modal[hidden]{display:none;}
.modal-form-state[hidden],.modal-sent-state[hidden]{display:none;}
.modal-backdrop{position:absolute;inset:0;background:rgba(25,25,25,0.45);backdrop-filter:blur(10px);}
.modal-card{
  position:relative;background:var(--canvas);border-radius:24px;overflow:hidden;
  padding:clamp(28px,4vw,44px);width:min(500px,100%);
  box-shadow:var(--shadow-md);
}
/* декоративный фирменный плюс в углу карточки */
.modal-plus{position:absolute;right:-44px;top:-44px;width:170px;height:170px;rotate:18deg;pointer-events:none;opacity:.16;}
.modal-plus::before,.modal-plus::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--accent);border-radius:16px;}
.modal-plus::before{width:34%;height:100%;}
.modal-plus::after{width:100%;height:34%;}
.modal-close{
  position:absolute;top:14px;right:14px;background:transparent;border:none;
  font-size:16px;color:var(--ink);opacity:.45;cursor:pointer;padding:10px;line-height:1;
}
.modal-card h3{margin:0;font-size:24px;font-weight:var(--wd);line-height:1.15;}
.modal-card p{margin:12px 0 28px;font-size:14px;font-weight:400;opacity:.6;}
.modal-card form{display:flex;flex-direction:column;gap:12px;}
.modal-card input,.modal-card textarea{
  background:rgba(254,216,82,0.16);border:none;border-radius:16px;
  padding:16px 18px;font-size:14px;color:var(--ink);outline:none;width:100%;resize:vertical;
  transition:background .3s var(--ease);
}
.modal-card input:focus,.modal-card textarea:focus{background:rgba(254,216,82,0.3);}
.modal-card form .btn{margin-top:8px;padding:16px 28px;font-size:14px;}
.modal-sent-state p{margin:28px 0;font-size:18px;line-height:1.5;font-weight:500;opacity:1;}
/* квиз */
.quiz-progress{height:4px;border-radius:2px;background:rgba(25,25,25,0.08);margin:20px 0 26px;overflow:hidden;}
.quiz-progress span{display:block;height:100%;width:20%;border-radius:2px;background:var(--accent-strong);transition:width .5s var(--ease);}
.quiz-step{display:flex;flex-direction:column;gap:14px;animation:quizIn .45s var(--ease);}
.quiz-step[hidden]{display:none;}
@keyframes quizIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.quiz-q{font-size:20px;font-weight:var(--wd);line-height:1.25;}
.quiz-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;}
.quiz-nav .btn{padding:14px 26px;font-size:14px;margin-left:auto;}
.quiz-back{background:none;border:none;cursor:pointer;font-size:13px;letter-spacing:0.02em;color:var(--ink);opacity:.5;padding:10px 0;transition:opacity .3s var(--ease);}
.quiz-back:hover{opacity:.9;}
.quiz-choices{display:flex;flex-direction:column;gap:10px;}
.quiz-choice{
  text-align:left;background:rgba(254,216,82,0.16);border:1px solid transparent;border-radius:16px;
  padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:3px;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.quiz-choice:hover{background:rgba(254,216,82,0.32);border-color:var(--accent);}
.quiz-choice-title{font-size:15px;font-weight:500;}
.quiz-choice-desc{font-size:12.5px;font-weight:400;opacity:.55;}
.quiz-error{border:1px solid #FB2D54 !important;}

/* ============================================================
   Анимации
   ============================================================ */
@keyframes idleFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(3deg)}}
@keyframes spinSlow{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spinOnly{from{rotate:0deg}to{rotate:360deg}}
@keyframes sheenSweep{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
@keyframes marqL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes idleSphere{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.03)}}
@keyframes idleKnot{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-10px)}}
@keyframes idleStack{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-8px) scaleY(1.05)}}
@keyframes idleRing{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(4deg) scale(1.04)}}
@keyframes idleCube{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(3deg) scale(1.02)}}
.idle-sphere{animation:idleSphere 6s ease-in-out infinite;}
.idle-knot{animation:idleKnot 7s ease-in-out infinite;}
.idle-stack{animation:idleStack 5.5s ease-in-out infinite;}
.idle-ring{animation:idleRing 6.5s ease-in-out infinite;}
.idle-cube{animation:idleCube 8s ease-in-out infinite;}

/* ============================================================
   Плоский режим: мобильные и prefers-reduced-motion
   ============================================================ */
@media (max-width:767px){
  .plus-layer{display:none;}
  .hero-plus-flat{display:block;position:absolute;right:-48px;top:14%;width:min(230px,46vw);z-index:1;}
  .platforms-head{padding-top:72px;}
  .stage-plus{width:clamp(190px,52vw,360px);}
  .belt-obj{width:clamp(230px,64vw,390px);}
  .footer-hero{min-height:58vh;}
  /* тех-плашки: на мобиле оставляем 2 по углам, чтобы не перегружать */
  .tech-visual{aspect-ratio:0.82;}
  .tcard{max-width:168px;padding:9px 11px;}
  .tcard .hc-chart{min-width:80px;height:22px;}
  .tc-2,.tc-3{display:none;}
  .tc-1{left:auto;right:2%;top:2%;}
  .tc-4{left:2%;right:auto;bottom:4%;}
  .anim-marq-l{animation-duration:115s;}
  .anim-marq-r{animation-duration:135s;}
  .stats-stack{align-items:center;gap:28px;}
  .stat-line{font-size:clamp(34px,9.5vw,48px);}
  .stat-text{white-space:normal;}
  /* платформы: названия в один ряд без переноса слов (горизонтальный скролл на узких) */
  .platforms-names{flex-wrap:nowrap;gap:9px;justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .platforms-names::-webkit-scrollbar{display:none;}
  .plat-name{font-size:11.5px;white-space:nowrap;flex:none;}
  .plat-desc{text-align:center;}
  .platforms-list{padding-left:12px;padding-right:12px;}
  .support{font-size:15px;}
  .tech-text{font-size:16px;}
  .plat-item-desc{font-size:15px;}
  .voice-card blockquote{font-size:16px;}
  .process-title{font-size:clamp(48px,12.5vw,60px);}
  /* мобильный hero по паттерну референса: коллаж сверху, заголовок внизу */
  .hero{align-items:flex-end;}
  .hero-inner{padding-bottom:56px;}
  .hcard{max-width:210px;padding:12px 14px;box-shadow:0 14px 34px rgba(110,60,0,0.25);}
  .hc-head{font-size:10.5px;margin-bottom:6px;}
  .hc-title{font-size:12.5px;}
  .hc-meta{font-size:10.5px;}
  .hc-bar{margin-top:9px;height:5px;}
  .hc-ai{display:none;}
  .hc-webinar{right:auto;left:4%;top:13%;}
  .hc-sale{left:auto;right:4%;top:27%;}
  .hc-crm{right:6%;bottom:auto;top:38%;}
  .hc-crm .hc-chart{height:30px;margin-top:8px;min-width:100px;}
  .hero-plus-flat{top:29%;right:auto;left:5%;width:min(130px,30vw);}
  .voice-card{padding:22px;}
  .voices-cards{width:min(440px,100%);}
  .process-obj{width:clamp(110px,30vw,160px);}
  /* футер: колонка по центру — навигация не упирается в край, копирайт при переносе центрируется */
  .footer-row{flex-direction:column;align-items:center;text-align:center;gap:16px;}
  .footer-nav{flex-wrap:wrap;justify-content:center;gap:14px 22px;}
  .footer-copy{width:100%;text-align:center;}
}

html.flat .plus-layer{display:none;}
html.flat .hero-plus-flat{display:block;position:absolute;right:-48px;top:14%;width:min(230px,46vw);z-index:1;}
html.flat .platforms-pinned{display:none;}
html.flat .platforms-flat{display:flex;}
html.flat .process-pinned{height:auto;}
html.flat .process-stage-wrap{position:static;height:auto;display:block;overflow:visible;}
html.flat .process-head{padding-top:clamp(5rem,12vw,11rem);}
html.flat .process-track{flex-direction:column;align-items:flex-start;gap:56px;padding:56px 24px clamp(5rem,12vw,11rem);transform:none !important;}
html.flat .process-stage{opacity:1;transform:none !important;}
html.flat .process-title{white-space:normal;}

@media (prefers-reduced-motion:reduce){
  .idle-float,.idle-sphere,.idle-knot,.idle-stack,.idle-ring,.idle-cube,
  .anim-marq-l,.anim-marq-r,.anim-ticker,.cta-plus-wrap,.cta-sheen,
  .hcard,.live-dot,.hc-bar span,.hc-typing i,.hc-chart i,.footer-plusses span{animation:none !important;}
  .hcard{opacity:1;}
  .line [data-line]{transition:none;transform:none;}
  .stat-line{transform:none !important;opacity:1 !important;}
  .voice-card{transform:none !important;opacity:1 !important;}
  .giant-brand span{transition:none;transform:translateY(0);}
  .tcard{opacity:1 !important;transform:none !important;}
  .cta-pin{height:auto;}
  .cta-stage{position:static;height:auto;min-height:100svh;}
  .cta-circle{transform:scale(1);}
  .cta-title{opacity:1;transform:none;}
  .cta-plus-btn{opacity:1;animation:none;}
  .cta-hint{opacity:1;}
  .voices-pin{height:auto;}
  .voices-stage{position:static;height:auto;}
  .stats-pin{height:auto;padding:clamp(4rem,9vw,8.5rem) 0;}
  .stats-stage{position:static;height:auto;display:block;}
  .cta-pulses{display:none;}
  .quiz-step{animation:none;}
}
html.flat .stat-line{transform:none;opacity:1;}
html.flat .voice-card{transform:none;opacity:1;}
html.flat .tcard{opacity:1;}
html.flat .cta-pin{height:auto;}
html.flat .cta-stage{position:static;height:auto;min-height:100svh;}
html.flat .cta-circle{transform:scale(1);}
html.flat .cta-title{opacity:1;transform:none;}
html.flat .cta-plus-btn{opacity:1;animation:none;}
html.flat .cta-hint{opacity:1;}
html.flat .voices-pin{height:auto;}
html.flat .voices-stage{position:static;height:auto;}
html.flat .stats-pin{height:auto;padding:clamp(4rem,9vw,8.5rem) 0;}
html.flat .stats-stage{position:static;height:auto;display:block;}
html.flat .cta-pulses{display:none;}
html.flat .giant-brand span{transform:translateY(0);}
html.flat .m-reveal{opacity:1;transform:none;}

/* ============================================================
   Красная тема — оригинальные цвета версии Claude Design.
   Включение: <html data-theme="red">
   ============================================================ */
html[data-theme="red"]{
  --accent:#F73B20;
  --accent-strong:#F73B20;
  --ink:#360802;
  --tint-warm:#FDEDEA;
  --hero-grad:radial-gradient(130% 125% at 18% 0%, color-mix(in oklab, #F73B20 32%, #ffc9a8) 0%, color-mix(in oklab, #F73B20 76%, #ff9d6e) 46%, #F73B20 100%);
  --hero-shade:none;
  --cta-shade:none;
}
html[data-theme="red"] .brand-plus{filter:none;}
html[data-theme="red"] .btn-ink{background:#FFFFFF;color:var(--accent);}
html[data-theme="red"] .btn-accent{background:var(--accent);color:#FFFFFF;}
html[data-theme="red"] .modal-card input,
html[data-theme="red"] .modal-card textarea{background:rgba(247,59,32,0.05);}
html[data-theme="red"] .modal-card input:focus,
html[data-theme="red"] .modal-card textarea:focus{background:rgba(247,59,32,0.09);}


/* ---------- Мобильные reveal-появления контента по скроллу ---------- */
@media (max-width:767px){
  .m-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .m-reveal.is-in{opacity:1;transform:none;}
}
