
/* ===========================================================================
   GOVERNANCE REDUX
   - Typography update: titles → Gantari 500, letter-spacing -3px
   - Body text → Rethink Sans
   - Section 8 redesigned: Clinical Advisory Board (hero card + 3 layer cards)
   - Section 9 redesigned: Evidence & Certifications (icon-card grid)
   =========================================================================== */

/* ── typography ─────────────────────────────────────────────────────────── */
.page-governance .heading-style-h2,
.page-governance .hero_title,
.page-governance h1,
.page-governance h2 {
  font-family: "Gantari", var(--ds-font-display), system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
}
/* H2 tracking pulled a touch tighter than the other titles (per request) */
.page-governance .heading-style-h2,
.page-governance h2 {
  letter-spacing: -0.04em !important;
}
.page-governance h3 {
  font-family: "Gantari", var(--ds-font-display), system-ui, sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.page-governance,
.page-governance p,
.page-governance li,
.page-governance summary,
.page-governance .hero_lead,
.page-governance .gv-counsel,
.page-governance .gv-faq__q,
.page-governance .gv-faq__a,
.page-governance .v3-cta__sub,
.page-governance .gv-disc__body p,
.page-governance .gv-resi__cap,
.page-governance .placeholder-note,
.page-governance .gv-stream__note,
.page-governance .ed-item__note,
.page-governance .ed-feature__lede,
.page-governance .ed-feature__s,
.page-governance .gv-lane__row span,
.page-governance .gv-fact span,
.page-governance .gv-evi-card__p,
.page-governance .gv-bcard__p,
.page-governance .gv-board2__lead,
.page-governance .gv-board2__hero-p,
.page-governance .gv-evi2__lead,
.page-governance .gv-evi2__foot,
.page-governance .gv-board2__note {
  font-family: "Rethink Sans", var(--ds-font-body), system-ui, sans-serif;
}

/* eyebrow / labels stay on UI font (Onest) — they're not titles, not body */

/* (eyebrow size unified on the --ds-text-eyebrow token — see tokens.css/sections.css) */

/* ===========================================================================
   SECTION DESCRIPTIONS · every description below the hero is 15% smaller than
   the hero lead (--ds-text-section-desc). It derives from the same fluid
   clamp() the hero lead uses, so tablet/mobile scale down the same way with
   no extra breakpoints needed. The hero's own .hero_lead is untouched and
   stays the largest description on the page.
   =========================================================================== */
.page-governance .section-head p,
.page-governance .pf-head--center .pf-head__p {
  font-size: calc(var(--ds-text-body-lg) * .85);
}
.page-governance .v3-cta__sub {
  font-size: var(--ds-text-section-desc);
}

/* ===========================================================================
   HERO EYEBROW · the exact .hero_kick component (already defined in
   components.css, icon + label pill), used only inside the hero. Every other
   eyebrow on the site keeps the dotted .eyebrow style. components.css binds
   its radius to --ds-radius-pill, which styleguide.css later redefines to a
   sharp 3px sitewide — force a true pill here so the hero badge still reads
   as a pill.
   =========================================================================== */
.page-governance .hero_kick{ border-radius:2px; }

/* ===========================================================================
   8 · CLINICAL ADVISORY BOARD (redesigned)
   =========================================================================== */
.page-governance .gv-board2 { display: grid; gap: clamp(28px, 3.4vw, 44px); }

.page-governance .gv-board2__head { max-width: 64ch; }
.page-governance .gv-board2__title { margin: 0 0 clamp(18px, 2vw, 24px); }
.page-governance .gv-board2__lead {
  font-size: calc(var(--ds-text-body-lg) * .85);
  color: var(--ds-text-secondary);
  line-height: 1.6;
  max-width: 60ch;
}

.page-governance .gv-board2__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  grid-template-rows: auto auto;
  gap: clamp(16px, 1.6vw, 22px);
}
@media (max-width: 960px) { .page-governance .gv-board2__grid { grid-template-columns: 1fr; } }

/* Dark hero card spans both rows on the left */
.page-governance .gv-board2__hero {
  grid-row: span 3;
  background: var(--ds-color-green-deep);
  color: rgba(255, 245, 233, .92);
  border-radius: 5px;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 600px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.page-governance .gv-board2__hero-shader {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .55;
}
.page-governance .gv-board2__hero-copy {
  position: relative;
  z-index: 2;
  padding: clamp(26px, 2.8vw, 38px);
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.6vw, 20px);
}
  color: rgba(255, 245, 233, .92);
  border-radius: 4px;
  padding: clamp(26px, 2.6vw, 38px);
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.6vw, 22px);
  position: relative;
  overflow: hidden;
  min-height: 520px;
}
@media (max-width: 960px) { .page-governance .gv-board2__hero { grid-row: auto; min-height: auto; } }

.page-governance .gv-board2__seating {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--ds-font-ui), sans-serif;
  font-weight: 700; font-size: 11.5px;
  letter-spacing: .14em; text-transform: uppercase;
  color: #E9A66B;
  background: rgba(213, 105, 27, .14);
  border: 1px solid rgba(233, 166, 107, .35);
  border-radius: 3px;
  padding: 7px 13px;
  align-self: flex-start;
}
.page-governance .gv-board2__seating .d {
  width: 7px; height: 7px; border-radius: 50%; background: #E9A66B; flex: none;
  animation: gvSeatPulse 2.4s ease-in-out infinite;
}
@keyframes gvSeatPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }

.page-governance .gv-board2__hero-t {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  letter-spacing: -0.025em;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.12;
  color: rgba(255, 245, 233, .98);
  margin: 0;
  text-wrap: balance;
}
.page-governance .gv-board2__hero-p {
  color: rgba(255, 245, 233, .72);
  font-size: 14.5px;
  line-height: 1.62;
  margin: 0;
  max-width: 38ch;
}

.page-governance .gv-board2__portrait {
  margin: auto 0 0;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
  /* flush-bottom; image starts ~50% down via the veil gradient above */
  width: 100%;
  aspect-ratio: 16 / 9;
}
.page-governance .gv-board2__portrait-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  /* subtle top fade only — blends the photo's top edge into the card while the
     subject stays fully visible (the caption overlay is gone) */
  background:
    linear-gradient(180deg, var(--ds-color-green-deep) 0%, rgba(3,69,44,.5) 12%, rgba(3,69,44,0) 32%);
}
.page-governance .gv-board2__portrait image-slot {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  --slot-bg: rgba(255, 245, 233, 0.06);
  --slot-border: rgba(255, 245, 233, 0.18);
  --slot-text: rgba(255, 245, 233, 0.62);
}
.page-governance .gv-board2__pcap {
  position: absolute;
  bottom: 12px;
  left: 16px;
  right: 16px;
  z-index: 3;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 245, 233, .52);
  padding: 12px 4px 4px;
}

/* The three layer cards */
.page-governance .gv-bcard {
  background: var(--ds-surface-raised, #fff);
  border: 1px solid var(--ds-border-subtle, rgba(0,0,0,.08));
  border-radius: 4px;
  padding: clamp(20px, 1.8vw, 26px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.page-governance .gv-bcard:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(3, 69, 44, .07);
  border-color: rgba(3, 69, 44, .16);
}
.page-governance .gv-bcard__ic {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border-radius: 0;
  margin-bottom: 8px;
  padding: 0;
}
.page-governance .gv-bcard__ic svg { width: 44px; height: 44px; }

.page-governance .gv-bcard__t {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ds-color-green-deep);
  font-size: clamp(19px, 1.5vw, 22px);
  line-height: 1.2;
  margin: 0;
}
.page-governance .gv-bcard__p {
  color: var(--ds-text-secondary);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}
.page-governance .gv-bcard__pill {
  align-self: flex-start;
  margin-top: 8px;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 3px;
  border: 1px solid transparent;
}
.page-governance .gv-bcard__pill.is-ok {
  background: rgba(3, 69, 44, .08);
  color: var(--ds-color-green-deep);
  border-color: rgba(3, 69, 44, .18);
}
.page-governance .gv-bcard__pill.is-warn {
  background: rgba(213, 105, 27, .1);
  color: var(--ds-color-copper-ink);
  border-color: rgba(213, 105, 27, .24);
}

.page-governance .gv-board2__note {
  font-size: 12.5px;
  font-style: italic;
  color: var(--ds-text-secondary);
  max-width: 80ch;
  line-height: 1.6;
  margin: clamp(6px, 1vw, 12px) 0 0;
  opacity: .85;
}

/* ===========================================================================
   9 · EVIDENCE & CERTIFICATIONS (redesigned)
   =========================================================================== */
.page-governance .gv-evi2 {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}
@media (max-width: 960px) { .page-governance .gv-evi2 { grid-template-columns: 1fr; } }

.page-governance .gv-evi2__copy { position: sticky; top: clamp(80px, 8vw, 110px); }
@media (max-width: 960px) { .page-governance .gv-evi2__copy { position: static; } }

.page-governance .gv-evi2__title { margin: 0 0 clamp(18px, 2vw, 24px); }
.page-governance .gv-evi2__lead {
  font-size: calc(var(--ds-text-body-lg) * .85);
  color: var(--ds-text-secondary);
  line-height: 1.6;
  max-width: 36ch;
  margin: 0 0 clamp(18px, 2vw, 24px);
}
.page-governance .gv-evi2__foot {
  font-size: 12.5px;
  font-style: italic;
  color: var(--ds-text-secondary);
  line-height: 1.6;
  opacity: .85;
  margin: 0;
}

.page-governance .gv-evi2__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 1.6vw, 22px);
}
@media (max-width: 640px) { .page-governance .gv-evi2__grid { grid-template-columns: 1fr; } }

