@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap");

:root {
  --ink: #1e2a2a;
  --deep: #123737;
  --muted: #647676;
  --paper: #f4fafa;
  --wash: #dfefee;
  --line: #c7d9d7;
  --terracotta: #c75d3f;
  --terracotta-dark: #9f4029;
  --terracotta-soft: #d88972;
  --cream: #fbf4e8;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(18, 55, 55, 0.14);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* SPI-inspired visual pass for the ISLS page. Keeps copy/structure intact. */
.isl-page {
  --crimson: #1b6e6e;
  --crimson-dark: #125454;
  --navy: #1e4a4a;
  --navy-deep: #123737;
  --ink: #1e2a2a;
  --cream: #f4fafa;
  --paper: #ffffff;
  --stone: #deeaea;
  --stone-dark: #bcd0d0;
  --gold: #c0883a;
  --muted: #586867;
  --accent: #c75d3f;
  --accent-soft: #d88972;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, sans-serif;
  --maxw: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
  font-family: var(--sans);
  background: var(--cream);
  font-size: 17px;
  line-height: 1.6;
}

.isl-page h1,
.isl-page h2,
.isl-page h3 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.12;
  color: var(--navy-deep);
}

.isl-page .site-header {
  position: sticky;
  display: flex;
  justify-content: space-between;
  gap: 28px;
  min-height: 68px;
  padding: 0 var(--gutter);
  background: rgba(223, 239, 238, 0.92);
  border-bottom: 1px solid var(--stone);
  backdrop-filter: saturate(140%) blur(8px);
}

.isl-page .brand {
  gap: 0;
  background: var(--crimson);
  color: #fff;
  padding: 9px 13px;
}

.isl-page .brand-mark {
  width: auto;
  height: auto;
  color: #fff;
  background: transparent;
  border-radius: 0;
  font-family: var(--serif);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1;
}

.isl-page .brand > span:last-child {
  margin-left: 11px;
  padding-left: 11px;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.isl-page .brand strong,
.isl-page .brand small {
  color: #fff;
  font-family: var(--serif);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.32;
  text-transform: uppercase;
}

.isl-page .primary-nav {
  gap: 28px;
  color: var(--navy);
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 500;
}

.isl-page .primary-nav a:hover {
  color: var(--crimson);
}

.isl-page .header-action,
.isl-page .button {
  min-height: auto;
  padding: 12px 23px;
  border-radius: 2px;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  border: 1px solid var(--crimson);
  text-transform: uppercase;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.isl-page .header-action,
.isl-page .button.secondary {
  color: var(--crimson);
  background: transparent;
}

.isl-page .button.primary {
  color: #fff;
  background: var(--crimson);
}

.isl-page .header-action:hover,
.isl-page .button.secondary:hover {
  color: #fff;
  background: var(--crimson);
}

.isl-page .button.primary:hover {
  background: var(--crimson-dark);
}

.isl-page .hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1.1fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  padding: clamp(36px, 5.5vw, 64px) var(--gutter);
  border-bottom: 1px solid var(--stone);
  background: var(--cream);
}

.isl-page .isl-hero::after {
  display: none;
}

.isl-page h1 {
  max-width: 12ch;
  margin-bottom: 1rem;
  font-size: clamp(2.25rem, 4.8vw, 4.1rem);
  letter-spacing: -0.012em;
  line-height: 1.02;
}

.isl-page .hero-copy p:not(.eyebrow) {
  max-width: 46ch;
  margin: 0 0 1.8rem;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.isl-page .eyebrow,
.isl-page .section-kicker {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.isl-page .research-panel {
  gap: 16px;
  padding: 0;
  border: 1px solid var(--stone-dark);
  border-radius: 0;
  background: var(--paper);
  box-shadow: none;
  backdrop-filter: none;
}

.isl-page .research-panel span {
  display: block;
  margin: 0;
  padding: 9px 16px;
  color: rgba(255, 255, 255, 0.7);
  background: var(--navy-deep);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.isl-page .research-panel strong {
  display: block;
  padding: 18px 22px 0;
  color: var(--navy-deep);
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.16;
}

.isl-page .research-panel p {
  padding: 0 22px;
  color: var(--muted);
  font-size: 0.98rem;
}

.isl-page .research-panel ul {
  margin: 0;
  padding: 0 22px 22px;
}

.isl-page .research-panel li {
  border-top-color: var(--stone);
  color: var(--navy);
  font-size: 0.9rem;
}

.isl-page .proof-strip {
  max-width: none;
  border: 0;
  background: var(--paper);
  border-bottom: 1px solid var(--stone);
}

.isl-page .proof-strip article {
  min-height: 132px;
  border-right: 1px solid var(--stone);
  color: var(--ink);
  background: var(--paper);
}

.isl-page .proof-strip strong {
  color: var(--navy-deep);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
}

.isl-page .proof-strip span {
  color: var(--muted);
}

.isl-page .section,
.isl-page .handover,
.isl-page .contact {
  padding: clamp(48px, 6vw, 78px) var(--gutter);
}

.isl-page .section-heading {
  max-width: 62ch;
  margin-bottom: 2.2rem;
}

.isl-page .section-heading.split {
  align-items: end;
  border-bottom: 2px solid var(--navy);
  padding-bottom: 14px;
}

.isl-page h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
}

.isl-page .lede {
  font-size: clamp(1.45rem, 2.8vw, 2.35rem);
}

.isl-page .statement-section {
  background: var(--paper);
}

.isl-page .statement-section::after {
  color: rgba(27, 110, 110, 0.08);
}

.isl-page .services {
  background: var(--cream);
}

.isl-page .service-ladder {
  gap: 20px;
}

.isl-page .service-ladder article {
  min-height: 320px;
  border: 1px solid var(--stone);
  border-top: 3px solid var(--accent);
  background: var(--paper);
}

.isl-page .service-ladder article:nth-child(even) {
  margin-top: 0;
  background: var(--paper);
}

.isl-page .service-ladder h3 {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.isl-page .process-section {
  background: var(--paper);
}

.isl-page .process-section h2,
.isl-page .process-section h3 {
  color: var(--navy-deep);
}

.isl-page .process-section p {
  color: var(--muted);
}

.isl-page .process-section .section-kicker {
  color: var(--accent);
}

.isl-page .process-grid article,
.isl-page .standards-grid article {
  border: 1px solid var(--stone);
  border-top: 3px solid var(--accent);
  background: var(--paper);
  border-radius: 0;
  box-shadow: none;
}

.isl-page .process-grid span {
  color: #fff;
  background: var(--crimson);
}

.isl-page .standards-section {
  background: var(--cream);
}

.isl-page .handover {
  background: var(--navy-deep);
}

.isl-page .handover-inner {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page .network-map {
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.04);
}

.isl-page .map-node {
  border-radius: 2px;
}

.isl-page .mandate-section {
  background: var(--accent-soft);
}

.isl-page .mandate-section .about-grid {
  border-left: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.isl-page .analysis {
  background: var(--paper);
}

.isl-page .publication-card {
  border-radius: 0;
  border-color: var(--stone);
}

.isl-page .contact {
  background: var(--navy-deep);
}

.isl-page .site-footer {
  background: var(--navy-deep);
  padding: clamp(42px, 6vw, 72px) var(--gutter);
}

.isl-page .footer-brand .brand-mark {
  background: transparent;
  color: #fff;
}

@media (max-width: 1080px) {
  .isl-page .hero {
    grid-template-columns: 1fr;
  }

  .isl-page .primary-nav {
    display: none;
  }
}

@media (max-width: 680px) {
  .isl-page .site-header {
    min-height: 58px;
    padding: 0 14px;
  }

  .isl-page .brand {
    padding: 8px 10px;
  }

  .isl-page .brand small {
    display: block;
  }

  .isl-page .brand strong,
  .isl-page .brand small {
    font-size: 0.52rem;
  }

  .isl-page .header-action {
    padding: 8px 10px;
    font-size: 0.68rem;
  }

  .isl-page .hero {
    padding: 32px 16px;
  }

  .isl-page .button {
    width: 100%;
  }

  .isl-page .section,
  .isl-page .handover,
  .isl-page .contact {
    padding-left: 16px;
    padding-right: 16px;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}

body::selection {
  color: var(--white);
  background: var(--terracotta);
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 560;
  letter-spacing: 0;
}

h1 {
  max-width: 100%;
  margin-bottom: 24px;
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  line-height: 0.92;
  overflow-wrap: break-word;
}

h2 {
  margin-bottom: 18px;
  font-size: clamp(2rem, 4.2vw, 4.4rem);
  line-height: 1;
}

h3 {
  margin-bottom: 10px;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.1;
}

p {
  color: var(--muted);
}

.site-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 22px;
  padding: 14px clamp(16px, 4vw, 54px);
  background: rgba(223, 239, 238, 0.94);
  border-bottom: 1px solid rgba(18, 55, 55, 0.1);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: var(--deep);
}

.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--cream);
  background: var(--deep);
  border-radius: 50%;
  font-size: 0.82rem;
  font-weight: 900;
}

.brand strong,
.brand small {
  display: block;
  line-height: 1.05;
}

.brand strong {
  font-size: 1rem;
  font-weight: 850;
}

.brand small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
  text-transform: uppercase;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
  color: rgba(30, 42, 42, 0.78);
  font-size: 0.9rem;
  font-weight: 760;
}

.primary-nav a:hover,
.site-footer a:hover,
.text-link:hover {
  color: var(--terracotta-dark);
}

.header-action,
.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.header-action,
.button.secondary {
  border: 1px solid rgba(18, 55, 55, 0.22);
  color: var(--deep);
  background: rgba(255, 255, 255, 0.34);
}

.button.primary {
  color: var(--cream);
  background: var(--terracotta);
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.64fr);
  gap: clamp(30px, 5vw, 76px);
  align-items: end;
  min-height: 84vh;
  padding: clamp(106px, 12vh, 140px) clamp(18px, 5vw, 76px) clamp(42px, 5vw, 66px);
  background:
    radial-gradient(circle at 85% 12%, rgba(199, 93, 63, 0.14), transparent 26%),
    linear-gradient(180deg, var(--wash), var(--paper));
}

.hero-copy p:not(.eyebrow) {
  max-width: 760px;
  margin-bottom: 28px;
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
}

.eyebrow,
.section-kicker {
  margin-bottom: 14px;
  color: var(--terracotta-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section-kicker.light {
  color: rgba(255, 255, 255, 0.74);
}

.hero-actions,
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.feature-card {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(18, 55, 55, 0.12);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.feature-card img {
  width: 100%;
  aspect-ratio: 1.25;
  object-fit: cover;
}

.feature-card div {
  padding: 24px;
}

.feature-card span,
.analysis-grid span,
.timeline span,
.service-grid span {
  display: block;
  margin-bottom: 18px;
  color: var(--terracotta-dark);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.feature-card p {
  margin-bottom: 18px;
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  line-height: 1.08;
}

.feature-card strong,
.analysis-grid a,
.text-link {
  color: var(--terracotta-dark);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.isl-hero {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(0, 0.88fr) minmax(340px, 0.58fr);
  align-items: stretch;
  min-height: 88vh;
  background:
    linear-gradient(90deg, rgba(223, 239, 238, 0.96) 0%, rgba(244, 250, 250, 0.9) 48%, rgba(244, 250, 250, 0.42) 100%),
    url("assets/damascus-hero.png") center / cover;
}

.isl-hero::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  height: 100%;
  content: "";
  background: var(--terracotta);
  opacity: 1;
}

.isl-hero > * {
  position: relative;
  z-index: 1;
}

.research-panel {
  align-self: end;
  display: grid;
  gap: 18px;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(18, 55, 55, 0.16);
  border-radius: 8px;
  background: rgba(251, 244, 232, 0.82);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.research-panel span {
  color: var(--terracotta-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.research-panel strong {
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 560;
  line-height: 0.98;
}

.research-panel p {
  margin-bottom: 0;
  color: var(--deep);
}

.research-panel ul {
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.research-panel li {
  padding-top: 10px;
  border-top: 1px solid rgba(18, 55, 55, 0.16);
  color: var(--muted);
  font-weight: 760;
}

.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.proof-strip article {
  min-height: 132px;
  padding: clamp(24px, 4vw, 42px);
  border-right: 1px solid var(--line);
}

.proof-strip strong {
  display: block;
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3.5vw, 3.2rem);
  font-weight: 560;
  line-height: 1;
}

.proof-strip span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
}

.isl-page .proof-strip {
  background: var(--deep);
}

.isl-page .proof-strip article {
  border-right-color: rgba(255, 255, 255, 0.12);
}

.isl-page .proof-strip strong {
  color: var(--cream);
}

.isl-page .proof-strip span {
  color: rgba(255, 255, 255, 0.7);
}

.section {
  padding: clamp(68px, 9vw, 128px) clamp(18px, 5vw, 76px);
}

.section-heading {
  max-width: 980px;
  margin-bottom: 38px;
}

.section-heading.split {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(260px, 0.38fr);
  gap: clamp(24px, 5vw, 76px);
  max-width: none;
  align-items: end;
}

.section-heading.split > p {
  margin-bottom: 22px;
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(320px, 0.62fr);
  gap: clamp(28px, 6vw, 90px);
  max-width: 1240px;
}

.lede {
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 2.7vw, 2.45rem);
  line-height: 1.13;
}

.body-copy p {
  margin-bottom: 18px;
  font-size: 1.05rem;
}

.services {
  background: var(--white);
}

.statement-section {
  position: relative;
  overflow: hidden;
  background: var(--cream);
}

.statement-section::after {
  position: absolute;
  right: clamp(18px, 5vw, 76px);
  bottom: -42px;
  content: "210";
  color: rgba(199, 93, 63, 0.14);
  font-family: Georgia, "Times New Roman", serif;
  font-size: min(24vw, 18rem);
  line-height: 0.82;
}

.statement-section > * {
  position: relative;
  z-index: 1;
}

.isl-page .services {
  background:
    linear-gradient(90deg, var(--white) 0%, var(--white) 50%, var(--wash) 50%, var(--wash) 100%);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.service-grid article {
  min-height: 280px;
  padding: 28px;
  background: var(--white);
}

.service-grid span {
  color: var(--muted);
}

.isl-page .service-grid {
  gap: 14px;
  border: 0;
  background: transparent;
}

.isl-page .service-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.isl-page .service-grid article:nth-child(2),
.isl-page .service-grid article:nth-child(4) {
  transform: translateY(24px);
}

.service-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  counter-reset: service;
}

.service-ladder article {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--line);
  background: var(--white);
}

.service-ladder article + article {
  border-left: 0;
}

.service-ladder article:nth-child(even) {
  margin-top: 46px;
  background: var(--cream);
}

.service-ladder span,
.process-grid span {
  color: var(--terracotta-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-ladder h3 {
  font-size: clamp(1.45rem, 2.8vw, 2.5rem);
}

.process-section {
  background: var(--deep);
}

.process-section h2,
.process-section h3 {
  color: var(--white);
}

.process-section p {
  color: rgba(255, 255, 255, 0.72);
}

.process-section .section-kicker {
  color: #ffc2ad;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.process-grid article {
  min-height: 250px;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
}

.process-grid span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 36px;
  border-radius: 50%;
  color: var(--deep);
  background: var(--cream);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  letter-spacing: 0;
}

.standards-section {
  background: var(--wash);
}

.standards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.standards-grid article {
  min-height: 240px;
  padding: 28px;
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 1px 0 rgba(18, 55, 55, 0.08);
}

.standards-grid h3::before {
  display: block;
  width: 42px;
  height: 4px;
  margin-bottom: 24px;
  content: "";
  background: var(--terracotta-soft);
}

.handover {
  padding: clamp(68px, 9vw, 126px) clamp(18px, 5vw, 76px);
  color: var(--white);
  background:
    linear-gradient(rgba(18, 55, 55, 0.9), rgba(18, 55, 55, 0.92)),
    url("assets/damascus-hero.png") center / cover;
}

.isl-page .handover {
  background:
    linear-gradient(135deg, rgba(18, 55, 55, 0.96) 0%, rgba(18, 55, 55, 0.88) 54%, rgba(159, 64, 41, 0.88) 100%),
    url("assets/legislative-research-hero.png") center / cover;
}

.handover-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(360px, 0.8fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: start;
}

.handover h2,
.handover h3,
.contact h2 {
  color: var(--white);
}

.handover p,
.contact p {
  color: rgba(255, 255, 255, 0.78);
}

.timeline {
  display: grid;
  gap: 14px;
}

.timeline article {
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

.timeline span {
  color: #ffc2ad;
}

.timeline p {
  margin-bottom: 0;
}

.network-map {
  position: relative;
  overflow: hidden;
  min-height: 680px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.network-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.network-lines path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.3);
  stroke-width: 2;
  stroke-linecap: round;
}

.map-node {
  position: absolute;
  z-index: 1;
  width: 172px;
  min-height: 96px;
  display: grid;
  align-content: center;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  text-align: center;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(10px);
}

.map-node span {
  display: block;
  margin-bottom: 8px;
  color: #ffc2ad;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.map-node strong {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  font-weight: 560;
  line-height: 1.05;
}

.map-hub {
  left: 50%;
  top: 50%;
  width: 230px;
  min-height: 138px;
  background: rgba(216, 137, 114, 0.22);
}

.map-hub strong {
  font-size: 1.7rem;
}

.map-parliament {
  left: 50%;
  top: 85%;
  background: rgba(216, 137, 114, 0.28);
}

.map-princeton {
  left: 25.5%;
  top: 20%;
}

.map-georgetown {
  left: 50%;
  top: 13%;
}

.map-harvard {
  left: 74.5%;
  top: 20%;
}

.map-researchers {
  left: 14.5%;
  top: 53%;
}

.map-practitioners {
  left: 85.5%;
  top: 53%;
}

.map-specialists {
  left: 50%;
  top: 68%;
}

.web-note {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 22px;
  width: calc(100% - 44px);
  max-width: 620px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.72);
  text-align: center;
  transform: translateX(-50%);
}

.mandate-section {
  color: var(--white);
  background: var(--terracotta-soft);
}

.mandate-section .about-grid {
  align-items: start;
  padding: clamp(28px, 5vw, 54px);
  border-left: 7px solid var(--cream);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 1px 0 rgba(18, 55, 55, 0.08);
}

.mandate-label h2 {
  color: var(--white);
  margin-bottom: 0;
}

.mandate-section .section-kicker {
  color: rgba(255, 255, 255, 0.78);
}

.mandate-lede {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.16;
}

.mandate-section p {
  color: rgba(255, 255, 255, 0.84);
}

.analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(310px, 0.62fr);
  gap: 18px;
}

.analysis-feature,
.analysis-list article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.analysis-feature {
  display: grid;
  grid-template-columns: minmax(260px, 0.58fr) minmax(0, 0.62fr);
  overflow: hidden;
}

.analysis-feature img {
  width: 100%;
  height: 100%;
  min-height: 410px;
  object-fit: cover;
}

.analysis-feature div {
  padding: clamp(28px, 4vw, 46px);
}

.analysis-list {
  display: grid;
  gap: 18px;
}

.analysis-list article {
  min-height: 170px;
  padding: 24px;
}

.network {
  background: var(--wash);
}

.network-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid rgba(18, 55, 55, 0.14);
  background: rgba(255, 255, 255, 0.38);
}

.network-grid span {
  display: grid;
  min-height: 120px;
  place-items: center;
  padding: 18px;
  border-right: 1px solid rgba(18, 55, 55, 0.14);
  color: var(--deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 1.6vw, 1.45rem);
  text-align: center;
}

.publications-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.publications-list article {
  min-height: 260px;
}

.publication-deck {
  display: grid;
  grid-auto-columns: minmax(380px, 44vw);
  grid-auto-flow: column;
  gap: 18px;
  overflow-x: auto;
  padding: 4px 0 18px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--terracotta-soft) transparent;
}

.publication-card {
  min-height: 330px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  scroll-snap-align: start;
}

.publication-card:first-child {
  color: var(--white);
  border-color: transparent;
  background: var(--deep);
}

.publication-card:first-child h3,
.publication-card:first-child p {
  color: var(--white);
}

.publication-card:first-child p {
  color: rgba(255, 255, 255, 0.72);
}

.publication-card a {
  display: inline-flex;
  margin-top: 18px;
  color: #ffc2ad;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding: clamp(56px, 7vw, 92px) clamp(18px, 5vw, 76px);
  color: var(--white);
  background: var(--terracotta);
}

.contact h2 {
  max-width: 780px;
  margin-bottom: 0;
}

.contact .button.primary {
  color: var(--deep);
  background: var(--cream);
}

.contact .button.secondary {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.44);
  background: transparent;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) auto;
  gap: 32px;
  padding: clamp(42px, 6vw, 72px) clamp(18px, 5vw, 76px);
  color: rgba(255, 255, 255, 0.72);
  background: var(--deep);
}

.footer-brand {
  margin-bottom: 18px;
  color: var(--white);
}

.footer-brand .brand-mark {
  color: var(--deep);
  background: var(--cream);
}

.footer-brand small {
  color: rgba(255, 255, 255, 0.58);
}

.site-footer p {
  max-width: 460px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.68);
}

.site-footer nav {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 190px;
}

.site-footer a {
  color: rgba(255, 255, 255, 0.72);
  font-weight: 760;
}

.copyright {
  grid-column: 1 / -1;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.9rem;
}

@media (max-width: 1080px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .primary-nav {
    display: none;
  }

  .hero,
  .isl-hero,
  .handover-inner,
  .analysis-grid,
  .section-heading.split,
  .about-grid,
  .contact,
  .site-footer {
    grid-template-columns: 1fr;
  }

  .feature-card {
    grid-template-columns: minmax(180px, 0.36fr) minmax(0, 1fr);
    max-width: 620px;
  }

  .feature-card img {
    height: 100%;
    aspect-ratio: auto;
  }

  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-ladder,
  .process-grid,
  .standards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-ladder article + article {
    border-left: 1px solid var(--line);
  }

  .service-ladder article:nth-child(even) {
    margin-top: 0;
  }

  .network-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .publications-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .network-map {
    display: grid;
    min-height: auto;
    gap: 12px;
    padding: 18px;
  }

  .network-lines {
    display: none;
  }

  .map-node,
  .web-note {
    position: static;
    width: auto;
    min-height: 96px;
    transform: none;
  }

  .map-hub {
    width: auto;
    min-height: 118px;
    order: -1;
  }

  .web-note {
    width: auto;
    max-width: none;
    margin-top: 4px;
  }
}

