/* Provod.Money — главная. Система: styles.css: бумага / чернила / кобальт, Oswald + Golos Text.
   Раскладка повторяет сайт: hero 60/40 с синей плитой справа, белые карточки с острыми углами, кнопки-пилюли.
   Адаптив на container queries по ширине .site. */
:root{
  --paper:#F6F7F9;
  --ink:#101014;
  --blue:#2679F3;
  --blue-deep:#1B5FD6;
  --blue-soft:#E8F0FE;
  --white:#FFFFFF;
  --ink-70:rgba(16,16,20,.72);
  --ink-55:rgba(16,16,20,.58);
  --ink-12:rgba(16,16,20,.12);
  --ink-08:rgba(16,16,20,.08);
  --paper-70:rgba(246,247,249,.72);
  --paper-50:rgba(246,247,249,.50);
  --tether:#26A17B;
  --btc:#F7931A;
  --font-display:'Oswald', 'Arial Narrow', sans-serif;
  --font-text:'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box; margin:0; padding:0}
body{background:var(--paper); color:var(--ink); font-family:var(--font-text); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button,input,textarea{font:inherit; color:inherit}
button{border:none; background:none; cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px}
::selection{background:var(--blue); color:var(--white)}

/* ---------- сайт ---------- */
.site{container:site / inline-size; background:var(--paper); position:relative; overflow:hidden}
h1,h2{font-family:var(--font-display); font-weight:300; text-wrap:balance}
h1{font-size:clamp(2.6rem, 4.6vw, 5rem); line-height:.95; letter-spacing:-.03em}
h2{font-size:clamp(2.1rem, 4.2vw, 4.2rem); line-height:.95; letter-spacing:-.03em}
h3{font-family:var(--font-display); font-weight:400; font-size:26px; line-height:1.05; letter-spacing:-.02em}
p{max-width:62ch; text-wrap:pretty}
em{font-style:normal; color:var(--blue)}
.label{font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:.18em; line-height:1.75}
.label-ink{color:var(--ink-55)}
.wrap{max-width:1240px; margin:0 auto; padding-inline:clamp(20px, 4cqi, 48px)}
.lead{font-size:clamp(16px, 1.2cqi, 18px); line-height:1.65; color:var(--ink-70)}
.link-arrow{display:inline-flex; align-items:center; gap:10px; font-weight:500; font-size:15px; color:var(--blue)}
.link-arrow svg,.btn-arrow,.ic{fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.link-arrow svg{width:18px; height:18px; transition:transform .52s var(--ease)}
.link-arrow:hover svg{transform:translateX(5px)}
.sec-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap}
.sec-head h2{margin-top:18px}
.live-dot{width:8px; height:8px; border-radius:50%; background:var(--tether); animation:pulse 2.4s var(--ease) infinite; flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(38,161,123,.45)}70%{box-shadow:0 0 0 9px rgba(38,161,123,0)}100%{box-shadow:0 0 0 0 rgba(38,161,123,0)}}

/* кнопки как на сайте */
.btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; font-weight:500; font-size:15px; min-height:52px; padding:0 28px; white-space:nowrap}
.btn-sm{min-height:44px; padding:0 20px; font-size:14px}
.btn-lg{min-height:60px; padding:0 34px; font-size:16.5px}
.btn-fill{position:absolute; inset:0; transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease)}
.btn:hover .btn-fill,.btn:focus-visible .btn-fill{transform:scaleX(1)}
.btn-label,.btn-arrow,.btn .ic{position:relative; z-index:2; transition:color .32s var(--ease), transform .52s var(--ease)}
.btn-arrow{width:20px; height:20px; flex:none}
.btn:hover .btn-arrow{transform:translateX(4px)}
.btn .ic{width:19px; height:19px; flex:none}
.btn-ink{background:var(--ink); color:var(--white)} .btn-ink .btn-fill{background:var(--blue)}
.btn-blue{background:var(--blue); color:var(--white)} .btn-blue .btn-fill{background:var(--ink)}
.btn-ghost{color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink)} .btn-ghost .btn-fill{background:var(--ink)}
.btn-ghost:hover .btn-label,.btn-ghost:hover .ic,.btn-ghost:hover .btn-arrow{color:var(--white)}
.reassure{font-size:12.5px; color:var(--ink-55); line-height:1.5}

/* ---------- шапка ---------- */
.site-header{position:absolute; inset:0 0 auto; z-index:50}
.header-inner{max-width:1240px; margin:0 auto; padding:14px clamp(20px, 4cqi, 48px); display:flex; align-items:center; gap:32px}
.logo-img{height:40px; width:auto}
.nav-links{display:flex; gap:6px; margin-left:auto}
.nav-links a{font-size:14px; font-weight:500; color:var(--ink-70); padding:10px 14px; border-radius:999px; transition:color .32s, background .32s}
.nav-links a:hover{color:var(--white); background:var(--blue)}
.burger{display:none; width:44px; height:44px; margin-left:auto; align-items:center; justify-content:center}
.burger .ic{width:24px; height:24px}

