/* ============================================================
   ULTIMA /what-is-ultima/ — «Что такое Ультима?»
   Визуальная редакция v2: меньше кегль, смысловые схемы по блокам.
   Токены берём из /assets/css/app.css, всё изолировано под .ultima-page.
   Без WebGL/canvas/библиотек; движение — только видимые переходы.
   ============================================================ */

.ultima-page{
  --ult-rail:clamp(150px,11vw,210px);
  background-color:var(--void);
  background-image:
    radial-gradient(120% 80% at 88% -8%, rgba(30,38,60,.55) 0%, rgba(6,7,10,0) 52%),
    radial-gradient(90% 70% at 4% 108%, rgba(58,26,12,.5) 0%, rgba(6,7,10,0) 46%),
    linear-gradient(180deg,#06070A 0%,#0A0C12 46%,#06070A 100%);
  background-attachment:fixed;
}
.ultima-page main{display:block;}

/* ---------- базовый текст ---------- */
.ultima-page .ult-p{
  color:var(--dim);max-width:64ch;
  font-size:clamp(15px,1.05vw,17px);line-height:1.62;
}
.ultima-page .ult-p + .ult-p{margin-top:.8em;}
.ultima-page .ult-note{
  color:var(--dim);font-size:clamp(11px,.95vw,13px);line-height:1.6;
  margin-top:1.1em;max-width:72ch;
}
.ultima-page .ult-note a{color:var(--ice);border-bottom:1px solid rgba(123,231,255,.4);}
.ultima-page .ult-gate{
  margin-top:clamp(14px,2.2vh,24px);
  padding:clamp(10px,1.5vh,16px) clamp(14px,1.6vw,20px);
  border-left:2px solid var(--plasma);
  background:rgba(255,91,46,.06);
  color:var(--ivory);
  font-size:clamp(11px,.95vw,13px);letter-spacing:.03em;
}
.ultima-page .ult-figcap{
  display:block;margin-top:.8em;color:var(--dim);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;
}

/* ---------- секции и заголовки ---------- */
.ult-section{
  position:relative;padding-block:clamp(56px,8.5vh,120px);
  scroll-margin-top:clamp(72px,12vh,110px);
}
.ult-section + .ult-section{border-top:1px solid var(--line);}
.ult-head{display:grid;gap:clamp(10px,1.6vh,16px);margin-bottom:clamp(26px,4.5vh,56px);}
.ult-idx{color:var(--plasma);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.ult-title{
  font-size:clamp(28px,3.6vw,56px);font-weight:300;line-height:1.04;
  letter-spacing:-.02em;max-width:24ch;overflow-wrap:break-word;
}
.ult-lead{color:var(--ivory);max-width:60ch;font-size:clamp(16px,1.3vw,21px);line-height:1.45;}

/* ---------- свёрнутые подробности ---------- */
.ult-more{margin-top:clamp(14px,2vh,22px);max-width:72ch;}
.ult-more__s{
  cursor:pointer;list-style:none;color:var(--ice);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:.5em 0;border-bottom:1px solid var(--line);
}
.ult-more__s::-webkit-details-marker{display:none;}
.ult-more__s::after{content:"+";float:right;color:var(--plasma);font-family:var(--mono);}
.ult-more[open] .ult-more__s::after{content:"–";}
.ult-more__body{padding-top:.9em;}

/* ---------- иконки/стрелки ---------- */
.ultima-page .v-ico{width:1.15em;height:1.15em;flex:none;color:var(--ice);}
.ultima-page .v-arrow{width:clamp(26px,4vw,44px);height:12px;color:var(--plasma);flex:none;opacity:.7;}

/* ---------- рейка и прогресс ---------- */
.ult-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:30;pointer-events:none;}
.ult-progress span{
  display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--plasma),var(--ice));
}
.ult-rail{display:none;}
@media (min-width:1240px){
  .ult-rail{display:block;position:fixed;z-index:12;left:clamp(12px,1.3vw,24px);top:50%;
    transform:translateY(-50%);width:clamp(140px,10.5vw,190px);}
  .ult-rail__list{display:grid;gap:2px;}
  .ult-rail__link{display:flex;align-items:baseline;gap:.7em;padding:.4em 0;position:relative;
    font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
    transition:color .35s ease,padding-left .35s var(--ease);}
  .ult-rail__link::before{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--plasma);transition:width .4s var(--ease);}
  .ult-rail__link:hover{color:var(--ivory);padding-left:6px;}
  .ult-rail__link:hover::before{width:100%;}
  .ult-rail__link[aria-current="true"]{color:var(--ivory);padding-left:6px;}
  .ult-rail__link[aria-current="true"]::before{width:100%;}
  .ult-rail__n{color:var(--plasma);font-size:9px;}
  .ult-rail__t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .ultima-page main{padding-left:var(--ult-rail);}
}

