:root {
  --ink: #0b0c0d;
  --ink-2: #121416;
  --panel: #181b1e;
  --panel-2: #20252a;
  --line: rgba(244, 239, 226, 0.16);
  --text: #f5f1e8;
  --muted: #c6c0b5;
  --soft: #958e81;
  --paper: #f8f3e9;
  --paper-2: #efe6d6;
  --gold: #caa76a;
  --gold-2: #e2c68d;
  --blue: #79a8c8;
  --sage: #91a889;
  --rust: #bb735e;
  --shadow: 0 20px 70px rgba(0, 0, 0, 0.34);
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--ink);
  font-family:
    Manrope,
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  line-height: 1.55;
  letter-spacing: 0;
}

body.nav-open {
  overflow: hidden;
}

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

button,
input,
select,
textarea {
  font: inherit;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 20;
  transform: translateY(-140%);
  padding: 10px 14px;
  border: 1px solid var(--gold);
  background: var(--paper);
  color: var(--ink);
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px clamp(18px, 3.5vw, 56px);
  border-bottom: 1px solid rgba(244, 239, 226, 0.1);
  background: rgba(11, 12, 13, 0.86);
  backdrop-filter: blur(18px);
}

.brand,
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.brand-text,
.footer-brand-text {
  display: grid;
  gap: 1px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.brand-mark,
.footer-brand-mark {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.footer-brand-mark {
  width: 40px;
  height: 40px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(8px, 1vw, 16px);
  color: var(--muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.nav-group {
  position: relative;
}

.site-nav a {
  position: relative;
  padding: 8px 0;
}

.nav-group-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.nav-caret {
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  opacity: 0.72;
  transform: translateY(-2px) rotate(45deg);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  z-index: 30;
  display: grid;
  min-width: 250px;
  padding: 13px;
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 8px;
  background: rgba(16, 27, 26, 0.98);
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.34);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.nav-dropdown::before {
  position: absolute;
  top: -15px;
  left: 0;
  width: 100%;
  height: 15px;
  content: "";
}

.nav-dropdown a {
  padding: 10px 12px;
  border-radius: 6px;
  color: rgba(244, 239, 226, 0.78);
}

.nav-dropdown a:hover,
.nav-dropdown a:focus-visible,
.nav-dropdown a.is-active {
  background: rgba(244, 239, 226, 0.07);
}

.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.site-nav a:not(.nav-cta)::after {
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  height: 1px;
  content: "";
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.is-active {
  color: var(--text);
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav-cta,
.button {
  display: inline-flex;
  flex-shrink: 0;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 26px;
  border: 1px solid rgba(202, 167, 106, 0.75);
  border-radius: 8px;
  background: rgba(202, 167, 106, 0.12);
  color: var(--text);
  font-weight: 650;
  font-size: 0.95rem;
  white-space: nowrap;
  box-shadow: none;
  transition:
    transform 170ms ease,
    background 170ms ease,
    border-color 170ms ease;
}

.site-nav .nav-cta {
  padding: 10px 26px;
}

.nav-cta:hover,
.button:hover,
.nav-cta:focus-visible,
.button:focus-visible {
  border-color: var(--gold-2);
  background: rgba(202, 167, 106, 0.2);
  transform: translateY(-1px);
}

@media (max-width: 1320px) {
  .site-header {
    gap: 14px;
    padding: 16px 20px;
  }

  .brand,
  .footer-brand {
    gap: 8px;
  }

  .brand-mark {
    width: 38px;
    height: 38px;
  }

  .brand-text {
    font-size: 0.68rem;
  }

  .site-nav {
    gap: 7px;
    font-size: 0.73rem;
  }

  .site-nav .nav-cta {
    min-height: 40px;
    padding: 10px 24px;
  }
}

.button.secondary {
  border-color: rgba(121, 168, 200, 0.55);
  background: rgba(121, 168, 200, 0.1);
}

.button.light {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid rgba(244, 239, 226, 0.18);
  border-radius: 8px;
  background: transparent;
  color: var(--text);
}

.nav-toggle span:not(.sr-only) {
  display: block;
  height: 2px;
  margin: 5px 0;
  background: currentColor;
}

.hero {
  position: relative;
  min-height: min(640px, calc(100vh - 126px));
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(11, 12, 13, 0.92) 0%, rgba(11, 12, 13, 0.68) 42%, rgba(11, 12, 13, 0.04) 100%),
    linear-gradient(180deg, rgba(11, 12, 13, 0.02), rgba(11, 12, 13, 0.82)),
    url("mmvfo-tax-operating-system-hero.png") center right / cover no-repeat;
}

.hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(202, 167, 106, 0.72), transparent);
}

.hero-inner {
  position: relative;
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(50px, 7vw, 86px) 0 clamp(42px, 6vw, 72px);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: var(--gold-2);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 34px;
  height: 1px;
  content: "";
  background: currentColor;
}

.hero h1,
.page-hero h1 {
  max-width: 900px;
  margin: 0;
  color: var(--text);
  font-size: clamp(2.35rem, 4.9vw, 4rem);
  font-weight: 780;
  line-height: 0.98;
  letter-spacing: 0;
}

.hero p,
.page-hero p {
  max-width: 710px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(1.02rem, 1.7vw, 1.28rem);
}

.hero-actions,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.signal-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: rgba(244, 239, 226, 0.12);
  border-top: 1px solid rgba(244, 239, 226, 0.12);
  border-bottom: 1px solid rgba(244, 239, 226, 0.12);
}

.signal-row span,
.signal-row a {
  min-height: 90px;
  display: grid;
  place-items: center;
  padding: 18px;
  background: #101214;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.signal-row a {
  transition: background 170ms ease, color 170ms ease;
}

.signal-row a:hover,
.signal-row a:focus-visible {
  background: #171b1e;
  color: var(--text);
}

.visual-system-section {
  border-bottom: 1px solid rgba(244, 239, 226, 0.1);
}

.visual-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
}

.visual-showcase-main,
.visual-panel,
.card-graphic {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 239, 226, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.visual-showcase-main {
  min-height: 360px;
  box-shadow: var(--shadow);
}

.visual-showcase-main img,
.visual-panel img,
.card-graphic img,
.mini-visual-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.visual-showcase-copy {
  display: grid;
  gap: 22px;
}

.visual-showcase-copy h2 {
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.45rem);
  line-height: 1;
}

.visual-showcase-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
}

