@font-face {
  font-family:"Noto Sans";
  font-style:normal;
  font-weight:300 900;
  font-display:swap;
  src:url("assets/fonts/noto-sans-latin.woff2") format("woff2");
}

:root {
  --bone:#f2f1ee;
  --coral:#fc3c44;
  --ink:#0a0a0a;
  --white:#fff;
  --muted:#565651;
  --line:#cecec7;
  --gutter:clamp(1.25rem,4.45vw,5rem);
  --content:1280px;
  --body:1rem;
  --focus:#165ac8;
  --radius-small:3px;
  --radius-control:6px;
  --radius-surface:8px;
}

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

html {
  scroll-behavior:smooth;
  scroll-padding-top:1.5rem;
}

body {
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:"Noto Sans",Arial,sans-serif;
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

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

a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:.3em;
}

button {
  font:inherit;
  cursor:pointer;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:6px;
}

h1,h2,h3,p,figure {
  margin:0;
}

p {
  max-width:75ch;
}

ul {
  list-style:none;
  margin:0;
  padding:0;
}

.container {
  width:min(calc(100% - var(--gutter)*2),var(--content));
  margin-inline:auto;
}

.section-space {
  padding-block:clamp(3.5rem,7vw,6.5rem);
}

.eyebrow {
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.skip-link {
  position:absolute;
  top:-100px;
  left:1rem;
  padding:1rem;
  background:var(--ink);
  color:white;
  z-index:20;
}

.skip-link:focus {
  top:1rem;
}

.button {
  border:0;
  position:relative;
  text-align:center;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:.95rem 3rem;
  text-decoration:none;
  font-size:.86rem;
  font-weight:700;
  transition:background-color .18s,color .18s;
}

/* Shared arrow with a shaft; previous controls mirror the same icon. */
.right-arrow {
  position:relative;
  display:inline-block;
  flex-shrink:0;
  width:1.05em;
  height:1em;
  vertical-align:middle;
}
.right-arrow::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:1.5px;
  background:currentColor;
  transform:translateY(-50%);
}
.right-arrow::after {
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:.43em;
  height:.43em;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
.button .right-arrow {
  position:absolute;
  right:1.2rem;
  top:50%;
  transform:translateY(-50%);
}

.button-coral {
  background:var(--coral);
  color:var(--white);
}

.button-coral:hover {
  background:var(--ink);
  color:var(--bone);
}

.button-bone {
  background:var(--bone);
  color:var(--ink);
}

.button-bone:hover {
  background:var(--coral);
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:2rem;
  min-height:48px;
  font-size:.9rem;
  font-weight:600;
}

.text-link span {
  font-size:1.5rem;
  transition:transform .2s;
}


.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2.25rem;
}

.section-heading p {
  margin-top:1rem;
}

.section-mark {
  font-weight:300;
  font-size:3.5rem;
  line-height:1;
  color:var(--ink);
}

/* Disclosure navigation: dropdowns on desktop, inline sections on mobile. */
.site-header {
  position:relative;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  min-height:132px;
  padding:1.6rem var(--gutter);
  max-width:1600px;
  margin:auto;
}

.brand {
  display:block;
  flex-shrink:0;
  width:104px;
  margin-inline:.7rem;
}

.brand img {
  width:104px;
  height:auto;
}

.site-header nav {
  display:flex;
  align-items:center;
  gap:2.25rem;
}

.nav-list {
  display:flex;
  align-items:center;
  gap:clamp(1.1rem,2vw,2rem);
}

.nav-link, .nav-trigger {
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  text-decoration:none;
  font-size:.8rem;
  font-weight:600;
  white-space:nowrap;
}

.nav-link::after, .nav-trigger::after {
  content:"";
  position:absolute;
  bottom:.1rem;
  left:0;
  width:0;
  height:2px;
  background:var(--coral);
  transition:width .18s;
}

.nav-link:hover::after, .nav-link[aria-current]::after, .nav-trigger:hover::after, .nav-trigger[aria-expanded="true"]::after {
  width:100%;
}

.nav-list:has(.nav-trigger:hover, .nav-trigger[aria-expanded="true"]) .nav-link[aria-current]::after {
  width:0;
}

.nav-item {
  position:relative;
}

.nav-trigger {
  gap:.55rem;
  padding:0;
  border:0;
  background:none;
  color:var(--ink);
  text-align:left;
}

.nav-chevron { width:.5em; height:.5em; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 .2em .25em .3em; transition:transform .18s; }
.nav-trigger:hover .nav-chevron, .nav-trigger[aria-expanded="true"] .nav-chevron { transform:translateY(.25em) rotate(225deg); }

