/* ==========================================================================
   АО «НЕКСУС» — nexus.ru
   Фирменный стиль: белый #ffffff, красный #dd0c28 (Pantone 185C), чёрный #000
   Графический мотив — параллельные штрихи из знака N.
   ========================================================================== */

/* --- Шрифты (self-hosted, latin + cyrillic) --- */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(../fonts/manrope-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(../fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(../fonts/unbounded-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(../fonts/unbounded-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* --- Темы --- */
/* classic — исходная айдентика: белое поле, чёрные блоки, красный акцент
   light   — 2026: Pantone 11-4201 Cloud Dancer + зелёная шкала                */
:root{
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --disp:'Unbounded','Manrope',system-ui,sans-serif;
  --t-xs:0.8125rem; --t-sm:0.9375rem; --t-base:1.0625rem; --t-md:1.3125rem;
  --t-lg:1.625rem;  --t-xl:2.0625rem; --t-2xl:2.625rem;  --t-3xl:3.3125rem;
  --gut:clamp(20px,5vw,64px);
  --maxw:1240px;
  --rule:2px;
  --brand-red:#dd0c28;           /* цвет знака из брендбука, не UI-акцент */
}

/* ---- Тема pantone (по умолчанию) ----
   Светлая воздушная шкала: плашки — бледно-мятные со ТЁМНЫМ текстом,
   насыщенный зелёный работает только как акцент и как один якорный блок внизу.
   Все пары проверены по WCAG 2.1 (текст ≥4.5:1, графика ≥3:1).            */
:root,
html[data-theme="light"]{
  --page-bg:#FAFBF9;             /* основное поле, почти белое */
  --page-fg:#17251D;             /* 15.3:1 на поле */
  --muted-fg:#53635A;            /* 6.1:1 */
  --faint-fg:#596860;            /* 5.5:1 */
  --soft-bg:#F0F4EF;             /* чередующиеся секции */
  --raise-bg:#FFFFFF;
  --band-bg:#E4EDE7;             /* шапка, герой, «тёмные» секции */
  --band-fg:#17251D;             /* 13.3:1 на плашке */
  --band-muted:rgba(23,37,29,.80);   /* 7.4:1 */
  --band-faint:rgba(23,37,29,.66);   /* 4.8:1 */
  --band-line:rgba(23,37,29,.14);
  --line:#DDE3DC;
  --line-strong:#2E6B4F;
  --accent:#2E6B4F;              /* 6.1:1 на поле; белым по нему 6.3:1 */
  --accent-fg:#FFFFFF;
  --accent-hover:#1F4F3A;        /* белым по нему 9.4:1 */
  --accent-soft:#DFEDE4;
  --mark:#3F8A66;                /* штрихи-мотив, 4.0:1 как графика */
  --mark-band:#2E6B4F;
  --sage:#9CB5A3;
  --field-bg:#FFFFFF;
  --field-line:#8A968C;          /* рамка контрола, 3.1:1 к белому */
  --r-sm:8px;
  --r-md:14px;
  --cta-bg:#2E6B4F;              /* единственный насыщенный блок */
  --cta-fg:#FFFFFF;
  --band-cta-bg:#2E6B4F;
  --band-cta-fg:#FFFFFF;
  --band-cta-hover:#1F4F3A;
  --hero-mark-op:.09;
}

/* ---- Тема classic (исходная) ---- */
html[data-theme="classic"]{
  --page-bg:#ffffff;
  --page-fg:#000000;
  --muted-fg:#666666;
  --faint-fg:#9a9a9a;
  --soft-bg:#f5f5f5;
  --raise-bg:#ffffff;
  --band-bg:#000000;
  --band-fg:#ffffff;
  --band-muted:rgba(255,255,255,.76);
  --band-faint:rgba(255,255,255,.5);
  --band-line:rgba(255,255,255,.18);
  --line:#d6d6d6;
  --line-strong:#000000;
  --accent:#dd0c28;
  --accent-fg:#ffffff;
  --accent-hover:#a80a1f;
  --accent-soft:#f6e3e6;
  --mark:#dd0c28;
  --mark-band:#dd0c28;
  --sage:#dd0c28;
  --field-bg:#ffffff;
  --field-line:#d6d6d6;
  --r-sm:3px;
  --r-md:3px;
  --cta-bg:#dd0c28;
  --cta-fg:#ffffff;
  --band-cta-bg:#dd0c28;
  --band-cta-fg:#ffffff;
  --band-cta-hover:#a80a1f;
  --hero-mark-op:.17;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--page-bg);color:var(--page-fg);
  transition:background-color .35s ease,color .35s ease;
  font-family:var(--sans);font-size:var(--t-base);line-height:1.6;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

::selection{background:var(--accent);color:var(--accent-fg)}

:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}
:where(.on-dark) :focus-visible{outline-color:#fff}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);color:var(--accent-fg);
  padding:12px 20px;font-weight:700;text-decoration:none}
.skip:focus{left:0}

/* --- Мотив: параллельные штрихи знака --- */
.strokes{display:flex;gap:7px;margin-bottom:18px}
.strokes i{display:block;width:var(--rule);height:34px;background:var(--mark)}
.strokes i:nth-child(2){height:26px}
.strokes i:nth-child(3){height:18px}
.strokes i:nth-child(4){height:10px}

/* --- Кнопки --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:700;font-size:var(--t-sm);white-space:nowrap;
  padding:15px 28px;border:var(--rule) solid transparent;border-radius:var(--r-md);
  text-decoration:none;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn-red{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn-red:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-ink{background:var(--page-fg);color:var(--page-bg);border-color:var(--page-fg)}
.btn-ink:hover{background:var(--accent);border-color:var(--accent)}
.btn-line{background:transparent;color:var(--page-fg);border-color:var(--line)}
.btn-line:hover{border-color:var(--page-fg);background:var(--accent-soft)}
.on-dark .btn-line{color:var(--band-fg);border-color:var(--band-line)}
.on-dark .btn-line:hover{border-color:var(--band-fg);background:rgba(255,255,255,.10)}

/* --- Шапка --- */
.hdr{position:sticky;top:0;z-index:60;background:var(--band-bg);border-bottom:1px solid var(--band-line)}
.hdr-in{display:flex;align-items:center;gap:18px;height:76px;min-width:0}
.hdr-logo{flex:0 0 auto;display:block}
.hdr-logo img{height:34px;width:auto}
.nav{margin-left:auto;display:flex;gap:4px}
.nav a{
  display:block;padding:9px 14px;color:var(--band-muted);text-decoration:none;
  font-size:var(--t-sm);font-weight:500;white-space:nowrap;border-radius:var(--r-sm);
  transition:color .18s ease,background-color .18s ease;
}
.nav a:hover{color:var(--band-fg);background:rgba(255,255,255,.10)}
.nav a[aria-current="true"]{color:var(--band-fg);box-shadow:inset 0 -2px 0 var(--mark-band)}
.hdr-cta{flex:0 0 auto}
.hdr-cta .btn{padding:12px 22px}
.burger{display:none;margin-left:auto;width:48px;height:48px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--band-line);border-radius:var(--r-sm);cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--band-fg);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--band-fg)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mnav{display:none;background:var(--band-bg);border-bottom:1px solid var(--band-line)}
.mnav.open{display:block}
.mnav a{display:block;padding:15px var(--gut);color:var(--band-fg);text-decoration:none;font-weight:500;
  border-top:1px solid var(--band-line)}
.mnav .mnav-act{padding:20px var(--gut) 26px;border-top:1px solid var(--band-line)}
.mnav .btn{width:100%}

/* --- Секции --- */
.sec{padding:clamp(44px,5.8vw,84px) 0}
.sec-dark{background:var(--band-bg);color:var(--band-fg)}
.sec-soft{background:var(--soft-bg)}
.sec-head{margin-bottom:clamp(26px,3.2vw,42px)}
.sec-head h2{font-size:clamp(var(--t-xl),4.4vw,var(--t-2xl));max-width:17ch}
.sec-head p{margin-top:20px;color:var(--muted-fg);font-size:var(--t-md);line-height:1.5;max-width:46ch}
.sec-dark .sec-head p{color:var(--band-muted)}

/* --- Герой --- */
.hero{position:relative;background:var(--band-bg);color:var(--band-fg);overflow:hidden;
  padding:clamp(34px,4.6vw,62px) 0 clamp(44px,5.5vw,74px)}
.hero-mark{
  position:absolute;right:-7%;top:50%;transform:translateY(-50%);
  width:min(46vw,580px);aspect-ratio:177.3/218.74;
  opacity:var(--hero-mark-op);pointer-events:none;z-index:0;
  background-color:var(--mark-band);
  -webkit-mask:url(/assets/img/sign-red.svg) no-repeat center/contain;
          mask:url(/assets/img/sign-red.svg) no-repeat center/contain;
}
.hero-in{position:relative;z-index:1}
.hero h1{font-size:clamp(2.1rem,6.2vw,var(--t-3xl));font-weight:800;max-width:15ch}
.hero h1 em{font-style:normal;color:var(--mark-band)}
.hero-lead{margin-top:26px;max-width:62ch;font-size:clamp(var(--t-base),2.1vw,var(--t-md));
  line-height:1.56;color:var(--band-muted)}
.hero-act{margin-top:38px;display:flex;flex-wrap:wrap;gap:12px}
.facts{margin-top:clamp(34px,4.2vw,54px);border-top:1px solid var(--band-line);
  display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}
.facts div{padding:22px 20px 0 0}
.facts dt{font-size:var(--t-xs);color:var(--band-faint);font-weight:600}
.facts dd{margin:7px 0 0;font-family:var(--disp);font-size:var(--t-md);font-weight:600}

/* --- Строки-записи (вместо карточек) --- */
.rows{border-top:var(--rule) solid var(--line-strong)}
.sec-dark .rows{border-top-color:var(--band-line)}
.row{border-bottom:1px solid var(--line);padding:clamp(20px,2.6vw,30px) 0;
  display:grid;grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);gap:clamp(18px,3vw,56px);align-items:start}