@media (max-width: 680px) {
  .site-header {
    padding: 11px 14px;
  }

  .brand-mark {
    width: 36px;
    height: 36px;
    font-size: 0.76rem;
  }

  .brand small {
    display: none;
  }

  .header-action {
    min-height: 36px;
    padding: 0 12px;
    font-size: 0.74rem;
  }

  .hero {
    min-height: auto;
    gap: 18px;
    padding-top: 82px;
    padding-bottom: 26px;
  }

  h1 {
    font-size: clamp(2.25rem, 9.8vw, 3.1rem);
  }

  .hero-copy p:not(.eyebrow) {
    font-size: 1.02rem;
  }

  .hero-actions,
  .contact-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .button {
    width: 100%;
  }

  .proof-strip,
  .service-grid,
  .service-ladder,
  .process-grid,
  .standards-grid,
  .publications-list,
  .network-grid {
    grid-template-columns: 1fr;
  }

  .service-ladder article {
    min-height: 240px;
  }

  .isl-hero::after {
    display: none;
  }

  .isl-page .service-grid article:nth-child(2),
  .isl-page .service-grid article:nth-child(4) {
    transform: none;
  }

  .research-panel {
    gap: 12px;
    padding: 18px;
  }

  .research-panel strong {
    font-size: 1.55rem;
  }

  .research-panel ul {
    display: none;
  }

  .publication-deck {
    grid-auto-columns: minmax(300px, 86vw);
  }

  .feature-card {
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .feature-card div {
    padding: 16px;
  }

  .feature-card span {
    margin-bottom: 10px;
  }

  .feature-card p {
    margin-bottom: 12px;
    font-size: 1.04rem;
  }

  .analysis-feature {
    grid-template-columns: 1fr;
  }

  .proof-strip article,
  .network-grid span {
    min-height: 104px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .isl-page .proof-strip article {
    border-bottom-color: rgba(255, 255, 255, 0.12);
  }

  .service-grid article {
    min-height: 220px;
  }

  .analysis-feature img {
    min-height: 240px;
  }
}

/* Final ISLS visual layer: SPI-inspired style, current copy preserved. */
.isl-page {
  --crimson: #1b6e6e;
  --crimson-dark: #125454;
  --navy: #1e4a4a;
  --navy-deep: #123737;
  --stone: #deeaea;
  --stone-dark: #bcd0d0;
  --accent: #c75d3f;
  --accent-soft: #d88972;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --maxw: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
  background: #f4fafa;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
}

.isl-page h1,
.isl-page h2,
.isl-page h3 {
  color: var(--navy-deep);
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.08;
}

.isl-page h1 {
  max-width: 12ch;
  margin-bottom: 1rem;
  font-size: clamp(2.35rem, 4.8vw, 4.15rem);
}

.isl-page h2 {
  font-size: clamp(1.8rem, 3.35vw, 2.7rem);
}

.isl-page p {
  color: var(--muted);
}

.isl-page .site-header {
  position: sticky;
  inset: auto;
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 0 var(--gutter);
  background: rgba(223, 239, 238, 0.94);
  border-bottom: 1px solid var(--stone);
  backdrop-filter: saturate(140%) blur(8px);
}

.isl-page .brand {
  gap: 0;
  padding: 9px 13px;
  color: #fff;
  background: var(--crimson);
}

.isl-page .brand-mark {
  width: auto;
  height: auto;
  color: #fff;
  background: transparent;
  border-radius: 0;
  font-family: var(--serif);
  font-size: 1.7rem;
  font-weight: 600;
}

.isl-page .brand > span:last-child {
  margin-left: 11px;
  padding-left: 11px;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.isl-page .brand strong,
.isl-page .brand small {
  color: #fff;
  font-family: var(--serif);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.32;
  text-transform: uppercase;
}

.isl-page .primary-nav {
  gap: 28px;
  color: var(--navy);
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 500;
}

.isl-page .header-action,
.isl-page .button {
  min-height: auto;
  padding: 12px 23px;
  border: 1px solid var(--crimson);
  border-radius: 2px;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.isl-page .header-action,
.isl-page .button.secondary {
  color: var(--crimson);
  background: transparent;
}

.isl-page .button.primary {
  color: #fff;
  background: var(--crimson);
}

.isl-page .header-action:hover,
.isl-page .button.secondary:hover {
  color: #fff;
  background: var(--crimson);
}

.isl-page .hero {
  display: grid;
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1.1fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  padding: clamp(36px, 5.5vw, 64px) var(--gutter);
  border-bottom: 1px solid var(--stone);
  background: #f4fafa;
}

.isl-page .isl-hero::after {
  display: none;
}

.isl-page .hero-copy p:not(.eyebrow) {
  max-width: 46ch;
  margin-bottom: 1.8rem;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.isl-page .eyebrow,
.isl-page .section-kicker {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.isl-page .research-panel,
.isl-page .process-grid article,
.isl-page .standards-grid article,
.isl-page .publication-card,
.isl-page .service-ladder article {
  border: 1px solid var(--stone);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.isl-page .research-panel {
  gap: 16px;
  padding: 0;
  border-color: var(--stone-dark);
  backdrop-filter: none;
}

.isl-page .research-panel span {
  display: block;
  margin: 0;
  padding: 9px 16px;
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy-deep);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.isl-page .research-panel strong {
  display: block;
  padding: 18px 22px 0;
  color: var(--navy-deep);
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
}

.isl-page .research-panel p {
  padding: 0 22px;
}

.isl-page .research-panel ul {
  padding: 0 22px 22px;
}

.isl-page .proof-strip {
  max-width: none;
  border: 0;
  border-bottom: 1px solid var(--stone);
  background: #fff;
}

.isl-page .proof-strip article {
  min-height: 132px;
  border-right: 1px solid var(--stone);
  color: var(--ink);
  background: #fff;
}

.isl-page .proof-strip strong {
  color: var(--navy-deep);
  font-family: var(--serif);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
}

.isl-page .section,
.isl-page .handover,
.isl-page .contact {
  padding: clamp(48px, 6vw, 78px) var(--gutter);
}

.isl-page .section-heading {
  max-width: 62ch;
  margin-bottom: 2.2rem;
}

.isl-page .section-heading.split {
  align-items: end;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--navy);
}

.isl-page .statement-section,
.isl-page .process-section,
.isl-page .analysis {
  background: #fff;
}

.isl-page .services,
.isl-page .standards-section {
  background: #f4fafa;
}

.isl-page .service-ladder {
  gap: 20px;
}

.isl-page .service-ladder article,
.isl-page .process-grid article,
.isl-page .standards-grid article {
  border-top: 3px solid var(--accent);
}

.isl-page .service-ladder article:nth-child(even) {
  margin-top: 0;
  background: #fff;
}

.isl-page .process-grid span {
  color: #fff;
  background: var(--crimson);
}

.isl-page .handover,
.isl-page .contact,
.isl-page .site-footer {
  background: var(--navy-deep);
}

.isl-page .handover h2,
.isl-page .handover h3,
.isl-page .contact h2,
.isl-page .site-footer strong,
.isl-page .site-footer a {
  color: #fff;
}

.isl-page .handover p,
.isl-page .contact p,
.isl-page .site-footer p,
.isl-page .site-footer small,
.isl-page .copyright {
  color: rgba(255, 255, 255, 0.72);
}

.isl-page .contact .button.secondary {
  border-color: rgba(255, 255, 255, 0.36);
  color: #fff;
}

.isl-page .handover-inner {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page .network-map {
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.04);
}

.isl-page .map-node {
  border-radius: 2px;
}

.isl-page .mandate-section {
  background: #d88972;
}

.isl-page .mandate-section .about-grid {
  padding: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}

.isl-page .publication-deck {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, 28vw);
  gap: 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
}

.isl-page .publication-card {
  scroll-snap-align: start;
}

.isl-page .site-footer {
  padding: clamp(42px, 6vw, 72px) var(--gutter);
}

.isl-page .footer-brand .brand-mark {
  background: transparent;
  color: #fff;
}

@media (max-width: 1080px) {
  .isl-page .hero,
  .isl-page .handover-inner,
  .isl-page .analysis-grid,
  .isl-page .section-heading.split,
  .isl-page .about-grid,
  .isl-page .contact,
  .isl-page .site-footer {
    grid-template-columns: 1fr;
  }

  .isl-page .primary-nav {
    display: none;
  }
}

@media (max-width: 680px) {
  .isl-page .site-header {
    min-height: 58px;
    padding: 0 14px;
  }

  .isl-page .brand {
    padding: 8px 10px;
  }

  .isl-page .brand strong,
  .isl-page .brand small {
    font-size: 0.52rem;
  }

  .isl-page .header-action {
    padding: 8px 10px;
    font-size: 0.68rem;
  }

  .isl-page .hero {
    padding: 32px 16px;
  }

  .isl-page .button {
    width: 100%;
  }

  .isl-page .publication-deck {
    grid-auto-columns: minmax(300px, 86vw);
  }
}

/* Brief-driven ILS site components. */
.isl-page .ils-hero {
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.88fr);
  align-items: stretch;
}

.isl-page .hero-subhead {
  color: var(--navy-deep);
  font-size: clamp(1.05rem, 1.55vw, 1.28rem);
}

.isl-page .hero-visual {
  display: grid;
  min-height: 540px;
  margin: 0;
  border: 1px solid var(--stone-dark);
  background: #fff;
}

.isl-page .hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  filter: saturate(0.88) contrast(0.96);
}

.isl-page .hero-visual figcaption {
  padding: 14px 18px;
  border-top: 1px solid var(--stone);
  color: var(--muted);
  font-size: 0.84rem;
}

.isl-page .page-hero {
  padding: clamp(58px, 8vw, 108px) var(--gutter) clamp(48px, 6vw, 78px);
  border-bottom: 1px solid var(--stone);
  background: #f4fafa;
}

.isl-page .page-hero h1 {
  max-width: 13ch;
}

.isl-page .page-hero p:not(.eyebrow) {
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.55;
}

.isl-page .three-column,
.isl-page .six-grid,
.isl-page .timeline,
.isl-page .contact-cards {
  display: grid;
  max-width: var(--maxw);
  margin-inline: auto;
  gap: 20px;
}

.isl-page .three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isl-page .six-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isl-page .three-column article,
.isl-page .timeline article,
.isl-page .contact-cards article {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--stone);
  border-top: 3px solid var(--accent);
  background: #fff;
}

.isl-page .three-column h3,
.isl-page .timeline h3,
.isl-page .contact-cards h2 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.isl-page .section-note,
.isl-page .small-note {
  max-width: 880px;
  margin: 26px auto 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.isl-page .section-button {
  width: fit-content;
  margin-top: 28px;
}

.isl-page .chapter-list {
  margin-top: 30px;
}

.isl-page .chapter-list article {
  min-height: 132px;
  display: grid;
  align-items: end;
}

.isl-page .publication-card small {
  display: block;
  margin-top: auto;
  padding-top: 18px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.isl-page .capacity-section,
.isl-page .values-section,
.isl-page .comparison-section,
.isl-page .impartiality-section {
  background: #fff;
}

.isl-page .timeline {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  counter-reset: year;
}

.isl-page .timeline article {
  position: relative;
}

.isl-page .timeline article::before {
  content: "";
  position: absolute;
  top: 41px;
  right: calc(100% - 1px);
  width: 20px;
  height: 1px;
  background: rgba(18, 55, 55, 0.28);
}

.isl-page .timeline article:first-child::before {
  display: none;
}

.isl-page .timeline span,
.isl-page .service-detail .section-kicker {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.isl-page .service-detail,
.isl-page .contact-grid-section {
  display: grid;
  grid-template-columns: minmax(0, 0.76fr) minmax(320px, 0.82fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: start;
  background: #fff;
}

.isl-page .service-detail.alt,
.isl-page .contact-cards,
.isl-page .services {
  background: #f4fafa;
}

.isl-page .detail-panel,
.isl-page .callout,
.isl-page .request-form {
  border: 1px solid var(--stone);
  background: #fff;
}

.isl-page .detail-panel {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.isl-page .check-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.isl-page .check-list li {
  position: relative;
  padding-left: 24px;
  color: var(--ink);
}

.isl-page .check-list li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 10px;
  height: 1px;
  background: var(--accent);
}

.isl-page .two-col-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 28px;
  border: 1px solid var(--stone);
  background: #fff;
}

.isl-page .callout {
  padding: 24px;
  border-left: 4px solid var(--accent);
}

.isl-page .callout h3 {
  font-size: 1.35rem;
}

.isl-page .policy-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-content: start;
}

.isl-page .policy-list span {
  display: inline-flex;
  padding: 10px 13px;
  border: 1px solid var(--stone-dark);
  color: var(--navy-deep);
  background: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}

.isl-page .comparison-table {
  max-width: var(--maxw);
  margin-inline: auto;
  border: 1px solid var(--stone);
  background: #fff;
}

.isl-page .comparison-table > div {
  display: grid;
  grid-template-columns: 0.72fr 1fr;
  border-bottom: 1px solid var(--stone);
}

.isl-page .comparison-table > div:last-child {
  border-bottom: 0;
}

.isl-page .comparison-table strong,
.isl-page .comparison-table span {
  padding: 18px 20px;
}

.isl-page .comparison-table strong {
  color: #fff;
  background: var(--navy-deep);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.isl-page .comparison-table span:first-child {
  color: var(--navy-deep);
  font-weight: 700;
}

.isl-page .comparison-table span + span,
.isl-page .comparison-table strong + strong {
  border-left: 1px solid var(--stone);
}

.isl-page .contact-grid-section {
  background: #fff;
}

.isl-page .request-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 24px;
}

.isl-page .request-form label {
  display: grid;
  gap: 7px;
}

.isl-page .request-form span {
  color: var(--navy-deep);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.isl-page .request-form input,
.isl-page .request-form textarea {
  width: 100%;
  border: 1px solid var(--stone-dark);
  border-radius: 0;
  padding: 11px 12px;
  color: var(--ink);
  background: #f9fcfc;
  font: inherit;
}

.isl-page .request-form textarea {
  resize: vertical;
}

.isl-page .full-field,
.isl-page .request-form .button,
.isl-page .request-form .small-note {
  grid-column: 1 / -1;
}

.isl-page .request-form .button {
  width: fit-content;
}

.isl-page .contact-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.isl-page .closing-band {
  grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 1080px) {
  .isl-page .ils-hero,
  .isl-page .service-detail,
  .isl-page .contact-grid-section {
    grid-template-columns: 1fr;
  }

  .isl-page .hero-visual {
    min-height: auto;
  }

  .isl-page .hero-visual img {
    min-height: 360px;
  }

  .isl-page .three-column,
  .isl-page .six-grid,
  .isl-page .timeline,
  .isl-page .contact-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .isl-page .page-hero {
    padding: 36px 16px;
  }

  .isl-page .hero-visual img {
    min-height: 260px;
  }

  .isl-page .three-column,
  .isl-page .six-grid,
  .isl-page .timeline,
  .isl-page .two-col-list,
  .isl-page .contact-cards,
  .isl-page .request-form,
  .isl-page .comparison-table > div {
    grid-template-columns: 1fr;
  }

  .isl-page .comparison-table span + span,
  .isl-page .comparison-table strong + strong {
    border-left: 0;
    border-top: 1px solid var(--stone);
  }

  .isl-page .timeline article::before {
    display: none;
  }
}

/* SPI typography pass: calmer Newsreader scale and cleaner Inter rhythm. */
.isl-page {
  --crimson: #1b6e6e;
  --crimson-dark: #125454;
  --navy: #1e4a4a;
  --navy-deep: #123737;
  --ink: #1e2a2a;
  --cream: #f4fafa;
  --paper: #ffffff;
  --stone: #deeaea;
  --stone-dark: #bcd0d0;
  --gold: #c0883a;
  --muted: #586867;
  --accent: #c75d3f;
  --accent-dark: #a8462c;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.isl-page h1,
.isl-page h2,
.isl-page h3,
.isl-page h4,
.isl-page h5 {
  color: var(--navy-deep);
  font-family: var(--serif);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.12;
}

.isl-page h1 {
  max-width: 20ch;
  margin-bottom: 1rem;
  font-size: clamp(1.9rem, 3.8vw, 2.8rem);
  letter-spacing: -0.012em;
}

.isl-page h2 {
  font-size: clamp(1.7rem, 3vw, 2.25rem);
}

.isl-page h3 {
  font-size: clamp(1.18rem, 1.7vw, 1.36rem);
}

.isl-page p {
  color: var(--muted);
  line-height: 1.6;
}

.isl-page .eyebrow,
.isl-page .section-kicker {
  margin: 0 0 0.9rem;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.isl-page .primary-nav {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 500;
}

.isl-page .brand-mark {
  font-size: 1.7rem;
  letter-spacing: 0.01em;
}

.isl-page .brand strong,
.isl-page .brand small {
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.14em;
}

.isl-page .header-action,
.isl-page .button {
  padding: 12px 23px;
  border-radius: 2px;
  font-family: var(--sans);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.isl-page .hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1.1fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  padding: clamp(36px, 5.5vw, 64px) var(--gutter);
}

.isl-page .hero-subhead,
.isl-page .hero-copy p:not(.eyebrow) {
  max-width: 46ch;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.isl-page .hero-subhead {
  color: var(--ink);
  font-size: clamp(1.05rem, 1.6vw, 1.18rem);
}

.isl-page .hero-visual {
  min-height: auto;
  border: 1px solid var(--stone-dark);
  background: var(--paper);
}

.isl-page .hero-visual img {
  min-height: 360px;
  max-height: 520px;
  object-fit: cover;
}

.isl-page .section,
.isl-page .handover,
.isl-page .contact {
  padding: clamp(36px, 5vw, 60px) var(--gutter);
}

.isl-page .section-heading {
  margin-bottom: 2.2rem;
}

.isl-page .section-heading.split {
  gap: 24px;
  padding-bottom: 12px;
}

.isl-page .service-grid,
.isl-page .six-grid {
  gap: 20px;
}

.isl-page .service-grid article,
.isl-page .three-column article,
.isl-page .publication-card {
  min-height: auto;
  padding: 30px 28px 34px;
  border: 1px solid var(--stone);
  border-top: 3px solid var(--accent);
  border-radius: 0;
  background: var(--paper);
  box-shadow: none;
}

.isl-page .service-grid span,
.isl-page .publication-card span {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.isl-page .publication-deck {
  grid-auto-columns: minmax(300px, 31vw);
}

.isl-page .publication-card h3 {
  margin-top: 0.75rem;
  margin-bottom: 0.6rem;
  font-size: 1.28rem;
  line-height: 1.2;
}

.isl-page .publication-card p,
.isl-page .service-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.55;
}

.isl-page .publication-card small {
  color: var(--gold);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
}

.isl-page .lede {
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  line-height: 1.4;
}

@media (max-width: 1080px) {
  .isl-page .hero {
    grid-template-columns: 1fr;
  }

  .isl-page .publication-deck {
    grid-auto-columns: minmax(300px, 42vw);
  }
}

@media (max-width: 680px) {
  .isl-page h1 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .isl-page .hero {
    padding: 32px 16px;
  }

  .isl-page .hero-visual img {
    min-height: 240px;
  }

  .isl-page .publication-deck {
    grid-auto-columns: minmax(286px, 86vw);
  }

  .isl-page .brand-mark {
    font-size: 1.35rem;
  }
}

/* Exacting type cleanup for the SPI reference feel. */
.isl-page,
.isl-page * {
  font-style: normal;
}

.isl-page .hero-copy,
.isl-page .section-heading,
.isl-page .body-copy,
.isl-page .service-grid,
.isl-page .publication-card,
.isl-page .site-footer {
  font-family: var(--sans);
}

.isl-page h1,
.isl-page h2,
.isl-page h3,
.isl-page .brand,
.isl-page .primary-nav,
.isl-page .lede {
  font-family: var(--serif);
}

.isl-page h1,
.isl-page h2,
.isl-page h3 {
  font-weight: 500;
}

.isl-page h1 {
  font-size: clamp(1.9rem, 3.8vw, 2.8rem);
  line-height: 1.12;
}

.isl-page .hero-copy p:not(.eyebrow),
.isl-page .section-heading.split > p,
.isl-page .body-copy p {
  font-size: 1.05rem;
  line-height: 1.55;
}

.isl-page .service-grid h3,
.isl-page .publication-card h3,
.isl-page .chapter-list h3 {
  font-size: 1.28rem;
  line-height: 1.2;
}

.isl-page .site-header {
  min-height: 68px;
}

/* Institutional color refresh: warmer paper, deeper navy, quieter gold accents. */
.isl-page {
  --crimson: #1f3b57;
  --crimson-dark: #16283a;
  --navy: #22384d;
  --navy-deep: #132334;
  --ink: #202833;
  --cream: #f6f2e9;
  --paper: #fffdf8;
  --stone: #dfd6c7;
  --stone-dark: #c8bba8;
  --gold: #a8792e;
  --muted: #66717c;
  --accent: #b8843d;
  --accent-dark: #93652c;
  background: var(--cream);
  color: var(--ink);
}

.isl-page .site-header {
  background: rgba(246, 242, 233, 0.94);
  border-bottom-color: var(--stone);
}

.isl-page .brand {
  background: var(--navy-deep);
}

.isl-page .primary-nav {
  color: var(--navy);
}

.isl-page .primary-nav a:hover {
  color: var(--gold);
}

.isl-page .header-action,
.isl-page .button.secondary {
  border-color: var(--navy);
  color: var(--navy);
  background: transparent;
}

.isl-page .button.primary {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page .header-action:hover,
.isl-page .button.secondary:hover,
.isl-page .button.primary:hover {
  border-color: var(--accent-dark);
  background: var(--accent-dark);
  color: #fff;
}

.isl-page .hero,
.isl-page .page-hero,
.isl-page .services,
.isl-page .standards-section {
  background: var(--cream);
}

.isl-page .statement-section,
.isl-page .capacity-section,
.isl-page .values-section,
.isl-page .analysis,
.isl-page .comparison-section,
.isl-page .impartiality-section {
  background: var(--paper);
}

.isl-page .section-heading.split {
  border-bottom-color: var(--navy-deep);
}

.isl-page .eyebrow,
.isl-page .section-kicker,
.isl-page .service-grid span,
.isl-page .publication-card span {
  color: var(--gold);
}

.isl-page .service-grid article,
.isl-page .three-column article,
.isl-page .publication-card,
.isl-page .detail-panel,
.isl-page .callout,
.isl-page .request-form,
.isl-page .hero-visual {
  border-color: var(--stone);
  background: var(--paper);
}

.isl-page .service-grid article,
.isl-page .three-column article,
.isl-page .publication-card {
  border-top-color: var(--gold);
}

.isl-page .callout {
  border-left-color: var(--gold);
}

.isl-page .check-list li::before {
  background: var(--gold);
}

.isl-page .publication-card small {
  color: var(--gold);
}

.isl-page .contact,
.isl-page .handover,
.isl-page .site-footer {
  background: var(--navy-deep);
}

/* Final home-only section color variation. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.07), transparent 48%),
    var(--cream);
}

.isl-page main > .services {
  background: var(--paper);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .analysis {
  background: #f8fbfb;
}

.isl-page main > .closing-band {
  background: #f7e6cf;
  border-top: 1px solid rgba(192, 136, 58, 0.18);
  border-bottom: 1px solid rgba(192, 136, 58, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: var(--terracotta-dark, #9f4029);
}

.isl-page main > .closing-band .button.primary {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .closing-band .button.primary:hover {
  border-color: var(--crimson);
  background: var(--crimson);
}

/* TIMEP-inspired home rhythm: varied sections, one coherent palette. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.08), transparent 44%),
    linear-gradient(180deg, #f4fafa 0%, #ecf6f5 100%);
}

.isl-page main > .hero.ils-hero .hero-copy {
  padding-left: clamp(0px, 1vw, 14px);
  border-left: 4px solid var(--accent);
}

.isl-page main > .services {
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .services h2 {
  color: #fff;
}

.isl-page main > .services .section-heading.split {
  border-bottom-color: rgba(255, 255, 255, 0.22);
}

.isl-page main > .services .section-heading.split > p {
  color: rgba(255, 255, 255, 0.72);
}

.isl-page main > .services .section-kicker {
  color: #d4aa65;
}

.isl-page main > .services .service-grid article {
  border-color: rgba(255, 255, 255, 0.16);
  border-top-color: #d4aa65;
  background: rgba(255, 255, 255, 0.06);
}

.isl-page main > .services .service-grid h3 {
  color: #fff;
}

.isl-page main > .services .service-grid p {
  color: rgba(255, 255, 255, 0.74);
}

.isl-page main > .services .service-grid span {
  color: #d4aa65;
}

.isl-page main > .services > .section-button {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.isl-page main > .services > .section-button:hover {
  border-color: var(--accent);
  background: var(--accent);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .statement-section .about-grid {
  padding: clamp(26px, 4vw, 42px);
  border-left: 4px solid var(--crimson);
  background: rgba(255, 255, 255, 0.5);
}

.isl-page main > .statement-section .chapter-list article {
  background: #fff;
  border-color: rgba(27, 110, 110, 0.16);
  border-top-color: var(--crimson);
}

.isl-page main > .analysis {
  background:
    linear-gradient(90deg, rgba(199, 93, 63, 0.08), transparent 36%),
    #ffffff;
}

.isl-page main > .analysis .section-heading.split {
  border-bottom-color: var(--accent);
}

.isl-page main > .analysis .publication-card {
  border-color: var(--stone);
  border-top-color: var(--navy-deep);
  background: #f8fbfb;
}

.isl-page main > .analysis .publication-card span {
  color: var(--accent);
}

.isl-page main > .analysis .button.secondary {
  border-color: var(--accent);
  color: var(--accent);
}

.isl-page main > .analysis .button.secondary:hover {
  background: var(--accent);
  color: #fff;
}

.isl-page main > .closing-band {
  background: #f7e6cf;
  border-top: 1px solid rgba(192, 136, 58, 0.18);
  border-bottom: 1px solid rgba(192, 136, 58, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: #9f5f1f;
}

/* Latest home composition: modest hero, strong featured deck, lighter services. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.08), transparent 44%),
    linear-gradient(180deg, #f4fafa 0%, #ecf6f5 100%);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 760px;
  padding-left: clamp(0px, 1vw, 14px);
  border-left: 4px solid var(--accent);
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 15ch;
}

.isl-page main .featured-analysis {
  overflow: hidden;
  background: #ffffff;
}

.isl-page main .featured-analysis .section-heading {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page main .featured-deck {
  max-width: var(--maxw);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--stone);
  background: var(--navy-deep);
}

.isl-page main .featured-track {
  display: grid;
  width: 500%;
  grid-template-columns: repeat(5, 1fr);
  animation: featured-slide 25s infinite;
  will-change: transform;
}

.isl-page main .featured-track:hover,
.isl-page main .featured-track:focus-within {
  animation-play-state: paused;
}

.isl-page main .featured-card {
  min-height: clamp(360px, 46vw, 520px);
  display: grid;
  align-content: end;
  padding: clamp(30px, 5vw, 64px);
  text-decoration: none;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.16), transparent 46%),
    var(--navy-deep);
}

.isl-page main a.featured-card {
  cursor: pointer;
}

.isl-page main a.featured-card:hover h3,
.isl-page main a.featured-card:focus h3 {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.12em;
}

.isl-page main a.featured-card:focus {
  outline: 3px solid #d4aa65;
  outline-offset: -8px;
}

.isl-page main .featured-card:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(199, 93, 63, 0.18), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(3) {
  background:
    linear-gradient(135deg, rgba(192, 136, 58, 0.22), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(4) {
  background:
    linear-gradient(135deg, rgba(223, 239, 238, 0.12), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(5) {
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.2), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card span,
.isl-page main .featured-card small {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.isl-page main .featured-card h3 {
  max-width: 16ch;
  margin: 0.85rem 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height: 1.04;
}

.isl-page main .featured-card p {
  max-width: 52ch;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.05rem;
}

.isl-page main .analysis-preview {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 4vw, 48px);
}

.isl-page main .analysis-preview:target {
  display: flex;
}

.isl-page main .preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 55, 55, 0.68);
}

.isl-page main .analysis-preview-panel {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(720px, 90vh);
  overflow: auto;
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(27, 110, 110, 0.18);
  background: #fff;
  box-shadow: 0 28px 90px rgba(18, 55, 55, 0.28);
}

.isl-page main .analysis-preview-panel h3 {
  max-width: 18ch;
  margin: 0.55rem 0 1.25rem;
  color: var(--navy-deep);
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.05;
}

.isl-page main .analysis-preview-panel p:not(.section-kicker) {
  max-width: 62ch;
  color: var(--ink);
  font-size: 1.04rem;
  line-height: 1.72;
}

.isl-page main .analysis-preview-panel .button {
  margin-top: 1.25rem;
}

.isl-page main .preview-close {
  position: absolute;
  top: 18px;
  right: 18px;
  color: var(--crimson);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.isl-page main .preview-close:hover {
  color: var(--accent);
}

.isl-page main > .services {
  background: var(--cream);
  color: var(--ink);
}

.isl-page main > .services h2,
.isl-page main > .services .service-grid h3 {
  color: var(--navy-deep);
}

.isl-page main > .services .section-heading.split {
  border-bottom-color: var(--navy);
}

.isl-page main > .services .section-heading.split > p,
.isl-page main > .services .service-grid p {
  color: var(--muted);
}

.isl-page main > .services .section-kicker,
.isl-page main > .services .service-grid span {
  color: var(--accent);
}

.isl-page main > .services .service-grid article {
  border-color: var(--stone);
  border-top-color: var(--accent);
  background: #fff;
}

.isl-page main > .services > .section-button {
  border-color: var(--crimson);
  color: var(--crimson);
}

.isl-page main > .services > .section-button:hover {
  border-color: var(--crimson);
  background: var(--crimson);
  color: #fff;
}

.isl-page main .five-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.isl-page main .five-grid article {
  min-height: 230px;
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .statement-section .about-grid {
  padding: clamp(26px, 4vw, 42px);
  border-left: 4px solid var(--crimson);
  background: rgba(255, 255, 255, 0.5);
}

.isl-page main > .statement-section .chapter-list article {
  background: #fff;
  border-color: rgba(27, 110, 110, 0.16);
  border-top-color: var(--crimson);
}

@media (max-width: 1080px) {
  .isl-page main .five-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .isl-page main .featured-track {
    animation-duration: 30s;
  }

  .isl-page main .featured-card {
    min-height: 430px;
    padding: 26px;
  }

  .isl-page main .featured-card h3 {
    font-size: clamp(1.85rem, 11vw, 2.65rem);
  }

  .isl-page main .five-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .isl-page main .featured-track {
    animation: none;
  }
}

/* Focused home layout for modest initiative positioning. */
.isl-page .hero.ils-hero h1 {
  max-width: 15ch;
}

.isl-page .featured-analysis {
  overflow: hidden;
  background: #ffffff;
}

.isl-page .featured-analysis .section-heading {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page .featured-deck {
  max-width: var(--maxw);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--stone);
  background: var(--navy-deep);
}

.isl-page .featured-track {
  display: grid;
  width: 500%;
  grid-template-columns: repeat(5, 1fr);
  animation: featured-slide 25s infinite;
}

.isl-page .featured-card {
  min-height: clamp(360px, 46vw, 520px);
  display: grid;
  align-content: end;
  padding: clamp(30px, 5vw, 64px);
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.16), transparent 46%),
    var(--navy-deep);
}

.isl-page .featured-card:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(199, 93, 63, 0.18), transparent 48%),
    var(--navy-deep);
}

.isl-page .featured-card:nth-child(3) {
  background:
    linear-gradient(135deg, rgba(192, 136, 58, 0.22), transparent 48%),
    var(--navy-deep);
}

.isl-page .featured-card:nth-child(4) {
  background:
    linear-gradient(135deg, rgba(223, 239, 238, 0.12), transparent 48%),
    var(--navy-deep);
}

.isl-page .featured-card:nth-child(5) {
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.2), transparent 48%),
    var(--navy-deep);
}

.isl-page .featured-card span,
.isl-page .featured-card small {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.isl-page .featured-card h3 {
  max-width: 16ch;
  margin: 0.85rem 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height: 1.04;
}

.isl-page .featured-card p {
  max-width: 52ch;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.05rem;
}

@keyframes featured-slide {
  0%, 15% { transform: translateX(0); }
  20%, 35% { transform: translateX(-20%); }
  40%, 55% { transform: translateX(-40%); }
  60%, 75% { transform: translateX(-60%); }
  80%, 95% { transform: translateX(-80%); }
  100% { transform: translateX(0); }
}

.isl-page .five-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.isl-page .five-grid article {
  min-height: 230px;
}

.isl-page .featured-analysis + .services {
  background: var(--cream);
  color: var(--ink);
}

.isl-page .featured-analysis + .services h2,
.isl-page .featured-analysis + .services .service-grid h3 {
  color: var(--navy-deep);
}

.isl-page .featured-analysis + .services .section-heading.split {
  border-bottom-color: var(--navy);
}

.isl-page .featured-analysis + .services .section-heading.split > p,
.isl-page .featured-analysis + .services .service-grid p {
  color: var(--muted);
}

.isl-page .featured-analysis + .services .section-kicker,
.isl-page .featured-analysis + .services .service-grid span {
  color: var(--accent);
}

.isl-page .featured-analysis + .services .service-grid article {
  border-color: var(--stone);
  border-top-color: var(--accent);
  background: #fff;
}

.isl-page .featured-analysis + .services > .section-button {
  border-color: var(--crimson);
  color: var(--crimson);
}

.isl-page .featured-analysis + .services > .section-button:hover {
  background: var(--crimson);
  color: #fff;
}

@media (max-width: 1080px) {
  .isl-page .five-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .isl-page .featured-track {
    animation-duration: 30s;
  }

  .isl-page .featured-card {
    min-height: 430px;
    padding: 26px;
  }

  .isl-page .featured-card h3 {
    font-size: clamp(1.85rem, 11vw, 2.65rem);
  }

  .isl-page .five-grid {
    grid-template-columns: 1fr;
  }
}

/* More institutional type and modest positioning. */
.isl-page {
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-family: var(--sans);
}

.isl-page h1,
.isl-page h2,
.isl-page h3,
.isl-page h4,
.isl-page h5,
.isl-page .brand,
.isl-page .primary-nav,
.isl-page .section-logo {
  font-family: var(--serif);
}

.isl-page h1,
.isl-page h2,
.isl-page h3 {
  font-weight: 500;
  letter-spacing: 0;
}

.isl-page h1 {
  max-width: 18ch;
  font-size: clamp(2.1rem, 4.5vw, 3.45rem);
  line-height: 1.08;
}

.isl-page h2 {
  font-size: clamp(1.55rem, 2.7vw, 2.15rem);
  line-height: 1.14;
}

.isl-page .hero-subhead {
  max-width: 60ch;
  font-size: clamp(1.02rem, 1.35vw, 1.14rem);
  line-height: 1.6;
}

.isl-page .hero-copy p:not(.eyebrow),
.isl-page .section-heading.split > p,
.isl-page .body-copy p {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.62;
}

.isl-page .eyebrow,
.isl-page .section-kicker,
.isl-page .button,
.isl-page .header-action,
.isl-page .service-grid span,
.isl-page .publication-card span,
.isl-page .publication-card small {
  font-family: var(--sans);
}

.isl-page .section-logo {
  width: 42px;
  height: 42px;
  font-size: 0.95rem;
}

.isl-page .section-logo-hero {
  width: 58px;
  height: 46px;
  font-size: 1.12rem;
}

.isl-page .brand-mark {
  font-family: var(--serif);
}

/* Section marks: one small institutional logo system across the home page. */
.isl-page .section-logo {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid currentColor;
  color: var(--crimson);
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
}

.isl-page .section-logo-hero {
  width: 68px;
  height: 52px;
  margin-bottom: 22px;
  background: var(--crimson);
  color: #fff;
  font-size: 1.35rem;
}

.isl-page main > .services .section-logo {
  color: #d4aa65;
}

.isl-page main > .statement-section .section-logo {
  background: var(--crimson);
  color: #fff;
}

.isl-page main > .analysis .section-logo {
  color: var(--accent);
}

.isl-page main > .closing-band .section-logo {
  color: #9f5f1f;
}

/* Final home-only section color variation. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.07), transparent 48%),
    var(--cream);
}

.isl-page main > .services {
  background: var(--paper);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .analysis {
  background: #f8fbfb;
}

.isl-page main > .closing-band {
  background: #f1dfd7;
  border-top: 1px solid rgba(199, 93, 63, 0.18);
  border-bottom: 1px solid rgba(199, 93, 63, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: var(--terracotta-dark, #9f4029);
}

.isl-page main > .closing-band .button.primary {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .closing-band .button.primary:hover {
  border-color: var(--crimson);
  background: var(--crimson);
}

/* Home section color rhythm. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.07), transparent 48%),
    var(--cream);
}

.isl-page main > .services {
  background: var(--paper);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .analysis {
  background: #f8fbfb;
}

.isl-page main > .closing-band {
  background: #f1dfd7;
  border-top: 1px solid rgba(199, 93, 63, 0.18);
  border-bottom: 1px solid rgba(199, 93, 63, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: var(--terracotta-dark, #9f4029);
}

.isl-page main > .closing-band .button.primary {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .closing-band .button.primary:hover {
  border-color: var(--crimson);
  background: var(--crimson);
}

.isl-page .contact .section-kicker,
.isl-page .handover .section-kicker {
  color: #d4aa65;
}

/* Home layout reset: no hero photo, better block placement. */
.isl-page .hero.ils-hero {
  display: block;
  padding: clamp(60px, 8vw, 106px) var(--gutter) clamp(54px, 7vw, 88px);
  border-bottom: 1px solid var(--stone);
  background:
    linear-gradient(90deg, rgba(19, 35, 52, 0.045), transparent 42%),
    var(--cream);
}

.isl-page .hero.ils-hero .hero-copy {
  max-width: 760px;
}

.isl-page .hero.ils-hero h1 {
  max-width: 16ch;
  font-size: clamp(2.35rem, 5.2vw, 4.05rem);
  line-height: 1.02;
}

.isl-page .hero.ils-hero .hero-subhead {
  max-width: 58ch;
  margin-top: 1.25rem;
  color: var(--ink);
  font-size: clamp(1.08rem, 1.55vw, 1.25rem);
}

.isl-page .hero.ils-hero .hero-actions {
  margin-top: 2rem;
}

.isl-page main > .section {
  display: block;
}

.isl-page main > .section > .section-heading,
.isl-page main > .section > .about-grid,
.isl-page main > .section > .service-grid,
.isl-page main > .section > .three-column,
.isl-page main > .section > .publication-deck,
.isl-page main > .section > .section-button {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page .services .section-heading.split,
.isl-page .analysis .section-heading.split {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(280px, 0.42fr);
  align-items: end;
}

.isl-page .service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.isl-page .service-grid article {
  display: flex;
  min-height: 250px;
  flex-direction: column;
}

.isl-page .service-grid article h3 {
  margin-top: auto;
}

.isl-page .statement-section .about-grid {
  grid-template-columns: minmax(280px, 0.55fr) minmax(0, 0.7fr);
  align-items: start;
  padding: 0;
  border-left: 0;
  background: transparent;
}

.isl-page .statement-section .section-button {
  margin-top: 18px;
}

.isl-page .chapter-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isl-page .chapter-list article {
  min-height: 148px;
  padding: 24px;
  border-top-color: var(--navy-deep);
}

.isl-page .analysis .publication-deck {
  grid-auto-columns: minmax(340px, 31%);
  padding-bottom: 8px;
}

.isl-page .publication-card {
  min-height: 280px;
}

.isl-page .closing-band {
  display: grid;
  grid-template-columns: minmax(0, 720px) auto;
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
}

.isl-page .closing-band h2 {
  color: #fff;
}

.isl-page .closing-band p {
  max-width: 620px;
}

@media (max-width: 1080px) {
  .isl-page .service-grid,
  .isl-page .chapter-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .isl-page .services .section-heading.split,
  .isl-page .analysis .section-heading.split,
  .isl-page .statement-section .about-grid,
  .isl-page .closing-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .isl-page .hero.ils-hero {
    padding: 42px 16px 46px;
  }

  .isl-page .hero.ils-hero h1 {
    max-width: 12ch;
    font-size: clamp(2.35rem, 12vw, 3rem);
  }

  .isl-page .service-grid,
  .isl-page .chapter-list {
    grid-template-columns: 1fr;
  }

  .isl-page .service-grid article {
    min-height: 190px;
  }
}

/* Restore original SPI teal palette. */
.isl-page {
  --crimson: #1b6e6e;
  --crimson-dark: #125454;
  --navy: #1e4a4a;
  --navy-deep: #123737;
  --ink: #1e2a2a;
  --cream: #f4fafa;
  --paper: #ffffff;
  --stone: #deeaea;
  --stone-dark: #bcd0d0;
  --gold: #c0883a;
  --muted: #586867;
  --accent: #c75d3f;
  --accent-dark: #a8462c;
  background: var(--cream);
  color: var(--ink);
}

.isl-page .site-header {
  background: rgba(223, 239, 238, 0.94);
  border-bottom-color: var(--stone);
}

.isl-page .brand,
.isl-page .button.primary {
  background: var(--crimson);
}

.isl-page .button.primary {
  border-color: var(--crimson);
}

.isl-page .primary-nav,
.isl-page .header-action,
.isl-page .button.secondary {
  color: var(--navy);
}

.isl-page .header-action,
.isl-page .button.secondary {
  border-color: var(--crimson);
  color: var(--crimson);
  background: transparent;
}

.isl-page .primary-nav a:hover,
.isl-page .eyebrow,
.isl-page .section-kicker,
.isl-page .service-grid span,
.isl-page .publication-card span {
  color: var(--accent);
}

.isl-page .header-action:hover,
.isl-page .button.secondary:hover,
.isl-page .button.primary:hover {
  border-color: var(--crimson-dark);
  background: var(--crimson-dark);
  color: #fff;
}

.isl-page .hero,
.isl-page .page-hero,
.isl-page .services,
.isl-page .standards-section {
  background: var(--cream);
}

.isl-page .statement-section,
.isl-page .capacity-section,
.isl-page .values-section,
.isl-page .analysis,
.isl-page .comparison-section,
.isl-page .impartiality-section,
.isl-page .service-grid article,
.isl-page .three-column article,
.isl-page .publication-card,
.isl-page .detail-panel,
.isl-page .callout,
.isl-page .request-form {
  background: var(--paper);
}

.isl-page .service-grid article,
.isl-page .three-column article,
.isl-page .publication-card {
  border-color: var(--stone);
  border-top-color: var(--accent);
}

.isl-page .section-heading.split {
  border-bottom-color: var(--navy);
}

.isl-page .publication-card small {
  color: var(--gold);
}

.isl-page .contact,
.isl-page .handover,
.isl-page .site-footer {
  background: var(--navy-deep);
}
/* Final home-only section color variation. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.07), transparent 48%),
    var(--cream);
}

.isl-page main > .services {
  background: var(--paper);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .analysis {
  background: #f8fbfb;
}

.isl-page main > .closing-band {
  background: #f1dfd7;
  border-top: 1px solid rgba(199, 93, 63, 0.18);
  border-bottom: 1px solid rgba(199, 93, 63, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: var(--terracotta-dark, #9f4029);
}

.isl-page main > .closing-band .button.primary {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .closing-band .button.primary:hover {
  border-color: var(--crimson);
  background: var(--crimson);
}
/* TIMEP-inspired home rhythm: varied sections, one coherent palette. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.08), transparent 44%),
    linear-gradient(180deg, #f4fafa 0%, #ecf6f5 100%);
}

.isl-page main > .hero.ils-hero .hero-copy {
  padding-left: clamp(0px, 1vw, 14px);
  border-left: 4px solid var(--accent);
}

.isl-page main > .services {
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main > .services h2 {
  color: #fff;
}

.isl-page main > .services .section-heading.split {
  border-bottom-color: rgba(255, 255, 255, 0.22);
}

.isl-page main > .services .section-heading.split > p {
  color: rgba(255, 255, 255, 0.72);
}

.isl-page main > .services .section-kicker {
  color: #d4aa65;
}

.isl-page main > .services .service-grid article {
  border-color: rgba(255, 255, 255, 0.16);
  border-top-color: #d4aa65;
  background: rgba(255, 255, 255, 0.06);
}

.isl-page main > .services .service-grid h3 {
  color: #fff;
}

.isl-page main > .services .service-grid p {
  color: rgba(255, 255, 255, 0.74);
}

.isl-page main > .services .service-grid span {
  color: #d4aa65;
}

.isl-page main > .services > .section-button {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.isl-page main > .services > .section-button:hover {
  border-color: var(--accent);
  background: var(--accent);
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .statement-section .about-grid {
  padding: clamp(26px, 4vw, 42px);
  border-left: 4px solid var(--crimson);
  background: rgba(255, 255, 255, 0.5);
}

.isl-page main > .statement-section .chapter-list article {
  background: #fff;
  border-color: rgba(27, 110, 110, 0.16);
  border-top-color: var(--crimson);
}

.isl-page main > .analysis {
  background:
    linear-gradient(90deg, rgba(199, 93, 63, 0.08), transparent 36%),
    #ffffff;
}

.isl-page main > .analysis .section-heading.split {
  border-bottom-color: var(--accent);
}

.isl-page main > .analysis .publication-card {
  border-color: var(--stone);
  border-top-color: var(--navy-deep);
  background: #f8fbfb;
}

.isl-page main > .analysis .publication-card span {
  color: var(--accent);
}

.isl-page main > .analysis .button.secondary {
  border-color: var(--accent);
  color: var(--accent);
}

.isl-page main > .analysis .button.secondary:hover {
  background: var(--accent);
  color: #fff;
}

.isl-page main > .closing-band {
  background: #f7e6cf;
  border-top: 1px solid rgba(192, 136, 58, 0.18);
  border-bottom: 1px solid rgba(192, 136, 58, 0.18);
}

.isl-page main > .closing-band h2 {
  color: var(--navy-deep);
}

.isl-page main > .closing-band p {
  color: var(--ink);
}

.isl-page main > .closing-band .section-kicker {
  color: #9f5f1f;
}
/* Latest home composition: modest hero, strong featured deck, lighter services. */
.isl-page main > .hero.ils-hero {
  background:
    linear-gradient(90deg, rgba(27, 110, 110, 0.08), transparent 44%),
    linear-gradient(180deg, #f4fafa 0%, #ecf6f5 100%);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 760px;
  padding-left: clamp(0px, 1vw, 14px);
  border-left: 4px solid var(--accent);
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 15ch;
}

.isl-page main .featured-analysis {
  overflow: hidden;
  background: #ffffff;
}

.isl-page main .featured-analysis .section-heading {
  max-width: var(--maxw);
  margin-inline: auto;
}

.isl-page main .featured-deck {
  max-width: var(--maxw);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--stone);
  background: var(--navy-deep);
}

.isl-page main .featured-track {
  display: grid;
  width: 500%;
  grid-template-columns: repeat(5, 1fr);
  animation: featured-slide 25s infinite;
  will-change: transform;
}

.isl-page main .featured-card {
  min-height: clamp(360px, 46vw, 520px);
  display: grid;
  align-content: end;
  padding: clamp(30px, 5vw, 64px);
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.16), transparent 46%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(199, 93, 63, 0.18), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(3) {
  background:
    linear-gradient(135deg, rgba(192, 136, 58, 0.22), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(4) {
  background:
    linear-gradient(135deg, rgba(223, 239, 238, 0.12), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card:nth-child(5) {
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.2), transparent 48%),
    var(--navy-deep);
}

.isl-page main .featured-card span,
.isl-page main .featured-card small {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.isl-page main .featured-card h3 {
  max-width: 16ch;
  margin: 0.85rem 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height: 1.04;
}

.isl-page main .featured-card p {
  max-width: 52ch;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.05rem;
}

.isl-page main > .services {
  background: var(--cream);
  color: var(--ink);
}

.isl-page main > .services h2,
.isl-page main > .services .service-grid h3 {
  color: var(--navy-deep);
}

.isl-page main > .services .section-heading.split {
  border-bottom-color: var(--navy);
}

.isl-page main > .services .section-heading.split > p,
.isl-page main > .services .service-grid p {
  color: var(--muted);
}

.isl-page main > .services .section-kicker,
.isl-page main > .services .service-grid span {
  color: var(--accent);
}

.isl-page main > .services .service-grid article {
  border-color: var(--stone);
  border-top-color: var(--accent);
  background: #fff;
}

.isl-page main > .services > .section-button {
  border-color: var(--crimson);
  color: var(--crimson);
}

.isl-page main > .services > .section-button:hover {
  border-color: var(--crimson);
  background: var(--crimson);
  color: #fff;
}

.isl-page main .five-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.isl-page main .five-grid article {
  min-height: 230px;
}

.isl-page main > .statement-section {
  background: #dfefee;
}

.isl-page main > .statement-section .about-grid {
  padding: clamp(26px, 4vw, 42px);
  border-left: 4px solid var(--crimson);
  background: rgba(255, 255, 255, 0.5);
}

.isl-page main > .statement-section .chapter-list article {
  background: #fff;
  border-color: rgba(27, 110, 110, 0.16);
  border-top-color: var(--crimson);
}

@media (max-width: 1080px) {
  .isl-page main .five-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .isl-page main .featured-track {
    animation-duration: 30s;
  }

  .isl-page main .featured-card {
    min-height: 430px;
    padding: 26px;
  }

  .isl-page main .featured-card h3 {
    font-size: clamp(1.85rem, 11vw, 2.65rem);
  }

  .isl-page main .five-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .isl-page main .featured-track {
    animation: none;
  }
}

/* Clickable analysis previews. */
.isl-page main .featured-track:hover,
.isl-page main .featured-track:focus-within {
  animation-play-state: paused;
}

.isl-page main .featured-card {
  text-decoration: none;
}

.isl-page main a.featured-card {
  cursor: pointer;
}

.isl-page main a.featured-card:hover h3,
.isl-page main a.featured-card:focus h3 {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.12em;
}

.isl-page main a.featured-card:focus {
  outline: 3px solid #d4aa65;
  outline-offset: -8px;
}

.isl-page main .analysis-preview {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 4vw, 48px);
}

.isl-page main .analysis-preview:target {
  display: flex;
}

.isl-page main .preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 55, 55, 0.68);
}

.isl-page main .analysis-preview-panel {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(720px, 90vh);
  overflow: auto;
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(27, 110, 110, 0.18);
  background: #fff;
  box-shadow: 0 28px 90px rgba(18, 55, 55, 0.28);
}

.isl-page main .analysis-preview-panel h3 {
  max-width: 18ch;
  margin: 0.55rem 0 1.25rem;
  color: var(--navy-deep);
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.05;
}

.isl-page main .analysis-preview-panel p:not(.section-kicker) {
  max-width: 62ch;
  color: var(--ink);
  font-size: 1.04rem;
  line-height: 1.72;
}

.isl-page main .analysis-preview-panel .button {
  margin-top: 1.25rem;
}

.isl-page main .preview-close {
  position: absolute;
  top: 18px;
  right: 18px;
  color: var(--crimson);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.isl-page main .preview-close:hover {
  color: var(--accent);
}

/* Final home layout adjustments. */
.isl-page main .support-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isl-page main .support-grid article {
  min-height: 220px;
}

.isl-page main .closing-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(32px, 8vw, 120px);
  padding-block: clamp(64px, 9vw, 108px);
  border-top: 1px solid rgba(199, 93, 63, 0.22);
  border-bottom: 1px solid rgba(199, 93, 63, 0.16);
  background: #f1dfd7;
}

.isl-page main .closing-cta-copy {
  max-width: 780px;
}

.isl-page main .closing-cta h2 {
  max-width: 18ch;
  margin: 0.65rem 0 1rem;
  color: var(--navy-deep);
  font-size: clamp(2.4rem, 5vw, 4.15rem);
  line-height: 1.05;
}

.isl-page main .closing-cta p:not(.section-kicker) {
  max-width: 64ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.05rem, 1.45vw, 1.35rem);
  line-height: 1.65;
}

.isl-page main .closing-cta .section-kicker {
  color: #a8462c;
}

.isl-page main .closing-cta .button.primary {
  min-width: 250px;
  justify-content: center;
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.isl-page main .closing-cta .button.primary:hover {
  border-color: var(--crimson);
  background: var(--crimson);
}

@media (max-width: 980px) {
  .isl-page main .support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .isl-page main .closing-cta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .isl-page main .support-grid {
    grid-template-columns: 1fr;
  }

  .isl-page main .closing-cta .button.primary {
    width: 100%;
    min-width: 0;
  }
}

/* Scroll reveal for core support cards. */
.has-js .isl-page main .services .service-grid.reveal-ready article {
  opacity: 0;
  transform: translateY(34px) scale(0.985);
  clip-path: inset(0 18% 0 0);
  transition:
    opacity 700ms ease,
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-js .isl-page main .services .service-grid.reveal-ready article.is-revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
  clip-path: inset(0 0 0 0);
}

.isl-page main .services .service-grid.reveal-ready article:nth-child(2),
.isl-page main .services .service-grid.reveal-ready article:nth-child(4) {
  margin-top: 36px;
}

.isl-page main .services .service-grid.reveal-ready article:nth-child(1),
.isl-page main .services .service-grid.reveal-ready article:nth-child(3),
.isl-page main .services .service-grid.reveal-ready article:nth-child(5) {
  margin-top: 0;
}

.has-js .isl-page main .services .service-grid.reveal-ready article:not(.is-revealed):nth-child(2),
.has-js .isl-page main .services .service-grid.reveal-ready article:not(.is-revealed):nth-child(4) {
  transform: translateY(70px) scale(0.985);
}

.isl-page main .services .service-grid.reveal-ready.is-revealing article {
  will-change: opacity, transform, clip-path;
}

@media (prefers-reduced-motion: reduce) {
  .has-js .isl-page main .services .service-grid.reveal-ready article {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
}

/* Hero papers deck. */
.isl-page main > .hero.ils-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(340px, 0.72fr);
  align-items: center;
  gap: clamp(36px, 7vw, 96px);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 760px;
}

.isl-page main .hero-papers {
  width: 100%;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 18px;
}

.isl-page main .hero-papers-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.isl-page main .hero-papers-heading .section-kicker {
  margin: 0;
}

.isl-page main .hero-papers-heading span {
  color: var(--muted);
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 600;
}

.isl-page main .hero-paper-deck {
  overflow: hidden;
  border: 1px solid rgba(27, 110, 110, 0.18);
  background: var(--navy-deep);
  box-shadow: 0 24px 70px rgba(18, 55, 55, 0.15);
}

.isl-page main .hero-paper-track {
  display: grid;
  width: 200%;
  grid-template-columns: repeat(2, 1fr);
  animation: hero-paper-slide 12s infinite;
}

.isl-page main .hero-paper-deck:hover .hero-paper-track,
.isl-page main .hero-paper-deck:focus-within .hero-paper-track {
  animation-play-state: paused;
}

.isl-page main .hero-paper-card {
  position: relative;
  min-height: clamp(420px, 42vw, 560px);
  display: grid;
  align-content: end;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  color: #fff;
  text-decoration: none;
  isolation: isolate;
}

.isl-page main .hero-paper-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(18, 55, 55, 0.02) 0%, rgba(18, 55, 55, 0.82) 78%),
    linear-gradient(135deg, rgba(199, 93, 63, 0.28), transparent 58%);
}

.isl-page main .hero-paper-card img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--navy-deep);
  transform: scale(1.01);
}

.isl-page main .hero-paper-card span {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.isl-page main .hero-paper-card h2 {
  max-width: 15ch;
  margin: 0.8rem 0 0;
  color: #fff;
  font-size: clamp(1.85rem, 3.15vw, 3rem);
  line-height: 1.05;
}

.isl-page main .hero-paper-card:hover h2,
.isl-page main .hero-paper-card:focus h2 {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.12em;
}

@keyframes hero-paper-slide {
  0%, 42% { transform: translateX(0); }
  50%, 92% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

@media (max-width: 980px) {
  .isl-page main > .hero.ils-hero {
    grid-template-columns: 1fr;
  }

  .isl-page main .hero-paper-card {
    min-height: 390px;
  }
}

@media (max-width: 620px) {
  .isl-page main .hero-papers-heading {
    align-items: start;
    flex-direction: column;
  }

  .isl-page main .hero-paper-card {
    min-height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .isl-page main .hero-paper-track {
    animation: none;
  }
}

/* Confident hero and manual featured-analysis carousel. */
.isl-page main > .hero.ils-hero {
  display: block;
  min-height: auto;
  padding-block: clamp(88px, 12vw, 150px);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 820px;
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 13ch;
  font-size: clamp(3rem, 7vw, 6.2rem);
  line-height: 0.98;
}

.isl-page main > .hero.ils-hero .hero-subhead {
  max-width: 720px;
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}

.isl-page main .featured-analysis {
  background: #ffffff;
}

.isl-page main .featured-analysis .section-heading.split > p {
  max-width: 50ch;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
}

.isl-page main .featured-carousel {
  max-width: var(--maxw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 2vw, 22px);
}

.isl-page main .featured-carousel .featured-deck {
  width: 100%;
  margin: 0;
}

.isl-page main .featured-carousel .featured-track {
  animation: none;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.isl-page main .carousel-arrow {
  width: 46px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--crimson);
  border-radius: 50%;
  background: #fff;
  color: transparent;
  cursor: pointer;
  position: relative;
}

.isl-page main .carousel-arrow::before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--crimson);
  border-right: 2px solid var(--crimson);
}

.isl-page main .carousel-arrow.prev::before {
  transform: rotate(-135deg);
  margin-left: 4px;
}

.isl-page main .carousel-arrow.next::before {
  transform: rotate(45deg);
  margin-right: 4px;
}

.isl-page main .carousel-arrow:hover,
.isl-page main .carousel-arrow:focus {
  background: var(--crimson);
}

.isl-page main .carousel-arrow:hover::before,
.isl-page main .carousel-arrow:focus::before {
  border-color: #fff;
}

.isl-page main .carousel-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.isl-page main .carousel-dots button {
  width: 11px;
  height: 11px;
  padding: 0;
  border: 1px solid var(--crimson);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.isl-page main .carousel-dots button.active,
.isl-page main .carousel-dots button:hover,
.isl-page main .carousel-dots button:focus {
  background: var(--crimson);
}

@media (max-width: 820px) {
  .isl-page main .featured-carousel {
    grid-template-columns: 1fr;
  }

  .isl-page main .carousel-arrow {
    display: none;
  }
}

/* Publication logos and image carousel. */
.isl-page main .publication-strip {
  max-width: var(--maxw);
  margin: 0 auto clamp(26px, 4vw, 42px);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.isl-page main .publication-strip span {
  min-height: 94px;
  display: grid;
  place-items: center;
  padding: 18px 14px;
  border: 1px solid var(--stone);
  background: #fff;
  color: #667473;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.isl-page main .featured-carousel {
  grid-template-columns: 54px minmax(0, 1fr) 54px;
}

.isl-page main .featured-carousel .featured-deck {
  border: 1px solid var(--stone);
  background: #fff;
}

.isl-page main .featured-carousel .featured-track {
  width: 300%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.isl-page main .featured-carousel .featured-card {
  min-height: clamp(420px, 42vw, 560px);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
  align-content: stretch;
  gap: clamp(22px, 4vw, 48px);
  padding: clamp(24px, 4vw, 48px);
  background: #fff;
  color: var(--ink);
}

.isl-page main .featured-carousel .featured-card img,
.isl-page main .featured-carousel .mission-visual {
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.2), rgba(199, 93, 63, 0.12)),
    var(--navy-deep);
}

.isl-page main .featured-carousel .mission-visual {
  display: grid;
  place-items: center;
}

.isl-page main .featured-carousel .mission-visual span {
  color: rgba(255, 255, 255, 0.86);
  font-family: var(--serif);
  font-size: clamp(3.4rem, 7vw, 6rem);
  font-weight: 500;
  letter-spacing: 0;
}

.isl-page main .featured-carousel .featured-card > div:last-child {
  align-self: end;
}

.isl-page main .featured-carousel .featured-card span,
.isl-page main .featured-carousel .featured-card small {
  color: var(--accent);
}

.isl-page main .featured-carousel .featured-card h3 {
  max-width: 14ch;
  color: var(--navy-deep);
}

.isl-page main .featured-carousel .featured-card p {
  max-width: 44ch;
  color: var(--muted);
}

.isl-page main .carousel-arrow {
  color: transparent;
  background: var(--cream);
  z-index: 2;
}

.isl-page main .carousel-dots button {
  width: 12px;
  height: 12px;
}

.isl-page main .carousel-dots button.active,
.isl-page main .carousel-dots button[aria-current="true"] {
  background: var(--crimson);
}

@media (max-width: 980px) {
  .isl-page main .publication-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .isl-page main .featured-carousel .featured-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .isl-page main .publication-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final spacing pass: wider hero, calmer nav, tighter analysis. */
.isl-page .site-header {
  gap: clamp(18px, 3vw, 44px);
}

.isl-page .primary-nav {
  gap: clamp(18px, 2.8vw, 36px);
}

.isl-page .primary-nav a {
  white-space: nowrap;
}

.isl-page main > .hero.ils-hero {
  padding-block: clamp(64px, 8vw, 108px);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 1040px;
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 18ch;
  font-size: clamp(3rem, 6vw, 5.6rem);
}

.isl-page main > .hero.ils-hero .hero-subhead {
  max-width: 760px;
}

.isl-page main .featured-analysis {
  padding-block: clamp(52px, 6.5vw, 86px);
}

.isl-page main .publication-strip {
  margin-bottom: clamp(18px, 2.8vw, 30px);
}

.isl-page main .publication-strip span {
  min-height: 76px;
  padding: 14px 12px;
  font-size: 0.7rem;
}

.isl-page main .featured-carousel .featured-card {
  min-height: clamp(330px, 34vw, 440px);
  padding: clamp(20px, 3vw, 34px);
}

.isl-page main .featured-carousel .featured-card img,
.isl-page main .featured-carousel .mission-visual {
  min-height: 240px;
}

.isl-page main .featured-carousel .featured-card h3 {
  font-size: clamp(1.65rem, 3vw, 2.65rem);
}

.isl-page main .carousel-dots {
  margin-top: 16px;
}

@media (max-width: 920px) {
  .isl-page .primary-nav {
    gap: 16px;
  }
}

/* Text-led hero with editorial document collage. */
.isl-page main > .hero.ils-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.52fr);
  align-items: center;
  gap: clamp(36px, 7vw, 92px);
  padding-block: clamp(58px, 7.5vw, 96px);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 900px;
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 17ch;
}

.isl-page main .hero-editorial {
  position: relative;
  min-height: clamp(430px, 45vw, 560px);
}

.isl-page main .editorial-image {
  position: absolute;
  inset: 8% 8% 10% 22%;
  overflow: hidden;
  border: 1px solid rgba(27, 110, 110, 0.18);
  background: var(--navy-deep);
  box-shadow: 0 24px 70px rgba(18, 55, 55, 0.16);
}

.isl-page main .editorial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.72;
  filter: saturate(0.85) contrast(1.02);
}

.isl-page main .editorial-sheet {
  position: absolute;
  z-index: 2;
  padding: 22px;
  border: 1px solid rgba(27, 110, 110, 0.18);
  border-top: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 50px rgba(18, 55, 55, 0.12);
}

.isl-page main .editorial-sheet span {
  display: block;
  margin-bottom: 18px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.isl-page main .editorial-sheet strong {
  display: block;
  color: var(--navy-deep);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
}

.isl-page main .editorial-sheet p {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

.isl-page main .primary-sheet {
  top: 0;
  left: 0;
  width: min(275px, 72%);
}

.isl-page main .secondary-sheet {
  right: 0;
  bottom: 0;
  width: min(245px, 62%);
}

.isl-page main .quick-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding-block: 0;
  background: var(--stone);
}

.isl-page main .quick-support article {
  min-height: 210px;
  padding: clamp(26px, 3.4vw, 42px);
  background: #fff;
  border-top: 4px solid var(--accent);
}

.isl-page main .quick-support span {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
}

.isl-page main .quick-support h2 {
  max-width: 12ch;
  margin: 1.3rem 0 0.8rem;
  color: var(--navy-deep);
  font-size: clamp(1.65rem, 2.6vw, 2.45rem);
  line-height: 1.05;
}

.isl-page main .quick-support p {
  max-width: 34ch;
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .isl-page main > .hero.ils-hero {
    grid-template-columns: 1fr;
  }

  .isl-page main .hero-editorial {
    min-height: 430px;
  }

  .isl-page main .quick-support {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .isl-page main .editorial-image {
    inset: 12% 0 12% 16%;
  }

  .isl-page main .primary-sheet,
  .isl-page main .secondary-sheet {
    width: min(250px, 78%);
  }
}

/* Revert collage experiment; keep hero actions to the right. */
.isl-page main > .hero.ils-hero {
  display: block;
  padding-block: clamp(64px, 8vw, 108px);
}

.isl-page main > .hero.ils-hero .hero-copy {
  max-width: 1040px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(28px, 6vw, 96px);
  align-items: end;
}

.isl-page main > .hero.ils-hero .eyebrow,
.isl-page main > .hero.ils-hero h1,
.isl-page main > .hero.ils-hero .hero-subhead {
  grid-column: 1;
}

.isl-page main > .hero.ils-hero h1 {
  max-width: 18ch;
}

.isl-page main > .hero.ils-hero .hero-actions {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  flex-direction: column;
  min-width: 245px;
  margin-top: 0;
}

.isl-page main > .hero.ils-hero .hero-actions .button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 820px) {
  .isl-page main > .hero.ils-hero .hero-copy {
    display: block;
  }

  .isl-page main > .hero.ils-hero .hero-actions {
    flex-direction: row;
    min-width: 0;
    margin-top: 2rem;
  }

  .isl-page main > .hero.ils-hero .hero-actions .button {
    width: auto;
  }
}

/* Analysis-led homepage opening. */
.isl-page main > .featured-analysis:first-child {
  padding-top: clamp(58px, 7vw, 96px);
  background:
    linear-gradient(180deg, #f4fafa 0%, #ffffff 72%);
}

.isl-page main > .featured-analysis:first-child .section-heading.split {
  align-items: end;
}

.isl-page main > .mission-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.58fr);
  gap: clamp(28px, 6vw, 84px);
  align-items: end;
  padding-block: clamp(48px, 6vw, 78px);
  background: var(--cream);
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: 1.6rem;
}

.isl-page main > .mission-intro .eyebrow {
  margin-bottom: 0.75rem;
}

.isl-page main > .mission-intro h1 {
  max-width: 18ch;
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(2.6rem, 5.2vw, 5.2rem);
  line-height: 1;
}

.isl-page main > .mission-intro > p {
  max-width: 44ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.1rem, 1.55vw, 1.35rem);
  line-height: 1.65;
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro {
    grid-template-columns: 1fr;
  }
}

