/* ===== extracted from index.html inline <style id="vit-meridian-polish"> (order #1) ===== */
/* ═══════════════════════════════════════════════════════════════
   VIT LOGISTICS · "MERIDIAN" POLISH LAYER
   Единый премиум-стиль поверх style.css. Задача: не менять личность
   (обсидиан + золото), а привести все секции к одной дисциплине —
   шкала радиусов, ритм отступов, единая карточка, единый easing,
   и одна сквозная подпись: золотая меридианная линия «Тбилиси → мир».
   ═══════════════════════════════════════════════════════════════ */

:root{
  /* ── дисциплинированная шкала радиусов ── */
  --r-xs:2px;      /* острые акценты, чипы-кнопки */
  --r-sm:12px;     /* мелкие элементы */
  --r-md:18px;     /* карточки */
  --r-lg:24px;     /* крупные панели */
  --r-pill:100px;  /* таблетки */
  /* ── единый ритм секций ── */
  --sec-pad-y:clamp(72px,9vw,120px);
  --sec-pad-x:clamp(20px,5vw,52px);
  /* ── единый премиум-easing и тени ── */
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow-card:0 24px 60px -30px rgba(0,0,0,.85);
  --shadow-gold:0 0 0 1px rgba(232,201,106,.08),0 30px 70px -34px rgba(0,0,0,.9);
  --edge-gold:rgba(232,201,106,.32);
}

/* ════════ 1 · ЕДИНЫЙ РИТМ СЕКЦИЙ ════════ */
/* мягко нормализуем вертикальное дыхание — секции звучат в одном такте */
#news, #about, #branches, #partners, #services, #methods, #membership, #stickerpack{
  padding-top:var(--sec-pad-y);
  padding-bottom:var(--sec-pad-y);
}

/* ════════ 2 · SIGNATURE · МЕРИДИАННАЯ НИТЬ ════════ */
/* тонкая золотая горизонталь-«параллель» на стыке смысловых блоков —
   единый мотив глобальной сети, повторяющийся, но ненавязчивый */
.meridian{
  position:relative;height:1px;width:100%;
  background:linear-gradient(90deg,transparent,var(--ln) 15%,var(--ln) 85%,transparent);
  overflow:visible;
}
.meridian::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:38%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,201,106,.55),transparent);
  animation:meridianRun 7s var(--ease) infinite;
}
.meridian::after{
  content:"";position:absolute;top:50%;left:0;
  width:5px;height:5px;border-radius:50%;background:var(--gl);
  transform:translate(-50%,-50%);
  box-shadow:0 0 12px 2px var(--glow);
  animation:meridianDot 7s var(--ease) infinite;
}
@keyframes meridianRun{0%{left:-38%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes meridianDot{0%{left:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.meridian::before,.meridian::after{animation:none}}

/* ════════ 3 · ЕДИНАЯ КАРТОЧКА ════════ */
/* один язык для всех карточек: обсидиановый градиент, hairline,
   золотая грань + подъём на hover. Приводим разнобойные карточки к нему. */
.nc, .pcard-new, .about-stat, .clock-box, .abv2-card, .soon-card, .hcard{
  border-radius:var(--r-md);
  transition:transform .5s var(--ease),border-color .5s var(--ease),
             box-shadow .5s var(--ease),background .5s var(--ease);
}
.nc:hover, .pcard-new:hover, .about-stat:hover,
.abv2-card:hover, .soon-card:hover{
  transform:translateY(-5px);
  border-color:var(--edge-gold);
  box-shadow:var(--shadow-gold);
}
/* мелкие «данные»-карточки поднимаем деликатнее */
.about-stat:hover, .clock-box:hover{ transform:translateY(-3px); border-color:var(--edge-gold); }

/* стат-блоки — единый премиум-вид */
.about-stat{
  background:linear-gradient(160deg,var(--ink3),var(--ink2));
  border:1px solid var(--ln);border-radius:var(--r-md);
}

/* ════════ 4 · КНОПКИ · ФИНАЛЬНАЯ ПОЛИРОВКА ════════ */
.btn-gold{
  border-radius:var(--r-xs);
  box-shadow:0 10px 30px -12px rgba(201,168,76,.5);
}
.btn-gold:hover{ box-shadow:0 14px 40px -12px rgba(232,201,106,.65); transform:translateY(-1px); }
.btn-ghost{ border-radius:var(--r-xs); }
.btn-ghost:hover{ background:rgba(232,201,106,.04); }

/* чипы / таблетки — единый пилл */
.abv2-tag, .day-chip{ border-radius:var(--r-pill); }

/* ════════ 5 · HAIRLINES · ТОНЬШЕ И ДОРОЖЕ ════════ */
/* приглушаем слишком контрастные линии до благородного золотого шёпота */
:root{ --ln:rgba(232,201,106,.10); }

/* ════════ 6 · ЗАГОЛОВКИ СЕКЦИЙ · СТАБИЛЬНАЯ ИЕРАРХИЯ ════════ */
.sec-label{ margin-bottom:18px; }
.sec-label-txt{ letter-spacing:3px; }
.sec-h{ letter-spacing:1px; margin-bottom:clamp(36px,5vw,56px); }

/* ════════ 7 · МЕЖДУНАРОДНЫЙ МАСШТАБ · АКЦЕНТ ════════ */
/* лёгкое золотое сияние-«орбита» в фоне ключевых секций — ощущение
   глобальной сети без нового тяжёлого декора */
#partners, #services, #methods{ position:relative; }
#partners::after, #methods::after{
  content:"";position:absolute;pointer-events:none;z-index:0;
  width:min(70vw,720px);aspect-ratio:1;border-radius:50%;
  top:-12%;right:-14%;
  background:radial-gradient(circle,rgba(201,168,76,.05),transparent 62%);
  filter:blur(8px);
}

/* ════════ 8 · МОБИЛЬНАЯ КОГЕЗИЯ ════════ */
@media(max-width:640px){
  :root{ --sec-pad-y:clamp(56px,12vw,80px); }
  .nc, .pcard-new, .abv2-card, .soon-card, .about-stat{ border-radius:var(--r-sm); }
}

/* ===== extracted from index.html inline <style > (order #3) ===== */
/* ══ 1. MAGNETIC TILT — карточки реагируют на курсор ══ */
.mag {
  transform-style: preserve-3d;
  transition: transform .08s linear, box-shadow .3s;
  will-change: transform;
}
.mag-inner {
  transform: translateZ(18px);
  transition: transform .08s linear;
}

/* ══ 2. STAGGER TEXT — слова появляются по одному ══ */
.st-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(40px) skewY(3deg);
  transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.st-word.vis {
  opacity: 1;
  transform: translateY(0) skewY(0deg);
}

/* ══ 3. BORDER BEAM — бегущий огонёк вдоль рамки ══ */
@property --beam-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
.beam {
  position: relative;
  overflow: hidden;
}
.beam::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--beam-angle),
    transparent 0%,
    transparent 70%,
    rgba(232,201,106,.9) 80%,
    rgba(255,235,160,1) 85%,
    rgba(232,201,106,.9) 90%,
    transparent 100%
  );
  animation: beam-spin 3s linear infinite;
  z-index: -1;
  pointer-events: none;
}
.beam::before {
  content: '';
  position: absolute;
  inset: 1px;
  background: var(--ink2);
  border-radius: inherit;
  z-index: -1;
}
@keyframes beam-spin {
  to { --beam-angle: 360deg; }
}