.nav-submenu {
  position:absolute;
  top:100%;
  left:-1rem;
  min-width:210px;
  padding:.65rem;
  border:1px solid var(--line);
  border-top:1px solid var(--line);
  background:var(--white);
  box-shadow:0 12px 24px #0a0a0a14;
}

.nav-item:nth-last-child(-n+2) .nav-submenu {
  left:auto;
  right:-1rem;
}

.nav-submenu[hidden] {
  display:none;
}

.nav-submenu a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:.55rem .75rem;
  font-size:.85rem;
  line-height:1.4;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
}

.nav-submenu a:hover, .nav-submenu a:focus-visible {
  background:var(--ink);
  color:var(--white);
}

.nav-submenu a:focus-visible {
  outline-offset:2px;
}

.nav-cta {
  font-size:.75rem;
  padding:.8rem 2.7rem;
  gap:0;
  min-height:46px;
}

.menu-toggle {
  display:none;
}

/* A cinematic opening, with live text and an explicit film action. */
.hero {
  position:relative;
  isolation:isolate;
  margin-inline:clamp(.75rem,2.22vw,2rem);
  min-height:650px;
  max-width:1536px;
  background:#141616;
  color:var(--white);
  overflow:hidden;
}

.hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
  z-index:-3;
}

.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.25) 61%,rgba(0,0,0,.05));
  z-index:-2;
}

.hero-content {
  padding:clamp(2rem,5vw,5rem);
  padding-top:4rem;
}

.hero-content .eyebrow {
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:2.6rem;
}

.hero-content .eyebrow::before {
  content:"";
  display:block;
  width:32px;
  height:3px;
  background:var(--coral);
}

h1 {
  
  
  
  max-width:10ch;
  
}

h1 span {
  display:block;
}

.hero-bottom {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:2rem;
  margin-top:2.5rem;
  padding:0 clamp(2rem,5vw,5rem) 2.8rem;
}

.film-link {
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  min-height:52px;
}

.play-icon {
  width:52px;
  height:52px;
  border:1px solid #fff;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:.8rem;
  padding-left:2px;
  transition:background .18s,color .18s;
}

.film-link:hover .play-icon {
  background:white;
  color:black;
}

.introduction {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:clamp(2rem,8vw,8rem);
  padding-block:3.6rem 4.8rem;
}

.intro-statement {
  font-size:clamp(1.18rem,1.65vw,1.45rem);
  font-weight:500;
  line-height:1.55;
  letter-spacing:-.025em;
}

.intro-action p {
  font-size:1rem;
  line-height:1.7;
}

.intro-action .button {
  margin-top:1.8rem;
}

/* Research uses live text and a manually controlled carousel. */
.research-section {
  padding-block:4rem 2rem;
  background:var(--ink);
  color:var(--bone);
}

.research-heading {
  align-items:center;
  margin-bottom:2.5rem;
}

.light-link {
  color:var(--bone);
}

.research-comparison {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:3rem;
  max-width:1100px;
  margin:auto;
}

.hero-stat {
  text-align:center;
}

.stat-number {
  font-size:clamp(7rem,14vw,12rem);
  font-weight:900;
  letter-spacing:-.075em;
  line-height:1.05;
  white-space:nowrap;
}

.stat-number>span:first-child {
  display:inline-block;
  padding-inline:.06em .12em;
  margin-left:-.06em;
  color:white;
  background:none;
  -webkit-text-fill-color:white;
}

.stat-number .percent {
  color:var(--coral);
  font-size:.49em;
  margin-left:0;
  letter-spacing:0;
}

.stat-description {
  margin:1rem auto 0;
  font-size:1rem;
  line-height:1.5;
}

.comparison-word {
  font-weight:800;
  letter-spacing:.09em;
  font-size:.8rem;
  color:var(--ink);
  background:var(--coral);
  padding:.3rem .55rem;
}

.identity-chart {
  padding-top:1rem;
}

.chart-bars {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  height:220px;
  align-items:end;
}

.chart-column {
  display:grid;
  grid-template-rows:auto calc(var(--value)*2.7px) 3.3rem;
  align-items:start;
  gap:.55rem;
}

.chart-value {
  text-align:center;
  font-size:.85rem;
  font-weight:700;
}

.chart-bar {
  background:var(--bone);
  height:100%;
  display:block;
}

.chart-label {
  text-align:center;
  font-size:.66rem;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.chart-highlight .chart-bar {
  background:var(--coral);
}

figcaption {
  text-align:center;
  font-size:1rem;
  line-height:1.45;
  margin-top:1rem;
}

.research-source {
  border-top:1px solid #363634;
  padding-top:1.15rem;
  margin-top:3rem;
  max-width:none;
  font-size:.65rem;
  color:#bbbcb6;
}

.research-source a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

.research-section a:focus-visible,.film-link:focus-visible {
  outline-color:white;
}

/* Participation uses the brand palette, with equal weight for each role. */
.role-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
}

