:root{--bg-0:#F6F5F2;--bg-1:#FFFFFF;--bg-2:#EDEBE5;--line:#E0DED7;--ink-1:#212325;--ink-2:#4C5155;--ink-3:#878D91;--dark-0:#232323;--dark-1:#2D2D2D;--dark-line:#3C3C3C;--dark-ink-1:#F4F3EF;--dark-ink-2:#B7BABC;--lime:#C9DF01;--lime-ink:#1F2200;--lime-deep:#7F8C00;--f-head:"Montserrat",Arial,sans-serif;--f-body:"Manrope",Arial,sans-serif;--f-num:"Manrope",system-ui,sans-serif;--r:4px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--measure:65ch}*{box-sizing:border-box}body{margin:0;background:var(--bg-0);color:var(--ink-1);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%}.hd{background:var(--dark-0);color:var(--dark-ink-1);padding:14px clamp(16px,4vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,3vw,40px)}.hd nav{display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,26px);font-size:16px;flex:1 1 320px}.hd nav a{color:var(--dark-ink-2);transition:color .2s}.hd nav a:hover{color:var(--dark-ink-1)}.hd .tel{color:var(--dark-ink-1);font-variant-numeric:tabular-nums;white-space:nowrap}.hd .right{display:flex;align-items:center;gap:12px;flex:0 0 auto}.ic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dark-line);border-radius:var(--r);color:var(--dark-ink-1)}.ic:hover{background:#f4f3ef0f}.ic span{width:20px;height:20px;background:currentColor;mask:var(--i) center/contain no-repeat;-webkit-mask:var(--i) center/contain no-repeat}.btn{display:inline-block;font-family:var(--f-head);font-weight:600;font-size:16px;padding:13px 22px;border-radius:var(--r);border:0;cursor:pointer;text-align:center}.btn.lime{background:var(--lime);color:var(--lime-ink)}.btn.lime:hover{filter:brightness(1.06)}.btn.ghost-dark{border:1px solid var(--dark-line);color:var(--dark-ink-1);background:transparent}.wrap{max-width:1280px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(16px,4vw,40px)}
/* 07.09.2026: колонка внутренних страниц была 900 при 1280 на главной, и шапка страницы
   выглядела зажатой (слово CEO: «какая узенькая, шкафы выглядят прям ущербно»).
   Расширять можно без вреда для чтения: мера абзаца и так ограничена 65 знаками ниже,
   а простор получают шапка страницы, снимки, сетки и таблицы. Списку меру добавили тем же
   правилом, иначе на широкой колонке строка списка растянулась бы через весь экран. */.wrap h1,.wrap h2{font-family:var(--f-head);letter-spacing:-.015em;text-wrap:balance}.wrap h1{font-weight:800;font-size:clamp(30px,4.6vw,52px);line-height:1.08;margin:0 0 18px}.wrap h1.pg{font-weight:800;font-size:clamp(30px,4.6vw,52px)}.wrap h2,.wrap h2.pg{font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.12;margin:0 0 18px}.wrap h3{font-family:var(--f-head);font-weight:600;font-size:clamp(20px,2.4vw,26px);margin:2.2em 0 .6em;letter-spacing:-.008em}.wrap h4{font-family:var(--f-head);font-weight:600;font-size:18.5px;margin:1.8em 0 .5em}.wrap p{margin:0 0 15px;max-width:65ch}.wrap p.first{font-size:clamp(18px,1.5vw,20px);color:var(--ink-2)}.wrap ul{margin:0 0 15px;padding-left:22px;max-width:62ch}.wrap li{margin-bottom:8px;max-width:65ch}.wrap b{font-weight:600}.pull{background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--lime);border-radius:var(--r);padding:20px 24px;margin:26px 0}.pull p{margin-bottom:10px}.pull p:last-child{margin-bottom:0}.lb{display:block;font-family:var(--f-head);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--lime-deep);margin-bottom:10px}.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:22px 0}.spec .sp{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.spec .k{font-size:13.5px;color:var(--ink-3);margin-bottom:5px}.spec .v{font-family:var(--f-num);font-size:15.5px;color:var(--ink-1)}.cta{background:var(--dark-0);color:var(--dark-ink-1);border-radius:var(--r);padding:26px 28px;margin:40px 0 0}.cta h4{font-family:var(--f-head);font-size:21px;margin:0 0 8px}.cta p{color:var(--dark-ink-2);margin:0}.ft{background:var(--dark-0);color:var(--dark-ink-2);padding:clamp(28px,4vw,56px) clamp(16px,4vw,56px);margin-top:64px}.ft .grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(20px,3vw,40px);font-size:16px}.ft a:hover{color:var(--dark-ink-1)}.ft .cap{font-family:var(--f-head);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}.ft .col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ft .socials{display:flex;gap:10px;flex-wrap:wrap}.ft .ic{color:var(--dark-ink-2)}.ft .ic:hover{color:var(--dark-ink-1)}.hero{background:var(--dark-0);color:var(--dark-ink-1);padding:clamp(32px,6vw,84px) clamp(16px,4vw,56px)}.hero .in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,4vw,56px);align-items:end}.eyebrow{font-family:var(--f-head);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0 0 18px}.hero h1{font-family:var(--f-head);font-weight:800;font-size:clamp(32px,5.2vw,62px);line-height:1.06;letter-spacing:-.02em;margin:0 0 20px;text-wrap:balance}.hero .sub{font-size:clamp(17px,1.4vw,20px);color:var(--dark-ink-2);margin:0 0 28px;max-width:52ch}.hero .ph{border:1px solid var(--dark-line);border-radius:var(--r);background:repeating-linear-gradient(135deg,var(--dark-1) 0 12px,#333 12px 24px);min-height:clamp(240px,32vw,380px);display:flex;align-items:flex-end;padding:16px}.hero .ph span{font-size:13px;color:var(--dark-ink-2);background:#232323cc;padding:6px 10px;border-radius:3px}.sec{padding:clamp(36px,5vw,76px) clamp(16px,4vw,56px)}.sec.tint{background:var(--bg-2)}.sec.dark{background:var(--dark-0);color:var(--dark-ink-1)}.sec .in{max-width:1280px;margin:0 auto}.sec-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:clamp(20px,3vw,36px)}.sec h2{font-family:var(--f-head);font-weight:700;font-size:clamp(24px,3vw,38px);letter-spacing:-.01em;margin:0}.sec-head p{font-size:16px;color:var(--ink-3);margin:0}.mats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.mat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px}.mat .ph{height:96px;border-radius:3px;background:repeating-linear-gradient(135deg,#e6e3dc 0 10px,#dad6cd 10px 20px);display:flex;align-items:flex-end;padding:8px;font-size:11.5px;color:var(--ink-2)}.mat h3{font-family:var(--f-head);font-size:19px;font-weight:600;margin:0}.mat .term{font-family:var(--f-num);font-weight:600;font-size:15px;color:var(--lime-deep);margin:0}.mat p{font-size:16px;color:var(--ink-2);margin:0;flex:1}.mat a{font-family:var(--f-head);font-weight:600;font-size:16px;border-bottom:2px solid var(--lime);align-self:flex-start;padding:2px 6px 2px 0}.mat a:hover{color:var(--lime-deep);border-color:var(--lime-deep)}.mat .soon{font-size:14px;color:var(--ink-3)}.steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.steps li{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;gap:16px}.steps .n{font-family:var(--f-num);font-size:15px;color:var(--lime-deep);flex:0 0 auto}.steps b{font-family:var(--f-head);font-size:17px;display:block;margin-bottom:6px}.steps span{font-size:16px;color:var(--ink-2)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.fact{background:var(--dark-1);border:1px solid var(--dark-line);border-radius:var(--r);padding:22px}.fact .big{font-family:var(--f-num);font-size:clamp(24px,2.4vw,32px);color:var(--lime);margin:0 0 10px}.fact p{font-size:16px;color:var(--dark-ink-2);margin:0}.split2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,56px)}.card-w{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3.5vw,44px)}.badge{display:flex;gap:18px;align-items:center;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-top:16px}.badge .ph{width:64px;height:64px;flex:0 0 auto;border-radius:3px;background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--ink-3);text-align:center}.form{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--ink-2)}.form input,.form textarea{font-family:var(--f-body);font-size:17px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-0);color:var(--ink-1)}.form .fine{font-size:14px;color:var(--ink-3);margin:0}.msgr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;color:var(--ink-2)}.msgr .ic{border-color:var(--line);color:var(--ink-2)}
.fig{margin:26px 0;max-width:65ch}.fig img,.fig video{display:block;width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2)}.fig figcaption{font-size:14px;color:var(--ink-3);margin-top:8px;line-height:1.45}.fig.vert{max-width:360px}.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:26px 0;max-width:65ch}.figs .fig,.figs .fig.vert{margin:0;max-width:none}.figs.wide{max-width:none}.hero .ph.has-media{padding:0;overflow:hidden;background:#000;aspect-ratio:16/9;min-height:0}.hero .ph.has-media video,.hero .ph.has-media img{display:block;width:100%;height:100%;object-fit:cover}.mat .ph.has-media{padding:0;overflow:hidden;background:var(--bg-2);height:150px}.mat .ph.has-media img{display:block;width:100%;height:100%;object-fit:cover}.hero-mat .ph-mat{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-2);min-height:clamp(240px,30vw,360px);position:relative}.hero-mat .ph-mat img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-mat .ph-mat span{position:absolute;left:16px;bottom:16px;font-size:13px;color:var(--ink-2);background:rgba(255,255,255,.85);padding:6px 10px;border-radius:4px}.figs.sq .fig img,.figs.sq .fig video{aspect-ratio:1/1;object-fit:cover}.mat .ph{height:150px}@media (min-width:1000px){.hero .in{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
/* спокойный премиум, 05.09: светлая шапка, фото первым экраном, салатовый только у кнопки */
.hd{background:var(--bg-1);color:var(--ink-1);border-bottom:1px solid var(--line)}.hd nav a{color:var(--ink-2)}.hd nav a:hover{color:var(--ink-1)}.hd .tel{color:var(--ink-1)}.ic{border-color:var(--line);color:var(--ink-1)}.ic:hover{background:var(--bg-2)}.ft .ic{border-color:var(--dark-line);color:var(--dark-ink-2)}.ft .ic:hover{color:var(--dark-ink-1)}
.hero2{background:var(--bg-0);padding:clamp(28px,5vw,72px) clamp(16px,4vw,56px) clamp(24px,4vw,56px)}.hero2 .in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px);align-items:center}@media (min-width:1000px){.hero2 .in{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}}.hero2 .eyebrow{color:var(--ink-3)}.hero2 h1{font-family:var(--f-head);font-weight:700;font-size:clamp(30px,3.7vw,48px);line-height:1.08;letter-spacing:-.018em;margin:0 0 18px;text-wrap:balance}.hero2 .sub{font-size:clamp(17px,1.4vw,19px);color:var(--ink-2);margin:0 0 26px;max-width:46ch}.hero2 .acts{display:flex;flex-wrap:wrap;gap:12px}.hero2 .pic{margin:0}.hero2 .pic img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}.hero2 .pic figcaption{font-size:13.5px;color:var(--ink-3);margin-top:10px}
.btn.ghost{border:1px solid var(--line);color:var(--ink-1);background:transparent}.btn.ghost:hover{background:var(--bg-2)}
.pgrid{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width:760px){.pgrid{grid-template-columns:repeat(3,1fr)}.pj.wide{grid-column:span 2}.pj.tall{grid-row:span 2}}.pj{margin:0;display:flex;flex-direction:column}.pj img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--r);aspect-ratio:4/3;flex:1}.pj.wide img{aspect-ratio:16/10}.pj.tall img{aspect-ratio:3/4}@media (min-width:760px){.pj.tall img{aspect-ratio:auto}}.pj figcaption{padding:10px 2px 0;font-size:15px;color:var(--ink-2)}.pj figcaption b{display:block;font-family:var(--f-head);font-weight:600;font-size:16px;color:var(--ink-1);margin-bottom:2px}
.sec{padding:clamp(44px,6.5vw,92px) clamp(16px,4vw,56px)}.sec h2{font-weight:600;letter-spacing:-.014em}.wrap h1,.wrap h1.pg{font-weight:700}.eyebrow{color:var(--ink-3)}
.mat .ph{background:var(--bg-2);color:var(--ink-3);font-size:12px}.mat .term{color:var(--ink-3);font-weight:500}.mat a{border-bottom:1px solid var(--line);font-weight:500}.mat a:hover{color:var(--ink-1);border-color:var(--ink-1)}.steps .n{color:var(--ink-3)}.fact .big{color:var(--dark-ink-1)}
.lnk{font-family:var(--f-head);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1px}.lnk:hover{border-color:var(--ink-1)}.hero2 .btn,.hero2 .btn.lime{font-size:17px;padding:15px 26px}