.mini-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mini-visual-grid img {
  aspect-ratio: 1.45;
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.section {
  padding: clamp(64px, 8vw, 112px) clamp(20px, 4vw, 56px);
}

.section.alt {
  background: var(--ink-2);
}

.section.paper {
  background: var(--paper);
  color: var(--ink);
}

.section-inner {
  width: min(var(--max), 100%);
  margin: 0 auto;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.55fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: end;
  margin-bottom: clamp(30px, 5vw, 58px);
}

.section-kicker {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section h2,
.page-section h2 {
  margin: 0;
  font-size: clamp(2rem, 4.2vw, 4.2rem);
  font-weight: 760;
  line-height: 1.02;
  letter-spacing: 0;
}

.service-router-section {
  padding-top: clamp(48px, 6vw, 78px);
}

.service-router-section .section-heading {
  grid-template-columns: minmax(0, 0.68fr) minmax(300px, 0.58fr);
  align-items: start;
  margin-bottom: clamp(24px, 4vw, 42px);
}

.service-router-section .section-heading h2 {
  font-size: clamp(1.95rem, 3.1vw, 3.35rem);
  line-height: 1.04;
}

.service-router-section .section-heading p {
  max-width: 52rem;
}

.section-heading p,
.page-section > p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
}

.paper .section-heading p,
.paper .page-section > p {
  color: #4c463d;
}

.grid {
  display: grid;
  gap: 16px;
}

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

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

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

.supporting-grid {
  margin-top: 16px;
}

.service-priority-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 16px;
  align-items: stretch;
}

.service-priority-grid .service-card:first-child {
  grid-row: span 2;
}

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

.compact-service-grid a {
  display: grid;
  min-height: 86px;
  gap: 6px;
  align-content: center;
  padding: 16px;
  background: #101214;
}

.compact-service-grid strong {
  font-size: 0.92rem;
  line-height: 1.15;
}

.compact-service-grid span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.compact-service-grid a:hover,
.compact-service-grid a:focus-visible {
  background: #171b1e;
}

.card,
.service-card,
.resource-card,
.form-shell {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: none;
}

.paper .card,
.paper .service-card,
.paper .resource-card {
  border-color: rgba(11, 12, 13, 0.13);
  background: rgba(255, 255, 255, 0.42);
}

.service-card,
.resource-card,
.card {
  padding: clamp(20px, 2.5vw, 30px);
}

.service-card {
  display: grid;
  min-height: 245px;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 16px;
}

.resource-card {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto auto;
  gap: 16px;
}

.card-graphic {
  aspect-ratio: 1.62;
  margin: calc(clamp(20px, 2.5vw, 30px) * -1) calc(clamp(20px, 2.5vw, 30px) * -1) 2px;
  border-width: 0 0 1px;
  border-radius: 8px 8px 0 0;
}

.paper .card-graphic {
  border-color: rgba(11, 12, 13, 0.12);
  background: rgba(255, 255, 255, 0.5);
}

.card-graphic img {
  transition: transform 220ms ease;
}

.service-card:hover .card-graphic img,
.resource-card:hover .card-graphic img {
  transform: scale(1.025);
}

.card-label {
  color: var(--gold);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-card h3,
.resource-card h3,
.card h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.18;
}

.service-card p,
.resource-card p,
.card p {
  margin: 0;
  color: var(--muted);
}

.paper .service-card p,
.paper .resource-card p,
.paper .card p {
  color: #524c43;
}

.card-link {
  align-self: end;
  color: var(--gold-2);
  font-weight: 800;
}

.paper .card-link {
  color: #705422;
}

.institutional-stack {
  display: grid;
  gap: 12px;
}