/* ══ 4. COUNTER ANIMATE — через JS, стиль числа ══ */
[data-counter] {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* ══ 5. PARALLAX GHOST — через JS transform ══ */
.para { will-change: transform; }

/* ══ 6. CURSOR GLOW BUTTON — пятно под курсором ══ */
.glow-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.glow-btn::after {
  content: '';
  position: absolute;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(255,235,160,.18) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform .4s cubic-bezier(.16,1,.3,1), opacity .3s;
  opacity: 0;
  pointer-events: none;
  left: var(--gx, 50%);
  top: var(--gy, 50%);
  z-index: 0;
}
.glow-btn:hover::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.glow-btn > * { position: relative; z-index: 1; }

/* ══ 7. CLIP REVEAL — секции открываются как шторка ══ */
.clip-reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path .9s cubic-bezier(.77,0,.18,1);
}
.clip-reveal.vis {
  clip-path: inset(0 0% 0 0);
}
.clip-reveal-up {
  clip-path: inset(100% 0 0 0);
  transition: clip-path .8s cubic-bezier(.77,0,.18,1);
}
.clip-reveal-up.vis {
  clip-path: inset(0% 0 0 0);
}

/* ══ 8. GLITCH LOGO ══ */
@keyframes glitch-1 {
  0%,94%,100% { clip-path: none; transform: none; opacity: 1; }
  95% { clip-path: polygon(0 15%,100% 15%,100% 30%,0 30%); transform: translateX(-4px); opacity: .9; }
  96% { clip-path: polygon(0 60%,100% 60%,100% 75%,0 75%); transform: translateX(4px); opacity: .9; }
  97% { clip-path: polygon(0 40%,100% 40%,100% 55%,0 55%); transform: translateX(-2px); opacity: 1; }
  98% { clip-path: none; transform: none; }
  99% { clip-path: polygon(0 80%,100% 80%,100% 90%,0 90%); transform: translateX(3px); color: var(--gl); }
}
.logo-vit {
  animation: glitch-1 8s ease-in-out infinite;
}

/* ══ СЕКЦИОННЫЕ ЛИНИИ-РАЗДЕЛИТЕЛИ ══ */
.sec-reveal-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--g), var(--gl), var(--g), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.1s cubic-bezier(.77,0,.18,1);
}
.sec-reveal-line.vis { transform: scaleX(1); }

/* ══ КАРТОЧКИ — hover свечение снизу ══ */
.hcard, .achip, .rv-card, .sp-feat, .nc {
  --card-glow: 0;
  transition: transform .3s cubic-bezier(.16,1,.3,1),
              border-color .3s,
              box-shadow .3s;
}
.hcard:hover, .achip:hover, .rv-card:hover {
  box-shadow: 0 20px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(201,168,76,.15), 0 -2px 20px rgba(201,168,76,.08) inset;
}

/* ══ ЧИСЛА — animate-in scale ══ */
.num-pop {
  display: inline-block;
  transition: transform .45s var(--ease), opacity .35s var(--ease);
  opacity: 0;
  transform: scale(.92) translateY(14px);
}
.num-pop.vis {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* ══ FLOATING LABEL — появление сбоку ══ */
.slide-in-left {
  opacity: 0;
  transform: translateX(-48px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.slide-in-left.vis { opacity: 1; transform: translateX(0); }

.slide-in-right {
  opacity: 0;
  transform: translateX(48px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.slide-in-right.vis { opacity: 1; transform: translateX(0); }

/* ══ TEXT SCRAMBLE — placeholder, управляется JS ══ */
.scramble { display: inline-block; }

/* ══ GOLD LINE DRAW — горизонтальные линии рисуются ══ */
.draw-line {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, var(--gd), var(--g), var(--gl));
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 1.2s cubic-bezier(.77,0,.18,1);
}
.draw-line.vis { transform: scaleX(1); }

/* ===== extracted from index.html inline <style > (order #4) ===== */
/* ══ SOCIAL PROOF POPUP ══ */
#sp-popup {
  position: fixed;
  bottom: 32px; left: 32px;
  z-index: 7500;
  pointer-events: none;
  opacity: 0;
  transform: translateY(18px) scale(.97);
  transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
  will-change: transform, opacity;
}
#sp-popup.sp-show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}
#sp-popup.sp-hide {
  opacity: 0;
  transform: translateY(10px) scale(.97);
}

#sp-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 44px 15px 16px;
  min-width: 300px;
  max-width: 360px;
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(24,21,14,.78), rgba(10,9,6,.72));
  border: 1px solid rgba(201,168,76,.2);
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
  box-shadow:
    0 30px 70px -28px rgba(0,0,0,.8),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 44px -14px rgba(201,168,76,.25);
  overflow: hidden;
}
/* lit gold top edge */
#sp-inner::after {
  content:'';
  position:absolute; left:18px; right:18px; top:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,201,106,.5),transparent);
  pointer-events:none;
}

/* subtle shimmer sweep on appear */
#sp-inner::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(201,168,76,.04) 50%, transparent 60%);
  animation: spShimmer 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes spShimmer {
  0%   { transform: translateX(-100%); }
  50%  { transform: translateX(100%); }
  100% { transform: translateX(100%); }
}

#sp-icon-wrap {
  position: relative;
  width: 44px; height: 44px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 13px;
  background: radial-gradient(circle at 30% 25%, rgba(201,168,76,.2), rgba(201,168,76,.05));
  border: 1px solid rgba(201,168,76,.24);
  box-shadow: inset 0 0 16px rgba(201,168,76,.1);
}
#sp-icon {
  width: 19px; height: 19px;
  color: var(--gl);
  transition: color .3s;
}
#sp-pulse {
  position: absolute;
  top: -3px; right: -3px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #00c853;
  box-shadow: 0 0 0 0 rgba(0,200,83,.5);
  animation: spPulse 2s ease infinite;
}
@keyframes spPulse {
  0%   { box-shadow: 0 0 0 0 rgba(0,200,83,.6); }
  70%  { box-shadow: 0 0 0 7px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

#sp-body { flex: 1; min-width: 0; }

#sp-action {
  font-family: 'Unbounded', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,.78);
  line-height: 1.5;
  margin-bottom: 6px;
  letter-spacing: .2px;
}
#sp-action strong {
  color: var(--gl);
  font-weight: 700;
}

#sp-meta {
  display: flex; align-items: center; gap: 5px;
  font-family: 'Unbounded', sans-serif;
  font-size: 8px; font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
#sp-city { color: rgba(255,255,255,.55); }
#sp-time { color: rgba(201,168,76,.55); }
#sp-sep, #sp-sep2 { opacity: .35; }

#sp-close {
  position: absolute;
  top: 11px; right: 11px;
  width: 22px; height: 22px;
  background: rgba(201,168,76,.06); border: 1px solid rgba(201,168,76,.14);
  border-radius: 50%;
  color: rgba(232,201,106,.5);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: color .2s, background .2s, border-color .2s;
  padding: 0;
}
#sp-close:hover { color: var(--gl); background: rgba(201,168,76,.14); border-color: rgba(232,201,106,.4); }
#sp-close svg { width: 9px; height: 9px; }

/* progress bar */
#sp-bar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,.05);
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
  overflow: hidden;
}
#sp-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gd), var(--g), var(--gl));
  width: 100%;
  transform-origin: left;
  transition: none;
}
@media(max-width:480px){
  #sp-popup{left:14px;right:14px;bottom:14px;}
  #sp-inner{min-width:0;max-width:none;width:100%;}
}

/* ===== extracted from index.html inline <style > (order #5) ===== */
/* ═══ LOGO EASTER EGG BUBBLE ═══ */
#logo-easter-trigger { position: relative; }

