/* EXITUM — общая шапка, мобильное меню и футер для всех страниц.
   Классы с префиксом xh-/xm-/xf-, чтобы не пересекаться со стилями страниц. */

.xh{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:25px 34px;
  padding-top:max(25px,env(safe-area-inset-top));
  padding-left:max(34px,env(safe-area-inset-left));
  padding-right:max(34px,env(safe-area-inset-right));
  /* Сверху — сплошная полоса высотой в safe-area: во встроенном браузере Telegram страница уходит под его
     панель с адресом, отступ сверху ~116 px. Без полосы текст просвечивал над логотипом. Без отступа = прежний градиент. */
  background:linear-gradient(to bottom,#000 0,#000 env(safe-area-inset-top,0px),rgba(0,0,0,.86) env(safe-area-inset-top,0px),rgba(0,0,0,0));
  pointer-events:none;
}
/* Шапка сдвигается вниз на safe-area (иначе логотип уходит под панель браузера), значит и страница тоже:
   без этого первый экран начинался под шапкой и заголовок наезжал на логотип. В обычном Safari/Chrome отступ 0. */
body{padding-top:env(safe-area-inset-top,0px)}
.xh--clear{background:none}
.xh>*{pointer-events:auto}
.xh-brand{display:flex;align-items:center;min-height:44px;opacity:.96;text-decoration:none;transition:opacity .25s ease}
.xh-brand:hover{opacity:1}
.xh-brand img{display:block;width:116px;height:auto}
.xh-nav{display:flex;align-items:center;gap:26px}
.xh-nav a{
  display:inline-flex;align-items:center;min-height:44px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:10px;font-weight:400;letter-spacing:.18em;line-height:1;
  color:rgba(255,255,255,.46);text-decoration:none;transition:color .25s ease;
}
.xh-nav a:hover,.xh-nav a[aria-current="page"]{color:#fff}

.xh-burger{
  display:none;position:relative;width:44px;height:44px;margin-right:-10px;
  border:0;background:transparent;color:#fff;cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;
  -webkit-tap-highlight-color:transparent;
}
.xh-burger span,.xh-burger::before,.xh-burger::after{
  content:"";display:block;width:18px;height:1px;background:#fff;transition:transform .25s ease,opacity .25s ease;
}
.xh-burger span{margin:5px 0}
.xh-burger[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}
.xh-burger[aria-expanded="true"] span{opacity:0}
.xh-burger[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}

.xm{
  position:fixed;inset:0;z-index:90;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.97);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,visibility .3s ease;
}
.xm.open{opacity:1;visibility:visible;pointer-events:auto}
.xm-inner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:calc(96px + env(safe-area-inset-top,0px)) 24px 40px}
.xm-inner a{
  display:flex;align-items:center;justify-content:center;min-width:180px;min-height:48px;padding:0 20px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;font-weight:400;letter-spacing:.22em;line-height:1;
  color:rgba(255,255,255,.72);text-decoration:none;
}
.xm-inner a[aria-current="page"]{color:#fff}
html.xm-lock,html.xm-lock body{overflow:hidden}

.xf{border-top:1px solid rgba(255,255,255,.11);padding:34px 0 max(40px,env(safe-area-inset-bottom))}
.xf-in{
  width:min(1320px,calc(100% - 96px));margin:0 auto;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px 50px;
}
.xf-brand{display:inline-flex;align-items:center;min-height:44px;justify-self:start;text-decoration:none}
.xf-brand img{display:block;width:102px;height:auto;opacity:.9}
.xf-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 2px;margin-inline:-10px}
.xf-nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 10px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.42);text-decoration:none;transition:color .25s ease;
}
.xf-nav a:hover,.xf-nav a[aria-current="page"]{color:#fff}
.xf-meta{grid-column:1/-1;font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.26)}

.xh a:focus-visible,.xh button:focus-visible,.xm a:focus-visible,.xf a:focus-visible{
  outline:1px solid rgba(255,255,255,.8);outline-offset:4px;
}

@media (max-width:820px){
  .xh{
    padding:16px 18px;
    padding-top:max(16px,env(safe-area-inset-top));
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
  }
  .xh-brand img{width:102px}
  .xh-nav{display:none}
  .xh-burger{display:flex}
  .xf-in{width:calc(100% - 36px);grid-template-columns:1fr;gap:18px}
  .xf-nav{justify-content:flex-start;gap:0}
}

/* Перенос строки только для десктопа: на узком экране рвал фразу и оставлял слово одно на строке. */
@media (max-width:820px){
  br.xbr-d{display:none}
}

@media (prefers-reduced-motion:reduce){
  .xh-burger span,.xh-burger::before,.xh-burger::after,.xm,.xh-nav a,.xf-nav a{transition:none}
}

/* ---------- Подсветка при прокрутке (exitum-read.js) ----------
   Шаги: притушены, пока до них не дочитали. У блоков с появлением (.reveal) тушим содержимое,
   чтобы не сломать их собственное проявление. */
html.xr-on .xr-step:not(.reveal){opacity:.3;transition:opacity .5s ease}
html.xr-on .xr-step.reveal>*{opacity:.3;transition:opacity .5s ease}
html.xr-on .xr-step.xr-lit:not(.reveal),html.xr-on .xr-step.xr-lit.reveal>*{opacity:1}
/* Серые списки: горящая строка выглядит как при наведении у владельца (без сдвига строки). */
.service-row.xr-lit{color:#fff}
.service-row.xr-lit .service-desc{opacity:1;color:rgba(255,255,255,.58)}
.business-row.xr-lit{color:#fff}
.business-row.xr-lit:before{width:100%}
.segment.xr-lit{border-color:rgba(255,255,255,.28)}
.segment.xr-lit .segment-name{color:#fff}
.segment.xr-lit .segment-reason{color:rgba(255,255,255,.54);transform:none}
button.segment.xr-lit:not(.active){color:rgba(255,255,255,.86)}
.question-row.xr-lit{color:#fff}
.area.xr-lit .area-name{color:#fff}
.area.xr-lit .area-desc{opacity:1;transform:none}
.solution-row.xr-lit .solution-name{color:#fff;text-shadow:0 0 13px rgba(255,255,255,.08)}
.solution-row.xr-lit .solution-arrow{color:#fff}