.role-card {
  padding:2rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:324px;
  text-decoration:none;
  transition:background .2s;
}

.role-card+.role-card {
  border-left:1px solid var(--line);
}

a.role-card:hover {
  background:var(--coral);
}

.role-card:focus-visible {
  outline-offset:-6px;
}

.role-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:1rem;
  margin-bottom:2rem;
}

.role-number {
  font-size:.7rem;
  color:var(--muted);
}

.role-card h3 {
  
  
  
  max-width:19ch;
  
}

.role-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-top:auto;
  padding-top:2.4rem;
  font-size:.66rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.role-link>span {
  font-size:1.4rem;
}

.participation {
  padding-bottom:2rem;
}

.coalition-intro {
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:4rem;
  align-items:end;
  margin-bottom:2.5rem;
}

.coalition-intro h2 {
  
  max-width:none;
}

.coalition-intro h2 span {
  font-weight:400;
}

.coalition-intro p {
  font-size:.94rem;
  line-height:1.65;
}

.people-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:1.5rem;
  row-gap:2rem;
}

.person-photo {
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 25%;
  background:#e1dfd9;
}

.person h3 {
  
  
  
  margin-top:.85rem;
  
}

.person p {
  font-size:.71rem;
  line-height:1.45;
  margin-top:.3rem;
  color:#4a4a45;
}

.person .person-role {
  font-style:italic;
  font-weight:400;
  margin-top:0;
}

.section-action {
  display:flex;
  justify-content:center;
  margin-top:2.7rem;
}

.section-action .button {
  min-width:240px;
}

.comp-crop {
  background-image:url("assets/home-comp.jpg");
  background-repeat:no-repeat;
  background-size:calc(1000 / var(--crop-width) * 100%) auto;
  background-position:calc(var(--crop-x) / (1000 - var(--crop-width)) * 100%) calc(var(--crop-y) / (4000 - var(--crop-height)) * 100%);
  aspect-ratio:var(--crop-width) / var(--crop-height);
}

.initiatives-section {
  background:var(--ink);
  color:var(--bone);
  padding-block:3.7rem 4.5rem;
}

.initiative-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:start;
  gap:5rem;
  margin-top:3.5rem;
}

.connect-monitor {
  position:relative;
  width:100%;
  aspect-ratio:1800 / 1387;
}

.connect-monitor-frame {
  display:block;
  width:100%;
  height:auto;
  pointer-events:none;
}

.connect-monitor .connect-video {
  position:absolute;
  /* Match the supplied monitor's screen opening, including its dark corners. */
  left:2.45%;
  top:3.25%;
  width:95.1%;
  height:69.5%;
  display:block;
  background:var(--ink);
  object-fit:cover;
}

.connect-monitor .connect-video:fullscreen {
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit:contain;
}

.connect-video:focus-visible {
  outline:3px solid var(--bone);
  outline-offset:6px;
}

.initiative-copy {
  padding-top:3px;
  max-width:360px;
}

.connect-lockup {
  width:200px;
  margin-bottom:1.8rem;
}

.connect-lockup img {
  filter:brightness(0) invert(1);
  width:160px;
}

.connect-lockup>span {
  display:block;
  text-transform:uppercase;
  font-weight:500;
  font-size:2.25rem;
  letter-spacing:-.055em;
  margin-top:.5rem;
}

.initiative-copy p {
  font-size:1.2rem;
  line-height:1.5;
  letter-spacing:-.02em;
}

.initiative-copy .button {
  margin-top:1.9rem;
  min-width:190px;
}

.social-mark {
  display:flex;
  gap:1.5rem;
  align-items:center;
  font-size:1.8rem;
  letter-spacing:-.07em;
  font-weight:800;
  text-decoration:none;
  min-width:64px;
  min-height:48px;
}

.social-mark span {
  font-size:1.3rem;
  font-weight:400;
}

.coalition-story {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  border-block:1px solid var(--line);
  padding-block:1.5rem;
  gap:3rem;
}

.story-image {
  width:100%;
  align-self:center;
}

.story-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1.5rem;
  padding-block:1.5rem;
}

.story-copy>p:not(.eyebrow) {
  font-size:1.15rem;
  line-height:1.55;
  letter-spacing:-.025em;
}

.story-copy .text-link {
  font-size:.77rem;
}

.site-footer {
  border-top:1px solid var(--line);
  padding-top:3rem;
}

.footer-main {
  display:grid;
  grid-template-columns:160px 1fr 48px;
  gap:3rem;
  align-items:start;
  padding-bottom:3rem;
}