#egg-bubble {
  position: fixed;
  top: 78px;
  left: 20px;
  width: 360px;
  background: rgba(8, 8, 8, 0.97);
  border: 1px solid rgba(201,168,76,.3);
  border-top: 2px solid var(--g);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  box-shadow:
    0 32px 80px rgba(0,0,0,.85),
    0 0 0 1px rgba(201,168,76,.06) inset,
    0 0 60px rgba(201,168,76,.07);
  z-index: 9800;
  opacity: 0;
  transform: translateY(-12px) scale(.97);
  pointer-events: none;
  transition: opacity .38s cubic-bezier(.16,1,.3,1), transform .38s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
#egg-bubble.egg-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}

/* Arrow pointing up to logo */
#egg-arrow {
  position: absolute;
  top: -7px;
  left: 42px;
  width: 13px; height: 13px;
  background: var(--g);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

/* Header */
#egg-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid rgba(201,168,76,.1);
}
#egg-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Unbounded', sans-serif;
  font-size: 8px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--g);
}
#egg-badge-ico { font-size: 14px; line-height: 1; }
#egg-badge-lbl { color: rgba(201,168,76,.75); letter-spacing: 1.5px; }

#egg-x {
  width: 24px; height: 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.55);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
  transition: all .2s;
}
#egg-x:hover { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.55); }
#egg-x svg { width: 10px; height: 10px; }

/* Body */
#egg-body {
  padding: 20px 18px 16px;
  min-height: 90px;
  position: relative;
}
#egg-text {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
  line-height: 1.75;
  margin: 0;
  transition: opacity .25s;
}
#egg-text.fading { opacity: 0; }
#egg-text strong { color: var(--gl); font-weight: 700; }
#egg-text em { font-style: normal; color: rgba(201,168,76,.6); }

/* subtle shimmer line decoration */
#egg-body::before {
  content: '';
  position: absolute;
  top: 0; left: 18px; right: 18px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.15), transparent);
}

/* Footer */
#egg-ftr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 14px;
  border-top: 1px solid rgba(255,255,255,.05);
}
#egg-next-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: 'Unbounded', sans-serif;
  font-size: 8px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--ink);
  background: linear-gradient(135deg, var(--gd), var(--g));
  border: none;
  padding: 9px 16px;
  cursor: pointer;
  transition: background .2s, transform .15s;
  position: relative; overflow: hidden;
}
#egg-next-btn::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transform: translateX(-100%);
  transition: transform .4s;
}
#egg-next-btn:hover::after { transform: translateX(100%); }
#egg-next-btn:hover { transform: translateY(-1px); }
#egg-next-btn svg { width: 13px; height: 13px; }

#egg-cnt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: rgba(255,255,255,.55);
  letter-spacing: 1px;
}

/* Konami hint — ultra subtle */
#egg-konami-hint {
  position: fixed;
  bottom: 8px; left: 50%;
  transform: translateX(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: rgba(201,168,76,.15);
  letter-spacing: 2px;
  pointer-events: none;
  z-index: 9000;
  transition: opacity 1s;
}

/* ===== extracted from index.html inline <style > (order #6) ===== */
/* ══ COOKIE BANNER ══ */
#ck-banner{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:10000;
  background:var(--ink2);
  border-top:1px solid rgba(201,168,76,.25);
  padding:0;
  transform:translateY(110%);
  transition:transform .5s cubic-bezier(.25,.46,.45,.94);
  box-shadow:0 -8px 40px rgba(0,0,0,.5),0 -1px 0 rgba(201,168,76,.15);
}
#ck-banner::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--g),transparent);
  opacity:.6;
}
#ck-banner.ck-visible{
  transform:translateY(0);
}
#ck-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  padding:18px 52px;
}
#ck-left{
  display:flex;
  align-items:center;
  gap:16px;
  flex:1;
  min-width:280px;
}
#ck-icon{
  font-size:28px;
  line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 0 8px rgba(201,168,76,.4));
}
#ck-title{
  font-family:'Unbounded',sans-serif;
  font-size:12px;
  font-weight:700;
  color:var(--gl);
  letter-spacing:.5px;
  margin-bottom:4px;
}
#ck-desc{
  font-size:10px;
  color:rgba(255,255,255,.55);
  line-height:1.6;
  max-width:480px;
}
#ck-desc a{
  color:var(--g);
  text-decoration:underline;
  text-underline-offset:2px;
}
#ck-desc a:hover{color:var(--gl);}

#ck-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-shrink:0;
}
#ck-actions button{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.5px;
  padding:9px 18px;
  border:none;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:all .2s;
  text-transform:uppercase;
}
#ck-settings-btn{
  background:transparent;
  color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.1)!important;
}
#ck-settings-btn:hover{
  color:rgba(255,255,255,.7);
  border-color:rgba(255,255,255,.55)!important;
}
#ck-decline-btn{
  background:transparent;
  color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.12)!important;
}
#ck-decline-btn:hover{
  color:rgba(255,255,255,.7);
}
#ck-accept-btn{
  background:var(--g);
  color:var(--ink);
  font-weight:900;
}
#ck-accept-btn:hover{
  background:var(--gl);
  box-shadow:0 0 20px var(--glow);
}
.ck-btn-shine{
  position:absolute;
  top:0;left:-60%;
  width:40%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  animation:ckShine 3s ease-in-out infinite;
}
@keyframes ckShine{
  0%{left:-60%}
  50%,100%{left:120%}
}

/* Settings panel */
#ck-settings{
  border-top:1px solid rgba(255,255,255,.05);
  background:rgba(255,255,255,.02);
}
#ck-settings-inner{
  padding:16px 52px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.ck-toggle-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex:1;
  min-width:220px;
  padding:12px 16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.ck-toggle-title{
  font-family:'Unbounded',sans-serif;
  font-size:9px;
  font-weight:700;
  color:rgba(255,255,255,.7);
  letter-spacing:.5px;
  margin-bottom:3px;
}
.ck-toggle-desc{
  font-size:9px;
  color:rgba(255,255,255,.55);
  line-height:1.5;
}
.ck-toggle{
  width:36px;height:20px;
  background:rgba(255,255,255,.1);
  border-radius:10px;
  position:relative;
  cursor:pointer;
  flex-shrink:0;
  transition:background .25s;
}
.ck-toggle.ck-toggle-on{
  background:var(--g);
}
.ck-toggle.ck-toggle-locked{
  cursor:not-allowed;
  background:rgba(201,168,76,.4);
}
.ck-thumb{
  width:14px;height:14px;
  background:#fff;
  border-radius:50%;
  position:absolute;
  top:3px;left:3px;
  transition:left .25s;
  box-shadow:0 1px 3px rgba(0,0,0,.3);
}
.ck-toggle.ck-toggle-on .ck-thumb{
  left:19px;
}
#ck-settings-actions{
  padding:14px 52px;
  border-top:1px solid rgba(255,255,255,.04);
  display:flex;
  justify-content:flex-end;
}
#ck-save-btn{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
  padding:9px 24px;
  border:none;
  cursor:pointer;
  background:var(--g);
  color:var(--ink);
  position:relative;
  overflow:hidden;
  text-transform:uppercase;
  transition:all .2s;
}
#ck-save-btn:hover{
  background:var(--gl);
  box-shadow:0 0 16px var(--glow);
}

@media(max-width:600px){
  #ck-inner{padding:16px 20px;}
  #ck-settings-inner{padding:12px 20px;}
  #ck-settings-actions{padding:12px 20px;}
  #ck-actions{width:100%;}
  #ck-actions button{flex:1;}
}

