/* Hallmark · shape: domain atlas and model showcase · genre: modern-minimal · theme: brand · redesign: full
 * hero: Stage (Air, Sea, Infrastructure, Cyber), Banner (Platform, Land, Orbit), Index (Domains)
 * nav: stable bar · footer: shared directory · signature: local mission imagery and working instrument views · v2.0.0 */
/* Critique: image scale and orientation lead; status remains explicit, without surrounding visual noise. */

.hm-domain { background: var(--paper); color: var(--ink); }
.hm-domain .page-hero__title { font-size: var(--fs-hero); font-weight: var(--weight-display); letter-spacing: var(--tracking-mega); color: var(--ink); }
.hm-domain .eyebrow { color: var(--ink-3); font-size: var(--fs-label); }
.hm-domain .dom-status { gap: 12px; margin-top: 24px; align-items: start; }
.hm-domain .dom-status__note { font-size: var(--fs-label); line-height: 1.5; max-width: 42ch; }
.hm-domain .lead { color: var(--ink-2); }
.hm-domain__copy { display: flex; flex-direction: column; min-width: 0; }
.hm-domain__copy > .eyebrow { order: 0; margin-bottom: 24px; }
.hm-domain__copy > h1 { order: 1; margin: 0; }
.hm-domain__copy > .dom-status { order: 3; }
.hm-domain__copy > :is(.air-hero__row, .sea-hero__row) { order: 2; display: flex; flex-direction: column; align-items: start; gap: 24px; margin-top: 24px; }
.hm-domain__copy > :is(.air-hero__row, .sea-hero__row) .page-hero__actions { margin: 0; }

/* Image-led domains: the reader gets the mission and its material together. */
.page-air .air-hero, .page-sea .sea-hero, .page-infrastructure .ih { padding-top: calc(var(--header-h) + 64px); padding-bottom: 48px; }
.page-air .air-hero__inner, .page-sea .sea-hero > .page-hero__inner, .page-infrastructure .ih__inner {
  display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 48px; align-items: center;
}
.page-air .air-hero__title, .page-sea .sea-hero__title, .page-infrastructure .ih__title { max-width: 16ch; font-size: clamp(2.75rem, 4.7vw, 4rem); }
.page-sea .sea-hero__l1, .page-sea .sea-hero__l2 { display: inline; color: var(--ink); }
.page-air .air-hero__media, .page-sea .sea-hero__stage, .page-infrastructure .ih__media { margin: 0; min-width: 0; width: 100%; }
.page-air .air-hero__media, .page-sea .sea-hero__media, .page-infrastructure .ih__media { height: 540px; aspect-ratio: auto; scale: 1; border-radius: var(--r-md); box-shadow: none; }
.page-sea .sea-hero__media { margin: 0; transform: none; }
.page-air .air-hero__media { --hs: 1; }
.page-air .air-hero__frame { --fx: 0.47; --fy: 0.5; }
.page-air .air-hero__actions, .page-sea .sea-hero__actions, .page-infrastructure .ih__actions { flex-wrap: wrap; }
.page-air .air-hero__actions .btn, .page-sea .sea-hero__actions .btn { font-size: var(--control-text-sm); padding-inline: 16px; }
.page-infrastructure .ih__top { display: block; }
.page-infrastructure .ih__head { display: flex; flex-direction: column; }
.page-infrastructure .ih__head .eyebrow { margin-bottom: 24px; }
.page-infrastructure .ih__head .dom-status { order: 2; }
.page-infrastructure .ih__aside { margin-top: 24px; padding-bottom: 0; }
.page-infrastructure .ih__lead { max-width: 32ch; }
.page-infrastructure .ih__actions { margin-top: 24px; }
.page-air .air-rail, .page-sea .sea-index, .page-infrastructure .ih__rail { grid-column: 1 / -1; margin-top: 0; }
.page-air .air-rail ol, .page-sea .sea-index ol, .page-infrastructure .ih__rail ol { border-top: 1px solid var(--line-2); border-bottom: 0; gap: 0; }
.page-air .air-rail a, .page-sea .sea-index a, .page-infrastructure .ih__rail a { min-height: 64px; font-family: var(--font-text); text-transform: none; letter-spacing: 0; border-radius: 0; background: none; }

