.authority-hero {
  padding: clamp(8.5rem, 15vw, 11rem) 0 var(--space-8);
  background:
    radial-gradient(circle at 88% 18%, rgba(56, 182, 255, .14), transparent 34%),
    linear-gradient(180deg, var(--bg-section), var(--bg-deep));
  border-bottom: 1px solid var(--hairline-soft);
}

.authority-hero__inner { max-width: 930px; }
.authority-hero h1 { max-width: 900px; margin: var(--space-3) 0 var(--space-4); }
.authority-hero__lede { max-width: 820px; margin: 0; color: var(--text-body); font-size: var(--fs-h4); line-height: 1.65; }
.authority-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: var(--space-5) 0 0; color: var(--text-muted); font-size: var(--fs-small); }
.authority-meta span { display: inline-flex; gap: .4rem; align-items: center; }
.authority-meta strong { color: var(--text-heading); font-weight: 600; }
.authority-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

.authority-answer {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: var(--space-6);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid var(--cyan-line);
  border-radius: var(--radius-lg);
  background: var(--cyan-50);
}
.authority-answer h2 { margin: 0 0 var(--space-3); font-size: var(--fs-h3); }
.authority-answer p { margin: 0; }
.authority-answer__formula { align-self: stretch; padding: var(--space-5); border-radius: var(--radius-md); background: var(--ink); color: #fff; }
.authority-answer__formula span { display: block; margin-bottom: var(--space-2); color: #b9e0ff; font: 500 var(--fs-xs)/1.4 var(--font-mono); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.authority-answer__formula strong { display: block; font-size: clamp(1.15rem, 2.5vw, 1.55rem); line-height: 1.35; }
.authority-answer__formula small { display: block; margin-top: var(--space-3); color: #cbd5e1; line-height: 1.5; }

.authority-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(var(--space-6), 5vw, var(--space-10)); align-items: start; }
.authority-toc { position: sticky; top: 7rem; padding: var(--space-4); border-left: 2px solid var(--cyan-line); }
.authority-toc strong { display: block; margin-bottom: var(--space-3); color: var(--text-heading); font-size: var(--fs-small); }
.authority-toc a { display: block; padding: .35rem 0; color: var(--text-muted); font-size: var(--fs-small); text-decoration: none; }
.authority-toc a:hover { color: var(--cyan-700); }
.authority-content { min-width: 0; }
.authority-content > section + section { margin-top: var(--space-10); padding-top: var(--space-9); border-top: 1px solid var(--hairline-soft); }
.authority-content h2 { margin: 0 0 var(--space-4); }
.authority-content h3 { margin: 0 0 var(--space-3); }
.authority-content p, .authority-content li { color: var(--text-body); }
.authority-content a:not(.btn) { color: var(--cyan-700); text-decoration-thickness: 1px; text-underline-offset: .16em; }

.scorecard-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); counter-reset: workflow; }
.scorecard-step { padding: var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--bg-card); counter-increment: workflow; }
.scorecard-step::before { content: counter(workflow, decimal-leading-zero); display: block; margin-bottom: var(--space-4); color: var(--cyan-700); font: 600 var(--fs-xs)/1 var(--font-mono); letter-spacing: var(--ls-caps); }
.scorecard-step h3 { font-size: 1.05rem; }
.scorecard-step p { margin: 0; font-size: var(--fs-small); line-height: 1.6; }

.score-scale { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; margin: var(--space-5) 0; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--hairline); }
.score-scale__item { min-height: 130px; padding: var(--space-4); background: var(--bg-card); }
.score-scale__item strong { display: block; margin-bottom: var(--space-3); color: var(--cyan-700); font: 700 1.35rem/1 var(--font-mono); }
.score-scale__item span { color: var(--text-body); font-size: var(--fs-small); line-height: 1.45; }