.stack-item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 6px 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.stack-item span {
  grid-row: span 2;
  color: var(--blue);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.stack-item strong {
  color: var(--text);
  font-size: 1.02rem;
}

.stack-item p {
  margin: 0;
  color: var(--muted);
}

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

.person-card {
  min-height: 300px;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: clamp(22px, 2.5vw, 32px);
  border: 1px solid rgba(11, 12, 13, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
}

.person-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.04;
}

.person-card p {
  margin: 0;
  color: #524c43;
}

.credential-line {
  color: #6a552f !important;
  font-size: 0.9rem;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.profile-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 0.9fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.profile-portrait {
  display: grid;
  gap: 14px;
  margin: 0;
}

.profile-portrait img {
  width: 100%;
  max-width: 310px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.profile-portrait figcaption {
  display: grid;
  gap: 2px;
  color: var(--text);
  font-weight: 820;
}

.profile-portrait figcaption span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.profile-copy {
  display: grid;
  gap: 18px;
}

.profile-copy h2,
.profile-copy p {
  margin: 0;
}

.profile-copy h2 {
  max-width: 860px;
  color: var(--text);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.98;
}

.profile-copy p {
  max-width: 860px;
  color: var(--muted);
}

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

.profile-panel {
  display: grid;
  gap: 16px;
  align-content: start;
  padding: clamp(20px, 2.8vw, 30px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.profile-panel h3 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

.paper .profile-panel {
  border-color: rgba(11, 12, 13, 0.12);
  background: rgba(11, 12, 13, 0.04);
}

.paper .profile-panel h3 {
  color: var(--ink);
}

.credential-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin: 4px 0 18px;
}

.credential-badges img {
  height: 48px;
  width: auto;
}

.compact-list {
  gap: 10px;
}

.compact-list li {
  padding: 13px 15px;
}

.profile-source-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.profile-source-list a {
  display: grid;
  align-content: center;
  min-height: 72px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--gold-2);
  font-weight: 780;
}

.profile-source-list a:hover,
.profile-source-list a:focus-visible {
  border-color: rgba(202, 167, 106, 0.62);
  background: rgba(202, 167, 106, 0.1);
}

.platform-card {
  background: rgba(11, 12, 13, 0.045);
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.55fr);
  gap: clamp(28px, 6vw, 76px);
  align-items: start;
}

.feature-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.feature-list li {
  padding: 18px;
  border-left: 2px solid rgba(202, 167, 106, 0.72);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
}

.paper .feature-list li {
  background: rgba(11, 12, 13, 0.045);
  color: #4d463e;
}

.process {
  counter-reset: process;
}

.process .card {
  position: relative;
  padding-top: 54px;
}

.process .card::before {
  position: absolute;
  top: 22px;
  left: 24px;
  counter-increment: process;
  content: "0" counter(process);
  color: var(--blue);
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.page-hero {
  padding: clamp(74px, 9vw, 128px) clamp(20px, 4vw, 56px) clamp(44px, 6vw, 78px);
  background:
    linear-gradient(135deg, rgba(202, 167, 106, 0.11), transparent 34%),
    linear-gradient(215deg, rgba(121, 168, 200, 0.13), transparent 38%),
    var(--ink);
  border-bottom: 1px solid rgba(244, 239, 226, 0.12);
}

.page-hero-inner {
  width: min(var(--max), 100%);
  margin: 0 auto;
}

.page-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.32fr) minmax(0, 0.88fr);
  gap: clamp(28px, 5vw, 70px);
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(48px, 7vw, 92px) 0;
}

.page-toc {
  position: sticky;
  top: 92px;
  align-self: start;
  display: grid;
  gap: 10px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
}

.page-toc strong {
  color: var(--text);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-toc a {
  color: var(--muted);
  font-size: 0.92rem;
}

.page-content {
  display: grid;
  gap: 48px;
}

.page-section {
  display: grid;
  gap: 18px;
  scroll-margin-top: 110px;
}

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

.technical-card {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.technical-card h3,
.technical-card p,
.technical-card ul {
  margin: 0;
}

.technical-card ul {
  display: grid;
  gap: 8px;
  padding-left: 18px;
  color: var(--muted);
}

.data-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.028);
}

.data-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.data-table th,
.data-table td {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.data-table th {
  color: var(--text);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(202, 167, 106, 0.1);
}

.data-table td {
  color: var(--muted);
}

.data-table tbody tr:last-child td {
  border-bottom: 0;
}

.question-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 24px;
}

.question-list li {
  padding: 16px 18px;
  border-left: 2px solid rgba(202, 167, 106, 0.72);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
}

.source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.source-list a {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.035);
}

.source-list span {
  color: var(--muted);
}

.seo-answer {
  padding: clamp(20px, 2.5vw, 28px);
  border: 1px solid rgba(202, 167, 106, 0.28);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  background: rgba(202, 167, 106, 0.08);
}

.seo-answer h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2.2rem);
}

.seo-answer p:last-child {
  margin: 0;
  color: var(--muted);
}

.review-shell {
  max-width: var(--max);
  margin: 2px auto 18px;
  padding: 0 clamp(18px, 3.5vw, 28px);
}

.review-stamp {
  padding-top: 6px;
  border-top: 1px solid rgba(244, 239, 226, 0.05);
  color: rgba(198, 192, 181, 0.40);
  font-size: 0.58rem;
  line-height: 1.45;
  text-align: left;
}

.review-stamp p {
  margin: 0;
}

