:root {
  --navy: #0c203d;
  --navy-2: #16325c;
  --ember: #de4826;
  --ember-deep: #b8361c;
  --teal: #50999a;
  --slate: #6c798b;
  --paper: #f6f3ee;
  --paper-2: #ebe6dd;
  --white: #fff;
  --ink: #0c203d;
  --rule: rgba(12, 32, 61, 0.12);
  --rule-light: rgba(246, 243, 238, 0.16);
  --shadow: 0 24px 60px rgba(12, 32, 61, 0.08);
  --display: "Newsreader", Georgia, serif;
  --sans: "Outfit", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --wrap: 1180px;
  --narrow: 760px;
  --pad: clamp(1.25rem, 4vw, 3rem);
  --header-h: 4.5rem;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

#our-story,
#principles,
#leadership,
#culture,
#guardian-contact-form { scroll-margin-top: calc(var(--header-h) + 1rem); }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  font-size: 1.0625rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--ember);
  color: var(--white);
  padding: 0.6rem 1rem;
  z-index: 1000;
}
.skip-link:focus { left: 1rem; top: 1rem; }

.wrap {
  width: min(var(--wrap), calc(100% - var(--pad) - var(--pad)));
  margin-inline: auto;
}
.wrap--narrow { width: min(var(--narrow), calc(100% - var(--pad) - var(--pad))); }

.kicker {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ember);
  margin: 0 0 0.85rem;
}

h1, h2, h3, .display {
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

h1, .display-xl {
  font-size: clamp(2.6rem, 6.4vw, 5.4rem);
}

h2, .display-l {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }

.lede {
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  line-height: 1.5;
  color: var(--navy-2);
  font-weight: 300;
  max-width: 40rem;
}

.muted { color: var(--slate); }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(7, 23, 44, 0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--rule-light);
}

.site-header__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  min-height: var(--header-h);
}

.logo {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  flex-shrink: 0;
}
.logo img { width: 184px; height: auto; }

.nav-primary {
  margin-left: auto;
  display: flex;
  align-items: center;
  align-self: stretch;
}
.mobile-nav__head,
.mobile-nav__footer { display: none; }
.nav-menu {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
  height: 100%;
}
.nav-item { list-style: none; margin: 0; display: flex; align-items: center; height: 100%; }
.nav-item--mega { position: static; }
.nav-link-row { display: flex; align-items: center; height: 100%; }

.nav-link {
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 500;
  padding: 0.45rem 0.7rem;
  color: rgba(255, 255, 255, 0.82);
  position: relative;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0.7rem;
  right: 0.7rem;
  bottom: 0.15rem;
  height: 1px;
  background: var(--ember);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.nav-link:hover::after,
.nav-item.is-current > .nav-link::after,
.nav-item.is-current .nav-link-row > .nav-link::after { transform: scaleX(1); }
.nav-link:hover { color: var(--white); }

.mega-toggle {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  margin-left: -0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  cursor: pointer;
}
.mega-toggle svg { transition: transform 0.2s ease; }
.nav-item--mega.is-mega-open .mega-toggle svg { transform: rotate(180deg); }
.mega-toggle:focus-visible { outline: 2px solid var(--ember); outline-offset: 1px; }

.mega-menu {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  z-index: 45;
  padding: 2rem 0 2.25rem;
  background: var(--paper);
  color: var(--navy);
  border-top: 3px solid var(--ember);
  box-shadow: 0 28px 55px rgba(3, 15, 30, 0.28);
  max-height: calc(100svh - var(--header-h));
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}
.nav-item--mega.is-mega-open .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
.mega-menu__inner { display: grid; grid-template-columns: 0.72fr 2.28fr; gap: clamp(1.5rem, 4vw, 3.25rem); align-items: stretch; }
.mega-menu__lead { display: flex; flex-direction: column; padding-right: 1.5rem; border-right: 1px solid var(--rule); }
.mega-menu__lead .kicker { margin-bottom: 0.45rem; }
.mega-menu__lead h2 { max-width: 9ch; font-size: 2.1rem; }
.mega-menu__lead > p:not(.kicker) { margin: 0.75rem 0 1.1rem; color: var(--slate); font-size: 0.87rem; line-height: 1.5; }
.mega-menu__overview { width: fit-content; color: var(--navy); font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.mega-menu__overview span { color: var(--ember); }
.mega-menu__legacy { margin-top: 1.25rem; padding-top: 0.9rem; border-top: 1px solid var(--rule); }
.mega-menu__legacy-brand { display: grid; color: var(--navy); text-decoration: none; }
.mega-menu__legacy-brand > span { font-family: var(--mono); color: var(--slate); font-size: 0.55rem; text-transform: uppercase; }
.mega-menu__legacy-brand img { width: min(10rem, 100%); height: auto; margin-top: 0.5rem; }
.mega-menu__legacy-actions { display: flex; gap: 0.85rem; margin-top: 0.65rem; }
.mega-menu__legacy-actions a { color: var(--navy); font-size: 0.64rem; font-weight: 600; text-decoration: none; }
.mega-menu__legacy-actions a:last-child { color: #967223; }
.mega-menu__legacy-actions a:hover { color: var(--ember); }
.mega-menu__legacy-mobile { display: none; }
.mega-menu__proof { display: grid; gap: 0.35rem; margin-top: auto; padding-top: 1rem; }
.mega-menu__proof span { display: flex; align-items: center; gap: 0.55rem; color: var(--slate); font-family: var(--mono); font-size: 0.55rem; text-transform: uppercase; }
.mega-menu__proof span::before { content: ""; width: 0.42rem; height: 0.42rem; background: var(--ember); }
.mega-menu__zones { display: grid; grid-template-columns: repeat(5, 1fr); height: 0.35rem; margin-top: auto; padding-top: 1.5rem; box-sizing: content-box; }
.mega-menu__zones i:nth-child(1) { background: var(--navy); }
.mega-menu__zones i:nth-child(2) { background: var(--ember); }
.mega-menu__zones i:nth-child(3) { background: var(--teal); }
.mega-menu__zones i:nth-child(4) { background: var(--slate); }
.mega-menu__zones i:nth-child(5) { background: var(--navy-2); }

.mega-menu--solutions { padding-bottom: 2.25rem; }
.mega-menu__catalog { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; background: var(--white); border-bottom: 1px solid var(--rule); }
.mega-zone { --mega-tone: var(--navy); padding: 0.85rem 0.8rem 1rem; border-left: 1px solid var(--rule); background: rgba(12, 32, 61, 0.025); }
.mega-zone[data-tone="ember"] { --mega-tone: var(--ember); }
.mega-zone[data-tone="ember"] { background: rgba(222, 72, 38, 0.035); }
.mega-zone[data-tone="teal"] { --mega-tone: var(--teal); background: rgba(80, 153, 154, 0.045); }
.mega-zone[data-tone="slate"] { --mega-tone: var(--slate); background: rgba(108, 121, 139, 0.045); }
.mega-zone[data-tone="deep"] { --mega-tone: var(--navy-2); background: rgba(22, 50, 92, 0.035); }
.mega-zone > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.12rem 0.4rem; padding: 0.55rem 0; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--rule); }
.mega-zone > a:not(.mega-zone__heading):hover,
.mega-zone > a:not(.mega-zone__heading):focus-visible { color: var(--ember); outline: 0; }
.mega-zone > a:not(.mega-zone__heading):hover strong,
.mega-zone > a:not(.mega-zone__heading):focus-visible strong { color: var(--mega-tone); }
.mega-zone > a > strong { font-size: 0.82rem; font-weight: 600; line-height: 1.2; }
.mega-zone > a > small { grid-column: 1; color: var(--slate); font-size: 0.62rem; line-height: 1.35; }
.mega-zone > a > em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--slate); font-family: var(--mono); font-size: 0.48rem; font-style: normal; text-transform: uppercase; }
.mega-zone__heading { min-height: 5rem; display: grid !important; grid-template-columns: 1.45rem 1fr !important; align-content: start; justify-content: start !important; gap: 0.12rem 0.45rem !important; margin-bottom: 0.45rem; padding: 0.15rem 0 0.75rem !important; border-bottom: 3px solid var(--mega-tone) !important; }
.mega-zone__heading { position: relative; overflow: hidden; }
.mega-zone__art { position: absolute !important; right: 0; top: 0; z-index: 0 !important; width: 2.8rem; height: 2.8rem; object-fit: cover; opacity: 0.48; filter: saturate(0.72) contrast(1.08); transition: opacity 0.2s ease, transform 0.25s ease; }
.mega-zone__heading:hover .mega-zone__art { opacity: 0.72; transform: scale(1.06); }
.mega-zone > .mega-zone__heading > span { grid-row: 1 / span 2; padding-top: 0.15rem; font-family: var(--mono); color: var(--mega-tone); font-size: 0.58rem; }
.mega-zone > .mega-zone__heading > strong { font-family: var(--display); font-size: 1.05rem; font-weight: 500; line-height: 1.1; }
.mega-zone > .mega-zone__heading > small { grid-column: 2; color: var(--slate); font-size: 0.58rem; line-height: 1.3; }
.mega-zone__heading:hover strong { color: var(--mega-tone); }
.mega-zone__capabilities { margin: 1rem 0 0; padding: 0; list-style: none; }
.mega-zone__capabilities li { position: relative; margin: 0.38rem 0; padding-left: 0.75rem; color: var(--slate); font-size: 0.61rem; line-height: 1.35; }
.mega-zone__capabilities li::before { content: ""; position: absolute; left: 0; top: 0.48rem; width: 0.28rem; height: 0.28rem; background: var(--mega-tone); }

.mega-menu__assurance { margin-top: 1.35rem; background: var(--navy); color: var(--white); }
.mega-menu__assurance .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.mega-menu__assurance span { min-height: 3.4rem; display: flex; align-items: center; gap: 0.35rem; padding: 0.65rem 1rem; color: rgba(255, 255, 255, 0.64); font-size: 0.7rem; border-left: 1px solid var(--rule-light); }
.mega-menu__assurance span:last-child { border-right: 1px solid var(--rule-light); }
.mega-menu__assurance strong { color: var(--white); font-weight: 500; }

.mega-menu__catalog--compact { border-bottom: 0; }
.mega-menu__catalog--compact .mega-zone { position: relative; display: flex; flex-direction: column; padding: 0.45rem 0.75rem 0.65rem; overflow: hidden; }
.mega-menu__catalog--compact .mega-zone::after { content: attr(data-index); position: absolute; right: 0.25rem; bottom: 4.7rem; color: var(--mega-tone); font-family: var(--display); font-size: 5.4rem; font-weight: 500; line-height: 1; opacity: 0.055; pointer-events: none; }
.mega-menu__catalog--compact .mega-zone > * { position: relative; z-index: 1; }
.mega-menu__catalog--compact .mega-zone__heading { min-height: 3.6rem; margin-bottom: 0.25rem; padding-bottom: 0.55rem !important; }
.mega-menu__catalog--compact .mega-zone__statement { min-height: 2.1rem; margin: 0 0 0.25rem; color: var(--slate); font-size: 0.61rem; line-height: 1.35; }
.mega-menu__catalog--compact .mega-zone > a:not(.mega-zone__heading) { display: block; position: relative; padding: 0.32rem 0 0.32rem 0.6rem; }
.mega-menu__catalog--compact .mega-zone > a:not(.mega-zone__heading)::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.25rem; height: 0.25rem; background: var(--mega-tone); transform: translateY(-50%); transition: width 0.2s ease; }
.mega-menu__catalog--compact .mega-zone > a:not(.mega-zone__heading):hover::before { width: 0.42rem; }
.mega-menu__catalog--compact .mega-zone > a > strong { font-size: 0.76rem; }
.mega-menu__catalog--compact .mega-zone__capabilities { margin: auto -0.75rem -0.65rem; min-height: 5.3rem; padding: 0.7rem 0.75rem 0.75rem; border-top: 1px solid color-mix(in srgb, var(--mega-tone) 22%, transparent); background: color-mix(in srgb, var(--mega-tone) 7%, var(--white)); }
.mega-menu__catalog--compact .mega-zone__capabilities::before { content: "Coverage"; display: block; margin-bottom: 0.55rem; color: var(--mega-tone); font-family: var(--mono); font-size: 0.5rem; text-transform: uppercase; }
.mega-menu__catalog--compact .mega-zone__capabilities li { margin: 0.3rem 0; font-size: 0.58rem; }
.mega-menu--solutions .mega-menu__zones { margin-top: 0; padding-top: 0.85rem; }

.mega-menu__inner--editorial { grid-template-columns: 0.72fr 2.28fr; }
.industry-menu__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.industry-menu__link {
  --industry-tone: var(--navy);
  position: relative;
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  padding: 0.85rem 1rem 1rem;
  overflow: hidden;
  color: var(--navy);
  text-decoration: none;
  border-left: 1px solid var(--rule);
  background: color-mix(in srgb, var(--industry-tone) 2.5%, var(--paper));
  transition: background 0.2s ease, transform 0.2s ease;
}
.industry-menu__link:nth-child(2) { --industry-tone: var(--ember); }
.industry-menu__link:nth-child(3) { --industry-tone: var(--teal); }
.industry-menu__link:nth-child(4) { --industry-tone: var(--slate); }
.industry-menu__link:nth-child(5) { --industry-tone: var(--navy-2); }
.industry-menu__link::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--industry-tone); }
.industry-menu__link::after { content: attr(data-index); position: absolute; right: -0.02em; bottom: 2.6rem; color: var(--industry-tone); font-family: var(--display); font-size: 5.6rem; font-weight: 500; line-height: 1; opacity: 0.055; pointer-events: none; }
.industry-menu__link > * { position: relative; z-index: 1; }
.industry-menu__link:hover,
.industry-menu__link:focus-visible { background: var(--white); outline: 0; transform: translateY(-2px); }
.industry-menu__eyebrow { display: flex; align-items: center; gap: 0.5rem; color: var(--slate); font-family: var(--mono); font-size: 0.52rem; text-transform: uppercase; }
.industry-menu__eyebrow b { color: var(--industry-tone); font-size: 0.58rem; font-weight: 500; }
.industry-menu__link strong { margin-top: 2.35rem; font-family: var(--display); font-size: 1.28rem; font-weight: 500; line-height: 1.1; }
.industry-menu__link small { display: -webkit-box; margin-top: 0.55rem; overflow: hidden; color: var(--slate); font-size: 0.67rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.industry-menu__focus { display: grid; margin-top: auto; padding: 0.65rem 1.2rem 0 0; border-top: 1px solid color-mix(in srgb, var(--industry-tone) 22%, transparent); }
.industry-menu__focus i { color: var(--industry-tone); font-family: var(--mono); font-size: 0.47rem; font-style: normal; text-transform: uppercase; }
.industry-menu__focus em { margin-top: 0.12rem; color: var(--navy); font-size: 0.63rem; font-style: normal; font-weight: 500; line-height: 1.25; }
.industry-menu__arrow { position: absolute; right: 1rem; bottom: 1.12rem; color: var(--industry-tone); font-size: 0.9rem; transition: transform 0.2s ease; }
.industry-menu__link:hover .industry-menu__arrow,
.industry-menu__link:focus-visible .industry-menu__arrow { transform: translateX(0.25rem); }

.insights-menu__content { display: grid; grid-template-columns: minmax(0, 1fr) 12rem; gap: 1.5rem; }
.insights-menu__latest { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.insights-menu__story { min-height: 13rem; display: flex; flex-direction: column; padding: 0.65rem 1rem 0.9rem; color: var(--navy); text-decoration: none; border-left: 1px solid var(--rule); transition: background 0.2s ease; }
.insights-menu__story:hover,
.insights-menu__story:focus-visible { background: var(--white); outline: 0; }
.insights-menu__story > span { color: var(--ember); font-family: var(--mono); font-size: 0.54rem; text-transform: uppercase; }
.insights-menu__thumb { aspect-ratio: 16 / 6; margin: -0.65rem -1rem 0.65rem; overflow: hidden; background: var(--navy); }
.insights-menu__thumb img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.04); }
.insights-menu__story strong { margin-top: 0.65rem; font-family: var(--display); font-size: 1.13rem; font-weight: 500; line-height: 1.15; }
.insights-menu__story small { display: -webkit-box; margin-top: 0.55rem; overflow: hidden; color: var(--slate); font-size: 0.68rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.insights-menu__topics { padding-left: 1.25rem; border-left: 1px solid var(--rule); }
.insights-menu__topics > p { margin: 0 0 0.45rem; font-family: var(--mono); color: var(--slate); font-size: 0.58rem; text-transform: uppercase; }
.insights-menu__topics a { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.4rem 0; color: var(--navy); text-decoration: none; font-size: 0.7rem; border-top: 1px solid var(--rule); }
.insights-menu__topics a:hover { color: var(--ember); }
.insights-menu__topics a span { color: var(--slate); font-family: var(--mono); font-size: 0.55rem; }

.about-menu__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-menu__grid > a {
  --about-tone: var(--navy);
  position: relative;
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  padding: 0.85rem 1rem 1rem;
  overflow: hidden;
  color: var(--navy);
  text-decoration: none;
  border-left: 1px solid var(--rule);
  background: color-mix(in srgb, var(--about-tone) 2.5%, var(--paper));
  transition: background 0.2s ease, transform 0.2s ease;
}
.about-menu__grid > a:nth-child(2) { --about-tone: var(--ember); }
.about-menu__grid > a:nth-child(3) { --about-tone: var(--teal); }
.about-menu__grid > a:nth-child(4) { --about-tone: var(--navy-2); }
.about-menu__grid > a::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--about-tone); }
.about-menu__grid > a:hover,
.about-menu__grid > a:focus-visible { background: var(--white); outline: 0; transform: translateY(-2px); }
.about-menu__index { color: var(--about-tone); font-family: var(--mono); font-size: 0.56rem; }
.about-menu__visual,
.about-menu__portraits { height: 4.65rem; margin: 0.7rem 0 0.8rem; }
.about-menu__visual--image { position: relative; overflow: hidden; background: var(--navy); }
.about-menu__visual--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 19, 37, 0.72), transparent 72%); }
.about-menu__visual--image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.7) contrast(1.06); transition: transform 0.35s ease, filter 0.35s ease; }
.about-menu__item--story .about-menu__visual--image img { object-position: center 62%; }
.about-menu__item--culture .about-menu__visual--image img { object-position: center 38%; }
.about-menu__visual--image em { position: absolute; right: 0.55rem; bottom: 0.4rem; left: 0.55rem; z-index: 1; color: var(--white); font-family: var(--mono); font-size: 0.45rem; font-style: normal; line-height: 1.3; text-transform: uppercase; }
.about-menu__principles { display: grid; align-content: center; border-top: 1px solid color-mix(in srgb, var(--about-tone) 32%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--about-tone) 32%, transparent); }
.about-menu__principles i { display: grid; grid-template-columns: 1.55rem 1fr; align-items: center; padding: 0.24rem 0; color: var(--navy); font-size: 0.56rem; font-style: normal; line-height: 1.25; border-bottom: 1px solid var(--rule); }
.about-menu__principles i:last-child { border-bottom: 0; }
.about-menu__principles i span { color: var(--about-tone); font-family: var(--mono); font-size: 0.45rem; }
.about-menu__portraits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.2rem; overflow: hidden; background: var(--navy); }
.about-menu__portraits img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04); transition: filter 0.25s ease, transform 0.25s ease; }
.about-menu__grid > a > strong { padding-right: 1.2rem; font-family: var(--display); font-size: 1.25rem; font-weight: 500; line-height: 1.1; }
.about-menu__grid > a > small { margin-top: 0.5rem; padding-right: 0.9rem; color: var(--slate); font-size: 0.68rem; line-height: 1.4; }
.about-menu__arrow { position: absolute; right: 1rem; bottom: 1rem; color: var(--about-tone); font-size: 0.9rem; font-weight: 400; transition: transform 0.2s ease; }
.about-menu__grid > a:hover .about-menu__visual--image img,
.about-menu__grid > a:focus-visible .about-menu__visual--image img { filter: saturate(0.9) contrast(1.08); transform: scale(1.04); }
.about-menu__grid > a:hover .about-menu__portraits img,
.about-menu__grid > a:focus-visible .about-menu__portraits img { filter: grayscale(0.25) contrast(1.04); }
.about-menu__grid > a:hover .about-menu__portraits img:nth-child(even),
.about-menu__grid > a:focus-visible .about-menu__portraits img:nth-child(even) { transform: translateY(-2px); }
.about-menu__grid > a:hover .about-menu__arrow,
.about-menu__grid > a:focus-visible .about-menu__arrow { transform: translateX(0.25rem); }

