/* Тёмная палитра на основе цветов логотипа: тёмно-синий #264862 и красный #E30613.
   Переопределяет цвета из brand-tokens.css; шрифты, отступы и радиусы остаются из токенов. */
:root{
  color-scheme:dark;--deco:#8DBFE3;
  --red:#E30613;--red-text:#FF5C66;--navy:#264862;
  --c-bg:#0A1520;--c-surface:#112130;--c-surface-2:#0E1C29;
  --c-text:#C5D2DD;--c-heading:#F4F8FB;--c-text-2:#93A6B6;--c-text-3:#6F8394;
  --c-accent:var(--red);--c-link:#8DBFE3;--c-line:rgba(255,255,255,.11);--line:rgba(255,255,255,.11);--c-focus:#8DBFE3;
  --focus-ring:2px solid #8DBFE3;--border-accent-left:3px solid var(--red);
  --btn-primary-bg:var(--red);--btn-primary-bg-hover:#FF2433;--btn-primary-text:#fff;
  --btn-secondary-line:rgba(255,255,255,.24);--btn-secondary-line-hover:var(--red);--btn-secondary-text:#F4F8FB;
  --chip-bg-active:var(--red);--chip-text:#C5D2DD;--chip-text-active:#fff;
  --header-bg:rgba(10,21,32,.88);--footer-text:#9FB1C0;
  --green-text:var(--red-text);--ink-2:#8DBFE3;
  --grad-hero:radial-gradient(60% 70% at 88% 30%,rgba(38,72,98,.75),transparent 70%),radial-gradient(45% 55% at 8% 95%,rgba(227,6,19,.13),transparent 70%),#0A1520;
  --grad-section-alt:linear-gradient(180deg,#0D1B28,#0A1520);
  --grad-editorial:linear-gradient(135deg,#112A3D,#0D1B28);
  --shadow-photo:0 30px 70px -30px rgba(0,0,0,.8);
}
a{color:var(--c-link)}
:root[data-l=ru] [lang=en],:root[data-l=en] [lang=ru]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:72px}
header{position:sticky;top:0;z-index:5;background:var(--header-bg);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border-bottom:var(--border)}
header .wrap{display:flex;align-items:center;gap:var(--header-gap);padding-top:var(--header-pad-y);padding-bottom:var(--header-pad-y)}
.plate{display:flex}.plate img{height:36px;width:auto;display:block}
nav{margin-left:auto;display:flex;gap:26px;font:var(--text-ui)}
nav a{color:var(--c-heading);text-decoration:none;padding:4px 0;background:linear-gradient(var(--c-accent),var(--c-accent)) 0 100%/0 var(--nav-underline) no-repeat;transition:background-size .25s}
nav a:hover{background-size:100% var(--nav-underline)}
.lg{display:flex;border:var(--border);border-radius:var(--r-pill);background:var(--c-surface);padding:3px}
.lg button{font:var(--text-ui);font-size:13px;border:0;background:none;color:var(--chip-text);padding:6px 13px;border-radius:var(--r-pill);cursor:pointer}
:root[data-l=ru] .lg [data-s=ru],:root[data-l=en] .lg [data-s=en]{background:var(--chip-bg-active);color:var(--chip-text-active)}
.eyebrow{font:var(--eyebrow);letter-spacing:var(--eyebrow-ls);text-transform:uppercase;color:var(--c-text-2)}
.hero{background:var(--grad-hero);padding:var(--hero-top) 0 var(--hero-bottom)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
h1{font:var(--h1-hero);letter-spacing:var(--h1-hero-ls);color:var(--c-heading);margin:0 0 10px}
.tag{font:650 clamp(36px,5vw,64px)/1.08 var(--font-display);letter-spacing:-.02em;color:var(--c-heading);margin:0 0 28px;max-width:12ch}
.lead{font-size:var(--text-hero-lead-size);max-width:var(--measure-lead);margin:0 0 14px}.lead strong{color:var(--c-heading);font-weight:650}
.since{font:var(--eyebrow);letter-spacing:var(--eyebrow-ls);text-transform:uppercase;color:var(--green-text);margin:22px 0 28px}
.hero-art{justify-self:center;width:min(100%,420px)}.hero-art img{display:block;width:100%;height:auto}
.btn{display:inline-block;font:var(--text-button);padding:13px 22px;border-radius:var(--r-btn);text-decoration:none;margin:0 10px 10px 0;border:var(--border);transition:background .2s,border-color .2s}
.p{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.p:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}
.s{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-line)}.s:hover{border-color:var(--btn-secondary-line-hover)}
section{padding:var(--section-y) 0}
section.alt{background:var(--grad-section-alt)}
h2{font:var(--h2-section);letter-spacing:var(--h2-section-ls);color:var(--c-heading);margin:0 0 14px;max-width:24ch}
.sub{font-size:18px;color:var(--c-text-2);max-width:var(--measure-text);margin:0 0 var(--section-head-gap)}
.sub:empty{display:none}
h3{font:var(--h3-card);letter-spacing:var(--h3-card-ls);color:var(--c-heading);margin:0 0 8px}
.tl{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px var(--grid-gap-col)}
.tl li{background:var(--c-surface);border:var(--border);border-radius:var(--r-panel);padding:var(--panel-pad);padding-top:20px;border-top:3px solid var(--red)}
.tl b{font:var(--h2-section);font-size:36px;letter-spacing:var(--h2-section-ls);color:var(--c-heading);display:block}
.tl em{font-style:normal;font-weight:650;color:var(--green-text);display:block;margin:2px 0 8px}
.tl p{margin:0;color:var(--c-text-2);font-size:var(--text-card)}
.fo{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap-col)}
.fo article{background:var(--c-surface);border:var(--border);border-radius:var(--r-card);padding:22px 24px 24px}
.role{font:var(--eyebrow);letter-spacing:var(--eyebrow-ls);text-transform:uppercase;color:var(--green-text);margin:0 0 16px;line-height:1.7}
.fo p{margin:0 0 12px;font-size:var(--text-card)}.fo p:last-child{margin:0}
.fo a,.lk a{font-weight:650;text-underline-offset:3px}
.cg{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap-row) var(--grid-gap-col)}
.cg>div{background:var(--c-surface);border:var(--border);border-radius:var(--r-panel);padding:22px 24px}
.cg ul{margin:12px 0 0;padding:0;list-style:none}.cg li{padding:9px 0 9px 20px;border-top:var(--border);position:relative;font-size:var(--text-card)}
.cg li:before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;border-radius:50%;background:var(--c-accent)}
.ex{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min),1fr));gap:var(--grid-gap-row) var(--grid-gap-col)}
.ex div{padding:0 0 0 18px;border-left:var(--border-accent-left)}.ex p{margin:0;color:var(--c-text-2);font-size:var(--text-card)}
.lk{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px 28px}
.st{counter-reset:s;list-style:none;margin:32px 0 0;padding:0;max-width:760px}
.st li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;padding:16px 0;border-top:var(--border);font-size:17px}.st li:last-child{border-bottom:var(--border)}
.st li:before{content:counter(s,decimal-leading-zero);font:var(--eyebrow);font-size:14px;color:var(--green-text);padding-top:5px}.st b{color:var(--c-heading);font-weight:650}
.ct{background:var(--grad-editorial)}
.ci{font-size:19px;margin:0 0 26px}.ci div{margin-bottom:4px}.ci a{font-weight:650}
footer{background:#060E15;border-top:1px solid rgba(255,255,255,.1);color:var(--footer-text);padding:var(--footer-pad-y) 0;font-size:14px}
footer .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}footer .plate img{height:28px}footer a{color:var(--footer-text)}
@media(max-width:960px){.tl{grid-template-columns:1fr 1fr}.fo{grid-template-columns:1fr}}
@media(max-width:860px){nav{display:none}.lg{margin-left:auto}.hero .wrap{grid-template-columns:1fr}.hero-art{display:none}.cg{grid-template-columns:1fr}}
@media(max-width:600px){.tl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Фон страницы: несимметричные тональные переходы + подложки по теме ---- */
section,.hero{position:relative;overflow:hidden;isolation:isolate}
.wrap{position:relative;z-index:1}
.bg{color:var(--deco);position:absolute;z-index:0;pointer-events:none;margin:0}
#history{background:radial-gradient(55% 75% at 6% 0%,rgba(38,72,98,.6),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(227,6,19,.09),transparent 70%),#0A1520}
#founders{background:radial-gradient(60% 85% at 100% 35%,rgba(22,82,100,.5),transparent 70%),radial-gradient(35% 55% at 0% 100%,rgba(38,72,98,.45),transparent 70%),#0B1823}
#skills{background:radial-gradient(45% 60% at 0% 95%,rgba(227,6,19,.11),transparent 70%),linear-gradient(200deg,#112840 0%,#0A1520 48%)}
#work{background:linear-gradient(160deg,#0D1D2C 0%,#0A1520 42%,#132B40 100%)}
#process{background:radial-gradient(50% 70% at 0% 55%,rgba(31,92,110,.38),transparent 70%),radial-gradient(40% 60% at 100% 0%,rgba(38,72,98,.5),transparent 70%),#0A1520}
#partners{background:radial-gradient(40% 60% at 100% 100%,rgba(227,6,19,.10),transparent 70%),linear-gradient(20deg,#12283D,#0A1520 58%)}
#contact{background:radial-gradient(60% 90% at 0% 100%,rgba(227,6,19,.2),transparent 65%),radial-gradient(60% 80% at 100% 0%,rgba(38,72,98,.75),transparent 70%),#0A1520}
.rain{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;-webkit-mask-image:radial-gradient(75% 95% at 88% 30%,#000 15%,transparent 72%);mask-image:radial-gradient(75% 95% at 88% 30%,#000 15%,transparent 72%)}
.b-grid{right:0;top:0;width:65%;height:100%;background-image:radial-gradient(color-mix(in srgb,var(--deco) 30%,transparent) 1.2px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 65% at 85% 15%,#000,transparent 78%);mask-image:radial-gradient(70% 65% at 85% 15%,#000,transparent 78%)}
.b-net{right:-60px;top:10px;width:640px;opacity:.55}.b-net2{left:-80px;bottom:-40px;width:520px;opacity:.45}
.b-net svg,.b-net2 svg,.b-chain svg,.b-circuit svg{width:100%;height:auto;display:block}
.b-code{right:20px;top:36px;font:13px/1.75 var(--font-mono);color:var(--deco);opacity:.2;white-space:pre;-webkit-mask-image:linear-gradient(to left,#000 35%,transparent 98%);mask-image:linear-gradient(to left,#000 35%,transparent 98%)}
.b-chain{right:-140px;top:36px;width:820px;opacity:.7;transform:rotate(6deg);transform-origin:100% 0}
.b-hex{right:28px;top:56px;text-align:right;font:13px/2 var(--font-mono);color:var(--deco);opacity:.2;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent)}
.b-circuit{right:-30px;bottom:-20px;width:780px;opacity:.7;-webkit-mask-image:linear-gradient(to left,#000 40%,transparent 100%);mask-image:linear-gradient(to left,#000 40%,transparent 100%)}
@media(max-width:860px){.b-code,.b-hex,.b-chain{display:none}.b-net,.b-net2,.b-circuit{opacity:.22}.rain{opacity:.4}}

/* ---- Переключатель темы ---- */
.th{width:38px;height:38px;border-radius:50%;border:var(--border);background:var(--c-surface);color:var(--c-heading);display:grid;place-items:center;cursor:pointer;flex:none;padding:0}
.th:hover{border-color:var(--red)}.th svg{width:18px;height:18px}
.th .i-moon,.on-light{display:none}
:root[data-theme=light] .th .i-sun,:root[data-theme=light] .on-dark{display:none}
:root[data-theme=light] .th .i-moon{display:block}:root[data-theme=light] .on-light{display:block}
/* ---- Светлая тема (палитра brand-tokens) ---- */
:root[data-theme=light]{
  color-scheme:light;--deco:#1B5C6B;--red-text:#C8101C;
  --c-bg:#FEFBF6;--c-surface:#FFFFFF;--c-surface-2:#F8F3E9;
  --c-text:#3F4A5A;--c-heading:#104551;--c-text-2:#5E6A78;--c-text-3:#7C8590;
  --c-link:#1B5C6B;--c-line:rgba(16,69,81,.14);--line:rgba(16,69,81,.14);--c-focus:#1B5C6B;--focus-ring:2px solid #1B5C6B;
  --btn-primary-bg-hover:#BF0510;--btn-secondary-line:rgba(16,69,81,.28);--btn-secondary-text:#104551;
  --chip-text:#104551;--header-bg:rgba(254,251,246,.92);--ink-2:#1B5C6B;
  --grad-hero:radial-gradient(60% 70% at 85% 30%,rgba(166,203,221,.4),transparent 70%),radial-gradient(50% 60% at 8% 95%,rgba(232,180,162,.32),transparent 70%),radial-gradient(40% 50% at 60% 100%,rgba(112,184,90,.14),transparent 70%),#FEFBF6;
  --shadow-photo:0 24px 50px -30px rgba(16,69,81,.5);
}
:root[data-theme=light] .tl li,:root[data-theme=light] .fo article,:root[data-theme=light] .cg>div{box-shadow:0 22px 40px -32px rgba(16,69,81,.4)}
:root[data-theme=light] .rain{opacity:.5}
:root[data-theme=light] .b-code,:root[data-theme=light] .b-hex{opacity:.13}
:root[data-theme=light] #history{background:radial-gradient(55% 75% at 6% 0%,rgba(166,203,221,.5),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(232,180,162,.35),transparent 70%),#FEFBF6}
:root[data-theme=light] #founders{background:radial-gradient(60% 85% at 100% 35%,rgba(166,203,221,.45),transparent 70%),radial-gradient(35% 55% at 0% 100%,rgba(112,184,90,.14),transparent 70%),#F8F3E9}
:root[data-theme=light] #skills{background:radial-gradient(45% 60% at 0% 95%,rgba(232,180,162,.4),transparent 70%),linear-gradient(200deg,#E3EDEA 0%,#FEFBF6 48%)}
:root[data-theme=light] #work{background:linear-gradient(160deg,#F5EBDD 0%,#FEFBF6 42%,#E3EEF3 100%)}
:root[data-theme=light] #process{background:radial-gradient(50% 70% at 0% 55%,rgba(85,157,136,.2),transparent 70%),radial-gradient(40% 60% at 100% 0%,rgba(166,203,221,.4),transparent 70%),#FEFBF6}
:root[data-theme=light] #partners{background:radial-gradient(40% 60% at 100% 100%,rgba(227,6,19,.07),transparent 70%),linear-gradient(20deg,#E8EFEA,#FEFBF6 58%)}
:root[data-theme=light] #contact{background:radial-gradient(60% 90% at 0% 100%,rgba(227,6,19,.12),transparent 65%),radial-gradient(60% 80% at 100% 0%,rgba(166,203,221,.55),transparent 70%),#FEFBF6}
