/* Шрифт: Inter 4.1 (SIL OFL), вариативный, подмножество латиница + кириллица; лицензия — assets/fonts/Inter-OFL.txt */
@font-face { font-family: "Inter"; src: url("/assets/fonts/InterVariable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
/* =========================================================
   SEOFACTOR · дизайн-система
   Палитра из логотипа: тёмно-синий #0A0A5F + мятный #15CC96
   ========================================================= */

:root {
  --ink-1000: #03030f;
  --ink-950: #05051b;
  --ink-900: #080826;
  --ink-800: #0d0d38;
  --navy: #0a0a5f;
  --indigo: #2a2ad0;
  --iris: #6b6bff;
  --mint: #15cc96;
  --mint-300: #5fe3bb;
  --mint-100: #c9f7e8;
  --mint-deep: #078a64;
  --paper: #f3f4fb;
  --paper-2: #e8eaf7;

  --text: #e9ebfa;
  --text-dim: #a3a8d1;
  --text-mute: #7479a8;
  --ink-text: #0b0b2e;
  --ink-dim: #52577f;

  --line: rgba(255, 255, 255, .09);
  --line-2: rgba(255, 255, 255, .16);
  --line-ink: rgba(10, 10, 95, .12);

  --ff-d: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --ff-b: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --wrap: 1240px;
  --gut: clamp(20px, 4vw, 48px);
  --hdr-h: 76px;
  --r-s: 12px;
  --r-m: 20px;
  --r-l: 32px;
  --r-sec: clamp(28px, 4vw, 56px);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr-h) + 16px); -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ink-950);
  color: var(--text);
  font: 400 16px/1.6 var(--ff-b);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
body.is-locked { overflow: hidden; }
[hidden] { display: none !important; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; }
h1, h2, h3, h4, p, figure, dl, dd, blockquote { margin: 0; }
::selection { background: var(--mint); color: #03231a; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; border-radius: 6px; }

.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gut) * 2); margin-inline: auto; padding-inline: var(--gut); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 16px; top: -60px; z-index: 200; padding: 10px 18px; border-radius: 999px; background: var(--mint); color: #03231a; font-weight: 700; transition: top .2s; }
.skip:focus { top: 16px; }

/* ---------- typography ---------- */
.h2 { font: 800 clamp(2.006rem, 3.776vw, 3.422rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; text-wrap: balance; }
.lead { font-size: clamp(1.02rem, 1.25vw, 1.18rem); color: var(--text-dim); max-width: 62ch; text-wrap: pretty; }
.eyebrow { display: inline-flex; align-items: center; gap: .7em; font: 800 .74rem/1 var(--ff-b); letter-spacing: .16em; text-transform: uppercase; color: var(--mint); }
.eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: currentColor; }
.sec--light { color: var(--ink-text); }
.sec--light .lead { color: var(--ink-dim); }
.sec--light .eyebrow, .faq .eyebrow { color: var(--mint-deep); }

/* ---------- buttons ---------- */
.btn {
  --h: 54px;
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .7em;
  height: var(--h); padding: 0 1.7em; border-radius: 999px;
  font: 700 .95rem/1 var(--ff-b); letter-spacing: .005em; white-space: nowrap; cursor: pointer;
  border: 1px solid transparent;
  transition: transform .45s var(--ease), box-shadow .4s, background .3s, color .3s, border-color .3s;
  will-change: transform;
}
.btn svg { width: 18px; height: 18px; flex: none; transition: transform .4s var(--ease); }
.btn:hover svg:last-child { transform: translateX(4px); }
.btn--sm { --h: 44px; padding: 0 1.25em; font-size: .88rem; }
.btn--block { width: 100%; }
.btn--mint { background: linear-gradient(180deg, #2ae3ae, var(--mint)); color: #03231a; box-shadow: 0 12px 32px -10px rgba(21, 204, 150, .7), inset 0 1px 0 rgba(255, 255, 255, .55); }
.btn--mint:hover { box-shadow: 0 18px 44px -10px rgba(21, 204, 150, .9), inset 0 1px 0 rgba(255, 255, 255, .6); }
.btn--ghost { color: var(--text); background: rgba(255, 255, 255, .04); border-color: var(--line-2); }
.btn--ghost:hover { border-color: var(--mint); color: var(--mint-300); background: rgba(21, 204, 150, .08); }
.btn--ink { background: var(--navy); color: #fff; box-shadow: 0 14px 30px -12px rgba(10, 10, 95, .7); }
.btn--ink:hover { background: #14147f; }
.btn--line { color: var(--navy); border-color: rgba(10, 10, 95, .25); background: transparent; }
.btn--line:hover { border-color: var(--navy); background: rgba(10, 10, 95, .05); }
.linkbtn { background: none; border: 0; padding: 0; cursor: pointer; font-weight: 700; color: var(--mint-300); border-bottom: 1px solid currentColor; }
.linkbtn:hover { color: #fff; }

.tag { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font: 800 .66rem/1.2 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: var(--mint-300); background: rgba(21, 204, 150, .12); border: 1px solid rgba(21, 204, 150, .35); }
.tag--solid { background: var(--mint); color: #03231a; border-color: transparent; }
.chip { display: inline-flex; padding: 6px 12px; border-radius: 999px; font: 700 .72rem/1 var(--ff-b); letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); border: 1px solid var(--line-2); }

.demo-flag { display: inline-block; margin-top: 14px; padding: 6px 12px; border-radius: 999px; border: 1px dashed #ffb020; background: rgba(255, 176, 32, .09); color: #ffb020; font: 700 .7rem/1.3 var(--ff-b); letter-spacing: .05em; text-transform: uppercase; }
.sec--light .demo-flag, .faq .demo-flag { color: #a15f00; border-color: #d99100; background: rgba(217, 145, 0, .08); }

.ticks { list-style: none; display: grid; gap: 14px; margin-top: 28px; }
.ticks li { display: flex; gap: 14px; align-items: flex-start; font-weight: 600; }
.ticks svg { flex: none; width: 24px; height: 24px; padding: 4px; border-radius: 50%; color: #03231a; background: var(--mint); margin-top: 1px; }
.ticks--light { color: var(--text); }

/* ---------- section system ---------- */
.sec {
  position: relative;
  margin-top: calc(var(--r-sec) * -1);
  padding: calc(var(--r-sec) + clamp(64px, 9vw, 128px)) 0 clamp(72px, 9vw, 128px);
  border-radius: var(--r-sec) var(--r-sec) 0 0;
}
.sec--dark { background: var(--ink-950); color: var(--text); }
.sec--light { background: var(--paper); }
.sec--navy {
  background:
    radial-gradient(900px 520px at 88% 0%, rgba(42, 42, 208, .42), transparent 62%),
    radial-gradient(700px 420px at 0% 100%, rgba(21, 204, 150, .13), transparent 60%),
    var(--ink-900);
  color: var(--text);
}
.sec__head { display: grid; gap: 18px; max-width: 760px; margin-bottom: clamp(36px, 5vw, 64px); }
.sec__head--row { max-width: none; grid-template-columns: 1fr auto; align-items: end; }
.sec__head--row > div { display: grid; gap: 18px; max-width: 760px; }

/* ---------- reveal ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- logo ---------- */
.logo { display: inline-flex; align-items: center; gap: 12px; color: #fff; --logo-accent: var(--mint); }
.logo__mark { width: 44px; height: 44px; flex: none; transition: transform .8s var(--ease); }
.logo:hover .logo__mark { transform: rotate(-90deg); }
.logo__word { display: grid; font: 800 .78rem/1.3 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: .2em; text-transform: uppercase; letter-spacing: -.02em; }
.logo__word span:last-child { letter-spacing: .2em; }

/* =========================================================
   HEADER
   ========================================================= */
.hdr { position: fixed; inset: 0 0 auto 0; z-index: 80; height: var(--hdr-h); border-bottom: 1px solid transparent; transition: background .4s, border-color .4s, backdrop-filter .4s; }
.hdr.is-scrolled { background: rgba(5, 5, 27, .74); backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%); border-color: var(--line); }
.hdr__in { height: 100%; display: flex; align-items: center; gap: 24px; }
.nav { margin-inline: auto; }
.nav__list { display: flex; gap: 2px; list-style: none; }
.nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border: 0; border-radius: 999px; background: none; cursor: pointer; font: 600 .94rem/1 var(--ff-b); color: rgba(255, 255, 255, .82); transition: color .25s, background .25s; }
.nav__link:hover, .nav__link[aria-expanded="true"] { color: #fff; background: rgba(255, 255, 255, .08); }
.nav__chev { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.nav__link[aria-expanded="true"] .nav__chev { transform: rotate(180deg); }
.has-mega { position: static; }

.mega {
  position: absolute; left: 50%; top: calc(100% - 8px); translate: -50% 14px;
  width: min(1100px, calc(100vw - 48px)); padding: 18px;
  border-radius: 28px; background: rgba(9, 9, 39, .97); backdrop-filter: blur(24px);
  border: 1px solid var(--line-2); box-shadow: 0 50px 120px -20px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .08);
  opacity: 0; visibility: hidden; transition: opacity .3s, translate .45s var(--ease), visibility .3s;
}
.mega.is-open { opacity: 1; visibility: visible; translate: -50% 0; }
.mega__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.mega__col { padding: 14px; border-radius: 20px; transition: background .3s; }
.mega__col:hover { background: rgba(255, 255, 255, .04); }
.mega__head { display: flex; gap: 14px; align-items: center; margin-bottom: 12px; }
.mega__head b { display: flex; gap: 8px; align-items: center; font: 600 .95rem/1.2 var(--ff-b); color: #fff; }
.mega__head small { display: block; font-size: .8rem; color: var(--text-mute); margin-top: 2px; }
.mega__ico { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .25); }
.mega__ico svg { width: 22px; height: 22px; }
.mega__col ul { list-style: none; display: grid; gap: 2px; }
.mega__col li a { display: block; padding: 7px 10px; margin-inline: -10px; border-radius: 10px; font-size: .9rem; color: var(--text-dim); transition: color .2s, background .2s, padding .3s var(--ease); }
.mega__col li a:hover { color: #fff; background: rgba(255, 255, 255, .06); padding-left: 16px; }
.mega__extra { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; margin-top: 10px; padding: 16px 14px 4px; border-top: 1px solid var(--line); font-size: .88rem; }
.mega__extra > span { font: 800 .68rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--text-mute); }
.mega__extra a { color: var(--text-dim); transition: color .2s; }
.mega__extra a:hover { color: var(--mint-300); }
.mega__all { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--mint-300) !important; font-weight: 700; }
.mega__all svg { width: 16px; height: 16px; }

.hdr__cta { display: flex; align-items: center; gap: 12px; }
.hdr__phone { font: 700 .95rem/1 var(--ff-b); letter-spacing: .01em; white-space: nowrap; color: #fff; padding: 8px 4px; }
.hdr__phone:hover { color: var(--mint-300); }
.hdr__lk svg { width: 16px; height: 16px; color: var(--mint-300); }

.burger { display: none; margin-left: auto; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .05); position: relative; cursor: pointer; }
.burger i { position: absolute; left: 14px; right: 14px; height: 2px; border-radius: 2px; background: #fff; transition: transform .45s var(--ease), top .45s var(--ease); }
.burger i:nth-child(1) { top: 19px; }
.burger i:nth-child(2) { top: 27px; }
.burger[aria-expanded="true"] i:nth-child(1) { top: 23px; transform: rotate(45deg); }
.burger[aria-expanded="true"] i:nth-child(2) { top: 23px; transform: rotate(-45deg); }

.mnav { position: fixed; inset: 0; z-index: 70; padding-top: calc(var(--hdr-h) + 8px); background: radial-gradient(600px 400px at 100% 0%, rgba(42, 42, 208, .4), transparent 60%), var(--ink-950); opacity: 0; visibility: hidden; overflow-y: auto; transition: opacity .35s, visibility .35s; }
.mnav.is-open { opacity: 1; visibility: visible; }
.mnav__in { display: grid; gap: 28px; padding-block: 16px 120px; }
.mnav__list { list-style: none; }
.mnav__list > li > a, .mnav__acc summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--line); font: 800 1.552rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; cursor: pointer; list-style: none; }
.mnav__acc summary::-webkit-details-marker { display: none; }
.mnav__list svg { width: 22px; height: 22px; color: var(--mint); transition: transform .3s; }
.mnav__acc[open] summary svg { transform: rotate(180deg); }
.mnav__sub { display: grid; gap: 4px; padding: 10px 0 18px; }
.mnav__sec { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .04); font-weight: 700; }
.mnav__sec svg { width: 20px; height: 20px; }
.mnav__minor { padding: 8px 14px; color: var(--text-dim); }
.mnav__foot { display: grid; gap: 14px; }
.mnav__phone { display: grid; font: 600 1.25rem/1.2 var(--ff-b); }
.mnav__phone small { font-size: .78rem; color: var(--text-mute); font-weight: 500; }

/* =========================================================
   HERO
   ========================================================= */
.hero { position: relative; min-height: min(100svh, 940px); padding: calc(var(--hdr-h) + clamp(28px, 5vw, 64px)) 0 clamp(96px, 10vw, 150px); overflow: clip; background: var(--ink-950); }
.hero__bg { position: absolute; inset: 0; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; will-change: transform; }
.blob--a { width: 760px; height: 760px; left: -240px; top: -260px; background: radial-gradient(circle, rgba(28, 28, 176, .85), transparent 66%); animation: drift 24s ease-in-out infinite alternate; }
.blob--b { width: 680px; height: 680px; right: -200px; top: 4%; background: radial-gradient(circle, rgba(42, 42, 208, .6), transparent 66%); animation: drift 30s ease-in-out infinite alternate-reverse; }
.blob--c { width: 520px; height: 520px; right: 16%; bottom: -200px; background: radial-gradient(circle, rgba(21, 204, 150, .45), transparent 66%); opacity: .55; animation: drift 27s ease-in-out infinite alternate; }
.hero__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 75% 65% at 62% 38%, #000 18%, transparent 76%); mask-image: radial-gradient(ellipse 75% 65% at 62% 38%, #000 18%, transparent 76%); }
.hero__glow { position: absolute; left: 0; top: 0; width: 640px; height: 640px; margin: -320px 0 0 -320px; border-radius: 50%; background: radial-gradient(circle, rgba(21, 204, 150, .15), transparent 62%); transform: translate3d(var(--gx, 60vw), var(--gy, 30vh), 0); transition: transform .6s var(--ease); }

.hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.hero__copy { display: grid; justify-items: start; }

.pill { display: inline-flex; align-items: center; gap: 12px; padding: 9px 18px 9px 14px; border-radius: 999px; font: 700 .82rem/1 var(--ff-b); color: var(--text); background: rgba(255, 255, 255, .06); border: 1px solid var(--line-2); backdrop-filter: blur(10px); }
.pill__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 0 rgba(21, 204, 150, .6); animation: pulse 2s infinite; }

.hero__title { margin: 26px 0 24px; font: 800 clamp(2.242rem, 3.894vw, 3.658rem)/1.08 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; }
.hero__line { display: block; }
.grad { font-style: normal; background: linear-gradient(96deg, #fff 0%, var(--mint-300) 42%, var(--mint) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__lead { max-width: 56ch; font-size: clamp(1.02rem, 1.3vw, 1.2rem); line-height: 1.65; color: var(--text-dim); }

.auditbar { display: flex; align-items: center; gap: 8px; width: min(100%, 580px); margin-top: 34px; padding: 8px 8px 8px 20px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid var(--line-2); backdrop-filter: blur(14px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .1); transition: border-color .3s, box-shadow .3s; }
.auditbar:focus-within { border-color: var(--mint); box-shadow: 0 0 0 5px rgba(21, 204, 150, .14), 0 30px 60px -30px rgba(0, 0, 0, .6); }
.auditbar__ico { flex: none; color: var(--text-mute); }
.auditbar__ico svg { width: 22px; height: 22px; }
.auditbar input { flex: 1; min-width: 0; height: 48px; padding: 0 6px; border: 0; outline: 0; background: none; color: #fff; font: 600 1rem var(--ff-b); }
.auditbar input::placeholder { color: var(--text-mute); font-weight: 500; }
.hero__note { display: flex; gap: 10px; align-items: center; margin-top: 16px; font-size: .88rem; color: var(--text-dim); }
.hero__note svg { width: 16px; height: 16px; color: var(--mint); }
.perks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); width: min(100%, 640px); }
.perks li { display: inline-flex; align-items: center; gap: 10px; font-size: .88rem; font-weight: 600; color: var(--text); }
.perks svg { width: 20px; height: 20px; padding: 4px; border-radius: 50%; color: var(--mint); background: rgba(21, 204, 150, .14); }

/* --- живая выдача --- */
.hero__vis { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: 20px 0 90px; min-width: 0; }
.serp { --row: 62px; --gap: 8px; position: relative; width: min(100%, 520px); perspective: 1400px; }
.orbits { position: absolute; width: 150%; left: -25%; top: 46%; translate: 0 -50%; pointer-events: none; }
.orb { transform-origin: 300px 300px; animation: spin 70s linear infinite; }
.orb--2 { animation-duration: 100s; animation-direction: reverse; }
.orb--3 { animation-duration: 46s; }

.serp__win { position: relative; padding: 16px; border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)); border: 1px solid rgba(255, 255, 255, .15); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 60px 110px -30px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .2); transform: rotateX(var(--rx, 3deg)) rotateY(var(--ry, -7deg)); transition: transform .35s ease-out; }
.serp__top { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; }
.serp__search { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 18px; border-radius: 999px; background: rgba(5, 5, 27, .7); border: 1px solid rgba(255, 255, 255, .12); font-weight: 600; color: #fff; }
.serp__search svg { flex: none; width: 18px; height: 18px; color: var(--text-mute); }
.serp__search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.caret { flex: none; width: 2px; height: 20px; background: var(--mint); animation: blink 1s steps(2, start) infinite; }
.serp__pos { flex: none; display: grid; justify-items: center; gap: 2px; padding: 6px 14px; border-radius: 16px; background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .38); }
.serp__pos small { font: 800 .58rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }
.serp__pos b { min-width: 2ch; text-align: center; font: 800 1.552rem/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.serp__pos b.tick { animation: tick .45s var(--ease); }

.serp__list { position: relative; list-style: none; height: calc(var(--row) * 6 + var(--gap) * 5); }
.res { position: absolute; inset: 0 0 auto 0; height: var(--row); display: flex; align-items: center; gap: 12px; padding: 0 14px; border-radius: 18px; background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .07); transform: translateY(calc(var(--slot) * (var(--row) + var(--gap)))); transition: transform .9s var(--ease), background .5s, border-color .5s, box-shadow .6s; }
.fav { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; font: 700 .82rem/1 var(--ff-b); color: var(--text-dim); background: rgba(255, 255, 255, .08); }
.res__t { flex: 1; min-width: 0; display: grid; gap: 6px; }
.res__t b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; font-size: .9rem; color: #dcdffb; }
.res__t i { display: block; height: 6px; width: 90%; border-radius: 4px; background: rgba(255, 255, 255, .1); }
.res__t i.s { width: 64%; opacity: .6; }
.res--client { z-index: 2; background: linear-gradient(90deg, rgba(21, 204, 150, .2), rgba(21, 204, 150, .05)); border-color: rgba(21, 204, 150, .55); }
.res--client.is-top { box-shadow: 0 0 0 5px rgba(21, 204, 150, .13), 0 24px 56px -12px rgba(21, 204, 150, .5); }
.fav--brand { background: #fff; --logo-accent: var(--mint); color: var(--navy); }
.fav--brand svg { width: 20px; height: 20px; }
.res__tag { flex: none; padding: 5px 10px; border-radius: 999px; font: 800 .64rem/1 var(--ff-b); letter-spacing: .08em; text-transform: uppercase; color: #04261c; background: var(--mint); }
.serp__foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 0 4px; font-size: .74rem; color: var(--text-mute); }
.live { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--mint-300); white-space: nowrap; }
.live i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); animation: pulse 1.6s infinite; }

.serp__badge { position: absolute; z-index: 6; right: -14px; top: 74px; display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; font: 800 .92rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--navy); background: #fff; box-shadow: 0 20px 50px -10px rgba(0, 0, 0, .55); opacity: 0; transform: scale(.5) rotate(-8deg); transition: opacity .4s, transform .7s cubic-bezier(.34, 1.56, .64, 1); letter-spacing: -.02em; }
.serp__badge svg { width: 18px; height: 18px; color: var(--mint-deep); }
.serp__badge.is-on { opacity: 1; transform: none; }

