/* =========================================================
   AKTAWA homepage
   Radius system: panels 18px, small chips 10px, buttons pill.
   One accent (brand red) for actions, brand teal as structural colour.
   ========================================================= */

/* ---------- fonts ---------- */
@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/onest-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/onest-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/onest-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/onest-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}
@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/onest-cyrillic-600.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/onest-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}
@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/onest-cyrillic-700.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/onest-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}
@font-face{font-family:Onest;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/onest-cyrillic-800.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/onest-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jbmono-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jbmono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jbmono-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jbmono-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122}

/* ---------- tokens ---------- */
:root{
  --ink:#06141a;
  --ink-2:#0a1f27;
  --ink-3:#0e2a33;
  --panel:rgba(255,255,255,.045);
  --panel-2:rgba(255,255,255,.07);
  --line:rgba(170,212,222,.16);
  --line-soft:rgba(170,212,222,.09);
  --text:#e9f2f4;
  --dim:#94aab2;
  --dim-2:#7a949d;
  --brand:#1fa0b8;
  --brand-deep:#006579;
  --accent:#eb283f;
  --accent-2:#ff4157;
  --on-accent:#fff;
  --r-panel:18px;
  --r-chip:10px;
  --wrap:1280px;
  --gut:clamp(16px,4vw,40px);
  --sp-sec:clamp(72px,9vw,140px);
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 30px 80px rgba(0,10,14,.45);
  color-scheme:dark;
}