.footer-brand {
  width:120px;
  display:block;
  margin:.5rem;
}

.footer-main p {
  font-size:.93rem;
  line-height:1.7;
  max-width:70ch;
}

.back-top {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid var(--ink);
  text-decoration:none;
  border-radius:50%;
  font-size:1.5rem;
}

.back-top:hover {
  background:var(--ink);
  color:var(--bone);
}

.footer-bottom {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding-block:1rem;
  font-size:.67rem;
}

.footer-bottom>div {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
}

.footer-bottom a {
  display:flex;
  align-items:center;
  min-height:44px;
}

.film-dialog {
  color:var(--bone);
  background:var(--ink);
  border:1px solid #555;
  width:min(100% - 2rem,1000px);
  max-height:calc(100dvh - 2rem);
  padding:1.5rem;
}

.film-dialog::backdrop {
  background:rgba(0,0,0,.85);
}

.film-dialog-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.close-film {
  background:none;
  color:var(--bone);
  border:1px solid #777;
  min-width:48px;
  min-height:48px;
}

.film-frame {
  aspect-ratio:16/9;
  background:black;
}

.film-frame iframe {
  width:100%;
  height:100%;
  border:0;
}

.film-dialog>p {
  font-size:.8rem;
  margin-top:1rem;
}

.film-dialog>p a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

.film-dialog a:focus-visible,.film-dialog button:focus-visible {
  outline-color:white;
}

body.film-open {
  overflow:hidden;
}

.hero {
  display:flex;
  flex-direction:column;
}

.hero-bottom {
  margin-top:auto;
  padding-top:2.5rem;
}

h1 {
  max-width:12ch;
}

h1 .keep-together {
  display:inline-block;
  white-space:nowrap;
}

@media(min-width:1600px) {
  .hero {
    margin-inline:auto;
  }
}

@media(max-width:1150px) {
  .nav-cta {
    display:none;
  }
  .site-header nav {
    gap:0;
  }
  .research-comparison {
    gap:1.8rem;
  }
  .coalition-intro {
    gap:2.5rem;
  }
  .role-card {
    padding:1.5rem;
  }
  .initiative-layout {
    gap:3rem;
  }
  .people-grid {
    gap:1.5rem 1rem;
  }
}

@media(max-width:800px) {
  .site-header {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:110px auto;
    align-content:start;
    min-height:110px;
    padding-block:0;
    gap:0;
  }
  .brand,.brand img {
    width:94px;
  }
  .brand {
    margin-inline:.5rem;
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    background:none;
    border:0;
    padding:0;
    min-height:48px;
    font-size:.8rem;
    font-weight:600;
  }
  .menu-lines {
    position:relative;
    width:18px;
    height:12px;
    border-block:1px solid currentColor;
  }
  .menu-lines::after {
    content:"";
    position:absolute;
    top:5px;
    left:0;
    width:18px;
    height:1px;
    background:currentColor;
  }
  .menu-toggle[aria-expanded=true] .menu-lines {
    border:0;
  }
  .menu-toggle[aria-expanded=true] .menu-lines::before,.menu-toggle[aria-expanded=true] .menu-lines::after {
    content:"";
    position:absolute;
    top:5px;
    left:0;
    width:18px;
    height:1px;
    background:currentColor;
    transform-origin:center;
    transform:rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] .menu-lines::after {
    transform:rotate(-45deg);
  }
  .site-header nav {
    grid-column:1 / -1;
    width:100%;
    display:block;
    padding-block:1rem .6rem;
  }
  .site-header nav[hidden] {
    display:none;
  }
  .nav-list {
    display:block;
  }
  .nav-link, .nav-trigger {
    width:100%;
    justify-content:space-between;
    font-size:1rem;
    min-height:54px;
    border-bottom:1px solid var(--line);
  }
  .nav-link::after, .nav-trigger::after {
    display:none;
  }
  .nav-link[aria-current] {
    text-decoration:underline;
    text-decoration-color:var(--coral);
    text-decoration-thickness:3px;
  }
  .nav-submenu, .nav-item:nth-last-child(-n+2) .nav-submenu {
    position:static;
    left:auto;
    right:auto;
    width:calc(100% - 1rem);
    min-width:0;
    padding:.5rem 0 .75rem 1rem;
    border:0;
    border-left:2px solid var(--coral);
    margin:.5rem 0 1rem 1rem;
    box-shadow:none;
  }
  .nav-submenu a {
    min-height:48px;
    font-size:.95rem;
  }
  .nav-cta {
    display:inline-flex;
    margin-top:1.25rem;
  }
  .hero {
    min-height:580px;
  }
  .hero-content {
    padding-top:2.5rem;
  }
  .hero-content .eyebrow {
    margin-bottom:2.5rem;
    font-size:.65rem;
  }
  .hero-image {
    object-position:61% center;
  }
  .hero-shade {
    background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.46) 65%,rgba(0,0,0,.08));
  }
  .hero-bottom {
    margin-top:3rem;
  }
  .introduction {
    gap:2rem;
    padding-block:2.75rem 3.5rem;
  }
  .intro-statement {
    font-size:1.2rem;
  }
  .research-comparison {
    grid-template-columns:1fr 1fr;
    gap:2rem;
  }
  .comparison-word {
    grid-column:1/-1;
    grid-row:2;
    justify-self:center;
  }
  .hero-stat {
    grid-column:1/-1;
  }
  .identity-chart {
    grid-column:1/-1;
    width:min(100%,480px);
    justify-self:center;
  }
  .stat-number {
    font-size:10rem;
  }
  .chart-bars {
    height:220px;
  }
  .research-heading {
    align-items:flex-start;
  }
  .research-heading .text-link {
    align-self:flex-end;
  }
  .role-link {
    font-size:.61rem;
    letter-spacing:.01em;
    gap:.3rem;
  }
  .role-top {
    flex-wrap:wrap;
    gap:.5rem;
  }
  .role-card .eyebrow {
    font-size:.65rem;
  }
  .coalition-intro {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .coalition-intro h2 {
    max-width:30ch;
  }
  .coalition-intro p {
    max-width:60ch;
  }
  .people-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .initiative-layout {
    gap:2rem;
  }
  .initiative-copy p {
    font-size:1rem;
  }
  .coalition-story {
    gap:2rem;
  }
  .story-copy>p:not(.eyebrow) {
    font-size:1rem;
  }
  .footer-main {
    gap:2rem;
    grid-template-columns:130px 1fr;
  }
  .back-top {
    grid-column:2;
    justify-self:end;
  }
  .footer-bottom {
    align-items:flex-start;
  }
  .footer-bottom>div {
    gap:.75rem;
  }
}

