/* CYBORG STUDIO — лише головна: WebGL, заставка, секції головної */
/* ── WebGL + шари ── */
.gl{position:fixed;inset:0;width:100%;height:100%;z-index:var(--z-gl);pointer-events:none;transition:opacity .8s var(--ease)}
.grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:var(--y);transform-origin:0 50%;transform:scaleX(0)}

/* ── Курсор ── */
.cursor{position:fixed;left:0;top:0;z-index:var(--z-cursor);pointer-events:none;display:none;mix-blend-mode:normal}
.has-cursor .cursor{display:block}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor input,.has-cursor label{cursor:none}
.cursor__dot{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--y)}
.cursor__ring{position:absolute;width:38px;height:38px;margin:-19px;border-radius:50%;border:1px solid rgba(251,218,3,.55);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor__label{opacity:0;color:#000;font-size:11px;transition:opacity .2s}
.cursor.is-link .cursor__ring{width:64px;height:64px;margin:-32px;background:rgba(251,218,3,.08)}
.cursor.is-view .cursor__ring{width:96px;height:96px;margin:-48px;background:var(--y);border-color:var(--y)}
.cursor.is-view .cursor__label{opacity:1}
.cursor.is-dark .cursor__dot{background:#07070a}
.cursor.is-dark .cursor__ring{border-color:rgba(7,7,10,.55)}
.cursor.is-dark.is-link .cursor__ring{background:rgba(7,7,10,.08)}
.cursor.is-text .cursor__ring{width:4px;height:34px;margin:-17px -2px;border-radius:2px;background:var(--y)}

/* ── BOOT ── */
.boot{position:fixed;inset:0;z-index:var(--z-boot);background:var(--bg);display:grid;place-items:center;align-content:center;gap:36px;transition:clip-path 1s var(--ease-io);clip-path:inset(0 0 0 0)}
.boot.is-done{clip-path:inset(0 0 100% 0)}
.no-js .boot{display:none}
.boot__core{display:flex;align-items:center;gap:26px}
.boot__bulb{width:64px;height:84px;filter:drop-shadow(0 0 24px rgba(251,218,3,.45));animation:flick 1.6s steps(1) infinite}
@keyframes flick{0%,100%{opacity:1}7%{opacity:.35}9%{opacity:1}52%{opacity:.6}54%{opacity:1}}
.boot__pct{font:900 clamp(64px,12vw,150px)/1 var(--f-d);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.boot__pct i{font-style:normal;color:var(--y);font-size:.4em;vertical-align:top;margin-left:6px}
.boot__log{list-style:none;padding:0;margin:0;color:var(--ink-3);min-width:min(420px,86vw)}
.boot__log li{opacity:0;transform:translateY(6px);transition:.3s var(--ease);line-height:2}
.boot__log li.on{opacity:1;transform:none}
.boot__log b{color:var(--y);font-weight:500;float:right}
.boot__log .y{color:var(--y)}
.boot__bar{width:min(420px,86vw);height:2px;background:var(--line)}
.boot__bar i{display:block;height:100%;background:var(--y);transform:scaleX(0);transform-origin:left}

/* ── HERO ── */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-block:120px 110px}
.hero__in{width:100%}
.eyebrow{color:var(--ink-2);margin:0 0 28px}
.hero__title{font:900 clamp(42px,6.6vw,132px)/.92 var(--f-d);letter-spacing:-.055em;margin:0 0 36px;text-transform:uppercase}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .split{display:inline-block}
.hero__title .y{color:var(--y)}
.hero__title .line--out .ch{color:transparent;background:linear-gradient(100deg,rgba(244,243,238,.22) 0 40%,var(--ink) 48%,var(--y) 50%,var(--ink) 52%,rgba(244,243,238,.22) 60% 100%) fixed;background-size:200vw 100%;-webkit-background-clip:text;background-clip:text;animation:shine 6s var(--ease-io) infinite}
@keyframes shine{0%{background-position:120vw 0}60%,100%{background-position:-80vw 0}}
.js .hero__title .ch{display:inline-block;transform:translateY(110%);will-change:transform}
.hero__sub{max-width:34em;color:var(--ink-2);font-size:clamp(16px,1.35vw,20px);margin:0 0 40px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.js .reveal{opacity:0;transform:translateY(24px)}
.hud{position:absolute;color:var(--ink-3);display:flex;align-items:center;gap:10px;font-size:11px}
.hud--tl{top:96px;left:var(--pad)}.hud--tr{top:96px;right:var(--pad)}
.hud--bl{bottom:34px;left:var(--pad)}.hud--br{bottom:34px;right:var(--pad)}
.hud::before{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--line-2);border-width:1px 0 0 1px;left:-16px;top:-10px}
.hud--tr::before,.hud--br::before{left:auto;right:-16px;border-width:1px 1px 0 0}
.pulse{width:8px;height:8px;border-radius:50%;background:#38e27a;box-shadow:0 0 0 0 rgba(56,226,122,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(56,226,122,0)}100%{box-shadow:0 0 0 0 rgba(56,226,122,0)}}
.hero__hint{position:absolute;right:var(--pad);bottom:80px;color:var(--ink-3);display:flex;align-items:center;gap:10px;font-size:11px}
.hero__hint i{width:22px;height:1px;background:var(--y)}
.scrollcue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink-3);font-size:10px}
.scrollcue i{width:1px;height:46px;background:linear-gradient(var(--y),transparent);animation:cue 2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* ── MARQUEE ── */
.marquee{position:relative;z-index:var(--z-content);border-block:1px solid var(--line);background:var(--y);color:#07070a;overflow:hidden;transform:rotate(-1.5deg) scale(1.03);margin-block:30px}
.marquee__track{display:flex;width:max-content;animation:marq 32s linear infinite}
.marquee__track span{font:700 clamp(22px,3vw,40px)/1 var(--f-d);letter-spacing:-.02em;padding:22px 0;white-space:nowrap;display:flex;align-items:center;gap:28px;padding-right:28px;text-transform:uppercase}
.marquee__track span::after{content:"";width:16px;height:16px;background:#07070a;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ── MANIFEST ── */
.manifest{padding-block:clamp(110px,16vw,220px)}
.manifest__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(40px,6vw,110px);align-items:center}
.manifest__text{font:500 clamp(24px,2.8vw,44px)/1.2 var(--f-d);letter-spacing:-.03em;margin:0;text-wrap:pretty}
.manifest__text .w{color:rgba(244,243,238,.14);transition:color .3s}
.manifest__text .w.on{color:var(--ink)}
.manifest__text .w.hl.on{color:var(--y)}
.manifest__fig{margin:0}
.manifest__img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;position:relative;border:1px solid var(--line)}
.manifest__img img{width:100%;height:120%;object-fit:cover;object-position:30% 50%;transform:translateY(-8%)}
.manifest__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,7,10,.8))}
.manifest__fig figcaption{margin-top:18px;color:var(--ink-2);text-transform:none;letter-spacing:.01em;font-size:13px}