@media (min-width: 981px) {
  .nav-item--mega:hover .mega-menu,
  .nav-item--mega:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }
}

.header-tools {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-left: 0.4rem;
}

.icon-btn {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: transparent;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--white);
}
.icon-btn:hover { border-color: var(--white); background: rgba(255, 255, 255, 0.08); }

.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  background: none;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  height: 1.5px;
  width: 18px;
  background: var(--white);
  transform-origin: center;
  transition: transform 0.22s ease, opacity 0.18s ease;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  text-decoration: none;
  border: 1px solid transparent;
  padding: 0.85rem 1.35rem;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary { background: var(--ember); color: var(--white); }
.btn--primary:hover { background: var(--ember-deep); }
.btn--ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,0.35); }
.btn--ghost:hover { background: var(--white); color: var(--navy); }
.btn--navy { background: var(--navy); color: var(--white); }
.btn--line { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn--line:hover { background: var(--navy); color: var(--white); }

.btn-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }

/* ---------- Static homepage hero ---------- */
.hero-stage {
  position: relative;
  height: clamp(620px, calc(100svh - var(--header-h) - 2rem), 850px);
  overflow: hidden;
  isolation: isolate;
  background: #07172c;
  color: var(--white);
}

.hero-stage__media,
.hero-stage__veil,
.hero-stage__grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-stage__media {
  object-fit: cover;
  object-position: center;
  animation: hero-breathe 16s ease-out both;
}

.hero-stage__veil {
  background:
    linear-gradient(90deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.88) 34%, rgba(7, 23, 44, 0.28) 67%, rgba(7, 23, 44, 0.08) 100%),
    linear-gradient(0deg, rgba(7, 23, 44, 0.72) 0%, transparent 44%);
}

.hero-stage__grid {
  opacity: 0.12;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
  background-size: 6.25rem 6.25rem;
  mask-image: linear-gradient(90deg, black, transparent 72%);
}

.hero-stage__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-bottom: 3rem;
}

.hero-stage__chapter {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1.2rem;
  color: rgba(255, 255, 255, 0.65);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero-stage__chapter span { color: #ffc0ad; }
.hero-stage__chapter i { width: 2.5rem; height: 1px; background: rgba(255, 255, 255, 0.35); }
.hero-stage h1 { max-width: 12ch; color: var(--white); font-size: clamp(3.4rem, 6.4vw, 6.7rem); line-height: 0.96; text-wrap: balance; }
.hero-stage h1 em { display: block; color: #ffc0ad; font-weight: 400; }
.hero-stage .lede { max-width: 39rem; margin: 1.5rem 0 0; color: rgba(255, 255, 255, 0.8); }

.hero-stage__chapter,
.hero-stage h1,
.hero-stage .lede,
.hero-stage .btn-row {
  opacity: 1;
  transform: translateY(0);
  animation: hero-reveal 0.7s ease forwards;
}
.hero-stage h1 { animation-delay: 0.08s; }
.hero-stage .lede { animation-delay: 0.16s; }
.hero-stage .btn-row { animation-delay: 0.24s; }

@keyframes hero-reveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-breathe {
  from { transform: scale(1.045); }
  to { transform: scale(1); }
}

.signal-strip { background: var(--ember); color: var(--white); }
.signal-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-strip span { min-height: 4.35rem; display: flex; align-items: center; gap: 0.65rem; padding: 0.75rem 1rem; border-right: 1px solid rgba(255, 255, 255, 0.22); font-size: 0.82rem; }
.signal-strip span:first-child { border-left: 1px solid rgba(255, 255, 255, 0.22); }
.signal-strip b { font-family: var(--mono); font-size: 0.64rem; font-weight: 400; opacity: 0.7; }

.page-hero {
  padding: 5.5rem 0 3.5rem;
  border-bottom: 1px solid var(--rule);
}
.page-hero h1 { max-width: 16ch; }
.page-hero .lede { margin-top: 1.2rem; }
.product-hero { padding: 5.5rem 0 4rem; }
.product-hero h1 { max-width: 14ch; color: var(--paper); }
.product-hero .lede { margin-top: 1.2rem; color: rgba(246, 243, 238, 0.76); }
.product-hero__legacy-logo { width: min(31rem, 92%); height: auto; margin: 0.35rem 0 1.25rem; }

/* ---------- Sections ---------- */
.section { padding: clamp(4rem, 8vw, 6.5rem) 0; }
.section--navy { background: var(--navy); color: var(--paper); }
.section--navy .lede,
.section--navy .muted { color: rgba(246, 243, 238, 0.72); }
.section--paper-2 { background: var(--paper-2); }
.section--split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.prose p { margin: 0 0 1.15rem; }
.prose p:last-child { margin-bottom: 0; }
.prose a { color: var(--ember); }
.article.prose .btn--navy { color: var(--white); }

.section--problem { position: relative; overflow: hidden; }
.section--problem::after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -14rem;
  width: 32rem;
  height: 32rem;
  border: 1px solid rgba(12, 32, 61, 0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(12, 32, 61, 0.025), 0 0 0 10rem rgba(12, 32, 61, 0.018);
  pointer-events: none;
}
.editorial-intro { position: relative; z-index: 1; }
.editorial-intro__title { position: sticky; top: calc(var(--header-h) + 2.5rem); }
.editorial-aside {
  max-width: 22rem;
  margin: 2.2rem 0 0;
  padding: 1.1rem 0 0 1.25rem;
  border-top: 1px solid var(--rule);
  border-left: 3px solid var(--ember);
  color: var(--slate);
  font-size: 0.94rem;
}
.prose-lead { font-family: var(--display); font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.35; color: var(--navy); }
.prose-lead--light { color: var(--paper); }
.prose-pull {
  margin-top: 2.25rem !important;
  padding: 1.25rem 0 0 1.35rem;
  border-top: 1px solid var(--rule);
  border-left: 3px solid var(--ember);
  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1.35;
}

.difference-section { position: relative; overflow: hidden; }
.difference-section::after {
  content: "GUARDIAN";
  position: absolute;
  right: -0.08em;
  bottom: -0.33em;
  color: rgba(255, 255, 255, 0.026);
  font-family: var(--sans);
  font-size: clamp(7rem, 18vw, 17rem);
  font-weight: 600;
  line-height: 1;
  pointer-events: none;
}
.difference-heading { position: relative; z-index: 1; }
.difference-heading h2 { max-width: 14ch; }
.difference-copy { position: relative; z-index: 1; color: rgba(246, 243, 238, 0.74); }
.difference-copy strong { color: var(--white); }
.difference-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid var(--rule-light); border-bottom: 1px solid var(--rule-light); }
.difference-grid article { min-height: 19rem; padding: 1.7rem 2rem 2rem 0; }
.difference-grid article + article { padding-left: 2rem; border-left: 1px solid var(--rule-light); }
.difference-grid span { font-family: var(--mono); color: #f0b4a4; font-size: 0.72rem; }
.difference-grid h3 { margin-top: 3rem; max-width: 12ch; color: var(--paper); }
.difference-grid p { color: rgba(246, 243, 238, 0.66); font-size: 0.96rem; }

.aspen-manifesto {
  position: relative;
  min-height: clamp(520px, 72vw, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.aspen-manifesto > img,
.aspen-manifesto__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.aspen-manifesto > img { object-fit: cover; }
.aspen-manifesto__veil { background: linear-gradient(0deg, rgba(7, 23, 44, 0.94) 0%, rgba(7, 23, 44, 0.18) 72%); }
.aspen-manifesto__content { position: relative; z-index: 1; padding-bottom: clamp(3rem, 7vw, 6rem); }
.aspen-manifesto h2 { max-width: 12ch; color: var(--white); font-size: clamp(3rem, 6vw, 6rem); line-height: 0.98; }
.aspen-manifesto h2 em { display: block; color: #a9ded8; font-weight: 400; }
.aspen-manifesto__content > p:last-child { max-width: 35rem; margin: 1.4rem 0 0; color: rgba(255, 255, 255, 0.76); font-size: 1.1rem; }

.zone-intro { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; margin-top: 1.1rem; }
.zone-intro .lede { margin: 0; }
.zone-intro .btn { flex: 0 0 auto; }
.zone-landscape { position: relative; margin: 3rem 0 0; aspect-ratio: 1916 / 821; overflow: hidden; background: var(--navy); }
.zone-landscape img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.zone-landscape:hover img { transform: scale(1.015); }
.zone-landscape figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: rgba(7, 23, 44, 0.82); color: rgba(255, 255, 255, 0.72); backdrop-filter: blur(10px); font-size: 0.8rem; }
.zone-landscape figcaption span { color: #ffc0ad; font-family: var(--mono); text-transform: uppercase; }
.zone-constellation { position: relative; padding-top: 2.5rem; }
.zone-constellation::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, var(--navy), var(--ember), var(--teal), var(--slate), var(--navy-2));
}
.zone { position: relative; text-decoration: none; overflow: hidden; }
.zone::after {
  content: "";
  position: absolute;
  inset: auto -20% -55% 20%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  transition: transform 0.4s ease;
}
.zone:hover::after { transform: scale(1.22); }
.zone-arrow { margin-top: auto; align-self: flex-end; font-size: 1.1rem; position: relative; z-index: 1; }

.leadership-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.leadership-quote { margin: 0; max-width: 11ch; font-family: var(--display); font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.02; }
.leadership-quote em { color: var(--ember); font-weight: 400; }
.leadership-image { margin: 0 0 2rem; aspect-ratio: 16 / 8.5; overflow: hidden; background: var(--navy); }
.leadership-image img { width: 100%; height: 100%; object-fit: cover; }
.leadership-points { border-top: 1px solid var(--rule); }
.leadership-points article { display: grid; grid-template-columns: 5.5rem 1fr; gap: 0 1.5rem; padding: 1.5rem 0 1.6rem; border-bottom: 1px solid var(--rule); }
.leadership-points span { grid-row: 1 / span 2; padding-top: 0.3rem; font-family: var(--mono); color: var(--ember); font-size: 0.68rem; text-transform: uppercase; }
.leadership-points h3 { font-size: 1.45rem; }
.leadership-points p { margin: 0.45rem 0 0; color: var(--slate); font-size: 0.94rem; }

.rule { height: 1px; background: var(--rule); border: 0; margin: 0; }

/* ---------- Homepage narrative ---------- */
.home-zonedefense { overflow: hidden; }
.home-zonedefense .lede { margin-top: 1.2rem; }
.zone-preview {
  align-self: stretch;
  height: 33rem;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rule);
  box-shadow: var(--shadow);
  background: var(--navy);
  overflow: hidden;
}
.zone-preview__item {
  --preview-tone: var(--navy);
  position: relative;
  overflow: hidden;
  flex: 1 1 0;
  min-height: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background: var(--preview-tone);
  transition: flex-grow 0.38s ease;
}
.zone-preview__item:last-child { border-bottom: 0; }
.zone-preview__item.is-active { flex-grow: 2.8; }
.zone-preview__item[data-tone="ember"] { --preview-tone: var(--ember-deep); }
.zone-preview__item[data-tone="teal"] { --preview-tone: #397879; }
.zone-preview__item[data-tone="slate"] { --preview-tone: #586678; }
.zone-preview__item[data-tone="paper"] { --preview-tone: var(--navy-2); }
.zone-preview__item > button { position: absolute; inset: 0; z-index: 1; width: 100%; display: flex; align-items: center; padding: 0.8rem 1.25rem; border: 0; background: transparent; color: var(--white); text-align: left; cursor: pointer; }
.zone-preview__item > button::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(7, 23, 44, 0.92), rgba(7, 23, 44, 0.28)); transition: background 0.3s ease; }
.zone-preview__item.is-active > button { align-items: flex-start; }
.zone-preview__item.is-active > button::after { background: linear-gradient(90deg, rgba(7, 23, 44, 0.94), rgba(7, 23, 44, 0.42)); }
.zone-preview__item > button:focus-visible { outline: 3px solid #ffc0ad; outline-offset: -3px; }
.zone-preview__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.54; filter: saturate(0.82); transition: transform 0.5s ease, opacity 0.3s ease; }
.zone-preview__item.is-active img { transform: scale(1.025); opacity: 0.72; }
.zone-preview__label { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 1rem; }
.zone-preview__label b { font-family: var(--mono); font-size: 0.63rem; font-weight: 400; opacity: 0.72; }
.zone-preview__label strong { font-family: var(--display); font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 500; line-height: 1.1; }
.zone-preview__detail { position: absolute; left: 1.4rem; right: 1.4rem; bottom: 1.15rem; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 0.65rem 1.5rem; color: var(--white); opacity: 0; visibility: hidden; transform: translateY(0.5rem); pointer-events: none; transition: opacity 0.22s ease, transform 0.28s ease, visibility 0s linear 0.28s; }
.zone-preview__item.is-active .zone-preview__detail { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; transition-delay: 0.12s; }
.zone-preview__detail p { grid-column: 1 / -1; max-width: 39rem; margin: 0; color: rgba(255, 255, 255, 0.88); font-size: 1rem; line-height: 1.48; }
.zone-preview__detail > span { display: grid; color: rgba(255, 255, 255, 0.84); font-size: 0.86rem; line-height: 1.4; }
.zone-preview__detail small { margin-bottom: 0.16rem; color: #ffc0ad; font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; }
.zone-preview__detail a { align-self: end; color: var(--white); font-family: var(--mono); font-size: 0.72rem; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.zone-preview__detail a b { color: #ffc0ad; font-weight: 400; transition: margin-left 0.2s ease; }
.zone-preview__detail a:hover b { margin-left: 0.25rem; }

.proof-section h2 { max-width: 15ch; }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2.5rem; border-top: 1px solid var(--rule); }
.proof-grid article { display: grid; grid-template-columns: 3.5rem 1fr; align-content: start; padding: 1.75rem 2rem 1.75rem 0; }
.proof-grid article + article { padding-left: 2rem; border-left: 1px solid var(--rule); }
.proof-grid span { grid-row: 1 / span 2; font-family: var(--mono); color: var(--ember); font-size: 0.68rem; }
.proof-grid h3 { font-size: 1.45rem; }
.proof-grid p { margin: 0.65rem 0 0; color: var(--slate); }

.home-insights { overflow: hidden; background: var(--paper); }
.home-insights__header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.4rem; }
.home-insights__header h2 { max-width: 15ch; }
.home-insights__actions { display: flex; align-items: center; gap: 1.5rem; }
.home-insights__actions > a { color: var(--navy); font-size: 0.82rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.home-insights__actions > a span { color: var(--ember); }
.carousel-controls { display: flex; }
.carousel-controls button { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--rule); background: transparent; color: var(--navy); cursor: pointer; }
.carousel-controls button + button { border-left: 0; }
.carousel-controls button:hover { background: var(--navy); color: var(--white); }
.carousel-controls button:disabled { color: var(--slate); cursor: default; opacity: 0.42; }
.carousel-controls button:disabled:hover { background: transparent; color: var(--slate); }
.home-insights__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.home-insights__viewport::-webkit-scrollbar { display: none; }
.home-insights__viewport:focus-visible { outline: 2px solid var(--ember); outline-offset: 5px; }
.home-insights__track { display: flex; gap: 1rem; }
.home-insight { flex: 0 0 calc((100% - 2rem) / 3); min-width: 0; scroll-snap-align: start; background: var(--white); border: 1px solid var(--rule); }
.home-insight__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--navy); }
.home-insight__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.home-insight:hover .home-insight__image img { transform: scale(1.025); }
.home-insight__body { min-height: 14rem; display: flex; flex-direction: column; padding: 1.25rem; }
.home-insight__body > p { display: flex; justify-content: space-between; gap: 0.75rem; margin: 0; color: var(--ember); font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; }
.home-insight__body > p span { color: var(--slate); }
.home-insight h3 { margin-top: 1.25rem; font-size: 1.45rem; }
.home-insight h3 a { text-decoration: none; }
.home-insight h3 a:hover { color: var(--ember); }
.home-insight__read { margin-top: auto; padding-top: 1rem; color: var(--slate); font-family: var(--mono); font-size: 0.66rem; text-transform: uppercase; }
.home-insight__read b { color: var(--ember); font-weight: 400; }

/* ---------- Aspen story ---------- */
.about-aspen {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.about-aspen > img,
.about-aspen__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-aspen > img { object-fit: cover; object-position: center; }
.about-aspen__veil { background: linear-gradient(0deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.78) 46%, rgba(7, 23, 44, 0.08) 100%); }
.about-aspen__content { position: relative; z-index: 1; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(3rem, 7vw, 6rem); }
.about-aspen h2 { max-width: 12ch; color: var(--white); }
.about-aspen__copy { color: rgba(255, 255, 255, 0.76); }
.about-aspen__copy strong { color: var(--white); }

.about-hero {
  position: relative;
  min-height: min(68rem, calc(100svh - var(--header-h) - 3rem));
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.about-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.about-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.9) 31%, rgba(7, 23, 44, 0.54) 61%, rgba(7, 23, 44, 0.18) 100%), linear-gradient(0deg, rgba(7, 23, 44, 0.82) 0%, transparent 55%); }
.about-hero__content { position: relative; z-index: 1; padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.about-hero h1 { max-width: 10ch; color: var(--white); font-size: clamp(3.3rem, 6.3vw, 6.4rem); }
.about-hero .lede { max-width: 41rem; margin: 1.25rem 0 0; color: rgba(255, 255, 255, 0.78); }
.about-operating { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.about-operating article { min-height: 14rem; padding: 1.4rem 2rem 1.6rem 0; }
.about-operating article + article { padding-left: 2rem; border-left: 1px solid var(--rule); }
.about-operating span,
.principles-grid span { color: var(--ember); font-family: var(--mono); font-size: 0.65rem; }
.about-operating h3 { margin-top: 2.4rem; font-size: 1.4rem; }
.about-operating p { margin: 0.55rem 0 0; color: var(--slate); font-size: 0.9rem; }
.principles-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 2.5rem; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.principles-grid article { min-height: 20rem; padding: 1.4rem 1.4rem 1.6rem 0; }
.principles-grid article + article { padding-left: 1.4rem; border-left: 1px solid var(--rule); }
.principles-grid h3 { margin-top: 3.2rem; font-size: 1.35rem; }
.principles-grid p { margin: 0.75rem 0 0; color: var(--slate); font-size: 0.88rem; line-height: 1.55; }
.about-careers { display: grid; grid-template-columns: 7rem 1fr; max-width: 43rem; margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.about-careers span { color: var(--ember); font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; }
.about-careers p { margin: 0; color: var(--slate); }
.about-careers a { color: var(--navy); font-weight: 500; }

/* ---------- Cards ---------- */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.card {
  background: var(--white);
  border: 1px solid var(--rule);
  padding: 1.6rem 1.5rem 1.5rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: border-color 0.2s, transform 0.2s;
}
.card:hover { border-color: var(--navy); transform: translateY(-2px); }
.card h3 { margin-bottom: 0.65rem; }
.card p { color: var(--slate); margin: 0; flex: 1; font-size: 0.98rem; }
.card .more {
  margin-top: 1.2rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ember);
}

.testimonial {
  background: var(--white);
  border-left: 3px solid var(--ember);
  padding: 1.6rem 1.7rem;
}
.testimonial p { font-family: var(--display); font-size: 1.35rem; line-height: 1.35; margin: 0 0 1rem; }
.testimonial cite { font-style: normal; font-size: 0.88rem; color: var(--slate); }

/* ---------- ZoneDefense ---------- */
.zone-experience__intro { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.zone-experience__intro .lede { margin: 0; }
.zone-direction { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin: 3.5rem 0 0.8rem; color: var(--slate); font-family: var(--mono); font-size: 0.63rem; text-transform: uppercase; }
.zone-direction i { height: 1px; background: linear-gradient(90deg, var(--ember), var(--teal), var(--navy)); position: relative; }
.zone-direction i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--navy); border-right: 1px solid var(--navy); transform: rotate(45deg); }
.zone-map { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--rule); background: var(--white); }
.zone-map__segment {
  position: relative;
  min-height: 13rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.2rem 1rem;
  border: 0;
  border-right: 1px solid var(--rule);
  background: var(--white);
  color: var(--navy);
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.25s ease, background 0.25s ease;
}
.zone-map__segment:last-child { border-right: 0; }
.zone-map__segment::before { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: var(--zone-color, var(--navy)); transition: height 0.25s ease; }
.zone-map__segment[data-tone="prepare"] { --zone-color: var(--navy); }
.zone-map__segment[data-tone="predict"] { --zone-color: var(--ember); }
.zone-map__segment[data-tone="protect"] { --zone-color: var(--teal); }
.zone-map__segment[data-tone="recover"] { --zone-color: var(--slate); }
.zone-map__segment[data-tone="respond"] { --zone-color: var(--navy-2); }
.zone-map__segment:hover::before,
.zone-map__segment.is-active::before { height: 100%; }
.zone-map__segment:hover,
.zone-map__segment.is-active { color: var(--white); }
.zone-map__segment > * { position: relative; z-index: 1; }
.zone-map__number { font-family: var(--mono); font-size: 0.68rem; opacity: 0.68; }
.zone-map__segment strong { margin-top: auto; font-family: var(--display); font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.1; font-weight: 500; }
.zone-map__segment small { margin-top: 0.55rem; font-size: 0.74rem; line-height: 1.35; opacity: 0.72; }
.zone-map__segment:focus-visible { outline: 3px solid var(--ember); outline-offset: -3px; }
.zone-map__art { position: absolute !important; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.08; filter: grayscale(1) contrast(1.1); transition: opacity 0.3s ease, transform 0.4s ease; }
.zone-map__segment:hover .zone-map__art,
.zone-map__segment.is-active .zone-map__art { opacity: 0.28; filter: saturate(0.75) contrast(1.08); transform: scale(1.035); }

