/* Shared appearance switch. Existing light styles remain the default. */
:root { color-scheme: light; }
.theme-toggle {
 display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;
 min-width:76px;min-height:44px;padding:6px;border:1px solid #e9e7ee;border-radius:24px;
 background:#fff;color:#625970;cursor:pointer;font:inherit;
}
.theme-toggle[hidden] { display:none!important; }
.theme-toggle svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8; }
.theme-toggle-track { display:flex;align-items:center;width:28px;height:17px;padding:3px;border-radius:20px;background:#f1ecfd; }
.theme-toggle-track::after { content:'';width:11px;height:11px;margin-left:auto;border-radius:50%;background:#7144e8; }
.theme-toggle[aria-checked=true] .theme-toggle-track::after { margin-left:0; }
.theme-toggle:focus-visible { outline:3px solid #9874ed;outline-offset:4px; }
.nav-actions { gap:12px; }
/* Make room for the new control before the desktop navigation gets crowded. */
@media(min-width:1101px) and (max-width:1280px) {
 .header .nav-row { position:relative;gap:16px; }
 .header .nav-actions { margin-left:auto; }
 .header .menu-toggle { display:flex;align-items:center;gap:7px;order:3;padding:10px 0;background:none;border:0;font-size:13px; }
 .header .menu-toggle>span { font-size:18px; }
 .header #main-nav { display:none;position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:10px;gap:0; }
 .header #main-nav.open { display:flex;flex-direction:column;align-items:stretch; }
 .header #main-nav a { padding:13px 15px;font-size:15px;border-radius:7px; }
}
@media(max-width:580px) {
 .theme-toggle { min-width:44px;width:44px;padding:6px; }
 .theme-toggle svg { display:none; }
 .header .nav-actions { gap:7px; }
 .header .nav-actions .button { font-size:10px;padding:9px 7px;gap:5px; }
 .header .menu-toggle { font-size:0;gap:0;min-width:24px; }
 .header .menu-toggle>span { font-size:20px; }
 .header .nav-row { flex-wrap:wrap;height:auto;min-height:66px;padding-block:10px; }
 .player-links { gap:12px; }
 .player-header { gap:12px;padding-inline:14px; }
}
@media(max-width:380px) {
 .header .nav-actions .button { font-size:10px;padding-inline:7px; }
 .header .menu-toggle { font-size:0;gap:0;min-width:24px; }
 .header .menu-toggle>span { font-size:20px; }
}
/* Screen only: printing continues to use the existing light print design. */
@media screen {
 html[data-theme=dark] {
  color-scheme:dark;--purple:#8051eb;--purple-dark:#a985ff;--purple-soft:#2b2241;
  --ink:#f3f1f8;--muted:#b6b0c3;--border:#36323f;--gray:#19191f;
  --copy:#b6b0c3;--detail-copy:#b6b0c3;--line:#36323f;--surface:#19191f;--white:#202027;
  --success:#81dcb0;--shadow:0 20px 60px #00000024;
  --theme-bg:#101016;--theme-panel:#202027;--theme-accent:#b49aff;
 }
 html[data-theme=dark] body { background:var(--theme-bg);color:var(--ink); }
 html[data-theme=dark] .subpage { --detail-copy:#b6b0c3; }
 html[data-theme=dark] :is(.header,.player-header) { background:#101016f5;border-color:var(--border); }
 html[data-theme=dark] :is(.header nav,.player-header .brand,.menu-toggle) { color:var(--ink); }
 html[data-theme=dark] .header #main-nav { background:var(--theme-bg);border-color:var(--border); }
 html[data-theme=dark] .theme-toggle { background:var(--theme-panel);border-color:var(--border);color:var(--theme-accent); }
 html[data-theme=dark] .theme-toggle-track { background:var(--purple-soft); }
 html[data-theme=dark] .theme-toggle-track::after { background:var(--theme-accent); }
 html[data-theme=dark] .hero { background:radial-gradient(ellipse at 50% 70%,#7144e825,transparent 70%),var(--theme-bg); }
 html[data-theme=dark] :is(h1 em,.sub-hero>h1 em,.deck-heading h2 em,.text-link,.eyebrow,.back-link:hover,.privacy-document a,.contact-consent a,.privacy-banner a,.privacy-banner summary) { color:var(--theme-accent); }
 html[data-theme=dark] :is(.pill,.avatar,.mini-pill,.access-badge,.integration-symbol,.side-nav b,.company>span:first-child,.panel-heading h3 span,.diagram-set>span,.diagram-root .diagram-node,.integration-hub .diagram-node,.integration-center,.badge,.slide-takeaway,.permission-yes) { background:var(--purple-soft);color:var(--theme-accent);border-color:var(--border); }
 html[data-theme=dark] .button-dark { background:var(--ink);border-color:var(--ink);color:var(--theme-bg); }
 html[data-theme=dark] :is(.button-white,.button-outline,.process-playback,.stage-playback button,.privacy-choice,.dialog-heading button) { background:var(--theme-panel);border-color:var(--border);color:var(--ink); }
 html[data-theme=dark] .button:hover { background:#7043d4;color:#fff; }
 html[data-theme=dark] :is(.button-white:hover,.button-outline:hover,.process-playback:hover,.stage-playback button:hover,.privacy-choice:hover) { background:var(--purple-soft);color:var(--ink); }
 html[data-theme=dark] .button-dark:hover { background:#ded5f3;color:#101016; }
 html[data-theme=dark] :is(.product-frame,.sidebar,.app-top,.order-panel,.feature-card,.mini-approval>div,.scenario-ui,.scenario-delivery .address,.scenario-documents>div,.access-map,.access-connections .icon-tile,.tags span,.capability-details article,.diagram-node,.section-index-bar .section-index a,.contact-form-card,.player-sidebar,.product-window,.deck-personas article,.comparison,.stage-steps button,.stage-detail,.history-panel,.integration-nodes article,.meeting-card,dialog) { background:var(--theme-panel);border-color:var(--border); }
 html[data-theme=dark] :is(.browser-strip,.order-view,.mini-catalog,.mini-approval,.mini-analytics,.scenario-ui>div,.control-section,.access-connections>div,.integration-card,.demo-card,.diagram,.sub-cta,.comparison .before,.device-surface,.comparison-labels,.table-note,.permissions thead,.product-window>.demo-label,.before-cell,.stage-preview,.sidebar-note,.export-note,.ch-promo) { background:var(--gray);border-color:var(--border); }
 html[data-theme=dark] :is(.delivery-panel,.comparison .after,.after-cell,.kit-banner,.stage-preview-icon,.form-notice,#contact-status:not(:empty)) { background:var(--purple-soft);border-color:var(--border);color:var(--ink); }
 html[data-theme=dark] :is(.product-drawing,.mini-catalog .product-drawing,.delivery-icon,.order-timeline li>span) { background:var(--gray);border-color:var(--border); }
 html[data-theme=dark] :is(.side-nav .active,.process-tabs button[aria-selected=true],.stage-steps button[aria-pressed=true],.topic-list button[aria-current=step],.header #main-nav a:hover,.section-index-bar .section-index a:hover) { background:var(--purple-soft);border-color:var(--theme-accent);color:var(--theme-accent); }
 html[data-theme=dark] .section-index-bar .section-index a[aria-current=location] { background:var(--purple);color:#fff;border-color:var(--purple); }
 html[data-theme=dark] :is(.process-tabs button,.topic-list button,.stage-steps button) { color:var(--muted); }
 html[data-theme=dark] :is(.process-tabs button:hover,.topic-list button:hover) { background:var(--purple-soft); }
 html[data-theme=dark] :is(.status,.badge.success) { background:#19362d;color:#81dcb0;border-color:#315848; }
 html[data-theme=dark] .status>span { background:#81dcb0; }
 html[data-theme=dark] .order-timeline .done>span { background:#19362d;color:#81dcb0;border-color:#315848; }
 html[data-theme=dark] .order-timeline .current>span { border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--purple-soft); }
 html[data-theme=dark] :is(.order-timeline li:not(:last-child):before,.connector,.diagram-branches:before,.diagram-branches>.diagram-node:before,.audit-trail li:not(:last-child):before,.integration-nodes:before) { background:var(--border); }
 html[data-theme=dark] :is(.product-row,.order-doc,.process-tabs,.demo-action,.demo-steps li>span,.sub-cta>small,.contact-steps li>span,.privacy-document section,.product-window,.mock-topbar,.order-item,.order-timeline,.persona-result,.comparison-row+.comparison-row,.catalog-product,.explain-list article>span,.panel-title,.permissions th,.permissions td,.security-note,.node-foot,.analytics-metrics,.analytics-metrics>div+div,.meeting-card li>span,.privacy-banner) { border-color:var(--border); }
 html[data-theme=dark] :is(.hero-benefits,.browser-strip,.company small,.company>span:last-child,.side-label,.side-nav>span,.side-bottom,.profile small,.app-top,.crumb,.order-heading p,.order-heading>div>span,.panel-heading>span,.product-name small,.quantity,.order-total,.order-total small,.delivery-panel p,.delivery-panel div>span,.order-timeline strong,.order-timeline small,.order-doc,.order-doc small,.data-note,.context-strip>p,.context-strip>div,.context-strip>a,.mini-label,.mini-approval small,.chart-period,.chart-period>span,.chart-axis,.comparison-label,.comparison p,.step-number,.scenario-copy li,.preview-note,.address small,.delivery-track,.scenario-documents small,.persona-card>div>span:last-child,.access-person small,.access-connections small,.access-foot,.tags span,.configuration-note,.demo-steps p,.demo-action small,.footer p,.footer nav,.footer>span,.back-link,.section-index a,.section-index a>span,.diagram figcaption,.diagram-node small,.diagram-note,.direction,.flow-number,.security-flow li>span,.sub-cta>small) { color:var(--muted); }
 html[data-theme=dark] :is(.side-bottom strong,.order-total strong,.delivery-panel strong,.order-timeline .done strong,.order-timeline .current strong,.address strong,.privacy-document strong) { color:var(--ink); }
 html[data-theme=dark] :is(.after .comparison-label,.delivery-track .selected,.diagram-set,.diagram-set b,.icon-tile,.icon-square) { color:var(--theme-accent); }
 html[data-theme=dark] .feature-card>.icon-tile { color:#fff; }
 html[data-theme=dark] .mid-contact-section { background:var(--theme-bg); }
 html[data-theme=dark] .contact-cta { background:#281d3e;border-color:#463257; }
 html[data-theme=dark] .contact-cta-button { color:#492476;background:#fff; }
 html[data-theme=dark] .ch-promo-tag { background:var(--theme-panel);color:var(--muted);border-color:var(--border); }
 html[data-theme=dark] :is(.ch-promo-eyebrow,.ch-promo-description,.ch-promo-benefits li,.ch-promo-media figcaption) { color:var(--muted); }
 /* Keep the partner's artwork intact and give its dark logo a light backing. */
 html[data-theme=dark] .ch-promo-brand img { background:#fff;border-radius:6px;padding:8px;box-sizing:content-box; }
 html[data-theme=dark] .ch-promo-link { background:var(--theme-panel);border-color:var(--border); }
 html[data-theme=dark] :is(.contact-steps p,.required-note,.field label,.field label>span,.form-submit>span,.direct-contact,.contact-consent label,.contact-consent p,.privacy-document p,.privacy-document li,.privacy-banner p,.privacy-option,.privacy-option small,.player-legal) { color:var(--muted); }
 html[data-theme=dark] :is(.field input,.field select,.field textarea) { background:var(--theme-bg);color:var(--ink);border-color:#62586e; }
 html[data-theme=dark] :is(.field input::placeholder,.field textarea::placeholder) { color:#a9a0b6; }
 html[data-theme=dark] #contact-status.error { background:#3c202a;color:#ffb3bf;border-color:#80505c; }
 html[data-theme=dark] #contact-status.success { background:#19362d;color:#81dcb0;border-color:#315848; }
 html[data-theme=dark] .privacy-banner { background:var(--theme-panel);color:var(--ink); }
 html[data-theme=dark] :is(.privacy-choice-primary,.privacy-dismiss) { background:#7144e8;color:#fff; }
 html[data-theme=dark] :is(.player-label span,.player-sidebar>.eyebrow,.topic-list button>span,.scope-note,.demo-label,.mock-topbar-right,.mock-caption,.slide-takeaway>span,.slide-takeaway p,.order-title small,.order-item p,.order-item span,.order-metadata span,.order-timeline li,.attached-file,.persona-answer,.persona-result,.comparison-labels,.before-cell,.after-cell,.compare-arrow,.catalog-search,.catalog-product>span,.catalog-product>small,.kit-banner p,.explain-list article>span,.stage-result,.stage-preview>p,.panel-title,.permissions thead,.permissions th:first-child,.permission-no,.table-note,.audit-trail p,.audit-trail li>span:last-child,.security-note p,.integration-center div>span,.transfer-label,.node-foot,.integration-nodes details,.integration-nodes details p,.analytics-metrics span,.bar-value,.bar-month,.spend-row>div:first-child,.export-note,.meeting-card p,.meeting-card li>span,.progress-area p,.progress-area small,.mobile-toolbar button span,.mobile-toolbar>span) { color:var(--muted); }
 html[data-theme=dark] :is(.mock-topbar,.order-metadata strong,.persona-question,.comparison-row>strong,.stage-preview figcaption,.audit-trail strong,.security-note strong,.analytics-metrics strong,.analytics-grid h3,.meeting-card strong) { color:var(--ink); }
 html[data-theme=dark] :is(.stage-steps button+button:before,.spend-track,.progress-track) { background:var(--border); }
 html[data-theme=dark] .chart-bars:before { background:repeating-linear-gradient(to top,var(--border) 0 1px,transparent 1px 50%); }
 html[data-theme=dark] .order-timeline .done { color:#81dcb0; }
 html[data-theme=dark] .order-timeline .current { color:var(--theme-accent); }
 html[data-theme=dark] .skip { background:var(--theme-panel);color:var(--theme-accent); }
 @media(max-width:580px) { html[data-theme=dark] .process-tabs button { background:var(--theme-panel); } html[data-theme=dark] .process-tabs button[aria-selected=true] { background:var(--purple-soft); } }
}
@media print { .theme-toggle { display:none!important; } }
