/* GENERATED by careers-portal/build_assets.py — DDS v2 scoped to .cr + careers layout. Do not edit by hand. */
/* Dolphin Design System v2 — generated by build_tokens.py. Do not edit by hand. */
.cr {
  --color-blue-50: #eef7fb;
  --color-blue-100: #d8edf6;
  --color-blue-200: #b5dcee;
  --color-blue-300: #82c3e1;
  --color-blue-400: #48a2cd;
  --color-blue-500: #2386b8;
  --color-blue-600: #166b9b;
  --color-blue-700: #14567e;
  --color-blue-800: #154968;
  --color-blue-900: #11374f;
  --color-blue-950: #0b2638;
  --color-cobalt-50: #eef3fe;
  --color-cobalt-100: #dde7fd;
  --color-cobalt-200: #c0d3fb;
  --color-cobalt-300: #93b3f7;
  --color-cobalt-400: #5f8df2;
  --color-cobalt-500: #2f6fed;
  --color-cobalt-600: #2459d4;
  --color-cobalt-700: #1e48ad;
  --color-cobalt-800: #1d3d8a;
  --color-cobalt-900: #1c356e;
  --color-teal-50: #ebfcf8;
  --color-teal-100: #cdf7ee;
  --color-teal-200: #9fefdf;
  --color-teal-300: #6ee7d2;
  --color-teal-400: #2fd4b7;
  --color-teal-500: #0fb89e;
  --color-teal-600: #0a9682;
  --color-teal-700: #0b7a69;
  --color-teal-800: #0d6155;
  --color-teal-900: #0f5048;
  --color-navy-100: #eaf1ff;
  --color-navy-200: #cfe0f5;
  --color-navy-300: #aebfdd;
  --color-navy-400: #8ea6cc;
  --color-navy-500: #5b74a6;
  --color-navy-600: #1f4093;
  --color-navy-700: #123063;
  --color-navy-800: #0f2350;
  --color-navy-900: #0a1b3d;
  --color-navy-950: #061230;
  --color-neutral-0: #ffffff;
  --color-neutral-25: #fbfdff;
  --color-neutral-50: #f6f9fc;
  --color-neutral-100: #eff3f5;
  --color-neutral-200: #e2e8f0;
  --color-neutral-300: #c7d5e6;
  --color-neutral-400: #93a7b2;
  --color-neutral-500: #73879a;
  --color-neutral-600: #5b7280;
  --color-neutral-700: #475569;
  --color-neutral-800: #2e4553;
  --color-neutral-900: #10222e;
  --color-green-50: #f0fdf4;
  --color-green-100: #dcfce7;
  --color-green-600: #16a34a;
  --color-green-700: #15803d;
  --color-green-800: #166534;
  --color-amber-50: #fffbeb;
  --color-amber-100: #fef3c7;
  --color-amber-600: #d97706;
  --color-amber-700: #b45309;
  --color-amber-800: #92400e;
  --color-red-50: #fef2f2;
  --color-red-100: #fee2e2;
  --color-red-200: #fecaca;
  --color-red-600: #dc2626;
  --color-red-700: #b91c1c;
  --color-red-800: #991b1b;
  --color-logo-red: #d52527;
  --color-logo-black: #181818;
  --color-white-a06: rgb(255 255 255 / 0.06);
  --color-white-a08: rgb(255 255 255 / 0.08);
  --color-white-a14: rgb(255 255 255 / 0.14);
  --color-white-a16: rgb(255 255 255 / 0.16);
  --color-white-a30: rgb(255 255 255 / 0.3);
  --color-white-a50: rgb(255 255 255 / 0.5);
  --color-glow-cobalt: rgb(47 111 237 / 0.28);
  --color-glow-teal: rgb(18 179 166 / 0.22);
  --drop-product: 0 18px 22px rgb(30 60 110 / 0.16);
  --gradient-brand: linear-gradient(120deg, #12b3a6, #1ea7e0, #2f6fed);
  --gradient-brand-soft: linear-gradient(120deg, #12b3a624, #2f6fed24);
  --gradient-border: linear-gradient(135deg, #2fd4b78c, #48a2cd40 40%, #e2e9ec 70%);
  --gradient-clinical: radial-gradient(120% 90% at 50% 0%, #eef7fb 0%, #ffffff 55%);
  --font-display: "Sora Variable", "Sora", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter Variable", "Inter", "Segoe UI", system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --text-2xs: 0.6875rem;
  --leading-2xs: 1rem;
  --text-xs: 0.75rem;
  --leading-xs: 1rem;
  --text-sm: 0.8125rem;
  --leading-sm: 1.25rem;
  --text-md: 0.875rem;
  --leading-md: 1.375rem;
  --text-base: 1rem;
  --leading-base: 1.625rem;
  --text-lg: 1.125rem;
  --leading-lg: 1.75rem;
  --text-xl: 1.25rem;
  --leading-xl: 1.75rem;
  --text-2xl: 1.5rem;
  --leading-2xl: 2rem;
  --text-3xl: 1.875rem;
  --leading-3xl: 2.25rem;
  --text-4xl: 2.25rem;
  --leading-4xl: 2.5rem;
  --text-5xl: 2.625rem;
  --leading-5xl: 1.1;
  --text-6xl: 3rem;
  --leading-6xl: 1.05;
  --text-7xl: 4.5rem;
  --leading-7xl: 1;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-eyebrow: 0.12em;
  --tracking-label: 0.16em;
  --tracking-overline: 0.18em;
  --space-0: 0;
  --space-0_5: 2px;
  --space-1: 4px;
  --space-1_5: 6px;
  --space-2: 8px;
  --space-2_5: 10px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-2xl: 18px;
  --radius-3xl: 24px;
  --radius-full: 9999px;
  --shadow-xs: 0 1px 2px 0 rgb(10 27 61 / 0.06);
  --shadow-sm: 0 8px 24px -12px rgb(10 27 61 / 0.28);
  --shadow-md: 0 10px 30px -10px rgb(14 39 59 / 0.12);
  --shadow-lg: 0 24px 48px -12px rgb(14 39 59 / 0.18);
  --shadow-glow: 0 24px 55px -22px rgb(47 111 237 / 0.42);
  --shadow-focus: 0 0 0 3px rgb(47 111 237 / 0.35);
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-swift: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 350ms;
  --duration-reveal: 650ms;
  --layout-container: 80rem;
  --layout-container-wide: 92rem;
  --layout-prose: 72ch;
  --layout-header-h: 4.5rem;
  --layout-bp-sm: 640px;
  --layout-bp-md: 768px;
  --layout-bp-lg: 1024px;
  --layout-bp-xl: 1280px;
  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 30;
  --z-header: 40;
  --z-dropdown: 50;
  --z-overlay: 60;
  --z-modal: 70;
  --z-toast: 80;

  /* semantic roles */
  --bg-page: var(--color-neutral-50);
  --bg-surface: var(--color-neutral-0);
  --bg-subtle: var(--color-neutral-100);
  --bg-sunken: var(--color-neutral-25);
  --bg-hover: var(--color-blue-50);
  --bg-selected: var(--color-blue-100);
  --bg-inverse: var(--color-navy-900);
  --bg-inverse-raised: var(--color-navy-800);
  --bg-brand: var(--color-blue-600);
  --bg-action: var(--color-cobalt-600);
  --bg-action-hover: var(--color-cobalt-700);
  --bg-accent: var(--color-teal-300);
  --text-strong: var(--color-navy-900);
  --text: var(--color-neutral-800);
  --text-muted: var(--color-neutral-600);
  --text-subtle: var(--color-neutral-700);
  --text-disabled: var(--color-neutral-400);
  --text-brand: var(--color-blue-700);
  --text-link: var(--color-cobalt-600);
  --text-link-hover: var(--color-navy-900);
  --text-on-action: var(--color-neutral-0);
  --text-accent: var(--color-teal-700);
  --border: var(--color-neutral-200);
  --border-strong: var(--color-neutral-300);
  --border-brand: var(--color-blue-100);
  --border-focus: var(--color-cobalt-500);
  --success-bg: var(--color-green-100);
  --success-text: var(--color-green-800);
  --warning-bg: var(--color-amber-100);
  --warning-text: var(--color-amber-800);
  --danger-bg: var(--color-red-100);
  --danger-text: var(--color-red-800);
  --info-bg: var(--color-blue-50);
  --info-text: var(--color-blue-700);
}

/* Navy sections: hero, footer, CTA bands. Re-maps the semantic roles; components need no changes. */
.ds-inverse {
  --bg-surface: var(--color-navy-900);
  --bg-subtle: var(--color-navy-800);
  --bg-hover: var(--color-navy-700);
  --text-strong: var(--color-neutral-0);
  --text: var(--color-navy-100);
  --text-muted: var(--color-navy-300);
  --text-subtle: var(--color-navy-200);
  --text-brand: var(--color-blue-300);
  --text-link: var(--color-blue-300);
  --text-link-hover: var(--color-neutral-0);
  --text-accent: var(--color-teal-300);
  --border: var(--color-navy-700);
  --border-strong: var(--color-navy-600);
  color: var(--text);
  background-color: var(--bg-surface);
}

@media (prefers-reduced-motion: reduce) {
  .cr { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; --duration-reveal: 0ms; }
}

.cr { --font-display: "Sora Variable", "Sora", "Segoe UI", system-ui, sans-serif; --font-body: "Inter Variable", "Inter", "Segoe UI", system-ui, sans-serif; }
/* Dolphin Design System v2 — components.
   Requires tokens/tokens.css. Every value is a token; components read SEMANTIC roles
   (--text, --bg-surface, --border …), so they work unchanged inside .ds-inverse (navy) sections.
   Class prefix: ds-   Modifiers: --variant   Parts: __part   States: aria-*, :disabled, .is-* */

/* ---------- fonts (bundled variable fonts; names MUST match --font-display / --font-body) ---------- */



/* ---------- base ---------- */
.cr, .cr * { box-sizing: border-box; }
.cr { font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-base);
  color: var(--text); background: var(--bg-page); -webkit-font-smoothing: antialiased; }
.cr :focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; border-radius: var(--radius-xs); }
.cr ::selection { background: var(--color-cobalt-100); color: var(--color-navy-900); }
.ds-container { width: min(var(--layout-container), 100% - 2 * var(--space-6)); margin-inline: auto; }

/* ---------- type ---------- */
.ds-display, .ds-h1, .ds-h2, .ds-h3, .ds-h4 { font-family: var(--font-display); color: var(--text-strong); margin: 0; text-wrap: balance; }
.ds-display { font-size: clamp(var(--text-5xl), 5vw + 1rem, var(--text-7xl)); line-height: var(--leading-7xl); font-weight: var(--weight-extrabold); letter-spacing: var(--tracking-tight); }
.ds-h1 { font-size: clamp(var(--text-3xl), 2.5vw + 1rem, var(--text-5xl)); line-height: var(--leading-5xl); font-weight: var(--weight-extrabold); letter-spacing: var(--tracking-tight); }
.ds-h2 { font-size: clamp(var(--text-2xl), 1.5vw + 1rem, var(--text-3xl)); line-height: var(--leading-3xl); font-weight: var(--weight-bold); letter-spacing: var(--tracking-tight); }
.ds-h3 { font-size: var(--text-2xl); line-height: var(--leading-2xl); font-weight: var(--weight-bold); }
.ds-h4 { font-size: var(--text-lg); line-height: var(--leading-lg); font-weight: var(--weight-semibold); }
.ds-lead { font-size: var(--text-lg); line-height: var(--leading-lg); color: var(--text-muted); }
.ds-body { font-size: var(--text-base); line-height: var(--leading-base); }
.ds-small { font-size: var(--text-md); line-height: var(--leading-md); color: var(--text-muted); }
.ds-caption { font-size: var(--text-xs); line-height: var(--leading-xs); color: var(--text-muted); }
.ds-overline { font-size: var(--text-2xs); line-height: var(--leading-2xs); font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--text-brand); }
.ds-gradient-text { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ds-numeric { font-variant-numeric: tabular-nums; }

/* ---------- link ---------- */
.ds-link { color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
  transition: color var(--duration-fast) var(--ease-standard); }
.ds-link:hover { color: var(--text-link-hover); }

/* ---------- button ---------- */
.ds-btn { --_bg: transparent; --_fg: var(--text-strong); --_bd: transparent; --_bg-h: var(--bg-hover);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: 44px; padding: 0 var(--space-5); border-radius: var(--radius-full); border: 1px solid var(--_bd);
  background: var(--_bg); color: var(--_fg); font: inherit; font-size: var(--text-md); font-weight: var(--weight-semibold);
  line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard),
              color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.ds-btn:hover { background: var(--_bg-h); }
.ds-btn:disabled, .ds-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; pointer-events: none; }
.ds-btn--primary { --_bg: var(--bg-action); --_fg: var(--text-on-action); --_bg-h: var(--bg-action-hover); box-shadow: var(--shadow-xs); }
.ds-btn--secondary { --_bg: var(--bg-surface); --_bd: var(--border-strong); --_bg-h: var(--bg-hover); }
.ds-btn--secondary:hover { border-color: var(--color-blue-400); }
.ds-btn--ghost { --_fg: var(--text-link); --_bg-h: var(--bg-hover); padding-inline: var(--space-3); }
.ds-inverse .ds-btn--primary { --_bg: var(--color-neutral-0); --_fg: var(--color-navy-900); --_bg-h: var(--color-teal-300); box-shadow: var(--shadow-lg); }
.ds-inverse .ds-btn--secondary { --_bg: var(--color-white-a08); --_fg: var(--color-neutral-0); --_bd: var(--color-white-a30); --_bg-h: var(--color-white-a16); }
.ds-inverse .ds-btn--secondary:hover { border-color: var(--color-white-a50); }
.ds-btn--sm { min-height: 36px; padding: 0 var(--space-4); font-size: var(--text-sm); }
.ds-btn--lg { min-height: 52px; padding: 0 var(--space-6); font-size: var(--text-base); }
.ds-btn--block { width: 100%; }
.ds-btn__icon { width: 1.1em; height: 1.1em; flex: none; }

/* ---------- pills, chips, tags, badges ---------- */
.ds-pill { display: inline-flex; align-items: center; gap: var(--space-2); padding: 7px 13px; border-radius: var(--radius-full);
  background: var(--gradient-brand-soft); color: var(--color-cobalt-700); font-size: var(--text-xs); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; }
.ds-inverse .ds-pill { color: var(--color-teal-300); background: var(--color-white-a08); }
.ds-chip { display: inline-flex; align-items: center; gap: var(--space-1_5); padding: 6px 11px; border-radius: var(--radius-full);
  background: var(--bg-surface); border: 1px solid var(--border); color: var(--text-strong);
  font-size: var(--text-xs); font-weight: var(--weight-semibold); box-shadow: var(--shadow-sm); }
.ds-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: var(--radius-full);
  border: 1px solid var(--border-brand); background: var(--bg-surface); color: var(--text);
  font-size: var(--text-2xs); line-height: var(--leading-2xs); text-decoration: none;
  transition: border-color var(--duration-fast), color var(--duration-fast); }