/* ===== extracted from index.html inline <style > (order #7) ===== */
/* ── Overlay затемнение ── */
#konami-overlay {
  position: fixed; inset: 0; z-index: 99000;
  background: rgba(0,0,0,0);
  pointer-events: none;
  transition: background .3s;
}
#konami-overlay.active { background: rgba(0,0,0,.55); pointer-events: none; }

/* ── Матричный дождь из символов ── */
#konami-canvas {
  position: fixed; inset: 0; z-index: 99001;
  pointer-events: none; opacity: 0;
  transition: opacity .4s;
}
#konami-canvas.active { opacity: 1; }

/* ── Центральный взрыв-баннер ── */
#konami-banner {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(.4);
  z-index: 99010;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s, transform .4s cubic-bezier(.34,1.56,.64,1);
  will-change: transform, opacity;
}
#konami-banner.active {
  opacity: 1;
  transform: translate(-50%,-50%) scale(1);
}
#konami-banner .kb-code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px; letter-spacing: 5px;
  color: rgba(201,168,76,.5);
  margin-bottom: 10px;
  text-transform: uppercase;
}
#konami-banner .kb-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(52px, 10vw, 96px);
  line-height: .9;
  background: linear-gradient(135deg, #8A6820 0%, #E8C96A 40%, #C9A84C 60%, #8A6820 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 40px rgba(201,168,76,.6));
  letter-spacing: 4px;
}
#konami-banner .kb-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 3px;
  color: rgba(255,255,255,.55);
  margin-top: 12px;
  text-transform: uppercase;
}
#konami-banner .kb-ach {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 18px;
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.3);
  padding: 8px 18px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 2px;
  color: #E8C96A;
}
#konami-banner .kb-ach-icon { font-size: 16px; }

/* ── Конфетти-частицы ── */
.konami-particle {
  position: fixed;
  width: 6px; height: 6px;
  border-radius: 1px;
  pointer-events: none;
  z-index: 99005;
  will-change: transform, opacity;
}

/* ===== extracted from index.html inline <style > (order #8) ===== */
/* ═══════════════════════════════════════════════════════════════
   ПК-ШАПКА · ГЛУБИНА И ЧИТАЕМОСТЬ
   ───────────────────────────────────────────────────────────────
   Было: 9px с разрядкой 1.6px — на грани читаемости для десктопа.
   Стало: 10.5px с разрядкой 1.05px. Прирост ширины меню съеден
   уменьшением боковых полей (14→12px), запас в шапке сохранён.
   !important обязателен: базовые правила в style.css:6336 объявлены
   с !important, иначе не перебить.
   Отклик — тот же язык, что в шторке: подсветка поверхности плюс
   золотая линия, а не только смена цвета текста.
   ═══════════════════════════════════════════════════════════════ */
/* Порог мобильной шапки: 900 → 1100 → 1200px. Причина замерена:
   шапке нужно ~1186px (логотип + меню + правый блок + поля). Ниже
   этого пункты обрезаются, поэтому в полосе до 1200px работает
   шторка — на таких ширинах она читается лучше урезанного меню.
   Порог продублирован в js/index-inline.js (закрытие при ресайзе). */
@media(max-width:1200px){
  header > nav,.hdr-right{display:none!important;}
  #mob-burger{display:flex!important;}
  #mob-vit-ai-btn{display:flex!important;}
}

/* Правая колонка (VITWeather + трекинг ≈ 730px) высокая. Прижимаем весь
   контент К ВЕРХУ с отступом под фиксированную шапку — тогда он поднят,
   а нижняя зона затенения/перехода остаётся под scroll-cue, а не забита
   виджетами. Контент облегает содержимое (без stretch), поэтому не
   растягивается в фейд. На низких экранах колонка растёт вниз и страница
   чуть скроллится — это норма, ничего не прячется под шапкой. */
/* ТОЛЬКО десктоп (>900px), где показан hero-right с виджетами. На ≤900px
   hero-right скрыт (style.css:1292) и действует исходная раскладка —
   её НЕ трогаем, иначе контент лезет на логотип. */
@media(min-width:901px){
  .hero-content{
    align-self:flex-start!important;
    /* hero уже даёт padding-top:62px под шапку — тут только небольшой
       добавок до чистого зазора ~78px, без двойного смещения в фейд */
    margin-top:clamp(10px,1.8vh,18px);
  }
  .hero-right{ justify-content:flex-start; }
}

/* ═══ VITWEATHER · индекс условий на маршруте ═══
   Стеклянная карточка над трекингом (стекло на hero-оверлее разрешено).
   Один индекс + расшифровка + четыре реальных плитки. Данные — met.no
   и Nager.Date через /api/routeindex, локально показывает загрузку/ошибку.
   ═══════════════════════════════════════════════════════════════ */
.vw-widget{
  width:340px;min-width:300px;max-width:100%;margin-bottom:12px;
  padding:13px 15px!important;cursor:default!important;
  display:flex;flex-direction:column;gap:9px;
  --vw-accent:var(--gl);
}
.vw-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vw-brand{font-family:'Unbounded',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.4px;color:rgba(255,255,255,.9);display:inline-flex;align-items:center;gap:7px}
.vw-brand b{font-weight:700;color:var(--gl)}
.vw-dot{width:6px;height:6px;border-radius:50%;background:var(--vw-accent);
  box-shadow:0 0 8px var(--vw-accent);flex-shrink:0;animation:vwPulse 2.4s var(--ease) infinite}
@keyframes vwPulse{50%{opacity:.45}}
.vw-level{font-family:'Unbounded',sans-serif;font-weight:800;font-size:10px;
  letter-spacing:.8px;text-transform:uppercase;color:var(--vw-accent);
  border:1px solid color-mix(in srgb,var(--vw-accent) 40%,transparent);
  border-radius:var(--r-pill);padding:4px 11px;white-space:nowrap}
.vw-why{font-family:'Golos Text',sans-serif;font-size:11.5px;line-height:1.4;
  color:rgba(255,255,255,.66)}
.vw-tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.vw-tile{display:flex;align-items:center;gap:9px;padding:8px 10px;
  border:1px solid rgba(232,201,106,.14);border-radius:var(--r-sm);
  background:rgba(255,255,255,.03);min-width:0}
