:root {
  --royal: #0A1A2F;
  --shadow: #12263F;
  --deep-sea: #1A3457;
  --indigo: #365076;
  --steel: #355C7D;
  --aetherial: #628BC9;
  --graphite: #2A2A2A;
  --graphite-fade: #5A5A5A;
  --slate: #515A68;
  --mist: #969CA4;
  --silver: #BFBFBF;
  --ivory: #F4F0EB;
  --white: #FFFFFF;
  --surface: #FBFBF8;
  --border: #D8D5D0;
  --success: #256D4B;
  --warning: #8A5D16;
  --danger: #9C2E2E;
  --font-serif: "Cormorant Garamond", Garamond, "Times New Roman", serif;
  --font-sans: Aptos, Inter, "Segoe UI", Arial, sans-serif;
  --font-dense: "Aptos Narrow", "Arial Narrow", "Noto Sans Condensed", sans-serif;
  --step--1: clamp(.78rem,.75rem + .1vw,.86rem);
  --step-0: clamp(1rem,.96rem + .18vw,1.1rem);
  --step-1: clamp(1.2rem,1.05rem + .55vw,1.55rem);
  --step-2: clamp(1.55rem,1.25rem + 1vw,2.25rem);
  --step-3: clamp(2.05rem,1.55rem + 1.8vw,3.35rem);
  --step-4: clamp(2.9rem,2rem + 3.2vw,5.7rem);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --space-8: 8rem;
  --radius: 6px;
  --max: 90rem;
  --reading: 46rem;
  --header-h: 5.25rem;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--royal); }
html.no-js { scroll-behavior: auto; }
body { margin: 0; background: var(--surface); color: var(--graphite); font-family: var(--font-sans); font-size: var(--step-0); line-height: 1.65; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--steel); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
address { font-style: normal; }
::selection { background: var(--aetherial); color: var(--royal); }

h1, h2, h3, h4 { color: var(--royal); font-family: var(--font-serif); font-weight: 600; line-height: 1.03; margin: 0 0 .65em; text-wrap: balance; }
h1 { font-size: var(--step-4); letter-spacing: -.025em; }
h2 { font-size: var(--step-3); letter-spacing: -.018em; }
h3 { font-size: var(--step-2); }
h4 { font-size: var(--step-1); }
p { margin: 0 0 1.15em; }
ul, ol { margin: 0 0 1.5em; }
strong { color: var(--royal); }
hr { border: 0; border-top: 1px solid var(--border); margin: var(--space-5) 0; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 999; top: .5rem; left: .5rem; transform: translateY(-160%); background: var(--ivory); color: var(--royal); padding: .75rem 1rem; border: 2px solid var(--aetherial); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--aetherial); outline-offset: 3px; }

.container { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 2rem), var(--reading)); margin-inline: auto; }
.section { padding-block: var(--space-7); }
.section--compact { padding-block: var(--space-5); }
.section--navy { background: var(--royal); color: var(--ivory); }
.section--shadow { background: var(--shadow); color: var(--ivory); }
.section--ivory { background: var(--ivory); }
.section--white { background: var(--white); }
.section--navy h2, .section--navy h3, .section--shadow h2, .section--shadow h3 { color: var(--ivory); }
.eyebrow { color: var(--steel); font-family: var(--font-dense); font-size: var(--step--1); font-weight: 700; letter-spacing: .16em; margin: 0 0 1rem; text-transform: uppercase; }
.section--navy .eyebrow, .section--shadow .eyebrow, .page-hero--dark .eyebrow { color: var(--aetherial); }
.lead { font-size: clamp(1.15rem,1rem + .55vw,1.55rem); line-height: 1.55; max-width: 48rem; }
.muted { color: var(--graphite-fade); }
.muted-on-dark { color: var(--silver); }
.rule-label { border-top: 1px solid var(--aetherial); color: var(--steel); font-family: var(--font-dense); font-size: .76rem; font-weight: 700; letter-spacing: .14em; padding-top: .8rem; text-transform: uppercase; }

.icon { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.icon-box { align-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--royal); display: inline-flex; height: 3rem; justify-content: center; width: 3rem; }
.icon-box--dark { border-color: rgba(244,240,235,.28); color: var(--ivory); }