.hd .right{flex:1 1 auto;flex-wrap:wrap;min-width:0;justify-content:flex-end}@media (max-width:700px){.hd .right .btn{display:none}.hd{gap:10px 16px}}

.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;margin:12px 0 28px}.gal a{display:block;border-radius:var(--r);overflow:hidden;background:var(--bg-2)}.gal img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.gal a:hover img{transform:scale(1.02)}.gal a:focus-visible{outline:2px solid var(--lime-deep);outline-offset:2px}@media (prefers-reduced-motion:reduce){.gal img{transition:none}}

.wrap.wide{max-width:1280px}.wrap.wide h1.pg{max-width:20ch}.wrap.wide p.first,.wrap.wide p{max-width:68ch}
.pcs{display:grid;grid-template-columns:1fr;gap:28px 24px;margin:8px 0 40px}@media (min-width:760px){.pcs{grid-template-columns:1fr 1fr}}.pc{margin:0;display:flex;flex-direction:column;gap:8px}.pc img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}.pc h3{font-family:var(--f-head);font-weight:600;font-size:19px;margin:6px 0 0}.pc h3 a{border-bottom:1px solid var(--line)}.pc h3 a:hover{border-color:var(--ink-1)}.pc p{font-size:15.5px;color:var(--ink-2);margin:0;max-width:none}
.wrap.wide .gal{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-auto-flow:dense}@media (min-width:760px){.wrap.wide .gal a:first-child{grid-column:span 2;grid-row:span 2}}