.sec-dark .row{border-bottom-color:var(--band-line)}
.row-k{font-family:var(--disp);font-weight:600;font-size:var(--t-md);line-height:1.2;
  position:relative;padding-left:20px}
.row-k::before{content:"";position:absolute;left:0;top:.42em;width:var(--rule);height:1.05em;background:var(--mark)}
.row-t{color:var(--muted-fg);max-width:62ch}
.sec-dark .row-t{color:var(--band-muted)}
.row-meta{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:var(--t-sm);color:var(--faint-fg)}
.sec-dark .row-meta{color:var(--band-faint)}

/* --- Шаги (единственное место с нумерацией — это последовательность) --- */
.steps{counter-reset:s;border-top:var(--rule) solid var(--band-line)}
.step{counter-increment:s;border-bottom:1px solid var(--band-line);
  padding:clamp(20px,2.6vw,30px) 0;display:grid;
  grid-template-columns:4.5rem minmax(0,1fr);gap:clamp(14px,2.5vw,40px);align-items:start}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--disp);font-weight:700;
  font-size:var(--t-md);color:var(--mark-band);line-height:1.2}
.step h3{font-size:var(--t-md);font-weight:600}
.step p{margin-top:10px;color:var(--band-muted);max-width:60ch}

/* --- Таблица условий --- */
.terms{border-top:var(--rule) solid var(--line-strong)}
.terms div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:10px clamp(18px,3vw,48px);
  padding:19px 0;border-bottom:1px solid var(--line)}