a.ds-tag:hover { border-color: var(--color-blue-400); color: var(--text-brand); }
.ds-badge { display: inline-flex; align-items: center; gap: var(--space-1); padding: 2px var(--space-2); border-radius: var(--radius-sm);
  font-size: var(--text-2xs); line-height: var(--leading-2xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-wider);
  text-transform: uppercase; background: var(--bg-subtle); color: var(--text-subtle); }
.ds-badge--brand { background: var(--info-bg); color: var(--info-text); }
.ds-badge--success { background: var(--success-bg); color: var(--success-text); }
.ds-badge--warning { background: var(--warning-bg); color: var(--warning-text); }
.ds-badge--danger { background: var(--danger-bg); color: var(--danger-text); }
.ds-badge--cert { background: var(--bg-surface); color: var(--text-strong); border: 1px solid var(--border); }

/* ---------- card ---------- */
.ds-card { position: relative; background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm); overflow: hidden; color: var(--text); }
.ds-card__body { padding: var(--space-5); }
.ds-card__media { aspect-ratio: 4 / 3; padding: var(--space-6); background: var(--gradient-clinical); overflow: hidden; }
.ds-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(var(--drop-product));
  transition: transform var(--duration-slow) var(--ease-swift); }
.ds-card__brand { font-family: var(--font-display); font-size: var(--text-2xs); font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-label); text-transform: uppercase; }
.ds-card__title { margin: 2px 0 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-base);
  line-height: var(--leading-lg); color: var(--text-strong); transition: color var(--duration-fast); }
