/* Shared, DOM-first content: capability directory, service matrix and footer. */
.capability-section,
.service-section {
  padding: clamp(64px, 7vw, 112px) 0;
  border-top: 1px solid rgba(151, 185, 222, .14);
  background: linear-gradient(145deg, rgba(5, 12, 23, .94), rgba(5, 9, 18, .86));
}
.capability-section [id],
.service-section [id],
.service-matrix--about [id] { scroll-margin-top: 110px; }
.content-eyebrow {
  display: block;
  color: #67e7ff;
  font: 600 .68rem/1.5 var(--font-mono, monospace);
  letter-spacing: .12em;
}
.commander-brief {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 32px;
  padding: clamp(20px, 3vw, 36px);
  border-block: 1px solid rgba(103, 231, 255, .22);
  background: linear-gradient(100deg, rgba(30, 66, 85, .16), transparent);
}
.commander-brief h3 { margin: 12px 0; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.5; }
.commander-brief p { margin: 0; color: #a8b8cc; font-size: .94rem; line-height: 1.85; }
.content-flow { display: flex; flex-wrap: wrap; gap: 10px 0; margin: 0; padding: 0; list-style: none; }
.content-flow li { display: flex; align-items: center; color: #e6f4ff; font-size: .9rem; line-height: 1.6; }
.content-flow li:not(:last-child)::after { content: "→"; margin: 0 10px; color: #67e7ff; }
.commander-brief .commander-brief__principles { margin-top: 18px; color: #86afc1; font-size: .8rem; }
.directory-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin: 36px 0 18px; }
.directory-heading h3 { margin: 0; font-size: 1.25rem; line-height: 1.5; }
.directory-heading p { margin: 0; color: #a8b8cc; font-size: .86rem; line-height: 1.7; }
.capability-directory,
.role-clusters { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.capability-directory { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.role-clusters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.capability-directory li,
.role-clusters li {
  padding: 20px 16px;
  border: 1px solid rgba(151, 185, 222, .17);
  background: rgba(10, 20, 35, .62);
  cursor: default;
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}
.capability-directory li { display: flex; align-items: baseline; gap: 12px; }
.capability-directory li > span { color: #6798ad; font: 500 .7rem/1.6 var(--font-mono, monospace); }
.capability-directory h4,
.role-clusters h4 { margin: 0 0 8px; color: #edf6ff; font-size: .94rem; font-weight: 600; line-height: 1.5; }
.capability-directory p,
.role-clusters p { margin: 0; color: #a8b8cc; font-size: .8rem; line-height: 1.75; }

/* Two reading tracks, rather than another set of oversized feature cards. */
.service-matrix { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); }
.service-matrix--about { margin-top: 48px; padding-top: 40px; border-top: 1px solid rgba(151, 185, 222, .17); }
.service-track { min-width: 0; display: flex; flex-direction: column; }
.service-track h3 { margin: 12px 0; color: #edf6ff; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.4; letter-spacing: -.03em; }
.service-track header p { margin: 0; color: #a8b8cc; font-size: .9rem; line-height: 1.85; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 24px 0; }
.service-list > div { padding: 18px 0; border-top: 1px solid rgba(151, 185, 222, .17); }
.service-list dt { color: #edf6ff; font-size: .96rem; font-weight: 600; line-height: 1.6; }
.service-list dd { margin: 8px 0 0; color: #a8b8cc; font-size: .84rem; line-height: 1.85; }
.service-track--talent { padding-left: clamp(24px, 4vw, 56px); border-left: 1px solid rgba(151, 185, 222, .17); }
.talent-path { counter-reset: talent; display: grid; gap: 0; margin: 24px 0; padding: 0; list-style: none; }
.talent-path li { counter-increment: talent; display: grid; grid-template-columns: 24px 1fr; gap: 4px 12px; padding: 14px 0; border-top: 1px solid rgba(151, 185, 222, .17); }
.talent-path li::before { content: "0" counter(talent); grid-row: span 2; color: #67e7ff; font: 500 .7rem/2 var(--font-mono, monospace); }
.talent-path strong { color: #edf6ff; font-size: .94rem; font-weight: 600; }
.talent-path span { color: #a8b8cc; font-size: .8rem; line-height: 1.75; }
.service-note { margin: 0 0 24px; color: #a8b8cc; font-size: .82rem; line-height: 1.85; }
.content-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 16px; margin-top: auto; padding: 12px 0; color: #67e7ff; font-size: .9rem; line-height: 1.6; }
.content-link span { transition: transform .24s ease; }

/* Full original album: natural image ratios, native disclosure, lazy loading. */
.gallery-more { margin-top: 20px; border-block: 1px solid rgba(151, 185, 222, .24); }
.gallery-more > summary { padding: 22px 4px; color: #eaf5ff; cursor: pointer; line-height: 1.7; }
.gallery-more > summary::marker { color: #67e7ff; }
.gallery-more > summary small { display: inline-block; margin-left: 24px; color: #a8b8cc; font-size: .8rem; }
.gallery-more[open] > summary { border-bottom: 1px solid rgba(151, 185, 222, .17); }
.album-group { padding: 28px 0 0; }
.album-group h3 { margin: 0 0 20px; color: #d7edfa; font-size: 1.1rem; line-height: 1.6; }
.album-group:last-child { padding-bottom: 20px; }
.team-album .gallery__item span { right: 18px; font-size: .75rem; line-height: 1.6; letter-spacing: .03em; }

/* Same brand and working destinations on all three public pages. */
.content-footer { position: relative; z-index: 3; padding: 64px 0 30px; border-top: 1px solid rgba(151, 185, 222, .17); background: #030711; }
.content-footer__inner { width: min(calc(100% - 64px), 1280px); margin-inline: auto; display: grid; grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); gap: 40px; }
.content-footer__inner > * { min-width: 0; }
.content-footer__brand strong { display: block; color: #eef6ff; font-size: 1.25rem; }
.content-footer__brand > span { display: block; margin-top: 8px; color: #9bb3c9; font-size: .75rem; line-height: 1.7; }
.content-footer__brand p { margin: 20px 0; color: #a8b8cc; font-size: .84rem; line-height: 1.9; }
.content-footer a { text-decoration: none; transition: color .2s ease; }
.content-footer .content-footer__phone { color: #67e7ff; font: 600 1.2rem/1.5 var(--font-mono, monospace); }
.content-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.content-footer nav h2 { margin: 0 0 10px; color: #e6effa; font-size: .94rem; line-height: 1.7; }
.content-footer nav a { color: #a8b8cc; font-size: .82rem; line-height: 1.8; padding-block: 3px; }
.content-footer__bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(151, 185, 222, .13); color: #8397ad; font-size: .75rem; line-height: 1.8; }
.content-link:focus-visible,
.gallery-more > summary:focus-visible,
.content-footer a:focus-visible { outline: 2px solid #67e7ff; outline-offset: 5px; border-radius: 3px; }
.content-link:focus-visible span { transform: translateX(4px); }
@media (hover: hover) and (pointer: fine) {
  .capability-directory li:hover,
  .role-clusters li:hover { transform: translateY(-3px); }
  .content-link:hover span { transform: translateX(4px); }
  .content-footer a:hover { color: #67e7ff; }
  .gallery-more > summary:hover { color: #67e7ff; }
}
@media (max-width: 1200px) {
  .capability-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .commander-brief { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 900px) {
  .role-clusters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-matrix { grid-template-columns: 1fr; gap: 36px; }
  .service-track--talent { padding: 32px 0 0; border-left: 0; border-top: 1px solid rgba(151, 185, 222, .17); }
  .talent-path { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .content-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
  .content-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .capability-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .capability-directory li { padding: 16px 12px; gap: 8px; }
  .capability-directory h4 { font-size: .85rem; }
  .role-clusters { gap: 8px; }
  .role-clusters li { padding: 18px 14px; }
  .service-list,
  .talent-path { grid-template-columns: 1fr; }
  .gallery-more > summary small { display: block; margin: 8px 0 0 18px; }
  .content-footer { padding-bottom: 100px; }
  .content-footer__inner { width: calc(100% - 32px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
  .content-footer__bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .capability-directory li,
  .role-clusters li,
  .content-link span,
  .content-footer a { transition: none; }
  .capability-directory li:hover,
  .role-clusters li:hover,
  .content-link:hover span,
  .content-link:focus-visible span { transform: none; }
}
@media print {
  .content-footer { display: none !important; }
  .capability-section,
  .service-section,
  .commander-brief,
  .capability-directory li,
  .role-clusters li { background: #fff !important; box-shadow: none !important; }
  .capability-section *,
  .service-section * { color: #111 !important; }
}
