/* One typography system, loaded after every page component.
   Font family and primary sizes also live in theme.json for the WordPress editor.
   #primary gives semantic text roles precedence over old component size rules. */
:root {
  --arkhou-type-label: .75rem;
  --arkhou-type-caption: .875rem;
  --arkhou-type-control: .9375rem;
  --arkhou-type-card: var(--arkhou-font-size-heading-medium);
  --arkhou-type-feature: var(--arkhou-font-size-heading-large);
  --arkhou-type-tracking: -.025em;
  --arkhou-type-ink: #41556c;
  --arkhou-type-accent: #075bb8;
  --arkhou-type-label-ink: #075bb8;
}
body { font-kerning: normal; font-optical-sizing: auto; }
button, input, select, textarea { font-family: var(--arkhou-font-family); }

/* The existing wordmark is part of the logo; preserve its original lettering. */
.arkhou-header__wordmark,
.arkhou-footer__wordmark { font-family: var(--wp--preset--font-family--system-sans); }

/* Titles use the same family, weight and scale on every page. */
#primary .arkhou-mission-hero {
  --arkhou-font-size-display: var(--wp--preset--font-size--display);
  --arkhou-font-size-lead: var(--wp--preset--font-size--lead);
}
.arkhou-service-section--technical,
.arkhou-intelligence { --arkhou-type-label-ink: #56b6ed; }
#primary h1 {
  font-size: var(--arkhou-font-size-display);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-transform: none;
  text-wrap: balance;
  overflow-wrap: break-word;
}
#primary h2 {
  font-size: var(--arkhou-font-size-heading-large);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.025em;
  text-transform: none;
  text-wrap: balance;
}
#primary h3 {
  font-size: var(--arkhou-font-size-heading-medium);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.015em;
  text-transform: none;
  text-wrap: pretty;
}
#primary :is(h4, h5, h6) {
  font-size: var(--arkhou-font-size-heading-small);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.01em;
}
#primary :is(h1, h2, h3, h4, h5, h6) { font-family: var(--arkhou-font-family); }
#primary :is(h1, h2, h3) :is(span, em) { font-weight: inherit; }
#primary p { font-size: var(--arkhou-font-size-body); line-height: var(--arkhou-line-height-body); text-wrap: pretty; }
#primary :is(ul, ol, dl) { font-size: var(--arkhou-font-size-body); line-height: var(--arkhou-line-height-body); }

/* Introductory copy is one step above the body, never another headline. */
#primary .arkhou-mission-hero__summary,
#primary .arkhou-editorial-lead,
#primary .arkhou-contact-hero__copy,
#primary .arkhou-founders__lead,
#primary .arkhou-service-explorer__lead,
#primary .arkhou-gallery-hero p:last-child { font-size: var(--arkhou-font-size-lead); line-height: 1.65; font-weight: 400; }
#primary .arkhou-mission-hero__summary { max-inline-size: 58ch; }

/* Reusable section labels: always 12px / 600, including French labels. */
#primary .arkhou-eyebrow,
#primary .arkhou-home-v2-kicker,
#primary .arkhou-section-heading > p:not(.arkhou-section-heading__copy),
#primary .arkhou-mission-hero__eyebrow,
#primary .arkhou-editorial-kicker,
#primary .arkhou-mini-label,
#primary .arkhou-service-explorer__eyebrow,
#primary .arkhou-service-explorer__label,
#primary .arkhou-flight-story__eyebrow,
#primary .arkhou-flight-story__opening > p:first-child,
#primary .arkhou-founders__eyebrow,
#primary .arkhou-next-mission__kicker,
#primary .arkhou-best-for dt,
#primary .arkhou-mission-selector dt,
#primary .arkhou-contact-main__eyebrow,
#primary .arkhou-gallery-date {
  font-size: var(--arkhou-type-label);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .075em;
  text-transform: uppercase;
  color: var(--arkhou-type-label-ink);
}

/* Short descriptions and dense technical lists retain comfortable reading sizes. */
#primary .arkhou-capability-list summary,
#primary .arkhou-capabilities summary,
#primary .arkhou-editorial-faq summary {
  font-size: var(--arkhou-font-size-body);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
#primary .arkhou-capability-list details p,
#primary .arkhou-capability-list__note,
#primary .arkhou-capabilities summary small,
#primary .arkhou-service-facts p,
#primary .arkhou-service-path p,
#primary .arkhou-engineering-grid p,
#primary .arkhou-mission-card p,
#primary .arkhou-process__steps p,
#primary .arkhou-intelligence-chain p,
#primary .arkhou-contact-card__description {
  font-size: var(--arkhou-type-control);
  font-weight: 400;
  line-height: 1.65;
}
#primary .arkhou-process__steps h3,
#primary .arkhou-intelligence-chain h3,
#primary .arkhou-service-path h3,
#primary .arkhou-service-facts h3,
#primary .arkhou-engineering-grid h3 {
  font-size: var(--arkhou-font-size-heading-small);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.01em;
}
#primary .arkhou-best-for dd,
#primary .arkhou-mission-selector dd,
#primary .arkhou-deliverables li { font-size: var(--arkhou-font-size-body); line-height: 1.65; }
#primary .arkhou-capability-chips { font-size: var(--arkhou-type-caption); }