/* ---------- 01 hero ---------- */
.ult-section--intro{
  min-height:0;display:block;
  padding-top:clamp(96px,14vh,150px);overflow:hidden;
}
.ult-hero__inner{position:relative;z-index:2;}
.ult-kicker{color:var(--ice);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.ult-hero__title{
  font-size:clamp(40px,6.6vw,104px);font-weight:250;line-height:.95;
  letter-spacing:-.04em;margin:.05em 0 0 -.005em;overflow-wrap:break-word;max-width:18ch;
}
.ult-hero__lead{
  margin-top:clamp(16px,2.6vh,30px);max-width:56ch;
  font-size:clamp(17px,1.4vw,23px);line-height:1.42;color:var(--ivory);
}
.ult-hero__cta{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,44px);margin-top:clamp(20px,3vh,36px);}
.ult-cta-ai .cta__index{color:var(--plasma);}
.ult-hero__body{margin-top:clamp(18px,3vh,30px);}

/* сцена «задача → Ультима → результат» */
.v-intro{
  display:grid;align-items:center;gap:clamp(10px,1.6vw,22px);
  grid-template-columns:minmax(150px,1fr) auto minmax(120px,auto) auto minmax(240px,1.5fr);
  margin-top:clamp(26px,4.5vh,52px);
  padding:clamp(16px,2.4vw,26px);
  border:1px solid var(--line);background:rgba(11,14,20,.5);
}
.v-intro__src{display:grid;gap:.25em;}
.v-intro__src .v-ico{width:22px;height:22px;color:var(--plasma);}
.v-intro__t{font-family:var(--display);font-weight:300;font-size:clamp(14px,1.3vw,18px);}
.v-intro__s{color:var(--dim);font-size:12px;}
.v-core{display:grid;place-items:center;gap:.4em;padding:clamp(12px,1.6vw,18px);
  border:1px solid var(--plasma);background:rgba(255,91,46,.07);}