*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:Onest,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(15.5px,.42vw + 14.6px,17.5px);line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.025em;line-height:1.06}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.kicker{display:block;color:var(--brand);margin-bottom:18px}
.h2{font-size:clamp(1.9rem,3.4vw,3.15rem);font-weight:800;letter-spacing:-.032em}
.h3{font-size:clamp(1.15rem,1.4vw,1.4rem);font-weight:700;letter-spacing:-.02em}
.lede{color:var(--dim);font-size:clamp(1rem,.55vw + .86rem,1.2rem);max-width:62ch;margin-top:20px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:#fff;padding:12px 18px;border-radius:0 0 var(--r-chip) 0}
.skip:focus{left:0}

/* ---------- buttons ---------- */
.btn{
  --bg:transparent;--fg:var(--text);--bd:var(--line);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 24px;border-radius:999px;border:1px solid var(--bd);background:var(--bg);color:var(--fg);
  font-weight:600;font-size:.95rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:transform .2s var(--ease),background-color .25s,border-color .25s,box-shadow .3s;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--lg{padding:16px 30px;font-size:1rem}
.btn--primary{--bg:var(--accent);--fg:#fff;--bd:transparent;box-shadow:0 12px 30px rgba(235,40,63,.28)}
.btn--primary:hover{--bg:var(--accent-2);box-shadow:0 16px 40px rgba(235,40,63,.36)}
.btn--ghost{--bd:var(--line);--bg:transparent}
.btn--ghost:hover{--bd:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}
.btn--glass{--bg:rgba(255,255,255,.1);--fg:#fff;--bd:rgba(255,255,255,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn--glass:hover{--bg:rgba(255,255,255,.18)}

.link-arrow{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:600;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .25s,border-color .25s,gap .25s var(--ease)}
.link-arrow::after{content:'';width:16px;height:9px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4.5h14M10.5 1L14 4.5 10.5 8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4.5h14M10.5 1L14 4.5 10.5 8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center/contain}
.link-arrow:hover{color:var(--accent);border-color:var(--accent);gap:14px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
[data-stagger] > *{transition-delay:calc(var(--i,0) * 70ms)}

/* ---------- header ---------- */
.head{position:fixed;inset:0 0 auto;z-index:60;transition:background-color .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.head.is-solid{background:color-mix(in srgb,var(--ink) 86%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:var(--line-soft)}
.head__in{max-width:var(--wrap);margin-inline:auto;padding:0 var(--gut);height:74px;display:flex;align-items:center;gap:28px}
.head__logo{flex:0 0 auto}
.head__logo img{width:146px;height:auto}
.on-light{display:none}

.head__nav{display:flex;gap:26px;margin-inline:auto;font-size:.92rem;font-weight:500}
.head__nav a{text-decoration:none;color:var(--text);opacity:.82;position:relative;padding:6px 0;transition:opacity .25s}
.head__nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .35s var(--ease)}
.head__nav a:hover{opacity:1}
.head__nav a:hover::after{right:0}
.head__side{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.head__phone{font-family:'JetBrains Mono',monospace;font-size:.82rem;letter-spacing:.02em;text-decoration:none;opacity:.9;transition:color .25s}
.head__phone:hover{color:var(--accent-2)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-chip);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:18px;height:1.5px;background:currentColor;transition:transform .3s var(--ease),opacity .3s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.2px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.2px) rotate(-45deg)}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:55;background:color-mix(in srgb,var(--ink) 96%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);opacity:0;transition:opacity .35s var(--ease)}
.menu.is-on{opacity:1}
.menu__in{height:100%;display:flex;flex-direction:column;justify-content:center;gap:32px;padding:96px var(--gut) 40px}
.menu__nav{display:flex;flex-direction:column;gap:6px}
.menu__nav a{text-decoration:none;font-size:clamp(1.5rem,7vw,2.2rem);font-weight:700;letter-spacing:-.03em;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.menu__foot{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__video{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero__video.is-ready{opacity:1}
.hero__media{background:#04121a center/cover no-repeat}
.hero__scrim{position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(3,14,19,.93) 0%,rgba(3,14,19,.76) 34%,rgba(3,14,19,.28) 66%,rgba(3,14,19,.55) 100%),
    linear-gradient(to top,rgba(3,14,19,.95) 0%,rgba(3,14,19,0) 42%),
    radial-gradient(120% 90% at 20% 90%,rgba(0,101,121,.42),transparent 62%);
}
.hero__in{position:relative;width:100%;max-width:var(--wrap);margin-inline:auto;padding:0 var(--gut) clamp(64px,11vh,128px)}
.hero__title{
  font-size:clamp(2.6rem,6.6vw,5.5rem);font-weight:800;letter-spacing:-.04em;line-height:.98;color:#fff;
  max-width:16ch;text-wrap:balance;
}
.hero__sub{margin-top:26px;max-width:58ch;color:rgba(255,255,255,.82);font-size:clamp(1.02rem,.6vw + .88rem,1.28rem);line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero__edge{position:absolute;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.12);background:linear-gradient(to top,rgba(3,14,19,.7),transparent)}
.hero__edge span{display:block;max-width:var(--wrap);margin-inline:auto;padding:14px var(--gut);color:rgba(255,255,255,.62);font-size:.62rem;letter-spacing:.24em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero__title span.is-line{display:block;overflow:hidden}
.hero .anim-line{display:block;transform:translateY(105%);opacity:0}
.hero.is-lit .anim-line{transform:none;opacity:1;transition:transform 1.05s var(--ease),opacity .9s ease}
.hero.is-lit .anim-line:nth-child(2){transition-delay:.09s}
.hero__sub,.hero__cta{opacity:0;transform:translateY(16px);transition:opacity .8s ease .35s,transform .8s var(--ease) .35s}
.hero.is-lit .hero__sub,.hero.is-lit .hero__cta{opacity:1;transform:none}
.hero__cta{transition-delay:.45s}

/* ---------- partners ---------- */
.partners{padding:clamp(40px,5vw,64px) 0;border-bottom:1px solid var(--line-soft);background:var(--ink)}
.partners__lead{text-align:center;color:var(--dim);font-size:.94rem;padding-inline:var(--gut);margin-bottom:26px}
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__row{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px);width:max-content;animation:slide 52s linear infinite}
.marquee:hover .marquee__row{animation-play-state:paused}
.marquee img{
  height:clamp(58px,4.6vw,68px);width:auto;padding:14px 22px;border-radius:var(--r-chip);
  background:#fff;opacity:.86;transition:opacity .3s,transform .3s var(--ease);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.marquee img:hover{opacity:1;transform:translateY(-2px)}

@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- platform ---------- */
.platform{padding:var(--sp-sec) 0;background:var(--ink)}
.platform__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:start}
.platform__head .h2{text-wrap:balance}
.platform__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px}
.steps{display:grid;gap:2px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-panel);overflow:hidden}
.steps li{background:var(--ink);padding:clamp(22px,2.4vw,30px);position:relative;transition:background-color .35s}
.steps li:hover{background:var(--ink-2)}
.steps__no{color:var(--brand);display:block;margin-bottom:12px}
.steps h3{font-size:1.12rem;font-weight:700;margin-bottom:8px}
.steps p{color:var(--dim);font-size:.96rem}

/* ---------- journey ---------- */
.journey{position:relative;background:#031016}
.journey__viewport{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}
.journey__media{position:absolute;inset:0;z-index:-2;background:#031016}
.jv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease,transform 8s linear}
.jv.is-on{opacity:1}
.journey__scrim{position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(3,13,18,.92) 0%,rgba(3,13,18,.74) 38%,rgba(3,13,18,.2) 72%,rgba(3,13,18,.5) 100%),
    linear-gradient(to top,rgba(3,13,18,.9),transparent 46%);
}
.journey__ui{position:relative;height:100%;display:flex;align-items:center}
.journey__texts{position:relative;width:min(640px,100%);min-height:min(56vh,440px)}
.jt{position:absolute;inset:0;opacity:0;transform:translateY(22px);pointer-events:none;color:#fff;visibility:hidden;
  transition:opacity .22s ease,transform .5s var(--ease),visibility 0s linear .24s}
.jt.is-on{opacity:1;transform:none;pointer-events:auto;visibility:visible;
  transition:opacity .5s ease .1s,transform .8s var(--ease) .06s,visibility 0s}
.jt__kicker{color:#7fd3e4;display:block;margin-bottom:18px}
.jt__title{font-size:clamp(2rem,4.4vw,3.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
.jt__body{margin-top:20px;max-width:52ch;color:rgba(255,255,255,.82);font-size:clamp(1rem,.5vw + .9rem,1.15rem)}
.jt__facts{margin-top:28px;display:grid;gap:10px;max-width:50ch}
.jt__facts li{position:relative;padding-left:26px;color:rgba(255,255,255,.72);font-size:.95rem}
.jt__facts li::before{content:'';position:absolute;left:0;top:.62em;width:12px;height:1px;background:var(--accent-2)}
.rail{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding-left:22px}
.rail__i{display:flex;align-items:baseline;gap:12px;background:none;border:0;padding:12px 0;cursor:pointer;color:rgba(255,255,255,.45);transition:color .3s}
.rail__i:hover{color:rgba(255,255,255,.8)}
.rail__i.is-on{color:#fff}
.rail__n{font-size:.62rem;opacity:.7}
.rail__t{font-weight:600;font-size:1rem;letter-spacing:-.01em}
.rail__bar{position:absolute;left:0;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.2);overflow:hidden}
.rail__bar i{position:absolute;inset:0 auto 0 0;width:1px;height:100%;background:var(--accent-2);transform-origin:top;transform:scaleY(var(--p,0));transition:transform .5s var(--ease)}
.journey__track{position:relative;margin-top:-100svh}
.journey__step{height:100svh}

/* ---------- deal ---------- */
.deal{padding:var(--sp-sec) 0;background:var(--ink)}
.deal__head{max-width:60ch}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:clamp(40px,5vw,64px);background:var(--line-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow__i{background:var(--ink);padding:clamp(20px,2vw,28px) clamp(16px,1.6vw,24px);position:relative}
.flow__i::after{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.flow__i.is-in::after{transform:scaleX(1)}
.flow__i:nth-child(2)::after{transition-delay:.12s}
.flow__i:nth-child(3)::after{transition-delay:.24s}
.flow__i:nth-child(4)::after{transition-delay:.36s}
.flow__i:nth-child(5)::after{transition-delay:.48s}
.flow__n{color:var(--brand);display:block;margin-bottom:14px}
.flow__i h3{font-size:1.02rem;margin-bottom:8px}
.flow__i p{color:var(--dim);font-size:.9rem;line-height:1.5}
.deal__tools{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.tool{border:1px solid var(--line-soft);border-radius:var(--r-panel);padding:22px;background:var(--panel);transition:border-color .3s,transform .4s var(--ease)}
.tool:hover{border-color:var(--brand);transform:translateY(-3px)}
.tool h3{font-size:1rem;margin-bottom:6px}
.tool p{color:var(--dim);font-size:.9rem}
.tool--wide{grid-column:span 4;display:flex;gap:26px;align-items:baseline;background:linear-gradient(100deg,color-mix(in srgb,var(--brand-deep) 26%,transparent),transparent 65%)}
.tool--wide h3{white-space:nowrap}

/* ---------- roles ---------- */
.roles{padding:0 0 var(--sp-sec);background:var(--ink)}
.roles__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.5vw,32px)}
.role{border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(26px,3vw,44px);background:var(--panel);display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.role > .btn{margin-top:auto}
.role--alt{background:linear-gradient(160deg,color-mix(in srgb,var(--brand-deep) 22%,transparent),transparent 58%)}
.role__h{font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:800;letter-spacing:-.03em}
.role__lead{color:var(--dim)}
.ticks{display:grid;gap:12px}
.ticks li{position:relative;padding-left:30px;font-size:.98rem}
.ticks li::before{content:'';position:absolute;left:0;top:.42em;width:16px;height:10px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l4.5 4L15 1' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l4.5 4L15 1' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain}
.models{display:grid;gap:14px;width:100%}
.model{border:1px solid var(--line-soft);border-radius:var(--r-chip);padding:20px;background:var(--ink)}
.model .mono{color:var(--brand);display:block;margin-bottom:10px}
.model h3{font-size:1.05rem;margin-bottom:8px}
.model p{color:var(--dim);font-size:.93rem}

/* ---------- numbers ---------- */
.numbers{padding:var(--sp-sec) 0;background:var(--ink-2);border-block:1px solid var(--line-soft)}
.numbers__head{max-width:46ch}
.numbers__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);margin-top:clamp(34px,4vw,56px);border:1px solid var(--line-soft)}
.num{background:var(--ink-2);padding:clamp(22px,2.6vw,34px)}
.num__v{display:block;font-family:'JetBrains Mono',monospace;font-size:clamp(1.8rem,2.9vw,2.6rem);font-weight:500;letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.num__v i{font-style:normal;font-size:.5em;letter-spacing:0;margin-left:.34em;color:var(--dim);font-family:Onest,sans-serif;font-weight:600}
.num__v .dec{display:inline-block;margin:0 -.22em}
.num__l{display:block;margin-top:10px;color:var(--dim);font-size:.9rem;line-height:1.4}
.numbers__note{margin-top:26px;color:var(--dim-2);font-size:.86rem;max-width:80ch}

/* ---------- geography ---------- */
.geo{padding:var(--sp-sec) 0;background:var(--ink)}
.geo__head{max-width:62ch}
.geo__map{margin-top:clamp(34px,4vw,56px)}
.geo__mapin{position:relative;aspect-ratio:2736/1041;border:1px solid var(--line-soft);border-radius:var(--r-panel);background:linear-gradient(160deg,var(--ink-2),var(--ink));overflow:hidden}
.geo__dots{position:absolute;inset:0;background:color-mix(in srgb,var(--brand) 52%,transparent);
  -webkit-mask:url(/assets/img/world-dots.png) no-repeat center/100% 100%;mask:url(/assets/img/world-dots.png) no-repeat center/100% 100%;opacity:.55;overflow:hidden}
/* световая волна по точкам: двигаем градиент трансформом, маска родителя обрезает */
.geo__sweep{position:absolute;top:-20%;bottom:-20%;left:0;width:42%;
  background:linear-gradient(100deg,transparent,color-mix(in srgb,#9beaff 75%,transparent),transparent);
  opacity:0;pointer-events:none}
.geo__map.is-in .geo__sweep{animation:sweep 11s cubic-bezier(.45,0,.25,1) 1.2s infinite}
@keyframes sweep{
  0%{transform:translateX(-120%);opacity:0}
  8%{opacity:.5}
  55%{opacity:.5}
  70%{transform:translateX(320%);opacity:0}
  100%{transform:translateX(320%);opacity:0}
}

.geo__arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.geo__arcs path{fill:none;stroke:var(--accent)}
.arc{stroke-width:1.1;opacity:.42;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:opacity .3s,stroke-width .3s}
.arc-glow{stroke-width:4;opacity:0;filter:blur(3px);transition:opacity .4s}
.comet{stroke:#ff5568;stroke-width:2.2;stroke-linecap:round;opacity:0;
  stroke-dasharray:var(--dash) var(--len);stroke-dashoffset:var(--dash);
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 85%,transparent))}
.comet--halo{stroke-width:7;opacity:0;filter:blur(4px)}
.geo__map.is-in .comet--halo{animation-name:cometHalo}
@keyframes cometHalo{
  0%{stroke-dashoffset:var(--dash);opacity:0}
  5%{opacity:.28}
  56%{opacity:.28}
  62%{stroke-dashoffset:calc(-1 * var(--len));opacity:0}
  100%{stroke-dashoffset:calc(-1 * var(--len));opacity:0}
}
.geo__map.is-in .arc{animation:draw 1.9s var(--ease) var(--delay,0s) forwards}
.geo__map.is-in .arc-glow{opacity:.16;transition-delay:1.6s}
.geo__map.is-in .comet{animation:comet var(--dur,3s) linear var(--delay,0s) infinite backwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes comet{
  0%{stroke-dashoffset:var(--dash);opacity:0}
  5%{opacity:1}
  56%{opacity:1}
  62%{stroke-dashoffset:calc(-1 * var(--len));opacity:0}
  100%{stroke-dashoffset:calc(-1 * var(--len));opacity:0}
}
/* подсветка маршрута при наведении на город */
.geo__map.is-hot .arc{opacity:.14}
.geo__map.is-hot .comet{opacity:.25}
.geo__map .arc.is-hot{opacity:.95;stroke-width:1.6}
.geo__map .comet.is-hot{opacity:1}
.geo__pins{position:absolute;inset:0}
.pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px}
.pin--left{flex-direction:row-reverse}
.pin--up{flex-direction:column-reverse;gap:4px}
.pin--down{flex-direction:column;gap:4px}
.pin__d{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent);position:relative;transition:transform .3s var(--ease)}
.pin--rep .pin__d{width:7px;height:7px;background:var(--brand);box-shadow:none}
.pin--mkt{pointer-events:none}
.pin--mkt .pin__d{width:5px;height:5px;background:color-mix(in srgb,var(--brand) 70%,transparent);box-shadow:none}
.geo__map.is-in .pin--hq .pin__d{animation:ping 2.6s ease-out infinite}
.pin:nth-child(2) .pin__d{animation-delay:.5s}
.pin:nth-child(3) .pin__d{animation-delay:1s}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 0 transparent}}
/* вспышка в точке прибытия: цикл совпадает с кометой на этом маршруте */
.geo__map.is-in .pin--dest:not(.pin--hq) .pin__d{animation:arrive var(--dur,3s) linear var(--arrive,0s) infinite}
@keyframes arrive{
  0%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 60%,transparent)}
  4%{transform:scale(2.1);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 45%,transparent)}
  16%{transform:scale(1);box-shadow:0 0 0 11px transparent}
  22%,100%{transform:scale(1);box-shadow:0 0 0 0 transparent}
}
.pin--dest:hover .pin__d{transform:scale(1.5)}
.pin--dest:hover .pin__l{opacity:1;color:var(--text)}
.pin__l{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);white-space:nowrap;opacity:.9;background:color-mix(in srgb,var(--ink) 72%,transparent);padding:3px 7px;border-radius:5px}
.pin--rep .pin__l{opacity:.62;font-size:.56rem}
.geo__cap{margin-top:16px;color:var(--dim-2);font-size:.85rem}
.geo__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,64px)}
.geo__col .h3{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.places{display:grid;gap:18px}
.places li{display:grid;gap:3px}
.places b{font-weight:600}
.places span{color:var(--dim);font-size:.92rem}
.places a{color:var(--brand);font-size:.9rem;text-decoration:none;font-family:'JetBrains Mono',monospace;letter-spacing:.01em}
.places a:hover{color:var(--accent-2)}
.places--flat{grid-template-columns:repeat(2,1fr);gap:14px}
.geo__countries{color:var(--dim);font-size:.94rem;margin-bottom:18px}

/* ---------- cases ---------- */
.cases{padding:var(--sp-sec) 0;background:var(--ink-2);border-block:1px solid var(--line-soft)}
.case{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(20px,4vw,64px);padding:clamp(28px,3.4vw,44px) 0;border-top:1px solid var(--line)}
.case:last-child{border-bottom:1px solid var(--line)}
.case__route{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.case__route .mono{color:var(--brand);line-height:1.6}
.case__tag{font-size:.78rem;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--dim)}
.case__body h3{font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:700;margin-bottom:14px;letter-spacing:-.025em}
.case__body p{color:var(--dim);max-width:70ch}
.case__res{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.case__res li{font-size:.86rem;padding:7px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line-soft);color:var(--text)}

/* ---------- trust ---------- */
.trust{padding:var(--sp-sec) 0;background:var(--ink)}
.trust__head .h2{text-wrap:balance}
/* лента истории: общая рельса сверху, узел на каждом этапе, последний подсвечен */
.tl{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0 clamp(18px,2.2vw,34px);
  margin-top:clamp(34px,4vw,56px);padding-top:40px}
.tl::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);
  transform:scaleX(0);transform-origin:left;transition:transform 1.5s var(--ease) .15s}
