/* ===== Page-specific styles for /trust ===== */

.trust-hero {
  position: relative;
  padding-top: var(--s-9);
  padding-bottom: var(--s-9);
  overflow: hidden;
}
.trust-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(900px 480px at 92% 14%, rgba(232,215,184,0.32), transparent 70%),
    radial-gradient(700px 460px at 6% 92%, rgba(53,89,242,0.05), transparent 70%);
  pointer-events: none; z-index: 0;
}
.trust-hero .container { position: relative; z-index: 1; display: grid; gap: var(--s-6); }
@media (min-width: 980px) {
  .trust-hero .container { grid-template-columns: minmax(0,1.42fr) minmax(300px,0.58fr); align-items: start; gap: var(--s-7); }
  .trust-hero .audience-tag,
  .trust-hero h1,
  .trust-hero .lede,
  .trust-hero .support,
  .trust-hero .anchor-row { grid-column: 1; }
  .trust-hero-panel { grid-column: 2; grid-row: 1 / span 5; }
}
.trust-hero .audience-tag {
  font-family: var(--face-ui); font-weight: 600;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--lucy-blue);
}
.trust-hero h1 {
  max-width: min(100%, 12.75em);
  font-size: clamp(44px, 4.8vw, 72px);
  line-height: 1.03;
  letter-spacing: 0;
}
.trust-hero .lede {
  font-family: var(--face-display); font-size: clamp(20px, 2.0vw, 24px);
  line-height: 1.4; color: var(--ink); max-width: 56ch; margin: 0; text-wrap: pretty;
}
.trust-hero .support {
  color: var(--ink-muted); font-size: 16.5px; line-height: 1.6;
  max-width: 68ch; margin: 0;
}
.trust-hero .anchor-row {
  display: flex; flex-wrap: wrap; gap: var(--s-2);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ink-faint);
}
.trust-hero .anchor-row a {
  font-family: var(--face-ui); font-size: 13px; font-weight: 600;
  text-decoration: none; color: var(--ink);
  padding: 8px 14px; border: 1px solid var(--ink-faint); border-radius: var(--r-pill);
  transition: background var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease), color var(--t-hover) var(--ease);
}
.trust-hero .anchor-row a:hover { background: var(--lucy-blue); border-color: var(--lucy-blue); color: #fff; }
.trust-hero-panel .axis-item { grid-template-columns: minmax(72px, 0.26fr) minmax(0, 1fr); }

/* ===== V·C·C — three pillars ===== */
.vcc-grid {
  display: grid; gap: var(--s-4);
  grid-template-columns: 1fr;
  margin-top: var(--s-6);
}
@media (min-width: 980px) { .vcc-grid { grid-template-columns: repeat(3, 1fr); } }
.vcc-pillar {
  background: #fff;
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  padding: clamp(28px, 3vw, 40px);
  display: grid; gap: var(--s-3);
  align-content: start;
  position: relative;
}
.vcc-pillar h3 {
  font-family: var(--face-display); font-size: 30px; font-weight: 600; color: var(--ink);
  margin: 0; letter-spacing: -0.01em;
}
.vcc-pillar h3::first-letter { color: var(--lucy-blue); }
.vcc-face {
  display: grid; gap: 6px;
  padding: var(--s-4);
  border-radius: var(--r-md);
}
.vcc-face .face-tag {
  font-family: var(--face-ui); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
}
.vcc-face .face-text {
  font-family: var(--face-display); font-size: 15.5px; line-height: 1.5; color: var(--ink-muted);
  margin: 0;
}
.vcc-face.tech { background: var(--paper-deep); }
.vcc-face.tech .face-tag { color: var(--ink-soft); }
.vcc-face.social { background: var(--lucy-blue-soft); }
.vcc-face.social .face-tag { color: var(--lucy-blue-deep); }
.vcc-face.social .face-text { font-style: italic; color: var(--ink); }

.controls-list {
  margin-top: var(--s-6);
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  background: #fff;
  overflow: hidden;
}
.controls-list .cl-head {
  display: block;
  padding: var(--s-5) var(--s-6);
  border-bottom: 1px solid var(--ink-faint);
  background: var(--paper-deep);
}
.controls-list .cl-head h4 {
  font-family: var(--face-display); font-weight: 600; font-size: 19px; color: var(--ink); margin: 0;
}
.controls-list ol { margin: 0; padding: 0; list-style: none; }
.controls-list li {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-2);
  padding: var(--s-5) var(--s-6);
  border-top: 1px solid var(--ink-faint);
  align-items: start;
}
.controls-list li:first-child { border-top: 0; }
.controls-list li .cname { font-family: var(--face-display); font-weight: 600; font-size: 17px; color: var(--ink); margin: 0 0 4px; }
.controls-list li .cgloss { font-family: var(--face-ui); font-size: 13.5px; color: var(--ink-muted); margin: 0; line-height: 1.5; }