.vw-ico{flex-shrink:0;width:22px;height:22px;color:var(--vw-accent);display:flex}
.vw-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.vw-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.vw-tl{font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:1px;
  text-transform:uppercase;color:rgba(255,255,255,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vw-tv{font-family:'Golos Text',sans-serif;font-weight:600;font-size:13.5px;
  color:var(--ow);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vw-src{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.4px;
  color:rgba(255,255,255,.32)}

/* уровни риска — цвет акцента */
.vw-widget[data-level="low"]{--vw-accent:var(--lugl)}   /* спокойно — зелёный Lugela */
.vw-widget[data-level="med"]{--vw-accent:var(--gl)}     /* средне — золото */
.vw-widget[data-level="high"]{--vw-accent:#E9776B}      /* высоко — тёплый красный */

/* состояния */
.vw-widget[data-state="loading"] .vw-tiles,
.vw-widget[data-state="error"] .vw-tiles{opacity:.5}
.vw-widget[data-state="error"] .vw-why{color:rgba(255,255,255,.5)}

@media(prefers-reduced-motion:reduce){.vw-dot{animation:none}}
@media(max-width:900px){.vw-widget{width:100%}}

/* ═══ ВЫПАДАЮЩИЕ ПОДМЕНЮ В ШАПКЕ ═══
   Восемь пунктов не помещались в строку (нужно было 1427px при запасе 13px).
   Сгруппированы в четыре: «Компания» и «Доставка» раскрываются панелью.
   Панель — настоящий оверлей, поэтому blur здесь по правилам разрешён. */
.nav-grp{position:relative;display:flex;align-items:center}
.nav-top{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Unbounded',sans-serif;font-weight:600;
  font-size:10.5px;letter-spacing:1.05px;text-transform:uppercase;
  color:rgba(232,201,106,.82);background:none;border:none;cursor:pointer;
  padding:9px 12px;border-radius:var(--r-xs);white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease);
}
.nav-top:hover,.nav-grp.is-open .nav-top{background:rgba(232,201,106,.07);color:#FFF6D6}
.nav-top:focus-visible{outline:2px solid rgba(232,201,106,.65);outline-offset:-2px}
.nav-chev{width:11px;height:11px;opacity:.7;transition:transform .2s var(--ease)}
.nav-grp.is-open .nav-chev{transform:rotate(180deg)}

.nav-drop{
  position:absolute;top:calc(100% + 10px);left:0;min-width:190px;z-index:20;
  display:flex;flex-direction:column;padding:7px;
  background:rgba(12,10,7,.97);
  backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);
  border:1px solid rgba(232,201,106,.22);border-radius:var(--r-sm);
  box-shadow:0 24px 50px -18px rgba(0,0,0,.9),0 1px 0 rgba(232,201,106,.14) inset;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  /* видимость гаснет с задержкой (после анимации), а включается мгновенно —
     иначе фокус не может войти в панель: скрытые элементы его не принимают */
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s;
}
.nav-grp.is-open .nav-drop{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s;
}
/* золотая грань сверху панели — та же подпись, что у шапки */
.nav-drop::before{
  content:'';position:absolute;top:-1px;left:14px;right:14px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,201,106,.5),transparent);
}
.nav-drop a{
  display:block;padding:10px 13px!important;border-radius:var(--r-xs);
  font-size:10.5px!important;letter-spacing:.9px!important;
  color:rgba(255,255,255,.82)!important;-webkit-text-fill-color:rgba(255,255,255,.82);
  white-space:nowrap;transition:background .18s var(--ease),color .18s var(--ease);
}
.nav-drop a:hover,.nav-drop a:focus-visible{
  background:rgba(232,201,106,.1);color:var(--gl)!important;-webkit-text-fill-color:var(--gl);
}
/* подчёркивания из десктопной шапки внутри панели не нужны */
.nav-drop a::before,.nav-drop a::after{content:none!important}

@media(prefers-reduced-motion:reduce){
  .nav-drop{transition:opacity .01s linear,visibility .01s;transform:none}
  .nav-grp.is-open .nav-drop{transform:none}
  .nav-chev{transition:none}
}

header{box-shadow:0 18px 40px -28px rgba(0,0,0,.9);}
/* нижняя грань шапки: золото гаснет к краям, а не рубит линией */
header::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;z-index:1;
  background:linear-gradient(90deg,transparent,rgba(232,201,106,.28) 22%,rgba(232,201,106,.28) 78%,transparent);
  pointer-events:none;
}
header nav a{
  font-size:10.5px!important;letter-spacing:1.05px!important;
  padding:9px 12px!important;border-radius:var(--r-xs);
  color:rgba(232,201,106,.82)!important;-webkit-text-fill-color:rgba(232,201,106,.82);
  transition:color .2s var(--ease),background .2s var(--ease);
}
header nav a:hover,header nav a:focus-visible{
  background:rgba(232,201,106,.07);
}
header nav a:focus-visible{
  outline:2px solid rgba(232,201,106,.65);outline-offset:-2px;
}
/* подчёркивание из style.css:6352 подтягиваем под новые поля */
header nav a::after{left:12px!important;right:12px!important;bottom:3px!important;}
/* разделители между пунктами гасим на ховере — иначе палочка спорит
   с подсветкой соседнего пункта */
header nav a:hover::before{opacity:0;}
header nav a:not(:last-child)::before{transition:opacity .2s var(--ease);}

/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ ШТОРКА · РЕДИЗАЙН
   ───────────────────────────────────────────────────────────────
   Глубина набирается слоями и типографикой, а не стеклом:
   непрозрачный обсидиан + тёплая подсветка сверху + hairline-грань.
   backdrop-filter снят намеренно — под шторкой сплошной фон,
   размывать нечего, а фильтр стоил кадров на слабых телефонах.
   Индикатор пункта — тот же язык, что у строк в блоке «Маршруты».
   ═══════════════════════════════════════════════════════════════ */
#mob-drawer{
  background:
    radial-gradient(120% 60% at 18% -8%, rgba(201,168,76,.10), transparent 62%),
    linear-gradient(180deg,#100D09 0%,#0A0906 58%,#070604 100%);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:1px solid rgba(201,168,76,.2);
  box-shadow:0 1px 0 rgba(232,201,106,.14) inset,0 40px 80px -24px rgba(0,0,0,.9);
  padding:0;
}
/* светящаяся золотая грань по верхней кромке — «шторка встала на место» */
#mob-drawer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(232,201,106,.55),transparent);
  pointer-events:none;
}
.md-scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.md-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.md-block{padding:20px 22px 18px;}
.md-label{
  font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:2.4px;text-transform:uppercase;
  color:rgba(232,201,106,.72);margin:0 0 12px;
}
/* внутри шторки меридиан звучит тише: линия остаётся как подпись,
   но бегущий луч и точка убраны — в меню это читалось бы как мусор */
.md-rule{margin:2px 0;}
.md-rule::before,.md-rule::after{display:none;}

/* ── трекинг ── */
.md-track-row{display:flex;gap:9px;}
.md-track-row input{
  flex:1;min-width:0;min-height:48px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(232,201,106,.18);border-radius:var(--r-sm);
  padding:0 15px;color:var(--ow);
  font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.6px;
}
.md-track-row input::placeholder{color:rgba(255,255,255,.42);}
.md-track-row input:focus{
  outline:none;border-color:rgba(232,201,106,.6);
  background:rgba(255,255,255,.06);
  box-shadow:0 0 0 3px rgba(201,168,76,.16);
}
.md-track-row button{
  flex:0 0 48px;min-height:48px;border:none;cursor:pointer;
  border-radius:var(--r-sm);background:var(--g);color:#12100A;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s var(--ease);
}
.md-track-row button:hover,.md-track-row button:active{background:var(--gl);}
.md-track-row button:focus-visible{outline:2px solid var(--gl);outline-offset:3px;}
.md-track-row button svg{width:19px;height:19px;}

/* ── навигация: крупная, читаемая, с индикатором ── */
/* gap:0 — перебиваем глобальное `nav{display:flex;gap:28px}` из style.css,
   написанное под горизонтальное меню в шапке */
.md-nav{display:flex;flex-direction:column;gap:0;padding:8px 0;}
.md-nav a{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  min-height:52px;padding:12px 22px;text-decoration:none;
  transition:background .2s var(--ease),padding-left .2s var(--ease);
}
/* Глушим оба подчёркивания из десктопной шапки: style.css:146 (nav a::after)
   и style.css:5025 (nav a::before) рисуют по линии каждое и на ховере тянут
   их до 100%. В вертикальном меню это читается как съехавшие полосы поперёк
   пункта. Подсветка пункта и шеврон справа — достаточный сигнал. */