.ds-card__text { margin: var(--space-1_5) 0 0; font-size: var(--text-sm); line-height: var(--leading-sm); color: var(--text-muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* interactive: the signature gradient hairline + lift (was .card-glow) */
.ds-card--interactive { display: block; text-decoration: none;
  transition: transform var(--duration-slow) var(--ease-swift), box-shadow var(--duration-slow) var(--ease-swift), border-color var(--duration-slow) var(--ease-swift); }
.ds-card--interactive::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: var(--gradient-brand);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity var(--duration-slow) var(--ease-swift); pointer-events: none; }
.ds-card--interactive:hover { transform: translateY(-4px); border-color: transparent; box-shadow: var(--shadow-glow); }
.ds-card--interactive:hover::after, .ds-card--interactive:focus-visible::after { opacity: 1; }
.ds-card--interactive:hover .ds-card__title { color: var(--text-link); }
.ds-card--interactive:hover .ds-card__media img { transform: scale(1.04); }
.ds-card--flat { box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .ds-card--interactive:hover { transform: none; } .ds-card--interactive:hover .ds-card__media img { transform: none; } }

/* ---------- callout (notices, IFU note, medical disclaimer) ---------- */
.ds-callout { display: grid; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-radius: var(--radius-lg);
  border: 1px solid var(--border); border-inline-start: 4px solid var(--color-blue-500); background: var(--info-bg); color: var(--text); font-size: var(--text-md); }
.ds-callout__title { font-weight: var(--weight-bold); color: var(--text-strong); }
.ds-callout--warning { border-inline-start-color: var(--color-amber-600); background: var(--warning-bg); }
.ds-callout--danger { border-inline-start-color: var(--color-red-600); background: var(--danger-bg); }
.ds-callout--success { border-inline-start-color: var(--color-green-600); background: var(--success-bg); }

/* ---------- table (was .sizes) ---------- */
.ds-table-wrap { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-surface); overflow-x: auto; }
.ds-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--text-sm); line-height: 1.45; color: var(--text); }
.ds-table caption { caption-side: top; text-align: start; padding: var(--space-3) var(--space-4); font-weight: var(--weight-semibold); color: var(--text-strong); }
.ds-table thead th { background: var(--color-navy-900); color: var(--color-neutral-0); font-size: var(--text-xs); font-weight: var(--weight-bold);
  letter-spacing: .03em; text-align: start; white-space: nowrap; padding: var(--space-2) var(--space-3_5, 14px); }