/* Scroll sequence for the legislative-capacity opener. */
.isl-page main > .mission-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(22px, 4vw, 42px);
  padding-block: clamp(44px, 6vw, 80px);
  background:
    linear-gradient(180deg, #eef8f7 0%, #e8f4f3 100%);
}

.isl-page main > .mission-intro .mission-step {
  width: min(760px, 78%);
}

.isl-page main > .mission-intro .left-step {
  justify-self: start;
}

.isl-page main > .mission-intro .right-step {
  justify-self: end;
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: 1rem;
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  letter-spacing: 0.13em;
}

.isl-page main > .mission-intro h1,
.isl-page main > .mission-intro h2 {
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(2.15rem, 4vw, 4rem);
  line-height: 1.08;
}

.isl-page main > .mission-intro h1 {
  font-size: clamp(2.35rem, 4.4vw, 4.35rem);
}

.isl-page main > .mission-intro p:not(.section-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.42rem, 2.2vw, 2.25rem);
  line-height: 1.45;
}

.isl-page main > .mission-intro .mission-arrow {
  width: 42px;
  height: 42px;
  justify-self: center;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg);
  opacity: 0.72;
}

.has-js .isl-page main > .mission-intro .mission-step {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 650ms ease,
    transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-js .isl-page main > .mission-intro .mission-step.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro .mission-step {
    width: 100%;
  }

  .isl-page main > .mission-intro .right-step,
  .isl-page main > .mission-intro .left-step {
    justify-self: stretch;
  }
}

