.subpage-container {
  width: min(100%, var(--content-wide));
  margin-inline: auto;
  padding-inline: var(--page-gutter);
}

.navigation-item { position: relative; }
.navigation-dropdown {
  position: fixed;
  z-index: 90;
  top: var(--header-height);
  right: 0;
  left: 0;
  padding: 0 var(--page-gutter);
  color: var(--color-navy-950);
  background: rgb(250 249 245 / 98%);
  border-top: 1px solid var(--color-gray-200);
  box-shadow: 0 1.5rem 2.5rem rgb(6 24 39 / 12%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast);
}

.site-header.is-scrolled .navigation-dropdown { top: var(--header-height-scrolled); }
.navigation-item--has-children:hover .navigation-dropdown,
.navigation-item--has-children:focus-within .navigation-dropdown,
.navigation-item--has-children.is-dropdown-open .navigation-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.navigation-dropdown-inner { width: min(100%, var(--content-wide)); display: grid; grid-template-columns: 3fr 9fr; gap: var(--space-10); margin-inline: auto; padding: var(--space-8) 0 var(--space-10); }
.navigation-dropdown-inner > strong { color: var(--color-blue-600); font-size: var(--font-size-xs); letter-spacing: 0.15em; text-transform: uppercase; }
.navigation-dropdown ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-8); margin: 0; padding: 0; list-style: none; }
.navigation-dropdown a { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); color: var(--color-navy-950); font-size: var(--font-size-sm); text-decoration: none; border-bottom: 1px solid var(--color-gray-200); }
.navigation-dropdown a i { color: var(--color-gold-500); font-style: normal; transition: transform var(--transition-fast); }
.navigation-dropdown a:hover,
.navigation-dropdown a.is-active { color: var(--color-blue-600); }
.navigation-dropdown a:hover i { transform: translate(0.2rem, -0.2rem); }

.mobile-navigation-item.has-submenu { padding: 0; }
.mobile-submenu-toggle { width: 100%; min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; padding: 0; color: var(--color-navy-950); font: inherit; font-size: clamp(1.05rem, 3vw, 1.35rem); background: transparent; border: 0; cursor: pointer; }
.mobile-submenu-toggle i { position: relative; width: 1rem; height: 1rem; display: block; }
.mobile-submenu-toggle i::before,
.mobile-submenu-toggle i::after { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: var(--color-gold-500); content: ""; transition: transform var(--transition-fast); }
.mobile-submenu-toggle i::after { transform: rotate(90deg); }
.mobile-submenu-toggle[aria-expanded="true"] i::after { transform: rotate(0); }
.mobile-submenu { display: grid; margin: 0 0 var(--space-4); padding: 0 0 var(--space-3) var(--space-4); list-style: none; border-left: 1px solid var(--color-gray-300); }
.mobile-submenu[hidden] { display: none; }
.mobile-navigation .mobile-submenu li { border: 0; }
.mobile-submenu a { min-height: 2.85rem; display: flex; align-items: center; color: var(--color-gray-700); font-size: var(--font-size-sm); text-decoration: none; }
.mobile-submenu a:hover,
.mobile-submenu a.is-active { color: var(--color-blue-600); }

.subpage-hero { position: relative; min-height: clamp(32rem, 60svh, 43rem); display: grid; align-items: end; overflow: hidden; color: var(--color-white); background: var(--color-navy-950); isolation: isolate; }
.subpage-hero--about { min-height: clamp(36rem, 70svh, 48rem); }
.subpage-hero-visual,
.subpage-hero-shade { position: absolute; z-index: -2; inset: 0; }
.subpage-hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.subpage-hero-shade { z-index: -1; background: linear-gradient(90deg, rgb(3 18 31 / 78%) 0%, rgb(3 18 31 / 30%) 58%, rgb(3 18 31 / 8%) 100%), linear-gradient(0deg, rgb(3 18 31 / 70%) 0%, transparent 54%); }
.subpage-hero-inner { width: min(100%, var(--content-wide)); margin-inline: auto; padding: calc(var(--header-height) + var(--space-16)) var(--page-gutter) clamp(3rem, 5vw, 5.25rem); }
.subpage-hero .eyebrow { color: var(--color-gold-400); }
.subpage-hero h1 { max-width: 15ch; margin: 0; font-size: clamp(3.25rem, 5.5vw, 5.5rem); font-weight: var(--font-weight-semibold); line-height: 1; letter-spacing: -0.055em; }
.subpage-hero p { max-width: 48rem; margin: var(--space-5) 0 0; color: rgb(255 255 255 / 82%); font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.6; text-wrap: balance; }
html[lang="ko"] .subpage-hero h1 { word-break: keep-all; }

.subpage-breadcrumb { width: min(100%, var(--content-wide)); margin-inline: auto; padding: var(--space-5) var(--page-gutter); background: var(--color-white); }
.subpage-breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.subpage-breadcrumb li { display: flex; align-items: center; gap: var(--space-3); color: var(--color-gray-500); font-size: var(--font-size-xs); }
.subpage-breadcrumb li:not(:last-child)::after { content: "/"; color: var(--color-gray-300); }
.subpage-breadcrumb a { text-decoration: none; }
.subpage-breadcrumb [aria-current="page"] { color: var(--color-navy-950); }

.admin-page-tools { color: var(--color-white); background: var(--color-navy-900); border-top: 1px solid rgb(255 255 255 / 12%); }
.admin-page-tools .subpage-container { min-height: 4.25rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }
.admin-page-tools span { color: var(--color-gold-400); font-size: .62rem; font-weight: var(--font-weight-bold); letter-spacing: .14em; }
.admin-page-tools a { min-height: 2.75rem; display: inline-flex; align-items: center; gap: var(--space-6); padding: 0 var(--space-4); color: var(--color-navy-950); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); text-decoration: none; background: var(--color-gold-500); }
.admin-page-tools a i { font-style: normal; }

.subpage-index { color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.14em; }
.subpage-intro,
.about-introduction { padding: var(--section-space-compact) 0; background: var(--color-white); }
.subpage-intro-grid,
.about-introduction-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.subpage-intro-grid .subpage-index,
.about-introduction-grid .subpage-index { grid-column: 1 / 2; padding-top: var(--space-3); }
.subpage-intro-grid h2,
.about-introduction-grid h2 { grid-column: 2 / 9; max-width: none; margin: 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.12; letter-spacing: -0.04em; }
.subpage-intro-grid > p { grid-column: 9 / 13; margin: var(--space-3) 0 0; color: var(--color-gray-700); line-height: 1.75; }
.about-introduction-grid > div { grid-column: 9 / 13; padding-top: var(--space-3); }
.about-introduction-grid p { margin: 0; color: var(--color-gray-700); font-size: var(--font-size-base); line-height: 1.75; }
.about-introduction-grid p + p { margin-top: var(--space-6); }

.subpage-block { padding: var(--section-space) 0; }
.subpage-custom-section { color: var(--color-navy-950); background: var(--color-white); border-top: 1px solid var(--color-gray-200); }
.subpage-custom-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 3rem); align-items: start; }
.subpage-custom-grid .eyebrow { grid-column: 1 / 4; padding-top: .7rem; }
.subpage-custom-grid h2 { grid-column: 4 / 10; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; }
.subpage-custom-grid p { grid-column: 10 / 13; margin: .5rem 0 0; color: var(--color-gray-700); font-size: var(--font-size-base); line-height: 1.75; }
.subpage-custom-section--statement { color: var(--color-white); background: var(--color-navy-950); }
.subpage-custom-section--statement .eyebrow { color: var(--color-gold-400); }
.subpage-custom-section--statement h2 { grid-column: 3 / 10; color: inherit; }
.subpage-custom-section--statement p { color: rgb(255 255 255 / 67%); }
.subpage-custom-image-placeholder { width: 100%; height: 100%; min-height: 24rem; display: grid; place-items: center; color: rgb(255 255 255 / 45%); background: var(--color-navy-900); }
.subpage-section-heading h2 { max-width: 18ch; margin: 0; color: var(--color-navy-950); font-size: var(--font-size-section); font-weight: var(--font-weight-medium); line-height: 1.06; letter-spacing: -0.05em; }
.subpage-split { background: var(--color-canvas); }
.subpage-split-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: center; }
.subpage-split figure { grid-column: 1 / 8; min-height: 32rem; margin: 0; overflow: hidden; background: var(--color-navy-900); }
.subpage-split img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; }
.subpage-split-copy { grid-column: 9 / 13; }
.subpage-split--reverse figure { grid-column: 6 / 13; grid-row: 1; }
.subpage-split--reverse .subpage-split-copy { grid-column: 1 / 5; grid-row: 1; }
.subpage-split-copy h2 { margin: 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -0.04em; }
.subpage-split-copy p,
.subpage-architecture-grid > div:first-child p { margin: var(--space-5) 0 0; color: var(--color-gray-700); font-size: var(--font-size-base); line-height: 1.75; }

