/* Public dark theme matches the existing panel midnight palette. Light stays untouched. */
html[data-public-site][data-theme=dark]{--bg:#1b2536;--bg-soft:#202d42;--bg-ice:#202d42;--card:#212b3d;--text:#f3f5f8;--muted:#aab7cb;--line:#35445c;--lg-bg:rgba(33,43,61,.82);--lg-bg-strong:rgba(38,52,74,.94);--nav-menu-bg:#24324a;--lg-border:rgba(170,194,228,.22);--lg-border-subtle:rgba(170,194,228,.12);--lg-shadow:0 12px 32px -12px #07122266,inset 0 1px 0 #ffffff0c}
html[data-public-site][data-theme=dark] body{background:#1b2536;color:var(--text)}
html[data-public-site][data-theme=dark] :is(.site-header,.mobile-header-bar){background:rgba(27,37,54,.96)!important;border-color:var(--line)!important}
html[data-public-site][data-theme=dark] :is(.site-footer,.footer-newsletter){background:#202d42;--bg-soft:#26344a}
html[data-public-site][data-theme=dark] :is(.visual-badge,.process-card,.certificate-request-note){background:rgba(38,52,74,.9);border-color:var(--line)}
html[data-public-site][data-theme=dark] :is(.field,.stack-form input,.stack-form select,.stack-form textarea,.newsletter-form input){background:#26344a;color:var(--text);border-color:var(--line)}
html[data-public-site][data-theme=dark] .hero-slider .slide::after{background:linear-gradient(180deg,#1b253622,#1b2536bb)}
html[data-public-site][data-theme=dark] :is(.btn-outline,.icon-btn.glass){background:#ffffff0b;border-color:var(--line);color:var(--text)}

/* Public controls use bounded sizing and whole-word captions in either theme. */
@media screen{html[data-public-site] :is(button,.btn,a.button){box-sizing:border-box;max-inline-size:100%;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.6}html[data-public-site] :is(input,select,textarea,fieldset){box-sizing:border-box;min-inline-size:0;max-inline-size:100%}html[data-public-site] :is(.form-grid,.contact-grid,.blog-grid,.cards-grid)>*{min-width:0}html[data-public-site] :is(.modal,.dialog,.search-panel){max-inline-size:calc(100vw - 24px)}html[data-public-site] :is(button,.btn,a.button):focus-visible{outline-offset:3px}}