.scorecard-table-wrap { margin-top: var(--space-5); overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.scorecard-table { width: 100%; min-width: 920px; border-collapse: collapse; background: var(--bg-card); }
.scorecard-table caption { padding: var(--space-4) var(--space-5); color: var(--text-muted); background: var(--bg-section); font-size: var(--fs-small); text-align: left; }
.scorecard-table th, .scorecard-table td { padding: var(--space-4); border-bottom: 1px solid var(--hairline-soft); text-align: left; vertical-align: top; }
.scorecard-table th { color: var(--text-heading); background: var(--bg-section); font-size: var(--fs-xs); letter-spacing: .04em; text-transform: uppercase; }
.scorecard-table td { color: var(--text-body); font-size: var(--fs-small); line-height: 1.55; }
.scorecard-table tbody tr:last-child td { border-bottom: 0; }
.scorecard-table__number { color: var(--text-muted); font-family: var(--font-mono); }
.scorecard-table__criterion { min-width: 190px; color: var(--text-heading); font-weight: 600; }
.scorecard-weight { display: inline-flex; min-width: 2.9rem; justify-content: center; padding: .25rem .55rem; border-radius: var(--radius-full); background: var(--cyan-100); color: var(--cyan-700); font: 600 var(--fs-xs)/1.4 var(--font-mono); }
.scorecard-redflag { color: #9f1239; }

.scorecard-callout { margin-top: var(--space-5); padding: var(--space-5); border-left: 3px solid var(--cyan-600); background: var(--bg-section); }
.scorecard-callout p:last-child, .scorecard-callout ul:last-child { margin-bottom: 0; }
.scorecard-callout--warning { border-left-color: #e11d48; background: #fff7f8; }
.scorecard-callout--warning h3 { color: #881337; }
.scorecard-dealbreakers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-7); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.scorecard-dealbreakers li { position: relative; padding-left: 1.6rem; }
.scorecard-dealbreakers li::before { content: "!"; position: absolute; left: 0; top: .08rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #be123c; color: #fff; font: 700 .68rem/1.05rem var(--font-mono); text-align: center; }

.authority-sources { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.authority-source { padding: var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--bg-card); }
.authority-source h3 { font-size: 1.05rem; }
.authority-source p { margin: 0; font-size: var(--fs-small); }

.authority-faq { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.authority-faq details { padding: var(--space-4) var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--bg-card); }
.authority-faq summary { color: var(--text-heading); font-weight: 600; cursor: pointer; }
.authority-faq details p { margin: var(--space-3) 0 0; }
.authority-cta { padding: clamp(var(--space-6), 5vw, var(--space-9)); border-radius: var(--radius-lg); background: var(--ink); color: #fff; }
.authority-cta h2 { color: #fff; }
.authority-cta p { max-width: 680px; color: #cbd5e1; }

@media (max-width: 900px) {
  .authority-layout { grid-template-columns: 1fr; }
  .authority-toc { position: static; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); border-left: 0; border-bottom: 1px solid var(--hairline); }
  .authority-toc strong { width: 100%; margin-bottom: var(--space-1); }
  .scorecard-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .score-scale { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .authority-answer { grid-template-columns: 1fr; }
  .scorecard-steps, .scorecard-dealbreakers { grid-template-columns: 1fr; }
  .score-scale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .authority-actions .btn { width: 100%; justify-content: center; }
}

/* Company facts and editorial policy */
.authority-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
  color: var(--text-muted);
  font-size: var(--fs-small);
}
.authority-breadcrumbs a { color: var(--cyan-700); }
.authority-hero__lead { max-width: 820px; margin: 0; color: var(--text-body); font-size: var(--fs-h4); line-height: 1.65; }
.authority-status { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); padding: .7rem 1rem; border: 1px solid var(--cyan-line); border-radius: var(--radius-full); background: rgba(255, 255, 255, .74); color: var(--text-muted); font-size: var(--fs-small); }
.authority-status strong { color: var(--text-heading); }

.authority-page--facts .authority-layout { grid-template-columns: minmax(0, 1fr) 290px; }
.authority-page--facts .authority-content { grid-column: 1; }
.authority-page--facts .authority-aside { grid-column: 2; }
.authority-section-heading { margin-bottom: var(--space-5); }
.authority-section-heading .label { display: block; margin-bottom: var(--space-3); }
.authority-section-heading h2 { margin-bottom: var(--space-3); }
.authority-section-heading p { color: var(--text-muted); }

.authority-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--hairline); box-shadow: var(--shadow-card); }
.authority-facts > div { min-width: 0; padding: var(--space-4) var(--space-5); background: var(--bg-card); }
.authority-facts dt { margin-bottom: .25rem; color: var(--text-muted); font: 500 var(--fs-xs)/1.5 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.authority-facts dd { overflow-wrap: anywhere; color: var(--text-heading); font-weight: 600; line-height: 1.55; }
.authority-facts a { color: var(--cyan-700); }
.authority-page--facts .authority-facts + .authority-prose { margin-top: var(--space-10); padding-top: var(--space-9); border-top: 1px solid var(--hairline-soft); }
.authority-page--facts .authority-content p + p,
.authority-page--policy .authority-content p + p { margin-top: var(--space-4); }

.authority-callout { margin-top: var(--space-5); padding: var(--space-5); border-left: 3px solid var(--cyan-600); background: var(--cyan-50); }
.authority-callout strong { display: block; margin-bottom: var(--space-2); color: var(--text-heading); }
.authority-callout p { margin: 0; }
.authority-callout--contact { background: var(--bg-section); }

.authority-table-wrap { margin-top: var(--space-5); overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.authority-table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--bg-card); }
.authority-table th, .authority-table td { padding: var(--space-4); border-bottom: 1px solid var(--hairline-soft); text-align: left; vertical-align: top; }
.authority-table thead th { color: var(--text-heading); background: var(--bg-section); font-size: var(--fs-xs); letter-spacing: .04em; text-transform: uppercase; }
.authority-table tbody th { width: 25%; color: var(--text-heading); font-size: var(--fs-small); }
.authority-table td { color: var(--text-body); font-size: var(--fs-small); line-height: 1.6; }
.authority-table tbody tr:last-child th, .authority-table tbody tr:last-child td { border-bottom: 0; }

.authority-link-list { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.authority-link-list a { display: grid; gap: .2rem; padding: var(--space-4) var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--bg-card); text-decoration: none; }
.authority-link-list a:hover { border-color: var(--cyan-line); background: var(--cyan-50); }
.authority-link-list strong { color: var(--text-heading); }
.authority-link-list span { color: var(--text-muted); font-size: var(--fs-small); }
.authority-note { margin-top: var(--space-4); padding: var(--space-4); border-radius: var(--radius-md); background: var(--bg-section); color: var(--text-muted) !important; font-size: var(--fs-small); }

.authority-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-5); }
.authority-team-grid article { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--bg-card); }
.authority-team-grid h3 { margin: 0 0 .3rem; font-size: 1rem; }
.authority-team-grid p { margin: 0; color: var(--text-muted); font-size: var(--fs-small); line-height: 1.5; }