/* Wide product surfaces retain their reading width beneath an editorial header. */
.page-platform .pl-hero, .page-domains .dhero, .page-land .land-hero { padding-top: calc(var(--header-h) + 64px); padding-bottom: 64px; }
.page-platform .hm-domain__copy, .page-domains .hm-domain__copy, .page-land .hm-domain__copy {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); column-gap: 64px; align-items: start;
}
.page-platform .hm-domain__copy > *, .page-domains .hm-domain__copy > *, .page-land .hm-domain__copy > * { order: 0; }
.page-platform .hm-domain__copy > .eyebrow, .page-domains .hm-domain__copy > .eyebrow { grid-column: 1 / -1; grid-row: 1; margin-bottom: 24px; }
.page-platform .pl-hero__title, .page-domains .dhero__title, .page-land .land-hero__title { grid-column: 1; grid-row: 2; max-width: 16ch; font-size: clamp(2.75rem, 4.7vw, 4rem); }
.page-platform .pl-hero__title .pl-dim, .page-domains .dhero__l2 { color: var(--ink); }
.page-platform .pl-hero__row, .page-domains .dhero__row, .page-land .land-hero__foot { grid-column: 2; grid-row: 2; display: block; margin-top: 0; align-self: center; }
.page-platform .pl-hero__row .lead, .page-domains .dhero__lead, .page-land .land-hero__foot .lead { margin-top: 0; max-width: 42ch; }
.page-platform .pl-hero__row .page-hero__actions, .page-domains .dhero__actions, .page-land .land-hero__foot .page-hero__actions { margin-top: 24px; justify-content: start; }
.page-platform .pl-stage { margin-top: 48px; perspective: none; }
.page-platform .pl-console { margin-top: 0; transform: none; scale: 1; box-shadow: none; border-radius: var(--r-md); }
.page-platform .pl-console::before, .page-platform .pl-console::after { display: none; }
.page-land .land-hero__top { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); column-gap: 64px; align-items: start; margin-bottom: 32px; }
.page-land .land-hero__top .dom-status { margin: 0; }
.page-land .land-hero__survey { display: none; }
.page-land .land-watch { margin-top: 48px; }
.page-land .land-watch__frame { box-shadow: none; border-radius: var(--r-md); scale: 1; }
.page-land .land-watch__tabs { gap: 24px; }
.page-land .lw-tab { font-family: var(--font-text); letter-spacing: 0; }
.page-land .land-watch__bar { margin-top: 16px; }

