@font-face {
  font-family: "Inter";
  src: url("fonts/inter-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("fonts/inter-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("fonts/inter-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("fonts/inter-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("fonts/inter-800.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --font-display: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 6px;
  --brand-accent: #6426c7;
  --brand-accent-strong: #4716a6;
  --brand-accent-soft: #cfc3f3;
  --brand-header: #080912;
  --cyan: var(--brand-accent-soft);
  --blue: var(--brand-accent);
  --violet: var(--brand-accent);
  --hover-signal: var(--brand-accent-soft);
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --ease-out-strong: cubic-bezier(.22, 1, .36, 1);
  --ease-inout: cubic-bezier(.65, 0, .35, 1);
  --dur-fast: 160ms;
  --dur-slow: 320ms;
  --dur-sheen: 520ms;
  --dur-circuit: 900ms;
  --noise-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-nav,
.button,
.eyebrow {
  font-family: var(--font-display);
}

h1,
h2 {
  letter-spacing: -.025em;
  line-height: 1.06;
  text-wrap: balance;
}

:where(
  .eyebrow,
  .product-index,
  .status-label,
  .product-detail-label,
  .product-breadcrumb,
  .news-meta,
  .news-date,
  .news-detail-date,
  .role-type,
  .job-tag,
  .spec-tba,
  .product-spec-list dt,
  .product-spec-list dd,
  .copyright
) {
  font-family: var(--font-mono);
  font-size: clamp(.6875rem, .74vw, .8125rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}

:where(.product-spec-list dd, .spec-tba) {
  letter-spacing: .025em;
}

/* Dark navigation surface shared by the homepage and dark-led inner pages. */
.site-header,
.page-home .site-header:not(.is-scrolled),
.page-home .site-header.is-scrolled,
body.page:not(.page-products) .site-header {
  min-height: 76px;
  color: #fff;
  background: rgba(8, 9, 18, .94);
  border-bottom: 1px solid rgba(184, 170, 226, .17);
  box-shadow: 0 8px 30px rgba(4, 3, 12, .18);
  backdrop-filter: blur(18px) saturate(125%);
}

.site-header :is(.brand-logo, .official-logo--header) {
  display: block;
  width: clamp(160px, 13vw, 204px);
  height: auto;
  max-height: 58px;
  object-fit: contain;
  filter: none;
}

.site-header .site-nav {
  gap: clamp(18px, 2.2vw, 34px);
}

.site-header .site-nav a,
.page-home .site-header:not(.is-scrolled) .site-nav a,
.page-home .site-header.is-scrolled .site-nav a,
body.page .site-header .site-nav a,
body.page:not(.page-products) .site-header .site-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, .76);
  font-family: var(--font-display);
  font-size: .875rem;
  font-weight: 650;
  border-radius: 0;
}

.site-header .site-nav a:hover,
.site-header .site-nav a:focus-visible,
.site-header .site-nav a.is-active,
body.page:not(.page-products) .site-header .site-nav a:hover,
body.page:not(.page-products) .site-header .site-nav a.is-active {
  color: #fff;
}

.site-header .site-nav a::after,
.page-home .site-header:not(.is-scrolled) .site-nav a::after {
  height: 2px;
  background: linear-gradient(90deg, #3010b8, #9000e8);
  transition-duration: var(--dur-fast);
  transition-timing-function: var(--ease-out-strong);
}

.site-header .menu-toggle,
body.page:not(.page-products) .site-header .menu-toggle {
  min-width: 44px;
  min-height: 44px;
  color: #fff;
  border-color: rgba(207, 195, 243, .32);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .04);
}

.site-header .menu-toggle span {
  background: #fff;
}

/* Products is the only light-led page: its header and official dark-text logo match. */
body.page-products .site-header {
  min-height: 72px;
  color: #07131f;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid #dfe1e8;
  box-shadow: none;
  backdrop-filter: blur(16px) saturate(120%);
}

body.page-products .site-header .site-nav a {
  color: #4c5562;
}

body.page-products .site-header .site-nav a:hover,
body.page-products .site-header .site-nav a:focus-visible,
body.page-products .site-header .site-nav a.is-active {
  color: #07131f;
}

body.page-products .site-header .menu-toggle {
  color: #07131f;
  border-color: #dfe1e8;
  background: #fff;
}

/* A quiet material grain is shared by every dark-led inner-page hero. */
body.page:not(.page-products) main > .section-block:first-child,
body.page-job-detail .job-detail-hero,
body.page-not-found main > .hero:first-child {
  background-image: var(--noise-texture), var(--mars-surface-night) !important;
  background-position: 0 0, center;
  background-size: 220px 220px, cover;
  background-blend-mode: soft-light, normal;
}

:where(.button, .button-primary, .button-secondary, .site-nav a::after, .role-card, .news-card, .coverage-link) {
  transition-duration: var(--dur-fast);
  transition-timing-function: var(--ease-out-strong);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.page-newsroom .news-card {
    position: relative;
    overflow: hidden;
  }

  body.page-newsroom .news-card::after {
    position: absolute;
    z-index: 3;
    top: -18%;
    bottom: -18%;
    left: -22%;
    width: 11%;
    pointer-events: none;
    content: "";
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
    transform: skewX(-18deg) translateX(-120%);
  }

  body.page-newsroom .news-card:hover::after,
  body.page-newsroom .news-card:focus-within::after {
    animation: phase2-global-sheen var(--dur-sheen) var(--ease-inout) 1 both;
  }
}

@keyframes phase2-global-sheen {
  0% { opacity: 0; transform: skewX(-18deg) translateX(-120%); }
  18% { opacity: .7; }
  100% { opacity: 0; transform: skewX(-18deg) translateX(1250%); }
}

/* Shared geometry: the site no longer changes corner language between routes. */
:where(.button, .career-controls input, .career-controls select, .contact-form input, .contact-form textarea) {
  border-radius: var(--radius-md);
}

:where(.role-card, .news-card, .newsroom-feature, .product-series-scale-image, .product-visual-frame) {
  border-radius: var(--radius-md);
}

/* Purple is the identity color. Cyan from the legacy system is no longer a page-level accent. */
.text-link,
.product-series-scale-arrow,
.site-footer a {
  color: rgba(255, 255, 255, .76);
}

/* Light content surfaces need the deeper logo purple for readable links. */
.page-home :is(.products, .newsroom, .company) .text-link {
  color: #273644;
}

body.page-products :is(.text-link, .product-series-scale-arrow, .site-footer a),
body.page :is(.breadcrumb a, .news-card a, .job-title-link:hover) {
  color: #4c5562;
}

@media (max-width: 760px) {
  .js-enabled .site-header .site-nav:not(.is-open),
  .js-enabled body.page-products .site-header .site-nav:not(.is-open),
  .js-enabled .page-home .site-header .site-nav:not(.is-open) {
    display: none;
  }

  .js-enabled .site-header .site-nav.is-open,
  .js-enabled body.page-products .site-header .site-nav.is-open,
  .js-enabled .page-home .site-header .site-nav.is-open {
    display: flex;
  }

  .site-header .site-nav,
  .page-home .site-header .site-nav {
    color: #fff;
    background: rgba(8, 9, 18, .985);
    border-bottom-color: rgba(184, 170, 226, .17);
  }

  .site-header .site-nav a,
  .page-home .site-header .site-nav a {
    color: rgba(255, 255, 255, .82);
    border-bottom-color: rgba(184, 170, 226, .13);
    border-radius: 0;
  }

  body.page-products .site-header:has(.site-nav.is-open) {
    background: rgba(255, 255, 255, .985);
  }

  body.page-products .site-header .site-nav {
    color: #07131f;
    background: rgba(255, 255, 255, .99);
    border-color: #dfe1e8;
    box-shadow: 0 16px 30px rgba(7, 19, 31, .12);
  }

  body.page-products .site-header .site-nav a {
    color: #4c5562;
    border-bottom-color: #edf0f4;
  }

  body.page-products .site-header .site-nav a:hover,
  body.page-products .site-header .site-nav a.is-active {
    color: #07131f;
    background: #f4f5f8;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
