:root {
  color-scheme: light dark;
  --af-font-sans: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --af-font-mono: "SFMono-Regular", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;

  --m3-seed-primary: #005a9c;
  --m3-seed-secondary: #006a60;
  --m3-primary: #005a9c;
  --m3-on-primary: #ffffff;
  --m3-primary-container: #d3e4ff;
  --m3-on-primary-container: #001c37;
  --m3-secondary: #4f6070;
  --m3-on-secondary: #ffffff;
  --m3-secondary-container: #d2e4f7;
  --m3-on-secondary-container: #0b1d2a;
  --m3-tertiary: #006a60;
  --m3-on-tertiary: #ffffff;
  --m3-tertiary-container: #8df2df;
  --m3-on-tertiary-container: #00201c;
  --m3-surface: #fbfcff;
  --m3-surface-dim: #d9dce2;
  --m3-surface-container-lowest: #ffffff;
  --m3-surface-container-low: #f3f6fb;
  --m3-surface-container: #eef1f6;
  --m3-surface-container-high: #e8ebf0;
  --m3-surface-container-highest: #e2e6ec;
  --m3-on-surface: #171c20;
  --m3-on-surface-variant: #41474d;
  --m3-outline: #71787f;
  --m3-outline-variant: #c1c7cf;
  --m3-error: #ba1a1a;
  --m3-on-error: #ffffff;

  --m3-type-display: 57px;
  --m3-type-headline: 32px;
  --m3-type-title: 22px;
  --m3-type-body: 16px;
  --m3-type-label: 14px;
  --m3-line-display: 64px;
  --m3-line-headline: 40px;
  --m3-line-title: 28px;
  --m3-line-body: 24px;
  --m3-line-label: 20px;
  --m3-weight-regular: 400;
  --m3-weight-medium: 520;
  --m3-weight-bold: 680;

  --m3-shape-small: 8px;
  --m3-shape-medium: 12px;
  --m3-shape-large: 16px;
  --m3-shape-extra-large: 28px;
  --m3-shape-full: 999px;

  --m3-elevation-0: none;
  --m3-elevation-1: 0 1px 2px rgba(29, 33, 39, .14), 0 1px 3px 1px rgba(29, 33, 39, .08);
  --m3-elevation-2: 0 1px 2px rgba(29, 33, 39, .14), 0 2px 6px 2px rgba(29, 33, 39, .08);
  --m3-elevation-3: 0 4px 8px 3px rgba(29, 33, 39, .10), 0 1px 3px rgba(29, 33, 39, .14);
  --m3-elevation-4: 0 6px 10px 4px rgba(29, 33, 39, .10), 0 2px 3px rgba(29, 33, 39, .14);
  --m3-elevation-5: 0 8px 12px 6px rgba(29, 33, 39, .10), 0 4px 4px rgba(29, 33, 39, .14);

  --af-size-0: 12px;
  --af-size-1: var(--m3-type-label);
  --af-size-2: var(--m3-type-body);
  --af-size-3: 18px;
  --af-size-4: var(--m3-type-title);
  --af-size-5: var(--m3-type-headline);
  --af-size-6: var(--m3-type-display);
  --af-space-1: 8px;
  --af-space-2: 16px;
  --af-space-3: 24px;
  --af-space-4: 32px;
  --af-space-5: 48px;
  --af-space-6: 64px;
  --af-space-7: 96px;
  --af-color-bg: var(--m3-surface);
  --af-color-bg-soft: var(--m3-surface-container-low);
  --af-color-surface: var(--m3-surface-container-lowest);
  --af-color-surface-alt: var(--m3-surface-container);
  --af-color-ink: var(--m3-on-surface);
  --af-color-text: var(--m3-on-surface);
  --af-color-muted: var(--m3-on-surface-variant);
  --af-color-line: var(--m3-outline-variant);
  --af-color-accent: var(--m3-primary);
  --af-color-accent-strong: color-mix(in srgb, var(--m3-primary) 78%, #000000);
  --af-color-company: #174a7a;
  --af-color-danger: var(--m3-error);
  --af-product-standard: #e1c12d;
  --af-product-opencore: #56b40f;
  --af-product-sdk: #e9671c;
  --af-product-asickit: #1fa4bd;
  --af-product-labs: var(--m3-secondary);
  --af-gradient-soft: linear-gradient(180deg, var(--m3-surface-container-lowest) 0%, var(--m3-surface-container-low) 100%);
  --af-radius-card: var(--m3-shape-large);
  --af-radius-control: var(--m3-shape-extra-large);
  --af-shadow-card: var(--m3-elevation-1);
  --af-content: 1180px;
  --af-wide: 1512px;
  --af-nav-h: 52px;

  --font: var(--af-font-sans);
  --sans: var(--af-font-sans);
  --mono: var(--af-font-mono);
  --ink: var(--af-color-ink);
  --text: var(--af-color-text);
  --muted: var(--af-color-muted);
  --line: var(--af-color-line);
  --line2: color-mix(in srgb, var(--m3-outline-variant) 62%, transparent);
  --blue: var(--af-color-accent);
  --company: var(--af-color-company);
  --navy: var(--af-color-company);
  --pccx-blue: var(--af-color-accent);
  --pccx-red: var(--af-color-danger);
  --std: var(--af-product-standard);
  --open: var(--af-product-opencore);
  --sdk: var(--af-product-sdk);
  --asic: var(--af-product-asickit);
  --labs: var(--af-product-labs);
  --content: var(--af-content);
  --wide: var(--af-wide);
  --max: var(--af-wide);
  --nav-h: var(--af-nav-h);
  --card-r: var(--af-radius-card);
}

@supports (color: color-mix(in oklab, #000, #fff)) {
  :root {
    --m3-primary: color-mix(in oklab, var(--m3-seed-primary) 86%, #000000);
    --m3-primary-container: color-mix(in oklab, var(--m3-seed-primary) 17%, #ffffff);
    --m3-secondary: color-mix(in oklab, var(--m3-seed-primary) 36%, var(--m3-seed-secondary));
    --m3-secondary-container: color-mix(in oklab, var(--m3-secondary) 18%, #ffffff);
    --m3-tertiary: color-mix(in oklab, var(--m3-seed-secondary) 86%, #000000);
    --m3-tertiary-container: color-mix(in oklab, var(--m3-seed-secondary) 20%, #ffffff);
    --m3-surface-container-low: color-mix(in oklab, var(--m3-primary) 4%, #ffffff);
    --m3-surface-container: color-mix(in oklab, var(--m3-primary) 7%, #ffffff);
    --m3-surface-container-high: color-mix(in oklab, var(--m3-primary) 10%, #ffffff);
    --m3-surface-container-highest: color-mix(in oklab, var(--m3-primary) 13%, #ffffff);
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --m3-primary: #9ecaff;
    --m3-on-primary: #003258;
    --m3-primary-container: #00497f;
    --m3-on-primary-container: #d3e4ff;
    --m3-secondary: #bac8da;
    --m3-on-secondary: #243240;
    --m3-secondary-container: #3a4857;
    --m3-on-secondary-container: #d6e4f7;
    --m3-tertiary: #82d5c8;
    --m3-on-tertiary: #003731;
    --m3-tertiary-container: #005048;
    --m3-on-tertiary-container: #9ff2e3;
    --m3-surface: #101417;
    --m3-surface-dim: #101417;
    --m3-surface-container-lowest: #0b0f12;
    --m3-surface-container-low: #181c20;
    --m3-surface-container: #1c2024;
    --m3-surface-container-high: #262a2f;
    --m3-surface-container-highest: #31353a;
    --m3-on-surface: #e1e4ea;
    --m3-on-surface-variant: #c1c7cf;
    --m3-outline: #8b929a;
    --m3-outline-variant: #41474d;
    --m3-error: #ffb4ab;
    --m3-on-error: #690005;
    --af-color-company: #a8c8ec;
    --af-product-standard: #dbc446;
    --af-product-opencore: #8fdb65;
    --af-product-sdk: #ffb088;
    --af-product-asickit: #87d8e7;
    --af-color-accent-strong: #c9e6ff;
  }
}

@supports (color: color-mix(in oklab, #000, #fff)) {
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --m3-primary: color-mix(in oklab, var(--m3-seed-primary) 38%, #ffffff);
      --m3-primary-container: color-mix(in oklab, var(--m3-seed-primary) 64%, #000000);
      --m3-secondary: color-mix(in oklab, var(--m3-seed-primary) 18%, #d9e6f7);
      --m3-secondary-container: color-mix(in oklab, var(--m3-secondary) 42%, #000000);
      --m3-tertiary: color-mix(in oklab, var(--m3-seed-secondary) 40%, #ffffff);
      --m3-tertiary-container: color-mix(in oklab, var(--m3-seed-secondary) 62%, #000000);
      --m3-surface-container-low: color-mix(in oklab, var(--m3-primary) 8%, #101417);
      --m3-surface-container: color-mix(in oklab, var(--m3-primary) 11%, #101417);
      --m3-surface-container-high: color-mix(in oklab, var(--m3-primary) 16%, #101417);
      --m3-surface-container-highest: color-mix(in oklab, var(--m3-primary) 21%, #101417);
    }
  }
}

html[data-theme="light"] {
  color-scheme: light;
  --m3-primary: #005a9c;
  --m3-on-primary: #ffffff;
  --m3-primary-container: #d3e4ff;
  --m3-on-primary-container: #001c37;
  --m3-secondary: #4f6070;
  --m3-on-secondary: #ffffff;
  --m3-secondary-container: #d2e4f7;
  --m3-on-secondary-container: #0b1d2a;
  --m3-tertiary: #006a60;
  --m3-on-tertiary: #ffffff;
  --m3-tertiary-container: #8df2df;
  --m3-on-tertiary-container: #00201c;
  --m3-surface: #fbfcff;
  --m3-surface-dim: #d9dce2;
  --m3-surface-container-lowest: #ffffff;
  --m3-surface-container-low: #f3f6fb;
  --m3-surface-container: #eef1f6;
  --m3-surface-container-high: #e8ebf0;
  --m3-surface-container-highest: #e2e6ec;
  --m3-on-surface: #171c20;
  --m3-on-surface-variant: #41474d;
  --m3-outline: #71787f;
  --m3-outline-variant: #c1c7cf;
  --m3-error: #ba1a1a;
  --m3-on-error: #ffffff;
  --af-color-company: #174a7a;
  --af-product-standard: #e1c12d;
  --af-product-opencore: #56b40f;
  --af-product-sdk: #e9671c;
  --af-product-asickit: #1fa4bd;
  --af-color-accent-strong: color-mix(in srgb, var(--m3-primary) 78%, #000000);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --m3-primary: #9ecaff;
  --m3-on-primary: #003258;
  --m3-primary-container: #00497f;
  --m3-on-primary-container: #d3e4ff;
  --m3-secondary: #bac8da;
  --m3-on-secondary: #243240;
  --m3-secondary-container: #3a4857;
  --m3-on-secondary-container: #d6e4f7;
  --m3-tertiary: #82d5c8;
  --m3-on-tertiary: #003731;
  --m3-tertiary-container: #005048;
  --m3-on-tertiary-container: #9ff2e3;
  --m3-surface: #101417;
  --m3-surface-dim: #101417;
  --m3-surface-container-lowest: #0b0f12;
  --m3-surface-container-low: #181c20;
  --m3-surface-container: #1c2024;
  --m3-surface-container-high: #262a2f;
  --m3-surface-container-highest: #31353a;
  --m3-on-surface: #e1e4ea;
  --m3-on-surface-variant: #c1c7cf;
  --m3-outline: #8b929a;
  --m3-outline-variant: #41474d;
  --m3-error: #ffb4ab;
  --m3-on-error: #690005;
  --af-color-company: #a8c8ec;
  --af-product-standard: #dbc446;
  --af-product-opencore: #8fdb65;
  --af-product-sdk: #ffb088;
  --af-product-asickit: #87d8e7;
  --af-color-accent-strong: #c9e6ff;
}

html,
body {
  background: var(--m3-surface);
  color: var(--m3-on-surface);
  font-family: var(--af-font-sans);
  letter-spacing: 0;
}

h1,
h2,
.section-title {
  font-weight: var(--m3-weight-medium);
  letter-spacing: 0;
}

h3,
.product-body h3,
.route-copy h3 {
  font-weight: var(--m3-weight-bold);
  letter-spacing: 0;
}

p,
li {
  color: var(--m3-on-surface-variant);
}

.site-header {
  min-height: var(--af-nav-h);
  background: color-mix(in srgb, var(--m3-surface-container-low) 88%, transparent);
  border-bottom: 0;
  box-shadow: var(--m3-elevation-2);
  backdrop-filter: saturate(160%) blur(18px);
}

.site-header .nav-shell,
.site-header .header-inner {
  min-height: var(--af-nav-h);
}

.brand,
.brand-wordmark,
.site-header .brand,
.site-header .brand-wordmark {
  font-family: var(--af-font-sans);
  letter-spacing: 0;
  font-weight: 720;
}

.nav a,
.nav-link,
.nav-actions a,
.dashboard-button,
.profile-button,
.mobile-quick-links a {
  letter-spacing: 0;
}

.site-header,
.site-header a,
.site-header button,
.nav,
.nav-link,
.nav-actions a,
.dashboard-button,
.profile-button,
.mobile-quick-links a {
  color: var(--m3-on-surface);
}

.site-header .dashboard-button,
.site-header .profile-button,
.site-header .nav-actions .dashboard-button,
.site-header .nav-actions .profile-button,
.site-header .mobile-quick-links .dashboard-button,
.site-header .mobile-quick-links .profile-button {
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
  border-color: var(--m3-outline-variant);
}

.site-header .dashboard-button:hover,
.site-header .dashboard-button:focus-visible,
.site-header .profile-button:hover,
.site-header .profile-button:focus-visible {
  color: var(--m3-primary);
  border-color: var(--m3-primary);
}

.site-header .mobile-quick-links .dashboard-button,
.site-header .mobile-quick-links .profile-button,
.site-header .mobile-quick-links .primary,
.site-header .mobile-toggle {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.site-header .mobile-quick-links .dashboard-button::after,
.site-header .mobile-quick-links .profile-button::after,
.site-header .mobile-quick-links .primary::after,
.site-header .mobile-toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: max(100%, 44px);
  height: max(100%, 44px);
  background: rgba(0, 0, 0, 0);
  pointer-events: auto;
  transform: translate(-50%, -50%);
}

.theme-toggle {
  width: 34px;
  height: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--m3-outline-variant);
  border-radius: var(--m3-shape-small);
  background: var(--m3-surface-container);
  color: var(--m3-on-surface);
  cursor: pointer;
  flex: 0 0 34px;
  font: inherit;
  letter-spacing: 0;
  padding: 0;
}

.theme-toggle svg {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  background: var(--m3-secondary-container);
  color: var(--m3-on-secondary-container);
  outline: 2px solid var(--m3-primary);
  outline-offset: 2px;
}

.mobile-theme-row {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid var(--m3-outline-variant);
  padding-top: 10px;
  margin-top: 10px;
}

.nav-link:hover,
.nav-link:focus-visible,
.nav-actions .primary,
.mobile-quick-links .primary,
.mobile-primary:hover,
.mobile-primary-link:hover {
  color: var(--m3-primary);
}

.mega,
.lang-menu,
.mobile-panel,
.mobile-language-links {
  background: color-mix(in srgb, var(--m3-surface-container-lowest) 94%, transparent);
  border-color: var(--m3-outline-variant);
  box-shadow: var(--m3-elevation-3);
}

.footer,
.site-footer,
.legal-footer {
  background: #2a2a2a;
  color: #b0b0b0;
}

.footer a,
.site-footer a,
.legal-footer a {
  color: #9ecaff;
}

.footer a:hover,
.site-footer a:hover,
.legal-footer a:hover {
  color: #d3e4ff;
}

.button,
.hero-cta,
.route-link,
.record-action {
  border-radius: var(--m3-shape-extra-large);
}

.button,
.button.outlined {
  min-height: 44px;
  border: 1px solid var(--m3-outline);
  background: transparent;
  color: var(--m3-primary);
  box-shadow: var(--m3-elevation-0);
}

.button.primary,
.hero-cta.primary {
  border-color: var(--m3-primary);
  background: var(--m3-primary);
  color: var(--m3-on-primary);
}

.button.secondary,
.button.tonal,
.m3-tonal-button {
  border-color: transparent;
  background: var(--m3-secondary-container);
  color: var(--m3-on-secondary-container);
}

.button:hover,
.button:focus-visible {
  border-color: var(--m3-primary);
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
  box-shadow: var(--m3-elevation-1);
}

.button.primary:hover,
.button.primary:focus-visible,
.hero-cta.primary:hover,
.hero-cta.primary:focus-visible {
  background: color-mix(in srgb, var(--m3-primary) 88%, var(--m3-on-surface));
  color: var(--m3-on-primary);
  box-shadow: var(--m3-elevation-2);
}

.product-card,
.route-card,
.record-card,
.company-card,
.portfolio-card,
.policy-card,
.pricing-card,
.availability-card,
.billing-intro-card,
.doc-hub-card,
.visual-card,
.gallery-card,
.commerce-panel,
.panel,
.package-card {
  border: 1px solid var(--m3-outline-variant);
  border-radius: var(--af-radius-card);
  background: var(--m3-surface-container-lowest);
  box-shadow: var(--af-shadow-card);
}

.product-card:hover,
.route-card:hover,
.record-card:hover,
.portfolio-card:hover,
.visual-card:hover,
.gallery-card:hover {
  box-shadow: var(--m3-elevation-3);
}

.section.alt,
.routes-section,
.service-row {
  background: var(--m3-surface-container-low);
  color: var(--m3-on-surface);
}

.service-row:hover,
.service-row:focus-visible {
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
}

.fab,
.m3-fab {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900;
  width: 56px;
  height: 56px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: var(--m3-shape-large);
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
  box-shadow: var(--m3-elevation-3);
}

.standard:hover,
.product-standard:hover {
  background: var(--af-product-standard);
}

.opencore:hover,
.product-opencore:hover {
  background: var(--af-product-opencore);
}

.sdk:hover,
.product-lab:hover,
.product-sdk:hover {
  background: var(--af-product-sdk);
}

.asickit:hover,
.product-evaluation:hover,
.product-asickit:hover {
  background: var(--af-product-asickit);
}

.labs:hover,
.product-labs:hover {
  background: var(--af-product-labs);
}

/* Contrast-only guards for forced light/dark and interactive state audits. */
:root {
  --af-menu-kicker: #5f6368;
  --af-hero-link: #cfe5ff;
}

html[data-theme="dark"] {
  --af-menu-kicker: #c1c7cf;
  --af-hero-link: #d3e4ff;
}

.hero-card::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, .42) 34%, rgba(0, 0, 0, .68) 66%, rgba(0, 0, 0, .88) 100%);
}

.hero-card::after {
  background: radial-gradient(circle at 76% 22%, rgba(45, 130, 255, .22), transparent 32%), linear-gradient(90deg, rgba(0, 0, 0, .50), transparent 58%);
}

.hero-copy,
.hero h1,
.hero .eyebrow,
.hero p {
  color: #ffffff;
}

.hero .links a {
  color: var(--af-hero-link);
}

.mega h3,
.mobile-columns h3 {
  color: var(--af-menu-kicker);
}

.mega .lead-links a,
.mega .small-links a,
.lang-menu a,
.mobile-columns a,
.mobile-language-links a {
  color: var(--m3-on-surface);
}

.nav-actions .sso-button,
.mobile-quick-links .sso-button {
  color: var(--m3-on-surface);
}

.nav-actions .sso-button:hover,
.nav-actions .sso-button:focus-visible,
.nav-actions .sso-button:active,
.mobile-quick-links .sso-button:hover,
.mobile-quick-links .sso-button:focus-visible,
.mobile-quick-links .sso-button:active {
  color: var(--m3-primary);
}

.mega-note {
  color: var(--m3-on-surface-variant);
}

.site-header .lang-menu a,
.site-header .lang-menu a:hover,
.site-header .lang-menu a:focus-visible,
.mobile-language-links a:hover,
.mobile-language-links a:focus-visible,
.mobile-language-links a:active {
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

.site-header .lang-menu a:active {
  background: #1f2a42;
  color: #ffffff;
}

.mobile-language-toggle {
  border-color: var(--m3-outline);
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

.button:active,
.hero-cta:active,
.route-link:active,
.record-action:active {
  border-color: var(--m3-primary);
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
}

.button.primary:active,
.hero-cta.primary:active {
  border-color: var(--m3-primary);
  background: var(--m3-primary);
  color: var(--m3-on-primary);
}

.cookie {
  border-color: var(--m3-outline-variant);
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

.cookie p {
  color: var(--m3-on-surface-variant);
}

.cookie-actions .accept,
.cookie-actions .necessary {
  border-color: var(--m3-outline);
}

.cookie-actions .accept {
  background: var(--m3-primary);
  color: var(--m3-on-primary);
}

.cookie-actions .accept:hover,
.cookie-actions .accept:focus-visible,
.cookie-actions .accept:active {
  background: color-mix(in srgb, var(--m3-primary) 88%, var(--m3-on-surface));
  color: var(--m3-on-primary);
}

.cookie-actions .necessary {
  background: var(--m3-surface-container);
  color: var(--m3-on-surface);
}

.cookie-actions .necessary:hover,
.cookie-actions .necessary:focus-visible,
.cookie-actions .necessary:active {
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
}

.route-card.pccx,
.route-card.research,
.route-card.investment {
  background-color: #111820;
}

html[data-theme="dark"] .section .lead,
html[data-theme="dark"] .section-head p {
  color: var(--m3-on-surface-variant) !important;
}

html[data-theme="dark"] .product-art {
  color: #111820;
}

html[data-theme="dark"] .service-row,
html[data-theme="dark"] .service-row:nth-child(2) {
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

html[data-theme="dark"] .service-row-copy h2 {
  color: var(--m3-on-surface) !important;
}

html[data-theme="dark"] .service-row-copy p {
  color: var(--m3-on-surface-variant) !important;
}

html[data-theme="dark"] .service-row-copy span,
html[data-theme="dark"] .service-row-copy strong {
  color: var(--m3-primary);
}

html[data-theme="dark"] .service-row-visual {
  color: var(--m3-on-surface);
}

html[data-theme="dark"] .service-row:hover,
html[data-theme="dark"] .service-row:focus-visible {
  background: var(--m3-primary-container);
  color: var(--m3-on-primary-container);
}

html[data-theme="dark"] .service-row:hover .service-row-copy h2,
html[data-theme="dark"] .service-row:focus-visible .service-row-copy h2,
html[data-theme="dark"] .service-row:hover .service-row-copy p,
html[data-theme="dark"] .service-row:focus-visible .service-row-copy p,
html[data-theme="dark"] .service-row:hover .service-row-copy strong,
html[data-theme="dark"] .service-row:focus-visible .service-row-copy strong {
  color: var(--m3-on-primary-container) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .service-row,
  :root:not([data-theme="light"]) .service-row:nth-child(2) {
    background: var(--m3-surface-container-lowest);
    color: var(--m3-on-surface);
  }

  :root:not([data-theme="light"]) .service-row-copy h2 {
    color: var(--m3-on-surface) !important;
  }

  :root:not([data-theme="light"]) .service-row-copy p {
    color: var(--m3-on-surface-variant) !important;
  }

  :root:not([data-theme="light"]) .service-row-copy span,
  :root:not([data-theme="light"]) .service-row-copy strong {
    color: var(--m3-primary);
  }

  :root:not([data-theme="light"]) .service-row-visual {
    color: var(--m3-on-surface);
  }

  :root:not([data-theme="light"]) .service-row:hover,
  :root:not([data-theme="light"]) .service-row:focus-visible {
    background: var(--m3-primary-container);
    color: var(--m3-on-primary-container);
  }

  :root:not([data-theme="light"]) .service-row:hover .service-row-copy h2,
  :root:not([data-theme="light"]) .service-row:focus-visible .service-row-copy h2,
  :root:not([data-theme="light"]) .service-row:hover .service-row-copy p,
  :root:not([data-theme="light"]) .service-row:focus-visible .service-row-copy p,
  :root:not([data-theme="light"]) .service-row:hover .service-row-copy strong,
  :root:not([data-theme="light"]) .service-row:focus-visible .service-row-copy strong {
    color: var(--m3-on-primary-container) !important;
  }
}

input::placeholder,
textarea::placeholder {
  color: #5f6368;
  opacity: 1;
}

#signInFormUsername::placeholder,
#signInFormPassword::placeholder {
  color: #5f6368 !important;
  opacity: 1 !important;
}

.record-card .num {
  color: #3b3f46;
}

.record-card.record-pccx .num {
  color: #007187;
}

.record-card.record-research .num {
  color: #2f7d26;
}

.record-card.record-investment .num {
  color: #94612b;
}

html[data-theme="dark"] .company-list a,
html[data-theme="dark"] .product-card p,
html[data-theme="dark"] .portfolio-card p,
html[data-theme="dark"] .record-card p,
html[data-theme="dark"] .portfolio-list span {
  color: var(--m3-on-surface-variant) !important;
}

html[data-theme="dark"] .records-contact-grid a {
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

html[data-theme="dark"] .records-contact-grid a strong {
  color: var(--m3-on-surface) !important;
}

html[data-theme="dark"] .button.primary,
html[data-theme="dark"] .hero-cta.primary,
html[data-theme="dark"] .cookie-actions .accept {
  border-color: #9ecaff;
  background: #9ecaff;
  background-color: #9ecaff;
  color: #003258;
}

html[data-theme="dark"] .skip-link {
  background: var(--m3-surface-container-lowest);
  color: var(--m3-on-surface);
}

html[data-theme="dark"] .record-card .num {
  color: var(--m3-on-surface) !important;
}

html[data-theme="dark"] .records-contact-grid a span {
  color: var(--m3-on-surface-variant) !important;
}

/* v3 visible-contrast guards: exact user-reported elements and card copy. */
html[data-theme="light"] .service-row,
html[data-theme="light"] .service-row:nth-child(2) {
  background: #f3f6fb !important;
  color: #171c20 !important;
}

html[data-theme="light"] .service-row-copy h2 {
  color: #171c20 !important;
}

html[data-theme="light"] .service-row-copy p,
html[data-theme="light"] .service-row-visual {
  color: #343a40 !important;
}

html[data-theme="light"] .service-row-copy span,
html[data-theme="light"] .service-row-copy strong {
  color: #005a9c !important;
}

html[data-theme="light"] .service-row:hover,
html[data-theme="light"] .service-row:focus-visible,
html[data-theme="light"] .service-row:active {
  background: #d3e4ff !important;
  color: #001c37 !important;
}

html[data-theme="light"] .service-row:hover .service-row-copy h2,
html[data-theme="light"] .service-row:focus-visible .service-row-copy h2,
html[data-theme="light"] .service-row:active .service-row-copy h2,
html[data-theme="light"] .service-row:hover .service-row-copy p,
html[data-theme="light"] .service-row:focus-visible .service-row-copy p,
html[data-theme="light"] .service-row:active .service-row-copy p,
html[data-theme="light"] .service-row:hover .service-row-copy span,
html[data-theme="light"] .service-row:focus-visible .service-row-copy span,
html[data-theme="light"] .service-row:active .service-row-copy span,
html[data-theme="light"] .service-row:hover .service-row-copy strong,
html[data-theme="light"] .service-row:focus-visible .service-row-copy strong,
html[data-theme="light"] .service-row:active .service-row-copy strong,
html[data-theme="light"] .service-row:hover .service-row-visual,
html[data-theme="light"] .service-row:focus-visible .service-row-visual,
html[data-theme="light"] .service-row:active .service-row-visual {
  color: #001c37 !important;
}

html[data-theme="dark"] .portfolio-card,
html[data-theme="dark"] .company-card,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .record-card {
  background: #0b0f12 !important;
  color: #e1e4ea !important;
  border-color: #41474d;
}

html[data-theme="dark"] .portfolio-card.future,
html[data-theme="dark"] .company-identity {
  background: linear-gradient(135deg, #111820, #1c2a38) !important;
  background-color: #111820 !important;
  color: #e1e4ea !important;
}

html[data-theme="dark"] .portfolio-card:hover,
html[data-theme="dark"] .portfolio-card:focus-visible,
html[data-theme="dark"] .portfolio-card:active,
html[data-theme="dark"] .company-card:hover,
html[data-theme="dark"] .company-card:focus-within,
html[data-theme="dark"] .company-card:active,
html[data-theme="dark"] .product-card:hover,
html[data-theme="dark"] .product-card:focus-visible,
html[data-theme="dark"] .product-card:active,
html[data-theme="dark"] .record-card:hover,
html[data-theme="dark"] .record-card:focus-visible,
html[data-theme="dark"] .record-card:active {
  background: #1c2024 !important;
  color: #e1e4ea !important;
}

html[data-theme="dark"] .portfolio-card h3,
html[data-theme="dark"] .portfolio-card strong,
html[data-theme="dark"] .company-card h3,
html[data-theme="dark"] .company-name,
html[data-theme="dark"] .product-card h3,
html[data-theme="dark"] .record-card strong {
  color: #e1e4ea !important;
}

html[data-theme="dark"] .portfolio-card p,
html[data-theme="dark"] .portfolio-list span,
html[data-theme="dark"] .company-descriptor,
html[data-theme="dark"] .company-id-foot,
html[data-theme="dark"] .company-list a,
html[data-theme="dark"] .product-card p,
html[data-theme="dark"] .record-card p {
  color: #c1c7cf !important;
}

html[data-theme="dark"] .mega .lead-links a,
html[data-theme="dark"] .mega .small-links a,
html[data-theme="dark"] .mobile-columns a {
  background: transparent !important;
  color: #e1e4ea !important;
}

html[data-theme="dark"] .mega .lead-links a:hover,
html[data-theme="dark"] .mega .lead-links a:focus-visible,
html[data-theme="dark"] .mega .small-links a:hover,
html[data-theme="dark"] .mega .small-links a:focus-visible,
html[data-theme="dark"] .mobile-columns a:hover,
html[data-theme="dark"] .mobile-columns a:focus-visible,
html[data-theme="dark"] .mobile-columns a:active {
  background: #1c2024 !important;
  color: #d3e4ff !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .portfolio-card,
  :root:not([data-theme="light"]) .company-card,
  :root:not([data-theme="light"]) .product-card,
  :root:not([data-theme="light"]) .record-card {
    background: #0b0f12 !important;
    color: #e1e4ea !important;
    border-color: #41474d;
  }

  :root:not([data-theme="light"]) .portfolio-card.future,
  :root:not([data-theme="light"]) .company-identity {
    background: linear-gradient(135deg, #111820, #1c2a38) !important;
    background-color: #111820 !important;
    color: #e1e4ea !important;
  }

  :root:not([data-theme="light"]) .portfolio-card:hover,
  :root:not([data-theme="light"]) .portfolio-card:focus-visible,
  :root:not([data-theme="light"]) .portfolio-card:active,
  :root:not([data-theme="light"]) .company-card:hover,
  :root:not([data-theme="light"]) .company-card:focus-within,
  :root:not([data-theme="light"]) .company-card:active,
  :root:not([data-theme="light"]) .product-card:hover,
  :root:not([data-theme="light"]) .product-card:focus-visible,
  :root:not([data-theme="light"]) .product-card:active,
  :root:not([data-theme="light"]) .record-card:hover,
  :root:not([data-theme="light"]) .record-card:focus-visible,
  :root:not([data-theme="light"]) .record-card:active {
    background: #1c2024 !important;
    color: #e1e4ea !important;
  }

  :root:not([data-theme="light"]) .portfolio-card h3,
  :root:not([data-theme="light"]) .portfolio-card strong,
  :root:not([data-theme="light"]) .company-card h3,
  :root:not([data-theme="light"]) .company-name,
  :root:not([data-theme="light"]) .product-card h3,
  :root:not([data-theme="light"]) .record-card strong {
    color: #e1e4ea !important;
  }

  :root:not([data-theme="light"]) .mega .lead-links a,
  :root:not([data-theme="light"]) .mega .small-links a,
  :root:not([data-theme="light"]) .mobile-columns a {
    background: transparent !important;
    color: #e1e4ea !important;
  }

  :root:not([data-theme="light"]) .mega .lead-links a:hover,
  :root:not([data-theme="light"]) .mega .lead-links a:focus-visible,
  :root:not([data-theme="light"]) .mega .small-links a:hover,
  :root:not([data-theme="light"]) .mega .small-links a:focus-visible,
  :root:not([data-theme="light"]) .mobile-columns a:hover,
  :root:not([data-theme="light"]) .mobile-columns a:focus-visible,
  :root:not([data-theme="light"]) .mobile-columns a:active {
    background: #1c2024 !important;
    color: #d3e4ff !important;
  }

  :root:not([data-theme="light"]) .record-card .num,
  :root:not([data-theme="light"]) .company-list a,
  :root:not([data-theme="light"]) .product-card p,
  :root:not([data-theme="light"]) .portfolio-card p,
  :root:not([data-theme="light"]) .record-card p,
  :root:not([data-theme="light"]) .portfolio-list span,
  :root:not([data-theme="light"]) .records-contact-grid a span {
    color: var(--m3-on-surface-variant) !important;
  }

  :root:not([data-theme="light"]) .record-card .num {
    color: var(--m3-on-surface) !important;
  }

  :root:not([data-theme="light"]) .records-contact-grid a {
    background: var(--m3-surface-container-lowest);
    color: var(--m3-on-surface);
  }

  :root:not([data-theme="light"]) .records-contact-grid a strong {
    color: var(--m3-on-surface) !important;
  }

  :root:not([data-theme="light"]) .button.primary,
  :root:not([data-theme="light"]) .hero-cta.primary,
  :root:not([data-theme="light"]) .cookie-actions .accept {
    border-color: #9ecaff;
    background: #9ecaff;
    background-color: #9ecaff;
    color: #003258;
  }

  :root:not([data-theme="light"]) .skip-link {
    background: var(--m3-surface-container-lowest);
    color: var(--m3-on-surface);
  }
}