/* The domain index is a calm image atlas, with captions outside each image. */
.page-domains .dwall { margin-top: 48px; background: none; color: var(--ink); perspective: none; }
.page-domains .dwall__bar { padding: 0 0 16px; background: none; border: 0; font-family: var(--font-text); font-size: var(--fs-label); text-transform: none; letter-spacing: 0; color: var(--ink-3); }
.page-domains .dwall__grid { gap: 24px; transform: none; }
.page-domains .dfeed__link, .page-domains .dfeed__link:hover { border: 0; border-radius: 0; background: none; box-shadow: none; transform: none; }
.page-domains .dfeed__media { border-radius: var(--r-md); }
.page-domains .dfeed__media::after { display: none; }
.page-domains .dfeed__media img, .page-domains .dfeed__link:hover .dfeed__media img { transform: none; filter: none; }
.page-domains .dfeed__cap { padding: 16px 0; color: var(--ink); border: 0; }
.page-domains .dfeed__name { font-size: var(--fs-body); font-weight: 600; color: var(--ink); transition: color var(--t-fast) var(--ease-soft); }
.page-domains .dfeed__what, .page-domains .dfeed__n { color: var(--ink-3); font-family: var(--font-text); letter-spacing: 0; text-transform: none; }
.page-domains .dfeed__cap vm-icon { color: var(--ink); }
.page-domains .dfeed__link:is(:hover, :focus-visible) :is(.dfeed__name, .dfeed__cap vm-icon) { transform: none; }
.page-domains .dfeed__link:focus-visible :is(.dfeed__name, .dfeed__cap vm-icon) { color: var(--accent-text); }
@media (hover: hover) { .page-domains .dfeed__link:hover :is(.dfeed__name, .dfeed__cap vm-icon) { color: var(--accent-text); } }
.page-domains .dfeed .hud__read { display: none; }
.page-domains .dstage { padding-block: var(--section-y); }
.page-domains .dstage__frame { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); height: auto; box-shadow: none; border: 1px solid var(--night-line); }
.page-domains .dstage__media { position: relative; inset: auto; grid-column: 2; grid-row: 1; min-height: 560px; }
.page-domains .dstage__panels { position: relative; inset: auto; grid-column: 1; grid-row: 1; width: auto; padding: 40px; align-items: center; }
.page-domains .dcopy { align-self: center; }
.page-domains .dcopy > * { transition: none; transform: none; }
.page-domains .dcopy__num, .page-domains .dcopy__num span { font-family: var(--font-text); letter-spacing: 0; text-transform: none; }
.page-domains .dcopy__title { font-size: var(--fs-h2); }
.page-domains .dcopy__caps { display: grid; gap: 8px; }
.page-domains .dcopy__caps li { font-family: var(--font-text); letter-spacing: 0; text-transform: none; font-size: var(--fs-label); }
.page-domains .dcopy__caps li::before { display: none; }
.page-domains .dstage__scrim { display: none; }
.page-domains .dstage__tabs { position: relative; inset: auto; grid-column: 1 / -1; grid-row: 2; background: var(--night-1); border-top: 1px solid var(--night-line); }
.page-domains .dstage__btn, .page-domains .dstage__btn:focus-visible { border-radius: var(--r-xs); }
.page-domains .dslide__inset { bottom: 24px; right: 24px; width: 35%; box-shadow: none; border-radius: var(--r-xs); }

/* Orbit's typographic opening hands directly into the existing orbital film. */
.page-orbit .orbit-hero { padding-top: calc(var(--header-h) + 64px); padding-bottom: 48px; }
.page-orbit .orbit-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 64px; align-items: center; }
.page-orbit .orbit-hero__head { display: flex; flex-direction: column; }
.page-orbit .orbit-hero__head .eyebrow { margin-bottom: 24px; }
.page-orbit .orbit-hero__head .dom-status { order: 2; }
.page-orbit .orbit-hero__title { font-size: var(--fs-hero); max-width: 10ch; }
.page-orbit .orbit-hero__side { padding: 0; }

/* Cyber's existing film and example exposure watch form one readable surface. */
.page-cyber .cyhero { min-height: 0; display: block; padding-top: calc(var(--header-h) + 64px); padding-bottom: 80px; }
.page-cyber .cyhero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.page-cyber .cyhero__copy { display: flex; flex-direction: column; }
.page-cyber .cyhero__copy > .eyebrow { margin-bottom: 24px; }
.page-cyber .cyhero__copy > .dom-status { order: 4; }
.page-cyber .cyhero__title { max-width: 14ch; font-size: clamp(2.75rem, 4.7vw, 4rem); }
.page-cyber .cyhero__crumb { color: var(--ink); }
.page-cyber .hm-cy-visual { position: relative; isolation: isolate; min-width: 0; padding-top: 240px; border-radius: var(--r-md); overflow: hidden; background: var(--night); }
.page-cyber .hm-cy-visual .cyhero__bg { display: block; inset: 0 0 auto; height: 240px; z-index: 0; }
.page-cyber .cyhero__scrim, .page-cyber .cyhero__hud, .page-cyber .cyhero .bg-grid { display: none; }
.page-cyber .cypanel { position: relative; z-index: 1; border: 0; border-top: 1px solid var(--night-line); border-radius: 0; padding: 24px; background: var(--night-1); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; font-family: var(--font-text); font-size: var(--fs-label); text-transform: none; letter-spacing: 0; }
.page-cyber .cypanel__target b { letter-spacing: 0; }
.page-cyber .hm-cy-visual .cyhero__pause { top: 16px; right: 16px; bottom: auto; min-width: 44px; min-height: 44px; border-radius: var(--r-xs); background: var(--night-1); backdrop-filter: none; -webkit-backdrop-filter: none; }