@media(max-width:560px) {
  :root {
    --gutter:1.25rem;
  }
  .site-header {
    min-height:108px;
    grid-template-rows:108px auto;
  }
  .hero {
    margin-inline:.625rem;
    min-height:580px;
  }
  .hero-content {
    padding:2.1rem 1.3rem 0;
  }
  .hero h1 {
    
    max-width:10ch;
  }
  .hero-content .eyebrow {
    font-size:.58rem;
    letter-spacing:.1em;
    gap:.6rem;
    margin-bottom:2.75rem;
  }
  .hero-content .eyebrow::before {
    width:24px;
  }
  .hero-image {
    object-position:65% center;
  }
  .hero-shade {
    background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.54) 70%,rgba(0,0,0,.25));
  }
  .hero-bottom {
    padding:0 1.3rem 1.75rem;
    margin-top:3rem;
  }
  .film-link {
    font-size:.75rem;
  }
  .play-icon {
    width:48px;
    height:48px;
  }
  .introduction {
    grid-template-columns:1fr;
    gap:1.5rem;
    padding-block:2.4rem 3rem;
  }
  .intro-statement {
    font-size:1.22rem;
    line-height:1.55;
  }
  .intro-action p {
    font-size:1rem;
  }
  .intro-action .button {
    width:100%;
    margin-top:1.5rem;
  }
  .button {
    min-height:54px;
  }
  .research-section {
    padding-block:2.7rem 1.25rem;
  }
  .research-heading {
    display:block;
    margin-bottom:2rem;
  }
  .research-heading .text-link {
    margin-top:1.2rem;
  }
  .research-comparison {
    display:flex;
    flex-direction:column;
    gap:1.5rem;
  }
  .stat-number {
    font-size:8.8rem;
  }
  .stat-description {
    font-size:.94rem;
  }
  .comparison-word {
    margin-top:.5rem;
  }
  .chart-bars {
    gap:.6rem;
    height:210px;
  }
  .chart-column {
    grid-template-rows:auto calc(var(--value)*2.5px) 3.3rem;
  }
  .chart-label {
    font-size:.66rem;
  }
  .identity-chart {
    padding-top:0;
  }
  .research-source {
    font-size:.64rem;
    margin-top:2rem;
  }
  .section-heading {
    gap:1rem;
    margin-bottom:1.75rem;
  }
  .section-heading p {
    font-size:.95rem;
  }
  .section-mark {
    display:none;
  }
  .role-grid {
    grid-template-columns:1fr;
  }
  .role-card {
    min-height:0;
    padding:1.6rem;
  }
  .role-card+.role-card {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .role-card h3 {
    
    max-width:24ch;
  }
  .role-top {
    margin-bottom:1.35rem;
  }
  .role-card .eyebrow {
    font-size:.72rem;
  }
  .role-link {
    padding-top:1.7rem;
    font-size:.66rem;
  }
  .people-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.6rem 1rem;
  }
  .person p {
    font-size:.72rem;
  }
  .coalition-intro p {
    font-size:.95rem;
  }
  .section-action .button {
    width:100%;
  }
  .initiatives-section {
    padding-block:2.7rem 3rem;
  }
  .initiative-layout {
    grid-template-columns:1fr;
    gap:2rem;
    margin-top:2rem;
  }
  .initiative-copy {
    max-width:none;
  }
  .connect-lockup {
    width:180px;
  }
  .connect-lockup img {
    width:140px;
  }
  .initiative-copy p {
    font-size:1.2rem;
    max-width:28ch;
  }
  .initiative-copy .button {
    width:100%;
  }
  .coalition-story {
    grid-template-columns:1fr;
    gap:0;
    padding-top:1rem;
  }
  .story-copy {
    padding:1.5rem 0 .5rem;
    gap:1.25rem;
  }
  .story-copy>p:not(.eyebrow) {
    font-size:1.12rem;
  }
  .social-mark {
    min-width:48px;
    gap:.5rem;
    font-size:1.5rem;
  }
  .footer-main {
    grid-template-columns:1fr auto;
    gap:2rem;
    padding-bottom:2rem;
  }
  .footer-main p {
    grid-row:2;
    grid-column:1/-1;
    font-size:.91rem;
  }
  .footer-brand {
    width:104px;
    margin:.5rem;
  }
  .back-top {
    grid-column:2;
    grid-row:1;
  }
  .footer-bottom {
    flex-direction:column;
    gap:.3rem;
  }
  .footer-bottom>div {
    gap:1.25rem;
  }
  .film-dialog {
    padding:1rem;
  }
  .film-dialog-heading {
    margin-bottom:.75rem;
  }
}