.button { align-items: center; background: var(--royal); border: 1px solid var(--royal); border-radius: 2px; color: var(--ivory); display: inline-flex; font-family: var(--font-dense); font-size: .82rem; font-weight: 700; gap: .6rem; justify-content: center; letter-spacing: .09em; min-height: 3rem; padding: .72rem 1.15rem; text-decoration: none; text-transform: uppercase; }
.button:hover { background: var(--deep-sea); border-color: var(--deep-sea); color: var(--ivory); }
.button--outline { background: transparent; border-color: var(--royal); color: var(--royal); }
.button--outline:hover { background: var(--royal); color: var(--ivory); }
.button--light { background: var(--ivory); border-color: var(--ivory); color: var(--royal); }
.button--light:hover { background: var(--white); border-color: var(--white); color: var(--royal); }
.button--ghost-dark { background: transparent; border-color: rgba(244,240,235,.42); color: var(--ivory); }
.button--ghost-dark:hover { border-color: var(--ivory); background: rgba(244,240,235,.08); color: var(--ivory); }
.button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; }
.button-row { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.text-link { color: var(--royal); font-family: var(--font-dense); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link:hover { color: var(--steel); }
.section--navy .text-link, .section--shadow .text-link { color: var(--ivory); }

.site-header { background: var(--royal); border-bottom: 1px solid rgba(244,240,235,.18); color: var(--ivory); min-height: var(--header-h); position: sticky; top: 0; z-index: 100; }
.site-header__inner { align-items: center; display: flex; min-height: var(--header-h); justify-content: space-between; }
.brand-lockup { align-items: center; color: var(--royal); display: inline-flex; gap: .8rem; text-decoration: none; }
.brand-lockup:hover { color: inherit; }
.brand-lockup img { flex: 0 0 3.25rem; height: 3.25rem; width: 3.25rem; }
.brand-lockup__text { border-left: 1px solid currentColor; display: grid; gap: .15rem; padding-left: .9rem; }
.brand-lockup__text strong { color: inherit; font-family: var(--font-serif); font-size: 1.25rem; letter-spacing: .045em; line-height: 1; }
.brand-lockup__text small { font-family: var(--font-dense); font-size: .59rem; font-weight: 700; letter-spacing: .24em; }
.brand-lockup--reverse { color: var(--ivory); }
.brand-lockup--compact img { height: 2.5rem; width: 2.5rem; }
.primary-nav { align-items: center; display: flex; gap: 1.1rem; }
.primary-nav ul { align-items: center; display: flex; gap: .2rem; list-style: none; margin: 0; padding: 0; }
.primary-nav a { border-bottom: 2px solid transparent; color: var(--ivory); display: inline-flex; font-family: var(--font-dense); font-size: .76rem; font-weight: 700; letter-spacing: .08em; padding: 1.85rem .65rem 1.55rem; text-decoration: none; text-transform: uppercase; }
.primary-nav a:hover, .primary-nav a.active { border-bottom-color: var(--aetherial); color: var(--white); }
.search-link { align-items: center; gap: .45rem; }
.nav-toggle { align-items: center; background: transparent; border: 1px solid rgba(244,240,235,.35); color: var(--ivory); display: none; height: 2.75rem; justify-content: center; width: 2.75rem; }

.home-hero { background: var(--royal); color: var(--ivory); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); min-height: min(47rem, calc(100vh - var(--header-h))); }
.home-hero__copy { align-self: center; padding: clamp(4rem,8vw,8rem) clamp(1rem,5vw,6rem) clamp(4rem,8vw,8rem) max(1rem,calc((100vw - var(--max))/2)); }
.home-hero h1 { color: var(--ivory); font-size: clamp(3.5rem, 2.3rem + 3.3vw, 5.15rem); max-width: 19ch; }
.home-hero .lead { color: var(--silver); max-width: 44rem; }
.home-hero__seal { align-items: center; display: flex; gap: 1rem; margin-top: 3rem; }
.home-hero__seal img { height: 4.2rem; opacity: .25; width: 4.2rem; }
.home-hero__seal p { border-left: 1px solid rgba(244,240,235,.25); color: var(--aetherial); font-family: var(--font-dense); font-size: .72rem; letter-spacing: .17em; margin: 0; padding-left: 1rem; text-transform: uppercase; }
.home-hero__media { min-height: 30rem; overflow: hidden; position: relative; }
.home-hero__media picture, .home-hero__media img { height: 100%; width: 100%; }
.home-hero__media img { object-fit: cover; object-position: 52% 50%; }
.home-hero__caption { background: var(--shadow); bottom: 0; color: var(--silver); font-family: var(--font-dense); font-size: .68rem; left: 0; letter-spacing: .1em; margin: 0; padding: .65rem 1rem; position: absolute; text-transform: uppercase; }

.section-heading { align-items: end; border-top: 1px solid var(--border); display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: var(--space-5); padding-top: var(--space-3); }
.section-heading h2 { max-width: 19ch; }
.section-heading__body { color: var(--graphite-fade); max-width: 48rem; }
.section--navy .section-heading, .section--shadow .section-heading { border-color: rgba(244,240,235,.24); }
.section--navy .section-heading__body, .section--shadow .section-heading__body { color: var(--silver); }
.section-heading__link { align-self: start; margin-top: .4rem; }

.two-poles { display: grid; gap: 1px; grid-template-columns: 1fr 1fr; background: var(--border); border: 1px solid var(--border); }
.pole-panel { background: var(--white); min-height: 31rem; padding: clamp(2rem,4vw,4.5rem); position: relative; }
.pole-panel:nth-child(2) { background: var(--shadow); color: var(--ivory); }
.pole-panel:nth-child(2) h3, .pole-panel:nth-child(2) .pole-question { color: var(--ivory); }
.pole-panel__number { color: var(--aetherial); font-family: var(--font-dense); font-size: .78rem; font-weight: 700; letter-spacing: .15em; }
.pole-panel h3 { font-size: clamp(2.2rem,2rem + 1vw,3.4rem); max-width: 13ch; margin-top: 4rem; }
.pole-panel p { max-width: 35rem; }
.pole-question { border-top: 1px solid currentColor; bottom: 2.5rem; color: var(--steel); font-family: var(--font-dense); font-size: .72rem; font-weight: 700; left: clamp(2rem,4vw,4.5rem); letter-spacing: .12em; padding-top: .8rem; position: absolute; right: clamp(2rem,4vw,4.5rem); text-transform: uppercase; }
.pole-panel .text-link { display: inline-block; margin-top: 1rem; }

.latest-layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.latest-stack { display: grid; gap: 1rem; }
.publication-card { background: var(--white); border: 1px solid var(--border); display: grid; grid-template-columns: 10rem 1fr; min-height: 14rem; }
.publication-card--featured { grid-template-columns: minmax(15rem, .85fr) minmax(0, 1.15fr); min-height: 34rem; }
.publication-card__cover { background: var(--royal); overflow: hidden; }
.publication-card__cover img { height: 100%; object-fit: cover; width: 100%; }
.publication-card__body { display: flex; flex-direction: column; padding: 1.5rem; }
.publication-card--featured .publication-card__body { justify-content: center; padding: clamp(2rem,4vw,4rem); }
.publication-card h3 { font-size: clamp(1.5rem,1.2rem + .6vw,2.2rem); }
.publication-card--featured h3 { font-size: clamp(2.2rem,1.7rem + 1.2vw,3.35rem); }
.publication-card h3 a { text-decoration: none; }
.publication-card p { color: var(--graphite-fade); }
.meta-row { align-items: center; color: var(--slate); display: flex; flex-wrap: wrap; font-family: var(--font-dense); font-size: .72rem; gap: .6rem 1rem; letter-spacing: .08em; margin-bottom: 1.1rem; text-transform: uppercase; }
.content-type { color: var(--steel); font-weight: 700; }
.publication-card__footer { align-items: end; border-top: 1px solid var(--border); display: flex; font-size: .82rem; gap: 1rem; justify-content: space-between; margin-top: auto; padding-top: 1rem; }

.problem-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.problem-card { border-left: 1px solid var(--border); border-top: 1px solid var(--border); min-height: 20rem; padding: 2rem; }
.problem-card:nth-child(3n) { border-right: 1px solid var(--border); }
.problem-card:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
.problem-card h3 { font-family: var(--font-sans); font-size: 1.15rem; line-height: 1.35; margin-top: 3.5rem; }
.problem-card p { color: var(--graphite-fade); font-size: .93rem; }

.region-feature { align-items: center; display: grid; gap: clamp(2rem,5vw,6rem); grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.region-feature__copy h2 { max-width: 13ch; }
.region-feature__visual { border: 1px solid var(--border); background: var(--ivory); }
.region-theme-list { display: grid; gap: .65rem; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 2rem 0; padding: 0; }
.region-theme-list li { border-top: 1px solid var(--border); font-family: var(--font-dense); font-size: .78rem; letter-spacing: .07em; padding-top: .55rem; text-transform: uppercase; }

.method-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.method-step { border-left: 1px solid rgba(244,240,235,.22); min-height: 23rem; padding: 1.8rem; position: relative; }
.method-step:last-child { border-right: 1px solid rgba(244,240,235,.22); }
.method-step__n { color: var(--aetherial); font-family: var(--font-dense); font-size: .76rem; letter-spacing: .14em; }
.method-step h3 { color: var(--ivory); font-family: var(--font-sans); font-size: 1.12rem; line-height: 1.35; margin-top: 6rem; }
.method-step p { color: var(--silver); font-size: .9rem; }

.situation-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.situation-card { background: var(--ivory); border: 1px solid var(--border); padding: 2rem; }
.situation-card h3 { font-size: 1.7rem; }
.situation-card::before { color: var(--aetherial); content: "SELECTED SITUATION"; display: block; font-family: var(--font-dense); font-size: .68rem; font-weight: 700; letter-spacing: .13em; margin-bottom: 4rem; }

.leadership-grid { display: grid; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--border); border: 1px solid var(--border); }
.leader-card { background: var(--white); display: grid; grid-template-columns: minmax(13rem,.8fr) minmax(0,1.2fr); min-height: 30rem; }
.leader-card picture, .leader-card picture img { height: 100%; width: 100%; }
.leader-card picture img { filter: grayscale(1); object-fit: cover; }
.leader-card__body { align-self: center; padding: 2rem; }
.leader-card__body .role { color: var(--steel); font-family: var(--font-dense); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.leader-card__body h3 { font-size: 2.3rem; }
.leader-card__body p { color: var(--graphite-fade); }

.group-strip { display: grid; gap: 1px; grid-template-columns: repeat(4,minmax(0,1fr)); background: rgba(244,240,235,.20); border: 1px solid rgba(244,240,235,.20); }
.group-mini { background: var(--royal); color: var(--ivory); min-height: 15rem; padding: 1.6rem; text-decoration: none; }
.group-mini:hover { background: var(--shadow); color: var(--ivory); }
.group-mini span { color: var(--aetherial); font-family: var(--font-dense); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.group-mini h3 { color: var(--ivory); font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.3; margin-top: 4rem; }
.group-mini p { color: var(--silver); font-size: .83rem; }

.linkedin-grid { display: grid; gap: 1px; grid-template-columns: repeat(3,minmax(0,1fr)); background: var(--border); border: 1px solid var(--border); }
.linkedin-card { background: var(--white); min-height: 17rem; padding: 1.8rem; text-decoration: none; }
.linkedin-card:hover { background: var(--ivory); color: inherit; }
.linkedin-card__top { align-items: center; color: var(--steel); display: flex; font-family: var(--font-dense); font-size: .7rem; justify-content: space-between; letter-spacing: .08em; text-transform: uppercase; }
.linkedin-card p { font-family: var(--font-serif); font-size: 1.6rem; line-height: 1.2; margin-top: 4rem; }

.cta-band { align-items: center; background: var(--deep-sea); color: var(--ivory); display: grid; gap: 2rem; grid-template-columns: minmax(0,1fr) auto; padding: clamp(2.5rem,5vw,5rem); }
.cta-band h2 { color: var(--ivory); margin: 0; max-width: 19ch; }
.cta-band p { color: var(--silver); margin: .7rem 0 0; max-width: 48rem; }

.site-footer { background: var(--royal); color: var(--ivory); padding-top: var(--space-6); }
.site-footer__grid { display: grid; gap: 3rem; grid-template-columns: 2fr repeat(3,1fr); padding-bottom: var(--space-5); }
.site-footer__identity p { max-width: 25rem; margin-top: 1.5rem; }
.footer-label { color: var(--aetherial); font-family: var(--font-dense); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { border-top: 1px solid rgba(244,240,235,.15); }
.footer-links a { color: var(--ivory); display: block; font-size: .88rem; padding: .65rem 0; text-decoration: none; }
.site-footer address { color: var(--silver); font-size: .86rem; }
.site-footer address a { color: var(--ivory); }
.footer-social { align-items: center; color: var(--ivory); display: inline-flex; gap: .5rem; margin-top: 1.5rem; text-decoration: none; }
.site-footer__legal { align-items: center; border-top: 1px solid rgba(244,240,235,.15); color: var(--mist); display: flex; flex-wrap: wrap; font-size: .72rem; gap: 1rem 2rem; justify-content: space-between; min-height: 4.5rem; }
.site-footer__legal p { margin: 0; }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-footer__legal a { color: var(--silver); text-decoration: none; }
.release-id { font-family: var(--font-dense); letter-spacing: .07em; }

.page-hero { background: var(--ivory); padding-block: clamp(4rem,8vw,8rem); }
.page-hero--dark { background: var(--royal); color: var(--ivory); }
.page-hero--dark h1 { color: var(--ivory); }
.page-hero--dark .lead { color: var(--silver); }
.page-hero__copy { max-width: 67rem; }
.page-hero__grid { align-items: center; display: grid; gap: 4rem; grid-template-columns: minmax(0,1.15fr) minmax(20rem,.85fr); }
.page-hero__image { border: 1px solid rgba(244,240,235,.2); width: 100%; }
.breadcrumbs { border-bottom: 1px solid var(--border); color: var(--slate); font-family: var(--font-dense); font-size: .7rem; letter-spacing: .06em; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: .85rem 0; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .45rem; color: var(--mist); }
.breadcrumbs a { text-decoration: none; }

.overview-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.overview-card { background: var(--white); border: 1px solid var(--border); min-height: 22rem; padding: 2rem; position: relative; }
.overview-card .icon-box { margin-bottom: 4rem; }
.overview-card h2, .overview-card h3 { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.35; }
.overview-card p { color: var(--graphite-fade); font-size: .92rem; }
.overview-card .text-link { bottom: 1.8rem; position: absolute; }

.system-figure { background: var(--royal); border: 1px solid var(--royal); }
.system-figure img { width: 100%; }

.capability-layout { display: grid; gap: 4rem; grid-template-columns: minmax(15rem,.7fr) minmax(0,1.3fr); }
.capability-sidebar { align-self: start; border-top: 1px solid var(--border); position: sticky; top: calc(var(--header-h) + 2rem); }
.capability-sidebar dl { margin: 0; }
.capability-sidebar div { border-bottom: 1px solid var(--border); padding: 1rem 0; }
.capability-sidebar dt { color: var(--steel); font-family: var(--font-dense); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.capability-sidebar dd { margin: .25rem 0 0; }
.capability-main h2 { margin-top: 2.5rem; }
.numbered-list { counter-reset: item; list-style: none; margin: 2rem 0; padding: 0; }
.numbered-list li { border-top: 1px solid var(--border); counter-increment: item; display: grid; gap: 1rem; grid-template-columns: 3rem 1fr; padding: 1.3rem 0; }
.numbered-list li::before { color: var(--aetherial); content: counter(item, decimal-leading-zero); font-family: var(--font-dense); font-size: .75rem; font-weight: 700; }
.output-list { display: grid; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--border); border: 1px solid var(--border); list-style: none; margin: 2rem 0; padding: 0; }
.output-list li { background: var(--ivory); padding: 1.3rem; }

.filter-bar { align-items: center; border-block: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2rem; padding: 1rem 0; }
.filter-chip { background: transparent; border: 1px solid var(--border); border-radius: 999px; color: var(--slate); cursor: pointer; font-family: var(--font-dense); font-size: .72rem; font-weight: 700; letter-spacing: .06em; padding: .48rem .8rem; text-transform: uppercase; }
.filter-chip:hover, .filter-chip[aria-pressed="true"] { background: var(--royal); border-color: var(--royal); color: var(--ivory); }
.archive-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.archive-grid .publication-card { display: flex; flex-direction: column; }
.archive-grid .publication-card__cover { aspect-ratio: 3/4; }
.archive-grid .publication-card__body { flex: 1; }

.report-hero { background: var(--royal); color: var(--ivory); padding-block: clamp(3rem,6vw,6rem); }
.report-hero__grid { align-items: center; display: grid; gap: 4rem; grid-template-columns: minmax(17rem,.65fr) minmax(0,1.35fr); }
.report-cover { border: 1px solid rgba(244,240,235,.25); max-width: 28rem; width: 100%; }
.report-hero h1 { color: var(--ivory); }
.report-hero .lead { color: var(--silver); }
.report-meta { color: var(--silver); display: flex; flex-wrap: wrap; font-family: var(--font-dense); font-size: .72rem; gap: .5rem 1.2rem; letter-spacing: .07em; margin: 1.5rem 0; text-transform: uppercase; }
.report-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.report-tabs { background: var(--white); border-bottom: 1px solid var(--border); position: sticky; top: var(--header-h); z-index: 50; }
.report-tabs__inner { display: flex; gap: .2rem; overflow-x: auto; }
.report-tabs a { border-bottom: 3px solid transparent; flex: 0 0 auto; font-family: var(--font-dense); font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding: 1rem; text-decoration: none; text-transform: uppercase; }
.report-tabs a.active, .report-tabs a:hover { border-bottom-color: var(--aetherial); color: var(--royal); }
.report-summary-grid { display: grid; gap: 4rem; grid-template-columns: minmax(0,1.4fr) minmax(16rem,.6fr); }
.report-sidebar { align-self: start; border-top: 1px solid var(--border); position: sticky; top: calc(var(--header-h) + 4.5rem); }
.report-sidebar dl { margin: 0; }
.report-sidebar div { border-bottom: 1px solid var(--border); padding: .9rem 0; }
.report-sidebar dt { color: var(--steel); font-family: var(--font-dense); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.report-sidebar dd { margin: .2rem 0 0; font-size: .9rem; }
.finding-grid { display: grid; gap: 1px; grid-template-columns: repeat(3,minmax(0,1fr)); background: var(--border); border: 1px solid var(--border); margin: 2rem 0; }
.finding-card { background: var(--ivory); min-height: 16rem; padding: 1.5rem; }
.finding-card__n { color: var(--aetherial); font-family: var(--font-dense); font-size: .72rem; font-weight: 700; }
.finding-card h3 { font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.35; margin-top: 3rem; }
.finding-card p { font-size: .88rem; }
.citation-panel { background: var(--shadow); color: var(--ivory); padding: 1.5rem; }
.citation-panel h2, .citation-panel h3 { color: var(--ivory); font-family: var(--font-sans); font-size: 1.05rem; }
.citation-panel p { color: var(--silver); font-size: .88rem; }
.citation-panel button { background: transparent; border: 1px solid rgba(244,240,235,.35); color: var(--ivory); cursor: pointer; font-family: var(--font-dense); font-size: .7rem; letter-spacing: .08em; padding: .55rem .75rem; text-transform: uppercase; }

.article-hero { background: var(--ivory); padding-block: clamp(3.5rem,7vw,7rem); }
.article-hero__grid { display: grid; gap: 3rem; grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr); }
.article-hero__cover { border: 1px solid var(--border); max-width: 24rem; justify-self: end; }
.article-meta { color: var(--slate); font-family: var(--font-dense); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.longform-layout { display: grid; gap: 4rem; grid-template-columns: minmax(13rem,.4fr) minmax(0,1.2fr) minmax(11rem,.4fr); }
.toc { align-self: start; border-top: 1px solid var(--border); position: sticky; top: calc(var(--header-h) + 2rem); }
.toc p { color: var(--steel); font-family: var(--font-dense); font-size: .68rem; font-weight: 700; letter-spacing: .1em; margin: .8rem 0; text-transform: uppercase; }
.toc ol { list-style: none; margin: 0; padding: 0; }
.toc li { border-top: 1px solid var(--border); }
.toc a { display: block; font-size: .78rem; line-height: 1.35; padding: .65rem 0; text-decoration: none; }
.prose { max-width: var(--reading); }
.prose h2 { font-size: clamp(2rem,1.6rem + 1vw,3rem); margin-top: 2em; scroll-margin-top: calc(var(--header-h) + 2rem); }
.prose h3 { margin-top: 1.8em; }
.prose p { font-family: var(--font-serif); font-size: clamp(1.1rem,1.03rem + .2vw,1.23rem); line-height: 1.72; }
.prose .lead-paragraph { color: var(--deep-sea); font-size: clamp(1.35rem,1.15rem + .6vw,1.75rem); line-height: 1.55; }
.prose blockquote { border-left: 3px solid var(--aetherial); color: var(--deep-sea); font-family: var(--font-serif); font-size: 1.5rem; margin: 2rem 0; padding-left: 1.5rem; }
.article-side { align-self: start; position: sticky; top: calc(var(--header-h) + 2rem); }
.article-side .rule-label { margin-bottom: 1rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.tag-list a, .tag-list span { border: 1px solid var(--border); border-radius: 999px; color: var(--slate); font-family: var(--font-dense); font-size: .68rem; letter-spacing: .05em; padding: .38rem .6rem; text-decoration: none; text-transform: uppercase; }

.people-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.profile-card { background: var(--white); border: 1px solid var(--border); display: grid; grid-template-columns: minmax(12rem,.75fr) minmax(0,1.25fr); }
.profile-card picture img { height: 100%; object-fit: cover; width: 100%; }
.profile-card__body { align-self: center; padding: 2rem; }
.profile-card .role { color: var(--steel); font-family: var(--font-dense); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.profile-layout { display: grid; gap: 4rem; grid-template-columns: minmax(17rem,.7fr) minmax(0,1.3fr); }
.profile-portrait { border: 1px solid var(--border); }
.profile-copy { align-self: center; }
.expertise-list { display: grid; gap: .6rem; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 2rem 0; padding: 0; }
.expertise-list li { border-top: 1px solid var(--border); padding-top: .6rem; }

.group-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.group-card { background: var(--white); border: 1px solid var(--border); display: flex; flex-direction: column; min-height: 22rem; padding: 1.7rem; }
.group-card__category { color: var(--steel); font-family: var(--font-dense); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.group-card h2 { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.3; margin-top: 3.5rem; }
.group-card p { color: var(--graphite-fade); font-size: .9rem; }
.group-card__status { border-top: 1px solid var(--border); color: var(--slate); font-family: var(--font-dense); font-size: .68rem; letter-spacing: .06em; margin-top: auto; padding-top: .8rem; text-transform: uppercase; }

.contact-grid { display: grid; gap: 4rem; grid-template-columns: minmax(0,1.15fr) minmax(20rem,.85fr); }
.contact-panel { background: var(--royal); color: var(--ivory); padding: clamp(2rem,4vw,4rem); }
.contact-panel h2 { color: var(--ivory); }
.contact-panel a { color: var(--ivory); }
.contact-detail { border-top: 1px solid rgba(244,240,235,.22); padding: 1rem 0; }
.contact-detail span { color: var(--aetherial); display: block; font-family: var(--font-dense); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-note { border: 1px solid var(--border); padding: 2rem; }

.search-form { display: grid; gap: .7rem; grid-template-columns: minmax(0,1fr) auto; margin: 2rem 0; }
.search-form input { background: var(--white); border: 1px solid var(--silver); border-radius: 0; min-height: 3.25rem; padding: .7rem 1rem; }
.search-results { display: grid; gap: 1rem; }
.search-result { background: var(--white); border: 1px solid var(--border); padding: 1.5rem; }
.search-result h2 { font-family: var(--font-sans); font-size: 1.25rem; }
.search-result h2 a { text-decoration: none; }
.search-result__meta { color: var(--steel); font-family: var(--font-dense); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }

.legal-banner { background: var(--warning); color: var(--white); font-family: var(--font-dense); font-size: .75rem; letter-spacing: .04em; padding: .75rem 1rem; text-align: center; }
.legal-layout { display: grid; gap: 4rem; grid-template-columns: minmax(12rem,.45fr) minmax(0,1.55fr); }
.legal-nav { align-self: start; border-top: 1px solid var(--border); position: sticky; top: calc(var(--header-h) + 2rem); }
.legal-nav a { border-bottom: 1px solid var(--border); display: block; font-size: .83rem; padding: .7rem 0; text-decoration: none; }

.notice { border-left: 3px solid var(--aetherial); background: var(--ivory); padding: 1rem 1.2rem; }
.notice strong { display: block; margin-bottom: .25rem; }
.version-list { border-top: 1px solid var(--border); }
.version-item { align-items: center; border-bottom: 1px solid var(--border); display: grid; gap: 1rem; grid-template-columns: 8rem 1fr auto; padding: 1rem 0; }

.error-page { align-items: center; background: var(--royal); color: var(--ivory); display: flex; min-height: 70vh; }
.error-page h1 { color: var(--ivory); font-size: clamp(5rem,15vw,12rem); margin: 0; }
.error-page h2 { color: var(--ivory); }
.error-page p { color: var(--silver); max-width: 40rem; }

.motion-ready .reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .primary-nav { background: var(--royal); border-top: 1px solid rgba(244,240,235,.18); display: none; left: 0; padding: 1rem; position: absolute; right: 0; top: 100%; }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; display: grid; }
  .primary-nav a { justify-content: space-between; padding: .9rem .5rem; }
  .nav-toggle { display: inline-flex; }
  .search-link { border-top: 1px solid rgba(244,240,235,.18); margin-top: .5rem; }
  .latest-layout { grid-template-columns: 1fr; }
  .problem-grid { grid-template-columns: repeat(2,1fr); }
  .problem-card:nth-child(3n) { border-right: 0; }
  .problem-card:nth-child(2n) { border-right: 1px solid var(--border); }
  .problem-card:nth-last-child(-n+3) { border-bottom: 0; }
  .problem-card:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .method-grid { grid-template-columns: repeat(3,1fr); }
  .method-step:nth-child(3) { border-right: 1px solid rgba(244,240,235,.22); }
  .method-step:nth-child(n+4) { border-top: 1px solid rgba(244,240,235,.22); }
  .leadership-grid, .people-grid { grid-template-columns: 1fr; }
  .group-strip { grid-template-columns: repeat(2,1fr); }
  .overview-grid, .archive-grid, .group-grid { grid-template-columns: repeat(2,1fr); }
  .longform-layout { grid-template-columns: 13rem minmax(0,1fr); }
  .article-side { display: none; }
  .site-footer__grid { grid-template-columns: 2fr repeat(2,1fr); }
  .site-footer__grid > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 900px) {
  :root { --header-h: 4.65rem; }
  .brand-lockup img { height: 2.8rem; width: 2.8rem; }
  .brand-lockup__text strong { font-size: 1.05rem; }
  .home-hero__grid { grid-template-columns: 1fr; }
  .home-hero__copy { padding-inline: max(1rem,calc((100vw - var(--max))/2)); }
  .home-hero__media { min-height: 24rem; }
  .two-poles, .region-feature, .contact-grid, .capability-layout, .report-summary-grid, .profile-layout { grid-template-columns: 1fr; }
  .pole-panel { min-height: 28rem; }
  .region-feature__visual { order: -1; }
  .method-grid { grid-template-columns: repeat(2,1fr); }
  .method-step:nth-child(2n) { border-right: 1px solid rgba(244,240,235,.22); }
  .method-step:nth-child(n+3) { border-top: 1px solid rgba(244,240,235,.22); }
  .method-step:nth-child(3) { border-right: 0; }
  .situation-grid { grid-template-columns: 1fr; }
  .report-hero__grid, .article-hero__grid { grid-template-columns: 1fr; }
  .report-cover, .article-hero__cover { max-width: 20rem; justify-self: start; }
  .capability-sidebar, .report-sidebar, .legal-nav { position: static; }
  .longform-layout { grid-template-columns: 1fr; }
  .toc { position: static; }
  .toc ol { columns: 2; column-gap: 2rem; }
  .site-footer__grid { grid-template-columns: repeat(2,1fr); }
  .site-footer__identity { grid-column: 1 / -1; }
  .site-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 680px) {
  .container, .narrow { width: min(calc(100% - 1.25rem), var(--max)); }
  .section { padding-block: var(--space-5); }
  .brand-lockup__text { display: none; }
  .section-heading { align-items: start; grid-template-columns: 1fr; }
  .section-heading__link { margin-top: -1rem; }
  .publication-card, .publication-card--featured { display: flex; flex-direction: column; min-height: 0; }
  .publication-card__cover { aspect-ratio: 16/10; }
  .publication-card--featured .publication-card__cover { aspect-ratio: 3/4; max-height: 29rem; }
  .problem-grid, .overview-grid, .archive-grid, .group-grid, .finding-grid, .linkedin-grid, .group-strip, .output-list, .expertise-list { grid-template-columns: 1fr; }
  .problem-card, .problem-card:nth-child(2n), .problem-card:nth-child(3n) { border-right: 1px solid var(--border); }
  .problem-card:nth-last-child(-n+2) { border-bottom: 0; }
  .problem-card:last-child { border-bottom: 1px solid var(--border); }
  .method-grid { grid-template-columns: 1fr; }
  .method-step, .method-step:nth-child(2n), .method-step:nth-child(3) { border-right: 1px solid rgba(244,240,235,.22); border-top: 1px solid rgba(244,240,235,.22); min-height: 17rem; }
  .method-step:first-child { border-top: 0; }
  .method-step h3 { margin-top: 3rem; }
  .leader-card, .profile-card { grid-template-columns: 1fr; }
  .leader-card picture { aspect-ratio: 4/4; }
  .leader-card picture img { object-position: 50% 26%; }
  .cta-band { grid-template-columns: 1fr; }
  .report-tabs__inner { margin-inline: -.625rem; padding-inline: .625rem; }
  .report-actions, .button-row { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .toc ol { columns: 1; }
  .legal-layout { grid-template-columns: 1fr; }
  .version-item { align-items: start; grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__identity, .site-footer__grid > div:last-child { grid-column: auto; }
  .site-footer__legal { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .page-hero__grid { grid-template-columns: 1fr; }
  .search-form { grid-template-columns: 1fr; }
}

@media print {
  .site-header, .site-footer, .report-tabs, .button-row, .report-actions, .toc, .article-side { display: none !important; }
  body { background: white; color: black; font-size: 10.5pt; }
  .section, .page-hero, .report-hero, .article-hero { padding: 1cm 0; }
  .report-hero, .page-hero--dark { background: white; color: black; }
  .report-hero h1, .page-hero--dark h1 { color: black; }
  a { text-decoration: none; }
  .prose { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
