:root{
  /* палитра */
  --mint:#bbffde; --mint2:#80c7a5; --mint-dim:#6ba795; --ink:#14292e; --white:#fff;
  --text:#e8f3ef; --text-soft:#c6dbd5;
  --glass:rgba(9,26,33,.88); --line:rgba(128,199,165,.30); --line-soft:rgba(128,199,165,.16);
  --blur:blur(34px) saturate(125%);
  --soft:0 30px 90px rgba(3,14,19,.55), 0 0 0 1px rgba(187,255,222,.05), inset 0 1px 0 rgba(187,255,222,.10);
  /* шрифты */
  --sans:'Akzentica',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --disp:'Baltica',Georgia,'Times New Roman',serif;
  /* типографическая шкала */
  --t-micro:clamp(9.5px,.78vw,11.5px);
  --t-xs:clamp(11px,.92vw,13.5px);
  --t-sm:clamp(12.5px,1.04vw,15.5px);
  --t-md:clamp(13.5px,1.16vw,17.5px);
  --t-lg:clamp(16px,1.5vw,22px);
  --t-xl:clamp(20px,2.05vw,30px);
  --t-2xl:clamp(26px,3.1vw,44px);
  --t-3xl:clamp(30px,4.4vw,64px);
  /* шкала отступов */
  --s1:5px; --s2:9px; --s3:15px; --s4:23px; --s5:34px; --s6:50px; --s7:74px;
  --gut:clamp(16px,6.6vw,95px);      /* поле макета: 95pt из 1440 */
  --sec:clamp(56px,7.2vw,112px);
  /* прочее */
  --r-sm:9px; --r-md:14px; --r-lg:18px;
  --track:.18em;                 /* трекинг капслока */
  --ease:cubic-bezier(.22,.61,.36,1);
  --fast:.28s; --slow:.55s;
  /* общая сетка шапки: бренд и гамбургер стоят по одной оси */
  --navpad:clamp(14px,2.2vw,32px);      /* поле шапки сверху/снизу */
  --brandh:clamp(26px,3.2vw,46px);      /* кегль «К-433» = высота строки */
  --bsize:clamp(40px,3.1vw,46px);       /* размер кнопки-гамбургера */
  --depth:0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background-color:#0b2029}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-weight:400;font-size:var(--t-md);color:var(--text);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;background:transparent}
img{max-width:100%;display:block;
  -webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  pointer-events:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}
.wrap{width:min(1440px,100%);margin:0 auto;padding-inline:var(--gut)}
.caps{letter-spacing:var(--track);text-transform:uppercase}

/* ============ СЛОИ ГЛУБИНЫ ============ */
.px{position:fixed;inset:0;pointer-events:none;will-change:background-position}
#pxWater{z-index:-4;background-image:url(../assets/img/water_tile.jpg);background-size:100% auto;background-repeat:repeat-y}
#pxSnow{z-index:-3;background-image:url(../assets/img/snow.webp);background-size:min(38vw,520px) auto;background-repeat:repeat;
  opacity:calc(.46 - var(--depth)*.30)}
#scrim{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(9,28,36,.58),rgba(9,28,36,.48) 42%,rgba(9,28,36,.64))}
#deep{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#04141b;
  opacity:calc(var(--depth)*.32);transition:opacity .25s linear}
#prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:100;background:var(--mint);
  box-shadow:0 0 14px rgba(187,255,222,.7)}
main,header,footer,nav{position:relative;z-index:1}

/* ============ ЛИНЕЙКИ-ТИКИ ============ */
.ruler{height:var(--rh,10px);width:var(--rw,100%);margin-inline:auto;flex:none;
  background-image:linear-gradient(90deg,var(--rc,#bbffde) 0 var(--rt,1.5px),transparent var(--rt,1.5px));
  background-size:calc(100% / var(--rn,63)) 100%;background-repeat:repeat-x;opacity:.85;
  clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}
.ruler.in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.ruler{clip-path:none;transition:none}}