/* Metadata is intentionally quiet, but never the old 9–10px technical lettering. */
#primary .arkhou-mission-hero__detail,
#primary .arkhou-mission-hero__annotation,
#primary .arkhou-mission-hero__annotation small,
#primary .arkhou-mission-hero__scroll,
#primary .arkhou-editorial-hero__visual figcaption,
#primary .arkhou-editorial-hero__foot,
#primary .arkhou-editorial-story__position,
#primary .arkhou-flight-story__chapter,
#primary .arkhou-flight-story__aircraft figcaption,
#primary .arkhou-flight-story__footer,
#primary .arkhou-founder__topline,
#primary .arkhou-intelligence-chain__number,
#primary .arkhou-next-mission__brief-top,
#primary .arkhou-aircraft-stage__index,
#primary .arkhou-editorial-principles article > span,
#primary .arkhou-service-explorer__index {
  font-size: var(--arkhou-type-label);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
}
#primary .arkhou-mission-hero__detail { text-transform: none; letter-spacing: 0; }
#primary .arkhou-service-explorer__note,
#primary .arkhou-flight-story__disciplines,
#primary .arkhou-company-note > div,
#primary .arkhou-founder__caption p,
#primary .arkhou-next-mission__call,
#primary .arkhou-gallery-source,
#primary .arkhou-contact-form__privacy,
#primary .arkhou-contact-form__field-error { font-size: var(--arkhou-type-caption); line-height: 1.6; }

/* Buttons, tabs and text links share one control scale. */
#primary .arkhou-button,
#primary .arkhou-text-link,
#primary .arkhou-editorial-link,
#primary .arkhou-service-explorer__details a,
#primary .arkhou-founders__manifesto a,
#primary .arkhou-next-mission__brief > a,
#primary .arkhou-next-mission__email,
#primary [data-tab],
#primary .arkhou-mission-hero__tabs button {
  font-size: var(--arkhou-type-control);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}
#primary .arkhou-button { min-block-size: 2.75rem; white-space: normal; }
#primary .arkhou-mission-hero__tabs button span,
#primary [data-tab] > span { font-size: var(--arkhou-type-label); font-weight: 500; letter-spacing: .04em; }
#primary .arkhou-gallery-content h2 { font-size: var(--arkhou-font-size-heading-medium); line-height: 1.35; letter-spacing: -.015em; }
#primary .arkhou-gallery-story--feature h2 { font-size: clamp(1.8rem, 2.7vw, 2.8rem); line-height: 1.12; letter-spacing: -.035em; }
#primary .arkhou-gallery-story--compact h2 { font-size: clamp(1.45rem, 2vw, 1.85rem); line-height: 1.2; letter-spacing: -.025em; }
#primary .arkhou-contact-form__title { font-size: 1.5rem; line-height: 1.3; }
#primary .arkhou-contact-card__title { font-size: var(--arkhou-type-label); font-weight: 600; line-height: 1.5; letter-spacing: .055em; text-transform: uppercase; }
#primary .arkhou-contact-form :is(input, select, textarea) { font-size: 1rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
#primary .arkhou-contact-form__field label { font-size: var(--arkhou-type-caption); font-weight: 500; line-height: 1.5; }
#primary .arkhou-contact-card__hours :is(dt, dd) { font-size: var(--arkhou-type-caption); line-height: 1.5; }
#primary .arkhou-contact-card__value { font-size: var(--arkhou-type-control); line-height: 1.5; }
#primary .arkhou-next-mission__brief > p { font-size: 1.125rem; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }

/* Header and footer remain visually consistent with the page controls. */
.arkhou-site-header .arkhou-primary-menu > .menu-item > a,
.arkhou-site-header .arkhou-primary-menu .sub-menu a { font-size: .875rem; font-weight: 600; line-height: 1.5; letter-spacing: .015em; }
.arkhou-site-header .arkhou-header__languages { font-size: .8125rem; font-weight: 500; letter-spacing: 0; }
.arkhou-footer__title { font-size: .8125rem; line-height: 1.5; font-weight: 600; letter-spacing: .055em; margin-block-end: .85rem; }
.arkhou-footer__description,
.arkhou-footer__menu li,
.arkhou-footer__menu a,
.arkhou-footer__contact-item { font-size: var(--arkhou-type-caption); font-weight: 400; line-height: 1.7; letter-spacing: 0; }
.arkhou-footer__bottom { font-size: .8125rem; line-height: 1.6; letter-spacing: 0; padding-block: .85rem; }
.arkhou-footer__menu li + li { margin-block-start: .4rem; }

/* Short desktop hero viewports retain their existing fit behavior. */
@media (min-width: 64rem) and (max-height: 48rem) {
  #primary .arkhou-mission-hero { --arkhou-font-size-display: clamp(2.125rem, 6.5svh, 3.5rem); }
}
@media (max-width: 63.999rem) {
  .arkhou-site-header .arkhou-primary-menu > .menu-item > a { font-size: 1rem; }
  .arkhou-site-header .arkhou-primary-menu .sub-menu a { font-size: var(--arkhou-type-control); font-weight: 500; }
}
@media (max-width: 29.999rem) {
  .arkhou-mission-hero__actions { flex-direction: column; }
  .arkhou-mission-hero__actions .arkhou-button { inline-size: 100%; justify-content: space-between; }
  .arkhou-mission-hero__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
  .arkhou-editorial-hero__foot { flex-wrap: wrap; }
}