/* ---------- HERO ---------- */
.hero{position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); min-height:860px}
.hero-left{position:relative; z-index:2; display:flex; align-items:flex-end; padding:270px clamp(24px, 4.5cqi, 72px) 64px}
.hero-content{max-width:640px; width:100%; min-width:0}
.hero-sub{margin-top:24px; max-width:50ch; font-size:clamp(15px, 1.2cqi, 18px); line-height:1.65; color:var(--ink-70)}

/* поле ввода в ИИ: «композер» */
.ask{margin-top:32px; position:relative; background:var(--white); color:var(--ink); box-shadow:0 30px 60px -34px rgba(11,45,92,.55), 0 0 0 1px var(--ink-08); transition:box-shadow .45s var(--ease)}
.ask:focus-within{box-shadow:0 30px 60px -30px rgba(38,121,243,.55), 0 0 0 2px var(--blue)}
.ask-head{display:flex; align-items:center; gap:12px; padding:16px 18px 4px}
.ask-ava{position:relative; width:36px; height:36px; border-radius:50%; background:var(--blue-soft); display:grid; place-items:center; flex:none}
.ask-ava img{width:22px}
.ask-ava .live-dot{position:absolute; right:-1px; bottom:-1px; width:10px; height:10px; box-shadow:0 0 0 2px var(--white)}
.ask-head b{display:block; font-size:14.5px; font-weight:500; line-height:1.25}
.ask-head small{display:block; font-size:12.5px; color:var(--ink-55); line-height:1.3}
.ask-field{position:relative; padding:4px 18px 0}
.ask textarea{display:block; width:100%; border:0; outline:0; resize:none; background:transparent; font-size:18px; line-height:1.45; padding:10px 0 6px; height:84px; color:var(--ink)}
.ask-ph{position:absolute; left:18px; right:18px; top:14px; font-size:18px; line-height:1.45; color:rgba(16,16,20,.38); pointer-events:none}
.ask-ph::after{content:""; display:inline-block; width:2px; height:1.1em; background:var(--blue); vertical-align:-3px; margin-left:2px; animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.ask textarea:not(:placeholder-shown) + .ask-ph,.ask textarea:focus + .ask-ph{display:none}
.ask-bar{display:flex; align-items:center; gap:12px; padding:8px 12px 12px 18px}
.ask-hint{font-size:12px; color:var(--ink-55); display:flex; align-items:center; gap:6px}
.ask-hint kbd{font:inherit; font-size:11px; padding:1px 6px; border-radius:4px; box-shadow:inset 0 0 0 1px var(--ink-12)}
.ask-send{margin-left:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:46px; padding:0 18px 0 22px; border-radius:999px; background:var(--blue); color:var(--white); font-weight:500; font-size:15px; transition:background .32s}
.ask-send:hover{background:var(--ink)}
.ask-send .ic{width:19px; height:19px; transition:transform .5s var(--ease)}
.ask-send:hover .ic{transform:translateX(3px)}
.quick{padding:14px 18px 16px; box-shadow:0 -1px 0 var(--ink-08)}
.quick > span{display:block; font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-55); margin-bottom:10px}
.quick-row{display:flex; gap:8px; flex-wrap:wrap}
.quick-row button{display:inline-flex; align-items:center; gap:8px; padding:8px 14px 8px 10px; border-radius:999px; background:var(--paper); font-size:13px; font-weight:500; color:var(--ink); transition:background .32s, color .32s, transform .5s var(--ease)}
.quick-row button i{width:24px; height:24px; border-radius:50%; background:var(--white); display:grid; place-items:center; color:var(--blue); flex:none; transition:background .32s, color .32s}
.quick-row button i .ic{width:14px; height:14px}
.quick-row button:hover{background:var(--ink); color:var(--white); transform:translateY(-1px)}
.quick-row button:hover i{background:var(--blue); color:var(--white)}
.ask-tg{display:flex; align-items:center; gap:10px; padding:12px 18px; background:var(--blue-soft); font-size:13px; color:var(--ink-70)}
.ask-tg .ic{width:16px; height:16px; color:var(--blue); flex:none}
.ask-tg a{color:var(--blue-deep); font-weight:500; margin-left:auto; white-space:nowrap}
.ask-tg a:hover{text-decoration:underline; text-underline-offset:3px}
.hero-cta{margin-top:22px; display:flex; align-items:center; gap:12px 18px; flex-wrap:wrap}