.review-stamp span {
  color: rgba(198, 192, 181, 0.36);
}

.review-stamp a {
  color: rgba(226, 198, 141, 0.42);
  font-weight: 560;
  text-decoration: none;
}

.review-stamp a:hover,
.review-stamp a:focus-visible {
  color: var(--gold-2);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.review-divider {
  padding: 0 6px;
}

.visual-band {
  grid-template-columns: minmax(0, 0.92fr) minmax(260px, 0.68fr);
  gap: clamp(20px, 4vw, 42px);
  align-items: center;
  padding: clamp(18px, 2.8vw, 28px);
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(121, 168, 200, 0.1), transparent 42%),
    rgba(255, 255, 255, 0.035);
}

.visual-panel {
  aspect-ratio: 1.44;
  min-height: 240px;
}

.visual-copy {
  display: grid;
  gap: 14px;
}

.visual-copy h2,
.visual-copy p {
  margin: 0;
}

.visual-copy p:last-child {
  color: var(--muted);
}

.page-section h2 {
  font-size: clamp(1.75rem, 3.1vw, 3.1rem);
}

.content-section,
.cluster-section {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
  min-width: 0;
  overflow-wrap: anywhere;
}

.content-section > *,
.cluster-section > *,
.cluster-map > *,
.cluster-group > *,
.cluster-card > *,
.route-index > *,
.page-metadata > *,
.mini-page-grid > *,
.pillar-list > *,
.legal-note > *,
.faq-list > *,
.related-links > * {
  min-width: 0;
}

.content-section p,
.cluster-section p,
.cluster-card p,
.legal-note p {
  margin: 0;
  color: var(--muted);
}

.page-metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 820;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-metadata span,
.page-metadata a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 8px;
  overflow-wrap: anywhere;
}

.route-index,
.mini-page-grid,
.related-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.route-index a,
.mini-page-grid a,
.related-links a {
  min-height: 100%;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
  overflow-wrap: anywhere;
  transition:
    border-color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.route-index a:hover,
.route-index a:focus-visible,
.mini-page-grid a:hover,
.mini-page-grid a:focus-visible,
.related-links a:hover,
.related-links a:focus-visible {
  border-color: rgba(202, 167, 106, 0.62);
  background: rgba(202, 167, 106, 0.1);
  transform: translateY(-1px);
}

.route-index strong,
.mini-page-grid strong,
.related-links strong {
  color: var(--text);
  font-size: 0.98rem;
  line-height: 1.2;
}

.route-index span,
.mini-page-grid span,
.related-links span {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cluster-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  overflow-wrap: anywhere;
}

.cluster-group {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: clamp(18px, 2.5vw, 26px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.cluster-group h3,
.cluster-card h3,
.content-section h3,
.cluster-group h4,
.cluster-card h4,
.content-section h4 {
  margin: 0;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  line-height: 1.15;
}

.cluster-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 15px;
  border: 1px solid rgba(244, 239, 226, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
}

a.cluster-card {
  transition:
    border-color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

a.cluster-card:hover,
a.cluster-card:focus-visible {
  border-color: rgba(121, 168, 200, 0.48);
  background: rgba(121, 168, 200, 0.08);
  transform: translateY(-1px);
}

.pillar-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pillar-list li {
  padding: 14px 16px;
  border-left: 2px solid rgba(202, 167, 106, 0.72);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
  overflow-wrap: anywhere;
}

.legal-note {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(202, 167, 106, 0.28);
  border-radius: 8px;
  background: rgba(202, 167, 106, 0.08);
  color: var(--muted);
  font-size: 0.9rem;
}

.paper .page-metadata span,
.paper .page-metadata a,
.paper .route-index a,
.paper .mini-page-grid a,
.paper .related-links a,
.paper .cluster-group,
.paper .cluster-card {
  border-color: rgba(11, 12, 13, 0.13);
  background: rgba(255, 255, 255, 0.42);
}

.paper .route-index a:hover,
.paper .route-index a:focus-visible,
.paper .mini-page-grid a:hover,
.paper .mini-page-grid a:focus-visible,
.paper .related-links a:hover,
.paper .related-links a:focus-visible {
  border-color: rgba(202, 167, 106, 0.55);
  background: rgba(255, 255, 255, 0.68);
}

.paper .content-section p,
.paper .cluster-section p,
.paper .cluster-card p,
.paper .route-index span,
.paper .mini-page-grid span,
.paper .related-links span,
.paper .pillar-list li,
.paper .legal-note,
.paper .legal-note p {
  color: #524c43;
}

.paper .route-index strong,
.paper .mini-page-grid strong,
.paper .related-links strong,
.paper .cluster-group h3,
.paper .cluster-card h3,
.paper .content-section h3,
.paper .cluster-group h4,
.paper .cluster-card h4,
.paper .content-section h4 {
  color: var(--ink);
}

.paper .pillar-list li {
  background: rgba(11, 12, 13, 0.045);
}

.paper .legal-note {
  border-color: rgba(112, 84, 34, 0.24);
  background: rgba(202, 167, 106, 0.13);
}

.bullet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bullet-grid li {
  min-height: 74px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.03);
}

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.faq-item button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 0;
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.faq-item button::after {
  flex: 0 0 auto;
  content: "+";
  color: var(--gold);
  font-size: 1.3rem;
}

.faq-item.is-open button::after {
  content: "-";
}

.faq-answer {
  display: none;
  padding: 0 18px 18px;
  color: var(--muted);
}

.faq-item.is-open .faq-answer {
  display: block;
}

.cta-band {
  padding: clamp(46px, 6vw, 76px) clamp(20px, 4vw, 56px);
  background: var(--paper);
  color: var(--ink);
}

.cta-band-inner {
  width: min(var(--max), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) auto;
  gap: 28px;
  align-items: center;
}

.cta-band h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.02;
}

.cta-band p {
  margin: 14px 0 0;
  color: #514b42;
}

.form-shell {
  padding: clamp(20px, 3vw, 34px);
  background: rgba(255, 255, 255, 0.045);
}

.diagnostic-form {
  display: grid;
  gap: 16px;
}

.diagnostic-tool-section {
  padding-bottom: clamp(36px, 5vw, 64px);
}

.diagnostic-tool-shell {
  display: grid;
  gap: 22px;
}

.diagnostic-notice,
.tool-form,
.diagnostic-result {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.diagnostic-notice {
  display: grid;
  gap: 12px;
  padding: clamp(18px, 2.5vw, 28px);
}

.diagnostic-notice p,
.diagnostic-result p,
.diagnostic-result-note {
  margin: 0;
  color: var(--muted);
}

.tool-form,
.diagnostic-result {
  padding: clamp(20px, 3vw, 34px);
}

.tool-progress {
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--gold-2);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tool-progress-bar {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(244, 239, 226, 0.1);
}

.tool-progress-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--gold), var(--blue));
  transition: width 180ms ease;
}

