/* Hallmark · shape: mission-led showcase · genre: modern-minimal · theme: brand · redesign: full
 * hero: Stage · nav: stable bar · footer: statement and directory
 * signature: aerial patrol over the asset it protects · v2.0.0 */
/* Critique: bring the mission into the first screen and let the imagery establish context. */
.mission-hero { background: var(--paper); padding-top: calc(var(--header-h) + 64px); padding-bottom: 0; }
.mission-hero__grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); align-items: center; gap: 64px; }
.mission-hero__copy { min-width: 0; padding-block: 24px; }
.mission-hero h1 { font-size: var(--fs-hero); line-height: 1.02; letter-spacing: var(--tracking-mega); font-weight: var(--weight-display); max-width: 10ch; text-wrap: initial; }
.mission-hero__lead { font-size: var(--fs-lead); line-height: var(--lh-lead); max-width: 36ch; color: var(--ink-2); margin-top: 32px; }
.mission-hero__actions { margin-top: 32px; gap: 12px; }
.mission-hero__visual { position: relative; width: 100%; height: clamp(460px, 41vw, 580px); overflow: hidden; border-radius: var(--r-md); isolation: isolate; background: var(--night); }
.mission-hero__visual::after { content: ""; position: absolute; inset: 0; background: var(--hm-media-scrim); pointer-events: none; }
.mission-hero__video { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.mission-hero__target { position: absolute; top: 34%; left: 52%; width: 18%; height: 22%; border: 1px solid var(--crimson-300); }
.mission-hero__target span { position: absolute; bottom: calc(100% + 8px); left: -1px; padding: 4px 8px; background: var(--night); color: var(--white); white-space: nowrap; font-size: var(--fs-badge); line-height: 1.4; }
.mission-hero__caption { position: absolute; z-index: 1; left: 32px; right: 24px; bottom: 28px; display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.mission-hero__caption p { font-size: 1.125rem; font-weight: 500; color: var(--white); }
.mission-hero__caption span { display: inline-flex; gap: 8px; font-size: var(--fs-label); color: var(--night-ink-2); margin-top: 4px; }
.mission-hero__pause { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--night-ink-3); border-radius: var(--r-xs); color: var(--white); background: var(--night); }
@media (hover: hover) { .mission-hero__pause:hover { background: var(--night-3); } }
.mission-hero__pause vm-icon { grid-area: 1 / 1; }
.mission-hero__pause vm-icon[name="play"], .mission-hero__pause[aria-pressed="true"] vm-icon[name="pause"] { display: none; }
.mission-hero__pause[aria-pressed="true"] vm-icon[name="play"] { display: inline-flex; }
.mission-hero__domains { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 48px; }
.mission-hero__domains a { display: flex; align-items: center; justify-content: center; min-height: 76px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); font-size: var(--fs-small); font-weight: 500; }
@media (hover: hover) { .mission-hero__domains a:hover { color: var(--accent-text); background: var(--paper-2); } }
.manifesto::before { display: none; }
/* The argument is readable in normal document flow. */
.manifesto__runway { height: auto; }
.manifesto__stage { position: static; height: auto; padding-block: var(--section-y); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 64px; align-items: start; }
.manifesto__stage > .eyebrow { padding-top: 8px; font-size: var(--fs-small); }
.manifesto__text { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.22; font-weight: 500; }
.js .manifesto__text .mw, .js .manifesto__text em .mw.is-lit { color: var(--ink); transition: none; }
.page-home .md-head { gap: 64px; align-items: start; margin-bottom: 48px; }
.page-home .md-title { margin-top: 16px; max-width: 13ch; }
.page-home .md-title__dim { color: inherit; }
.page-home .md-ctas { margin-top: 24px; }
.page-home .mx { box-shadow: none; background: var(--night-2); border: 1px solid var(--night-line); }
.page-home .mx__stage { aspect-ratio: auto; display: grid; }
.page-home .mx__slide { position: relative; inset: auto; grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); min-height: 460px; }
.page-home .mx__slide::after { display: none; }
.page-home .mx__slide > img { position: absolute; width: 54.545%; height: 100%; inset: 0 auto 0 0; transform: none; }
.page-home .mx__slide .hud { width: 54.545%; }
.page-home .mx__copy { position: relative; grid-column: 2; left: auto; bottom: auto; width: auto; max-width: none; padding: 48px; align-self: center; }
.page-home .mx__copy > * { transform: none; transition: none; }
.page-home :is(.mx__num, .mx__caps li, .mx__tab-num, .md-flow__n) { font-family: var(--font-label); letter-spacing: 0; text-transform: none; font-size: var(--fs-label); }
.page-home .mx__caps li::before { display: none; }
.page-home .mx__caps { padding-top: 16px; border-top: 1px solid var(--night-line); }
.page-home .mx__tabs { position: relative; inset: auto; height: auto; min-height: 72px; padding: 8px; border: 0; border-top: 1px solid var(--night-line); border-radius: 0; background: var(--night-1); backdrop-filter: none; -webkit-backdrop-filter: none; }
.page-home .mx__tab { border-radius: var(--r-xs); min-height: 52px; justify-content: center; padding-inline: 8px; }
.page-home .mx__tab-num { display: none; }
.page-home .md-flow { margin: 48px 0 0; }
.page-home .md-flow::before { display: none; }
.page-home .md-flow b { font-size: 1.25rem; }
.page-home .md-proof { margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--night-line); }
.page-home .md-proof dt { font-size: var(--fs-display); font-weight: 500; }
.page-home .md-maxim { font-size: 1.375rem; }
/* Disciplines are open rows, with each working demonstration beside its purpose. */
.pillars { padding-block: var(--section-y); }
.pillars__stack { gap: 0; }
.page-home .pillar { position: relative; top: auto; min-height: 0; padding: 48px 0; border: 0; border-top: 1px solid var(--line-2); border-radius: 0; background: var(--paper); box-shadow: none; transform: none; filter: none; gap: 80px; }
.page-home .pillar__title { font-size: var(--fs-display); font-weight: var(--weight-display); line-height: var(--lh-tight); }
.page-home .pillar__lead { max-width: 32ch; line-height: var(--lh-lead); }
.page-home .pillar__num { font-family: var(--font-label); letter-spacing: 0; }
.page-home .pillar__art { min-height: 360px; padding: 32px; border-radius: var(--r-md); background: var(--night); }
.page-home .pillar__art .radar { max-width: 300px; }
.page-home .shieldart { width: min(75%, 260px); }
.page-home .shieldart__svg { filter: none; }
.page-home .shieldart__tag { animation: none; }
.page-home .pillar .link-arrow { margin-top: 24px; }
/* All domains can be browsed directly; no horizontal scroll runway. */
.page-home .domains__runway { height: auto; }
.page-home .domains__stage { position: static; height: auto; overflow: visible; padding-block: var(--section-y); }
.page-home .domains__title { font-size: var(--fs-display); margin-top: 16px; max-width: 19ch; }
.page-home .domains__meta, .page-home .domains__bar { display: none; }
.page-home .domains__viewport { margin-top: 48px; }
.page-home .domains__track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 32px; width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); transform: none; }
.page-home .dpanel { width: auto; height: auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; opacity: 1; }
.page-home .dpanel__media { aspect-ratio: 16 / 10; box-shadow: none; }
.page-home .dpanel__media > img, .page-home .dpanel__media > video { transform: none; }
.page-home .dpanel__copy { max-width: none; }
.page-home .dpanel__copy > * { transform: none; opacity: 1; transition: none; }
.page-home .dpanel__num, .page-home .dpanel__num span { font-family: var(--font-label); font-size: var(--fs-label); text-transform: none; letter-spacing: 0; }
.page-home .dpanel__title { font-size: var(--fs-h3); max-width: 25ch; line-height: 1.16; }
.page-home .dpanel__copy > p:not(.dpanel__num) { margin-top: 12px; }
.page-home .dpanel__copy .link-arrow { margin-top: 20px; }
/* The globe draws real coastlines; ocean dots stay near-invisible, so land carries the shape */
.page-home .trust__globe { opacity: 0.4; }
.page-home .trust .section-head { max-width: 880px; }
@media (max-width: 900px) {
  .manifesto__stage { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-home .md-head { gap: 24px; }
  .page-home .mx__slide { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .page-home .mx__slide > img { position: relative; width: 100%; height: 320px; grid-column: 1; }
  .page-home .mx__slide .hud { width: 100%; height: 320px; }
  .page-home .mx__copy { grid-column: 1; padding: 32px; }
  .page-home .mx__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-home .pillar { gap: 32px; }
  .page-home .pillar__art { min-height: 300px; }
}
@media (max-width: 600px) {
  .page-home .mx__slide > img, .page-home .mx__slide .hud { height: 240px; }
  .page-home .mx__copy { padding: 24px; }
  .page-home .mx__tab { padding-inline: 4px; }
  .page-home .mx__tab-name { font-size: 0.75rem; }
  .page-home .md-proof { gap: 24px; grid-template-columns: minmax(0, 1fr); }
  .page-home .md-proof > div { padding: 0; grid-template-columns: 64px minmax(0, 1fr); align-items: center; }
  .page-home .md-proof > div + div { border: 0; }
  .page-home .pillar { grid-template-columns: minmax(0, 1fr); }
  .page-home .domains__track { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
@media (min-width: 1500px) { .mission-hero { padding-top: calc(var(--header-h) + 80px); } }
@media (max-width: 1100px) and (min-width: 901px) {
  .mission-hero__grid { gap: 40px; }
  .mission-hero__actions { flex-direction: column; align-items: start; }
}
@media (max-width: 900px) {
  .mission-hero { padding-top: calc(var(--header-h) + 48px); }
  .mission-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .mission-hero__copy { padding: 0; }
  .mission-hero h1 { max-width: 14ch; font-size: clamp(2.75rem, 8vw, 4.5rem); }
  .mission-hero__lead { max-width: 42ch; margin-top: 24px; }
  .mission-hero__visual { height: auto; aspect-ratio: 4 / 3; }
  .mission-hero__domains { margin-top: 32px; }
  .mission-hero__domains a { min-height: 64px; font-size: var(--fs-label); }
}
@media (max-width: 600px) {
  .mission-hero__grid { gap: 32px; }
  .mission-hero__actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; margin-top: 24px; }
  .mission-hero__caption { left: 20px; right: 16px; bottom: 20px; }
  .mission-hero__caption p { font-size: var(--fs-small); }
  .mission-hero__target span { white-space: normal; min-width: 80px; }
  .mission-hero__domains { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mission-hero__domains a:nth-child(n+4) { border-top: 0; }
  .mission-hero__domains a { min-height: 52px; }
}
/* Back-to-back dark sections share one gap, divided by a hairline, instead of stacking two full paddings. */
.page-home .surface-night + .section.surface-night { padding-top: var(--section-y-sm); border-top: 1px solid var(--night-line); }
