: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); }

.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(3, 1fr);
  gap: 1rem;
}
.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);
}

/* ---------- 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;
}
.search-modal.is-open { display: block; }
.search-modal form {
  width: min(720px, 100%);
  margin: 0 auto;
  background: var(--paper);
  padding: 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.search-modal input[type="search"] {
  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-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) {
  .logo img { width: 150px; }
  .site-header__inner { gap: 0.65rem; }
  .header-tools { gap: 0.25rem; margin-left: auto; }
  .header-tools .btn { display: none; }
  .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; }
}