.tool-step {
  display: grid;
  gap: 22px;
  margin: 0;
  padding: 0;
  border: 0;
}

.tool-step[hidden],
.diagnostic-result[hidden],
.tool-form[hidden] {
  display: none;
}

.tool-step legend {
  display: grid;
  gap: 8px;
  margin-bottom: 22px;
  color: var(--text);
  font-size: clamp(1.45rem, 3vw, 2.6rem);
  font-weight: 760;
  line-height: 1.05;
}

.tool-question-grid {
  display: grid;
  gap: 18px;
}

.tool-question {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(244, 239, 226, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
}

.tool-question.has-error {
  border-color: rgba(187, 115, 94, 0.75);
  box-shadow: 0 0 0 3px rgba(187, 115, 94, 0.12);
}

.tool-question p {
  margin: 0;
  color: var(--text);
  font-weight: 760;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.choice-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  min-height: 58px;
  padding: 13px;
  border: 1px solid rgba(244, 239, 226, 0.13);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
  transition:
    border-color 160ms ease,
    background 160ms ease;
}

.choice-card:has(input:checked) {
  border-color: rgba(202, 167, 106, 0.82);
  background: rgba(202, 167, 106, 0.12);
  color: var(--text);
}

.choice-card input {
  margin-top: 4px;
  accent-color: var(--gold);
}

.tool-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
}

.tool-actions .button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
}

.diagnostic-result {
  display: grid;
  gap: 22px;
}

.diagnostic-result[data-tier="green"] {
  border-color: rgba(145, 168, 137, 0.55);
}

.diagnostic-result[data-tier="yellow"] {
  border-color: rgba(226, 198, 141, 0.65);
}

.diagnostic-result[data-tier="orange"],
.diagnostic-result[data-tier="red"] {
  border-color: rgba(187, 115, 94, 0.7);
}

.diagnostic-result h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.02;
}

.result-score {
  width: min(180px, 100%);
  display: grid;
  gap: 4px;
  place-items: center;
  padding: 20px;
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.result-score span {
  color: var(--gold-2);
  font-size: 3rem;
  font-weight: 820;
  line-height: 1;
}

.result-score small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.result-issues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.result-issues li {
  padding: 12px;
  border-left: 2px solid var(--gold);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
}

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

.form-field {
  display: grid;
  gap: 8px;
}

.form-field.full {
  grid-column: 1 / -1;
}

.form-field label,
.consent {
  color: var(--muted);
  font-size: 0.9rem;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid rgba(244, 239, 226, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
}

.form-field input[aria-invalid="true"],
.form-field select[aria-invalid="true"],
.form-field textarea[aria-invalid="true"],
.consent input[aria-invalid="true"] {
  border-color: var(--rust);
  box-shadow: 0 0 0 3px rgba(187, 115, 94, 0.18);
}

.form-field textarea {
  min-height: 130px;
  resize: vertical;
}

.form-field option {
  color: var(--ink);
}

.consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
}

.field-error,
.form-error-summary,
.form-note,
.form-success {
  margin: 0;
  font-size: 0.9rem;
}

.field-error,
.form-error-summary {
  color: #f1a08e;
}

.field-error:empty {
  display: none;
}

.form-error-summary {
  display: none;
  padding: 14px;
  border: 1px solid rgba(187, 115, 94, 0.55);
  border-radius: 8px;
  background: rgba(187, 115, 94, 0.14);
}

.form-error-summary.is-visible {
  display: block;
}

.form-note,
.form-success {
  color: var(--muted);
}

.form-success {
  display: none;
  padding: 14px;
  border: 1px solid rgba(145, 168, 137, 0.5);
  border-radius: 8px;
  background: rgba(145, 168, 137, 0.12);
  color: #dcebd6;
}

.form-success.is-visible {
  display: block;
}

.resource-card {
  display: grid;
  gap: 14px;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(244, 239, 226, 0.16);
  border-radius: 8px;
  color: var(--muted);
  font-size: 0.78rem;
}

.status {
  color: var(--sage);
  font-weight: 800;
}

.legal-page {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(56px, 8vw, 98px) 0;
}

.legal-page h1 {
  margin: 0 0 18px;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 1;
}

.legal-page h2 {
  margin: 40px 0 12px;
  font-size: 1.45rem;
}

.legal-page p,
.legal-page li {
  color: var(--muted);
}

.site-footer {
  padding: 42px clamp(20px, 4vw, 56px);
  border-top: 1px solid rgba(244, 239, 226, 0.12);
  background: #090a0b;
}

.footer-inner {
  width: min(var(--max), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.6fr) minmax(0, 0.8fr);
  gap: 28px;
}

.footer-inner p,
.footer-disclaimer {
  color: var(--soft);
  font-size: 0.9rem;
}

.footer-inner nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  justify-content: flex-end;
  align-content: start;
  color: var(--muted);
}