.ds-table td, .ds-table tbody th { padding: var(--space-2) 14px; border-bottom: 1px solid var(--bg-subtle); text-align: start; }
.ds-table tbody th { font-weight: var(--weight-bold); color: var(--text-strong); background: var(--bg-surface); position: sticky; left: 0; }
.ds-table tbody tr:nth-child(even) > * { background: var(--bg-page); }
.ds-table tbody tr:hover > * { background: var(--bg-hover); }
.ds-table tbody tr:last-child > * { border-bottom: 0; }
.ds-table .is-num { text-align: center; font-variant-numeric: tabular-nums; }
.ds-table .is-na { color: var(--text-muted); }   /* was ink-300 (2.5:1) — now AA */

/* ---------- prose (was .prose-dolphin) ---------- */
.ds-prose { max-width: var(--layout-prose); color: var(--text); font-size: var(--text-base); line-height: 1.75; }
.ds-prose > * + * { margin-top: var(--space-4); }
.ds-prose h2 { font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-2xl); font-weight: var(--weight-bold); color: var(--text-strong); margin-top: var(--space-10); }
.ds-prose h3 { font-family: var(--font-display); font-size: var(--text-xl); line-height: var(--leading-xl); font-weight: var(--weight-semibold); color: var(--text-strong); margin-top: var(--space-8); }
.ds-prose a { color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; }
.ds-prose a:hover { color: var(--text-link-hover); }
.ds-prose ul, .ds-prose ol { padding-inline-start: 1.4rem; }
.ds-prose ul { list-style: disc; } .ds-prose ol { list-style: decimal; }
.ds-prose li + li { margin-top: var(--space-1_5); }
.ds-prose li::marker { color: var(--color-blue-400); }
.ds-prose blockquote { margin-inline: 0; padding-inline-start: var(--space-4); border-inline-start: 3px solid var(--color-blue-300); color: var(--text-muted); font-style: italic; }
.ds-prose strong { color: var(--text-strong); }