/* ===== Executive visibility — HARD PAIR strip ===== */
.exec-vis-strip {
  display: grid; gap: var(--s-5);
  grid-template-columns: 1fr;
}
@media (min-width: 980px) { .exec-vis-strip { grid-template-columns: 1fr 1fr; gap: var(--s-7); } }
.exec-vis-strip .ev-text { display: grid; gap: var(--s-4); align-content: start; }
.exec-vis-strip .ev-list {
  background: var(--paper-deep);
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  padding: var(--s-5) var(--s-6);
  display: grid; gap: var(--s-2);
}
.exec-vis-strip .ev-list h4 {
  font-family: var(--face-ui); font-weight: 600;
  font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft);
}
.exec-vis-strip .ev-list ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.exec-vis-strip .ev-list li {
  display: grid; grid-template-columns: 22px 1fr; gap: var(--s-3);
  font-family: var(--face-display); font-size: 16px; color: var(--ink);
}
.exec-vis-strip .ev-list li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--lucy-blue); margin: 9px 0 0 6px;
}
.exec-vis-strip .ev-list .never {
  margin-top: var(--s-3); padding-top: var(--s-3);
  border-top: 1px dashed var(--sand-deep);
  display: grid; gap: 8px;
}
.exec-vis-strip .ev-list .never li::before { background: var(--refuse); }
.exec-vis-strip .ev-list .never .never-tag {
  font-family: var(--face-ui); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--refuse);
}

/* ===== Audience anchor blocks (managers / works-council / employees / public sector) ===== */
.anchor-block {
  display: grid; gap: var(--s-5);
  grid-template-columns: 1fr;
}
@media (min-width: 880px) { .anchor-block.with-aside { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--s-7); } }
.anchor-essay { display: grid; gap: var(--s-3); align-content: start; max-width: 60ch; }
.anchor-essay p { font-family: var(--face-display); font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0; }
.anchor-essay p.muted { color: var(--ink-muted); font-size: 16.5px; }
.anchor-essay h3 { font-family: var(--face-display); font-size: 22px; max-width: 24ch; }

/* ===== Stage-labeled tables (controls + commitments + certs) ===== */
.stage-table {
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  background: #fff;
  overflow: hidden;
}
.stage-table .row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s-4);
  padding: var(--s-4) var(--s-5);
  border-top: 1px solid var(--ink-faint);
  align-items: start;
}
.stage-table .row:first-child { border-top: 0; }
.stage-table .row.head {
  background: var(--paper-deep);
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); font-weight: 600;
  padding-top: var(--s-3); padding-bottom: var(--s-3);
}
.stage-table .row .nm {
  font-family: var(--face-display); font-weight: 600; font-size: 16.5px;
  color: var(--ink); line-height: 1.4; margin: 0 0 4px;
}
.stage-table .row .gloss {
  font-family: var(--face-ui); font-size: 13.5px; color: var(--ink-muted); line-height: 1.5; margin: 0;
}
.stage-table .row .stage { white-space: nowrap; padding-top: 4px; }

/* ===== Refusal scene ===== */
.refusal-scene {
  background: var(--ink);
  color: rgba(255,255,255,0.92);
  border-radius: var(--r-card);
  padding: var(--s-7);
  display: grid; gap: var(--s-5);
}
.refusal-scene .label {
  font-family: var(--face-ui); font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--refuse);
  display: inline-flex; align-items: center; gap: 8px;
}
.refusal-scene .label::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--refuse);
}
.refusal-scene h3 { color: #fff; max-width: 28ch; }
.refusal-scene p {
  font-family: var(--face-display); font-size: 18px; line-height: 1.55;
  color: rgba(255,255,255,0.86); margin: 0; max-width: 64ch;
}
.refusal-quote {
  font-family: var(--face-display); font-style: italic;
  font-size: clamp(28px, 3vw, 40px); line-height: 1.2; color: #fff;
  border-left: 3px solid var(--refuse);
  padding: var(--s-4) var(--s-5);
  margin: var(--s-3) 0;
  max-width: 22ch;
}
.refusal-foot {
  margin-top: var(--s-4);
  padding-top: var(--s-4);
  border-top: 1px solid rgba(255,255,255,0.18);
  font-family: var(--face-display); font-size: 16.5px; color: rgba(255,255,255,0.78);
  line-height: 1.55; max-width: 56ch;
  font-style: italic;
}

/* ===== Cream / ink band overrides (parallels other pages) ===== */
section.band.band-ink { background: var(--ink); color: rgba(255,255,255,0.9); border-top: 0; }
section.band.band-ink h2 { color: #fff; }
section.band.band-ink .section-head { border-bottom-color: rgba(255,255,255,0.18); }
section.band.band-cream { background: var(--paper-deep); }

/* Public-sector lists */
.regulation-block {
  display: grid; grid-template-columns: 1fr; gap: var(--s-5);
  border: 1px solid var(--ink-faint); border-radius: var(--r-card);
  background: #fff; padding: var(--s-6);
}
@media (min-width: 880px) { .regulation-block { grid-template-columns: 1.1fr 1fr; gap: var(--s-7); padding: var(--s-7); } }
.reg-prose { display: grid; gap: var(--s-4); max-width: 50ch; }
.reg-prose h3 { font-size: 22px; max-width: 22ch; }
.reg-prose p { font-family: var(--face-display); font-size: 16px; line-height: 1.6; color: var(--ink-muted); margin: 0; }
.reg-prose p.lead { color: var(--ink); font-size: 17px; }
