/* Shared appearance control. */
.header-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.theme-toggle { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; padding: 10px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--text); transition: background .2s, border-color .2s; }
.theme-toggle:hover { border-color: var(--mint); }
.theme-toggle svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-moon { display: none; }
:root[data-theme="light"] .theme-icon-moon { display: block; }
:root[data-theme="light"] .theme-icon-sun { display: none; }

/* Warm paper, deep ink and the brand's green. */
:root[data-theme="light"] {
  --bg: #f8f5ee;
  --surface: #fdfbf6;
  --surface-2: #f1eee5;
  --mint: #15765c;
  --mint-dark: #e0eee4;
  --text: #1b302a;
  --muted: #5c6b62;
  --line: #253e291c;
  color-scheme: light;
}

/* Static grain is deliberately faint, tiled and click-through. */
:root[data-theme="light"] body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 30;
  pointer-events: none;
  background: url("assets/noise.png") repeat;
  opacity: .045;
  mix-blend-mode: multiply;
}
:root[data-theme="light"] ::selection { background: #b6dbc5; color: #17382b; }
:root[data-theme="light"] .site-header { background: #f8f5eeee; }
:root[data-theme="light"] .desktop-nav a,
:root[data-theme="light"] .section-kicker,
:root[data-theme="light"] .hero-note,
:root[data-theme="light"] .hero-bottom > span,
:root[data-theme="light"] .hero-bottom > div,
:root[data-theme="light"] .visual-top,
:root[data-theme="light"] .visual-label,
:root[data-theme="light"] .visual-bottom,
:root[data-theme="light"] .visual-bottom > .mono,
:root[data-theme="light"] .card-top > .mono,
:root[data-theme="light"] .solutions-foot > span,
:root[data-theme="light"] .small-product .mono,
:root[data-theme="light"] .contact-number,
:root[data-theme="light"] .footer-main nav,
:root[data-theme="light"] .footer-bottom,
:root[data-theme="light"] .footer-bottom > a { color: #5c6b62; }
:root[data-theme="light"] .desktop-nav a:hover,
:root[data-theme="light"] .footer-main nav a:hover { color: var(--mint); }
:root[data-theme="light"] .muted { color: #707c71; }
:root[data-theme="light"] .button { background: #1d7b60; color: #fffdf7; }
:root[data-theme="light"] .button:hover { background: #15664e; }
:root[data-theme="light"] .pill { color: #3e6353; background: #eaf0e5; border-color: #b6cdb9; }
:root[data-theme="light"] .hero { background: radial-gradient(ellipse at 76% 45%, #c6dcc035, transparent 52%), var(--bg); }
:root[data-theme="light"] .hero-grid { background: none; }
:root[data-theme="light"] .note-line { background: #88ab91; }
:root[data-theme="light"] .hero-bottom i { background: #8da08b; }
:root[data-theme="light"] .scroll-cue { color: #486c58; }
:root[data-theme="light"] .orbit { border-color: #587d591b; }
:root[data-theme="light"] .orbit-two { border-color: #587d5914; }
:root[data-theme="light"] .connections path { stroke: #569b7d88; }
:root[data-theme="light"] .system-node { background: linear-gradient(125deg, #fdfbf6, #f1f0e7); border-color: #c9d2c1; box-shadow: 0 12px 35px #304a3610; }
:root[data-theme="light"] .system-node small { color: #5b7464; }
:root[data-theme="light"] .node-icon,
:root[data-theme="light"] .service-icon { color: #1b775b; background: #e6eee1; border-color: #c8d7c1; }
:root[data-theme="light"] .system-core { background: linear-gradient(140deg, #ecf3e7, #e1ecdc); border-color: #9fbea5; box-shadow: 0 0 75px #779f6e16, 0 0 0 9px #6a956405; }
:root[data-theme="light"] .system-core > span { color: #466a52; }
:root[data-theme="light"] .core-glow { background: linear-gradient(125deg, #ffffff55, transparent); }
:root[data-theme="light"] .service-card { background: linear-gradient(145deg, #fdfbf6, #f4f1e9); border-color: #dedfd2; }
:root[data-theme="light"] .service-card:hover { border-color: #8eaf95; }
:root[data-theme="light"] .service-card.featured { background: radial-gradient(ellipse at 10% 0, #d8e6cf66, transparent 80%), #f0f3e9; border-color: #b8cdb4; }
:root[data-theme="light"] .tags span { color: #5b6e5c; background: #f0f0e7; border-color: #d9dece; }
:root[data-theme="light"] .solutions-foot p { color: #5c6b62; }
:root[data-theme="light"] .possibilities { background: #f0eee4; }
:root[data-theme="light"] .scenario-tabs { background: #e8e8dc; }
:root[data-theme="light"] .scenario-tabs button { color: #52644f; }
:root[data-theme="light"] .scenario-tabs button[aria-selected="true"] { background: #fdfbf6; color: #176e50; box-shadow: 0 1px 4px #293d2910; }
:root[data-theme="light"] .scenario-panel { background: linear-gradient(135deg, #faf9f2, #f5f3e9); border-color: #d5d9c9; }
:root[data-theme="light"] .scenario-index,
:root[data-theme="light"] .scenario-label { color: #5d755b; }
:root[data-theme="light"] .scenario-divider { border-color: #cad9c1; }
:root[data-theme="light"] .scenario-after h3 { color: #246544; }
:root[data-theme="light"] .scenario-chips span { color: #39694a; background: #e8efdf; border-color: #cbdabe; }
:root[data-theme="light"] .ayzen-card { background: radial-gradient(ellipse at 95% 80%, #d6c7ee45, transparent 60%), linear-gradient(120deg, #f3eef8, #eeebf3); border-color: #d9cee5; color: #302944; }
:root[data-theme="light"] .product-wordmark > span { color: #79629f; }
:root[data-theme="light"] .badge { border-color: #ccbedc; color: #6c567f; }
:root[data-theme="light"] .ayzen-content > .eyebrow,
:root[data-theme="light"] .ayzen-content p,
:root[data-theme="light"] .model-strip,
:root[data-theme="light"] .model-strip i,
:root[data-theme="light"] .model-strip .more-models { color: #6e607f; }
:root[data-theme="light"] .ayzen-card .button-light { background: #453756; color: #fcf8ff; }
:root[data-theme="light"] .ayzen-card .button-light:hover { background: #5a486f; }
:root[data-theme="light"] .model-strip { border-color: #d6c9e3; }
:root[data-theme="light"] .small-product { background: #fdfbf6; border-color: #dedfd2; }
:root[data-theme="light"] .step-number > span { background: linear-gradient(90deg, #8eb49699, #ced5c633); }
:root[data-theme="light"] .about-brand { background: #eeeee2; border-color: #d5dbc8; }
:root[data-theme="light"] .about-brand-top .mono,
:root[data-theme="light"] .about-brand-bottom { color: #54714f; }
:root[data-theme="light"] .about-values > span { color: #3e6549; }
:root[data-theme="light"] .faq-layout > div > p a { color: #286f4e; border-color: #9cbaa2; }
:root[data-theme="light"] .faq-list summary > span { color: #3c7c57; }
:root[data-theme="light"] .contact-section { background: radial-gradient(ellipse at 0 100%, #d6e4c744, transparent 65%), #edeedf; border-color: #d5ddc9; }
:root[data-theme="light"] .contact-email { border-color: #b0c8ab; }
:root[data-theme="light"] .contact-form { background: #f9f8f0; border-color: #d2d9c7; }
:root[data-theme="light"] .contact-form label { color: #465e45; }
:root[data-theme="light"] .contact-form input,
:root[data-theme="light"] .contact-form select,
:root[data-theme="light"] .contact-form textarea { background: #fdfcf7; border-color: #cbd3bf; color: #273f2a; }
:root[data-theme="light"] .contact-form input::placeholder,
:root[data-theme="light"] .contact-form textarea::placeholder { color: #6e7d67; }
:root[data-theme="light"] .contact-form select option { background: #fdfcf7; }

@media (max-width: 1150px) { .header-inner { gap: 18px; } .desktop-nav { gap: 16px; } .header-actions { gap: 12px; } }
@media (max-width: 680px) { .header-inner { gap: 10px; } .header-actions { gap: 8px; } .theme-toggle { width: 38px; height: 38px; padding: 9px; } .header-cta { padding-inline: 10px; } }
@media (max-width: 370px) { .header-actions { margin-left: auto; } .menu-toggle { margin-left: 0; } }