/* ---------- forms ---------- */
.ds-field { display: grid; gap: var(--space-1_5); align-content: start; }
.ds-label { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--text-strong); }
.ds-label .ds-req { color: var(--color-red-700); margin-inline-start: 2px; }
.ds-input, .ds-select, .ds-textarea { width: 100%; min-height: 44px; padding: 10px 14px; font: inherit; font-size: var(--text-base); color: var(--text-strong);
  background: var(--bg-surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast); }
.ds-input, .ds-select { height: 44px; padding-block: 0; }
.ds-textarea { min-height: 120px; resize: vertical; line-height: var(--leading-base); padding-block: 10px; }
.ds-input::placeholder, .ds-textarea::placeholder { color: var(--text-muted); opacity: 1; }
.ds-input:hover, .ds-select:hover, .ds-textarea:hover { border-color: var(--color-blue-400); }
.ds-input:focus, .ds-select:focus, .ds-textarea:focus { outline: none; border-color: var(--border-focus); box-shadow: var(--shadow-focus); }
.ds-help { font-size: var(--text-sm); color: var(--text-muted); }
.ds-field.is-invalid .ds-input, .ds-field.is-invalid .ds-select, .ds-field.is-invalid .ds-textarea { border-color: var(--color-red-600); }
.ds-field.is-invalid .ds-help { color: var(--danger-text); }
.ds-check { display: flex; gap: var(--space-2); align-items: flex-start; font-size: var(--text-md); }
.ds-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--color-cobalt-600); }

/* ---------- navigation ---------- */
.ds-nav-item { display: flex; align-items: center; gap: 10px; padding: 6px var(--space-3); border-radius: var(--radius-md);
  font-size: var(--text-sm); color: var(--text); text-decoration: none; transition: background-color var(--duration-fast), color var(--duration-fast); }
.ds-nav-item:hover { background: var(--bg-hover); color: var(--text-brand); }
.ds-nav-item[aria-current="page"] { font-weight: var(--weight-semibold); color: var(--text-strong); background: var(--bg-hover);
  box-shadow: inset 3px 0 0 var(--color-blue-500); }
.ds-breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-1_5); font-size: var(--text-sm); color: var(--text-muted); list-style: none; padding: 0; margin: 0; }
.ds-breadcrumb li + li::before { content: "/"; margin-inline-end: var(--space-1_5); color: var(--border-strong); }
.ds-breadcrumb a { color: var(--text-muted); text-decoration: none; } .ds-breadcrumb a:hover { color: var(--text-link); }
.ds-breadcrumb [aria-current] { color: var(--text-strong); font-weight: var(--weight-medium); }

