/* ============================================================
   Level Scout — общий слой стилей для всех подстраниц.
   Правка здесь применяется сразу ко всем страницам,
   которые подключают shared.css (about, b2b, contacts, blog, test).
   Хидер и мобильное меню вынесены в отдельный компонент header.css.
   Главная (index.html) не использует этот файл.
   ============================================================ */

/* ---- design tokens ---- */
:root{
  --bg:#fff;--bg2:#F4F3EF;--card:#F8F7F4;
  --ink:#191510;--ink2:#2c2620;--muted:#6f685d;
  --accent:#6C5CE7;--acc-d:#4b3fc4;--accent-d:#4b3fc4;--acc2:#8f7dff;
  --red:#A81F32;--red-50:#FAE7E9;
  --line:rgba(25,21,16,.14);--line-2:rgba(25,21,16,.28);
  --display:"Rubik",system-ui,sans-serif;--sans:"Manrope",system-ui,sans-serif;
  --serif:"Bitter",Georgia,serif;--accent-font:"Play",system-ui,sans-serif;
}

/* ---- base ---- */
html{scroll-padding-top:96px;scrollbar-gutter:stable;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased}
.it{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--red)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1480px;margin:0 auto;padding:0 35px}

/* хидер / навигация / мобильное меню -> см. header.css */

/* ---- buttons (CTA) ---- */
.btn{position:relative;background:var(--ink);color:var(--bg);font-family:var(--accent-font);font-weight:600;font-size:19px;padding:19px 32px;border-radius:40px;display:inline-flex;align-items:center;gap:9px;transition:transform .15s,background .2s;border:none;cursor:pointer}
.btn:hover{transform:translateY(-2px);background:var(--accent)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line-2);box-shadow:0 6px 20px rgba(25,21,16,.06)}
.btn.ghost:hover{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:0 10px 26px rgba(25,21,16,.12)}
.btn.red{background:var(--red);color:#fff}
.btn.red:hover{background:#8C1A2A}
.cta-chev{width:20px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;margin-left:-1px}
.cta-chev polyline{transition:transform .2s}
.cta-chev .gh{opacity:.4}
.btn:hover .cta-chev polyline,.pill:hover .cta-chev polyline{transform:translateX(4px)}
.btn:hover .cta-chev .gh,.pill:hover .cta-chev .gh{transform:translateX(2px)}
/* legacy marching-chevron (used in some nav pills) */
.cv{position:relative;display:inline-flex;width:17px;height:12px}
.cv b{position:absolute;top:50%;width:7px;height:7px;border-top:2.4px solid currentColor;border-right:2.4px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.cv b:nth-child(1){left:0;opacity:.45}.cv b:nth-child(2){left:8px;opacity:1}
a:hover .cv b,button:hover .cv b{animation:march 1s linear infinite}
a:hover .cv b:nth-child(2){animation-delay:.12s}
@keyframes march{0%{transform:translate(-6px,-50%) rotate(45deg);opacity:0}30%{opacity:1}100%{transform:translate(8px,-50%) rotate(45deg);opacity:0}}
@media(max-width:600px){.btn{font-size:16px;text-transform:uppercase}}

/* ---- hero / sections / headings ---- */
.hero{padding:96px 35px 44px}
.kick{font-family:var(--accent-font);font-weight:600;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,6vw,86px);line-height:1.0;letter-spacing:-.035em;margin-top:16px;max-width:16ch}
.lead{font-size:clamp(16px,1.5vw,20px);color:var(--ink2);max-width:70ch;line-height:1.6;margin-top:22px}
section{padding:66px 0}
h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,4vw,52px);letter-spacing:-.03em;line-height:1.02}
.sec-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.sec-idx{font-family:var(--accent-font);font-weight:700;font-size:16px;color:var(--accent)}
h2 .sec-idx{margin-right:12px;vertical-align:middle;font-size:32px}
.sec-kick{font-family:var(--accent-font);font-weight:600;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cta-band{text-align:center;padding:80px 0}
.cta-band h2{max-width:20ch;margin:0 auto 26px}
@media(max-width:600px){h2 .sec-idx{font-size:32px;vertical-align:baseline;margin-right:8px}}
@media(max-width:600px){.d-br{display:none}}

/* ---- reveal on scroll ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important}}

/* ---- marquee ---- */
.marquee{overflow:hidden;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.mq{display:inline-flex;white-space:nowrap;animation:mq 30s linear infinite}
.marquee:hover .mq{animation-play-state:paused}
.mq span{font-family:var(--display);font-weight:700;font-size:clamp(22px,3vw,40px);letter-spacing:-.01em;padding:0 26px;display:inline-flex;align-items:center;gap:52px;text-transform:uppercase}
.mq .st{color:var(--accent)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---- footer ---- */
footer{background:var(--bg);color:var(--ink);padding:44px 0 40px;margin-top:0;border-top:1px solid var(--line)}
.foot3{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;align-items:end}
.foot3 .brand2{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.ftkick{font-family:var(--accent-font);font-weight:1000;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.ftlk{font-family:var(--accent-font);font-weight:600;font-size:18px;color:var(--ink2);transition:color .2s}.ftlk:hover{color:var(--accent)}
.ftbottom{border-top:1px solid var(--line);margin-top:44px;padding-top:20px;font-size:13px;color:var(--ink);font-weight:500;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:760px){.foot3{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){
  .foot3{grid-template-columns:1fr 1fr;gap:26px 20px}
  .foot3>div:first-child{grid-column:1/-1}
  .foot3>div:nth-child(2){transform:none}
}

/* ---- floating Telegram ---- */
.tg-float{position:fixed;right:24px;bottom:24px;z-index:80;width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(108,92,231,.4);transition:transform .2s,box-shadow .2s;animation:tgfloat 3s ease-in-out infinite}
.tg-float svg{width:29px;height:29px}
.tg-float:hover{transform:scale(1.08);box-shadow:0 16px 40px rgba(108,92,231,.5)}
.tg-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);z-index:-1;animation:tgpulse 2.4s ease-out infinite}
@keyframes tgfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes tgpulse{0%{transform:scale(1);opacity:.45}70%,100%{transform:scale(1.85);opacity:0}}
@media(max-width:600px){.tg-float{width:52px;height:52px;right:18px;bottom:18px}.tg-float svg{width:26px;height:26px}}

/* numbered headings [NN] — hanging indent on mobile (wrap under text, not under number) */
@media(max-width:600px){
  h2:has(.sec-idx){display:flex;align-items:baseline;gap:8px}
  h2:has(.sec-idx) .sec-idx{margin-right:0;flex:0 0 auto}
  h2 .h-txt{flex:1;min-width:0}
}

/* CTA pulse-glow (attention) */
.btn-pulse{animation:btnpulse 2s ease-in-out infinite}
@keyframes btnpulse{0%,100%{box-shadow:0 0 0 0 rgba(108,92,231,.5)}50%{box-shadow:0 0 0 12px rgba(108,92,231,0)}}
@media(prefers-reduced-motion:reduce){.btn-pulse{animation:none}}
