/* Shared palette tokens and page-wide dark treatment. Product screenshots and the
   fictional website concept keep their own light canvas so their content stays legible. */
:root {
  --theme-surface: #fff;
  --theme-surface-soft: #f4f9fc;
  --theme-border: #cedde8;
  --theme-link: #145d86;
  --theme-shadow: 0 20px 48px rgba(30,65,95,.1);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #0b1420;
  --ink-2: #101e2e;
  --ink-3: #182a3c;
  --text: #f1f6fb;
  --muted: #b9c8d7;
  --line: rgba(198,222,239,.18);
  --panel: rgba(20,34,50,.9);
  --shadow: 0 24px 60px rgba(0,7,16,.36);
  --theme-surface: #152638;
  --theme-surface-soft: #112132;
  --theme-border: #38536a;
  --theme-link: #91d7f5;
  --theme-shadow: 0 20px 48px rgba(0,7,16,.34);
  --action-bg: linear-gradient(135deg,#e13d5d,#a91a3e);
  --action-shadow: none;
  --nav-action-bg: #bc3453;
  --nav-action-hover: #a92948;
  --nav-action-border: #d45a74;
  --nav-action-hover-border: #c64b68;
}
.theme-switch { position:relative; display:inline-block; flex:none; width:82px; height:38px; padding:0; border:1px solid #426980; border-radius:999px; background:#294e66; cursor:pointer; vertical-align:middle; }
.theme-switch:hover { border-color:#2d88b1; box-shadow:0 0 0 3px rgba(52,149,190,.15); }
.theme-switch:focus-visible { outline:2px solid #176590; outline-offset:3px; }
.theme-switch-icon { position:absolute; z-index:2; top:9px; display:grid; place-items:center; width:18px; height:18px; pointer-events:none; }
.theme-switch-icon img { display:block; width:18px; height:18px; }
.theme-switch-sun { left:10px; }
.theme-switch-moon { right:10px; }
.theme-switch-thumb { position:absolute; top:3px; left:3px; width:30px; height:30px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,18,36,.28); transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.theme-switch[aria-checked="true"] .theme-switch-thumb { transform:translateX(44px); background:#e0f5ff; box-shadow:0 0 0 2px #83d4f5,0 0 15px rgba(93,199,244,.58); }
.theme-switch[aria-checked="true"] .theme-switch-moon img { filter:brightness(0); }
@media (max-width:760px) { .site-nav .theme-switch { margin:8px 12px; align-self:flex-start; } :root[data-theme="dark"] .site-header .site-nav { background:#122638; border-top:1px solid #3a586d; box-shadow:var(--theme-shadow); } :root[data-theme="dark"] .site-nav > a:not(.button), :root[data-theme="dark"] .site-nav .nav-menu { background:#1b3348; border-color:#3a586d; } }
:root[data-theme="dark"] .theme-switch { border-color:#81b6d2; background:#1a364a; }
:root[data-theme="dark"] .theme-switch-sun img { filter:brightness(0) invert(1); opacity:.8; }
:root[data-theme="dark"] body { background:radial-gradient(circle at 85% 5%,#183248,transparent 34rem),radial-gradient(circle at 10% 28%,#301b2c,transparent 28rem),#0b1420; color:var(--text); }
:root[data-theme="dark"] ::selection { background:#9c365b; color:#fff; }
:root[data-theme="dark"] :focus-visible { outline-color:#8cdbfa; }
:root[data-theme="dark"] .site-header { background:#101c2a; border-color:#294255; backdrop-filter:none; }
:root[data-theme="dark"] .site-header.is-scrolled { background:rgba(12,24,36,.82); border-color:#36536a; backdrop-filter:blur(18px) saturate(1.2); }
:root[data-theme="dark"] .site-header .brand span { color:#d9f0fd; background:linear-gradient(105deg,#d5efff,#86d7f3 46%,#ff9bb3); background-clip:text; -webkit-background-clip:text; }
:root[data-theme="dark"] .site-nav { background:transparent; }
:root[data-theme="dark"] .site-nav a,:root[data-theme="dark"] .site-nav .nav-menu summary { color:#d2e2ed; }
:root[data-theme="dark"] .site-nav a:hover,:root[data-theme="dark"] .site-nav a[aria-current="page"],:root[data-theme="dark"] .site-nav .nav-menu summary:hover,:root[data-theme="dark"] .site-nav .nav-menu[open] summary { color:#fff; background:#243d52; }
:root[data-theme="dark"] .site-nav .nav-dropdown { background:#162a3c; border-color:#3a586d; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .site-nav .nav-dropdown a:last-child { border-color:#3a586d; }
:root[data-theme="dark"] .nav-toggle { background:#20394e; color:#fff; border-color:#45647b; }
:root[data-theme="dark"] .button { background:#1d3449; color:#f1f7fc; border-color:#49677d; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .button:hover { background:#29465e; border-color:#86bed9; }
:root[data-theme="dark"] .button.primary { background:var(--action-bg); color:#fff; border-color:transparent; box-shadow:var(--action-shadow); }
:root[data-theme="dark"] .site-nav > .button.primary { background:var(--nav-action-bg); border-color:var(--nav-action-border); box-shadow:none; }
:root[data-theme="dark"] .site-nav > .button.primary:hover { background:var(--nav-action-hover); border-color:var(--nav-action-hover-border); }
:root[data-theme="dark"] .button.cyan { background:#193b53; color:#a7e7ff; border-color:#386e8d; }
:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .path-card .eyebrow { color:#91d7f5; }
:root[data-theme="dark"] .hero,:root[data-theme="dark"] .faq-hero { background:linear-gradient(115deg,#112438,#172b3f 60%,#2b1d2e); color:var(--text); }
:root[data-theme="dark"] .trace-hero { background:radial-gradient(circle at 82% 40%,#183d54,transparent 46%),linear-gradient(115deg,#0d1c2c,#13283b 58%,#241e31); }
:root[data-theme="dark"] .trace-hero::before { opacity:.42; }
:root[data-theme="dark"] .trace-hero::after { opacity:.22; }
:root[data-theme="dark"] .hero-shade { background:linear-gradient(90deg,rgba(8,18,29,.96),rgba(8,18,29,.76) 72%,rgba(8,18,29,.52)); }
:root[data-theme="dark"] .hero h1 em { background:linear-gradient(105deg,#fff,#9adffc 52%,#f393aa); background-clip:text; -webkit-background-clip:text; }
:root[data-theme="dark"] .section-rule { border-color:var(--line); }
:root[data-theme="dark"] body:not(.home-page) main#main > .section { background:linear-gradient(180deg,#0e1e2e,#102234 52%,#0e1e2e); }
:root[data-theme="dark"] body:not(.home-page) main#main > .section .button.cyan { background:#1b3449; color:#c6edff; border-color:#4c7390; }
:root[data-theme="dark"] body:not(.home-page) main#main > .section .button.cyan:hover { background:#29495f; border-color:#8bc7e5; }
:root[data-theme="dark"] body:not(.home-page) main#main > .section .feature-card { border-color:#365168; }
:root[data-theme="dark"] .service-directory a { background:#172e42; border-color:#41637a; color:#e6f2fa; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .service-directory a:hover { background:#24445b; border-color:#8bc7e5; }
:root[data-theme="dark"] .workflow-steps li::before,:root[data-theme="dark"] .workflow-steps strong { color:#dff3ff; }
:root[data-theme="dark"] .workflow-steps .workflow-card-body span { color:#b9cbd9; }
:root[data-theme="dark"] .interactive-card,:root[data-theme="dark"] .workflow-card { border-color:#40627a; background:linear-gradient(145deg,#1b3448,#12283b); box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .interactive-card:hover,:root[data-theme="dark"] .interactive-card[open],:root[data-theme="dark"] .workflow-card:hover,:root[data-theme="dark"] .workflow-card[open] { border-color:var(--card-accent); }
:root[data-theme="dark"] .interactive-card summary h3 { color:#edf7ff; }
:root[data-theme="dark"] .card-preview { color:#b9cbd9; }
:root[data-theme="dark"] .interactive-cue { border-color:#5b8199; background:#1b3c52; }
:root[data-theme="dark"] .path-card,:root[data-theme="dark"] .path-card.consumer,:root[data-theme="dark"] .service-card,:root[data-theme="dark"] .feature-card,:root[data-theme="dark"] .team-card,:root[data-theme="dark"] .product-shot,:root[data-theme="dark"] .quote-card,:root[data-theme="dark"] .price-card,:root[data-theme="dark"] .faq-item { background:linear-gradient(145deg,#1a2d40,#122438); border-color:#365168; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .path-card p,:root[data-theme="dark"] .service-card p,:root[data-theme="dark"] .feature-card p,:root[data-theme="dark"] .feature-card li,:root[data-theme="dark"] .team-card p,:root[data-theme="dark"] .detail-copy p { color:var(--muted); }
:root[data-theme="dark"] .path-card .path-link,:root[data-theme="dark"] .service-card .path-link,:root[data-theme="dark"] .team-card a,:root[data-theme="dark"] .faq-item a,:root[data-theme="dark"] .faq-help a { color:#9adffc; }
:root[data-theme="dark"] .service-icon,:root[data-theme="dark"] .signal-band { background:#203b50; color:#e2eff8; }
:root[data-theme="dark"] .capability-list li { color:#e2eff8; }
:root[data-theme="dark"] .team-avatar { background:linear-gradient(145deg,#224f68,#483042); }
:root[data-theme="dark"] .team-role,:root[data-theme="dark"] .service-number { color:#9adffc; }
:root[data-theme="dark"] .price-card strong,:root[data-theme="dark"] .price-card strong small,:root[data-theme="dark"] .quote-card blockquote { color:#f2f8fc; }
:root[data-theme="dark"] .product-shot figcaption,:root[data-theme="dark"] .price-card small,:root[data-theme="dark"] .proof-note { color:#bdd0df; }
:root[data-theme="dark"] .faq-search,:root[data-theme="dark"] .faq-cats button,:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea { background:#102335; border-color:#49667e; color:#eef7fc; }
:root[data-theme="dark"] .field select { color-scheme:dark; }
:root[data-theme="dark"] .faq-search::placeholder,:root[data-theme="dark"] .field input::placeholder,:root[data-theme="dark"] .field textarea::placeholder { color:#aec3d2; }
:root[data-theme="dark"] .faq-search-label,:root[data-theme="dark"] .field label,:root[data-theme="dark"] .field > span { color:#dcecf6; }
:root[data-theme="dark"] .faq-cats button[aria-pressed="true"] { background:#28769e; border-color:#68bde1; color:#fff; }
:root[data-theme="dark"] .contact-form,:root[data-theme="dark"] .contact-modal { background:#15283a; border-color:#39566c; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .contact-methods label,:root[data-theme="dark"] .icon-close { background:#20384d; border-color:#49677d; color:#f1f7fc; }
:root[data-theme="dark"] .contact-methods label:has(input:checked) { background:#2a4c63; border-color:#7cb8d8; }
:root[data-theme="dark"] .contact-links a { color:#d9eaf4; border-color:#39566c; }
:root[data-theme="dark"] .contact-links .contact-service-area { color:#d9eaf4; border-color:#39566c; }
:root[data-theme="dark"] .form-status[data-state="success"] { color:#86e6b9; }
:root[data-theme="dark"] .form-status[data-state="error"] { color:#ffa2b2; }
:root[data-theme="dark"] .cta-panel { background:linear-gradient(135deg,#331e2c,#152d41 58%,#163a50); border-color:#3b5a70; }
:root[data-theme="dark"] .site-footer { background:#0d1c2b; border-color:#284053; }
:root[data-theme="dark"] .footer-col a,:root[data-theme="dark"] .footer-brand p,:root[data-theme="dark"] .footer-bottom { color:#b9cad8; }
:root[data-theme="dark"] .footer-col a:hover { color:#fff; }
:root[data-theme="dark"] .footer-bottom,:root[data-theme="dark"] .footer-region { border-color:#365168; }
:root[data-theme="dark"] .home-showcase-hero { background:linear-gradient(180deg,transparent 68%,#102335),radial-gradient(circle at 80% 35%,#1b4258,transparent 35%),linear-gradient(112deg,#251a2b,#13283c 50%,#103149); }
:root[data-theme="dark"] .home-proof { background:linear-gradient(180deg,#102335,#11263a 75%,#0f2133); }
:root[data-theme="dark"] .home-capabilities { background:linear-gradient(180deg,#0f2133,#102538 75%,#102335); }
:root[data-theme="dark"] .home-pricing { background:linear-gradient(180deg,#102335,#102132 70%,#0d1c2b); }
:root[data-theme="dark"] .preview-tab { background:#1b3449; border-color:#43647d; color:#e9f5fc; }
:root[data-theme="dark"] .preview-tab:hover,:root[data-theme="dark"] .preview-tab[aria-selected="true"] { background:#29485f; border-color:#87c8e8; }
:root[data-theme="dark"] .preview-tab span:last-child,:root[data-theme="dark"] .proof-marquee-heading,:root[data-theme="dark"] .price-open { color:#9adffc; }
:root[data-theme="dark"] .preview-stage { background:rgba(28,53,73,.77); border-color:#47687e; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .preview-stage::before { background:linear-gradient(140deg,rgba(166,213,239,.07),transparent 45%); }
:root[data-theme="dark"] .preview-browser { border-color:#55738a; }
:root[data-theme="dark"] .home-proof .trust-band { background:linear-gradient(180deg,#0a1b2b,#183249 22%,#1b374e 50%,#183249 80%,#0a1b2b); border-color:#36546a; box-shadow:inset 0 3px 6px rgba(0,5,12,.7),inset 0 -3px 6px rgba(0,5,12,.55); }
:root[data-theme="dark"] .home-proof .trust-logo { color:#e2f0f9; }
:root[data-theme="dark"] .home-proof .trust-logo[href]:hover { background:#28485d; }
:root[data-theme="dark"] .marquee-step,:root[data-theme="dark"] .marquee-toggle,:root[data-theme="dark"] .capability-reset { background:#203a50; border-color:#4d7089; color:#d9f2ff; }
:root[data-theme="dark"] .proof-card { background:linear-gradient(145deg,#1b3043,#13283b); border-color:#3d5c72; color:#ecf6fb; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .proof-card:nth-child(3n+2),:root[data-theme="dark"] .proof-card:nth-child(3n) { background:linear-gradient(145deg,#213248,#13283b); }
:root[data-theme="dark"] .proof-logo { background:#e8f0f5; border-color:#547189; color:#24465b; }
:root[data-theme="dark"] .proof-logo--dark { background:#19364e; }
:root[data-theme="dark"] .proof-service { background:#2b4b43; color:#cbf2df; }
:root[data-theme="dark"] .home-proof .proof-note,:root[data-theme="dark"] .footer-region-copy p { color:#b9cbd9; }
:root[data-theme="dark"] .capability-card,:root[data-theme="dark"] .capability-grid.has-selection .capability-card.is-selected { background:linear-gradient(145deg,#192d40,var(--cap-tint)); border-color:var(--cap-line); color:#f0f6fb; box-shadow:var(--theme-shadow); }
:root[data-theme="dark"] .capability-card[data-capability-card="software"] { --cap-ink:#92d5ff; --cap-tint:#173b57; --cap-line:#3b6c90; }
:root[data-theme="dark"] .capability-card[data-capability-card="ai"] { --cap-ink:#d0b4ff; --cap-tint:#34294c; --cap-line:#685886; }
:root[data-theme="dark"] .capability-card[data-capability-card="it"] { --cap-ink:#9de6d1; --cap-tint:#1b423d; --cap-line:#447b6e; }
:root[data-theme="dark"] .capability-card[data-capability-card="security"] { --cap-ink:#ffabc5; --cap-tint:#4b293b; --cap-line:#895167; }
:root[data-theme="dark"] .capability-card[data-capability-card="cloud"] { --cap-ink:#f3d28e; --cap-tint:#453b28; --cap-line:#86734c; }
:root[data-theme="dark"] .capability-card[data-capability-card="web"] { --cap-ink:#9de3e8; --cap-tint:#21434b; --cap-line:#4d8089; }
:root[data-theme="dark"] .capability-card > p,:root[data-theme="dark"] .capability-detail { color:#c5d5e2; }
:root[data-theme="dark"] .capability-detail { border-color:#476175; }
:root[data-theme="dark"] .price-estimator { background:linear-gradient(125deg,#192f43,#183a50); border-color:#4d7790; }
:root[data-theme="dark"] .price-estimator-fields label,:root[data-theme="dark"] .price-estimator-result > span { color:#d2e4ef; }
:root[data-theme="dark"] .price-estimator-fields input { background:#102538; border-color:#597a93; color:#eff8fd; }
:root[data-theme="dark"] .price-estimator-result { border-color:#4b6b81; }
:root[data-theme="dark"] .price-estimator-result strong { color:#a9e5ff; }
:root[data-theme="dark"] .footer-flags li,:root[data-theme="dark"] .footer-flags .footer-flag-us { background:#193044; border-color:#3c5c73; }
:root[data-theme="dark"] .footer-flags span { color:#d5e6f0; }
@media (prefers-reduced-motion: reduce) { .theme-switch-thumb { transition:none; } }
