/* РОВНО — внутренние страницы (T2–T15): первый экран с ценами, блоки текста, таблицы, вопросы, форма. */
.ph{padding:calc(24px) 0 72px}
.ph-g{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ph .chips{margin-bottom:18px}
.ph .h1{margin-bottom:16px}
.ph .lead{margin-bottom:24px}
.prs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}
.pr{padding:14px 18px;border-radius:16px;background:var(--card-2)}
.pr span{display:block;font-size:14px;color:var(--fg-2)}.pr .price{color:var(--fg-2)}
.ph .note{margin:0 0 22px;font-size:15px;color:var(--fg-2)}
.ph-v{display:flex;justify-content:flex-end}.ph-v .fr{aspect-ratio:4/5;max-height:76svh;width:100%}
/* текстовый блок (Николай 26.10: «заголовок слева, справа одна строчка, остальное пусто» — переделать): одна колонка по центру,
   заголовок над текстом; ширина колонки — строка 70–80 знаков, поля слева и справа равные */
.pg{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:calc(880px + 2 * var(--pad))}
.pg-b{display:grid;gap:18px;min-width:0}
.pg-b .lead{margin-bottom:6px}
.sec-s{padding:88px 0}
/* короткий ответ сразу под первым экраном: крупный текст без заголовка */
.sec-ans{padding:8px 0 72px}.sec-ans .pg-b p{font:400 var(--fL)/1.45 var(--ff);letter-spacing:-.01em;color:var(--fg)}.sec-ans .pg-b .note{font:500 var(--fS)/1.4 var(--ff);color:var(--fg-2)}
.pg-b>.btns,.cd-b>.btns{margin-top:6px}
.big-n{font:600 clamp(28px,2.4vw,34px)/1.15 var(--fd);letter-spacing:-.02em;white-space:nowrap}
.chips.steps{display:flex;flex-wrap:wrap;gap:8px}
/* второе действие на тёмном: контур, а не заливка цвета фона (на карточке и полосе card-2 кнопка пропадала) */
main .btn-2{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px rgba(241,237,228,.55)}
@media (hover:hover){main .btn-2:hover{background:rgba(241,237,228,.08)}}
/* таблицы шире текста: цены в ячейке не переносятся по одному «₽» */
.pg:has(.tbl-w){max-width:calc(1160px + 2 * var(--pad))}
.tbl td{min-width:7.5em}
/* «От чего зависит итог» под таблицей пакетов (/ceny/, /kalkulyator/): две колонки на всю ширину, нечётный последний — во всю строку */
main .deps{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-items:start}
main .deps>.h3{grid-column:1 / -1}
main .deps>.dep:last-child:nth-child(even){grid-column:1 / -1}
@media (max-width:767px){main .deps{grid-template-columns:1fr}}
/* подряд идущие короткие блоки — ряд равных карточек, неполный ряд по центру */
.cds{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.cd{flex:0 1 calc((100% - 48px) / 3);display:flex;flex-direction:column;gap:18px;padding:32px;border-radius:var(--r);background:var(--card-2);min-width:0}
.cds-2>.cd,.cds-4>.cd{flex-basis:calc((100% - 24px) / 2)}
.milk2 .cd{background:var(--bg)}
.cd .h2{font-size:clamp(28px,2.4vw,36px)}
.cd-b{display:grid;gap:14px;align-content:start;flex:1}
.cd-b>.btns{margin-top:auto;padding-top:6px}
.cd .qr-b{max-width:none;background:none;padding:0;justify-items:start}
/* ссылки по теме: колонки равной ширины, каждая ссылка — строка-кнопка */
.lk-g{display:grid;gap:24px 48px}
.lk-n1{max-width:calc(880px + 2 * var(--pad))}.lk-n2{grid-template-columns:repeat(2,minmax(0,1fr))}.lk-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lk-c{display:grid;gap:16px;align-content:start}
/* много групп (карта сайта): колонки газетой, без дыр под короткими группами */
.lk-m{display:block;columns:3;column-gap:48px}.lk-m .lk-c{break-inside:avoid;margin-bottom:40px}
/* список статей блога — карточки ровными рядами */
.pg:has(.art-cards){max-width:1440px}
.art-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.art-cards a{display:flex;flex-direction:column;gap:10px;height:100%;padding:24px;border-radius:var(--r);background:var(--card-2);color:var(--fg);text-decoration:none;transition:background-color 160ms var(--ease-out)}
.milk2 .art-cards a{background:var(--bg)}
.art-cards b{font:600 var(--fL)/1.3 var(--ff);letter-spacing:-.01em}.art-cards span{color:var(--fg-2)}.art-cards i{margin-top:auto;font-style:normal;font-weight:600;color:var(--act)}
@media (hover:hover){.art-cards a:hover{background:rgba(247,166,0,.12)}}
.disp{font:600 var(--fH)/1.05 var(--fd);letter-spacing:-.028em;color:var(--act);margin-top:12px}
.lk-l{display:grid;gap:8px}
.lk-l a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 20px;border-radius:16px;background:var(--card-2);color:var(--fg);text-decoration:none;font-weight:600;transition:background-color 160ms var(--ease-out)}
.milk2 .lk-l a{background:var(--bg)}
.lk-l i{font-style:normal;color:var(--act)}
@media (hover:hover){.lk-l a:hover{background:rgba(247,166,0,.12)}}
/* примеры: карточки проектов вместо подписей без кадров */
.pj-cards.ex-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.ex-go{margin-top:24px;text-align:center}
.ul{display:grid;gap:8px}
.ul li{position:relative;padding-left:22px}.ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--act)}
.ol{display:grid;gap:0}
.ol li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:16px 0;border-top:1px solid var(--line)}
.ol .n{font:700 18px/1.4 var(--fd);color:var(--act)}
.kv{display:grid;gap:4px;padding:14px 18px;border-radius:16px;background:var(--card-2)}
.milk2 .kv,.milk2 .faq,.milk2 .dep{background:var(--card)}
.kv-k{font:600 14px/1.3 var(--ft);color:var(--fg-2)}
.pair{padding:20px 0;border-top:1px solid var(--line)}.pair p{margin-top:8px}
.tbl-w{overflow-x:auto}
.tbl{width:100%;min-width:560px;border-collapse:collapse;font-size:16px}
.tbl th,.tbl td{text-align:left;padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl thead th{font:600 14px/1.2 var(--ft);color:var(--fg-2)}
.links{display:flex;flex-wrap:wrap;gap:10px 22px}
.faq{border-radius:16px;background:var(--card-2);padding:0 20px}
.faq summary{cursor:pointer;padding:18px 0;font:600 18px/1.3 var(--ft);list-style:none}
.faq summary::after{content:"+";float:right;color:var(--act);font-weight:700}.faq[open] summary::after{content:"−"}
.faq p{padding:0 0 18px;color:var(--fg-2)}
/* форма: заголовок и контакты по центру над формой — без пустой левой половины */
.pf-g{display:grid;justify-items:center;gap:32px;max-width:calc(600px + 2 * var(--pad));text-align:center}.pf-t{display:grid;gap:12px;justify-items:center}.pf .lead-f.inline{width:100%;text-align:left}
.pf .lead{color:var(--fg-2)}.pf .alt{margin-top:4px}.pf .alt a{color:var(--act)}
.lead-f.inline{display:grid;gap:12px;padding:24px;border-radius:24px;color:var(--fg);--lg-tint:rgba(18,20,24,.92)}
.lead-f.inline .agree{min-height:44px;display:flex;align-items:center;gap:10px}.lead-f.inline .agree input{width:22px;height:22px;flex:none}
.note{font-size:15px;color:var(--fg-2)}
@media (max-width:1023px){.ph-g{grid-template-columns:1fr;gap:28px}.ph-v .fr{aspect-ratio:4/3}
  .cd,.cds-2>.cd,.cds-4>.cd{flex-basis:100%}.cd{padding:24px}.lk-n2,.lk-n3{grid-template-columns:1fr}.art-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lk-m{columns:2}.pj-cards.ex-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sec-s{padding:64px 0}}
@media (max-width:767px){.pj-cards.ex-cards,.art-cards{grid-template-columns:1fr}.lk-m{columns:1}}
/* модуль-вау: объёмный кадр во всю ширину, выноски на стекле */
.wau-s .h2{margin-bottom:32px}
.wau{position:relative;height:min(86svh,820px);overflow:hidden;margin:0 12px;border-radius:28px}
.wau>picture,.wau>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wau .lm-depth__gl{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s var(--ease-out)}
.wau.is-live .lm-depth__gl{opacity:1}
.wau-co{position:absolute;left:24px;bottom:24px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;max-width:min(760px,calc(100% - 48px))}
.wau-co .co{padding:10px 14px;border-radius:999px;font:600 15px/1.25 var(--ft);color:var(--fg);--lg-tint:rgba(6,6,7,.8)}
.wau .lbl{z-index:4}
.wau-s .pg-b{margin-top:28px}
@media (max-width:1023px){.wau{height:72svh;margin:0 8px;border-radius:22px}.wau-co{left:12px;bottom:44px;max-width:calc(100% - 24px)}.wau-co .co{font-size:15px}}
.ty{min-height:70svh;display:flex;align-items:center}
.ty-g{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:center}
.ty .display{margin:10px 0 16px}.ty .lead{margin-bottom:24px}.ty .links{margin-top:24px}
.qr-b{display:grid;justify-items:center;gap:12px;padding:20px;border-radius:24px;background:var(--card-2);text-align:center;max-width:280px}
.qr-b img{width:180px;height:180px;background:var(--fg);border-radius:16px;padding:8px}
.legal{max-width:820px}.legal .h1{margin-bottom:20px}.legal h2{margin:28px 0 8px}.legal p{color:var(--fg-2)}
@media (max-width:1023px){.ty-g{grid-template-columns:1fr}
  .tbl{min-width:0}.tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl td,.tbl tbody th{display:block}
  .tbl tr{padding:14px 0;border-bottom:1px solid var(--line)}.tbl td,.tbl tbody th{border:0;padding:3px 0}
  .tbl td[data-l]:not([data-l=""])::before{content:attr(data-l) ": ";color:var(--fg-2);font-size:14px}}
/* карта ЖК (/zhk/): тёмная OpenStreetMap, жёлтые номера, справа список с улицами */
.pg:has(.zmap){max-width:1440px}
.pg-b:has(.zmap){max-width:none}
.zmap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:stretch}
.zm-map{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:#060607;box-shadow:inset 0 0 0 1px rgba(241,237,228,.1)}
.zm-map img{display:block;width:100%;height:auto}
.zm-map figcaption{position:absolute;right:8px;bottom:6px;font-size:11px;color:rgba(241,237,228,.75);background:rgba(6,6,7,.6);padding:2px 6px;border-radius:6px}
.zm-map figcaption a{color:inherit}
.zm-dot{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#F7A600;color:#060607;font:700 14px/1 var(--ff);text-decoration:none;box-shadow:0 0 0 4px rgba(247,166,0,.28),0 4px 14px rgba(6,6,7,.6);transition:transform 160ms var(--ease-out)}
.zm-dot:hover,.zm-dot:focus-visible{transform:scale(1.12)}
.zm-list{list-style:none;margin:0;padding:0 6px 0 0;display:grid;gap:6px;align-content:start;height:0;min-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(247,166,0,.5) transparent;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}
.zm-list a{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:16px;background:rgba(241,237,228,.05);color:var(--fg);text-decoration:none;transition:background-color 160ms}
.zm-list a:hover{background:rgba(247,166,0,.12)}
.zm-n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#F7A600;color:#060607;font-size:13px}
.zm-list span{display:grid;gap:2px}.zm-list span span{font-size:var(--fS);color:rgba(241,237,228,.8)}
@media (max-width:1023px){.zmap{grid-template-columns:1fr}.zm-dot{left:var(--mx);top:var(--my);width:24px;height:24px;margin:-12px 0 0 -12px;font-size:12px;box-shadow:0 0 0 3px rgba(247,166,0,.28),0 3px 10px rgba(6,6,7,.6)}.zm-list{height:auto;min-height:0;max-height:min(70vh,560px);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
/* дизайн-проекты: карточки на /raboty/ и страница проекта */
.pj-h{max-width:none}.pj-l{max-width:62ch;margin-top:12px}
.pj-cards{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pj-card{display:grid;border-radius:var(--r);overflow:hidden;background:var(--card);color:var(--fg);text-decoration:none;box-shadow:inset 0 0 0 1px rgba(241,237,228,.08);transition:transform 220ms var(--ease-out)}
.pj-card:hover{transform:translateY(-4px)}
.pj-card-f{position:relative;aspect-ratio:16/10;overflow:hidden}.pj-card-f picture,.pj-card-f img{display:block;width:100%;height:100%;object-fit:cover}
.pj-card-f .viz,.ph-v .fr .viz{position:absolute;left:12px;top:12px}
.pj-card-t{display:grid;gap:4px;padding:20px 24px 4px}.pj-card-t b{font-size:var(--fL);font-weight:650}.pj-card-t span{color:rgba(241,237,228,.82);font-size:var(--fS)}
.pj-card-go{padding:8px 24px 22px;color:var(--act);font-weight:600;font-size:var(--fS)}
.pj-g{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.pj-ph{position:relative;margin:0;border-radius:var(--r);overflow:hidden}.pj-ph img{display:block;width:100%;height:auto}
.pj-ph figcaption{position:absolute;left:12px;top:12px}
.pj-sheets{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.pj-sh{width:calc((100% - 48px) / 4)}   /* неполный ряд — по центру, без дыры справа */
.pj-sh a{display:grid;gap:10px;color:var(--fg);text-decoration:none}
.pj-sh-f{display:grid;place-items:center;aspect-ratio:3/4;padding:12px;border-radius:16px;background:#F1EDE4;overflow:hidden;transition:transform 200ms var(--ease-out)}
.pj-sh a:hover .pj-sh-f{transform:scale(1.02)}
.pj-sh-f img{max-width:100%;max-height:100%}
.pj-sh-t{font-size:var(--fS)}.pj-sh-t b{color:var(--act);margin-right:6px}
.pj-end-g{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:start}
.pj-others{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.pj-o{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:var(--card);color:var(--fg);text-decoration:none}.pj-o span{font-size:var(--fS);color:rgba(241,237,228,.82)}
.pj-o:hover{background:rgba(247,166,0,.12)}
@media (max-width:1023px){.pj-sh{width:calc((100% - 16px) / 2)}.pj-end-g{grid-template-columns:1fr}}
@media (max-width:767px){.pj-cards,.pj-g{grid-template-columns:1fr}.pj-sheets{gap:10px}.pj-sh{width:calc((100% - 10px) / 2)}}
/* альбом листов: просмотр крупно на странице, стрелки и клавиши ← → */
.alb{position:fixed;inset:0;z-index:80;margin:0;padding:0;width:100%;max-width:none;height:100%;max-height:none;border:0;background:rgba(6,6,7,.94);color:var(--fg)}
.alb[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.alb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--pad)}
.alb-t{font-size:var(--fT)}.alb-t b{color:var(--act);margin-right:8px}
.alb-x,.alb-nav{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(241,237,228,.1);color:var(--fg);font-size:22px;cursor:pointer}
.alb-x:hover,.alb-nav:hover{background:rgba(247,166,0,.25)}
.alb-st{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:stretch;gap:12px;padding:0 var(--pad) 24px;min-height:0}.alb-nav{align-self:center}
.alb-f{min-height:0;display:grid;place-items:center;overflow:auto;border-radius:16px;background:#F1EDE4}
.alb-f{position:relative}.alb-f img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;cursor:zoom-in}
.alb-f.zoom{display:block}.alb-f.zoom img{position:static;width:220%;height:auto;cursor:zoom-out}
@media (max-width:767px){.alb-st{grid-template-columns:1fr;padding-bottom:16px}.alb-nav{display:none}.alb-t span{display:block;font-size:var(--fS);color:rgba(241,237,228,.8)}}

/* блок «вау» без своего кадра: подписи списком с зелёными точками, ровной сеткой */
.wau-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.wau-list>li{flex:0 0 calc((100% - (var(--c,3) - 1) * 12px) / var(--c,3))}   /* ровные ряды по числу карточек: 6 → 3+3, 4 → 2+2, неполный ряд по центру */
@media (max-width:767px){.wau-list>li{flex-basis:100%}}
.co-t{position:relative;padding:16px 18px 16px 42px;border-radius:16px;background:var(--card);font-size:var(--fT);line-height:1.4}
.co-t::before{content:"";position:absolute;left:18px;top:23px;width:10px;height:10px;border-radius:50%;background:var(--ok)}
/* ровные ряды: подписи на кадре и галерея проекта — неполный ряд по центру (27.10) */
.wau-co{justify-content:center}
.pj-g{display:flex;flex-wrap:wrap;justify-content:center}
.pj-g>.pj-ph{flex:0 0 calc((100% - 16px) / 2)}
@media (max-width:767px){.pj-g>.pj-ph{flex-basis:100%}}