.subpage-features { background: var(--color-paper); }
.subpage-features--documents { background: var(--color-white); }
.subpage-feature-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
.subpage-feature-grid > .subpage-section-heading { grid-column: 1 / 6; }
.subpage-feature-list { grid-column: 7 / 13; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-gray-300); }
.subpage-feature-list li { display: grid; grid-template-columns: 3rem 1fr; gap: var(--space-5); padding: var(--space-6) 0; border-bottom: 1px solid var(--color-gray-300); }
.subpage-feature-list li > span { color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.subpage-feature-list h3 { margin: 0; color: var(--color-navy-950); font-size: clamp(1.4rem, 2vw, 2.15rem); font-weight: var(--font-weight-medium); line-height: 1.2; letter-spacing: -0.03em; }
.subpage-feature-list p { margin: var(--space-3) 0 0; color: var(--color-gray-700); line-height: 1.7; }

/* Defense capabilities: four equal fields in one horizontal row. */
.page-business-defense .subpage-features .subpage-feature-grid > .subpage-section-heading { grid-column: 1 / 13; }
.page-business-defense .subpage-features .subpage-section-heading h2 { max-width: 20ch; font-size: var(--font-size-subsection); line-height: 1.08; }
.page-business-defense .subpage-features .subpage-feature-list { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(1.5rem, 3vw, 3rem); border-left: 1px solid var(--color-gray-300); }
.page-business-defense .subpage-features .subpage-feature-list li { min-width: 0; min-height: clamp(15rem, 19vw, 19rem); display: flex; flex-direction: column; gap: 0; padding: clamp(1.5rem, 2.2vw, 2.25rem); border-right: 1px solid var(--color-gray-300); }
.page-business-defense .subpage-features .subpage-feature-list li > span { display: block; }
.page-business-defense .subpage-features .subpage-feature-list li > div { display: flex; flex: 1; flex-direction: column; }
.page-business-defense .subpage-features .subpage-feature-list h3 { margin-top: clamp(2rem, 3vw, 3.5rem); font-size: clamp(1.45rem, 1.85vw, 2rem); line-height: 1.14; overflow-wrap: anywhere; }
.page-business-defense .subpage-features .subpage-feature-list p { margin-top: auto; padding-top: var(--space-6); font-size: .95rem; }

:is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-block { padding-block: var(--section-space-compact); }
:is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-split figure { min-height: 28rem; background: #f4f6f8; }
:is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-split img { min-height: 28rem; max-height: 34rem; padding: clamp(.75rem, 2vw, 1.5rem); object-fit: contain; }
:is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-section-heading h2 { font-size: var(--font-size-subsection); }
:is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-split-copy h2 { font-size: clamp(1.95rem, 2.8vw, 3rem); }
.care-overview { color: var(--color-navy-950); background: var(--color-canvas); }
.care-overview-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.care-overview-heading .eyebrow { grid-column: 1 / 4; padding-top: .65rem; }
.care-overview-heading h2 { grid-column: 4 / 10; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; }
.care-overview-heading > p { grid-column: 10 / 13; margin: .35rem 0 0; color: var(--color-gray-700); line-height: 1.75; }
.care-overview-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); margin-top: clamp(2.5rem, 4.5vw, 4rem); }
.care-overview-features { grid-column: 2 / 12; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-gray-300); }
.care-overview-features li { display: grid; grid-template-columns: 4rem 1fr; gap: var(--space-5); min-height: 12rem; padding: var(--space-6); border-bottom: 1px solid var(--color-gray-300); }
.care-overview-features li:nth-child(odd) { border-right: 1px solid var(--color-gray-300); }
.care-feature-icon { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; color: #43877f; }
.care-feature-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.care-feature-number { display: block; margin-bottom: var(--space-3); color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.care-overview-features h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: var(--font-weight-medium); }
.care-overview-features p { margin: var(--space-2) 0 0; color: var(--color-gray-700); line-height: 1.65; }

.subpage-timeline-section { color: var(--color-charcoal); background: var(--color-white); }
.subpage-timeline-section .subpage-section-heading h2 { color: var(--color-navy-950); }
.subpage-timeline { position: relative; margin: clamp(2.5rem, 4vw, 4rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-gray-300); }
.subpage-timeline li { position: relative; display: grid; grid-template-columns: minmax(8rem, 2.25fr) minmax(0, 9.75fr); gap: clamp(2rem, 4vw, 5rem); padding: clamp(1.75rem, 3vw, 3rem) 0; color: var(--color-charcoal); border-bottom: 1px solid var(--color-gray-300); transition: color var(--transition-fast); }
.subpage-timeline li::before { position: absolute; top: 0; bottom: -1px; left: 0; width: 3px; background: transparent; content: ""; transition: background-color var(--transition-fast); }
.subpage-timeline li > strong { color: currentColor; font-size: clamp(1.9rem, 3vw, 3.25rem); font-weight: var(--font-weight-semibold); line-height: 1; letter-spacing: -0.04em; transition: color var(--transition-fast); }
.subpage-timeline h3 { margin: 0; color: currentColor; font-size: clamp(1.2rem, 1.7vw, 1.65rem); font-weight: var(--font-weight-semibold); line-height: 1.45; letter-spacing: -0.025em; transition: color var(--transition-fast); }
.subpage-timeline p { max-width: 64rem; margin: var(--space-4) 0 0; color: currentColor; font-size: clamp(1rem, 1.15vw, 1.125rem); line-height: 1.9; white-space: pre-line; transition: color var(--transition-fast); }
@media (hover: hover) {
  .subpage-timeline li:hover { color: var(--color-gold-500); }
  .subpage-timeline li:hover::before { background: var(--color-gold-500); }
}

.subpage-organization { background: var(--color-canvas); }
.organization-chart { margin-top: clamp(3.5rem, 6vw, 6rem); }
.organization-root { width: min(100%, 18rem); min-height: 7rem; display: grid; place-content: center; gap: .45rem; margin: 0 auto; text-align: center; color: var(--color-white); background: var(--color-navy-950); border-top: 4px solid var(--color-gold-500); }
.organization-root small { color: var(--color-gold-400); font-size: .62rem; font-weight: var(--font-weight-bold); letter-spacing: .18em; }
.organization-root strong { font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: var(--font-weight-semibold); }
.organization-trunk { width: 1px; height: 4rem; margin: 0 auto; background: var(--color-gray-400); }
.organization-regions { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(15rem, 1.2fr); gap: clamp(2rem, 4vw, 4rem); }
.organization-regions::before { position: absolute; top: -1px; right: 9.5%; left: 39%; height: 1px; background: var(--color-gray-400); content: ""; }
.organization-region { position: relative; padding-top: 2.75rem; }
.organization-region::before { position: absolute; top: 0; left: 50%; width: 1px; height: 2.75rem; background: var(--color-gray-400); content: ""; }
.organization-region > h3 { min-height: 5rem; display: flex; align-items: center; justify-content: center; gap: .75rem; margin: 0; padding: 1rem; color: var(--color-navy-950); font-size: clamp(1.15rem, 1.6vw, 1.45rem); font-weight: var(--font-weight-semibold); text-align: center; background: var(--color-white); border: 1px solid var(--color-gray-300); }
.organization-region > h3 span { width: .55rem; height: .55rem; flex: 0 0 auto; background: var(--color-gold-500); transform: rotate(45deg); }
.organization-region--myanmar > h3 span { background: var(--color-teal-500); }
.organization-divisions { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.75rem, 1.5vw, 1.5rem); margin-top: 3.5rem; }
.organization-divisions::before { position: absolute; top: -1.75rem; right: 12.5%; left: 12.5%; height: 1px; background: var(--color-gray-300); content: ""; }
.organization-division { position: relative; min-width: 0; background: var(--color-white); border: 1px solid var(--color-gray-300); }
.organization-division::before { position: absolute; bottom: 100%; left: 50%; width: 1px; height: 1.75rem; background: var(--color-gray-300); content: ""; }
.organization-division h4 { min-height: 5rem; display: grid; place-items: center; margin: 0; padding: 1rem .7rem; color: var(--color-white); font-size: clamp(.9rem, 1.15vw, 1.05rem); font-weight: var(--font-weight-semibold); line-height: 1.35; text-align: center; background: var(--color-navy-900); }
.organization-division ul,
.organization-companies { margin: 0; padding: 0; list-style: none; }
.organization-division li { min-height: 4rem; display: grid; place-items: center; padding: .8rem .55rem; color: var(--color-gray-700); font-size: clamp(.78rem, .95vw, .9rem); font-weight: var(--font-weight-medium); line-height: 1.35; text-align: center; border-top: 1px solid var(--color-gray-200); }
.organization-companies { display: grid; gap: 1rem; margin-top: 3.5rem; }
.organization-companies li { min-height: 5.5rem; display: grid; place-items: center; padding: 1rem; color: var(--color-navy-950); font-size: clamp(1rem, 1.3vw, 1.2rem); font-weight: var(--font-weight-semibold); text-align: center; background: #fbefd3; border-left: 4px solid var(--color-teal-500); }

.subpage-policy-gallery { background: var(--color-paper); }
.policy-gallery-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.policy-gallery-heading .eyebrow { grid-column: 1 / 4; }
.policy-gallery-heading h2 { grid-column: 4 / 10; margin: 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; }
.policy-gallery-heading > p { grid-column: 10 / 13; margin: 0 0 .35rem; color: var(--color-gray-700); line-height: 1.75; }
.policy-document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.2vw, 2.5rem); margin-top: clamp(3rem, 5vw, 5rem); }
.policy-document-card { min-width: 0; }
.policy-document-card > button { width: 100%; display: grid; grid-template-columns: auto 1fr; gap: .8rem 1rem; padding: 0 0 1.5rem; color: var(--color-navy-950); font: inherit; text-align: left; background: var(--color-white); border: 1px solid var(--color-gray-300); cursor: pointer; transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base); }
.policy-document-card figure { grid-column: 1 / -1; aspect-ratio: 4 / 5; margin: 0; padding: clamp(1rem, 2vw, 1.75rem); overflow: hidden; background: #ecefee; }
.policy-document-card figure img { width: 100%; height: 100%; display: block; object-fit: contain; filter: saturate(.88); transition: transform .35s ease; }
.policy-document-card > button > span { grid-row: 2 / 5; padding-left: 1.25rem; color: var(--color-gold-500); font-size: .7rem; font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.policy-document-card h3 { margin: 0; padding-right: 1.25rem; font-size: clamp(1.25rem, 1.65vw, 1.65rem); font-weight: var(--font-weight-semibold); letter-spacing: -.025em; }
.policy-document-card p { min-height: 4.8rem; margin: 0; padding-right: 1.25rem; color: var(--color-gray-700); font-size: .9rem; line-height: 1.65; }
.policy-document-card small { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem 0 0; color: var(--color-navy-950); font-size: .72rem; font-weight: var(--font-weight-semibold); border-top: 1px solid var(--color-gray-200); }
.policy-document-card small i { font-size: 1rem; font-style: normal; }
@media (hover: hover) {
  .policy-document-card > button:hover { border-color: var(--color-gold-500); box-shadow: 0 1.3rem 3rem rgb(3 18 31 / 13%); transform: scale(1.018); }
  .policy-document-card > button:hover figure img { transform: scale(1.025); }
}
.policy-document-card > button:focus-visible { outline: 3px solid var(--color-gold-500); outline-offset: 4px; }
.policy-closing { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); margin-top: clamp(3rem, 5vw, 5rem); padding: clamp(2.5rem, 4vw, 4rem); color: var(--color-white); background: var(--color-navy-950); }
.policy-closing .eyebrow { grid-column: 1 / 4; color: var(--color-gold-400); }
.policy-closing h2 { grid-column: 4 / 10; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; }
.policy-closing p { grid-column: 10 / 13; margin: 0; color: rgb(255 255 255 / 68%); line-height: 1.75; }
.policy-document-dialog { width: min(72rem, calc(100vw - 3rem)); max-width: none; height: min(92vh, 62rem); max-height: none; padding: 0; color: var(--color-navy-950); background: #eef1f1; border: 0; box-shadow: 0 2rem 7rem rgb(0 0 0 / 42%); }
.policy-document-dialog::backdrop { background: rgb(3 18 31 / 78%); backdrop-filter: blur(.35rem); }
.policy-dialog-frame { height: 100%; display: grid; grid-template-rows: auto 1fr; }
.policy-dialog-frame > header { min-height: 6rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1.25rem, 3vw, 2.5rem); color: var(--color-white); background: var(--color-navy-950); }
.policy-dialog-frame > header span { color: var(--color-gold-400); font-size: .6rem; font-weight: var(--font-weight-bold); letter-spacing: .14em; }
.policy-dialog-frame > header h2 { margin: .3rem 0 0; font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: var(--font-weight-medium); }
.policy-dialog-frame > header button { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; padding: 0; color: var(--color-white); font: inherit; font-size: 2rem; line-height: 1; background: transparent; border: 1px solid rgb(255 255 255 / 45%); border-radius: 50%; cursor: pointer; }
.policy-dialog-frame > header button:hover,
.policy-dialog-frame > header button:focus-visible { color: var(--color-navy-950); background: var(--color-gold-500); border-color: var(--color-gold-500); }
.policy-dialog-document { min-height: 0; overflow: auto; padding: clamp(1rem, 3vw, 2.5rem); overscroll-behavior: contain; }
.policy-dialog-document img { width: auto; max-width: 100%; height: auto; display: block; margin: 0 auto; background: var(--color-white); box-shadow: 0 .8rem 2rem rgb(3 18 31 / 12%); }

.subpage-certification-gallery { background: var(--color-canvas); }
.certification-document-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.8rem, 1.35vw, 1.4rem); }
.certification-document-card { height: 100%; overflow: hidden; background: var(--color-white); border: 1px solid var(--color-gray-300); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.certification-document-card figure { aspect-ratio: 3 / 4; padding: clamp(.65rem, 1.15vw, 1rem); background: #eef1f1; }
.certification-document-card figure img { transition: transform 240ms ease; }
.certification-document-caption { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .65rem 0; padding: 1rem 0 1.15rem; }
.certification-document-caption > span { padding: .2rem 0 0 .85rem; color: var(--color-gold-500); font-size: .62rem; font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.certification-document-card h3 { min-height: 3.3em; margin: 0; padding: 0 .85rem 0 .3rem; font-size: clamp(.92rem, 1.05vw, 1.15rem); font-weight: var(--font-weight-semibold); line-height: 1.35; letter-spacing: -.025em; }
.certification-document-grid > .certification-document-card:last-child:nth-child(5n + 1) { grid-column: 3; }
.certification-document-grid > .certification-document-card:nth-last-child(3):nth-child(5n + 1) { grid-column: 2; }

@media (hover: hover) {
  .certification-document-card:hover { transform: translateY(-.25rem) scale(1.012); border-color: var(--color-gold-500); box-shadow: 0 1rem 2.5rem rgb(3 18 31 / 11%); }
  .certification-document-card:hover figure img { transform: scale(1.025); }
}

.subpage-architecture { color: var(--color-white); background: var(--color-navy-950); }
.subpage-architecture-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.subpage-architecture-grid > div:first-child { grid-column: 1 / 6; }
.subpage-architecture-grid h2 { margin: 0; color: var(--color-white); font-size: var(--font-size-section); font-weight: var(--font-weight-medium); line-height: 1.06; letter-spacing: -0.05em; }
.subpage-architecture-grid > div:first-child p { color: rgb(255 255 255 / 66%); }
.architecture-visual { grid-column: 7 / 13; min-height: 28rem; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: var(--space-4); padding: var(--space-10); border: 1px solid rgb(255 255 255 / 24%); background: radial-gradient(circle at center, rgb(26 154 150 / 24%), transparent 52%); }
.architecture-visual span { min-height: 8rem; display: grid; place-items: center; color: var(--color-navy-950); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; background: var(--color-gold-500); }
.architecture-visual i { width: 2rem; height: 1px; background: rgb(255 255 255 / 50%); }

/* EMS Software prototype */
:is(.page-solutions-ict-service, .page-solutions-baroilson) .subpage-intro { padding: var(--section-space-compact) 0; }
:is(.page-solutions-ict-service, .page-solutions-baroilson) .subpage-intro-grid h2 { font-size: var(--font-size-subsection); }
:is(.page-solutions-ict-service, .page-solutions-baroilson) .subpage-intro-grid > p { font-size: .96rem; line-height: 1.7; }
:is(.page-solutions-ict-service, .page-solutions-baroilson) .ems-overview,
:is(.page-solutions-ict-service, .page-solutions-baroilson) .ems-showcase,
:is(.page-solutions-ict-service, .page-solutions-baroilson) .ems-ecosystem,
:is(.page-solutions-ict-service, .page-solutions-baroilson) .ems-roadmap { padding: var(--section-space-compact) 0; }
:is(.page-solutions-ict-service, .page-solutions-baroilson) .subpage-contact-cta { padding: var(--section-space-compact) 0; }
:is(.page-solutions-ict-service, .page-solutions-baroilson) .subpage-contact-grid h2 { font-size: var(--font-size-subsection); }
.ems-overview { color: var(--color-white); background: var(--color-navy-950); }
.ems-overview-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.ems-overview-copy { grid-column: 1 / 7; }
.ems-overview-copy h2,
.ems-showcase-copy h2,
.ems-ecosystem-heading h2,
.ems-roadmap-heading h2 { margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -0.04em; text-wrap: balance; }
.ems-overview-copy > p:last-child { max-width: 42rem; margin: var(--space-6) 0 0; color: rgb(255 255 255 / 70%); font-size: var(--font-size-base); line-height: 1.72; }
.ems-development-badge { width: fit-content; display: flex; align-items: center; gap: .65rem; margin: var(--space-7) 0 var(--space-5); padding: .55rem .8rem; border: 1px solid rgb(255 255 255 / 22%); color: var(--color-gold-400); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.ems-development-badge i { width: .55rem; height: .55rem; background: #3bd18b; border-radius: 50%; box-shadow: 0 0 0 .3rem rgb(59 209 139 / 14%); }
.ems-principles { grid-column: 8 / 13; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 20%); }
.ems-principles li { display: grid; grid-template-columns: 2.4rem 1fr; gap: var(--space-4); padding: var(--space-5) 0; border-bottom: 1px solid rgb(255 255 255 / 20%); }
.ems-principles li > span { color: var(--color-gold-400); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.ems-principles h3 { margin: 0; font-size: clamp(1.15rem, 1.4vw, 1.5rem); font-weight: var(--font-weight-medium); }
.ems-principles p { margin: var(--space-2) 0 0; color: rgb(255 255 255 / 62%); font-size: .94rem; line-height: 1.6; }

.ems-showcase { background: var(--color-paper); }
.ems-showcase--modules { background: var(--color-white); }
.ems-showcase-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.ems-screen-frame { position: relative; grid-column: 1 / 6; width: min(100%, 22rem); justify-self: center; padding: clamp(.7rem, 1.2vw, 1rem); border: 1px solid var(--color-gray-300); border-radius: 1.5rem; background: linear-gradient(145deg, #fff, #e9eff6); box-shadow: 0 1.25rem 3rem rgb(3 18 31 / 9%); }
.ems-screen-frame > span { position: absolute; z-index: 1; top: 1.5rem; left: -1rem; padding: .55rem .72rem; color: var(--color-navy-950); background: var(--color-gold-400); font-size: .62rem; font-weight: var(--font-weight-bold); letter-spacing: .07em; text-transform: uppercase; }
.ems-screen-frame img { display: block; width: 100%; height: auto; border-radius: 1.2rem; }
.ems-showcase-copy { grid-column: 7 / 13; }
.ems-showcase--modules .ems-screen-frame { grid-column: 8 / 13; grid-row: 1; }
.ems-showcase--modules .ems-showcase-copy { grid-column: 1 / 7; grid-row: 1; }
.ems-showcase-copy > p { max-width: 40rem; margin: var(--space-5) 0 0; color: var(--color-gray-700); font-size: var(--font-size-base); line-height: 1.7; }
.ems-showcase-copy ul { margin: var(--space-7) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-gray-300); }
.ems-showcase-copy li { display: grid; grid-template-columns: minmax(8rem, .7fr) 1.3fr; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--color-gray-300); font-size: .95rem; }
.ems-showcase-copy li strong { color: var(--color-navy-950); }
.ems-showcase-copy li span { color: var(--color-gray-700); line-height: 1.55; }

.ems-ecosystem { color: var(--color-white); background: #061a2a; }
.ems-ecosystem-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: end; margin-bottom: clamp(2.5rem, 4vw, 4rem); }
.ems-ecosystem-heading .eyebrow { grid-column: 1 / 13; }
.ems-ecosystem-heading h2 { grid-column: 1 / 8; }
.ems-ecosystem-heading > p { grid-column: 9 / 13; margin: 0; color: rgb(255 255 255 / 66%); font-size: .95rem; line-height: 1.68; }
.ems-ecosystem-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.ems-ecosystem-grid article { display: grid; grid-template-columns: minmax(12rem, .9fr) 1.1fr; align-items: center; min-height: 34rem; overflow: hidden; border: 1px solid rgb(255 255 255 / 16%); background: rgb(255 255 255 / 5%); }
.ems-ecosystem-grid figure { height: 100%; margin: 0; padding: 2rem 1rem 0; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; background: linear-gradient(180deg, rgb(227 237 248 / 12%), transparent); }
.ems-ecosystem-grid img { width: min(100%, 17rem); height: auto; max-height: 32rem; object-fit: contain; object-position: bottom; }
.ems-ecosystem-grid article > div { padding: clamp(1.4rem, 2.4vw, 2.4rem); }
.ems-ecosystem-grid h3 { margin: 0; font-size: clamp(1.45rem, 1.9vw, 2.05rem); font-weight: var(--font-weight-medium); letter-spacing: -.035em; }
.ems-ecosystem-grid p { margin: var(--space-4) 0 0; color: rgb(255 255 255 / 64%); font-size: .94rem; line-height: 1.65; }

.ems-roadmap { background: var(--color-canvas); }
.ems-roadmap-heading { max-width: 62rem; }
.ems-roadmap-heading > p { max-width: 48rem; margin: var(--space-5) 0 0; color: var(--color-gray-700); font-size: var(--font-size-base); line-height: 1.7; }
.ems-roadmap ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(2.5rem, 4vw, 4rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-navy-950); }
.ems-roadmap li { position: relative; min-height: 9rem; padding: var(--space-6) var(--space-5) var(--space-5) 0; border-right: 1px solid var(--color-gray-300); }
.ems-roadmap li::before { position: absolute; top: -.42rem; left: 0; width: .8rem; height: .8rem; background: var(--color-gold-500); border-radius: 50%; content: ""; }
.ems-roadmap h3 { margin: 0; color: var(--color-navy-950); font-size: clamp(1.15rem, 1.5vw, 1.45rem); }
.ems-roadmap li p { margin: var(--space-4) 0 0; color: var(--color-gray-700); line-height: 1.65; }

.rnd-portfolio { background: var(--color-white); }
.rnd-portfolio-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.rnd-portfolio-heading .eyebrow { grid-column: 1 / 13; }
.rnd-portfolio-heading h2 { grid-column: 1 / 8; max-width: 17ch; margin: 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.rnd-portfolio-heading > p { grid-column: 9 / 13; margin: 0 0 .35rem; color: var(--color-gray-700); line-height: 1.75; }
.rnd-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.75rem, 1.15vw, 1.15rem); margin-top: clamp(2.5rem, 4vw, 4rem); }
.rnd-product { min-width: 0; display: flex; flex-direction: column; overflow: hidden; color: var(--color-navy-950); text-decoration: none; background: var(--color-canvas); border: 1px solid var(--color-gray-300); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.rnd-product--lead,
.rnd-product--portrait,
.rnd-product:nth-child(3),
.rnd-product:nth-child(4),
.rnd-product:nth-child(5) { grid-column: auto; }
.rnd-product figure,
.rnd-product:nth-child(n + 3) figure { height: clamp(10rem, 13vw, 14rem); display: grid; place-items: center; margin: 0; padding: clamp(.75rem, 1.2vw, 1.15rem); overflow: hidden; background: #e9eef3; }
.rnd-product figure img { width: 100%; height: 100%; display: block; object-fit: contain; }
.rnd-product-copy { flex: 1; display: flex; flex-direction: column; padding: clamp(1.1rem, 1.55vw, 1.5rem); }
.rnd-product-copy > div { display: flex; align-items: center; gap: .65rem; }
.rnd-product-copy > div span { color: var(--color-gold-600); font-size: .6rem; font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.rnd-product-copy > div small { overflow: hidden; color: var(--color-blue-600); font-size: .57rem; font-weight: var(--font-weight-bold); letter-spacing: .1em; text-overflow: ellipsis; white-space: nowrap; }
.rnd-product-status { width: fit-content; margin: var(--space-4) 0 0; padding: .3rem .5rem; color: var(--color-navy-900); font-size: .6rem; font-weight: var(--font-weight-bold); background: color-mix(in srgb, var(--color-gold-500) 24%, white); }
.rnd-product h3 { margin: var(--space-3) 0 0; font-size: clamp(1.25rem, 1.45vw, 1.55rem); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.035em; }
.rnd-product-copy > p:not(.rnd-product-status) { margin: var(--space-3) 0 0; color: var(--color-gray-700); font-size: .84rem; line-height: 1.55; }
.rnd-product-copy strong { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: var(--space-6); font-size: .72rem; }
.rnd-product-copy strong i { font-size: 1rem; font-style: normal; transition: transform 180ms ease; }
@media (hover: hover) {
  .rnd-product:hover { transform: translateY(-.3rem); border-color: var(--color-gold-500); box-shadow: 0 1.4rem 3rem rgb(3 18 31 / 11%); }
  .rnd-product:hover strong i { transform: translate(.2rem, -.2rem); }
}

.subpage-projects { background: var(--color-canvas); }
.global-energy-showcase { color: var(--color-white); background: var(--color-navy-950); }
.global-energy-heading,
.global-projects-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.global-energy-heading .eyebrow,
.global-projects-heading .eyebrow { grid-column: 1 / 13; color: var(--color-gold-500); }
.global-energy-heading h2,
.global-projects-heading h2 { grid-column: 1 / 8; max-width: 17ch; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.global-energy-heading p,
.global-projects-heading p { grid-column: 9 / 13; margin: 0; color: rgb(255 255 255 / 68%); line-height: 1.75; }
.global-energy-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(12rem, 19vw)); gap: .75rem; margin-top: clamp(3rem, 5vw, 5rem); }
.global-energy-gallery figure { margin: 0; overflow: hidden; background: var(--color-navy-900); }
.global-energy-gallery__lead { grid-row: 1 / 3; }
.global-energy-gallery figure:nth-child(2) { grid-column: 2 / 4; }
.global-energy-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
@media (hover: hover) { .global-energy-gallery figure:hover img { transform: scale(1.025); } }
.global-projects { background: var(--color-canvas); }
.global-projects-heading .eyebrow { color: var(--color-blue-600); }
.global-projects-heading h2 { color: var(--color-navy-950); }
.global-projects-heading p { color: var(--color-gray-700); }
.global-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--color-gray-300); border-left: 1px solid var(--color-gray-300); }
.global-project-grid article { min-width: 0; display: flex; flex-direction: column; background: var(--color-white); border-right: 1px solid var(--color-gray-300); border-bottom: 1px solid var(--color-gray-300); }
.global-project-grid figure { height: clamp(15rem, 21vw, 23rem); margin: 0; overflow: hidden; background: var(--color-gray-200); }
.global-project-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.global-project-copy { flex: 1; display: flex; flex-direction: column; padding: clamp(1.5rem, 2.5vw, 2.5rem); }
.global-project-copy > div { display: flex; justify-content: space-between; gap: 1rem; color: var(--color-gold-600); font-size: var(--font-size-xs); letter-spacing: .08em; }
.global-project-copy h3 { margin: var(--space-6) 0 0; color: var(--color-navy-950); font-size: clamp(1.45rem, 1.9vw, 2.05rem); font-weight: var(--font-weight-medium); line-height: 1.15; letter-spacing: -.035em; }
.global-project-copy > p { margin: var(--space-5) 0 0; color: var(--color-gray-700); line-height: 1.65; }
.global-project-copy dl { display: grid; gap: var(--space-3); margin: auto 0 0; padding-top: var(--space-8); }
.global-project-copy dl div { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-gray-300); }
.global-project-copy dt { color: var(--color-gray-600); font-size: var(--font-size-xs); }
.global-project-copy dd { margin: 0; color: var(--color-navy-950); font-size: .9rem; }
@media (hover: hover) { .global-project-grid article:hover img { transform: scale(1.025); } }
.global-commerce { background: var(--color-gold-500); }
.global-commerce-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4.5rem); align-items: end; }
.global-commerce-grid > div:first-child { grid-column: 1 / 7; }
.global-commerce-grid > div:last-child { grid-column: 8 / 13; max-width: 34rem; justify-self: end; }
.global-commerce .eyebrow { color: var(--color-blue-700); }
.global-commerce h2 { max-width: 18ch; margin: var(--space-5) 0 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.global-commerce p { margin: 0; color: var(--color-navy-900); font-size: 1rem; line-height: 1.75; }
.global-commerce a { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-7); padding: 1.25rem 1.5rem; color: var(--color-white); font-weight: var(--font-weight-semibold); text-decoration: none; background: var(--color-navy-950); }
.global-commerce a i { font-size: 1.3rem; font-style: normal; }
.global-commerce-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(3rem, 5vw, 5rem); padding: 1px; background: rgb(3 18 31 / 20%); }
.global-commerce-features article { min-width: 0; display: flex; flex-direction: column; background: var(--color-white); }
.global-commerce-features figure { aspect-ratio: 2.1 / 1; margin: 0; padding: clamp(.75rem, 1.25vw, 1.25rem); overflow: hidden; background: #fbf7f8; border-bottom: 1px solid var(--color-gray-300); }
.global-commerce-features img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform 300ms ease; }
.global-commerce-features article > div { flex: 1; padding: clamp(1.5rem, 2.25vw, 2.25rem); }
.global-commerce-features article > div > span { color: var(--color-gold-700); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.global-commerce-features small { margin-left: var(--space-4); color: var(--color-blue-600); font-size: .65rem; font-weight: var(--font-weight-bold); letter-spacing: .1em; }
.global-commerce-features h3 { margin: var(--space-5) 0 0; color: var(--color-navy-950); font-size: clamp(1.35rem, 1.65vw, 1.8rem); font-weight: var(--font-weight-medium); line-height: 1.18; letter-spacing: -.035em; }
.global-commerce-features p { margin: var(--space-4) 0 0; color: var(--color-gray-700); font-size: .95rem; line-height: 1.65; }
@media (hover: hover) { .global-commerce-features article:hover img { transform: scale(1.025); } }

/* Global energy delivery capabilities: four fields in one desktop row. */
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-grid > .subpage-section-heading { grid-column: 1 / 13; }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-section-heading h2 { max-width: 20ch; font-size: var(--font-size-subsection); line-height: 1.08; }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(1.5rem, 3vw, 3rem); border-left: 1px solid var(--color-gray-300); }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list li { min-width: 0; min-height: clamp(15rem, 19vw, 19rem); display: flex; flex-direction: column; gap: 0; padding: clamp(1.5rem, 2.2vw, 2.25rem); border-right: 1px solid var(--color-gray-300); }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list li > span { display: block; }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list li > div { display: flex; flex: 1; flex-direction: column; }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list h3 { margin-top: clamp(2rem, 3vw, 3.5rem); font-size: clamp(1.45rem, 1.85vw, 2rem); line-height: 1.14; overflow-wrap: anywhere; }
:is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list p { margin-top: auto; padding-top: var(--space-6); font-size: .95rem; }
.page-business-public .global-energy-gallery__lead img { object-position: 40% center; }
.page-business-public .global-energy-gallery figure:nth-child(2) img { object-position: center 48%; }
.page-business-public .global-energy-gallery figure:nth-child(3) img { object-position: center 44%; }
.page-business-public .global-energy-gallery figure:nth-child(4) img { object-position: center; }
.page-business-public .global-project-grid figure { height: auto; aspect-ratio: 4 / 3; background: var(--color-white); }
.page-business-public .global-project-grid img { padding: clamp(.5rem, .8vw, .875rem); object-fit: contain; object-position: center; background: var(--color-white); }
.page-business-public .global-project-copy h3 { font-size: clamp(1.35rem, 1.55vw, 1.75rem); }
.page-business-defense .subpage-split figure { aspect-ratio: 4 / 3; }
.page-business-defense .subpage-split img { width: 100%; height: 100%; object-fit: cover; }
.defense-projects { color: var(--color-white); background: var(--color-navy-950); }
.defense-projects-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.defense-projects-heading .eyebrow { grid-column: 1 / 13; color: var(--color-gold-500); }
.defense-projects-heading h2 { grid-column: 1 / 8; max-width: 17ch; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.defense-projects-heading p { grid-column: 9 / 13; margin: 0; color: rgb(255 255 255 / 68%); line-height: 1.75; }
.defense-project-list { margin: clamp(3rem, 5vw, 5rem) 0 0; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 24%); }
.defense-project-list li { display: grid; grid-template-columns: 4rem minmax(0, 1.5fr) minmax(17rem, .8fr); gap: clamp(1.5rem, 3vw, 3.5rem); padding: clamp(2rem, 3.5vw, 3.5rem) 0; border-bottom: 1px solid rgb(255 255 255 / 24%); transition: color 180ms ease; }
.defense-project-number { color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.defense-project-content h3 { max-width: 24ch; margin: 0; font-size: clamp(1.55rem, 2.25vw, 2.6rem); font-weight: var(--font-weight-medium); line-height: 1.14; letter-spacing: -.035em; }
.defense-project-content p { max-width: 44rem; margin: var(--space-5) 0 0; color: rgb(255 255 255 / 68%); line-height: 1.7; }
.defense-project-list dl { display: grid; align-content: start; gap: var(--space-4); margin: 0; }
.defense-project-list dl div { display: grid; grid-template-columns: 5rem 1fr; gap: var(--space-4); }
.defense-project-list dt { color: rgb(255 255 255 / 48%); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.defense-project-list dd { margin: 0; color: rgb(255 255 255 / 82%); line-height: 1.55; }
@media (hover: hover) {
  .defense-project-list li:hover { color: var(--color-gold-500); }
  .defense-project-list li:hover .defense-project-content p,
  .defense-project-list li:hover dd { color: var(--color-white); }
}
.subpage-project-list { display: grid; gap: var(--space-8); margin-top: clamp(4rem, 7vw, 7rem); }
.subpage-project-list article { display: grid; grid-template-columns: 8fr 4fr; min-height: 32rem; background: var(--color-white); }
.subpage-project-list img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; }
.subpage-project-list article > div { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 4vw, 4rem); }
.subpage-project-list small { color: var(--color-blue-600); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; }
.subpage-project-list h3 { margin: var(--space-4) 0 0; color: var(--color-navy-950); font-size: clamp(2rem, 3.5vw, 4rem); font-weight: var(--font-weight-medium); line-height: 1.05; letter-spacing: -0.05em; }