.v-core__i{width:26px;height:26px;color:var(--plasma);}
.v-core__t{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:.06em;font-size:13px;}
.v-out{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.v-out__i{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 .55em;
  align-items:center;padding:.6em .7em;border:1px solid var(--line);background:rgba(6,7,10,.4);}
.v-out__i .v-ico{grid-row:1/3;}
.v-out__t{font-family:var(--display);font-weight:300;font-size:14px;}
.v-out__s{color:var(--dim);font-size:11px;line-height:1.35;}

/* ---------- 02 routine ---------- */
.v-tracks{display:grid;gap:clamp(18px,3vw,36px);}
@media (min-width:900px){.v-tracks{grid-template-columns:1fr 1fr;}}
.v-track{border-top:1px solid var(--line);padding-top:clamp(14px,2.2vh,24px);}
.v-track__tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
.v-track--manual .v-track__tag{color:var(--dim);}
.v-track--ult .v-track__tag{color:var(--plasma);}
.v-rail{margin-top:1.1em;display:grid;gap:.55em;counter-reset:none;}
.v-rail__n{display:flex;align-items:center;gap:.7em;color:var(--dim);
  font-size:clamp(13px,1.05vw,16px);position:relative;padding-left:0;}
.v-rail__n .v-ico{width:18px;height:18px;color:var(--dim);}
.v-rail__n .v-rail__d{width:11px;height:11px;}
.v-rail--ult .v-rail__n{color:var(--ivory);}
.v-rail--ult .v-rail__n .v-ico{color:var(--plasma);}
.v-track__cap{margin-top:1em;color:var(--dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.v-track__note{margin-top:1em;color:var(--ivory);font-size:clamp(13px,1.05vw,16px);max-width:44ch;}

/* ---------- 03 not-chat ---------- */
.v-notchat{display:grid;gap:clamp(20px,3.4vw,46px);}
@media (min-width:900px){.v-notchat{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;}}
.v-chat2__tag,.v-work__tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);}
.v-work__tag{color:var(--plasma);}
.v-chat2__bubble{display:flex;gap:.8em;align-items:flex-start;margin-top:1.1em;
  border:1px solid var(--line);padding:clamp(14px,1.8vw,20px);background:rgba(11,14,20,.5);}
.v-chat2__ava{width:26px;height:26px;flex:none;border-radius:50%;border:1px solid var(--dim);position:relative;}
.v-chat2__ava::before{content:"";position:absolute;inset:8px;background:var(--dim);}
.v-chat2__bubble p{color:var(--dim);font-size:clamp(13px,1.05vw,16px);line-height:1.55;}
.v-chat2__cap,.v-work__cap{margin-top:1em;color:var(--dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.v-fan{margin-top:1.1em;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:560px){.v-fan{grid-template-columns:1fr;}}
.v-fan__i{display:grid;grid-template-columns:auto 1fr;gap:.2em .6em;align-items:center;
  border:1px solid var(--line);padding:clamp(12px,1.5vw,18px);background:rgba(11,14,20,.5);
  transition:border-color .35s ease,background-color .35s ease;}
.v-fan__i .v-ico{grid-row:1/3;width:22px;height:22px;color:var(--plasma);}
.v-fan__t{font-family:var(--display);font-weight:300;font-size:15px;}
.v-fan__s{color:var(--dim);font-size:12px;}
.v-fan__i:hover{border-color:var(--plasma);background:rgba(255,91,46,.05);}
.v-work__cap{color:var(--plasma2);}

/* ---------- 04 describe ---------- */
.v-brief-intro{display:grid;gap:0;border-top:1px solid var(--line);margin-bottom:clamp(24px,4vh,44px);}
@media (min-width:760px){.v-brief-intro{grid-template-columns:repeat(3,minmax(0,1fr));}}
.v-brief-intro__i{display:grid;grid-template-columns:auto 1fr;gap:.2em .7em;align-items:center;
  padding:clamp(12px,1.8vh,18px) clamp(12px,1.6vw,22px) clamp(12px,1.8vh,18px) 0;border-bottom:1px solid var(--line);}
@media (min-width:760px){.v-brief-intro__i + .v-brief-intro__i{border-left:1px solid var(--line);padding-left:clamp(12px,1.6vw,22px);}}
.v-brief-intro__i .v-ico{grid-row:1/3;width:20px;height:20px;color:var(--plasma);}
.v-brief-intro__t{font-family:var(--display);font-weight:300;font-size:clamp(14px,1.3vw,18px);}
.v-brief-intro__s{color:var(--dim);font-size:13px;}

.ult-scen__tabs{
  display:flex;flex-wrap:wrap;gap:clamp(8px,1.4vw,20px);
  border-bottom:1px solid var(--line);
}
.ult-scen__tab{
  flex:0 1 auto;text-align:left;padding:clamp(10px,1.4vh,16px) 0;
  color:var(--dim);font-family:var(--display);font-weight:300;text-transform:uppercase;
  letter-spacing:-.01em;font-size:clamp(15px,1.8vw,24px);
  border-bottom:1px solid transparent;margin-bottom:-1px;
  transition:color .35s ease,border-color .35s ease;cursor:pointer;
}
.ult-scen__tab:hover{color:var(--ivory);}
.ult-scen__tab.is-active{color:var(--ivory);border-bottom-color:var(--plasma);}
.ult-scen__panels{margin-top:clamp(20px,3.4vh,40px);}
.ult-scen__cols{display:grid;gap:clamp(22px,3.6vw,48px);}
@media (min-width:900px){.ult-scen__cols{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;}}
.ult-scen__panel{border-left:1px solid var(--line);padding-left:clamp(14px,2.2vw,36px);}
.ult-scen__demo{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1em;}
.ult-scen__row{display:grid;gap:.35em;padding:clamp(12px,1.8vh,18px) 0;border-top:1px solid var(--line);}
.ult-scen__k{color:var(--dim);font-size:10px;letter-spacing:.18em;text-transform:uppercase;}
.ult-scen__req{font-size:clamp(16px,1.35vw,20px);color:var(--ivory);max-width:52ch;line-height:1.45;}
.ult-scen__res{font-size:clamp(14px,1.2vw,18px);color:var(--plasma2);max-width:52ch;line-height:1.45;}
.ult-scen__steps{margin-top:clamp(16px,2.6vh,26px);display:grid;gap:.45em;}
.ult-scen__steps li{position:relative;padding-left:2.2em;color:var(--dim);font-size:clamp(13px,1.05vw,16px);}
.ult-scen__steps li::before{
  counter-increment:ultscen;content:counter(ultscen,decimal-leading-zero);
  position:absolute;left:0;color:var(--ice);font-family:var(--mono);font-size:10px;
  letter-spacing:.1em;top:.3em;
}
.ult-scen__steps{counter-reset:ultscen;}
.ult-scen__mock{border:1px solid var(--line);background:rgba(11,14,20,.55);padding:clamp(14px,1.8vw,22px);}
.ult-scen__mock .ult-scen__demo{margin-bottom:1.1em;}

.v-mock{display:block;}
.v-mock--board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.v-mock__col{display:grid;gap:7px;align-content:start;border-top:1px solid var(--line);padding-top:8px;}
.v-mock__h{color:var(--dim);font-size:9px;letter-spacing:.1em;text-transform:uppercase;}
.v-mock__card{display:block;height:26px;border:1px solid var(--line);background:rgba(6,7,10,.4);}
.v-mock__col:nth-child(2) .v-mock__card:first-child{border-color:var(--plasma);}
.v-mock--docs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:start;}
.v-mock__doc{display:grid;gap:.5em;border:1px solid var(--line);padding:12px;font-size:11px;color:var(--dim);}
.v-mock__doc b{color:var(--ivory);font-weight:400;}
.v-mock__doc .v-ico{width:18px;height:18px;color:var(--plasma);}
.v-mock__check{grid-column:1/4;justify-self:end;color:var(--ok);}
.v-mock__check .v-ico{width:24px;height:24px;color:var(--ok);}
.v-mock--page{display:grid;gap:9px;}
.v-mock__bar{display:block;height:8px;border:1px solid var(--line);}
.v-mock__h1{display:block;height:clamp(14px,2vw,22px);width:66%;background:var(--ivory);opacity:.8;}
.v-mock__l{display:block;height:6px;width:88%;background:var(--line);}
.v-mock__l--s{width:52%;}
.v-mock__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;}
.v-mock__grid i{display:block;height:42px;border:1px solid var(--line);}
html.ult-js .ult-scen__panel[hidden]{display:none;}

/* ---------- 05 website ---------- */
.v-previews{display:grid;gap:clamp(16px,2.6vw,30px);}
@media (min-width:820px){.v-previews{grid-template-columns:1fr 1fr;}}
.v-previews--single{grid-template-columns:1fr;}
@media (min-width:820px){.v-previews--single{grid-template-columns:1fr;max-width:760px;}}
.v-shot{margin:0;border:1px solid var(--line);background:rgba(11,14,20,.5);}
.v-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:saturate(.92);}
.v-shot__cap{display:flex;flex-wrap:wrap;gap:.6em 1em;align-items:baseline;justify-content:space-between;
  padding:.8em 1em;color:var(--dim);font-size:10px;letter-spacing:.08em;border-top:1px solid var(--line);}