.md-nav a::before,.md-nav a::after{content:none!important;}
.md-nav-t{
  /* строчные намеренно: капс из общего правила `nav a` в style.css
     съедал читаемость и превращал меню в набор ярлыков */
  font-family:'Golos Text',sans-serif;font-size:17px;font-weight:500;
  text-transform:none;letter-spacing:.1px;color:rgba(255,255,255,.9);
  transition:color .2s var(--ease);
}
.md-nav-x{
  font-size:15px;color:rgba(232,201,106,.35);
  transform:translateX(-4px);opacity:0;
  transition:transform .2s var(--ease),opacity .2s var(--ease);
}
.md-nav a:hover,.md-nav a:active,.md-nav a:focus-visible{
  background:linear-gradient(90deg,rgba(201,168,76,.13),rgba(201,168,76,.03) 62%,transparent 88%);
  padding-left:26px;
}
.md-nav a:hover .md-nav-t,.md-nav a:active .md-nav-t,.md-nav a:focus-visible .md-nav-t{color:var(--gl);}
.md-nav a:hover .md-nav-x,.md-nav a:active .md-nav-x,.md-nav a:focus-visible .md-nav-x{opacity:1;transform:translateX(0);}
.md-nav a:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(232,201,106,.55);}
/* ── группы с выкатывающимся подменю ──
   Девять плоских пунктов свёрнуты в две группы + две прямые ссылки.
   Раскрытие через grid-template-rows 0fr→1fr: плавно, без магических
   высот и без пересчёта в JS. */
.md-grp{display:flex;flex-direction:column}
.md-grp-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:52px;padding:12px 22px;
  background:none;border:none;cursor:pointer;text-align:left;font:inherit;
  transition:background .2s var(--ease),padding-left .2s var(--ease);
}
.md-grp-top:hover,.md-grp-top:focus-visible,.md-grp.is-open .md-grp-top{
  background:linear-gradient(90deg,rgba(201,168,76,.13),rgba(201,168,76,.03) 62%,transparent 88%);
  padding-left:26px;
}
.md-grp-top:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(232,201,106,.55)}
.md-grp.is-open .md-grp-top .md-nav-t{color:var(--gl)}
.md-grp-chev{
  width:15px;height:15px;flex-shrink:0;color:rgba(232,201,106,.55);
  transition:transform .25s var(--ease),color .2s var(--ease);
}
.md-grp.is-open .md-grp-chev{transform:rotate(180deg);color:var(--gl)}

.md-grp-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.md-grp.is-open .md-grp-panel{grid-template-rows:1fr}
.md-grp-inner{overflow:hidden;min-height:0}
/* вложенные пункты — с отступом и тише родителя */
.md-grp-inner a{padding-left:38px!important;min-height:46px}
.md-grp-inner .md-nav-t{font-size:15.5px;color:rgba(255,255,255,.78)}
.md-grp-inner a:hover .md-nav-t,.md-grp-inner a:focus-visible .md-nav-t{color:var(--gl)}

@media(prefers-reduced-motion:reduce){
  .md-grp-panel{transition:none}
  .md-grp-chev,.md-grp-top{transition:none}
}

/* «Ограничения» — тёплый амбер как сигнал внимания в золотой гамме */
.md-nav a.md-warn .md-nav-t{color:rgba(233,183,116,.92);}
.md-nav a.md-warn:hover .md-nav-t,.md-nav a.md-warn:active .md-nav-t{color:#F3D3A0;}
.md-nav a.md-warn::before{background:#E9B774;}

/* ── живой статус офиса: зеркалит расчёт из main.js, не дублирует его ── */
.md-status{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:6px 22px 20px;padding:13px 15px;
  border:1px solid rgba(232,201,106,.14);border-radius:var(--r-sm);
  background:rgba(255,255,255,.022);
}
.md-status-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.4);
}
.md-status-txt{
  font-family:'Unbounded',sans-serif;font-size:9.5px;font-weight:700;
  letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.78);
}
.md-status-time{
  margin-left:auto;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  color:rgba(255,255,255,.55);white-space:nowrap;
}
.md-status-time #md-status-clock{color:var(--gl);}

/* ── подвал: главное действие + язык ── */
.md-foot{
  flex:0 0 auto;display:flex;align-items:center;gap:10px;
  padding:16px 22px calc(16px + env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(201,168,76,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.022),transparent);
}
.md-foot .mob-login-btn{flex:1 1 auto;min-height:50px;font-size:11px;border-radius:var(--r-sm);}
.md-foot .mob-lang{display:flex;gap:4px;flex:0 0 auto;}
.md-foot .mob-lang button{
  min-width:44px;min-height:44px;padding:0 6px;cursor:pointer;
  background:rgba(255,255,255,.04);border:1px solid rgba(232,201,106,.16);
  border-radius:var(--r-sm);color:rgba(255,255,255,.62);
  font-family:'Unbounded',sans-serif;font-size:10px;font-weight:700;letter-spacing:.8px;
  transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}
.md-foot .mob-lang button:hover{color:var(--ow);border-color:rgba(232,201,106,.34);}
.md-foot .mob-lang button.active{
  color:#12100A;background:var(--g);border-color:var(--g);
}
.md-foot .mob-lang button:focus-visible{outline:2px solid var(--gl);outline-offset:2px;}

/* ── появление: содержимое въезжает следом за шторкой ── */
#mob-drawer .md-block,#mob-drawer .md-rule,#mob-drawer .md-nav a,#mob-drawer .md-foot{
  opacity:0;transform:translateY(10px);
  transition:opacity .34s var(--ease),transform .34s var(--ease);
}
#mob-drawer.open .md-block,#mob-drawer.open .md-rule,
#mob-drawer.open .md-nav a,#mob-drawer.open .md-foot{opacity:1;transform:none;}
#mob-drawer.open .md-track{transition-delay:.07s;}
#mob-drawer.open .md-rule:first-of-type{transition-delay:.10s;}
#mob-drawer.open .md-nav a:nth-child(1){transition-delay:.13s;}
#mob-drawer.open .md-nav a:nth-child(2){transition-delay:.16s;}
#mob-drawer.open .md-nav a:nth-child(3){transition-delay:.19s;}
#mob-drawer.open .md-nav a:nth-child(4){transition-delay:.22s;}
#mob-drawer.open .md-nav a:nth-child(5){transition-delay:.25s;}
#mob-drawer.open .md-nav a:nth-child(6){transition-delay:.28s;}
#mob-drawer.open .md-nav a:nth-child(7){transition-delay:.31s;}
#mob-drawer.open .md-foot{transition-delay:.34s;}

@media(prefers-reduced-motion:reduce){
  #mob-drawer,#mob-drawer .md-block,#mob-drawer .md-rule,
  #mob-drawer .md-nav a,#mob-drawer .md-foot{
    transition:opacity .01s linear!important;transform:none!important;transition-delay:0s!important;
  }
  .md-nav a,.md-nav-x,.md-track-row button,.md-foot .mob-lang button{transition:none;}
}

/* ═══════════════════════════════════════════════════════════════
   ЭКСКЛЮЗИВНЫЕ ПРЕДЛОЖЕНИЯ (#stickerpack → .excl-*)
   Было: раздутая hero-секция под стикерпак на 104 строки (canvas,
   блобы, сканлайн, заголовок в три строки, ряд из 4 фич).
   Стало: компактная пара мини-карточек — стикерпак и API/интеграции.
   Заголовок в общей системе .abv2-*, фон-орбы как у остальных секций.
   ═══════════════════════════════════════════════════════════════ */