/* Full-bleed opening analysis deck. */
.isl-page main > .featured-analysis:first-child {
  padding-top: 0;
}

.isl-page main > .featured-analysis:first-child .featured-carousel {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: block;
}

.isl-page main > .featured-analysis:first-child .featured-deck {
  width: 100%;
  border-left: 0;
  border-right: 0;
}

.isl-page main > .featured-analysis:first-child .featured-card {
  min-height: clamp(440px, 56vw, 680px);
  padding-inline: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
}

.isl-page main > .featured-analysis:first-child .featured-card h3 {
  max-width: 17ch;
}

.isl-page main > .featured-analysis:first-child .carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.92);
}

.isl-page main > .featured-analysis:first-child .carousel-arrow.prev {
  left: clamp(16px, 3vw, 42px);
}

.isl-page main > .featured-analysis:first-child .carousel-arrow.next {
  right: clamp(16px, 3vw, 42px);
}

.isl-page main > .featured-analysis:first-child .carousel-dots {
  margin-bottom: clamp(32px, 5vw, 58px);
}

.isl-page main .featured-context {
  max-width: var(--maxw);
  margin-inline: auto;
}

@media (max-width: 820px) {
  .isl-page main > .featured-analysis:first-child .carousel-arrow {
    display: grid;
  }
}

@media (max-width: 680px) {
  .isl-page main > .featured-analysis:first-child .featured-card {
    min-height: 560px;
    padding-inline: 24px;
  }
}

/* Image-led carousel slides with overlaid article text. */
.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;
  overflow: hidden;
  padding: clamp(32px, 7vw, 118px);
  color: #fff;
  isolation: isolate;
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.88) 0%, rgba(18, 55, 55, 0.66) 42%, rgba(18, 55, 55, 0.22) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.08) 0%, rgba(18, 55, 55, 0.66) 100%);
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card img,
.isl-page main > .featured-analysis:first-child .featured-carousel .mission-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.45), rgba(199, 93, 63, 0.24)),
    var(--navy-deep);
}

.isl-page main > .featured-analysis:first-child .featured-carousel .mission-visual {
  display: grid;
  place-items: center;
}

.isl-page main > .featured-analysis:first-child .featured-carousel .mission-visual span {
  color: rgba(255, 255, 255, 0.16);
  font-size: clamp(8rem, 20vw, 18rem);
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card > div:last-child {
  max-width: 760px;
  align-self: end;
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card span,
.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card small {
  color: #d4aa65;
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card h3 {
  max-width: 16ch;
  color: #fff;
  font-size: clamp(2.35rem, 5.4vw, 5.6rem);
  line-height: 0.98;
}

.isl-page main > .featured-analysis:first-child .featured-carousel .featured-card p {
  max-width: 52ch;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.55vw, 1.32rem);
}

@media (max-width: 680px) {
  .isl-page main > .featured-analysis:first-child .featured-carousel .featured-card {
    padding: 28px;
  }

  .isl-page main > .featured-analysis:first-child .featured-carousel .featured-card h3 {
    font-size: clamp(2rem, 12vw, 3.2rem);
  }
}

/* Top analysis deck and lower publication metadata. */
.isl-page main > .analysis-deck {
  padding-top: 0;
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: block;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  border-left: 0;
  border-right: 0;
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;
  min-height: clamp(440px, 56vw, 680px);
  overflow: hidden;
  padding: clamp(32px, 7vw, 118px);
  padding-inline: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
  color: #fff;
  isolation: isolate;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.88) 0%, rgba(18, 55, 55, 0.66) 42%, rgba(18, 55, 55, 0.22) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.08) 0%, rgba(18, 55, 55, 0.66) 100%);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.isl-page main > .analysis-deck .mission-visual {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.45), rgba(199, 93, 63, 0.24)),
    var(--navy-deep);
}

.isl-page main > .analysis-deck .mission-visual span {
  color: rgba(255, 255, 255, 0.16);
  font-size: clamp(8rem, 20vw, 18rem);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  max-width: 760px;
  align-self: end;
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: #d4aa65;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 16ch;
  color: #fff;
  font-size: clamp(2.35rem, 5.4vw, 5.6rem);
  line-height: 0.98;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 52ch;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.55vw, 1.32rem);
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.92);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: clamp(16px, 3vw, 42px);
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: clamp(16px, 3vw, 42px);
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-bottom: clamp(32px, 5vw, 58px);
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 560px;
    padding: 28px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2rem, 12vw, 3.2rem);
  }
}

.isl-page main > .analysis-meta {
  background: #fff;
}

/* Distinguish adjacent mission and services sections. */
.isl-page main > .mission-intro {
  background:
    linear-gradient(180deg, #eef8f7 0%, #e8f4f3 100%);
}

.isl-page main > .services {
  background: #ffffff;
  border-top: 1px solid rgba(27, 110, 110, 0.16);
}

.isl-page main > .services .section-heading.split {
  border-bottom-color: rgba(27, 110, 110, 0.82);
}

.isl-page main > .services .service-grid article {
  background: #fbf8f4;
  border-color: #eadfd6;
  border-top-color: var(--accent);
}

.isl-page main > .services .service-grid article:nth-child(even) {
  background: #f7fbfb;
}

/* Smaller closing call-to-action. */
.isl-page main .closing-cta {
  gap: clamp(24px, 6vw, 80px);
  padding-block: clamp(42px, 6vw, 70px);
}

.isl-page main .closing-cta h2 {
  max-width: 20ch;
  font-size: clamp(2.1rem, 4vw, 3.45rem);
  line-height: 1.08;
}

.isl-page main .closing-cta p:not(.section-kicker) {
  max-width: 58ch;
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.6;
}

.isl-page main .closing-cta .button.primary {
  min-width: 220px;
  padding: 0.95rem 1.55rem;
  font-size: 0.78rem;
}

/* Legislative-capacity opener below the deck. */
.isl-page main > .mission-intro {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
  align-items: start;
  row-gap: clamp(34px, 5vw, 58px);
}

.isl-page main > .mission-intro .mission-lead {
  grid-column: 1 / -1;
  max-width: 980px;
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: 1.1rem;
}

.isl-page main > .mission-intro h1 {
  max-width: 20ch;
  font-size: clamp(2.6rem, 5.5vw, 5.1rem);
  line-height: 1.04;
}

.isl-page main > .mission-intro .mission-sublead h2 {
  max-width: 17ch;
  margin: 0;
  color: #62716f;
  font-size: clamp(2rem, 3.5vw, 3.75rem);
  line-height: 1.06;
}

.isl-page main > .mission-intro .mission-copy {
  max-width: 52ch;
  align-self: center;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.35vw, 1.24rem);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro {
    grid-template-columns: 1fr;
  }

  .isl-page main > .mission-intro .mission-lead {
    grid-column: auto;
  }
}

/* Corrected scale for legislative-capacity opener. */
.isl-page main > .mission-intro {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
  row-gap: clamp(22px, 3vw, 36px);
  padding-block: clamp(34px, 4.4vw, 56px);
}

.isl-page main > .mission-intro .mission-lead {
  max-width: 820px;
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: 0.85rem;
  font-size: clamp(0.9rem, 1.1vw, 1.05rem);
  letter-spacing: 0.13em;
}

.isl-page main > .mission-intro h1 {
  max-width: 24ch;
  font-size: clamp(2.25rem, 3.8vw, 3.65rem);
  line-height: 1.08;
}

.isl-page main > .mission-intro .mission-sublead h2 {
  max-width: 22ch;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.08;
}

.isl-page main > .mission-intro .mission-copy {
  max-width: 48ch;
  align-self: end;
  font-size: clamp(1.22rem, 1.7vw, 1.58rem);
  line-height: 1.58;
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro {
    grid-template-columns: 1fr;
  }
}

/* Final mission scroll sequence scale. */
.isl-page main > .mission-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 3vw, 30px);
  padding-block: clamp(32px, 4.5vw, 56px);
  background:
    linear-gradient(180deg, #eef8f7 0%, #e8f4f3 100%);
}

.isl-page main > .mission-intro .mission-step {
  width: min(760px, 78%);
}

.isl-page main > .mission-intro .left-step {
  justify-self: start;
}

.isl-page main > .mission-intro .right-step {
  width: min(900px, 82%);
  justify-self: end;
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: 0.8rem;
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  letter-spacing: 0.13em;
}

.isl-page main > .mission-intro h1,
.isl-page main > .mission-intro h2 {
  margin: 0;
  color: var(--navy-deep);
  line-height: 1.08;
}

.isl-page main > .mission-intro h1 {
  max-width: 24ch;
  font-size: clamp(2.4rem, 4.25vw, 4.25rem);
}

.isl-page main > .mission-intro h2 {
  max-width: 24ch;
  font-size: clamp(2.25rem, 4vw, 3.9rem);
}

.isl-page main > .mission-intro p:not(.section-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.5rem, 2.35vw, 2.45rem);
  line-height: 1.42;
}

.isl-page main > .mission-intro .mission-arrow {
  width: 32px;
  height: 32px;
  justify-self: center;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg);
  opacity: 0.72;
}

.has-js .isl-page main > .mission-intro .mission-step {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 650ms ease,
    transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-js .isl-page main > .mission-intro .mission-step.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro .mission-step,
  .isl-page main > .mission-intro .right-step {
    width: 100%;
    justify-self: stretch;
  }
}

/* Diagonal arrows between mission statements. */
.isl-page main > .mission-intro .right-step {
  width: min(860px, 72%);
  justify-self: end;
  margin-right: clamp(0px, 3vw, 56px);
}

.isl-page main > .mission-intro .mission-arrow {
  width: min(360px, 34vw);
  height: 74px;
  border: 0;
  position: relative;
  opacity: 0.82;
  transform: none;
}

.isl-page main > .mission-intro .mission-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  border-top: 2px solid var(--accent);
}

.isl-page main > .mission-intro .mission-arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
}

.isl-page main > .mission-intro .arrow-down-right {
  justify-self: center;
  transform: rotate(18deg);
  margin-left: clamp(90px, 18vw, 320px);
}

.isl-page main > .mission-intro .arrow-down-right::after {
  right: 0;
  transform: rotate(45deg);
}

.isl-page main > .mission-intro .arrow-down-left {
  justify-self: center;
  transform: rotate(-18deg);
  margin-right: clamp(90px, 18vw, 320px);
}

.isl-page main > .mission-intro .arrow-down-left::after {
  left: 0;
  transform: rotate(-135deg);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro .right-step {
    width: 100%;
    margin-right: 0;
  }

  .isl-page main > .mission-intro .mission-arrow {
    width: 120px;
    height: 42px;
    margin-inline: auto;
    transform: rotate(90deg);
  }

  .isl-page main > .mission-intro .arrow-down-left::after,
  .isl-page main > .mission-intro .arrow-down-right::after {
    right: 0;
    left: auto;
    transform: rotate(45deg);
  }
}

/* Chunky orange mission arrows. */
.isl-page main > .mission-intro .mission-arrow {
  width: min(330px, 32vw);
  height: 86px;
  opacity: 0.95;
}

.isl-page main > .mission-intro .mission-arrow::before {
  top: 50%;
  left: 0;
  width: calc(100% - 78px);
  height: 34px;
  border: 0;
  background: var(--accent);
  transform: translateY(-50%);
}

.isl-page main > .mission-intro .mission-arrow::after {
  top: 50%;
  right: 0;
  left: auto;
  width: 0;
  height: 0;
  border: 0;
  border-top: 43px solid transparent;
  border-bottom: 43px solid transparent;
  border-left: 86px solid var(--accent);
  transform: translateY(-50%);
}

.isl-page main > .mission-intro .arrow-down-left::before {
  left: 78px;
}

.isl-page main > .mission-intro .arrow-down-left::after {
  right: auto;
  left: 0;
  border-left: 0;
  border-right: 86px solid var(--accent);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro .mission-arrow {
    width: 130px;
    height: 44px;
  }

  .isl-page main > .mission-intro .mission-arrow::before {
    width: calc(100% - 42px);
    height: 18px;
  }

  .isl-page main > .mission-intro .mission-arrow::after,
  .isl-page main > .mission-intro .arrow-down-left::after {
    right: 0;
    left: auto;
    border: 0;
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
    border-left: 44px solid var(--accent);
  }
}

/* Mission arrows reveal with the text. */
.isl-page main > .mission-intro .right-step {
  width: min(900px, 66%);
  margin-right: 0;
}

.isl-page main > .mission-intro .mission-arrow {
  width: min(260px, 25vw);
  height: 68px;
}

.isl-page main > .mission-intro .mission-arrow::before {
  width: calc(100% - 58px);
  height: 26px;
}

.isl-page main > .mission-intro .mission-arrow::after {
  border-top-width: 34px;
  border-bottom-width: 34px;
  border-left-width: 68px;
}

.isl-page main > .mission-intro .arrow-down-left::before {
  left: 58px;
}

.isl-page main > .mission-intro .arrow-down-left::after {
  border-right-width: 68px;
}

.has-js .isl-page main > .mission-intro .mission-arrow {
  opacity: 0;
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-js .isl-page main > .mission-intro .arrow-down-right {
  transform: rotate(18deg) translateY(16px);
}

.has-js .isl-page main > .mission-intro .arrow-down-left {
  transform: rotate(-18deg) translateY(16px);
}

.has-js .isl-page main > .mission-intro .mission-arrow.is-visible {
  opacity: 0.95;
}

.has-js .isl-page main > .mission-intro .arrow-down-right.is-visible {
  transform: rotate(18deg) translateY(0);
}

.has-js .isl-page main > .mission-intro .arrow-down-left.is-visible {
  transform: rotate(-18deg) translateY(0);
}

@media (max-width: 820px) {
  .isl-page main > .mission-intro .right-step {
    width: 100%;
  }

  .isl-page main > .mission-intro .mission-arrow {
    width: 110px;
    height: 38px;
  }

  .isl-page main > .mission-intro .mission-arrow::before {
    width: calc(100% - 36px);
    height: 16px;
  }

  .isl-page main > .mission-intro .mission-arrow::after,
  .isl-page main > .mission-intro .arrow-down-left::after {
    border-top-width: 19px;
    border-bottom-width: 19px;
    border-left-width: 38px;
  }
}

/* Larger label for the university network section. */
.isl-page main > .statement-section .section-kicker {
  font-size: clamp(1rem, 1.25vw, 1.22rem);
  letter-spacing: 0.13em;
}

/* Compact mission sequence without arrows. */
.isl-page main > .mission-intro {
  min-height: auto;
  padding-top: clamp(34px, 4vw, 56px);
  padding-bottom: clamp(36px, 4vw, 60px);
  gap: clamp(18px, 2.4vw, 32px);
}

.isl-page main > .mission-intro .mission-arrow {
  display: none;
}

.isl-page main > .mission-intro .mission-step {
  max-width: min(960px, 70vw);
}

.isl-page main > .mission-intro .left-step {
  margin-left: 0;
}

.isl-page main > .mission-intro .right-step {
  width: min(900px, 58vw);
  max-width: min(900px, 58vw);
  margin-left: auto;
  margin-right: 0;
}

.isl-page main > .mission-intro .section-kicker {
  margin-bottom: clamp(12px, 1.4vw, 18px);
  font-size: clamp(0.86rem, 1vw, 1rem);
}

.isl-page main > .mission-intro h1 {
  max-width: 920px;
  font-size: clamp(2.8rem, 4.8vw, 5.2rem);
  line-height: 0.98;
}

.isl-page main > .mission-intro p:not(.section-kicker) {
  font-size: clamp(1.14rem, 1.55vw, 1.55rem);
  line-height: 1.42;
}

.isl-page main > .mission-intro h2 {
  max-width: 920px;
  font-size: clamp(2.25rem, 3.6vw, 3.8rem);
  line-height: 1.04;
}

@media (max-width: 900px) {
  .isl-page main > .mission-intro .mission-step,
  .isl-page main > .mission-intro .right-step {
    width: 100%;
    max-width: 100%;
  }

  .isl-page main > .mission-intro h1 {
    font-size: clamp(3rem, 12vw, 4.8rem);
  }

  .isl-page main > .mission-intro h2 {
    font-size: clamp(2.3rem, 8vw, 3.8rem);
  }
}

/* Rebalance mission text scale. */
.isl-page main > .mission-intro h1 {
  max-width: 840px;
  font-size: clamp(2.6rem, 4.1vw, 4.5rem);
}

.isl-page main > .mission-intro .right-step {
  width: min(1020px, 64vw);
  max-width: min(1020px, 64vw);
}

.isl-page main > .mission-intro p:not(.section-kicker) {
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.34;
}

.isl-page main > .mission-intro h2 {
  max-width: 820px;
  font-size: clamp(2.05rem, 3.1vw, 3.3rem);
}

@media (max-width: 900px) {
  .isl-page main > .mission-intro .right-step {
    width: 100%;
    max-width: 100%;
  }
}

/* Restore compact orange diagonal mission arrows. */
.isl-page main > .mission-intro .mission-arrow {
  display: block;
  position: relative;
  width: min(180px, 18vw);
  height: 48px;
  margin-top: -8px;
  margin-bottom: -8px;
  background: transparent;
}

.isl-page main > .mission-intro .mission-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(100% - 42px);
  height: 18px;
  background: var(--accent);
  transform: translateY(-50%);
}

.isl-page main > .mission-intro .mission-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 0;
  border-top: 24px solid transparent;
  border-bottom: 24px solid transparent;
  border-left: 48px solid var(--accent);
  transform: translateY(-50%);
}

.isl-page main > .mission-intro .arrow-down-right {
  margin-left: 48%;
  transform: rotate(18deg);
}

.isl-page main > .mission-intro .arrow-down-left {
  margin-left: 38%;
  transform: rotate(-18deg);
}

.isl-page main > .mission-intro .arrow-down-left::before {
  left: 42px;
}

.isl-page main > .mission-intro .arrow-down-left::after {
  right: auto;
  left: 0;
  border-left: 0;
  border-right: 48px solid var(--accent);
}

.has-js .isl-page main > .mission-intro .mission-arrow {
  opacity: 0;
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-js .isl-page main > .mission-intro .arrow-down-right {
  transform: rotate(18deg) translateY(14px);
}

.has-js .isl-page main > .mission-intro .arrow-down-left {
  transform: rotate(-18deg) translateY(14px);
}

.has-js .isl-page main > .mission-intro .mission-arrow.is-visible {
  opacity: 0.95;
}

.has-js .isl-page main > .mission-intro .arrow-down-right.is-visible {
  transform: rotate(18deg) translateY(0);
}

.has-js .isl-page main > .mission-intro .arrow-down-left.is-visible {
  transform: rotate(-18deg) translateY(0);
}

@media (max-width: 900px) {
  .isl-page main > .mission-intro .mission-arrow {
    width: 110px;
    height: 34px;
    margin: 0 auto;
  }

  .isl-page main > .mission-intro .mission-arrow::before {
    width: calc(100% - 30px);
    height: 14px;
  }

  .isl-page main > .mission-intro .mission-arrow::after {
    border-top-width: 17px;
    border-bottom-width: 17px;
    border-left-width: 34px;
  }

  .isl-page main > .mission-intro .arrow-down-left::before {
    left: 30px;
  }

  .isl-page main > .mission-intro .arrow-down-left::after {
    border-right-width: 34px;
  }
}

/* Fine-tune the first mission arrow position. */
.isl-page main > .mission-intro .arrow-down-right {
  margin-left: 42%;
}

/* Remove excess space below the opening carousel. */
.isl-page main > .analysis-deck {
  padding-bottom: clamp(16px, 2vw, 28px);
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 18px;
  margin-bottom: 0;
}

.isl-page main > .analysis-deck + .mission-intro {
  padding-top: clamp(28px, 3vw, 44px);
}

/* Institutional footer redesign. */
.isl-page .site-footer {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 0.72fr);
  gap: clamp(36px, 7vw, 96px);
  align-items: start;
  padding: clamp(36px, 4.5vw, 58px) clamp(20px, 6vw, 84px) clamp(22px, 3vw, 34px);
  color: rgba(255, 255, 255, 0.72);
  background: var(--navy-deep);
}

.isl-page .footer-primary {
  max-width: 520px;
}

.isl-page .footer-brand {
  margin-bottom: 16px;
  gap: 10px;
}

.isl-page .footer-brand .brand-mark {
  width: 38px;
  height: 38px;
  font-size: 0.78rem;
  color: var(--navy-deep);
  background: var(--cream);
}