.authority-aside { position: sticky; top: 7rem; display: grid; gap: var(--space-4); align-self: start; }
.authority-aside__card { display: grid; gap: var(--space-2); padding: var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--bg-card); box-shadow: var(--shadow-card); }
.authority-aside__card .label { margin-bottom: var(--space-2); }
.authority-aside__card > a:not(.btn) { padding: .25rem 0; color: var(--text-muted); font-size: var(--fs-small); }
.authority-aside__card > a:not(.btn):hover { color: var(--cyan-700); }
.authority-aside__card--accent { border-color: var(--cyan-line); background: var(--cyan-50); }
.authority-aside__card--accent h2 { font-size: 1.25rem; }
.authority-aside__card--accent p { color: var(--text-body); font-size: var(--fs-small); }
.authority-aside__card--accent .btn { width: 100%; justify-content: center; margin-top: var(--space-2); }

.authority-policy-list { display: grid; gap: var(--space-3); margin: var(--space-5) 0 0; }
.authority-policy-list li { position: relative; padding-left: 1.4rem; }
.authority-policy-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: .42rem; height: .42rem; border-radius: 50%; background: var(--cyan-600); }
.authority-policy-list strong { color: var(--text-heading); }
.authority-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: var(--space-5) 0; }
.authority-definition-grid article { padding: var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--bg-card); box-shadow: var(--shadow-card); }
.authority-definition-grid .label { display: block; margin-bottom: var(--space-3); }
.authority-definition-grid h3 { font-size: 1.15rem; }
.authority-definition-grid p { margin: 0; font-size: var(--fs-small); }

@media (max-width: 980px) {
  .authority-page--facts .authority-layout { grid-template-columns: 1fr; }
  .authority-page--facts .authority-content, .authority-page--facts .authority-aside { grid-column: 1; }
  .authority-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .authority-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .authority-facts, .authority-team-grid, .authority-aside, .authority-definition-grid { grid-template-columns: 1fr; }
  .authority-status { border-radius: var(--radius-md); }
}