/* ── SERVICES ── */
.svc{position:relative}
.svc__pin{position:sticky;top:0;height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:center;gap:48px;padding-block:120px 60px;overflow:hidden}
.svc__head{width:100%;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:40px}
.svc__head .label{grid-column:1/-1}
.svc__head .h2{margin:0}
.svc__sub{max-width:24em;color:var(--ink-2);margin:0}
.svc__track{display:flex;gap:24px;padding-inline:var(--pad);width:max-content;will-change:transform}
.card{position:relative;width:clamp(300px,30vw,440px);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);overflow:hidden;transform-style:preserve-3d;transition:border-color .4s;flex:none}
.card:hover{border-color:rgba(251,218,3,.45)}
.card__img{aspect-ratio:1/.82;overflow:hidden;background:#000}
.card__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1.12)}
.card__body{padding:26px 28px 30px}
.card__n{color:var(--y)}
.card h3{font:700 clamp(20px,1.6vw,24px)/1.1 var(--f-d);letter-spacing:-.02em;margin:12px 0 12px}
.card p{margin:0;color:var(--ink-2);font-size:15.5px}
.card .card__tags{margin-top:18px;color:var(--ink-3);font-size:11px;text-transform:none;letter-spacing:.03em}
.card__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(251,218,3,.16),transparent 45%);opacity:0;transition:opacity .4s}
.card:hover .card__glow{opacity:1}