.zone-panel { display: none; margin-top: 1rem; background: var(--navy); color: var(--paper); padding: clamp(1.5rem, 4vw, 3.5rem); }
.zone-panel.is-open { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: clamp(2rem, 5vw, 5rem); animation: panel-in 0.4s ease both; }
@keyframes panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.zone-panel__intro { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1.2rem; align-content: start; }
.zone-panel__number { font-family: var(--mono); color: #ffc0ad; font-size: 0.75rem; padding-top: 0.3rem; }
.zone-panel h3 { margin-bottom: 1rem; color: var(--white); font-size: clamp(2rem, 4vw, 3.5rem); }
.zone-panel__intro p:last-child { margin: 0; color: rgba(246, 243, 238, 0.7); }
.zone-panel__art { position: relative; aspect-ratio: 16 / 8.5; margin: 0 0 1.25rem; overflow: hidden; border: 1px solid var(--rule-light); background: #07172c; }
.zone-panel__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 23, 44, 0.42), transparent 55%); }
.zone-panel__art img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.zone-panel__art:hover img { transform: scale(1.02); }
.product-list { display: grid; align-content: start; }
.product-acc {
  border-top: 1px solid var(--rule-light);
}
.product-acc summary {
  cursor: pointer;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr auto 1rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  font-family: var(--display);
  font-size: 1.25rem;
}
.product-acc summary::-webkit-details-marker { display: none; }
.product-acc__title { display: flex; align-items: center; gap: 0.85rem; min-width: 0; }
.product-acc__title > span:last-child { min-width: 0; }
.product-acc summary small { font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; color: rgba(246, 243, 238, 0.5); }
.product-acc summary::after { content: "+"; font-family: var(--mono); color: #ffc0ad; }
.product-acc[open] summary::after { content: "–"; }
.product-acc__body { padding: 0 0 1.5rem; }
.product-acc p { color: rgba(246, 243, 238, 0.68); margin: 0 0 1rem; font-size: 0.94rem; }
.product-acc .btn--line { color: var(--white); border-color: rgba(255, 255, 255, 0.42); }
.product-acc .btn--line:hover { background: var(--white); color: var(--navy); }
.product-acc .btn { margin-top: 0.4rem; }

.product-mark {
  --mark-tone: var(--navy);
  position: relative;
  width: 2.65rem;
  height: 2.65rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--mark-tone) 54%, white);
  background: color-mix(in srgb, var(--mark-tone) 16%, transparent);
  color: var(--white);
}
.product-mark--zone-prepare { --mark-tone: #7792b3; }
.product-mark--zone-predict { --mark-tone: var(--ember); }
.product-mark--zone-protect { --mark-tone: var(--teal); }
.product-mark--zone-recover { --mark-tone: #9aa6b5; }
.product-mark--zone-respond,
.product-mark--zone-legacy { --mark-tone: #d68a76; }
.product-mark::before,
.product-mark::after,
.product-mark i { content: ""; position: absolute; pointer-events: none; }
.product-mark::before { inset: 0.38rem; border: 1px solid color-mix(in srgb, var(--mark-tone) 72%, white); transform: rotate(45deg); opacity: 0.66; }
.product-mark::after { left: 0; right: 0; top: 50%; height: 1px; background: var(--mark-tone); opacity: 0.72; }
.product-mark i { width: 0.34rem; height: 100%; background: var(--mark-tone); opacity: 0.44; transform: skewX(-24deg); }
.product-mark b { position: relative; z-index: 2; padding: 0.1rem; background: rgba(7, 23, 44, 0.72); font-family: var(--mono); font-size: 0.45rem; font-weight: 500; line-height: 1; }
.product-mark--aware i,
.product-mark--vigil i,
.product-mark--paratus i { width: 1px; box-shadow: -0.48rem 0 0 var(--mark-tone), 0.48rem 0 0 var(--mark-tone); transform: none; }
.product-mark--glass::before,
.product-mark--prismx::before,
.product-mark--apex::before { inset: 0.42rem 0.58rem; border: 0; background: color-mix(in srgb, var(--mark-tone) 54%, transparent); clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: none; }
.product-mark--probex::before,
.product-mark--resurgent::before { inset: 0.46rem; border-radius: 50%; transform: none; box-shadow: inset 0 0 0 0.3rem rgba(7, 23, 44, 0.72); }
.product-mark--shield::before,
.product-mark--phoenix::before { inset: 0.42rem 0.55rem; border: 0; background: color-mix(in srgb, var(--mark-tone) 60%, transparent); clip-path: polygon(50% 0, 100% 18%, 86% 76%, 50% 100%, 14% 76%, 0 18%); transform: none; }
.product-mark--visus::before,
.product-mark--nimbus::before { inset: 0.48rem; transform: none; background: repeating-linear-gradient(0deg, transparent 0 0.28rem, var(--mark-tone) 0.28rem 0.34rem); }
.product-mark--pass::before { inset: 0.54rem 0.38rem; transform: none; border-width: 1px 0; }
.product-mark--legacy::before { inset: 0.42rem; transform: none; clip-path: polygon(50% 0, 100% 26%, 82% 100%, 18% 100%, 0 26%); background: color-mix(in srgb, var(--mark-tone) 52%, transparent); }
.product-mark--compact { width: 2.1rem; height: 2.1rem; }
.product-mark--hero { width: 4.2rem; height: 4.2rem; }
.product-mark--hero b { font-size: 0.62rem; }

/* ---------- Business leaders ---------- */
.leaders-hero {
  position: relative;
  min-height: min(48rem, calc(100svh - var(--header-h) - 3rem));
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.leaders-hero > img,
.leaders-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.leaders-hero > img { object-fit: cover; object-position: center; }
.leaders-hero__veil { background: linear-gradient(90deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.9) 32%, rgba(7, 23, 44, 0.3) 70%, rgba(7, 23, 44, 0.08) 100%), linear-gradient(0deg, rgba(7, 23, 44, 0.76), transparent 55%); }
.leaders-hero__content { position: relative; z-index: 1; padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.leaders-hero h1 { max-width: 11ch; color: var(--white); font-size: clamp(3.2rem, 6vw, 6rem); }
.leaders-hero .lede { max-width: 44rem; margin: 1.25rem 0 0; color: rgba(255, 255, 255, 0.76); }
.leaders-signal { background: var(--ember); color: var(--white); }
.leaders-signal .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.leaders-signal span { min-height: 4.25rem; display: flex; align-items: center; gap: 0.8rem; padding: 0.75rem 1rem; border-left: 1px solid rgba(255, 255, 255, 0.2); }
.leaders-signal span:last-child { border-right: 1px solid rgba(255, 255, 255, 0.2); }
.leaders-signal b { font-family: var(--mono); font-size: 0.6rem; font-weight: 400; opacity: 0.72; }
.leadership-accountabilities { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.leadership-accountabilities article { min-height: 15rem; padding: 1.4rem 2rem 1.6rem 0; }
.leadership-accountabilities article + article { padding-left: 2rem; border-left: 1px solid var(--rule); }
.leadership-accountabilities span { color: var(--ember); font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; }
.leadership-accountabilities h3 { margin-top: 2.6rem; font-size: 1.45rem; }
.leadership-accountabilities p { margin: 0.65rem 0 0; color: var(--slate); font-size: 0.92rem; }
.leadership-close { background: var(--paper-2); }
.leadership-close__inner { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.leadership-close h2 { max-width: 12ch; }
.leadership-close .lede { margin: 0; }

/* ---------- Tabs ---------- */
.tabs { display: grid; grid-template-columns: repeat(4, 1fr); margin: 2rem 0 0; border: 1px solid var(--rule); }
.tab {
  min-height: 5.5rem;
  border: 0;
  border-right: 1px solid var(--rule);
  background: var(--paper);
  padding: 1rem;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 500;
  text-align: left;
}
.tab:last-child { border-right: 0; }
.tab.is-active { background: var(--navy); color: var(--white); border-color: var(--navy); }
.tab:focus-visible { outline: 3px solid var(--ember); outline-offset: -3px; }
.tab-panel { display: none; background: var(--white); border: 1px solid var(--rule); border-top: 0; padding: clamp(1.4rem, 4vw, 3rem); }
.tab-panel.is-active { display: block; animation: panel-in 0.3s ease both; }
.tab-panel > p { max-width: 54rem; }
.tab-panel__prompt { margin-top: 2rem; font-family: var(--mono); color: var(--ember); font-size: 0.7rem; text-transform: uppercase; }
.q-list { margin: 1.2rem 0 0; padding: 0; list-style: none; }
.q-list li {
  padding: 0.7rem 0 0.7rem 1.1rem;
  border-top: 1px solid var(--rule);
  position: relative;
}
.q-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.15rem;
  width: 0.4rem;
  height: 0.4rem;
  background: var(--ember);
}

/* ---------- Leaders ---------- */
.leader-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 3rem;
}
.leader { display: grid; grid-template-columns: minmax(9rem, 0.72fr) minmax(0, 1.28fr); gap: 1.35rem; align-items: start; padding-top: 1.25rem; border-top: 1px solid var(--rule); }
.leader__portrait { aspect-ratio: 1; margin: 0; overflow: hidden; background: var(--navy); }
.leader__portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04); }
.leader__body { min-width: 0; }
.leader h3 { margin-bottom: 0.15rem; }
.leader .role {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ember);
  margin-bottom: 0.7rem;
}

/* ---------- Industry briefings ---------- */
.industry-hero { position: relative; overflow: hidden; }
.industry-hero::after { content: "INDUSTRY"; position: absolute; right: -0.03em; bottom: -0.28em; color: rgba(12, 32, 61, 0.035); font-family: var(--sans); font-size: clamp(7rem, 17vw, 16rem); font-weight: 600; line-height: 1; pointer-events: none; }
.industry-hero .wrap { position: relative; z-index: 1; }
.industry-overview h2 { max-width: 13ch; }
.industry-section-heading { display: grid; grid-template-columns: 1fr 0.72fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.industry-section-heading > p { max-width: 30rem; margin: 0 0 0.35rem; color: var(--slate); }
.industry-pressures { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2.75rem; border-top: 1px solid var(--rule); }
.industry-pressures article { display: grid; grid-template-columns: 3rem 1fr; align-content: start; gap: 0 1rem; min-height: 13rem; padding: 1.5rem 2rem 1.5rem 0; border-bottom: 1px solid var(--rule); }
.industry-pressures article:nth-child(even) { padding-left: 2rem; border-left: 1px solid var(--rule); }
.industry-pressures span { grid-row: 1 / span 2; padding-top: 0.25rem; color: var(--ember); font-family: var(--mono); font-size: 0.65rem; }
.industry-pressures h3 { font-size: 1.4rem; }
.industry-pressures p { margin: 0.65rem 0 0; color: var(--slate); font-size: 0.93rem; }
.industry-defense .industry-section-heading > p { color: rgba(246, 243, 238, 0.64); }
.industry-zone-list { margin-top: 2.75rem; border-top: 1px solid var(--rule-light); }
.industry-zone-list article { display: grid; grid-template-columns: 3rem minmax(11rem, 0.55fr) minmax(0, 1.45fr); gap: 1rem clamp(1.5rem, 4vw, 4rem); align-items: start; padding: 1.25rem 0; border-bottom: 1px solid var(--rule-light); }
.industry-zone-list span { padding-top: 0.25rem; color: #ffc0ad; font-family: var(--mono); font-size: 0.65rem; }
.industry-zone-list h3 { color: var(--white); font-size: 1.35rem; }
.industry-zone-list p { margin: 0; color: rgba(246, 243, 238, 0.68); font-size: 0.92rem; }
.board-questions { margin: 0; padding: 0; list-style: none; counter-reset: board-question; border-top: 1px solid var(--rule); }
.board-questions li { counter-increment: board-question; position: relative; padding: 1.25rem 0 1.25rem 3.2rem; border-bottom: 1px solid var(--rule); font-family: var(--display); font-size: 1.25rem; line-height: 1.35; }
.board-questions li::before { content: counter(board-question, decimal-leading-zero); position: absolute; left: 0; top: 1.55rem; color: var(--ember); font-family: var(--mono); font-size: 0.65rem; }
.industry-related { margin-top: 2rem; }

/* ---------- Insights ---------- */
.meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 0.6rem;
}
.chip {
  display: inline-block;
  border: 1px solid var(--rule);
  padding: 0.15rem 0.5rem;
  color: var(--navy);
}

.article {
  width: min(40rem, calc(100% - var(--pad) - var(--pad)));
  max-width: 40rem;
  margin: 0 auto;
  padding: 3rem 0 5rem;
}
.article h1 { font-size: clamp(2.2rem, 4vw, 3.4rem); margin-bottom: 1rem; }
.article.prose { font-size: 1.08rem; }
.article h2,
.article h3,
.article h4 { margin: 2.4rem 0 0.85rem; overflow-wrap: anywhere; }
.article h2 { font-size: clamp(1.85rem, 3vw, 2.5rem); }
.article h3 { font-size: clamp(1.55rem, 2.4vw, 2rem); }
.article h4 { font-family: var(--display); font-size: 1.45rem; font-weight: 500; line-height: 1.22; }
.article h2:empty,
.article h3:empty,
.article h4:empty { display: none; }
.article > :first-child { margin-top: 0; }
.article p,
.article li,
.article a { overflow-wrap: anywhere; }
.article blockquote { margin: 2rem 0; padding: 1rem 0 1rem 1.25rem; border-left: 3px solid var(--ember); color: var(--slate); }
.article iframe,
.article video { max-width: 100%; }
.article table,
.article pre { display: block; max-width: 100%; overflow-x: auto; }

.article-hero__layout { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.article-hero__copy h1 { max-width: 14ch; font-size: clamp(2.4rem, 4.8vw, 4.8rem); }
.article-hero__media { aspect-ratio: 16 / 10; margin: 0; overflow: hidden; background: var(--navy); }
.article-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.insight-card { padding: 0; overflow: hidden; }
.insight-card__media { aspect-ratio: 16 / 9; margin: 0 0 1.15rem; overflow: hidden; background: var(--navy); }
.insight-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.insight-card:hover .insight-card__media img { transform: scale(1.025); }
.insight-card .meta-row,
.insight-card h3,
.insight-card p,
.insight-card .more { margin-left: 1.35rem; margin-right: 1.35rem; }
.insight-card p { margin-bottom: 0; }
.insight-card .more { margin-bottom: 1.35rem; }

/* ---------- Guardian Legacy ---------- */
.legacy-feature { padding: clamp(4.5rem, 8vw, 7rem) 0; overflow: hidden; background: #08172b; color: var(--white); }
.legacy-feature__inner { display: grid; grid-template-columns: minmax(19rem, 0.82fr) minmax(0, 1.18fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.legacy-feature__logo { width: min(23rem, 90%); height: auto; margin: 0 0 1.5rem; }
.legacy-feature h2 { max-width: 11ch; }
.legacy-feature__copy > p:not(.kicker) { max-width: 35rem; margin: 1.25rem 0 0; color: rgba(255,255,255,0.68); font-size: 1.05rem; }
.legacy-feature__visual { position: relative; min-height: 31rem; margin: 0; overflow: hidden; border-left: 1px solid rgba(209,170,78,0.42); }
.legacy-feature__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,23,43,0.62), transparent 45%), linear-gradient(0deg, rgba(8,23,43,0.78), transparent 50%); }
.legacy-feature__visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; filter: saturate(0.74) contrast(1.05); }
.legacy-feature__visual figcaption { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; padding-top: 1rem; border-top: 1px solid rgba(209,170,78,0.5); }
.legacy-feature__visual figcaption span { color: #d1aa4e; font-family: var(--mono); font-size: 0.62rem; text-transform: uppercase; }
.legacy-feature__visual figcaption strong { margin-top: 0.3rem; font-family: var(--display); font-size: 1.6rem; font-weight: 500; }

/* ---------- Form ---------- */
.form {
  display: grid;
  gap: 1rem;
  background: var(--white);
  color: var(--navy);
  border: 1px solid var(--rule);
  padding: 1.75rem;
}
.form label {
  display: grid;
  gap: 0.35rem;
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 600;
}
.form__required { color: var(--ember); }
.form input,
.form textarea,
.form select {
  border: 1px solid var(--rule);
  background: var(--paper);
  padding: 0.75rem 0.85rem;
  color: var(--navy);
  border-radius: 2px;
}
.form input::placeholder,
.form textarea::placeholder { color: #626d7d; opacity: 1; }
.form input:focus,
.form textarea:focus,
.form select:focus {
  border-color: var(--navy);
  outline: 2px solid rgba(12, 32, 61, 0.28);
  outline-offset: 1px;
}
.form-note {
  padding: 0.9rem 1rem;
  border: 1px solid var(--teal);
  background: rgba(80, 153, 154, 0.12);
  margin-bottom: 1rem;
}
.form-note--error { border-color: var(--ember); background: rgba(222, 72, 38, 0.08); }

.contact-hero {
  position: relative;
  min-height: clamp(38rem, 78vh, 52rem);
  display: grid;
  align-items: center;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
}
.contact-hero__media,
.contact-hero__veil,
.contact-hero__grid { position: absolute; inset: 0; width: 100%; height: 100%; }
.contact-hero__media { object-fit: cover; object-position: center; transform: scale(1.015); animation: hero-breathe 1.4s ease forwards; }
.contact-hero__veil {
  background:
    linear-gradient(90deg, rgba(5, 19, 37, 0.98) 0%, rgba(5, 19, 37, 0.86) 38%, rgba(5, 19, 37, 0.16) 66%, rgba(5, 19, 37, 0.08) 100%),
    linear-gradient(0deg, rgba(5, 19, 37, 0.68) 0%, transparent 48%);
}
.contact-hero__grid {
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(255,255,255,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 8rem 8rem;
  mask-image: linear-gradient(90deg, black, transparent 62%);
}
.contact-hero__content { position: relative; z-index: 1; padding-top: 5rem; padding-bottom: 5rem; }
.contact-hero h1 { max-width: 10.5ch; font-size: clamp(3.6rem, 7vw, 6.7rem); }
.contact-hero .lede { max-width: 39rem; margin-top: 1.5rem; color: rgba(255,255,255,0.82); font-size: clamp(1.2rem, 2vw, 1.5rem); }
.contact-hero__actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.contact-hero__phone { display: grid; color: var(--white); text-decoration: none; }
.contact-hero__phone span { color: rgba(255,255,255,0.55); font-family: var(--mono); font-size: 0.6rem; text-transform: uppercase; }
.contact-hero__phone strong { margin-top: 0.05rem; font-family: var(--display); font-size: 1.3rem; font-weight: 500; }
.contact-hero__phone:hover strong { color: var(--ember); }

.contact-router { scroll-margin-top: var(--header-h); padding: clamp(4.5rem, 8vw, 7rem) 0 0; background: var(--paper); }
.contact-router__heading { display: grid; grid-template-columns: minmax(14rem, 0.68fr) minmax(18rem, 1.32fr); gap: 1rem clamp(2rem, 7vw, 6rem); align-items: end; margin-bottom: 2.5rem; }
.contact-router__heading .kicker { grid-column: 1; }
.contact-router__heading h2 { grid-column: 1; max-width: 9ch; }
.contact-router__heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 33rem; margin: 0 0 0.5rem; color: var(--slate); font-size: 1.12rem; }
.contact-router__options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border: 1px solid var(--rule); border-bottom: 0; }
.contact-route { position: relative; min-height: 16rem; display: flex; flex-direction: column; padding: 1.25rem; overflow: hidden; cursor: pointer; border-right: 1px solid var(--rule); background: rgba(255,255,255,0.42); transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease; }
.contact-route:last-child { border-right: 0; }
.contact-route::after { content: ""; position: absolute; inset: auto 0 0; height: 4px; background: var(--ember); transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease; }
.contact-route input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.contact-route > span { color: var(--ember); font-family: var(--mono); font-size: 0.66rem; }
.contact-route > strong { max-width: 11rem; margin-top: auto; font-family: var(--display); font-size: 1.48rem; font-weight: 500; line-height: 1.08; }
.contact-route > small { max-width: 14rem; margin-top: 0.65rem; color: var(--slate); font-size: 0.78rem; line-height: 1.45; }
.contact-route > b { position: absolute; right: 1.25rem; top: 1rem; color: var(--slate); font-size: 1rem; font-weight: 400; transition: transform 0.2s ease; }
.contact-route:hover,
.contact-route:focus-within { background: var(--white); transform: translateY(-0.25rem); }
.contact-route:hover > b { color: var(--ember); transform: translate(0.2rem, 0.2rem); }
.contact-route.is-selected { background: var(--navy); color: var(--white); }
.contact-route.is-selected::after { transform: scaleX(1); }
.contact-route.is-selected > small { color: rgba(255,255,255,0.65); }
.contact-route.is-selected > b { color: var(--ember); }
.contact-route input:focus-visible + span { outline: 2px solid var(--ember); outline-offset: 0.4rem; }
.contact-router__continue { min-height: 5rem; display: flex; justify-content: space-between; align-items: center; padding: 0 1.5rem; color: var(--navy); text-decoration: none; border: 1px solid var(--rule); background: var(--paper-2); }
.contact-router__continue span { font-weight: 600; }
.contact-router__continue b { color: var(--ember); font-size: 1.25rem; font-weight: 400; transition: transform 0.2s ease; }
.contact-router__continue:hover b { transform: translateY(0.25rem); }

.contact-main { scroll-margin-top: var(--header-h); padding: clamp(4.5rem, 8vw, 7rem) 0; background: var(--navy); color: var(--white); }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: stretch;
}
.contact-conversation { display: flex; flex-direction: column; padding-top: 1rem; }
.contact-conversation h2 { max-width: 9ch; font-size: clamp(2.7rem, 5vw, 4.4rem); color: var(--white); }
.contact-conversation > p:not(.kicker) { max-width: 28rem; margin: 1.25rem 0 0; color: rgba(255,255,255,0.68); font-size: 1.08rem; }
.contact-conversation__signal { display: grid; grid-template-columns: repeat(5, 1fr); height: 0.42rem; margin-top: 2rem; }
.contact-conversation__signal span:nth-child(1) { background: var(--navy-2); }
.contact-conversation__signal span:nth-child(2) { background: var(--ember); }
.contact-conversation__signal span:nth-child(3) { background: var(--teal); }
.contact-conversation__signal span:nth-child(4) { background: var(--slate); }
.contact-conversation__signal span:nth-child(5) { background: var(--white); }
.contact-conversation__brief { margin-top: 3rem; border-top: 1px solid var(--rule-light); }
.contact-conversation__brief > p { margin: 0; padding: 1rem 0; color: rgba(255,255,255,0.45); font-family: var(--mono); font-size: 0.62rem; text-transform: uppercase; border-bottom: 1px solid var(--rule-light); }
.contact-conversation__brief > span { display: flex; align-items: center; gap: 0.9rem; padding: 0.75rem 0; color: rgba(255,255,255,0.78); border-bottom: 1px solid var(--rule-light); font-size: 0.9rem; }
.contact-conversation__brief b { color: var(--ember); font-family: var(--mono); font-size: 0.57rem; font-weight: 400; }
.contact-conversation__direct { margin-top: auto; padding-top: 3rem; }
.contact-conversation__direct > p { margin: 0 0 0.5rem; color: rgba(255,255,255,0.45); font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; }
.contact-conversation__direct a { display: grid; padding: 0.85rem 0; color: var(--white); text-decoration: none; border-top: 1px solid var(--rule-light); }
.contact-conversation__direct a span { color: rgba(255,255,255,0.46); font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; }
.contact-conversation__direct a strong { margin-top: 0.12rem; overflow-wrap: anywhere; font-size: 1rem; font-weight: 500; }
.contact-conversation__direct a:hover strong { color: var(--ember); }

.contact-form-panel { background: var(--white); color: var(--navy); box-shadow: 0 30px 70px rgba(0,0,0,0.2); }
.contact-form-panel__intro { max-width: none; margin: 0; padding: clamp(1.75rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem) 2rem; border-bottom: 1px solid var(--rule); }
.contact-form-panel__intro h2 { max-width: 13ch; font-size: clamp(2.3rem, 4vw, 3.5rem); }
.contact-form-panel__intro > p:last-child { max-width: 37rem; margin: 1rem 0 0; color: var(--slate); font-size: 1.05rem; }
.contact-form-panel .form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 2rem clamp(1.5rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem);
  border: 0;
  box-shadow: none;
}
.contact-form-panel .form label { gap: 0.55rem; font-size: 1rem; }
.contact-form-panel .form__section-label { grid-column: 1 / -1; display: flex; align-items: center; gap: 0.75rem; margin: 0.35rem 0 0; color: var(--navy); font-family: var(--mono); font-size: 0.68rem; text-transform: uppercase; }
.contact-form-panel .form__section-label:first-of-type { margin-top: 0; }
.contact-form-panel .form__section-label span { color: var(--ember); }
.contact-form-panel .form__section-label::after { content: ""; height: 1px; flex: 1; background: var(--rule); }
.contact-form-panel .form label:nth-of-type(5),
.contact-form-panel .form .form-note,
.contact-form-panel .form .btn { grid-column: 1 / -1; }
.contact-form-panel .form input,
.contact-form-panel .form textarea { padding: 1rem; background: var(--paper); border-color: rgba(12,32,61,0.18); font-size: 1.02rem; }
.contact-form-panel .form textarea { min-height: 11rem; resize: vertical; }
.contact-form-panel .form .btn { min-height: 3.7rem; font-size: 1rem; }

.contact-process { padding: clamp(4.5rem, 8vw, 7rem) 0; background: var(--paper-2); }
.contact-process__heading { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(15rem, 0.6fr); gap: 1rem 4rem; align-items: end; }
.contact-process__heading .kicker { grid-column: 1 / -1; }
.contact-process__heading h2 { max-width: 11ch; }
.contact-process__heading address { justify-self: end; color: var(--slate); font-style: normal; font-size: 0.94rem; line-height: 1.65; }
.contact-process__steps { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid var(--rule); }
.contact-process__steps article { position: relative; min-height: 17rem; padding: 1.5rem 2rem 1.5rem 0; overflow: hidden; border-right: 1px solid var(--rule); }
.contact-process__steps article + article { padding-left: 2rem; }
.contact-process__steps article:last-child { border-right: 0; }
.contact-process__steps article::after { content: attr(data-index); position: absolute; right: 1rem; bottom: -0.18em; color: var(--navy); font-family: var(--display); font-size: 8rem; opacity: 0.035; }
.contact-process__steps span { color: var(--ember); font-family: var(--mono); font-size: 0.68rem; }
.contact-process__steps h3 { max-width: 12ch; margin-top: 4rem; }
.contact-process__steps p { max-width: 20rem; margin: 0.8rem 0 0; color: var(--slate); font-size: 0.94rem; }

body.page-template-template-contact #hubspot-messages-iframe-container { display: none !important; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--navy);
  color: var(--paper);
  padding: 3.5rem 0 1.75rem;
  margin-top: auto;
}
.site-footer a { text-decoration: none; color: rgba(246,243,238,0.82); }
.site-footer a:hover { color: var(--white); }
.footer-top {
  display: grid;
  grid-template-columns: 1.3fr 2fr 1fr;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--rule-light);
}
.footer-brand p {
  color: rgba(246,243,238,0.62);
  max-width: 22rem;
  font-size: 0.95rem;
}
.footer-logo { width: min(220px, 100%); height: auto; margin-bottom: 1rem; }
.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) max-content;
  gap: 1rem;
}
.footer-nav a[href^="mailto:"] { white-space: nowrap; }
.footer-nav h4 {
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 0.8rem;
  color: #f0b4a4;
}
.footer-nav ul { list-style: none; margin: 0; padding: 0; }
.footer-nav li { margin: 0.35rem 0; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.4rem;
  font-size: 0.82rem;
  color: rgba(246,243,238,0.55);
}