.ai { position: absolute; z-index: 5; left: 6%; right: -5%; bottom: -92px; padding: 16px 18px 14px; border-radius: 22px; background: linear-gradient(140deg, rgba(31, 31, 150, .95), rgba(10, 10, 95, .95)); border: 1px solid rgba(143, 143, 255, .4); box-shadow: 0 36px 70px -20px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .18); backdrop-filter: blur(14px); opacity: 0; transform: translateY(28px) scale(.97); transition: opacity .6s var(--ease), transform .9s var(--ease); }
.ai.is-on { opacity: 1; transform: none; }
.ai__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font: 700 .8rem/1 var(--ff-b); color: #fff; }
.ai__spark { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; color: var(--navy); background: linear-gradient(135deg, var(--mint-300), var(--mint)); }
.ai__spark svg { width: 15px; height: 15px; }
.ai__chips { display: inline-flex; gap: 6px; margin-left: auto; }
.ai__chips i { font-style: normal; padding: 4px 8px; border-radius: 999px; font-size: .64rem; font-weight: 700; color: var(--text-dim); background: rgba(255, 255, 255, .09); }
.ai__text { min-height: 4.6em; margin-top: 12px; font-size: .88rem; line-height: 1.55; color: #e9ebfa; }
.ai__text.is-typing::after { content: ""; display: inline-block; width: 2px; height: 1em; margin-left: 2px; vertical-align: -2px; background: var(--mint); animation: blink 1s steps(2, start) infinite; }
.ai__src { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 5px 12px 5px 8px; border-radius: 999px; font-size: .74rem; color: var(--text-dim); background: rgba(21, 204, 150, .12); border: 1px solid rgba(21, 204, 150, .35); }
.ai__src svg { width: 14px; height: 14px; color: var(--mint); }
.ai__src b { color: #fff; }

/* =========================================================
   TRUST
   ========================================================= */
.trust { position: relative; z-index: 1; padding: 0 0 clamp(72px, 8vw, 112px); background: var(--ink-950); }
.stats { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.stat { padding: clamp(22px, 3vw, 40px) clamp(14px, 2vw, 32px); border-left: 1px solid var(--line); display: grid; gap: 4px; align-content: start; }
.stat:first-child { border-left: 0; padding-left: 0; }
.stat__n { font: 800 clamp(2.596rem, 5.192vw, 4.602rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; }
.stat__n::after { content: ""; display: block; width: 28px; height: 3px; margin-top: 14px; border-radius: 3px; background: var(--mint); }
.stat__l { margin-top: 6px; font-weight: 700; color: var(--text); }
.stat small { font-size: .84rem; color: var(--text-mute); }

.clients { margin-top: clamp(36px, 5vw, 56px); }
.clients__t { margin-bottom: 18px; font: 800 .72rem/1 var(--ff-b); letter-spacing: .16em; text-transform: uppercase; color: var(--text-mute); }
.clients__t .demo-flag { margin: 0 0 0 14px; }
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee__track { display: flex; width: max-content; animation: marquee 38s linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__set { display: flex; gap: clamp(36px, 5vw, 72px); padding-right: clamp(36px, 5vw, 72px); list-style: none; }
.marquee__set li { white-space: nowrap; font: 800 clamp(1.298rem, 2.36vw, 1.888rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: rgba(255, 255, 255, .34); transition: color .3s; }
.marquee__set li:hover { color: #fff; }

/* =========================================================
   DIRECTIONS (light)
   ========================================================= */
.dirs__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.dir { grid-column: span 6; position: relative; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); box-shadow: 0 1px 0 rgba(10, 10, 95, .04), 0 40px 70px -50px rgba(10, 10, 95, .3); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), box-shadow .5s, border-color .4s; }
.dir:nth-child(1), .dir:nth-child(4) { grid-column: span 7; }
.dir:nth-child(2), .dir:nth-child(3) { grid-column: span 5; }
.dir::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 46%); }
.dir:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 50px 80px -44px rgba(10, 10, 95, .45); }
.dir:hover::before { opacity: 1; }
.dir__top { display: flex; align-items: center; gap: 12px; }
.dir__num { font: 800 .9rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--ink-dim); letter-spacing: -.02em; }
.dir__ico { margin-left: auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); transition: background .4s, color .4s, transform .6s var(--ease); }
.dir__ico svg { width: 24px; height: 24px; }
.dir:hover .dir__ico { background: var(--mint); color: #03231a; transform: rotate(-8deg) scale(1.06); }
.dir__pain { margin-top: clamp(26px, 4vw, 48px); font: 700 .98rem/1.3 var(--ff-b); color: var(--mint-deep); }
.dir__title { margin-top: 10px; font: 800 clamp(1.593rem, 2.596vw, 2.183rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.dir__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.dir__text { margin-top: 14px; max-width: 52ch; color: var(--ink-dim); }
.dir__pts { list-style: none; display: grid; gap: 10px; margin: 24px 0 30px; }
.dir__pts li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; font-size: .95rem; }
.dir__pts svg { flex: none; width: 20px; height: 20px; padding: 3px; margin-top: 2px; border-radius: 50%; color: #03231a; background: var(--mint); }
.dir__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line-ink); }
.dir__link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: var(--navy); }
.dir__link svg { width: 20px; height: 20px; transition: transform .45s var(--ease); }
.dir:hover .dir__link svg { transform: translateX(6px); }
.dir__meta { font: 600 .9rem/1 var(--ff-b); color: var(--ink-dim); }

