/* GLAZOV site appearance file - the single source of every appearance value of glazov.tech.
   Owner's decision of 2026-10-10: the site has its own set (shared product-style.css is not used).
   Change a colour, a typeface, a scale or a shadow HERE - nowhere else: not in a page's <style>, not in markup, not in code.

   Layout:  1. fonts (own files in assets/fonts/, never a foreign server)
            2. :root tokens - core palette and scales, then derived values
            3. base + shared primitives: container, buttons, header, sections, form, footer, cookie, reveal
   Page layout lives in a separate file (assets/home.css for the home page) and uses ONLY var(--token).

   The derived tokens (--k-* and --<component>-<property>) were cut out of the accepted home page v5 one to one,
   so the look did not change by a pixel. They are candidates for merging into the core palette at the next
   appearance change of the site.

   allow: assets/home/scene.js - bundled three.js scene (colours of the 3D drawing live inside the bundle, not in a stylesheet)
   allow: site.webmanifest - a manifest cannot read CSS variables: theme_color and background_color repeat --bg of this file and change with it
   allow: assets/home/board.js - canvas drawing of a printed circuit board on the home page (copper, solder mask, silkscreen: the colours of the illustration, not of the interface)
*/

@font-face{font-family:"IBM Plex Sans";src:url("fonts/plex-sans-cyrillic.woff2") format("woff2");font-weight:100 700;font-stretch:85% 100%;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/plex-sans-latin.woff2") format("woff2");font-weight:100 700;font-stretch:85% 100%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plex-mono-cyrillic-400.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plex-mono-latin-400.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plex-mono-cyrillic-500.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plex-mono-latin-500.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#E3E7E5; --bg-2:#ECEFEE; --paper:#F7F9F8; --white:#FFFFFF;
  --line:rgba(9,32,23,.12); --line-2:rgba(9,32,23,.2); --line-3:rgba(9,32,23,.36);
  --ink:#08150F; --ink-2:#30403A; --ink-3:#4A5953;
  --g9:#04201A; --g8:#082E22; --g7:#0C412F; --g6:#11573E; --g5:#187250; --g4:#22916A;
  --sig:#41DD99; --sig-2:#9AF2C9;
  --st1:#FBFCFC; --st2:#E3E8E6; --st3:#C4CDC9; --st4:#98A49E; --st5:#6D7A74; --st6:#47534D;
  --on-dark:#EAF2EE; --on-dark-2:#B9CBC2; --on-dark-3:#A6BCB1;
  --focus:#0A6B48; --focus-dark:#8EF0C1;
  --err:#A3261B;
  --grid:rgba(9,32,23,.05);
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,"Liberation Mono",monospace;
  --pad:clamp(16px,4vw,48px);
  --max:1320px;
  --hdr:68px;
  --sh-1:0 1px 2px rgba(4,32,26,.07),0 8px 22px -12px rgba(4,32,26,.22);
  --sh-2:0 2px 6px rgba(4,32,26,.08),0 30px 70px -30px rgba(4,32,26,.45);
  color-scheme:light;
  /* --- derived: plain colours (name = value) --- */
  --k-f1f7f4:#F1F7F4;
  --k-e3e7e5-a82:rgba(227,231,229,.82);
  --k-f7f9f8-a82:rgba(247,249,248,.82);
  --k-0b3a2a:#0B3A2A;
  --k-afc2b8:#AFC2B8;
  --k-2c3833:#2C3833;
  --k-28342f-a55:rgba(40,52,47,.55);
  --k-3e4b45:#3E4B45;
  --k-26322d:#26322D;
  --k-8fb3a2:#8FB3A2;
  --k-66726c:#66726C;
  --k-5d6964:#5D6964;
  --k-e3f2ea:#E3F2EA;
  --k-0b3d2b:#0B3D2B;
  --k-031a14:#031A14;
  /* --- wordmark of the footer (stops of the brushed-steel gradient in the markup SVG) --- */
  --wm-0:#E9EEEC;
  --wm-1:#9DAAA4;
  --wm-2:#5C6963;
  --wm-3:#B9C4BF;
  --wm-4:#46524C;
  /* --- derived: component values (name = selector-property) --- */
  --btn-green-bg:linear-gradient(180deg,#17694B 0%,#0D4431 100%);
  --btn-green-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.28),0 1px 2px rgba(4,32,26,.25),0 12px 26px -12px rgba(4,32,26,.7);
  --btn-green-hover-bg:linear-gradient(180deg,#1C7C58 0%,#0F4E37 100%);
  --btn-steel-bg:linear-gradient(180deg,#FDFEFE 0%,#E9EDEB 50%,#D5DCD8 100%);
  --btn-steel-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(9,32,23,.08),0 0 0 1px rgba(9,32,23,.2),0 8px 18px -12px rgba(4,32,26,.5);
  --btn-steel-hover-bg:linear-gradient(180deg,#FFFFFF 0%,#EEF2F0 50%,#DCE2DF 100%);
  --hero-before-bg-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(rgba(9,32,23,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(9,32,23,.045) 1px,transparent 1px);
  --hero-before--webkit-mask-image:radial-gradient(90% 85% at 72% 42%,#000 25%,transparent 78%);
  --h1-metal-bg:linear-gradient(100deg,#0C4630 0%,#187250 34%,#6E7D76 56%,#2E5A48 74%,#0C4630 100%);
  --spec-row-before-bg:linear-gradient(90deg,rgba(24,114,80,.11),rgba(24,114,80,0) 75%);
  --sec-num-bg:linear-gradient(180deg,#B4BEB9 0%,#7C8983 38%,#5A6761 52%,#C5CDC9 72%,#6C7973 100%);
  --arch-bg:radial-gradient(120% 160% at 0% 0%,#0F4C36 0%,#08301F 46%,#04201A 100%);
  --arch-before-bg:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),radial-gradient(60% 80% at 85% 0%,rgba(65,221,153,.12),transparent 70%);
  --arch-after-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.05);
  --bus-bg:linear-gradient(90deg,rgba(154,242,201,.15),rgba(154,242,201,.5),rgba(154,242,201,.15));
  --bus-i-bg:linear-gradient(90deg,rgba(154,242,201,0),#9AF2C9);
  --bus-i-shadow:0 0 14px 2px rgba(65,221,153,.6);
  --step-before-shadow:0 0 0 2px rgba(154,242,201,.7),0 0 0 6px rgba(65,221,153,.08);
  --step-hover-before-shadow:0 0 0 2px var(--sig-2),0 0 22px 4px rgba(65,221,153,.55);
  --step-em-bg:linear-gradient(180deg,#F4F7F6,#C9D2CE);
  --step-em-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.4);
  --arch-note-border-top:1px solid rgba(255,255,255,.12);
  --bus-bg-2:linear-gradient(180deg,rgba(154,242,201,.15),rgba(154,242,201,.5),rgba(154,242,201,.15));
  --cap-before-bg:linear-gradient(90deg,#AEB8B3,#F6F8F7 30%,#8E9A94 55%,#E6EBE9 80%,#A3AEA8);
  --cap-after-bg:linear-gradient(90deg,transparent,rgba(65,221,153,.95),transparent);
  --tabs-bg:linear-gradient(180deg,#D6DDD9,#E9EDEB);
  --tabs-shadow:inset 0 1px 2px rgba(4,32,26,.18),0 1px 0 #fff;
  --tab-aria-selected-true-bg:linear-gradient(180deg,#FFFFFF,#EEF2F0);
  --tab-aria-selected-true-shadow:0 1px 2px rgba(4,32,26,.18),0 6px 16px -8px rgba(4,32,26,.35),inset 0 1px 0 #fff;
  --panel-li-before-shadow:0 0 0 3px rgba(24,114,80,.15);
  --device-bg:linear-gradient(180deg,#134535 0%,#0A2E22 100%);
  --device-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.4),0 0 0 1px rgba(4,32,26,.65),var(--sh-2);
  --device-before-bg:linear-gradient(180deg,#C8D1CD,#7E8B85);
  --device-before-shadow:inset 0 1px 0 #fff;
  --device-after-bg:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 6px);
  --device-after--webkit-mask-image:linear-gradient(90deg,#000 0 38%,transparent 38% 62%,#000 62%);
  --screen-shadow:0 0 0 1px rgba(0,0,0,.5);
  --screen-after-bg:linear-gradient(115deg,rgba(255,255,255,.16),rgba(255,255,255,0) 32%);
  --alt-before-bg:linear-gradient(180deg,#145A41,#0B3A2A);
  --alt-before-shadow:inset 0 1px 0 rgba(255,255,255,.18),var(--sh-1);
  --lab-bg:radial-gradient(120% 90% at 50% 0%,#EEF1F0 0%,#DCE2DF 70%,#D3DAD6 100%);
  --lab-shadow:inset 0 0 0 1px var(--line),inset 0 2px 8px rgba(4,32,26,.06),var(--sh-1);
  --lab-tl-i-shadow:0 0 0 3px rgba(34,145,106,.2);
  --feat-ic-bg:linear-gradient(180deg,#FBFCFC,#DCE2DF);
  --feat-ic-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--line-2);
  --board-bg:linear-gradient(180deg,#2A322E,#161B19);
  --board-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(4,32,26,.6),var(--sh-2);
  --plaque-bg:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 40%,rgba(0,0,0,.06)),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,rgba(0,0,0,.035) 1px 2px,transparent 2px 4px),linear-gradient(100deg,#C9D1CD 0%,#EEF2F0 28%,#BCC6C1 52%,#E4E9E6 74%,#B4BFBA 100%);
  --plaque-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.12),0 0 0 1px rgba(9,32,23,.25),var(--sh-2);
  --plaque-i-bg:radial-gradient(circle at 35% 35%,#FFFFFF,#9AA6A0 60%,#5F6B65);
  --plaque-i-shadow:inset 0 0 0 1px rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.7);
  --plaque-top-tshadow:0 1px 0 rgba(255,255,255,.7);
  --plaque-name-tshadow:0 1px 0 rgba(255,255,255,.75),0 -1px 0 rgba(0,0,0,.25);
  --contact-bg:radial-gradient(90% 120% at 100% 0%,#0F4A35 0%,#072B20 50%,#04201A 100%);
  --contact-before-bg:repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);
  --ct-steps-border-top:1px solid rgba(255,255,255,.14);
  --channels-a-border-bottom:1px solid rgba(255,255,255,.25);
  --form-shadow:inset 0 1px 0 #fff,0 30px 80px -30px rgba(0,0,0,.6);
  --inp-border:1px solid #7E8A85;
  --inp-focus-shadow:0 0 0 3px rgba(24,114,80,.25);
  --is-bad-inp-shadow:0 0 0 3px rgba(163,38,27,.14);
  --form-done-shadow:inset 0 0 0 1px rgba(24,114,80,.3);
  --foot-legal-border-top:1px solid rgba(255,255,255,.1);
  --cookie-bg:linear-gradient(180deg,#FBFCFC,#E3E8E6);
  --cookie-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--line-2),var(--sh-2);
}

/* ===== base and shared primitives ===== */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);font-stretch:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:calc(var(--max) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--g8);color:var(--on-dark);padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.mono{font-family:var(--mono)}
.eyebrow{display:flex;align-items:center;gap:10px;font:500 13px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ----- кнопки: анодированная и стальная ----- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:0;border-radius:12px;font:600 16px/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none;transition:transform .2s ease}
.btn:hover svg{transform:translateX(3px)}
.btn--green{color:var(--k-f1f7f4);background:var(--btn-green-bg);box-shadow:var(--btn-green-shadow)}
.btn--green:hover{background:var(--btn-green-hover-bg)}
.btn--steel{color:var(--ink);background:var(--btn-steel-bg);box-shadow:var(--btn-steel-shadow)}
.btn--steel:hover{background:var(--btn-steel-hover-bg)}
.btn--sm{min-height:44px;padding:0 16px;font-size:15px;border-radius:10px}
.more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 15px/1.2 var(--sans);color:var(--g6);text-decoration:none;border-bottom:1px solid transparent}
.more svg{width:16px;height:16px;transition:transform .2s ease}
.more:hover{color:var(--g7)}
.more:hover svg{transform:translateX(3px)}
/* ===== Шапка ===== */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--k-e3e7e5-a82);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:28px;height:var(--hdr)}
.logo{display:inline-flex;align-items:center;gap:11px;min-height:44px;text-decoration:none;color:var(--ink);font:650 19px/1 var(--sans);font-stretch:85%;letter-spacing:.14em}
.logo svg{width:30px;height:30px;flex:none}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:9px;text-decoration:none;color:var(--ink-2);font-size:15px;font-weight:500}
.nav a:hover{color:var(--ink);background:var(--grid)}
.nav a:first-child{color:var(--ink);font-weight:600}
.hdr__menu{display:none;min-height:44px;min-width:44px;padding:0 14px;border-radius:10px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);font-weight:600;cursor:pointer;margin-left:auto}
.mnav{position:fixed;inset:calc(var(--hdr) + env(safe-area-inset-top,0px)) 0 auto 0;z-index:59;background:var(--bg);border-bottom:1px solid var(--line-2);box-shadow:var(--sh-2);padding:8px var(--pad) 20px;display:grid;gap:2px}
.mnav a{display:flex;align-items:center;min-height:52px;text-decoration:none;font-size:18px;font-weight:600;border-bottom:1px solid var(--line)}
.mnav .btn{margin-top:14px;border-bottom:0}
@media (max-width:1120px){
  .nav{display:none}
  .hdr__menu{display:inline-flex;align-items:center;margin-left:0}
  .hdr__cta{margin-left:auto}
}
@media (max-width:520px){
  .hdr__cta .xl{display:none}
  .hdr__cta{padding:0 14px}
  .hdr__in{gap:10px}
}
@media (max-width:360px){
  .logo{font-size:17px;letter-spacing:.08em;gap:8px}
  .logo svg{width:26px;height:26px}
  .hdr__cta{padding:0 12px;font-size:14px}
  .hdr__menu{padding:0 12px}
}
/* ===== Разделы ===== */
.sec{padding-block:clamp(72px,9vw,124px);position:relative}
.sec--alt{background:var(--bg-2)}
.sec__head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(20px,3vw,44px);align-items:end}
.sec__num{font:600 clamp(84px,12vw,176px)/.78 var(--sans);font-stretch:85%;letter-spacing:-.05em;background:var(--sec-num-bg);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;padding-bottom:.04em}
.h2{margin-top:14px;font-weight:600;font-stretch:85%;font-size:clamp(34px,4.3vw,62px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.h2 .soft{color:var(--st5)}
.sec__lead{grid-column:1 / -1;margin-top:28px;max-width:44em;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--ink-2)}
@media (max-width:700px){
  .sec__head{grid-template-columns:minmax(0,1fr)}
  .sec__num{font-size:72px;margin-bottom:6px}
}
.form{background:var(--paper);color:var(--ink);border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:var(--form-shadow);position:relative}
.form::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;border-radius:20px 20px 0 0;background:var(--cap-before-bg)}
.form :focus-visible{outline-color:var(--focus)}
.form h3{font-size:24px;font-weight:600;letter-spacing:-.01em}
.form .sub{margin-top:6px;font-size:15px;color:var(--ink-2)}
.fld{margin-top:18px;border:0;padding:0;min-width:0}
.fld > label,.fld legend{display:block;font-size:15px;font-weight:600;padding:0}
.opt{font-weight:400;color:var(--ink-3)}
.hint{display:block;margin-top:2px;font-size:14px;color:var(--ink-3)}
.inp{display:block;width:100%;margin-top:8px;min-height:50px;padding:12px 14px;border-radius:11px;border:var(--inp-border);background:var(--white);font-size:16px;transition:border-color .2s ease,box-shadow .2s ease}
.inp::placeholder{color:var(--k-66726c)}
.inp:hover{border-color:var(--k-5d6964)}
.inp:focus{outline:none;border-color:var(--g5);box-shadow:var(--inp-focus-shadow)}
textarea.inp{min-height:120px;resize:vertical}
.pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pick label{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-2);transition:background .2s ease,box-shadow .2s ease,color .2s ease}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick label:has(input:checked){background:var(--g7);color:var(--white);box-shadow:inset 0 0 0 1px var(--g7)}
.pick label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.consent{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;margin-top:20px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.consent input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--g6)}
.consent a{color:var(--g6)}
.err{display:none;margin-top:6px;font-size:14px;font-weight:500;color:var(--err)}
.is-bad .err{display:block}
.is-bad .inp{border-color:var(--err);box-shadow:var(--is-bad-inp-shadow)}
.form .btn{margin-top:22px;width:100%}
.form__foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font:400 13px/1.4 var(--mono);color:var(--ink-3)}
.form__done{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--k-e3f2ea);color:var(--k-0b3d2b);font-size:15px;box-shadow:var(--form-done-shadow)}
.form__done.is-on{display:block}
/* ===== Подвал ===== */
.foot{background:var(--k-031a14);color:var(--on-dark-2);padding-block:64px 28px;position:relative;overflow:hidden}
.foot :focus-visible{outline-color:var(--focus-dark)}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px}
.foot__claim{font-weight:500;font-stretch:85%;font-size:clamp(22px,2vw,28px);line-height:1.2;color:var(--white);max-width:16em}
.foot h4{font:500 13px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-3)}
.foot ul{margin-top:12px;display:grid;gap:2px}
.foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--on-dark);text-decoration:none;font-size:15.5px}
.foot li a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}
.foot .btn{margin-top:20px}
.wordmark{display:block;width:100%;height:auto;margin-top:48px}
.wordmark text{font-family:var(--sans);font-weight:600;font-stretch:85%;font-size:240px}
.foot__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:20px;padding-top:18px;border-top:var(--foot-legal-border-top);font:400 13px/1.4 var(--mono);color:var(--on-dark-3)}
.foot__legal a{color:var(--on-dark-2);display:inline-flex;align-items:center;min-height:44px}
@media (max-width:900px){
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot__grid > div:first-child{grid-column:1 / -1}
}
@media (max-width:520px){
  .foot__grid{grid-template-columns:minmax(0,1fr)}
}
/* ===== cookie ===== */
.cookie{position:fixed;z-index:70;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:420px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border-radius:14px;color:var(--ink);background:var(--cookie-bg);box-shadow:var(--cookie-shadow);font-size:14.5px;line-height:1.45}
.cookie p{flex:1 1 220px}
.cookie .btns{display:flex;gap:8px}
.cookie button{min-height:44px;padding:0 14px;border-radius:10px;border:0;font-weight:600;font-size:14.5px;cursor:pointer;background:transparent;box-shadow:inset 0 0 0 1px var(--line-3)}
.cookie button.ok{color:var(--white);background:var(--g7);box-shadow:none}
@media (max-width:520px){
  .cookie{left:10px;right:10px;max-width:none;padding:10px 12px}
  .cookie .ck-long{display:none}
}
/* ===== Появление: только движение, текст виден всегда ===== */
.js [data-reveal]{transform:translateY(18px);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-in{transform:none}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{transform:none;transition:none}
}