.tl.is-in::before{transform:scaleX(1)}
.tl li{position:relative;padding:0}
.tl li::before{content:'';position:absolute;left:0;top:-40px;margin-top:-5px;width:10px;height:10px;border-radius:50%;
  background:var(--ink);box-shadow:inset 0 0 0 1.5px var(--accent);transform:scale(0);
  transition:transform .55s var(--ease)}
.tl.is-in li::before{transform:scale(1);transition-delay:calc(.45s + var(--i,0) * .13s)}
.tl li:last-child::before{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.tl li > *{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--ease)}
.tl.is-in li > *{opacity:1;transform:none;transition-delay:calc(.5s + var(--i,0) * .13s)}
.tl__y{display:block;color:var(--accent);margin-bottom:10px}
.tl p{color:var(--dim);font-size:.92rem;max-width:26ch}
.founder{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(34px,4vw,56px);padding:clamp(26px,3vw,44px);border:1px solid var(--line);border-radius:var(--r-panel);background:linear-gradient(120deg,color-mix(in srgb,var(--brand-deep) 20%,transparent),transparent 60%)}
.founder__q{font-size:clamp(1.15rem,1.8vw,1.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.35;text-wrap:balance}
.founder__who{margin-top:22px;display:grid;gap:4px}
.founder__who b{font-weight:600}
.founder__who span{color:var(--dim);font-size:.92rem}
.founder__vals{display:grid;gap:12px;align-content:center}
.founder__vals li{padding-left:18px;position:relative;color:var(--dim);font-size:.95rem}
.founder__vals li::before{content:'';position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--brand)}
.letters{margin-top:clamp(48px,6vw,84px)}
.letters__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:24px}
.letters__note{color:var(--dim-2);font-size:.85rem}
.letters__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(184px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.letters__row li{scroll-snap-align:start}
.letters__row button{position:relative;width:100%;padding:0;border:1px solid var(--line-soft);border-radius:var(--r-chip);background:var(--panel);overflow:hidden;cursor:zoom-in;display:grid;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.letters__row button:hover,.letters__row button:focus-visible{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}
.letters__ph{position:relative;display:block;overflow:hidden}
/* значок «открыть» виден всегда: на тач-экранах наведения нет */
.letters__ph::after{content:'';position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(6,20,26,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/17px no-repeat;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .3s var(--ease),background-color .3s}
.letters__row button:hover .letters__ph::after{transform:scale(1.08);background-color:var(--accent)}
.letters__row button::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(4,16,21,.86),rgba(4,16,21,.15));opacity:0;transition:opacity .35s;pointer-events:none}
.letters__row button::after{content:'Читать письмо';position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) scale(.92);
  padding:10px 18px;border-radius:999px;background:var(--accent);color:#fff;font-size:.84rem;font-weight:600;white-space:nowrap;
  opacity:0;transition:opacity .3s,transform .35s var(--ease);pointer-events:none;box-shadow:0 10px 26px rgba(235,40,63,.35)}