.v-shot__a{color:var(--ice);}
.v-shot__a:hover{color:var(--ivory);}
.v-chips{display:flex;flex-wrap:wrap;gap:clamp(8px,1.4vw,16px);margin-top:clamp(20px,3.2vh,36px);}
.v-chips__i{display:flex;align-items:center;gap:.55em;padding:.55em .85em;
  border:1px solid var(--line);color:var(--ivory);font-size:clamp(12px,1vw,15px);}
.v-chips__i .v-ico{width:18px;height:18px;color:var(--plasma);}
.v-chips__i:not(:last-child)::after{content:"→";margin-left:.3em;color:var(--plasma);opacity:.7;}
.v-seo{margin-top:clamp(20px,3.2vh,36px);border:1px solid var(--line);padding:clamp(16px,2.2vw,26px);
  display:grid;gap:14px;background:rgba(11,14,20,.4);}
.v-seo__root{display:flex;align-items:center;gap:.6em;color:var(--ivory);font-size:clamp(13px,1.1vw,16px);}
.v-seo__root .v-ico{color:var(--plasma);}
.v-seo__branch{display:block;height:1px;background:var(--line);}
.v-seo__pages{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);}
@media (max-width:560px){.v-seo__pages{grid-template-columns:1fr;}}
.v-seo__pages li{display:flex;align-items:center;gap:.6em;border:1px solid var(--line);
  padding:.7em .8em;color:var(--dim);font-size:12px;}
.v-seo__pages li .v-ico{width:18px;height:18px;color:var(--ice);}

/* ---------- products list (website/service/cases) ---------- */
.ult-projects{margin-top:clamp(18px,2.8vh,38px);border-top:1px solid var(--line);padding-top:clamp(16px,2.2vh,28px);}
.ult-projects__label{color:var(--plasma2);font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.ult-projects__list{display:grid;gap:clamp(14px,2vw,26px);margin-top:clamp(14px,2vh,22px);}
@media (min-width:760px){.ult-projects__list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}}
.ult-proj{display:grid;gap:.45em;align-content:start;padding:clamp(14px,2vh,22px) 0;border-top:1px solid var(--line);}
.ult-proj__tag{color:var(--dim);font-size:9px;letter-spacing:.18em;text-transform:uppercase;}
.ult-proj__name{font-family:var(--display);font-weight:300;font-size:clamp(17px,1.6vw,22px);line-height:1.15;}
.ult-proj__desc{color:var(--dim);font-size:clamp(15px,1.05vw,16px);line-height:1.55;}
.ult-proj__link{margin-top:.35em;color:var(--ice);font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.ult-proj__link--none{color:var(--dim);}
.ult-proj__link:hover{color:var(--ivory);}
.ult-proj--preview{align-content:start;}
.ult-proj__shot{width:100%;}
.ult-proj__shot img{aspect-ratio:16/10;object-fit:cover;}

/* ---------- 06 service ---------- */
.v-service{display:grid;gap:clamp(18px,3vw,34px);max-width:760px;}
.v-eco__label{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.v-eco{display:grid;gap:8px;}
.v-eco__i{display:flex;align-items:center;gap:.7em;border:1px solid var(--line);
  padding:.75em .85em;color:var(--ivory);font-size:clamp(13px,1.1vw,16px);background:rgba(11,14,20,.5);}
.v-eco__i .v-ico{width:20px;height:20px;color:var(--plasma);}
.ult-board{margin-top:clamp(22px,3.4vh,40px);border:1px solid var(--line);background:rgba(11,14,20,.5);padding:clamp(14px,1.8vw,22px);}
.ult-board__head{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1em;}
.ult-board__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);}
@media (max-width:560px){.ult-board__cols{grid-template-columns:repeat(2,minmax(0,1fr));}}
.ult-board__col{display:grid;gap:8px;align-content:start;min-height:120px;border-top:1px solid var(--line);padding-top:10px;}
.ult-board__h{color:var(--dim);font-size:9px;letter-spacing:.12em;text-transform:uppercase;}
.ult-board__card{display:block;border:1px solid var(--line);padding:.7em .8em;color:var(--dim);font-size:11px;background:rgba(6,7,10,.4);}
.ult-board__col:nth-child(3) .ult-board__card:first-of-type{border-color:var(--plasma);color:var(--ivory);}