.subpage-location { background: var(--color-canvas); }
.subpage-location-grid,
.subpage-direct-contact-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.subpage-location-grid > div:first-child { grid-column: 1 / 5; }
.subpage-location-grid h2,
.subpage-direct-contact h2 { margin: 0; color: var(--color-navy-950); font-size: var(--font-size-section); font-weight: var(--font-weight-medium); line-height: 1.06; letter-spacing: -0.05em; }
.subpage-location-grid h2 { max-width: 10ch; font-size: var(--font-size-subsection); line-height: 1.1; }
.location-details { display: grid; gap: var(--space-6); margin: var(--space-10) 0 0; }
.location-details div { padding-top: var(--space-4); border-top: 1px solid var(--color-gray-300); }
.location-details dt { color: var(--color-blue-600); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.11em; text-transform: uppercase; }
.location-details dd { margin: var(--space-2) 0 0; color: var(--color-navy-950); font-size: var(--font-size-md); line-height: 1.65; }
.location-details a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
.location-details a:hover,
.location-details a:focus-visible { color: var(--color-blue-600); }
.location-map { position: relative; grid-column: 5 / 13; min-height: 34rem; overflow: hidden; background: var(--color-gray-200); }
.location-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.subpage-direct-contact { background: var(--color-canvas); }
.subpage-direct-contact-grid { row-gap: 0; align-items: start; }
.subpage-contact-heading { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.subpage-contact-heading .eyebrow { grid-column: 1 / 4; }
.subpage-direct-contact .subpage-contact-heading h2 { grid-column: 1 / 8; max-width: 17ch; font-size: var(--font-size-subsection); line-height: 1.1; text-wrap: balance; }
.subpage-contact-heading > p { grid-column: 10 / 13; margin: 0 0 .35rem; color: var(--color-gray-700); font-size: 1rem; line-height: 1.75; }
.subpage-contact-departments { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(2.5rem, 4vw, 4rem); border-top: 1px solid var(--color-gray-300); border-left: 1px solid var(--color-gray-300); }
.subpage-contact-department { position: relative; min-height: clamp(18rem, 22vw, 22rem); display: flex; flex-direction: column; padding: clamp(1.75rem, 2.6vw, 2.5rem); color: var(--color-navy-950); text-decoration: none; background: var(--color-white); border-right: 1px solid var(--color-gray-300); border-bottom: 1px solid var(--color-gray-300); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.subpage-contact-department::before { content: ''; position: absolute; top: -1px; right: -1px; left: -1px; height: 3px; background: var(--color-gold-500); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.subpage-contact-department:hover,
.subpage-contact-department:focus-visible { z-index: 1; transform: translateY(-.35rem); border-color: var(--color-gold-500); box-shadow: 0 1.25rem 2.75rem rgb(6 24 39 / 9%); outline: 0; }
.subpage-contact-department:hover::before,
.subpage-contact-department:focus-visible::before { transform: scaleX(1); }
.subpage-contact-number { color: var(--color-gold-600); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.subpage-contact-department small { margin-top: clamp(2rem, 3vw, 3.5rem); color: var(--color-blue-600); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.subpage-contact-department h3 { margin: var(--space-3) 0 0; font-size: clamp(1.65rem, 2.2vw, 2.35rem); font-weight: var(--font-weight-medium); line-height: 1.12; letter-spacing: -.035em; }
.subpage-contact-department p { max-width: 27rem; margin: var(--space-5) 0 0; color: var(--color-gray-700); line-height: 1.7; }
.subpage-contact-department strong { margin-top: auto; padding-top: var(--space-8); font-size: clamp(.95rem, 1.25vw, 1.15rem); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.subpage-contact-department i { position: absolute; right: clamp(1.75rem, 2.8vw, 2.75rem); bottom: clamp(1.75rem, 2.8vw, 2.75rem); font-size: 1.35rem; font-style: normal; }
.subpage-content-list { min-height: 28rem; background: var(--color-paper); }

.about-purpose { padding: var(--section-space-compact) 0; color: var(--color-white); background: var(--color-navy-950); }
.about-purpose-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.about-purpose-copy { grid-column: 1 / 7; }
.about-purpose-copy .eyebrow { color: var(--color-gold-400); }
.about-purpose-copy h2 { max-width: 16ch; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.08; letter-spacing: -0.045em; }
.about-purpose-copy p { max-width: 38rem; margin: var(--space-5) 0 0; color: rgb(255 255 255 / 68%); font-size: var(--font-size-base); line-height: 1.75; }
.about-purpose-brand { grid-column: 8 / 13; min-height: 20rem; display: grid; place-items: center; margin: 0; padding: clamp(2rem, 3.5vw, 3.5rem); background: var(--color-white); }
.about-purpose-brand img { width: min(100%, 23rem); height: auto; display: block; }

.about-values { padding: var(--section-space-compact) 0; background: var(--color-white); }
.about-values-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.about-values-heading .eyebrow { grid-column: 1 / 4; }
.about-values-heading h2 { grid-column: 4 / 10; margin: 0; color: var(--color-navy-950); font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -0.04em; }
.about-values-heading > p { grid-column: 10 / 13; margin: 0 0 .4rem; color: var(--color-gray-700); line-height: 1.75; }
.about-values-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: clamp(2.5rem, 4vw, 4rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-gray-300); }
.about-values-list li { min-height: 12rem; display: grid; grid-template-columns: 3rem 1fr; gap: var(--space-5); align-content: end; padding: clamp(1.5rem, 2.5vw, 2.25rem); border-right: 1px solid var(--color-gray-300); border-bottom: 1px solid var(--color-gray-300); }
.about-values-list li:nth-child(even) { border-right: 0; }
.about-values-list > li > span { align-self: start; color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .12em; }
.about-values-list h3 { margin: 0; color: var(--color-navy-950); font-size: clamp(1.55rem, 2vw, 2.15rem); font-weight: var(--font-weight-medium); line-height: 1.15; letter-spacing: -.035em; }
.about-values-list p { max-width: 34rem; margin: var(--space-4) 0 0; color: var(--color-gray-700); line-height: 1.7; }

.about-capabilities { padding: var(--section-space-compact) 0; color: var(--color-white); background: var(--color-navy-950); }
.about-capabilities-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); align-items: end; }
.about-capabilities-heading .eyebrow { grid-column: 1 / 4; color: var(--color-gold-400); }
.about-capabilities-heading h2 { grid-column: 4 / 10; margin: 0; font-size: var(--font-size-subsection); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -.04em; }
.about-capabilities-heading > p { grid-column: 10 / 13; margin: 0 0 .4rem; color: rgb(255 255 255 / 65%); line-height: 1.75; }
.about-capabilities-visual { height: min(42vw, 34rem); margin: clamp(2.75rem, 4.5vw, 4.5rem) 0 0; overflow: hidden; background: var(--color-navy-900); }
.about-capabilities-visual img { width: 100%; height: 100%; object-fit: cover; }
.about-capabilities-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid rgb(255 255 255 / 22%); }
.about-capabilities-list li { min-height: 13rem; display: flex; flex-direction: column; padding: clamp(1.5rem, 2.4vw, 1.75rem) var(--space-5); border-left: 1px solid rgb(255 255 255 / 22%); }
.about-capabilities-list li:first-child { border-left: 0; }
.about-capabilities-list > li > strong { color: var(--color-gold-400); font-size: var(--font-size-xs); letter-spacing: .12em; }
.about-capabilities-list div { margin-top: auto; }
.about-capabilities-list h3 { margin: 0; font-size: clamp(1.35rem, 1.7vw, 1.85rem); font-weight: var(--font-weight-medium); line-height: 1.18; letter-spacing: -.03em; }
.about-capabilities-list p { margin: var(--space-4) 0 0; color: rgb(255 255 255 / 62%); line-height: 1.65; }

.about-identity { padding: var(--section-space) 0; background: var(--color-canvas); }
.about-identity-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: end; }
.about-identity-heading .eyebrow { grid-column: 1 / 4; }
.about-identity-heading h2 { grid-column: 4 / 13; max-width: none; }
.about-identity-visual { height: min(50vw, 38rem); margin: clamp(3rem, 5vw, 5rem) 0 0; overflow: hidden; background: var(--color-navy-900); }
.about-identity-visual img { width: 100%; height: 100%; object-fit: cover; }
.about-identity-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--color-gray-300); }
.about-identity-list li { min-height: 16rem; display: flex; flex-direction: column; padding: var(--space-8) var(--space-6); border-left: 1px solid var(--color-gray-300); }
.about-identity-list li:first-child { border-left: 0; }
.about-identity-list span { color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.about-identity-list h3 { margin: auto 0 0; font-size: clamp(1.55rem, 2.5vw, 2.65rem); font-weight: var(--font-weight-medium); letter-spacing: -0.04em; }
.about-identity-list p { margin: var(--space-4) 0 0; color: var(--color-gray-700); line-height: 1.65; }

.about-history { padding: var(--section-space) 0; color: var(--color-white); background: var(--color-navy-950); }
.about-history-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-8); }
.about-history-heading h2 { max-width: 16ch; margin: 0; font-size: var(--font-size-section); font-weight: var(--font-weight-medium); line-height: 1.04; letter-spacing: -0.05em; }
.about-history-heading .text-link { flex: 0 0 auto; color: var(--color-white); }
.about-history-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(3rem, 5vw, 5rem) 0 0; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 24%); border-bottom: 1px solid rgb(255 255 255 / 24%); }
.about-history-list li { min-height: 18rem; display: flex; flex-direction: column; padding: var(--space-8) var(--space-6); border-left: 1px solid rgb(255 255 255 / 24%); }
.about-history-list li:first-child { border-left: 0; }
.about-history-list > li > strong { color: var(--color-gold-400); font-size: var(--font-size-xs); letter-spacing: 0.1em; }
.about-history-list div { margin-top: auto; }
.about-history-list h3 { margin: 0; font-size: clamp(1.5rem, 2.2vw, 2.4rem); font-weight: var(--font-weight-medium); }
.about-history-list p { margin: var(--space-4) 0 0; color: rgb(255 255 255 / 62%); line-height: 1.65; }

