/* ============================================
   BODRISH — B2B landing
   Стили. Все цвета вынесены в переменные :root —
   меняй их здесь, чтобы перекрасить весь сайт.
   ============================================ */

:root{
  --bg:#0d0f0e;
  --bg2:#141716;
  --surface:#1a1d1c;
  --line:rgba(255,255,255,.08);
  --txt:#f4f5f3;
  --mut:#8b908c;
  --green:#3fae5a;        /* акцент бренда (зелёная точка в логотипе) */
  --green-hover:#54c970;
  --maxw:1240px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Manrope',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.5;
}
h1,h2,h3,.disp{font-family:'Unbounded',sans-serif;letter-spacing:-.02em;line-height:1.02}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.green{color:var(--green)}
.mut{color:var(--mut)}

/* зерно/grain поверх всего для глубины */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* индикатор прокрутки */
.prog{position:fixed;top:0;left:0;height:2px;background:var(--green);z-index:1001;width:0}

/* ---------- NAV ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:.4s;border-bottom:1px solid transparent}
nav.scrolled{background:rgba(13,15,14,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Unbounded';font-weight:800;font-size:22px;letter-spacing:-.03em;display:flex;align-items:center;gap:3px}
.logo .dot{width:8px;height:8px;border-radius:50%;background:var(--green);margin-left:1px;margin-bottom:-2px;align-self:flex-end}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{color:var(--mut);text-decoration:none;font-size:14px;font-weight:500;transition:.25s}
.nav-links a:hover{color:var(--txt)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#07140a;font-weight:700;font-size:14px;padding:12px 22px;border-radius:100px;text-decoration:none;transition:.3s;border:none;cursor:pointer}
.btn:hover{background:var(--green-hover);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--txt);border:1px solid var(--line)}
.btn-ghost:hover{background:var(--surface);border-color:rgba(255,255,255,.2)}
@media(max-width:860px){.nav-links a:not(.btn){display:none}}

/* ---------- HERO ---------- */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:80px;overflow:hidden}
.hero-bg::before{content:"";position:absolute;width:600px;height:600px;right:-120px;top:8%;background:radial-gradient(circle,rgba(63,174,90,.16),transparent 65%);filter:blur(20px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative;z-index:2;width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:28px;border:1px solid var(--line);padding:8px 16px;border-radius:100px}
.eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,174,90,.5)}70%{box-shadow:0 0 0 12px rgba(63,174,90,0)}100%{box-shadow:0 0 0 0 rgba(63,174,90,0)}}
.hero h1{font-size:clamp(40px,6.5vw,82px);font-weight:800;margin-bottom:26px}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln span{display:block;transform:translateY(105%);animation:rise .9s cubic-bezier(.16,1,.3,1) forwards}
.hero h1 .ln:nth-child(2) span{animation-delay:.12s}
.hero h1 .ln:nth-child(3) span{animation-delay:.24s}
@keyframes rise{to{transform:translateY(0)}}
.hero-sub{font-size:19px;color:var(--mut);max-width:480px;margin-bottom:38px;opacity:0;animation:fade 1s .5s forwards}
@keyframes fade{to{opacity:1}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fade 1s .65s forwards}
.hero-stats{display:flex;gap:34px;margin-top:54px;opacity:0;animation:fade 1s .8s forwards}
.hero-stats .st b{font-family:'Unbounded';font-size:30px;font-weight:700;display:block}
.hero-stats .st span{font-size:13px;color:var(--mut)}
.hero-photo{position:relative;display:flex;justify-content:center;align-items:center;height:600px}
.hero-photo .halo{position:absolute;width:380px;height:380px;border-radius:50%;border:1px dashed rgba(63,174,90,.18);animation:spin 38s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-photo img{height:560px;object-fit:contain;filter:drop-shadow(0 40px 70px rgba(0,0,0,.6));animation:float 6s ease-in-out infinite;position:relative;z-index:2}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:10px}.hero-photo{height:420px;order:-1}.hero-photo img{height:380px}.hero-photo .halo{width:280px;height:280px}.hero-stats{gap:22px;flex-wrap:wrap}}