.dir--feat { color: #fff; background: radial-gradient(500px 300px at 100% 0%, rgba(21, 204, 150, .28), transparent 60%), linear-gradient(150deg, #14147f 0%, var(--navy) 45%, #05051b 100%); border-color: rgba(143, 143, 255, .3); }
.dir--feat .dir__num, .dir--feat .dir__text, .dir--feat .dir__meta { color: rgba(255, 255, 255, .7); }
.dir--feat .dir__pain { color: var(--mint-300); }
.dir--feat .dir__ico { color: var(--mint-300); background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); }
.dir--feat .dir__foot { border-color: rgba(255, 255, 255, .16); }
.dir--feat .dir__link { color: #fff; }
.dir--feat:hover { border-color: var(--mint); }

/* =========================================================
   PROCESS (navy)
   ========================================================= */
.proc__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: clamp(36px, 7vw, 110px); align-items: start; }
.proc__sticky { position: sticky; top: calc(var(--hdr-h) + 40px); display: grid; gap: 22px; justify-items: start; }
.steps { position: relative; list-style: none; display: grid; gap: clamp(30px, 4.5vw, 56px); padding-block: 8px; }
.steps::before, .steps::after { content: ""; position: absolute; left: 27px; top: 28px; width: 2px; border-radius: 2px; }
.steps::before { bottom: 28px; background: rgba(255, 255, 255, .12); }
.steps::after { height: calc((100% - 56px) * var(--p, 0)); background: linear-gradient(var(--mint), var(--mint-300)); box-shadow: 0 0 20px rgba(21, 204, 150, .8); }
.step { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 26px; opacity: .4; transition: opacity .6s; }
.step.is-on { opacity: 1; }
.step__n { position: relative; z-index: 1; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; font: 800 .95rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--text-dim); background: var(--ink-900); border: 1px solid var(--line-2); transition: color .5s, border-color .5s, box-shadow .6s, background .5s; letter-spacing: -.02em; }
.step.is-on .step__n { color: #03231a; background: var(--mint); border-color: var(--mint); box-shadow: 0 0 0 7px rgba(21, 204, 150, .14); }
.step__b { padding-top: 10px; }
.step h3 { font: 800 clamp(1.416rem, 2.124vw, 1.77rem)/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: #fff; }
.step p { margin-top: 8px; max-width: 48ch; color: var(--text-dim); }

/* =========================================================
   WHY (light)
   ========================================================= */
.why__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: end; margin-bottom: clamp(32px, 5vw, 56px); }
.why__head > div:first-child { display: grid; gap: 18px; }
.why__big { display: grid; justify-items: end; text-align: right; }
.why__big b { font: 800 clamp(4.72rem, 11.8vw, 10.148rem)/.9 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.06em; background: linear-gradient(180deg, var(--navy) 10%, rgba(10, 10, 95, .06) 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.why__big span { margin-top: 8px; font-weight: 700; color: var(--ink-dim); max-width: 22ch; }
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tile { position: relative; padding: 28px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); transition: transform .5s var(--ease), border-color .4s, box-shadow .5s; }
.tile:hover { transform: translateY(-4px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 30px 50px -36px rgba(10, 10, 95, .4); }
.tile__ico { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 16px; color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); }
.tile__ico svg { width: 24px; height: 24px; }
.tile h3 { font: 600 1.02rem/1.3 var(--ff-b); letter-spacing: -.005em; }
.tile p { margin-top: 8px; font-size: .92rem; color: var(--ink-dim); }

.expert { position: relative; display: grid; grid-template-columns: auto 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: 16px; padding: clamp(24px, 4vw, 48px); border-radius: var(--r-l); color: #fff; overflow: hidden; background: radial-gradient(520px 320px at 0% 0%, rgba(21, 204, 150, .25), transparent 60%), radial-gradient(600px 400px at 100% 100%, rgba(42, 42, 208, .5), transparent 60%), linear-gradient(150deg, #0e0e6e, var(--navy) 50%, #05051b); }
.expert__photo { position: relative; display: grid; place-items: center; justify-items: center; width: clamp(170px, 20vw, 240px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #2b2bb5, #0c0c70 70%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 30px 60px -20px rgba(0, 0, 0, .6); }
.expert__photo > span:first-of-type { font: 800 clamp(2.832rem, 4.72vw, 4.012rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; background: linear-gradient(135deg, #fff, var(--mint-300)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.expert__photo .demo-flag { position: absolute; bottom: -6px; white-space: nowrap; margin: 0; font-size: .6rem; }
.expert__ring { position: absolute; inset: -14px; width: calc(100% + 28px); height: calc(100% + 28px); animation: spin 40s linear infinite; }
.expert__name { margin-top: 10px; font: 800 clamp(1.888rem, 3.54vw, 2.832rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; }
.expert__role { margin-top: 6px; font-weight: 700; color: var(--mint-300); }
.expert__text { margin-top: 14px; max-width: 58ch; color: rgba(255, 255, 255, .78); }
.expert__events { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 22px 0 6px; }
.expert__events li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font: 700 .82rem/1 var(--ff-b); background: rgba(255, 255, 255, .08); border: 1px solid var(--line-2); }
.expert__events svg { width: 16px; height: 16px; color: var(--mint-300); }
.expert .btn { margin-top: 18px; background: #fff; color: var(--navy); }
.expert .btn:hover { background: var(--mint); color: #03231a; }
.expert .demo-flag { color: #ffb020; border-color: #ffb020; }

/* =========================================================
   CASES (dark)
   ========================================================= */
.cases__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.case { position: relative; display: flex; flex-direction: column; padding: 24px; border-radius: var(--r-m); background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid var(--line); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s; }
.case::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .18), transparent 50%); }
.case:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .5); }
.case:hover::before { opacity: 1; }
.case__top { display: flex; justify-content: space-between; align-items: center; }
.case__arrow { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-2); color: var(--text-dim); transition: background .3s, color .3s, transform .5s var(--ease); }
.case__arrow svg { width: 16px; height: 16px; }
.case:hover .case__arrow { background: var(--mint); color: #03231a; border-color: var(--mint); transform: rotate(45deg); }
.case__title { min-height: 2.4em; margin-top: 22px; font: 800 1.25rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.case__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.spark { width: 100%; height: 88px; margin: 22px 0 14px; overflow: visible; }
.spark__line, .chart__line { fill: none; stroke: var(--mint); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 6px rgba(21, 204, 150, .7)); }
.spark__area, .chart__area { opacity: 0; transition: opacity 1.2s .5s; }
.is-in .spark__line, .is-in .chart__line, .is-drawn .chart__line { stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s .3s var(--ease); }
.is-in .spark__area, .is-drawn .chart__area { opacity: 1; }
.case__m { display: grid; gap: 0; }
.case__m div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.case__m dt { font-size: .84rem; color: var(--text-dim); }
.case__m dd { font: 800 1.1rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: #fff; }
.case__m div:first-child dd { color: var(--mint-300); }

/* =========================================================
   CABINET (light)
   ========================================================= */
.cab__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.cab__copy { display: grid; justify-items: start; gap: 20px; }
.cab__copy .ticks { margin-top: 6px; }
.cab__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.cab__vis { position: relative; }
.dash { position: relative; border-radius: 26px; color: var(--text); background: #08081f; border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 70px 120px -40px rgba(10, 10, 95, .65), 0 0 0 8px rgba(10, 10, 95, .06); transform: perspective(1400px) rotateY(var(--ry, -6deg)) rotateX(var(--rx, 2deg)); transition: transform .35s ease-out; }
.dash__bar { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.dash__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.dash__bar i:first-child { background: #ff5f57; } .dash__bar i:nth-child(2) { background: #febc2e; } .dash__bar i:nth-child(3) { background: #28c840; }
.dash__url { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; padding: 5px 14px; border-radius: 999px; font-size: .74rem; color: var(--text-mute); background: rgba(255, 255, 255, .05); }
.dash__url svg { width: 12px; height: 12px; color: var(--mint); }
.dash__body { display: grid; grid-template-columns: 56px 1fr; }
.dash__side { display: grid; align-content: start; gap: 10px; padding: 16px 10px; border-right: 1px solid var(--line); }
.dash__side span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: var(--text-mute); }
.dash__side span svg { width: 18px; height: 18px; }
.dash__side .is-on { color: var(--mint); background: rgba(21, 204, 150, .12); }
.dash__main { padding: 18px; display: grid; gap: 14px; min-width: 0; }
.dash__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.dash__head b { font: 800 .95rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.dash__head span { font-size: .72rem; color: var(--text-mute); }
.kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.kpi { padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); display: grid; gap: 4px; }
.kpi small { font-size: .66rem; color: var(--text-mute); }
.kpi b { font: 800 1.25rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kpi em { font-style: normal; font-size: .72rem; font-weight: 800; color: var(--mint); }
.dash__row { display: grid; grid-template-columns: 1.35fr 1fr; gap: 10px; }
.chart { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.chart svg { width: 100%; height: 110px; overflow: visible; }
.chart__line--2 { stroke: var(--iris); filter: drop-shadow(0 0 5px rgba(107, 107, 255, .7)); stroke-width: 2; opacity: .85; }
.todo { list-style: none; display: grid; gap: 8px; align-content: center; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.todo li { display: flex; align-items: center; gap: 10px; font-size: .74rem; color: var(--text-dim); transition: color .4s; }
.todo i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; border: 1.5px solid var(--line-2); color: transparent; transition: background .4s, border-color .4s, color .4s; }
.todo i svg { width: 12px; height: 12px; stroke-width: 3; }
.todo li.is-done { color: #fff; }
.todo li.is-done i { background: var(--mint); border-color: var(--mint); color: #03231a; }
.kw { width: 100%; border-collapse: collapse; font-size: .76rem; }
.kw td { padding: 9px 4px; border-top: 1px solid var(--line); color: var(--text-dim); }
.kw td:nth-child(2) { width: 40px; text-align: center; font-weight: 800; color: #fff; }
.kw td:last-child { width: 60px; text-align: right; font-weight: 800; }
.kw .up { color: var(--mint); }
.dash__toast { position: absolute; right: -22px; bottom: 38px; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 18px; color: var(--ink-text); background: #fff; box-shadow: 0 30px 60px -16px rgba(10, 10, 95, .5); opacity: 0; transform: translateX(30px) scale(.95); transition: opacity .5s var(--ease), transform .7s var(--ease); }
.dash__toast.is-on { opacity: 1; transform: none; }
.dash__toast-ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #03231a; background: var(--mint); }
.dash__toast-ico svg { width: 20px; height: 20px; }
.dash__toast b { display: block; font-size: .86rem; line-height: 1.2; }
.dash__toast small { font-size: .72rem; color: var(--ink-dim); }

/* =========================================================
   PRICING (dark)
   ========================================================= */
.tiers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
.tier { position: relative; display: flex; flex-direction: column; padding: 60px 24px 28px; border-radius: var(--r-m); background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid var(--line); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s; }
.tier::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 50%); }
.tier:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .5); }
.tier:hover::before { opacity: 1; }
.tier--feat { background: radial-gradient(400px 260px at 100% 0%, rgba(21, 204, 150, .22), transparent 60%), linear-gradient(160deg, #15158f, var(--navy) 60%, #070748); border-color: rgba(21, 204, 150, .6); box-shadow: 0 40px 80px -30px rgba(21, 204, 150, .35); }
.tier .tag { position: absolute; top: 22px; left: 24px; }
.tier__name { font: 800 1.495rem/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.tier__vol { margin-top: 8px; font-size: .9rem; font-weight: 600; color: var(--mint-300); }
.tier__price { display: flex; align-items: baseline; gap: 6px; margin: 26px 0 22px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.tier__price small { font-size: .9rem; color: var(--text-mute); }
.tier__price b { font: 800 clamp(2.006rem, 2.832vw, 2.596rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: #fff; white-space: nowrap; }
.tier__price span { font-size: .84rem; color: var(--text-dim); white-space: nowrap; }
.tier__pts { list-style: none; display: grid; gap: 12px; margin-bottom: 28px; }
.tier__pts li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; color: var(--text); }
.tier__pts svg { flex: none; width: 18px; height: 18px; padding: 3px; margin-top: 2px; border-radius: 50%; color: #03231a; background: var(--mint); }
.tier .btn { margin-top: auto; }
.price__note { margin-top: 32px; text-align: center; color: var(--text-dim); }

/* =========================================================
   REVIEWS (light)
   ========================================================= */
.revs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rev { display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3vw, 34px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); transition: transform .5s var(--ease), box-shadow .5s; }
.rev:hover { transform: translateY(-4px); box-shadow: 0 40px 60px -44px rgba(10, 10, 95, .45); }
.rev__stars { display: flex; gap: 4px; color: #f5b324; }
.rev__stars svg { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.rev blockquote p { font-size: 1.04rem; line-height: 1.6; font-weight: 500; text-wrap: pretty; }
.rev figcaption { display: flex; gap: 14px; align-items: center; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line-ink); }
.rev figcaption b { display: block; font-size: .95rem; line-height: 1.2; }
.rev figcaption small { color: var(--ink-dim); font-size: .84rem; }

/* =========================================================
   FAQ (light)
   ========================================================= */
.faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.faq__side { position: sticky; top: calc(var(--hdr-h) + 32px); display: grid; gap: 20px; }
.faq__aside { margin-top: 12px; padding: 26px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.faq__aside h3 { font: 800 1.2rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.faq__aside p { margin-top: 10px; color: var(--ink-dim); font-size: .94rem; }
.faq__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.faq__list { display: grid; gap: 10px; }
.qa { border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); transition: border-color .3s, box-shadow .4s; }
.qa[open] { border-color: rgba(21, 204, 150, .6); box-shadow: 0 30px 50px -40px rgba(10, 10, 95, .5); }
.qa summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; cursor: pointer; list-style: none; font: 600 1.04rem/1.35 var(--ff-b); }
.qa summary::-webkit-details-marker { display: none; }
.qa__ico { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--navy); background: var(--paper); transition: transform .5s var(--ease), background .3s, color .3s; }
.qa__ico svg { width: 18px; height: 18px; }
.qa[open] .qa__ico { transform: rotate(135deg); background: var(--mint); color: #03231a; }
.qa__a { padding: 0 26px 24px; max-width: 70ch; color: var(--ink-dim); animation: qa-in .5s var(--ease); }

/* =========================================================
   FINAL CTA (navy)
   ========================================================= */
.final { overflow: clip; }
.final__bg { position: absolute; inset: 0; pointer-events: none; }
.final__bg .blob--a { left: auto; right: -200px; top: -200px; opacity: .6; }
.final__bg .blob--c { right: auto; left: 10%; bottom: -260px; }
.final__panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); padding: clamp(28px, 5vw, 64px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); border: 1px solid var(--line-2); backdrop-filter: blur(20px); box-shadow: 0 60px 120px -40px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .16); }
.final__copy { display: grid; align-content: start; gap: 18px; justify-items: start; }
.final__alt { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 18px; padding-top: 24px; border-top: 1px solid var(--line); font-size: .92rem; }
.final__alt span { color: var(--text-mute); }
.final__alt a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; transition: color .2s; }
.final__alt a:hover { color: var(--mint-300); }
.final__alt svg { width: 18px; height: 18px; color: var(--mint); }

/* ---------- forms ---------- */
.lform { display: grid; gap: 12px; }
.lform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field { position: relative; }
.field input { width: 100%; height: 60px; padding: 24px 18px 6px; border-radius: 16px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line-2); outline: 0; color: #fff; font: 600 1rem var(--ff-b); transition: border-color .25s, background .25s, box-shadow .25s; }
.field input:hover { border-color: rgba(255, 255, 255, .28); }
.field input:focus { border-color: var(--mint); background: rgba(255, 255, 255, .09); box-shadow: 0 0 0 4px rgba(21, 204, 150, .14); }
.field label { position: absolute; left: 19px; top: 30px; translate: 0 -50%; font-size: 1rem; font-weight: 500; color: var(--text-dim); pointer-events: none; transition: top .25s var(--ease), font-size .25s var(--ease), color .25s, letter-spacing .25s; }
.field input:focus + label, .field input:not(:placeholder-shown) + label { top: 18px; font-size: .7rem; font-weight: 700; letter-spacing: .05em; color: var(--mint-300); }
.field.has-error input { border-color: #ff6b81; box-shadow: 0 0 0 4px rgba(255, 107, 129, .14); }
.field__err { display: none; margin: 6px 4px 0; font-size: .8rem; color: #ff8a9b; }
.field.has-error .field__err { display: block; }
.lform__legal { font-size: .76rem; line-height: 1.5; color: var(--text-mute); }
.lform__legal a { color: var(--text-dim); border-bottom: 1px solid rgba(255, 255, 255, .3); }
.lform__status { min-height: 1.2em; font-size: .86rem; color: #ff8a9b; }
.lform.is-busy .btn { opacity: .6; pointer-events: none; }

/* ---------- dialog ---------- */
.dlg { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 0; border: 0; border-radius: 28px; background: transparent; color: var(--text); overflow: visible; }
.dlg::backdrop { background: rgba(3, 3, 15, .72); backdrop-filter: blur(8px); animation: fade .35s; }
.dlg[open] .dlg__panel { animation: dlg-in .55s var(--ease); }
.dlg__panel { position: relative; max-height: calc(100dvh - 24px); overflow-y: auto; padding: clamp(24px, 4vw, 40px); border-radius: 28px; background: radial-gradient(420px 260px at 100% 0%, rgba(42, 42, 208, .5), transparent 60%), radial-gradient(360px 240px at 0% 100%, rgba(21, 204, 150, .16), transparent 60%), var(--ink-900); border: 1px solid var(--line-2); box-shadow: 0 60px 120px -30px rgba(0, 0, 0, .8); }
.dlg__close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .05); cursor: pointer; transition: background .25s, transform .4s var(--ease); }
.dlg__close:hover { background: rgba(255, 255, 255, .12); transform: rotate(90deg); }
.dlg__close svg { width: 18px; height: 18px; }
.dlg__title { margin: 16px 0 10px; padding-right: 40px; font: 800 clamp(1.77rem, 3.54vw, 2.242rem)/1.12 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; }
.dlg__lead { margin-bottom: 22px; color: var(--text-dim); font-size: .96rem; }
.dlg__ok { display: grid; justify-items: center; gap: 14px; padding: 20px 0 6px; text-align: center; }
.dlg__ok[hidden] { display: none; }
.dlg__ok h2 { font: 800 1.84rem/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.dlg__ok p { max-width: 36ch; color: var(--text-dim); }
.ok-ring { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; color: #03231a; background: var(--mint); box-shadow: 0 0 0 10px rgba(21, 204, 150, .14), 0 0 60px rgba(21, 204, 150, .5); animation: pop .7s cubic-bezier(.34, 1.56, .64, 1); }
.ok-ring svg { width: 40px; height: 40px; stroke-width: 2.6; }
.final__form .lform.is-sent { display: none; }
.sent-note { display: grid; justify-items: start; gap: 12px; align-content: center; padding: 20px 0; }
.sent-note h3 { font: 800 1.84rem/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.sent-note p { color: var(--text-dim); }

/* ---------- dock ---------- */
.dock { position: fixed; right: clamp(14px, 2vw, 28px); bottom: clamp(14px, 2vw, 28px); z-index: 60; display: flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(24px); pointer-events: none; transition: opacity .5s var(--ease), transform .6s var(--ease); }
.dock.is-on { opacity: 1; transform: none; pointer-events: auto; }
.dock__top { position: relative; display: grid; place-items: center; width: 54px; height: 54px; border: 0; border-radius: 50%; color: #fff; background: rgba(5, 5, 27, .86); backdrop-filter: blur(12px); box-shadow: 0 16px 40px -10px rgba(0, 0, 0, .6); cursor: pointer; }
.dock__top > svg:last-child { width: 20px; height: 20px; }
.dock__ring { position: absolute; inset: 0; width: 100%; height: 100%; }
.dock__ring circle { fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 2.5; }
.dock__ring .dock__prog { stroke: var(--mint); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--sp, 0) * 100); transform: rotate(-90deg); transform-origin: center; }
.dock__cta { height: 54px; box-shadow: 0 16px 40px -8px rgba(21, 204, 150, .6), inset 0 1px 0 rgba(255, 255, 255, .5); }
.mbar { display: none; }

/* =========================================================
   FOOTER
   ========================================================= */
.ftr { position: relative; margin-top: calc(var(--r-sec) * -1); padding: calc(var(--r-sec) + clamp(56px, 7vw, 96px)) 0 36px; border-radius: var(--r-sec) var(--r-sec) 0 0; background: var(--ink-1000); color: var(--text-dim); }
.ftr__top { display: grid; grid-template-columns: 1.3fr .8fr .8fr 1.2fr; gap: clamp(24px, 4vw, 56px); }
.ftr__brand { display: grid; gap: 22px; align-content: start; max-width: 380px; }
.ftr__brand p { font-size: .92rem; }
.ftr h2 { margin-bottom: 18px; font: 800 .72rem/1 var(--ff-b); letter-spacing: .16em; text-transform: uppercase; color: var(--text-mute); }
.ftr__col ul { list-style: none; display: grid; gap: 10px; }
.ftr__col a { transition: color .2s; }
.ftr__col a:hover { color: var(--mint-300); }
.ftr__contacts li { display: grid; gap: 2px; }
.ftr__contacts small { font-size: .78rem; color: var(--text-mute); }
.ftr__phone { font: 600 1.1rem/1.3 var(--ff-b); color: #fff; }
.ftr__hours { display: flex !important; align-items: center; gap: 10px; font-size: .88rem; }
.ftr__hours svg { width: 16px; height: 16px; color: var(--mint); }
.socials { display: flex; gap: 10px; list-style: none; }
.socials a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #fff; border: 1px solid var(--line-2); transition: background .3s, color .3s, border-color .3s, transform .5s var(--ease); }
.socials a:hover { background: var(--mint); color: #03231a; border-color: var(--mint); transform: translateY(-3px); }
.socials svg { width: 20px; height: 20px; }
.ftr__offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: clamp(36px, 5vw, 56px); padding-block: 28px; border-block: 1px solid var(--line); }
.ftr__offices > div { display: flex; gap: 14px; align-items: flex-start; font-size: .92rem; }
.ftr__offices svg { flex: none; width: 22px; height: 22px; margin-top: 2px; color: var(--mint); }
.ftr__offices b { display: block; color: #fff; }
.ftr__bottom { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 28px; font-size: .8rem; color: var(--text-mute); }
.ftr__bottom a { border-bottom: 1px solid rgba(255, 255, 255, .2); }
.ftr__bottom a:hover { color: var(--mint-300); }

/* ---------- 404 ---------- */
.nf { position: relative; min-height: 100svh; display: grid; align-items: center; padding: calc(var(--hdr-h) + 40px) 0 80px; overflow: clip; }
.nf__bg { position: absolute; inset: 0; pointer-events: none; }
.nf__in { position: relative; display: grid; gap: 20px; justify-items: start; }
.nf__code { font: 800 clamp(7.08rem, 25.96vw, 18.88rem)/.85 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.07em; background: linear-gradient(180deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .02)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nf__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }

/* =========================================================
   KEYFRAMES
   ========================================================= */
@keyframes drift { to { transform: translate3d(60px, 40px, 0) scale(1.08); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes blink { 50% { opacity: 0; } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(21, 204, 150, .6); } 70% { box-shadow: 0 0 0 10px rgba(21, 204, 150, 0); } 100% { box-shadow: 0 0 0 0 rgba(21, 204, 150, 0); } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes tick { 0% { transform: translateY(8px); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes qa-in { from { opacity: 0; transform: translateY(-8px); } }
@keyframes fade { from { opacity: 0; } }
@keyframes dlg-in { from { opacity: 0; transform: translateY(30px) scale(.96); } }
@keyframes pop { from { transform: scale(.3); opacity: 0; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1180px) {
  .hdr__phone { display: none; }
  .cases__grid, .tiers { grid-template-columns: repeat(2, 1fr); }
  .ftr__top { grid-template-columns: 1fr 1fr; }
  .ftr__brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 980px) {
  .nav, .hdr__lk { display: none; }
  .burger { display: block; }
  .hdr__cta { margin-left: auto; }
  .hdr__cta .btn--mint { display: none; }
  .hero { min-height: 0; }
  .hero__in { grid-template-columns: minmax(0, 1fr); }
  .hero__vis { padding-bottom: 110px; }
  .serp { width: min(100%, 480px); }
  .proc__grid, .cab__grid, .faq__grid, .why__head, .final__panel { grid-template-columns: 1fr; }
  .proc__sticky, .faq__side { position: static; }
  .why__big { justify-items: start; text-align: left; }
  .dirs__grid { grid-template-columns: 1fr; }
  .dir, .dir:nth-child(n) { grid-column: auto; }
  .tiles, .revs { grid-template-columns: 1fr 1fr; }
  .expert { grid-template-columns: 1fr; justify-items: start; }
  .sec__head--row { grid-template-columns: 1fr; }
  .dash { transform: none; }
}
@media (max-width: 720px) {
  .stats { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .auditbar { flex-wrap: wrap; padding: 10px; border-radius: 28px; }
  .auditbar__ico { display: none; }
  .auditbar input { flex: 1 1 100%; padding: 0 12px; height: 46px; }
  .auditbar .btn { width: 100%; }
  .cases__grid, .tiers, .tiles, .revs { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: 1fr 1fr 1fr; }
  .dash__row { grid-template-columns: 1fr; }
  .dash__toast { right: 8px; bottom: -22px; }
  .dash__head span { display: none; }
  .tier:not(.tier--feat) { padding-top: 28px; }
  .ftr__top { grid-template-columns: 1fr; }
  .ftr__offices { grid-template-columns: 1fr; }
  .ai { left: 0; right: 0; }
  .serp__win { transform: none; }
  .serp__badge { right: 6px; }
  .dock { display: none; }
  .mbar { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(5, 5, 27, .9); backdrop-filter: blur(16px); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .5s var(--ease); }
  .mbar.is-on { transform: none; }
  body { padding-bottom: 0; }
  .ftr { padding-bottom: 110px; }
}
@media (max-width: 420px) {
  .perks { gap: 8px 18px; }
  .serp { --row: 56px; }
  .expert__events li { font-size: .76rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .marquee__track { animation: none; }
}

/* =========================================================
   NICHES — «А вы такое продвигали?»
   ========================================================= */
.niches { overflow: clip; }
.niches__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.niches__bg .blob--b { right: -280px; top: -100px; opacity: .55; }
.niches__bg .blob--c { right: auto; left: -220px; bottom: -260px; opacity: .45; }
.niches .wrap { position: relative; }
.niches__head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 5vw, 72px); align-items: end; }
.niches__head > div { display: grid; gap: 18px; }
.niches__head .lead { max-width: 58ch; }
.nfacts { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); margin: clamp(32px, 5vw, 56px) 0; border-block: 1px solid var(--line); }
.nfacts li { display: grid; gap: 8px; align-content: start; padding: clamp(20px, 3vw, 34px) clamp(14px, 2vw, 32px); border-left: 1px solid var(--line); }
.nfacts li:first-child { border-left: 0; padding-left: 0; }
.nfacts b { font: 800 clamp(2.832rem, 5.9vw, 4.956rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.045em; background: linear-gradient(95deg, #fff 10%, var(--mint-300) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nfacts span { max-width: 30ch; color: var(--text-dim); }

.checker { position: relative; padding: clamp(20px, 3.5vw, 44px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); backdrop-filter: blur(18px); box-shadow: 0 60px 120px -50px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .14); }
.checker__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 22px 40px; align-items: center; }
.checker__q { font: 800 clamp(1.77rem, 3.304vw, 2.714rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; }
.checker__sub { margin-top: 10px; color: var(--text-dim); max-width: 44ch; }
.checker__field { display: flex; align-items: center; gap: 12px; height: 66px; padding: 0 10px 0 22px; border-radius: 999px; background: rgba(5, 5, 27, .75); border: 1px solid var(--line-2); cursor: text; transition: border-color .3s, box-shadow .3s; }
.checker__field:focus-within { border-color: var(--mint); box-shadow: 0 0 0 5px rgba(21, 204, 150, .14); }
.checker__field > svg { flex: none; width: 22px; height: 22px; color: var(--text-mute); }
.checker__field input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; color: #fff; font: 600 1.05rem var(--ff-b); }
.checker__field input::placeholder { color: var(--text-mute); font-weight: 500; }
.checker__clear { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); cursor: pointer; transition: background .25s; }
.checker__clear:hover { background: rgba(255, 255, 255, .16); }
.checker__clear svg { width: 16px; height: 16px; }
.checker__result { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; min-height: 68px; margin-top: 24px; padding: 16px 20px; border-radius: 20px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); transition: background .4s, border-color .4s; }
.checker__result p { flex: 1 1 340px; font-weight: 600; line-height: 1.5; }
.checker__result p b { color: var(--mint-300); }
.checker__result[data-state="yes"] { background: rgba(21, 204, 150, .1); border-color: rgba(21, 204, 150, .55); }
.checker__result[data-state="no"] { border-color: rgba(255, 176, 32, .45); }
.checker__tabs { display: flex; gap: 8px; margin: 26px 0 18px; padding-bottom: 6px; overflow-x: auto; scrollbar-width: none; }
.checker__tabs::-webkit-scrollbar { display: none; }
.ntab { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line-2); background: transparent; color: var(--text-dim); font: 700 .86rem/1 var(--ff-b); cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.ntab small { padding: 3px 7px; border-radius: 999px; font-size: .7rem; font-weight: 800; background: rgba(255, 255, 255, .08); }
.ntab:hover { color: #fff; border-color: rgba(255, 255, 255, .38); }
.ntab.is-on { background: var(--mint); border-color: var(--mint); color: #03231a; }
.ntab.is-on small { background: rgba(3, 35, 26, .16); }
.nchips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; min-height: 120px; }
.nchip { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); font: 600 .88rem/1.2 var(--ff-b); color: var(--text); transition: opacity .35s, transform .4s var(--ease), background .3s, border-color .3s, color .3s, box-shadow .4s; }
.nchips.is-anim .nchip { animation: chip-in .55s var(--ease) both; animation-delay: calc(var(--i, 0) * 14ms); }
.nchip:hover { border-color: var(--mint); color: #fff; }
.nchip.is-hit { transform: translateY(-2px); background: rgba(21, 204, 150, .2); border-color: var(--mint); color: #fff; box-shadow: 0 0 0 4px rgba(21, 204, 150, .1), 0 12px 30px -10px rgba(21, 204, 150, .7); }
.nchip.is-dim { opacity: .2; }
.nchip.is-off { display: none; }
.nchip--more { border-style: dashed; background: transparent; color: var(--mint-300); }

.approach { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px); align-items: start; margin-top: clamp(48px, 7vw, 96px); }
.approach__lead h3 { font: 800 clamp(1.77rem, 3.068vw, 2.596rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; text-wrap: balance; }
.approach__lead p { margin-top: 16px; color: var(--text-dim); max-width: 52ch; }
.approach__cards { display: grid; gap: 12px; }
.acard { display: grid; grid-template-columns: 52px 1fr; column-gap: 18px; row-gap: 4px; padding: 22px 24px; border-radius: var(--r-m); background: rgba(255, 255, 255, .045); border: 1px solid var(--line); transition: border-color .4s, transform .5s var(--ease), background .4s; }
.acard:hover { border-color: rgba(21, 204, 150, .5); transform: translateX(6px); background: rgba(255, 255, 255, .07); }
.acard__ico { grid-row: span 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 18px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); }
.acard__ico svg { width: 24px; height: 24px; }
.acard h4 { font: 600 1.06rem/1.3 var(--ff-b); align-self: end; }
.acard p { font-size: .94rem; color: var(--text-dim); }

/* =========================================================
   WHY: рейтинги, сертификаты, партнёры
   ========================================================= */
.why__head .lead { margin-top: 2px; }
.rates { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rate { position: relative; display: flex; flex-direction: column; padding: 22px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s, box-shadow .5s; }
.rate::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 50%); }
.rate:hover { transform: translateY(-5px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 40px 60px -40px rgba(10, 10, 95, .45); }
.rate:hover::before { opacity: 1; }
.rate__logo { display: block; height: 96px; padding: 10px; overflow: hidden; border-radius: 14px; background: #fff; border: 1px solid var(--line-ink); }
.rate__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rate__logo:has(svg) { display: grid; place-items: center; }
.rate__logo svg { width: 34px; height: 34px; color: var(--navy); }
.rate__n { display: flex; align-items: baseline; gap: 10px; margin: 22px 0 6px; }
.rate__n b { font: 800 clamp(3.54rem, 5.9vw, 5.192rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; font-variant-numeric: tabular-nums; background: linear-gradient(180deg, var(--navy) 20%, #4343d8 110%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rate__n small { font: 800 .7rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-deep); }
.rate h3 { font: 700 1rem/1.3 var(--ff-b); }
.rate > p:last-child { margin-top: 6px; font-size: .9rem; color: var(--ink-dim); }
.tiles { margin-top: 16px; }

.certs, .logos { margin-top: clamp(44px, 6vw, 80px); }
.certs__t { margin-bottom: 24px; font: 800 clamp(1.534rem, 2.714vw, 2.183rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.certs__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cert { position: relative; display: grid; gap: 14px; align-content: start; padding: 0; border: 0; background: none; text-align: left; color: inherit; cursor: zoom-in; }
.cert__img { display: block; aspect-ratio: 285 / 400; overflow: hidden; border-radius: 14px; background: #fff; border: 1px solid var(--line-ink); box-shadow: 0 24px 40px -28px rgba(10, 10, 95, .55); transition: transform .6s var(--ease), box-shadow .5s; }
.cert__img img { width: 100%; height: 100%; object-fit: cover; }
.cert:hover .cert__img, .cert:focus-visible .cert__img { transform: translateY(-8px) rotate(-1deg); box-shadow: 0 44px 60px -30px rgba(10, 10, 95, .6); }
.cert__cap b { display: block; font-size: .95rem; line-height: 1.3; }
.cert__cap small { font-size: .82rem; color: var(--ink-dim); }
.cert__zoom { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #03231a; background: var(--mint); opacity: 0; transform: scale(.6); transition: opacity .3s, transform .5s var(--ease); }
.cert__zoom svg { width: 18px; height: 18px; }
.cert:hover .cert__zoom, .cert:focus-visible .cert__zoom { opacity: 1; transform: none; }
.logos__grid { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lgo { display: block; height: 104px; padding: 12px; overflow: hidden; border-radius: 16px; background: #fff; border: 1px solid var(--line-ink); filter: grayscale(1); opacity: .72; transition: filter .4s, opacity .4s, transform .5s var(--ease), border-color .4s; }
.lgo:hover { filter: none; opacity: 1; transform: translateY(-3px); border-color: rgba(21, 204, 150, .5); }
.lgo img { display: block; width: 100%; height: 100%; object-fit: contain; }

.lbx { width: fit-content; max-width: calc(100vw - 24px); margin: auto; padding: 0; border: 0; background: transparent; overflow: visible; }
.lbx::backdrop { background: rgba(3, 3, 15, .82); backdrop-filter: blur(8px); animation: fade .35s; }
.lbx figure { display: grid; gap: 14px; justify-items: center; cursor: zoom-out; }
.lbx img { width: min(86vw, 420px); height: auto; max-height: 82vh; object-fit: contain; border-radius: 12px; background: #fff; box-shadow: 0 60px 120px -30px rgba(0, 0, 0, .8); animation: dlg-in .5s var(--ease); }
.lbx figcaption { max-width: 60ch; font-weight: 600; text-align: center; color: #fff; }
.lbx__close { position: absolute; top: -16px; right: -16px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-2); border-radius: 50%; background: var(--ink-900); color: #fff; cursor: pointer; }
.lbx__close svg { width: 18px; height: 18px; }

@keyframes chip-in { from { opacity: 0; transform: translateY(12px) scale(.94); } }

@media (max-width: 980px) {
  .niches__head, .checker__top, .approach { grid-template-columns: minmax(0, 1fr); }
  .rates { grid-template-columns: repeat(2, 1fr); }
  .certs__row { grid-template-columns: repeat(2, 1fr); }
  .logos__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .nfacts { grid-template-columns: 1fr; }
  .nfacts li, .nfacts li:first-child { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .nfacts li:first-child { border-top: 0; }
  .checker__field { height: 60px; }
  .checker__result .btn { width: 100%; }
  .rates { gap: 10px; }
  .rate { padding: 16px; }
  .rate__n b { font-size: 2.8rem; }
  .logos__grid { grid-template-columns: repeat(2, 1fr); }
  .acard { grid-template-columns: 44px 1fr; padding: 18px; }
  .acard__ico { width: 44px; height: 44px; border-radius: 14px; }
}

.nchips.is-collapsed { max-height: 250px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 50%, transparent); mask-image: linear-gradient(#000 50%, transparent); }
.nchips-toggle { margin-top: 14px; }
.nchips-toggle svg { transform: none !important; }
@media (max-width: 720px) {
  .nchips { gap: 6px; }
  .nchip { padding: 7px 12px; font-size: .8rem; }
}


/* =========================================================
   PAGE HERO (внутренние страницы) · кластер портретов
   ========================================================= */
.expert__photo img { position: relative; z-index: 1; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.why__head--solo { grid-template-columns: minmax(0, 1fr); }
.why__head--solo .lead { max-width: 62ch; }

.phero { position: relative; padding: calc(var(--hdr-h) + clamp(24px, 4vw, 48px)) 0 clamp(96px, 9vw, 140px); overflow: clip; background: var(--ink-950); }
.phero__bg { position: absolute; inset: 0; pointer-events: none; }
.phero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.phero__copy { display: grid; justify-items: start; min-width: 0; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; font-size: .84rem; color: var(--text-mute); }
.crumbs li + li::before { content: "/"; margin-right: 8px; opacity: .5; }
.crumbs a { transition: color .2s; }
.crumbs a:hover { color: var(--mint-300); }
.crumbs [aria-current] { color: var(--text-dim); }
.phero__title { margin: 24px 0 22px; font: 800 clamp(2.242rem, 4.13vw, 3.776rem)/1.08 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; }
.pstats { list-style: none; display: flex; flex-wrap: wrap; gap: 14px 40px; width: 100%; max-width: 560px; margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--line); }
.pstats li { display: grid; gap: 4px; }
.pstats b { font: 800 clamp(2.242rem, 3.54vw, 3.068rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: #fff; }
.pstats span { max-width: 16ch; font-size: .86rem; color: var(--text-dim); }
.phero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.phero__vis { display: grid; place-items: center; min-width: 0; }
.cluster { position: relative; width: min(100%, 500px); aspect-ratio: 1; }
.cluster .orbits { top: 50%; width: 132%; left: -16%; }
.avatar { position: absolute; margin: 0; overflow: hidden; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .16); box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .75), 0 0 0 9px rgba(255, 255, 255, .04); }
.avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; transform: scale(1.04); }
.avatar--1 { z-index: 2; left: 20%; top: 12%; width: 60%; aspect-ratio: 1; border-color: rgba(21, 204, 150, .75); animation: float 9s ease-in-out infinite; }
.avatar--2 { z-index: 3; left: 0; bottom: 4%; width: 37%; aspect-ratio: 1; animation: float 11s ease-in-out -3s infinite; }
.avatar--3 { z-index: 3; right: 0; bottom: 14%; width: 33%; aspect-ratio: 1; animation: float 10s ease-in-out -6s infinite; }
.floatchip { position: absolute; z-index: 4; padding: 9px 16px; border-radius: 999px; font: 700 .8rem/1 var(--ff-b); background: rgba(255, 255, 255, .1); border: 1px solid var(--line-2); backdrop-filter: blur(12px); animation: float 8s ease-in-out infinite; }
.floatchip--1 { left: 6%; top: 10%; }
.floatchip--2 { right: 2%; top: 36%; animation-delay: -2s; }
.floatchip--3 { left: 36%; bottom: -2%; animation-delay: -4s; }
.floatchip--4 { right: 18%; top: 2%; animation-delay: -6s; color: var(--mint-300); border-color: rgba(21, 204, 150, .45); }
@keyframes float { 50% { transform: translateY(-12px); } }

/* =========================================================
   TEAM LEADS
   ========================================================= */
.leads__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lcard { position: relative; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s, box-shadow .5s; }
.lcard::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 50%); }
.lcard:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 50px 70px -44px rgba(10, 10, 95, .5); }
.lcard:hover::before { opacity: 1; }
.lcard__photo { position: relative; width: 172px; aspect-ratio: 1; margin-bottom: 26px; }
.lcard__photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 50% 22%; clip-path: circle(50%); transform: scale(1.03); box-shadow: 0 24px 44px -20px rgba(10, 10, 95, .55); }
.lcard__ring { position: absolute; inset: -12px; width: calc(100% + 24px); height: calc(100% + 24px); animation: spin 40s linear infinite; }
.lcard .tag { position: absolute; top: 26px; right: 26px; color: var(--mint-deep); background: rgba(21, 204, 150, .12); border-color: rgba(21, 204, 150, .4); }
.lcard__name { font: 800 clamp(1.534rem, 2.242vw, 1.829rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.lcard__role { margin-top: 8px; font-weight: 700; color: var(--mint-deep); }
.lcard__facts { list-style: none; display: grid; gap: 9px; margin: 20px 0 16px; padding-top: 18px; border-top: 1px solid var(--line-ink); }
.lcard__facts li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; font-weight: 600; }
.lcard__facts svg { flex: none; width: 18px; height: 18px; padding: 3px; margin-top: 2px; border-radius: 50%; color: #03231a; background: var(--mint); }
.lcard__text { font-size: .95rem; color: var(--ink-dim); }
.tags { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 20px; }
.tags li { padding: 6px 11px; border-radius: 999px; font: 700 .72rem/1 var(--ff-b); color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); }
.tags--dark li { color: var(--text-dim); background: rgba(255, 255, 255, .05); border-color: var(--line-2); }
.lcard--feat { color: #fff; background: radial-gradient(460px 280px at 100% 0%, rgba(21, 204, 150, .28), transparent 60%), linear-gradient(150deg, #14147f 0%, var(--navy) 45%, #05051b 100%); border-color: rgba(143, 143, 255, .3); }
.lcard--feat .lcard__role { color: var(--mint-300); }
.lcard--feat .lcard__facts { border-color: rgba(255, 255, 255, .16); }
.lcard--feat .lcard__text { color: rgba(255, 255, 255, .75); }
.lcard--feat .lcard__photo img { box-shadow: 0 0 0 3px rgba(21, 204, 150, .55), 0 24px 44px -16px rgba(0, 0, 0, .6); }
.lcard--feat .tag { color: #03231a; background: var(--mint); border-color: transparent; }
.lcard--feat .tags li { color: rgba(255, 255, 255, .85); background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); }
.lcard .demo-flag { align-self: flex-start; }

/* =========================================================
   SPECIALISTS (по отделам)
   ========================================================= */
.spec { overflow: clip; }
.spec__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.spec__bg .blob--b { right: -260px; top: 8%; opacity: .45; }
.spec__bg .blob--c { right: auto; left: -200px; bottom: -240px; opacity: .35; }
.spec .wrap { position: relative; }
.depts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.dept { padding: 22px; border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .02)); border: 1px solid var(--line); }
.dept__head { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.dept__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 16px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); }
.dept__ico svg { width: 22px; height: 22px; }
.dept__head h3 { font: 600 1.05rem/1.25 var(--ff-b); }
.dept__head p { margin-top: 3px; font-size: .82rem; color: var(--text-mute); line-height: 1.4; }
.dept__n { font: 800 2.53rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; color: rgba(255, 255, 255, .16); }
.dept__list { list-style: none; display: grid; gap: 10px; }
.spc { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 16px; border-radius: var(--r-m); background: rgba(255, 255, 255, .035); border: 1px solid transparent; overflow: hidden; isolation: isolate; transition: border-color .3s, background .3s, transform .5s var(--ease); }
.spc::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(300px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 55%); }
.spc:hover { border-color: rgba(21, 204, 150, .45); background: rgba(255, 255, 255, .06); transform: translateX(4px); }
.spc:hover::before { opacity: 1; }
.spc__av { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; font: 800 .95rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); letter-spacing: -.02em; }
.spc h4 { font: 700 .96rem/1.25 var(--ff-b); }
.spc p { margin-top: 5px; font-size: .86rem; line-height: 1.5; color: var(--text-dim); }
.spc .tags { padding-top: 10px; }

/* =========================================================
   EVENTS · PRINCIPLES
   ========================================================= */
.events__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.event { position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 270px; padding: 26px; border-radius: var(--r-m); background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid var(--line); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s; }
.event::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .18), transparent 50%); }
.event:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .5); }
.event:hover::before { opacity: 1; }
.event__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); }
.event__ico svg { width: 22px; height: 22px; }
.event__name { margin-top: 18px; font: 800 clamp(1.652rem, 2.478vw, 2.183rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; background: linear-gradient(95deg, #fff 20%, var(--mint-300)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.event__text { font-size: .92rem; color: var(--text-dim); }
.event .tags { margin-top: auto; }
.tiles--4 { grid-template-columns: repeat(4, 1fr); margin-top: 0; }

@media (max-width: 1180px) {
  .depts { grid-template-columns: 1fr 1fr; }
  .events__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .phero__in { grid-template-columns: minmax(0, 1fr); }
  .cluster { width: min(100%, 420px); margin-inline: auto; }
  .leads__grid { grid-template-columns: 1fr; }
  .lcard { display: grid; grid-template-columns: 172px 1fr; column-gap: 28px; }
  .lcard__photo { grid-row: 1 / span 7; margin-bottom: 0; }
  .tiles--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .depts, .events__grid, .tiles--4 { grid-template-columns: 1fr; }
  .lcard { display: flex; }
  .lcard__photo { width: 148px; margin-bottom: 22px; }
  .cluster { width: min(100%, 340px); }
  .floatchip { font-size: .7rem; padding: 7px 12px; }
}


/* =========================================================
   SERVICE PAGES: герой с графиком, боли, вкладки, типы сайтов
   ========================================================= */
.phero--service .phero__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.growth { position: relative; width: min(100%, 520px); padding: 20px; border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)); border: 1px solid rgba(255, 255, 255, .15); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 60px 110px -30px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .2); transform: perspective(1400px) rotateX(var(--rx, 2deg)) rotateY(var(--ry, -5deg)); transition: transform .35s ease-out; }
.growth__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.growth__head b { font: 800 1.05rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.growth__chart { width: 100%; height: 190px; overflow: visible; }
.growth__axis { display: flex; justify-content: space-between; margin-top: 6px; padding-inline: 2px; font-size: .68rem; color: var(--text-mute); }
.growth .kpis { margin-top: 16px; }
.growth__rows { list-style: none; display: grid; gap: 8px; margin-top: 14px; }
.growth__rows li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); font-size: .86rem; font-weight: 600; }
.growth__rows svg { flex: none; width: 16px; height: 16px; color: var(--text-mute); }
.growth__rows .pos { margin-left: auto; font: 800 .95rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--mint); letter-spacing: -.02em; }
.growth__badge { position: absolute; right: -14px; top: 54px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; font: 800 .86rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--navy); background: #fff; box-shadow: 0 20px 50px -10px rgba(0, 0, 0, .55); animation: float 7s ease-in-out infinite; letter-spacing: -.02em; }
.growth__badge svg { width: 16px; height: 16px; color: var(--mint-deep); }
.growth__cap { margin-top: 18px; text-align: center; font-size: .74rem; color: var(--text-mute); }
.trustline { position: relative; z-index: 1; margin-top: clamp(40px, 6vw, 72px); padding-top: 26px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 16px 40px; flex-wrap: wrap; }
.trustline p { font: 800 .7rem/1.4 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--text-mute); max-width: 24ch; }
.trustline ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; flex: 1; }
.trustline li { display: block; width: 116px; height: 64px; padding: 8px; border-radius: 14px; background: #fff; opacity: .78; filter: grayscale(1); transition: opacity .3s, filter .3s, transform .5s var(--ease); }
.trustline li:hover { opacity: 1; filter: none; transform: translateY(-3px); }
.trustline img { display: block; width: 100%; height: 100%; object-fit: contain; }

.pains__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pain { position: relative; display: flex; flex-direction: column; padding: clamp(24px, 2.6vw, 34px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s, box-shadow .5s; }
.pain::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 50%); }
.pain:hover { transform: translateY(-5px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 40px 60px -40px rgba(10, 10, 95, .45); }
.pain:hover::before { opacity: 1; }
.pain__n { font: 800 .85rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--ink-dim); letter-spacing: -.02em; }
.pain__q { margin-top: 20px; font: 800 clamp(1.274rem, 1.711vw, 1.51rem)/1.28 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; text-wrap: balance; }
.pain__arrow { display: flex; align-items: center; gap: 10px; margin: 22px 0 10px; padding-top: 18px; border-top: 1px dashed var(--line-ink); font: 800 .68rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-deep); }
.pain__arrow svg { width: 18px; height: 18px; }
.pain__a { color: var(--ink-dim); }
.pains__cta { margin-top: clamp(28px, 4vw, 44px); text-align: center; font-weight: 600; color: var(--ink-dim); }
.linkbtn--dark { margin-left: 6px; color: var(--navy); }
.linkbtn--dark:hover { color: var(--mint-deep); }

.ftabs-sec { overflow: clip; }
.ftabs { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(20px, 3.5vw, 48px); align-items: start; }
.ftabs__nav { position: sticky; top: calc(var(--hdr-h) + 24px); display: grid; gap: 8px; }
.ftab { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 13px 16px; border-radius: var(--r-m); border: 1px solid var(--line); background: rgba(255, 255, 255, .03); color: var(--text-dim); text-align: left; cursor: pointer; transition: background .3s, border-color .3s, color .3s, transform .5s var(--ease); }
.ftab:hover { color: #fff; border-color: rgba(255, 255, 255, .28); }
.ftab__n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; font: 800 .82rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; background: rgba(255, 255, 255, .06); transition: background .3s, color .3s; letter-spacing: -.02em; }
.ftab b { display: block; font: 700 .98rem/1.25 var(--ff-b); color: inherit; }
.ftab small { display: block; margin-top: 2px; font-size: .8rem; font-weight: 500; color: var(--text-mute); }
.ftab.is-on { color: #fff; transform: translateX(6px); background: linear-gradient(90deg, rgba(21, 204, 150, .18), rgba(21, 204, 150, .04)); border-color: rgba(21, 204, 150, .6); }
.ftab.is-on .ftab__n { background: var(--mint); color: #03231a; }
.fpanel { padding: clamp(24px, 3.2vw, 44px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); box-shadow: 0 50px 90px -50px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .12); animation: qa-in .55s var(--ease); }
.fpanel[hidden] { display: none; }
.fpanel__ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 22px; border-radius: 18px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .3); }
.fpanel__ico svg { width: 26px; height: 26px; }
.fpanel h3 { font: 800 clamp(1.652rem, 2.714vw, 2.301rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; }
.fpanel > p { margin-top: 14px; max-width: 58ch; color: var(--text-dim); }
.fpanel__list { list-style: none; display: grid; gap: 12px; margin: 26px 0; }
.fpanel__list li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; }
.fpanel__list svg { flex: none; width: 22px; height: 22px; padding: 4px; margin-top: 1px; border-radius: 50%; color: #03231a; background: var(--mint); }
.fpanel__result { padding: 16px 20px; border-radius: 18px; font-weight: 600; background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .42); }
.fpanel__result small { display: block; margin-bottom: 4px; font: 800 .66rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }

.lgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lk { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s, box-shadow .5s; }
.lk::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 55%); }
.lk:hover { transform: translateY(-5px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 36px 56px -38px rgba(10, 10, 95, .45); }
.lk:hover::before { opacity: 1; }
.lk__ico { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 8px; border-radius: 16px; color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); transition: background .4s, color .4s; }
.lk__ico svg { width: 22px; height: 22px; }
.lk:hover .lk__ico { background: var(--mint); color: #03231a; }
.lk h3 { font: 700 1.05rem/1.3 var(--ff-b); }
.lk p { font-size: .9rem; color: var(--ink-dim); }
.lk__go { margin-top: auto; padding-top: 6px; color: var(--navy); }
.lk__go svg { width: 22px; height: 22px; transition: transform .45s var(--ease); }
.lk:hover .lk__go svg { transform: translateX(6px); }
.lk--dark { color: #fff; background: radial-gradient(360px 220px at 100% 0%, rgba(21, 204, 150, .3), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 50%, #05051b); border-color: rgba(143, 143, 255, .3); }
.lk--dark p { color: rgba(255, 255, 255, .72); }
.lk--dark .lk__ico { color: var(--mint-300); background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); }
.lk--dark .lk__go { color: #fff; }

/* светлый вариант блока «Как мы работаем» */
.proc--light .step__n { color: var(--ink-dim); background: #fff; border-color: var(--line-ink); }
.proc--light .steps::before { background: var(--line-ink); }
.proc--light .steps::after { box-shadow: 0 0 14px rgba(21, 204, 150, .6); }
.proc--light .step.is-on .step__n { color: #03231a; background: var(--mint); border-color: var(--mint); box-shadow: 0 0 0 7px rgba(21, 204, 150, .18); }
.proc--light .step h3 { color: var(--ink-text); }
.proc--light .step p { color: var(--ink-dim); }
.proc--light .step { opacity: .5; }
.proc--light .step.is-on { opacity: 1; }

@media (max-width: 1180px) {
  .lgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .phero--service .phero__in { grid-template-columns: minmax(0, 1fr); }
  .growth { margin-inline: auto; transform: none; }
  .pains__grid { grid-template-columns: 1fr 1fr; }
  .ftabs { grid-template-columns: minmax(0, 1fr); }
  .ftabs__nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .ftabs__nav::-webkit-scrollbar { display: none; }
  .ftab { grid-template-columns: 36px auto; padding: 10px 14px; }
  .ftab__n { width: 36px; height: 36px; border-radius: 12px; }
  .ftab small { display: none; }
  .ftab.is-on { transform: none; }
}
@media (max-width: 720px) {
  .pains__grid, .lgrid { grid-template-columns: 1fr; }
  .growth__badge { right: 8px; }
  .trustline li { width: 100px; height: 58px; }
}

.lk--dark { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; column-gap: 24px; row-gap: 2px; align-items: center; padding: 26px 32px; }
.lk--dark .lk__ico { grid-row: span 2; margin-bottom: 0; }
.lk--dark h3 { align-self: end; font-size: 1.2rem; }
.lk--dark p { align-self: start; max-width: 64ch; }
.lk--dark .lk__go { grid-row: span 2; grid-column: 3; margin: 0; padding: 0; }
@media (max-width: 720px) {
  .lk--dark { grid-template-columns: auto 1fr; padding: 22px; }
  .lk--dark .lk__go { display: none; }
}

.lk--dark .lk__ico { grid-column: 1; grid-row: 1 / span 2; }
.lk--dark h3 { grid-column: 2; grid-row: 1; }
.lk--dark p { grid-column: 2; grid-row: 2; }
.lk--dark .lk__go { grid-column: 3; grid-row: 1 / span 2; }
.case__m dd { white-space: nowrap; }
@media (max-width: 720px) {
  .growth__badge { top: -16px; right: 14px; }
}


/* =========================================================
   ГАРАНТИИ · ПРЕСЕЙЛ · КАЛЬКУЛЯТОР · СРАВНЕНИЕ
   ========================================================= */
.guar { overflow: clip; }
.guar__top { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.guar__head { display: grid; gap: 18px; align-content: start; position: sticky; top: calc(var(--hdr-h) + 32px); }
.guar__cond { display: flex; gap: 12px; align-items: flex-start; margin-top: 6px; padding: 16px 18px; border-radius: var(--r-m); background: rgba(255, 255, 255, .05); border: 1px solid var(--line-2); font-size: .9rem; line-height: 1.5; color: var(--text-dim); }
.guar__cond svg { flex: none; width: 22px; height: 22px; margin-top: 1px; color: var(--mint); }
.guar__big { display: grid; gap: 14px; }
.promise { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; padding: clamp(22px, 2.6vw, 32px); border-radius: var(--r-l); background: linear-gradient(135deg, rgba(21, 204, 150, .15), rgba(255, 255, 255, .03) 62%); border: 1px solid rgba(21, 204, 150, .4); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s; }
.promise::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .22), transparent 55%); }
.promise:hover { transform: translateX(-6px); border-color: var(--mint); }
.promise:hover::before { opacity: 1; }
.promise__ico { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 22px; color: #03231a; background: var(--mint); box-shadow: 0 16px 36px -10px rgba(21, 204, 150, .75); }
.promise__ico svg { width: 30px; height: 30px; }
.promise h3 { font: 800 clamp(1.416rem, 2.242vw, 1.829rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.promise p { margin-top: 8px; color: var(--text-dim); }
.promise__n { font: 800 3.22rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; color: rgba(255, 255, 255, .1); }
.guar__how { margin-top: clamp(40px, 6vw, 72px); }
.guar__how-t { margin-bottom: 22px; font: 800 clamp(1.534rem, 2.596vw, 2.124rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.guar__grid { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.guar__grid li { padding: 22px; border-radius: var(--r-m); background: rgba(255, 255, 255, .045); border: 1px solid var(--line); }
.guar__ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 14px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); }
.guar__ico svg { width: 22px; height: 22px; }
.guar__grid b { display: block; font: 700 1rem/1.3 var(--ff-b); }
.guar__grid p { margin-top: 6px; font-size: .88rem; color: var(--text-dim); }

.presale__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: clamp(24px, 4.5vw, 64px); align-items: start; }
.deliv { list-style: none; display: grid; gap: 10px; }
.deliv__item { position: relative; display: grid; grid-template-columns: auto auto 1fr; gap: 16px; align-items: center; padding: 18px 22px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .5s var(--ease), border-color .4s, box-shadow .5s; }
.deliv__item::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .15), transparent 55%); }
.deliv__item:hover { transform: translateX(6px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 30px 50px -36px rgba(10, 10, 95, .45); }
.deliv__item:hover::before { opacity: 1; }
.deliv__n { font: 800 .8rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; color: var(--ink-dim); letter-spacing: -.02em; }
.deliv__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 16px; color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); transition: background .4s, color .4s; }
.deliv__ico svg { width: 22px; height: 22px; }
.deliv__item:hover .deliv__ico { background: var(--mint); color: #03231a; }
.deliv h3 { font: 700 1.02rem/1.3 var(--ff-b); }
.deliv p { margin-top: 3px; font-size: .9rem; color: var(--ink-dim); }
.presale__vis { position: sticky; top: calc(var(--hdr-h) + 24px); }
.report { border-radius: 24px; color: var(--text); background: #08081f; border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 70px 120px -40px rgba(10, 10, 95, .7), 0 0 0 8px rgba(10, 10, 95, .06); transform: perspective(1400px) rotateY(var(--ry, 4deg)) rotateX(var(--rx, 2deg)); transition: transform .35s ease-out; }
.report__bar { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.report__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.report__bar i:first-child { background: #ff5f57; } .report__bar i:nth-child(2) { background: #febc2e; } .report__bar i:nth-child(3) { background: #28c840; }
.report__title { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; padding: 5px 14px; border-radius: 999px; font-size: .74rem; color: var(--text-dim); background: rgba(255, 255, 255, .05); }
.report__title svg { width: 12px; height: 12px; color: var(--mint); }
.report__body { display: grid; gap: 20px; padding: 22px; }
.report__hero small { display: block; font: 800 .66rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }
.report__hero b { display: block; margin-top: 8px; font: 800 clamp(2.242rem, 3.776vw, 3.186rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: #fff; }
.report__hero em { font-style: normal; font-size: .8rem; color: var(--text-mute); }
.report__hero svg { width: 100%; height: 70px; margin-top: 12px; overflow: visible; }
.report__sec h4 { margin-bottom: 12px; font: 800 .66rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--text-mute); }
.bar { display: grid; grid-template-columns: 112px 1fr 38px; gap: 12px; align-items: center; margin-bottom: 9px; font-size: .8rem; color: var(--text-dim); }
.bar i { position: relative; display: block; height: 8px; border-radius: 6px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.bar i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 6px; background: var(--text-mute); transform: scaleX(0); transform-origin: left; transition: transform 1.3s var(--ease) .35s; }
.is-in .bar i::after { transform: scaleX(1); }
.bar--you { color: #fff; font-weight: 700; }
.bar--you i::after { background: var(--mint); box-shadow: 0 0 14px rgba(21, 204, 150, .7); }
.bar b { text-align: right; font-weight: 800; }
.report__chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.report__chips li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; font-size: .72rem; font-weight: 700; color: var(--mint-300); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .3); }
.report__chips svg { width: 12px; height: 12px; }
.report__cap { margin-top: 18px; text-align: center; font-size: .76rem; color: var(--ink-dim); }
.presale__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: clamp(32px, 5vw, 56px); }
.presale__cta p { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--ink-dim); max-width: 52ch; }
.presale__cta p svg { flex: none; width: 20px; height: 20px; padding: 3px; border-radius: 50%; color: #03231a; background: var(--mint); }

.calc-sec { overflow: clip; }
.calc { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 16px; }
.calc__in { display: grid; gap: 28px; align-content: start; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); }
.range { display: grid; gap: 14px; }
.range__top { display: flex; justify-content: space-between; align-items: baseline; gap: 4px 16px; flex-wrap: wrap; font-weight: 700; }
.range__top output { font: 800 1.15rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: var(--mint-300); white-space: nowrap; }
.range input { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 8px; outline: 0; cursor: pointer; background: linear-gradient(90deg, var(--mint) var(--p, 50%), rgba(255, 255, 255, .14) var(--p, 50%)); }
.range input::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 7px solid var(--mint); box-shadow: 0 6px 18px rgba(21, 204, 150, .5); transition: transform .2s; }
.range input:active::-webkit-slider-thumb { transform: scale(1.14); }
.range input::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 7px solid var(--mint); }
.range input::-moz-range-track { background: transparent; }
.range input:focus-visible { outline: 2px solid var(--mint); outline-offset: 6px; }
.range__hint { font-size: .8rem; color: var(--text-mute); }
.calc__out { display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: radial-gradient(420px 260px at 100% 0%, rgba(21, 204, 150, .28), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 55%, #05051b); border: 1px solid rgba(143, 143, 255, .3); }
.calc__lbl { font: 800 .7rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }
.calc__big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.calc__big b { font: 800 clamp(2.714rem, 5.192vw, 4.484rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; color: #fff; font-variant-numeric: tabular-nums; }
.calc__big span { font-weight: 700; color: var(--text-dim); }
.calc__rows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.calc__rows div { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid var(--line); }
.calc__rows small { display: block; font-size: .72rem; color: var(--text-dim); }
.calc__rows b { display: block; margin-top: 4px; font: 800 1.05rem/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.calc__roi { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 16px; font-size: .92rem; font-weight: 600; background: rgba(21, 204, 150, .12); border: 1px solid rgba(21, 204, 150, .4); }
.calc__roi svg { flex: none; width: 22px; height: 22px; color: var(--mint); }
.calc__roi b { color: var(--mint-300); }
.calc__note { font-size: .74rem; line-height: 1.5; color: var(--text-mute); }

.cmp__table { overflow: hidden; border-radius: var(--r-l); border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03); }
.cmp__row { display: grid; grid-template-columns: minmax(150px, .7fr) 1fr 1.15fr; border-top: 1px solid var(--line); }
.cmp__row:first-child { border-top: 0; }
.cmp__row > * { margin: 0; padding: 20px 24px; }
.cmp__row--head { background: rgba(255, 255, 255, .04); font: 800 .72rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; }
.cmp__t { align-self: center; font: 700 1rem/1.3 var(--ff-b); }
.cmp__col { display: flex; align-items: flex-start; gap: 12px; }
.cmp__col svg { flex: none; width: 24px; height: 24px; padding: 5px; margin-top: 0; border-radius: 50%; }
.cmp__col--typ { color: var(--text-mute); }
.cmp__col--typ svg { color: var(--text-mute); background: rgba(255, 255, 255, .08); }
.cmp__col--us { font-weight: 600; color: #fff; background: linear-gradient(90deg, rgba(21, 204, 150, .13), rgba(21, 204, 150, .04)); border-left: 1px solid rgba(21, 204, 150, .4); }
.cmp__col--us svg { color: #03231a; background: var(--mint); }
.cmp__row--head .cmp__col--us { align-items: center; color: var(--mint-300); }
.cmp__row--head .cmp__col--typ { align-items: center; }
.cmp__foot { margin-top: 28px; text-align: center; color: var(--text-dim); }

/* светлый вариант вкладок методики */
.ftabs-sec.sec--light .ftab { color: var(--ink-dim); background: #fff; border-color: var(--line-ink); }
.ftabs-sec.sec--light .ftab:hover { color: var(--ink-text); border-color: rgba(10, 10, 95, .3); }
.ftabs-sec.sec--light .ftab__n { color: var(--ink-dim); background: var(--paper); }
.ftabs-sec.sec--light .ftab small { color: var(--ink-dim); }
.ftabs-sec.sec--light .ftab.is-on { color: var(--ink-text); background: linear-gradient(90deg, rgba(21, 204, 150, .18), #fff 72%); border-color: rgba(21, 204, 150, .6); }
.ftabs-sec.sec--light .ftab.is-on .ftab__n { color: #03231a; background: var(--mint); }
.ftabs-sec.sec--light .fpanel { background: #fff; border-color: var(--line-ink); box-shadow: 0 40px 70px -48px rgba(10, 10, 95, .45); }
.ftabs-sec.sec--light .fpanel h3 { color: var(--ink-text); }
.ftabs-sec.sec--light .fpanel > p { color: var(--ink-dim); }
.ftabs-sec.sec--light .fpanel__ico { color: var(--navy); background: var(--paper); border-color: var(--line-ink); }
.ftabs-sec.sec--light .fpanel__result { color: var(--ink-text); background: rgba(21, 204, 150, .1); border-color: rgba(21, 204, 150, .5); }
.ftabs-sec.sec--light .fpanel__result small { color: var(--mint-deep); }

@media (max-width: 1180px) {
  .guar__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .guar__top, .presale__grid, .calc { grid-template-columns: minmax(0, 1fr); }
  .guar__head, .presale__vis { position: static; }
  .report { transform: none; }
}
@media (max-width: 720px) {
  .promise { grid-template-columns: auto 1fr; gap: 16px; }
  .promise__n { display: none; }
  .promise__ico { width: 54px; height: 54px; border-radius: 18px; }
  .guar__grid { grid-template-columns: 1fr; }
  .deliv__item { grid-template-columns: auto 1fr; padding: 16px; }
  .deliv__n { display: none; }
  .calc__rows { grid-template-columns: 1fr 1fr; }
  .calc__rows div:last-child { grid-column: 1 / -1; }
  .cmp__row { grid-template-columns: 1fr; }
  .cmp__row--head { display: none; }
  .cmp__row > * { padding: 14px 18px; }
  .cmp__t { padding-top: 20px; }
  .cmp__col--us { border-left: 0; border-top: 1px solid rgba(21, 204, 150, .3); }
  .bar { grid-template-columns: 88px 1fr 34px; }
}


/* =========================================================
   ВИЗУАЛЫ УСЛУГ (сайт, нейросеть) · ПИСЬМА · МОДЕЛИ ОПЛАТЫ
   ========================================================= */
.sitevis, .aivis { position: relative; width: min(100%, 530px); transform: perspective(1400px) rotateX(var(--rx, 2deg)) rotateY(var(--ry, -5deg)); transition: transform .35s ease-out; }
.sitevis__win { overflow: hidden; border-radius: 24px; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)); border: 1px solid rgba(255, 255, 255, .15); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: 0 60px 110px -30px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .2); }
.sitevis__bar { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.sitevis__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.sitevis__bar i:first-child { background: #ff5f57; } .sitevis__bar i:nth-child(2) { background: #febc2e; } .sitevis__bar i:nth-child(3) { background: #28c840; }
.sitevis__url { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; padding: 5px 14px; border-radius: 999px; font-size: .76rem; color: var(--text-dim); background: rgba(255, 255, 255, .06); }
.sitevis__url svg { width: 12px; height: 12px; color: var(--mint); }
.sitevis__page { display: grid; gap: 14px; padding: 18px; background: rgba(5, 5, 27, .5); }
.sv-nav { display: flex; align-items: center; gap: 12px; }
.sv-nav b { width: 26px; height: 26px; border-radius: 8px; background: var(--mint); }
.sv-nav span { width: 44px; height: 7px; border-radius: 5px; background: rgba(255, 255, 255, .14); }
.sv-nav em { margin-left: auto; width: 70px; height: 24px; border-radius: 999px; background: rgba(21, 204, 150, .25); border: 1px solid rgba(21, 204, 150, .5); }
.sv-hero { display: grid; grid-template-columns: 1.3fr 1fr; gap: 16px; align-items: center; padding: 18px; border-radius: 16px; background: linear-gradient(135deg, rgba(42, 42, 208, .38), rgba(21, 204, 150, .12)); }
.sv-copy { display: grid; gap: 9px; }
.sv-copy i { display: block; border-radius: 6px; background: rgba(255, 255, 255, .88); }
.sv-h { height: 14px; width: 92%; } .sv-h--s { width: 64%; }
.sv-p { height: 7px; width: 88%; background: rgba(255, 255, 255, .28) !important; } .sv-p--s { width: 60%; }
.sv-btn { justify-self: start; margin-top: 6px; padding: 8px 14px; border-radius: 999px; font: 700 .72rem/1 var(--ff-b); font-style: normal; color: #03231a; background: var(--mint); animation: pulse 2.4s infinite; }
.sv-pic { display: grid; place-items: center; }
.sv-pic svg { width: 86px; height: 86px; color: #fff; opacity: .92; --logo-accent: var(--mint); }
.sv-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sv-cards i { height: 62px; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); }
.sv-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: center; }
.sv-form i { height: 30px; border-radius: 10px; background: rgba(255, 255, 255, .07); border: 1px solid var(--line); }
.sv-form em { width: 90px; height: 30px; border-radius: 10px; background: var(--mint); }
.sitevis__phone { position: absolute; right: -18px; bottom: -34px; display: grid; gap: 8px; width: 118px; padding: 14px 10px 12px; border-radius: 24px; background: #0b0b2e; border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 30px 60px -16px rgba(0, 0, 0, .7); animation: float 9s ease-in-out -2s infinite; }
.ph-notch { justify-self: center; width: 34px; height: 5px; border-radius: 5px; background: rgba(255, 255, 255, .2); }
.ph-h { height: 44px; border-radius: 10px; background: linear-gradient(135deg, rgba(42, 42, 208, .6), rgba(21, 204, 150, .3)); }
.ph-l { height: 6px; border-radius: 4px; background: rgba(255, 255, 255, .28); } .ph-l--s { width: 60%; }
.ph-btn { height: 20px; border-radius: 999px; background: var(--mint); }
.ph-card { height: 34px; border-radius: 10px; background: rgba(255, 255, 255, .07); }
.floatchip--s1 { left: -12px; top: 22%; }
.floatchip--s2 { right: 8%; top: -16px; animation-delay: -3s; }
.floatchip--s3 { left: 10%; bottom: -24px; animation-delay: -5s; color: var(--mint-300); border-color: rgba(21, 204, 150, .45); }

.aivis { display: grid; gap: 16px; padding: 22px; border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)); border: 1px solid rgba(255, 255, 255, .15); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: 0 60px 110px -30px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .2); }
.aivis__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font: 700 .86rem/1 var(--ff-b); }
.aivis__q { display: flex; align-items: center; gap: 12px; width: fit-content; max-width: 100%; padding: 12px 16px; border-radius: 16px 16px 16px 4px; font-size: .92rem; font-weight: 600; background: rgba(255, 255, 255, .07); border: 1px solid var(--line); }
.aivis__q svg { flex: none; width: 18px; height: 18px; color: var(--text-mute); }
.aivis__a { margin-left: auto; padding: 16px 18px; border-radius: 16px 16px 4px 16px; font-size: .92rem; line-height: 1.55; background: linear-gradient(140deg, rgba(31, 31, 150, .92), rgba(10, 10, 95, .92)); border: 1px solid rgba(143, 143, 255, .4); }
.aivis__a mark { padding: 0 2px; border-radius: 3px; color: #fff; font-weight: 800; background: linear-gradient(transparent 52%, rgba(21, 204, 150, .6) 0); }
.aivis__src { list-style: none; display: grid; gap: 8px; }
.aivis__src li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; font-size: .86rem; background: rgba(255, 255, 255, .045); border: 1px solid var(--line); }
.aivis__src li.is-you { background: linear-gradient(90deg, rgba(21, 204, 150, .2), rgba(21, 204, 150, .05)); border-color: rgba(21, 204, 150, .55); }
.aivis__src b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.aivis__src em { flex: none; padding: 4px 9px; border-radius: 999px; font-size: .64rem; font-weight: 800; font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: #04261c; background: var(--mint); }
.aivis__stat { display: grid; gap: 10px; padding-top: 6px; }
.aivis__stat > div:first-child { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.aivis__stat small { max-width: 22ch; font-size: .76rem; color: var(--text-dim); }
.aivis__stat b { font: 800 2.185rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: var(--mint-300); }
.meter { position: relative; height: 10px; border-radius: 8px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.meter i { position: absolute; inset: 0 auto 0 0; width: var(--from); border-radius: 8px; background: linear-gradient(90deg, var(--mint), var(--mint-300)); box-shadow: 0 0 16px rgba(21, 204, 150, .7); transition: width 1.8s var(--ease) .4s; }
.is-in .meter i { width: var(--to); }
.meter__lbl { font-size: .72rem; color: var(--text-mute); }

.letters__ctrl { display: flex; gap: 10px; }
.arrowbtn { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--line-ink); border-radius: 50%; color: var(--navy); background: #fff; cursor: pointer; transition: background .3s, border-color .3s, transform .4s var(--ease); }
.arrowbtn svg { width: 20px; height: 20px; }
.arrowbtn--prev svg { transform: rotate(180deg); }
.arrowbtn:hover { background: var(--mint); border-color: var(--mint); transform: scale(1.06); }
.lstrip { list-style: none; display: flex; gap: 16px; margin-inline: calc(var(--gut) * -1); padding: 8px var(--gut) 28px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gut); scrollbar-width: none; }
.lstrip::-webkit-scrollbar { display: none; }
.lstrip li { flex: none; scroll-snap-align: start; }
.letter { display: block; width: 212px; aspect-ratio: 282 / 390; padding: 0; overflow: hidden; border: 1px solid var(--line-ink); border-radius: 12px; background: #fff; box-shadow: 0 24px 40px -28px rgba(10, 10, 95, .55); cursor: zoom-in; transition: transform .6s var(--ease), box-shadow .5s; }
.letter img { display: block; width: 100%; height: 100%; object-fit: cover; }
.letter:hover { transform: translateY(-8px) rotate(-1deg); box-shadow: 0 44px 60px -30px rgba(10, 10, 95, .6); }

.tiers--3 { grid-template-columns: repeat(3, 1fr); }
.tier--model .tier__price--text { display: grid; gap: 4px; margin: 20px 0 14px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.tier--model .tier__price--text b { font: 800 clamp(1.593rem, 2.242vw, 2.006rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; white-space: normal; }
.tier__text { margin-bottom: 18px; font-size: .92rem; color: var(--text-dim); }
.tier--model .tag { top: 22px; right: 22px; left: auto; }
.tier--model { padding-top: 28px; }

@media (max-width: 1180px) {
  .tiers--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .sitevis, .aivis { margin-inline: auto; transform: none; }
}
@media (max-width: 720px) {
  .tiers--3 { grid-template-columns: 1fr; }
  .sitevis__phone { right: -4px; bottom: -28px; width: 100px; }
  .sv-hero { grid-template-columns: 1fr; }
  .sv-pic { display: none; }
  .letter { width: 168px; }
  .arrowbtn { width: 46px; height: 46px; }
}

/* шапка: 6 пунктов меню в одну строку */
.nav__link { white-space: nowrap; padding-inline: 13px; }
@media (max-width: 1320px) { .hdr__phone { display: none; } }

.shieldbadge { position: absolute; inset: 22%; z-index: 2; display: grid; place-items: center; border-radius: 50%; color: var(--mint-300); background: radial-gradient(circle at 30% 25%, #2b2bb5, #0c0c70 70%); border: 3px solid rgba(21, 204, 150, .7); box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .75), 0 0 0 10px rgba(255, 255, 255, .04), 0 0 80px rgba(21, 204, 150, .25); animation: float 9s ease-in-out infinite; }
.shieldbadge svg { width: 46%; height: 46%; stroke-width: 1.3; filter: drop-shadow(0 0 18px rgba(21, 204, 150, .6)); }


/* =========================================================
   COOKIE: баннер и настройки
   ========================================================= */
.cookie { position: fixed; left: 0; right: 0; margin-inline: auto; bottom: clamp(12px, 2vw, 20px); z-index: 95; width: min(480px, calc(100vw - 24px)); padding: 18px 20px 16px; border-radius: 20px; text-align: center; color: var(--text); background: rgba(10, 10, 40, .96); border: 1px solid var(--line-2); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .1); animation: cookie-in .7s var(--ease) both; }
.cookie[hidden] { display: none; }
.cookie__t { margin: 0 0 6px; font: 700 1rem/1.25 var(--ff-b); color: #fff; }
.cookie__p { margin: 0; font-size: .82rem; line-height: 1.5; color: var(--text-dim); }
.cookie__p a { color: var(--mint-300); border-bottom: 1px solid rgba(95, 227, 187, .4); transition: color .2s, border-color .2s; }
.cookie__p a:hover { color: #fff; border-color: #fff; }
.cookie__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.cookie .btn { --h: 36px; padding: 0 .9em; font-size: .78rem; }
.cookie__min { color: #03231a; background: linear-gradient(180deg, #7aedc8, #4fe0b3); box-shadow: none; }
.cookie__btns--dlg { margin-top: 26px; justify-content: flex-start; }
body.has-cookie .dock, body.has-cookie .mbar { opacity: 0; pointer-events: none; }
@keyframes cookie-in { from { opacity: 0; transform: translateY(28px) scale(.97); } }

.dlg--cookie { width: min(560px, calc(100vw - 24px)); }
.cset { list-style: none; display: grid; gap: 10px; margin-top: 8px; }
.cset li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.cset b { display: block; font: 700 1rem/1.3 var(--ff-b); }
.cset p { margin-top: 4px; font-size: .86rem; line-height: 1.45; color: var(--text-dim); }
.switch { position: relative; flex: none; width: 52px; height: 30px; cursor: pointer; }
.switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.switch i { position: absolute; inset: 0; border-radius: 999px; background: rgba(255, 255, 255, .16); transition: background .3s; pointer-events: none; }
.switch i::after { content: ""; position: absolute; left: 4px; top: 4px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .4); transition: transform .35s var(--ease); }
.switch input:checked + i { background: var(--mint); }
.switch input:checked + i::after { transform: translateX(22px); }
.switch input:disabled { cursor: not-allowed; }
.switch input:disabled + i { opacity: .55; }
.switch input:focus-visible + i { outline: 2px solid var(--mint); outline-offset: 3px; }
.ftr__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; }
.ftr__legal button { padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.ftr__legal button:hover { color: var(--mint-300); }
@media (max-width: 720px) {
  .cookie { padding: 16px 16px 14px; border-radius: 18px; }
  .cookie__btns { display: grid; gap: 6px; }
  .cookie__btns .btn { width: 100%; }
}


/* юридические страницы */
.phero--legal { padding-bottom: clamp(88px, 8vw, 120px); }
.phero--legal .wrap { position: relative; z-index: 1; }
.legal__h1 { max-width: 22ch; margin: 8px 0 14px; font: 800 clamp(2.124rem, 4.012vw, 3.54rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; text-wrap: balance; }
.legal__meta { font-size: .88rem; color: var(--text-mute); }
.legal { padding-top: calc(var(--r-sec) + clamp(40px, 5vw, 72px)); }
.legal__grid { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.legal__toc { position: sticky; top: calc(var(--hdr-h) + 24px); padding: 22px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.legal__toc p { margin-bottom: 12px; font: 800 .7rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-deep); }
.legal__toc ol { list-style: none; display: grid; gap: 4px; }
.legal__toc a { display: block; padding: 7px 10px; margin-inline: -10px; border-radius: 10px; font-size: .9rem; color: var(--ink-dim); transition: background .2s, color .2s; }
.legal__toc a:hover { background: var(--paper); color: var(--navy); }
.prose { max-width: 74ch; color: var(--ink-text); }
.prose__lead { margin-bottom: 8px; font-size: 1.15rem; line-height: 1.6; color: var(--ink-dim); }
.prose h2 { margin: 40px 0 12px; font: 800 clamp(1.534rem, 2.36vw, 1.947rem)/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; scroll-margin-top: calc(var(--hdr-h) + 24px); }
.prose p { margin-top: 12px; color: var(--ink-dim); line-height: 1.7; }
.prose ul { margin: 14px 0 0; padding-left: 0; list-style: none; display: grid; gap: 10px; }
.prose li { position: relative; padding-left: 26px; color: var(--ink-dim); line-height: 1.65; }
.prose li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--mint); }
.prose__table { margin-top: 16px; overflow-x: auto; border-radius: var(--r-m); border: 1px solid var(--line-ink); background: #fff; }
.prose table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.prose th { padding: 12px 16px; text-align: left; font: 800 .7rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dim); background: var(--paper); }
.prose td { padding: 13px 16px; border-top: 1px solid var(--line-ink); color: var(--ink-dim); vertical-align: top; }
.prose td:first-child { font-weight: 700; color: var(--ink-text); white-space: nowrap; }
@media (max-width: 980px) {
  .legal__grid { grid-template-columns: minmax(0, 1fr); }
  .legal__toc { position: static; }
}


/* =========================================================
   ПОРТФОЛИО: карточки, фильтр, страница проекта
   ========================================================= */
.works { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.works > div { display: contents; }
.wprev .works > div, .prel .works > div { display: block; }
.work { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), box-shadow .5s, border-color .4s; }
.work::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .14), transparent 55%); }
.work:hover { transform: translateY(-8px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 50px 70px -44px rgba(10, 10, 95, .5); }
.work:hover::before { opacity: 1; }
.work.is-off { display: none; }
.work__shot { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #0b0b2e; border-bottom: 1px solid var(--line-ink); }
.work__bar { position: absolute; inset: 0 0 auto 0; z-index: 2; display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; background: rgba(8, 8, 31, .94); }
.work__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.work__bar i:first-child { background: #ff5f57; } .work__bar i:nth-child(2) { background: #febc2e; } .work__bar i:nth-child(3) { background: #28c840; }
.work__bar em { margin-left: 8px; overflow: hidden; font-size: .68rem; font-style: normal; color: var(--text-dim); white-space: nowrap; text-overflow: ellipsis; }
.work__img { position: absolute; left: 0; top: 30px; width: 100%; height: calc(100% - 30px); object-fit: cover; object-position: 50% 0; transition: object-position 5s ease-in-out, transform .7s var(--ease); }
.work:hover .work__img.is-tall { object-position: 50% 100%; }
.work:hover .work__img:not(.is-tall) { transform: scale(1.05); }
.work__badge { position: absolute; right: 12px; bottom: 12px; z-index: 3; padding: 5px 11px; border-radius: 999px; font: 800 .64rem/1.2 var(--ff-b); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: #03231a; background: var(--mint); }
.work__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 22px 24px 24px; }
.work__type { font: 800 .68rem/1.3 var(--ff-b); letter-spacing: .12em; text-transform: uppercase; color: var(--mint-deep); }
.work__name { font: 800 1.495rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.work__descr { font-size: .92rem; color: var(--ink-dim); }
.work__m { list-style: none; display: flex; gap: 22px; margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--line-ink); }
.work__m small { display: block; font-size: .7rem; color: var(--ink-dim); }
.work__m b { font: 800 1rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.work__go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; font-weight: 800; color: var(--navy); }
.work__go svg { width: 20px; height: 20px; transition: transform .45s var(--ease); }
.work:hover .work__go svg { transform: translateX(6px); }

.pfilter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.pf { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border: 1px solid var(--line-ink); border-radius: 999px; background: #fff; color: var(--ink-dim); font: 700 .88rem/1 var(--ff-b); cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.pf small { padding: 3px 8px; border-radius: 999px; font-size: .7rem; font-weight: 800; background: var(--paper); }
.pf:hover { color: var(--navy); border-color: rgba(10, 10, 95, .35); }
.pf.is-on { color: #fff; background: var(--navy); border-color: var(--navy); }
.pf.is-on small { background: rgba(255, 255, 255, .18); }

.phero--project .phero__in { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.phero__title--sm { font-size: clamp(1.7rem, 3vw, 2.7rem); }
.tagrow { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.tagrow li { padding: 7px 13px; border-radius: 999px; font: 700 .76rem/1 var(--ff-b); color: var(--text-dim); background: rgba(255, 255, 255, .06); border: 1px solid var(--line-2); }
.bframe { overflow: hidden; border-radius: 20px; background: #0b0b2e; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 60px 110px -30px rgba(0, 0, 0, .7); }
.bframe__bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: rgba(255, 255, 255, .05); border-bottom: 1px solid var(--line); }
.bframe__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.bframe__bar i:first-child { background: #ff5f57; } .bframe__bar i:nth-child(2) { background: #febc2e; } .bframe__bar i:nth-child(3) { background: #28c840; }
.bframe__url { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; padding: 4px 14px; border-radius: 999px; font-size: .74rem; color: var(--text-dim); background: rgba(255, 255, 255, .06); }
.bframe__url svg { width: 12px; height: 12px; color: var(--mint); }
.bframe__view img { display: block; width: 100%; height: auto; }
.bframe--hero { transform: perspective(1400px) rotateX(var(--rx, 2deg)) rotateY(var(--ry, -5deg)); transition: transform .35s ease-out; }
.pshow__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(20px, 4vw, 56px); align-items: center; }
.pshow__grid > .bframe:only-child { grid-column: 1 / -1; }
.bframe--tall { box-shadow: 0 60px 90px -40px rgba(10, 10, 95, .6); }
.bframe__scroll { height: min(640px, 70vh); overflow: hidden; background: #fff; }
.bframe__scroll img { display: block; width: 100%; height: auto; animation: shotscroll 24s ease-in-out infinite alternate; animation-play-state: paused; }
.is-in .bframe__scroll img { animation-play-state: running; }
.bframe__scroll:hover img { animation-play-state: paused; }
@keyframes shotscroll { to { transform: translateY(calc(-100% + min(640px, 70vh))); } }
.phone { position: relative; width: clamp(190px, 20vw, 260px); aspect-ratio: 390 / 844; padding: 10px; border-radius: 40px; background: #0b0b2e; border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 50px 80px -30px rgba(10, 10, 95, .7), inset 0 0 0 2px rgba(255, 255, 255, .05); }
.phone__notch { position: absolute; left: 50%; top: 15px; z-index: 2; width: 34%; height: 16px; border-radius: 12px; translate: -50% 0; background: #05051b; }
.phone__scr { height: 100%; overflow: hidden; border-radius: 31px; background: #fff; }
.phone__scr img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.tokens { display: flex; flex-wrap: wrap; gap: 24px 64px; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line-ink); }
.tokens small { display: block; margin-bottom: 10px; font: 800 .68rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-deep); }
.tokens p { font-weight: 700; }
.swatches { list-style: none; display: flex; flex-wrap: wrap; gap: 14px; }
.swatches li { display: flex; align-items: center; gap: 8px; font: 700 .8rem/1 var(--ff-b); }
.swatches i { width: 30px; height: 30px; border-radius: 10px; border: 1px solid rgba(10, 10, 95, .2); }

.pstory { overflow: clip; }
.story { display: grid; grid-template-columns: 1fr 1.35fr 1fr; gap: 16px; }
.scard { padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); }
.scard__ico { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 18px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .3); }
.scard__ico svg { width: 24px; height: 24px; }
.scard h3 { font: 800 1.552rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.scard p { margin-top: 14px; line-height: 1.65; color: var(--text-dim); }
.scard__list { list-style: none; display: grid; gap: 11px; margin-top: 18px; }
.scard__list li { display: flex; align-items: flex-start; gap: 12px; font-weight: 600; }
.scard__list svg { flex: none; width: 20px; height: 20px; padding: 3px; margin-top: 2px; border-radius: 50%; color: #03231a; background: var(--mint); }
.scard__m { list-style: none; margin-top: 22px; border-top: 1px solid var(--line); }
.scard__m li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.scard__m small { font-size: .84rem; color: var(--text-dim); }
.scard__m b { font: 800 1.05rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: var(--mint-300); }
.gal { margin-top: clamp(36px, 5vw, 64px); }
.gal__t { margin-bottom: 20px; font: 800 clamp(1.534rem, 2.596vw, 2.124rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.gal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gal__item { padding: 0; overflow: hidden; border: 1px solid var(--line-2); border-radius: var(--r-m); background: #0b0b2e; aspect-ratio: 3 / 2; cursor: zoom-in; transition: transform .55s var(--ease), border-color .3s; }
.gal__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gal__item:hover { transform: translateY(-6px); border-color: var(--mint); }
.prel__cta { margin-top: 32px; text-align: center; font-weight: 600; color: var(--ink-dim); }
.prel__cta a { color: var(--navy); border-bottom: 1px solid rgba(10, 10, 95, .35); transition: color .2s, border-color .2s; }
.prel__cta a:hover { color: var(--mint-deep); border-color: var(--mint-deep); }

/* =========================================================
   САЙТЫ ОТ ИИ
   ========================================================= */
.aipromo { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: clamp(24px, 3vw, 36px); padding: clamp(28px, 4vw, 52px); border-radius: var(--r-l); color: #fff; overflow: hidden; background: radial-gradient(520px 320px at 100% 0%, rgba(21, 204, 150, .32), transparent 60%), radial-gradient(420px 300px at 0% 100%, rgba(42, 42, 208, .5), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 55%, #05051b); border: 1px solid rgba(143, 143, 255, .32); box-shadow: 0 60px 100px -50px rgba(10, 10, 95, .8); }
.aipromo h3 { margin: 16px 0 14px; font: 800 clamp(1.888rem, 3.54vw, 2.95rem)/1.12 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; text-wrap: balance; }
.aipromo__l > p:not(.eyebrow):not(.aipromo__proof) { max-width: 52ch; color: rgba(255, 255, 255, .78); }
.aipromo__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.aipromo__proof { display: flex; align-items: center; gap: 12px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: .88rem; font-weight: 600; color: rgba(255, 255, 255, .85); }
.aipromo__proof img { flex: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; border: 2px solid var(--mint); }
.aipromo__r { list-style: none; display: grid; gap: 10px; }
.aipromo__r li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 22px; border-radius: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); }
.aipromo__r span { font-weight: 600; color: rgba(255, 255, 255, .85); }
.aipromo__r b { font: 800 1.2rem/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; text-align: right; white-space: nowrap; }
.aipromo__r small { display: block; font: 500 .7rem/1.3 var(--ff-b); letter-spacing: 0; color: var(--text-dim); }
.aipromo__ex { position: relative; flex-wrap: wrap; background: linear-gradient(120deg, rgba(21, 204, 150, .28), rgba(21, 204, 150, .08)) !important; border-color: rgba(21, 204, 150, .6) !important; }
.aipromo__ex em { flex-basis: 100%; font-style: normal; font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mint-300); }
.aiband { overflow: clip; }
.aiband .aipromo { margin-top: 0; }

.aisteps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.aistep { position: relative; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 34px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .55s var(--ease), border-color .4s, box-shadow .5s; }
.aistep::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(21, 204, 150, .16), transparent 55%); }
.aistep:hover { transform: translateY(-6px); border-color: rgba(21, 204, 150, .55); box-shadow: 0 40px 60px -40px rgba(10, 10, 95, .45); }
.aistep:hover::before { opacity: 1; }
.aistep__n { position: absolute; top: 22px; right: 26px; font: 800 2.76rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; color: rgba(10, 10, 95, .08); }
.aistep__ico { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 18px; color: var(--navy); background: var(--paper); border: 1px solid var(--line-ink); transition: background .4s, color .4s; }
.aistep__ico svg { width: 24px; height: 24px; }
.aistep:hover .aistep__ico { background: var(--mint); color: #03231a; }
.aistep h3 { font: 800 1.25rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.aistep > p:not(.aistep__price) { margin-top: 10px; font-size: .94rem; color: var(--ink-dim); }
.aistep__price { margin-top: auto; padding-top: 22px; font: 800 clamp(1.888rem, 2.832vw, 2.36rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: var(--navy); }
.aistep__price small { font: 600 .8rem/1 var(--ff-b); letter-spacing: 0; color: var(--ink-dim); }
.aimid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 16px; margin-top: 16px; }
.aiinc { padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); }
.aiinc h3 { margin-bottom: 20px; font: 800 clamp(1.475rem, 2.36vw, 1.888rem)/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.aiinc ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.aiinc li { display: flex; align-items: flex-start; gap: 12px; font-weight: 600; font-size: .95rem; }
.aiinc svg { flex: none; width: 22px; height: 22px; padding: 4px; margin-top: 1px; border-radius: 50%; color: #03231a; background: var(--mint); }
.aiproof { display: grid; align-content: center; justify-items: start; gap: 12px; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); color: #fff; background: radial-gradient(400px 260px at 100% 0%, rgba(21, 204, 150, .3), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 55%, #05051b); border: 1px solid rgba(143, 143, 255, .3); }
.aiproof .eyebrow { color: var(--mint-300); }
.aiproof__ph { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; border: 3px solid var(--mint); box-shadow: 0 0 0 8px rgba(21, 204, 150, .14); }
.aiproof__t { font: 800 clamp(1.357rem, 2.124vw, 1.77rem)/1.25 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.aiproof__s { font-size: .9rem; color: rgba(255, 255, 255, .72); }
.aiexample { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 16px; padding: 22px clamp(20px, 3vw, 32px); border-radius: var(--r-l); background: linear-gradient(120deg, rgba(21, 204, 150, .18), rgba(21, 204, 150, .05)); border: 1px solid rgba(21, 204, 150, .55); }
.aiexample__l { padding: 6px 12px; border-radius: 999px; font: 800 .68rem/1 var(--ff-b); letter-spacing: .12em; text-transform: uppercase; color: #03231a; background: var(--mint); }
.aiexample p { flex: 1 1 320px; font-size: 1.05rem; line-height: 1.5; }
.aiexample s { color: var(--ink-dim); }
.aiexample__btns { display: flex; flex-wrap: wrap; gap: 10px; }

.aicalc-sec { overflow: clip; }
.aicalc { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 16px; }
.aicalc__in { display: grid; gap: 28px; align-content: start; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); }
.aichecks { display: grid; gap: 10px; }
.aicheck { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px 18px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line-2); cursor: pointer; transition: background .3s, border-color .3s; }
.aicheck:hover { border-color: rgba(255, 255, 255, .32); }
.aicheck input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.aicheck__box { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; color: transparent; background: rgba(255, 255, 255, .08); border: 1.5px solid var(--line-2); transition: background .3s, border-color .3s, color .3s; }
.aicheck__box svg { width: 16px; height: 16px; stroke-width: 3; }
.aicheck input:checked ~ .aicheck__box { color: #03231a; background: var(--mint); border-color: var(--mint); }
.aicheck:has(input:checked) { background: rgba(21, 204, 150, .1); border-color: rgba(21, 204, 150, .55); }
.aicheck input:focus-visible ~ .aicheck__box { outline: 2px solid var(--mint); outline-offset: 3px; }
.aicheck__t b { display: block; font: 700 .98rem/1.3 var(--ff-b); }
.aicheck__t small { display: block; margin-top: 3px; font-size: .8rem; line-height: 1.4; color: var(--text-dim); }
.aicheck__p { font: 800 1rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: var(--mint-300); white-space: nowrap; }
.aicalc__tip { display: flex; gap: 12px; align-items: flex-start; font-size: .86rem; line-height: 1.5; color: var(--text-dim); }
.aicalc__tip svg { flex: none; width: 20px; height: 20px; color: var(--mint); }
.aicalc__out { display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: radial-gradient(420px 260px at 100% 0%, rgba(21, 204, 150, .28), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 55%, #05051b); border: 1px solid rgba(143, 143, 255, .3); }
.aibreak { list-style: none; display: grid; gap: 0; border-block: 1px solid rgba(255, 255, 255, .14); }
.aibreak li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; font-size: .92rem; }
.aibreak li + li { border-top: 1px solid rgba(255, 255, 255, .1); }
.aibreak span { color: var(--text-dim); }
.aibreak b { font: 800 1rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.aisave { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.aisave > div { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid var(--line); }
.aisave small { display: block; font-size: .7rem; color: var(--text-dim); }
.aisave s { display: block; margin-top: 4px; font: 800 1rem/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: var(--text-mute); }
.aisave b { display: block; margin-top: 4px; font: 800 1.05rem/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: var(--mint-300); font-variant-numeric: tabular-nums; }

.custom { overflow: clip; }
.custom__top { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.custom__head { display: grid; gap: 18px; justify-items: start; }
.custom__price { display: grid; gap: 4px; margin-top: 6px; }
.custom__price span { font: 800 .7rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--text-mute); }
.custom__price b { font: 800 clamp(2.36rem, 4.72vw, 3.776rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.045em; background: linear-gradient(95deg, #fff, var(--mint-300)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.custom__list { list-style: none; display: grid; gap: 10px; }
.custom__list li { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: var(--r-m); background: rgba(255, 255, 255, .045); border: 1px solid var(--line); }
.custom__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--mint); background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .28); }
.custom__ico svg { width: 22px; height: 22px; }
.custom__list b { font: 700 1rem/1.3 var(--ff-b); }
.custom__list p { margin-top: 4px; font-size: .88rem; color: var(--text-dim); }
.choose { margin-top: clamp(40px, 6vw, 72px); }
.choose__t { margin-bottom: 22px; font: 800 clamp(1.534rem, 2.596vw, 2.124rem)/1.15 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.choose__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.choice { display: flex; flex-direction: column; gap: 10px; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); background: rgba(255, 255, 255, .045); border: 1px solid var(--line-2); }
.choice--accent { background: radial-gradient(400px 260px at 100% 0%, rgba(21, 204, 150, .26), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 55%, #070748); border-color: rgba(21, 204, 150, .55); }
.choice__tag { font: 800 .68rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }
.choice h4 { font: 800 1.61rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.choice__price { font: 600 1.05rem/1.2 var(--ff-b); color: var(--mint-300); }
.choice ul { list-style: none; display: grid; gap: 10px; margin: 8px 0 20px; }
.choice li { display: flex; gap: 12px; align-items: flex-start; font-size: .94rem; }
.choice li svg { flex: none; width: 20px; height: 20px; padding: 3px; margin-top: 2px; border-radius: 50%; color: #03231a; background: var(--mint); }
.choice .btn { margin-top: auto; align-self: flex-start; }

.ftr__credit { margin-top: 10px; font-size: .78rem; }
.ftr__credit a { color: var(--mint-300); border-bottom: 1px solid rgba(95, 227, 187, .35); }

@media (max-width: 1180px) {
  .works { grid-template-columns: repeat(2, 1fr); }
  .story { grid-template-columns: 1fr 1fr; }
  .story .scard--wide { grid-column: 1 / -1; order: 3; }
}
@media (max-width: 980px) {
  .phero--project .phero__in, .aipromo, .aimid, .aicalc, .custom__top { grid-template-columns: minmax(0, 1fr); }
  .aisteps { grid-template-columns: minmax(0, 1fr); }
  .pshow__grid { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .bframe--hero { transform: none; }
  .choose__grid { grid-template-columns: minmax(0, 1fr); }
  .gal__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .works { grid-template-columns: minmax(0, 1fr); }
  .story { grid-template-columns: minmax(0, 1fr); }
  .aiinc ul { grid-template-columns: minmax(0, 1fr); }
  .aisave { grid-template-columns: 1fr 1fr; }
  .aisave > div:last-child { grid-column: 1 / -1; }
  .aipromo__r li { flex-wrap: wrap; }
  .gal__grid { grid-template-columns: minmax(0, 1fr); }
  .aicheck { grid-template-columns: auto 1fr; }
  .aicheck__p { grid-column: 2; }
}

.pgrid__note { margin-top: 36px; text-align: center; font-weight: 600; color: var(--ink-dim); }
.pgrid__note a { color: var(--navy); border-bottom: 1px solid rgba(10, 10, 95, .35); transition: color .2s, border-color .2s; }
.pgrid__note a:hover { color: var(--mint-deep); border-color: var(--mint-deep); }
.ftr__bottom { align-items: flex-start; }

/* Коллаж из работ на первом экране портфолио */
.collage { position: relative; width: min(100%, 560px); aspect-ratio: 1.05; }
.coll { position: absolute; margin: 0; width: 72%; overflow: hidden; border-radius: 16px; background: #0b0b2e; border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 40px 80px -24px rgba(0, 0, 0, .7); animation: coll-float 9s ease-in-out infinite; }
.coll img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; object-position: top; }
.coll__bar { display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: rgba(255, 255, 255, .06); border-bottom: 1px solid var(--line); }
.coll__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.coll__bar i:first-child { background: #ff5f57; } .coll__bar i:nth-child(2) { background: #febc2e; } .coll__bar i:nth-child(3) { background: #28c840; }
.coll__bar em { margin-left: 8px; font-style: normal; font-size: 11px; color: var(--mute, rgba(255, 255, 255, .55)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.coll--1 { left: 0; top: 4%; z-index: 1; transform: rotate(-4deg); }
.coll--2 { right: 0; top: 30%; z-index: 2; transform: rotate(3deg); animation-delay: -3s; }
.coll--3 { left: 8%; bottom: 0; z-index: 3; transform: rotate(-1.5deg); animation-delay: -6s; }
@keyframes coll-float { 50% { translate: 0 -10px; } }
@media (prefers-reduced-motion: reduce) { .coll { animation: none; } }
@media (max-width: 980px) { .collage { width: min(100%, 440px); margin-inline: auto; } }
@media (max-width: 560px) { .collage { width: min(100%, 340px); } .coll__bar em { display: none; } }

/* Калькулятор: типовые страницы без ограничений */
.aicalc__unl { display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; padding: 16px 18px; border-radius: 16px; background: rgba(21, 204, 150, .08); border: 1px solid rgba(21, 204, 150, .28); }
.aicalc__unl-ico { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--mint-500, #15cc96); color: #03231a; }
.aicalc__unl-ico svg { width: 16px; height: 16px; }
.aicalc__unl b { display: block; font-size: 1rem; color: #fff; }
.aicalc__unl p { margin: 4px 0 0; font-size: .88rem; line-height: 1.5; color: var(--text-dim); }

button.lk { width: 100%; padding: 0; margin: 0; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }

/* Контакты */
.cont__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.cont__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.ccard { padding: 24px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.ccard__ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px; background: rgba(21, 204, 150, .12); color: #0a8f6a; }
.ccard__ico svg { width: 22px; height: 22px; }
.ccard h3 { margin: 0 0 10px; font: 700 1.05rem/1.3 var(--ff-b); }
.ccard ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ccard li a { font: 600 1.05rem/1.3 var(--ff-b); color: var(--ink); border-bottom: 1px solid rgba(10, 10, 95, .2); transition: color .2s, border-color .2s; }
.ccard li a:hover { color: #0a8f6a; border-color: currentColor; }
.ccard li small { display: block; margin-top: 2px; font-size: .8rem; color: var(--ink-dim); }
.ccard__soc { grid-auto-flow: column; justify-content: start; gap: 18px !important; }
.ccard__note { display: flex; gap: 8px; align-items: center; margin: 14px 0 0; font-size: .85rem; color: var(--ink-dim); }
.ccard__note svg { width: 16px; height: 16px; flex: none; }
.offices { margin-top: 16px; padding: 24px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.offices__t { margin: 0 0 6px; font: 700 1.05rem/1.3 var(--ff-b); }
.office { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line-ink); }
.office:first-of-type { border-top: 0; }
.office__ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(10, 10, 95, .06); color: var(--ink); }
.office__ico svg { width: 20px; height: 20px; }
.office b { font: 700 1rem/1.3 var(--ff-b); }
.office p { margin: 2px 0 0; font-size: .92rem; color: var(--ink-dim); }
.office__map { display: inline-flex; gap: 6px; align-items: center; font-weight: 600; font-size: .88rem; color: #0a8f6a; white-space: nowrap; }
.office__map svg { width: 14px; height: 14px; }
.req { margin-top: 16px; padding: 18px 24px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.req summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; font: 700 1.05rem/1.3 var(--ff-b); }
.req summary::-webkit-details-marker { display: none; }
.req summary svg { width: 18px; height: 18px; transition: transform .3s; }
.req[open] summary svg { transform: rotate(180deg); }
.req dl { display: grid; gap: 10px; margin: 16px 0 0; }
.req dl div { display: grid; grid-template-columns: 170px 1fr; gap: 12px; font-size: .92rem; }
.req dt { color: var(--ink-dim); }
.req dd { margin: 0; font-weight: 600; }
.cont__form { position: sticky; top: 100px; padding: clamp(22px, 3vw, 34px); border-radius: var(--r-l, 28px); color: var(--text); background: linear-gradient(160deg, #0d0d6e, #05051b 70%); border: 1px solid var(--line-2); box-shadow: 0 40px 80px -30px rgba(10, 10, 95, .6); }
.cont__form h3 { margin: 6px 0 8px; font: 800 1.725rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; color: #fff; }
.cont__form > p { margin: 0 0 18px; color: var(--text-dim); font-size: .95rem; line-height: 1.5; }
@media (max-width: 980px) {
  .cont__grid { grid-template-columns: minmax(0, 1fr); }
  .cont__form { position: static; }
}
@media (max-width: 560px) {
  .office { grid-template-columns: auto 1fr; }
  .office__map { grid-column: 2; }
  .req dl div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* Слайдер «Было → Стало» */
.cmp { --p: 50%; position: relative; overflow: hidden; border-radius: 18px; background: #0b0b2e; border: 1px solid rgba(10, 10, 95, .18); box-shadow: 0 40px 80px -36px rgba(10, 10, 95, .55); aspect-ratio: 1440 / 800; user-select: none; touch-action: pan-y; }
.cmp__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; pointer-events: none; }
.cmp__img--before { clip-path: inset(0 calc(100% - var(--p)) 0 0); }
.cmp__tag { position: absolute; top: 14px; z-index: 2; padding: 6px 12px; border-radius: 999px; font: 800 .72rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #fff; background: rgba(5, 5, 27, .72); backdrop-filter: blur(8px); pointer-events: none; }
.cmp__tag--before { left: 14px; }
.cmp__tag--after { right: 14px; color: #03231a; background: var(--mint); }
.cmp__bar { position: absolute; top: 0; bottom: 0; left: var(--p); z-index: 3; width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 0 1px rgba(10, 10, 95, .25), 0 0 24px rgba(0, 0, 0, .4); pointer-events: none; }
.cmp__bar i { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: #fff; color: var(--navy); box-shadow: 0 10px 30px rgba(0, 0, 0, .4); }
.cmp__bar i svg { width: 18px; height: 18px; transform: rotate(0deg); }
.cmp__range { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.cmp:focus-within { outline: 3px solid var(--mint); outline-offset: 3px; }
.cmp--empty { display: grid; place-items: center; padding: 24px; text-align: center; color: var(--ink-dim); background: repeating-linear-gradient(45deg, #eef0fb, #eef0fb 12px, #e6e9f8 12px, #e6e9f8 24px); border: 2px dashed rgba(10, 10, 95, .3); box-shadow: none; }
.cmp--empty code { padding: 2px 6px; border-radius: 6px; background: rgba(10, 10, 95, .08); font-size: .85em; }

/* Акция «Обновите свой сайт» */
.rdpromo { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: clamp(24px, 3vw, 36px); padding: clamp(26px, 4vw, 48px); border-radius: var(--r-l); overflow: hidden; }
.rdpromo h3 { margin: 14px 0 12px; font: 800 clamp(1.77rem, 3.304vw, 2.714rem)/1.12 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; text-wrap: balance; }
.rdpromo__l > p:not(.eyebrow) { max-width: 50ch; }
.rdpromo__pts { list-style: none; display: grid; gap: 10px; margin: 20px 0 0; padding: 0; }
.rdpromo__pts li { display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr); gap: 10px; align-items: center; font-size: .86rem; line-height: 1.35; }
.rdpromo__pts svg { width: 18px; height: 18px; color: var(--mint-500, #15cc96); }
.rdpromo__old { padding: 10px 12px; border-radius: 12px; background: rgba(214, 62, 62, .1); color: inherit; opacity: .85; }
.rdpromo__new { padding: 10px 12px; border-radius: 12px; background: rgba(21, 204, 150, .14); font-weight: 600; }
.rdpromo__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.rdpromo__cap { margin: 12px 0 0; font-size: .82rem; text-align: center; opacity: .7; }
.rdpromo--light { color: var(--ink); background: #fff; border: 1px solid var(--line-ink); box-shadow: 0 40px 80px -50px rgba(10, 10, 95, .45); }
.rdpromo--light .rdpromo__l > p:not(.eyebrow) { color: var(--ink-dim); }
.rdpromo--dark { color: #fff; background: linear-gradient(150deg, #14147f, var(--navy) 55%, #05051b); border: 1px solid rgba(143, 143, 255, .32); }
.rdpromo--dark .rdpromo__l > p:not(.eyebrow) { color: rgba(255, 255, 255, .78); }

/* Страница проекта: было → стало */
.pcmp { margin-bottom: clamp(28px, 4vw, 48px); }
.pcmp__t { margin: 0 0 16px; font: 800 clamp(1.534rem, 2.832vw, 2.124rem)/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.pcmp__cap { margin: 12px 0 0; font-size: .86rem; color: var(--ink-dim); }
.pcmp__rows { list-style: none; display: grid; gap: 12px; margin: 22px 0 0; padding: 0; }
.pcmp__rows li { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr); gap: 14px; align-items: stretch; }
.pcmp__rows svg { align-self: center; width: 22px; height: 22px; color: var(--mint-500, #15cc96); }
.pcmp__b, .pcmp__a { display: block; padding: 14px 16px; border-radius: 14px; font-size: .95rem; line-height: 1.4; }
.pcmp__b { background: rgba(214, 62, 62, .08); border: 1px solid rgba(214, 62, 62, .2); }
.pcmp__a { background: rgba(21, 204, 150, .1); border: 1px solid rgba(21, 204, 150, .3); font-weight: 600; }
.pcmp__b small, .pcmp__a small { display: block; margin-bottom: 4px; font: 800 .68rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; opacity: .65; }
@media (max-width: 980px) { .rdpromo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .rdpromo__pts li, .pcmp__rows li { grid-template-columns: minmax(0, 1fr); }
  .rdpromo__pts svg, .pcmp__rows svg { transform: rotate(90deg); justify-self: center; }
}

/* Читайте также (перелинковка в блоке вопросов) */
.faq__rel { margin-top: 18px; padding: 20px 22px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.faq__rel h3 { margin: 0 0 10px; font: 800 .72rem/1 var(--ff-b); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dim); }
.faq__rel ul { list-style: none; display: grid; margin: 0; padding: 0; }
.faq__rel li + li { border-top: 1px solid var(--line-ink); }
.faq__rel a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; font-weight: 600; font-size: .95rem; color: var(--ink); transition: color .2s, gap .2s; }
.faq__rel a:hover { color: #0a8f6a; gap: 18px; }
.faq__rel svg { flex: none; width: 16px; height: 16px; }
.qa__a a, .lead a, .sec__head p a { color: #0a8f6a; border-bottom: 1px solid rgba(10, 143, 106, .4); transition: color .2s, border-color .2s; }
.qa__a a:hover, .lead a:hover, .sec__head p a:hover { color: var(--navy); border-color: currentColor; }
.sec--dark .lead a, .sec--navy .lead a, .sec--dark .sec__head p a { color: var(--mint-300); border-color: rgba(95, 227, 187, .45); }

/* Карточка направления без готовой страницы: заголовок открывает форму заявки */
.dir__btn { display: block; padding: 0; border: 0; background: none; text-align: left; font: inherit; letter-spacing: inherit; color: inherit; cursor: pointer; }
.dir__btn::after { content: ""; position: absolute; inset: 0; z-index: 2; }

@media (max-width: 560px) {
  .cookie { padding: 14px 14px 12px; }
  .cookie__p { font-size: .78rem; line-height: 1.45; }
  .cookie__btns { grid-template-columns: 1fr 1fr; margin-top: 10px; }
  .cookie__btns [data-cookie-all] { grid-column: 1 / -1; }
  .cookie .btn { --h: 34px; padding: 0 .5em; font-size: .76rem; }
}

/* ---------- Универсальные карточки ---------- */
.cgrid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cgrid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ccell { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: var(--r-m); isolation: isolate; overflow: hidden; }
.sec--light .ccell { background: #fff; border: 1px solid var(--line-ink); }
.sec--dark .ccell { color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); border: 1px solid var(--line-2); }
.ccell__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: rgba(21, 204, 150, .14); color: #0a8f6a; }
.sec--dark .ccell__ico { color: var(--mint-300); background: rgba(21, 204, 150, .16); }
.ccell__ico svg { width: 22px; height: 22px; }
.ccell__tag { margin: 0; font: 800 .72rem/1 var(--ff-b); letter-spacing: .12em; text-transform: uppercase; color: var(--mint-300); }
.sec--light .ccell__tag { color: #0a8f6a; }
.ccell h3 { margin: 0; font: 700 1.12rem/1.3 var(--ff-b); }
.ccell p { margin: 0; font-size: .94rem; line-height: 1.55; color: var(--ink-dim); }
.sec--dark .ccell p { color: var(--text-dim); }
.ccell .ccell__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: .84rem; font-weight: 600; }
.ccell--accent { background: linear-gradient(150deg, #14147f, var(--navy) 60%, #05051b) !important; border-color: rgba(143, 143, 255, .35) !important; color: #fff; }
.ccell--accent p { color: rgba(255, 255, 255, .8) !important; }
.ccell--accent .ccell__ico { color: var(--mint-300); background: rgba(255, 255, 255, .1); }
.ccell--accent .ccell__tag { color: var(--mint-300); }
.sec--dark .ccell--accent { background: linear-gradient(150deg, rgba(21, 204, 150, .3), rgba(21, 204, 150, .1)) !important; border-color: rgba(21, 204, 150, .6) !important; }
.cextra { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(20px, 3vw, 40px); align-items: center; margin-top: 16px; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-l); }
.sec--dark .cextra { background: linear-gradient(120deg, rgba(21, 204, 150, .2), rgba(21, 204, 150, .05)); border: 1px solid rgba(21, 204, 150, .45); }
.sec--light .cextra { background: #fff; border: 1px solid var(--line-ink); }
.cextra h3 { margin: 0 0 8px; font: 800 clamp(1.534rem, 2.832vw, 2.124rem)/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.03em; }
.cextra p { margin: 0; color: var(--text-dim); }
.sec--light .cextra p { color: var(--ink-dim); }
.cextra ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding: 0; }
.cextra li { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: .95rem; }
.cextra li svg { flex: none; width: 20px; height: 20px; margin-top: 1px; padding: 3px; border-radius: 50%; background: var(--mint); color: #03231a; }
.cgrid__cta { margin: 28px 0 0; text-align: center; }

/* ---------- Калькулятор партнёра ---------- */
.pcalc { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 16px; }
.pcalc__in { display: grid; gap: 28px; align-content: start; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-l); background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); border: 1px solid var(--line-2); }
.pladder { padding: 18px 20px 14px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line-2); }
.pladder__t { margin: 0 0 12px; font-size: .84rem; font-weight: 700; color: var(--text-dim); }
.pladder ol { list-style: none; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; align-items: end; height: 150px; margin: 0; padding: 0; }
.pladder li { position: relative; display: grid; grid-template-rows: auto 1fr auto; gap: 4px; height: 100%; text-align: center; }
.pladder li b { font: 800 .82rem/1 var(--ff-b); color: var(--text-dim); transition: color .3s; }
.pladder li i { align-self: end; height: var(--h); border-radius: 8px 8px 4px 4px; background: rgba(255, 255, 255, .12); transition: background .4s, box-shadow .4s; }
.pladder li small { font-size: .7rem; color: var(--text-mute); }
.pladder li.is-on i { background: linear-gradient(180deg, var(--mint-300), var(--mint)); box-shadow: 0 0 20px rgba(21, 204, 150, .45); }
.pladder li.is-on b { color: #fff; }
.pladder__n { margin: 10px 0 0; font-size: .74rem; line-height: 1.4; color: var(--text-mute); }
.pcalc__out { display: grid; gap: 14px; align-content: start; }
.pres { padding: clamp(20px, 2.4vw, 30px); border-radius: var(--r-l); background: linear-gradient(150deg, #14147f, var(--navy) 60%, #05051b); border: 1px solid rgba(143, 143, 255, .32); }
.pres--b { background: linear-gradient(150deg, rgba(21, 204, 150, .24), rgba(21, 204, 150, .06) 70%); border-color: rgba(21, 204, 150, .55); }
.pres__tag { margin: 0 0 8px; font: 800 .72rem/1 var(--ff-b); letter-spacing: .12em; text-transform: uppercase; color: var(--mint-300); }
.pres__big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 14px; }
.pres__big b { font: 800 clamp(2.36rem, 4.72vw, 3.54rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; color: #fff; }
.pres__big span { font-weight: 700; color: var(--text-dim); }
.pres ul { list-style: none; display: grid; margin: 0; padding: 0; }
.pres li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .14); font-size: .92rem; }
.pres li span { color: var(--text-dim); }
.pres li b { text-align: right; font-weight: 700; color: #fff; }
.pres__note { margin: 12px 0 0; font-size: .82rem; line-height: 1.45; color: var(--text-mute); }

/* ---------- Telegram: сообщество, карточка, приглашение ---------- */
.tgclub__top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(20px, 4vw, 56px); align-items: start; margin-bottom: clamp(24px, 3vw, 36px); }
.tgclub__top .sec__head { margin-bottom: 0; }
.tgclub__join { display: grid; gap: 10px; justify-items: start; padding: clamp(22px, 3vw, 32px); border-radius: var(--r-l); color: #fff; background: radial-gradient(320px 200px at 100% 0%, rgba(34, 158, 217, .45), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 60%, #05051b); border: 1px solid rgba(143, 143, 255, .32); box-shadow: 0 40px 80px -40px rgba(10, 10, 95, .7); }
.tgclub__logo { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #229ed9; color: #fff; }
.tgclub__logo svg { width: 28px; height: 28px; }
.tgclub__join b { font: 800 1.552rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.tgclub__join p { margin: 0; color: rgba(255, 255, 255, .78); font-size: .95rem; }
.tgclub__join small { color: rgba(255, 255, 255, .6); font-size: .8rem; line-height: 1.4; }
.tgclub__join .btn svg { width: 18px; height: 18px; }
.tgclub__grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 0; padding: 0; }
.tgitem { position: relative; display: grid; gap: 8px; align-content: start; padding: 22px; border-radius: var(--r-m); isolation: isolate; }
.sec--light .tgitem { background: #fff; border: 1px solid var(--line-ink); }
.sec--dark .tgitem { color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); border: 1px solid var(--line-2); }
.tgitem__tag { justify-self: start; padding: 5px 10px; border-radius: 999px; font: 800 .68rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #03231a; background: var(--mint); }
.tgitem h3 { margin: 4px 0 0; font: 700 1.05rem/1.3 var(--ff-b); }
.tgitem p { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--ink-dim); }
.sec--dark .tgitem p { color: var(--text-dim); }
.tgcard { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; align-items: center; margin-top: 18px; padding: 18px 20px; border-radius: var(--r-m); background: #fff; border: 1px solid var(--line-ink); }
.tgcard__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #229ed9; color: #fff; }
.tgcard__ico svg { width: 24px; height: 24px; }
.tgcard b { display: block; font: 700 .98rem/1.3 var(--ff-b); color: var(--ink); }
.tgcard p { margin: 2px 0 0; font-size: .84rem; line-height: 1.45; color: var(--ink-dim); }
.tgcard .btn { grid-column: 1 / -1; }
.ftr .tgcard { background: rgba(255, 255, 255, .06); border-color: var(--line-2); }
.ftr .tgcard b { color: #fff; }
.ftr .tgcard p { color: var(--text-dim); }
.tginvite { display: grid; gap: 10px; justify-items: center; margin: 18px 0 6px; padding: 16px 18px; border-radius: 16px; background: rgba(34, 158, 217, .12); border: 1px solid rgba(34, 158, 217, .4); text-align: center; }
.tginvite p { margin: 0; font-size: .9rem; line-height: 1.45; }
.dock__tg { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: #fff; background: #229ed9; box-shadow: 0 16px 40px -10px rgba(34, 158, 217, .7); transition: transform .3s var(--ease); }
.dock__tg:hover { transform: translateY(-3px) scale(1.05); }
.dock__tg svg { width: 26px; height: 26px; }
.final__partner { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 0; font-size: .9rem; color: var(--text-dim); }
.final__partner svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--mint-300); }
.final__partner a { font-weight: 700; color: #fff; border-bottom: 1px solid rgba(95, 227, 187, .5); }
@media (max-width: 1100px) { .cgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 980px) {
  .cgrid, .cgrid--2 { grid-template-columns: minmax(0, 1fr); }
  .cextra, .pcalc, .tgclub__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .cgrid--4 { grid-template-columns: minmax(0, 1fr); }
  .cextra ul { grid-template-columns: minmax(0, 1fr); }
  .pladder ol { height: 120px; gap: 5px; }
  .pres li { flex-wrap: wrap; }
  .pres li b { text-align: left; }
}

/* Приглашение в Telegram над финальной формой */
.final__tg { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding: 14px 20px; border-radius: 999px; color: #fff; background: rgba(34, 158, 217, .16); border: 1px solid rgba(34, 158, 217, .5); transition: background .3s, transform .3s var(--ease); }
.final__tg:hover { background: rgba(34, 158, 217, .26); transform: translateY(-2px); }
.final__tg-ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #229ed9; }
.final__tg-ico svg { width: 20px; height: 20px; }
.final__tg-t { flex: 1; font-size: .92rem; line-height: 1.4; color: rgba(255, 255, 255, .86); }
.final__tg-t b { color: #fff; }
.final__tg-go { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; white-space: nowrap; color: var(--mint-300); }
.final__tg-go svg { width: 16px; height: 16px; }
@media (max-width: 720px) { .final__tg { border-radius: 22px; flex-wrap: wrap; } .final__tg-go { margin-left: 52px; } }

/* Шапка: на средних ширинах меню уходит в бургер, чтобы не налезать на логотип */
@media (max-width: 1240px) {
  .nav, .hdr__lk { display: none; }
  .burger { display: block; margin-left: 0; }
  .hdr__cta { margin-left: auto; }
}
@media (min-width: 1241px) and (max-width: 1400px) {
  .nav__link { padding-inline: 10px; font-size: .9rem; }
  .hdr__in { gap: 14px; }
  .hdr__lk span { display: none; }
  .hdr__lk { padding-inline: 14px; }
}

/* Шапка: логотип не сжимается, кабинет «Маркетинг 2.0» — иконкой с подсказкой, подпись только на очень широких экранах */
.hdr .logo { flex: none; }
.hdr .hdr__in { max-width: calc(1560px + var(--gut) * 2); }
.hdr__lk { position: relative; width: 44px; padding: 0; justify-content: center; }
.hdr__lk span { display: none !important; }
.hdr__lk::after { content: attr(data-tip); position: absolute; top: calc(100% + 10px); right: 0; padding: 7px 12px; border-radius: 10px; white-space: nowrap; font: 600 .8rem/1 var(--ff-b); color: #fff; background: rgba(9, 9, 39, .96); border: 1px solid var(--line-2); opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity .2s, transform .2s; }
.hdr__lk:hover::after, .hdr__lk:focus-visible::after { opacity: 1; transform: none; }
@media (min-width: 1720px) {
  .hdr__lk { width: auto; padding: 0 1.1em; }
  .hdr__lk span { display: inline !important; }
  .hdr__lk::after { display: none; }
}
@media (max-width: 1560px) { .hdr__in { gap: 16px; } .nav__link { padding-inline: 12px; } }

@media (max-width: 1380px) { .hdr__phone { display: none; } }

/* Inter: табличные цифры там, где важно выравнивание чисел; оптический размер подбирается автоматически */
body { font-optical-sizing: auto; -webkit-font-smoothing: antialiased; }
[data-o], output, .counter, .pstats b, .pres__big b, .pres li b, .calc__big b, .calc__big, .aibreak b, .aisave b, .aistep__price, .aipromo__r b, .pricing b, .price b, .tier__price, .work__m b, .scard__m b, .kpi b, .vis b { font-variant-numeric: tabular-nums; }

/* ---------- Кейсы ---------- */
.kcases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kcases--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kcases--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kcase { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: var(--r-l); overflow: hidden; isolation: isolate; transition: transform .5s var(--ease), box-shadow .5s, border-color .4s; }
.kcase:hover { transform: translateY(-6px); }
.kcase--light { background: #fff; border: 1px solid var(--line-ink); box-shadow: 0 30px 60px -44px rgba(10, 10, 95, .45); }
.kcase--light:hover { box-shadow: 0 40px 70px -40px rgba(10, 10, 95, .55); border-color: rgba(21, 204, 150, .6); }
.kcase--dark { color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); border: 1px solid var(--line-2); }
.kcase--dark:hover { border-color: rgba(21, 204, 150, .6); }
.kcase__top { position: relative; display: grid; gap: 4px; padding: 22px 24px 20px; color: #fff; background: radial-gradient(260px 160px at 100% 0%, rgba(21, 204, 150, .35), transparent 65%), linear-gradient(150deg, #14147f, var(--navy) 65%, #05051b); }
.kcase--dark .kcase__top { background: radial-gradient(260px 160px at 100% 0%, rgba(21, 204, 150, .3), transparent 65%), linear-gradient(150deg, rgba(42, 42, 208, .5), rgba(10, 10, 95, .5)); }
.kcase__kind { justify-self: start; padding: 5px 10px; border-radius: 999px; font: 800 .66rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #03231a; background: var(--mint); }
.kcase__num { margin-top: 12px; font: 800 clamp(2rem, 3.6vw, 2.9rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.kcase__lbl { font-size: .86rem; line-height: 1.35; color: rgba(255, 255, 255, .78); }
.kcase__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 20px 24px 24px; }
.kcase__niche { font: 800 .7rem/1.3 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #0a8f6a; }
.kcase--dark .kcase__niche { color: var(--mint-300); }
.kcase__name { margin: 0; font: 800 1.2rem/1.25 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.kcase__short { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--ink-dim); }
.kcase--dark .kcase__short { color: var(--text-dim); }
.kcase__go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-weight: 700; font-size: .92rem; color: var(--navy); }
.kcase--dark .kcase__go { color: var(--mint-300); }
.kcase__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.kcase:hover .kcase__go svg { transform: translateX(4px); }
.kcase.is-off { display: none; }
.kment { margin: 22px 0 0; font-size: .9rem; color: var(--ink-dim); text-align: center; }
.kreal .kcase__go { color: var(--mint-300); }

/* страница кейса */
.phero--case .phero__vis { display: grid; place-items: center; }
.kframe { margin: 0; width: min(100%, 560px); overflow: hidden; border-radius: 20px; background: #fff; border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 50px 90px -30px rgba(0, 0, 0, .7); transform: perspective(1400px) rotateY(-4deg) rotateX(2deg); }
.kframe img { display: block; width: 100%; height: auto; }
.kframe figcaption { padding: 10px 16px; font-size: .78rem; font-weight: 600; color: #4a4a7a; background: #f3f4ff; }
.kframe--banner { background: transparent; border: 0; box-shadow: none; transform: none; }
.kframe--banner img { border-radius: 16px; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6); }
.kbig { display: grid; gap: 8px; place-items: center; width: min(100%, 460px); aspect-ratio: 1; padding: 30px; text-align: center; border-radius: 50%; color: #fff; background: radial-gradient(circle at 30% 20%, rgba(21, 204, 150, .35), transparent 60%), linear-gradient(150deg, #14147f, var(--navy) 65%, #05051b); border: 1px solid rgba(143, 143, 255, .35); box-shadow: 0 50px 90px -30px rgba(0, 0, 0, .7); }
.kbig b { font: 800 clamp(2.6rem, 6vw, 4.4rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.05em; background: linear-gradient(90deg, #fff, var(--mint-300)); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.kbig span { max-width: 18ch; font-weight: 700; color: rgba(255, 255, 255, .8); }
.kres .kcmp { margin: 0 0 clamp(24px, 3vw, 40px); }
.kpos { padding: clamp(20px, 3vw, 32px); border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); margin-bottom: clamp(24px, 3vw, 40px); }
.kpos h3 { margin: 0 0 6px; font: 800 1.3rem/1.25 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.kpos__sub { margin: 0 0 18px; font-size: .9rem; color: var(--ink-dim); }
.kpos ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; margin: 0; padding: 0; }
.kpos li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-ink); font-size: .95rem; }
.kpos li b { flex: none; min-width: 38px; padding: 4px 10px; border-radius: 999px; text-align: center; font: 800 .85rem/1 var(--ff-b); font-variant-numeric: tabular-nums; color: var(--ink); background: rgba(10, 10, 95, .07); }
.kpos li.is-top10 b { color: #03231a; background: rgba(21, 204, 150, .35); }
.kpos li.is-top3 b { color: #03231a; background: var(--mint); }
.kgal { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-bottom: clamp(24px, 3vw, 40px); }
.kgal figure { margin: 0; }
.kgal__btn { display: block; width: 100%; padding: 0; border: 1px solid var(--line-ink); border-radius: var(--r-m); overflow: hidden; background: #fff; cursor: zoom-in; transition: box-shadow .3s, transform .3s var(--ease); }
.kgal__btn:hover { box-shadow: 0 24px 50px -30px rgba(10, 10, 95, .5); transform: translateY(-3px); }
.kgal__btn img { display: block; width: 100%; height: auto; }
.kgal figcaption { margin-top: 8px; font-size: .85rem; color: var(--ink-dim); }
.kgal--small { display: block; }
.kgal__t { margin: 0 0 12px; font: 800 1.1rem/1.3 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.kgal__row { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.scard__sub { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: .92rem; }
.collage--cases .coll img { object-fit: cover; object-position: left top; background: #fff; }
@media (max-width: 1100px) { .kcases--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .kcases, .kcases--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kpos ul { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .kcases, .kcases--3, .kcases--4 { grid-template-columns: minmax(0, 1fr); } .kframe { transform: none; } }

/* Мега-меню: ровная сетка. Заголовок колонки — одна строка + подпись одной строкой, шапки одной высоты */
.mega { width: min(1180px, calc(100vw - 48px)); }
.mega__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 6px; }
.mega__col { min-width: 0; }
.mega__head { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; min-height: 64px; margin-bottom: 8px; }
.mega__head > span:last-child { min-width: 0; }
.mega__head b { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: .95rem; line-height: 1.2; }
.mega__head b .tag { flex: none; padding: 3px 8px; font-size: .6rem; line-height: 1.2; white-space: nowrap; }
.mega__head small { display: block; overflow: hidden; margin-top: 3px; white-space: nowrap; text-overflow: ellipsis; font-size: .8rem; line-height: 1.3; }
.mega__col li a { white-space: normal; line-height: 1.3; }
@media (max-width: 1400px) { .mega__grid { gap: 2px; } .mega__col { padding: 12px; } .mega__head { gap: 12px; } }

.mega__head b .tag { letter-spacing: .06em; padding: 3px 7px; }
.mega__head { gap: 12px; }

.mega { width: min(1240px, calc(100vw - 48px)); }
.mega__grid { gap: 2px; }
.mega__col { padding: 12px; }

/* Фраза «на шаг впереди» */
.statement { padding-block: clamp(56px, 7vw, 104px); text-align: center; overflow: hidden; }
.statement__in { position: relative; display: grid; justify-items: center; gap: 18px; max-width: 980px; }
.statement__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; color: var(--mint); background: rgba(21, 204, 150, .12); border: 1px solid rgba(21, 204, 150, .35); box-shadow: 0 0 40px rgba(21, 204, 150, .25); }
.statement__ico svg { width: 28px; height: 28px; }
.statement__eyebrow { margin: 0; font: 800 .74rem/1 var(--ff-b); letter-spacing: .16em; text-transform: uppercase; color: var(--mint-300); }
.statement__big { margin: 0; font: 800 clamp(1.9rem, 4.2vw, 3.6rem)/1.1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.035em; text-wrap: balance; color: #fff; }
.statement__big em { font-style: normal; background: linear-gradient(90deg, var(--mint-300), var(--mint)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.statement__text { margin: 0; max-width: 62ch; font-size: clamp(1.02rem, 1.5vw, 1.2rem); line-height: 1.6; color: rgba(255, 255, 255, .8); text-wrap: pretty; }
.statement__cta { margin: 10px 0 0; }

/* Тарифы: что входит без доплат */
.tier__incl { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; font-size: .84rem; font-weight: 700; line-height: 1.35; color: #03231a; background: rgba(21, 204, 150, .92); }
.tier__incl svg { flex: none; width: 16px; height: 16px; margin-top: 1px; }
.price__foot { margin: 18px 0 0; font-size: .82rem; line-height: 1.5; color: var(--text-mute); text-align: center; text-wrap: balance; }

.tier__incl { margin-bottom: 18px; }

/* Ниши */
.nchip--link { padding: 0; }
.nchip--link a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: inherit; color: var(--mint-300); }
.nchip--link a svg { width: 14px; height: 14px; opacity: .7; transition: transform .3s var(--ease), opacity .3s; }
.nchip--link a:hover { color: #fff; }
.nchip--link a:hover svg { opacity: 1; transform: translateX(3px); }
.ngrid__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ncard { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .5s var(--ease), box-shadow .5s, border-color .4s; }
.ncard:hover { transform: translateY(-5px); border-color: rgba(21, 204, 150, .6); box-shadow: 0 40px 70px -44px rgba(10, 10, 95, .5); }
.ncard__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: rgba(21, 204, 150, .14); color: #0a8f6a; }
.ncard__ico svg { width: 22px; height: 22px; }
.ncard__metric { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 6px; }
.ncard__metric b { font: 800 clamp(1.8rem, 3vw, 2.4rem)/1 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.04em; color: var(--navy); font-variant-numeric: tabular-nums; }
.ncard__metric small { font-size: .84rem; font-weight: 600; color: var(--ink-dim); }
.ncard h3 { margin: 0; font: 800 1.15rem/1.25 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.ncard p { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--ink-dim); }
.ncard__go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; font-weight: 700; font-size: .92rem; color: var(--navy); }
.ncard__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.ncard:hover .ncard__go svg { transform: translateX(4px); }
.ngrid__note { margin: 24px 0 0; text-align: center; color: var(--ink-dim); }
@media (max-width: 980px) { .ngrid__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ngrid__list { grid-template-columns: minmax(0, 1fr); } }

/* Отзывы: письма */
.rev__letter { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 4px; padding: 9px 14px; border: 1px solid var(--line-ink); border-radius: 999px; background: #f6f7ff; font: 700 .84rem/1 var(--ff-b); color: var(--navy); cursor: pointer; transition: background .25s, border-color .25s; }
.rev__letter:hover { background: rgba(21, 204, 150, .14); border-color: rgba(21, 204, 150, .6); }
.rev__letter svg { width: 16px; height: 16px; }
.rev__case { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .86rem; color: #0a8f6a; }
.rev__case svg { width: 14px; height: 14px; }
.rev__acts { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.rev__kind { align-self: flex-start; padding: 5px 10px; border-radius: 999px; font: 800 .66rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #03231a; background: rgba(21, 204, 150, .3); }
.rev--wall blockquote p { font-size: .98rem; }
.rev--wall figcaption small + small { margin-top: 2px; }
.rwall__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lgal__grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; margin: 0; padding: 0; }
.lgal__item { display: grid; gap: 8px; width: 100%; padding: 0; border: 0; background: none; text-align: left; color: #fff; cursor: zoom-in; }
.lgal__item img { display: block; width: 100%; height: auto; aspect-ratio: 220 / 310; object-fit: cover; object-position: top; border-radius: 12px; background: #fff; border: 1px solid var(--line-2); transition: transform .4s var(--ease), box-shadow .4s; }
.lgal__item:hover img { transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .8); }
.lgal__item span { font-size: .84rem; font-weight: 600; color: var(--text-dim); }
.lgal__note { margin: 22px 0 0; max-width: 70ch; font-size: .9rem; line-height: 1.55; color: var(--text-dim); }
@media (max-width: 980px) { .rwall__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rwall__grid { grid-template-columns: minmax(0, 1fr); } .lgal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.rev figcaption small { display: block; }
.rev figcaption small + small { margin-top: 2px; }

/* Блог */
.bgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.post { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: var(--r-l); background: #fff; border: 1px solid var(--line-ink); overflow: hidden; isolation: isolate; transition: transform .5s var(--ease), box-shadow .5s, border-color .4s; }
.post:hover { transform: translateY(-5px); border-color: rgba(21, 204, 150, .6); box-shadow: 0 40px 70px -44px rgba(10, 10, 95, .5); }
.post.is-off { display: none; }
.post__cat { align-self: flex-start; padding: 5px 10px; border-radius: 999px; font: 800 .66rem/1 var(--ff-b); letter-spacing: .1em; text-transform: uppercase; color: #03231a; background: rgba(21, 204, 150, .3); }
.post__t { margin: 4px 0 0; font: 800 1.2rem/1.28 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; text-wrap: balance; }
.post__x { margin: 0; font-size: .92rem; line-height: 1.55; color: var(--ink-dim); }
.post__go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-weight: 700; font-size: .88rem; color: var(--navy); }
.post__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.post:hover .post__go svg { transform: translateX(4px); }
.phero--article { padding-bottom: clamp(72px, 8vw, 110px); }
.phero__in--one { grid-template-columns: minmax(0, 1fr); }
.phero--article .phero__title { max-width: 22ch; }
.art__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; font-size: .92rem; font-weight: 600; color: var(--text-dim); }
.art__meta span { display: inline-flex; align-items: center; gap: 8px; }
.art__meta svg { width: 16px; height: 16px; color: var(--mint-300); }
.art__grid { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(24px, 4vw, 60px); align-items: start; }
.art__grid:not(:has(.art__toc)) { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
.art__toc { position: sticky; top: 100px; display: grid; gap: 14px; }
.art__toc > p { margin: 0; font: 800 .72rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: #0a8f6a; }
.art__toc ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; counter-reset: toc; }
.art__toc li { counter-increment: toc; }
.art__toc li a { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; padding: 8px 10px; margin-inline: -10px; border-radius: 10px; font-size: .9rem; line-height: 1.35; color: var(--ink-dim); transition: background .2s, color .2s; }
.art__toc li a::before { content: counter(toc); font-weight: 800; color: #0a8f6a; }
.art__toc li a:hover { background: rgba(10, 10, 95, .06); color: var(--navy); }
.art__body { min-width: 0; max-width: 760px; }
.art__body h2 { scroll-margin-top: 100px; }
.art__fig { margin: 24px 0; }
.art__fig button { display: block; width: 100%; padding: 0; border: 1px solid var(--line-ink); border-radius: var(--r-m); overflow: hidden; background: #fff; cursor: zoom-in; }
.art__fig img { display: block; width: 100%; height: auto; }
.art__table { overflow-x: auto; margin: 20px 0; border: 1px solid var(--line-ink); border-radius: var(--r-m); }
.art__table table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.art__table th, .art__table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line-ink); }
.art__table th { background: #f1f2fb; font-weight: 800; }
.art__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 40px; padding: 24px 28px; border-radius: var(--r-l); color: #fff; background: radial-gradient(300px 180px at 100% 0%, rgba(21, 204, 150, .35), transparent 65%), linear-gradient(150deg, #14147f, var(--navy) 65%, #05051b); }
.art__cta b { display: block; font: 800 1.2rem/1.3 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.art__cta p { margin: 6px 0 0; max-width: 46ch; font-size: .92rem; color: rgba(255, 255, 255, .78); }
.art__more { margin-top: clamp(40px, 6vw, 80px); }
.art__more .h3 { margin: 0 0 18px; font: 800 1.5rem/1.2 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
@media (max-width: 980px) { .bgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .art__grid { grid-template-columns: minmax(0, 1fr); } .art__toc { position: static; } }
@media (max-width: 640px) { .bgrid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Чек-лист и словарь ---------- */
.ckl__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: clamp(24px, 4vw, 56px); align-items: start; }
.ckl__group { margin-bottom: clamp(24px, 3vw, 40px); }
.ckl__group h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font: 800 1.25rem/1.25 var(--ff-d); font-feature-settings: "cv11", "ss01"; letter-spacing: -.02em; }
.ckl__gn { flex: none; width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: var(--navy); color: #fff; font: 800 .85rem/1 var(--ff-b); }
.ckl__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ckli { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--line-ink); border-radius: var(--r-m); cursor: pointer; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease); }
.ckli:hover { border-color: rgba(21, 204, 150, .65); box-shadow: 0 20px 40px -30px rgba(10, 10, 95, .5); }
.ckli input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ckli__box { width: 28px; height: 28px; border-radius: 9px; border: 2px solid rgba(10, 10, 95, .25); display: grid; place-items: center; color: transparent; background: #fff; transition: background .2s, border-color .2s, color .2s, transform .2s var(--ease); }
.ckli__box svg { width: 16px; height: 16px; stroke-width: 3; }
.ckli input:checked ~ .ckli__box { background: var(--mint); border-color: var(--mint); color: #03231a; transform: scale(1.05); }
.ckli input:checked ~ .ckli__t b { color: var(--mint-deep); }
.ckli:has(input:checked) { background: #f4fdf9; border-color: rgba(21, 204, 150, .5); }
.ckli input:focus-visible ~ .ckli__box { outline: 3px solid rgba(21, 204, 150, .5); outline-offset: 2px; }
.ckli__t b { display: block; font-weight: 800; line-height: 1.35; }
.ckli__t small { display: block; margin-top: 4px; font-size: .92rem; line-height: 1.5; color: var(--ink-dim); }
.ckl__score { position: sticky; top: calc(var(--hdr-h) + 20px); display: grid; gap: 16px; justify-items: start; padding: 28px; border-radius: var(--r-l); color: #fff; background: radial-gradient(120% 90% at 0% 0%, rgba(42, 42, 208, .5), transparent 60%), var(--ink-900); border: 1px solid var(--line-2); box-shadow: 0 40px 80px -40px rgba(5, 5, 27, .8); }
.ckl__ring { --p: 0; position: relative; width: 132px; height: 132px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: conic-gradient(var(--mint) calc(var(--p) * 1%), rgba(255, 255, 255, .12) 0); transition: background .4s; }
.ckl__ring::before { content: ""; position: absolute; inset: 11px; border-radius: 50%; background: var(--ink-900); }
.ckl__ring b, .ckl__ring small { position: relative; }
.ckl__ring b { font: 800 2.5rem/1 var(--ff-d); font-feature-settings: "cv11", "ss01", "tnum"; letter-spacing: -.04em; }
.ckl__ring small { color: var(--text-dim); font-size: .8rem; }
.ckl__res h3 { margin: 0 0 6px; font: 800 1.2rem/1.25 var(--ff-d); letter-spacing: -.02em; }
.ckl__res p { margin: 0; color: var(--text-dim); font-size: .95rem; line-height: 1.55; }
.ckl__reset { background: none; border: 0; padding: 0; color: var(--text-dim); font: 600 .85rem var(--ff-b); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ckl__reset:hover { color: #fff; }
.ckl__note { color: var(--text-mute); font-size: .8rem; }

.gls__bar { display: grid; gap: 16px; margin-bottom: 28px; }
.gls__search { position: relative; display: block; max-width: 560px; }
.gls__search svg { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; translate: 0 -50%; color: var(--ink-dim); }
.gls__search input { width: 100%; height: 54px; padding: 0 18px 0 48px; border-radius: 999px; border: 1px solid var(--line-ink); background: #fff; font: 500 1rem var(--ff-b); color: var(--ink-text); }
.gls__search input:focus { outline: 3px solid rgba(21, 204, 150, .45); border-color: var(--mint); }
.gls__az { display: flex; flex-wrap: wrap; gap: 6px; }
.gls__az a { min-width: 38px; height: 38px; padding: 0 10px; display: grid; place-items: center; border-radius: 10px; background: #fff; border: 1px solid var(--line-ink); font-weight: 800; text-decoration: none; color: var(--navy); }
.gls__az a:hover { border-color: var(--mint); background: var(--mint-100); }
.gls__grp { scroll-margin-top: calc(var(--hdr-h) + 20px); margin-bottom: clamp(24px, 3vw, 40px); }
.gls__grp[hidden] { display: none; }
.gls__l { margin: 0 0 12px; font: 800 2rem/1 var(--ff-d); letter-spacing: -.03em; color: var(--mint-deep); }
.gls__grp dl { margin: 0; display: grid; gap: 10px; }
.gls__t { padding: 18px 22px; background: #fff; border: 1px solid var(--line-ink); border-radius: var(--r-m); scroll-margin-top: calc(var(--hdr-h) + 20px); }
.gls__t[hidden] { display: none; }
.gls__t:target { border-color: var(--mint); box-shadow: 0 0 0 4px rgba(21, 204, 150, .2); }
.gls__t dt { font: 800 1.12rem/1.3 var(--ff-d); letter-spacing: -.015em; }
.gls__t dt small { margin-left: 10px; font: 600 .8rem var(--ff-b); color: var(--ink-dim); letter-spacing: 0; }
.gls__t dd { margin: 6px 0 0; }
.gls__t dd p { margin: 0; color: var(--ink-dim); line-height: 1.6; }
.gls__t dd p + p { margin-top: 8px; }
.gls__see { font-size: .9rem; }
.gls__see a { color: var(--navy); font-weight: 700; }
.gls__empty { padding: 20px; border-radius: var(--r-m); background: #fff; border: 1px dashed var(--line-ink); color: var(--ink-dim); }
@media (max-width: 980px) {
  .ckl__grid { grid-template-columns: minmax(0, 1fr); }
  .ckl__score { order: 2; position: sticky; top: auto; bottom: 84px; z-index: 5; grid-template-columns: 64px minmax(0, 1fr); align-items: center; justify-items: stretch; gap: 8px 14px; padding: 12px 14px; border-radius: 22px; }
  .ckl__ring { width: 64px; height: 64px; grid-row: span 2; } .ckl__ring::before { inset: 6px; } .ckl__ring b { font-size: 1.3rem; } .ckl__ring small { font-size: .56rem; }
  .ckl__res p, .ckl__note, .ckl__reset { display: none; } .ckl__res h3 { margin: 0; font-size: .98rem; }
  .ckl__score .btn { grid-column: 2; width: 100%; min-width: 0; height: auto; min-height: 40px; padding: 8px 14px; font-size: .82rem; line-height: 1.15; white-space: normal; text-align: center; }
  .ckl__score .btn svg { display: none; }
}
.ppv .bgrid { margin-top: 4px; }
.ppv__more { display: flex; align-items: center; gap: 10px; margin: 24px 0 0; font-weight: 700; }
.ppv__more svg { width: 18px; height: 18px; color: var(--mint); }
.ppv__more a { color: var(--mint-300); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(95, 227, 187, .5); }
.sec--light .ppv__more a { color: var(--navy); }
.post { color: var(--ink-text); }
.ppv .post__t { color: var(--ink-text); }
.tgcard p a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ftr .tgcard p a { color: var(--mint-300); }

/* События: широкие карточки, тема доклада, тезисы и темы вебинаров */
.event--wide { grid-column: span 2; }
.event__topic { display: grid; gap: 4px; margin: 6px 0 0; padding: 14px 16px; border-radius: 14px; background: rgba(21, 204, 150, .08); border: 1px solid rgba(21, 204, 150, .22); }
.event__topic small { font: 800 .66rem/1 var(--ff-b); letter-spacing: .14em; text-transform: uppercase; color: var(--mint-300); }
.event__topic b { font: 700 1rem/1.35 var(--ff-b); color: #fff; }
.event__pts, .event__topics { margin: 4px 0 0; padding-left: 20px; display: grid; gap: 6px; font-size: .9rem; line-height: 1.45; color: var(--text-dim); }
.event__topics { list-style: none; padding-left: 0; }
.event__topics li { position: relative; padding-left: 18px; }
.event__topics li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 2px; border-radius: 2px; background: var(--mint); }
@media (max-width: 980px) { .event--wide { grid-column: 1 / -1; } }
@media (max-width: 640px) { .event--wide { grid-column: auto; } }