@media (min-width: 981px) and (max-width: 1199px) {
  .footer-top { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .footer-nav { grid-column: 1 / -1; grid-row: 2; }
}

/* ---------- Search modal ---------- */
.search-modal {
  position: fixed;
  inset: 0;
  background: rgba(12, 32, 61, 0.55);
  display: none;
  z-index: 80;
  padding: 12vh var(--pad) 0;
  overflow-y: auto;
}
.search-modal.is-open { display: block; }
.search-modal form {
  width: min(720px, 100%);
  min-width: 0;
  margin: 0 auto;
  background: var(--paper);
  padding: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.search-modal input[type="search"] {
  width: 100%;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--navy);
  background: transparent;
  font-family: var(--display);
  font-size: 1.8rem;
  padding: 0.4rem 0;
  color: var(--navy);
}
.search-modal input:focus { outline: none; }
.search-modal__actions { display: flex; justify-content: flex-end; gap: 0.5rem; min-width: 0; }
.search-autocomplete { min-width: 0; position: relative; color: var(--navy); }
.search-autocomplete input[type="search"] { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid var(--navy); background: transparent; color: var(--navy); font-family: var(--display); font-size: 1.8rem; padding: 0.4rem 0; }
.search-autocomplete input[type="search"]:focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
.search-suggestions { background: var(--white); border: 1px solid var(--rule); margin-top: 0.75rem; text-align: left; }
.search-suggestions[hidden] { display: none; }
.search-suggestions__status { margin: 0; padding: 0.75rem 1rem; color: var(--slate); font-size: 0.8rem; line-height: 1.5; }
.search-suggestions__list { list-style: none; padding: 0; margin: 0; max-height: 40vh; overflow-y: auto; overscroll-behavior: contain; }
.search-suggestions__list a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3rem; padding: 0.8rem 1rem; border-top: 1px solid var(--rule); text-decoration: none; color: var(--navy); font-size: 1rem; line-height: 1.4; }
.search-suggestions__list a span { overflow-wrap: anywhere; }
.search-suggestions__list a small { flex-shrink: 0; color: var(--slate); font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; }
.search-suggestions__list a:hover, .search-suggestions__list a[aria-selected="true"] { background: #eaf2f2; box-shadow: inset 3px 0 var(--teal); }
.search-suggestions__all { display: flex; justify-content: space-between; padding: 0.85rem 1rem; border-top: 1px solid var(--rule); color: var(--navy); font-size: 0.9rem; text-underline-offset: 0.2em; }
.search-suggestions__all:focus-visible { outline: 2px solid var(--teal); outline-offset: -3px; }
.search-page-form { margin-top: 1.5rem; max-width: 40rem; }
.search-page-form > .btn { margin-top: 1rem; }
body.is-search-open { overflow: hidden; }
body.is-search-open #hubspot-messages-iframe-container { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

.search-filters { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1rem 0 1.5rem; }
.search-filters a {
  text-decoration: none;
  border: 1px solid var(--rule);
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.82rem;
}
.search-filters a.is-active { background: var(--navy); color: var(--white); }

.result { padding: 1.2rem 0; border-top: 1px solid var(--rule); text-decoration: none; display: block; }
.result h2 { font-size: 1.5rem; }

/* ---------- Product ---------- */
.product-hero { position: relative; overflow: hidden; }
.product-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px); background-size: 4rem 4rem; pointer-events: none; }
.product-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr 0.85fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); min-height: 31rem; }
.product-hero__copy { position: relative; z-index: 1; }
.product-hero__visual { position: relative; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border: 1px solid var(--rule-light); background: #07172c; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.22); }
.product-hero__visual > img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.product-hero__visual:hover > img { transform: scale(1.025); }
.product-hero__visual-veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 23, 44, 0.92) 0%, rgba(7, 23, 44, 0.08) 68%); }
.product-hero__visual figcaption { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: 1rem; color: var(--white); }
.product-hero__visual figcaption > span { display: grid; }
.product-hero__visual figcaption small { color: rgba(255, 255, 255, 0.58); font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; }
.product-hero__visual figcaption strong { margin-top: 0.18rem; font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.product-signal { position: relative; width: min(25rem, 90%); aspect-ratio: 1; justify-self: center; display: grid; place-items: center; }
.product-signal__orbit { position: absolute; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50%; }
.product-signal__orbit--outer { inset: 0; }
.product-signal__orbit--middle { inset: 17%; border-color: rgba(80, 153, 154, 0.65); }
.product-signal__orbit--inner { inset: 35%; border-color: rgba(222, 72, 38, 0.85); background: rgba(222, 72, 38, 0.08); }
.product-signal strong { position: relative; z-index: 2; color: var(--white); font-family: var(--display); font-size: clamp(1.3rem, 3vw, 2.2rem); font-weight: 500; }
.product-signal i { position: absolute; width: 0.52rem; height: 0.52rem; border-radius: 50%; background: #ffc0ad; box-shadow: 0 0 0 7px rgba(255, 192, 173, 0.1); }
.product-signal i:nth-of-type(1) { top: 7%; left: 48%; }
.product-signal i:nth-of-type(2) { right: 10%; top: 37%; background: var(--teal); }
.product-signal i:nth-of-type(3) { bottom: 15%; left: 23%; }
.product-signal i:nth-of-type(4) { top: 29%; left: 15%; background: var(--teal); }
.product-signal__orbit--middle { animation: signal-pulse 5s ease-in-out infinite alternate; }
@keyframes signal-pulse { to { transform: scale(1.05); opacity: 0.55; } }

.product-nav { position: sticky; top: var(--header-h); z-index: 30; border-bottom: 1px solid var(--rule); background: rgba(246, 243, 238, 0.96); backdrop-filter: blur(14px); }
.product-nav__inner { min-height: 3.6rem; display: flex; align-items: center; gap: 1.5rem; }
.product-nav__inner span { margin-right: auto; font-family: var(--mono); font-size: 0.68rem; text-transform: uppercase; color: var(--ember); }
.product-nav__inner a { text-decoration: none; font-size: 0.82rem; color: var(--slate); }
.product-nav__inner a:hover { color: var(--navy); }
.product-overview .prose { font-size: 1.12rem; }
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}
.stat {
  border-top: 2px solid var(--ember);
  padding-top: 0.85rem;
}
.stat strong { display: block; font-family: var(--display); font-size: 1.6rem; }
.stat span { color: var(--slate); font-size: 0.9rem; }

.product-steps { margin-top: 2.5rem; border-top: 1px solid var(--rule); }
.product-steps article { display: grid; grid-template-columns: 4rem minmax(12rem, 0.7fr) minmax(0, 1.3fr); gap: clamp(1rem, 4vw, 4rem); align-items: start; padding: 1.75rem 0; border-bottom: 1px solid var(--rule); }
.product-steps article > span { padding-top: 0.25rem; font-family: var(--mono); color: var(--ember); font-size: 0.7rem; }
.product-steps h3 { font-size: 1.4rem; }
.product-steps p { margin: 0; color: var(--slate); }
.product-aside { border-top: 1px solid var(--rule); }

.flag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(222, 72, 38, 0.1);
  color: var(--ember-deep);
  padding: 0.25rem 0.5rem;
  margin-bottom: 1rem;
}

