/* Original IDR palettes: readable surfaces, a constant orange signature. */
:root[data-theme="light"] {
  color-scheme: light;
  --ink:#181c22; --muted:#58636e; --paper:#fff; --mist:#f1f4f6; --line:#d6dde3;
  --orange-dark:#a83a00; --surface:#fff; --raised:#edf1f4;
  --tech-canvas:#f0f3f6; --tech-card:#fff; --tech-border:#ccd5df;
  --grid-color:#233b5709; --soft-accent:#fff0e5;
  --header-glass:#fffffff5; --soft-shadow:0 12px 32px #263f5710;
}
:root,:root[data-theme="dark"] {
  color-scheme: dark;
  --ink:#f0f3f7; --muted:#aeb9c7; --paper:#101318; --mist:#171d25; --line:#343e4c;
  --orange-dark:#ffa063; --surface:#1b222c; --raised:#222c38;
  --tech-canvas:#11161e; --tech-card:#1b232e; --tech-border:#394555;
  --grid-color:#cadcf90a; --soft-accent:#30251e;
  --header-glass:#101318f5; --soft-shadow:0 12px 32px #0002;
}
body {background:var(--paper);color:var(--ink)}
.header {background:var(--header-glass);backdrop-filter:blur(16px);border-color:var(--line)}
.header-inner {gap:20px}
.brand {width:118px;flex-shrink:0;background:#fff;border-radius:7px;padding:3px 6px}
.brand img {width:106px;height:57px}
:root:not([data-theme="light"]) .brand {background:transparent;border-radius:0}
.desktop-nav {gap:20px}
.nav-services ul {background:var(--surface);border-color:var(--line);box-shadow:var(--soft-shadow)}
.theme-picker {display:flex;align-items:center;gap:3px;flex-shrink:0;padding:3px;border:1px solid var(--line);border-radius:30px;background:var(--mist)}
.theme-picker button {display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:24px;background:transparent;color:var(--muted);font-size:11px;font-weight:650;line-height:1;transition:background .2s,color .2s,box-shadow .2s}
.theme-picker button svg {width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-picker button[aria-pressed="true"] {background:var(--surface);border-color:var(--line);color:var(--orange-dark);box-shadow:0 2px 7px #0000000d}
.theme-picker button:hover {color:var(--orange-dark)}
.theme-picker button:focus-visible {outline:2px solid var(--orange-dark);outline-offset:3px}
.menu-toggle {color:var(--ink)}
.btn,.wp-block-button__link {color:#171818}
.btn.secondary {color:inherit}
.btn.dark,.video-toolbar button {background:#171c24;color:#fff}
.video-toolbar .video-sound {background:var(--orange);color:#171818}
.cta-section {color:#171818}
.service-card.callout {color:#171818}
.round-button {background:var(--surface);color:var(--ink)}
.trust-band {background:var(--mist);color:var(--ink);border-color:var(--line)}
.trust-grid>div {border-color:var(--line)}
.trust-grid span {color:var(--muted)}
.dark-section,.page-top {background:var(--mist);color:var(--ink)}
.dark-section .lead,.dark-section .muted,.page-top .lead,.breadcrumb,.process-item p {color:var(--muted)}
.process-item {border-color:var(--line)}
.process-item .number {color:var(--orange-dark)}
.service-explorer {background-color:var(--tech-canvas);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);color:var(--ink);border-color:var(--tech-border)}
.solutions-console {border-color:var(--line)}
.solutions-console small {color:var(--muted)}
.service-explorer .service-filters button,.service-filters button {background:var(--surface);border-color:var(--tech-border);color:var(--muted)}
.service-filters button[aria-pressed="true"],.service-explorer .service-filters button[aria-pressed="true"] {background:var(--orange);border-color:var(--orange);color:#171818}
.service-explorer .service-card {background:linear-gradient(145deg,var(--surface),var(--tech-card));color:var(--ink);border-color:var(--tech-border);box-shadow:var(--soft-shadow)}
.service-explorer .service-card:hover {border-color:var(--orange);box-shadow:0 15px 35px #ff6b1917}
.service-explorer .service-number,.tech-icon {color:var(--orange-dark)}
.service-explorer .service-number>span:last-child,.service-explorer .service-card p {color:var(--muted)}
.service-explorer .card-link {color:var(--ink);border-color:var(--line)}
.service-explorer .callout {background:linear-gradient(145deg,#ff914f,#ff6b19);border-color:var(--orange);color:#171818}
.service-explorer .callout p,.service-explorer .callout .service-number,.service-explorer .callout .card-link,.service-explorer .callout .service-number>span:last-child {color:#242119}
.service-explorer .callout .card-link {border-color:#17181830}
.journey-section {background-color:var(--tech-canvas);color:var(--ink);background-image:radial-gradient(var(--tech-border) .65px,transparent .65px)}
.journey-section .eyebrow,.journey-intro>span,.journey-label strong,.journey-finish strong {color:var(--orange-dark)}
.journey-intro p,.journey-card p,.journey-label span {color:var(--muted)}
.journey-card {background:linear-gradient(145deg,var(--surface),var(--tech-card));border-color:var(--tech-border);box-shadow:var(--soft-shadow)}
.journey-hud {background:var(--header-glass);border-color:var(--tech-border);box-shadow:var(--soft-shadow)}
.journey-hud>span,.journey-hud small {color:var(--muted)}
.journey-hud>strong {color:var(--orange-dark)}
.journey-hud>div {background:var(--line)}
.road-base {stroke:var(--tech-border)}
.journey-dot {background:var(--surface);border-color:var(--tech-border)}
.journey-finish>span {background:var(--surface);border-color:var(--tech-border);color:var(--orange-dark)}
.news-section {background:var(--mist)}
.news-feature,.news-item {background:var(--surface);border-color:var(--line)}
.news-meta {color:var(--muted)!important}
.news-type {color:var(--orange-dark)}
.news-feature .card-link {border-color:var(--line)}
.article-copy>p,.tax-options p,.article-aside nav a,.article-help p,.article-note p {color:var(--muted)}
.article-copy a,.article-aside nav a:hover {color:var(--orange-dark)}
.article-copy a.btn {color:#171818}
.tax-options section {border-color:var(--line);border-top-color:var(--orange);background:var(--surface)}
.tax-options section>span {color:var(--orange-dark)}
.article-aside,.article-note {background:var(--mist)}
.article-aside nav a,.article-checklist li {border-color:var(--line)}
.article-checklist li:before {color:var(--orange-dark)}
.service-video {background:var(--mist);border-color:var(--line)}
.service-body>*,.contact-grid>*,.feature-list>* {min-width:0}
.idr-form input,.idr-form select,.idr-form textarea,.faq-search input {background:var(--surface);color:var(--ink);border-color:var(--tech-border);color-scheme:inherit}
.idr-form input::placeholder,.idr-form textarea::placeholder,.faq-search input::placeholder {color:var(--muted);opacity:1}
.form-result {background:var(--surface);color:var(--ink)}
.footer {background:var(--mist);color:var(--ink);border-top:1px solid var(--line)}
.footer p,.footer a,.footer-bottom {color:var(--muted)}
.footer a:hover {color:var(--orange-dark)}
.footer-bottom {border-color:var(--line)}
:root[data-theme="dark"] .quote {background:var(--surface)}
/* Photography and branded illustrations retain their carefully controlled contrast. */
.banner {color:#fff;color-scheme:dark}
.banner .btn {color:#171818}
.news-art {color-scheme:dark}
/* Service shortcuts are real links. Hover/focus holds each moving target still. */
.banner .is-active .signal-card {text-decoration:none;color:#f4f7f4;animation:signal-hop 4.8s ease-in-out infinite;animation-play-state:running;transition:border-color .2s,box-shadow .2s,background .2s}
.banner .is-active .signal-two {animation-delay:-1.6s}
.banner .is-active .signal-three {animation-delay:-3.2s}
.banner .is-active .signal-card:hover,.banner .is-active .signal-card:focus-visible {animation-play-state:paused;background:#263128f5;border-color:#ff9657;box-shadow:0 10px 38px #0004,0 0 22px #ff6b1924}
.signal-card b {transition:transform .2s}
.signal-card:hover b,.signal-card:focus-visible b {transform:translate(3px,-3px)}
.banner .is-active .signal-card:focus-visible {outline:3px solid #ff9e61;outline-offset:5px}
@keyframes signal-hop {0%,100%{transform:translateY(0)}30%{transform:translateY(-16px)}48%{transform:translateY(-3px)}62%{transform:translateY(-8px)}80%{transform:translateY(0)}}
@keyframes signal-hop-small {0%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}48%{transform:translateY(-1px)}62%{transform:translateY(-3px)}80%{transform:translateY(0)}}
@media(max-width:1200px) {
  .theme-picker button span {display:none}
  .header-inner {gap:15px}
  .desktop-nav {gap:17px}
}
@media(max-width:1050px) {
  .header-inner {height:74px;gap:12px}
  .header-cta {display:none}
  .brand {width:100px;padding:2px 5px}
  .brand img {width:90px;height:53px}
  .theme-picker {order:1;margin-left:auto}
  .theme-picker button {min-height:40px;padding:8px}
  .menu-toggle {display:block;order:2;margin-left:0;font-size:14px;padding:10px 12px}
  .desktop-nav {display:none;position:absolute;left:0;right:0;top:100%;padding:20px 30px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--soft-shadow);align-items:stretch;max-height:calc(100dvh - 90px);overflow:auto}
  .desktop-nav.open {display:flex;flex-direction:column;gap:0}
  .desktop-nav>a {padding:14px 0;font-size:17px}
  .nav-services>summary {padding:14px 0;font-size:17px}
  .nav-services ul {position:static;width:100%;box-shadow:none;padding:5px 10px;border:0;border-left:2px solid var(--orange)}
  .nav-services li a {font-size:15px}
  .journey-hud {top:74px}
}
@media(max-width:400px) {
  .header-inner {gap:8px}
  .brand {width:86px;padding:0 4px}
  .brand img {width:78px;height:50px}
  .theme-picker {gap:0;padding:2px}
  .theme-picker button {min-width:42px}
  .menu-toggle {padding:10px;font-size:13px}
}
@media(max-width:760px) {
  .banner-layout {min-height:720px}
  .banner-business .banner-layout {padding-bottom:28px}
  .banner-business .banner-visual {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:static;min-height:0;height:auto;margin:24px 0 0;gap:8px;transform:none}
  .banner-business .fiscal-orbit {display:none}
  .banner .is-active.banner-business .signal-card {position:relative;inset:auto;width:100%;min-width:0;padding:24px 9px 12px;min-height:88px;gap:0}
  .banner .is-active .signal-card {animation-name:signal-hop-small;animation-duration:5.2s}
  .banner-business .signal-card small,.banner-business .signal-card i {display:none}
  .banner-business .signal-card strong {font-size:12px;line-height:1.4}
  .banner-business .signal-card b {position:absolute;top:3px;right:8px;font-size:17px}
}
@media(prefers-reduced-motion:reduce) {.theme-picker button {transition:none}.banner .is-active .signal-card {animation:none!important}}