.terms dt{color:var(--muted-fg);font-size:var(--t-sm);font-weight:600}
.terms dd{margin:0;font-family:var(--disp);font-weight:500;font-size:var(--t-base)}

/* --- Аккордеон --- */
.faq{border-top:var(--rule) solid var(--line-strong)}
.faq-i{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;gap:24px;align-items:flex-start;justify-content:space-between;
  padding:24px 0;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--disp);font-weight:600;font-size:var(--t-base);color:var(--page-fg);line-height:1.35}
.faq-q:hover{color:var(--accent)}
.faq-ic{flex:0 0 auto;width:18px;height:18px;position:relative;margin-top:.28em}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--accent);
  transition:transform .25s ease,opacity .25s ease}
.faq-ic::before{left:0;top:8px;width:18px;height:2px}
.faq-ic::after{left:8px;top:0;width:2px;height:18px}
.faq-i.open .faq-ic::after{transform:scaleY(0);opacity:0}
.faq-a{overflow:hidden;max-height:0;transition:max-height .32s ease}
.faq-a p{padding:0 46px 26px 0;color:var(--muted-fg);max-width:72ch}

/* --- Контакты и форма --- */
#about .about-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:start;margin-bottom:clamp(26px,3.2vw,42px)}
@media (max-width:1040px){#about .about-cols{grid-template-columns:1fr}}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,88px);align-items:start}
.ccard{border-top:var(--rule) solid var(--accent);padding-top:26px}
.ccard a{display:block;font-family:var(--disp);font-weight:600;font-size:var(--t-md);
  text-decoration:none;margin-bottom:6px}
.ccard a:hover{color:var(--accent)}
.ccard span{display:block;font-size:var(--t-sm);color:var(--muted-fg);margin-bottom:26px}

.field{margin-bottom:20px}
.field label{display:block;font-size:var(--t-sm);font-weight:600;margin-bottom:7px}
.field .req{color:var(--accent)}
.field input,.field textarea,.field select{
  width:100%;font:inherit;font-size:var(--t-base);color:var(--page-fg);background:var(--field-bg);
  padding:13px 15px;border:1px solid var(--field-line);border-radius:var(--r-sm);
  transition:border-color .18s ease,box-shadow .18s ease}
.field textarea{resize:vertical;min-height:132px;border-radius:var(--r-sm)}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field.bad input,.field.bad textarea{border-color:#C0392B}
.err{display:none;margin-top:7px;font-size:var(--t-xs);color:#C0392B;font-weight:600}
.field.bad .err{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.check{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}
.check input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}
.check span{font-size:var(--t-sm);color:var(--muted-fg);line-height:1.5}
.form-note{margin-top:16px;font-size:var(--t-xs);color:var(--muted-fg);max-width:56ch}
.form-ok{display:none;border:var(--rule) solid var(--accent);background:var(--raise-bg);border-radius:var(--r-md);padding:26px;margin-top:24px}
.form-ok.on{display:block}
.form-ok b{font-family:var(--disp);display:block;margin-bottom:8px}

/* --- Финальный призыв --- */
.cta{background:var(--cta-bg);color:var(--cta-fg);padding:clamp(38px,4.6vw,66px) 0}
.cta-in{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.cta h2{font-size:clamp(var(--t-lg),3.6vw,var(--t-xl));max-width:22ch}
.cta .btn{background:var(--cta-fg);color:var(--cta-bg);border-color:var(--cta-fg)}
.cta .btn:hover{background:transparent;color:var(--cta-fg);border-color:var(--cta-fg)}

/* --- Подвал --- */
.ftr{background:var(--page-bg);border-top:1px solid var(--line);padding:clamp(38px,4.6vw,58px) 0 32px}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(26px,3.4vw,46px);padding-bottom:32px}
.ftr-logo img{height:38px;width:auto;margin-bottom:20px}
.ftr p{color:var(--muted-fg);font-size:var(--t-sm);max-width:44ch}
.ftr h4{font-family:var(--disp);font-size:var(--t-sm);font-weight:600;margin-bottom:16px}
.ftr li{margin-bottom:9px}
.ftr li a{font-size:var(--t-sm);color:var(--muted-fg);text-decoration:none}
.ftr li a:hover{color:var(--accent)}
.ftr dl{margin:0}
.ftr dl div{display:flex;gap:10px;justify-content:space-between;padding:7px 0;
  border-bottom:1px solid var(--line);font-size:var(--t-sm)}
.ftr dl dt{color:var(--muted-fg)}
.ftr dl dd{margin:0;font-weight:600}
.ftr-btm{border-top:1px solid var(--line);padding-top:26px;
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
.ftr-btm small{font-size:var(--t-xs);color:var(--faint-fg);max-width:84ch;line-height:1.65}

/* --- Адаптив --- */
@media (max-width:1040px){
  .nav,.hdr-cta{display:none}
  .burger{display:flex}
  .cols{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .facts{grid-template-columns:1fr 1fr}
  .row{grid-template-columns:1fr;gap:12px}
  .terms div{grid-template-columns:1fr;gap:4px}
  .two{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr}
  .hero-mark{width:78vw;right:-26%;opacity:.1}
  .step{grid-template-columns:2.8rem minmax(0,1fr)}
}

/* --- Анимация: один оркестрованный момент на загрузке героя --- */
@media (prefers-reduced-motion:no-preference){
  .hero-in>*{animation:rise .62s cubic-bezier(.2,.75,.3,1) backwards}
  .hero-in>*:nth-child(1){animation-delay:.04s}
  .hero-in>*:nth-child(2){animation-delay:.1s}
  .hero-in>*:nth-child(3){animation-delay:.16s}
  .hero-in>*:nth-child(4){animation-delay:.22s}
  .hero-mark{animation:fade 1.1s ease .2s backwards}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes fade{from{opacity:0}to{opacity:var(--hero-mark-op)}}
}
@media print{.hdr,.mnav,.cta,.hero-mark{display:none}body{color:#000;background:#fff}}


/* --- Переключатель оформления --- */
.tsw{display:inline-flex;align-items:center;gap:0;flex:0 0 auto;
  border:1px solid var(--band-line);border-radius:999px;padding:3px;background:rgba(255,255,255,.06)}
.tsw button{
  appearance:none;border:0;cursor:pointer;background:transparent;
  font:inherit;font-size:var(--t-xs);font-weight:600;color:var(--band-muted);
  padding:6px 13px;border-radius:999px;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease}
.tsw button:hover{color:var(--band-fg)}
.tsw button[aria-pressed="true"]{background:var(--band-fg);color:var(--band-bg)}
.tsw-lbl{font-size:var(--t-xs);color:var(--band-faint);margin-right:10px;white-space:nowrap}
.hdr-tools{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}
.nav{margin-left:0;min-width:0;flex-wrap:nowrap}
.mnav-tsw{padding:18px var(--gut) 4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--band-line)}
@media (max-width:1460px){ .tsw-lbl{display:none} }
@media (max-width:1040px){ .hdr-tools{display:none} }


/* --- Логотип по темам --------------------------------------------------
   pantone: плашка светлая -> основная блокировка (тёмная + брендовый красный)
   classic: плашка чёрная  -> инверсная блокировка из брендбука            */
.hdr-logo img{display:block}
.hdr-logo .lg-main{display:block}
.hdr-logo .lg-invers{display:none}
html[data-theme="classic"] .hdr-logo .lg-main{display:none}
html[data-theme="classic"] .hdr-logo .lg-invers{display:block}


/* --- Первичная кнопка на тёмной плашке: своя пара цветов ради контраста --- */
.on-dark .btn-red{background:var(--band-cta-bg);color:var(--band-cta-fg);border-color:var(--band-cta-bg)}
.on-dark .btn-red:hover{background:var(--band-cta-hover);border-color:var(--band-cta-hover);color:var(--band-cta-fg)}
.hdr-tools .btn{padding:12px 20px}
@media (max-width:1620px){ .nav a{padding:9px 10px;font-size:var(--t-xs)} }
/* на узких десктопах шапку разгружаем: CTA остаётся в герое и в финальном блоке */
@media (max-width:1560px){ .hdr-tools .btn{display:none} }


/* --- Тема pantone: плашки светлые, поэтому белые полупрозрачные заливки
       и белая обводка фокуса из базовых правил здесь не работают --------- */
html[data-theme="light"] .nav a:hover{background:rgba(23,37,29,.07)}
html[data-theme="light"] .on-dark .btn-line:hover{background:rgba(23,37,29,.06)}
html[data-theme="light"] :where(.on-dark) :focus-visible{outline-color:var(--accent)}
html[data-theme="light"] .tsw{background:rgba(255,255,255,.60)}
html[data-theme="light"] .tsw button[aria-pressed="true"]{background:var(--accent);color:var(--accent-fg)}
html[data-theme="light"] .burger{background:rgba(255,255,255,.55)}
/* вторичная кнопка: на светлой плашке серая рамка даёт <3:1, поэтому обводка акцентом */
html[data-theme="light"] .btn-line{color:var(--accent);border-color:var(--accent)}
html[data-theme="light"] .btn-line:hover{background:var(--accent-soft);border-color:var(--accent-hover);color:var(--accent-hover)}
html[data-theme="light"] .on-dark .btn-line{color:var(--accent);border-color:var(--accent)}
html[data-theme="light"] .on-dark .btn-line:hover{background:var(--accent-soft);border-color:var(--accent-hover);color:var(--accent-hover)}
