/* Shared public surfaces. Keep foregrounds and backgrounds in one theme. */
:root {
  color-scheme: light;
  --page: #f4f6fb;
  --glass: rgba(255,255,255,.76);
  --glass-solid: #fff;
  --glass-soft: rgba(238,243,252,.85);
  --glass-edge: rgba(255,255,255,.95);
  --glass-line: #d9e2f0;
  --glass-shadow: 0 8px 28px rgba(43,66,101,.055), inset 0 1px 0 rgba(255,255,255,.85);
  --blue-wash: rgba(224,236,255,.75);
  --violet-wash: rgba(237,231,253,.65);
  --mint-wash: rgba(224,241,235,.7);
  --action: #0066cc;
  --action-hover: #0055ab;
  --manual: #c4cddd;
  --manual-track: #edf0f6;
  --connect: #0071e3;
  --connect-track: #e3eeff;
  --contact-bg: #eef3fd;
  --contact-panel: rgba(255,255,255,.7);
  --field-bg: rgba(255,255,255,.94);
  --field-line: #c5d1e2;
  --success: #176c46;
  --error: #b62d35;
}
:root[data-site-theme="dark"] {
  color-scheme: dark;
  --bg: #101723;
  --page: #0c111b;
  --card: #171f2d;
  --ink: #f2f5fb;
  --ink-2: #c5cede;
  --muted: #a4afc3;
  --line: #2b374b;
  --line-2: #42516b;
  --accent: #88bcff;
  --accent-ink: #b0d3ff;
  --glass: rgba(24,33,49,.85);
  --glass-solid: #192335;
  --glass-soft: rgba(31,42,62,.9);
  --glass-edge: rgba(155,182,228,.15);
  --glass-line: #34435d;
  --glass-shadow: 0 10px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(185,205,240,.05);
  --blue-wash: rgba(26,50,87,.78);
  --violet-wash: rgba(48,37,76,.68);
  --mint-wash: rgba(22,56,52,.74);
  --action: #0066cc;
  --action-hover: #0058b4;
  --manual: #657792;
  --manual-track: #29364b;
  --connect: #69acff;
  --connect-track: #1d3659;
  --contact-bg: #18243c;
  --contact-panel: rgba(18,29,47,.82);
  --field-bg: #101c2e;
  --field-line: #4e607d;
  --success: #91e3b3;
  --error: #ffb2b7;
}
body, body.home-page {
  background: radial-gradient(ellipse 65% 520px at 2% 0,var(--blue-wash),transparent 78%),radial-gradient(ellipse 60% 650px at 100% 800px,var(--violet-wash),transparent 80%),var(--page);
  color: var(--ink);
}
.site-header { background: var(--glass); border-color: var(--glass-edge); }
.site-header .wrap { gap: 8px 18px; }
.site-header .logo { margin-right: auto; }
.nav { gap: 2px 18px; }
.btn-primary, .nav .btn-primary { color: #fff; background: var(--action); }
.btn-primary:hover, .nav .btn-primary:hover { color: #fff; background: var(--action-hover); }
.btn-light { background: var(--glass-solid); color: var(--ink); box-shadow: 0 2px 12px #2444740b; }
.btn-light:hover { color: var(--ink); }
.btn-dark { color: var(--page); background: var(--ink); }
.btn-dark:hover { color: var(--page); }
.skip { color: var(--page); }
.theme-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 6px 9px; border: 1px solid var(--glass-line); border-radius: 14px; color: var(--ink); background: var(--glass); }
.theme-toggle:hover { border-color: var(--accent); }
.theme-toggle svg { width: 17px; height: 17px; flex: 0 0 auto; }
.theme-sun { display: none; }
[data-site-theme="dark"] .theme-moon { display: none; }
[data-site-theme="dark"] .theme-sun { display: block; }
.theme-track { display: block; width: 30px; height: 18px; border-radius: 20px; background: #aab6c7; padding: 2px; }
.theme-track i { display: block; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #2038582e; transition: transform .2s; }
[aria-pressed="true"] .theme-track { background: #2678d9; }
[aria-pressed="true"] .theme-track i { transform: translateX(12px); }
.tile:not(.dark):not(.flow-blue), .window, .doc .card, .resource-section, .guide-grid > a, .article-related .local-grid > a {
  background: var(--glass); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow);
}
.tile:not(.dark):not(.flow-blue):hover { box-shadow: var(--glass-shadow); transform: none; }
.tile.plan.featured { border-color: var(--accent); }
.tile.tint, .tile.program-hub, .home-page .automation-feature {
  background: radial-gradient(ellipse at 4% 0,var(--blue-wash),transparent 68%),radial-gradient(ellipse at 100% 100%,var(--violet-wash),transparent 70%),var(--glass);
  border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow);
}
.home-page .hero-connected { background: transparent; padding-top: 40px; padding-bottom: 22px; }
.home-page .mission-range { background: var(--glass); border-block: 1px solid var(--glass-edge); padding: 18px 0; }
.mission-range p, .hero-connected .note, .hero-connected .lead span, .hero-reassurance, .hero-visual figcaption { color: var(--ink-2); }
.mission-range li { color: var(--ink); }
.mission-range p { margin-bottom: 10px; }
.hero-visual::before { background: var(--blue-wash); }
.friction-section { padding-top: 28px; padding-bottom: 24px; }
.friction-grid { margin-top: 20px; }
.friction-grid article { background: var(--blue-wash); border: 1px solid var(--glass-edge); padding: 24px; box-shadow: inset 0 1px 0 var(--glass-edge); }
.friction-grid article:nth-child(2) { background: var(--violet-wash); }
.friction-grid article:nth-child(3) { background: var(--mint-wash); }
.friction-grid p, .friction-number { color: var(--ink-2); }
.platform-intro { padding-top: 26px; }
.home-page #platform { padding-bottom: 26px; }
.home-page .automation-feature { padding: clamp(24px,3vw,36px); gap: 30px; }
.automation-copy > p:not(.kicker), .automation-benefits li { color: var(--ink-2); }
.automation-copy h2 > span, .automation-benefits li::before { color: var(--accent-ink); }
.automation-benefits { gap: 10px; margin: 18px 0 23px; }
.agent-example { background: var(--glass); border-color: var(--glass-line); box-shadow: var(--glass-shadow); padding: 20px; }
.agent-top small, .agent-response p, .agent-scope { color: var(--ink-2); }
.agent-request { background: var(--glass-soft); }
.agent-sources span, .agent-response { border-color: var(--glass-line); }
.agent-sources span { color: var(--ink-2); }
.draft-label { color: var(--accent-ink); }
.draft-line { background: var(--line); }
.review-state { background: var(--blue-wash); color: var(--accent-ink); }
.agent-approval { color: var(--success); }
.agent-approval > span { background: var(--mint-wash); }
.home-page .contact {
  color: var(--ink); background: radial-gradient(ellipse at 0 0,var(--blue-wash),transparent 75%),radial-gradient(ellipse at 100% 100%,var(--violet-wash),transparent 75%),var(--contact-bg);
  border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); padding: clamp(24px,3.4vw,40px); gap: clamp(22px,3vw,36px); grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
}
.contact h2 { color: var(--ink); font-size: clamp(34px,4vw,50px); line-height: 1.04; }
.contact p { color: var(--ink-2); font-size: 16px; line-height: 1.65; }
.contact-form { background: var(--contact-panel); border-color: var(--glass-edge); padding: clamp(18px,2.2vw,26px); box-shadow: inset 0 1px 0 var(--glass-edge); }
.contact-form label { color: var(--ink); font-size: 14px; }
.contact-form label small, .contact .loc { color: var(--muted); }
.contact-form input:not([type="checkbox"]), .contact-form textarea { color: var(--ink); background: var(--field-bg); border-color: var(--field-line); min-width: 0; line-height: 1.4; }
.contact-form textarea { min-height: 112px; }
.contact-form :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.contact-form .consent { color: var(--ink-2); font-size: 12px; margin-bottom: 14px; }
.contact-form .consent a { color: var(--accent-ink); text-underline-offset: 2px; }
.contact-form .consent input { width: 20px; height: 20px; margin-top: 0; }
.contact-form .form-status { color: var(--ink-2) !important; }
.contact-form .form-status:empty { min-height: 0; margin: 0 !important; }
.contact-form .form-status.success { color: var(--success) !important; }
.contact-form .form-status.error { color: var(--error) !important; }
.workflow-comparison {
  --compare-width: calc(100% / 6);
  background: var(--glass-soft); border: 1px solid var(--glass-edge); border-radius: 22px; padding: clamp(18px,2.5vw,28px); margin-top: 22px;
}
.comparison-head { margin-bottom: 12px; gap: 10px 18px; }
.comparison-head .h3 { font-size: clamp(23px,2.5vw,30px); }
.comparison-head p { font-size: 13px; }
.comparison-head .comparison-legend { gap: 14px; }
.comparison-legend i { background: var(--manual); border-radius: 50%; width: 8px; height: 8px; }
.comparison-legend span:last-child i { background: var(--connect); }
.comparison-row { grid-template-columns: minmax(130px,.9fr) minmax(0,3fr); gap: 12px 22px; margin-top: 0; padding: 15px 0; border-top: 1px solid var(--line); }
.comparison-row:first-of-type { border-top: 0; }
.comparison-row h4 { font-size: 14px; }
.comparison-bars { gap: 8px; }
.comparison-meter { position: relative; gap: 12px; min-height: 16px; }
.comparison-meter::before { content: ''; position: absolute; inset: 1px 35px 1px 0; border-radius: 5px; background: var(--manual-track); }
.comparison-meter.connected::before { background: var(--connect-track); }
.comparison-bar { position: relative; z-index: 1; height: 14px; border-radius: 5px; background: var(--manual); overflow: hidden; }
.comparison-meter.connected .comparison-bar { background: var(--connect); box-shadow: 0 3px 12px #0071e323; }
.comparison-bar::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--steps) - 3px),var(--glass-soft) calc(100% / var(--steps) - 3px),var(--glass-soft) calc(100% / var(--steps))); }
.comparison-meter.connected .comparison-bar::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg,transparent 25%,rgba(255,255,255,.65),transparent 75%); transform: translateX(-110%); animation: comparison-light 4s ease-in-out infinite; animation-play-state: paused; }
.workflow-comparison.motion-active .comparison-meter.connected .comparison-bar::after { animation-play-state: running; }
.comparison-row:nth-of-type(3) .comparison-bar::after { animation-delay: .25s; }
.comparison-row:nth-of-type(4) .comparison-bar::after { animation-delay: .5s; }
.comparison-row:nth-of-type(5) .comparison-bar::after { animation-delay: .75s; }
.comparison-meter b { z-index: 1; display: grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; font: 600 12px var(--mono); color: var(--ink-2); }
.comparison-meter.connected b { background: var(--connect-track); border-radius: 7px; color: var(--accent-ink); }
.comparison-note { font-size: 12px; margin: 12px 0 0; color: var(--ink-2); }
.comparison-note summary { cursor: pointer; min-height: 36px; display: flex; align-items: center; gap: 8px; color: var(--accent-ink); font-weight: 600; list-style: none; }
.comparison-note summary::-webkit-details-marker { display: none; }
.comparison-note summary::after { content: '+'; font-size: 17px; }
.comparison-note[open] summary::after { content: '−'; }
.comparison-note p { margin: 5px 0 0; line-height: 1.65; max-width: 85ch; }
@keyframes comparison-light { 0%,20% { transform: translateX(-110%); } 80%,100% { transform: translateX(110%); } }
.home-guide-grid { margin: 20px 0; }
.home-guide-grid > a { background: var(--glass-soft); padding: 22px; }
.home-guide-grid strong { font-size: 20px; line-height: 1.25; }
.home-guide-grid p { font-size: 14px; }
.home-guide-grid small { padding-top: 14px; }
.doc .card, .resource-toc, .resource-steps > div, .resource-table th, .resource-cta, .article-example { background: var(--glass); }
.resource-toc { border-color: var(--glass-edge); }
.resource-steps span, .resource-steps a, .resource-sources a, .local-grid span, .system-checklist li::before { color: var(--accent-ink); }
@media (min-width: 701px) {
  .tile:not(.dark):not(.flow-blue), .window, .resource-section, .guide-grid > a { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
}
/* Explicit dark surfaces also cover components that used literal white. */
[data-site-theme="dark"] .hue { color: color-mix(in srgb,var(--hue) 60%,white); }
[data-site-theme="dark"] :is(.window-bar,.side,.related button,.tabs,.tabs button[aria-selected="true"],.benefit,.program-card,.flow-step) { background: var(--glass-solid); color: var(--ink); border-color: var(--line); }
[data-site-theme="dark"] .side button[aria-selected="true"] { background: var(--mc); color: #fff; }
[data-site-theme="dark"] .tabs button[aria-selected="true"] { background: #315c9c; color: #fff; }
[data-site-theme="dark"] .store-platform { background: var(--glass-soft); }
[data-site-theme="dark"] .program-steps li { color: var(--ink); background: rgba(25,35,53,.94); border-color: #3d4c65; box-shadow: inset 0 1px 0 rgba(190,210,240,.08), 0 10px 26px rgba(0,0,0,.13); }
[data-site-theme="dark"] .program-steps span { color: #b8d7ff; background: #263d60; }
[data-site-theme="dark"] .program-steps small { color: #c5cede; }
[data-site-theme="dark"] .program-hub-intro, [data-site-theme="dark"] .ways > div:not(.lead-in) { background: rgba(25,35,53,.78); border-color: #3d4c65; box-shadow: inset 0 1px 0 rgba(190,210,240,.08); }
[data-site-theme="dark"] .program-benefits li { color: var(--ink); background: rgba(37,51,74,.92); border-color: #465873; }
[data-site-theme="dark"] .ways i { color: #b8d7ff; background: #263d60; }
[data-site-theme="dark"] .case-figure { color: var(--ink); background: linear-gradient(145deg,rgba(26,37,56,.96),rgba(16,25,40,.94)); border-color: #35445d; box-shadow: 0 18px 50px rgba(0,0,0,.2), inset 0 1px 0 rgba(190,210,240,.08); }
[data-site-theme="dark"] .case-flow-step { color: var(--ink); background: rgba(30,42,63,.94); border-color: #40506b; box-shadow: inset 0 1px 0 rgba(190,210,240,.07), 0 8px 24px rgba(0,0,0,.13); }
[data-site-theme="dark"] .case-flow-step::before { color: #9bc7ff; }
[data-site-theme="dark"] .case-flow-step::after { color: #b7d6ff; border-color: #526886; background: #1c2b42; }
[data-site-theme="dark"] .case-flow-step span, [data-site-theme="dark"] .case-figure figcaption { color: #b8c4d7; }
[data-site-theme="dark"] .panel .checks li::before { color: color-mix(in srgb,var(--mc) 60%,white); }
[data-site-theme="dark"] .panel h3 { color: color-mix(in srgb,var(--mc) 60%,white); }
[data-site-theme="dark"] .program-hub, [data-site-theme="dark"] .program-card--next, [data-site-theme="dark"] .tile.tint { background: var(--glass-soft); }
[data-site-theme="dark"] .program-brand { background: #f2f3f6; color: #1d293d; }
[data-site-theme="dark"] .program-card--next .program-brand { background: #293955; color: var(--ink); }
[data-site-theme="dark"] .program-setup { border-color: var(--line); }
[data-site-theme="dark"] .tile.yellow { background: #302a1b; }
[data-site-theme="dark"] .fine { color: #e4d6b0; }
[data-site-theme="dark"] .hero-desktop, [data-site-theme="dark"] .hero-mobile { background: #192335; color: var(--ink); border-color: #4a5a72; }
[data-site-theme="dark"] .mock-bar, [data-site-theme="dark"] .mock-modules > div { border-color: var(--line); }
[data-site-theme="dark"] .mock-nav { background: #121c2d; color: var(--ink-2); }
[data-site-theme="dark"] .mock-nav b { color: #bdd9ff; background: #263c60; }
[data-site-theme="dark"] :is(.mock-bar,.mock-title > span,.mock-modules span,.hero-mobile > small,.hero-mobile > p,.mobile-tabs,.mobile-date) { color: var(--ink-2); }
[data-site-theme="dark"] .mock-agent { background: #283650; color: #d0ddf7; }
[data-site-theme="dark"] .hero-mobile .mobile-cta { color: #fff; }
[data-site-theme="dark"] .mobile-tabs { border-color: var(--line); }
[data-site-theme="dark"] .phone { background: #fff; color: #1d1d1f; border-color: #62718a; --ink: #1d1d1f; --ink-2: #424245; --muted: #6e6e73; }
[data-site-theme="dark"] .flow-blue .flow-step { color: #f2f5fb; background: #15386a; }
[data-site-theme="dark"] .flow-blue .flow-step.active { background: #244d86; border-color: #9ac8ff; }
[data-site-theme="dark"] .flow-blue .flow-step small { color: #d5e3f6; }
[data-site-theme="dark"] .flow-icon { background: #dcecff; color: #174779; }
[data-site-theme="dark"] .flow-step.active .flow-icon { background: #9dcbff; color: #102a4b; }
[data-site-theme="dark"] .status { color: #d1e1fa; background: #273c5a; }
[data-site-theme="dark"] .status.live { color: #a8e8c5; background: #1b4238; }
[data-site-theme="dark"] .status.dev { color: #f3d9aa; background: #4a3823; }
[data-site-theme="dark"] .status.connect { color: #d7c4ff; background: #3a2d55; }
[data-site-theme="dark"] .ways.tint b { color: var(--ink); }
[data-site-theme="dark"] .ways.tint span { color: var(--ink-2); }
[data-site-theme="dark"] .tile.tint .kicker { color: var(--accent); }
@media (max-width: 1000px) and (min-width: 701px) {
  .site-header .wrap { gap: 5px 12px; }
  .nav { gap: 2px 11px; font-size: 13px; }
  .theme-toggle { padding-inline: 7px; }
}
@media (max-width: 900px) {
  .home-page .contact { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .contact-copy { max-width: 650px; padding-top: 0; }
  .contact-copy h2 { max-width: 20ch; }
  .home-page .automation-feature { gap: 24px; }
  .hero-visual { height: 557px; }
  .hero-visual figcaption { top: 528px; }
  .flow-blue .flow-step { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 3px 13px; min-height: 82px; padding: 14px; align-items: center; }
  .flow-blue .flow-icon { grid-row: 1 / span 2; }
  .flow-blue .flow-step strong { padding-top: 0; margin-top: 0; font-size: 17px; }
  .flow-blue .flow-step small { grid-column: 2; }
  .flow-blue .flow-link { height: 18px; }
}
@media (max-width: 700px) {
  .site-header .wrap { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 10px; padding-block: 5px; }
  .site-header .logo { grid-column: 1; grid-row: 1; padding: 9px 0; font-size: 12px; }
  .theme-toggle { grid-column: 2; grid-row: 1; padding: 5px 8px; border-radius: 12px; }
  .site-header .nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; flex-wrap: nowrap; gap: 7px; font-size: 12px; }
  .site-header .nav a { padding: 7px 0; min-width: 0; }
  .site-header .nav .btn { padding: 8px 12px; }
  .comparison-row { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 13px 0; }
  .comparison-head { margin-bottom: 10px; }
  .comparison-row h4 { font-size: 14px; }
  .workflow-comparison { padding: 18px; }
  .friction-section { padding-block: 24px; }
  .friction-grid { gap: 10px; margin-top: 16px; }
  .friction-grid article { padding: 20px; }
  .friction-grid h3 { margin: 10px 0; font-size: 22px; }
  .home-page .tile { padding: 24px; }
  .home-page .tile.faq { padding: 22px; }
  .home-page .tile.phone-tile { gap: 14px; }
  .phone-tile .copy { flex-basis: 240px; }
  .phone-tile .phone { flex-basis: 172px; }
  .home-guide-grid { gap: 10px; }
  .home-guide-grid > a { padding: 19px; }
  .home-page .contact { padding: 22px; }
  .contact h2 { font-size: clamp(32px,7vw,42px); }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-form input:not([type="checkbox"]), .contact-form textarea { font-size: 16px; }
}
@media (max-width: 520px) {
  .hero-visual { height: 460px; }
  .hero-visual figcaption { top: 427px; }
  .hero-mobile { right: 0; }
  .home-page .hero-connected { padding-top: 24px; }
  .hero-connected .note { margin-top: 14px; }
  .hero-connected .actions { margin-top: 20px; }
  .hero-grid { gap: 18px; }
  .home-page .automation-feature { padding: 22px; }
  .agent-example { padding: 16px; }
  .contact-form { padding: 17px; border-radius: 18px; }
  .home-page .contact { padding: 20px; }
  .form-action { gap: 9px 12px; }
  .contact .loc { font-size: 12px; }
}
@media (max-width: 360px) {
  .site-header .nav { gap: 6px; font-size: 11px; }
  .site-header .nav .btn { padding-inline: 10px; }
  .workflow-comparison { padding: 15px; }
  .home-page .tile { padding: 20px; }
  .home-page .contact { padding: 17px; }
  .contact-form { padding: 14px; }
  .form-action .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-track i { transition: none; }
  .comparison-meter.connected .comparison-bar::after { display: none; }
}

/* Added October 2026: language switch and About portrait in the dark theme. */
[data-site-theme="dark"] .about-monogram { background: linear-gradient(140deg, #1D2A42, #262041); color: var(--accent); }
[data-site-theme="dark"] .case-figure, [data-site-theme="dark"] .about-head { background: var(--glass-solid); border-color: var(--line); }
[data-site-theme="dark"] .system-map { background: linear-gradient(140deg,rgba(24,35,53,.88),rgba(26,28,52,.78)); border-color: #3a4860; box-shadow: 0 24px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06); }
[data-site-theme="dark"] .system-surface, [data-site-theme="dark"] .proof-strip, [data-site-theme="dark"] .partnership-strip, [data-site-theme="dark"] .partnership-roles > div { background: rgba(25,35,53,.78); border-color: var(--line); }
[data-site-theme="dark"] :is(.section-deck,.system-surface > span:last-child,.proof-strip p,.partnership-copy p,.partnership-roles span) { color: var(--ink-2); }
[data-site-theme="dark"] .system-map-section::before { opacity: .26; }
[data-site-theme="dark"] .system-map-section::after { opacity: .2; }
@media (max-width: 700px) {
  /* Six nav items plus the language switch: let the row wrap instead of breaking words. */
  .site-header .nav { flex-wrap: wrap; justify-content: center; gap: 2px 12px; }
  .site-header .nav a { white-space: nowrap; }
}