.footer-disclaimer {
  width: min(var(--max), 100%);
  margin: 28px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(244, 239, 226, 0.1);
}

@media (max-width: 1080px) {
  .site-nav {
    gap: 11px;
    font-size: 0.8rem;
  }

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

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

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

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

@media (max-width: 1220px) {
  .nav-toggle {
    display: block;
  }

  .site-nav {
    position: fixed;
    inset: 73px 0 auto;
    display: none;
    max-height: calc(100vh - 73px);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 18px 20px 26px;
    overflow-y: auto;
    background: rgba(11, 12, 13, 0.98);
    border-bottom: 1px solid rgba(244, 239, 226, 0.12);
  }

  body.nav-open .site-nav {
    display: flex;
  }

  .site-nav a {
    padding: 14px 0;
    border-bottom: 1px solid rgba(244, 239, 226, 0.08);
  }

  .nav-group {
    width: 100%;
  }

  .nav-group-trigger {
    width: 100%;
  }

  .nav-dropdown {
    position: static;
    min-width: 0;
    padding: 0 0 10px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: none;
  }

  .nav-dropdown::before {
    display: none;
  }

  .nav-dropdown a {
    padding: 10px 0;
    border-radius: 0;
    font-size: 0.82rem;
  }

  .nav-group:hover .nav-dropdown,
  .nav-group:focus-within .nav-dropdown {
    transform: none;
  }

  .site-nav .nav-cta {
    margin-top: 14px;
    align-self: flex-start;
    padding: 13px 28px;
    border-bottom: 1px solid rgba(202, 167, 106, 0.75);
  }

  .hero {
    min-height: auto;
    background:
      linear-gradient(180deg, rgba(11, 12, 13, 0.68), rgba(11, 12, 13, 0.96) 55%, #0b0c0d 100%),
      url("mmvfo-tax-operating-system-hero.png") center top / cover no-repeat;
  }

  .section-heading,
  .service-router-section .section-heading,
  .split,
  .profile-layout,
  .page-shell,
  .visual-showcase,
  .visual-band,
  .cta-band-inner,
  .footer-inner {
    grid-template-columns: 1fr;
  }

  .service-router-section .section-heading {
    gap: 22px;
  }

  .technical-grid,
  .source-list,
  .profile-detail-grid,
  .profile-source-list {
    grid-template-columns: 1fr;
  }

  .profile-portrait img {
    max-width: 240px;
  }

  .page-toc {
    position: relative;
    top: auto;
  }

  .grid.three,
  .grid.two,
  .bullet-grid,
  .leadership-grid,
  .service-priority-grid {
    grid-template-columns: 1fr;
  }

  .service-priority-grid .service-card:first-child {
    grid-row: auto;
  }

  .visual-showcase-main {
    min-height: 260px;
  }

  .visual-panel {
    min-height: 220px;
  }

  .route-index,
  .mini-page-grid,
  .related-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cluster-map {
    grid-template-columns: 1fr;
  }

  .cta-band-inner {
    align-items: start;
  }

  .footer-inner nav {
    justify-content: flex-start;
  }
}

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

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
  }

  .brand-text {
    font-size: 0.68rem;
    line-height: 1.04;
  }

  .hero-inner {
    width: min(100% - 32px, var(--max));
  }

  .hero {
    background:
      linear-gradient(180deg, rgba(11, 12, 13, 0.94), rgba(11, 12, 13, 0.98) 54%, #0b0c0d 100%),
      url("mmvfo-tax-operating-system-hero.png") center top / 190% auto no-repeat;
  }

  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.9rem, 8.2vw, 2.35rem);
    line-height: 1.06;
  }

  .hero-inner {
    padding-top: 44px;
    padding-bottom: 36px;
  }

  .page-hero {
    padding: 50px 20px 34px;
  }

  .eyebrow {
    gap: 8px;
    margin-bottom: 14px;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  .eyebrow::before {
    width: 28px;
  }

  .hero p,
  .page-hero p {
    margin-top: 18px;
    font-size: 0.98rem;
    line-height: 1.6;
  }

  .hero-actions,
  .actions {
    margin-top: 24px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .signal-row {
    grid-template-columns: 1fr 1fr;
  }

  .signal-row span,
  .signal-row a {
    min-height: 66px;
    padding: 12px 8px;
    font-size: 0.72rem;
    line-height: 1.25;
  }

  .page-shell {
    width: min(100% - 32px, var(--max));
    padding: 34px 0;
    gap: 30px;
  }

  .page-content {
    gap: 34px;
  }

  .page-toc {
    padding: 16px;
  }

  .page-section {
    gap: 14px;
  }

  .section-heading {
    gap: 14px;
  }

  .section h2,
  .page-section h2,
  .visual-showcase-copy h2,
  .service-router-section .section-heading h2 {
    font-size: clamp(1.62rem, 6.8vw, 2.05rem);
    line-height: 1.08;
  }

  .section-heading p,
  .visual-showcase-copy p,
  .page-section > p {
    font-size: 0.96rem;
    line-height: 1.58;
  }

  .visual-system-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .visual-showcase {
    gap: 22px;
  }

  .visual-showcase-main {
    display: none;
  }

  .visual-showcase-copy {
    gap: 15px;
  }

  .compact-service-grid {
    grid-template-columns: 1fr;
  }

  .visual-panel {
    min-height: 190px;
  }

  .mini-visual-grid {
    display: none;
  }

  .section.alt {
    padding-top: 46px;
    padding-bottom: 50px;
  }

  .service-priority-grid {
    gap: 12px;
  }

  .service-card,
  .resource-card,
  .card {
    min-height: 0;
    gap: 12px;
    padding: 18px;
  }

  .service-card,
  .resource-card {
    grid-template-rows: none;
  }

  .card-graphic {
    display: none;
  }

  .card-label {
    font-size: 0.68rem;
    line-height: 1.35;
  }

  .service-card h3,
  .resource-card h3,
  .card h3 {
    font-size: 1.06rem;
  }

  .service-card p,
  .resource-card p,
  .card p {
    font-size: 0.91rem;
    line-height: 1.5;
  }

  .supporting-grid {
    gap: 10px;
  }

  .compact-service-grid a {
    min-height: 0;
    padding: 14px;
  }

  .compact-service-grid strong {
    font-size: 0.88rem;
  }

  .compact-service-grid span {
    font-size: 0.68rem;
  }

  .visual-band {
    padding: 14px;
  }

  .data-table-wrap {
    overflow-x: visible;
  }

  .data-table,
  .data-table tbody,
  .data-table tr,
  .data-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .data-table thead {
    display: none;
  }

  .data-table tr {
    border-bottom: 1px solid var(--line);
  }

  .data-table tr:last-child {
    border-bottom: 0;
  }

  .data-table td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(244, 239, 226, 0.08);
  }

  .data-table td:first-child {
    color: var(--text);
    font-weight: 800;
    background: rgba(202, 167, 106, 0.1);
  }

  .data-table td:last-child {
    border-bottom: 0;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .choice-grid,
  .result-issues {
    grid-template-columns: 1fr;
  }

  .route-index,
  .mini-page-grid,
  .related-links,
  .profile-source-list {
    grid-template-columns: 1fr;
  }

  .route-index a,
  .mini-page-grid a,
  .related-links a,
  .cluster-card,
  .cluster-group,
  .legal-note {
    padding: 14px;
  }

  .page-metadata {
    gap: 7px;
  }

  .tool-actions .button {
    width: 100%;
  }

  .section {
    padding-left: 16px;
    padding-right: 16px;
  }

  iframe[src*="trustedsite"],
  [id*="trustedsite"],
  [class*="trustedsite"] {
    max-width: 82px !important;
    transform: scale(0.72) !important;
    transform-origin: bottom right !important;
  }

  #trustedsite-tm-image {
    display: none !important;
  }
}


