/* Semantic colors for public pages. Dynamic palette values are loaded afterwards. */
:root{--surface:#fff;--footer-bg:#f9f9f7;--button-ink:#1c1b1b;--strong-bg:#1c1b1b;--strong-text:#fff;--recommended-bg:#064b36}
:root body{background:var(--paper);color:var(--ink)}
:root body .site-header,
:root body .dropdown-menu,
:root body .form-panel,
:root body .core-domain-grid article,
:root body .core-map-center,
:root body .solution-core,
:root body .art-building,
:root body .art-note,
:root body .sales-grid article,
:root body .cookie-notice,
:root body .cookie-actions button,
:root body .testimonial-controls button,
:root body .publication-tools input,
:root body .pdf-preview-heading{background-color:var(--surface);color:var(--ink);border-color:var(--line)}
:root body .solutions-section,
:root body .timeline-section,
:root body .product-features,
:root body .contact-section,
:root body .final-cta,
:root body .core-proof,
:root body .core-platform-grid>div,
:root body .core-transition,
:root body .sales-muted,
:root body .quote-demo,
:root body .quote-custom-note,
:root body .quote-maintenance-preview,
:root body .quote-price-light,
:root body .quote-email,
:root body .person-initials,
:root body .pdf-preview-shell{background-color:var(--warm);color:var(--ink);border-color:var(--line)}
:root body .site-footer{background:var(--footer-bg)}
:root body .footer-brand p,
:root body .footer-bottom-inner,
:root body .form-footnote,
:root body .contact-method span,
:root body .contact-address span,
:root body .hero-proof,
:root body .article-category,
:root body .article-meta,
:root body .article-date,
:root body .sales-hint,
:root body .sales-hero figcaption,
:root body .building-caption,
:root body .art-note small,
:root body .core-map-center>span,
:root body .reference-cards footer span{color:var(--muted)}
:root body .footer-top>div>a:not(.brand),
:root body .form-panel label,
:root body .contact-address p,
:root body .reference-cards blockquote p,
:root body .reference-grid blockquote p,
:root body .quote-intro>p:last-child,
:root body .quote-steps li,
:root body .quote-card small,
:root body .quote-note,
:root body .quote-summary dt,
:root body .quote-footer,
:root body .quote-price-light small,
:root body .quote-email-status{color:var(--ink-soft)}
:root body .experience-section,
:root body .press-teaser,
:root body .core-custom,
:root body .core-map,
:root body .product-metrics,
:root body .offer-architecture .offer-foundation,
:root body .offer-comparison-table thead th{background:var(--strong-bg);color:var(--strong-text);border-color:var(--line)}
:root body .experience-copy p,
:root body .experience-copy .text-link,
:root body .metric strong,
:root body .metric>span,
:root body .press-teaser .eyebrow,
:root body .press-feature p,
:root body .core-custom p,
:root body .core-map>p,
:root body .core-map-heading,
:root body .product-metrics-grid p,
:root body .offer-foundation span{color:var(--strong-text)}
:root body .offer-comparison{--offer-recommended-green:var(--recommended-bg);--offer-recommended-border:var(--line)}
:root body .offer-comparison-table thead th.offer-recommended,
:root body .offer-comparison-table tbody td.offer-recommended,
:root body .offer-comparison-table tfoot td.offer-recommended,
:root body .quote-price:not(.quote-price-light){background:var(--recommended-bg);color:var(--strong-text);border-color:var(--line)}
:root body .quote-price:not(.quote-price-light) small,
:root body .offer-comparison-table tfoot td.offer-recommended a:not(.offer-choice){color:var(--strong-text)}
:root body .offer-comparison-table thead th:not(.offer-recommended){color:var(--strong-text)}
:root body .offer-comparison-table tbody tr:nth-child(odd)>:not(.offer-recommended){background:var(--warm)}
:root body .offer-comparison-table tbody tr:nth-child(even)>:not(.offer-recommended),
:root body .offer-comparison-table caption,
:root body .offer-comparison-table tfoot th,
:root body .offer-comparison-table tfoot td:not(.offer-recommended){background:var(--paper)}
:root body .button-primary,
:root body .nav-contact,
:root body .cookie-actions .cookie-accept,
:root body .offer-comparison-table tfoot td a.offer-choice{background:var(--button-green);border-color:var(--button-green);color:var(--button-ink)}
:root body .nav-contact span{color:var(--button-ink)}
:root body .button-primary:hover,
:root body .nav-contact:hover,
:root body .cookie-actions .cookie-accept:hover,
:root body .offer-comparison-table tfoot td a.offer-choice:hover{background:var(--strong-bg);border-color:var(--strong-bg);color:var(--strong-text)}
:root body .nav-contact:hover span{color:var(--strong-text)}
:root body .button-outline{color:var(--strong-text);border-color:var(--strong-text)}
:root body .button-outline:hover{background:var(--strong-text);color:var(--strong-bg)}
:root body .form-panel input:not([type=checkbox]),
:root body .form-panel textarea,
:root body .form-panel select,
:root body .quote-card input:not([type=checkbox]):not([type=radio]),
:root body .quote-card select{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root body .form-panel input::placeholder,
:root body .form-panel textarea::placeholder,
:root body .quote-card input::placeholder{color:var(--muted);opacity:1}
:root body .footer-social a,
:root body .gallery-arrow,
:root body .client-carousel-controls button{background:var(--surface);color:var(--ink-soft);border-color:var(--line)}
:root body .client-logo,
:root body .award-logo,
:root body .gallery-stage,
:root body .gallery-thumbnail,
:root body .core-architecture a{background:#fff;color:#1c1b1b}
:root body .client-logo-link{color:#1c1b1b}
:root body .quote-card,
:root body .quote-header{background:var(--surface);border-color:var(--line)}
:root body.quote-body{background:var(--warm);color:var(--ink)}
:root body .quote-intro h1 em,
:root body .quote-steps [aria-current=step],
:root body .quote-card a:not(.button),
:root body .quote-text-button,
:root body .quote-maintenance-total,
:root body .sales-number,
:root body .sales-steps li::marker,
:root body .person-role{color:var(--orange-dark)}
:root body .quote-steps [aria-current=step],
:root body .quote-demo,
:root body .quote-option:has(input:checked){border-color:var(--orange-dark)}
:root body .quote-option:has(input:checked){background:var(--warm);box-shadow:inset 0 0 0 1px var(--orange-dark)}
:root body .quote-card input[type=checkbox],
:root body .quote-card input[type=radio]{accent-color:var(--orange-dark)}
:root body .quote-skip{background:var(--strong-bg);color:var(--strong-text)}
:root body .quote-validation,
:root body .contact-form-errors{background:#fff1ee;color:#882d1c}
:root body.maintenance-body{background:var(--paper);color:var(--ink)}
:root body.maintenance-body .access,
:root body.maintenance-body input{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root body.maintenance-body .lead,
:root body.maintenance-body .access>p:not(.eyebrow),
:root body.maintenance-body .hint,
:root body.maintenance-body footer{color:var(--ink-soft);border-color:var(--line)}
:root body.maintenance-body .eyebrow,
:root body.maintenance-body .dot{color:var(--orange-dark)}
:root body.maintenance-body .access-icon{background:var(--warm)}
:root body.maintenance-body .access-icon svg{stroke:var(--orange-dark)}
:root body.maintenance-body button{background:var(--button-green);color:var(--button-ink)}
:root body.maintenance-body button:hover{background:var(--strong-bg);color:var(--strong-text)}

:root body .trust-strip{background:var(--surface)}
:root body .reference-cards blockquote,:root body .reference-grid blockquote,:root body .article-feature{background:var(--warm);border-color:var(--line)}
:root body .chart-labels,:root body .trust-kicker,:root body .trust-logos span{color:var(--muted)}
:root body .utility-bar{background:var(--strong-bg);color:var(--strong-text)}
:root body .utility-inner a,:root body .utility-inner a span{color:var(--strong-text)}
:root body .cookie-notice fieldset,:root body .footer-bottom,:root body .quote-breakdown th,:root body .quote-breakdown td{border-color:var(--line)}

:root body .nav-links,:root body .mobile-nav-toggle,:root body .press-card,:root body .press-pdf-card,:root body .press-pdf-image{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root body .mobile-nav-toggle span{background:var(--ink)}
:root body .skip-link{background:var(--strong-bg);color:var(--strong-text)}

:root body.maintenance-body .validation{background:#fff1ee;color:#882d1c}

:root body{isolation:isolate;position:relative}.site-theme-background{display:none}
.theme-preview-notice{position:relative;z-index:12;display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;padding:16px 24px;background:#fff2c6;color:#342c13;border-bottom:2px solid #9b7510;font:16px/1.5 Akrobat,Arial,sans-serif}.theme-preview-notice a{color:#342c13;text-decoration:underline}.theme-preview-notice form{margin:0}.theme-preview-notice button{background:#342c13;color:#fff;border:0;border-radius:5px;padding:8px 14px;min-height:44px;font:inherit;cursor:pointer}.theme-preview-notice :focus-visible{outline:3px solid #342c13;outline-offset:3px}