/* ---------- segmented control (figure toggles) ---------- */
.ds-segmented { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: var(--radius-full); background: var(--bg-subtle); border: 1px solid var(--border); }
.ds-segmented button { min-height: 32px; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-full); background: transparent;
  font: inherit; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--text-muted); cursor: pointer;
  transition: background-color var(--duration-fast), color var(--duration-fast); }
.ds-segmented button:hover { color: var(--text-strong); }
.ds-segmented button[aria-pressed="true"] { background: var(--bg-surface); color: var(--text-strong); font-weight: var(--weight-semibold); box-shadow: var(--shadow-xs); }

/* ---------- accordion (FAQ) ---------- */
.ds-accordion { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-surface); }
.ds-accordion + .ds-accordion { margin-top: var(--space-2); }
.ds-accordion > summary { list-style: none; display: flex; justify-content: space-between; gap: var(--space-4); align-items: center;
  padding: var(--space-4) var(--space-5); font-weight: var(--weight-semibold); color: var(--text-strong); cursor: pointer; }
.ds-accordion > summary::-webkit-details-marker { display: none; }
.ds-accordion > summary::after { content: "+"; font-size: var(--text-xl); line-height: 1; color: var(--text-brand); transition: transform var(--duration-base) var(--ease-swift); }
.ds-accordion[open] > summary::after { transform: rotate(45deg); }
.ds-accordion[open] { border-color: var(--border-strong); }
.ds-accordion__body { padding: 0 var(--space-5) var(--space-5); color: var(--text); }

/* ---------- stat ---------- */
.ds-stat__value { font-family: var(--font-display); font-size: var(--text-4xl); line-height: 1; font-weight: var(--weight-extrabold); color: var(--text-strong); }
.ds-stat__label { margin-top: var(--space-1_5); font-size: var(--text-sm); color: var(--text-muted); }

/* ---------- section / inverse surfaces ---------- */
.ds-section { padding-block: var(--space-20); }
.ds-section--tight { padding-block: var(--space-12); }
.ds-inverse { background: var(--bg-surface); color: var(--text); }
.ds-inverse.ds-aurora { background: radial-gradient(80% 120% at 85% 0%, var(--color-glow-cobalt), transparent 60%),
  radial-gradient(60% 90% at 0% 100%, var(--color-glow-teal), transparent 60%), var(--color-navy-900); }
.ds-glass { background: var(--color-white-a06); border: 1px solid var(--color-white-a14); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-radius: var(--radius-2xl); }

/* Careers pages — layout on top of DDS v2 components (all scoped to .cr). */
.cr { font-family: var(--font-body); color: var(--text); }
.cr *, .cr *::before, .cr *::after { box-sizing: border-box; }
.cr-wrap { width: min(72rem, 100% - 2rem); margin-inline: auto; }

/* hero */
.cr-hero { padding: 7rem 0 3rem; background: radial-gradient(90% 120% at 100% 0%, var(--color-blue-50), transparent 60%), var(--bg-page); border-bottom: 1px solid var(--border); }
.cr-crumbs { font-size: var(--text-xs); color: var(--text-muted); margin-bottom: var(--space-5); }
.cr-crumbs a { color: var(--text-muted); text-decoration: none; } .cr-crumbs a:hover { color: var(--text-link); }
.cr-crumbs span[aria-current] { color: var(--text); font-weight: var(--weight-medium); }
.cr-hero .ds-h1 { margin: var(--space-4) 0 var(--space-3); max-width: 22ch; }
.cr-hero .ds-lead { margin: 0; max-width: 62ch; }
.cr-hero__stats { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

/* value props */
.cr-values { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin: var(--space-10) 0 var(--space-4); }
.cr-values .ds-card__body h2 { font-family: var(--font-display); font-size: var(--text-lg); color: var(--text-strong); margin: var(--space-2) 0 var(--space-1); }
.cr-values .ds-card__body p { margin: 0; font-size: var(--text-md); color: var(--text-muted); line-height: var(--leading-md); }

/* job board */
.cr-board { padding: var(--space-10) 0 var(--space-16); }
.cr-board__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.cr-board__head .ds-h2 { margin: 0; }
.cr-count { font-size: var(--text-md); color: var(--text-muted); }
.cr-filters { display: grid; gap: var(--space-3); grid-template-columns: 2fr 1fr 1fr; margin-bottom: var(--space-6); }
.cr-filters .ds-label { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-label); color: var(--text-muted); }
.cr-group { margin-top: var(--space-8); }
.cr-group__title { display: flex; align-items: baseline; gap: var(--space-2); font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--text-strong); margin: 0 0 var(--space-3); }
.cr-group__title small { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--text-muted); }
.cr-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.cr-job { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2) var(--space-4); align-items: center; padding: var(--space-4) var(--space-5);
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-lg); text-decoration: none; color: inherit;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-base) var(--ease-swift); }
.cr-job:hover { border-color: var(--color-blue-300); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.cr-job__title { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-base); color: var(--text-strong); }
.cr-job:hover .cr-job__title { color: var(--text-link); }
.cr-job__meta { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); font-size: var(--text-sm); color: var(--text-muted); grid-column: 1 / 2; }
.cr-job__meta span { display: inline-flex; align-items: center; gap: 6px; }
.cr-job__go { grid-row: 1 / span 2; grid-column: 2; font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--text-link); white-space: nowrap; }
.cr-ico { width: 14px; height: 14px; flex: none; opacity: .7; }
.cr-empty { text-align: center; padding: var(--space-12) var(--space-6); border: 1px dashed var(--border-strong); border-radius: var(--radius-2xl); background: var(--bg-surface); }
.cr-empty p { margin: var(--space-2) 0 0; color: var(--text-muted); }
.cr-more { margin-top: var(--space-10); }