/* Day 0 static export adjustments */
.site-nav.is-open {
  display: flex;
}
@media (max-width: 1220px) {
  body:not(.nav-open) .site-nav.is-open {
    display: none;
  }

  body.nav-open .site-nav.is-open {
    display: flex;
  }
}

/* Footer weight.
   Measured at 1440x900: the footer was 469px, of which 168px was pure padding
   and margin, and the 173-word disclaimer ran to 164 characters per line.
   All legal text is retained. What changed is spacing, type size, and a
   two-column measure on wide screens, which shortens the line length AND the
   block at once. Note that narrowing a single column makes it taller, so the
   columns are the fix, not a max-width. */
.site-footer {
  padding-block: 30px;
}
.footer-disclaimer {
  margin-top: 22px;
  padding-top: 18px;
  /* Legal boilerplate should read as fine print, not body copy. At 13px it sat
     only 3px below the 16px nav links and above the 12.5px brand text, so it
     did not recede. 11px is the conventional fine-print size, still legible,
     still WCAG AA at this color (contrast is size-independent). */
  font-size: 0.6875rem;
  line-height: 1.5;
  color: var(--soft);
}
@media (min-width: 1100px) {
  .footer-disclaimer {
    column-count: 2;
    column-gap: 48px;
  }
}

.hero-credentials {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}