.about-global { padding: var(--section-space-compact) 0; background: var(--color-white); }
.about-global-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.about-global figure { grid-column: 1 / 8; min-height: 32rem; margin: 0; overflow: hidden; }
.about-global figure img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; object-position: 72% center; }
.about-global-grid > div { grid-column: 8 / 13; }
.about-global h2 { margin: 0; color: var(--color-navy-950); font-size: clamp(2rem, 2.6vw, 3rem); font-weight: var(--font-weight-medium); line-height: 1.1; letter-spacing: -0.04em; }
.about-global p { margin: var(--space-6) 0 0; color: var(--color-gray-700); font-size: var(--font-size-md); line-height: 1.8; }

.subpage-related { padding: var(--section-space) 0; background: var(--color-paper); }
.subpage-related-list { margin-top: clamp(2.5rem, 4.5vw, 4.5rem); border-top: 1px solid var(--color-gray-300); }
.subpage-related-list a { min-height: 8rem; display: grid; grid-template-columns: 4rem 1fr auto; gap: var(--space-6); align-items: center; color: var(--color-navy-950); text-decoration: none; border-bottom: 1px solid var(--color-gray-300); }
.subpage-related-list a > span { color: var(--color-gold-500); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.subpage-related-list strong { font-size: clamp(1.5rem, 2.4vw, 2.5rem); font-weight: var(--font-weight-medium); line-height: 1.2; letter-spacing: -0.035em; }
.subpage-related-list i { font-size: 1.5rem; font-style: normal; transition: transform var(--transition-base); }
.subpage-related-list a:hover i { transform: translate(0.25rem, -0.25rem); }

.subpage-contact-cta { padding: var(--section-space) 0; color: var(--color-navy-950); background: var(--color-gold-500); }
.subpage-contact-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 6rem); align-items: end; }
.subpage-contact-grid > div { grid-column: 1 / 9; }
.subpage-contact-grid h2 { max-width: 16ch; margin: 0; font-size: var(--font-size-section); font-weight: var(--font-weight-medium); line-height: 1.04; letter-spacing: -0.05em; }
.subpage-contact-grid p { max-width: 42rem; margin: var(--space-6) 0 0; line-height: 1.7; }
.subpage-contact-grid > a { grid-column: 9 / 13; min-height: 7rem; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--space-6); color: var(--color-white); font-weight: var(--font-weight-semibold); text-decoration: none; background: var(--color-navy-950); }
.subpage-contact-grid > a i { font-size: 1.5rem; font-style: normal; transition: transform var(--transition-base); }
.subpage-contact-grid > a:hover i { transform: translate(0.25rem, -0.25rem); }

