/* The public theme follows the device until the visitor chooses a mode. */
.public-site .theme-toggle { display: inline-grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; padding: 0; border: 1px solid hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.2734) 84.5098%); border-radius: 50%; background: hsl(calc(var(--secondary-hue) + 1.3714) calc(var(--secondary-saturation) * 0.4032) 95.098%); color: var(--brand-secondary); transition: background .2s, border-color .2s; }
.public-site .theme-toggle[hidden] { display: none; }
.public-site .theme-toggle:hover { background: hsl(calc(var(--primary-hue) + -0.6747) calc(var(--primary-saturation) * 1) 83.7255%); border-color: hsl(calc(var(--primary-hue) + -3.4085) calc(var(--primary-saturation) * 0.6174) 54.902%); }
.theme-icon-sun { display: none; }
[data-bs-theme='dark'] .theme-icon-sun { display: block; }
[data-bs-theme='dark'] .theme-icon-moon { display: none; }
@media (max-width: 991px) {
    .public-site .navbar-brand { max-width: calc(100% - 116px); margin-right: 6px; }
    .public-site .navbar-toggler { padding: 8px; }
}

[data-bs-theme='light'] { color-scheme: light; }
[data-bs-theme='dark'] { color-scheme: dark; }
[data-bs-theme='dark'] .public-site {
    --ink: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); --muted: hsl(calc(var(--secondary-hue) + 6.1333) calc(var(--secondary-saturation) * 0.1906) 73.3333%); --paper: hsl(calc(var(--secondary-hue) + -17.2) calc(var(--secondary-saturation) * 0.2618) 12.9412%); --line: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%);
    --bs-body-color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); --bs-body-bg: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.2344) 8.4314%); --bs-border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%);
    --bs-secondary-color: hsl(calc(var(--secondary-hue) + 6.1333) calc(var(--secondary-saturation) * 0.1906) 73.3333%); --bs-heading-color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%);
    color: var(--ink); background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.2344) 8.4314%);
}
[data-bs-theme='dark'] .public-site main { background: radial-gradient(ellipse at 0 12%, hsl(calc(var(--secondary-hue) + 5.566) calc(var(--secondary-saturation) * 0.5785) 22.9412% / 0.1882), transparent 38%), radial-gradient(ellipse at 100% 65%, hsl(calc(var(--primary-hue) + -2.9859) calc(var(--primary-saturation) * 0.7553) 36.8627% / 0.0627), transparent 32%), hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.2344) 8.4314%); }
[data-bs-theme='dark'] .public-site main > section.section-space.section-tint { background: radial-gradient(ellipse at 95% 0, rgb(var(--primary-rgb) / 0.0314), transparent 50%), linear-gradient(135deg, hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.3055) 12.9412%), hsl(calc(var(--secondary-hue) + -33.8667) calc(var(--secondary-saturation) * 0.2356) 10.7843%)); border-color: #ffffff09; }
[data-bs-theme='dark'] .public-site .site-header { background: hsl(calc(var(--secondary-hue) + -18.1091) calc(var(--secondary-saturation) * 0.2779) 11.1765% / 0.9608); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); }
[data-bs-theme='dark'] .public-site .site-header.is-scrolled { box-shadow: 0 8px 28px #00000040; }
[data-bs-theme='dark'] .public-site .navbar-brand,
[data-bs-theme='dark'] .public-site .navbar .nav-link { color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); }
[data-bs-theme='dark'] .public-site .navbar .nav-link:hover,
[data-bs-theme='dark'] .public-site .dropdown-item:hover,
[data-bs-theme='dark'] .public-site .dropdown-item:focus { color: var(--brand-primary); background: hsl(calc(var(--secondary-hue) + -17.6348) calc(var(--secondary-saturation) * 0.3561) 18.2353%); }
[data-bs-theme='dark'] .public-site .navbar .nav-link.active { color: var(--brand-primary); }
[data-bs-theme='dark'] .public-site .dropdown-menu { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.2965) 13.3333%); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); box-shadow: 0 15px 40px #00000040; }
[data-bs-theme='dark'] .public-site .dropdown-item { color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); }
[data-bs-theme='dark'] .public-site .theme-toggle { color: var(--brand-primary); background: hsl(calc(var(--secondary-hue) + -17.6348) calc(var(--secondary-saturation) * 0.3561) 18.2353%); border-color: hsl(calc(var(--secondary-hue) + 5.1529) calc(var(--secondary-saturation) * 0.2914) 32.9412%); }
[data-bs-theme='dark'] .public-site .theme-toggle:hover { background: hsl(calc(var(--secondary-hue) + 9.1636) calc(var(--secondary-saturation) * 0.3684) 25.2941%); }
[data-bs-theme='dark'] .public-site :focus-visible { outline-color: var(--brand-primary) !important; }
[data-bs-theme='dark'] .public-site .eyebrow,
[data-bs-theme='dark'] .public-site .text-link { color: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); border-color: hsl(calc(var(--secondary-hue) + 8.2839) calc(var(--secondary-saturation) * 0.2313) 37.8431%); }
[data-bs-theme='dark'] .public-site .content-card { --card-accent: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); --card-tint: hsl(calc(var(--secondary-hue) + -17.7882) calc(var(--secondary-saturation) * 0.288) 16.6667%); background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); border-color: hsl(calc(var(--secondary-hue) + -15.0261) calc(var(--secondary-saturation) * 0.2783) 23.3333%); box-shadow: 0 12px 30px -16px #00000070; }
[data-bs-theme='dark'] .public-site .content-card:hover,
[data-bs-theme='dark'] .public-site .content-card:focus-within { border-color: hsl(calc(var(--secondary-hue) + 6.8) calc(var(--secondary-saturation) * 0.1728) 50.9804%); box-shadow: 0 24px 46px -20px #00000090; }
[data-bs-theme='dark'] .public-site .content-card .card-body { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); }
[data-bs-theme='dark'] .public-site .content-card .card-body > .eyebrow { background: hsl(calc(var(--secondary-hue) + -15.7714) calc(var(--secondary-saturation) * 0.3118) 19.0196%); color: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); border-color: hsl(calc(var(--secondary-hue) + -7.2) calc(var(--secondary-saturation) * 0.3009) 26.2745%); }
[data-bs-theme='dark'] .public-site .content-card .eyebrow .inline-icon { filter: invert(1); }
[data-bs-theme='dark'] .public-site .card-media { background: hsl(calc(var(--secondary-hue) + -22.2) calc(var(--secondary-saturation) * 0.313) 18.0392%); }
[data-bs-theme='dark'] .public-site .card-art { background: radial-gradient(circle at 75% 20%, rgb(var(--primary-rgb) / 0.102), transparent 45%), linear-gradient(135deg, hsl(calc(var(--secondary-hue) + -19.7) calc(var(--secondary-saturation) * 0.326) 20.7843%), hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.2965) 13.3333%)); }
[data-bs-theme='dark'] .public-site .card-art span { background: hsl(calc(var(--secondary-hue) + 18.5143) calc(var(--secondary-saturation) * 0.672) 94.1176%); border-color: #ffffff44; }
[data-bs-theme='dark'] .public-site .circuit-line { border-color: hsl(calc(var(--secondary-hue) + 5.5273) calc(var(--secondary-saturation) * 0.3993) 76.6667% / 0.2); }
/* White mats retain the original colours and readability of logos/documents. */
[data-bs-theme='dark'] .public-site .content-card[data-module='clients'] .card-media,
[data-bs-theme='dark'] .public-site .content-card[data-module='certifications'] .card-media { border-color: #ffffff22; }
[data-bs-theme='dark'] .public-site .content-card .card-action,
[data-bs-theme='dark'] .public-site .card-attribution { border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); }
[data-bs-theme='dark'] .public-site .card-meta,
[data-bs-theme='dark'] .public-site .prose { color: hsl(calc(var(--secondary-hue) + 6.1333) calc(var(--secondary-saturation) * 0.1906) 73.3333%); }
[data-bs-theme='dark'] .public-site .content-card[data-module='testimonials'] { border-top-color: var(--brand-primary); }
[data-bs-theme='dark'] .public-site .content-card[data-module='testimonials'] .card-body { background: radial-gradient(circle at 100% 0, rgb(var(--primary-rgb) / 0.0392), transparent 55%), hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); }
[data-bs-theme='dark'] .public-site .content-card blockquote { color: hsl(calc(var(--secondary-hue) + 6.1333) calc(var(--secondary-saturation) * 0.3323) 84.7059%); }
[data-bs-theme='dark'] .public-site .row > :nth-child(n) > .stat-card { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); }
[data-bs-theme='dark'] .public-site .row > :nth-child(n) > .stat-card strong { color: var(--brand-primary); }
[data-bs-theme='dark'] .public-site .row > :nth-child(even) > .stat-card { background: linear-gradient(145deg, hsl(calc(var(--secondary-hue) + 1.2211) calc(var(--secondary-saturation) * 0.8826) 18.2353%), hsl(calc(var(--secondary-hue) + 1.1333) calc(var(--secondary-saturation) * 0.96) 10.5882%)); }
[data-bs-theme='dark'] .public-site .page-heading { background: radial-gradient(ellipse at 100% 0, rgb(var(--primary-rgb) / 0.0706), transparent 55%), linear-gradient(125deg, hsl(calc(var(--secondary-hue) + -19.7) calc(var(--secondary-saturation) * 0.384) 17.6471%), hsl(calc(var(--secondary-hue) + -19.2) calc(var(--secondary-saturation) * 0.2483) 11.3725%)); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); }
[data-bs-theme='dark'] .public-site .page-heading h1 { color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); }
[data-bs-theme='dark'] .public-site .page-heading .eyebrow { color: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); }
[data-bs-theme='dark'] .public-site .form-panel,
[data-bs-theme='dark'] .public-site .aside-panel,
[data-bs-theme='dark'] .public-site .faq-list details { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); }
[data-bs-theme='dark'] .public-site .faq-list details[open] { background: hsl(calc(var(--secondary-hue) + -17.7882) calc(var(--secondary-saturation) * 0.288) 16.6667%); border-color: hsl(calc(var(--secondary-hue) + 6.8) calc(var(--secondary-saturation) * 0.1912) 44.3137%); }
[data-bs-theme='dark'] .public-site .faq-list summary { color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); }
[data-bs-theme='dark'] .public-site .form-control,
[data-bs-theme='dark'] .public-site .form-select { background-color: hsl(calc(var(--secondary-hue) + -25.2) calc(var(--secondary-saturation) * 0.288) 9.8039%); color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); border-color: hsl(calc(var(--secondary-hue) + 3.5143) calc(var(--secondary-saturation) * 0.24) 32.9412%); }
[data-bs-theme='dark'] .public-site .form-control::placeholder { color: hsl(calc(var(--secondary-hue) + 5.3) calc(var(--secondary-saturation) * 0.1986) 65.8824%); opacity: 1; }
[data-bs-theme='dark'] .public-site .form-control:focus,
[data-bs-theme='dark'] .public-site .form-select:focus { border-color: hsl(calc(var(--primary-hue) + -3.129) calc(var(--primary-saturation) * 0.6739) 63.9216%); box-shadow: 0 0 0 4px rgb(var(--primary-rgb) / 0.0824); }
[data-bs-theme='dark'] .public-site .contact-details dt { color: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); }
[data-bs-theme='dark'] .public-site .category-tabs a,
[data-bs-theme='dark'] .public-site .category-tabs span { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); color: hsl(calc(var(--secondary-hue) + 10.4471) calc(var(--secondary-saturation) * 0.4149) 88.4314%); border-color: hsl(calc(var(--secondary-hue) + 3.5143) calc(var(--secondary-saturation) * 0.24) 32.9412%); }
[data-bs-theme='dark'] .public-site .category-tabs a:hover { background: hsl(calc(var(--secondary-hue) + -12.6545) calc(var(--secondary-saturation) * 0.2989) 20.7843%); color: var(--brand-primary); }
[data-bs-theme='dark'] .public-site .specification-table { --bs-table-bg: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); --bs-table-color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); --bs-table-striped-bg: hsl(calc(var(--secondary-hue) + -17.7882) calc(var(--secondary-saturation) * 0.288) 16.6667%); border-color: hsl(calc(var(--secondary-hue) + -9.9273) calc(var(--secondary-saturation) * 0.2514) 24.7059%); }
[data-bs-theme='dark'] .public-site .specification-table thead th,
[data-bs-theme='dark'] .public-site .specification-table tbody tr:nth-child(even) > * { background: hsl(calc(var(--secondary-hue) + -17.7882) calc(var(--secondary-saturation) * 0.288) 16.6667%); color: hsl(calc(var(--secondary-hue) + 10.4471) calc(var(--secondary-saturation) * 0.4149) 88.4314%); }
[data-bs-theme='dark'] .public-site .empty-state { background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); }
[data-bs-theme='dark'] .public-site .page-link { color: hsl(calc(var(--primary-hue) + -4.0779) calc(var(--primary-saturation) * 0.8851) 65.8824%); background: hsl(calc(var(--secondary-hue) + -24.3429) calc(var(--secondary-saturation) * 0.288) 13.7255%); border-color: hsl(calc(var(--secondary-hue) + 3.5143) calc(var(--secondary-saturation) * 0.24) 32.9412%); }
[data-bs-theme='dark'] .public-site .active > .page-link { background: var(--brand-primary); border-color: var(--brand-primary); color: var(--brand-secondary); }
[data-bs-theme='dark'] .public-site .disabled > .page-link { color: hsl(calc(var(--secondary-hue) + 8.3556) calc(var(--secondary-saturation) * 0.1897) 59.8039%); }
[data-bs-theme='dark'] .public-site .btn-outline-dark { color: hsl(calc(var(--secondary-hue) + 4.8) calc(var(--secondary-saturation) * 0.45) 93.7255%); border-color: hsl(calc(var(--secondary-hue) + 5.925) calc(var(--secondary-saturation) * 0.1873) 51.7647%); }
[data-bs-theme='dark'] .public-site .btn-outline-dark:hover { background: hsl(calc(var(--secondary-hue) + -9.6) calc(var(--secondary-saturation) * 0.2927) 24.1176%); }
/* Gold panels and the image slider retain their intentional contrast. */
[data-bs-theme='dark'] .public-site .cta-panel h2,
[data-bs-theme='dark'] .public-site .cta-panel .eyebrow { color: var(--brand-secondary); }
[data-bs-theme='dark'] .public-site .topbar { color: var(--brand-secondary); }
[data-bs-theme='dark'] .public-site .skip-link { color: var(--brand-secondary); }