/* ── CASES ── */
.cases{padding-block:clamp(110px,14vw,200px)}
.sechead{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:40px;margin-bottom:56px}
.sechead .label{grid-column:1/-1}
.sechead .h2{margin:0}
.sechead__sub{max-width:24em;color:var(--ink-2);margin:0}
.cases__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.case{position:relative;display:grid;grid-template-columns:70px 1.3fr 1fr 70px;align-items:center;gap:20px;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease)}
.case::before{content:"";position:absolute;inset:0;background:var(--y);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.case__n{color:var(--ink-3)}
.case__name{font:700 clamp(24px,3vw,50px)/1 var(--f-d);letter-spacing:-.035em;transition:transform .5s var(--ease),color .3s}
.case__type{color:var(--ink-2);transition:color .3s}
.case__y{color:var(--ink-3);text-align:right}
.case__img{display:none}
.case:hover{padding-inline:18px}
.case:hover .case__name{transform:translateX(10px);color:var(--y)}
.case:hover .case__type{color:var(--ink)}
.preview{position:fixed;left:0;top:0;z-index:40;pointer-events:none;width:min(440px,34vw);opacity:0;transform:scale(.85);transition:opacity .3s,transform .4s var(--ease)}
.preview.on{opacity:1;transform:scale(1)}
.preview__frame{border-radius:14px;overflow:hidden;background:#111;border:1px solid var(--line-2);box-shadow:0 40px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(251,218,3,.2),0 0 60px -10px rgba(251,218,3,.35)}
.preview__bar{display:flex;gap:6px;padding:10px 12px;background:#18181e}
.preview__bar i{width:9px;height:9px;border-radius:50%;background:#34343c}
.preview__bar i:first-child{background:var(--y)}
.preview video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#0b0b0f}

/* ── PROCESS ── */
.proc{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,7vw,120px);padding-block:clamp(110px,14vw,200px);align-items:start}
.proc__side{position:sticky;top:130px}
.proc__note{color:var(--ink-3);text-transform:none;letter-spacing:.02em;margin-top:24px}
.proc__steps{list-style:none;margin:0;padding:0 0 0 44px;position:relative}
.proc__line{position:absolute;left:8px;top:14px;bottom:14px;width:1px;background:var(--line)}
.proc__line b{position:absolute;inset:0;background:var(--y);transform-origin:top;transform:scaleY(0);box-shadow:0 0 12px var(--y)}
.step{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}
.step:not(.on) .step__n{color:var(--ink-3)}
.step::before{content:"";position:absolute;left:-41px;top:40px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1px solid var(--line-2);transition:background .4s,border-color .4s,box-shadow .4s}
.step.on::before{background:var(--y);border-color:var(--y);box-shadow:0 0 16px var(--y)}
.step__n{color:var(--y);padding-top:8px}
.step h3{font:700 clamp(19px,1.7vw,26px)/1.15 var(--f-d);letter-spacing:-.02em;margin:0 0 10px}
.step p{margin:0;color:var(--ink-2)}
.step__t{color:var(--ink-3);padding-top:9px;white-space:nowrap;text-transform:none}

/* ── LAB ── */
.lab{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:center;padding-block:clamp(110px,14vw,200px)}
.lab .h2,.proc .h2{font-size:clamp(28px,3.4vw,54px)}
.lab__sub{color:var(--ink-2);margin:0 0 34px;max-width:28em}
.moods{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:34px}
.moods>span{color:var(--ink-3);margin-right:8px}
.moods button{min-height:44px;padding:0 20px;border-radius:100px;box-shadow:inset 0 0 0 1px var(--line-2);font-weight:500;transition:background .25s,color .25s,box-shadow .25s}
.moods button:hover{box-shadow:inset 0 0 0 1px var(--y)}
.moods button[aria-checked=true]{background:var(--y);color:#000;box-shadow:none}
.lab__note{color:var(--ink-3);text-transform:none;letter-spacing:.02em;margin-top:20px}
.mock{--m-bg:#06060c;--m-ink:#fff;--m-acc:#fbda03;--m-acc2:#00e0ff;--m-font:var(--f-d);position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);background:#141419;box-shadow:0 60px 120px -30px rgba(0,0,0,.9),0 0 90px -30px rgba(251,218,3,.35);transform:perspective(1400px) rotateY(-8deg) rotateX(3deg);transition:transform .8s var(--ease)}
.mock:hover{transform:perspective(1400px) rotateY(0) rotateX(0)}
.mock[data-mood=minimal]{--m-bg:#f3f1ec;--m-ink:#111;--m-acc:#111;--m-acc2:#d8d4ca;--m-font:var(--f-b)}
.mock[data-mood=lux]{--m-bg:#0d0b08;--m-ink:#efe6d2;--m-acc:#c9a45c;--m-acc2:#6b5431;--m-font:Georgia,"Times New Roman",serif}
.mock__bar{display:flex;align-items:center;gap:6px;padding:12px 14px;background:#1b1b22}
.mock__bar i{width:10px;height:10px;border-radius:50%;background:#36363f}
.mock__bar span{margin-left:14px;flex:1;background:#0e0e12;border-radius:6px;padding:6px 12px;color:var(--ink-3);text-transform:none;font-size:11px}
.mock__page{position:relative;aspect-ratio:16/11;background:var(--m-bg);color:var(--m-ink);padding:5% 6%;overflow:hidden;transition:background .6s,color .6s}
.mock__nav{display:flex;justify-content:space-between;align-items:center;font-size:clamp(9px,.8vw,12px);opacity:.8;position:relative;z-index:2}
.mock__logo{font:700 clamp(11px,1vw,15px)/1 var(--m-font);letter-spacing:.04em;color:var(--m-acc);text-transform:uppercase}
.mock__hero{position:relative;z-index:2;margin-top:10%;max-width:64%}
.mock__hero h3{font:700 clamp(20px,2.6vw,42px)/1.02 var(--m-font);letter-spacing:-.03em;margin:0 0 14px;word-break:break-word}
.mock__hero h3 span{color:var(--m-acc)}
.mock__hero h3 em{font-style:normal;opacity:.9}
.mock[data-mood=lux] .mock__hero h3{font-weight:400;letter-spacing:-.01em}
.mock__hero p{font-size:clamp(10px,.95vw,14px);opacity:.7;margin:0 0 18px;max-width:28em}
.mock__btn{display:inline-block;padding:9px 16px;border-radius:100px;background:var(--m-acc);color:var(--m-bg);font-size:clamp(9px,.85vw,12px);font-weight:600}
.mock[data-mood=lux] .mock__btn{border-radius:0;background:transparent;color:var(--m-acc);box-shadow:inset 0 0 0 1px var(--m-acc)}
.mock__orb{position:absolute;right:-8%;top:12%;width:52%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--m-acc),transparent 60%),radial-gradient(circle at 70% 70%,var(--m-acc2),transparent 55%);filter:blur(10px);opacity:.75;animation:orb 9s ease-in-out infinite alternate;transition:background .6s}
.mock[data-mood=minimal] .mock__orb{filter:none;border-radius:0;background:var(--m-acc2);opacity:1;width:34%;right:6%;top:24%;animation:none;clip-path:circle(50%)}
.mock[data-mood=lux] .mock__orb{opacity:.35;filter:blur(30px)}
@keyframes orb{to{transform:translate(-10%,8%) scale(1.15) rotate(40deg)}}
.mock__cards{position:absolute;left:6%;right:6%;bottom:6%;display:grid;grid-template-columns:repeat(3,1fr);gap:3%;z-index:2}
.mock__cards i{height:clamp(30px,4vw,64px);border-radius:10px;background:color-mix(in srgb,var(--m-ink) 7%,transparent);border:1px solid color-mix(in srgb,var(--m-ink) 12%,transparent)}
.mock[data-mood=lux] .mock__cards i{border-radius:0}
.mock__scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(251,218,3,.22) 50%,transparent);height:30%;transform:translateY(-100%);opacity:0}
.mock.is-build .mock__scan{animation:scan .9s var(--ease)}
@keyframes scan{0%{opacity:1;transform:translateY(-100%)}100%{opacity:0;transform:translateY(400%)}}

/* ── STATS ── */
.stats{padding-block:40px clamp(110px,14vw,180px)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:36px 24px 0 0;border-right:1px solid var(--line);margin-right:24px}
.stat:last-child{border-right:0}
.stat__v{display:block;font:900 clamp(42px,5.4vw,88px)/1 var(--f-d);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat:nth-child(2) .stat__v{color:var(--y)}
.stat span{display:block;margin-top:14px;color:var(--ink-2);max-width:14em;line-height:1.3}


/* ── KNOWLEDGE BASE (SEO) ── */
.hero__title .eyebrow{display:block;font-weight:400;line-height:1.5;color:var(--ink-2);margin:0 0 28px;text-transform:uppercase;letter-spacing:.08em}
.hero__title .eyebrow b{color:var(--ink);font-weight:500}
.kb{display:grid;grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:clamp(40px,7vw,120px);padding-block:clamp(90px,12vw,170px);align-items:start;border-top:1px solid var(--line)}
.kb__side{position:sticky;top:120px}
.kb__title{font:700 clamp(24px,2.4vw,36px)/1.1 var(--f-d);letter-spacing:-.03em;margin:0 0 30px}
.kb__toc{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.kb__toc a{padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:15px;display:flex;gap:14px;transition:color .25s,padding .35s var(--ease)}
.kb__toc a span{font:500 11px/1.9 var(--f-m);color:var(--y)}
.kb__toc a:hover,.kb__toc a.is-active{color:var(--ink);padding-left:8px}
.kb__body{max-width:860px}
.kb__art{padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--line)}
.kb h2{font:700 clamp(24px,2.4vw,38px)/1.08 var(--f-d);letter-spacing:-.035em;margin:0 0 24px;text-wrap:balance}
.kb__body p,.kb__body li{color:var(--ink-2);font-size:17px;line-height:1.75}
.kb__art>p:first-of-type{color:var(--ink);font-size:clamp(18px,1.4vw,21px)}
.kb ul{padding:0;list-style:none;margin:20px 0;display:grid;gap:10px}
.kb li{position:relative;padding-left:28px}
.kb li::before{content:"";position:absolute;left:0;top:.8em;width:14px;height:1px;background:var(--y)}
.kb__more{position:relative;overflow:hidden;transition:max-height .8s var(--ease)}
.js .kb__more:not(.open){max-height:120px}
.js .kb__more:not(.open)::after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,var(--bg))}
.kb__toggle{margin-top:18px;display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--y);font:500 12px/1 var(--f-m);letter-spacing:.08em;text-transform:uppercase}
.kb__toggle::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-3px);transition:transform .35s}
.kb__toggle[aria-expanded=true]::after{transform:rotate(-135deg)}
.kb__faq{display:grid;gap:12px;margin-bottom:72px}
.kb details{border:1px solid var(--line);border-radius:16px;padding:0 24px;background:rgba(255,255,255,.02);transition:border-color .3s}
.kb details[open]{border-color:rgba(251,218,3,.4)}
.kb summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px}
.kb summary::-webkit-details-marker{display:none}
.kb summary::after{content:"+";font:300 28px/1 var(--f-d);color:var(--y);transition:transform .35s var(--ease)}
.kb details[open] summary::after{transform:rotate(45deg)}
.kb summary h3{font:600 clamp(17px,1.4vw,20px)/1.3 var(--f-b);margin:0}
.kb__body details p{margin:0 0 22px}
.kb details a{color:var(--y)}
.kb__geo dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;margin:0}
.kb__geo dl>div{padding:18px 0;border-top:1px solid var(--line)}
.kb__geo dt{font:700 16px/1.3 var(--f-d);letter-spacing:-.01em;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.kb__geo dt::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--y);box-shadow:0 0 10px var(--y)}
.kb__geo dd{margin:0;color:var(--ink-3);font-size:14.5px;line-height:1.6}
@media (max-width:1100px){.kb{grid-template-columns:1fr}.kb__side{position:static}.kb__toc{display:none}}
@media (max-width:760px){.kb__geo dl{grid-template-columns:1fr}}

