/* Уникальные правила главной — концепт v12 «Досье · карусель улик» —
   из /opt/vyaznikov-com/makety-2026/glavnaya-v12-uliki.html (генератор build-v12-uliki.py).
   Всё общее (.plate/.hd/.kick/.pill/.sub/.fin/.wrap) уже есть в core.css — не дублируем.

   core.css УЖЕ материальный (градиенты в .plate--navy/.plate--gold, тень-«губа» на .pill/.hd__cta) —
   в макете v12 базовые классы были ПЛОСКИЕ (без градиентов/теней), но это расхождение решено
   в пользу core.css (общий для всех страниц, шаг 2 плана уже сделал материальность доминирующей).
   Ниже — только то, чего в core.css нет: hero-сетка, карусель-«улики», оффер/табло/бренды/
   процесс/отзывы-«прожектор»/гарантии — перенесены из макета с сохранением материальности,
   которая там уже была нарисована отдельным слоем (в макете это было MAT+CAR_OVR). */

/* ---- финал: пилюля на золотой плите — тёмный вариант (core.css .pill по умолчанию navy-фон,
   но плита тут и так золотая, поэтому нужен контрастный вариант — как в макете pill--navy) ---- */
.dosie .pill--navy{background:var(--navy);color:#fff;box-shadow:0 5px 0 #0E1B3C,0 16px 30px rgba(14,27,60,.35)}
.dosie .pill--navy:active{box-shadow:0 1px 0 #0E1B3C}

/* ---- BUG-FIX 2026-07-17: живая страница «приклеена к левому краю» ----
   Причина: общий core.css задаёт .dosie .wrap{max-width:1420px} (унаследовано из v11-
   подстраниц), а эталонный макет v12 (glavnaya-v12-uliki.html) использует
   .wrap{max-width:1220px} для ВСЕЙ страницы (все 7 секций, не только hero).
   .plate у обеих версий совпадает (1420px) — расхождение только в .wrap.
   Playwright-замер 1611×900: h1 слева LIVE=95.5px, MAKET=195.5px (разница 100px =
   половина 1420-1220). Скоуп через body-класс, который WP вешает на эту страницу
   автоматически (page-template-vyznikov-homepage-v12), — специфичнее .dosie .wrap
   из core.css, не трогаем core.css. */

/* ---- hero: сетка заголовок + карусель ---- */
.dosie .hero{padding-top:64px;padding-bottom:36px} /* НЕ шорткат: padding:64px 0 36px обнулял боковой отступ .wrap на мобиле — hero прилипал к краю (аудит 2026-07-17) */
.dosie .hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.dosie h1.disp{font-size:clamp(40px,5.2vw,70px)}
.dosie h1 .g{white-space:nowrap}
.dosie .hero__cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px}
.dosie .hero__note{font-size:13px;color:rgba(255,255,255,.55);max-width:24ch;line-height:1.4}
@media(max-width:991px){.dosie .hero__grid{grid-template-columns:1fr}}

/* ---- карусель-«улики»: механика (орбитальная дуга) из build-v6-cascade.py ---- */
.dosie .ev2{position:relative}
.dosie .ev2 .serp{position:relative;height:620px;min-height:0;max-height:none;overflow:hidden}
.dosie .ev2 .serp__persp{position:absolute;inset:-120px -140px;perspective:1400px;perspective-origin:50% 46%}
.dosie .ev2 .serp__stage{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.dosie .serp__hint{position:absolute;bottom:-4px;left:0;right:0;text-align:center;font-size:10.5px;letter-spacing:.1em;
 color:var(--mut);opacity:.55;text-transform:uppercase;pointer-events:none;z-index:300}
/* фикс резкого обреза (анти-слоп «clear the cut»): карточки растворяются у кромок сцены, не режутся */
.dosie .ev2 .serp{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 70px,#000 calc(100% - 110px),transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 70px,#000 calc(100% - 110px),transparent 100%)}
.dosie .ev2 .ev__stamp{position:absolute;left:-4%;bottom:0;z-index:5;width:158px;height:158px;transform:rotate(-12deg);
 opacity:.92;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.dosie .ev2 .bdg{z-index:6}
.dosie .ev2 .bdg--a{position:absolute;right:-2%;top:3%}
.dosie .ev2 .bdg--b{position:absolute;right:4%;bottom:6%}
@media(max-width:991px){
 /* Мобильная карусель карточек-улик: НЕ вертикальная стопка (юзер 2026-07-17 —
    «должна крутиться каруселью как на десктопе, компактнее»), а горизонтальный
    scroll-snap ряд — свайп вбок, влезает на первый экран. */
 /* Ширину скролл-контейнера обязан ограничить КАЖДЫЙ предок между стейджем и плитой,
    иначе flex-ряд карточек (3668px) раздувает всю цепочку и overflow-x:auto скроллить нечего
    (карточки прячутся клипом плиты, а не листаются). min-width:0 + width:100% на всех. */
 .dosie .ev2 .serp{height:auto;min-height:0;max-height:none;-webkit-mask-image:none;mask-image:none;
  overflow:visible;width:100%;min-width:0;max-width:100%}
 .dosie .ev2 .serp__persp{position:relative;inset:auto;perspective:none;overflow:visible;
  width:100%;min-width:0;max-width:100%}
 .dosie .ev2 .serp__stage{position:relative;inset:auto;perspective:none;
  display:flex;flex-direction:row;gap:14px;left:auto;top:auto;top:auto;height:auto;
  width:100%;min-width:0;max-width:100%;box-sizing:border-box;
  overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:6px 4px 16px;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
 .dosie .ev2 .serp__stage::-webkit-scrollbar{display:none}
 /* .hero__grid и плита не должны клипать/распирать ряд — ряд живёт в своём скролле */
 .dosie .ev2{min-width:0;max-width:100%}
 .dosie .ev2 .ev__stamp,.dosie .ev2 .bdg{display:none}
 .dosie .serp__hint{display:block;position:static;text-align:center;bottom:auto;margin-top:6px}
}

/* ---- карточки-улики: компактные 430×212 С материальностью (блик, градиентные заливки, тень-«губа») ----
   диагноз «плоско» в исходной сессии — вернули блик/градиент/губу, крупнее контент. */
.dosie .dsl{position:absolute;top:0;left:0;width:430px;height:216px;margin:-108px 0 0 -215px;border-radius:16px;
 overflow:visible;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity,filter;
 box-shadow:0 4px 0 rgba(4,12,34,.45),0 38px 74px -22px rgba(0,0,0,.55),0 6px 16px rgba(0,0,0,.22)!important}
.dosie .dsl::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(118deg,rgba(255,255,255,.10),transparent 40%)}
.dosie .s-white::after,.dosie .s-gold::after{background:linear-gradient(118deg,rgba(255,255,255,.55),transparent 42%)}
.dosie .s-white{background:linear-gradient(165deg,#FFFFFF,#EFEDE6);color:var(--navy);border:1px solid rgba(23,42,85,.08)}
.dosie .s-navy{background:radial-gradient(120% 90% at 30% 0%,#2C4173 0%,#1B2A52 70%);
 border:1px solid rgba(207,189,166,.4);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),
 0 4px 0 rgba(4,12,34,.5),0 38px 74px -22px rgba(0,0,0,.6)!important}
.dosie .s-gold{background:linear-gradient(to bottom right,var(--gold-l),var(--gold));color:#fff}
.dosie .s-cta{outline:1.5px solid rgba(207,189,166,.85);outline-offset:-6px;cursor:pointer}
.dosie .sc{position:relative;height:100%;padding:26px 30px;display:flex;flex-direction:column;gap:8px;border-radius:inherit}
.dosie .sc__n{font-family:'Unbounded','Inter',sans-serif;font-weight:900;font-size:40px;line-height:1.02;
 letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.dosie .s-white .sc__n{color:var(--navy)}
.dosie .sc__p{font-style:normal;font-family:'Unbounded','Inter',sans-serif;font-weight:900;font-size:22px}
.dosie .s-white .sc__p{color:var(--gold-d)}
.dosie .s-navy .sc__p{color:var(--gold-l);display:block;margin-top:8px;text-shadow:0 0 22px rgba(207,189,166,.35)}
.dosie .sc__was{font-style:normal;font-size:18px;font-weight:700;opacity:.45;text-decoration:line-through;letter-spacing:0}
.dosie .sc__s{font-size:13px;line-height:1.5;margin-top:auto;max-width:36ch}
.dosie .s-white .sc__s{color:var(--mut)}
.dosie .s-navy .sc__s{color:rgba(255,255,255,.7)}
.dosie .s-gold .sc__s{color:rgba(255,255,255,.88)}
.dosie .sc__logos{display:grid;gap:16px;margin:auto 0}
.dosie .sc__logos img{max-height:40px;max-width:72%;object-fit:contain;justify-self:start;
 filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.dosie .sc__proc{font-family:'Unbounded','Inter',sans-serif;font-weight:900;font-size:22px;line-height:1.5;letter-spacing:.02em}
.dosie .s-gold .sc__n{text-shadow:0 2px 0 rgba(158,145,127,.6)}
.dosie .sc__t{font-family:'Unbounded','Inter',sans-serif;font-weight:900;font-size:12px;line-height:1.35;letter-spacing:.05em;
 text-transform:uppercase;margin-bottom:6px}
.dosie .s-white .sc__t{color:var(--gold-d)}
.dosie .s-navy .sc__t{color:var(--gold-l)}
.dosie .s-gold .sc__t{color:rgba(255,255,255,.85)}
.dosie .sc__i{position:absolute;right:20px;bottom:14px;font-family:'Unbounded','Inter',sans-serif;font-weight:900;
 font-size:13px;opacity:.26;letter-spacing:.08em}
/* стикер-плашка «33 ₽ · запись»: НЕПРОЗРАЧНЫЙ золотой фон (иначе просвечивает карточка под ним),
   верхний угол своего кейса (top:-30px), лёгкий поворот 3.5° */
.dosie .bdg--att{position:absolute;right:-24px;top:-30px;z-index:9;transform:rotate(3.5deg);
 background:var(--gold-l);color:var(--navy);font-size:14px;padding:12px 18px;border-radius:999px;
 font-weight:700;border:1px solid rgba(158,145,127,.55);white-space:nowrap;
 box-shadow:0 3px 0 var(--gold-d),0 16px 30px -8px rgba(0,0,0,.5)}
.dosie .bdg--att small{display:block;font-size:10.5px;font-weight:600;opacity:.75;margin-top:1px}
@media(max-width:991px){
 /* Карточка в мобильной карусели: фикс-ширина слайда + snap (компактнее полноэкранной). */
 .dosie .dsl{position:relative!important;top:auto;left:auto;margin:0;transform:none!important;
  opacity:1!important;filter:none!important;width:82vw;max-width:340px;height:auto;min-height:190px;
  flex:0 0 auto;scroll-snap-align:center}
}
@media(max-width:560px){
 .dosie .dsl{width:84vw;max-width:320px}
 .dosie .sc{padding:20px 22px}
 .dosie .sc__n{font-size:30px}
 .dosie .bdg--att{right:-8px;top:-20px;font-size:12px;padding:9px 14px}
}

/* ---- оффер: 3 специализации ---- */
.dosie .spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.dosie .spec__c{border:1px solid rgba(23,42,85,.08);background:linear-gradient(160deg,#FFFFFF 0%,var(--warm) 100%);
 box-shadow:0 3px 0 rgba(23,42,85,.08),0 14px 26px rgba(23,42,85,.06);border-radius:18px;padding:26px}
.dosie .spec__c b{display:block;font-size:16.5px;font-weight:700;color:var(--navy);margin-bottom:8px}
.dosie .spec__c p{font-size:14px;color:var(--body);line-height:1.55}
@media(max-width:767px){.dosie .spec{grid-template-columns:1fr}}

/* ---- бренды: 3 крупные плашки ---- */
.dosie .br3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.dosie .br3__c{background:var(--navy);border-radius:18px;padding:34px 30px;min-height:160px;
 display:flex;flex-direction:column;gap:18px;justify-content:space-between;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 0 rgba(4,12,34,.45),0 16px 30px rgba(4,12,34,.28);
 transition:transform .3s var(--ease)}
.dosie .br3__c:hover{transform:translateY(-4px)}
.dosie .br3__c img{max-height:44px;max-width:75%;object-fit:contain;align-self:flex-start}
.dosie .br3__c span{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.45}
@media(max-width:767px){.dosie .br3{grid-template-columns:1fr}}

/* ---- бегущая лента «клиенты + эксперты» (две встречные ленты, как в макете) ---- */
.dosie .clm{overflow:hidden;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.dosie .clm::before,.dosie .clm::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.dosie .clm::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(248,248,248,0))}
.dosie .clm::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(248,248,248,0))}
.dosie .clm__row{overflow:hidden}
.dosie .clm__row+.clm__row{border-top:1px solid var(--line)}
.dosie .clm__in{display:flex;align-items:flex-start;gap:84px;width:max-content;animation:dosie-clmx 62s linear infinite;padding:34px 0}
.dosie .clm__row--rev .clm__in{animation-direction:reverse}
@keyframes dosie-clmx{to{transform:translateX(-50%)}}
.dosie .clm__i{display:flex;flex-direction:column;align-items:center;gap:14px}
.dosie .clm__i span{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.06em;line-height:1.5;
 color:var(--mut);text-transform:uppercase;text-align:center;max-width:250px}
.dosie .clm__i b{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.06em;
 color:var(--navy);margin-bottom:2px}
.dosie .clm img{height:110px;max-width:280px;object-fit:contain;filter:grayscale(1) opacity(.75);transition:filter .25s var(--ease)}
.dosie .clm img.clm__pp{filter:none;opacity:1}
.dosie .clm img:hover{filter:none}
@media(prefers-reduced-motion:reduce){.dosie .clm__in{animation-duration:110s}}

/* ---- процесс: 4 шага ---- */
.dosie .pr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:44px}
.dosie .pr__c{border:1px solid rgba(23,42,85,.08);background:linear-gradient(160deg,#FFFFFF 0%,var(--warm) 100%);
 box-shadow:0 3px 0 rgba(23,42,85,.08),0 14px 26px rgba(23,42,85,.06);
 border-radius:18px;padding:26px;min-height:190px;display:flex;flex-direction:column}
.dosie .pr__n{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold-l);display:grid;
 place-items:center;font-family:'Unbounded';font-weight:900;font-size:15px;margin-bottom:18px;
 box-shadow:0 3px 0 rgba(14,27,60,.4),0 8px 16px rgba(23,42,85,.25)}
.dosie .pr__c b{font-family:'Unbounded';font-weight:900;font-size:15px;letter-spacing:.04em;color:var(--navy);margin-bottom:10px}
.dosie .pr__c p{font-size:13.5px;color:var(--body);line-height:1.55}
@media(max-width:991px){.dosie .pr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dosie .pr{grid-template-columns:1fr}}

/* ---- отзывы: 8 карточек «прожектор»-стиль (заголовок-выжимка + текст + автор) ---- */
.dosie .rv8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:44px}
.dosie .rv8__c{background:linear-gradient(165deg,#FFFFFF,#FBFAF7);border:1px solid rgba(23,42,85,.06);
 border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;
 box-shadow:0 3px 0 var(--line),0 14px 30px rgba(23,42,85,.09)}
.dosie .rv8__t{font-family:'Unbounded';font-weight:900;font-size:13.5px;line-height:1.35;letter-spacing:.02em;
 text-transform:uppercase;color:var(--gold-d)}
.dosie .rv8__c p{font-size:13px;line-height:1.6;color:var(--body);flex:1}
.dosie .rv8__a{display:flex;align-items:center;gap:10px}
.dosie .rv8__a img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.dosie .rv8__a b{display:block;font-size:12.5px;color:var(--navy)}
.dosie .rv8__a span{display:block;font-size:10.5px;color:var(--mut);margin-top:2px;line-height:1.3}
@media(max-width:1120px){.dosie .rv8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dosie .rv8{grid-template-columns:1fr}}

/* ---- гарантии: договор-полароид + текст ---- */
.dosie .gu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;align-items:center}
.dosie .gu__doc{position:relative;isolation:isolate}
.dosie .gu__doc::before{content:"";position:absolute;inset:10% 8% 2% 14%;z-index:-1;border-radius:10px;
 background:#C9BBA4;transform:rotate(-11deg);box-shadow:0 24px 36px rgba(0,0,0,.3)}
.dosie .gu__doc img{width:100%;max-width:470px;display:block;transform:rotate(-6deg);
 filter:drop-shadow(0 30px 40px rgba(0,0,0,.4));transition:transform .5s var(--ease)}
.dosie .gu__doc:hover img{transform:rotate(-2deg) translateY(-8px)}
.dosie .gu mark{background:linear-gradient(transparent 52%,rgba(255,224,90,.5) 52%);color:inherit;padding:0 2px}
.dosie .gu .sub b{color:#fff}
@media(max-width:991px){
 .dosie .gu{grid-template-columns:1fr;gap:26px}
 .dosie .gu__doc img{max-width:300px;margin:0 auto}
}
@media(prefers-reduced-motion:reduce){
 .dosie .gu__doc img,.dosie .gu__doc:hover img{transform:rotate(-5deg)}
}

@media(prefers-reduced-motion:reduce){
 .dosie .bdg--a,.dosie .bdg--b{animation:none}
}