/* ---------- 07 agents ---------- */
.v-chain{margin-top:clamp(8px,1.6vh,16px);display:grid;gap:0;}
@media (min-width:760px){.v-chain{grid-template-columns:repeat(5,minmax(0,1fr));}}
.v-chain__i{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.2em .6em;align-items:center;
  padding:clamp(14px,2vh,20px) clamp(12px,1.6vw,20px);border-top:1px solid var(--line);}
.v-chain__num{grid-column:1/3;color:var(--plasma);font-size:10px;letter-spacing:.14em;}
.v-chain__i .v-ico{grid-row:2/4;width:22px;height:22px;color:var(--ice);}
.v-chain__t{font-family:var(--display);font-weight:300;font-size:clamp(14px,1.3vw,18px);}
.v-chain__s{color:var(--dim);font-size:12px;line-height:1.4;}
.v-chain__i--gate{background:rgba(255,91,46,.06);border-top-color:var(--plasma);}
.v-chain__i--gate .v-ico,.v-chain__i--gate .v-chain__num{color:var(--plasma);}
.v-draft{margin-top:clamp(24px,3.6vh,44px);border:1px solid var(--line);background:rgba(11,14,20,.55);padding:clamp(16px,2vw,26px);max-width:520px;}
.v-draft__tag{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1em;}
.v-draft__row{display:grid;grid-template-columns:auto 1fr;gap:.6em 1em;padding:.7em 0;border-top:1px solid var(--line);}
.v-draft__k{color:var(--dim);font-size:10px;letter-spacing:.14em;text-transform:uppercase;}
.v-draft__v{color:var(--ivory);font-size:clamp(13px,1.1vw,16px);}

/* ---------- 08 reports ---------- */
.v-docs{display:grid;gap:clamp(14px,2vw,24px);}
@media (min-width:820px){.v-docs{grid-template-columns:repeat(3,minmax(0,1fr));}}
.v-doc{border:1px solid var(--line);background:rgba(11,14,20,.55);padding:clamp(14px,1.8vw,22px);}
.v-doc__h{display:flex;align-items:center;gap:.6em;padding-bottom:.9em;border-bottom:1px solid var(--line);
  color:var(--ivory);font-family:var(--display);font-weight:300;font-size:clamp(15px,1.4vw,19px);}
.v-doc__h .v-ico{color:var(--plasma);width:20px;height:20px;}
.v-doc__badge{margin-left:auto;color:var(--dim);font-size:9px;letter-spacing:.14em;text-transform:uppercase;}
.v-doc__list{margin-top:.9em;display:grid;gap:.5em;}
.v-doc__list li{color:var(--dim);font-size:clamp(13px,1.05vw,15px);padding-left:1.1em;position:relative;}
.v-doc__list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:1px;background:var(--plasma);}
.v-matrix{margin-top:clamp(24px,3.6vh,44px);}
.v-matrix__label{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1em;}
.ult-table{width:100%;border-collapse:collapse;font-size:clamp(12px,1.05vw,15px);}
.ult-table th,.ult-table td{text-align:left;padding:.8em .6em;border-bottom:1px solid var(--line);vertical-align:top;}
.ult-table th{color:var(--dim);font-weight:400;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.ult-table td{color:var(--dim);}
.ult-table td:first-child{color:var(--ivory);}

/* ---------- 09 possibilities ---------- */
.v-console{margin-top:clamp(8px,1.6vh,16px);display:grid;gap:0;
  border:1px solid var(--line);background:rgba(11,14,20,.5);padding:clamp(14px,1.8vw,22px);}
@media (min-width:760px){.v-console{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--line);}}
.v-console__n{display:grid;grid-template-columns:auto 1fr;gap:.2em .6em;align-items:center;
  padding:clamp(12px,1.8vh,18px) clamp(10px,1.4vw,18px);border-left:2px solid var(--dim);}
.v-console__n .v-ico{grid-row:1/3;width:22px;height:22px;color:var(--dim);}
.v-console__t{font-family:var(--display);font-weight:300;font-size:clamp(14px,1.3vw,18px);}
.v-console__s{font-size:11px;letter-spacing:.06em;color:var(--dim);}
.v-console__n--ok{border-left-color:var(--ok);}
.v-console__n--ok .v-ico,.v-console__n--ok .v-console__s{color:var(--ok);}
.v-console__n--wait{border-left-color:var(--plasma);}
.v-console__n--wait .v-ico,.v-console__n--wait .v-console__s{color:var(--plasma2);}
.v-console__n--wait::after{content:"!";grid-column:1/3;justify-self:start;color:var(--plasma);font-family:var(--mono);}
.v-console__n--ok::after{content:"✓";grid-column:1/3;justify-self:start;color:var(--ok);font-family:var(--mono);}