.isl-page .footer-brand strong {
  font-size: 1rem;
  color: var(--white);
}

.isl-page .footer-brand small {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.58);
}

.isl-page .site-footer p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
}

.isl-page .footer-primary > p {
  font-size: clamp(1.12rem, 1.45vw, 1.35rem);
  line-height: 1.45;
}

.isl-page .footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 22px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  color: var(--white);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.isl-page .footer-cta:hover,
.isl-page .footer-cta:focus {
  border-color: var(--accent);
  color: var(--accent);
}

.isl-page .footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: clamp(28px, 4vw, 64px);
  min-width: 0;
}

.isl-page .footer-links div {
  display: grid;
  gap: 9px;
  align-content: start;
}

.isl-page .footer-links h2 {
  margin: 0 0 8px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.isl-page .footer-links a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.98rem;
  font-weight: 560;
  line-height: 1.35;
}

.isl-page .footer-links a:hover,
.isl-page .footer-links a:focus {
  color: var(--white);
}

.isl-page .footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 20px;
  margin-top: clamp(12px, 2vw, 24px);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.isl-page .footer-bottom p {
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.86rem;
  line-height: 1.4;
}

@media (max-width: 780px) {
  .isl-page .site-footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 34px 22px 26px;
  }

  .isl-page .footer-primary {
    max-width: none;
  }

  .isl-page .footer-cta {
    width: 100%;
    min-height: 46px;
  }

  .isl-page .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .isl-page .footer-bottom {
    display: grid;
    gap: 8px;
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .isl-page .footer-links {
    grid-template-columns: 1fr;
  }
}

/* Trim excess footer depth. */
.isl-page .site-footer {
  padding-bottom: clamp(16px, 2vw, 24px);
}

.isl-page .footer-bottom {
  padding-top: 16px;
  margin-top: clamp(0px, 0.8vw, 10px);
}

@media (max-width: 780px) {
  .isl-page .site-footer {
    padding-bottom: 22px;
  }
}

/* Shorter opening analysis deck. */
.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(380px, 42vw, 540px);
  padding-top: clamp(28px, 4.5vw, 72px);
  padding-bottom: clamp(28px, 4.5vw, 72px);
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 17ch;
  font-size: clamp(2.4rem, 4.3vw, 4.45rem);
  line-height: 0.96;
}

.isl-page main > .analysis-deck .featured-card p {
  font-size: clamp(1rem, 1.25vw, 1.18rem);
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 460px;
  }
}

/* Further tighten the opening deck and footer. */
.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(330px, 36vw, 460px);
  padding-top: clamp(24px, 3.4vw, 52px);
  padding-bottom: clamp(24px, 3.4vw, 52px);
}

.isl-page main > .analysis-deck .featured-card h3 {
  font-size: clamp(2.1rem, 3.75vw, 3.8rem);
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 48ch;
  margin-top: 12px;
  font-size: clamp(0.96rem, 1.1vw, 1.08rem);
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  font-size: 0.78rem;
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 12px;
}

.isl-page .site-footer {
  padding-top: clamp(28px, 3.4vw, 44px);
  padding-bottom: clamp(12px, 1.4vw, 18px);
}

.isl-page .footer-bottom {
  padding-top: 12px;
  margin-top: 0;
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 400px;
  }
}

/* Even more compact deck and footer. */
.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(290px, 31vw, 395px);
  padding-top: clamp(20px, 2.8vw, 40px);
  padding-bottom: clamp(20px, 2.8vw, 40px);
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 18ch;
  font-size: clamp(1.85rem, 3.15vw, 3.2rem);
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 44ch;
  margin-top: 10px;
  font-size: clamp(0.9rem, 0.98vw, 1rem);
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  font-size: 0.72rem;
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 8px;
}

.isl-page .site-footer {
  gap: clamp(24px, 4vw, 56px);
  padding-top: clamp(22px, 2.7vw, 34px);
  padding-bottom: clamp(10px, 1.1vw, 14px);
}

.isl-page .footer-brand {
  margin-bottom: 10px;
}

.isl-page .footer-primary > p {
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.38;
}

.isl-page .footer-cta {
  min-height: 38px;
  margin-top: 16px;
}

.isl-page .footer-links div {
  gap: 7px;
}

.isl-page .footer-links h2 {
  margin-bottom: 5px;
}

.isl-page .footer-bottom {
  padding-top: 10px;
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 360px;
  }
}

/* Editorial framing for selected-analysis carousel. */
.isl-page main > .analysis-deck {
  padding-top: clamp(48px, 5vw, 64px);
}

.isl-page main > .analysis-deck .analysis-deck-header {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto clamp(24px, 3vw, 32px);
  padding: 0 max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
}

.isl-page main > .analysis-deck .analysis-deck-header .section-kicker {
  margin-bottom: 8px;
  color: var(--accent);
}

.isl-page main > .analysis-deck .analysis-deck-header p:not(.section-kicker) {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  line-height: 1.45;
}

.isl-page main > .analysis-deck .featured-card h3 {
  font-size: clamp(1.75rem, 2.95vw, 3rem);
}

.isl-page main > .analysis-deck .read-analysis {
  display: inline-block;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .carousel-count {
  position: absolute;
  right: clamp(24px, 5vw, 76px);
  bottom: clamp(24px, 3vw, 42px);
  z-index: 3;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.isl-page main > .analysis-deck .carousel-arrow {
  width: 48px;
  height: 48px;
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 12px;
  height: 12px;
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck {
    padding-top: 42px;
  }

  .isl-page main > .analysis-deck .analysis-deck-header {
    padding-inline: 24px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(1.9rem, 9vw, 2.85rem);
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    width: 42px;
    height: 42px;
  }

  .isl-page main > .analysis-deck .carousel-count {
    right: 24px;
    bottom: 20px;
  }
}

/* Centered editorial selected-analysis component. */
.isl-page main > .analysis-deck {
  max-width: none;
  padding: clamp(56px, 5vw, 64px) clamp(20px, 4vw, 48px) clamp(18px, 2vw, 28px);
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  width: min(100%, 1360px);
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-deck-header {
  max-width: none;
  margin: 0 0 clamp(24px, 2.4vw, 32px);
  padding: 0;
}

.isl-page main > .analysis-deck .analysis-deck-header .section-kicker {
  margin-bottom: 6px;
}

.isl-page main > .analysis-deck .analysis-deck-header p:not(.section-kicker) {
  max-width: 560px;
  font-size: clamp(0.95rem, 1vw, 1.05rem);
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
  border: 0;
}

.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(620px, 49vw, 700px);
  padding: clamp(48px, 6vw, 86px);
  padding-right: clamp(68px, 8vw, 120px);
  padding-left: clamp(60px, 7vw, 108px);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  max-width: 760px;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 15.5ch;
  font-size: clamp(2.8rem, 4.25vw, 4.65rem);
  line-height: 0.96;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 52ch;
  margin-top: 14px;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 20px;
  font-size: 0.78rem;
}

.isl-page main > .analysis-deck .read-analysis {
  display: block;
  margin-top: 8px;
  font-size: 0.8rem;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 44px;
  height: 44px;
  border-color: rgba(27, 110, 110, 0.74);
  background: rgba(255, 255, 255, 0.92);
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 11px;
  height: 11px;
  border-color: var(--teal);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: 18px;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
}

.isl-page main > .analysis-deck .carousel-count {
  right: 26px;
  bottom: 24px;
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 14px;
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .isl-page main > .analysis-deck {
    padding: 42px 20px 16px;
  }

  .isl-page main > .analysis-deck .featured-card {
    min-height: 520px;
    padding: 36px 56px 44px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2.25rem, 7vw, 3.5rem);
  }
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 440px;
    padding: 30px 24px 58px;
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    top: auto;
    bottom: 18px;
    width: 40px;
    height: 40px;
    transform: none;
  }

  .isl-page main > .analysis-deck .carousel-arrow.prev {
    left: 18px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 18px;
  }

  .isl-page main > .analysis-deck .carousel-count {
    right: 50%;
    bottom: 30px;
    transform: translateX(50%);
  }
}

/* Refinements: selected-analysis overlay and footer lockup. */
.isl-page main > .analysis-deck {
  padding-top: clamp(28px, 3vw, 42px);
}

.isl-page main > .analysis-deck .featured-carousel {
  overflow: hidden;
}

.isl-page main > .analysis-deck .analysis-deck-header {
  position: absolute;
  top: clamp(34px, 4vw, 58px);
  left: clamp(60px, 7vw, 108px);
  z-index: 5;
  max-width: 520px;
  margin: 0;
  padding: 0;
}

.isl-page main > .analysis-deck .analysis-deck-header .section-kicker {
  margin-bottom: 8px;
  color: var(--accent);
}

.isl-page main > .analysis-deck .analysis-deck-header p:not(.section-kicker) {
  color: rgba(255, 255, 255, 0.78);
}

.isl-page main > .analysis-deck .featured-card {
  padding-top: clamp(136px, 13vw, 180px);
}

.isl-page main > .analysis-deck .featured-card h3 {
  font-size: clamp(2.55rem, 3.85vw, 4.25rem);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: 22px;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 22px;
}

.isl-page .site-footer .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  width: auto;
  margin-bottom: 12px;
  padding: 9px 13px;
  color: #fff;
  background: var(--crimson);
}

.isl-page .site-footer .footer-brand .brand-mark {
  width: auto;
  height: auto;
  color: #fff;
  background: transparent;
  border-radius: 0;
  font-family: var(--serif);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1;
}

.isl-page .site-footer .footer-brand > span:last-child {
  margin-left: 11px;
  padding-left: 11px;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.isl-page .site-footer .footer-brand strong,
.isl-page .site-footer .footer-brand small {
  color: #fff;
  font-family: var(--serif);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.1;
  text-transform: uppercase;
}

.isl-page .footer-links .footer-cta {
  width: fit-content;
  min-height: 38px;
  margin-top: 8px;
  padding: 0 16px;
}

@media (max-width: 900px) {
  .isl-page main > .analysis-deck .analysis-deck-header {
    top: 30px;
    left: 56px;
  }

  .isl-page main > .analysis-deck .featured-card {
    padding-top: 124px;
  }
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .analysis-deck-header {
    top: 26px;
    left: 24px;
    right: 24px;
  }

  .isl-page main > .analysis-deck .featured-card {
    padding-top: 118px;
  }

  .isl-page .footer-links .footer-cta {
    width: 100%;
  }
}

/* Footer CTA positioned as the right-side action. */
.isl-page .site-footer {
  grid-template-columns: minmax(320px, 0.4fr) minmax(540px, 0.6fr);
  column-gap: clamp(48px, 7vw, 112px);
}

.isl-page .footer-links {
  grid-template-columns: minmax(140px, 0.42fr) minmax(360px, 0.58fr);
  gap: clamp(44px, 5vw, 72px);
  justify-self: stretch;
}

.isl-page .footer-connect {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(48px, 5vw, 72px);
}

.isl-page .footer-connect-links {
  display: grid;
  gap: 7px;
  align-content: start;
  min-width: 120px;
}

.isl-page .footer-connect .footer-cta {
  flex: 0 0 auto;
  margin-top: 25px;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .isl-page .site-footer,
  .isl-page .footer-links {
    grid-template-columns: 1fr;
  }

  .isl-page .footer-connect {
    display: grid;
    gap: 18px;
  }

  .isl-page .footer-connect .footer-cta {
    width: 100%;
    margin-top: 0;
  }
}

/* Restrained selected-analysis publications module. */
.isl-page main > .analysis-deck {
  padding: clamp(56px, 5vw, 72px) clamp(20px, 4vw, 48px) clamp(22px, 2.5vw, 36px);
  background: #f7fbfb;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  width: min(100%, 1360px);
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-deck-header {
  position: static;
  max-width: 620px;
  margin: 0 0 clamp(16px, 2vw, 24px);
  padding: 0;
}

.isl-page main > .analysis-deck .analysis-deck-header .section-kicker {
  color: var(--accent);
}

.isl-page main > .analysis-deck .analysis-deck-header p:not(.section-kicker) {
  margin: 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: clamp(0.96rem, 1vw, 1.06rem);
  line-height: 1.45;
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: visible;
}

.isl-page main > .analysis-deck .featured-deck {
  overflow: hidden;
  border-top: 4px solid var(--accent);
  background: var(--paper);
}

.isl-page main > .analysis-deck .featured-track {
  display: flex;
}

.isl-page main > .analysis-deck .featured-card {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: stretch;
  min-height: 0;
  flex: 0 0 100%;
  padding: clamp(34px, 4.5vw, 58px);
  color: var(--deep);
  background: var(--paper);
  isolation: auto;
}

.isl-page main > .analysis-deck .featured-card::before {
  display: none;
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: static;
  order: 2;
  width: 100%;
  height: 100%;
  min-height: clamp(300px, 34vw, 460px);
  object-fit: cover;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  order: 1;
  align-self: center;
  max-width: 680px;
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 16ch;
  margin-top: 14px;
  color: var(--deep);
  font-size: clamp(3rem, 4.2vw, 4rem);
  line-height: 1.02;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 48ch;
  margin-top: 18px;
  color: var(--muted);
  font-size: clamp(1rem, 1.16vw, 1.16rem);
  line-height: 1.55;
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 24px;
}

.isl-page main > .analysis-deck .read-analysis {
  display: block;
  margin-top: 10px;
  color: var(--teal);
  font-size: 0.8rem;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 4;
  width: 36px;
  height: 36px;
  border-color: rgba(27, 110, 110, 0.58);
  background: rgba(255, 255, 255, 0.94);
  transform: none;
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  right: 60px;
  left: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 16px;
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 9px;
  height: 9px;
  border-color: var(--teal);
}

.isl-page main > .analysis-deck .carousel-count {
  right: auto;
  bottom: auto;
  left: clamp(34px, 4.5vw, 58px);
  top: 18px;
  color: var(--muted);
  transform: none;
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 12px;
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .isl-page main > .analysis-deck .featured-card {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px;
  }

  .isl-page main > .analysis-deck .featured-card img,
  .isl-page main > .analysis-deck .mission-visual {
    min-height: 280px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2.25rem, 7vw, 3.25rem);
  }
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck {
    padding: 42px 18px 20px;
  }

  .isl-page main > .analysis-deck .featured-card {
    padding: 28px 22px;
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    top: auto;
    bottom: 16px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.prev {
    right: 60px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 16px;
  }

  .isl-page main > .analysis-deck .carousel-count {
    display: none;
  }
}

/* Restore original image-led opening slide deck. */
.isl-page main > .analysis-deck {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(16px, 2vw, 28px);
  padding-left: 0;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.isl-page main > .analysis-deck .analysis-deck-header,
.isl-page main > .analysis-deck .carousel-count,
.isl-page main > .analysis-deck .read-analysis {
  display: none;
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  display: block;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: visible;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.isl-page main > .analysis-deck .featured-track {
  display: flex;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;
  flex: 0 0 100%;
  min-height: clamp(420px, 46vw, 620px);
  overflow: hidden;
  padding: clamp(32px, 7vw, 98px);
  padding-inline: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
  color: #fff;
  background: transparent;
  isolation: isolate;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.88) 0%, rgba(18, 55, 55, 0.66) 42%, rgba(18, 55, 55, 0.22) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.08) 0%, rgba(18, 55, 55, 0.66) 100%);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  order: initial;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  order: initial;
  align-self: end;
  max-width: 760px;
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 16ch;
  margin-top: 14px;
  color: #fff;
  font-size: clamp(2.35rem, 5.4vw, 5.6rem);
  line-height: 0.98;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 52ch;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.55vw, 1.32rem);
  line-height: 1.55;
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 28px;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 48px;
  height: 48px;
  border-color: var(--teal);
  background: rgba(255, 255, 255, 0.92);
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: clamp(16px, 3vw, 42px);
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: clamp(16px, 3vw, 42px);
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 12px;
  height: 12px;
  border-color: var(--teal);
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 18px;
  margin-bottom: 0;
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 520px;
    padding: 28px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2rem, 12vw, 3.2rem);
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    width: 42px;
    height: 42px;
  }
}

/* Static left-side framing inside the restored slide deck. */
.isl-page main > .analysis-deck .analysis-slide-intro {
  position: absolute;
  top: clamp(52px, 6vw, 92px);
  left: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
  z-index: 3;
  width: min(300px, 24vw);
  pointer-events: none;
}

.isl-page main > .analysis-deck .analysis-slide-intro p {
  margin: 0 0 12px;
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .analysis-slide-intro span {
  display: block;
  color: rgba(255, 255, 255, 0.8);
  font-family: var(--sans);
  font-size: clamp(0.98rem, 1.25vw, 1.14rem);
  line-height: 1.45;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  margin-left: min(34vw, 520px);
  max-width: 760px;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 17ch;
  font-size: clamp(2.2rem, 4.5vw, 4.7rem);
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .analysis-slide-intro {
    top: 34px;
    left: 28px;
    width: calc(100% - 56px);
  }

  .isl-page main > .analysis-deck .featured-card {
    padding-top: 140px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    margin-left: 0;
  }
}

/* Final selected-work two-column editorial module. */
.isl-page main > .analysis-deck {
  padding: 64px clamp(20px, 4vw, 48px);
  background: #f7fbfb;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  display: grid;
  grid-template-columns: minmax(220px, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
  width: min(100%, 1360px);
  max-width: 1360px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-work-intro {
  padding: clamp(22px, 2.4vw, 32px) 0;
}

.isl-page main > .analysis-deck .analysis-work-intro .section-kicker {
  margin-bottom: 18px;
  color: var(--accent);
}

.isl-page main > .analysis-deck .analysis-work-intro p:not(.section-kicker) {
  margin: 0;
  max-width: 330px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.5;
}

.isl-page main > .analysis-deck .analysis-work-intro p + p {
  margin-top: 14px;
}

.isl-page main > .analysis-deck .analysis-slide-intro {
  display: none;
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  background: var(--paper);
  border-top: 4px solid var(--accent);
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.isl-page main > .analysis-deck .featured-track {
  display: flex;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(300px, 0.76fr);
  gap: clamp(26px, 4vw, 56px);
  align-items: stretch;
  flex: 0 0 100%;
  min-height: 420px;
  padding: clamp(34px, 4vw, 54px);
  color: var(--deep);
  background: var(--paper);
  isolation: auto;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}

.isl-page main > .analysis-deck .featured-card::before {
  display: none;
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: static;
  order: 2;
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
}

.isl-page main > .analysis-deck .mission-visual {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.22), rgba(199, 93, 63, 0.14)),
    var(--navy-deep);
}

.isl-page main > .analysis-deck .mission-visual span {
  color: rgba(255, 255, 255, 0.18);
  font-size: clamp(6rem, 11vw, 11rem);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  order: 1;
  align-self: center;
  max-width: 680px;
  margin-left: 0;
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 16ch;
  margin-top: 14px;
  color: var(--deep);
  font-size: clamp(3.35rem, 4.25vw, 4rem);
  line-height: 1.02;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 44ch;
  margin-top: 18px;
  color: var(--muted);
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.52;
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 22px;
}

.isl-page main > .analysis-deck .read-analysis {
  display: block;
  margin-top: 10px;
  color: var(--teal);
  font-family: var(--sans);
  font-size: 0.8rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 18px;
  z-index: 4;
  width: 36px;
  height: 36px;
  border-color: rgba(27, 110, 110, 0.64);
  background: rgba(255, 255, 255, 0.94);
  transform: none;
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: auto;
  right: 64px;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 9px;
  height: 9px;
  border-color: var(--teal);
}

.isl-page main > .analysis-deck .carousel-count {
  display: block;
  position: absolute;
  top: 26px;
  right: 120px;
  z-index: 4;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.isl-page main > .analysis-deck .carousel-dots {
  margin-top: 14px;
  margin-bottom: 0;
}

@media (max-width: 920px) {
  .isl-page main > .analysis-deck .analysis-deck-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .isl-page main > .analysis-deck .analysis-work-intro {
    padding: 0;
  }

  .isl-page main > .analysis-deck .analysis-work-intro p:not(.section-kicker) {
    max-width: 680px;
  }

  .isl-page main > .analysis-deck .featured-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .isl-page main > .analysis-deck .featured-card img,
  .isl-page main > .analysis-deck .mission-visual {
    min-height: 280px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2.35rem, 8vw, 3.4rem);
  }
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck {
    padding: 42px 18px;
  }

  .isl-page main > .analysis-deck .featured-card {
    padding: 28px 22px 78px;
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    top: auto;
    bottom: 18px;
    width: 40px;
    height: 40px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.prev {
    right: 68px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 20px;
  }

  .isl-page main > .analysis-deck .carousel-count {
    top: auto;
    right: auto;
    bottom: 30px;
    left: 22px;
  }
}

/* Match selected-analysis rail and centered carousel controls. */
.isl-page main > .analysis-deck .analysis-deck-wrap {
  grid-template-columns: minmax(240px, 0.28fr) minmax(0, 0.72fr);
}

.isl-page main > .analysis-deck .analysis-work-intro {
  padding-top: 0;
}

.isl-page main > .analysis-deck .featured-carousel {
  padding-bottom: 58px;
}

.isl-page main > .analysis-deck .carousel-arrow {
  top: auto;
  bottom: 18px;
  width: 38px;
  height: 38px;
  transform: none;
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  right: calc(50% + 58px);
  left: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: calc(50% - 96px);
}

.isl-page main > .analysis-deck .carousel-count {
  top: auto;
  right: 50%;
  bottom: 29px;
  transform: translateX(50%);
}

.isl-page main > .analysis-deck .carousel-dots {
  display: none;
}

@media (max-width: 920px) {
  .isl-page main > .analysis-deck .analysis-deck-wrap {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .carousel-arrow.prev {
    right: calc(50% + 56px);
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: calc(50% - 94px);
  }

  .isl-page main > .analysis-deck .carousel-count {
    left: auto;
    right: 50%;
    bottom: 30px;
  }
}

/* Restore simple original analysis slide deck. */
.isl-page main > .analysis-deck {
  padding: 0 0 clamp(16px, 2vw, 28px);
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

.isl-page main > .analysis-deck .analysis-work-intro,
.isl-page main > .analysis-deck .analysis-slide-intro,
.isl-page main > .analysis-deck .carousel-count,
.isl-page main > .analysis-deck .read-analysis {
  display: none;
}

.isl-page main > .analysis-deck .featured-carousel {
  position: relative;
  display: block;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-bottom: 0;
  overflow: visible;
  background: transparent;
  border-top: 0;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.isl-page main > .analysis-deck .featured-track {
  display: flex;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;
  flex: 0 0 100%;
  min-height: clamp(420px, 46vw, 620px);
  overflow: hidden;
  padding: clamp(32px, 7vw, 98px);
  padding-inline: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
  color: #fff;
  background: transparent;
  isolation: isolate;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.88) 0%, rgba(18, 55, 55, 0.66) 42%, rgba(18, 55, 55, 0.22) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.08) 0%, rgba(18, 55, 55, 0.66) 100%);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  order: initial;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.isl-page main > .analysis-deck .mission-visual {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.45), rgba(199, 93, 63, 0.24)),
    var(--navy-deep);
}

.isl-page main > .analysis-deck .mission-visual span {
  color: rgba(255, 255, 255, 0.16);
  font-size: clamp(8rem, 20vw, 18rem);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  order: initial;
  align-self: end;
  max-width: 760px;
  margin-left: 0;
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 16ch;
  margin-top: 14px;
  color: #fff;
  font-size: clamp(2.35rem, 5.4vw, 5.6rem);
  line-height: 0.98;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 52ch;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.55vw, 1.32rem);
  line-height: 1.55;
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 28px;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 48px;
  height: 48px;
  border-color: var(--teal);
  background: rgba(255, 255, 255, 0.92);
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: clamp(16px, 3vw, 42px);
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: clamp(16px, 3vw, 42px);
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 12px;
  height: 12px;
  border-color: var(--teal);
}

.isl-page main > .analysis-deck .carousel-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  margin-bottom: 0;
}

@media (max-width: 680px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 520px;
    padding: 28px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    font-size: clamp(2rem, 12vw, 3.2rem);
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    top: 50%;
    bottom: auto;
    width: 42px;
    height: 42px;
    transform: translateY(-50%);
  }
}

/* Carousel movement fix: each slide occupies one full viewport of the deck. */
.isl-page main > .analysis-deck .featured-track {
  width: 100%;
}

.isl-page main > .analysis-deck .featured-card {
  min-width: 100%;
}

/* Make carousel arrow glyphs explicit and visible. */
.isl-page main > .analysis-deck .carousel-arrow {
  z-index: 20;
  display: grid;
  place-items: center;
  color: transparent;
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: 3px solid var(--teal);
  border-right: 3px solid var(--teal);
}

.isl-page main > .analysis-deck .carousel-arrow.prev::before {
  transform: rotate(-135deg);
  margin-left: 5px;
}

.isl-page main > .analysis-deck .carousel-arrow.next::before {
  transform: rotate(45deg);
  margin-right: 5px;
}

.isl-page main > .analysis-deck .carousel-arrow:hover::before,
.isl-page main > .analysis-deck .carousel-arrow:focus::before {
  border-color: var(--teal);
}

/* Place analysis label on the left and remove the outer right arrow block. */
.isl-page main > .analysis-deck .analysis-side-panel {
  position: absolute;
  top: clamp(48px, 6vw, 86px);
  left: max(clamp(28px, 7vw, 120px), calc((100vw - var(--maxw)) / 2));
  z-index: 5;
  width: min(300px, 24vw);
  pointer-events: none;
}

.isl-page main > .analysis-deck .analysis-side-panel p {
  margin: 0 0 12px;
  color: #d4aa65;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .analysis-side-panel span {
  display: block;
  color: rgba(255, 255, 255, 0.8);
  font-family: var(--sans);
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  line-height: 1.45;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  margin-left: min(34vw, 520px);
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: clamp(18px, 3vw, 48px);
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .analysis-side-panel {
    top: 30px;
    left: 28px;
    width: calc(100% - 56px);
  }

  .isl-page main > .analysis-deck .featured-card {
    padding-top: 138px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    margin-left: 0;
  }
}

/* Move the explanatory white space to a deliberate left panel. */
.isl-page main > .analysis-deck .analysis-deck-wrap {
  max-width: none;
}

.isl-page main > .analysis-deck .featured-carousel {
  display: grid;
  grid-template-columns: minmax(260px, 28%) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  background: var(--paper);
}

.isl-page main > .analysis-deck .analysis-side-panel {
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-column: 1;
  width: auto;
  min-height: clamp(420px, 46vw, 620px);
  padding: clamp(34px, 5vw, 72px);
  background: var(--paper);
}

.isl-page main > .analysis-deck .analysis-side-panel p {
  color: var(--orange);
}

.isl-page main > .analysis-deck .analysis-side-panel span {
  max-width: 16rem;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.35vw, 1.24rem);
}

.isl-page main > .analysis-deck .featured-deck {
  grid-column: 2;
}

.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(420px, 46vw, 620px);
  padding-inline: clamp(36px, 7vw, 118px);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  margin-left: 0;
}