/* job page */
.cr-jobhead .ds-h1 { max-width: 30ch; }
.cr-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); }
.cr-chips .ds-chip { box-shadow: none; font-weight: var(--weight-medium); color: var(--text); }
.cr-jobgrid { display: grid; grid-template-columns: minmax(0, 1fr) 26rem; gap: var(--space-10); align-items: start; padding: var(--space-10) 0 var(--space-16); }
.cr-desc h2 { font-family: var(--font-display); font-size: var(--text-xl); color: var(--text-strong); margin: 0 0 var(--space-3); }
.cr-desc .ds-prose { max-width: none; }
.cr-desc .ds-prose ul { padding-inline-start: 1.25rem; }
.cr-facts { margin-top: var(--space-8); display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--space-3); }
.cr-fact { padding: var(--space-4); border-radius: var(--radius-lg); background: var(--bg-surface); border: 1px solid var(--border); }
.cr-fact dt { font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: var(--tracking-label); color: var(--text-muted); font-weight: var(--weight-bold); }
.cr-fact dd { margin: 4px 0 0; font-weight: var(--weight-semibold); color: var(--text-strong); }
.cr-apply { position: sticky; top: 6rem; }
.cr-apply .ds-card__body { padding: var(--space-6); }
.cr-apply h2 { font-family: var(--font-display); font-size: var(--text-xl); color: var(--text-strong); margin: 0 0 var(--space-1); }
.cr-form { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.cr-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.cr-file { border: 1px dashed var(--border-strong); border-radius: var(--radius-md); padding: var(--space-3); background: var(--bg-page); }
.cr-file input { font-size: var(--text-sm); width: 100%; }
.cr-notice { font-size: var(--text-xs); line-height: 1.55; color: var(--text-muted); background: var(--bg-page); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-3); max-height: 9rem; overflow: auto; }
.cr-notice p { margin: 0; }
.cr-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cr-status { font-size: var(--text-md); }
.cr-status:empty { display: none; }
.cr-done { text-align: center; padding: var(--space-6) var(--space-2); }
.cr-done__mark { width: 56px; height: 56px; margin: 0 auto var(--space-3); border-radius: 50%; display: grid; place-items: center; background: var(--success-bg); color: var(--success-text); font-size: 28px; }
.cr-done h2 { margin-bottom: var(--space-2); }
.cr-done p { margin: 0 0 var(--space-2); color: var(--text-muted); }
.cr-ref { font-family: var(--font-mono); font-size: var(--text-sm); color: var(--text-strong); background: var(--bg-subtle); padding: 2px 8px; border-radius: var(--radius-sm); }
.cr-related { border-top: 1px solid var(--border); padding: var(--space-10) 0 var(--space-16); }
.cr-mockbar { background: var(--warning-bg); color: var(--warning-text); text-align: center; font-size: var(--text-sm); font-weight: var(--weight-semibold); padding: 6px; }
.ds-btn.is-busy { opacity: .7; cursor: progress; }
.ds-field .ds-help.is-err { color: var(--danger-text); }

@media (max-width: 960px) {
  .cr-jobgrid { grid-template-columns: minmax(0, 1fr); }
  .cr-apply { position: static; }
  .cr-filters { grid-template-columns: 1fr 1fr; }
  .cr-filters .ds-field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .cr-hero { padding-top: 6rem; }
  .cr-form__row, .cr-filters { grid-template-columns: 1fr; }
  .cr-job { grid-template-columns: 1fr; }
  .cr-job__go { grid-row: auto; grid-column: 1; }
}

/* the site's base styles reset heading weight — restore it for careers headings */
.cr-values h2, .cr-desc h2, .cr-apply h2, .cr-group__title, .cr-done h2 { font-weight: var(--weight-bold); }
/* preview banner: pinned to the bottom so the fixed site header can't cover it */
.cr-mockbar { position: fixed; inset: auto 0 0 0; z-index: 90; box-shadow: 0 -4px 16px rgb(10 27 61 / .12); }

