:root{--p-bg:#f5f4ed;--p-surface:#fffef8;--p-text:#102721;--p-soft:#42594b;--p-muted:#59665e;--p-line:#d8ddd1;--p-accent:#c7ef79;--p-link:#426328;--p-on-accent:#102721;color-scheme:light}
:root[data-theme=dark]{--p-bg:#101b18;--p-surface:#1c2c24;--p-text:#e9eee6;--p-soft:#c2cfc1;--p-muted:#b0beb2;--p-line:#34493e;--p-link:#b6d991;color-scheme:dark}
html,body{background:var(--p-bg)!important;color:var(--p-text)!important;font-family:'Golos Text',Arial,sans-serif!important}
*{box-sizing:border-box}a{color:var(--p-link)}button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}input,select,textarea{color:var(--p-text);background:var(--p-surface)}input::placeholder,textarea::placeholder{color:var(--p-muted);opacity:1}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--p-link);outline-offset:4px}
h1,h2,h3{letter-spacing:-.035em}h1{line-height:1.12!important}button:not([role=switch]){border-radius:8px!important}
.pv-header{background:var(--p-bg);border-bottom:1px solid var(--p-line);color:var(--p-text);position:relative;z-index:60}
.pv-nav{max-width:1200px;margin:auto;display:flex;align-items:center;gap:20px;min-height:90px;padding:18px 24px}
.pv-brand{display:inline-flex;align-items:center;gap:8px;color:var(--p-text)!important;font-weight:800;font-size:21px;text-decoration:none;white-space:nowrap;letter-spacing:-.8px}
.pv-brand>span{background:#102721;color:#c7ef79;border-radius:8px;padding:5px 9px}.pv-links{display:flex;gap:22px;margin:auto;font-size:13px}.pv-links a{color:var(--p-text);text-decoration:none}
.pv-theme{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--p-surface);color:var(--p-text);border:1px solid var(--p-line);min-height:44px;padding:10px 13px;font-size:12px;white-space:nowrap;cursor:pointer}
.pv-cta{padding:12px 16px;border:1px solid var(--p-text);border-radius:8px;color:var(--p-text)!important;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none}.pv-mobile{display:none}
/* Runtime-компоненты используют свои переменные: сопоставление сохраняет состояния и рабочую логику. */
.sx{--bg:var(--p-bg);--card:var(--p-surface);--card2:var(--p-surface);--line:var(--p-line);--line2:var(--p-line);--tx:var(--p-text);--tx2:var(--p-soft);--mut:var(--p-muted);--mut2:var(--p-muted);--acc:var(--p-accent);--acc2:var(--p-accent);--good:var(--p-link)}
.ii-consent,.ii-consent--light{--ii-consent-fg:var(--p-muted)!important;--ii-consent-link:var(--p-link)!important}
h1.pv-crm-title{font-size:17px!important}
@media(max-width:900px){.pv-nav{gap:12px;min-height:76px}.pv-links{display:none}.pv-theme{margin-left:auto}.pv-mobile{display:block;border-top:1px solid var(--p-line);padding:10px 24px;font-size:12px}.pv-mobile summary{cursor:pointer;min-height:28px}.pv-mobile nav{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0}.pv-mobile a{color:var(--p-text)}}
@media(max-width:640px){.pv-nav{padding:14px 16px;gap:8px}.pv-brand{font-size:18px}.pv-theme{width:44px;flex-shrink:0;padding:8px}.pv-theme [data-theme-label]{display:none}.pv-cta{font-size:10px;padding:10px}.pv-mobile{padding:8px 16px}h1{font-size:clamp(30px,8vw,42px)!important}}
@media print{.pv-header{display:none!important}}