.hero-right{position:relative; z-index:2; background:var(--blue); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:110px clamp(24px, 4cqi, 64px) 84px; overflow:hidden}
.hero-routes{position:absolute; left:0; right:0; bottom:26px; z-index:3; text-align:center; color:var(--paper-70)}
.orbit{position:absolute; inset:0; pointer-events:none}
.fcoin{position:absolute; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:500; font-size:22px; box-shadow:0 20px 26px -14px rgba(6,36,78,.55), inset 0 -4px 7px rgba(0,0,0,.14), inset 0 3px 6px rgba(255,255,255,.28); animation:floaty 6.5s var(--ease) infinite}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-13px) rotate(3deg)}}
.fcoin-1{top:13%; left:6%; animation-delay:-1.2s}
.fcoin-2{top:10%; right:8%; width:44px; height:44px; font-size:19px; animation-delay:-3.4s}
.fcoin-3{bottom:17%; left:7%; width:40px; height:40px; font-size:17px; animation-delay:-2.1s}
.fcoin-4{bottom:13%; right:6%; width:48px; height:48px; font-size:20px; animation-delay:-4.5s}
.coin-rub{background:var(--ink); color:var(--paper)}
.coin-usdt{background:var(--tether); color:var(--white)}
.coin-btc{background:var(--btc); color:var(--ink)}
.coin-gel{background:var(--white); color:var(--blue)}
.coin-usd{background:var(--white); color:var(--ink)}
.coin-bank{background:var(--blue-soft); color:var(--blue)}

/* motion: окно ИИ-агента */
.agent-cap{position:relative; z-index:3; width:min(500px,100%); display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--paper-70); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500}
.scene-dots{display:flex; gap:6px; flex:none}
.scene-dots i{width:22px; height:3px; background:rgba(255,255,255,.3); position:relative; overflow:hidden}
.scene-dots i.on::after{content:""; position:absolute; inset:0; background:var(--white); transform-origin:left; animation:prog var(--dur,12s) linear forwards}
.scene-dots i.done{background:var(--white)}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.agent{position:relative; z-index:3; width:min(500px, 100%); background:var(--white); box-shadow:0 24px 60px -18px rgba(11,45,92,.5); display:flex; flex-direction:column; height:580px}
.agent-head{display:flex; align-items:center; gap:12px; padding:16px 20px; box-shadow:0 1px 0 var(--ink-08)}
.agent-head b{display:block; font-size:14.5px; font-weight:500; line-height:1.2}
.agent-head small{display:block; font-size:12px; color:var(--ink-55); line-height:1.35; transition:color .3s}
.agent-head small.busy{color:var(--blue)}
.agent-tag{margin-left:auto; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-55); font-weight:500; padding:4px 9px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--ink-12)}
.agent-body{flex:1; overflow:hidden; padding:18px 20px; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; position:relative}
.agent-body::before{content:""; position:absolute; inset:0 0 auto; height:56px; background:linear-gradient(var(--white), rgba(255,255,255,0)); z-index:2; pointer-events:none}
.msg{max-width:86%; font-size:14px; line-height:1.5; padding:11px 14px; animation:msgIn .55s var(--ease) both}
@keyframes msgIn{from{opacity:0; transform:translateY(12px); filter:blur(6px)}to{opacity:1; transform:none; filter:none}}
.msg-user{align-self:flex-end; background:var(--ink); color:var(--white); border-radius:16px 16px 4px 16px}
.msg-bot{align-self:flex-start; background:var(--paper); border-radius:16px 16px 16px 4px}
.typing{display:inline-flex; gap:4px; padding:14px 16px}
.typing i{width:7px; height:7px; border-radius:50%; background:var(--ink-55); animation:dot 1.1s infinite}
.typing i:nth-child(2){animation-delay:.15s} .typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.25; transform:none}30%{opacity:1; transform:translateY(-3px)}}
.checks{padding:12px 14px}
.checks > span{display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-55); font-weight:500; margin-bottom:8px}
.checks ul{display:grid; gap:8px}
.checks li{display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; font-size:13px; line-height:1.4; color:var(--ink-55); transition:color .4s}
.checks li i{width:18px; height:18px; border-radius:50%; box-shadow:inset 0 0 0 1.5px rgba(16,16,20,.2); display:grid; place-items:center; transition:all .4s var(--ease)}
.checks li i svg{width:11px; height:11px; opacity:0; stroke:var(--white); stroke-width:3; fill:none; stroke-linecap:round; stroke-linejoin:round}
.checks li b{font-weight:500; color:inherit}
.checks li.on{color:var(--ink)}
.checks li.on i{background:var(--blue); box-shadow:none}
.checks li.on i svg{opacity:1}
.checks li.run i{box-shadow:inset 0 0 0 2px var(--blue); animation:ring 1s linear infinite}
@keyframes ring{50%{box-shadow:inset 0 0 0 5px rgba(38,121,243,.25)}}
.answer{align-self:stretch; max-width:100%; background:var(--white); box-shadow:inset 0 0 0 1px var(--ink-12); border-radius:0; padding:0; display:grid}
.answer-top{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; background:var(--blue-soft)}
.answer-top b{font-size:13px; font-weight:500; color:var(--blue-deep)}
.answer-top span{font-size:11.5px; color:var(--ink-55)}
.answer-in{padding:14px; display:grid; gap:12px}
.answer p{font-size:13.5px; line-height:1.5}
.route{display:flex; align-items:center}
.route .coin{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-weight:500; font-size:15px; flex:none; animation:pop .5s var(--ease) both}
.route .coin.coin-usd{box-shadow:inset 0 0 0 1.5px var(--ink)}
.route .coin .ic{width:16px; height:16px}
.route .wire{flex:1; height:3px; background:var(--ink-12); position:relative; overflow:hidden; margin:0 4px}
.route .wire::after{content:""; position:absolute; inset:0; background:var(--blue); transform:scaleX(0); transform-origin:left; animation:wire .7s var(--ease) forwards}
.route .wire:nth-of-type(2)::after{animation-delay:.25s} .route .wire:nth-of-type(4)::after{animation-delay:.6s}
@keyframes wire{to{transform:scaleX(1)}}
@keyframes pop{from{transform:scale(.4); opacity:0}to{transform:none; opacity:1}}
.route-cap{display:flex; justify-content:space-between; font-size:11px; color:var(--ink-55); margin-top:6px; gap:8px}
.route-cap span:nth-child(2){text-align:center} .route-cap span:last-child{text-align:right}
.answer dl{display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:12.5px; line-height:1.4}
.answer dt{color:var(--ink-55)}
.answer dd{font-weight:500}
.doclist{display:grid; gap:6px; font-size:13px}
.doclist li{display:flex; gap:10px; align-items:center}
.doclist li span{width:22px; height:22px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-size:11.5px; font-weight:600; display:grid; place-items:center; flex:none}
.answer a{display:flex; justify-content:space-between; gap:10px; font-size:13px; font-weight:500; color:var(--blue); padding-top:10px; box-shadow:0 -1px 0 var(--ink-08)}
.answer .demo{font-size:11.5px; color:var(--ink-55)}
.agent-foot{display:flex; align-items:center; gap:10px; padding:12px 14px 12px 20px; box-shadow:0 -1px 0 var(--ink-08); font-size:13px; color:var(--ink-55)}
.agent-foot span{flex:1}
.agent-foot .btn{min-height:40px; padding:0 18px; font-size:13px}