/* ---- v2 layout (5 Nov 2026): departments, role families, seniority ---- */
.cr-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--space-10); align-items: center; }
.cr-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-6); }
.cr-glance .ds-card__body { padding: var(--space-6); }
.cr-glance__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); text-align: center; }
.cr-glance__stats .ds-stat__value { display: block; font-size: var(--text-3xl); }
.cr-glance__stats .ds-stat__label { display: block; margin-top: 4px; font-size: var(--text-xs); }
.cr-glance__depts { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.cr-glance__depts a { display: flex; justify-content: space-between; gap: var(--space-3); padding: 7px var(--space-2); border-radius: var(--radius-md);
  text-decoration: none; color: var(--text); font-size: var(--text-md); }
.cr-glance__depts a:hover { background: var(--bg-hover); color: var(--text-brand); }
.cr-glance__n { font-weight: var(--weight-bold); color: var(--text-strong); font-variant-numeric: tabular-nums; }

.cr-filters { grid-template-columns: 2fr 1.3fr 1fr 1.3fr auto; align-items: end; position: sticky; top: 72px; z-index: 20;
  background: var(--bg-page); padding: var(--space-3) 0; margin-bottom: var(--space-2); }
.cr-filters__clear { align-self: end; margin-bottom: 4px; }
.cr-count span[data-count] { font-weight: var(--weight-semibold); color: var(--text-strong); }

.cr-dept { margin-top: var(--space-8); scroll-margin-top: 170px; }
.cr-dept__title { display: flex; align-items: center; gap: var(--space-2); font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: var(--weight-bold); color: var(--text-strong); margin: 0 0 var(--space-3); padding-bottom: var(--space-2); border-bottom: 1px solid var(--border); }
.cr-dept__n { font-family: var(--font-body); font-size: var(--text-xs); font-weight: var(--weight-bold); color: var(--text-brand);
  background: var(--bg-hover); border-radius: var(--radius-full); padding: 2px 9px; }
.cr-fams { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.cr-fam { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast); }
.cr-fam:hover { border-color: var(--color-blue-300); box-shadow: var(--shadow-sm); }
.cr-fam__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); }
.cr-fam__title { margin: 0; font-family: var(--font-display); font-size: var(--text-base); font-weight: var(--weight-bold); }
.cr-fam__title a { color: var(--text-strong); text-decoration: none; }
.cr-fam__title a:hover { color: var(--text-link); }
.cr-fam__badges { display: inline-flex; gap: var(--space-1_5); }
.cr-fam__meta { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-top: var(--space-1_5); font-size: var(--text-sm); color: var(--text-muted); }
.cr-fam__meta span { display: inline-flex; align-items: center; gap: 6px; }
.cr-fam__locs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.cr-loc { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 4px 12px; border-radius: var(--radius-full);
  border: 1px solid var(--border-brand); background: var(--bg-surface); color: var(--text); font-size: var(--text-sm); font-weight: var(--weight-medium);
  text-decoration: none; transition: background-color var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast); }
.cr-loc:hover { background: var(--bg-hover); border-color: var(--color-blue-400); color: var(--text-brand); }
.cr-loc .cr-ico { width: 13px; height: 13px; }
.cr-loc[hidden] { display: none; }
.cr-linkbtn { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }

.cr-jobhead__badges { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.cr-jobhead__badges .ds-overline { margin-left: var(--space-1); }
.cr-jobhead__apply { margin-top: var(--space-5); display: none; }
.cr-also { margin-top: var(--space-8); }
.cr-also h3 { font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--text-strong); margin: 0 0 var(--space-3); }

@media (max-width: 960px) {
  .cr-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .cr-filters { grid-template-columns: 1fr 1fr; position: static; }
  .cr-filters .ds-field:first-child { grid-column: 1 / -1; }
  .cr-jobhead__apply { display: inline-flex; }
}
@media (max-width: 560px) {
  .cr-filters { grid-template-columns: 1fr; }
  .cr-glance__stats .ds-stat__value { font-size: var(--text-2xl); }
}
.cr-interim { border-left: 4px solid var(--color-blue-500); }
.cr-interim .ds-card__body { padding: var(--space-6); }

/* general résumé submission (talent pool) */
.cr-general { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-10); align-items: start;
  margin-top: var(--space-16); padding-top: var(--space-12); border-top: 1px solid var(--border); scroll-margin-top: 90px; }
.cr-general__intro .ds-h2 { margin: var(--space-2) 0 var(--space-3); }
.cr-general__intro .ds-lead { margin: 0; font-size: var(--text-base); }
.cr-general .ds-card__body { padding: var(--space-6); }
@media (max-width: 960px) { .cr-general { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } }
