/* ================================================================
   OMNIAGENT  —  Enterprise Light Theme (loaded last)
   Palette derived from the OmniAgent logo.
   ~80% white / neutrals, 15% navy + teal, 5% gold.
   ================================================================ */

:root {
  /* Spacing steps missing from main.css (previously collapsed to 0) */
  --sp-1: 0.25rem; --sp-3: 0.75rem; --sp-5: 1.25rem; --sp-7: 1.75rem; --sp-9: 2.25rem;
  --r-lg: 0.875rem; --fs-18: 1.125rem;
  --bg-raised: #EAF3F6; --border-default: #DDE3EC; --border-accent: #2A8FA0;
  --bg: #FFFFFF;
  --bg-alt: #F4F6FA;
  --line: #DDE3EC;
  --navy: #0B2F5B;
  --navy-deep: #071E3D;
  --ink: #1B2433;
  --muted: #5B6678;
  --teal: #2A8FA0;
  --teal-text: #1F6F7D;
  --teal-light: #55B8CC;
  --gold: #B88A3E;
  --gold-text: #8A6420;
  --gold-light: #E3C58D;

  /* Re-map the legacy tokens used by main/components/showcase/fx css */
  --black: var(--bg);
  --surface: var(--bg-alt);
  --raised: #FFFFFF;
  --white: var(--navy);
  --line-mid: #C7D1DF;
  --accent: var(--teal);
  --accent-dim: rgba(42, 143, 160, 0.14);
  --accent-bright: var(--teal-text);
  --accent-glow: rgba(42, 143, 160, 0.22);
  --bg-base: var(--bg);
  --bg-elevated: #FFFFFF;
  --bg-card: #FFFFFF;
  --text-primary: var(--ink);
  --text-secondary: var(--muted);
  --text-tertiary: var(--muted);
  --border-subtle: var(--line);
  --border-strong: var(--line-mid);
  --c-line: var(--line);
  --c-muted: var(--muted);

  --fg-rgb: 11, 47, 91;
  --shadow-card: 0 1px 2px rgba(11, 47, 91, 0.05), 0 12px 32px -12px rgba(11, 47, 91, 0.16);
  --font-display: 'Sora', system-ui, sans-serif;
  --tap: 44px;
}

/* Dark navy bands: hero, CTA, footer. White text, gold-light accents. */
.c-hero, .page-hero, .c-cta, .cta-banner, .footer, .c-orbit, .stack-orbit-section,
.caps-scroll-section, .nav:not(.is-scrolled) {
  --black: var(--navy-deep);
  --surface: #0B2A52;
  --raised: #0D3263;
  --white: #FFFFFF;
  --muted: rgba(255, 255, 255, 0.76);
  --text-primary: #FFFFFF;
  --text-secondary: rgba(255, 255, 255, 0.76);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --line: rgba(255, 255, 255, 0.12);
  --line-mid: rgba(255, 255, 255, 0.24);
  --accent: var(--teal-light);
  --accent-bright: var(--gold-light);
  --bg-card: #0D3263;
  --fg-rgb: 255, 255, 255;
  color: #FFFFFF;
}

/* ── Base ─────────────────────────────────────────────────────── */
html {
  background: var(--bg);
  color: var(--ink);
  scrollbar-color: var(--line-mid) var(--bg);
}
body {
  background: var(--bg);
  color: var(--ink);
}
body::before { display: none; } /* remove film grain */
::selection { background: var(--teal); color: #fff; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line-mid); }
::-webkit-scrollbar-thumb:hover { background: var(--teal); }

h1, h2, h3, h4, h5, h6 { color: var(--white); }
p { color: var(--muted); }
main p, main li { color: var(--muted); }
a { color: inherit; }
main a:not([class]) { color: var(--teal-text); text-decoration: none; }
main a:not([class]):hover { text-decoration: underline; }
main a:not([class]):visited { color: var(--navy); }
main .c-orbit a:not([class]), main .caps-scroll-section a:not([class]), main .page-hero a:not([class]),
main .c-cta a:not([class]), main .cta-banner a:not([class]), main .stack-orbit-section a:not([class]),
main .c-orbit a:not([class]):visited, main .page-hero a:not([class]):visited,
main .caps-scroll-section a:not([class]):visited { color: var(--gold-light); }

.privacy-notice { max-width: 800px; }
.privacy-notice section + section { margin-top: 40px; }
.privacy-notice h2 { font-size: clamp(1.35rem, 3vw, 1.8rem); margin-bottom: 16px; }
.privacy-notice p + p, .privacy-notice ul + p { margin-top: 16px; }
.privacy-notice ul { padding-left: 24px; list-style: disc; }
.privacy-notice li + li { margin-top: 12px; }
.privacy-notice a, .field--check a, .field__hint a { color: var(--teal-text); text-decoration: underline; text-underline-offset: 3px; }

:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
  border-radius: 4px;
}
.c-hero :focus-visible, .page-hero :focus-visible, .c-cta :focus-visible,
.cta-banner :focus-visible, .footer :focus-visible { outline-color: var(--teal-light); }

/* ── Section rhythm: every second section on mist ─────────────── */
.section--alt, .c-process, .caps-scroll-section.is-alt { background: var(--bg-alt); }
.section--alt, .c-process { border-block: 1px solid var(--line); }
.c-proof, .section { background: var(--bg); }
.section--alt { background: var(--bg-alt); }

/* ── Clients (centred) ─────────────────────────────────────────── */
.c-clients {
  background: var(--bg-alt);
  border-block: 1px solid var(--line);
  padding-block: clamp(3rem, 8vw, 5.5rem);
  text-align: center;
}
.c-clients__head { max-width: 640px; margin: 0 auto; }
.c-clients__head h2 { margin-top: 0.75rem; font-size: clamp(1.5rem, 4vw, 2.25rem); color: var(--navy); }
.c-clients__head h2::after {
  content: ""; display: block; width: 48px; height: 3px; margin: 1rem auto 0; background: var(--gold);
}
.c-clients__head p { margin-top: 1rem; color: var(--muted); }
.c-clients__list {
  list-style: none; margin: 2.5rem auto 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem;
}
.c-clients__item {
  flex: 1 1 260px; max-width: 340px;
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  padding: 2rem 1.5rem;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  box-shadow: 0 1px 0 #fff inset, 0 10px 24px -14px rgba(11, 47, 91, 0.3);
  border-top: 3px solid var(--gold);
}
.c-clients__name { font-size: clamp(1.25rem, 3.5vw, 1.6rem); font-weight: 700; letter-spacing: -0.01em; color: var(--navy); }
.c-clients__meta { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-text); }

/* Eyebrow / section labels: gold-for-text, uppercase, spaced */
.c-eyebrow, .section__label, .section-label, .eyebrow, .page-hero__label, .c-proof__tag {
  color: var(--gold-text);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.c-orbit .c-eyebrow, .stack-orbit-section .c-eyebrow, .caps-scroll-section .eyebrow,
.caps-scroll-section .c-eyebrow, .c-orbit__n,
.c-hero .c-eyebrow, .page-hero .c-eyebrow, .c-hero .eyebrow, .page-hero .eyebrow,
.page-hero .section__label, .page-hero .page-hero__label, .c-cta .c-eyebrow,
.cta-banner .c-eyebrow { color: var(--gold-light); }

/* 2–3px gold divider under section heads */
.c-section-head h2::after, .section-head h2::after, .section__head h2::after {
  content: '';
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 1.1rem;
  background: var(--gold);
  border-radius: 2px;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.c-btn, .btn { min-height: var(--tap); }
.c-btn--primary, .btn-primary {
  background: var(--navy);
  color: #fff;
  border: 1px solid var(--navy);
}
.c-btn--primary:hover, .btn-primary:hover {
  background: var(--navy-deep);
  box-shadow: 0 12px 28px -8px rgba(7, 30, 61, 0.45);
}
.c-btn--ghost, .btn-ghost {
  background: #fff;
  color: var(--teal-text);
  border: 1px solid var(--teal);
}
.c-btn--ghost:hover, .btn-ghost:hover { background: var(--bg-alt); border-color: var(--teal); }
.btn-accent { background: var(--gold); color: var(--navy); font-weight: 700; }
.btn-accent:hover { background: #A67A33; box-shadow: 0 12px 28px -8px rgba(184, 138, 62, 0.55); }
.btn-link { color: var(--teal-text); }
.btn-link:hover { color: var(--navy); text-decoration: underline; }

/* One gold call to action per screen: the hero + closing CTA primary buttons.
   On navy bands the primary button is gold, the ghost is outlined white. */
.c-hero .c-btn--primary, .page-hero .c-btn--primary, .c-cta .c-btn--primary,
.cta-banner .c-btn--primary, .cta-banner .btn-primary {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
  font-weight: 700;
}
.c-hero .c-btn--primary:hover, .page-hero .c-btn--primary:hover,
.c-cta .c-btn--primary:hover, .cta-banner .c-btn--primary:hover,
.cta-banner .btn-primary:hover { background: #A67A33; border-color: #A67A33; }
.c-hero .c-btn--ghost, .page-hero .c-btn--ghost, .c-cta .c-btn--ghost,
.cta-banner .c-btn--ghost, .cta-banner .btn-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}
.c-hero .c-btn--ghost:hover, .page-hero .c-btn--ghost:hover, .c-cta .c-btn--ghost:hover,
.cta-banner .c-btn--ghost:hover, .cta-banner .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
}

/* ── Navigation ───────────────────────────────────────────────── */
.nav.is-scrolled {
  background: rgba(255, 255, 255, 0.9);
  border-bottom-color: var(--line);
  box-shadow: 0 8px 24px -16px rgba(11, 47, 91, 0.25);
}
.nav__brand img { width: 34px; height: 34px; border-radius: 0; }
.nav:not(.is-scrolled) .nav__brand img { background: #fff; border-radius: 8px; padding: 2px; }
.nav__brand-text { color: var(--navy); font-weight: 600; }
.nav__brand-text span { color: var(--teal-text); }
.nav:not(.is-scrolled) .nav__brand-text { color: #fff; }
.nav:not(.is-scrolled) .nav__brand-text span { color: var(--gold-light); }
.nav__link { color: var(--ink); }
.nav:not(.is-scrolled) .nav__link { color: rgba(255, 255, 255, 0.85); }
.nav__link:hover, .nav__link.is-active { color: var(--navy); background: rgba(42, 143, 160, 0.1); }
.nav:not(.is-scrolled) .nav__link:hover,
.nav:not(.is-scrolled) .nav__link.is-active { color: #fff; background: rgba(255, 255, 255, 0.12); }
.nav__link.is-active { box-shadow: inset 0 -2px 0 var(--gold); }
.nav__toggle, .nav__menu-close { width: var(--tap); height: var(--tap); }
.nav__toggle:hover, .nav__menu-close:hover { background: rgba(42, 143, 160, 0.1); }
.nav:not(.is-scrolled) .nav__toggle:hover { background: rgba(255, 255, 255, 0.12); }
.nav:not(.is-scrolled) .btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.45); }
.nav:not(.is-scrolled) .btn-ghost:hover { background: rgba(255, 255, 255, 0.12); }
.nav__menu { background: #fff; --white: var(--navy); --line: var(--line); }
.nav__menu .nav__brand-text { color: var(--navy); }
.nav__menu .nav__brand-text span { color: var(--teal-text); }
.nav__menu-link { color: var(--navy); }
.nav__menu-link:hover { color: var(--teal-text); }
.nav__menu .btn-primary { width: 100%; justify-content: center; }

/* ── Footer ───────────────────────────────────────────────────── */
.footer { background: var(--navy-deep); border-top: 3px solid var(--gold); color: #fff; }
.footer__col h6 { color: var(--gold-light); }
.footer__col a { color: rgba(255, 255, 255, 0.78); }
.footer__col a:hover { color: #fff; text-decoration: underline; }
.footer__brand p, .footer p { color: rgba(255, 255, 255, 0.72); }
.footer__bottom, .footer__bottom * { color: rgba(255, 255, 255, 0.62); }
.footer .nav__brand img { background: #fff; border-radius: 8px; padding: 2px; }
.footer .nav__brand-text { color: #fff; }
.footer .nav__brand-text span { color: var(--gold-light); }

/* ── Hero (deep navy band) ────────────────────────────────────── */
.c-hero, .page-hero {
  background:
    radial-gradient(ellipse 70% 60% at 85% 20%, rgba(42, 143, 160, 0.32), transparent 65%),
    radial-gradient(ellipse 50% 50% at 10% 100%, rgba(184, 138, 62, 0.14), transparent 70%),
    linear-gradient(180deg, #071E3D 0%, #0B2F5B 100%);
  color: #fff;
}
.c-hero::after { background: linear-gradient(to top, rgba(7, 30, 61, 0.7), transparent); }
.c-hero__bg {
  background-image:
    linear-gradient(rgba(85, 184, 204, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(85, 184, 204, 0.09) 1px, transparent 1px);
}
.c-hero__title { color: #fff; }
.c-hero__title .c-line-wrap:nth-child(3) > span { color: var(--gold-light); }
.page-hero h1, .page-hero h2 { color: #fff; }
.page-hero p, .c-hero p, .c-cta p, .cta-banner p { color: rgba(255, 255, 255, 0.8); }
.c-cta, .cta-banner {
  background:
    radial-gradient(ellipse 60% 80% at 80% 0%, rgba(42, 143, 160, 0.3), transparent 65%),
    var(--navy-deep);
  border-top: 3px solid var(--gold);
}
.c-cta h2, .cta-banner h2, .c-cta__title { color: #fff; }

/* ── Futuristic layer: tech grid + glass cards + HUD corners ──── */
.c-process, .c-proof, .section, .section--alt {
  position: relative;
  isolation: isolate;
}
.c-process::before, .c-proof::before, .section--alt::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(11, 47, 91, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 47, 91, 0.045) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%);
          mask-image: linear-gradient(180deg, #000, transparent 85%);
}

.c-step, .c-proof__item, .value-card, .card, .contact__detail, .c-svc {
  background: #fff;
  border-color: var(--line);
}
.tag { border-color: var(--line-mid); color: var(--muted); background: transparent; }
.tag:hover { border-color: var(--teal); color: var(--navy); }
.caps-scroll-section .tag, .c-cta .tag { background: rgba(255, 255, 255, 0.08); color: #fff; border-color: rgba(255, 255, 255, 0.3); }
.c-step, .c-proof__item, .value-card, .card {
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-card);
  position: relative;
  transition: transform 260ms var(--ease-out), border-color 260ms, box-shadow 260ms;
}
.c-step:hover, .c-proof__item:hover, .value-card:hover, .card:hover {
  transform: translateY(-4px);
  border-color: var(--teal);
  box-shadow: 0 1px 2px rgba(11, 47, 91, 0.05), 0 20px 40px -14px rgba(42, 143, 160, 0.35);
}
/* HUD corner brackets */
.c-step::before, .c-proof__item::before {
  content: '';
  position: absolute;
  top: 8px; right: 8px;
  width: 14px; height: 14px;
  border-top: 2px solid var(--gold);
  border-right: 2px solid var(--gold);
  opacity: 0.8;
  pointer-events: none;
}
.c-process .c-step .c-step__n, .c-step.c-reveal.is-visible .c-step__n { color: var(--gold); opacity: 0.9; text-shadow: none; }
.c-step__n, .c-proof__stat span { color: var(--gold); }
.c-step h3, .c-proof__stat { color: var(--navy); }
.c-proof__desc, .c-step p { color: var(--muted); }

/* Process + proof: separated cards instead of hairline dividers */
.c-process__steps { gap: 1.25rem; }
.c-step, .c-step:last-child { padding: 2rem 1.5rem; border: 1px solid var(--line); }
.c-step__n { font-size: clamp(2rem, 3.2vw, 3rem); }
.c-proof__grid { gap: 1.25rem; background: transparent; border: 0; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .c-proof__grid { grid-template-columns: repeat(2, 1fr); } .c-process__steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .c-proof__grid, .c-process__steps { grid-template-columns: 1fr; }
  .c-proof__item--wide { grid-column: auto; }
}
.c-proof__item { background: #fff; }
.c-proof__item:hover { background: #fff; }
.c-proof__stat { font-size: clamp(1.5rem, 2.6vw, 2.5rem); }
.c-proof__tag { color: var(--gold-text); }

/* Dark band hard-coded greys: lift to accessible tints */
.c-orbit__sticky, .stack-orbit-sticky, .caps-scroll-stage { background: var(--navy-deep); }
.c-orbit { border-bottom: 3px solid var(--gold); }
.c-orbit__card {
  background: linear-gradient(160deg, #0F3A6F 0%, #0B2A52 100%);
  border-color: rgba(255, 255, 255, 0.14);
}
.c-orbit__card.is-active {
  border-color: var(--teal-light);
  box-shadow: 0 0 0 1px rgba(85, 184, 204, 0.3), 0 0 80px rgba(42, 143, 160, 0.35);
}
.c-orbit__card-ft span, .orbit-scroll-hint { color: rgba(255, 255, 255, 0.62); }
.c-orbit__card-ft a { color: var(--gold-light); }
.c-orbit__card-ft a:hover { color: #fff; text-decoration: underline; }
.c-orbit__pips button { background: rgba(255, 255, 255, 0.35); }
.c-orbit__pips button.is-active { background: var(--gold-light); }
.case[data-caps-panel]::before {
  background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 35%, rgba(7, 30, 61, 0.6) 100%);
}
.caps-screen-glow { background: radial-gradient(ellipse 65% 55% at 50% 50%, rgba(42, 143, 160, 0.16), transparent 70%); }
.orbit-card { background: #0D3263; color: #fff; border-color: rgba(255, 255, 255, 0.2); }
.orbit-center__icon { color: var(--teal-light); }

/* Globe: solid, lit sphere with depth */
.c-hero__globe { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 60px rgba(42, 143, 160, 0.25)); }
@media (min-width: 901px) {
  .c-hero__globe { right: clamp(8px, 2vw, 40px); width: clamp(440px, 46vw, 640px); }
}
.c-globe-svg [stroke-width="1.2"], .c-globe-svg [stroke-width="1.4"], .c-globe-svg [stroke-width="1"] { stroke-width: 1.6; }
.c-globe-svg circle[filter] { r: 7px; }

/* ── Inline SVG recolour (artwork authored for a dark theme) ───── */
svg [fill="#5d73ff"], svg [fill="#6384ff"], svg [fill="#8a9bff"] { fill: var(--teal-light); }
svg [stroke="#5d73ff"] { stroke: var(--teal-light); }
svg [stroke="#c8d0ff"], svg [fill="#c0caff"], svg [fill="#a0adff"], svg [fill="#4ade80"] { stroke: var(--gold-light); fill: var(--gold-light); }
svg [stroke="#c8d0ff"] { fill: none; }
svg [stop-color="#5d73ff"], svg [stop-color="#6384ff"] { stop-color: var(--teal-light); }
svg [fill="#0d0d12"], svg [fill^="rgba(6,6,9"] { fill: #0B2A52; }
svg [fill="#f0f0ea"] { fill: #FFFFFF; }
svg [stroke^="rgba(93,115,255"] { stroke: var(--teal-light); }
svg [stroke^="rgba(74,222,128"], svg [stroke^="rgba(160,173,255"] { stroke: var(--gold-light); }
svg [fill^="rgba(93,115,255"] { fill: rgba(85, 184, 204, 0.3); }

/* Visual "screens" stay navy so their light text keeps contrast */
.case__visual, .viz-payment, .viz-orchestration, .viz-pipeline {
  background-color: var(--navy-deep);
  --white: #fff;
  --muted: rgba(255, 255, 255, 0.76);
  --accent: var(--teal-light);
  --fg-rgb: 255, 255, 255;
}
.case__visual { border-color: var(--navy); box-shadow: var(--shadow-card); }
.page-hero { --c-muted: rgba(255, 255, 255, 0.8); --text-quaternary: rgba(255, 255, 255, 0.7); }
:root { --text-quaternary: var(--muted); }
.page-hero .breadcrumbs, .page-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.78); }
.page-hero .breadcrumbs a:hover { color: #fff; }
.page-hero { border-bottom: 3px solid var(--gold); }

/* Services sticky sub-nav */
.svc-nav { background: rgba(255, 255, 255, 0.94); border-bottom: 1px solid var(--line); }
.svc-nav__pill { color: var(--muted); min-height: 36px; }
.svc-nav__pill:hover { color: var(--navy); }
.svc-nav__pill.is-active { color: var(--teal-text); border-color: var(--teal); background: rgba(42, 143, 160, 0.1); }

.contact__detail h6 { color: var(--gold-text); }
.contact__detail a { color: var(--teal-text); }
.contact__detail a:hover { color: var(--navy); text-decoration: underline; }
.contact__detail-icon { background: rgba(42, 143, 160, 0.12); color: var(--teal-text); }
.contact__detail:hover { border-color: var(--teal); }
.field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2F5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}
.req { color: var(--gold-text); }
.service-detail__pillar { box-shadow: var(--shadow-card); border-radius: 12px; }
.service-detail__num { color: var(--gold-text); }
@media (max-width: 900px) {
  .field input, .field select, .field textarea { font-size: 16px; } /* stops iOS zoom-on-focus */
}

/* ── Executive profiles ───────────────────────────────────────── */
.exec-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.exec-card {
  position: relative;
  display: flex; flex-direction: column; gap: 1.25rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 12px;
  box-shadow: var(--shadow-card);
}
.exec-card__head { display: flex; align-items: center; gap: 1.1rem; }
.exec-card__avatar {
  flex: none; width: 68px; height: 68px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(135deg, var(--navy) 0%, var(--teal) 100%);
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--gold);
}
.exec-card__name { font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.15; margin: 0 0 0.3rem; }
.exec-card__role {
  margin: 0; font-family: var(--font-mono); font-size: 0.72rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-text);
}
.exec-card__bio { font-size: 0.95rem; line-height: 1.7; color: var(--muted); }
.exec-card__facts { display: grid; gap: 0.6rem; margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.exec-card__facts li {
  display: grid; grid-template-columns: 5.5rem 1fr; gap: 0.75rem;
  font-size: 0.875rem; line-height: 1.5; color: var(--ink);
}
.exec-card__facts span {
  font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--teal-text); padding-top: 0.2rem;
}
@media (max-width: 800px) {
  .exec-grid { grid-template-columns: 1fr; }
  .exec-card__avatar { width: 56px; height: 56px; font-size: 1.05rem; }
  .exec-card__facts li { grid-template-columns: 1fr; gap: 0.1rem; }
}

/* Animated scan line across navy hero */
.c-hero::before, .page-hero::before {
  content: '';
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 120px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(85, 184, 204, 0.12), transparent);
  animation: oa-scan 9s linear infinite;
}
@keyframes oa-scan {
  from { transform: translateY(-120px); }
  to   { transform: translateY(110vh); }
}

/* Plain-language copy first, technical term as a quiet secondary tag */
.c-orbit__card p em {
  display: block;
  margin-top: 0.5rem;
  font-style: normal;
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--gold-light);
  opacity: 0.9;
}

/* ── Readability and spacing floor (UX audit) ─────────────────── */
.c-eyebrow, .eyebrow, .c-orbit__n, .c-proof__tag, .tag, .svc-nav__pill, .model-card__head,
.orbit-center__label, .orbit-scroll-hint, .c-orbit__card-ft span, .c-orbit__card p em,
.exec-card__facts span, .contact__detail h6, .footer__col h6 { font-size: max(0.75rem, 12px); }
.footer a, .footer__col a, .c-orbit__card-ft a, .footer__bottom a {
  display: inline-flex; align-items: center; min-height: 40px;
}
.value-card { padding: 1.75rem; }
.value-card__icon { margin-bottom: 1.1rem; }
.value-card h4 { margin-bottom: 0.65rem; line-height: 1.25; }
.value-card p, .c-step p, .c-proof__desc, .model-card p, .faq-item__panel p { line-height: 1.65; }
.c-step h3, .c-proof__stat, .model-card h4 { margin-bottom: 0.6rem; }
.case { padding-inline: clamp(1.25rem, 5vw, 3rem); }

/* ── Forms ────────────────────────────────────────────────────── */
input, textarea, select { color: var(--ink); background: #fff; }
.field input, .field textarea, .field select {
  background: #fff;
  border: 1px solid var(--line-mid);
  color: var(--ink);
  min-height: var(--tap);
}
.field input:focus, .field textarea:focus, .field select:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(42, 143, 160, 0.18);
  outline: none;
}
.field label { color: var(--navy); }
.field__hint { color: var(--muted); }
.form__status.is-success { color: #1B7A46; }
.form__status.is-error { color: #B42318; }

/* ── Responsive & mobile UX ───────────────────────────────────── */
html { -webkit-text-size-adjust: 100%; }
@media (max-width: 900px) {
  .nav__inner { height: 60px; }
  .c-hero { min-height: auto; }
  .c-hero__content { padding-top: 7rem; padding-bottom: 3.5rem; justify-content: flex-start; }
  .c-hero__title { font-size: clamp(2.4rem, 11vw, 4rem); line-height: 0.98; }
  .c-hero__actions, .c-cta__actions { width: 100%; flex-direction: column; }
  .c-hero__actions .c-btn, .c-cta__actions .c-btn { width: 100%; justify-content: center; }
  .c-hero__globe { opacity: 0.5 !important; right: -45vw; width: 110vw; }
  .nav__cta .btn-ghost { display: none; }
  .nav__toggle { display: inline-flex; }
}
@media (hover: none) {
  .c-step:hover, .c-proof__item:hover, .value-card:hover, .card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .c-hero::before, .page-hero::before { animation: none; display: none; }
  .c-step, .c-proof__item { transition: none; }
}