/* ---------- 10/11 кейсы ---------- */
.ult-section--case .ult-case__body{margin-top:clamp(16px,2.4vh,26px);}
.ult-case__main{display:grid;gap:clamp(18px,2.6vh,26px);}
.ult-case__tag{color:var(--plasma);font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
.ult-case__desc{color:var(--ivory);max-width:56ch;font-size:clamp(15px,1.2vw,19px);line-height:1.5;}
.v-chipline{margin-top:clamp(8px,1.6vh,16px);}
.v-chipline .v-chips{margin-top:0;}
.v-chips--steps{margin-top:clamp(14px,2.2vh,22px);}
.v-fraud{margin-top:clamp(8px,1.6vh,16px);border:1px solid var(--line);background:rgba(11,14,20,.5);padding:clamp(14px,1.8vw,22px);}
.v-fraud__bar{height:34px;border:1px solid var(--line);background:rgba(6,7,10,.4);position:relative;overflow:hidden;}
.v-fraud__fraud{position:absolute;inset:0 auto 0 0;width:96%;background:
  repeating-linear-gradient(135deg,rgba(255,91,46,.7) 0 8px,rgba(255,91,46,.4) 8px 16px);}
.v-fraud__legend{display:flex;flex-wrap:wrap;gap:1.2em;margin-top:.9em;color:var(--dim);font-size:12px;}
.v-fraud__legend li{display:flex;align-items:center;gap:.5em;}
.v-fraud__swatch{width:14px;height:14px;border:1px solid var(--line);}
.v-fraud__swatch--fraud{background:repeating-linear-gradient(135deg,rgba(255,91,46,.7) 0 5px,rgba(255,91,46,.4) 5px 10px);}
.v-fraud__swatch--real{background:var(--dim);}
.v-fraud__note{margin-top:1em;color:var(--ivory);font-size:12px;letter-spacing:.04em;}
.ult-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);}
.ult-fact{padding:clamp(12px,2vh,22px) clamp(10px,1.4vw,20px) clamp(12px,2vh,22px) 0;border-bottom:1px solid var(--line);}
.ult-fact:nth-child(even){border-left:1px solid var(--line);padding-left:clamp(10px,1.4vw,20px);}
.ult-fact__v{display:block;font-family:var(--display);font-weight:300;
  font-size:clamp(20px,2.6vw,34px);line-height:1;color:var(--ivory);font-variant-numeric:tabular-nums;}
.ult-fact__l{display:block;margin-top:.6em;color:var(--dim);font-size:10px;letter-spacing:.1em;line-height:1.5;}
.ult-case__src{display:inline-block;margin-top:1.2em;margin-right:1.6em;color:var(--ice);font-size:11px;letter-spacing:.06em;}
.ult-section--case-doc{background:rgba(241,238,230,.02);}
.ult-section--case-audit{background:linear-gradient(180deg,rgba(255,91,46,.05),rgba(6,7,10,0) 40%);}
.ult-section--case-audit .ult-fact__v{color:var(--plasma);}
.ult-section--case-audit .ult-case__tag{color:var(--ice);}

/* ---------- 12 оценка рутины ---------- */
.ult-calc{border-top:1px solid var(--line);padding-top:clamp(18px,2.8vh,34px);}
.ult-calc__fields{display:grid;gap:clamp(12px,1.8vw,22px);}
@media (min-width:700px){.ult-calc__fields{grid-template-columns:repeat(3,minmax(0,1fr));}}
.ult-calc__field{display:grid;gap:.45em;border-bottom:1px solid var(--line);padding-bottom:.85em;}
.ult-calc__label{color:var(--dim);font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.ult-calc__input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  color:var(--ivory);font-family:var(--display);font-weight:300;
  font-size:clamp(20px,2.4vw,32px);padding:.12em 0;font-variant-numeric:tabular-nums;}
.ult-calc__input:focus-visible{outline:2px solid var(--ice);outline-offset:3px;}
.ult-calc__out{margin-top:clamp(22px,3.4vh,44px);}
.ult-calc__result{font-family:var(--display);font-weight:300;
  font-size:clamp(34px,5vw,72px);line-height:1;color:var(--ivory);margin:.15em 0 0;
  font-variant-numeric:tabular-nums;}
.ult-calc__result-label{color:var(--dim);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:.5em;}
.ult-calc__breakdown{color:var(--dim);font-size:12px;letter-spacing:.05em;margin-top:1em;}
.ult-calc__money{color:var(--ivory);font-size:clamp(12px,1.05vw,16px);letter-spacing:.04em;margin-top:.7em;}
.v-bar{display:grid;grid-template-columns:minmax(72px,auto) 1fr auto;gap:12px;align-items:center;
  margin-top:clamp(16px,2.4vh,26px);}