.page-governance .gv-evi-card {
  background: var(--ds-surface-raised, #fff);
  border: 1px solid var(--ds-border-subtle, rgba(0,0,0,.08));
  border-radius: 4px;
  padding: clamp(22px, 2vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.page-governance .gv-evi-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(3, 69, 44, .07);
  border-color: rgba(3, 69, 44, .16);
}

.page-governance .gv-evi-card__ic {
  width: 58px; height: 58px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ds-color-sage, #E6EEE8);
  border-radius: 4px;
  margin-bottom: 4px;
}
.page-governance .gv-evi-card__ic svg { width: 40px; height: 40px; display: block; }

.page-governance .gv-evi-card__t {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ds-color-green-deep);
  font-size: clamp(20px, 1.6vw, 24px);
  line-height: 1.15;
  margin: 0;
}
.page-governance .gv-evi-card__p {
  color: var(--ds-text-secondary);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.page-governance .gv-evi-card__pill {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 7px 12px;
  border-radius: 3px;
  border: 1px solid transparent;
  margin-top: 6px;
}
.page-governance .gv-evi-card__pill svg { width: 11px; height: 11px; }

.page-governance .gv-evi-card__pill.is-cert {
  background: var(--ds-color-green-deep);
  color: #FFF5E9;
  border-color: var(--ds-color-green-deep);
}
.page-governance .gv-evi-card__pill.is-audit {
  background: rgba(3, 69, 44, .06);
  color: var(--ds-color-green-deep);
  border-color: rgba(3, 69, 44, .18);
}
.page-governance .gv-evi-card__pill.is-next {
  background: rgba(213, 105, 27, .1);
  color: var(--ds-color-copper-ink);
  border-color: rgba(213, 105, 27, .26);
}

/* ===========================================================================
   2 · CLINICIAN RETAINS AUTHORITY (redesigned)
   =========================================================================== */
.page-governance .gv-auth2 {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
@media (max-width: 960px) { .page-governance .gv-auth2 { grid-template-columns: 1fr; } }

/* Left column — section head */
.page-governance .gv-auth2__head { position: sticky; top: clamp(80px, 8vw, 110px); }
@media (max-width: 960px) { .page-governance .gv-auth2__head { position: static; } }
.page-governance .gv-auth2__title { margin: 0 0 clamp(16px, 1.8vw, 22px); }
.page-governance .gv-auth2__lead {
  font-size: calc(var(--ds-text-body-lg) * .85);
  color: var(--ds-text-secondary);
  line-height: 1.6;
  margin: 0 0 clamp(24px, 2.6vw, 36px);
  max-width: 48ch;
}

/* Guarantee list */
.page-governance .gv-auth2__guarantees {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-governance .gv-auth2__guarantee {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 15px;
  color: var(--ds-text-primary);
  line-height: 1.5;
}
.page-governance .gv-auth2__gc {
  width: 22px;
  height: 22px;
  flex: none;
  background: rgba(3, 69, 44, .1);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ds-color-green-deep);
  margin-top: 1px;
}
.page-governance .gv-auth2__gc svg { width: 10px; height: 10px; }

/* Right column — dark card */
.page-governance .gv-auth2__right { display: flex; flex-direction: column; gap: 0; }

.page-governance .gv-auth2__card {
  position: relative;
  background:
    radial-gradient(100% 60% at 100% 0%, rgba(231, 145, 88, .22) 0%, rgba(231, 145, 88, 0) 55%),
    radial-gradient(80% 70% at 0% 100%, rgba(11, 92, 64, .7) 0%, rgba(3, 69, 44, 0) 60%),
    linear-gradient(165deg, #053B26 0%, #02331F 60%, #021B11 100%);
  border-radius: 5px;
  border: 1px solid rgba(255, 245, 233, .1);
  box-shadow: 0 18px 52px rgba(0, 0, 0, .22);
  overflow: hidden;
  isolation: isolate;
  color: rgba(255, 245, 233, .9);
}

/* constellation in top-right — sized small as a decorative mark */
.page-governance .gv-auth2__card-constel {
  position: absolute !important;
  top: clamp(18px, 2vw, 26px) !important;
  right: clamp(18px, 2vw, 26px) !important;
  width: clamp(140px, 15vw, 200px) !important;
  height: clamp(140px, 15vw, 200px) !important;
  max-width: 200px !important;
  max-height: 200px !important;
  z-index: 3;
  pointer-events: none;
  opacity: .92;
  overflow: visible;
  display: block;
}
/* recolor the constellation for the dark card (bone nodes, copper accents) so it
   reads cleanly without the old brightness hack, and restyle the centre chip dark */
.page-governance .gv-auth2__card-constel .cn-node,
.page-governance .gv-auth2__card-constel .cn-node-deep { fill: rgba(255, 245, 233, .8) !important; }
.page-governance .gv-auth2__card-constel .cn-node-soft { fill: rgba(255, 245, 233, .4) !important; }
.page-governance .gv-auth2__card-constel .cn-edge { stroke: rgba(255, 245, 233, .18) !important; }
.page-governance .gv-auth2__card-constel .cn-dissent { fill: var(--ds-color-copper-light, #E9A66B) !important; }
.page-governance .gv-auth2__card-constel .cn-qarc,
.page-governance .gv-auth2__card-constel .cn-edge-copper { stroke: var(--ds-color-copper-light, #E9A66B) !important; }
.page-governance .gv-auth2__card-constel .cn-halo { stroke: rgba(255, 245, 233, .24) !important; }
.page-governance .gv-auth2__card-constel .cn-core,
.page-governance .gv-auth2__card-constel .cn-pulse { fill: var(--ds-color-copper-light, #E9A66B) !important; }
.page-governance .gv-auth2__card-constel .cn-glass {
  background: rgba(2, 28, 18, .52) !important;
  border: 1px solid rgba(255, 245, 233, .18) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  backdrop-filter: blur(3px) !important;
}
.page-governance .gv-auth2__card-constel .cn-glass-n { color: rgba(255, 245, 233, .96) !important; }
.page-governance .gv-auth2__card-constel .cn-glass-l { color: var(--ds-color-copper-light, #E9A66B) !important; }
.page-governance .gv-auth2__card-constel svg {
  width: 100% !important;
  height: 100% !important;
  display: block;
}
/* shader behind the dark card (sits under the radial overlays) */
.page-governance .gv-auth2__card-shader {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .9;
  mix-blend-mode: screen;
  /* visible on the edges only — fade the texture out of the middle where the copy sits */
  -webkit-mask-image: radial-gradient(125% 112% at 50% 44%, #0000 0%, #0000 40%, #000 82%);
  mask-image: radial-gradient(125% 112% at 50% 44%, #0000 0%, #0000 40%, #000 82%);
}

.page-governance .gv-auth2__card-body {
  position: relative;
  z-index: 2;
  padding: clamp(28px, 2.8vw, 42px);
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.8vw, 22px);
}

/* card head wraps the eyebrow + title so they can occupy a 60% column on
   mobile/tablet; the gap here preserves the desktop rhythm between them. */
.page-governance .gv-auth2__card-head {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.8vw, 22px);
}

.page-governance .gv-auth2__card-k {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #E9A66B;
  max-width: 60%;
}

.page-governance .gv-auth2__quote {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: rgba(255, 245, 233, .98);
  max-width: 26ch;
  text-wrap: balance;
  margin: 0;
  border: none;
  padding: 0;
}

.page-governance .gv-auth2__card-p {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255, 245, 233, .7);
  max-width: 52ch;
  margin: 0;
}

/* stat block (no image) — left stat + thin rule + right meta */
.page-governance .gv-auth2__stat-block {
  display: grid;
  grid-template-columns: auto 1px 1fr;
  gap: clamp(18px, 2vw, 28px);
  align-items: center;
  margin-top: clamp(12px, 1.6vw, 20px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid rgba(255, 245, 233, .12);
}
@media (max-width: 640px) {
  .page-governance .gv-auth2__stat-block { grid-template-columns: 1fr; }
  .page-governance .gv-auth2__stat-rule { display: none; }
}

.page-governance .gv-auth2__stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.page-governance .gv-auth2__stat-n {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  font-size: clamp(52px, 5.5vw, 78px);
  line-height: .9;
  letter-spacing: -0.04em;
  color: rgba(255, 245, 233, .98);
}
.page-governance .gv-auth2__stat-pct {
  color: var(--ds-color-copper-light, #E9A66B);
  font-size: .55em;
  margin-left: 4px;
}
.page-governance .gv-auth2__stat-l {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 245, 233, .55);
  line-height: 1.5;
  max-width: 24ch;
}

.page-governance .gv-auth2__stat-rule {
  width: 1px;
  height: 80%;
  background: rgba(255, 245, 233, .14);
}

.page-governance .gv-auth2__stat-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.page-governance .gv-auth2__meta-k {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #E9A66B;
}
.page-governance .gv-auth2__meta-p {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(255, 245, 233, .82);
  max-width: 34ch;
}

/* Image in the LEFT column (on the bone background, not inside dark card) */
.page-governance .gv-auth2__img-outer {
  margin: clamp(28px, 3vw, 40px) 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.page-governance .gv-auth2__img-outer image-slot {
  display: block;
  width: 100%;
  aspect-ratio: 5/4;
}
.page-governance .gv-auth2__img-cap {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 12.5px;
  color: var(--ds-text-secondary);
  font-style: italic;
  line-height: 1.5;
  max-width: 38ch;
}

/* Counsel block — integrated elegantly at the bottom of the card */
.page-governance .gv-auth2__counsel {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: clamp(18px, 1.8vw, 24px) clamp(28px, 2.8vw, 42px);
  border-top: 1px solid rgba(255, 245, 233, .1);
  background: rgba(0, 0, 0, .15);
}
.page-governance .gv-auth2__counsel svg {
  width: 16px; height: 16px; flex: none;
  color: #E9A66B; margin-top: 2px;
}
.page-governance .gv-auth2__counsel-k {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #E9A66B;
  display: block;
  margin-bottom: 8px;
}
.page-governance .gv-auth2__counsel-p {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255, 245, 233, .55);
  margin: 0;
  max-width: 62ch;
}

/* ===========================================================================
   AUTHORITY CARD v2 — value anchors beside the stat, orb cluster, record widget
   =========================================================================== */
/* 3 value anchors, now in the card's stat block (right of the 100%) */
.page-governance .gv-auth2__anchors {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.page-governance .gv-auth2__anchor {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13.5px; line-height: 1.4;
  color: rgba(255, 245, 233, .9);
}
.page-governance .gv-auth2__anchor-ic {
  width: 18px; height: 18px; flex: none; margin-top: 1px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(233, 166, 107, .15);
  color: var(--ds-color-copper-light, #E9A66B);
}
.page-governance .gv-auth2__anchor-ic svg { width: 10px; height: 10px; }

/* Left-column orb cluster — three round photo slots (home plat-orb pattern) */
.page-governance .gv-auth2__orbs {
  position: relative;
  width: 100%; max-width: 460px;
  aspect-ratio: 1.24 / 1;
  margin: clamp(44px, 4.6vw, 62px) 0 0 clamp(20px, 3vw, 40px);
}
.page-governance .gv-auth2__orb {
  position: absolute;
  aspect-ratio: 1; height: auto;
  border-radius: 50%; overflow: hidden;
  box-shadow: 0 10px 30px rgba(3, 40, 26, .18);
  background: color-mix(in srgb, var(--ds-color-sage, #cdd9cf) 60%, var(--ds-color-bone, #FFF5E9));
}
.page-governance .gv-auth2__orb::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(3, 69, 44, .12), inset 0 -16px 30px rgba(3, 69, 44, .14);
}
.page-governance .gv-auth2__orb::part(ring) { border-color: rgba(3, 69, 44, .28); }
.page-governance .gv-auth2__orb--a { width: 56%; left: 0; top: 28%; }
.page-governance .gv-auth2__orb--b { width: 38%; right: 0; left: auto; top: 0; }
.page-governance .gv-auth2__orb--c { display: none; }
.page-governance .gv-auth2__orbs-cap {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 12.5px; color: var(--ds-text-secondary); font-style: italic;
  line-height: 1.5; max-width: 38ch; margin: clamp(16px, 1.8vw, 22px) 0 0;
}
/* Tablet + mobile: the two orbs sit in a right column beside the title + description */
/* Tablet + mobile: the two orbs sit in a right column beside the title + description.
   Explicit grid-template-rows make `grid-row:1/-1` actually span all text rows, so the
   title sits directly under the eyebrow (not pushed below the orbs). */
@media (max-width: 960px) {
  .page-governance .gv-auth2__head {
    display: grid;
    /* orbs were removed from the markup — the head is a single full-width text column now */
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 0;
    align-items: start;
  }
  .page-governance .gv-auth2__head > .eyebrow { grid-column: 1; grid-row: 1; }
  .page-governance .gv-auth2__head > .gv-auth2__title { grid-column: 1; grid-row: 2; }
  .page-governance .gv-auth2__head > .gv-auth2__lead { grid-column: 1; grid-row: 3; }
  /* orbs STACK VERTICALLY (two circles) across tablet AND mobile — not the
     desktop overlapping cluster, which overflowed the narrow column. */
  .page-governance .gv-auth2__orbs {
    grid-column: 2; grid-row: 1 / -1;
    margin: 0; max-width: none; align-self: center;
    aspect-ratio: auto;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: clamp(16px, 2.8vw, 28px);
  }
  .page-governance .gv-auth2__orb--a,
  .page-governance .gv-auth2__orb--b {
    position: static; left: auto; right: auto; top: auto; bottom: auto;
    /* explicit equal width AND height guarantees a true circle — the slot's
       :host default height isn't square and aspect-ratio alone didn't beat it */
    width: clamp(104px, 32vw, 200px);
    height: clamp(104px, 32vw, 200px);
    aspect-ratio: 1;
  }
}
@media (max-width: 640px) {
  .page-governance .gv-auth2__head {
    grid-template-columns: 1fr;   /* orbs removed — keep the text full width on phones */
    column-gap: 0;
  }
}

/* Mobile + tablet: the card head becomes a 60% text / 40% ring row, with the
   description spanning the full width below it. The quorum ring (moved into the
   card body in the markup) is a real grid item here, so it reserves its column
   and the description always clears it — no more overlap, and the ring is large. */
@media (max-width: 960px) {
  .page-governance .gv-auth2__card-body {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);   /* ~60% / ~40% */
    grid-template-areas:
      "head ring"
      "desc desc"
      "stat stat";
    column-gap: clamp(18px, 3vw, 34px);
    row-gap: clamp(20px, 2.6vw, 30px);
    align-items: start;
  }
  .page-governance .gv-auth2__card-head { grid-area: head; align-self: center; }
  .page-governance .gv-auth2__card-head .gv-auth2__card-k,
  .page-governance .gv-auth2__card-head .gv-auth2__quote { max-width: none; }
  /* ring fills its 40% column (override the desktop absolute placement).
     position:relative (not static) so the centre chip keeps centring within
     the ring instead of escaping to the card body. */
  .page-governance .gv-auth2__card-body .gv-quorum {
    grid-area: ring; align-self: center; justify-self: center;
    position: relative; top: auto; right: auto;
    width: 100%; max-width: 260px; height: auto; aspect-ratio: 1;
  }
  .page-governance .gv-auth2__card-p { grid-area: desc; max-width: none; }
  .page-governance .gv-auth2__stat-block { grid-area: stat; }
}
@media (max-width: 640px) {
  /* trim the card padding on phones so both columns keep usable width */
  .page-governance .gv-auth2__card-body { padding: clamp(18px, 5vw, 28px); }
}

/* ---- Quorum ring (custom, self-contained · sequential green lighting) ---- */
.page-governance .gv-quorum {
  position: absolute;
  top: clamp(18px, 2vw, 26px);
  right: clamp(18px, 2vw, 26px);
  width: clamp(150px, 16vw, 210px);
  height: clamp(150px, 16vw, 210px);
  z-index: 3; pointer-events: none;
}
.page-governance .gv-quorum__svg { width: 100%; height: 100%; display: block; overflow: visible; }
.page-governance .gv-quorum__node {
  fill: rgba(255, 245, 233, .24);
  transition: fill .75s ease;
}
.page-governance .gv-quorum__node.is-lit {
  fill: #4FD08A;
  filter: drop-shadow(0 0 2.5px rgba(79, 208, 138, .65));
}
.page-governance .gv-quorum__trav {
  fill: var(--ds-color-copper-light, #E9A66B);
  filter: drop-shadow(0 0 4px rgba(233, 166, 107, .95));
  transition: opacity .4s ease;
}
.page-governance .gv-quorum__chip {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 44%; aspect-ratio: 1; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; /* centre the wrapping "of 42 concur" label under the number */
  background: rgba(2, 28, 18, .62);
  border: 1px solid rgba(255, 245, 233, .18);
  box-shadow: inset 0 0 0 1px rgba(255, 245, 233, .04);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.page-governance .gv-quorum__n {
  font-family: var(--ds-font-ui), sans-serif; font-weight: 700;
  font-size: clamp(17px, 1.9vw, 24px); line-height: 1; color: rgba(255, 245, 233, .96);
}
.page-governance .gv-quorum__l {
  font-family: var(--ds-font-ui), sans-serif; font-weight: 700;
  font-size: 7.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ds-color-copper-light, #E9A66B); margin-top: 3px;
}

/* Card footer · decision-record UI widget (replaces the counsel block) */
.page-governance .gv-auth2__record {
  position: relative; z-index: 2;
  padding: clamp(16px, 1.8vw, 22px) clamp(28px, 2.8vw, 42px) clamp(18px, 2vw, 24px);
  border-top: 1px solid rgba(255, 245, 233, .1);
  background: rgba(0, 0, 0, .16);
  display: flex; flex-direction: column; gap: 10px;
}
.page-governance .gv-auth2__record-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.page-governance .gv-auth2__record-k {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 245, 233, .82);
}
.page-governance .gv-auth2__record-dot {
  width: 6px; height: 6px; border-radius: 50%; flex: none;
  background: var(--ds-color-copper-light, #E9A66B);
  box-shadow: 0 0 0 3px rgba(233, 166, 107, .2);
}
.page-governance .gv-auth2__record-tag {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 245, 233, .42);
  border: 1px solid rgba(255, 245, 233, .16); border-radius: 0;
  padding: 3px 9px;
}
.page-governance .gv-auth2__rec-row {
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 0;
  background: rgba(255, 245, 233, .045);
  border: 1px solid rgba(255, 245, 233, .07);
}
.page-governance .gv-auth2__rec-status {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; order: 2;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 0;
}
.page-governance .gv-auth2__rec-status svg { width: 11px; height: 11px; }
.page-governance .gv-auth2__rec-status.is-signed {
  color: #8FD6A8; background: rgba(60, 160, 100, .16); border: 1px solid rgba(120, 200, 150, .28);
}
.page-governance .gv-auth2__rec-status.is-override {
  color: var(--ds-color-copper-light, #E9A66B); background: rgba(233, 166, 107, .14); border: 1px solid rgba(233, 166, 107, .3);
}
.page-governance .gv-auth2__rec-main { order: 1; min-width: 0; }
.page-governance .gv-auth2__rec-time { order: 3; }
.page-governance .gv-auth2__rec-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.page-governance .gv-auth2__rec-title {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13px; line-height: 1.35; color: rgba(255, 245, 233, .9);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.page-governance .gv-auth2__rec-by {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 11px; color: rgba(255, 245, 233, .58);
}
.page-governance .gv-auth2__rec-av {
  width: 18px; height: 18px; border-radius: 50%; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 800; letter-spacing: .02em;
  color: var(--ds-color-bone, #FFF5E9);
  background: linear-gradient(150deg, #0f6b45, #053f2a);
  border: 1px solid rgba(255, 245, 233, .18);
}
.page-governance .gv-auth2__rec-time {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 11px; font-variant-numeric: tabular-nums; color: rgba(255, 245, 233, .45);
}
.page-governance .gv-auth2__record-foot {
  display: flex; align-items: flex-start; gap: 8px; margin: 4px 0 0;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 12px; line-height: 1.5; color: rgba(255, 245, 233, .52);
}
.page-governance .gv-auth2__record-foot svg { width: 13px; height: 13px; flex: none; margin-top: 2px; color: var(--ds-color-copper-light, #E9A66B); }
@media (max-width: 520px) {
  .page-governance .gv-auth2__rec-row { grid-template-columns: 1fr auto; }
  .page-governance .gv-auth2__rec-status { grid-column: 1 / -1; justify-self: start; }
}



/* Header: full-width title, description in right column */
.page-governance .gv-lanes2 { display: grid; gap: clamp(28px, 3.4vw, 44px); }

.page-governance .gv-lanes2__head {}

/* Override the eyebrow to remove the right-side dots and keep a single
   left dot-cluster. The header is left-aligned by default. */
.page-governance .gv-lanes2__eyebrow { display: inline-flex; }
.page-governance .gv-lanes2__eyebrow::after { content: none !important; }

.page-governance .gv-lanes2__headgrid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  margin-top: 4px;
}
@media (max-width: 900px) { .page-governance .gv-lanes2__headgrid { grid-template-columns: 1fr; gap: 20px; } }

.page-governance .gv-lanes2__title { margin: 0; max-width: 22ch; text-wrap: balance; }
.page-governance .gv-lanes2__lede p {
  font-size: calc(var(--ds-text-body-lg) * .85);
  color: var(--ds-text-secondary);
  line-height: 1.6;
  margin: 0;
  max-width: 44ch;
}
.page-governance .gv-lanes2__sub {
  margin-top: 14px !important;
  font-size: 13px !important;
  color: var(--ds-text-secondary) !important;
  opacity: .8;
  font-style: italic;
}

/* Cards grid */
.page-governance .gv-lanes2__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(18px, 2vw, 26px);
}
@media (max-width: 900px) { .page-governance .gv-lanes2__grid { grid-template-columns: 1fr; } }

/* shared card chrome */
.page-governance .gv-lane2 {
  position: relative;
  border-radius: 5px;
  padding: 1px; /* room for the inner gradient border */
  overflow: hidden;
  isolation: isolate;
  min-height: 560px;
  transition: transform .4s var(--ds-ease-authority, cubic-bezier(.2,.7,.2,1)), box-shadow .4s ease;
}
.page-governance .gv-lane2:hover { transform: translateY(-2px); }

.page-governance .gv-lane2__inner {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: clamp(28px, 2.6vw, 40px) clamp(26px, 2.4vw, 38px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Constellation in top-right, sized larger */
.page-governance .gv-lane2__constel {
  position: absolute;
  top: clamp(18px, 1.8vw, 26px);
  right: clamp(18px, 1.8vw, 26px);
  width: clamp(140px, 16vw, 200px);
  height: clamp(140px, 16vw, 200px);
  z-index: 3;
  pointer-events: none;
  opacity: .9;
}
.page-governance .gv-lane2__constel svg { width: 100%; height: 100%; }

/* ── Rose card · light, warm bone with sage breath ─────────────────────── */
.page-governance .gv-lane2--rose {
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(213, 105, 27, .07) 0%, rgba(213, 105, 27, 0) 55%),
    radial-gradient(100% 80% at 0% 100%, rgba(169, 195, 182, .22) 0%, rgba(169, 195, 182, 0) 60%),
    linear-gradient(160deg, #FBF4E6 0%, #F6ECD7 100%);
  border: 1px solid rgba(3, 69, 44, .12);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 12px 36px rgba(3, 69, 44, .06);
}
.page-governance .gv-lane2--rose:hover {
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 20px 50px rgba(3, 69, 44, .1);
}
/* shimmer band */
.page-governance .gv-lane2--rose::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background:
    radial-gradient(60% 35% at 20% 90%, rgba(255, 245, 233, .55) 0%, rgba(255, 245, 233, 0) 70%);
  mix-blend-mode: screen;
}
.page-governance .gv-lane2--rose .gv-lane2__constel { filter: saturate(1) contrast(1); }

/* ── Sophia card · deep with copper aurora, not flat green ─────────────── */
.page-governance .gv-lane2--sophia {
  background:
    radial-gradient(110% 75% at 100% 0%, rgba(231, 145, 88, .28) 0%, rgba(231, 145, 88, 0) 55%),
    radial-gradient(90% 70% at 0% 100%, rgba(11, 92, 64, .8) 0%, rgba(3, 69, 44, 0) 60%),
    linear-gradient(165deg, #053B26 0%, #02331F 55%, #021B11 100%);
  color: rgba(255, 245, 233, .92);
  border: 1px solid rgba(255, 245, 233, .1);
  box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 18px 50px rgba(0, 0, 0, .25);
}
.page-governance .gv-lane2--sophia:hover {
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 26px 64px rgba(0, 0, 0, .32);
}
/* subtle grain / film */
.page-governance .gv-lane2--sophia::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background:
    radial-gradient(80% 50% at 80% 20%, rgba(231, 145, 88, .12) 0%, rgba(231, 145, 88, 0) 70%);
}
/* the engine constellation reads bright on dark — tint it warm */
.page-governance .gv-lane2--sophia .gv-lane2__constel {
  filter: brightness(1.4) saturate(.9);
  opacity: .85;
}

/* labels and body */
.page-governance .gv-lane2__k {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ds-color-copper-ink);
  max-width: 60%;
}
.page-governance .gv-lane2--sophia .gv-lane2__k { color: #E9A66B; }

.page-governance .gv-lane2__name {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.05;
  font-size: clamp(34px, 3.4vw, 46px);
  margin: 6px 0 0;
  color: var(--ds-color-green-deep);
  max-width: 70%;
}
.page-governance .gv-lane2--sophia .gv-lane2__name { color: #FFF5E9; }

.page-governance .gv-lane2__status {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 13px;
  border-radius: 3px;
  border: 1px solid transparent;
  margin-top: 4px;
}
.page-governance .gv-lane2__status svg { width: 11px; height: 11px; }
.page-governance .gv-lane2__status.is-cert {
  background: var(--ds-color-green-deep);
  color: #FFF5E9;
  border-color: var(--ds-color-green-deep);
}
.page-governance .gv-lane2__status.is-frame {
  background: rgba(255, 245, 233, .08);
  color: #E9A66B;
  border-color: rgba(233, 166, 107, .35);
}

/* meta rows */
.page-governance .gv-lane2__rows {
  list-style: none;
  margin: auto 0 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(3, 69, 44, .08);
}
.page-governance .gv-lane2--sophia .gv-lane2__rows { border-top-color: rgba(255, 245, 233, .12); }

.page-governance .gv-lane2__row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(3, 69, 44, .08);
  align-items: baseline;
}
.page-governance .gv-lane2--sophia .gv-lane2__row { border-bottom-color: rgba(255, 245, 233, .1); }
.page-governance .gv-lane2__row:last-child { border-bottom: none; }

.page-governance .gv-lane2__row b {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ds-color-green-deep);
}
.page-governance .gv-lane2--sophia .gv-lane2__row b { color: #A9C3B6; }

.page-governance .gv-lane2__row span {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ds-text-secondary);
}
.page-governance .gv-lane2--sophia .gv-lane2__row span { color: rgba(255, 245, 233, .8); }

/* Push old default eyebrow right-dots off for the section header
   even if styleguide's .eyebrow.is-centered::after creeps back in. */
.page-governance .gv-lanes2 .eyebrow::after { content: none !important; }

/* ===========================================================================
   Lane card shader layer (sits behind the gradient overlay)
   =========================================================================== */
.page-governance .gv-lane2__shader {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .5;
  /* bottom-left arc only: faint along the left edge + bottom, fading clear toward
     the top-right (where the engine animation sits) and through the centre */
  -webkit-mask-image: radial-gradient(152% 150% at 0% 100%, #000 0%, #000 23%, transparent 64%);
          mask-image: radial-gradient(152% 150% at 0% 100%, #000 0%, #000 23%, transparent 64%);
}
.page-governance .gv-lane2--sophia .gv-lane2__shader { mix-blend-mode: screen; opacity: .2; }
.page-governance .gv-lane2--rose .gv-lane2__shader { mix-blend-mode: multiply; opacity: .4; }

/* ── Sophia card · the FAQ-aside shader reused (copper dots on a faint grid,
   green/copper vignette + drifting diagonal wave). Richer on the right where
   the KN constellation sits; gentle behind the left-hand copy. ───────────── */
.page-governance .gv-lane2__field {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  border-radius: inherit;
  background-color: transparent;
  background-image:
    radial-gradient(circle at center, rgba(233,166,107,.6) 1.2px, transparent 1.7px),
    linear-gradient(rgba(255,245,233,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,245,233,.07) 1px, transparent 1px),
    radial-gradient(130% 92% at 90% 4%, rgba(11,122,75,.40) 0%, transparent 56%),
    radial-gradient(120% 120% at 2% 106%, rgba(2,42,28,.5) 0%, transparent 60%),
    radial-gradient(95% 80% at 72% 52%, rgba(216,108,30,.14) 0%, transparent 62%);
  background-size: 27px 27px, 27px 27px, 27px 27px, 100% 100%, 100% 100%, 100% 100%;
  background-position: center, center, center, 0 0, 0 0, 0 0;
  opacity: .5;
  /* bottom-left arc only: faint along the left edge + bottom, fading clear toward
     the top-right (where the KN animation sits) and through the centre */
  -webkit-mask-image: radial-gradient(152% 150% at 0% 100%, #000 0%, #000 23%, transparent 64%);
          mask-image: radial-gradient(152% 150% at 0% 100%, #000 0%, #000 23%, transparent 64%);
}
.page-governance .gv-lane2__glow {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: linear-gradient(122deg,
    transparent 33%,
    rgba(233,166,107,.14) 46%,
    rgba(216,108,30,.22) 50%,
    rgba(233,166,107,.14) 54%,
    transparent 67%);
  background-size: 240% 240%; background-repeat: no-repeat;
  mix-blend-mode: screen; opacity: .28;
  animation: gvWave 12s linear infinite;
}
.page-governance .gv-lane2__glow::after {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(40% 32% at 50% 50%, rgba(255,208,150,.18), transparent 72%);
  background-size: 240% 240%; background-repeat: no-repeat;
  mix-blend-mode: screen;
  animation: gvWave 12s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .page-governance .gv-lane2__glow,
  .page-governance .gv-lane2__glow::after { animation: none; background-position: 50% 50%; opacity: .42; }
}

/* Lift the constellation above the shader */
.page-governance .gv-lane2__constel { z-index: 3; }
.page-governance .gv-lane2--sophia .gv-lane2__constel {
  filter: brightness(1.6) saturate(1.05) contrast(1.1) drop-shadow(0 0 14px rgba(0,0,0,.3));
  opacity: 1;
}

/* ===========================================================================
   Decision-flow note · pinned to the top-right of the white flow container
   =========================================================================== */
.page-governance .pf-flow { position: relative; }
.page-governance .pf-flow__note {
  position: absolute;
  top: clamp(12px, 1.5vw, 20px);
  right: clamp(14px, 1.7vw, 24px);
  z-index: 4;
  margin: 0;
  max-width: min(44%, 340px);
  text-align: right;
  font-style: italic;
  font-size: clamp(11px, 0.78vw, 12.5px);
  line-height: 1.45;
  letter-spacing: .005em;
  color: var(--ds-text-secondary, #5d6b62);
  pointer-events: none;
}
@media (max-width: 760px) {
  .page-governance .pf-flow__note {
    position: static;
    max-width: none;
    text-align: left;
    margin: 0 0 10px;
  }
}

/* ===========================================================================
   Industry-CTA banner (section 9.5) — matches home `ind-cta`
   =========================================================================== */
.page-governance .section_ind_cta { padding-block: 0; }
.page-governance .gv-indcta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 4px;
  background: var(--ds-color-green-deep);
  color: rgba(255, 245, 233, .96);
  padding: clamp(22px, 2.4vw, 34px) clamp(28px, 3vw, 48px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(20px, 2.4vw, 40px);
  min-height: 96px;
  box-shadow: 0 12px 36px rgba(3, 69, 44, .14);
}
.page-governance .gv-indcta__shader {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .35;
  mix-blend-mode: screen;
}
.page-governance .gv-indcta__orb {
  position: absolute;
  right: clamp(140px, 14vw, 220px);
  top: 50%;
  transform: translateY(-50%);
  width: clamp(120px, 10vw, 160px);
  height: clamp(120px, 10vw, 160px);
  z-index: 1;
  pointer-events: none;
  opacity: .65;
  filter: brightness(1.6) saturate(1.05) contrast(1.1);
}
.page-governance .gv-indcta__orb svg { width: 100%; height: 100%; display: block; }

.page-governance .gv-indcta__t {
  position: relative;
  z-index: 2;
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500;
  font-size: clamp(22px, 1.9vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 32ch;
  color: rgba(255, 245, 233, .98);
}
.page-governance .gv-indcta__btn {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ds-color-bone, #FBF4E6);
  color: var(--ds-color-green-deep);
  font-family: var(--ds-font-ui), sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .01em;
  padding: 12px 22px;
  border-radius: 3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .25s ease, transform .25s ease;
}
.page-governance .gv-indcta__btn:hover { background: #FFF; transform: translateX(2px); }
.page-governance .gv-indcta__btn svg { width: 16px; height: 10px; transition: transform .25s ease; }
.page-governance .gv-indcta__btn:hover svg { transform: translateX(3px); }

/* two-button CTA: bone primary (book a demo) + ghost outline (industries) */
.page-governance .gv-indcta__actions {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.page-governance .gv-indcta__btn--ghost {
  background: transparent;
  color: rgba(255, 245, 233, .96);
  box-shadow: inset 0 0 0 1px rgba(255, 245, 233, .36);
}
.page-governance .gv-indcta__btn--ghost:hover {
  background: rgba(255, 245, 233, .10);
  box-shadow: inset 0 0 0 1px rgba(255, 245, 233, .62);
  transform: translateX(2px);
}

@media (max-width: 720px) {
  .page-governance .gv-indcta {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 18px;
  }
  .page-governance .gv-indcta__orb { display: none; }
  .page-governance .gv-indcta__actions { justify-content: center; }
  .page-governance .gv-indcta__t { max-width: none; }
}


/* ===========================================================================
   HERO — SECTION 1 overrides
   - title: 80% desktop / 90% tablet / 100% mobile
   - chip icons: inherit new dual-tone size
   - field: absolutely fills section, 60% visible below copy
   =========================================================================== */

/* Title widths — override inline style via specificity + !important */
/* First expand the copy container so the title can breathe at 80vw */
.page-governance .gv-hero__copy {
  max-width: min(80vw, 1100px) !important;
}
.page-governance .gv-hero__copy .hero_title {
  width: 80% !important;
  max-width: none !important;
  margin-inline: auto !important;
  font-weight: 500 !important;
}
@media (max-width: 1024px) {
  .page-governance .gv-hero__copy { max-width: 90vw !important; }
  .page-governance .gv-hero__copy .hero_title { width: 90% !important; }
}
@media (max-width: 640px) {
  .page-governance .gv-hero__copy { max-width: 100% !important; }
  .page-governance .gv-hero__copy .hero_title { width: 100% !important; }
}

/* Chip icon: square, dual-tone SVG replaces the old 26×8 dots */
.page-governance .gv-chip__sig {
  width: 20px !important;
  height: 20px !important;
  flex: none;
}

/* Field: positioned at section bottom with room at the bottom for the lab-cap.
   Proportional, centered. */
.page-governance .hf-heroA > .gv-hero__field {
  position: absolute !important;
  bottom: clamp(64px, 7vw, 96px) !important;
  left: 50% !important;
  top: auto !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: clamp(620px, 78vw, 1200px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  z-index: 0 !important;
  margin: 0 !important;
  pointer-events: none;
  overflow: visible;
  display: block !important;
}
.page-governance .hf-heroA > .gv-hero__field .lab-anim {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  max-width: none !important;
}
.page-governance .hf-heroA > .gv-hero__field .lab-anim canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: contain;
}

/* Blur overlay: covers the top 60% of the canvas.
   Solid bone down to 65% then a hard fade — fully hides the part that sits
   behind the copy content; only the bottom ~40% of the canvas shows. */
.page-governance .hf-heroA > .gv-hero__field .gv-hero__blur {
  position: absolute;
  top: 0;
  left: -10%;
  right: -10%;
  height: 62%;
  bottom: auto;
  z-index: 2;
  pointer-events: none;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  background: linear-gradient(180deg,
    var(--ds-color-bone) 0%,
    var(--ds-color-bone) 60%,
    rgba(250, 243, 233, .72) 78%,
    rgba(250, 243, 233, 0) 100%) !important;
}

/* Section padding: copy area + visible animation zone + room for lab-cap */
.page-governance .hf-heroA .gv-hero-pad {
  padding-bottom: clamp(300px, 42vw, 660px) !important;
  position: relative;
  z-index: 2;
}

/* lab-cap: absolutely at the section bottom, below the animation canvas.
   bottom matches field's bottom offset so it sits just beneath it. */
.page-governance .gv-hero__labcap {
  position: absolute;
  bottom: clamp(16px, 2vw, 28px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  white-space: nowrap;
  text-align: center;
}

/* ===========================================================================
   GOVERNANCE FLOW HERO  ·  horizontal pipeline variant
   Opt-in modifier on the hero section (.gv-hero--flow). The animation field is
   a short, WIDE decorative band that flows in normal document order between the
   buttons and the three governance anchors. These rules are additive — the
   original .hf-heroA rules above are left intact so governance-v2-hero-backup.html
   (which has no .gv-hero--flow) still renders the signature wheel.
   =========================================================================== */
/* tighten the gap under the buttons so the band sits ~30% closer */
.page-governance .hf-heroA.gv-hero--flow .gv-hero__copy {
  padding-bottom: clamp(2px, 0.4vw, 6px) !important;
}
/* the band — normal flow, full-bleed wide, sitting just under the buttons */
.page-governance .hf-heroA.gv-hero--flow .gv-hero__field {
  position: relative !important;
  width: min(1460px, 92vw) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: clamp(4px, 0.8vw, 14px) 0 0 !important;   /* slightly closer to the buttons */
  height: clamp(252px, 40vw, 280px) !important;      /* FIXED band height — preserved across widths so the icons/dots/core never shrink; only the lane lengths change */
  aspect-ratio: auto !important;                     /* (was 1500/280, which collapsed the band height on mobile) */
  z-index: 0 !important;
  pointer-events: none;
  overflow: visible;
  display: block !important;
  top: auto !important;
  bottom: auto !important;
  right: auto !important;
}
.page-governance .hf-heroA.gv-hero--flow .gv-hero__field .lab-anim {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  max-width: none !important;
}
.page-governance .hf-heroA.gv-hero--flow .gv-hero__field .lab-anim canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}
/* signature band — destination markers as crisp SVG icons, positioned by JS to
   match the canvas lane endpoints (sizes fixed, like the rest of the band) */
.page-governance .gv-hero--flow .lab-dests { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.page-governance .gv-hero--flow .lab-dest {
  position: absolute; left: -100px; top: 50%;
  width: 30px; height: 30px; transform: translate(-50%, -50%);
  color: var(--ds-color-green-deep, #03452C);
  filter: drop-shadow(0 3px 7px rgba(3, 40, 26, .14));
  transition: color .3s ease;
}
.page-governance .gv-hero--flow .lab-dest svg { width: 100%; height: 100%; display: block; overflow: visible; }
.page-governance .gv-hero--flow .lab-dest .f-out { fill: #FBFAF3; stroke: currentColor; stroke-width: 1.5; stroke-opacity: .52; }
.page-governance .gv-hero--flow .lab-dest .f-in  { fill: none; stroke: currentColor; stroke-width: 1; stroke-opacity: .17; }
.page-governance .gv-hero--flow .lab-dest .gl    { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; stroke-opacity: .92; }
.page-governance .gv-hero--flow .lab-dest .gl-f  { fill: currentColor; stroke: none; }
.page-governance .gv-hero--flow .lab-dest.is-ack { color: var(--ds-color-copper, #C2410C); animation: labDestAck .62s ease; }
@keyframes labDestAck {
  0%   { transform: translate(-50%, -50%) scale(1); }
  32%  { transform: translate(-50%, -50%) scale(1.18); }
  100% { transform: translate(-50%, -50%) scale(1); }
}
/* section padding back to a normal value — content now flows naturally */
.page-governance .hf-heroA.gv-hero--flow .gv-hero-pad {
  padding-bottom: clamp(44px, 5vw, 84px) !important;
}

/* three governance anchors — proper container chips (white card, hairline,
   soft shadow), centred between the band and the caption */
.page-governance .hf-heroA.gv-hero--flow .gv-hero__anchors {
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(10px, 1.3vw, 16px);
  margin: clamp(12px, 1.6vw, 20px) auto 0 !important;   /* sits underneath the product name */
}
.page-governance .hf-heroA.gv-hero--flow .gv-hero__anchors .gv-chip {
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  padding: 9px 15px;
  gap: 9px;
}
.page-governance .hf-heroA.gv-hero--flow .gv-hero__anchors .gv-anchor__ic {
  width: 18px;
  height: 18px;
  color: var(--ds-color-green);
  flex: none;
}
/* caption — pulled up beneath the core (into the band's empty centre-bottom), product name above the anchors */
.page-governance .hf-heroA.gv-hero--flow .gv-hero__labcap {
  position: static !important;
  transform: none !important;
  left: auto !important;
  bottom: auto !important;
  margin: clamp(-72px, -3.8vw, -30px) auto 0 !important;   /* ≥ ~60px below the core */
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 600px) {
  .page-governance .hf-heroA.gv-hero--flow .gv-hero__field {
    width: 96vw !important;
  }
  .page-governance .hf-heroA.gv-hero--flow .gv-hero__anchors .gv-chip {
    font-size: 12px;
    padding: 8px 12px;
  }
}

/* ===========================================================================
   SECTION 6 v2 · DATA / PRIVACY / RESIDENCY — split: sage top + deep-green bottom
   =========================================================================== */
.page-governance .gv-data2 { background: transparent !important; padding: 0; overflow: clip; }

/* ---- TOP · light sage ---- */
.page-governance .gv-data2__top { background: var(--ds-surface-muted, #E9EFE8); padding-bottom: clamp(50px, 5.2vw, 70px); }
.page-governance .gv-data2__head { max-width: 46ch; }

/* ROW 1 · headline (left) + big residency map (right) */
.page-governance .gv-data2__lead {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 3.6vw, 60px);
  align-items: start;
}
.page-governance .gv-data2__head { align-self: center; }
@media (max-width: 1000px) { .page-governance .gv-data2__lead { grid-template-columns: 1fr; gap: 32px; } .page-governance .gv-data2__head { align-self: start; } }

/* ROW 2 · six critical controls, full-bleed three-column (two rows) */
.page-governance .gv-data2__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(12px, 1.4vw, 20px);
}
@media (max-width: 760px) { .page-governance .gv-data2__cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .page-governance .gv-data2__cards { grid-template-columns: 1fr; } }

.page-governance .gv-scard {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--ds-surface-raised, #fff);
  border: 1px solid var(--ds-border-subtle, rgba(3,69,44,.1));
  border-radius: 4px;                          /* sharp, matches evidence cards */
  padding: clamp(18px, 1.7vw, 24px);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.page-governance .gv-scard:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(3, 69, 44, .07);
  border-color: rgba(3, 69, 44, .16);
}
/* icon — evidence-card sizing: 58px sage tile, 40px duo-tone glyph, sharp corner */
.page-governance .gv-scard__ic {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ds-color-sage, #E6EEE8);
  border-radius: 4px;
  flex: none;
}
.page-governance .gv-scard__ic svg { width: 38px; height: 38px; display: block; }
.page-governance .gv-scard__cat {
  display: block;
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ds-color-copper-ink, #A54E0D);
  margin-bottom: 14px;
}
.page-governance .gv-scard__t {
  margin: 0 0 5px;
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500; letter-spacing: -.02em; line-height: 1.18;
  color: var(--ds-color-green-deep);
  font-size: clamp(18px, 1.4vw, 21px);
}
.page-governance .gv-scard__d {
  margin: 0;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 14px; line-height: 1.55;
  color: var(--ds-text-secondary);
}

/* ---- residency map · no container, fills the right column, free to grow tall ---- */
.page-governance .gv-map2 { display: flex; flex-direction: column; gap: clamp(20px, 2.4vw, 32px); }
.page-governance .gv-map2__canvas { width: 100%; margin: 0; }
/* three sovereignty anchors · equal columns, icon-left, thin vertical dividers, no card */
/* three sovereignty anchors · full-width stripe below the map row, equal 3 columns */
.page-governance .gv-data2__anchors { margin-top: clamp(12px, 1.4vw, 22px); }
.page-governance .gv-map2__pts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
}
.page-governance .gv-map2__pt {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  align-items: start;
  padding: 0 clamp(16px, 1.8vw, 26px);
}
.page-governance .gv-map2__pt + .gv-map2__pt { border-left: 1px solid rgba(3, 69, 44, .18); }
.page-governance .gv-map2__pt:first-child { padding-left: 0; }
.page-governance .gv-map2__pt:last-child { padding-right: 0; }
.page-governance .gv-map2__pt-ic {
  width: 34px; height: 34px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ds-color-sage, #E6EEE8); border-radius: 4px;
  color: var(--ds-color-green);
}
.page-governance .gv-map2__pt-ic svg { width: 20px; height: 20px; display: block; }
.page-governance .gv-map2__pt > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.page-governance .gv-map2__pt strong {
  display: block;
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500; font-size: 15px; line-height: 1.25; color: var(--ds-color-green-deep);
}
.page-governance .gv-map2__pt div span {
  display: block;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13px; line-height: 1.5; color: var(--ds-text-secondary);
}
@media (max-width: 560px) {
  .page-governance .gv-map2__pts { grid-template-columns: 1fr; }
  .page-governance .gv-map2__pt { padding: 14px 0 !important; border-left: 0 !important; border-top: 1px solid rgba(3,69,44,.14); }
  .page-governance .gv-map2__pt:first-child { border-top: 0; }
}

/* ---- the animated dot map ---- */
.page-governance .gv-aumap2 { width: 100%; height: auto; display: block; overflow: visible; }
.page-governance .gv-aumap2 .dm-dot { fill: var(--ds-color-green); opacity: .4; }
.page-governance .gv-aumap2 .dm-reg { fill: var(--ds-color-green-deep); }
.page-governance .gv-aumap2 .dm-arc { fill: none; stroke: var(--ds-color-green-deep); stroke-width: .8; opacity: .15; }
.page-governance .gv-aumap2 .dm-flow {
  fill: none; stroke: var(--ds-color-copper); stroke-width: 1.5; stroke-linecap: round;
  stroke-dasharray: 3 9; animation: gvDmFlow 2.6s linear infinite;
}
.page-governance .gv-aumap2 .dm-flow--0 { animation-duration: 2.6s; }
.page-governance .gv-aumap2 .dm-flow--1 { animation-duration: 3.1s; }
.page-governance .gv-aumap2 .dm-flow--2 { animation-duration: 2.4s; }
.page-governance .gv-aumap2 .dm-flow--3 { animation-duration: 3.4s; }
.page-governance .gv-aumap2 .dm-flow--4 { animation-duration: 2.8s; }
@keyframes gvDmFlow { to { stroke-dashoffset: -12; } }
.page-governance .gv-aumap2 .dm-halo {
  fill: none; stroke: var(--ds-color-copper); stroke-width: 1.4;
  transform-box: fill-box; transform-origin: center;
  animation: gvDmHalo 3.2s ease-in-out infinite;
}
@keyframes gvDmHalo {
  0%, 100% { transform: scale(.62); opacity: .55; }
  50%      { transform: scale(1.1); opacity: .1; }
}
.page-governance .gv-aumap2 .dm-sphere { filter: drop-shadow(0 1px 3px rgba(168, 78, 14, .5)); }
.page-governance .gv-aumap2 .dm-spec { fill: #FFF3E2; opacity: .85; }

/* ---- BOTTOM · adjacent deep-green panel (not a separate section) ---- */
.page-governance .gv-data2__bottom {
  position: relative;
  isolation: isolate;
  color: rgba(255, 245, 233, .92);
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(231, 145, 88, .18) 0%, rgba(231, 145, 88, 0) 55%),
    radial-gradient(90% 80% at 0% 100%, rgba(11, 92, 64, .8) 0%, rgba(3, 69, 44, 0) 60%),
    linear-gradient(165deg, #053B26 0%, #02331F 58%, #021B11 100%);
}
/* dot texture · CSS-driven, low-opacity, slow diagonal drift (no snappy highlight) */
.page-governance .gv-data2__shader {
  display: none;
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(207, 227, 213, .09) 1px, transparent 1.4px),
    radial-gradient(circle, transparent 21px, rgba(207, 227, 213, .045) 21.5px, transparent 23px);
  background-size: 34px 34px, 120px 120px;
  background-position: 0 0, 0 0;
  animation: gvDotDrift 110s linear infinite;
}
@keyframes gvDotDrift { to { background-position: 340px 340px, 480px 480px; } }
.page-governance .gv-data2__bottom > .padding-global { position: relative; z-index: 1; }
/* short panel, sitting close beneath the cards */
.page-governance .gv-data2__toppad { padding-top: clamp(26px, 3vw, 54px) !important; padding-bottom: clamp(6px, 0.8vw, 12px) !important; }
.page-governance .gv-data2__botpad { padding-block: clamp(30px, 3.2vw, 46px) !important; }
.page-governance .gv-data2__bottom .gv-marquee { margin-top: 0; }
/* full-width small disclaimer (replaces the accordion) */
.page-governance .gv-data2__disc {
  margin: clamp(20px, 2.2vw, 30px) 0 0;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 12.5px; line-height: 1.6;
  color: rgba(255, 245, 233, .58);
  max-width: none;
}
.page-governance .gv-data2__darkhead { max-width: 60ch; }
.page-governance .gv-data2__darktitle {
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500; letter-spacing: -.03em; line-height: 1.1;
  color: var(--ds-color-bone, #FFF5E9);
  font-size: var(--ds-text-h3, clamp(1.4rem, 1.15rem + .9vw + .62vh, 1.9rem));
  margin: 10px 0 0;
}
.page-governance .gv-data2__darklede {
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: clamp(15px, 1.1vw, 16.5px); line-height: 1.6;
  color: rgba(255, 245, 233, .68);
  margin: 12px 0 0; max-width: 56ch;
}

/* ---- looping carousel ---- */
.page-governance .gv-marquee {
  margin-top: clamp(26px, 3vw, 40px);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.page-governance .gv-marquee__track {
  display: flex; width: max-content;
  animation: gvMarq 54s linear infinite;
}
@media (hover: hover) {
  .page-governance .gv-marquee:hover .gv-marquee__track { animation-play-state: paused; }
}
@keyframes gvMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes gvMarqV { from { transform: translateY(0); } to { transform: translateY(-50%); } }

.page-governance .gv-ccard {
  flex: none;
  width: clamp(260px, 23vw, 300px);
  margin-right: 18px;
  display: flex; flex-direction: column; gap: 11px;
  padding: clamp(20px, 1.8vw, 26px);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(255,245,233,.1), rgba(255,245,233,.045)), var(--ds-color-green-deep);
  border: 1px solid rgba(255, 245, 233, .16);
}
.page-governance .gv-ccard__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.page-governance .gv-ccard__ic {
  width: 50px; height: 50px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 245, 233, .08);
  border: 1px solid rgba(255, 245, 233, .12);
  border-radius: 4px;
}
.page-governance .gv-ccard__ic svg { width: 34px; height: 34px; display: block; }
/* recolor duo-tone glyphs for the dark card */
.page-governance .gv-ccard__ic .duo-bg { fill: rgba(255, 245, 233, .14); opacity: 1; }
.page-governance .gv-ccard__ic .duo-line { stroke: rgba(255, 245, 233, .82); }
.page-governance .gv-ccard__ic .duo-accent { fill: var(--ds-color-copper-light, #E9A66B); }
.page-governance .gv-ccard__ic .duo-accent-line { stroke: var(--ds-color-copper-light, #E9A66B); }
.page-governance .gv-ccard__cat {
  font-family: var(--ds-font-ui), sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--ds-color-copper-light, #E9A66B);
}
.page-governance .gv-ccard__cat::before { content: none; }
.page-governance .gv-ccard__cat--identity,
.page-governance .gv-ccard__cat--resilience { color: #8FD6A8; }
.page-governance .gv-ccard__cat--government { color: #CFE3D5; }
.page-governance .gv-ccard__t {
  margin: 2px 0 0;
  font-family: "Gantari", var(--ds-font-display), sans-serif;
  font-weight: 500; letter-spacing: -.02em; line-height: 1.18;
  color: var(--ds-color-bone, #FFF5E9);
  font-size: clamp(17px, 1.3vw, 19px);
}
.page-governance .gv-ccard__d {
  margin: 0;
  font-family: "Rethink Sans", var(--ds-font-body), sans-serif;
  font-size: 13.5px; line-height: 1.55;
  color: rgba(255, 245, 233, .66);
}

/* ---- dark accordion (moved here) ---- */
.page-governance .gv-data2__note { margin-top: clamp(26px, 3vw, 40px); max-width: none; }
.page-governance .gv-note--dark {
  background: linear-gradient(180deg, rgba(255,245,233,.07), rgba(255,245,233,.03)), rgba(2, 28, 18, .4) !important;
  border: 1px solid rgba(255, 245, 233, .18) !important;
}
.page-governance .gv-note--dark > summary {
  color: var(--ds-color-bone, #FFF5E9);
  font-family: var(--ds-font-ui), sans-serif;
}
.page-governance .gv-note--dark > summary:hover { background: rgba(255, 245, 233, .04); }
.page-governance .gv-note--dark .gv-note__plus::before,
.page-governance .gv-note--dark .gv-note__plus::after { background: var(--ds-color-copper-light, #E9A66B); }
.page-governance .gv-note--dark .gv-note__body p { color: rgba(255, 245, 233, .68); }

@media (prefers-reduced-motion: reduce) {
  .page-governance .gv-marquee { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
  .page-governance .gv-marquee__track { animation: none; }
  .page-governance .gv-aumap2 .dm-flow,
  .page-governance .gv-aumap2 .dm-halo { animation: none; }
  .page-governance .gv-aumap2 .dm-flow { stroke-dasharray: 3 9; }
  .page-governance .gv-data2__shader { animation: none; }
}
@media (max-width: 640px) {
  /* carousel becomes a continuous VERTICAL scroll, 3 cards visible, never pausing on touch */
  .page-governance .gv-marquee {
    margin-top: 0;
    height: 462px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  }
  .page-governance .gv-marquee__track {
    flex-direction: column; width: 100%;
    animation-name: gvMarqV; animation-duration: 26s;
  }
  .page-governance .gv-ccard {
    width: 100%; margin-right: 0; margin-bottom: 14px; min-height: 128px;
  }
  .page-governance .gv-marquee:hover .gv-marquee__track,
  .page-governance .gv-marquee:active .gv-marquee__track { animation-play-state: running !important; }
}


/* ===========================================================================
   2026-07-07 mobile fixes — residency section spacing + FAQ answer size
   =========================================================================== */
/* tighten the huge description->map gap so it matches the small map->card gap */
@media (max-width: 1000px) {
  .page-governance .gv-data2__lead { gap: 6px; }
  .page-governance .gv-data2__head { margin-bottom: 0; }
}
/* FAQ answer inherited the (mobile-scaled) root font because --gv-text is undefined on
   this page, making it as large as the question. Restore the description size rule. */
.page-governance .gv-faq__a p { font-size: calc(var(--ds-text-body-lg) * .85); }