/* провод PROVOD */
.hero-wire{position:absolute; left:0; right:0; top:92px; z-index:1; pointer-events:none}
.hero-wire svg{display:block; width:100%; height:auto; aspect-ratio:10/1}

/* ---------- статистика ---------- */
.stats{padding:56px 0 0}
.stats-head{display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; margin-bottom:22px}
.stats-row{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px}
.stat{background:var(--white); padding:26px 26px 30px}
.stat:nth-child(even){transform:translateY(14px)}
.stat b{display:block; font-family:var(--font-display); font-weight:300; font-size:clamp(38px, 4.4cqi, 64px); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.stat span{display:block; margin-top:8px; font-size:13px; color:var(--ink-55); line-height:1.45}

/* ---------- партнёры ---------- */
.partners{padding:104px 0 40px}
.partners .lead{margin-top:20px}
.arrows{display:flex; gap:8px}
.arrows button{width:52px; height:52px; border-radius:50%; box-shadow:inset 0 0 0 1px var(--ink); display:grid; place-items:center; transition:background .32s, color .32s}
.arrows button:hover{background:var(--ink); color:var(--white)}
.arrows button:disabled{opacity:.25; pointer-events:none}
.arrows .ic{width:20px; height:20px}
.p-track{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-top:36px; padding-bottom:6px; scroll-behavior:smooth; overscroll-behavior-x:contain}
.p-track::-webkit-scrollbar{display:none}
.pcard{flex:0 0 88%; scroll-snap-align:start; background:var(--white); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); min-width:0}
.pcard-photo{position:relative; min-height:100%; background:#E8EEF8; overflow:hidden}
.pcard-photo img.face{width:100%; height:100%; object-fit:cover; object-position:50% 22%; position:absolute; inset:0}
.pcard-photo img.agency{position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); width:46%; height:auto; mix-blend-mode:multiply}
.pcard-photo .city{position:absolute; left:16px; top:16px; z-index:2; background:var(--white); font-size:12px; font-weight:500; padding:5px 11px; border-radius:999px}
.pcard-photo .gm{position:absolute; left:16px; bottom:16px; z-index:2; background:var(--white); padding:8px 12px; display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:500; border-radius:999px; box-shadow:0 8px 20px -10px rgba(16,16,20,.35)}
.g{width:18px; height:18px; flex:none}
.pcard-body{padding:30px 32px; display:flex; flex-direction:column; gap:20px; min-width:0}
.pcard-who h3{font-size:44px; font-weight:300; line-height:.95; letter-spacing:-.03em}
.pcard-who p{margin-top:8px; font-size:14px; color:var(--ink-55)}
.pcard-who p b{color:var(--ink); font-weight:500}
.socials{display:flex; gap:8px; flex-wrap:wrap}
.socials a{display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--ink-12); font-size:13px; font-weight:500; transition:all .32s var(--ease)}
.socials a:hover{background:var(--ink); color:var(--white); box-shadow:inset 0 0 0 1px var(--ink)}
.socials .ic{width:16px; height:16px}
.quote{padding-left:20px; box-shadow:inset 2px 0 0 var(--blue)}
.quote .label{display:block; margin-bottom:6px}
.quote blockquote{font-size:15.5px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden}
.quote.is-open blockquote{-webkit-line-clamp:unset}
.quote button{margin-top:6px; font-size:13px; font-weight:500; color:var(--blue)}
.deal{background:var(--paper); padding:16px 18px; display:grid; gap:12px}
.deal-top{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:baseline}
.deal-top b{font-weight:500; font-size:15px}
.deal-nums{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.deal-nums b{display:block; font-family:var(--font-display); font-weight:300; font-size:30px; line-height:1; letter-spacing:-.01em; font-variant-numeric:tabular-nums}
.deal-nums small{display:block; margin-top:4px; font-size:12px; color:var(--ink-55); line-height:1.3}
.deal .link-arrow{font-size:14px}
.pcard-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto}
.p-dots{display:flex; justify-content:center; gap:8px; margin-top:22px}
.p-dots button{width:8px; height:8px; border-radius:50%; background:rgba(16,16,20,.2); transition:width .3s var(--ease), background .3s}
.p-dots button[aria-current="true"]{width:26px; border-radius:4px; background:var(--ink)}
.p-foot{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:20px}
.p-foot p{font-size:13px; color:var(--ink-55)}

