@font-face {
  font-display: swap;
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 500 600;
  src: url("../fonts/cinzel-latin-500-600.woff2") format("woff2");
}

:root {
  color-scheme: light;
  --site-header-height:104px;
  --navy: #0d1e40;
  --navy-2: #172b50;
  --gold: #c9a65b;
  --gold-dark: #8a6426;
  --crimson: #ae0112;
  --red: #ec1a33;
  --parchment: #fdfaf4;
  --hot-white: #fffaff;
  --cool-white: #f5f5ff;
  --carbon: #232323;
  --silicon: #1c232f;
  --muted: #646a77;
  --stone: #e5ded2;
  --green: #176642;
  --display: "Trajan Pro 3", "Trajan Pro", "Cinzel", Georgia, serif;
  --body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --shadow: 0 22px 62px rgb(13 30 64 / 12%);
  --focus: 0 0 0 3px var(--hot-white), 0 0 0 6px var(--crimson);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--hot-white); color: var(--carbon); font-family: var(--body); margin: 0; overflow-wrap: anywhere; text-rendering: optimizeLegibility; }
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 0; box-shadow: var(--focus); }
.skip-link { background: var(--navy); color: var(--hot-white); left: 1rem; padding: .8rem 1rem; position: fixed; top: -5rem; z-index: 1000; }
.skip-link:focus { top: 1rem; }
.shell { margin-inline: auto; max-width: 1280px; padding-inline: clamp(1.25rem, 5vw, 4.5rem); }
.reading { max-width: 740px; }
.section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.section--paper { background: var(--parchment); }
.section--navy { background: var(--navy); color: var(--hot-white); }
.section--silicon { background: var(--silicon); color: var(--hot-white); }
.kicker { color: var(--gold-dark); font-size: .72rem; font-weight: 700; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.section--navy .kicker, .section--silicon .kicker { color: #e7cf93; }
.display { color: var(--navy); font-family: var(--display); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
.section--navy .display, .section--silicon .display { color: var(--hot-white); }
/* Homepage section superheads and headlines share a consistent, left-aligned rhythm. */
.home :is(.intro-grid, .statement-callout, .section-head) .kicker { text-align: left; }
.home :is(.intro-grid, .statement-callout, .section-head) .kicker + h2 { margin-top: 1.125rem; text-align: left; }
.lede { color: var(--muted); font-size: clamp(1.08rem, 1.7vw, 1.3rem); line-height: 1.65; }
.section--navy .lede, .section--silicon .lede { color: #c8ced9; }
.button { align-items: center; border: 1px solid transparent; border-radius: 4px; cursor: pointer; display: inline-flex; font-size: .87rem; font-weight: 700; gap: .5rem; justify-content: center; min-height: 50px; padding: .95rem 1.35rem; text-decoration: none; transition: 180ms ease; }
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--crimson); color: var(--hot-white); }
.button--primary:hover { background: var(--navy); }
.button--gold { background: var(--gold); color: var(--navy); }
.button--gold:hover { background: var(--hot-white); }
.button--outline { border-color: var(--navy); color: var(--navy); }
.button--outline:hover { background: var(--navy); color: var(--hot-white); }
.button--light { border-color: #66738a; color: var(--hot-white); }
.button--light:hover { background: var(--hot-white); color: var(--navy); }
.button[disabled] { cursor: not-allowed; opacity: .5; transform: none; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.site-header { background: var(--hot-white); border-bottom: 1px solid var(--stone); position: sticky; top: 0; z-index: 50; }
.site-header__inner { align-items: center; display: flex; flex-wrap: wrap; gap: clamp(.5rem, 3vw, 2rem); justify-content: space-between; min-height: 104px; padding-block: 14px; }
.brand { flex: 0 0 auto; padding-block: 7px; }
.brand img { width: 218px; }
.site-nav { align-items: center; display: flex; flex-wrap: wrap; gap: 1.2rem; max-width: 100%; min-width: 0; }
.site-nav a { font-family: var(--display); }
.site-nav a:not(.button) { color: var(--navy); font-size: .86rem; font-weight: 600; letter-spacing: .01em; text-decoration: none; min-height:44px; display:inline-flex; align-items:center; }
.site-nav .button { font-size: .84rem; font-weight: 600; }
.site-nav a[aria-current="page"], .site-nav a:not(.button):hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.3em; }
.site-nav a:not(.button)[aria-current="page"], .site-nav a:not(.button):hover { color: var(--crimson); }
.nav-toggle { background: none; border: 1px solid var(--navy); border-radius: 4px; color: var(--navy); font-weight:700; display: none; min-height: 46px; padding: .7rem .85rem; }

.hero { background: linear-gradient(137deg, var(--parchment) 0 72%, #f2ecdf 72%); border-bottom: 5px solid var(--gold); min-height: 740px; overflow: hidden; position: relative; }
.hero::before, .hero::after { border: 1px solid rgb(201 166 91 / 35%); border-radius: 50%; content: ""; position: absolute; }
.hero::before { height: 720px; right: -380px; top: -360px; width: 720px; }
.hero::after { bottom: -420px; height: 680px; left: -420px; width: 680px; }
.hero__inner { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(0, 1fr); min-height: 740px; position: relative; z-index: 1; }
.hero h1 { font-size: clamp(4.6rem, 8vw, 8.4rem); margin: 1.2rem 0 1.5rem; max-width: 900px; }
.hero h1 span { color: var(--crimson); display: block; }
.hero__copy .lede { max-width: 690px; }
.hero__copy .actions { margin-top: 2rem; }
.count-card { align-self: center; background: var(--hot-white); border-top: 4px solid var(--gold); box-shadow: var(--shadow); padding: clamp(2rem, 4vw, 3.2rem); }
.count { align-items: baseline; display: flex; gap: .9rem; margin: 1.5rem 0; }
.count strong { color: var(--navy); font-family: var(--display); font-size: clamp(4rem, 8vw, 7rem); font-weight: 500; line-height: .8; }
.count span { color: var(--muted); font-size: .76rem; font-weight: 700; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.count-card p { border-top: 1px solid var(--stone); color: var(--muted); font-size: .85rem; line-height: 1.6; margin: 0; padding-top: 1.25rem; }

.intro-grid { display: grid; gap: 7vw; grid-template-columns: .8fr 1.2fr; }
.intro-grid h2, .section-head h2 { font-size: clamp(2.8rem, 5vw, 5.4rem); margin: 0; }
.section-head { display: grid; gap: 6vw; grid-template-columns: .9fr 1.1fr; margin-bottom: 3.5rem; }
.section-head .lede { align-self: end; margin: 0; }
.principles { border: 1px solid var(--stone); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); margin-top: 4rem; }
.principle { min-height: 280px; padding: 2rem; }
.principle + .principle { border-left: 1px solid var(--stone); }
.principle .number { color: var(--gold-dark); font-family: var(--display); font-size: 1rem; }
.principle h3 { color: var(--navy); font-family: var(--display); font-size: 1.45rem; font-weight: 500; margin: 3rem 0 1rem; }
.principle p { color: var(--muted); line-height: 1.65; margin: 0; }

.statement-callout { display: grid; gap: 6vw; grid-template-columns: 1fr 1fr; }
.statement-callout h2 { font-size: clamp(3.2rem, 6vw, 6.7rem); margin: 0; }
.statement-callout__copy { align-self: end; }
.statement-callout__copy p { color: #c8ced9; font-size: 1.1rem; line-height: 1.75; }
.gold-rule { background: var(--gold); height: 3px; margin: 2rem 0; width: 100%; }

.pathways { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.pathway { border: 1px solid var(--stone); min-height: 390px; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.pathway::after { border: 1px solid rgb(201 166 91 / 45%); border-radius: 50%; content: ""; height: 300px; position: absolute; right: -190px; top: -190px; width: 300px; }
.pathway--navy { background: var(--navy); border-color: var(--navy); color: var(--hot-white); }
.pathway--navy .kicker, .aside-card .kicker { color: #e7cf93; }
.pathway h3 { color: var(--navy); font-family: var(--display); font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; margin: 1.5rem 0 1rem; }
.pathway--navy h3 { color: var(--hot-white); }
.pathway p { color: var(--muted); line-height: 1.7; max-width: 520px; }
.pathway--navy p { color: #c8ced9; }
.pathway .button { margin-top: 1.4rem; position: relative; z-index: 2; }

.coalition-row { align-items: center; display: grid; gap: 1rem; grid-template-columns: 1.4fr repeat(4, 1fr); }
.coalition-row h2 { font-size: clamp(2rem, 3vw, 3.3rem); margin: 0; }
.partner { align-items: center; border: 1px solid #46536a; color: #b9c0cc; display: flex; font-size: .68rem; font-weight: 700; justify-content: center; letter-spacing: .1em; min-height: 86px; text-transform: uppercase; }
.placeholder-note { color: #aeb5c1; font-size: .74rem; margin-top: 1.5rem; }

.page-hero { background: var(--parchment); border-bottom: 4px solid var(--gold); overflow: hidden; padding-block: clamp(5rem, 10vw, 9rem); position: relative; }
.page-hero::after { border: 1px solid rgb(201 166 91 / 38%); border-radius: 50%; content: ""; height: 590px; position: absolute; right: -320px; top: -310px; width: 590px; }
.page-hero__inner { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(3.3rem, 7vw, 7.2rem); margin: 1.1rem 0 1.5rem; max-width: 970px; }
.page-hero .lede { max-width: 780px; }
.page-hero .actions { margin-top: 2rem; }

.statement-meta { border-bottom: 1px solid var(--stone); display: flex; flex-wrap: wrap; gap: 2rem; margin-bottom: 3rem; padding-bottom: 1.5rem; }
.statement-meta span { color: var(--muted); font-size: .78rem; }
.statement-body { color: #30333a; font-family: Georgia, serif; font-size: clamp(1.12rem, 1.8vw, 1.28rem); line-height: 1.9; }
.statement-body p { margin: 0 0 1.8rem; }
.statement-body p:first-of-type::first-letter { color: var(--navy); float: left; font-family: var(--display); font-size: 4.8rem; line-height: .82; padding: .12rem .5rem 0 0; }
.citation-grid { display: grid; gap: .75rem; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; }
.citation { border: 1px solid var(--stone); color: var(--navy); font-size: .85rem; font-weight: 700; padding: 1rem; text-decoration: none; }
.citation:hover { border-color: var(--crimson); color: var(--crimson); }
.draft-note { background: #f7f0de; border-left: 4px solid var(--gold); color: #654d1e; font-size: .85rem; line-height: 1.6; margin-bottom: 2.5rem; padding: 1rem 1.25rem; }

.form-layout { display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); }
.form-card { background: var(--hot-white); border: 1px solid var(--stone); box-shadow: var(--shadow); padding: clamp(1.5rem, 4vw, 3rem); }
.form-card h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin: 0 0 1rem; }
.field-grid { display: grid; gap: 1.1rem; grid-template-columns: 1fr 1fr; margin-top: 2rem; }
.field { display: grid; gap: .45rem; }
.field--full { grid-column: 1 / -1; }
.field label { color: var(--navy); font-size: .78rem; font-weight: 700; }
.field input, .field select, .field textarea { background: var(--hot-white); border: 1px solid #afb6c2; border-radius: 4px; color: var(--carbon); font-size: 1rem; min-height: 52px; padding: .8rem .9rem; width: 100%; }
.field textarea { min-height: 120px; resize: vertical; }
.check { align-items: flex-start; color: var(--muted); display: flex; font-size: .85rem; gap: .7rem; line-height: 1.5; }
.check input { height: 1.1rem; margin-top: .1rem; width: 1.1rem; }
.form-actions { border-top: 1px solid var(--stone); margin-top: 1.6rem; padding-top: 1.5rem; }
.form-note { color: var(--muted); font-size: .76rem; line-height: 1.55; margin-top: 1rem; }
.aside-card { background: var(--navy); color: var(--hot-white); padding: clamp(1.6rem, 4vw, 2.6rem); }
.aside-card h3 { font-family: var(--display); font-size: 1.7rem; font-weight: 500; margin: 1rem 0; }
.aside-card p, .aside-card li { color: #c8ced9; font-size: .87rem; line-height: 1.65; }
.aside-card ol, .aside-card ul { padding-left: 1.2rem; }
.demo-result { border-left: 4px solid var(--gold); margin-top: 1.5rem; padding-left: 1.1rem; }
.demo-result strong { display: block; }
.demo-result span { color: #c8ced9; display: block; font-size: .8rem; margin-top: .35rem; }

.signer-stage { background: var(--hot-white); border: 1px solid var(--stone); padding: clamp(2rem, 5vw, 4rem); text-align: center; }
.signer-stage .count { justify-content: center; }
.signer-stage h2 { font-size: clamp(2.1rem, 5vw, 4.5rem); margin: 1rem 0; }
.embargo { align-items: center; background: var(--parchment); border: 1px solid #dfcfac; display: flex; gap: 1rem; margin: 2rem auto 0; max-width: 720px; padding: 1.1rem 1.3rem; text-align: left; }
.embargo::before { background: var(--gold); border-radius: 50%; content: ""; flex: 0 0 .65rem; height: .65rem; width: .65rem; }
.embargo p { color: #604a20; font-size: .84rem; line-height: 1.55; margin: 0; }
.category-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; }
.category { border: 1px solid var(--stone); min-height: 180px; padding: 1.5rem; text-align: left; }
.category strong { color: var(--navy); display: block; font-family: var(--display); font-weight: 500; }
.category span { color: var(--muted); display: block; font-size: .8rem; line-height: 1.5; margin-top: .7rem; }

.method-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.method { background: var(--hot-white); min-height: 250px; padding: 2rem; }
.method h3 { color: var(--navy); font-family: var(--display); font-size: 1.25rem; font-weight: 500; margin: 1.5rem 0 .8rem; }
.method p { color: var(--muted); font-size: .87rem; line-height: 1.65; }

.site-footer { background: var(--navy); color: var(--hot-white); padding-block: 4rem 2rem; }
.footer-grid { display: grid; gap: 3rem; grid-template-columns: 1.4fr repeat(3, 1fr); }
.footer-brand img { width: 300px; }
.footer-brand p { color: #b8c0ce; font-size: .85rem; line-height: 1.6; max-width: 380px; }
.footer-col strong { color: #ead396; display: block; font-size: .7rem; letter-spacing: .15em; margin-bottom: 1rem; text-transform: uppercase; }
.footer-col a { color: #c7cdd8; display: block; font-size: .82rem; margin-bottom: .75rem; text-decoration: none; }
.footer-col a:hover { color: var(--hot-white); }
.legal-line { border-top: 1px solid #35445f; color: #9da6b6; font-size: .7rem; margin-top: 3rem; padding-top: 1.5rem; }

.status { align-items: center; display: inline-flex; font-size: .75rem; font-weight: 700; gap: .4rem; }
.status::before { background: var(--gold); border-radius: 50%; content: ""; height: .5rem; width: .5rem; }
.screen-reader { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

@media (max-width: 1180px) {
  .site-nav { background: var(--hot-white); border-bottom: 1px solid var(--stone); display: none; inset: 100% 0 auto; padding: 1.2rem 5vw 1.5rem; position: absolute; max-height:var(--site-nav-max-height,calc(100dvh - var(--site-header-height))); overflow-y:auto; overscroll-behavior:contain; }
  .nav-open .site-nav { align-items: stretch; display: grid; gap: 1rem; }
  .nav-toggle { display: block; }
}

@media (max-width: 1000px) {
  .hero__inner, .intro-grid, .statement-callout, .section-head, .form-layout { grid-template-columns: 1fr; }
  .hero__inner { padding-block: 5rem; }
  .count-card { max-width: 560px; }
  .coalition-row { grid-template-columns: 1fr 1fr; }
  .coalition-row h2 { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .site-header__inner { min-height: 90px; padding-block: 11px; }
  .brand { padding-block: 6px; }
  .brand img { width: 174px; }
  :root { --site-header-height:90px; }
  .hero, .hero__inner { min-height: auto; }
  .hero h1 { font-size: 3rem; }
  .page-hero h1 { font-size: 3rem; }
  .intro-grid h2, .section-head h2 { font-size: 2.65rem; }
  .statement-callout h2 { font-size: 2.65rem; }
  .home .intro-grid h2, .home .section-head h2, .home .statement-callout h2 { font-size: clamp(2.125rem, 9.5vw, 2.375rem); line-height: 1.08; }
  .principles, .pathways, .citation-grid, .category-grid, .method-grid, .footer-grid { grid-template-columns: 1fr; }
  .principle + .principle { border-left: 0; border-top: 1px solid var(--stone); }
  .field-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .coalition-row { grid-template-columns: 1fr; }
  .coalition-row h2 { grid-column: auto; }
  .actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* One shared staging notice treatment; guard behavior and conspicuous labeling remain intact. */
body>[role="status"][style*="2147483647"] { position:relative!important; bottom:auto!important; }
.hero-action-intro { color:var(--navy); font-size:1rem; line-height:1.65; max-width:38rem; margin:1.4rem 0 0; }
/* Hero actions carry their own scale; campaign and navigation controls retain theirs. */
.hero__copy { min-width:0; }
.hero__copy .hero-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:1rem; align-items:stretch; max-width:36rem; margin-top:1.4rem; }
.hero__copy .hero-actions .button { min-width:0; min-height:72px; padding:1.2rem 1.75rem; font-size:1.125rem; line-height:1.3; }
.hero__copy .hero-actions .button--primary { font-size:1.25rem; }
.hero__copy .hero-actions .button--outline { border-width:2px; }
.hero__copy .hero-read-link { grid-column:1 / -1; justify-self:start; display:inline-flex; align-items:center; min-height:44px; font-size:1.0625rem; font-weight:600; padding:.45rem 0; }
@media (max-width:1000px) {
  .hero__inner { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:680px) {
  .hero__copy .hero-actions { grid-template-columns:minmax(0,1fr); gap:.85rem; }
  .hero__copy .hero-actions .button { min-height:64px; padding:1rem 1.25rem; }
}
.hero-staging-note { color:var(--muted); font-size:.8rem; line-height:1.5; margin:.65rem 0 0; }

/* Public notices use the same readable measure as the statement. */
.policy-copy { overflow-wrap: anywhere; }
.policy-copy h2 { color: var(--navy); font-size: 1.5rem; margin-top: 2.5rem; }
.policy-copy li { line-height: 1.75; margin-block: .6rem; }
.legal-line p { margin-block: .4rem; }

/* The signatures belong to the hero, with space reserved for the primary actions. */
.hero { display:flex; flex-direction:column; min-height:0; }
.hero__inner { min-height:600px; width:100%; flex:1; padding-block:2.5rem; }
.home .hero h1 { font-size:clamp(3rem,6vw,6rem); max-width:1100px; }
.home .hero__copy .lede { max-width:860px; }
.home :is(.intro-grid,.section-head,.statement-callout) h2 { font-size:clamp(2rem,3.6vw,3.8rem); overflow-wrap:normal; hyphens:none; }
.signature-ribbon { background:var(--navy); color:var(--parchment); position:relative; z-index:1; border-top:1px solid var(--gold); }
.signature-ribbon__inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:2rem; min-height:90px; }
.signature-total [hidden], [data-public-names] [hidden] { display:none!important; }
.signature-ticker__total { display:flex; align-items:center; gap:.8rem; margin:0; }
.signature-ticker__total strong { font-family:var(--display); font-size:2.5rem; font-weight:500; font-variant-numeric:tabular-nums; line-height:1; }
.signature-ticker__total span { font-size:.8rem; line-height:1.4; max-width:5rem; }
.signature-ribbon .signature-ticker__total strong { color:#e7cf93; }
.signature-ticker__unavailable { font-size:.8rem; max-width:12rem; margin:0; }
.signature-ribbon__names { min-width:0; border-inline:1px solid #485570; padding-inline:1.5rem; }
.signature-ribbon__viewport { overflow-x:auto; scrollbar-width:thin; scrollbar-color:var(--gold) var(--navy); }
.signature-ribbon__track { display:flex; width:max-content; }
.signature-ribbon__track ul { display:flex; align-items:center; gap:2rem; padding:1rem 2rem 1rem 0; margin:0; list-style:none; }
.signature-ribbon__track li { display:flex; align-items:center; gap:2rem; white-space:nowrap; font-size:1rem; }
.signature-ribbon__track li::after { content:'·'; color:var(--gold); font-size:.6rem; }
.signature-ribbon__track [data-names-clone] { display:none; }
.signature-ribbon__empty { color:#dbe0e9; font-size:.9rem; margin:0; line-height:1.5; }
.signature-ribbon__actions { display:flex; align-items:center; gap:.75rem; }
.signature-ribbon__actions a { display:inline-flex; align-items:center; gap:.75rem; min-height:44px; white-space:nowrap; font-size:.85rem; font-weight:600; text-decoration:none; }
.signature-ribbon__actions a:hover { text-decoration:underline; }
.signature-ribbon__actions a span { color:#e7cf93; font-size:1.25rem; }
.signature-ribbon__actions button { background:none; color:#e7cf93; border:1px solid #66738a; border-radius:50%; min-width:44px; min-height:44px; cursor:pointer; }
.signature-ribbon.is-moving .signature-ribbon__viewport { overflow:hidden; }
.signature-ribbon.is-moving:not(.is-paused):not(:hover):not(:focus-within) .signature-ribbon__viewport { mask-image:linear-gradient(to right,transparent,#000 1rem,#000 calc(100% - 1rem),transparent); }
.signature-ribbon.is-moving .signature-ribbon__track { animation:signatory-scroll var(--names-duration) linear infinite; }
.signature-ribbon.is-moving .signature-ribbon__track [data-names-clone] { display:flex; }
.signature-ribbon:is(.is-paused,:hover,:focus-within) .signature-ribbon__track { animation-play-state:paused; }
@keyframes signatory-scroll { to { transform:translateX(calc(-1 * var(--names-distance))); } }
.signatories-hero { padding-block:4rem 3rem; }
.signatories-hero h1 { font-size:clamp(2.5rem,6vw,5.6rem); margin-block:1rem; }
.signatories-hero .lede { margin-block:1rem 2rem; }
.signatories-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem 3rem; }
.signatories-hero .signature-ticker__total { color:var(--navy); }
.signatories-directory { padding-block:3rem 5rem; min-height:16rem; }
.signatories-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 3rem; padding:0; margin:0; list-style:none; }
.signatories-grid li { color:var(--navy); border-bottom:1px solid var(--stone); padding:1.3rem 0; font-size:1.15rem; line-height:1.5; }
.signatory-name, .signatory-roles, .signatory-location { display:block; overflow-wrap:anywhere; }
.signatory-name { font-weight:600; }
.signatory-roles { margin-top:.35rem; color:var(--muted); font-size:.8rem; line-height:1.6; }
.signatory-location { margin-top:.3rem; color:var(--muted); font-size:.8rem; line-height:1.6; }
.signatories-role-note { margin:0 0 1.3rem; color:var(--muted); font-size:.85rem; line-height:1.6; }

.signatories-organizations { margin-top:3rem; }
.signatories-organizations h2 { font-size:2rem; }
.signatories-empty { color:var(--muted); line-height:1.6; }
.signatories-preview { color:var(--gold-dark); font-size:.8rem; margin:0 0 1.5rem; }
@media (max-width:900px) {
  .signature-ribbon__inner { gap:1rem; }
  .signature-ribbon__names { padding-inline:1rem; }
  .signatories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .hero__inner { min-height:0; padding-block:3.5rem 2.5rem; }
  .signature-ribbon__inner { grid-template-columns:auto minmax(0,1fr); gap:0 1rem; padding-top:1.2rem; }
  .signature-ribbon__names { grid-column:1 / -1; grid-row:2; border:0; border-top:1px solid #485570; padding:0; margin-top:1rem; min-height:3.5rem; display:flex; align-items:center; }
  .signature-ribbon__viewport { width:100%; }
  .signature-ribbon__actions { justify-self:end; gap:.5rem; }
  .signature-ribbon__actions a { font-size:.78rem; gap:.4rem; white-space:normal; }
  .signature-ticker__total strong { font-size:2.15rem; }
  .signature-ticker__total { gap:.6rem; }
  .signature-ticker__total span { font-size:.72rem; }
  .signature-ribbon__track li { font-size:.95rem; }
  .signatories-hero { padding-block:3rem 2.5rem; }
  .signatories-directory { padding-block:1.5rem 3rem; }
  .signatories-grid { grid-template-columns:minmax(0,1fr); }
  .signatories-grid li { padding-block:1.1rem; }
}
@media (prefers-reduced-motion:reduce) {
  .signature-ribbon.is-moving .signature-ribbon__viewport { overflow-x:auto; mask-image:none!important; }
  .signature-ribbon.is-moving .signature-ribbon__track { animation:none; }
  .signature-ribbon.is-moving .signature-ribbon__track [data-names-clone], [data-names-pause] { display:none!important; }
}

/* Candidate status remains explicit text; the decorative star is excluded from speech. */
.signatory-candidate-star { display:inline-block; margin-inline-end:.4em; color:var(--gold-dark); font-size:.95em; }
.signature-ribbon .signatory-candidate-star { color:#e7cf93; }