/* ---------- SECTION base ---------- */
.sec{padding:120px 0}
.sec-tag{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.sec-tag::before{content:"";width:28px;height:1px;background:var(--green)}
.sec h2{font-size:clamp(30px,4.4vw,54px);font-weight:700;margin-bottom:24px;max-width:880px}
.reveal{opacity:0;transform:translateY(38px);transition:.9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- IDEA ---------- */
.idea{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.idea-lead{font-size:clamp(26px,3.6vw,46px);font-family:'Unbounded';font-weight:600;line-height:1.18;max-width:1000px;margin-bottom:70px}
.idea-lead .mut2{color:#4f5350}
.map{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.map .card{border:1px solid var(--line);border-radius:18px;padding:34px 30px;background:var(--surface);transition:.4s;position:relative;overflow:hidden}
.map .card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--cardc,var(--mut));opacity:.7}
.map .card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.16)}
.map .card .nm{font-family:'Unbounded';font-weight:700;font-size:24px;margin-bottom:6px}
.map .card .kw{font-size:14px;color:var(--mut);margin-bottom:18px}
.map .card .ds{font-size:15px;line-height:1.55}
.map .card.us{background:linear-gradient(160deg,rgba(63,174,90,.12),var(--surface));border-color:rgba(63,174,90,.3)}
.map .card.us .nm{color:var(--green)}
@media(max-width:860px){.map{grid-template-columns:1fr}}

/* ---------- CATALOG ---------- */
.catalog{background:var(--bg2);border-top:1px solid var(--line)}
.cat-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:44px}
.cat-prods{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.prod{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);transition:.45s}
.prod:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.16)}
.prod .vis{height:280px;display:flex;align-items:flex-end;justify-content:center;position:relative;background:linear-gradient(170deg,var(--pc,#222),#0c0d0c);overflow:hidden}
.prod .vis img{height:255px;object-fit:contain;filter:drop-shadow(0 14px 26px rgba(0,0,0,.5));transition:.45s}
.prod:hover .vis img{transform:translateY(-6px) scale(1.03)}
.prod .meta{padding:18px 18px 22px}
.prod .meta .fl{font-family:'Unbounded';font-weight:700;font-size:17px}
.prod .meta .ty{font-size:12px;color:var(--mut);margin-top:3px;text-transform:uppercase;letter-spacing:.05em}
.prod .meta .tags{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.prod .meta .tags span{font-size:11px;border:1px solid var(--line);padding:4px 9px;border-radius:100px;color:var(--mut)}
@media(max-width:1100px){.cat-prods{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.cat-prods{grid-template-columns:repeat(2,1fr)}.prod .vis{height:230px}.prod .vis img{height:205px}}

/* блок «Скоро» */
.soon{margin-top:60px}
.soon h3{font-family:'Unbounded';font-size:20px;margin-bottom:8px}
.soon .lead{color:var(--mut);margin-bottom:28px;max-width:600px}
.soon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.soon .s{border:1px dashed var(--line);border-radius:16px;padding:26px 24px;position:relative;transition:.4s}
.soon .s:hover{border-color:rgba(63,174,90,.4);background:rgba(63,174,90,.04)}
.soon .s .badge{position:absolute;top:18px;right:18px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);border:1px solid rgba(63,174,90,.4);border-radius:100px;padding:3px 9px}
.soon .s .ic{font-size:26px;margin-bottom:14px}
.soon .s .nm{font-family:'Unbounded';font-weight:600;font-size:17px;margin-bottom:4px}
.soon .s .ds{font-size:13px;color:var(--mut)}
@media(max-width:860px){.soon-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- BRAND STORY ---------- */
.brandstory{border-top:1px solid var(--line)}
.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.bs-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bs-photos .ph{border-radius:18px;overflow:hidden;background:linear-gradient(170deg,#1c1f1e,#0c0d0c);display:flex;align-items:flex-end;justify-content:center;height:360px;border:1px solid var(--line)}
.bs-photos .ph:nth-child(2){margin-top:38px}
.bs-photos .ph img{height:330px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.5))}
.bs-copy .traits{margin-top:30px;display:flex;flex-direction:column;gap:2px}
.bs-copy .tr{padding:18px 0;border-bottom:1px solid var(--line)}
.bs-copy .tr:last-child{border-bottom:none}
.bs-copy .tr b{font-family:'Unbounded';font-weight:600;font-size:17px;display:block;margin-bottom:3px}
.bs-copy .tr span{color:var(--mut);font-size:14px}
@media(max-width:860px){.bs-grid{grid-template-columns:1fr;gap:40px}.bs-photos{order:-1}}

/* ---------- AUDIENCE ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}
.aud .a{border:1px solid var(--line);border-radius:16px;padding:30px 26px;background:var(--bg2);transition:.4s}
.aud .a:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.16)}
.aud .a .ic{font-size:30px;margin-bottom:18px}
.aud .a h3{font-family:'Manrope';font-size:19px;font-weight:700;margin-bottom:6px}
.aud .a p{color:var(--mut);font-size:14px}
.aud-note{margin-top:34px;padding:26px 30px;border-radius:16px;background:linear-gradient(160deg,rgba(63,174,90,.1),var(--surface));border:1px solid rgba(63,174,90,.22);font-size:18px}
.aud-note b{color:var(--green)}
@media(max-width:860px){.aud-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- MECHANIC ---------- */
.mech{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow{display:flex;align-items:stretch;margin:50px 0 40px;flex-wrap:wrap}
.flow .step{flex:1;min-width:200px;padding:32px 28px;border:1px solid var(--line);position:relative;background:var(--surface)}
.flow .step:not(:last-child){border-right:none}
.flow .step:first-child{border-radius:16px 0 0 16px}
.flow .step:last-child{border-radius:0 16px 16px 0}
.flow .step .n{font-family:'Unbounded';font-size:13px;color:var(--green);margin-bottom:14px}
.flow .step h3{font-family:'Manrope';font-size:18px;font-weight:700;margin-bottom:6px}
.flow .step p{font-size:14px;color:var(--mut)}
.flow .step .arr{position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:3;width:22px;height:22px;background:var(--bg2);border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--green)}
.mech-quote{font-family:'Unbounded';font-size:clamp(22px,3vw,34px);font-weight:600;max-width:820px;line-height:1.25}
@media(max-width:860px){.flow{flex-direction:column}.flow .step{border-right:1px solid var(--line)!important;border-radius:0!important}.flow .step:first-child{border-radius:16px 16px 0 0!important}.flow .step:last-child{border-radius:0 0 16px 16px!important}.flow .step .arr{display:none}}

/* ---------- SUPPORT ---------- */
.sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.sup .s{border:1px solid var(--line);border-radius:18px;padding:34px 30px;background:var(--bg2);transition:.4s}
.sup .s:hover{border-color:rgba(63,174,90,.3);transform:translateY(-6px)}
.sup .s .ic{width:48px;height:48px;border-radius:12px;background:rgba(63,174,90,.12);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;border:1px solid rgba(63,174,90,.2)}
.sup .s h3{font-family:'Manrope';font-size:20px;font-weight:700;margin-bottom:10px}
.sup .s p{color:var(--mut);font-size:15px;line-height:1.55}
@media(max-width:860px){.sup-grid{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.cta{padding:140px 0;text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:700px;height:700px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(63,174,90,.13),transparent 60%);filter:blur(20px)}
.cta h2{font-size:clamp(34px,5.5vw,66px);font-weight:800;margin-bottom:24px;position:relative}
.cta p{font-size:19px;color:var(--mut);max-width:560px;margin:0 auto 38px;position:relative}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:48px 0 40px}
.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.foot-links{display:flex;gap:24px}
.foot-links a{color:var(--mut);text-decoration:none;font-size:14px;transition:.25s}
.foot-links a:hover{color:var(--txt)}
.foot-cr{color:#4f5350;font-size:13px;margin-top:24px}