.phero{margin:8px 0 36px}.phero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}
.room{margin:0 0 34px}.room-head{display:flex;align-items:baseline;gap:14px;margin:0 0 12px}.room-head h3{margin:0}.room-head .cnt{font-size:14px;color:var(--ink-3);flex:1}.carnav{display:flex;gap:6px}.carnav button{width:40px;height:40px;border:1px solid var(--line);background:var(--bg-1);color:var(--ink-1);border-radius:var(--r);font-size:24px;line-height:1;cursor:pointer}.carnav button:hover{background:var(--bg-2)}.carnav button:focus-visible{outline:2px solid var(--lime-deep);outline-offset:2px}
.car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;height:clamp(300px,46vw,620px);padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.car .slide{flex:0 0 auto;height:100%;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;background:var(--bg-2)}.car img{display:block;height:100%;width:auto}.car:focus-visible{outline:2px solid var(--lime-deep);outline-offset:4px}
@media (prefers-reduced-motion:reduce){.car{scroll-behavior:auto}}
.car img{max-width:none}

.hero-mat h1.pg{font-size:clamp(26px,3.3vw,42px);line-height:1.1}


/* 07.09.2026 (слово CEO: «кнопки не такие плоские, более премиальные и приятные при наведении»).
   Объём даём не толстой тенью, а тремя тонкими слоями: лёгкий градиент сверху вниз, светлая
   внутренняя грань по верхнему краю и мягкая тень под кнопкой. При наведении кнопка чуть
   поднимается и тень растёт, при нажатии садится обратно. Кому движение мешает, тому его нет. */