/* ── Адаптив головної ── */
@media (max-width:1100px){
  .manifest__grid,.proc,.lab{grid-template-columns:1fr}
  .proc__side{position:static}
  .svc__head,.sechead{grid-template-columns:1fr}
  .svc__sub,.sechead__sub{margin-top:16px}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .stat{padding-bottom:30px;border-bottom:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
  .mock{transform:none}
}
@media (max-width:760px){
  .hud--tr,.hud--br,.hero__hint{display:none}
  .hud--tl{top:84px}
  .hero{align-items:flex-end;padding-bottom:120px}
  .hero__cta .btn{flex:1 1 auto;justify-content:center}
  .svc__pin{position:static;height:auto;min-height:0}
  .svc__track{flex-direction:column;width:auto}
  .card{width:100%}
  .case{grid-template-columns:40px 1fr;row-gap:8px;padding:26px 0}
  .case__type{grid-column:2}
  .case__y{display:none}
  .case__img{display:block;grid-column:1/-1;border-radius:12px;border:1px solid var(--line);margin-top:10px;aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
  .case:hover{padding-inline:0}
  .step{grid-template-columns:44px 1fr}
  .step__t{grid-column:2;padding-top:0}
  .proc__steps{padding-left:34px}
  .step::before{left:-31px}
  .stats__grid{grid-template-columns:1fr 1fr}
  .stat{margin-right:14px;padding-right:14px}
  .manifest__img{aspect-ratio:1/1}
}
@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .hero__title .ch{opacity:1!important;transform:none!important}
  .grain{display:none}
}

.card{display:block;color:inherit}
.card__more{display:inline-block;margin-top:16px;color:var(--y);transition:transform .3s var(--ease)}
.card:hover .card__more{transform:translateX(6px)}
.kb__body table{width:100%;border-collapse:collapse;font-size:14.5px;display:block;overflow-x:auto;margin:10px 0}
.kb__body td,.kb__body th{padding:12px 14px;border-top:1px solid var(--line);color:var(--ink-2);vertical-align:top;text-align:left}
.kb__body td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.kb__body h3{font:600 20px/1.3 var(--f-b);margin:26px 0 12px}

/* Секції нижче першого екрана браузер не верстає, доки до них не докрутили:
   перша відмальовка головної стає в рази легшою. Розмір-заглушка запам'ятовується
   після першого показу (auto), тож прокрутка не стрибає. Позиції ScrollTrigger
   перераховуються в main.js, коли висота сторінки змінюється. */
.manifest,.cases,.proc,.lab,.stats,.kb,.home .ftr{content-visibility:auto;contain-intrinsic-size:auto 900px}
.manifest__text{text-wrap:wrap}