/* Keep editorial section headings visually connected across sub pages. */
:is(
  .care-overview-heading,
  .policy-gallery-heading,
  .subpage-contact-heading,
  .about-values-heading,
  .about-capabilities-heading,
  .about-identity-heading
) .eyebrow { grid-column: 1 / 13; margin-bottom: var(--space-2); }

:is(
  .care-overview-heading,
  .policy-gallery-heading,
  .subpage-contact-heading,
  .about-values-heading,
  .about-capabilities-heading
) h2 { grid-column: 1 / 8; }

:is(
  .care-overview-heading,
  .policy-gallery-heading,
  .subpage-contact-heading,
  .about-values-heading,
  .about-capabilities-heading
) > p { grid-column: 9 / 13; margin-top: 0; }

.about-identity-heading h2 { grid-column: 1 / 10; }

@media (max-width: 73.6875rem) {
  .navigation-dropdown { display: none; }
  .subpage-hero { min-height: clamp(31rem, 56svh, 39rem); }
  .subpage-hero--about { min-height: clamp(35rem, 66svh, 44rem); }
  .subpage-intro-grid h2,
  .about-introduction-grid h2 { grid-column: 2 / 9; }
  .subpage-intro-grid > p,
  .about-introduction-grid > div { grid-column: 9 / 13; }
  .about-identity-list,
  .about-history-list,
  .about-capabilities-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-identity-list li:nth-child(3),
  .about-history-list li:nth-child(3) { border-left: 0; border-top: 1px solid var(--color-gray-300); }
  .about-history-list li:nth-child(3) { border-top-color: rgb(255 255 255 / 24%); }
  .about-identity-list li:nth-child(4),
  .about-history-list li:nth-child(4) { border-top: 1px solid var(--color-gray-300); }
  .about-history-list li:nth-child(4) { border-top-color: rgb(255 255 255 / 24%); }
  .about-capabilities-list li:nth-child(3) { border-left: 0; border-top: 1px solid rgb(255 255 255 / 22%); }
  .about-capabilities-list li:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 22%); }
  .certification-document-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .certification-document-grid > .certification-document-card:last-child:nth-child(5n + 1) { grid-column: auto; }
  .certification-document-grid > .certification-document-card:nth-last-child(3):nth-child(5n + 1) { grid-column: auto; }
  .certification-document-grid > .certification-document-card:nth-last-child(2):nth-child(4n + 1) { grid-column: 2; }
}