/* Lower sections: one spacing system, clearer rows, less decorative framing. */
:is(.page-air, .page-sea, .page-land, .page-orbit, .page-infrastructure, .page-cyber, .page-domains, .page-platform) .section { padding-block: var(--section-y); }
:is(.page-air, .page-sea, .page-land, .page-orbit, .page-infrastructure, .page-cyber, .page-domains, .page-platform) .section--flush-top { padding-top: 64px; }
:is(.page-air, .page-sea, .page-land, .page-orbit, .page-infrastructure, .page-cyber, .page-domains, .page-platform) .section-head { margin-bottom: 48px; }
.page-land .theatre:hover .theatre__name, .page-land .theatre:hover .theatre__go { transform: none; }
.page-land .theatre__num, .page-infrastructure .inet__n, .page-platform .pl-prin__num { font-family: var(--font-text); letter-spacing: 0; }
.page-platform .pl-prin__item::before { display: none; }
.page-platform .pl-disc__grid { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--line-2); }
.page-platform .pl-dcard { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px 32px; padding: 40px 0; min-height: 0; border: 0; border-bottom: 1px solid var(--line-2); border-radius: 0; background: var(--paper); color: var(--ink); }
.page-platform .pl-dcard .pl-rail { grid-column: 1 / -1; width: min(100%, 400px); }
.page-platform .pl-dcard .card__icon { grid-column: 1; grid-row: 2; margin: 0; align-self: end; }
.page-platform .pl-dcard__title { grid-column: 1; grid-row: 3; margin: 0; font-size: var(--fs-h3); font-weight: var(--weight-heading); line-height: var(--lh-tight); }
.page-platform .pl-dcard__lead { grid-column: 2; grid-row: 2 / span 2; }
.page-platform .pl-dcard__list { grid-column: 3; grid-row: 2 / span 3; margin: 0; }
.page-platform .pl-dcard .card__link { grid-column: 2; grid-row: 4; margin: 0; padding-top: 0; color: var(--accent-text); }
.page-platform .pl-dcard .card__icon { color: var(--ink); background: none; }
.page-platform .pl-rail li, .page-platform .pl-dcard--crimson .pl-rail li { font-family: var(--font-text); font-size: var(--fs-label); letter-spacing: 0; text-transform: none; color: var(--ink-3); }
.page-platform .pl-rail li.is-on, .page-platform .pl-dcard--crimson .pl-rail li.is-on { color: var(--ink); }
.page-platform .pl-rail li::after { transition: none; }
.page-platform .pl-dcard--crimson .pl-rail li::after { background: var(--crimson); }
.page-platform .pl-where { padding: 0 0 24px; background: none; border: 0; border-radius: 0; }
.page-platform .pl-where:hover { transform: none; box-shadow: none; }
.page-platform .pl-console__pause:hover { transform: none; }
.page-platform .pl-cbtn--ok { color: var(--white); box-shadow: none; }
@media (hover: hover) { .page-platform .pl-cbtn--ok:hover { background: var(--crimson-600); } }
.page-platform .pl-dom__link, .page-platform .pl-dom__link:hover { box-shadow: none; }
.page-platform .pl-dom__link:hover, .page-platform .pl-dom__link:hover .pl-dom__media img,
.page-platform .pl-dom__link:is(:hover, :focus-visible) .pl-dom__go { transform: none; }
.page-domains .dtab[aria-selected="true"] .dtab__num { color: var(--hm-accent-night); }
.page-platform .pl-where__art { background: var(--night-1); border-radius: var(--r-md); }
.page-platform .pl-where > :not(.pl-where__art) { padding-inline: 0; }
.page-platform .pl-where__k { font-family: var(--font-text); letter-spacing: 0; }
.page-platform .pl-doms__head, .page-platform .pl-prin__grid, .page-infrastructure .inet__grid { gap: 64px; }
.page-sea .sea-intro__statement em { font-style: normal; color: inherit; }
.page-sea .sea-use--media:hover .sea-use__media > img { transform: none; }
.page-air .air-cta, .page-sea .sea-cta, .page-platform .pl-cta, .page-infrastructure .icta, .page-land .land-cta { padding-block: 80px; }