.excl-section{
  position:relative;overflow:hidden;
  padding:var(--sec-pad-y) var(--sec-pad-x);
  background:
    radial-gradient(48% 40% at 16% 6%,rgba(201,168,76,.09),transparent 60%),
    radial-gradient(44% 38% at 86% 92%,rgba(176,141,60,.07),transparent 62%),
    var(--ink2);
  border-top:1px solid var(--ln);
}
.excl-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto}
/* секция-компаньон: заголовок мельче секционного, чтобы блок не разрастался */
#stickerpack .abv2-title{font-size:clamp(24px,2.9vw,42px);margin-bottom:0}
.excl-head{margin-bottom:clamp(22px,2.6vw,34px)}

.excl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(16px,2vw,24px)}

.excl-card{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid rgba(232,201,106,.16);border-radius:var(--r-md);
  background:linear-gradient(158deg,rgba(26,23,16,.5),rgba(9,8,6,.6)),#101010;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.excl-card:hover{transform:translateY(-4px);border-color:var(--edge-gold);box-shadow:var(--shadow-gold)}

/* панорамный кадр вместо 16/9 — блок остаётся компактным по высоте */
.excl-media{position:relative;aspect-ratio:21/9;overflow:hidden;background:#0a0908}
.excl-media img{width:100%;height:100%;object-fit:cover;display:block}
.excl-media::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(9,8,6,.85) 100%)}

.excl-body{padding:clamp(18px,2vw,24px);display:flex;flex-direction:column;flex:1}
.excl-kicker{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.8px;
  text-transform:uppercase;color:rgba(232,201,106,.75);margin-bottom:8px}
.excl-t{font-family:'Unbounded',sans-serif;font-weight:700;font-size:clamp(17px,1.7vw,21px);
  line-height:1.2;letter-spacing:-.2px;color:var(--ow);margin:0 0 10px;text-wrap:balance}
.excl-d{font-family:'Golos Text',sans-serif;font-size:13.5px;line-height:1.6;
  color:rgba(255,255,255,.62);margin:0 0 16px;max-width:52ch}

.excl-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px}
.excl-meta span{font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,.55);
  font-variant-numeric:tabular-nums}
.excl-meta b{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--gl);
  letter-spacing:.5px;margin-right:5px;font-variant-numeric:tabular-nums}

.excl-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.excl-chips span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.6px;
  color:rgba(255,255,255,.6);border:1px solid rgba(232,201,106,.18);
  border-radius:var(--r-pill);padding:5px 11px}

.excl-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:12px 22px;width:fit-content;
  font-family:'Unbounded',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:1px;
  text-transform:uppercase;text-decoration:none;
  color:var(--ink);background:var(--g);border-radius:var(--r-xs);
  transition:background .2s var(--ease),transform .2s var(--ease)}
.excl-cta:hover{background:var(--gl);transform:translateY(-1px)}
.excl-cta:focus-visible{outline:2px solid var(--gl);outline-offset:3px}
.excl-cta-ghost{color:var(--gl);background:transparent;border:1px solid rgba(232,201,106,.4)}
.excl-cta-ghost:hover{background:rgba(232,201,106,.08);color:var(--ow)}

@media(max-width:560px){
  .excl-cta{width:100%}
  .excl-media{aspect-ratio:3/2}
}
@media(prefers-reduced-motion:reduce){
  .excl-card,.excl-cta{transition:none}
}

/* ═══════════════════════════════════════════════════════════════
   БЛОК «AI-ОПТИМИЗАТОР» (#optimizer) — широкий, глобус справа
   Данные: реальные тарифы Georgian Post (наземка + EMS) и EMG;
   CDEK помечен заглушкой. «AI» — маркетинговая подача поверх
   честного сравнения тарифов. Глобус — vit_globe.webp (обсидиан+золото).
   ═══════════════════════════════════════════════════════════════ */
.opt-section{
  position:relative;
  padding:var(--sec-pad-y) var(--sec-pad-x);
  /* золотые подсветки по углам — тот же рецепт, что у .methods-bg */
  background:
    radial-gradient(48% 40% at 16% 6%,rgba(201,168,76,.09),transparent 60%),
    radial-gradient(44% 38% at 86% 92%,rgba(176,141,60,.07),transparent 62%),
    var(--ink);
  border-top:1px solid var(--ln);
  overflow:hidden;
}
/* глобус — над фоном-орбами, но под контентом */
.opt-globe{z-index:0}
/* глобус во всю правую часть секции, как фон-акцент */
.opt-globe{
  position:absolute;top:50%;right:-6%;transform:translateY(-50%);
  width:min(52%,680px);aspect-ratio:1;pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 62%,transparent 100%);
          mask:radial-gradient(closest-side,#000 62%,transparent 100%);
  opacity:.9;z-index:0;
}
.opt-globe img{width:100%;height:100%;object-fit:contain;display:block}
.opt-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto}
.opt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(24px,4vw,64px);align-items:center}

/* заголовок в общей системе .abv2-*. В узкой левой колонке (глобус справа)
   ограничиваем кегль, чтобы не наезжал на глобус, и поджимаем нижний отступ. */
#optimizer .abv2-title{font-size:clamp(28px,3.6vw,52px);margin-bottom:16px}
#optimizer .abv2-lead{max-width:46ch;margin-bottom:22px}

/* ── пикер «Куда + вес» ── */
.opt-controls{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.opt-field{display:flex;flex-direction:column;gap:6px}
.opt-dest{flex:1 1 200px;min-width:0}
.opt-weight{flex:0 0 96px}
.opt-flabel{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.opt-select-wrap{position:relative}
.opt-select,.opt-input{
  width:100%;min-height:46px;background:rgba(255,255,255,.03);
  border:1px solid rgba(232,201,106,.2);border-radius:var(--r-sm);
  color:var(--ow);font-family:'Golos Text',sans-serif;font-size:14px;
  padding:0 14px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.opt-select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer}
.opt-select option{background:#12100A;color:var(--ow)}
.opt-input{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.opt-select:focus,.opt-input:focus{outline:none;border-color:rgba(232,201,106,.6);box-shadow:0 0 0 3px rgba(201,168,76,.16)}
.opt-select-chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:rgba(232,201,106,.6);pointer-events:none}

.opt-list{display:flex;flex-direction:column;gap:9px;margin-bottom:16px;transition:opacity .2s var(--ease)}
.opt-list[data-state="loading"]{opacity:.5;pointer-events:none}
.opt-list[data-state="error"]{opacity:.7}
/* кнопки-режимы: честно кликабельны, активный подсвечен золотом */
.opt-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;width:100%;text-align:left;
  padding:15px 18px;border:1px solid rgba(232,201,106,.15);border-radius:var(--r-sm);
  background:rgba(255,255,255,.015);cursor:pointer;font:inherit;
  transition:border-color .2s var(--ease),transform .2s var(--ease),background .2s var(--ease)}
.opt-row:hover{transform:translateX(3px);border-color:rgba(232,201,106,.34)}
.opt-row:focus-visible{outline:none;border-color:var(--gl);box-shadow:0 0 0 2px rgba(232,201,106,.35)}
.opt-row.is-active{border-color:rgba(232,201,106,.55);background:linear-gradient(100deg,rgba(232,201,106,.1),rgba(255,255,255,.01))}
.opt-rn{min-width:0}
.opt-rn b{font-family:'Golos Text',sans-serif;font-weight:600;font-size:15px;color:#fff}
.opt-rd{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;white-space:nowrap}
.opt-rp{font-family:'Bebas Neue',sans-serif;font-size:29px;color:rgba(255,255,255,.6);letter-spacing:.5px;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1;transition:color .2s var(--ease)}
.opt-row.is-active .opt-rp{color:var(--gl)}
.opt-row.is-active .opt-rd{color:rgba(232,201,106,.65)}
/* ── панель результата: перевозчик активного режима ── */
.opt-detail{margin-bottom:14px;min-height:0}
.opt-detail:empty{display:none}
.opt-detail-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  padding:13px 16px;border:1px solid rgba(232,201,106,.18);border-radius:var(--r-sm);
  background:rgba(232,201,106,.04)}
.opt-detail-dot{width:7px;height:7px;border-radius:50%;background:var(--gl);box-shadow:0 0 8px var(--gl);flex-shrink:0}
.opt-detail-carrier{font-family:'Golos Text',sans-serif;font-weight:600;font-size:13px;color:var(--ow)}
.opt-detail-meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.3px;color:rgba(255,255,255,.55)}
.opt-detail-note{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(233,183,116,.85)}

.opt-src{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.4px;color:rgba(255,255,255,.6)}

@media(max-width:860px){
  .opt-grid{grid-template-columns:1fr}
  .opt-globe{position:relative;top:auto;right:auto;transform:none;width:min(70%,320px);margin:0 auto 6px;opacity:.85}
  .opt-cta{width:100%;justify-content:center;min-height:44px}
  .opt-detail-inner{gap:8px 12px}
}

/* ═══════════════════════════════════════════════════════════════
   БЛОК «МАРШРУТЫ» (#routes)
   Слева — брендовый кадр, справа — панель с реальными сроками.
   Никакого стекла на панели, золото только как сигнал (срок, актив-
   ная вкладка, тонкая грань). Сроки приходят из js/routes.js.
   ═══════════════════════════════════════════════════════════════ */
.routes-section{
  padding:var(--sec-pad-y) var(--sec-pad-x);
  /* золотые подсветки по углам — тот же рецепт, что у .methods-bg */
  background:
    radial-gradient(48% 40% at 16% 6%,rgba(201,168,76,.09),transparent 60%),
    radial-gradient(44% 38% at 86% 92%,rgba(176,141,60,.07),transparent 62%),
    var(--ink2);
  border-top:1px solid var(--ln);
  position:relative;overflow:hidden;
}
.routes-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;}