/* F-07: homepage audience router */
.audience-router {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.audience-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 22px;
  border: 1px solid rgba(244, 239, 226, 0.14);
  border-radius: 12px;
  background: rgba(244, 239, 226, 0.03);
  color: inherit;
  text-decoration: none;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}
.audience-card strong {
  font-size: 1.08rem;
  font-weight: 700;
}
.audience-card span {
  color: var(--muted);
  font-size: 0.92rem;
}
.audience-card:hover,
.audience-card:focus-visible {
  border-color: var(--gold);
  background: rgba(202, 167, 106, 0.08);
  transform: translateY(-2px);
}

/* .audience-section renders on a .paper (light) background, but the card
   above was only ever styled for the dark background: rgba(244,239,226,..)
   is a near-white tint meant to read as a faint highlight on dark ink, so
   on paper it renders (near-)invisible border/fill, and var(--muted) is a
   light warm gray that has almost no contrast against paper's cream. Same
   fix already applied to .card/.service-card/.resource-card above. */
.paper .audience-card {
  border-color: rgba(11, 12, 13, 0.13);
  background: rgba(255, 255, 255, 0.42);
}
.paper .audience-card span {
  color: #524c43;
}
.paper .audience-card:hover,
.paper .audience-card:focus-visible {
  border-color: rgba(202, 167, 106, 0.55);
  background: rgba(255, 255, 255, 0.68);
}

/* A-5 audit: same missing-paper-variant bug class as .audience-card above,
   found by cross-referencing every base rule that colors text with a
   dark-bg token (var(--muted)/var(--text)) against which of those actually
   render inside a .paper section anywhere in the 151 pages. Three did:
   - .tag and .hero-credentials: var(--muted) on paper measured 1.64:1.
   - .button (the plain/.secondary variants used on the homepage's paper
     CTAs "Explore Diagnostics" / "Read Disclosures"): var(--text), a
     near-white color, on a background that's ~88% paper once you blend
     out its low-alpha gold tint — measured 1.06:1, effectively invisible.
     (.button.light already sets color:ink and is unaffected; it's never
     used inside .paper so this rule doesn't need to exclude it.) */
.paper .tag {
  border-color: rgba(11, 12, 13, 0.13);
  background: rgba(255, 255, 255, 0.42);
  color: #524c43;
}
.paper .hero-credentials {
  color: #524c43;
}
.paper .button {
  color: var(--ink);
}

/* F-09: interaction + focus polish */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 3px;
}
.resource-card {
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.resource-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
}
.button {
  transition: transform 140ms ease, filter 140ms ease;
}
.button:hover {
  transform: translateY(-1px);
  filter: brightness(1.12);
}
.button[disabled] {
  opacity: 0.6;
  cursor: progress;
  transform: none;
  filter: none;
}
.diagnostic-result {
  scroll-margin-top: 96px;
}
.result-score span {
  font-variant-numeric: tabular-nums;
}

/* F-09: long-form article measure */
.page-content > p,
.content-section > p {
  max-width: 68ch;
}

/* Authority page component kit */
.breadcrumbs {
  max-width: 1220px;
  margin: 0 auto;
  padding: 18px 20px 0;
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.86rem;
  color: var(--muted);
}
.breadcrumbs li + li::before {
  content: "/";
  margin-right: 8px;
  opacity: 0.5;
}
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--text); text-decoration: underline; }
.breadcrumbs [aria-current="page"] { color: var(--text); }

.content-section .lede {
  font-size: 1.12rem;
  line-height: 1.6;
  max-width: 68ch;
}

.key-facts {
  display: grid;
  gap: 1px;
  margin: 22px 0 0;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.key-facts > div {
  display: grid;
  grid-template-columns: minmax(150px, 30%) 1fr;
  gap: 14px;
  padding: 14px 16px;
  background: var(--panel);
}
.key-facts dt {
  margin: 0;
  color: var(--gold);
  font-size: 0.78rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.5;
}
.key-facts dd { margin: 0; font-size: 0.96rem; color: var(--text); }

.signals-list li::marker { color: var(--rust); }
.records-checklist { margin-top: 6px; }
.records-note { margin-top: 14px; color: var(--muted); font-size: 0.92rem; max-width: 68ch; }

.authority-block {
  margin-top: 24px;
  padding: 16px 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold);
  border-radius: 10px;
}
.authority-block .section-kicker { margin: 0; }
.authority-list { margin: 10px 0 0; padding-left: 18px; }
.authority-list li { margin-bottom: 6px; font-size: 0.94rem; }
.authority-list a { color: var(--gold-2); }

.authority-figure {
  margin: 26px 0 0;
}
.authority-figure img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
}

@media (max-width: 640px) {
  .key-facts > div { grid-template-columns: 1fr; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .audience-card:hover,
  .resource-card:hover,
  .button:hover {
    transform: none;
  }
}