@media (max-width: 63.9375rem) {
  .subpage-intro-grid,
  .about-introduction-grid { row-gap: var(--space-8); }
  .subpage-intro-grid h2,
  .about-introduction-grid h2 { grid-column: 2 / 13; }
  .subpage-intro-grid > p,
  .about-introduction-grid > div { grid-column: 2 / 10; }
  .subpage-split figure { grid-column: 1 / 8; min-height: 32rem; }
  .subpage-split img { min-height: 32rem; }
  .subpage-split-copy { grid-column: 8 / 13; }
  .subpage-split--reverse figure { grid-column: 6 / 13; }
  .subpage-split--reverse .subpage-split-copy { grid-column: 1 / 6; }
  .subpage-feature-grid > .subpage-section-heading { grid-column: 1 / 5; }
  .subpage-feature-list { grid-column: 6 / 13; }
  .page-business-defense .subpage-features .subpage-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-business-defense .subpage-features .subpage-feature-list li { min-height: 17rem; }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list li { min-height: 17rem; }
  .care-overview-heading h2 { grid-column: 1 / 8; }
  .care-overview-heading > p { grid-column: 9 / 13; margin-top: 0; }
  .care-overview-features { grid-column: 1 / 13; }
  .about-global figure { grid-column: 1 / 8; min-height: 32rem; }
  .about-global figure img { min-height: 32rem; }
  .about-global-grid > div { grid-column: 8 / 13; }
  .about-purpose-copy { grid-column: 1 / 7; }
  .about-purpose-brand { grid-column: 7 / 13; min-height: 24rem; }
  .about-values-heading h2,
  .about-capabilities-heading h2 { grid-column: 1 / 8; }
  .about-values-heading > p,
  .about-capabilities-heading > p { grid-column: 9 / 13; margin-top: 0; }
  .organization-trunk { height: 2.5rem; }
  .organization-regions { grid-template-columns: 1fr; }
  .organization-regions::before,
  .organization-region::before { display: none; }
  .organization-region { padding-top: 0; }
  .organization-region + .organization-region { margin-top: var(--space-8); }
  .organization-divisions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .organization-divisions::before,
  .organization-division::before { display: none; }
  .organization-companies { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-5); }
  .policy-gallery-heading h2 { grid-column: 1 / 8; }
  .policy-gallery-heading > p { grid-column: 9 / 13; margin-top: 0; }
  .policy-document-card p { min-height: 6.5rem; }
  .policy-closing h2 { grid-column: 4 / 13; }
  .policy-closing p { grid-column: 4 / 11; margin-top: var(--space-4); }
  .subpage-contact-heading h2 { grid-column: 1 / 8; }
  .subpage-contact-heading > p { grid-column: 9 / 13; margin-top: 0; }
  .subpage-contact-department { min-height: 23rem; padding: var(--space-7); }
  .subpage-contact-department i { right: var(--space-7); bottom: var(--space-7); }
  .global-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .global-project-grid article:last-child { grid-column: 1 / 3; }
  .global-project-grid article:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .global-project-grid article:last-child figure { height: 100%; min-height: 20rem; }
  .global-commerce-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .global-commerce-features article:last-child { grid-column: 1 / 3; display: grid; grid-template-columns: 1fr 1fr; }
  .global-commerce-features article:last-child figure { height: 100%; min-height: 17rem; }
  .certification-document-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .certification-document-grid > .certification-document-card:nth-last-child(2):nth-child(4n + 1) { grid-column: auto; }
  .certification-document-grid > .certification-document-card:last-child:nth-child(3n + 1) { grid-column: 2; }
}