/* ---------- офисы ---------- */
.offices{padding:40px 0 0}
.off-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:32px}
.office{background:var(--white); display:flex; flex-direction:column; min-width:0}
.map{position:relative; aspect-ratio:2/1; overflow:hidden; background:#EEF1F5}
.map > svg{position:absolute; inset:0; width:100%; height:100%}
.pin{position:absolute; left:50%; top:50%; transform:translate(-50%,-100%); display:grid; justify-items:center; animation:drop 1s var(--ease) both}
.pin-head{width:58px; height:58px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--blue); display:grid; place-items:center; box-shadow:0 14px 24px -10px rgba(11,45,92,.6)}
.pin-head span{transform:rotate(45deg); width:38px; height:38px; border-radius:50%; background:var(--white); display:grid; place-items:center}
.pin-head img{width:26px}
.pin::after{content:""; width:22px; height:7px; border-radius:50%; background:rgba(16,16,20,.2); margin-top:4px}
.pulse-ring{position:absolute; left:50%; top:50%; width:120px; height:120px; margin:-60px 0 0 -60px; border-radius:50%; background:rgba(38,121,243,.18); animation:ringOut 2.8s var(--ease) infinite}
@keyframes ringOut{from{transform:scale(.2); opacity:1}to{transform:scale(1.6); opacity:0}}
@keyframes drop{from{transform:translate(-50%,-160%); opacity:0}to{transform:translate(-50%,-100%); opacity:1}}
.map-chip{position:absolute; right:14px; top:14px; background:var(--white); border-radius:999px; padding:6px 12px; font-size:12px; font-weight:500; display:flex; gap:6px; align-items:center}
.map-chip .g{width:15px; height:15px}
.office-body{padding:20px 24px 22px; display:grid; gap:12px}
.office-body h3{font-size:30px; font-weight:300; letter-spacing:-.025em}
.office-body p{font-size:14px; color:var(--ink-70)}
.office-cta{display:flex; gap:10px; flex-wrap:wrap}
.office-cta .btn{min-height:46px; padding:0 20px; font-size:14px}

/* ---------- доверие ---------- */
.trust{padding:72px 0 0}
.trust-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px, 5cqi, 80px); align-items:start}
.trust-copy h2{margin-top:18px}
.trust-copy .lead{margin-top:24px}
.trust-copy .link-arrow{margin-top:28px}
.facts{display:grid; gap:12px}
.fact{background:var(--white); padding:22px 24px; display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:start}
.fact-ic{width:44px; height:44px; border-radius:50%; background:var(--blue); color:var(--white); display:grid; place-items:center}
.fact-ic .ic{width:20px; height:20px; stroke-width:2.2}
.fact b{display:block; font-family:var(--font-display); font-weight:400; font-size:22px; line-height:1.1; letter-spacing:-.015em}
.fact p{margin-top:6px; font-size:14.5px; color:var(--ink-70)}
.fact .link-arrow{margin-top:10px; font-size:14px}
.calc-cta{margin-top:32px; display:flex; flex-direction:column; align-items:flex-start; gap:12px}