/* Keep supporting content comfortably readable, especially on phones. */
.person h3 {
  font-size:.94rem;
}

.person p {
  font-size:.8rem;
}

.chart-label {
  font-size:.75rem;
}

.chart-column {
  grid-template-rows:auto calc(var(--value)*2.7px) 3.8rem;
}

.research-source {
  font-size:.75rem;
}

.role-link {
  font-size:.73rem;
}

.connect-lockup img {
  width:180px;
  height:auto;
}

@media(max-width:560px) {
  .hero-bottom {
    margin-top:auto;
  }
  .person p {
    font-size:.84rem;
  }
  .chart-label {
    font-size:.72rem;
  }
  .chart-column {
    grid-template-rows:auto calc(var(--value)*2.5px) 3.8rem;
  }
  .chart-bars {
    height:220px;
  }
  .role-link {
    font-size:.73rem;
  }
  .connect-lockup img {
    width:160px;
  }
}


/* Keep the glyph's full painted width inside its gradient, including the zero. */
.research-comparison > *, .fact-stat { min-width:0; }
.stat-number { letter-spacing:-.055em; }
.research-slides { touch-action:pan-y pinch-zoom; }
.research-section.is-enhanced .research-slides { display:grid; overflow:hidden; }
.research-section.is-enhanced .research-slide {
  grid-area:1 / 1;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.research-slide[inert] { visibility:hidden; pointer-events:none; }
.research-slide.is-transitioning { visibility:visible; }
.research-slide .research-source { margin-top:auto; }
.research-slide .research-comparison { width:100%; margin-block:auto; padding-bottom:2.5rem; }
.fact-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2rem,7vw,7rem);
  padding-block:0 3rem;
  margin-block:auto;
}
.fact-stat { display:flex; flex-direction:column; }
.fact-stat + .fact-stat { border-left:1px solid #363634; padding-left:clamp(2rem,6vw,6rem); }
.fact-prefix { min-height:1.5em; color:#c4c4bf; font-size:1rem; }
.fact-number {
  display:flex;
  align-items:baseline;
  gap:.1em;
  font-size:clamp(6rem,11.5vw,10rem);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.055em;
  color:var(--bone);
}
.fact-number .percent { font-size:.49em; letter-spacing:0; color:var(--stat-accent,var(--coral)); }
.fact-description { font-size:clamp(1rem,1.6vw,1.25rem); line-height:1.55; max-width:35ch; margin-top:.65rem; margin-bottom:1.8rem; }
.fact-meter { height:6px; background:#373735; margin-top:auto; }
.fact-meter span { display:block; width:var(--fact); height:100%; background:var(--coral); }
.research-controls { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1rem; }
.research-controls[hidden] { display:none; }
.research-position { font-size:.75rem; font-weight:600; letter-spacing:.15em; color:#c4c4bf; font-variant-numeric:tabular-nums; }
.research-controls-actions, .research-dots { display:flex; align-items:center; }
.research-controls-actions { gap:.75rem; }
.carousel-arrow { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #aaa; border-radius:50%; background:transparent; color:var(--bone); }
.carousel-arrow:hover { background:var(--bone); color:var(--ink); }
.carousel-arrow.previous .right-arrow { transform:rotate(180deg); }
.carousel-arrow.next .right-arrow { margin:0; }
.research-dots button { display:grid; place-items:center; width:44px; height:48px; padding:0; border:0; background:transparent; color:var(--bone); }
.research-dots span { display:block; width:8px; height:8px; border:1px solid #aaa; border-radius:50%; }
.research-dots [aria-disabled="true"] span { width:12px; height:12px; background:var(--coral); border-color:var(--coral); }
.research-dots button:hover span { border-color:var(--bone); }
.research-controls button:focus-visible { outline-color:white; outline-offset:2px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:800px) and (min-width:561px) {
  .stat-number { font-size:clamp(6rem,13vw,8rem); }
  .research-comparison { gap:1.3rem; }
}
@media(max-width:560px) {
  .fact-pair { grid-template-columns:1fr; gap:1.75rem; padding-bottom:2rem; }
  .fact-stat + .fact-stat { border-left:0; border-top:1px solid #363634; padding-left:0; padding-top:1.5rem; }
  .fact-prefix:has([aria-hidden]) { display:none; }
  .fact-number { font-size:6rem; line-height:1.1; }
  .fact-description { margin-top:.6rem; }
  .fact-meter { margin-top:1rem; height:4px; }
  .research-slide .research-comparison { padding-bottom:2rem; }
  .research-controls { gap:.25rem; }
  .research-controls-actions { gap:.125rem; }
  .research-dots button { width:44px; }
  .research-position { font-size:.65rem; letter-spacing:.05em; }
  .carousel-arrow { width:44px; height:44px; }
  .stat-number { font-size:clamp(7rem,36vw,8.8rem); }
}

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

@media(forced-colors:active) {
  .hero-shade {
    background:Canvas;
  }
  .hero-image {
    display:none;
  }
  .chart-bar {
    border:3px solid CanvasText;
  }
  .stat-number>span:first-child {
    -webkit-text-fill-color:CanvasText;
  }
  .button {
    border:1px solid ButtonText;
  }
}

/* Coalition feed: three cards, two on tablet, one with a preview on phones. */
.latest-heading { align-items:center; }
.latest-heading .text-link { flex-shrink:0; }
.posts-track {
  --post-gap:24px;
  display:flex;
  gap:var(--post-gap);
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:4px;
  padding:4px 4px 12px;
}
.latest-section.is-enhanced .posts-track { scrollbar-width:none; }
.latest-section.is-enhanced .posts-track::-webkit-scrollbar { display:none; }
.post-card {
  flex:0 0 calc((100% - var(--post-gap) * 2) / 3);
  min-width:0;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  border:0;
  background:#fff;
}
.post-media { aspect-ratio:4 / 3; overflow:hidden; background:#e5e3dd; }
.post-media img { display:block; width:100%; height:100%; object-fit:cover; }
.post-media-contained { padding:.5rem; }
.post-media-contained img { object-fit:contain; }
.post-media-portrait img { object-position:center 15%; }
.post-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:1.5rem; }
.post-meta { display:flex; justify-content:space-between; gap:1rem; width:100%; font-size:.7rem; color:#575753; margin-bottom:1rem; }
.post-meta>span { font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.post-body>p { margin-block:1rem 1.5rem; font-size:.93rem; line-height:1.6; }
.post-body .post-link { margin-top:auto; width:100%; justify-content:space-between; font-size:.8rem; min-height:48px; }
.latest-controls { display:flex; justify-content:center; align-items:center; gap:2rem; margin-top:1.5rem; padding-inline:4px; }
.latest-controls[hidden] { display:none; }
.posts-arrows { display:flex; align-items:center; gap:.75rem; }
.posts-dots button { color:var(--ink); }
.posts-dots button:hover span { border-color:var(--ink); }
.latest-controls .carousel-arrow { color:var(--ink); border-color:var(--ink); }
.latest-controls .carousel-arrow:hover { color:var(--bone); background:var(--ink); }
.latest-controls .carousel-arrow[aria-disabled="true"] { opacity:.35; cursor:default; background:transparent; color:var(--ink); }
@media(max-width:1000px) {
  .post-card { flex-basis:calc((100% - var(--post-gap)) / 2); }
  .latest-heading { align-items:flex-start; flex-direction:column; gap:1rem; }
}
@media(max-width:600px) {
  .posts-track { --post-gap:16px; }
  .post-card { flex-basis:calc(100% - 24px); }
  .post-body { padding:1.2rem; }
  .latest-controls { gap:1rem; }
}


.role-icon { width:58px; height:58px; flex-shrink:0; color:var(--ink); }
.role-icon .icon-detail { stroke-width:.7; }
.role-top { margin-bottom:1.5rem; }
.person[hidden], .members-toggle[hidden] { display:none; }
.member-actions { flex-direction:column; align-items:center; gap:1rem; }


/* Paired research figures retain plain white numerals. */
.fact-coral { --stat-accent:var(--coral); }
.fact-cyan { --stat-accent:#268bbc; }
.gradient-number {
  display:inline-block;
  padding-inline:.04em .09em;
  margin-left:-.04em;
  color:#fff;
}
.fact-number { gap:0; }
.fact-meter span { background:var(--stat-accent); }
.role-top { flex-direction:column; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.role-icon { width:58px; height:58px; }

@media(forced-colors:active) {
  .gradient-number { -webkit-text-fill-color:CanvasText; background:none; }
}

/* Match carousel controls; nine single-card selectors wrap beneath arrows on phones. */
@media(max-width:600px) {
  .posts-arrows { display:grid; grid-template-columns:44px 44px; justify-content:center; gap:.25rem .75rem; }
  .posts-dots { grid-row:2; grid-column:1 / -1; justify-content:center; width:252px; justify-self:center; }
  .posts-dots button { width:28px; min-width:28px; }
}

.text-link .right-chevron { display:inline-block; width:.5em; height:.5em; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); margin-inline:.25em; flex-shrink:0; }

.coalition-intro h2 .coalition-name { display:block; font-weight:inherit; }
@media(min-width:700px) {
  .coalition-intro h2 { max-width:none; }
  .coalition-name { white-space:nowrap; }
}

/* Research citations follow the centered carousel controls. */
.research-section.is-enhanced .research-slide .research-source { display:none; }
.research-current-source { text-align:center; margin-top:1.25rem; border:0; padding-top:0; }
.research-heading .text-link, .latest-heading .text-link { gap:2ch; }
.research-heading .right-chevron, .latest-heading .right-chevron { margin-inline:0; }
.person-portrait { overflow:hidden; aspect-ratio:1; }
.person-photo { display:block; transition:transform .35s ease; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .person:hover .person-photo { transform:scale(1.045); }
}
/* Ten-second image motion, reversible without a visible reset. */
@keyframes hero-drift {
  from { transform:scale(1.02) translateX(-.3%); }
  to { transform:scale(1.30) translateX(1.5%); }
}
@media(prefers-reduced-motion:no-preference) {
  .hero.has-motion .hero-image { animation:hero-drift 10s ease-in-out infinite alternate; }
}

/* Text links signal hover with coral; arrow controls retain subtle motion. */
.research-heading .text-link, .latest-heading .text-link, .post-link,
.carousel-arrow, .role-link > .right-arrow {
  transition:transform .2s ease, background-color .2s ease, color .2s ease;
}
.research-heading .text-link:hover, .latest-heading .text-link:hover, .post-link:hover { color:var(--coral); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .carousel-arrow:hover,
  .role-card:hover .role-link > .right-arrow { transform:scale(1.04); }
}

/* Shared soft corners. Full-width sections and existing circular controls retain their shape. */
:where(button, input, select, textarea),
.button, .skip-link, .nav-submenu a, .comparison-word {
  border-radius:var(--radius-control);
}
:where(img:not([src$=".svg"]):not(.connect-monitor-frame)),
.hero, .person-portrait, .role-grid, .post-card,
.nav-submenu, .film-dialog, .film-frame, .film-frame iframe,
.coalition-story, .study-feature, .study-cover, .study-hero-art,
.video-launch, .chart-panel, .news-stat-card, .social-download,
.study-video-dialog, .video-player-mount, .video-player-mount iframe {
  border-radius:var(--radius-surface);
}
/* Clip nested media/backgrounds at the outer frame, including portrait hover motion. */
.role-grid, .post-card, .study-feature, .social-download {
  overflow:hidden;
}
.role-grid > .role-card { border-radius:0; }
.post-media, .social-download img {
  border-radius:var(--radius-surface) var(--radius-surface) 0 0;
}
.post-media img { border-radius:inherit; }
.chart-bar { border-radius:var(--radius-small) var(--radius-small) 0 0; }
.fact-meter, .fact-meter span { border-radius:var(--radius-small); }