.draft-note {
  font-size: 0.85rem;
  color: var(--slate);
  border: 1px dashed var(--slate);
  padding: 0.75rem 1rem;
  margin-top: 1rem;
}

/* ---------- Misc ---------- */
.site { min-height: 100vh; display: flex; flex-direction: column; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

@media (max-width: 980px) {
  .section--split,
  .card-grid,
  .leader-grid,
  .contact-grid,
  .footer-top,
  .stat-row { grid-template-columns: 1fr; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .contact-main { background: var(--navy); }
  .contact-layout { grid-template-columns: 1fr; gap: 4rem; }
  .contact-router__options { grid-template-columns: 1fr 1fr; }
  .contact-route { min-height: 13rem; border-bottom: 1px solid var(--rule); }
  .contact-route:nth-child(even) { border-right: 0; }
  .contact-conversation { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
  .contact-conversation .kicker,
  .contact-conversation h2,
  .contact-conversation > p:not(.kicker),
  .contact-conversation__signal,
  .contact-conversation__brief { grid-column: 1; }
  .contact-conversation__direct { grid-column: 2; grid-row: 1 / span 5; padding-top: 0; }
  .contact-process__steps article { min-height: 15rem; }
  .legacy-feature__inner { grid-template-columns: 1fr; }
  .legacy-feature__visual { min-height: 27rem; }
  body.is-nav-locked { overflow: hidden; }
  body.is-nav-locked #hubspot-messages-iframe-container { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
  .nav-toggle { position: relative; display: flex; margin-left: auto; z-index: 2; }
  .is-nav-open .nav-toggle span { position: absolute; left: 11px; top: 19px; }
  .is-nav-open .nav-toggle span:nth-child(1) { transform: rotate(45deg); }
  .is-nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  .is-nav-open .nav-toggle span:nth-child(3) { transform: rotate(-45deg); }
  .nav-primary {
    position: absolute;
    inset: 100% 0 auto;
    height: calc(100svh - var(--header-h));
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    margin: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    align-self: auto;
    background: var(--paper);
    color: var(--navy);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    clip-path: inset(0 0 0 100%);
    transition: clip-path 0.28s ease, opacity 0.22s ease, visibility 0s linear 0.28s;
  }
  .is-nav-open .nav-primary {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    clip-path: inset(0);
    transition-delay: 0s;
  }
  .mobile-nav__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: 1.2rem var(--pad);
    color: var(--navy);
    border-bottom: 1px solid var(--rule);
  }
  .mobile-nav__head span { font-family: var(--mono); font-size: 0.7rem; text-transform: uppercase; color: var(--ember); }
  .mobile-nav__head small { color: var(--slate); font-size: 0.82rem; }
  .nav-menu { flex-direction: column; align-items: stretch; width: 100%; height: auto; padding: 0 var(--pad); }
  .nav-item { display: block; width: 100%; height: auto; border-bottom: 1px solid var(--rule); }
  .nav-link-row { justify-content: space-between; height: auto; }
  .nav-link { display: block; padding: 1.1rem 0; color: var(--navy); font-family: var(--display); font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
  .nav-link:hover { color: var(--ember); }
  .nav-link::after { display: none; }
  .mega-toggle { width: 3.25rem; height: 3.25rem; margin: 0 -0.65rem 0 0; color: var(--navy); border-left: 1px solid var(--rule); }
  .mega-toggle svg { width: 18px; height: 18px; }
  .mega-menu {
    display: none;
    position: static;
    max-height: none;
    overflow: visible;
    padding: 0;
    border: 0;
    box-shadow: none;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    background: transparent;
    transition: none;
  }
  .nav-item--mega.is-mega-open .mega-menu {
    display: block;
    max-height: none;
    padding: 0.35rem 0 1.4rem;
    border-top: 1px solid var(--rule);
  }
  .mega-menu .wrap { width: 100%; }
  .mega-menu__inner { display: block; }
  .mega-menu__lead { display: none; }
  .mega-menu__catalog { grid-template-columns: 1fr 1fr; gap: 0; background: transparent; }
  .mega-menu__catalog--compact .mega-zone { display: block; padding: 0.8rem 1rem 0.9rem 0; border-left: 0; border-bottom: 1px solid var(--rule); background: transparent; }
  .mega-menu__catalog--compact .mega-zone:nth-child(even) { padding-right: 0; padding-left: 1rem; border-left: 1px solid var(--rule); }
  .mega-menu__catalog--compact .mega-zone::after,
  .mega-zone__art,
  .mega-zone__statement,
  .mega-zone__capabilities { display: none; }
  .mega-menu__catalog--compact .mega-zone__heading { min-height: 0; margin: 0 0 0.35rem; padding: 0 0 0.55rem !important; border-bottom-width: 2px !important; }
  .mega-zone > .mega-zone__heading > strong { font-size: 1.2rem; }
  .mega-menu__catalog--compact .mega-zone > a:not(.mega-zone__heading) { padding: 0.42rem 0 0.42rem 0.65rem; }
  .mega-menu__catalog--compact .mega-zone > a > strong { font-size: 0.88rem; }
  .mega-menu__legacy-mobile { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--rule); }
  .mega-menu__legacy-mobile img { width: 9rem; height: auto; }
  .mega-menu__legacy-mobile > span { color: var(--slate); font-size: 0.76rem; }
  .mega-menu__legacy-mobile b { color: #967223; font-weight: 400; }
	.industry-menu__grid { grid-template-columns: 1fr 1fr; }
	.industry-menu__link { min-height: 0; padding: 1rem; border-bottom: 1px solid var(--rule); }
  .industry-menu__link:nth-child(odd) { border-left: 0; }
  .industry-menu__link strong { margin-top: 1.35rem; font-size: 1.18rem; }
  .industry-menu__link small,
  .industry-menu__link::after { display: none; }
  .industry-menu__focus { margin-top: 1rem; }
	.about-menu__grid { grid-template-columns: 1fr 1fr; }
	.about-menu__grid > a { min-height: 0; padding: 1rem; border-bottom: 1px solid var(--rule); }
  .about-menu__grid > a:nth-child(odd) { border-left: 0; }
  .about-menu__grid > a > strong { margin-top: 1.4rem; font-size: 1.15rem; }
  .about-menu__grid > a > small { font-size: 0.76rem; }
  .about-menu__visual,
  .about-menu__portraits,
  .about-menu__arrow { display: none; }
  .insights-menu__content { grid-template-columns: 1fr; }
  .insights-menu__latest { grid-template-columns: 1fr; }
  .insights-menu__story { min-height: 0; padding: 0.9rem 0; border-left: 0; border-bottom: 1px solid var(--rule); }
  .insights-menu__story:nth-child(n+3) { display: none; }
  .insights-menu__thumb,
  .insights-menu__story small { display: none; }
  .insights-menu__story strong { margin-top: 0.35rem; font-size: 1.12rem; }
  .insights-menu__topics { padding: 1rem 0 0; border-left: 0; }
  .insights-menu__topics a { padding: 0.55rem 0; font-size: 0.84rem; }
  .mobile-nav__footer { position: sticky; bottom: 0; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-top: auto; padding: 1.25rem var(--pad) 1.75rem; background: var(--navy); color: var(--white); }
  .mobile-nav__contact { position: relative; display: grid; padding-right: 2rem; color: var(--white); text-decoration: none; }
  .mobile-nav__contact span { color: rgba(255,255,255,0.58); font-family: var(--mono); font-size: 0.6rem; text-transform: uppercase; }
  .mobile-nav__contact strong { margin-top: 0.1rem; font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
  .mobile-nav__contact b { position: absolute; right: 0; top: 50%; color: var(--ember); font-size: 1.2rem; transform: translateY(-50%); }
  .mobile-nav__phone { color: var(--white); font-size: 0.78rem; text-decoration: none; }
  .header-tools .btn {
    padding: 0.55rem 0.9rem;
    font-size: 0.78rem;
  }
  .zone-experience__intro,
  .zone-panel.is-open,
  .about-aspen__content,
  .product-hero__layout,
  .article-hero__layout { grid-template-columns: 1fr; }
  .industry-section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .zone-map { grid-template-columns: repeat(5, minmax(9rem, 1fr)); overflow-x: auto; }
  .zone-map__segment { min-height: 10.5rem; }
  .product-signal { display: none; }
  .product-hero__layout { min-height: 25rem; }
  .product-steps article { grid-template-columns: 3rem 0.8fr 1.2fr; }
  .difference-heading,
  .difference-grid,
  .leadership-grid { grid-template-columns: 1fr; }
  .difference-heading { gap: 1.5rem; }
  .difference-grid article { min-height: 0; padding: 1.5rem 0; }
	.difference-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule-light); }
	.difference-grid h3 { margin-top: 1.5rem; }
	.home-insight { flex-basis: calc((100% - 1rem) / 2); }
	.about-operating,
	.leadership-accountabilities { grid-template-columns: 1fr; }
	.about-operating article,
	.leadership-accountabilities article { min-height: 0; padding: 1.4rem 0; }
	.about-operating article + article,
	.leadership-accountabilities article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
	.about-operating h3,
	.leadership-accountabilities h3 { margin-top: 1.2rem; }
	.principles-grid { grid-template-columns: 1fr 1fr; }
	.principles-grid article { min-height: 16rem; }
	.leadership-close__inner { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .footer-nav { grid-template-columns: minmax(0, 1fr); }
  .logo img { width: 150px; }
  .site-header__inner { gap: 0.65rem; }
  .header-tools { gap: 0.25rem; margin-left: auto; }
  .header-tools .btn { display: none; }
  .search-modal { padding: calc(var(--header-h) + 1rem) 1rem 1rem; }
  .search-modal form { width: 100%; padding: 1.25rem; gap: 1rem; }
  .search-modal input[type="search"] { font-size: 1.55rem; }
  .search-modal__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
  .search-modal__actions .btn { width: 100%; min-width: 0; padding: 0.75rem 0.85rem; }
  .article-hero { padding: 3rem 0 2.5rem; }
  .article-hero__layout { gap: 1.75rem; }
  .article-hero__copy h1 { max-width: none; font-size: clamp(2.35rem, 11vw, 3.1rem); line-height: 1.04; }
  .article-hero__media { aspect-ratio: 4 / 3; }
  .article { padding: 2.5rem 0 4rem; font-size: 1rem; line-height: 1.7; }
  .article h2,
  .article h3,
  .article h4 { margin-top: 2rem; }
  .article h4 { font-size: 1.35rem; }
  .article [style*="padding-left"] { margin-left: 0 !important; padding-left: 1rem !important; border-left: 2px solid var(--rule); }
  body.single-insight #hubspot-messages-iframe-container { display: none !important; }
  .mobile-nav__head { align-items: flex-start; flex-direction: column; gap: 0.15rem; padding-top: 1rem; padding-bottom: 1rem; }
  .nav-link { font-size: 1.3rem; }
  .mobile-nav__footer { grid-template-columns: 1fr; gap: 0.65rem; }
  .mobile-nav__phone { color: rgba(255,255,255,0.72); }
  .mega-menu__catalog { grid-template-columns: 1fr; }
  .mega-zone { padding: 0.75rem 0.8rem 1rem; border-left: 0; }
  .mega-menu__catalog--compact .mega-zone,
  .mega-menu__catalog--compact .mega-zone:nth-child(even) { padding: 0.75rem 0; border-left: 0; }
  .mega-menu__legacy-mobile { align-items: flex-start; flex-direction: column; }
  .mega-menu__assurance .wrap { grid-template-columns: 1fr; }
  .mega-menu__assurance span { min-height: 2.8rem; border-right: 1px solid var(--rule-light); border-bottom: 1px solid var(--rule-light); }
	.industry-menu__grid { grid-template-columns: 1fr; }
	.about-menu__grid { grid-template-columns: 1fr; }
	.about-menu__grid > a { padding-right: 0; padding-left: 0; border-left: 0; }
  .industry-menu__link { padding-right: 0; padding-left: 0; border-left: 0; }
  .contact-hero { min-height: 37rem; }
  .contact-hero__media { object-position: 72% center; }
  .contact-hero__veil { background: linear-gradient(0deg, rgba(5,19,37,0.98) 0%, rgba(5,19,37,0.84) 64%, rgba(5,19,37,0.28) 100%); }
  .contact-hero__grid { background-size: 5rem 5rem; mask-image: linear-gradient(0deg, black, transparent 70%); }
  .contact-hero__content { align-self: end; padding-top: 8rem; padding-bottom: 2.8rem; }
  .contact-hero h1 { max-width: 10ch; font-size: clamp(2.75rem, 12vw, 3.25rem); }
  .contact-hero .lede { font-size: 1rem; line-height: 1.5; }
  .contact-hero__actions { align-items: stretch; flex-direction: column; gap: 0.9rem; }
  .contact-hero__actions .btn { width: 100%; }
  .contact-hero__phone { grid-template-columns: auto 1fr; gap: 0.75rem; align-items: baseline; padding-left: 0.2rem; }
  .contact-router { padding-top: 4rem; }
  .contact-router__heading { grid-template-columns: 1fr; gap: 0.25rem; }
  .contact-router__heading .kicker,
  .contact-router__heading h2,
  .contact-router__heading > p:last-child { grid-column: 1; grid-row: auto; }
  .contact-router__heading > p:last-child { margin-top: 1rem; font-size: 1rem; }
  .contact-router__options { grid-template-columns: 1fr; }
  .contact-route,
  .contact-route:nth-child(even) { min-height: 9.5rem; padding: 1rem; border-right: 0; border-bottom: 1px solid var(--rule); transform: none; }
  .contact-route > strong { max-width: 15rem; margin-top: 2rem; font-size: 1.3rem; }
  .contact-route > small { max-width: 18rem; }
  .contact-router__continue { min-height: 4.25rem; padding: 0 1rem; }
  .contact-main { padding: 4rem 0; }
  .contact-layout { gap: 3rem; }
  .contact-conversation { display: flex; }
  .contact-conversation__direct { padding-top: 2.5rem; }
  .contact-conversation h2 { font-size: 2.75rem; }
  .contact-form-panel { margin-inline: calc(0rem - var(--pad)); box-shadow: none; }
  .contact-form-panel__intro { padding: 2rem var(--pad) 1.5rem; }
  .contact-form-panel__intro > p:last-child { font-size: 1rem; }
  .contact-form-panel .form { grid-template-columns: 1fr; padding: 1.5rem var(--pad) 2rem; }
  .contact-form-panel .form label,
  .contact-form-panel .form label:nth-of-type(5),
  .contact-form-panel .form .form-note,
  .contact-form-panel .form .btn { grid-column: 1; }
  .contact-form-panel .form input,
  .contact-form-panel .form textarea { font-size: 1rem; }
  .contact-process__heading { grid-template-columns: 1fr; }
  .contact-process__heading address { justify-self: start; margin-top: 1rem; }
  .contact-process__steps { grid-template-columns: 1fr; }
  .contact-process__steps article,
  .contact-process__steps article + article { min-height: 0; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--rule); }
  .contact-process__steps h3 { margin-top: 2rem; }
  .legacy-feature__logo { width: min(19rem, 92%); }
  .legacy-feature__visual { min-height: 22rem; margin-inline: calc(0rem - var(--pad)); border-left: 0; }
  .product-hero__legacy-logo { width: 100%; }
  .hero-stage { height: calc(100svh - var(--header-h) - 1rem); min-height: 560px; max-height: 760px; }
  .hero-stage__content { justify-content: flex-end; padding-bottom: 3.5rem; }
  .hero-stage__media { object-position: 68% center; }
  .hero-stage__veil { background: linear-gradient(0deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.83) 62%, rgba(7, 23, 44, 0.15) 100%); }
  .hero-stage__grid { display: none; }
  .hero-stage h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
  .hero-stage .lede { font-size: 1rem; line-height: 1.45; }
  .hero-stage__chapter { margin-bottom: 0.75rem; }
	.proof-grid { grid-template-columns: 1fr; }
	.proof-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
	.home-insights__header { align-items: flex-start; flex-direction: column; }
	.home-insights__actions { width: 100%; justify-content: space-between; }
	.home-insight { flex-basis: 88%; }
	.home-insight__body { min-height: 13rem; }
	.zone-preview { height: 38rem; min-height: 0; }
	.zone-preview__item.is-active { flex-grow: 3.7; }
	.zone-preview__detail { grid-template-columns: 1fr; right: 1rem; left: 1rem; }
	.zone-preview__detail p { font-size: 0.9rem; }
	.zone-preview__detail > span { font-size: 0.8rem; }
	.zone-preview__detail a { font-size: 0.68rem; }
	.zone-preview__detail a { justify-self: start; margin-top: 0.15rem; }
	.about-aspen { min-height: 900px; }
	.about-aspen > img { object-position: 63% center; }
	.about-hero { min-height: 700px; }
	.about-hero__media { object-position: 68% center; }
	.about-hero__veil { background: linear-gradient(0deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.87) 58%, rgba(7, 23, 44, 0.34) 100%); }
	.about-hero h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
	.principles-grid { grid-template-columns: 1fr; }
	.principles-grid article { min-height: 0; padding: 1.4rem 0; }
	.principles-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
	.principles-grid h3 { margin-top: 1.2rem; }
	.leaders-hero { min-height: 700px; }
	.leaders-hero > img { object-position: 67% center; }
	.leaders-hero__veil { background: linear-gradient(0deg, rgba(7, 23, 44, 0.98) 0%, rgba(7, 23, 44, 0.88) 62%, rgba(7, 23, 44, 0.18) 100%); }
	.leaders-hero h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
	.leaders-signal .wrap { grid-template-columns: 1fr 1fr; }
	.leaders-signal span { min-height: 3.7rem; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
  .zone-direction span { max-width: 7rem; }
  .zone-panel__intro { grid-template-columns: 2rem 1fr; }
  .tabs { grid-template-columns: 1fr; }
  .tab { min-height: auto; border-right: 0; border-bottom: 1px solid var(--rule); }
  .tab:last-child { border-bottom: 0; }
  .product-nav__inner { gap: 1rem; overflow-x: auto; }
  .product-nav__inner span { display: none; }
  .product-nav__inner a { flex: 0 0 auto; }
  .product-steps article { grid-template-columns: 2rem 1fr; gap: 0.75rem 1rem; }
  .product-steps article p { grid-column: 2; }
  .leader { grid-template-columns: 7.5rem 1fr; }
  .industry-pressures { grid-template-columns: 1fr; }
  .industry-pressures article { min-height: 0; padding: 1.25rem 0; }
  .industry-pressures article:nth-child(even) { padding-left: 0; border-left: 0; }
  .industry-zone-list article { grid-template-columns: 2rem 1fr; gap: 0.5rem 1rem; }
  .industry-zone-list p { grid-column: 2; }
  .aspen-manifesto { min-height: 600px; }
  .aspen-manifesto > img { object-position: 64% center; }
  .zone-landscape { aspect-ratio: 4 / 3; }
  .zone-landscape img { object-position: 68% center; }
  .zone-landscape figcaption { align-items: flex-start; flex-direction: column; }
  .signal-strip__inner { grid-template-columns: 1fr 1fr; }
  .signal-strip span { min-height: 3.7rem; padding: 0.6rem 0.7rem; font-size: 0.72rem; }
  .editorial-intro__title { position: static; }
  .zone-intro { align-items: flex-start; flex-direction: column; }
  .leadership-points article { grid-template-columns: 1fr; }
  .leadership-points span { grid-row: auto; margin-bottom: 0.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-stage__media,
  .hero-stage__chapter,
  .hero-stage h1,
  .hero-stage .lede,
  .hero-stage .btn-row { animation: none; opacity: 1; transform: none; }
  .zone-panel.is-open,
  .tab-panel.is-active,
  .product-signal__orbit--middle { animation: none; }
  .zone-preview__item,
  .zone-preview__item img,
  .zone-preview__detail { transition: none; }
}

/* Executive-first ZoneDefense and complete source documents. */
.solutions-hero h1 { max-width: none; }
.solutions-hero__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; max-width: 75rem; margin-top: 2.5rem; }
.solutions-hero__copy p { margin: 0; }
.zone-section { padding-top: 1.5rem; }
.zone-selector-hint { display:flex; justify-content:space-between; margin:2.5rem 0 1rem; font-family:var(--mono); font-size:.72rem; text-transform:uppercase; color:var(--slate); }
.zone-map { grid-template-columns:repeat(6,minmax(0,1fr)); gap:.5rem; border:0; background:transparent; }
.zone-map__segment { min-height:15rem; padding:1.25rem; border:1px solid var(--rule); border-radius:2px; background:var(--white); }
.zone-map__segment strong { font-size:clamp(1.15rem,1.5vw,1.5rem); }
.zone-map__segment small { opacity:1; min-height:3em; }
.zone-map__segment .zone-map__art { opacity:.10; }
.zone-map__segment[data-tone="detect"] { --zone-color:#285d68; }
.zone-map__segment::before { height:3px; }
.zone-map__segment.is-active::before { height:100%; }
.zone-map__segment:hover:not(.is-active)::before { height:3px; }
.zone-map__segment:hover:not(.is-active) { color:var(--navy); border-color:var(--navy); }
.zone-map__segment.is-active { box-shadow:0 10px 25px rgba(7,23,44,.12); }
.zone-map__state { display:flex; justify-content:space-between; margin-top:1.25rem; font-family:var(--mono); font-size:.6rem; text-transform:uppercase; }
.zone-map__state b { font-size:1rem; }
.zone-panel, .zone-panel.is-open { padding:0; background:transparent; color:var(--navy); grid-template-columns:1fr; gap:0; margin-top:1.25rem; }
.zone-panel[hidden] { display:none; }
.zone-story { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); align-items:center; gap:3rem; padding:clamp(1.5rem,4vw,3.5rem); background:var(--navy); color:var(--paper); }
.zone-story h3 { font-size:clamp(2rem,3.5vw,3.2rem); max-width:20ch; line-height:1.12; margin-bottom:1.5rem; }
.zone-story .kicker { color:#ffc0ad; }
.zone-story__rationale { color:#dedfe3; font-size:1.08rem; line-height:1.8; max-width:57ch; }
.zone-story__link { display:inline-flex; gap:2rem; color:var(--paper); font-size:.85rem; margin-top:1rem; text-underline-offset:6px; }
.zone-story__visual { position:relative; margin:0; aspect-ratio:1; overflow:hidden; border:1px solid var(--rule-light); }
.zone-story__visual img { width:100%; height:100%; object-fit:cover; }
.zone-story__visual figcaption { position:absolute; bottom:0; left:0; right:0; padding:1rem 1.25rem; font-family:var(--display); font-size:1.5rem; background:linear-gradient(transparent,rgba(7,23,44,.9)); }
.zone-services { background:#eae7e1; padding:clamp(1.5rem,3vw,2.5rem); }
.zone-services__heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.25rem; }
.zone-services__heading p { margin:0; }
.zone-services__heading p:last-child { color:var(--slate); font-size:.85rem; }
.zone-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.service-card { border:1px solid var(--rule); background:var(--paper); padding:0 1.25rem; color:var(--navy); }
.service-card summary { grid-template-columns:minmax(0,1fr) 1rem; min-height:5.25rem; color:var(--navy); font-size:1.2rem; }
.service-card summary::after { color:var(--ember); }
.service-card .product-acc__body { padding-bottom:1.5rem; }
.service-card .product-acc__body p { color:#4b5869; font-size:.95rem; line-height:1.75; }
.service-card .btn--line { color:var(--navy); border-color:var(--navy); font-size:.8rem; }
.legacy-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; padding-top:3rem; padding-bottom:4rem; }
.legacy-capabilities h3 { color:var(--paper); font-size:1.75rem; }
.legacy-capabilities p { color:#dedfe3; }
.legacy-capabilities a { color:var(--paper); text-underline-offset:5px; }
.product-nav__inner { overflow-x:auto; gap:1.5rem; padding-top:.75rem; padding-bottom:.75rem; }
.product-nav__inner a, .product-nav__inner span { flex:0 0 auto; }
.service-document__layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr); gap:clamp(2rem,6vw,6rem); }
.service-document__heading h2 { font-size:clamp(1.8rem,3vw,2.8rem); overflow-wrap:anywhere; }
.service-document__copy { max-width:70ch; }
.service-document__copy h3 { font-size:1.45rem; margin-top:2.25rem; margin-bottom:1rem; }
.service-document__copy p { font-size:1.03rem; line-height:1.85; }
.service-document__copy strong { color:var(--navy); }
.service-document__list { margin:1.25rem 0 1.75rem; padding-left:1.4rem; }
.service-document__list li { padding-left:.3rem; margin-bottom:.75rem; font-size:1.03rem; line-height:1.85; }
.service-document__list li::marker { color:var(--ember); }
.service-document__anchor { display:block; scroll-margin-top:calc(var(--header-h) + 6rem); }
.service-diagram { margin:2.5rem 0 0; padding:1.5rem; border:1px solid var(--rule); background:#fff; }
.service-diagram img { width:100%; height:auto; }
.service-diagram figcaption { font-size:.75rem; margin-top:1rem; color:var(--slate); }
.service-document__section, .zone-services { scroll-margin-top:calc(var(--header-h) + 6rem); }
.prose .btn--primary, .section--navy .prose .btn--primary, .tab-panel .btn--primary { color:#fff; }
.btn--primary { background:#b9361a; color:#fff; }
.btn--primary:hover { background:#922a14; }
.board-resource { border:1px solid var(--rule); padding:2rem; background:var(--paper-2); }
.board-resource iframe { width:100%; height:70vh; border:0; background:#fff; margin-top:1.5rem; }
.mega-menu__catalog--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.source-leader-copy h3 { font-size:1.65rem; margin-top:2rem; }
@media(max-width:1100px) {
 .zone-map { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
 .zone-map__segment { min-height:12rem; }
 .zone-story { gap:2rem; }
}
@media(max-width:760px) {
 .solutions-hero__copy, .zone-story, .service-document__layout, .legacy-capabilities { grid-template-columns:1fr; }
 .solutions-hero__copy { gap:1rem; }
 .zone-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .zone-map__segment { min-height:11.5rem; padding:1rem; }
 .zone-story__visual { aspect-ratio:16/9; }
 .zone-story__rationale { font-size:1rem; }
 .zone-service-grid { grid-template-columns:1fr; }
 .zone-services__heading { display:block; }
 .zone-services__heading p:last-child { margin-top:.75rem; }
 .zone-story h3 { max-width:none; }
 .service-document__heading h2 { max-width:22ch; }
 .board-resource { padding:1.25rem; }
}
@media(prefers-reduced-motion:reduce) { .zone-panel.is-open { animation:none; } }

/* Cinematic Solutions directory: a single visual rhythm and compact links. */
.mega-menu--solutions {
 padding:1.5rem 0 1rem;
 background:radial-gradient(ellipse at 80% 0%,rgba(67,119,128,.16),transparent 55%),#0b1d31;
 border-top:1px solid rgba(255,192,173,.5);
 color:#f6f3ee;
 box-shadow:0 24px 48px rgba(3,15,30,.3);
}
.solutions-menu { max-width:1240px; }
.solutions-menu__intro { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-bottom:1.2rem; }
.solutions-menu__intro > div { display:flex; align-items:baseline; gap:1.5rem; }
.solutions-menu__intro .kicker { margin:0; color:#ffc0ad; font-size:.64rem; }
.solutions-menu__intro h2 { color:#f6f3ee; font-size:1.7rem; line-height:1.1; margin:0; }
.solutions-menu__overview { color:#d8e1e6; font-size:.75rem; text-decoration:none; }
.solutions-menu__overview span { margin-left:1rem; color:#ffc0ad; }
.solutions-menu__zones { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; }
.solutions-menu__zone { min-width:0; --scene-accent:#d6b985; }
.solutions-menu__zone[data-zone="predict"] { --scene-accent:#ff9778; }
.solutions-menu__zone[data-zone="protect"] { --scene-accent:#8bc6c1; }
.solutions-menu__zone[data-zone="detect"] { --scene-accent:#8bc6e5; }
.solutions-menu__zone[data-zone="recover"] { --scene-accent:#c4ccd9; }
.solutions-menu__zone[data-zone="respond"] { --scene-accent:#e4a98d; }
.solutions-menu__scene { display:block; position:relative; height:116px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:3px; color:#fff; text-decoration:none; background:#07172c; }
.solutions-menu__scene::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,23,44,.12),rgba(7,23,44,.08) 30%,rgba(7,23,44,.93)); pointer-events:none; }
.solutions-menu__scene img { width:100%; height:100%; object-fit:cover; opacity:.88; transition:transform .4s ease,opacity .3s ease; }
.solutions-menu__scene strong { position:absolute; z-index:1; left:.8rem; right:1.8rem; bottom:.75rem; font-family:var(--display); font-size:1.13rem; font-weight:500; line-height:1.15; color:#fff; }
.solutions-menu__number { position:absolute; z-index:1; top:.6rem; left:.7rem; font-family:var(--mono); font-size:.55rem; color:var(--scene-accent); }
.solutions-menu__arrow { position:absolute; z-index:1; right:.6rem; bottom:.75rem; color:var(--scene-accent); font-size:1rem; }
.solutions-menu__scene:hover { border-color:var(--scene-accent); }
.solutions-menu__scene:hover img { transform:scale(1.06); opacity:1; }
.solutions-menu__links { list-style:none; padding:.5rem 0 0; margin:0; }
.solutions-menu__links li { margin:0; }
.solutions-menu__links .solutions-menu__service { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:.45rem .65rem; color:#d8e1e6; border-radius:2px; text-decoration:none; font-size:.8rem; line-height:1.4; transition:background .2s ease,color .2s ease; }
.solutions-menu__links a span { color:var(--scene-accent); opacity:0; transform:translateX(-4px); transition:opacity .2s ease,transform .2s ease; }
.solutions-menu__links a:hover { background:rgba(255,255,255,.065); color:#fff; }
.solutions-menu__links a:hover span, .solutions-menu__links a:focus-visible span { opacity:1; transform:translateX(0); }
.solutions-menu a:focus-visible { outline:2px solid #ffc0ad; outline-offset:3px; }
.solutions-menu__footer { margin-top:.8rem; padding-top:.8rem; border-top:1px solid rgba(255,255,255,.13); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.solutions-menu__note { color:#97abba; font-size:.7rem; }
.solutions-menu__legacy { display:flex; align-items:center; gap:1.25rem; text-decoration:none; }
.solutions-menu__legacy > span { color:#97abba; font-size:.65rem; }
.solutions-menu__legacy img { width:110px; height:auto; }
.solutions-menu__legacy b { color:#dfbd76; font-size:.7rem; font-weight:500; }
.solutions-menu__legacy b span { margin-left:.6rem; }
@media(min-width:981px) and (max-width:1199px) {
 .solutions-menu__zones { gap:.65rem; }
 .solutions-menu__scene { height:104px; }
 .solutions-menu__scene strong { left:.5rem; font-size:.96rem; }
 .solutions-menu__links .solutions-menu__service { padding:.45rem .35rem; font-size:.76rem; }
}
@media(max-width:980px) {
 .mega-menu--solutions { background:#0b1d31; padding:1rem !important; border-radius:4px; }
 .mega-menu--solutions .solutions-menu { width:100%; }
 .solutions-menu__intro { align-items:flex-start; gap:1rem; }
 .solutions-menu__intro > div { display:block; }
 .solutions-menu__intro .kicker { margin-bottom:.5rem; }
 .solutions-menu__intro h2 { font-size:1.4rem; }
 .solutions-menu__overview { max-width:12ch; line-height:1.5; }
 .solutions-menu__zones { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .solutions-menu__scene { height:100px; }
 .solutions-menu__legacy > span { display:none; }
}
@media(max-width:640px) {
 .solutions-menu__zones { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem .75rem; }
 .solutions-menu__scene strong { font-size:1.1rem; }
 .solutions-menu__footer { justify-content:flex-start; }
 .solutions-menu__note { display:none; }
 .solutions-menu__legacy { justify-content:space-between; width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .solutions-menu__scene img,.solutions-menu__links a,.solutions-menu__links a span { transition:none; }
 .solutions-menu__scene:hover img { transform:none; }
}

/* Glass: discovery becomes intelligence, then clear action. */
.glass-flow-section { padding-top:0; }
.glass-flow { position:relative; isolation:isolate; overflow:hidden; margin:0; padding:clamp(1.5rem,4vw,3.5rem); border:1px solid #294457; border-radius:8px; background:radial-gradient(ellipse at 5% 30%,rgba(54,111,128,.24),transparent 55%),radial-gradient(ellipse at 90% 90%,rgba(183,140,69,.13),transparent 40%),#0a1c30; color:#e7edf1; box-shadow:0 24px 50px rgba(7,23,44,.14); }
.glass-flow::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(142,183,197,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(142,183,197,.035) 1px,transparent 1px); background-size:42px 42px; pointer-events:none; }
.glass-flow__head { display:grid; grid-template-columns:1.25fr 1fr; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.glass-flow__head .kicker { color:#e7bc91; font-size:.66rem; }
.glass-flow__head h2 { color:#f9f6ef; font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; margin:0; }
.glass-flow__head h2 em { color:#9ed8d5; font-weight:400; }
.glass-flow__head > p { color:#e3e8ec; font-size:1rem; line-height:1.75; margin:0; }
.glass-flow__head > p span { color:#a2b5c5; font-size:.85rem; }
.glass-flow__pipeline { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr); gap:clamp(2rem,5vw,5rem); align-items:stretch; }
.glass-flow__discovery { background:rgba(255,255,255,.025); border:1px solid rgba(160,200,211,.18); border-radius:5px; overflow:hidden; }
.glass-flow__landscape { position:relative; height:158px; overflow:hidden; }
.glass-flow__landscape img { width:100%; height:100%; object-fit:cover; opacity:.68; }
.glass-flow__landscape::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent,#0d2437); }
.glass-flow__landscape svg { position:absolute; z-index:1; inset:0; width:100%; height:100%; color:#9ed8d5; opacity:.6; }
.glass-flow__discovery-copy { padding:1.5rem; }
.glass-flow__eyebrow { font-family:var(--mono); font-size:.59rem; letter-spacing:.09em; text-transform:uppercase; color:#9ed8d5; margin:0 0 .5rem; }
.glass-flow h3 { color:#f6f3ee; font-size:1.55rem; line-height:1.2; margin:0 0 .7rem; }
.glass-flow__assets { list-style:none; padding:0; margin:1.25rem 0 0; }
.glass-flow__assets li { display:flex; align-items:center; gap:.75rem; font-size:.85rem; line-height:1.55; color:#c7d4df; padding:.55rem 0; border-top:1px solid rgba(160,200,211,.12); }
.glass-flow__assets li::before { content:""; width:5px; height:5px; flex:0 0 5px; border:1px solid #98c9cf; transform:rotate(45deg); }
.glass-flow__stages { list-style:none; padding:0; margin:0; }
.glass-flow__stage { position:relative; display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:1.25rem; padding:0 0 1.75rem; }
.glass-flow__stage:not(:last-child)::after { content:"↓"; position:absolute; top:2.7rem; bottom:0; left:1.2rem; display:flex; align-items:center; color:#6c9eab; font-size:.85rem; border-left:1px solid rgba(127,190,196,.3); text-indent:-.35rem; }
.glass-flow__stage:last-child { padding-bottom:0; }
.glass-flow__node { display:grid; place-items:center; align-self:start; height:2.5rem; border-radius:50%; border:1px solid #5e929e; color:#b6e7e0; background:#143244; font-family:var(--mono); font-size:.68rem; box-shadow:0 0 22px rgba(128,203,197,.08); }
.glass-flow__stage > div { padding:1.2rem 1.3rem; background:linear-gradient(110deg,rgba(164,210,216,.06),rgba(255,255,255,.01)); border:1px solid rgba(160,200,211,.16); border-radius:4px; }
.glass-flow__stage p:not(.glass-flow__eyebrow) { color:#b7c9d7; font-size:.85rem; line-height:1.6; margin:0; }
.glass-flow__signals { display:grid; grid-template-columns:1fr 1fr; gap:.65rem 1rem; list-style:none; padding:0; margin:1rem 0 0; }
.glass-flow__signals li { color:#c7d4df; font-size:.73rem; line-height:1.5; }
.glass-flow__filter { display:block; color:#f1b18d; font-size:.7rem; line-height:1.5; margin-top:.85rem; padding-top:.7rem; border-top:1px solid rgba(240,166,124,.17); }
.glass-flow__filter > span { margin-right:.4rem; }
.glass-flow__handoff { display:flex; justify-content:center; align-items:center; gap:1rem; margin:1.75rem 0; }
.glass-flow__handoff > span { width:25%; height:1px; background:linear-gradient(90deg,transparent,#527482); }
.glass-flow__handoff > span:last-child { transform:rotate(180deg); }
.glass-flow__handoff p { margin:0; color:#9eb5c7; font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; }
.glass-flow__handoff b { margin-left:.5rem; color:#a7ddd7; }
.glass-flow__outcomes { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.glass-flow__outcomes > div { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:1rem; padding:1.5rem; border-radius:4px; }
.glass-flow__resolved { border:1px solid rgba(202,171,111,.28); background:rgba(202,171,111,.055); }
.glass-flow__ticket { border:1px solid rgba(146,224,213,.4); background:linear-gradient(130deg,rgba(89,166,165,.2),rgba(89,166,165,.06)); }
.glass-flow__resolved .glass-flow__eyebrow { color:#e8c890; }
.glass-flow__outcome-icon { display:grid; place-items:center; align-self:start; height:2rem; border:1px solid rgba(162,221,212,.4); border-radius:50%; color:#a2ddd4; }
.glass-flow__resolved .glass-flow__outcome-icon { border-color:rgba(220,187,122,.4); color:#e8c890; }
.glass-flow__outcomes p:not(.glass-flow__eyebrow) { margin:0; color:#bdcdd9; font-size:.85rem; line-height:1.7; }
.glass-flow figcaption { margin-top:1.5rem; text-align:center; color:#99aebd; font-size:.72rem; line-height:1.6; }
@media(max-width:760px) {
 .glass-flow__head, .glass-flow__pipeline, .glass-flow__outcomes { grid-template-columns:1fr; gap:1.5rem; }
 .glass-flow__head { margin-bottom:1.5rem; }
 .glass-flow__landscape { height:130px; }
 .glass-flow__stage { gap:.8rem; }
 .glass-flow__stage > div { padding:1rem; }
 .glass-flow h3 { font-size:1.3rem; }
 .glass-flow__outcomes > div { padding:1.25rem; }
}
@media(max-width:400px) { .glass-flow__signals { grid-template-columns:1fr; } }

/* Mobile navigation: image-led exploration with thumb-friendly disclosures. */
.mobile-zone-toggle { display:none; }
@media(max-width:980px) {
 .nav-primary { height:calc(100dvh - var(--header-h)); background:radial-gradient(ellipse at 90% 0%,rgba(72,123,139,.16),transparent 45%),#0b1d31; color:#f6f3ee; padding-bottom:env(safe-area-inset-bottom,0px); scrollbar-width:thin; scrollbar-color:#3d576c #0b1d31; }
 .mobile-nav__head { display:block; position:relative; padding:1.75rem var(--pad) 1.5rem; border:0; background:linear-gradient(90deg,rgba(11,29,49,.98),rgba(11,29,49,.7)),url('../img/hero-zonedefense.webp') center/cover; }
 .mobile-nav__head span { color:#ffc0ad; font-size:.62rem; letter-spacing:.18em; }
 .mobile-nav__head small { display:block; margin-top:.5rem; max-width:24ch; color:#f6f3ee; font-family:var(--display); font-size:1.65rem; line-height:1.2; }
 .nav-menu { padding:0 var(--pad); gap:0; margin:0; }
 .nav-item { border-bottom:1px solid rgba(170,196,210,.16); }
 .nav-link { padding:1.15rem 0; color:#f6f3ee; font-size:1.55rem; line-height:1.2; min-height:64px; display:flex; align-items:center; }
 .nav-link:hover, .nav-link:focus-visible { color:#ffc0ad; }
 .nav-item:not(.nav-item--mega) .nav-link { justify-content:space-between; gap:1rem; }
 .nav-item:not(.nav-item--mega) .nav-link::after { content:'↗'; display:block; position:static; width:auto; height:auto; background:none; transform:none; color:#b7c9d5; font-family:var(--body); font-size:1rem; }
 .mega-toggle { width:48px; height:48px; margin:0; border:1px solid rgba(170,196,210,.2); border-radius:50%; color:#e5edf1; background:rgba(255,255,255,.03); flex:0 0 48px; }
 .nav-item.is-mega-open > .nav-link-row .mega-toggle { background:rgba(143,203,206,.13); border-color:#7ca9b4; color:#c3e6e4; }
 .nav-primary a:focus-visible, .nav-primary button:focus-visible { outline:2px solid #ffc0ad; outline-offset:3px; }
 .nav-item--mega.is-mega-open .mega-menu { border:0; padding:0 0 1.25rem; }
 .mega-menu--solutions { padding:.6rem 0 1.25rem !important; background:transparent; box-shadow:none; }
 .solutions-menu__intro { align-items:center; margin-bottom:1rem; }
 .solutions-menu__intro .kicker { display:none; }
 .solutions-menu__intro h2 { font-size:1.2rem; color:#b7c9d5; }
 .solutions-menu__overview { max-width:none; font-size:.73rem; }
 .solutions-menu__zones { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; align-items:start; }
 .solutions-menu__zone { border:1px solid rgba(170,196,210,.16); border-radius:5px; background:rgba(255,255,255,.025); overflow:hidden; }
 .solutions-menu__scene { height:100px; border:0; border-radius:0; }
 .solutions-menu__scene strong { font-size:1.18rem; left:.75rem; bottom:.6rem; }
 .mobile-zone-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:46px; gap:.4rem; padding:.6rem .7rem; border:0; color:#d5e2ea; background:rgba(255,255,255,.025); text-align:left; font:inherit; font-size:.72rem; cursor:pointer; }
 .mobile-zone-toggle small { display:inline-grid; place-items:center; min-width:1.2rem; height:1.2rem; margin-left:.3rem; border:1px solid rgba(170,196,210,.2); border-radius:50%; color:#a9bfce; font-size:.6rem; }
 .mobile-zone-toggle b { font-size:1.15rem; font-weight:400; color:var(--scene-accent); }
 .solutions-menu__links { padding:.2rem .35rem .5rem; }
 .solutions-menu__links[hidden] { display:none; }
 .solutions-menu__links .solutions-menu__service { min-height:44px; padding:.6rem .4rem; font-size:.86rem; border-top:1px solid rgba(170,196,210,.1); }
 .solutions-menu__links a span { opacity:1; transform:none; }
 .solutions-menu__footer { margin-top:1rem; padding-top:1rem; }
 .solutions-menu__legacy { width:100%; justify-content:space-between; gap:.65rem; min-height:48px; }
 .solutions-menu__legacy img { width:112px; }
 .solutions-menu__legacy b { font-size:.73rem; }
 .mobile-nav__footer { position:static; margin-top:auto; padding:1.25rem var(--pad) calc(1.25rem + env(safe-area-inset-bottom,0px)); background:transparent; display:grid; grid-template-columns:1fr; gap:.85rem; }
 .mobile-nav__contact { padding:1rem 3rem 1rem 1.1rem; border:1px solid rgba(236,165,116,.45); border-radius:4px; background:linear-gradient(115deg,#a62d13,#bc4225); box-shadow:0 8px 24px rgba(0,0,0,.12); }
 .mobile-nav__contact span { color:#f4c5b7; }
 .mobile-nav__contact strong { font-size:1.3rem; }
 .mobile-nav__contact b { right:1rem; color:#ffe3d3; }
 .mobile-nav__phone { display:flex; justify-content:center; align-items:center; min-height:44px; color:#b7c9d5; letter-spacing:.05em; }
 .mega-menu--about, .mega-menu--insights { color:#e5edf1; }
 .about-menu__grid { gap:.65rem; }
 .about-menu__grid > a { color:#e5edf1; background:rgba(255,255,255,.025); border:1px solid rgba(170,196,210,.16); border-radius:4px; padding:1rem; }
 .about-menu__grid > a > strong { color:#e5edf1; font-size:1.1rem; margin-top:1rem; }
 .about-menu__grid > a > small { color:#b3c5d2; font-size:.75rem; }
 .about-menu__index { color:#d9b78d; }
 .insights-menu__story { border-color:rgba(170,196,210,.16); }
 .insights-menu__story strong { color:#e5edf1; }
 .insights-menu__story span { color:#d9b78d; }
 .insights-menu__topics .kicker { color:#d9b78d; }
 .insights-menu__topics a { color:#d5e2ea; min-height:44px; border-color:rgba(170,196,210,.16); }
}
@media(max-width:360px) {
 .solutions-menu__scene { height:92px; }
 .solutions-menu__scene strong { font-size:1.05rem; }
 .mobile-zone-toggle { font-size:.65rem; padding:.6rem; }
}
@media(prefers-reduced-motion:reduce) { .nav-primary { transition:none; } }

/* October 8 client hierarchy and shared ZoneDefense. */
.section-subtitle { margin:1.2rem 0 0; font-size:clamp(1.15rem,1.8vw,1.4rem); line-height:1.55; max-width:42ch; }
.difference-heading .section-subtitle { color:#f6f3ee; }
.section--problem .editorial-aside { font-family:var(--display); font-size:1.45rem; line-height:1.35; color:var(--navy); }
.section--problem .kicker, .difference-heading .kicker, .leaders-hero .kicker { font-size:.9rem; letter-spacing:.12em; }
.zone-preview { height:auto; min-height:37rem; overflow:visible; }
.zone-preview__item { flex:none; min-height:4rem; overflow:hidden; transition:none; }
.zone-preview__item.is-active { flex:none; min-height:17rem; }
.zone-preview__item[data-tone="predict"] { --preview-tone:var(--ember-deep); }
.zone-preview__item[data-tone="protect"], .zone-preview__item[data-tone="detect"] { --preview-tone:#285d68; }
.zone-preview__detail { grid-template-columns:1fr; gap:.8rem; }
.zone-preview__detail a { justify-self:start; }
.zone-preview__label strong { font-size:1.5rem; }
.zone-governance { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top:.75rem; padding:1rem 1.4rem; color:var(--navy); border:1px solid var(--navy); text-decoration:none; background:#e3ecea; }
.zone-governance strong { font-family:var(--display); font-size:1.6rem; font-weight:500; }
.zone-governance span { margin-left:auto; }
#governance { scroll-margin-top:calc(var(--header-h) + 1rem); }
.zone-experience__intro { align-items:start; }
.zone-experience__explanation { margin:0; font-size:1.08rem; line-height:1.8; }
.zone-services__heading .kicker { font-size:.85rem; letter-spacing:.08em; }
.service-card--pending { padding:1.25rem; min-height:5.25rem; }
.service-card--pending h4 { display:flex; align-items:center; gap:1rem; margin:0; font-family:var(--display); font-size:1.2rem; font-weight:500; }
.approved-testimonials { margin-top:2rem; }
.about-aspen { min-height:0; padding:clamp(3rem,6vw,6rem) 0; }
.about-aspen__content { grid-template-columns:1fr; gap:2rem; align-items:start; padding-bottom:0; }
.about-aspen__heading h2 { max-width:none; font-size:clamp(2.5rem,5vw,4.5rem); }
.about-aspen__copy { max-width:43rem; color:#f6f3ee; }
.about-aspen__veil { background:linear-gradient(90deg,rgba(7,23,44,.96) 0%,rgba(7,23,44,.92) 58%,rgba(7,23,44,.3) 100%); }
.about-aspen__heading .kicker { color:#ffc0ad; }

/* Glass narrows after each validation stage; labels remain native text. */
.glass-flow--funnel .glass-flow__pipeline { display:block; }
.glass-flow--funnel .glass-flow__discovery { max-width:100%; margin:0 auto 1.5rem; border-color:#567d84; border-top:3px solid #9ed8d5; }
.glass-flow--funnel .glass-flow__discovery-copy { padding:2rem; text-align:center; }
.glass-flow--funnel .glass-flow__assets { display:flex; justify-content:center; flex-wrap:wrap; gap:.65rem 1.5rem; }
.glass-flow--funnel .glass-flow__assets li { border:0; padding:.25rem; }
.glass-flow--funnel .glass-flow__stage { display:block; margin:0 auto; padding:0 0 1.75rem; }
.glass-flow--funnel .glass-flow__stage:nth-child(1) { width:90%; }
.glass-flow--funnel .glass-flow__stage:nth-child(2) { width:76%; }
.glass-flow--funnel .glass-flow__stage:nth-child(3) { width:62%; }
.glass-flow--funnel .glass-flow__stage > div { position:relative; isolation:isolate; text-align:center; padding:1.5rem 3rem; border:0; background:none; }
.glass-flow--funnel .glass-flow__stage > div::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#163747,#102936); clip-path:polygon(0 0,100% 0,94% 100%,6% 100%); border-top:2px solid #537d84; }
.glass-flow--funnel .glass-flow__node { width:2.5rem; position:relative; margin:0 auto .5rem; }
.glass-flow--funnel .glass-flow__stage:not(:last-child)::after { content:"↓"; position:absolute; left:50%; top:auto; bottom:.15rem; border:0; display:block; text-indent:0; }
.glass-flow--funnel .glass-flow__signals { justify-items:center; }
.glass-flow--funnel .glass-flow__filter { color:#ffcdad; }
.glass-flow--funnel .glass-flow__handoff { margin:1rem 0 1.75rem; }
.glass-flow--funnel .glass-flow__outcomes { position:relative; padding-top:1.5rem; border-top:1px solid #527482; }
.glass-flow--funnel .glass-flow__eyebrow { font-size:.72rem; }
.glass-flow--funnel .glass-flow__stage p:not(.glass-flow__eyebrow), .glass-flow--funnel .glass-flow__signals li { font-size:.9rem; }
@media(max-width:980px) {
 .zone-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .zone-experience__intro { grid-template-columns:1fr; gap:2rem; }
 .glass-flow--funnel .glass-flow__head { grid-template-columns:1fr; gap:1.5rem; }
}
@media(max-width:640px) {
 .zone-preview { min-height:0; }
 .zone-preview__item.is-active { min-height:19rem; }
 .zone-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .zone-map__segment { min-height:16rem; padding:1rem; }
 .zone-governance { gap:.5rem; padding:1rem; }
 .zone-governance span { margin-left:0; }
 .zone-services__heading { display:block; }
 .zone-services__heading p:last-child { margin-top:.75rem; }
 .about-aspen__veil { background:rgba(7,23,44,.9); }
 .glass-flow--funnel { padding:1.25rem; }
 .glass-flow--funnel .glass-flow__discovery-copy { padding:1.25rem; }
 .glass-flow--funnel .glass-flow__assets { display:block; text-align:left; }
 .glass-flow--funnel .glass-flow__stage:nth-child(n) { width:100%; }
 .glass-flow--funnel .glass-flow__stage > div { padding:1.5rem 1.25rem; }
 .glass-flow--funnel .glass-flow__stage > div::before { clip-path:polygon(0 0,100% 0,97% 100%,3% 100%); }
 .glass-flow--funnel .glass-flow__signals { grid-template-columns:1fr; }
 .glass-flow--funnel .glass-flow__outcomes { grid-template-columns:1fr; }
 .glass-flow--funnel .glass-flow__eyebrow { letter-spacing:.04em; }
}

/* October 9: live Insights, executive reading, and supplied community photography. */
.editorial-section-header { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; }
.editorial-section-header h2 { max-width:20ch; }
.editorial-section-header > a { flex:0 0 auto; font-size:.9rem; text-underline-offset:5px; }
.latest-insights__grid, .executive-resources__grid { align-items:stretch; }
.latest-insights__grid--1, .executive-resources__grid--1 { grid-template-columns:1fr; max-width:42rem; }
.latest-insights__grid--2, .executive-resources__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.latest-insights .insight-card h3, .executive-resources .insight-card h3 { line-height:1.2; }
.executive-resource .more { margin-top:auto; padding-top:2rem; }
.executive-resources .kicker { font-size:.85rem; }
.zone-story__rationale p { margin:0 0 1.3rem; }
.zone-story__rationale p:last-child { margin-bottom:0; }
.zone-story__copy > .kicker { font-size:1rem; letter-spacing:.1em; }
.legacy-feature__inner { padding-bottom:0; }
.board-mandate-section, #giving-back { scroll-margin-top:calc(var(--header-h) + 1rem); }
.board-mandate-section .btn--navy { color:var(--white); }
.page-template-template-leaders .tab { font-size:1.1rem; line-height:1.45; min-height:7rem; }
.giving-back__layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.giving-back__story h2 { margin-bottom:1.8rem; font-size:clamp(3rem,4.5vw,4.25rem); }
.giving-back__story .prose { max-width:46ch; }
.giving-back__story .prose p { font-size:1.04rem; line-height:1.8; }
.giving-back__organizations { margin-top:2rem; max-width:46ch; }
.giving-back__invitation { margin:0 0 1.2rem; font-size:1.04rem; line-height:1.7; }
.giving-back__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; list-style:none; padding:0; margin:0; }
.giving-back__links li { min-width:0; border-top:1px solid var(--rule); }
.giving-back__links a { display:flex; flex-direction:column; align-items:flex-start; gap:.65rem; height:100%; min-height:6rem; padding:1rem 0; color:var(--navy); text-decoration:none; }
.giving-back__organization-name { font-weight:600; line-height:1.45; }
.giving-back__logo { display:flex; align-items:center; justify-content:center; width:100%; height:8rem; padding:.8rem; background:#fff; border:1px solid var(--rule); border-radius:4px; }
.giving-back__logo--dark { background:var(--navy); border-color:var(--navy); }
.giving-back__logo img { display:block; max-width:100%; width:auto; height:auto; max-height:100%; object-fit:contain; }
.giving-back__organization-action { color:#285e62; font-size:.86rem; text-decoration:underline; text-underline-offset:.25em; }
.giving-back__links a:hover .giving-back__organization-action { color:var(--ember); }
.giving-back__links a:focus-visible { outline:3px solid #285e62; outline-offset:4px; }
.giving-back__photos { display:flex; flex-direction:column; align-items:flex-start; width:100%; max-width:540px; margin:0 0 0 auto; }
.giving-back__photo { margin:0; padding:8px; border-radius:10px; background:#faf8f4; box-shadow:0 16px 40px rgba(12,32,61,.12); }
.giving-back__photo--lead { width:88%; }
.giving-back__photo--support { position:relative; z-index:1; align-self:flex-end; width:46%; margin-top:-3rem; box-shadow:0 18px 45px rgba(12,32,61,.16); }
.giving-back__photos--captioned .giving-back__photo--support { margin-top:1.5rem; }
.giving-back__frame { aspect-ratio:4 / 5; overflow:hidden; border-radius:4px; background:var(--paper-2); }
.giving-back__photo img { width:100%; height:100%; object-fit:cover; }
.giving-back__photo--lead img { object-position:50% 60%; }
.giving-back__photo--support img { object-position:40% 50%; }
.giving-back__photo figcaption { margin:.8rem .3rem .3rem; color:#4b5869; font-size:.92rem; line-height:1.55; }
@media(max-width:980px) {
 .page-template-template-leaders .tab { padding:.85rem; font-size:1.05rem; }
}
@media(max-width:760px) {
 .editorial-section-header { display:block; }
 .editorial-section-header > a { display:inline-block; margin-top:1.5rem; }
 .latest-insights__grid, .executive-resources__grid { grid-template-columns:1fr; }
 .giving-back__layout { grid-template-columns:1fr; gap:2.5rem; }
 .giving-back__story .prose { max-width:none; }
 .giving-back__organizations { max-width:none; }
 .giving-back__photos { max-width:480px; margin:0 auto; }
 .giving-back__photo--support { width:56%; margin-top:-1.5rem; }
 .page-template-template-leaders .tab { min-height:4rem; padding:1rem; }
}
@media(max-width:480px) {
 .giving-back__links { grid-template-columns:1fr; }
 .giving-back__links a { min-height:4.5rem; }
}