/* ---------- кейсы ---------- */
.cases{padding:96px 0 0}
.c-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:36px}
.case{background:var(--white); padding:24px 24px 22px; display:flex; flex-direction:column; gap:14px; min-width:0; transition:transform .6s var(--ease), box-shadow .4s}
.case:hover{transform:translateY(-4px); box-shadow:0 24px 40px -28px rgba(11,45,92,.45)}
.case-route{display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--blue)}
.case-route .ic{width:15px; height:15px}
.case-sum{font-family:var(--font-display); font-weight:300; font-size:48px; line-height:.95; letter-spacing:-.025em; font-variant-numeric:tabular-nums}
.case h3{font-family:var(--font-text); font-weight:500; font-size:16.5px; line-height:1.35; letter-spacing:0}
.case-facts{display:flex; gap:6px; flex-wrap:wrap}
.case-facts span{font-size:12px; padding:4px 10px; border-radius:999px; background:var(--paper); color:var(--ink-70)}
.case .link-arrow{margin-top:auto; padding-top:14px; box-shadow:0 -1px 0 var(--ink-08); font-size:14px}
.c-foot{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:22px}
.c-foot p{font-size:13px; color:var(--ink-55)}

/* ---------- полезно знать ---------- */
.know{padding:96px 0 104px}
.know-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px,5cqi,80px); margin-top:36px; align-items:start}
.know-top{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px}
.tabs{display:flex; gap:8px; flex-wrap:wrap}
.tabs button{padding:9px 16px; border-radius:999px; font-size:14px; font-weight:500; box-shadow:inset 0 0 0 1px var(--ink-12); color:var(--ink-70)}
.tabs button[aria-selected="true"]{background:var(--ink); color:var(--white); box-shadow:none}
.tag-note{font-size:12.5px; color:var(--ink-55)}
.tag-note b{color:var(--blue-deep); font-weight:500}
.k-list{border-top:1px solid rgba(0,0,0,.1)}
.k-list li{border-bottom:1px solid rgba(0,0,0,.1)}
.k-list a{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:18px 0; transition:color .3s}
.k-list a:hover{color:var(--blue)}
.k-list a:hover .k-go{transform:translateX(5px); color:var(--blue)}
.k-tags{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px}
.k-tags span{font-size:12px; font-weight:500; color:var(--blue-deep); background:var(--blue-soft); padding:2px 9px; border-radius:999px}
.k-tags span.kind{background:transparent; color:var(--ink-55); box-shadow:inset 0 0 0 1px var(--ink-12)}
.k-list b{display:block; font-weight:500; font-size:17px; line-height:1.35}
.k-list small{display:block; font-size:13px; color:var(--ink-55); margin-top:3px}
.k-go{width:20px; height:20px; transition:transform .5s var(--ease)}
.news-col h3{font-family:var(--font-text); font-weight:500; font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-55); margin:6px 0 16px}
.news-latest{border-top:1px solid rgba(0,0,0,.1)}
.news-latest li{border-bottom:1px solid rgba(0,0,0,.1)}
.news-latest a{display:block; padding:16px 0; font-size:16px; line-height:1.4; transition:color .2s}
.news-latest a:hover{color:var(--blue)}
.news-latest time{display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; opacity:.55; margin-bottom:4px}
.news-col .link-arrow,.know-grid > div > .link-arrow{margin-top:22px}

/* встроенный чат в форме */
.ask-head > .live-dot{margin:0 4px 0 2px}
.ask-chat{margin:10px 18px 0; padding:14px; background:var(--paper); display:flex; flex-direction:column; gap:10px; max-height:340px; overflow-y:auto}
.ask-chat[hidden]{display:none}
.ask-chat .msg{max-width:90%}
.ask-chat .msg-bot{background:var(--white)}
.ask-chat .answer{background:var(--white); max-width:100%}
.ask.has-chat textarea{height:56px}
.ask.has-chat .ask-ph{display:none}
/* рендер ответа ассистента в чате (Markdown-подмножество) */
.ask-chat .msg p{margin:0 0 8px}
.ask-chat .msg p:last-child{margin-bottom:0}
.ask-chat .msg b{font-weight:500}
.ask-chat .msg ul{margin:6px 0 8px; padding-left:20px; display:grid; gap:4px; list-style:disc}
.ask-chat .msg a{color:var(--blue-deep); text-decoration:underline; text-underline-offset:3px; word-break:break-word}
.ask-chat .msg-typing{padding:0; align-self:flex-start; background:var(--white); border-radius:16px 16px 16px 4px}
.ask-chat .cta{display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; max-width:100%}
.ask-chat .cta a{display:inline-flex; align-items:center; height:36px; padding:0 14px; border-radius:999px; background:var(--blue); color:var(--white); font-size:13px; font-weight:500; text-decoration:none; white-space:nowrap}
.ask-chat .cta a.ghost{background:var(--white); color:var(--blue-deep); box-shadow:inset 0 0 0 1px var(--ink-12)}
.ask-chat .cta a:hover{background:var(--ink); color:var(--white)}