@media (max-width: 47.9375rem) {
  .subpage-hero,
  .subpage-hero--about { min-height: clamp(28rem, 62svh, 34rem); }
  .subpage-hero-visual img { object-position: 67% center; }
  .subpage-hero-shade { background: linear-gradient(0deg, rgb(3 18 31 / 88%) 0%, rgb(3 18 31 / 42%) 68%, rgb(3 18 31 / 28%) 100%); }
  .subpage-hero-inner { padding-top: calc(var(--header-height) + var(--space-12)); padding-bottom: var(--space-10); }
  .subpage-hero h1 { max-width: 11ch; font-size: clamp(2.35rem, 10.5vw, 3.1rem); line-height: 1.02; }
  .subpage-hero p { margin-top: var(--space-5); font-size: 1rem; line-height: 1.55; }
  .subpage-breadcrumb { overflow-x: auto; white-space: nowrap; }
  .subpage-intro,
  .about-introduction,
  .about-purpose,
  .about-values,
  .about-capabilities,
  .subpage-block,
  .about-identity,
  .about-history,
  .about-global,
  .subpage-related,
  .subpage-contact-cta { padding-block: var(--section-space); }
  .about-introduction,
  .about-purpose,
  .about-values,
  .about-capabilities,
  .about-global { padding-block: clamp(3.75rem, 14vw, 4.5rem); }
  .subpage-intro-grid,
  .about-introduction-grid { display: block; }
  .subpage-intro-grid h2,
  .about-introduction-grid h2 { max-width: none; margin-top: var(--space-5); font-size: clamp(1.9rem, 8vw, 2.4rem); line-height: 1.12; }
  html[lang="en"] .subpage-intro-grid h2,
  html[lang="en"] .about-introduction-grid h2 { font-size: clamp(1.75rem, 7.2vw, 2.15rem); }
  .subpage-intro-grid > p,
  .about-introduction-grid > div { margin-top: var(--space-8); }
  .about-introduction-grid p { font-size: 1rem; line-height: 1.7; }
  .about-purpose-grid { display: flex; flex-direction: column; }
  .about-purpose-copy,
  .about-purpose-brand { width: 100%; }
  .about-purpose-copy h2 { max-width: none; font-size: clamp(2.2rem, 9vw, 2.75rem); line-height: 1.08; }
  .about-purpose-copy p { font-size: 1rem; line-height: 1.7; }
  .about-purpose-brand { min-height: 13rem; margin-top: 1.75rem; padding: 1.75rem; }
  .about-purpose-brand img { width: min(100%, 15rem); }
  .about-values-heading,
  .about-capabilities-heading { display: block; }
  .about-values-heading h2,
  .about-capabilities-heading h2 { margin-top: var(--space-5); font-size: clamp(1.95rem, 7.8vw, 2.4rem); line-height: 1.1; }
  .about-values-heading > p,
  .about-capabilities-heading > p { margin-top: var(--space-6); }
  .about-values-list { grid-template-columns: 1fr; margin-top: var(--space-8); }
  .about-values-list li { min-height: 10rem; grid-template-columns: 2.5rem 1fr; padding: var(--space-5) 0; border-right: 0; }
  .about-values-list h3 { font-size: 1.5rem; }
  .about-capabilities-visual { height: auto; aspect-ratio: 16 / 10; margin-top: var(--space-8); }
  .about-capabilities-list { grid-template-columns: 1fr; }
  .about-capabilities-list li { min-height: 10rem; padding: var(--space-6) 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 22%); }
  .subpage-section-heading h2 { font-size: var(--font-size-section); }
  .subpage-custom-grid { display: block; }
  .subpage-custom-grid h2 { margin-top: var(--space-5); font-size: clamp(1.95rem, 8vw, 2.6rem); }
  .subpage-custom-grid p { margin-top: var(--space-6); font-size: 1rem; }
  .subpage-custom-image-placeholder { min-height: 15rem; }
  .subpage-split-grid,
  .subpage-feature-grid,
  .subpage-architecture-grid,
  .subpage-location-grid,
  .subpage-direct-contact-grid,
  .about-global-grid,
  .subpage-contact-grid { display: flex; flex-direction: column; }
  .subpage-contact-heading { display: block; }
  .subpage-direct-contact .subpage-contact-heading h2 { max-width: 16ch; margin-top: var(--space-4); font-size: clamp(2rem, 9vw, 2.6rem); line-height: 1.08; }
  .subpage-contact-heading > p { max-width: 38rem; margin-top: var(--space-5); font-size: .98rem; line-height: 1.7; }
  .subpage-contact-departments { grid-template-columns: 1fr; width: 100%; margin-top: var(--space-8); }
  .subpage-contact-department {
    min-height: 0;
    padding: var(--space-6);
    transform: none;
  }
  .subpage-contact-department:hover,
  .subpage-contact-department:focus-visible { transform: none; }
  .subpage-contact-department small { margin-top: var(--space-5); }
  .subpage-contact-department h3 { margin-top: var(--space-2); font-size: clamp(1.55rem, 7vw, 1.9rem); }
  .subpage-contact-department p { margin-top: var(--space-4); font-size: .95rem; line-height: 1.65; }
  .subpage-contact-department strong { margin-top: var(--space-6); padding: 0 2.5rem 0 0; font-size: .95rem; line-height: 1.45; }
  .subpage-contact-department i { right: var(--space-6); bottom: var(--space-6); }
  .subpage-split figure,
  .about-global figure { width: 100%; min-height: 0; aspect-ratio: 16 / 10; }
  .subpage-split img,
  .about-global figure img { min-height: 0; aspect-ratio: 16 / 10; }
  :is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-split figure,
  :is(.page-solutions-ict-system, .page-solutions-romanager, .page-solutions-jtmanager) .subpage-split img { min-height: 0; max-height: none; aspect-ratio: 16 / 10; }
  .subpage-split-copy,
  .about-global-grid > div { margin-top: var(--space-8); }
  .subpage-split-copy h2,
  .about-global h2 { font-size: clamp(1.95rem, 7.8vw, 2.4rem); line-height: 1.12; }
  .subpage-feature-list { width: 100%; margin-top: var(--space-10); }
  .subpage-feature-list li { grid-template-columns: 2.5rem 1fr; padding: var(--space-6) 0; }
  .page-business-defense .subpage-features .subpage-section-heading h2 { font-size: clamp(2rem, 8.5vw, 2.7rem); }
  .page-business-defense .subpage-features .subpage-feature-list { display: grid; grid-template-columns: 1fr; margin-top: var(--space-8); border-left: 0; }
  .page-business-defense .subpage-features .subpage-feature-list li { min-height: 0; padding: var(--space-7) 0; border-right: 0; }
  .page-business-defense .subpage-features .subpage-feature-list h3 { margin-top: var(--space-4); font-size: 1.5rem; }
  .page-business-defense .subpage-features .subpage-feature-list p { margin-top: var(--space-4); padding-top: 0; }
  .care-overview-heading { display: block; }
  .care-overview-heading h2 { margin-top: var(--space-5); font-size: clamp(1.95rem, 8vw, 2.6rem); }
  .care-overview-heading > p { margin-top: var(--space-6); }
  .care-overview-grid { display: block; margin-top: var(--space-10); }
  .care-overview-features { grid-template-columns: 1fr; margin-top: var(--space-8); }
  .care-overview-features li { grid-template-columns: 3.5rem 1fr; min-height: 0; padding: var(--space-6) 0; border-right: 0 !important; }
  .care-feature-icon { width: 2.75rem; height: 2.75rem; }
  .rnd-portfolio-heading { display: block; }
  .rnd-portfolio-heading h2 { margin-top: var(--space-5); font-size: var(--font-size-section); }
  .rnd-portfolio-heading > p { margin-top: var(--space-6); }
  .rnd-product-grid { display: block; margin-top: var(--space-10); }
  .rnd-product + .rnd-product { margin-top: var(--space-6); }
  .rnd-product figure,
  .rnd-product:nth-child(n + 3) figure { height: 15rem; }
  .rnd-product-copy { padding: 1.25rem; }
  .rnd-product h3 { font-size: 1.5rem; }
  .subpage-timeline { margin-top: var(--space-10); }
  .subpage-timeline li { grid-template-columns: 1fr; gap: var(--space-4); }
  .organization-chart { margin-top: var(--space-10); }
  .organization-root { min-height: 6rem; }
  .organization-divisions,
  .organization-companies { grid-template-columns: 1fr; }
  .organization-divisions { gap: var(--space-4); margin-top: var(--space-5); }
  .organization-division h4 { min-height: 4.5rem; }
  .organization-division li { min-height: 3.5rem; }
  .organization-companies li { min-height: 4.75rem; }
  .policy-gallery-heading,
  .policy-closing { display: block; }
  .policy-gallery-heading h2 { margin-top: var(--space-5); font-size: clamp(2rem, 8vw, 2.65rem); }
  .policy-gallery-heading > p { margin-top: var(--space-6); }
  .policy-document-grid { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-10); }
  .certification-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .certification-document-grid > .certification-document-card:last-child:nth-child(3n + 1) { grid-column: auto; }
  .certification-document-card h3 { min-height: 3.6em; font-size: .88rem; }
  .certification-document-caption > span { padding-left: .65rem; }
  .policy-document-card figure { aspect-ratio: 4 / 4.4; }
  .policy-document-card p { min-height: 0; }
  .policy-closing { padding: var(--space-8) var(--space-6); }
  .policy-closing h2 { margin-top: var(--space-5); font-size: clamp(1.85rem, 7.5vw, 2.4rem); }
  .policy-closing p { margin-top: var(--space-6); }
  .policy-document-dialog { width: 100vw; height: 100dvh; }
  .policy-dialog-frame > header { min-height: 5.25rem; }
  .policy-dialog-document { padding: .75rem; }
  .architecture-visual { width: 100%; min-height: 0; grid-template-columns: 1fr; margin-top: var(--space-8); padding: var(--space-6); }
  .architecture-visual span { min-height: 5rem; }
  .architecture-visual i { width: 1px; height: 1.5rem; justify-self: center; }
  .ems-overview-grid,
  .ems-showcase-grid,
  .ems-ecosystem-heading { display: block; }
  .ems-overview-copy h2,
  .ems-showcase-copy h2,
  .ems-ecosystem-heading h2,
  .ems-roadmap-heading h2 { font-size: clamp(1.95rem, 8.8vw, 2.55rem); }
  .ems-principles { margin-top: var(--space-9); }
  .ems-screen-frame { width: min(88%, 17.5rem); margin: 0 auto; padding: .65rem; border-radius: 1.25rem; }
  .ems-screen-frame > span { top: 1rem; left: -.65rem; padding: .48rem .62rem; font-size: .58rem; }
  .ems-showcase-copy { margin-top: var(--space-9); }
  .ems-showcase--modules .ems-showcase-copy { margin: 0 0 var(--space-9); }
  .ems-showcase--modules .ems-screen-frame { margin-inline: auto; }
  .ems-showcase-copy li { grid-template-columns: 1fr; gap: var(--space-2); }
  .ems-ecosystem-heading > p { margin-top: var(--space-6); }
  .ems-ecosystem-grid { grid-template-columns: 1fr; }
  .ems-ecosystem-grid article { grid-template-columns: 1fr; min-height: 0; }
  .ems-ecosystem-grid figure { height: 25rem; padding-top: 1rem; }
  .ems-ecosystem-grid img { max-height: 24rem; }
  .ems-roadmap ol { grid-template-columns: 1fr; }
  .ems-roadmap li { min-height: 0; padding: var(--space-7) 0; border-right: 0; border-bottom: 1px solid var(--color-gray-300); }
  .subpage-project-list { gap: var(--space-6); margin-top: var(--space-10); }
  .global-energy-heading,
  .global-projects-heading,
  .global-commerce-grid { display: block; }
  .global-energy-heading h2,
  .global-projects-heading h2 { margin-top: var(--space-5); font-size: var(--font-size-section); }
  .global-energy-heading p,
  .global-projects-heading p { margin-top: var(--space-6); }
  .global-energy-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 17rem 11rem 11rem; margin-top: var(--space-10); }
  .global-energy-gallery__lead { grid-column: 1 / 3; grid-row: 1; }
  .global-energy-gallery figure:nth-child(2) { grid-column: 1 / 3; }
  .global-project-grid { grid-template-columns: 1fr; margin-top: var(--space-10); }
  .global-project-grid article:last-child { grid-column: auto; display: flex; }
  .global-project-grid figure { height: auto; aspect-ratio: 16 / 10; }
  .page-business-public .global-project-grid figure { aspect-ratio: 4 / 3; }
  .global-commerce h2 { margin-top: var(--space-5); font-size: var(--font-size-section); }
  .global-commerce-grid > div:last-child { margin-top: var(--space-8); }
  .global-commerce-features { grid-template-columns: 1fr; margin-top: var(--space-10); }
  .global-commerce-features article:last-child { grid-column: auto; display: block; }
  .global-commerce-features figure { height: auto; aspect-ratio: 16 / 8; }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-section-heading h2 { font-size: clamp(2rem, 8.5vw, 2.7rem); }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list { display: grid; grid-template-columns: 1fr; margin-top: var(--space-8); border-left: 0; }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list li { min-height: 0; padding: var(--space-7) 0; border-right: 0; }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list h3 { margin-top: var(--space-4); font-size: 1.5rem; }
  :is(.page-business-global, .page-business-public) .subpage-features .subpage-feature-list p { margin-top: var(--space-4); padding-top: 0; }
  .page-business-defense .subpage-split figure { aspect-ratio: 4 / 3; }
  .defense-projects-heading { display: block; }
  .defense-projects-heading h2 { margin-top: var(--space-5); font-size: var(--font-size-section); }
  .defense-projects-heading p { margin-top: var(--space-6); }
  .defense-project-list { margin-top: var(--space-10); }
  .defense-project-list li { grid-template-columns: 2.5rem 1fr; gap: var(--space-4); padding: var(--space-8) 0; }
  .defense-project-content h3 { font-size: clamp(1.4rem, 6.5vw, 1.85rem); }
  .defense-project-list dl { grid-column: 2; margin-top: var(--space-3); }
  .defense-project-list dl div { grid-template-columns: 4.5rem 1fr; }
  .subpage-project-list article { display: flex; flex-direction: column; min-height: 0; }
  .subpage-project-list img { min-height: 0; aspect-ratio: 16 / 10; }
  .location-map { width: 100%; min-height: 23rem; margin-top: var(--space-8); }
  .subpage-contact-details { width: 100%; margin-top: var(--space-8); }
  .about-identity-heading { display: block; }
  .about-identity-visual { height: auto; aspect-ratio: 16 / 10; margin-top: var(--space-10); }
  .about-identity-list,
  .about-history-list { grid-template-columns: 1fr; }
  .about-identity-list li,
  .about-history-list li { min-height: 14rem; border-left: 0; border-top: 1px solid var(--color-gray-300); }
  .about-history-list li { border-top-color: rgb(255 255 255 / 24%); }
  .about-history-heading { display: block; }
  .about-history-heading h2 { font-size: var(--font-size-section); }
  .about-history-heading .text-link { margin-top: var(--space-8); }
  .subpage-related-list { margin-top: var(--space-10); }
  .subpage-related-list a { min-height: 6.5rem; grid-template-columns: 2rem 1fr auto; gap: var(--space-3); }
  .subpage-related-list strong { font-size: 1.5rem; }
  .subpage-contact-grid > a { width: 100%; min-height: 4.75rem; margin-top: var(--space-8); }
  .subpage-contact-grid h2 { font-size: var(--font-size-section); }
}