.isl-page main > .analysis-deck .carousel-arrow {
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: calc(28% + 18px);
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
  left: auto;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-carousel {
    grid-template-columns: 1fr;
  }

  .isl-page main > .analysis-deck .analysis-side-panel {
    grid-column: 1;
    min-height: 0;
    padding: 28px;
  }

  .isl-page main > .analysis-deck .featured-deck {
    grid-column: 1;
  }

  .isl-page main > .analysis-deck .featured-card {
    min-height: 500px;
    padding: 28px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.prev {
    left: 16px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 16px;
  }
}

/* Final carousel layout: small left explainer, carousel immediately to the right. */
.isl-page main > .analysis-deck {
  padding: 0 0 22px;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

.isl-page main > .analysis-deck .featured-carousel {
  display: grid;
  grid-template-columns: clamp(220px, 22vw, 320px) minmax(0, 1fr);
  align-items: start;
  width: 100%;
  margin: 0;
  background: #fff;
  overflow: visible;
}

.isl-page main > .analysis-deck .analysis-side-panel {
  position: relative;
  top: auto;
  left: auto;
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: auto;
  min-height: 0;
  margin: clamp(34px, 5vw, 58px) clamp(22px, 3vw, 44px);
  padding: 0;
  background: #fff;
  pointer-events: none;
}

.isl-page main > .analysis-deck .analysis-side-panel p {
  margin: 0 0 18px;
  color: var(--ink);
  font-size: 0.82rem;
  letter-spacing: 0.2em;
}

.isl-page main > .analysis-deck .analysis-side-panel span {
  max-width: 13rem;
  color: var(--muted);
  font-size: clamp(1rem, 1.22vw, 1.16rem);
  line-height: 1.45;
}

.isl-page main > .analysis-deck .carousel-stage {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
}

.isl-page main > .analysis-deck .featured-card {
  min-height: clamp(430px, 45vw, 610px);
  padding: clamp(34px, 6vw, 86px);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  max-width: 760px;
  margin-left: 0;
}

.isl-page main > .analysis-deck .featured-card h3 {
  font-size: clamp(2.3rem, 5vw, 5rem);
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 20;
  width: 42px;
  height: 42px;
  border-color: var(--teal);
  background: rgba(255, 255, 255, 0.94);
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: 18px;
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
  left: auto;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-carousel {
    grid-template-columns: 1fr;
  }

  .isl-page main > .analysis-deck .analysis-side-panel {
    margin: 28px;
  }

  .isl-page main > .analysis-deck .carousel-stage {
    grid-column: 1;
    grid-row: 2;
  }

  .isl-page main > .analysis-deck .featured-card {
    min-height: 500px;
    padding: 30px;
  }
}

/* Contained institutional selected-analysis module. */
.isl-page main > .analysis-deck {
  padding: 72px 32px;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-heading {
  display: block;
  margin: 0 0 24px;
}

.isl-page main > .analysis-deck .analysis-heading p {
  margin: 0 0 10px;
  color: var(--orange);
  font-family: var(--sans);
  font-size: 0.84rem;
  font-weight: 760;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .analysis-heading span {
  display: block;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 1.08rem;
  line-height: 1.45;
}

.isl-page main > .analysis-deck .featured-carousel,
.isl-page main > .analysis-deck .carousel-stage {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  background: transparent;
  overflow: visible;
}

.isl-page main > .analysis-deck .featured-deck {
  width: 100%;
  overflow: hidden;
  border-top: 4px solid var(--orange);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(24, 88, 88, 0.16);
}

.isl-page main > .analysis-deck .featured-track {
  display: flex;
  width: 100%;
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.54fr) minmax(360px, 0.46fr);
  align-items: stretch;
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 0;
  height: clamp(440px, 38vw, 520px);
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--paper);
  isolation: isolate;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: none;
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: relative;
  inset: auto;
  z-index: 0;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.isl-page main > .analysis-deck .mission-visual {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(27, 110, 110, 0.24), rgba(199, 93, 63, 0.14)),
    var(--mist);
}

.isl-page main > .analysis-deck .mission-visual span {
  color: rgba(24, 88, 88, 0.22);
  font-family: var(--serif);
  font-size: clamp(6rem, 13vw, 12rem);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: none;
  margin: 0;
  padding: clamp(34px, 4.4vw, 60px);
  padding-bottom: clamp(82px, 8vw, 104px);
}

.isl-page main > .analysis-deck .featured-card span,
.isl-page main > .analysis-deck .featured-card small {
  color: var(--orange);
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card h3 {
  max-width: 15ch;
  margin: 16px 0 0;
  color: var(--ink);
  font-size: clamp(2.55rem, 3.45vw, 3.25rem);
  line-height: 1.02;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 34rem;
  margin: 18px 0 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 1.08rem;
  line-height: 1.55;
}

.isl-page main > .analysis-deck .featured-card small {
  display: block;
  margin-top: 24px;
}

.isl-page main > .analysis-deck .analysis-cta {
  display: inline-block;
  align-self: flex-start;
  margin-top: 18px;
  color: var(--teal);
  font-family: var(--sans);
  font-size: 0.9rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .featured-card:hover .analysis-cta,
.isl-page main > .analysis-deck .featured-card:focus .analysis-cta {
  color: var(--orange);
}

.isl-page main > .analysis-deck .carousel-controls {
  position: absolute;
  left: clamp(34px, 4.4vw, 60px);
  bottom: 28px;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--teal);
  background: #fff;
  transform: none;
}

.isl-page main > .analysis-deck .carousel-arrow.prev,
.isl-page main > .analysis-deck .carousel-arrow.next {
  left: auto;
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow::before {
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--teal);
  border-right: 2px solid var(--teal);
}

.isl-page main > .analysis-deck .carousel-arrow.prev::before {
  transform: rotate(-135deg);
  margin-left: 4px;
}

.isl-page main > .analysis-deck .carousel-arrow.next::before {
  transform: rotate(45deg);
  margin-right: 4px;
}

.isl-page main > .analysis-deck .carousel-count {
  position: static;
  display: inline-block;
  min-width: 4.3rem;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  transform: none;
}

.isl-page main > .analysis-deck .carousel-dots,
.isl-page main > .analysis-deck .analysis-side-panel {
  display: none;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck {
    padding: 48px 20px;
  }

  .isl-page main > .analysis-deck .featured-card {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .isl-page main > .analysis-deck .featured-card img,
  .isl-page main > .analysis-deck .mission-visual {
    grid-column: 1;
    grid-row: 2;
    height: 240px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    grid-column: 1;
    grid-row: 1;
    padding: 30px 28px 86px;
  }

  .isl-page main > .analysis-deck .featured-card h3 {
    max-width: 16ch;
    font-size: clamp(1.95rem, 9vw, 2.15rem);
  }

  .isl-page main > .analysis-deck .carousel-controls {
    left: 28px;
    bottom: calc(240px + 24px);
  }
}

/* Carousel-only presentation with bottom position dots. */
.isl-page main > .analysis-deck {
  padding: 56px 32px 46px;
}

.isl-page main > .analysis-deck .analysis-heading,
.isl-page main > .analysis-deck .carousel-count,
.isl-page main > .analysis-deck .carousel-controls {
  display: none;
}

.isl-page main > .analysis-deck .carousel-stage {
  position: relative;
}

.isl-page main > .analysis-deck .carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 30;
  width: 42px;
  height: 42px;
  border: 1px solid var(--teal);
  background: rgba(255, 255, 255, 0.94);
  transform: translateY(-50%);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: 18px;
  right: auto;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
  left: auto;
}

.isl-page main > .analysis-deck .carousel-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 18px 0 0;
}

.isl-page main > .analysis-deck .carousel-dots button {
  width: 11px;
  height: 11px;
  border: 1.5px solid var(--teal);
  border-radius: 999px;
  background: transparent;
  padding: 0;
}

.isl-page main > .analysis-deck .carousel-dots button.active,
.isl-page main > .analysis-deck .carousel-dots button[aria-current="true"] {
  background: var(--teal);
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck {
    padding: 36px 20px 34px;
  }

  .isl-page main > .analysis-deck .carousel-arrow {
    width: 38px;
    height: 38px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.prev {
    left: 12px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 12px;
  }
}

/* Correct carousel card proportions after returning to dots/arrows. */
.isl-page main > .analysis-deck .featured-card {
  grid-template-columns: minmax(0, 0.56fr) minmax(420px, 0.44fr);
  height: clamp(430px, 36vw, 500px);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  justify-content: center;
  padding: clamp(34px, 4vw, 54px) clamp(44px, 5vw, 72px);
}

.isl-page main > .analysis-deck .featured-card h3,
.isl-page main > .analysis-deck a.featured-card:hover h3,
.isl-page main > .analysis-deck a.featured-card:focus h3 {
  max-width: 16ch;
  color: var(--ink);
  font-size: clamp(2.15rem, 3.1vw, 3rem);
  line-height: 1.04;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 32rem;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-card {
    grid-template-columns: 1fr;
    height: auto;
  }

  .isl-page main > .analysis-deck .featured-card img,
  .isl-page main > .analysis-deck .mission-visual {
    height: 230px;
  }

  .isl-page main > .analysis-deck .featured-card h3,
  .isl-page main > .analysis-deck a.featured-card:hover h3,
  .isl-page main > .analysis-deck a.featured-card:focus h3 {
    font-size: clamp(1.9rem, 8vw, 2.15rem);
  }
}

/* Image-backed carousel card with controlled title sizing. */
.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  height: clamp(460px, 44vw, 600px);
  min-height: 0;
  padding: clamp(42px, 6vw, 84px) clamp(52px, 8vw, 132px);
  color: #fff;
  background: var(--navy-deep);
  overflow: hidden;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.92) 0%, rgba(18, 55, 55, 0.72) 48%, rgba(18, 55, 55, 0.28) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.08) 0%, rgba(18, 55, 55, 0.48) 100%);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: block;
  max-width: min(720px, 58vw);
  padding: 0;
}

.isl-page main > .analysis-deck .featured-card h3,
.isl-page main > .analysis-deck a.featured-card:hover h3,
.isl-page main > .analysis-deck a.featured-card:focus h3 {
  max-width: 15ch;
  color: #fff;
  font-size: clamp(2.6rem, 4.4vw, 4.9rem);
  line-height: 0.98;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.82);
}

.isl-page main > .analysis-deck .analysis-cta {
  color: #fff;
}

.isl-page main > .analysis-deck .featured-card:hover .analysis-cta,
.isl-page main > .analysis-deck .featured-card:focus .analysis-cta {
  color: #d4aa65;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-card {
    height: auto;
    min-height: 520px;
    padding: 34px 28px 74px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    max-width: none;
  }

  .isl-page main > .analysis-deck .featured-card h3,
  .isl-page main > .analysis-deck a.featured-card:hover h3,
  .isl-page main > .analysis-deck a.featured-card:focus h3 {
    max-width: 13ch;
    font-size: clamp(2.15rem, 10vw, 3.15rem);
  }
}

/* Tighten final carousel image/title behavior. */
.isl-page main > .analysis-deck {
  padding-top: 48px;
}

.isl-page main > .analysis-deck .featured-deck {
  max-width: 1280px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .featured-card {
  height: clamp(430px, 38vw, 540px);
  padding: clamp(38px, 5vw, 72px) clamp(52px, 7vw, 112px);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.isl-page main > .analysis-deck .mission-visual {
  background:
    linear-gradient(135deg, rgba(18, 55, 55, 0.72), rgba(18, 55, 55, 0.38)),
    url("https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?auto=format&fit=crop&w=1600&q=80") center / cover;
}

.isl-page main > .analysis-deck .mission-visual span {
  display: none;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  max-width: min(620px, 54vw);
}

.isl-page main > .analysis-deck .featured-card h3,
.isl-page main > .analysis-deck a.featured-card:hover h3,
.isl-page main > .analysis-deck a.featured-card:focus h3 {
  max-width: 13.5ch;
  font-size: clamp(2.2rem, 3.6vw, 4rem);
  line-height: 1.02;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 36rem;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: calc(50% - 620px);
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: calc(50% - 620px);
}

@media (max-width: 1320px) {
  .isl-page main > .analysis-deck .carousel-arrow.prev {
    left: 18px;
  }

  .isl-page main > .analysis-deck .carousel-arrow.next {
    right: 18px;
  }
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 480px;
    padding: 34px 28px 70px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    max-width: none;
  }

  .isl-page main > .analysis-deck .featured-card h3,
  .isl-page main > .analysis-deck a.featured-card:hover h3,
  .isl-page main > .analysis-deck a.featured-card:focus h3 {
    max-width: 14ch;
    font-size: clamp(2rem, 8.5vw, 2.8rem);
  }
}

/* Final reset: visible full-card image backdrop and smaller publication title. */
.isl-page main > .analysis-deck .featured-deck {
  max-width: 1280px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .featured-card {
  position: relative;
  display: block;
  height: clamp(430px, 36vw, 520px);
  padding: clamp(42px, 5vw, 70px) clamp(52px, 7vw, 104px);
  background: var(--navy-deep);
}

.isl-page main > .analysis-deck .featured-card img,
.isl-page main > .analysis-deck .mission-visual {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
}

.isl-page main > .analysis-deck .featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(18, 55, 55, 0.74) 0%, rgba(18, 55, 55, 0.54) 48%, rgba(18, 55, 55, 0.22) 100%),
    linear-gradient(180deg, rgba(18, 55, 55, 0.14) 0%, rgba(18, 55, 55, 0.46) 100%);
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(610px, 56vw);
  height: 100%;
  max-width: none;
  padding: 0;
}

.isl-page main > .analysis-deck .featured-card h3,
.isl-page main > .analysis-deck a.featured-card:hover h3,
.isl-page main > .analysis-deck a.featured-card:focus h3 {
  max-width: 15ch;
  margin-top: 14px;
  color: #fff;
  font-size: clamp(2.15rem, 3.25vw, 3.55rem);
  line-height: 1.02;
  text-decoration: none;
}

.isl-page main > .analysis-deck .featured-card p {
  max-width: 34rem;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.isl-page main > .analysis-deck .featured-card small {
  margin-top: 20px;
}

.isl-page main > .analysis-deck .mission-visual {
  background:
    linear-gradient(135deg, rgba(18, 55, 55, 0.24), rgba(199, 93, 63, 0.08)),
    url("https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?auto=format&fit=crop&w=1600&q=80") center / cover !important;
}

.isl-page main > .analysis-deck .mission-visual span {
  display: none !important;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-card {
    height: auto;
    min-height: 470px;
    padding: 32px 28px 70px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    width: 100%;
  }

  .isl-page main > .analysis-deck .featured-card h3,
  .isl-page main > .analysis-deck a.featured-card:hover h3,
  .isl-page main > .analysis-deck a.featured-card:focus h3 {
    max-width: 14ch;
    font-size: clamp(2rem, 8.5vw, 2.65rem);
  }
}

/* Fix carousel backdrop: photo visible, controls attached to the card. */
.isl-page main > .analysis-deck .carousel-stage {
  max-width: 1280px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .featured-deck {
  max-width: none;
  margin: 0;
}

.isl-page main > .analysis-deck .featured-card {
  height: clamp(440px, 36vw, 520px);
  padding: clamp(38px, 5vw, 66px) clamp(52px, 7vw, 104px);
}

.isl-page main > .analysis-deck .featured-card::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.42) 48%, rgba(0, 0, 0, 0.16) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.34) 100%);
}

.isl-page main > .analysis-deck .featured-card img {
  filter: none;
}

.isl-page main > .analysis-deck .featured-card > div:last-child {
  width: min(560px, 52vw);
}

.isl-page main > .analysis-deck .featured-card h3,
.isl-page main > .analysis-deck a.featured-card:hover h3,
.isl-page main > .analysis-deck a.featured-card:focus h3 {
  max-width: 13.5ch;
  font-size: clamp(2.05rem, 3vw, 3.25rem);
}

.isl-page main > .analysis-deck .carousel-arrow.prev {
  left: 18px;
}

.isl-page main > .analysis-deck .carousel-arrow.next {
  right: 18px;
}

.isl-page main > .analysis-deck .carousel-dots {
  position: relative;
  z-index: 5;
  margin-top: 18px;
}

@media (max-width: 820px) {
  .isl-page main > .analysis-deck .featured-card {
    min-height: 460px;
    padding: 32px 28px 68px;
  }

  .isl-page main > .analysis-deck .featured-card > div:last-child {
    width: 100%;
  }

  .isl-page main > .analysis-deck .featured-card h3,
  .isl-page main > .analysis-deck a.featured-card:hover h3,
  .isl-page main > .analysis-deck a.featured-card:focus h3 {
    max-width: 13.5ch;
    font-size: clamp(1.9rem, 7.8vw, 2.45rem);
  }
}

/* Compact selected-work list inspired by institutional publication modules. */
.isl-page main > .analysis-deck {
  padding: 56px 32px 48px;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  max-width: 1040px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-list {
  border-top: 1px solid rgba(24, 88, 88, 0.18);
}

.isl-page main > .analysis-deck .analysis-list-item {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 28px 0;
  border-bottom: 1px solid rgba(24, 88, 88, 0.18);
  color: var(--ink);
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-item img,
.isl-page main > .analysis-deck .analysis-list-mark {
  width: 220px;
  height: 128px;
  object-fit: cover;
  background: var(--mist);
}

.isl-page main > .analysis-deck .analysis-list-mark {
  display: grid;
  place-items: center;
  color: var(--teal);
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 600;
}

.isl-page main > .analysis-deck .analysis-list-item span {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 7px;
  color: var(--ink);
  background: #f2c978;
  font-family: var(--sans);
  font-size: 0.78rem;
  line-height: 1;
}

.isl-page main > .analysis-deck .analysis-list-item h3 {
  max-width: 760px;
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  font-size: clamp(1.45rem, 2.35vw, 2.1rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.16;
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-item:hover h3,
.isl-page main > .analysis-deck .analysis-list-item:focus h3 {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.16em;
}

.isl-page main > .analysis-deck .analysis-list-item p {
  margin: 12px 0 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.4;
}

.isl-page main > .analysis-deck .analysis-list-more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1.18rem;
  line-height: 1.25;
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-more span {
  color: var(--teal);
  font-size: 1.35rem;
}

.isl-page main > .analysis-deck .featured-carousel,
.isl-page main > .analysis-deck .carousel-stage,
.isl-page main > .analysis-deck .carousel-dots {
  display: none;
}

@media (max-width: 760px) {
  .isl-page main > .analysis-deck {
    padding: 40px 22px;
  }

  .isl-page main > .analysis-deck .analysis-list-item {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 16px;
    padding: 22px 0;
  }

  .isl-page main > .analysis-deck .analysis-list-item img,
  .isl-page main > .analysis-deck .analysis-list-mark {
    width: 108px;
    height: 82px;
  }

  .isl-page main > .analysis-deck .analysis-list-item h3 {
    font-size: 1.18rem;
  }

  .isl-page main > .analysis-deck .analysis-list-item p {
    font-size: 0.92rem;
  }
}

/* Two-column publications module: large latest item, two compact items. */
.isl-page main > .analysis-deck {
  padding: 44px 32px 42px;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  max-width: 1180px;
}

.isl-page main > .analysis-deck .analysis-list {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.9fr);
  column-gap: 32px;
  border-top: 1px solid rgba(24, 88, 88, 0.18);
}

.isl-page main > .analysis-deck .analysis-list-item {
  border-bottom: 1px solid rgba(24, 88, 88, 0.18);
}

.isl-page main > .analysis-deck .analysis-list-item:first-child {
  grid-column: 1;
  grid-row: 1 / span 3;
  display: block;
  padding: 24px 0 0;
  border-bottom: 0;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  width: 100%;
  height: clamp(260px, 25vw, 360px);
  margin-bottom: 18px;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
  max-width: 14ch;
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  line-height: 1.05;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2),
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) {
  grid-column: 2;
  grid-template-columns: 138px minmax(0, 1fr);
  gap: 18px;
  padding: 24px 0;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) .analysis-list-mark {
  width: 138px;
  height: 92px;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) h3,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) h3 {
  max-width: none;
  font-size: clamp(1.22rem, 1.75vw, 1.65rem);
  line-height: 1.18;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) p,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) p {
  margin-top: 9px;
  font-size: 0.94rem;
}

.isl-page main > .analysis-deck .analysis-list-more {
  grid-column: 2;
  align-self: start;
  margin-top: 18px;
  font-size: 1rem;
}

@media (max-width: 880px) {
  .isl-page main > .analysis-deck .analysis-list {
    display: block;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child {
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(24, 88, 88, 0.18);
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
    font-size: clamp(1.75rem, 8vw, 2.6rem);
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(2),
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 16px;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(2) img,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) img,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) .analysis-list-mark {
    width: 108px;
    height: 82px;
  }
}

/* MEI-style selected work layout. */
.isl-page main > .analysis-deck {
  padding: 42px 32px 50px;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  max-width: 1320px;
}

.isl-page main > .analysis-deck .analysis-list {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(380px, 0.86fr);
  column-gap: 34px;
  border-top: 1px solid rgba(40, 58, 58, 0.22);
}