/* ---------- финальный CTA + футер ---------- */
.footer{background:var(--ink); color:var(--paper); padding:0 0 40px}
.final{position:relative; background:var(--blue); color:var(--white); overflow:hidden}
.final-in{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5cqi,72px); align-items:center; padding-block:88px}
.final h2{margin-top:18px}
.final p.sub{margin-top:20px; color:rgba(255,255,255,.82); max-width:44ch; font-size:17px}
.final-who{display:flex; gap:24px; margin-top:30px; flex-wrap:wrap}
.final-who > div{display:flex; align-items:center; gap:10px; font-size:14px}
.final-who i{width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.16); display:grid; place-items:center; flex:none}
.final-who i img{width:22px; filter:brightness(0) invert(1)}
.final-who i .ic{width:19px; height:19px}
.final-who b{display:block; font-weight:500; line-height:1.2}
.final-who small{display:block; font-size:12.5px; color:rgba(255,255,255,.7); line-height:1.3}
.ways{display:grid; gap:10px}
.way{display:grid; grid-template-columns:48px minmax(0,1fr) 22px; gap:16px; align-items:center; padding:18px 20px; background:var(--white); color:var(--ink); box-shadow:0 30px 50px -36px rgba(6,30,70,.8); transition:transform .5s var(--ease), background .32s, color .32s}
.way:hover{transform:translateX(6px); background:var(--ink); color:var(--white)}
.way-ic{width:48px; height:48px; border-radius:50%; background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; transition:background .32s, color .32s}
.way:hover .way-ic{background:var(--blue); color:var(--white)}
.way-ic .ic{width:22px; height:22px}
.way-t b{display:block; font-family:var(--font-display); font-weight:400; font-size:24px; line-height:1.1; letter-spacing:-.015em}
.way-t small{display:block; font-size:13.5px; color:var(--ink-55); margin-top:2px; transition:color .32s}
.way:hover .way-t small{color:var(--paper-70)}
.way-go{width:20px; height:20px}
.way.is-soon{cursor:default; grid-template-columns:48px minmax(0,1fr) auto}
.way.is-soon:hover{transform:none; background:var(--white); color:var(--ink)}
.way.is-soon:hover .way-ic{background:var(--blue-soft); color:var(--blue)}
.way.is-soon:hover .way-t small{color:var(--ink-55)}
.soon{font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-deep); background:var(--blue-soft); padding:4px 9px; border-radius:999px}
.final-wire{position:absolute; left:-5%; right:-5%; bottom:-30px; z-index:1; opacity:.16; pointer-events:none}
.final-wire svg{width:100%; height:160px; display:block}
.foot-main{display:grid; grid-template-columns:1.3fr .8fr .8fr 1fr; gap:40px; padding-top:72px}
.footer-brand{display:flex; flex-direction:column; gap:16px; align-items:flex-start}
.footer-logo{height:42px; width:auto}
.footer-tag{font-family:var(--font-display); font-weight:300; font-size:24px; letter-spacing:-.01em; line-height:1.1}
.footer-desc{font-size:13.5px; line-height:1.65; color:var(--paper-50); max-width:52ch}
.foot-social{display:flex; gap:8px; margin-top:4px}
.foot-social a{width:42px; height:42px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(246,247,249,.2); display:grid; place-items:center; color:var(--paper-70); transition:all .32s}
.foot-social a:hover{background:var(--blue); color:var(--white); box-shadow:none}
.foot-social .ic{width:18px; height:18px}
.footer-col h3{font-family:var(--font-text); font-weight:500; font-size:12.5px; text-transform:uppercase; letter-spacing:.16em; color:var(--paper-50); margin-bottom:16px}
.footer-col > a{display:block; padding:6px 0; font-size:15px; color:var(--paper-70); transition:color .32s, transform .5s var(--ease)}
.footer-col > a:hover{color:var(--white); transform:translateX(4px)}
.contact{display:grid; gap:14px}
.contact a{display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start}
.contact .ic{width:18px; height:18px; margin-top:3px; color:var(--blue)}
.contact b{display:block; color:var(--paper); font-weight:500; font-size:15px; line-height:1.3}
.contact small{display:block; color:var(--paper-50); font-size:12.5px}
.contact a:hover b{color:var(--white); text-decoration:underline; text-underline-offset:3px}
.foot-bottom{margin-top:56px; padding-top:24px; box-shadow:0 -1px 0 rgba(246,247,249,.12); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:flex-start}
.foot-bottom p{font-size:12.5px; line-height:1.6; color:rgba(246,247,249,.45); max-width:70ch}
.foot-legal{display:flex; gap:6px 20px; flex-wrap:wrap; font-size:12.5px}
.foot-legal a{color:var(--paper-70)}
.foot-legal a:hover{color:var(--white)}
.to-top{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--paper-70)}
.to-top:hover{color:var(--white)}
.to-top .ic{width:16px; height:16px}