.btn{
  position:relative;
  transition:transform .16s cubic-bezier(.2,.6,.3,1), box-shadow .16s ease, background-color .16s ease, border-color .16s ease, filter .16s ease;
  will-change:transform;
}
.btn:focus-visible{outline:2px solid var(--lime-deep);outline-offset:3px}
.btn.lime{
  background-image:linear-gradient(180deg,#D6E92B 0%,var(--lime) 55%,#BCD001 100%);
  box-shadow:inset 0 1px 0 #ffffff8c, 0 1px 2px #1f220014, 0 3px 8px #1f220024;
}
.btn.lime:hover{
  filter:none;
  transform:translateY(-1.5px);
  box-shadow:inset 0 1px 0 #ffffffa6, 0 2px 4px #1f22001a, 0 8px 18px #1f22002e;
}
.btn.lime:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 4px #1f220033, 0 1px 2px #1f22001a;
  background-image:linear-gradient(180deg,#BCD001 0%,var(--lime) 100%);
}
.btn.ghost,.btn.ghost-dark{
  box-shadow:0 1px 2px #1f220010;
  background-color:transparent;
}
.btn.ghost:hover{
  transform:translateY(-1.5px);
  border-color:var(--ink-3);
  background-color:var(--bg-1);
  box-shadow:0 2px 4px #1f220014, 0 8px 16px #1f22001f;
}
.btn.ghost:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #1f22001a}
.btn.ghost-dark:hover{
  transform:translateY(-1.5px);
  border-color:var(--dark-ink-2);
  background-color:#f4f3ef14;
  box-shadow:0 6px 16px #00000047;
}
.btn.ghost-dark:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #0000004d}
/* тёмная кнопка «Прислать проект», она задана отдельным правилом на странице дизайнерам */
.btn.dark{
  background-image:linear-gradient(180deg,#34383B 0%,var(--dark-0) 60%,#191919 100%);
  box-shadow:inset 0 1px 0 #ffffff1f, 0 2px 5px #00000038, 0 8px 20px #00000030;
}
.btn.dark:hover{transform:translateY(-1.5px);box-shadow:inset 0 1px 0 #ffffff2e, 0 4px 10px #00000042, 0 14px 28px #0000003d}
.btn.dark:active{transform:translateY(1px);box-shadow:inset 0 2px 6px #00000059}
@media (prefers-reduced-motion:reduce){
  .btn,.btn:hover,.btn:active{transition:none;transform:none}
}

/* ── ССЫЛКИ В ТЕКСТЕ ВИДНЫ (07.09.2026, слово CEO «делай ссылки видимыми по всему сайту») ──
   Было: базовое a{text-decoration:none;color:inherit} снимало и подчёркивание, и цвет, поэтому
   ссылка в тексте выглядела как обычный текст. Проверено на живых страницах: «Практика»,
   «эмаль», «шпон» на странице дизайнерам ничем не отличались от соседних слов.
   Второй пласт беды: там, где черта всё же стояла (.mat a, .pc h3 a, оглавление), она была
   цвета #E0DED7. Это отношение к фону 1,23 к одному, то есть её физически не видно.
   Черта, а не подчёркивание: черта это уже язык сайта, и она не спорит с инлайновым
   text-decoration:underline у мелкого шрифта форм.
   Цвет --lime-deep (#7F8C00): единственный акцент файла, который проходит порог 3:1 и на светлом
   фоне (3,41), и на тёмном (4,23). Обычный --lime на светлом даёт 1,37, поэтому он оставлен
   только внутри тёмного блока .cta, где даёт 10,51.
   Цвет БУКВ не трогаем: --lime-deep как текст даёт 3,41 и не проходит порог 4,5 для текста. */

main.wrap:not(.wide) > p a:not(.btn):not(.ic),
main.wrap:not(.wide) > ul:not(.plain) > li > a:not(.btn):not(.ic),
a.lnk{
  border-bottom:1px solid var(--lime-deep);
  padding-bottom:1px;
  transition:border-bottom-color .15s ease;
}
main.wrap:not(.wide) > p a:not(.btn):not(.ic):hover,
main.wrap:not(.wide) > ul:not(.plain) > li > a:not(.btn):not(.ic):hover,
a.lnk:hover{ border-bottom-color:var(--ink-1) }
main.wrap:not(.wide) > p a:not(.btn):not(.ic):focus-visible,
main.wrap:not(.wide) > ul:not(.plain) > li > a:not(.btn):not(.ic):focus-visible,
a.lnk:focus-visible{ outline:2px solid var(--lime-deep); outline-offset:2px }

/* Тёмный блок «Хотите так же»: там тёмный лайм сел бы в фон, берём обычный. */
.cta p a:not(.btn):not(.ic){
  border-bottom:1px solid var(--lime);
  padding-bottom:1px;
  transition:border-bottom-color .15s ease;
}
.cta p a:not(.btn):not(.ic):hover{ border-bottom-color:var(--dark-ink-1) }
.cta p a:not(.btn):not(.ic):focus-visible{ outline:2px solid var(--lime); outline-offset:2px }

/* Ссылки, у которых черта уже была, но невидимая (#E0DED7 это 1,23 к фону):
   карточки материалов, названия проектов, ссылка в плашке про cookies. */
.mat a, .pc h3 a{ border-bottom-color:var(--lime-deep) }
.mat a:hover, .pc h3 a:hover{ border-bottom-color:var(--ink-1) }
#ck span a{ border-bottom:1px solid currentColor; padding-bottom:1px }

/* ── КОЛОНКА СТАТЬИ (07.09.2026) ──────────────────────────────────────────────
   Колонку страниц расширили с 900 до 1280, чтобы шапка страницы не выглядела зажатой
   рядом с главной. Но текст во всю эту ширину читать нельзя, а если оставить меру на
   каждом абзаце, блоки получают разную ширину и левый край статьи становится рваным.
   Поэтому мера задаётся один раз колонкой: текстовые блоки идут в 820 точках по центру,
   а шапка страницы, снимки, сетки и тёмный блок призыва занимают всю ширину. */
.wrap > p, .wrap > ul, .wrap > ol,
.wrap > h2, .wrap > h3, .wrap > h4,
.wrap > .pull, .wrap > .spec, .wrap > .tbl, .wrap > .toc{
  max-width:min(820px,100%);
  margin-left:auto;
  margin-right:auto;
}