@media (max-width: 1100px) {
  .page-air .air-hero__inner, .page-sea .sea-hero > .page-hero__inner, .page-infrastructure .ih__inner { gap: 32px; }
  .page-air .air-hero__media, .page-sea .sea-hero__media, .page-infrastructure .ih__media { height: 560px; }
  .page-platform .hm-domain__copy, .page-domains .hm-domain__copy, .page-land .hm-domain__copy, .page-land .land-hero__top, .page-orbit .orbit-hero__inner, .page-cyber .cyhero__inner { column-gap: 32px; }
}
@media (max-width: 800px) {
  .page-air .air-hero, .page-sea .sea-hero, .page-infrastructure .ih, .page-cyber .cyhero,
  .page-platform .pl-hero, .page-domains .dhero, .page-land .land-hero, .page-orbit .orbit-hero { padding-top: calc(var(--header-h) + 48px); padding-bottom: 48px; }
  .page-air .air-hero__inner, .page-sea .sea-hero > .page-hero__inner, .page-infrastructure .ih__inner,
  .page-platform .hm-domain__copy, .page-domains .hm-domain__copy, .page-land .hm-domain__copy,
  .page-land .land-hero__top, .page-orbit .orbit-hero__inner, .page-cyber .cyhero__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .page-platform .hm-domain__copy, .page-domains .hm-domain__copy, .page-land .hm-domain__copy { display: flex; flex-direction: column; gap: 0; }
  .page-platform .pl-hero__row, .page-domains .dhero__row, .page-land .land-hero__foot { margin-top: 24px; align-self: stretch; }
  .page-land .land-hero__top { margin-bottom: 24px; gap: 16px; }
  .page-air .air-hero__title, .page-sea .sea-hero__title, .page-infrastructure .ih__title,
  .page-land .land-hero__title, .page-platform .pl-hero__title, .page-domains .dhero__title, .page-cyber .cyhero__title { font-size: clamp(2.75rem, 7vw, 4rem); max-width: 17ch; }
  .page-air .air-hero__media, .page-sea .sea-hero__media, .page-infrastructure .ih__media { height: auto; aspect-ratio: 4 / 3; }
  .page-platform .pl-doms__head, .page-platform .pl-prin__grid, .page-infrastructure .inet__grid { gap: 32px; }
  .page-domains .dwall__grid { gap: 24px 16px; }
  .page-domains .dfeed__what { display: block; font-size: var(--fs-label); }
  .page-domains .dstage__frame { grid-template-columns: minmax(0, 1fr); }
  .page-domains .dstage__media { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 4 / 3; }
  .page-domains .dstage__panels { grid-column: 1; grid-row: 2; padding: 32px 24px; }
  .page-domains .dstage__tabs { grid-row: 3; }
  .page-platform .pl-dcard { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .page-platform .pl-dcard > * { grid-column: 1 !important; grid-row: auto !important; }
  .page-platform .pl-dcard .card__icon { display: none; }
  .page-platform .pl-dcard .card__link { margin-top: 8px; }
}
@media (max-width: 480px) {
  .page-air .air-hero__actions, .page-sea .sea-hero__actions { align-items: stretch; width: 100%; }
  .page-air .air-hero__actions .btn, .page-sea .sea-hero__actions .btn { flex: 1 1 100%; }
  .page-domains .dwall__grid { grid-template-columns: minmax(0, 1fr); }
  .page-domains .dwall__meta { display: none; }
  .page-cyber .hm-cy-visual { padding-top: 200px; }
  .page-cyber .hm-cy-visual .cyhero__bg { height: 200px; }
  .page-cyber .cypanel { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-domain *, .hm-domain *::before, .hm-domain *::after { animation: none !important; transition: none !important; }
}