.letters__row button:hover::before,.letters__row button:focus-visible::before{opacity:1}
.letters__row button:hover::after,.letters__row button:focus-visible::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.letters__row img{width:100%;aspect-ratio:1/1.35;object-fit:cover;object-position:top center;filter:saturate(.9);transition:transform .6s var(--ease)}
.letters__row button:hover img{transform:scale(1.04)}
.letters__row > li > button > span:last-child{padding:12px 14px;font-size:.84rem;color:var(--dim);text-align:left;position:relative;z-index:1}

/* ---------- start ---------- */
.start{padding:var(--sp-sec) 0;background:var(--ink-2);border-top:1px solid var(--line-soft)}
.start__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.start__cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px}
.start__list{display:grid;gap:2px}
.start__list li{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line-soft)}
.start__list li:last-child{border-bottom:1px solid var(--line-soft)}
.start__list .mono{color:var(--brand)}
.start__list h3{font-size:1.05rem;margin-bottom:4px}
.start__list p{color:var(--dim);font-size:.93rem}

/* ---------- final ---------- */
.final{position:relative;min-height:74svh;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.final__media{position:absolute;inset:0;z-index:-2;background:#03101a}
.final__video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.final__video.is-ready{opacity:1}
.final__scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(3,13,20,.9),rgba(3,13,20,.62) 55%,rgba(3,13,20,.82)),radial-gradient(90% 80% at 15% 50%,rgba(0,101,121,.4),transparent 60%)}
.final__in{position:relative;padding-block:clamp(72px,10vw,120px);color:#fff}
.final__title{font-size:clamp(2.1rem,4.6vw,3.8rem);font-weight:800;letter-spacing:-.035em;max-width:18ch;text-wrap:balance}
.final__sub{margin-top:20px;color:rgba(255,255,255,.8);max-width:52ch;font-size:clamp(1rem,.5vw + .9rem,1.15rem)}
.final__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.final__cont{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:38px;align-items:center}
.copy{background:none;border:0;border-bottom:1px dashed rgba(255,255,255,.35);padding:2px 0;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:.82rem;color:rgba(255,255,255,.88);transition:color .25s,border-color .25s}
.copy:hover{color:#fff;border-color:var(--accent-2)}
.final__wechat{font-family:'JetBrains Mono',monospace;font-size:.82rem;color:rgba(255,255,255,.6)}

/* ---------- footer ---------- */
.foot{background:var(--ink);border-top:1px solid var(--line-soft);padding:clamp(48px,6vw,80px) 0 34px}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.foot__brand img{width:150px;height:auto;margin-bottom:18px}
.foot__brand p{color:var(--dim);font-size:.92rem;max-width:40ch}
.foot h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim-2);font-weight:500;margin-bottom:16px}
.foot__nav,.foot__cont{display:grid;gap:10px;align-content:start}
.foot__nav a,.foot__cont a{color:var(--text);text-decoration:none;font-size:.94rem;opacity:.86;transition:color .25s,opacity .25s;justify-self:start}
.foot__nav a:hover,.foot__cont a:hover{color:var(--accent-2);opacity:1}
.foot__legal{margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--line-soft);display:grid;gap:8px}
.foot__legal p{color:var(--dim-2);font-size:.78rem;line-height:1.5}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);opacity:0;transition:opacity .3s ease}
.lightbox:not([hidden]){display:flex}
.lightbox.is-on{opacity:1}
.lightbox__bg{position:absolute;inset:0;background:rgba(2,10,14,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lightbox__fig{position:relative;margin:0;max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center;transform:scale(.97);transition:transform .35s var(--ease)}
.lightbox.is-on .lightbox__fig{transform:none}
.lightbox__view{max-height:84svh;max-width:min(94vw,980px);overflow:auto;border-radius:var(--r-chip);
  box-shadow:0 40px 90px rgba(0,0,0,.6);background:#fff;overscroll-behavior:contain;scrollbar-width:thin}
.lightbox__view img{display:block;max-height:84svh;width:auto;cursor:zoom-in;transition:max-height .35s var(--ease)}
.lightbox.is-zoom .lightbox__view img{max-height:none;width:auto;height:auto;cursor:zoom-out}
.lightbox.is-zoom .lightbox__view{max-width:min(94vw,1100px)}
.lightbox__fig figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;justify-content:center;color:rgba(255,255,255,.78);font-size:.9rem}
.lightbox__hint{color:rgba(255,255,255,.42);font-size:.6rem}
.lightbox__x,.lightbox__nav{position:absolute;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:background-color .25s,transform .25s var(--ease)}
.lightbox__x{top:clamp(12px,3vw,28px);right:clamp(12px,3vw,28px)}
.lightbox__nav--prev{left:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}
.lightbox__nav--next{right:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}
.lightbox__x:hover,.lightbox__nav:hover{background:rgba(255,255,255,.18)}
.lightbox__x svg,.lightbox__nav svg{width:22px;height:22px}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,24px);z-index:90;padding:12px 20px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--text);font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease);box-shadow:var(--shadow)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------- grain ---------- */
.grain{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}