.isl-page main > .analysis-deck .analysis-list-item {
  color: #111;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child {
  display: block;
  grid-column: 1;
  grid-row: 1 / span 3;
  margin-top: 26px;
  padding: 0 0 20px;
  border: 1px solid rgba(40, 58, 58, 0.16);
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  display: block;
  width: 100%;
  height: clamp(330px, 31vw, 470px);
  margin: 0 0 20px;
  object-fit: cover;
  object-position: center;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child > div {
  padding: 0 22px;
}

.isl-page main > .analysis-deck .analysis-list-item span {
  margin-bottom: 12px;
  padding: 5px 8px;
  color: #111;
  background: #f1c770;
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
  max-width: 15ch;
  color: #111;
  font-family: var(--sans);
  font-size: clamp(2.25rem, 3.6vw, 3.55rem);
  font-weight: 500;
  line-height: 1.02;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.14em;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child p {
  margin-top: 14px;
  color: #5f6969;
  font-size: 1rem;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child small {
  display: block;
  max-width: 44rem;
  margin-top: 12px;
  color: #5f6969;
  font-family: var(--sans);
  font-size: 0.96rem;
  line-height: 1.45;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2),
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) {
  display: grid;
  grid-column: 2;
  grid-template-columns: 164px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: 36px 0;
  border-bottom: 1px solid rgba(40, 58, 58, 0.22);
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) {
  border-top: 0;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) .analysis-list-mark {
  width: 164px;
  height: 128px;
  object-fit: cover;
}

.isl-page main > .analysis-deck .analysis-list-mark {
  background:
    radial-gradient(circle at 40% 28%, rgba(255,255,255,0.96), rgba(223, 236, 236, 0.78)),
    var(--mist);
  color: var(--teal);
  font-size: 3rem;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) h3,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) h3 {
  max-width: 19ch;
  color: #111;
  font-family: var(--sans);
  font-size: clamp(1.38rem, 1.85vw, 1.72rem);
  font-weight: 500;
  line-height: 1.16;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) p,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(3) p {
  margin-top: 14px;
  color: #5f6969;
  font-size: 0.98rem;
  line-height: 1.42;
}

.isl-page main > .analysis-deck .analysis-list-more {
  grid-column: 2;
  margin-top: 22px;
  color: #111;
  font-size: 1.02rem;
}

.isl-page main > .analysis-deck .analysis-list-more span {
  color: #111;
  font-size: 1.36rem;
}

@media (min-width: 881px) {
  .isl-page main > .analysis-deck .analysis-list {
    position: relative;
  }

  .isl-page main > .analysis-deck .analysis-list::before {
    content: "";
    position: absolute;
    top: 26px;
    bottom: 0;
    left: calc((100% - 34px) * 0.632);
    width: 1px;
    background: rgba(40, 58, 58, 0.2);
  }
}

@media (max-width: 880px) {
  .isl-page main > .analysis-deck {
    padding: 34px 22px 42px;
  }

  .isl-page main > .analysis-deck .analysis-list {
    display: block;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child {
    margin-top: 22px;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child img {
    height: clamp(220px, 52vw, 340px);
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
    font-size: clamp(1.95rem, 8vw, 2.65rem);
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(2),
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(2) img,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) .analysis-list-mark {
    width: 112px;
    height: 88px;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(2) h3,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(3) h3 {
    font-size: 1.15rem;
  }
}

/* Refine left feature proportions. */
.isl-page main > .analysis-deck .analysis-list {
  grid-template-columns: minmax(0, 1.38fr) minmax(400px, 0.92fr);
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  height: clamp(380px, 34vw, 520px);
  object-position: center center;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
  max-width: 22ch;
  font-size: clamp(2.05rem, 3vw, 3.05rem);
  line-height: 1.04;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child small {
  max-width: 52rem;
}

@media (min-width: 881px) {
  .isl-page main > .analysis-deck .analysis-list::before {
    left: calc((100% - 34px) * 0.60);
  }
}

@media (max-width: 880px) {
  .isl-page main > .analysis-deck .analysis-list {
    display: block;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child img {
    height: clamp(240px, 58vw, 380px);
  }
}

/* Polished policy-institute publications grid. */
.isl-page main > .analysis-deck {
  padding: 64px 32px 58px;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-deck-wrap {
  max-width: 1440px;
  margin: 0 auto;
}

.isl-page main > .analysis-deck .analysis-section-heading {
  margin: 0 0 24px;
}

.isl-page main > .analysis-deck .analysis-section-heading p {
  margin: 0 0 8px;
  color: var(--orange);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.isl-page main > .analysis-deck .analysis-section-heading span {
  display: block;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 1.06rem;
  line-height: 1.45;
}

.isl-page main > .analysis-deck .analysis-list {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  column-gap: 48px;
  border-top: 0;
}

.isl-page main > .analysis-deck .analysis-list::before {
  content: none;
}

.isl-page main > .analysis-deck .analysis-list-item {
  color: #101616;
  font-family: var(--sans);
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child {
  grid-column: 1;
  grid-row: 1 / span 4;
  display: block;
  margin: 0;
  padding: 0;
  border: 1px solid #d7dddd;
  background: #fff;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  display: block;
  width: 100%;
  height: 440px;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child > div {
  padding: 32px;
}

.isl-page main > .analysis-deck .analysis-list-item span {
  display: inline-block;
  margin: 0 0 12px;
  padding: 5px 9px;
  color: #101616;
  background: #f1c770;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.isl-page main > .analysis-deck .analysis-list-item h3 {
  margin: 0;
  color: #101616;
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: 0;
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
  max-width: 18ch;
  font-size: clamp(2.35rem, 3vw, 2.75rem);
  line-height: 1.08;
}

.isl-page main > .analysis-deck .analysis-list-item:hover h3,
.isl-page main > .analysis-deck .analysis-list-item:focus h3 {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.15em;
}

.isl-page main > .analysis-deck .analysis-list-item p,
.isl-page main > .analysis-deck .analysis-list-item small {
  display: block;
  margin: 14px 0 0;
  color: #687272;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.45;
}

.isl-page main > .analysis-deck .analysis-list-item small {
  max-width: 46rem;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) {
  grid-column: 2;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid #d7dddd;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(2) {
  padding-top: 0;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) .analysis-list-mark {
  width: 180px;
  height: 120px;
  object-fit: cover;
}

.isl-page main > .analysis-deck .analysis-list-mark {
  display: grid;
  place-items: center;
  color: var(--teal);
  background: #f7f2e8;
  font-family: var(--serif);
  font-size: 2.55rem;
  font-weight: 600;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) h3 {
  max-width: 22ch;
  font-size: clamp(1.5rem, 1.85vw, 1.78rem);
  line-height: 1.1;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) p {
  margin-top: 12px;
  font-size: 0.98rem;
  line-height: 1.42;
}

.isl-page main > .analysis-deck .analysis-list-more {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  margin: 24px 0 0;
  color: #101616;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.3;
  text-decoration: none;
}

.isl-page main > .analysis-deck .analysis-list-more:hover,
.isl-page main > .analysis-deck .analysis-list-more:focus {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.isl-page main > .analysis-deck .analysis-list-more span {
  color: var(--teal);
  font-size: 1.25rem;
}

@media (max-width: 960px) {
  .isl-page main > .analysis-deck {
    padding: 52px 24px;
  }

  .isl-page main > .analysis-deck .analysis-list {
    display: block;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child {
    margin-bottom: 22px;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child img {
    height: clamp(260px, 54vw, 380px);
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
    font-size: clamp(2rem, 7vw, 2.55rem);
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    padding: 22px 0;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) img,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) .analysis-list-mark {
    width: 132px;
    height: 92px;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) h3 {
    font-size: 1.18rem;
  }
}

/* No heading above the selected-work grid. */
.isl-page main > .analysis-deck {
  padding-top: 46px;
}

.isl-page main > .analysis-deck .analysis-section-heading {
  display: none;
}

/* Tighten right column and add breathing room between photos and titles. */
.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) {
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 32px;
  padding: 20px 0;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) .analysis-list-mark {
  width: 168px;
  height: 108px;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) h3 {
  max-width: 24ch;
  font-size: clamp(1.32rem, 1.55vw, 1.55rem);
  line-height: 1.12;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) p {
  margin-top: 10px;
  font-size: 0.94rem;
}

.isl-page main > .analysis-deck .analysis-list-item span {
  margin-bottom: 14px;
}

.isl-page main > .analysis-deck .analysis-list-more {
  margin-top: 14px;
}

@media (max-width: 960px) {
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 20px;
    padding: 20px 0;
  }

  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) img,
  .isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) .analysis-list-mark {
    width: 120px;
    height: 84px;
  }
}

/* Final editorial spacing and crop polish. */
.isl-page main > .analysis-deck {
  padding-top: 72px;
}

.isl-page main > .analysis-deck .analysis-list {
  grid-template-columns: minmax(0, 61fr) minmax(0, 39fr);
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  object-position: 42% center;
}

@media (max-width: 960px) {
  .isl-page main > .analysis-deck {
    padding-top: 48px;
  }
}

/* Force final selected-work sizing and top gap. */
.isl-page main > .analysis-deck {
  padding-top: 0 !important;
  padding-bottom: 42px !important;
}

.isl-page main > .analysis-deck .analysis-list {
  margin-top: 36px !important;
  grid-template-columns: minmax(0, 61fr) minmax(0, 39fr) !important;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child img {
  height: 380px !important;
  object-position: 38% center !important;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child > div {
  padding: 24px 32px 28px !important;
}

.isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
  max-width: 24ch !important;
  font-size: clamp(2rem, 2.65vw, 2.65rem) !important;
  line-height: 1.06 !important;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) {
  gap: 34px !important;
  padding: 16px 0 !important;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) img,
.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) .analysis-list-mark {
  height: 96px !important;
}

.isl-page main > .analysis-deck .analysis-list-item:nth-child(n+2) h3 {
  font-size: clamp(1.22rem, 1.42vw, 1.42rem) !important;
}

.isl-page main > .analysis-deck .analysis-list-more {
  margin-top: 10px !important;
}

@media (max-width: 960px) {
  .isl-page main > .analysis-deck .analysis-list {
    margin-top: 28px !important;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child img {
    height: clamp(230px, 50vw, 340px) !important;
  }

  .isl-page main > .analysis-deck .analysis-list-item:first-child h3 {
    font-size: clamp(1.85rem, 7vw, 2.35rem) !important;
  }
}

/* Join the Network section. */
.join-network {
  background: var(--white);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.join-network-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(320px, 0.62fr);
  gap: clamp(28px, 6vw, 90px);
  max-width: 1240px;
  margin-bottom: clamp(28px, 4vw, 46px);
}

.join-network-heading .section-kicker {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.join-network-heading h2 {
  max-width: 760px;
}

.join-network-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  max-width: 1240px;
  background: var(--line);
  border: 1px solid var(--line);
}

.join-network-grid a {
  min-height: 230px;
  padding: clamp(24px, 3vw, 34px);
  background: var(--cream);
  color: var(--deep);
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease;
}

.join-network-grid a:nth-child(2) {
  background: var(--wash);
}

.join-network-grid a:nth-child(3) {
  background: #f6e3d9;
}

.join-network-grid span {
  display: block;
  margin-bottom: 34px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.join-network-grid h3 {
  margin-bottom: 14px;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
}

.join-network-grid p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.join-network-grid a:hover,
.join-network-grid a:focus-visible {
  background: var(--deep);
  color: var(--cream);
  outline: none;
}

.join-network-grid a:hover p,
.join-network-grid a:focus-visible p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 820px) {
  .join-network-heading,
  .join-network-grid {
    grid-template-columns: 1fr;
  }

  .join-network-grid a {
    min-height: 0;
  }
}

/* Join network copy refinements. */
.join-network-heading {
  align-items: start;
}

.join-network-heading h2 {
  font-size: clamp(3rem, 6vw, 5.6rem);
  line-height: 0.98;
}

.join-network-heading > p {
  max-width: 620px;
  color: var(--muted);
  font-size: clamp(1.18rem, 1.8vw, 1.45rem);
  line-height: 1.5;
}

.join-network-grid a {
  display: flex;
  flex-direction: column;
}

.join-network-grid p {
  margin-bottom: 26px;
}

.join-network-grid strong {
  margin-top: auto;
  color: var(--teal);
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.join-network-grid a:hover strong,
.join-network-grid a:focus-visible strong {
  color: var(--cream);
}

/* Slightly reduce Join the Network heading scale. */
.join-network-heading h2 {
  font-size: clamp(2.7rem, 5.1vw, 4.8rem);
}

/* Keep closing CTA visually anchored to the right. */
.isl-page main .closing-cta .button.primary {
  justify-self: end;
}

/* Align the closing-section CTA with the footer CTA column. */
@media (min-width: 981px) {
  .isl-page main .closing-cta {
    grid-template-columns: minmax(0, 1fr) minmax(540px, 0.6fr);
    column-gap: clamp(48px, 7vw, 112px);
  }

  .isl-page main .closing-cta .button.primary {
    justify-self: start;
    margin-left: calc(clamp(44px, 5vw, 72px) + 140px);
  }
}

/* Nudge closing-section CTA further left. */
@media (min-width: 981px) {
  .isl-page main .closing-cta .button.primary {
    margin-left: calc(clamp(24px, 3.4vw, 48px) + 96px);
  }
}

/* What We Do page rewrite. */
.what-we-do-hero h1 {
  max-width: 980px;
}

.what-copy-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(340px, 0.78fr);
  gap: clamp(32px, 6vw, 96px);
  max-width: 1240px;
}

.what-copy-grid h2 {
  max-width: 760px;
}

.what-we-do-copy .body-copy p,
.what-network-model .body-copy p {
  font-size: clamp(1.05rem, 1.25vw, 1.2rem);
  line-height: 1.72;
}

.what-advantages {
  margin-top: clamp(34px, 4vw, 52px);
}

.what-functions .chapter-list article span {
  display: block;
  margin-bottom: 28px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.what-functions .chapter-list article {
  min-height: 300px;
}

@media (max-width: 820px) {
  .what-copy-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage approach workflow section. */
.approach-section {
  background: #fbf8f4;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.approach-heading {
  max-width: 760px;
  margin-bottom: clamp(44px, 5vw, 70px);
}

.approach-heading h2 {
  margin-bottom: 18px;
  color: var(--deep);
  font-size: clamp(2.8rem, 5.2vw, 5rem);
  line-height: 0.98;
}

.approach-heading > p:not(.section-kicker) {
  max-width: 700px;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
  line-height: 1.55;
}

.approach-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 56px);
  max-width: 1320px;
  margin-bottom: clamp(42px, 6vw, 78px);
}

.approach-steps::before {
  position: absolute;
  top: 35px;
  left: 10%;
  right: 10%;
  height: 1px;
  content: "";
  background: var(--line);
}

.approach-steps article {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  text-align: center;
}

.approach-steps article:not(:last-child)::after {
  position: absolute;
  top: 30px;
  right: calc(-1 * clamp(14px, 2.4vw, 34px));
  width: 0;
  height: 0;
  content: "";
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 10px solid var(--deep);
}

.step-number {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fbf8f4;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 1.55rem;
  font-weight: 800;
}

.approach-steps svg {
  width: 42px;
  height: 42px;
  margin-bottom: 16px;
  color: var(--deep);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.approach-steps h3 {
  margin-bottom: 10px;
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
}

.approach-steps p {
  max-width: 230px;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.45;
}

.approach-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 34px);
  max-width: 1320px;
}

.approach-cards a {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  column-gap: 24px;
  min-height: 230px;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--line);
  border-top: 2px solid rgba(27, 110, 110, 0.45);
  background: var(--white);
  color: var(--deep);
  text-decoration: none;
}

.approach-cards a:nth-child(2) {
  border-top-color: rgba(199, 93, 63, 0.45);
}

.approach-cards a:nth-child(3) {
  border-top-color: rgba(224, 177, 91, 0.7);
}

.approach-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: var(--wash);
  color: var(--deep);
  font-family: var(--sans);
  font-weight: 800;
  letter-spacing: 0.08em;
}

.approach-cards h3,
.approach-cards p,
.approach-cards strong {
  grid-column: 2;
}

.approach-cards h3 {
  margin-bottom: 12px;
  font-size: clamp(1.25rem, 1.7vw, 1.6rem);
}

.approach-cards p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.approach-cards strong {
  align-self: end;
  margin-top: 22px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.86rem;
  letter-spacing: 0.02em;
}

.approach-cards a:hover h3,
.approach-cards a:focus-visible h3,
.approach-note a:hover,
.approach-note a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.approach-note {
  margin: clamp(28px, 4vw, 46px) auto 0;
  color: var(--muted);
  text-align: center;
  font-size: 0.98rem;
}

.approach-note a {
  color: var(--accent);
}

@media (max-width: 980px) {
  .approach-steps,
  .approach-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .approach-steps::before,
  .approach-steps article::after {
    display: none;
  }
}

@media (max-width: 680px) {
  .approach-steps,
  .approach-cards {
    grid-template-columns: 1fr;
  }

  .approach-cards a {
    grid-template-columns: 1fr;
  }

  .approach-cards h3,
  .approach-cards p,
  .approach-cards strong {
    grid-column: auto;
  }

  .approach-icon {
    margin-bottom: 18px;
  }
}

/* Make the What We Do approach section more vertically compact. */
.approach-section {
  padding-top: clamp(46px, 5vw, 72px);
  padding-bottom: clamp(44px, 5vw, 68px);
}

.approach-heading {
  margin-bottom: clamp(30px, 3.4vw, 46px);
}

.approach-heading h2 {
  margin-bottom: 12px;
  font-size: clamp(2.45rem, 4.4vw, 4.25rem);
}

.approach-steps {
  margin-bottom: clamp(30px, 4vw, 48px);
}

.step-number {
  width: 60px;
  height: 60px;
  margin-bottom: 12px;
  font-size: 1.34rem;
}

.approach-steps::before {
  top: 30px;
}

.approach-steps article:not(:last-child)::after {
  top: 25px;
}

.approach-steps svg {
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
}

.approach-steps h3 {
  margin-bottom: 7px;
}

.approach-cards a {
  min-height: 190px;
  padding: clamp(22px, 2.4vw, 30px);
}

.approach-icon {
  width: 62px;
  height: 62px;
}

.approach-cards p {
  line-height: 1.45;
}

.approach-cards strong {
  margin-top: 16px;
}

.approach-note {
  margin-top: clamp(20px, 2.8vw, 32px);
}

/* Three-card homepage support grid. */
.isl-page main .service-grid.three-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isl-page main .service-grid.three-grid article:nth-child(2) {
  transform: translateY(24px);
}

@media (max-width: 980px) {
  .isl-page main .service-grid.three-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .isl-page main .service-grid.three-grid {
    grid-template-columns: 1fr;
  }

  .isl-page main .service-grid.three-grid article:nth-child(2) {
    transform: none;
  }
}

/* Polished three-card support section. */
.isl-page main > .services {
  background: #fbf8f4;
}

.isl-page main > .services .section-heading.split {
  align-items: start;
  border-bottom: 0;
}

.isl-page main > .services .section-heading.split > p {
  padding-left: clamp(28px, 5vw, 70px);
  border-left: 1px solid rgba(18, 55, 55, 0.22);
}

.isl-page main .service-grid.three-grid {
  gap: clamp(18px, 2.2vw, 28px);
  max-width: 1320px;
  border: 0;
  background: transparent;
}

.isl-page main .service-grid.three-grid article {
  min-height: 250px;
  padding: clamp(24px, 2.8vw, 34px);
  border: 1px solid rgba(18, 55, 55, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 26px rgba(18, 55, 55, 0.04);
}

.isl-page main .service-grid.three-grid article:nth-child(2) {
  transform: none;
}

.service-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 30px;
}

.service-card-top span {
  display: inline-flex !important;
  align-items: center;
  gap: 18px;
  margin: 0 !important;
  color: var(--accent) !important;
  font-family: var(--sans);
  font-size: 0.9rem !important;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.service-card-top span::after {
  width: 42px;
  height: 1px;
  content: "";
  background: rgba(199, 93, 63, 0.58);
}

.service-card-top i {
  display: grid;
  width: 70px;
  height: 70px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--wash);
  color: var(--deep);
  font-style: normal;
}

.service-card-top svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.isl-page main .service-grid.three-grid h3 {
  max-width: 12ch;
  margin-bottom: 18px;
  font-size: clamp(1.65rem, 2.1vw, 2.05rem);
  line-height: 1.06;
}

.isl-page main .service-grid.three-grid p {
  max-width: 36ch;
  color: var(--ink);
  font-size: clamp(0.98rem, 1.1vw, 1.08rem);
  line-height: 1.55;
}

.isl-page main > .services > .section-button {
  display: inline-flex;
  gap: 28px;
  margin-top: 28px;
  padding-right: 22px;
}

.isl-page main > .services > .section-button span {
  font-size: 1.45rem;
  line-height: 0.8;
}

@media (max-width: 980px) {
  .isl-page main > .services .section-heading.split > p {
    padding-left: 0;
    border-left: 0;
  }

  .isl-page main .service-grid.three-grid {
    grid-template-columns: 1fr;
  }
}


/* Dedicated publications page. */
.isl-page .primary-nav a[aria-current="page"] {
  color: var(--teal);
  border-bottom: 3px solid var(--teal);
}

.publications-page {
  background: #fbfaf7;
}

.publications-page .publications-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(44px, 7vw, 82px) clamp(22px, 7vw, 92px) 24px;
  border-bottom: 1px solid rgba(20, 63, 61, 0.14);
  background: linear-gradient(90deg, rgba(251, 250, 247, 0.98), rgba(251, 250, 247, 0.88));
}

.publications-page .publications-hero::after {
  content: "";
  position: absolute;
  right: clamp(34px, 10vw, 180px);
  bottom: -86px;
  width: clamp(220px, 28vw, 420px);
  aspect-ratio: 1;
  border: 18px solid rgba(20, 63, 61, 0.05);
  border-radius: 50%;
  opacity: 0.9;
  pointer-events: none;
}

.publications-page .publications-hero-inner,
.publications-page .publications-list {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.publications-page .publications-hero h1 {
  margin: 0 0 10px;
  max-width: 780px;
  color: var(--navy);
  font-family: var(--serif);
  font-size: clamp(4rem, 7.2vw, 6.4rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: 0;
}

.publications-page .publications-hero p {
  max-width: 680px;
  margin: 0;
  color: rgba(38, 48, 50, 0.82);
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.48;
}

.publications-page .publication-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(22px, 4vw, 54px);
  margin-top: clamp(30px, 4vw, 48px);
  font-family: var(--serif);
  font-size: 1.03rem;
}

.publications-page .publication-tabs a {
  display: inline-flex;
  padding: 0 0 9px;
  border-bottom: 3px solid transparent;
  color: var(--ink);
}

.publications-page .publication-tabs a[aria-current="page"],
.publications-page .publication-tabs a:hover,
.publications-page .publication-tabs a:focus {
  color: var(--teal);
  border-bottom-color: var(--teal);
}

.publications-page .publications-list {
  padding: 28px clamp(22px, 5vw, 48px) clamp(54px, 7vw, 88px);
}

.publications-page .publication-feature-card {
  display: grid;
  grid-template-columns: minmax(330px, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(30px, 4vw, 54px);
  align-items: center;
  padding: clamp(16px, 2vw, 26px);
  border: 1px solid #d7dddd;
  background: rgba(255, 255, 255, 0.76);
}

.publications-page .publication-feature-image {
  display: block;
  overflow: hidden;
  min-height: 230px;
  height: clamp(260px, 23vw, 330px);
  background: #eef4f2;
}

.publications-page .publication-feature-image img,
.publications-page .publication-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 160ms ease;
}

.publications-page a:hover img,
.publications-page a:focus img {
  opacity: 0.9;
}

.publications-page .publication-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 5px 9px;
  background: #f0c56c;
  color: #111;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.publications-page .publication-feature-copy h2,
.publications-page .publication-row-copy h2 {
  margin: 0;
  color: #111;
  font-family: var(--serif);
  font-weight: 520;
  letter-spacing: 0;
}

.publications-page .publication-feature-copy h2 {
  max-width: 780px;
  font-size: clamp(2.05rem, 3vw, 3rem);
  line-height: 1.05;
}

.publications-page .publication-feature-copy h2 a,
.publications-page .publication-row-copy h2 a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.08em;
}

.publications-page .publication-feature-copy h2 a:hover,
.publications-page .publication-feature-copy h2 a:focus,
.publications-page .publication-row-copy h2 a:hover,
.publications-page .publication-row-copy h2 a:focus {
  text-decoration: underline;
}

.publications-page .publication-feature-copy > p:not(.publication-meta),
.publications-page .publication-row-copy > p {
  margin: 14px 0 0;
  color: rgba(38, 48, 50, 0.76);
  font-size: clamp(0.98rem, 1.1vw, 1.12rem);
  line-height: 1.45;
}

.publications-page .publication-meta,
.publications-page .publication-row-meta p {
  margin: 14px 0 0;
  color: rgba(38, 48, 50, 0.72);
  font-size: 0.93rem;
  line-height: 1.45;
}

.publications-page .publication-meta a,
.publications-page .publication-row-meta a {
  color: var(--teal);
  text-decoration: none;
}

.publications-page .publication-meta a:hover,
.publications-page .publication-meta a:focus,
.publications-page .publication-row-meta a:hover,
.publications-page .publication-row-meta a:focus {
  text-decoration: underline;
}

.publications-page .publication-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) minmax(210px, 0.42fr);
  gap: clamp(22px, 3vw, 48px);
  align-items: center;
  padding: clamp(18px, 2.4vw, 28px) 0;
  border-bottom: 1px solid #d7dddd;
}

.publications-page .publication-row:first-of-type {
  margin-top: 14px;
  border-top: 1px solid #d7dddd;
}

.publications-page .publication-thumb {
  display: block;
  width: 180px;
  height: 120px;
  background: #edf4f2;
}

.publications-page .publication-thumb-mark {
  display: grid;
  place-items: center;
  color: #111;
  background: #f3ecdf;
  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 500;
  text-decoration: none;
}

.publications-page .publication-row-copy h2 {
  max-width: 760px;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.1;
}

.publications-page .publication-row-copy .publication-pill {
  margin-bottom: 9px;
}

.publications-page .publication-row-meta {
  align-self: center;
  justify-self: stretch;
}

.publications-page .publication-row-meta p:first-child {
  margin-top: 0;
  color: rgba(38, 48, 50, 0.72);
}

.publications-page .publication-row-meta p + p {
  margin-top: 6px;
  color: var(--teal);
}

.publications-page .publications-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  width: fit-content;
  margin: 24px auto 0;
  color: #111;
  font-family: var(--serif);
  font-size: 1.08rem;
  text-decoration: none;
}

.publications-page .publications-more span {
  color: var(--teal);
  font-family: var(--sans);
  font-size: 1.55rem;
  line-height: 1;
}

.publications-page .publications-more:hover,
.publications-page .publications-more:focus {
  color: var(--teal);
}

@media (max-width: 980px) {
  .publications-page .publication-feature-card,
  .publications-page .publication-row {
    grid-template-columns: 1fr;
  }

  .publications-page .publication-row-meta {
    justify-self: start;
  }

  .publications-page .publication-thumb {
    width: min(100%, 260px);
    height: 150px;
  }
}

@media (max-width: 640px) {
  .publications-page .publications-hero {
    padding: 34px 20px 20px;
  }

  .publications-page .publications-list {
    padding: 22px 18px 50px;
  }

  .publications-page .publication-feature-card {
    padding: 14px;
  }

  .publications-page .publication-feature-image {
    height: 230px;
  }

  .publications-page .publication-tabs {
    gap: 18px;
    font-size: 0.98rem;
  }
}


/* Publications page polish to match the reference list layout. */
.publications-page .publications-list {
  padding-top: 24px;
}

.publications-page .publication-feature-card {
  grid-template-columns: minmax(360px, 0.74fr) minmax(0, 1fr);
  gap: clamp(34px, 4vw, 58px);
  align-items: center;
  padding: clamp(18px, 2vw, 24px);
  border-color: rgba(20, 63, 61, 0.1);
  box-shadow: none;
}

.publications-page .publication-feature-image {
  height: clamp(270px, 21vw, 310px);
}

.publications-page .publication-feature-copy h2 {
  font-size: clamp(1.95rem, 2.35vw, 2.75rem);
}

.publications-page .publication-row {
  grid-template-columns: 164px minmax(0, 1fr) minmax(220px, 0.36fr);
  padding: 22px 0;
}

.publications-page .publication-thumb {
  width: 164px;
  height: 106px;
}

.publications-page .publication-row-copy h2 {
  font-size: clamp(1.28rem, 1.65vw, 1.72rem);
}

.publications-page .publication-row-copy > p {
  max-width: 760px;
}

@media (max-width: 980px) {
  .publications-page .publication-feature-card,
  .publications-page .publication-row {
    grid-template-columns: 1fr;
  }

  .publications-page .publication-row {
    gap: 14px;
  }
}


/* Data-driven publication filters. */
.publications-page .publication-tabs button {
  display: inline-flex;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 3px solid transparent;
  appearance: none;
  background: transparent;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}

.publications-page .publication-tabs button[aria-current="page"],
.publications-page .publication-tabs button:hover,
.publications-page .publication-tabs button:focus-visible {
  color: var(--teal);
  border-bottom-color: var(--teal);
}

.publications-page .publication-tabs button:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 4px;
}

.publications-page .publication-empty {
  margin: 0;
  padding: 42px 0;
  border-top: 1px solid #d7dddd;
  border-bottom: 1px solid #d7dddd;
  color: rgba(38, 48, 50, 0.72);
  font-size: 1.05rem;
}


/* What We Do opening layout. */
.what-intro {
  display: grid;
  grid-template-columns: minmax(360px, 0.86fr) minmax(420px, 1.14fr);
  gap: clamp(34px, 7vw, 110px);
  align-items: center;
  padding: clamp(52px, 7vw, 92px) clamp(22px, 6vw, 84px) clamp(36px, 5vw, 60px);
  border-bottom: 1px solid var(--line);
  background: #fbf8f4;
}

.what-intro-copy,
.challenge-grid {
  width: min(100%, 1440px);
}

.what-intro .eyebrow,
.what-challenge .section-kicker {
  font-size: clamp(0.9rem, 1.15vw, 1.1rem);
  letter-spacing: 0.18em;
}

.what-intro h1 {
  max-width: 760px;
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(4rem, 7.2vw, 7.2rem);
  font-weight: 520;
  line-height: 0.94;
  letter-spacing: 0;
}

.intro-rule {
  display: block;
  width: 70px;
  height: 5px;
  margin: clamp(26px, 3vw, 38px) 0 clamp(24px, 3vw, 34px);
  background: var(--accent);
}

.intro-goal {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  max-width: 760px;
}

.goal-icon {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border-radius: 50%;
  background: rgba(20, 95, 93, 0.12);
  color: var(--deep);
}

.goal-icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.intro-goal p {
  margin: 0;
  color: var(--deep);
  font-size: clamp(1.15rem, 1.65vw, 1.5rem);
  font-weight: 600;
  line-height: 1.42;
}

.network-graphic {
  opacity: 0.62;
}

.network-graphic svg {
  display: block;
  width: 100%;
  height: auto;
}

.network-lines path {
  fill: none;
  stroke: rgba(20, 63, 61, 0.15);
  stroke-width: 1.2;
}

.network-nodes circle {
  fill: #fbf8f4;
  stroke: rgba(20, 63, 61, 0.24);
  stroke-width: 2;
}

.network-nodes circle:nth-child(3n) {
  fill: rgba(20, 63, 61, 0.12);
}

.network-center circle {
  fill: none;
  stroke: rgba(20, 63, 61, 0.16);
  stroke-width: 1.5;
  stroke-dasharray: 4 5;
}

.network-center circle:last-child {
  fill: rgba(20, 95, 93, 0.18);
  stroke: rgba(20, 63, 61, 0.22);
  stroke-dasharray: none;
}

.what-challenge {
  padding-top: clamp(42px, 5.2vw, 70px);
  padding-bottom: clamp(42px, 5.5vw, 74px);
  background: #fbf8f4;
}

.challenge-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(420px, 1fr);
  gap: clamp(42px, 8vw, 126px);
  max-width: 1440px;
  margin: 0 auto;
}

.challenge-left h2 {
  max-width: 720px;
  margin: 0 0 clamp(24px, 3vw, 38px);
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(2.55rem, 4.4vw, 4.4rem);
  font-weight: 520;
  line-height: 1.03;
  letter-spacing: 0;
}

.challenge-stat {
  width: min(100%, 520px);
  padding: clamp(22px, 3vw, 34px) clamp(24px, 3.2vw, 40px);
  border: 1px solid rgba(20, 63, 61, 0.06);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 18px 42px rgba(20, 63, 61, 0.07);
}

.challenge-stat p {
  margin: 0;
  color: rgba(20, 38, 46, 0.85);
  font-size: clamp(1rem, 1.35vw, 1.28rem);
  line-height: 1.48;
}

.challenge-stat strong {
  display: block;
  margin: 14px 0 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 800;
  line-height: 1;
}

.challenge-copy {
  align-self: center;
  max-width: 760px;
}

.challenge-copy p {
  margin: 0;
  color: rgba(18, 36, 49, 0.94);
  font-size: clamp(1.08rem, 1.35vw, 1.25rem);
  line-height: 1.58;
}

.challenge-copy p + p {
  margin-top: clamp(20px, 2.5vw, 32px);
}