.v-bar__k{color:var(--dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.v-bar__track{position:relative;height:12px;border:1px solid var(--line);background:rgba(6,7,10,.4);overflow:hidden;}
.v-bar__track i{position:absolute;inset:0 auto 0 0;display:block;width:0;
  transition:width .5s var(--ease),background-color .3s ease;}
.v-bar--routine .v-bar__track i{background:var(--plasma);}
.v-bar--routine.is-over .v-bar__track i{background:var(--plasma2);}
.v-bar__v{color:var(--ivory);font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums;}
.ult-calc__refcap{color:var(--dim);font-size:11px;letter-spacing:.05em;margin-top:.7em;max-width:72ch;}
.ult-calc__year{color:var(--dim);font-size:clamp(12px,1vw,15px);margin-top:.9em;}
.ult-calc__msg{margin-top:.9em;color:var(--dim);max-width:58ch;font-size:clamp(13px,1.05vw,16px);}
.ult-calc__msg.is-empty{color:var(--plasma2);}
.ult-calc__fallback{margin-top:clamp(18px,2.8vh,34px);border-top:1px solid var(--line);padding-top:clamp(16px,2.2vh,26px);}
.ult-calc__staticline{color:var(--ivory);font-size:clamp(14px,1.2vw,18px);}
html.ult-js .ult-calc__fallback{display:none;}

/* ---------- 13 старт ---------- */
.v-path{display:grid;gap:clamp(14px,2vw,22px);}
@media (min-width:860px){.v-path{grid-template-columns:repeat(5,minmax(0,1fr));}}
.v-stage{display:grid;grid-template-columns:auto 1fr;gap:.2em .6em;align-items:center;
  border-top:1px solid var(--line);padding-top:clamp(12px,1.8vh,18px);position:relative;}
.v-stage::before{content:"";position:absolute;top:-1px;left:0;width:24px;height:2px;background:var(--plasma);}
.v-stage__n{grid-column:1/3;color:var(--plasma);font-size:10px;letter-spacing:.16em;}
.v-stage .v-ico{grid-row:2/4;width:22px;height:22px;color:var(--ice);}
.v-stage__t{font-family:var(--display);font-weight:300;font-size:clamp(14px,1.3vw,19px);}
.v-roles{display:grid;gap:clamp(16px,2.6vw,34px);margin-top:clamp(28px,4.4vh,56px);}
@media (min-width:760px){.v-roles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}}
.v-role{border-left:1px solid var(--line);padding-left:clamp(14px,2vw,24px);}
.v-role__i{width:26px;height:26px;color:var(--plasma);}
.v-role__h{margin-top:.5em;color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.v-role__t{margin-top:.6em;color:var(--dim);max-width:46ch;font-size:clamp(13px,1.05vw,16px);}

/* ---------- 14 условия ---------- */
.v-terms{display:grid;gap:clamp(26px,4vw,56px);}
@media (min-width:900px){.v-terms{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}}
.ult-price{min-width:0;}
.ult-price__num{font-family:var(--display);font-size:clamp(42px,6vw,88px);font-weight:250;line-height:.95;
  color:var(--ok);letter-spacing:-.03em;white-space:nowrap;overflow-wrap:normal;}
.ult-price__unit{margin-top:.9em;color:var(--dim);font-size:11px;letter-spacing:.12em;text-transform:uppercase;max-width:46ch;}
.ult-price__caveat{margin-top:1.2em;color:var(--ivory);max-width:52ch;font-size:clamp(14px,1.15vw,17px);}
.v-bundle__h{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.v-bundle__list{margin-top:1em;border-top:1px solid var(--line);}
.v-bundle__list li{display:flex;align-items:center;gap:.8em;padding:.8em 0;border-bottom:1px solid var(--line);
  color:var(--dim);font-size:clamp(13px,1.05vw,16px);}
.v-bundle__list li .v-ico{width:20px;height:20px;color:var(--ice);}
.ult-faq{margin-top:clamp(36px,5.5vh,78px);border-top:1px solid var(--line);padding-top:clamp(22px,3.2vh,40px);}
.ult-faq__title{font-size:clamp(22px,3vw,40px);font-weight:300;margin-bottom:clamp(16px,2.2vh,28px);}
.ult-faq__item{border-bottom:1px solid var(--line);}
.ult-faq__q{position:relative;cursor:pointer;list-style:none;
  padding:clamp(14px,2vh,22px) clamp(28px,3vw,40px) clamp(14px,2vh,22px) 0;
  font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(14px,1.4vw,20px);color:var(--ivory);}
.ult-faq__q::-webkit-details-marker{display:none;}
.ult-faq__q::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);
  color:var(--plasma);font-family:var(--mono);font-size:1.1em;}
.ult-faq__item[open] .ult-faq__q::after{content:"–";}
.ult-faq__a{color:var(--dim);max-width:64ch;padding-bottom:clamp(14px,2vh,22px);font-size:clamp(13px,1.05vw,16px);}

/* ---------- 15 финал ---------- */
.ult-section--final{background:linear-gradient(180deg,rgba(255,91,46,.06),rgba(6,7,10,0) 46%);}
.v-brief{display:grid;gap:0;border-top:1px solid var(--line);margin-bottom:clamp(22px,3.4vh,40px);}
@media (min-width:760px){.v-brief{grid-template-columns:repeat(3,minmax(0,1fr));}}
.v-brief__row{display:grid;grid-template-columns:auto 1fr;gap:.2em .7em;align-items:center;
  padding:clamp(12px,1.8vh,18px) clamp(12px,1.6vw,22px) clamp(12px,1.8vh,18px) 0;border-bottom:1px solid var(--line);}
@media (min-width:760px){.v-brief__row + .v-brief__row{border-left:1px solid var(--line);padding-left:clamp(12px,1.6vw,22px);}}
.v-brief__row .v-ico{grid-row:1/3;width:20px;height:20px;color:var(--plasma);}
.v-brief__k{color:var(--plasma2);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.v-brief__v{color:var(--dim);font-size:13px;}
.ult-final__grid{display:grid;gap:clamp(16px,2.6vw,30px);}
@media (min-width:820px){.ult-final__grid{grid-template-columns:1fr 1fr;}}
.ult-channel{display:grid;gap:.45em;position:relative;border:1px solid var(--line);
  padding:clamp(20px,2.6vw,34px);transition:border-color .4s var(--ease),background-color .4s var(--ease);}
.ult-channel__k{color:var(--plasma);font-size:10px;letter-spacing:.18em;text-transform:uppercase;}
.ult-channel__t{font-size:clamp(22px,2.8vw,38px);font-weight:300;max-width:16ch;overflow-wrap:break-word;}
.ult-channel__d{color:var(--dim);font-size:clamp(13px,1.05vw,16px);max-width:42ch;padding-right:2em;}
.ult-channel .arrow{position:absolute;right:clamp(16px,2.2vw,30px);bottom:clamp(16px,2.2vw,30px);color:var(--plasma);}
.ult-channel:hover,.ult-channel:focus-visible{border-color:var(--plasma);background:rgba(255,91,46,.06);}
.ult-channel:hover .arrow{transform:translateX(7px);}
.ult-final__contacts{display:grid;gap:0;margin-top:clamp(22px,3.4vh,44px);border-top:1px solid var(--line);}
@media (min-width:620px){.ult-final__contacts{grid-template-columns:repeat(4,minmax(0,1fr));}}
.ult-final__contacts a{display:flex;flex-direction:column;gap:.3em;
  padding:clamp(12px,1.8vh,18px) clamp(12px,1.6vw,22px) clamp(12px,1.8vh,18px) 0;border-bottom:1px solid var(--line);
  transition:color .3s ease,padding-left .35s var(--ease);}
@media (min-width:620px){.ult-final__contacts li + li a{border-left:1px solid var(--line);padding-left:clamp(12px,1.6vw,22px);}}
.ult-final__contacts a:hover{color:var(--ivory);padding-left:clamp(4px,.8vw,10px);}
.ult-final__c-label{color:var(--dim);font-size:9px;letter-spacing:.16em;text-transform:uppercase;}
.ult-final__c-value{color:var(--ivory);font-size:clamp(13px,1.2vw,18px);}

/* ---------- адаптив ---------- */
@media (max-width:979px){
  .ultima-page main{padding-bottom:calc(62px + env(safe-area-inset-bottom));}
}
@media (max-width:760px){
  .v-intro{grid-template-columns:1fr;}
  .v-intro .v-arrow{transform:rotate(90deg);justify-self:start;}
  .v-out{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .ult-facts{grid-template-columns:1fr;}
  .ult-fact:nth-child(even){border-left:0;padding-left:0;}
  .v-brief-intro, .v-brief, .v-roles, .v-docs, .v-previews, .v-notchat, .v-service, .v-tracks, .ult-scen__cols{grid-template-columns:1fr;}
  .v-out{grid-template-columns:1fr;}
}

/* ---------- no-JS: всё полезное видно ---------- */
html:not(.ult-js) .ult-scen__panel{display:block;margin-bottom:clamp(26px,4vh,50px);}
html:not(.ult-js) .ult-scen__panel[hidden]{display:block;}
html:not(.ult-js) .ult-calc__out{display:none;}
html:not(.ult-js) .ult-scen__tab{pointer-events:none;}
html:not(.ult-js) .ult-more{display:block;}
html:not(.ult-js) .ult-more__body{display:block;}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .ultima-page *{transition:none !important;animation:none !important;}
  .ultima-page{scroll-behavior:auto;}
}
html.reduced-motion .ultima-page *{transition:none !important;animation:none !important;}