/* ---------- responsive ---------- */
@media (max-width:1100px){
  .head__nav{display:none}
  .burger{display:flex}
  .head__enter{display:none}
  .platform__grid{grid-template-columns:1fr}
  .flow{grid-template-columns:repeat(2,1fr)}
  .deal__tools{grid-template-columns:repeat(2,1fr)}
  .tool--wide{grid-column:span 2;flex-direction:column;gap:8px}
  .tool--wide h3{white-space:normal}
  .roles__grid{grid-template-columns:1fr}
  .numbers__grid{grid-template-columns:repeat(2,1fr)}
  .geo__cols{grid-template-columns:1fr;gap:34px}
  .tl{grid-template-columns:repeat(2,1fr)}
  .founder{grid-template-columns:1fr}
  .start__grid{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .head__phone{display:none}
  .hero{min-height:100svh}
  .hero__title{font-size:clamp(2.2rem,9vw,3rem)}
  .hero__edge span{font-size:.55rem;letter-spacing:.18em}
  .journey__ui{align-items:flex-end;padding-bottom:104px}
  .journey__texts{min-height:auto;position:relative}
  .jt{position:absolute;inset:auto 0 0 0}
  .jt.is-on{position:relative}
  .jt__facts{margin-top:18px}
  .rail{right:auto;left:var(--gut);top:auto;bottom:34px;transform:none;flex-direction:row;gap:18px;padding-left:0;padding-top:16px}
  .rail__i{flex-direction:column;align-items:flex-start;gap:2px;padding:0}
  .rail__t{font-size:.9rem}
  .rail__bar{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
  .rail__bar i{width:100%;height:1px;transform-origin:left;transform:scaleX(var(--p,0))}
  .flow{grid-template-columns:1fr}
  .deal__tools{grid-template-columns:1fr}
  .tool--wide{grid-column:span 1}
  .numbers__grid{grid-template-columns:1fr}
  .case{grid-template-columns:1fr;gap:16px}
  .case__route{flex-direction:row;align-items:center;gap:14px}
  /* на узком экране лента разворачивается в вертикальную: рельса слева */
  .tl{grid-template-columns:1fr;gap:24px;padding:4px 0 4px 28px}
  .tl::before{top:6px;bottom:6px;left:4px;right:auto;width:1px;height:auto;
    transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease) .15s}
  .tl.is-in::before{transform:scaleY(1)}
  .tl li{padding:0}
  .tl li::before{left:-28.5px;top:4px;margin-top:0}
  .tl p{max-width:none}
  .places--flat{grid-template-columns:1fr}
  .pin__l{display:none}
  .geo__dots{opacity:.75}
  .comet--halo{display:none}          /* размытие на телефоне стоит дорого */
  .foot__grid{grid-template-columns:1fr}
  .letters__row{grid-auto-columns:minmax(150px,1fr)}
  /* стрелки лайтбокса не должны лежать поверх письма */
  .lightbox{padding:14px 10px 84px}
  .lightbox__view{max-height:74svh}
  .lightbox__view img{max-height:74svh}
  .lightbox__nav{top:auto;bottom:16px;transform:none;width:44px;height:44px}
  .lightbox__nav--prev{left:calc(50% - 62px)}
  .lightbox__nav--next{right:calc(50% - 62px)}
  .lightbox__fig figcaption{flex-direction:column;gap:2px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .hero .anim-line{transform:none;opacity:1}
  .hero__sub,.hero__cta{opacity:1;transform:none}
  .marquee__row{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .geo__arcs .arc{stroke-dashoffset:0}
  .comet,.geo__sweep{display:none}
}

/* ---------- светлая тема: системная и ручная ---------- */

/* иконки переключателя: по умолчанию тёмная тема показывает солнце */
.theme__moon{display:none}

@media (prefers-color-scheme: light){

:root:not([data-theme="dark"]){
  --ink:#f3f5f6;
  --ink-2:#fff;
  --ink-3:#e8eef0;
  --panel:#fff;
  --panel-2:#fff;
  --line:rgba(5,35,44,.14);
  --line-soft:rgba(5,35,44,.08);
  --text:#07181e;
  --dim:#4f676f;
  --dim-2:#5d757d;
  --brand:#006579;
  --brand-deep:#006579;
  --accent:#d42438;
  --accent-2:#eb283f;
  --shadow:0 24px 60px rgba(6,40,50,.12);
  color-scheme:light;
}
:root:not([data-theme="dark"]) .on-dark{display:none}
:root:not([data-theme="dark"]) .on-light{display:block}
/* шапка поверх тёмного видео остаётся светлой и в светлой теме */
:root:not([data-theme="dark"]) .head:not(.is-solid){color:#fff}
:root:not([data-theme="dark"]) .head:not(.is-solid) .head__nav a,:root:not([data-theme="dark"]) .head:not(.is-solid) .head__phone{color:#fff}
:root:not([data-theme="dark"]) .head:not(.is-solid) .on-light{display:none}
:root:not([data-theme="dark"]) .head:not(.is-solid) .on-dark{display:block}
:root:not([data-theme="dark"]) .head:not(.is-solid) .btn--ghost{--fg:#fff;--bd:rgba(255,255,255,.42)}
:root:not([data-theme="dark"]) .head:not(.is-solid) .burger,:root:not([data-theme="dark"]) .head:not(.is-solid) .theme{border-color:rgba(255,255,255,.42)}
:root:not([data-theme="dark"]) .foot__brand .on-dark{display:none}
:root:not([data-theme="dark"]) .foot__brand .on-light{display:block}
:root:not([data-theme="dark"]) .marquee img{opacity:1;box-shadow:0 1px 0 rgba(6,40,50,.06),inset 0 0 0 1px rgba(6,40,50,.08)}
:root:not([data-theme="dark"]) .grain{display:none}
:root:not([data-theme="dark"]) .theme__sun{display:none}
:root:not([data-theme="dark"]) .theme__moon{display:block}
:root:not([data-theme="dark"]) .steps li:hover{background:#f7fafb}
:root:not([data-theme="dark"]) .offer,:root:not([data-theme="dark"]) .post,:root:not([data-theme="dark"]) .gcard,:root:not([data-theme="dark"]) .tool,:root:not([data-theme="dark"]) .model,:root:not([data-theme="dark"]) .members__i{background:#fff}
:root:not([data-theme="dark"]) .case__res li{background:#fff}
:root:not([data-theme="dark"]) .journey,:root:not([data-theme="dark"]) .journey__media{background:#06131a}

}

:root[data-theme="light"]{
  --ink:#f3f5f6;
  --ink-2:#fff;
  --ink-3:#e8eef0;
  --panel:#fff;
  --panel-2:#fff;
  --line:rgba(5,35,44,.14);
  --line-soft:rgba(5,35,44,.08);
  --text:#07181e;
  --dim:#4f676f;
  --dim-2:#5d757d;
  --brand:#006579;
  --brand-deep:#006579;
  --accent:#d42438;
  --accent-2:#eb283f;
  --shadow:0 24px 60px rgba(6,40,50,.12);
  color-scheme:light;
}
:root[data-theme="light"] .on-dark{display:none}
:root[data-theme="light"] .on-light{display:block}
/* шапка поверх тёмного видео остаётся светлой и в светлой теме */
:root[data-theme="light"] .head:not(.is-solid){color:#fff}
:root[data-theme="light"] .head:not(.is-solid) .head__nav a,:root[data-theme="light"] .head:not(.is-solid) .head__phone{color:#fff}
:root[data-theme="light"] .head:not(.is-solid) .on-light{display:none}
:root[data-theme="light"] .head:not(.is-solid) .on-dark{display:block}
:root[data-theme="light"] .head:not(.is-solid) .btn--ghost{--fg:#fff;--bd:rgba(255,255,255,.42)}
:root[data-theme="light"] .head:not(.is-solid) .burger,:root[data-theme="light"] .head:not(.is-solid) .theme{border-color:rgba(255,255,255,.42)}
:root[data-theme="light"] .foot__brand .on-dark{display:none}
:root[data-theme="light"] .foot__brand .on-light{display:block}
:root[data-theme="light"] .marquee img{opacity:1;box-shadow:0 1px 0 rgba(6,40,50,.06),inset 0 0 0 1px rgba(6,40,50,.08)}
:root[data-theme="light"] .grain{display:none}
:root[data-theme="light"] .theme__sun{display:none}
:root[data-theme="light"] .theme__moon{display:block}
:root[data-theme="light"] .steps li:hover{background:#f7fafb}
:root[data-theme="light"] .offer,:root[data-theme="light"] .post,:root[data-theme="light"] .gcard,:root[data-theme="light"] .tool,:root[data-theme="light"] .model,:root[data-theme="light"] .members__i{background:#fff}
:root[data-theme="light"] .case__res li{background:#fff}
:root[data-theme="light"] .journey,:root[data-theme="light"] .journey__media{background:#06131a}


/* ---------- переключатель темы ---------- */
.theme{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:transparent;display:grid;place-items:center;cursor:pointer;transition:border-color .25s,transform .25s var(--ease),background-color .25s}
.theme:hover{border-color:var(--brand);transform:translateY(-1px)}
.theme svg{width:18px;height:18px;color:currentColor}

/* ---------- каталог: отрасли ---------- */
.industries{padding:var(--sp-sec) 0;background:var(--ink-2);border-block:1px solid var(--line-soft)}
.ind__head{max-width:64ch}
.ind{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(32px,4vw,52px)}
.ind__i{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border:1px solid var(--line);border-radius:999px;
  background:var(--panel);text-decoration:none;font-size:.95rem;font-weight:500;line-height:1.2;
  transition:background-color .3s,border-color .3s,transform .3s var(--ease),color .3s}
.ind__i:hover{transform:translateY(-2px);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}
.ind__i::after{content:'';width:14px;height:8px;background:var(--brand);opacity:.45;transform:translateX(-4px);transition:opacity .3s,transform .3s var(--ease);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4.5h14M10.5 1L14 4.5 10.5 8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0 4.5h14M10.5 1L14 4.5 10.5 8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center/contain}
.ind__i:hover::after{opacity:1;transform:none}

/* ---------- живые предложения ---------- */
.offers__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-top:clamp(44px,5vw,72px);padding-bottom:18px;border-bottom:1px solid var(--line)}
.offers__meta{display:flex;align-items:center;gap:24px;color:var(--dim)}
.offers__meta b{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}
.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px);margin-top:26px}
.offer{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line-soft);border-radius:var(--r-panel);background:var(--panel);text-decoration:none;position:relative;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.offer:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}
.offer__pic{display:block;aspect-ratio:4/3;border-radius:var(--r-chip);overflow:hidden;background:#fff}
.offer__pic img{width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .5s var(--ease)}
.offer:hover .offer__pic img{transform:scale(1.04)}
.offer__badge{position:absolute;top:22px;left:22px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand) 88%,transparent);color:#fff}
.offer__t{font-size:.92rem;line-height:1.35;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.offer__p{margin-top:auto;color:var(--dim);font-size:.68rem}

/* ---------- участники платформы ---------- */
.members{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-panel);overflow:hidden;margin-top:clamp(20px,2.5vw,32px)}
.members__i{background:var(--ink);padding:clamp(20px,2.2vw,28px)}
.members__i .mono{color:var(--brand);display:block;margin-bottom:12px}
.members__i h3{font-size:1.05rem;margin-bottom:6px}
.members__i p{color:var(--dim);font-size:.9rem}

/* ---------- группа компаний ---------- */
.group{padding:var(--sp-sec) 0;background:var(--ink-2);border-block:1px solid var(--line-soft)}
.group__head{max-width:64ch}
.group__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px);margin-top:clamp(32px,4vw,52px)}
.gcard{border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(22px,2.4vw,30px);background:var(--panel);position:relative;overflow:hidden;transition:transform .4s var(--ease),border-color .3s}
.gcard::before{content:'';position:absolute;inset:auto 0 0 0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.gcard:hover{transform:translateY(-4px);border-color:var(--brand)}
.gcard:hover::before{transform:scaleX(1)}
.gcard h3{font-size:1.1rem;margin-bottom:10px}
.gcard p{color:var(--dim);font-size:.93rem}
.group__mission{margin-top:clamp(28px,3vw,44px);font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:600;letter-spacing:-.02em;max-width:72ch;color:var(--text)}

/* ---------- медиацентр ---------- */
.media{padding:var(--sp-sec) 0;background:var(--ink)}
.media__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 28px}
.media__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(30px,3.6vw,48px)}
.post{display:flex;flex-direction:column;gap:12px;text-decoration:none;border:1px solid var(--line-soft);border-radius:var(--r-panel);padding:14px;background:var(--panel);transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.post:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}
.post--lead{grid-row:span 2;grid-column:1}
.post__pic{display:block;aspect-ratio:16/10;border-radius:var(--r-chip);overflow:hidden;background:var(--ink-3)}
.post--lead .post__pic{aspect-ratio:4/3}
.post__pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post:hover .post__pic img{transform:scale(1.05)}
.post__meta{color:var(--brand)}
.post__t{font-weight:600;font-size:1rem;line-height:1.32;letter-spacing:-.015em}
.post--lead .post__t{font-size:clamp(1.15rem,1.5vw,1.45rem)}
.post__d{color:var(--dim);font-size:.92rem}

@media (max-width:1100px){
  .offers{grid-template-columns:repeat(2,1fr)}
  .members,.group__grid{grid-template-columns:repeat(2,1fr)}
  .media__grid{grid-template-columns:repeat(2,1fr)}
  .post--lead{grid-row:span 1;grid-column:span 2}
}
@media (max-width:760px){
  .ind__i{padding:12px 16px;font-size:.9rem}
  .offers{grid-template-columns:repeat(2,1fr)}
  .members,.group__grid{grid-template-columns:1fr}
  .media__grid{grid-template-columns:1fr}
  .post--lead{grid-column:span 1}
  .theme{width:38px;height:38px}
}

/* ---------- ховеры и фокус: заметнее ---------- */
.btn{position:relative}
.btn--ghost:hover{--bd:var(--brand);--fg:var(--text);background:color-mix(in srgb,var(--brand) 18%,transparent)}
.btn--glass:hover{--bg:rgba(255,255,255,.24);--bd:rgba(255,255,255,.55)}
.btn--primary:active,.btn--ghost:active,.btn--glass:active{transform:translateY(1px) scale(.985)}
/* шапка поверх видео: кнопки должны реагировать заметно */
.head:not(.is-solid) .btn--ghost:hover{--bg:rgba(255,255,255,.2);--bd:rgba(255,255,255,.7);--fg:#fff}
.head:not(.is-solid) .theme:hover,.head:not(.is-solid) .burger:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7)}
.theme:hover{background:color-mix(in srgb,var(--brand) 16%,transparent);border-color:var(--brand)}
.burger:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}
.head__nav a:hover{opacity:1;color:var(--accent-2)}
.head__phone:hover{color:var(--accent-2)}
.menu__nav a:hover{color:var(--accent-2)}
.foot__legal a:hover{color:var(--accent-2)}
.rail__i:hover .rail__t{text-decoration:underline;text-underline-offset:4px}
.num:hover .num__v{color:var(--accent-2);transition:color .3s}
.tl li:hover::before{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 20%,transparent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}

/* ---------- модалка заявки ---------- */
.modal{position:fixed;inset:0;z-index:85;display:none;align-items:center;justify-content:center;padding:clamp(14px,3vw,40px)}
.modal.is-on{display:flex;animation:modalIn .26s ease both}
@keyframes modalIn{from{opacity:0}to{opacity:1}}
.modal__bg{position:absolute;inset:0;background:rgba(2,10,14,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal__box{position:relative;width:min(760px,100%);max-height:92svh;overflow:auto;background:var(--ink-2);border:1px solid var(--line);
  border-radius:var(--r-panel);padding:clamp(24px,3.4vw,44px);box-shadow:var(--shadow)}
.modal.is-on .modal__box{animation:modalBox .38s var(--ease) both}
@keyframes modalBox{from{transform:translateY(16px) scale(.985)}to{transform:none}}
.modal__x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer;transition:border-color .25s,background-color .25s,transform .25s var(--ease)}
.modal__x:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);transform:rotate(90deg)}
.modal__x svg{width:20px;height:20px}
.modal__kicker{display:block;color:var(--brand);margin-bottom:14px}
.modal__t{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:800;letter-spacing:-.03em;max-width:22ch}
.modal__d{margin-top:12px;color:var(--dim);max-width:60ch}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.field{display:grid;gap:7px}
.field--wide{grid-column:span 2}
.field > span{font-size:.78rem;letter-spacing:.04em;color:var(--dim)}
.field input,.field textarea{
  width:100%;padding:14px 16px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--ink);
  color:var(--text);font:inherit;font-size:.96rem;transition:border-color .25s,box-shadow .25s,background-color .25s;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--dim-2)}
.field input:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--brand) 60%,var(--line))}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
.field--err input,.field--err textarea{border-color:var(--accent)}
.field__msg{font-size:.78rem;color:var(--accent)}
.field__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__foot{grid-column:span 2;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:4px}
.form__note{color:var(--dim-2);font-size:.78rem;max-width:36ch}
.modal__alt{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.modal__contacts{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}
.modal__contacts a{font-family:'JetBrains Mono',monospace;font-size:.84rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .25s,border-color .25s}
.modal__contacts a:hover{color:var(--accent-2);border-color:var(--accent-2)}
.modal__contacts .copy{color:var(--text);border-bottom-color:var(--line)}
.modal__done{text-align:left;padding:8px 0 4px}
.modal__done h3{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px}
.modal__done p{color:var(--dim);max-width:52ch}
.modal__tick{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;margin-bottom:20px;
  background:color-mix(in srgb,var(--brand) 22%,transparent);border:1px solid color-mix(in srgb,var(--brand) 55%,transparent)}
.modal__tick svg{width:26px;height:26px;color:var(--brand)}
.modal__done .btn{margin-top:22px}
.is-busy{opacity:.6;pointer-events:none}
@media (max-width:760px){
  .form{grid-template-columns:1fr}
  .field--wide,.form__foot{grid-column:span 1}
  .modal__box{padding:22px 18px}
}

/* пункты меню: подложка + подчёркивание, чтобы ховер читался сразу */
.head__nav{gap:6px}
.head__nav a{padding:9px 14px;border-radius:999px;opacity:.9;transition:opacity .25s,color .25s,background-color .25s}
.head__nav a::after{left:14px;right:calc(100% - 14px);bottom:4px;height:1.5px;background:var(--accent-2);transition:right .32s var(--ease)}
.head__nav a:hover,.head__nav a:focus-visible{opacity:1;color:var(--text);background:color-mix(in srgb,var(--brand) 16%,transparent)}
.head__nav a:hover::after{right:14px}
.head:not(.is-solid) .head__nav a:hover{background:rgba(255,255,255,.16);color:#fff}
.menu__nav a{padding-left:2px;transition:color .25s,padding-left .3s var(--ease),border-color .25s}
.menu__nav a:hover{color:var(--accent-2);padding-left:10px;border-color:var(--accent-2)}

/* меню в одну строку: подложка не должна ломать раскладку шапки */
.head__nav{flex-wrap:nowrap}
.head__nav a{white-space:nowrap;padding:8px 11px;font-size:.9rem}
@media (max-width:1300px){.head__nav a{padding:7px 8px;font-size:.86rem}.head__nav{gap:2px}}

/* скрытый оверлей не должен перехватывать клики: [hidden] сильнее любого display */
.lightbox[hidden],.modal[hidden],.menu[hidden]{display:none !important}