@media (max-width: 980px) {
  .what-intro,
  .challenge-grid {
    grid-template-columns: 1fr;
  }

  .network-graphic {
    order: -1;
    max-width: 620px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .what-intro {
    padding: 36px 20px 34px;
  }

  .what-intro h1 {
    font-size: clamp(3rem, 18vw, 4.4rem);
  }

  .intro-goal {
    grid-template-columns: 1fr;
  }

  .what-challenge {
    padding: 36px 20px 42px;
  }
}


/* Compact What We Do opener adjustments. */
.what-intro.compact {
  grid-template-columns: minmax(420px, 0.95fr) minmax(360px, 0.7fr);
  padding-top: clamp(36px, 4.8vw, 64px);
  padding-bottom: clamp(28px, 3.8vw, 48px);
}

.what-intro.compact .what-intro-copy,
.what-intro.compact .intro-goal {
  width: auto;
}

.what-intro.compact h1 {
  max-width: 820px;
  font-size: clamp(3.55rem, 6.2vw, 6rem);
}

.what-intro.compact .intro-rule {
  margin: clamp(18px, 2vw, 26px) 0 0;
}

.what-intro.compact .intro-goal {
  align-self: end;
  grid-template-columns: 78px minmax(0, 1fr);
  max-width: 600px;
  margin-bottom: clamp(4px, 1vw, 14px);
}

.what-intro.compact .intro-goal p {
  font-size: clamp(1.28rem, 1.9vw, 1.72rem);
  line-height: 1.38;
}

.what-intro.compact .goal-icon {
  width: 68px;
  height: 68px;
}

.what-intro.compact .goal-icon svg {
  width: 36px;
  height: 36px;
}

.what-challenge {
  background: #e9f5f3;
}

.challenge-left h2 {
  font-size: clamp(2.45rem, 4vw, 4rem);
}

.challenge-copy p {
  font-size: clamp(1.22rem, 1.65vw, 1.48rem);
  line-height: 1.5;
}

@media (max-width: 980px) {
  .what-intro.compact {
    grid-template-columns: 1fr;
  }

  .what-intro.compact .intro-goal {
    align-self: start;
    margin-top: 10px;
  }
}

/* Further tighten the What We Do hero depth. */
.what-intro.compact {
  padding-top: clamp(24px, 3.4vw, 42px);
  padding-bottom: clamp(22px, 3vw, 36px);
  gap: clamp(28px, 5vw, 78px);
}

.what-intro.compact h1 {
  max-width: 720px;
  font-size: clamp(3rem, 5.1vw, 5rem);
  line-height: 0.96;
}

.what-intro.compact .intro-rule {
  width: 58px;
  height: 4px;
  margin-top: clamp(14px, 1.7vw, 20px);
}

.what-intro.compact .intro-goal p {
  font-size: clamp(1.12rem, 1.55vw, 1.42rem);
}

.what-intro.compact .goal-icon {
  width: 58px;
  height: 58px;
}

.what-intro.compact .goal-icon svg {
  width: 30px;
  height: 30px;
}

/* Larger right-column text in the What We Do challenge section. */
.challenge-copy p {
  font-size: clamp(1.36rem, 1.95vw, 1.72rem);
  line-height: 1.48;
}

/* Stronger sizing for the What We Do challenge body copy. */
.what-challenge .challenge-copy p {
  font-size: clamp(1.52rem, 2.25vw, 2rem);
  line-height: 1.42;
}

/* Middle-ground sizing for the What We Do challenge body copy. */
.what-challenge .challenge-copy p {
  font-size: clamp(1.28rem, 1.72vw, 1.58rem);
  line-height: 1.5;
}


/* Our Team page rebuild. */
.team-page {
  background: #fbf8f4;
}

.team-page .team-hero {
  padding: clamp(48px, 7vw, 86px) clamp(22px, 6vw, 84px) clamp(36px, 5vw, 64px);
  border-bottom: 1px solid var(--line);
}

.team-page .team-hero h1,
.profile-page .profile-hero h1 {
  max-width: 980px;
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(3.8rem, 7vw, 7rem);
  font-weight: 520;
  line-height: 0.96;
  letter-spacing: 0;
}

.team-page .team-hero p:not(.eyebrow) {
  max-width: 900px;
  margin: 24px 0 0;
  color: rgba(28, 43, 48, 0.78);
  font-size: clamp(1.1rem, 1.55vw, 1.45rem);
  line-height: 1.5;
}

.team-section {
  padding: clamp(48px, 6vw, 80px) clamp(22px, 6vw, 84px);
  border-bottom: 1px solid var(--line);
}

.team-section-heading {
  max-width: 880px;
  margin-bottom: clamp(26px, 4vw, 48px);
}

.team-section-heading h2,
.research-network-section h2 {
  margin: 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(2.35rem, 4.2vw, 4.4rem);
  font-weight: 520;
  line-height: 1.02;
  letter-spacing: 0;
}

.team-section-heading > p:not(.section-kicker),
.split-heading > p {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: clamp(1.02rem, 1.28vw, 1.2rem);
  line-height: 1.58;
}

.split-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(320px, 0.62fr);
  gap: clamp(28px, 6vw, 88px);
  max-width: 1360px;
}

.people-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 34px);
  max-width: 1320px;
}

.person-card {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--line);
  border-top: 5px solid var(--teal);
  background: rgba(255, 255, 255, 0.76);
  color: var(--deep);
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease;
}

.person-card:hover,
.person-card:focus {
  border-color: rgba(20, 95, 93, 0.55);
  background: #fff;
}

.person-card img {
  width: 132px;
  height: 132px;
  margin-bottom: 24px;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
}

.person-card span {
  order: 2;
  margin-top: 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.person-card h3 {
  order: 1;
  margin: 0;
  color: var(--deep);
  font-size: clamp(1.65rem, 2.3vw, 2.4rem);
  line-height: 1.05;
}

.featured-person {
  min-height: 310px;
}

.network-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 34px);
  max-width: 1320px;
}

.network-panels article {
  padding: clamp(26px, 3.4vw, 42px);
  border-left: 5px solid var(--teal);
  background: rgba(255, 255, 255, 0.68);
}

.network-panels h3 {
  margin: 0 0 16px;
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  line-height: 1.05;
}

.network-panels p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.58;
}

.network-panels p + p {
  margin-top: 16px;
}

.network-panels a {
  color: var(--teal);
  font-weight: 700;
}

.research-network-section {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(360px, 0.72fr);
  gap: clamp(34px, 7vw, 96px);
  background: #e9f5f3;
}

.research-network-section .body-copy p {
  font-size: clamp(1.08rem, 1.3vw, 1.24rem);
  line-height: 1.62;
}

.profile-page .profile-hero {
  padding: clamp(44px, 6vw, 82px) clamp(22px, 6vw, 84px);
  border-bottom: 1px solid var(--line);
  background: #fbf8f4;
}

.profile-back {
  display: inline-flex;
  margin-bottom: 28px;
  color: var(--teal);
  font-weight: 700;
  text-decoration: none;
}

.profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(220px, 0.35fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: end;
  max-width: 1240px;
}

.profile-photo {
  width: min(100%, 340px);
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  border: 1px solid var(--line);
  background: #f3ecdf;
}

.profile-mark {
  display: grid;
  place-items: center;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(4rem, 8vw, 7rem);
}

.profile-body {
  max-width: 900px;
}

.profile-body .body-copy p {
  font-size: clamp(1.12rem, 1.4vw, 1.28rem);
  line-height: 1.7;
}

.profile-body a {
  color: var(--teal);
  font-weight: 700;
}

@media (max-width: 900px) {
  .people-grid,
  .network-panels,
  .research-network-section,
  .split-heading,
  .profile-layout {
    grid-template-columns: 1fr;
  }

  .person-card,
  .featured-person {
    min-height: 190px;
  }
}


/* Staff list treatment on Our Team. */
.staff-list-section {
  background: #fbf8f4;
}

.staff-list-inner {
  width: min(100%, 780px);
  margin: 0 auto;
}

.staff-list-heading {
  margin-bottom: clamp(28px, 4vw, 46px);
}

.staff-list-heading h2 {
  font-size: clamp(2.2rem, 3.6vw, 3.8rem);
}

.staff-list-heading > p:not(.section-kicker) {
  max-width: 760px;
  font-size: clamp(1.02rem, 1.35vw, 1.22rem);
}

.staff-list {
  display: grid;
}

.staff-list-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
  color: var(--deep);
  text-decoration: none;
}

.staff-list-item:first-child {
  border-top: 0;
}

.staff-avatar {
  width: 72px;
  height: 72px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.55);
}

.staff-photo {
  display: block;
  object-fit: cover;
  object-position: center 18%;
}

.staff-initials {
  display: grid;
  place-items: center;
  color: var(--teal);
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 560;
}

.staff-list-item h3 {
  margin: 0 0 8px;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.1vw, 2.05rem);
  font-weight: 560;
  line-height: 1.05;
}

.staff-list-item p {
  margin: 0 0 10px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.staff-list-item span {
  color: var(--teal);
  font-family: var(--serif);
  font-size: 1rem;
}

.staff-list-item span strong {
  margin-left: 8px;
  font-family: var(--sans);
  font-weight: 600;
}

.staff-list-item:hover h3,
.staff-list-item:focus h3,
.staff-list-item:hover span,
.staff-list-item:focus span {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

@media (max-width: 640px) {
  .staff-list-item {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 18px;
  }

  .staff-avatar {
    width: 60px;
    height: 60px;
  }
}


/* Differentiate the University Network section from Staff. */
.university-network-section {
  background: #e9f5f3;
}

.university-network-section .network-panels article {
  background: rgba(255, 255, 255, 0.82);
}

/* Compact the Our Team page vertically. */
.team-page .team-hero {
  padding-top: clamp(34px, 4.8vw, 58px);
  padding-bottom: clamp(26px, 3.8vw, 44px);
}

.team-page .team-hero h1 {
  font-size: clamp(3rem, 5.6vw, 5.6rem);
}

.team-page .team-hero p:not(.eyebrow) {
  margin-top: 16px;
  font-size: clamp(1rem, 1.28vw, 1.2rem);
}

.team-section {
  padding-top: clamp(34px, 4.4vw, 56px);
  padding-bottom: clamp(34px, 4.4vw, 56px);
}

.team-section-heading {
  margin-bottom: clamp(20px, 3vw, 34px);
}

.team-section-heading h2,
.research-network-section h2 {
  font-size: clamp(2rem, 3.4vw, 3.5rem);
}

.team-section-heading > p:not(.section-kicker),
.split-heading > p {
  margin-top: 12px;
  font-size: clamp(0.98rem, 1.15vw, 1.1rem);
  line-height: 1.5;
}

.staff-list-item {
  padding: 18px 0;
}

.staff-avatar {
  width: 60px;
  height: 60px;
}

.staff-list-item h3 {
  margin-bottom: 6px;
  font-size: clamp(1.28rem, 1.75vw, 1.72rem);
}

.staff-list-item p {
  margin-bottom: 6px;
  font-size: 0.72rem;
}

.network-panels article {
  padding: clamp(20px, 2.6vw, 30px);
}

.network-panels h3 {
  margin-bottom: 10px;
  font-size: clamp(1.55rem, 2.25vw, 2.35rem);
}

.network-panels p {
  font-size: clamp(0.96rem, 1.08vw, 1.06rem);
  line-height: 1.48;
}

.network-panels p + p {
  margin-top: 10px;
}

.person-card {
  min-height: 160px;
  padding: clamp(20px, 2.4vw, 28px);
}

.person-card h3 {
  font-size: clamp(1.38rem, 1.9vw, 2rem);
}

.research-network-section .body-copy p {
  font-size: clamp(1rem, 1.14vw, 1.1rem);
  line-height: 1.52;
}


/* Staff section as two-column coordination layout. */
.staff-list-inner {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(520px, 1fr);
  gap: clamp(48px, 7vw, 104px);
  align-items: start;
  width: min(100%, 1420px);
}

.staff-list-heading {
  margin-bottom: 0;
  padding-top: 8px;
}

.staff-list-heading h2 {
  max-width: 560px;
  font-size: clamp(3rem, 5vw, 5.5rem);
  line-height: 0.98;
}

.staff-list-heading > p:not(.section-kicker) {
  max-width: 560px;
  margin-top: 26px;
  font-size: clamp(1.22rem, 1.75vw, 1.65rem);
  line-height: 1.7;
}

.staff-list {
  padding-left: clamp(42px, 5vw, 72px);
  border-left: 1px solid var(--line);
}

.staff-list-item {
  grid-template-columns: 104px minmax(0, 1fr) auto;
  gap: clamp(28px, 4vw, 54px);
  min-height: 142px;
  padding: 22px 0;
}

.staff-list-item div {
  align-self: center;
}

.staff-list-item > span:not(.staff-avatar) {
  align-self: center;
  white-space: nowrap;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
}

.staff-list-item h3 {
  font-size: clamp(1.8rem, 2.5vw, 2.7rem);
}

.staff-list-item p {
  margin-bottom: 0;
}

.staff-avatar {
  width: 96px;
  height: 96px;
}

.staff-list-item:hover > span:not(.staff-avatar),
.staff-list-item:focus > span:not(.staff-avatar) {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

@media (max-width: 980px) {
  .staff-list-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .staff-list {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 700px) {
  .staff-list-item {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  .staff-list-item > span:not(.staff-avatar) {
    grid-column: 2;
    font-size: 1.08rem;
  }

  .staff-avatar {
    width: 64px;
    height: 64px;
  }
}


/* Advisory board flip cards. */
.advisory-flip-grid {
  align-items: stretch;
}

.flip-card {
  display: block;
  min-height: 300px;
  padding: 0;
  border: 0;
  border-top: 0;
  background: transparent;
  perspective: 1400px;
}

.flip-card:hover,
.flip-card:focus {
  background: transparent;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  min-height: 300px;
  transform-style: preserve-3d;
  transition: transform 520ms ease;
}

.flip-card:hover .flip-card-inner,
.flip-card:focus .flip-card-inner,
.flip-card:focus-visible .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(20px, 2.4vw, 28px);
  border: 1px solid var(--line);
  border-top: 5px solid var(--teal);
  background: rgba(255, 255, 255, 0.78);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.flip-card-back {
  justify-content: flex-start;
  overflow: auto;
  transform: rotateY(180deg);
  border-top-color: var(--accent);
  background: #fff;
}

.flip-card-back h3 {
  margin: 0 0 14px;
  color: var(--deep);
  font-size: clamp(1.25rem, 1.55vw, 1.65rem);
  line-height: 1.08;
}

.flip-card-back p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(0.88rem, 0.98vw, 0.96rem);
  line-height: 1.48;
}

@media (max-width: 760px) {
  .flip-card,
  .flip-card-inner {
    min-height: 340px;
  }
}


/* Core staff section refined to a text-led two-column layout. */
.staff-list-section {
  padding-top: clamp(68px, 8vw, 110px);
  padding-bottom: clamp(68px, 8vw, 110px);
}

.staff-list-inner {
  grid-template-columns: minmax(300px, 0.78fr) minmax(560px, 1fr);
  gap: clamp(52px, 8vw, 110px);
  align-items: start;
}

.staff-list-heading {
  padding-top: 4px;
}

.staff-list-heading h2 {
  font-size: clamp(4.2rem, 6.8vw, 7.2rem);
  line-height: 0.98;
  margin-bottom: 42px;
}

.staff-list-heading h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 34px;
  background: var(--accent);
}

.staff-list-heading > p:not(.section-kicker) {
  max-width: 420px;
  font-size: clamp(1.32rem, 1.8vw, 1.72rem);
  line-height: 1.55;
}

.staff-list {
  gap: 0;
  padding-left: clamp(44px, 6vw, 82px);
  border-left: 1px solid var(--line);
}

.staff-list-item {
  display: block;
  min-height: 0;
  padding: 0 0 clamp(28px, 3.8vw, 44px);
  border-bottom: 1px solid var(--line);
}

.staff-list-item + .staff-list-item {
  padding-top: clamp(28px, 3.8vw, 44px);
}

.staff-list-item h3 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 2.65vw, 3rem);
  line-height: 1.02;
}

.staff-list-item p.staff-role {
  margin: 0 0 14px;
  color: var(--accent);
  font-family: var(--sans);
  font-size: clamp(0.86rem, 1vw, 1rem);
  font-weight: 760;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.staff-list-item p.staff-summary {
  max-width: 540px;
  margin: 0 0 14px;
  color: var(--ink);
  font-size: clamp(1rem, 1.18vw, 1.16rem);
  line-height: 1.48;
}

.staff-list-item > div > span {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.3vw, 1.28rem);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.staff-list-item > div > span strong {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 1.35em;
  line-height: 1;
}

@media (max-width: 900px) {
  .staff-list-inner {
    grid-template-columns: 1fr;
  }

  .staff-list {
    padding-left: 0;
    border-left: 0;
  }

  .staff-list-heading h2 {
    font-size: clamp(3.2rem, 14vw, 5rem);
  }
}

/* Reduce Core Staff section scale after layout pass. */
.staff-list-heading h2 {
  font-size: clamp(3.2rem, 5.1vw, 5.4rem);
  margin-bottom: 32px;
}

.staff-list-heading h2::after {
  margin-top: 26px;
}

.staff-list-heading > p:not(.section-kicker) {
  font-size: clamp(1.08rem, 1.35vw, 1.34rem);
  line-height: 1.5;
}

.staff-list-item h3 {
  font-size: clamp(1.55rem, 2vw, 2.28rem);
}

.staff-list-item p.staff-summary {
  font-size: clamp(0.95rem, 1.04vw, 1.05rem);
  line-height: 1.45;
}

.staff-list-item > div > span {
  font-size: clamp(0.98rem, 1.12vw, 1.12rem);
}

/* Compact Core Staff vertical rhythm. */
.staff-list-section {
  padding-top: clamp(44px, 5.5vw, 76px);
  padding-bottom: clamp(44px, 5.5vw, 76px);
}

.staff-list-inner {
  gap: clamp(36px, 6vw, 80px);
}

.staff-list-heading h2 {
  margin-bottom: 24px;
}

.staff-list-heading h2::after {
  margin-top: 22px;
}

.staff-list-heading > p:not(.section-kicker) {
  line-height: 1.42;
}

.staff-list-item {
  padding-bottom: clamp(18px, 2.35vw, 28px);
}

.staff-list-item + .staff-list-item {
  padding-top: clamp(18px, 2.35vw, 28px);
}

.staff-list-item h3 {
  margin-bottom: 8px;
}

.staff-list-item p.staff-role {
  margin-bottom: 10px;
}


/* Merge Our Team hero with Core Staff list. */
.merged-team-hero {
  padding-top: clamp(64px, 7.5vw, 112px);
  padding-bottom: clamp(64px, 7.5vw, 112px);
}

.merged-team-hero .staff-list-inner {
  grid-template-columns: minmax(320px, 0.82fr) minmax(560px, 1fr);
  gap: clamp(56px, 8vw, 104px);
  max-width: 1320px;
}

.merged-team-hero .staff-list-heading h1 {
  margin: 0 0 0;
  max-width: 620px;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(3.6rem, 5.7vw, 6.5rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: 0;
}

.merged-team-hero .staff-list-heading h1::after {
  content: "";
  display: block;
  width: 82px;
  height: 4px;
  margin-top: 34px;
  background: var(--accent);
}

.merged-team-hero .staff-list-heading > p:not(.section-kicker) {
  max-width: 540px;
  margin-top: 30px;
  font-size: clamp(1.1rem, 1.36vw, 1.32rem);
  line-height: 1.55;
}

.merged-team-hero .staff-list {
  padding-left: clamp(48px, 6vw, 76px);
}

.merged-team-hero .staff-list-item {
  padding-bottom: clamp(20px, 2.7vw, 34px);
}

.merged-team-hero .staff-list-item + .staff-list-item {
  padding-top: clamp(20px, 2.7vw, 34px);
}

.merged-team-hero .staff-list-item h3 {
  font-size: clamp(1.75rem, 2.18vw, 2.58rem);
}

@media (max-width: 900px) {
  .merged-team-hero .staff-list-inner {
    grid-template-columns: 1fr;
  }

  .merged-team-hero .staff-list {
    padding-left: 0;
  }

  .merged-team-hero .staff-list-heading h1 {
    font-size: clamp(3rem, 13vw, 5rem);
  }
}

/* Pull back merged team intro scale. */
.merged-team-hero {
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(42px, 5vw, 72px);
}

.merged-team-hero .staff-list-inner {
  grid-template-columns: minmax(320px, 0.75fr) minmax(560px, 1fr);
  gap: clamp(42px, 6vw, 78px);
}

.merged-team-hero .staff-list-heading h1 {
  max-width: 520px;
  font-size: clamp(2.7rem, 4.15vw, 4.55rem);
  line-height: 1.03;
}

.merged-team-hero .staff-list-heading h1::after {
  width: 68px;
  height: 3px;
  margin-top: 22px;
}

.merged-team-hero .staff-list-heading > p:not(.section-kicker) {
  max-width: 500px;
  margin-top: 22px;
  font-size: clamp(1rem, 1.12vw, 1.12rem);
  line-height: 1.48;
}

.merged-team-hero .staff-list {
  padding-left: clamp(34px, 4.6vw, 58px);
}

.merged-team-hero .staff-list-item {
  padding-bottom: clamp(16px, 2vw, 24px);
}

.merged-team-hero .staff-list-item + .staff-list-item {
  padding-top: clamp(16px, 2vw, 24px);
}

.merged-team-hero .staff-list-item h3 {
  font-size: clamp(1.45rem, 1.75vw, 2.05rem);
  margin-bottom: 6px;
}

.merged-team-hero .staff-list-item p.staff-role {
  margin-bottom: 8px;
  font-size: clamp(0.76rem, 0.86vw, 0.88rem);
}

.merged-team-hero .staff-list-item > div > span {
  font-size: clamp(0.92rem, 1vw, 1rem);
}

/* Clean advisory flip-card backs: bio only, full-card text. */
.flip-card:hover .flip-card-front,
.flip-card:focus .flip-card-front,
.flip-card:focus-visible .flip-card-front {
  opacity: 0;
}

.flip-card-back {
  z-index: 2;
  justify-content: flex-start;
  padding: clamp(22px, 2.8vw, 34px);
}

.flip-card-back p {
  order: 0;
  max-width: none;
  width: 100%;
  color: var(--muted);
  font-size: clamp(0.96rem, 1.05vw, 1.08rem);
  line-height: 1.5;
}


/* Restrained advisory board profiles. */
.advisory-list {
  display: grid;
  gap: 0;
  max-width: 1320px;
  border-top: 1px solid var(--line);
}

.advisor-profile {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(420px, 1fr);
  gap: clamp(28px, 5vw, 76px);
  padding: clamp(26px, 3.8vw, 46px) 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.advisor-profile h3 {
  margin: 8px 0 0;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.15vw, 2.45rem);
  font-weight: 560;
  line-height: 1.04;
}

.advisor-profile span {
  color: var(--accent);
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.advisor-profile p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(0.98rem, 1.08vw, 1.12rem);
  line-height: 1.58;
}

.advisor-profile:hover h3,
.advisor-profile:focus h3 {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.12em;
}

@media (max-width: 760px) {
  .advisor-profile {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}


/* Advisory board expandable bios. */
.advisor-profile {
  cursor: default;
}

.advisor-bio p {
  margin: 0;
}

.advisor-bio details {
  margin-top: 12px;
}

.advisor-bio summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.advisor-bio summary::-webkit-details-marker {
  display: none;
}

.advisor-bio summary::after {
  content: "+";
  color: var(--accent);
  font-family: var(--sans);
  font-size: 1.25em;
  line-height: 1;
}

.advisor-bio details[open] summary::after {
  content: "−";
}

.advisor-bio details p {
  margin-top: 12px;
}

.advisor-bio summary:hover,
.advisor-bio summary:focus {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.18em;
}

.advisor-profile:hover h3,
.advisor-profile:focus h3 {
  text-decoration: none;
}


/* Advisory hover-open bios. */
.advisor-bio details,
.advisor-bio summary {
  display: none;
}

.advisor-extra {
  margin-top: 12px;
}

.advisor-extra[hidden] {
  display: none;
}

.advisor-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--deep);
  font-family: var(--serif);
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  font-weight: 600;
  cursor: pointer;
}

.advisor-toggle::after {
  content: "+";
  color: var(--accent);
  font-family: var(--sans);
  font-size: 1.25em;
  line-height: 1;
}

.advisor-toggle[aria-expanded="true"]::after {
  content: "−";
}

.advisor-toggle:hover,
.advisor-toggle:focus {
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.18em;
}

.advisor-profile[data-expanded="true"] {
  background: rgba(255, 255, 255, 0.42);
}


/* Smooth advisory bio expansion. */
.advisor-extra {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 460ms ease, opacity 320ms ease, margin-top 320ms ease;
}

.advisor-extra[hidden] {
  display: block;
}

.advisor-profile[data-expanded="true"] .advisor-extra {
  max-height: 620px;
  margin-top: 12px;
  opacity: 1;
}


/* Contact page redesign: institutional pathways */
.contact-page main {
    background: var(--paper);
}

.contact-hero-panel {
    padding: clamp(3.5rem, 7vw, 6rem) clamp(1.5rem, 5vw, 5rem) clamp(2.5rem, 5vw, 4rem);
}

.contact-hero-card {
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(3.25rem, 6vw, 5.5rem) clamp(1.75rem, 6vw, 5.25rem);
    text-align: center;
    border: 1px solid rgba(15, 95, 93, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 42px rgba(15, 95, 93, 0.06);
}

.contact-rule {
    display: block;
    width: 92px;
    height: 4px;
    margin: 0 auto 1.7rem;
    background: var(--gold);
}

.contact-hero-card h1 {
    margin: 0;
    color: var(--deep);
    font-family: var(--serif);
    font-size: clamp(4.5rem, 8vw, 8rem);
    line-height: 0.95;
    letter-spacing: 0;
}

.contact-subtitle {
    margin: 0.5rem 0 0;
    color: var(--gold);
    font-family: var(--serif);
    font-size: clamp(2rem, 4vw, 3.75rem);
    line-height: 1.05;
}

.contact-intro {
    max-width: 900px;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
    color: var(--ink);
    font-size: clamp(1.15rem, 1.55vw, 1.45rem);
    line-height: 1.65;
}

.contact-email-block {
    max-width: 860px;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
    padding-top: clamp(1.5rem, 3vw, 2.3rem);
    border-top: 1px solid rgba(15, 95, 93, 0.14);
}

.contact-email-block p {
    margin: 0 0 0.65rem;
    color: var(--ink);
    font-size: clamp(1rem, 1.25vw, 1.2rem);
}

.contact-email-block a {
    color: var(--deep);
    font-weight: 800;
    font-size: clamp(2rem, 4.5vw, 4.25rem);
    line-height: 1;
    text-decoration: none;
}

.contact-email-block a:hover,
.contact-email-block a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.contact-topics {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem 1.1rem;
    margin-top: 1.5rem;
    color: var(--muted);
    font-size: 1rem;
}

.contact-topics span + span::before {
    content: "|";
    margin-right: 1.1rem;
    color: rgba(15, 95, 93, 0.25);
}

.contact-pathways {
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem) clamp(4rem, 7vw, 6rem);
}

.contact-pathway {
    display: grid;
    grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2rem, 4vw, 3rem) 0;
    border-top: 1px solid rgba(15, 95, 93, 0.18);
}

.contact-pathway:last-child {
    border-bottom: 1px solid rgba(15, 95, 93, 0.18);
}

.contact-pathway .eyebrow {
    margin-bottom: 0.8rem;
}

.contact-pathway h2 {
    margin: 0;
    color: var(--deep);
    font-family: var(--serif);
    font-size: clamp(2rem, 3vw, 3.15rem);
    line-height: 1.05;
    letter-spacing: 0;
}

.contact-pathway-body {
    max-width: 780px;
}

.contact-pathway-body p {
    margin: 0 0 1rem;
    color: var(--ink);
    font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    line-height: 1.65;
}

.contact-pathway .text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.35rem;
    color: var(--deep);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

.contact-pathway .text-link span {
    color: var(--rust);
    font-size: 1.35em;
    line-height: 1;
}

.contact-pathway .text-link:hover,
.contact-pathway .text-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.35em;
}

@media (max-width: 820px) {
    .contact-hero-panel {
        padding-top: 2rem;
    }

    .contact-hero-card {
        padding: 2.5rem 1.25rem;
    }

    .contact-topics {
        display: grid;
        gap: 0.55rem;
    }

    .contact-topics span + span::before {
        content: none;
    }

    .contact-pathway {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .contact-pathway .text-link {
        width: 100%;
        min-height: 48px;
        justify-content: space-between;
    }
}


/* Keep the first Join the Network card legible on the dark treatment. */
.join-network-grid a:first-child h3 {
  color: var(--cream);
}

.join-network-grid a:first-child p {
  color: rgba(255, 255, 255, 0.76);
}

.join-network-grid a:first-child strong {
  color: var(--cream);
}

/* Keep Join the Network card titles visible on hover/focus. */
.join-network-grid a:hover h3,
.join-network-grid a:focus-visible h3 {
  color: var(--cream);
}

.join-network-grid a:hover span,
.join-network-grid a:focus-visible span {
  color: var(--accent);
}

/* Correct first Join the Network card: dark text normally, light text only on hover. */
.join-network-grid a:first-child h3 {
  color: var(--deep);
}

.join-network-grid a:first-child p {
  color: var(--muted);
}

.join-network-grid a:first-child strong {
  color: var(--teal);
}

.join-network-grid a:first-child:hover h3,
.join-network-grid a:first-child:focus-visible h3 {
  color: var(--cream);
}

.join-network-grid a:first-child:hover p,
.join-network-grid a:first-child:focus-visible p {
  color: rgba(255, 255, 255, 0.76);
}

.join-network-grid a:first-child:hover strong,
.join-network-grid a:first-child:focus-visible strong {
  color: var(--cream);
}