/* ---------- адаптив (по ширине «сайта», работает и в режиме «Телефон») ---------- */
@container site (max-width:1180px){
  .hero{grid-template-columns:minmax(0,1fr); min-height:0}
  .hero-left{padding-top:150px; padding-bottom:56px}
  .hero-content{max-width:720px}
  .hero-right{padding:56px 20px 72px}
  .hero-wire{display:none}
  .stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(even){transform:none}
  .pcard{flex-basis:92%}
  .trust-grid,.know-grid,.final-in{grid-template-columns:minmax(0,1fr)}
  .c-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@container site (max-width:860px){
  .nav-links,.header-inner > .btn{display:none}
  .burger{display:flex}
  .header-inner{padding-block:12px}
  .logo-img{height:34px}
  .hero-left{padding:108px 20px 40px}
  h1{font-size:clamp(2.4rem, 10.5cqi, 3.6rem)}
  .hero-sub{margin-top:16px; font-size:15.5px}
  .ask{margin-top:22px}
  .ask textarea{font-size:16px; height:96px}
  .ask-ph{font-size:16px}
  .ask-hint{display:none}
  .ask-send{flex:1}
  .quick-row{flex-wrap:nowrap; overflow-x:auto; margin-inline:-18px; padding-inline:18px; scrollbar-width:none}
  .quick-row::-webkit-scrollbar{display:none}
  .quick-row button{flex:none}
  .ask-tg{flex-wrap:wrap}
  .ask-tg a{margin-left:26px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-right{padding:36px 16px 60px}
  .agent{height:560px}
  .fcoin{display:none}
  .stats{padding-top:40px}
  .stat{padding:20px 18px 22px}
  .partners{padding:72px 0 32px}
  .sec-head .arrows{display:none}
  .p-track{gap:10px; margin-top:28px; margin-inline:-20px; padding-inline:20px; scroll-padding-inline:20px}
  .pcard{flex-basis:90%; grid-template-columns:1fr}
  .pcard-photo{height:300px}
  .pcard-photo img.agency{width:40%}
  .pcard-body{padding:20px 18px 22px; gap:16px}
  .pcard-who h3{font-size:36px}
  .quote blockquote{font-size:14.5px; -webkit-line-clamp:3}
  .deal{padding:14px}
  .deal-nums{gap:8px}
  .deal-nums b{font-size:21px; white-space:nowrap}
  .pcard-cta .btn{flex:1 1 100%}
  .socials a span{display:none}
  .socials a{padding:10px}
  .socials .ic{width:18px; height:18px}
  .offices{padding-top:32px}
  .off-grid{grid-template-columns:1fr; margin-top:24px}
  .office-cta .btn{flex:1 1 auto}
  .trust{padding-top:56px}
  .fact{padding:18px; grid-template-columns:38px minmax(0,1fr); gap:14px}
  .fact-ic{width:38px; height:38px}
  .cases{padding-top:72px}
  .c-grid{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin-inline:-20px; padding:0 20px 6px; scroll-padding-inline:20px; scrollbar-width:none}
  .c-grid::-webkit-scrollbar{display:none}
  .case{flex:0 0 84%; scroll-snap-align:start}
  .case-sum{font-size:40px}
  .know{padding:72px 0}
  .k-go{display:none}
  .k-list a{grid-template-columns:1fr}
  .k-list b{font-size:15.5px}
  .final-in{padding-block:64px}
  .foot-main{grid-template-columns:1fr; gap:32px; padding-top:56px}
  .foot-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important; transition-duration:.01ms!important}}

/* мобильное меню */
.mobile-menu{position:fixed; inset:0; z-index:49; background:var(--paper); padding:110px 24px 32px; display:flex; flex-direction:column; gap:4px; transform:translateY(-102%); transition:transform .5s var(--ease); visibility:hidden}
.mobile-menu.open{transform:none; visibility:visible}
.mobile-menu a{font-family:var(--font-display); font-weight:300; font-size:34px; letter-spacing:-.02em; padding:12px 0; border-bottom:1px solid var(--ink-08)}
.mobile-menu .btn{margin-top:28px; border-bottom:none; font-family:var(--font-text); font-size:16px}
.burger{position:relative; z-index:51}
.burger .ic-close{display:none}
.burger[aria-expanded="true"] .ic-open{display:none}
.burger[aria-expanded="true"] .ic-close{display:block}
.ask-note{display:none; padding:12px 18px; background:#E8F6EF; color:#16704F; font-size:13.5px; line-height:1.45}
.ask-note.show{display:block}
.ava-initial{position:absolute; inset:0; display:grid; place-items:center; font-family:var(--font-display); font-weight:300; font-size:150px; color:var(--blue); letter-spacing:-.04em}