/* заголовок в общей системе .abv2-* (эйбрау+Unbounded 700), отступ как у #methods */
.routes-head{margin-bottom:clamp(36px,4vw,56px);}

.routes-grid{display:flex;flex-direction:column;gap:clamp(18px,2.6vw,30px);}

/* ── кадр: панорама в родных пропорциях, не растягивается под список ── */
.routes-visual{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--ln);aspect-ratio:2.5/1;margin:0;
}
.routes-visual picture,.routes-visual img{display:block;width:100%;height:100%;object-fit:cover;}
.routes-visual::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,8,.42) 0%,rgba(8,8,8,0) 34%,rgba(8,8,8,.72) 100%);
}
.routes-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;
  padding:clamp(16px,2.4vw,26px);
}
.routes-cap-main{
  font-family:'Unbounded',sans-serif;font-weight:700;
  font-size:clamp(13px,1.5vw,17px);color:var(--ow);letter-spacing:.2px;
}
.routes-cap-sub{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:1.4px;text-transform:uppercase;color:rgba(232,201,106,.72);
}

/* ── правая колонка: панель ── */
.routes-panel{
  background:var(--ink2);border:1px solid var(--ln);border-radius:var(--r-md);
  padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;
}

.rt-tabs{display:flex;gap:6px;margin-bottom:6px;border-bottom:1px solid var(--ln);}
.rt-tab{
  appearance:none;background:none;border:none;cursor:pointer;
  font-family:'Unbounded',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:1.2px;text-transform:uppercase;
  color:rgba(255,255,255,.62);padding:11px 14px;position:relative;
  transition:color var(--ease) .2s;
}
.rt-tab::after{
  content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;
  background:var(--gl);transform:scaleX(0);transform-origin:center;
  transition:transform .2s var(--ease);
}
.rt-tab:hover{color:rgba(255,255,255,.82);}
.rt-tab.is-on{color:var(--gl);}
.rt-tab.is-on::after{transform:scaleX(1);}
.rt-tab:focus-visible{outline:2px solid var(--gl);outline-offset:-2px;border-radius:4px;}

.rt-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  column-gap:clamp(24px,3vw,48px);
}
.rt-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:'route days' 'via days';
  gap:2px 16px;align-items:center;
  padding:13px 10px 13px 12px;
  border-bottom:1px solid rgba(232,201,106,.07);
  position:relative;
  transition:background .2s var(--ease),padding-left .2s var(--ease);
}
.rt-row::before{
  content:'';position:absolute;left:0;top:12px;bottom:12px;width:2px;
  background:var(--g);transform:scaleY(0);transform-origin:center;
  transition:transform .2s var(--ease);
}
.rt-row:hover{background:rgba(232,201,106,.035);padding-left:18px;}
.rt-row:hover::before{transform:scaleY(1);}
.rt-row:last-child{border-bottom:none;}

.rt-route{grid-area:route;display:flex;align-items:center;gap:9px;min-width:0;}
.rt-from{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  color:rgba(255,255,255,.58);letter-spacing:.6px;white-space:nowrap;
}
.rt-arrow{color:rgba(232,201,106,.5);font-size:13px;line-height:1;}
.rt-to{
  font-family:'Golos Text',sans-serif;font-weight:600;font-size:15px;
  color:var(--ow);overflow-wrap:anywhere;
}
.rt-via{
  grid-area:via;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;
  color:rgba(255,255,255,.6);letter-spacing:.3px;
}
.rt-days{
  grid-area:days;justify-self:end;white-space:nowrap;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  color:rgba(255,255,255,.58);
}
.rt-days b{
  font-family:'Bebas Neue',sans-serif;font-weight:400;
  font-size:22px;line-height:1;color:var(--gl);margin-right:5px;
  letter-spacing:.5px;
}

.rt-foot{
  margin-top:auto;padding-top:18px;
  display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;
  border-top:1px solid var(--ln);
}
.rt-note{
  font-family:'Golos Text',sans-serif;font-size:11.5px;line-height:1.6;
  color:rgba(255,255,255,.58);margin:0;max-width:44ch;
}
.rt-cta{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:'Unbounded',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:1px;text-transform:uppercase;
  color:var(--ink);background:var(--g);border-radius:var(--r-xs);
  padding:12px 20px;text-decoration:none;
  transition:background .2s var(--ease),transform .2s var(--ease);
}
.rt-cta:hover{background:var(--gl);transform:translateY(-1px);}
.rt-cta:focus-visible{outline:2px solid var(--gl);outline-offset:3px;}

@media(max-width:900px){
  .routes-visual{aspect-ratio:16/9;}
  /* тач-зоны ≥44px — правило проекта (см. css/mobile-polish.css) */
  .rt-tab{min-height:44px;padding:12px 14px;}
  .rt-cta{min-height:44px;padding:14px 20px;}
  .rt-row{padding-top:15px;padding-bottom:15px;}
}
@media(max-width:520px){
  .routes-visual{aspect-ratio:3/2;}
  .rt-row{grid-template-columns:1fr;grid-template-areas:'route' 'via' 'days';gap:4px;}
  .rt-days{justify-self:start;}
  .rt-cta{width:100%;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .rt-tab::after,.rt-row,.rt-row::before,.rt-cta{transition:none;}
}

@keyframes maint-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes maint-spin  { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes maint-progress { 0%{width:0%;opacity:1} 60%{width:85%;opacity:1} 100%{width:100%;opacity:0} }
