:root {
  --navy: #1f2a44;
  --navy-deep: #171c2e;
  --paper: #f2f0e6;
  --white: #fffefa;
  --ink: #252a38;
  --muted: #656976;
  --gold: #b08d57;
  --gold-ink: #80622e;
  --control-line: #7b828f;
  --line: #d7d8d6;
  --pale: #eeeee6;
  --focus: #176d96;
  --font-body: Inter,'Segoe UI',Arial,sans-serif;
  --font-display: Georgia,'Times New Roman',serif;
  --reading: 45rem;
  --wide: 78rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 2rem;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 1rem/1.65 var(--font-body);
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-underline-offset: .22em;
}
button,input,select,textarea {
  font: inherit;
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--white);
}
img {
  max-width: 100%;
  height: auto;
}
h1,h2,h3,p {
  margin: 0;
}
h1,h2,h3 {
  font-weight: 400;
  line-height: 1.14;
}
h1,h2 {
  font-family: var(--font-display);
  letter-spacing: -.035em;
}
h1 {
  font-size: clamp(2.5rem,4.8vw,4.5rem);
}
h2 {
  font-size: clamp(1.8rem,2.6vw,2.75rem);
}
h3 {
  font-size: 1.35rem;
  font-weight: 550;
  letter-spacing: -.025em;
}
p+p {
  margin-top: 1rem;
}
.container {
  width: min(calc(100% - 5rem),var(--wide));
  margin-inline: auto;
}
.skip-link {
  position: absolute;
  left: 1rem;
  top: -5rem;
  background: var(--white);
  padding: .7rem 1rem;
  z-index: 10;
}
.skip-link:focus {
  top: .5rem;
}
.candidate-band {
  background: var(--navy-deep);
  color: #e4e3dc;
  padding: .36rem 2.5rem;
  font-size: .75rem;
  display: flex;
  justify-content: space-between;
  letter-spacing: .025em;
}
.candidate-band span {
  color: #bbbfca;
}
.site-header {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.header-inner {
  min-height: 6.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand {
  display: flex;
  align-items: center;
  gap: .8rem;
  text-decoration: none;
  color: var(--navy);
  white-space: nowrap;
}
.brand img {
  width: 3.1rem;
  height: 2.75rem;
  object-fit: contain;
}
.brand>span {
  font: 1.65rem/1 var(--font-display);
  letter-spacing: -.045em;
}
.brand small {
  display: block;
  margin-top: .55rem;
  font: 600 .75rem/1 var(--font-body);
  letter-spacing: .33em;
}
.primary-nav {
  display: flex;
  align-items: center;
  gap: 1.85rem;
}
.primary-nav a {
  font-size: .9rem;
  text-decoration: none;
  padding: .8rem 0;
  position: relative;
}
.primary-nav a[aria-current=true]:after {
  content: '';
  position: absolute;
  bottom: .3rem;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--gold-ink);
}
.primary-nav a:hover {
  color: #7d602c;
}
.primary-nav .nav-contact {
  border-bottom: 1px solid var(--navy);
  margin-left: .75rem;
  display: flex;
  gap: .7rem;
}
.menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: .6rem;
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  font-size: .875rem;
  color: var(--muted);
  padding-top: 2rem;
}
.breadcrumbs a {
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.collection-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) 12rem;
  gap: 5rem;
  align-items: end;
  padding: 3.5rem 0 4rem;
}
.eyebrow {
  font-size: .75rem;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.2rem;
}
.collection-heading h1 {
  max-width: 57rem;
}
.lead {
  font-size: 1.2rem;
  line-height: 1.6;
  max-width: 41rem;
  margin-top: 1.7rem;
  color: #515767;
}
.collection-note {
  border-top: 2px solid var(--gold);
  padding-top: 1.2rem;
  padding-bottom: .3rem;
}
.section-number {
  font: 3.8rem/1 var(--font-display);
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}
.collection-note p {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.5;
  margin-top: .8rem;
}
.collection-body {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--navy);
  align-items: start;
}
.topic-nav {
  padding-top: .5rem;
}
.topic-nav nav {
  display: flex;
  flex-direction: column;
}
.topic-nav nav a {
  padding: .65rem 0;
  text-decoration: none;
  font-size: .94rem;
  line-height: 1.5;
  color: var(--muted);
}
.topic-nav nav a:hover {
  color: var(--navy);
  text-decoration: underline;
}
.topic-nav nav a[aria-current] {
  color: var(--navy);
  font-weight: 650;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--gold);
}
.aside-tool {
  border-top: 1px solid var(--line);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}
.aside-tool .eyebrow {
  font-size: .75rem;
  letter-spacing: .08em;
  margin-bottom: .75rem;
}
.aside-tool a {
  font: 1.15rem/1.5 var(--font-display);
  text-decoration: none;
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.5rem;
  padding-bottom: 1.6rem;
}
.section-header h2 {
  font-size: 1.55rem;
  letter-spacing: -.025em;
}
.section-header>span {
  font-size: .8rem;
  color: var(--muted);
  white-space: nowrap;
}
.question-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.question-list li {
  border-top: 1px solid var(--line);
}
.question-link {
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr) 1.5rem;
  gap: 1.25rem;
  align-items: start;
  padding: 1.8rem 0 1.9rem;
  text-decoration: none;
}
.question-number {
  color: var(--muted);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.7rem;
}
.question-link h3 {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -.025em;
  max-width: 38rem;
}
.question-link p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
  margin-top: .65rem;
  max-width: 37rem;
}
.question-arrow {
  font-size: 1.35rem;
  color: var(--navy);
  transition: transform .18s ease;
}
.question-link:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.question-link:hover .question-arrow {
  transform: translate(2px,-2px);
}
.question-list li:last-child {
  border-bottom: 1px solid var(--line);
}
.advice-next {
  background: var(--navy);
  color: var(--white);
  margin-block: 5rem 6rem;
  padding: 3rem;
  display: grid;
  grid-template-columns: minmax(0,1fr) 16rem;
  gap: 4rem;
  align-items: center;
}
.advice-next .eyebrow {
  color: #d0bb90;
  font-size: .75rem;
}
.advice-next h2 {
  font-size: 2.25rem;
}
.advice-next p:not(.eyebrow) {
  max-width: 39rem;
  color: #d5d7df;
  margin-top: 1rem;
  font-size: 1rem;
}
.advice-next-action {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
.price {
  font-size: 1.2rem;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.7rem;
  background: var(--white);
  border: 1px solid var(--white);
  color: var(--navy);
  padding: .85rem 1.2rem;
  min-height: 3rem;
  text-decoration: none;
  font-size: .94rem;
  font-weight: 600;
}
.button:hover {
  background: #e9e5da;
}
.small-note {
  font-size: .8rem;
  line-height: 1.5;
  color: #d5d7df;
  max-width: 16rem;
}
.site-footer {
  border-top: 1px solid var(--line);
  padding-top: 3.5rem;
}
.footer-top {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) 1fr 1fr;
  gap: 4rem;
  padding-bottom: 3rem;
}
.footer-brand {
  font: 1.65rem/1.3 var(--font-display);
  text-decoration: none;
  letter-spacing: -.025em;
}
.footer-top>div>p {
  font-size: 1rem;
  margin-top: .65rem;
}
.footer-top>div>.footer-promise {
  font-size: .875rem;
  color: var(--muted);
}
.footer-top nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
}
.footer-top nav .eyebrow {
  margin-bottom: .5rem;
}
.footer-top nav a {
  font-size: .875rem;
  color: #545967;
  text-decoration: none;
}
.footer-top nav a:hover {
  text-decoration: underline;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid var(--line);
  padding-block: 1.5rem 2rem;
  font-size: .75rem;
  color: var(--muted);
}
@media(min-width:1600px) {
  .container {
    width: min(calc(100% - 8rem),var(--wide));
  }
}
@media(max-width:1050px) {
  .container {
    width: calc(100% - 3rem);
  }
  .primary-nav {
    gap: 1.15rem;
  }
  .primary-nav .nav-contact {
    margin-left: 0;
  }
  .brand>span {
    font-size: 1.45rem;
  }
  .brand img {
    width: 2.7rem;
  }
  .header-inner {
    gap: 1rem;
  }
  .collection-heading {
    gap: 3rem;
    grid-template-columns: minmax(0,1fr) 9rem;
  }
  .collection-body {
    grid-template-columns: 12rem minmax(0,1fr);
    gap: 3rem;
  }
  .advice-next {
    gap: 2rem;
    padding: 2.5rem;
  }
  .question-link {
    gap: .8rem;
  }
  .footer-top {
    gap: 2.5rem;
  }
}
@media(max-width:800px) {
  .candidate-band {
    padding-inline: 1.5rem;
  }
  .header-inner {
    min-height: 5.5rem;
    flex-wrap: wrap;
  }
  .menu-toggle {
    display: flex;
    gap: .8rem;
    align-items: center;
    font-size: .875rem;
  }
  .primary-nav {
    display: none;
    flex-basis: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-bottom: 1.5rem;
  }
  .primary-nav.is-open {
    display: flex;
  }
  .primary-nav a {
    padding: .7rem 0;
  }
  .primary-nav a[aria-current=true]:after {
    right: auto;
    width: 2rem;
    bottom: .35rem;
  }
  .primary-nav .nav-contact {
    justify-content: space-between;
    width: 100%;
    margin-top: .8rem;
  }
  .collection-heading {
    padding-top: 2.75rem;
    padding-bottom: 3rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .collection-note {
    display: none;
  }
  .collection-heading h1 {
    font-size: clamp(2.5rem,7vw,3.6rem);
  }
  .lead {
    font-size: 1.125rem;
    max-width: 38rem;
    margin-top: 1.25rem;
  }
  .collection-body {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 1.5rem;
  }
  .topic-nav {
    display: none;
  }
  .section-header {
    padding-bottom: 1rem;
  }
  .advice-next {
    grid-template-columns: 1fr;
    gap: 1.8rem;
    margin-block: 3.5rem 4rem;
  }
  .advice-next-action {
    max-width: 100%;
  }
  .small-note {
    max-width: 25rem;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .footer-top>div {
    grid-column: 1/-1;
  }
  .footer-bottom {
    flex-direction: column;
    gap: .8rem;
  }
}
@media(max-width:480px) {
  .container {
    width: calc(100% - 2.5rem);
  }
  .candidate-band {
    padding: .4rem 1.25rem;
    font-size: .75rem;
  }
  .candidate-band span {
    display: none;
  }
  .brand img {
    width: 2.5rem;
    height: 2.25rem;
  }
  .brand>span {
    font-size: 1.45rem;
  }
  .brand small {
    font-size: .75rem;
    margin-top: .4rem;
  }
  .brand {
    gap: .65rem;
  }
  .breadcrumbs {
    padding-top: 1.35rem;
    font-size: .8rem;
  }
  .collection-heading {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
  .eyebrow {
    font-size: .75rem;
    letter-spacing: .09em;
    margin-bottom: 1rem;
  }
  .collection-heading h1 {
    font-size: 2.7rem;
    line-height: 1.08;
  }
  .desktop-break {
    display: none;
  }
  .lead {
    font-size: 1.05rem;
  }
  .section-header h2 {
    font-size: 1.4rem;
  }
  .section-header>span {
    font-size: .75rem;
  }
  .question-link {
    grid-template-columns: 1.55rem minmax(0,1fr) 1.1rem;
    gap: .55rem;
    padding-block: 1.5rem;
  }
  .question-number {
    font-size: .75rem;
    line-height: 1.45rem;
  }
  .question-link h3 {
    font-size: 1.4rem;
    line-height: 1.22;
  }
  .question-link p {
    font-size: 1rem;
    line-height: 1.6;
  }
  .question-arrow {
    font-size: 1.1rem;
  }
  .advice-next {
    padding: 1.75rem;
  }
  .advice-next h2 {
    font-size: 2rem;
  }
  .advice-next .eyebrow {
    font-size: .75rem;
  }
  .button {
    width: 100%;
    justify-content: space-between;
  }
  .advice-next-action {
    width: 100%;
  }
  .footer-top {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-top>div {
    grid-column: auto;
  }
  .site-footer {
    padding-top: 2.5rem;
  }
  .footer-top nav a {
    font-size: .9rem;
  }
  .footer-bottom {
    font-size: .75rem;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none!important;
  }
}
@media print {
  .candidate-band,.site-header,.topic-nav,.advice-next,.site-footer {
    display: none;
  }
  .container {
    width: 100%;
  }
  .collection-heading {
    padding: 1rem 0;
  }
  .question-link {
    break-inside: avoid;
  }
  .question-arrow {
    display: none;
  }
  body {
    background: white;
    color: black;
  }
}
/* The gold brand accent stays decorative; interactive indicators use a darker tone. */
[tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--white);
}
.table-scroll-hint {
  font-size: .875rem;
  line-height: 1.5;
  color: var(--muted);
  margin: 1.3rem 0 -.8rem;
}
.table-scroll-hint[hidden] {
  display: none;
}
@media print {
  .table-scroll-hint {
    display: none;
  }
}
/* Preserve native hidden semantics when a component otherwise uses flex/grid. */
[hidden] {
  display: none !important;
}

.dossier-intro {
  padding-bottom: 0;
}
.dossier-identity {
  display: grid;
  grid-template-columns: minmax(0,1fr) 17rem;
  gap: 6rem;
  align-items: end;
  padding: 3rem 0 2.8rem;
}
.dossier-identity h1 {
  font-size: 4.5rem;
}
.dossier-identity .lead {
  max-width: 46rem;
  margin-top: 1rem;
  font-size: 1.2rem;
}
.dossier-date {
  border-left: 1px solid var(--line);
  padding-left: 2rem;
  font-size: .875rem;
  color: var(--muted);
}
.dossier-date>strong {
  display: block;
  font: 1.7rem/1.3 var(--font-display);
  color: var(--navy);
  margin: .8rem 0 .35rem;
}
.dossier-date p+p {
  margin-top: .3rem;
}
.status-label {
  display: inline-block;
  border: 1px solid #b6bebd;
  border-radius: 2px;
  padding: .25rem .6rem;
  font-size: .75rem;
  line-height: 1.5;
  color: var(--navy);
  background: #eceee8;
}
.headline-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid var(--line);
  margin: 0;
  padding: 1.75rem 0;
}
.headline-metrics>div {
  padding: 0 1.75rem;
  border-left: 1px solid var(--line);
}
.headline-metrics>div:first-child {
  padding-left: 0;
  border-left: 0;
}
.headline-metrics dt {
  font-size: .875rem;
  color: var(--muted);
}
.headline-metrics dd {
  font: 2.3rem/1.2 var(--font-display);
  letter-spacing: -.04em;
  margin: .5rem 0 .45rem;
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}
.headline-metrics .metric-change {
  display: block;
  font: .8rem/1.65 var(--font-body);
  letter-spacing: 0;
  color: var(--muted);
  margin-top: .45rem;
}
.report-note {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .75rem;
  color: var(--muted);
  padding-block: .75rem 2.5rem;
}
.dossier-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  align-items: start;
}
.dossier-nav {
  position: sticky;
  top: 2rem;
  padding-top: .3rem;
}
.dossier-nav nav {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.dossier-nav nav a {
  display: flex;
  gap: .75rem;
  text-decoration: none;
  font-size: .875rem;
  line-height: 1.5;
  padding: .6rem 0;
}
.dossier-nav nav a span {
  font-size: .75rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.dossier-nav nav a:hover {
  text-decoration: underline;
}
.dossier-nav .aside-tool p:not(.eyebrow) {
  font-size: .875rem;
  color: var(--muted);
  margin-top: .4rem;
}
.dossier-nav .aside-tool strong {
  font-size: .94rem;
  font-weight: 600;
}
.text-button {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  font-size: .875rem;
  padding: .65rem 0;
  cursor: pointer;
  margin-top: 1.5rem;
  color: var(--navy);
}
.dossier-section {
  padding: 0 0 3.5rem;
  margin-bottom: 3.5rem;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 2rem;
}
.section-label {
  display: flex;
  gap: .8rem;
  align-items: baseline;
  margin-bottom: .75rem;
}
.section-label>span {
  font: 1rem/1.5 var(--font-display);
  color: var(--gold-ink);
}
.section-label .eyebrow {
  margin: 0;
}
.dossier-section h2 {
  font-size: 2.5rem;
}
.section-deck {
  margin: 1rem 0 1.7rem;
  color: var(--muted);
  font-size: 1rem;
  max-width: 45rem;
}
.reading-prose {
  font-size: 1.125rem;
  line-height: 1.75;
  max-width: 47rem;
}
.reading-prose p+p {
  margin-top: 1.4rem;
}
.dossier-section h2+.reading-prose {
  margin-top: 1.5rem;
}
.paragraph-sources {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  font-size: .75rem;
  line-height: 1.6;
  margin: .85rem 0 1.65rem;
  color: var(--muted);
}
.paragraph-sources a {
  text-decoration: none;
  border-bottom: 1px solid #c5c8c4;
}
.paragraph-sources a:hover {
  color: var(--navy);
}
.paragraph-sources:last-child {
  margin-bottom: 0;
}
.analysis-section {
  background: #eeeee6;
  padding: 2rem;
  margin-inline: -2rem;
  border-top: 2px solid var(--gold);
}
.analysis-section .approved-analysis {
  font-size: 1.125rem;
  line-height: 1.8;
}
.content-note {
  font-size: .875rem;
  line-height: 1.65;
  color: var(--muted);
  margin-top: 1.25rem;
  max-width: 46rem;
}
.detail-panel {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 1.75rem;
  padding: 0;
}
.detail-panel summary {
  font-size: .94rem;
  font-weight: 600;
  cursor: pointer;
  padding: 1rem 0;
  min-height: 3rem;
}
.detail-panel>p {
  font-size: .94rem;
  color: var(--muted);
  margin-bottom: 1rem;
}
.detail-panel>div {
  margin-bottom: 1rem;
}
.watchpoint-list {
  margin: 0 0 1.5rem;
  padding-left: 1.3rem;
  font-size: 1rem;
  line-height: 1.65;
}
.watchpoint-list li {
  padding-left: .4rem;
  margin-block: .8rem;
}
.table-region {
  overflow-x: auto;
  max-width: 100%;
  margin-top: 1.75rem;
}
.financial-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}
.financial-table caption {
  text-align: left;
  font-size: .875rem;
  line-height: 1.6;
  color: var(--muted);
  padding: 0 0 1rem;
  max-width: 44rem;
}
.financial-table thead th {
  font-size: .8rem;
  line-height: 1.5;
  font-weight: 600;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
  background: var(--paper);
  color: var(--muted);
  text-align: right;
  padding: .9rem 1rem;
}
.financial-table th:first-child {
  text-align: left;
  padding-left: 0;
}
.financial-table td {
  text-align: right;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.financial-table tbody th {
  text-align: left;
  padding: 1rem 1rem 1rem 0;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
  font-weight: 500;
  line-height: 1.5;
  width: 48%;
}
.financial-table td:nth-child(2) {
  font-weight: 600;
  color: var(--navy);
}
.financial-table td:last-child,.financial-table th:last-child {
  padding-right: 0;
}
.financial-table small {
  display: block;
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 400;
  color: var(--muted);
  margin-top: .3rem;
}
.financial-table tbody tr:hover {
  background: #efeee7;
}
.wide-table table {
  min-width: 43rem;
}
.wide-table .financial-table tbody th {
  width: 30%;
}
.event-list {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
}
.event-list li {
  display: grid;
  grid-template-columns: 11rem minmax(0,1fr);
  gap: 1.5rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--line);
}
.event-list time {
  font-size: .94rem;
  font-variant-numeric: tabular-nums;
}
.event-list h3 {
  font-size: 1rem;
  font-family: var(--font-body);
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0;
}
.event-list p {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.55;
  margin-top: .3rem;
}
.source-list {
  list-style: decimal-leading-zero;
  padding-left: 1.6rem;
  margin: 1.5rem 0 0;
}
.source-list li {
  padding: .9rem 0 .9rem .7rem;
  border-top: 1px solid var(--line);
  font-size: 1rem;
}
.source-list li::marker {
  font-size: .75rem;
  color: var(--muted);
}
.source-list a {
  text-decoration: none;
}
.source-list a:hover {
  text-decoration: underline;
}
.source-list p {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.6;
  margin-top: .4rem;
}
.supporting-sources {
  padding-left: 1.2rem;
  font-size: .94rem;
}
.supporting-sources li {
  margin: .8rem 0;
}
.research-next {
  border-left: 3px solid var(--gold);
  padding: 0 0 0 1.75rem;
  margin-bottom: 2.5rem;
}
.research-next h2 {
  font-size: 2rem;
}
.research-next>p:not(.eyebrow) {
  font-size: 1rem;
  color: var(--muted);
  max-width: 39rem;
  margin: 1rem 0;
}
.text-link {
  font-size: .94rem;
  font-weight: 600;
  display: inline-flex;
  gap: 1rem;
  align-items: center;
}
.research-disclosure {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.6;
  padding-bottom: 4rem;
  max-width: 48rem;
}
@media(max-width:1050px) {
  .dossier-identity {
    gap: 3rem;
    grid-template-columns: minmax(0,1fr) 13rem;
  }
  .headline-metrics>div {
    padding-inline: 1.2rem;
  }
  .headline-metrics dd {
    font-size: 1.8rem;
  }
  .dossier-layout {
    grid-template-columns: 12rem minmax(0,1fr);
    gap: 3rem;
  }
  .dossier-section h2 {
    font-size: 2.2rem;
  }
  .analysis-section {
    margin-inline: -1.5rem;
    padding: 1.5rem;
  }
  .financial-table {
    font-size: 1rem;
  }
  .financial-table tbody th {
    width: 44%;
  }
  .financial-table td,.financial-table thead th {
    padding-inline: .6rem;
  }
  .event-list li {
    grid-template-columns: 8.5rem minmax(0,1fr);
    gap: 1rem;
  }
}
@media(max-width:800px) {
  .dossier-identity {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2.5rem 0 2rem;
  }
  .dossier-identity h1 {
    font-size: 3.6rem;
  }
  .dossier-identity .lead {
    font-size: 1.1rem;
  }
  .dossier-date {
    border: 0;
    padding: 0;
    display: flex;
    gap: .6rem 1.2rem;
    align-items: center;
    flex-wrap: wrap;
    font-size: .8rem;
  }
  .dossier-date>strong {
    font: 600 .875rem/1.5 var(--font-body);
    margin: 0;
  }
  .dossier-date p+p {
    margin-top: 0;
  }
  .headline-metrics>div {
    padding-inline: 1rem;
  }
  .headline-metrics dd {
    font-size: 1.65rem;
  }
  .headline-metrics dt {
    font-size: .875rem;
  }
  .headline-metrics .metric-change {
    font-size: .75rem;
  }
  .report-note {
    padding-bottom: 1.75rem;
  }
  .dossier-layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .dossier-nav {
    position: static;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--line);
  }
  .dossier-nav>.eyebrow,.dossier-nav>.aside-tool,.dossier-nav>.text-button {
    display: none;
  }
  .dossier-nav nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .2rem 1.2rem;
  }
  .dossier-nav nav a {
    font-size: .875rem;
    padding: .4rem 0;
  }
  .dossier-nav nav a>span {
    display: none;
  }
  .dossier-section {
    margin-bottom: 2.75rem;
    padding-bottom: 2.75rem;
  }
  .dossier-section h2 {
    font-size: 2.25rem;
  }
  .reading-prose {
    font-size: 1.1rem;
    line-height: 1.75;
    max-width: none;
  }
  .analysis-section {
    margin-inline: 0;
    padding: 1.75rem;
  }
  .financial-table tbody th {
    width: 48%;
  }
}
@media(max-width:480px) {
  .dossier-identity {
    padding-top: 2rem;
  }
  .dossier-identity h1 {
    font-size: 3.4rem;
  }
  .dossier-identity .eyebrow {
    font-size: .75rem;
  }
  .dossier-identity .lead {
    font-size: 1.05rem;
  }
  .dossier-date {
    gap: .5rem 1rem;
  }
  .dossier-date>.status-label {
    width: max-content;
  }
  .headline-metrics {
    grid-template-columns: 1fr 1fr;
    padding: 0;
  }
  .headline-metrics>div {
    padding: 1.15rem 0;
    border-left: 0;
  }
  .headline-metrics>div:nth-child(even) {
    padding-left: 1rem;
    border-left: 1px solid var(--line);
  }
  .headline-metrics>div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
  .headline-metrics dd {
    font-size: 1.9rem;
  }
  .headline-metrics dt {
    font-size: .875rem;
  }
  .headline-metrics .metric-change {
    font-size: .75rem;
  }
  .report-note {
    flex-direction: column;
    gap: .3rem;
    padding: 1rem 0 1.25rem;
  }
  .dossier-nav nav {
    gap: .15rem 1.1rem;
  }
  .dossier-nav nav a {
    font-size: .875rem;
  }
  .dossier-section h2 {
    font-size: 2.15rem;
  }
  .section-deck {
    font-size: 1rem;
  }
  .reading-prose,.analysis-section .approved-analysis {
    font-size: 1.0625rem;
    line-height: 1.8;
  }
  .paragraph-sources {
    font-size: .75rem;
    display: block;
  }
  .paragraph-sources a {
    display: inline-block;
    margin-right: .7rem;
    margin-bottom: .4rem;
  }
  .analysis-section {
    padding: 1.5rem;
  }
  .section-label .eyebrow {
    font-size: .75rem;
    letter-spacing: .07em;
  }
  .financial-table {
    font-size: 1rem;
    line-height: 1.5;
    min-width: 34rem;
  }
  .financial-table thead th {
    font-size: .875rem;
    padding: .75rem .65rem;
  }
  .financial-table td {
    padding: .9rem .4rem;
  }
  .financial-table tbody th {
    width: 12rem;
    padding-right: .8rem;
  }
  .financial-table small {
    font-size: .75rem;
  }
  .event-list li {
    grid-template-columns: 1fr;
    gap: .35rem;
    padding: 1rem 0;
  }
  .event-list time {
    font-size: .875rem;
    font-weight: 600;
  }
  .event-list h3 {
    font-weight: 500;
    font-size: 1rem;
  }
  .research-next {
    padding-left: 1.3rem;
  }
  .research-next h2 {
    font-size: 1.8rem;
  }
  .source-list li {
    font-size: 1rem;
    overflow-wrap: anywhere;
  }
}
@media print {
  .dossier-nav,.research-next {
    display: none;
  }
  .dossier-layout {
    display: block;
  }
  .dossier-identity {
    padding: 1rem 0;
  }
  .dossier-section {
    break-inside: auto;
  }
  .dossier-section h2 {
    break-after: avoid;
  }
  .financial-table tr {
    break-inside: avoid;
  }
  .table-region {
    overflow: visible;
  }
  .research-disclosure {
    padding-bottom: 0;
  }
  .analysis-section {
    margin: 0;
    padding: 1rem;
  }
  .dossier-date,.report-note {
    color: black;
  }
}
/* Shared research components: narrative, approved evidence and complete records. */
.dossier-content {
  min-width: 0;
}
.analytical-headline {
  max-width: 58rem;
  padding: 0 0 3rem;
}
.analytical-headline h2 {
  font-size: 2rem;
  line-height: 1.35;
  letter-spacing: -.025em;
}
.management-prose h3,.analysis-subheading,.capital-record h3,.original-evidence-boundary h3,.record-questions h3 {
  font: 600 1.0625rem/1.5 var(--font-body);
  letter-spacing: 0;
  margin: 1.75rem 0 .7rem;
}
.management-prose h3:first-child {
  margin-top: 0;
}
.analysis-evidence {
  padding-left: 1.3rem;
  margin: 1rem 0;
  font-size: 1rem;
  line-height: 1.75;
}
.analysis-evidence li {
  padding-left: .3rem;
  margin: .6rem 0;
}
.analysis-evidence-label {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: .15rem;
}
.capital-attribution {
  margin-top: 1.75rem;
}
.analysis-section .watchpoint-list .content-note {
  font-size: .75rem;
  margin-top: .5rem;
}
.capital-record+.capital-record {
  border-top: 1px solid var(--line);
  margin-top: 1.75rem;
}
.capital-record h3 span {
  display: block;
  font-weight: 400;
  font-size: .875rem;
  color: var(--muted);
}
.accountability-record {
  list-style: none;
  margin: 0;
  padding: 0;
}
.accountability-record li {
  padding: 1.25rem 0;
  border-top: 1px solid var(--line);
}
.accountability-record h3 {
  font: 600 1rem/1.5 var(--font-body);
  letter-spacing: 0;
  margin-bottom: .65rem;
}
.accountability-record p {
  font-size: 1rem;
  line-height: 1.65;
}
.accountability-record .content-note {
  margin-top: .7rem;
}
.outcome-status {
  display: inline-block;
  border-bottom: 2px solid var(--gold);
  margin-top: .65rem;
  font-weight: 600;
}
.five-column-table table {
  min-width: 43rem;
}
.five-column-table .financial-table tbody th {
  width: 29%;
}
.five-column-table .financial-table td:last-child {
  width: 18%;
  font-size: .8rem;
  text-align: left;
}
.five-column-table .financial-table td:nth-child(4) {
  font-size: .875rem;
}
.five-column-table .financial-table td {
  overflow-wrap: normal;
}
.history-table table {
  min-width: 35rem;
}
.history-table .financial-table tbody th {
  width: 25%;
}
.history-table .financial-table td {
  font-size: .875rem;
}
.dividend-events {
  list-style: none;
  margin: 1rem 0;
  padding: 0;
}
.dividend-events li {
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}
.dividend-events h4 {
  font: 600 1rem/1.5 var(--font-body);
  letter-spacing: 0;
  margin-bottom: 1rem;
}
.dividend-events dl {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin: 0;
}
.dividend-events dt {
  font-size: .8rem;
  color: var(--muted);
}
.dividend-events dd {
  margin: .25rem 0 0;
  font-size: .94rem;
  line-height: 1.5;
}
.dividend-record {
  margin: 0;
}
.dividend-record>div {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 1rem;
  border-top: 1px solid var(--line);
  padding: 1rem 0;
}
.dividend-record dt {
  font-size: .875rem;
  line-height: 1.6;
}
.dividend-record dd {
  margin: 0;
  font-size: .875rem;
  line-height: 1.6;
}
.dividend-record dd strong,.dividend-record dd span {
  display: block;
}
.dividend-record dd span {
  margin-top: .3rem;
  color: var(--muted);
}
.record-questions p {
  font-size: .94rem;
  line-height: 1.65;
}
.record-questions .content-note {
  font-size: .75rem;
  margin-top: .5rem;
}
.original-evidence-boundary {
  margin-top: 2rem;
}
@media(max-width:800px) {
  .analytical-headline {
    padding-bottom: 1.75rem;
  }
  .analytical-headline h2 {
    font-size: 1.75rem;
  }
}
@media(max-width:480px) {
  .analytical-headline h2 {
    font-size: 1.6rem;
  }
  .dividend-events dl {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .dividend-events dl>div {
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: .5rem;
  }
  .dividend-events dd {
    margin: 0;
  }
  .dividend-record>div {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}
@media print {
  .five-column-table table,.history-table table {
    min-width: 0;
    font-size: 8pt;
  }
  .five-column-table .financial-table td {
    font-size: 8pt;
  }
  .analytical-headline {
    padding-bottom: 1rem;
  }
}
@media(max-width:480px) {
  .financial-table th:first-child {
    position: sticky;
    left: 0;
    background: var(--paper);
    z-index: 1;
    box-shadow: 1px 0 0 var(--line);
  }
  .financial-table thead th:first-child {
    z-index: 2;
  }
  .financial-table caption {
    max-width: calc(100vw - 4rem);
  }
  .five-column-table .financial-table tbody th {
    width: 12rem;
  }
  .financial-table td {
    padding-inline: .65rem;
  }
}
@media(max-width:360px) {
  .financial-table tbody th,.five-column-table .financial-table tbody th {
    width: 8rem;
  }
  .financial-table th:first-child {
    max-width: 8rem;
    overflow-wrap: break-word;
  }
}
@media(max-width:360px) {
  .dossier-identity {
    grid-template-columns: minmax(0,1fr);
  }
  .dossier-identity h1 {
    font-size: 3rem;
  }
  .headline-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .headline-metrics>div {
    min-width: 0;
  }
  .headline-metrics dd {
    font-size: 1.5rem;
    overflow-wrap: anywhere;
  }
}

.mobile-topic-nav {
  display: none;
}
.library-intro>.eyebrow {
  margin-top: 3rem;
}
.library-intro h1 {
  font-size: 4.5rem;
}
.library-index-meta {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid var(--line);
  padding-top: 1.3rem;
  margin-top: 2.5rem;
  color: var(--muted);
  font-size: .875rem;
}
.library-index-meta a {
  color: var(--navy);
  font-weight: 500;
}
.featured-questions {
  margin-top: 3rem;
}
.section-header>p {
  font-size: .875rem;
  color: var(--muted);
}
.featured-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid var(--line);
}
.featured-question {
  padding: 2rem;
  text-decoration: none;
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.featured-question:first-child {
  padding-left: 0;
  border-left: 0;
}
.featured-question:last-child {
  padding-right: 0;
}
.featured-question h3 {
  font: 2rem/1.25 var(--font-display);
  letter-spacing: -.03em;
  max-width: 19rem;
  margin-bottom: 1.5rem;
}
.featured-question>.text-link {
  margin-top: auto;
  font-size: .875rem;
}
.featured-question:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.topic-directory {
  margin-top: 4rem;
}
.topic-directory>.section-header h2 {
  font-size: 2.4rem;
}
.topic-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.5rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 1.5rem;
  font-size: .875rem;
}
.topic-jumps a {
  text-decoration: none;
  color: var(--muted);
}
.topic-jumps a:hover {
  color: var(--navy);
  text-decoration: underline;
}
.topic-section {
  display: grid;
  grid-template-columns: 19rem minmax(0,1fr);
  gap: 5rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 2rem;
}
.topic-description h3 {
  font: 2.1rem/1.2 var(--font-display);
  letter-spacing: -.03em;
}
.topic-description p:not(.eyebrow) {
  font-size: .94rem;
  color: var(--muted);
  line-height: 1.6;
  margin-top: .8rem;
}
.topic-description .eyebrow {
  margin-bottom: .75rem;
}
.topic-questions {
  list-style: none;
  padding: 0;
  margin: 0;
}
.topic-questions li+li {
  border-top: 1px solid var(--line);
}
.topic-questions a {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  text-decoration: none;
  padding: .9rem 0;
  font-size: 1.1rem;
  line-height: 1.5;
}
.topic-questions a:hover {
  text-decoration: underline;
}
.topic-questions a span {
  font-size: 1.1rem;
  flex-shrink: 0;
}
.topic-more {
  margin-top: 1.2rem;
  font-size: .875rem;
}
.deeper-reading {
  background: var(--pale);
  padding: 2.5rem;
  margin-top: 4rem;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 5rem;
}
.deeper-reading h2 {
  font-size: 2.4rem;
}
.deeper-reading p:not(.eyebrow) {
  font-size: 1rem;
  color: var(--muted);
  margin-top: 1rem;
  max-width: 35rem;
}
.deeper-reading nav {
  display: flex;
  flex-direction: column;
}
.deeper-reading nav a {
  font-size: .94rem;
  padding: .75rem 0;
  border-bottom: 1px solid #c9ccc6;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
}
.deeper-reading nav a:hover {
  text-decoration: underline;
}
.article-title {
  max-width: 62rem;
  margin-block: 3.25rem 2.75rem;
}
.article-title h1 {
  font-size: clamp(2.5rem,4vw,3.8rem);
  line-height: 1.14;
  max-width: 60rem;
}
.article-byline {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  margin-top: 1.6rem;
  font-size: .8rem;
  color: var(--muted);
}
.article-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  align-items: start;
  border-top: 2px solid var(--navy);
  padding-top: 2.3rem;
}
.article-nav {
  position: sticky;
  top: 2rem;
}
.article-nav nav {
  display: flex;
  flex-direction: column;
  gap: .9rem;
}
.article-nav nav a {
  font-size: .875rem;
  line-height: 1.5;
  text-decoration: none;
  color: var(--muted);
}
.article-nav nav a:hover {
  color: var(--navy);
  text-decoration: underline;
}
.back-link {
  display: inline-block;
  font-size: .875rem;
  margin-top: 2rem;
  line-height: 1.5;
}
.article-prose {
  max-width: 46rem;
  font-size: 1.125rem;
  line-height: 1.8;
}
.article-prose>p:first-of-type {
  font: 1.2rem/1.75 var(--font-body);
  letter-spacing: 0;
}
.article-prose p+p {
  margin-top: 1.35rem;
}
.article-prose h2 {
  font-size: 2.2rem;
  margin: 2.75rem 0 1.25rem;
  line-height: 1.2;
  scroll-margin-top: 2rem;
}
.article-prose h3 {
  font: 600 1.2rem/1.4 var(--font-body);
  margin: 2rem 0 1rem;
}
.article-prose a {
  color: #32586a;
  text-decoration-thickness: 1px;
}
.article-prose strong {
  font-weight: 650;
}
.article-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}
.article-prose caption {
  text-align: left;
  font-size: .875rem;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 1rem;
}
.article-prose td,.article-prose th {
  padding: 1rem;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: top;
}
.article-prose thead th {
  background: #eeeee6;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--navy);
  font-size: .875rem;
  font-weight: 600;
}
.article-prose th:first-child {
  text-align: left;
  padding-left: .75rem;
  font-weight: 500;
}
.article-prose footer {
  font-size: .875rem;
  line-height: 1.7;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
  margin-top: 2rem;
}
.article-prose footer small {
  font-size: inherit;
}
.article-follow-on {
  border-top: 1px solid var(--line);
  margin-top: 4rem;
  padding-block: 2.5rem 5rem;
}
.article-follow-on>a {
  font-size: 1rem;
  display: inline-flex;
  gap: 2rem;
}
.question-content .question-list h3 {
  font-size: 1.5rem;
  max-width: 41rem;
  line-height: 1.3;
}
.question-content .question-link {
  padding-block: 1.55rem;
}
@media(max-width:1050px) {
  .topic-section {
    grid-template-columns: 15rem minmax(0,1fr);
    gap: 3rem;
  }
  .featured-question {
    padding: 1.5rem;
  }
  .featured-question h3 {
    font-size: 1.7rem;
  }
  .article-layout {
    grid-template-columns: 12rem minmax(0,1fr);
    gap: 3rem;
  }
  .deeper-reading {
    gap: 3rem;
  }
  .article-prose {
    font-size: 1.1rem;
  }
}
@media(max-width:800px) {
  .mobile-topic-nav {
    display: block;
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.5rem;
  }
  .mobile-topic-nav summary {
    font-size: .875rem;
    padding: .65rem 0 1rem;
    cursor: pointer;
  }
  .mobile-topic-nav nav {
    display: flex;
    flex-direction: column;
    padding-bottom: 1rem;
  }
  .mobile-topic-nav nav a {
    font-size: .94rem;
    padding: .5rem 0;
    text-decoration: none;
  }
  .library-intro h1 {
    font-size: 3.5rem;
  }
  .library-intro>.eyebrow {
    margin-top: 2.3rem;
  }
  .featured-grid {
    grid-template-columns: 1fr;
  }
  .featured-question,.featured-question:first-child,.featured-question:last-child {
    border-left: 0;
    border-bottom: 1px solid var(--line);
    padding: 1.5rem 0;
  }
  .featured-question:last-child {
    border-bottom: 0;
  }
  .featured-question h3 {
    max-width: none;
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .featured-question .eyebrow {
    margin-bottom: .7rem;
  }
  .featured-question>.text-link {
    font-size: .875rem;
  }
  .topic-directory {
    margin-top: 3rem;
  }
  .topic-section {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-block: 2rem;
  }
  .topic-description h3 {
    font-size: 2rem;
  }
  .topic-description p:not(.eyebrow) {
    max-width: 36rem;
  }
  .topic-description .eyebrow {
    margin-bottom: .5rem;
  }
  .deeper-reading {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
  }
  .deeper-reading h2 {
    font-size: 2rem;
  }
  .article-title {
    margin-top: 2.5rem;
    margin-bottom: 2.25rem;
  }
  .article-title h1 {
    font-size: 3rem;
  }
  .article-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .article-nav {
    display: none;
  }
  .article-prose {
    max-width: none;
  }
  .article-prose>p:first-of-type {
    font-size: 1.2rem;
  }
  .article-prose h2 {
    font-size: 2rem;
  }
  .section-header>p {
    display: none;
  }
}
@media screen and (max-width:480px) {
  .library-intro h1 {
    font-size: 2.8rem;
  }
  .library-index-meta {
    flex-direction: column;
    gap: .7rem;
    margin-top: 1.8rem;
  }
  .library-index-meta>a {
    width: max-content;
  }
  .featured-questions {
    margin-top: 2.25rem;
  }
  .featured-question h3 {
    font-size: 1.8rem;
  }
  .topic-directory>.section-header h2 {
    font-size: 2.1rem;
  }
  .topic-jumps {
    gap: .6rem 1rem;
    font-size: .875rem;
  }
  .topic-description h3 {
    font-size: 1.9rem;
  }
  .topic-questions a {
    font-size: 1rem;
    gap: 1rem;
  }
  .deeper-reading {
    padding: 1.5rem;
    margin-top: 2.5rem;
  }
  .article-title h1 {
    font-size: 2.35rem;
    line-height: 1.15;
  }
  .article-title .eyebrow {
    font-size: .75rem;
  }
  .article-title {
    margin-top: 2rem;
  }
  .article-byline {
    font-size: .75rem;
    gap: .5rem;
  }
  .article-layout {
    padding-top: 1.6rem;
  }
  .article-prose {
    font-size: 1.0625rem;
    line-height: 1.8;
  }
  .article-prose>p:first-of-type {
    font-size: 1.125rem;
  }
  .article-prose h2 {
    font-size: 1.85rem;
  }
  .article-prose table {
    font-size: 1rem;
    min-width: 34rem;
  }
  .article-prose .article-table-compact table {
    min-width: 0;
  }
  .article-prose .article-table-three-columns th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--paper);
    box-shadow: 1px 0 0 var(--line);
  }
  .article-prose .article-table-three-columns thead th:first-child {
    background: #eeeee6;
  }
  .article-prose td,.article-prose th {
    padding: .8rem .5rem;
  }
  .article-prose thead th {
    font-size: .875rem;
  }
  .article-prose caption {
    font-size: .8rem;
  }
  .article-prose footer {
    font-size: .875rem;
  }
  .question-content .question-list h3 {
    font-size: 1.4rem;
  }
  .question-content .question-link {
    padding-block: 1.4rem;
  }
}
@media print {
  .article-nav,.article-follow-on,.mobile-topic-nav,.topic-jumps {
    display: none;
  }
  .article-layout {
    display: block;
  }
  .article-title {
    margin: 1rem 0;
  }
  .article-prose {
    max-width: none;
  }
  .article-prose table tr {
    break-inside: avoid;
  }
  .article-prose h2 {
    break-after: avoid;
  }
}
.article-prose .table-region {
  margin-bottom: 1.5rem;
}
.article-prose {
  min-width: 0;
}
.mobile-article-nav {
  display: none;
}
@media(max-width:800px) {
  .mobile-article-nav {
    display: block;
    border-block: 1px solid var(--line);
    margin-block: 1.75rem 2.5rem;
    padding-block: .4rem;
  }
  .mobile-article-nav summary {
    font-size: .94rem;
    font-weight: 600;
    padding: .8rem 0;
    cursor: pointer;
  }
  .mobile-article-nav nav {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding-block: .5rem 1rem;
  }
  .mobile-article-nav nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: .94rem;
    line-height: 1.5;
  }
}
@media print {
  .mobile-article-nav {
    display: none;
  }
}
.article-downloads {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}
.article-downloads ul {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.article-downloads li {
  padding: 1.25rem 0;
  border-top: 1px solid var(--line);
}
.article-downloads li>a {
  display: inline-block;
  font-weight: 650;
  padding: .25rem 0;
  text-underline-offset: .2em;
}
.article-downloads li p {
  margin: .5rem 0;
  font-size: 1rem;
  line-height: 1.65;
}
.article-downloads li .small-note {
  max-width: none;
  font-size: .875rem;
  color: var(--muted);
}
@media screen and (max-width:480px) {
  /* Show two complete columns at each end of a three-column comparison.
     Equal relative widths avoid a misleading sliver beside the fixed label. */
  .article-prose .article-table-three-columns table {
    table-layout: fixed;
    width: 150%;
    min-width: 0;
    font-size: 1rem;
  }
  .article-prose .article-table-three-columns th:first-child,
  .article-prose .article-table-three-columns td:first-child {
    width: 33.333333%;
    white-space: normal;
    overflow-wrap: break-word;
  }
  .article-prose caption {
    max-width: calc(100vw - 4rem);
    font-size: .875rem;
    position: sticky;
    left: 0;
  }
}

.button-navy {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}
.button-navy:hover {
  background: var(--navy-deep);
}
.home-hero {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: 5rem;
  align-items: center;
  padding-block: 4rem 4.5rem;
}
.home-hero h1 {
  font-size: clamp(3.5rem,4.8vw,4.75rem);
  line-height: 1.06;
  max-width: 15ch;
}
.home-hero .lead {
  font-size: 1.125rem;
  max-width: 31rem;
  margin-top: 1.6rem;
}
.home-hero .button {
  margin-top: 2rem;
}
.hero-clarification {
  font-size: .8rem;
  line-height: 1.6;
  color: var(--muted);
  max-width: 30rem;
  margin-top: .9rem;
}
.home-portrait {
  margin: 0;
  position: relative;
  background: #fefefe;
  align-self: stretch;
  min-height: 32rem;
  border-bottom: 3px solid var(--gold);
}
.home-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: 50% 47%;
}
.home-portrait figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.15rem 1.5rem;
  background: var(--navy);
  color: var(--white);
}
.home-portrait figcaption strong {
  display: block;
  font: 1.3rem/1.4 var(--font-display);
}
.home-portrait figcaption span {
  display: block;
  font-size: .8rem;
  color: #d5d8e0;
  margin-top: .2rem;
}
.home-positioning {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 7rem;
  padding-block: 3.5rem 4.5rem;
  border-top: 1px solid var(--line);
}
.home-positioning h2 {
  font-size: 3.4rem;
  line-height: 1.1;
}
.home-positioning-copy {
  font-size: 1.125rem;
  line-height: 1.75;
  max-width: 37rem;
}
.quiet-emphasis {
  border-left: 2px solid var(--gold);
  padding-left: 1.2rem;
  font-size: 1rem;
  color: #505868;
  margin-top: 1.5rem;
}
.service-section {
  padding-bottom: 5rem;
}
.service-section>.section-header {
  padding-bottom: 1.5rem;
}
.service-section>.section-header h2 {
  font-size: 2.5rem;
}
.service-rows {
  border-top: 2px solid var(--navy);
}
.service-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0,1fr) minmax(0,1.3fr);
  gap: 2.2rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.service-number {
  font-size: .875rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.service-name .eyebrow {
  font-size: .75rem;
  letter-spacing: .08em;
  margin-bottom: .8rem;
}
.service-name .service-row-title {
  font: 2.1rem/1.2 var(--font-display);
  max-width: 20rem;
}
.service-explanation>p {
  font-size: 1rem;
  line-height: 1.7;
  max-width: 35rem;
  color: #505767;
}
.service-explanation .service-fee {
  font-size: .875rem;
  font-weight: 600;
  color: var(--navy);
  margin-top: .9rem;
}
.service-explanation>.text-link {
  margin-top: 1.4rem;
  font-size: .875rem;
}
.home-fee-section {
  background: var(--navy);
  color: var(--white);
  padding-block: 4rem;
}
.home-fee-inner {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 7rem;
  align-items: start;
}
.home-fee-inner .eyebrow {
  color: #d8bf95;
  letter-spacing: .08em;
}
.home-fee-inner h2 {
  font-size: 3.1rem;
  line-height: 1.15;
}
.home-fee-inner>div>p:not(.eyebrow) {
  color: #d3d7e0;
  font-size: 1rem;
  max-width: 33rem;
  margin-top: 1.5rem;
}
.home-fee-inner>div>.text-link {
  color: var(--white);
  margin-top: 1.75rem;
}
.fee-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  padding-top: .15rem;
}
.fee-pair>div {
  border-top: 1px solid #788295;
  padding-top: 1.4rem;
}
.fee-pair>div>span {
  font-size: .875rem;
  color: #d3d7e0;
}
.fee-pair strong {
  display: block;
  font: 2.4rem/1.3 var(--font-display);
  margin-top: .9rem;
  white-space: nowrap;
  letter-spacing: -.035em;
}
.fee-pair strong small {
  font: .8rem/1.5 var(--font-body);
  color: #d3d7e0;
  letter-spacing: 0;
}
.fee-pair>div p {
  font-size: .875rem;
  line-height: 1.7;
  margin-top: .8rem;
  color: #d3d7e0;
}
.fee-pair .fee-boundary {
  grid-column: 1/-1;
  margin: 0;
  font-size: .8rem;
  line-height: 1.7;
  color: #c9ced8;
  max-width: 36rem;
}
.home-discovery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7rem;
  padding-top: 4.5rem;
}
.home-discovery h2 {
  font-size: 3rem;
}
.home-discovery p:not(.eyebrow) {
  font-size: 1.05rem;
  color: var(--muted);
  margin-top: 1.4rem;
  max-width: 34rem;
}
.home-discovery nav {
  border-top: 1px solid var(--navy);
}
.home-discovery nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  text-decoration: none;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line);
  font: 1.8rem/1.4 var(--font-display);
}
.home-discovery nav small {
  display: block;
  font: .75rem/1.5 var(--font-body);
  color: var(--muted);
  margin-bottom: .4rem;
}
.home-discovery nav a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.closing-wrap {
  padding-block: 4.5rem 5rem;
}
.commercial-closing {
  border-top: 2px solid var(--gold);
  background: var(--pale);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 4rem;
  padding: 2.75rem;
  align-items: center;
}
.commercial-closing h2 {
  font-size: 2.5rem;
  max-width: 38rem;
}
.commercial-closing p:not(.eyebrow) {
  font-size: 1rem;
  color: var(--muted);
  max-width: 38rem;
  margin-top: 1.2rem;
}
.commercial-closing .button {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
  max-width: 22rem;
  text-align: left;
}
.commercial-closing .button:hover {
  background: var(--navy-deep);
}
.commercial-intro {
  padding-block: 4rem;
}
.commercial-intro>h1 {
  max-width: 55rem;
  font-size: 4.2rem;
}
.commercial-intro>.lead {
  max-width: 43rem;
}
.service-directory {
  padding-bottom: 4rem;
}
.engagement-section {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 6rem;
  border-top: 1px solid var(--line);
  padding-top: 3rem;
}
.engagement-section h2 {
  font-size: 2.8rem;
}
.engagement-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.engagement-steps li {
  display: flex;
  gap: 1.5rem;
  padding-block: 1.3rem;
  border-top: 1px solid var(--line);
}
.engagement-steps li:first-child {
  padding-top: 0;
  border-top: 0;
}
.engagement-steps li>span {
  font-size: .875rem;
  color: var(--muted);
}
.engagement-steps h3 {
  font: 500 1.2rem/1.45 var(--font-body);
  letter-spacing: -.02em;
}
.engagement-steps p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.65;
  margin-top: .65rem;
  max-width: 37rem;
}
.service-intro {
  padding-top: 0;
  padding-bottom: 3rem;
}
.service-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) 20rem;
  gap: 6rem;
  padding-top: 3.5rem;
  align-items: start;
}
.service-hero h1 {
  font-size: 4rem;
  max-width: 49rem;
}
.service-hero .lead {
  font-size: 1.2rem;
  max-width: 43rem;
  margin-top: 1.5rem;
}
.service-hero .button {
  margin-top: 1.75rem;
}
.engagement-summary {
  border-top: 2px solid var(--gold);
  background: var(--pale);
  padding: 1.5rem 1.75rem;
}
.engagement-summary>strong {
  display: block;
  font: 1.8rem/1.25 var(--font-display);
  letter-spacing: -.025em;
}
.engagement-summary>p:not(.eyebrow) {
  font-size: .875rem;
  color: var(--muted);
  margin-top: .65rem;
}
.engagement-summary dl {
  margin: 1.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.engagement-summary dt {
  font-size: .75rem;
  color: var(--muted);
}
.engagement-summary dd {
  font-size: 1rem;
  margin: .4rem 0 0;
  line-height: 1.5;
}
.engagement-summary>.summary-note {
  font-size: .8rem;
  line-height: 1.6;
  margin-top: 1.1rem;
}
.engagement-summary .text-link {
  font-size: .875rem;
  margin-top: 1.2rem;
}
.service-content-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  align-items: start;
  border-top: 1px solid var(--navy);
  padding-top: 2.5rem;
}
.service-section-nav {
  position: sticky;
  top: 2rem;
}
.service-section-nav nav {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.service-section-nav a {
  font-size: .875rem;
  line-height: 1.5;
  color: var(--muted);
  text-decoration: none;
}
.service-section-nav a:hover {
  text-decoration: underline;
  color: var(--navy);
}
.service-prose {
  font-size: 1.125rem;
  line-height: 1.8;
  max-width: 46rem;
}
.service-prose h2 {
  font-size: 2.3rem;
  line-height: 1.2;
  margin: 2.5rem 0 1.2rem;
  scroll-margin-top: 2rem;
}
.service-prose h2:first-child {
  margin-top: 0;
}
.service-prose p+p {
  margin-top: 1.2rem;
}
.service-prose ul,.service-prose ol {
  padding-left: 1.35rem;
  margin-block: 1.2rem;
}
.service-prose li {
  padding-left: .4rem;
  margin-block: .7rem;
}
.service-prose a {
  color: #32586a;
}
.service-prose strong {
  font-weight: 650;
}
.founder-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.4fr);
  gap: 6rem;
  align-items: center;
  padding-block: 4rem;
}
.founder-portrait {
  margin: 0;
  background: #fff;
  max-width: 26rem;
  height: 32rem;
  border-bottom: 3px solid var(--gold);
}
.founder-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 47%;
  display: block;
}
.founder-hero h1 {
  font-size: 4.25rem;
  line-height: 1.1;
}
.founder-hero .lead {
  font-size: 1.125rem;
  max-width: 39rem;
}
.founder-location {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 1.5rem;
}
.founder-body {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  border-top: 1px solid var(--line);
  padding-top: 3rem;
}
.founder-body>aside a {
  font-size: .875rem;
  line-height: 1.6;
  display: block;
  margin-top: 1.5rem;
}
.founder-principle {
  font: 2rem/1.25 var(--font-display);
  color: var(--navy);
  max-width: 10rem;
}
@media(max-width:1100px) {
  .home-hero {
    gap: 3rem;
  }
  .home-hero h1 {
    font-size: 3.8rem;
  }
  .home-portrait {
    min-height: 30rem;
  }
  .home-positioning,.home-fee-inner,.home-discovery {
    gap: 4rem;
  }
  .fee-pair {
    gap: 1.2rem;
  }
  .fee-pair strong {
    font-size: 2rem;
  }
  .service-row {
    gap: 1.5rem;
    grid-template-columns: 2rem minmax(0,1fr) minmax(0,1.3fr);
  }
  .service-hero {
    gap: 3rem;
    grid-template-columns: minmax(0,1fr) 17rem;
  }
  .service-hero h1 {
    font-size: 3.5rem;
  }
  .service-content-layout,.founder-body {
    grid-template-columns: 12rem minmax(0,1fr);
    gap: 3rem;
  }
  .founder-hero {
    gap: 3.5rem;
  }
  .founder-hero h1 {
    font-size: 3.8rem;
  }
  .commercial-closing {
    gap: 2.5rem;
    padding: 2.25rem;
  }
  .commercial-closing h2 {
    font-size: 2.2rem;
  }
}
@media(max-width:800px) {
  .home-hero {
    gap: 2rem;
    grid-template-columns: 1.25fr 1fr;
    padding-block: 3rem;
  }
  .home-hero h1 {
    font-size: 3.1rem;
  }
  .home-hero .eyebrow {
    font-size: .75rem;
    letter-spacing: .06em;
  }
  .home-hero .lead {
    font-size: 1rem;
  }
  .home-portrait {
    min-height: 29rem;
  }
  .home-portrait figcaption {
    padding: 1rem;
  }
  .home-portrait figcaption strong {
    font-size: 1.2rem;
  }
  .home-positioning,.home-fee-inner,.home-discovery,.engagement-section {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .home-positioning h2 {
    font-size: 3rem;
  }
  .home-positioning-copy {
    max-width: none;
  }
  .home-fee-inner h2 {
    font-size: 2.8rem;
  }
  .home-fee-inner>div>p:not(.eyebrow) {
    max-width: 39rem;
  }
  .fee-pair {
    gap: 2rem;
    margin-top: 1rem;
  }
  .fee-pair strong {
    font-size: 2.6rem;
  }
  .service-row {
    grid-template-columns: 2rem 1fr;
    gap: 1rem 1.5rem;
  }
  .service-explanation {
    grid-column: 2;
  }
  .service-name .service-row-title {
    max-width: none;
    font-size: 2.1rem;
  }
  .service-explanation>p {
    max-width: none;
  }
  .service-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 2.5rem;
  }
  .service-hero h1 {
    font-size: 3.5rem;
  }
  .service-hero .lead {
    font-size: 1.125rem;
  }
  .engagement-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .3rem 2rem;
  }
  .engagement-summary>.eyebrow {
    grid-column: 1/-1;
    margin-bottom: .65rem;
  }
  .engagement-summary dl {
    grid-column: 2;
    grid-row: 2/4;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .engagement-summary>.summary-note {
    margin-top: .7rem;
  }
  .engagement-summary .text-link {
    grid-column: 2;
    grid-row: 4/6;
    align-self: center;
    margin: 0;
  }
  .service-content-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 2rem;
  }
  .service-section-nav {
    display: none;
  }
  .service-prose {
    max-width: none;
  }
  .commercial-closing {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }
  .commercial-closing .button {
    width: max-content;
  }
  .founder-hero {
    grid-template-columns: 1fr 1.4fr;
    gap: 2rem;
    padding-block: 3rem;
  }
  .founder-hero h1 {
    font-size: 3rem;
  }
  .founder-hero .lead {
    font-size: 1rem;
  }
  .founder-portrait {
    height: 28rem;
  }
  .founder-body {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .founder-body>aside {
    display: none;
  }
}
@media(max-width:600px) {
  .home-hero {
    grid-template-columns: 1fr;
    gap: 2.25rem;
    padding-top: 2.25rem;
  }
  .home-hero h1 {
    font-size: 2.85rem;
    line-height: 1.1;
    max-width: 17ch;
  }
  .home-hero .lead {
    font-size: 1.0625rem;
    max-width: none;
  }
  .home-hero .button {
    margin-top: 1.5rem;
  }
  .hero-clarification {
    max-width: none;
    font-size: .8rem;
  }
  .home-portrait {
    min-height: 0;
    height: 23rem;
    width: 100%;
    max-width: 28rem;
  }
  .home-portrait img {
    object-position: 50% 42%;
  }
  .home-portrait figcaption {
    padding: 1rem 1.2rem;
  }
  .home-positioning {
    padding-block: 2.5rem 3rem;
    gap: 1.5rem;
  }
  .home-positioning h2 {
    font-size: 2.6rem;
  }
  .home-positioning-copy {
    font-size: 1.0625rem;
  }
  .home-positioning h2 br {
    display: none;
  }
  .service-section {
    padding-bottom: 3rem;
  }
  .service-section>.section-header h2 {
    font-size: 2.1rem;
  }
  .service-row {
    padding-block: 1.75rem;
    grid-template-columns: 1.5rem 1fr;
    gap: 1rem;
  }
  .service-name .service-row-title {
    font-size: 1.9rem;
  }
  .service-name .eyebrow {
    font-size: .75rem;
    line-height: 1.5;
  }
  .service-explanation>p {
    font-size: 1rem;
  }
  .service-explanation .service-fee {
    font-size: .875rem;
  }
  .home-fee-section {
    padding-block: 2.5rem;
  }
  .home-fee-inner h2 {
    font-size: 2.5rem;
  }
  .home-fee-inner h2 br {
    display: none;
  }
  .fee-pair {
    gap: 1.3rem;
  }
  .fee-pair strong {
    font-size: 2rem;
    white-space: normal;
  }
  .fee-pair strong small {
    display: block;
    font-size: .8rem;
    margin-top: .3rem;
  }
  .fee-pair>div>span {
    font-size: .875rem;
  }
  .fee-pair>div p {
    font-size: .875rem;
  }
  .fee-pair .fee-boundary {
    font-size: .8rem;
  }
  .home-discovery {
    padding-top: 3rem;
    gap: 1.8rem;
  }
  .home-discovery h2 {
    font-size: 2.5rem;
  }
  .home-discovery nav a {
    font-size: 1.65rem;
  }
  .closing-wrap {
    padding-block: 3rem 3.5rem;
  }
  .commercial-closing {
    padding: 1.6rem;
    gap: 1.5rem;
  }
  .commercial-closing h2 {
    font-size: 2.1rem;
  }
  .commercial-closing .button {
    max-width: none;
    width: 100%;
    font-size: .875rem;
  }
  .commercial-intro {
    padding-block: 2.5rem;
  }
  .commercial-intro>h1 {
    font-size: 2.9rem;
  }
  .commercial-intro>.lead {
    font-size: 1.0625rem;
  }
  .service-intro {
    padding-top: 0;
  }
  .service-hero {
    padding-top: 2rem;
  }
  .service-hero h1 {
    font-size: 2.8rem;
  }
  .service-hero .lead {
    font-size: 1.0625rem;
  }
  .engagement-summary {
    display: block;
    padding: 1.3rem 1.4rem;
  }
  .engagement-summary>strong {
    font-size: 1.7rem;
  }
  .engagement-summary dl {
    margin-top: 1rem;
    border-top: 1px solid var(--line);
    padding-top: 1rem;
  }
  .engagement-summary>.summary-note {
    margin-top: 1rem;
  }
  .engagement-summary .text-link {
    margin-top: 1rem;
  }
  .service-prose {
    font-size: 1.0625rem;
    line-height: 1.8;
  }
  .service-prose h2 {
    font-size: 1.95rem;
    margin-top: 2.25rem;
  }
  .service-prose ul,.service-prose ol {
    padding-left: 1.2rem;
  }
  .engagement-section {
    padding-top: 2.5rem;
    gap: 2rem;
  }
  .engagement-section h2 {
    font-size: 2.35rem;
  }
  .engagement-steps li {
    gap: 1rem;
  }
  .engagement-steps h3 {
    font-size: 1.1rem;
  }
  .founder-hero {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 2rem;
    padding-block: 2.5rem;
  }
  .founder-hero h1 {
    font-size: 2.85rem;
  }
  .founder-hero .lead {
    font-size: 1.0625rem;
  }
  .founder-portrait {
    height: 25rem;
    max-width: none;
    width: 100%;
  }
  .founder-portrait img {
    object-position: 50% 42%;
  }
  .founder-body {
    padding-top: 2.25rem;
  }
}
@media print {
  .home-portrait,.founder-portrait,.service-section-nav,.closing-wrap {
    display: none;
  }
  .home-hero,.home-positioning,.home-fee-inner,.home-discovery,.service-hero,.service-content-layout,.founder-hero,.founder-body {
    display: block;
    padding-block: 1rem;
  }
  .home-fee-section {
    background: white;
    color: black;
  }
  .home-fee-inner p,.fee-pair p {
    color: black;
  }
  .service-row {
    break-inside: avoid;
  }
  .service-prose {
    max-width: none;
  }
  .service-prose h2 {
    break-after: avoid;
  }
}
/* Financial landscape: native, readable choices in normal document flow. */
.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;
}
.landscape-section {
  padding-block: 4.5rem 5rem;
  border-top: 1px solid var(--line);
}
.landscape-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: end;
  margin-bottom: 2.5rem;
}
.landscape-heading>p {
  font-size: 1.125rem;
  color: var(--muted);
  max-width: 32rem;
}
.landscape-options {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2.5rem;
}
.landscape-option {
  display: flex;
  gap: 1.1rem;
  padding: 1.7rem 1rem 1.7rem 0;
  border-top: 1px solid var(--line);
  cursor: pointer;
  align-items: flex-start;
}
.landscape-option input {
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 1.2rem;
  accent-color: var(--navy);
  margin: .2rem 0 0;
}
.landscape-option>span {
  display: block;
}
.landscape-option strong {
  display: block;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.35;
}
.landscape-option>span>span {
  display: block;
  margin-top: .5rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}
.landscape-option:has(input:checked) {
  background: #e8e5dc;
  box-shadow: inset 3px 0 var(--gold);
  padding-left: 1rem;
}
.landscape-option:has(input:checked)>span>span {
  color: var(--ink);
}
.landscape-selection {
  border-top: 1px solid var(--navy);
  padding-top: 1.75rem;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: 1.5rem;
  align-items: center;
}
.landscape-selection p {
  font-size: .9rem;
  color: var(--muted);
}
.landscape-selection button {
  background: none;
  border: 0;
  cursor: pointer;
  padding: .75rem 0;
}
.landscape-privacy {
  font-size: .8rem;
  color: var(--muted);
  margin-top: 1rem;
  max-width: 52rem;
}
@media(max-width:800px) {
  .landscape-section {
    padding-block: 3rem;
  }
  .landscape-heading {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  .landscape-options {
    grid-template-columns: 1fr;
  }
  .landscape-selection {
    grid-template-columns: 1fr auto;
  }
  .landscape-selection .button {
    grid-column: 1/-1;
    justify-content: space-between;
  }
  .landscape-option {
    padding-block: 1.4rem;
  }
}
@media print {
  .landscape-selection,.landscape-privacy {
    display: none;
  }
  .landscape-options {
    grid-template-columns: 1fr 1fr;
  }
  .landscape-option {
    break-inside: avoid;
  }
}
@media(max-width:360px) {
  .home-positioning,.home-fee-inner {
    grid-template-columns: minmax(0,1fr);
  }
  .home-positioning>div,.home-fee-inner>div {
    min-width: 0;
  }
  .fee-pair {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.calculator-intro {
  padding-block: 3.5rem 2.5rem;
}
.calculator-intro h1 {
  font-size: 4.25rem;
  max-width: 58rem;
}
.calculator-intro .lead {
  max-width: 47rem;
}
.tool-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 2rem;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--line);
  padding-block: 1.2rem;
  font-size: .94rem;
}
.tool-jumps a {
  text-decoration: none;
}
.tool-jumps a:hover {
  text-decoration: underline;
}
.tool-context {
  font-size: .875rem;
  line-height: 1.65;
  color: var(--muted);
  max-width: 58rem;
  margin-block: 1.5rem 0;
}
.calculator-section {
  padding-top: 3.5rem;
  scroll-margin-top: 1.5rem;
}
.calculator-section-title {
  display: grid;
  grid-template-columns: 2.5rem minmax(0,1fr);
  gap: 1.5rem;
  padding-bottom: 1.8rem;
}
.calculator-section-title>span {
  font-size: .875rem;
  color: var(--muted);
  padding-top: .35rem;
  font-variant-numeric: tabular-nums;
}
.calculator-section-title h2 {
  font-size: 2.6rem;
}
.calculator-section-title p {
  font-size: 1rem;
  color: var(--muted);
  max-width: 45rem;
  margin-top: 1rem;
}
.calculator-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 4rem;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 2rem;
}
.calculator-inputs {
  max-width: 35rem;
  min-width: 0;
}
.field {
  margin-bottom: 1.5rem;
  min-width: 0;
}
.field label {
  font-size: .94rem;
  font-weight: 550;
  line-height: 1.5;
  display: block;
  margin-bottom: .55rem;
}
.field label>span {
  font-size: .8rem;
  font-weight: 400;
  color: var(--muted);
}
.field input,.field select {
  min-height: 3rem;
  background: var(--white);
  border: 1px solid var(--control-line);
  border-radius: 2px;
  color: var(--navy);
  width: 100%;
  padding: .7rem .9rem;
  min-width: 0;
  font-size: 1.0625rem;
  font-variant-numeric: tabular-nums;
}
.field select {
  font-size: 1rem;
  appearance: auto;
  padding-right: 2rem;
}
.amount-input {
  position: relative;
}
.amount-input>span {
  position: absolute;
  left: .9rem;
  top: .7rem;
  font-size: 1.0625rem;
  color: var(--muted);
  line-height: 1.6;
}
.amount-input input {
  padding-left: 2.3rem;
}
.field-help {
  font-size: .8rem;
  line-height: 1.6;
  color: var(--muted);
  margin-top: .5rem;
}
.field-error {
  font-size: .875rem;
  line-height: 1.5;
  color: #963c30;
  margin-top: .5rem;
  font-weight: 500;
}
.field input[aria-invalid=true],.field select[aria-invalid=true] {
  border-color: #963c30;
  border-width: 2px;
}
.field-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.choice-field {
  padding: 0;
  margin: 0 0 1.6rem;
  border: 0;
  min-width: 0;
}
.choice-field legend {
  font-size: .94rem;
  font-weight: 550;
  margin-bottom: .65rem;
  line-height: 1.5;
}
.choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.choice-row label {
  position: relative;
  cursor: pointer;
}
.choice-row input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}
.choice-row span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border: 1px solid var(--control-line);
  border-radius: 2px;
  padding: .6rem .9rem;
  min-height: 2.9rem;
  font-size: .94rem;
  min-width: 4rem;
  font-variant-numeric: tabular-nums;
}
.choice-row input:checked+span {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
}
.choice-row input:focus-visible+span {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
.checkbox-field {
  display: flex;
  align-items: start;
  gap: .8rem;
  font-size: .94rem;
  line-height: 1.5;
  margin: 1.3rem 0 1.7rem;
  cursor: pointer;
}
.checkbox-field input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--navy);
  margin: .15rem 0 0;
  flex-shrink: 0;
}
.calculator-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  padding-top: .4rem;
}
.calculator-actions .button {
  min-width: 12rem;
  cursor: pointer;
}
.calculator-actions .text-button {
  margin: 0;
  padding: .7rem 0;
  font-size: .875rem;
}
.calculator-result {
  background: var(--navy);
  color: var(--white);
  padding: 2.2rem;
  min-height: 15rem;
  border-top: 3px solid var(--gold);
  position: sticky;
  top: 2rem;
  min-width: 0;
}
.calculator-result>.eyebrow {
  color: #d8bf95;
  letter-spacing: .09em;
}
.result-placeholder {
  font-size: 1.15rem;
  line-height: 1.65;
  color: #d5d9e1;
  max-width: 28rem;
}
.result-primary {
  font: 3.5rem/1.2 var(--font-display);
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.result-unit {
  font-size: .875rem;
  line-height: 1.6;
  color: #d5d9e1;
  margin-top: .6rem;
}
.result-detail-list {
  margin: 1.5rem 0 0;
}
.result-detail-list>div {
  border-top: 1px solid #5c687f;
  padding: .9rem 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.5rem;
}
.result-detail-list dt {
  font-size: .875rem;
  line-height: 1.5;
  color: #d5d9e1;
  max-width: 18rem;
}
.result-detail-list dd {
  font-size: 1.15rem;
  margin: 0;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  text-align: right;
  overflow-wrap: anywhere;
}
.result-explanation {
  font-size: .875rem;
  line-height: 1.7;
  color: #d5d9e1;
  margin-top: 1.3rem;
}
.result-highlight {
  border-top: 1px solid #7f889a;
  border-bottom: 1px solid #7f889a;
  padding: 1rem 0;
  margin-top: 1rem;
}
.result-highlight strong {
  font: 2rem/1.3 var(--font-display);
  display: block;
  margin-top: .4rem;
  font-variant-numeric: tabular-nums;
}
.result-highlight>span {
  font-size: .875rem;
  color: #d5d9e1;
}
.result-long-term {
  margin-top: 1.5rem;
  border-top: 1px solid #7f889a;
}
.result-long-term summary {
  cursor: pointer;
  font-size: .94rem;
  padding: 1rem 0;
  line-height: 1.6;
}
.result-long-term .result-detail-list {
  margin-top: 0;
}
.result-long-term .result-detail-list dd {
  font-size: 1rem;
}
.result-long-term h3 {
  font-size: 1rem;
  font-family: var(--font-body);
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 600;
  margin-bottom: .9rem;
}
.result-error-list {
  padding-left: 1.2rem;
  font-size: .94rem;
  line-height: 1.7;
  margin: 1rem 0 0;
}
.result-error-list a {
  color: var(--white);
}
.calculator-result.is-invalid {
  background: #472d2c;
  border-top-color: #b68d80;
}
.calculator-result.is-invalid .eyebrow {
  color: #ecd6cd;
}
.calculator-method {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 5rem;
  border-top: 1px solid var(--line);
  padding-top: 3rem;
  margin-top: 4rem;
}
.calculator-method h2 {
  font-size: 2.6rem;
}
.calculator-method .service-prose {
  font-size: 1rem;
  line-height: 1.8;
}
.calculator-method-details {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 2rem;
}
.calculator-method-details summary {
  cursor: pointer;
  padding: 1.1rem 0;
  font-size: .94rem;
  font-weight: 600;
}
.calculator-method-details>.service-prose {
  max-width: 47rem;
  font-size: 1rem;
  margin: 0 0 1.5rem;
}
.calculator-next {
  border-left: 3px solid var(--gold);
  padding-left: 2rem;
  margin-block: 4rem 5rem;
}
.calculator-next h2 {
  font-size: 2.4rem;
}
.calculator-next p {
  font-size: 1rem;
  color: var(--muted);
  margin: 1rem 0;
  max-width: 41rem;
}
.fee-schedule {
  padding-top: 1rem;
}
.fee-schedule>.section-header h2 {
  font-size: 2.5rem;
}
.fee-schedule>.section-header>a {
  font-size: .875rem;
}
.fee-schedule-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid var(--line);
}
.fee-schedule-pair article {
  padding: 2rem 3rem 2rem 0;
}
.fee-schedule-pair article+article {
  border-left: 1px solid var(--line);
  padding-left: 3rem;
}
.fee-schedule-pair h3 {
  font: 3.4rem/1.2 var(--font-display);
  letter-spacing: -.03em;
}
.fee-schedule-pair h3 span {
  font: 1rem/1.5 var(--font-body);
  color: var(--muted);
  letter-spacing: 0;
}
.fee-schedule-pair article>p:not(.eyebrow) {
  font-size: 1rem;
  margin-top: .5rem;
  color: var(--muted);
}
.fee-cap {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}
.fee-cap>span {
  font-size: .8rem;
  color: var(--muted);
}
.fee-cap strong {
  font: 2.4rem/1.3 var(--font-display);
  display: block;
  letter-spacing: -.025em;
  margin-top: .2rem;
}
.fee-cap strong small {
  font: .875rem/1.5 var(--font-body);
  color: var(--muted);
  letter-spacing: 0;
}
.fee-cap p {
  font-size: .875rem;
  margin-top: .4rem;
  color: var(--muted);
}
.fee-schedule-note {
  font-size: .875rem;
  color: var(--muted);
  max-width: 65rem;
  margin-top: 1.3rem;
  line-height: 1.7;
}
.once-off-fees {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 6rem;
  padding-top: 3.5rem;
}
.once-off-fees h2 {
  font-size: 2.7rem;
}
.once-off-list>div {
  padding: 1.4rem 0;
  border-top: 1px solid var(--line);
}
.once-off-list h3 {
  font: 1.6rem/1.3 var(--font-display);
}
.once-off-list p {
  font-size: .94rem;
  color: var(--muted);
  margin-top: .6rem;
}
.once-off-list a {
  display: inline-block;
  font-size: .875rem;
  margin-top: .7rem;
}
.once-off-list>p {
  font-size: .875rem;
  line-height: 1.7;
  margin-top: .5rem;
}
.estate-context {
  max-width: var(--wide);
}
.estate-context p {
  max-width: 57rem;
}
.estate-fieldset {
  padding: 0;
  margin: 0 0 2rem;
  border: 0;
  min-width: 0;
}
.estate-fieldset legend {
  font: 1.8rem/1.3 var(--font-display);
  padding: 0;
  margin-bottom: 1.5rem;
  letter-spacing: -.025em;
}
.estate-details {
  border-top: 1px solid var(--line);
  margin-bottom: 1.5rem;
}
.estate-details summary {
  font-size: 1.05rem;
  font-weight: 550;
  cursor: pointer;
  padding: 1.2rem 0;
  line-height: 1.5;
}
.estate-details>p {
  font-size: .875rem;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 1.5rem;
}
.estate-details .estate-fieldset legend {
  font-size: 1.5rem;
}
.estate-flags {
  font-size: .875rem;
  line-height: 1.7;
  color: #d5d9e1;
  padding-left: 1.2rem;
  margin-top: 1.2rem;
}
.estate-result-heading {
  font: 2rem/1.3 var(--font-display);
  letter-spacing: -.025em;
}
.notice {
  padding: 1rem;
  border-left: 3px solid #963c30;
  background: #f3e5df;
  color: #642e27;
  font-size: 1rem;
}
@media(max-width:1050px) {
  .calculator-layout {
    gap: 3rem;
  }
  .calculator-result {
    padding: 1.7rem;
  }
  .result-primary {
    font-size: 2.8rem;
  }
  .calculator-method {
    gap: 3rem;
    grid-template-columns: 1fr 1.5fr;
  }
  .result-detail-list>div {
    gap: 1rem;
  }
  .result-detail-list dd {
    font-size: 1.05rem;
  }
  .once-off-fees {
    gap: 3rem;
  }
  .fee-schedule-pair article {
    padding-right: 2rem;
  }
  .fee-schedule-pair article+article {
    padding-left: 2rem;
  }
}
@media(max-width:800px) {
  .calculator-intro h1 {
    font-size: 3.5rem;
  }
  .calculator-intro {
    padding-top: 2.75rem;
  }
  .calculator-layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .calculator-inputs {
    max-width: none;
  }
  .calculator-result {
    position: static;
    min-height: 0;
    padding: 2rem;
  }
  .result-primary {
    font-size: 3rem;
  }
  .result-detail-list dt {
    max-width: 60%;
  }
  .calculator-section-title h2 {
    font-size: 2.3rem;
  }
  .calculator-section-title {
    gap: 1rem;
    grid-template-columns: 2rem 1fr;
  }
  .calculator-section {
    padding-top: 3rem;
  }
  .calculator-method {
    grid-template-columns: 1fr;
    gap: 1.8rem;
    margin-top: 3rem;
    padding-top: 2.5rem;
  }
  .calculator-method h2 {
    font-size: 2.3rem;
  }
  .calculator-next {
    padding-left: 1.5rem;
  }
  .once-off-fees {
    grid-template-columns: 1fr;
    gap: 1.8rem;
    padding-top: 3rem;
  }
  .once-off-fees h2 {
    font-size: 2.4rem;
  }
  .fee-schedule>.section-header {
    align-items: start;
    flex-direction: column;
    gap: .8rem;
  }
  .fee-schedule-pair h3 {
    font-size: 3rem;
  }
  .fee-cap strong {
    font-size: 2.1rem;
  }
  .fee-cap strong small {
    display: block;
    margin-top: .3rem;
  }
  .estate-layout .calculator-result {
    position: static;
  }
  .estate-context {
    margin-top: 0;
  }
}
@media(max-width:480px) {
  .calculator-intro {
    padding-block: 2.5rem 2rem;
  }
  .calculator-intro h1 {
    font-size: 2.85rem;
  }
  .calculator-intro .lead {
    font-size: 1.0625rem;
  }
  .tool-jumps {
    gap: .65rem 1.25rem;
    font-size: .875rem;
    padding-block: 1rem;
  }
  .tool-context {
    font-size: .875rem;
  }
  .calculator-section-title {
    grid-template-columns: 1.3rem 1fr;
    gap: .6rem;
  }
  .calculator-section-title h2 {
    font-size: 2rem;
    line-height: 1.2;
  }
  .calculator-section-title p {
    font-size: 1rem;
    margin-top: .8rem;
  }
  .calculator-layout {
    padding-top: 1.5rem;
  }
  .field label,.choice-field legend {
    font-size: .94rem;
  }
  .field input {
    font-size: 1rem;
  }
  .field-pair {
    gap: 1rem;
  }
  .choice-row {
    gap: .5rem;
  }
  .choice-row span {
    font-size: .875rem;
    padding: .65rem .7rem;
    min-width: 3.7rem;
  }
  .calculator-actions {
    gap: 1rem;
  }
  .calculator-actions .button {
    min-width: 0;
  }
  .calculator-result {
    padding: 1.5rem;
  }
  .result-primary {
    font-size: 2.8rem;
  }
  .result-detail-list>div {
    display: block;
    padding-block: .8rem;
  }
  .result-detail-list dt {
    max-width: none;
  }
  .result-detail-list dd {
    text-align: left;
    margin-top: .3rem;
    font-size: 1.2rem;
  }
  .result-long-term .result-detail-list dd {
    font-size: 1.15rem;
  }
  .result-highlight strong {
    font-size: 1.8rem;
  }
  .result-explanation {
    font-size: .875rem;
  }
  .calculator-method h2 {
    font-size: 2.1rem;
  }
  .calculator-next {
    margin-block: 3rem 3.5rem;
    padding-left: 1.25rem;
  }
  .calculator-next h2 {
    font-size: 2rem;
  }
  .fee-schedule>.section-header h2 {
    font-size: 2.1rem;
  }
  .fee-schedule-pair {
    grid-template-columns: 1fr;
  }
  .fee-schedule-pair article,.fee-schedule-pair article+article {
    border-left: 0;
    padding: 1.75rem 0;
  }
  .fee-schedule-pair article+article {
    border-top: 1px solid var(--line);
  }
  .fee-schedule-pair h3 {
    font-size: 3rem;
  }
  .fee-cap strong small {
    display: inline;
    font-size: .875rem;
  }
  .once-off-fees h2 {
    font-size: 2.2rem;
  }
  .once-off-list h3 {
    font-size: 1.65rem;
  }
  .estate-fieldset legend {
    font-size: 1.7rem;
  }
  .estate-result-heading {
    font-size: 1.8rem;
  }
}
@media print {
  .tool-jumps,.calculator-inputs,.calculator-actions,.calculator-next {
    display: none;
  }
  .calculator-layout,.calculator-method {
    display: block;
  }
  .calculator-result {
    position: static;
    background: white;
    color: black;
    border: 1px solid black;
    break-inside: avoid;
  }
  .calculator-result .eyebrow,.calculator-result p,.calculator-result dt,.calculator-result dd {
    color: black;
  }
  .calculator-intro {
    padding-block: 1rem;
  }
  .calculator-section {
    padding-top: 1.5rem;
  }
  .calculator-result details {
    display: block;
  }
  .fee-schedule-pair article {
    break-inside: avoid;
  }
}

.trust-intro {
  padding-block: 3.5rem 3rem;
}
.trust-intro h1 {
  font-size: 4.25rem;
  max-width: 55rem;
}
.trust-intro .lead {
  max-width: 47rem;
}
.about-overview {
  display: grid;
  grid-template-columns: 19rem minmax(0,1fr);
  gap: 6rem;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 3rem;
}
.about-person {
  height: 24rem;
  background: white;
}
.about-person img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 44%;
}
.about-overview h2 {
  font-size: 2.8rem;
}
.about-overview>div>p:not(.eyebrow) {
  font-size: 1.0625rem;
  line-height: 1.75;
  margin-top: 1.2rem;
  max-width: 45rem;
}
.about-overview .text-link {
  margin-top: 1.5rem;
}
.about-overview>div>.trust-registration {
  font-size: .8rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 1rem;
  margin-top: 1.5rem;
}
.practice-links {
  margin-top: 4rem;
  border-top: 1px solid var(--navy);
}
.practice-links>a {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.5rem;
  gap: 3rem;
  align-items: baseline;
  padding-block: 1.7rem;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}
.practice-links h2 {
  font-size: 2rem;
}
.practice-links p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.6;
}
.practice-links>a:hover h2 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.trust-reading-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0,1fr);
  gap: 5rem;
  border-top: 1px solid var(--line);
  padding-top: 2.5rem;
}
.trust-reading-layout .service-prose {
  max-width: 46rem;
}
.verification-section {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 5rem;
  border-top: 2px solid var(--navy);
  padding-block: 2.5rem 3.5rem;
}
.verification-section h2 {
  font-size: 2.7rem;
}
.verification-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}
.verification-links h3 {
  font: 1.85rem/1.3 var(--font-display);
  margin-top: .7rem;
}
.verification-links p {
  font-size: .94rem;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 1rem;
}
.verification-links .text-link {
  font-size: .875rem;
  margin-top: 1.2rem;
  align-items: start;
}
.policy-section {
  margin-top: 3.5rem;
}
.policy-section .section-header h2 {
  font-size: 2.6rem;
}
.policy-list {
  border-top: 1px solid var(--navy);
}
.policy-list>a {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  align-items: baseline;
}
.policy-list h3 {
  font: 1.7rem/1.4 var(--font-display);
}
.policy-list p {
  font-size: .94rem;
  color: var(--muted);
  margin-top: .5rem;
}
.policy-list>a>span {
  font-size: .8rem;
  white-space: nowrap;
}
.policy-list>a:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.contact-options {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: 5rem;
  border-top: 2px solid var(--navy);
  padding-top: 2.5rem;
}
.contact-options h2 {
  font-size: 2.5rem;
}
.contact-options article>p:not(.eyebrow) {
  font-size: 1rem;
  color: var(--muted);
  margin-top: 1.2rem;
  max-width: 38rem;
}
.contact-email {
  font-size: 1.15rem;
  display: block;
  line-height: 1.6;
  overflow-wrap: anywhere;
  margin-top: 1.5rem;
}
.contact-options .contact-primary>.contact-privacy {
  font-size: .875rem;
  line-height: 1.7;
  margin-top: 1.5rem;
}
.contact-options .text-link {
  margin-top: 1.5rem;
}
.contact-review {
  display: grid;
  grid-template-columns: minmax(0,1fr) 20rem;
  gap: 4rem;
  background: var(--pale);
  padding: 2.5rem;
  margin-top: 3.5rem;
  align-items: center;
  border-top: 2px solid var(--gold);
}
.contact-review h2 {
  font-size: 2.5rem;
  max-width: 38rem;
}
.contact-review p:not(.eyebrow) {
  font-size: 1rem;
  color: var(--muted);
  margin-top: 1.1rem;
  max-width: 36rem;
}
.contact-review .button {
  text-align: left;
}
.contact-preparation {
  margin-block: 2.5rem 4rem;
}
.contact-preparation details {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.contact-preparation summary {
  font-size: .94rem;
  padding: 1rem 0;
  cursor: pointer;
}
.contact-preparation details>p {
  font-size: 1rem;
  line-height: 1.75;
  max-width: 48rem;
  margin-bottom: 1rem;
}
.contact-preparation details>a {
  font-size: .94rem;
  display: inline-block;
  margin-bottom: 1rem;
}
.enquiry-layout {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr);
  gap: 6rem;
  border-top: 1px solid var(--navy);
  padding-top: 2.5rem;
  padding-bottom: 5rem;
}
.enquiry-demo {
  min-width: 0;
  max-width: 39rem;
}
.preview-form-notice {
  padding: .9rem 1.1rem;
  border-left: 3px solid var(--gold);
  background: var(--pale);
  font-size: .875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.form-required-note {
  font-size: .8rem;
  color: var(--muted);
  margin-bottom: 1.5rem;
}
.enquiry-demo textarea {
  width: 100%;
  background: var(--white);
  border: 1px solid var(--control-line);
  border-radius: 2px;
  padding: .9rem;
  font-size: 1rem;
  line-height: 1.6;
  resize: vertical;
}
.enquiry-consent {
  font-size: .875rem;
  line-height: 1.7;
  margin-bottom: .5rem;
}
.enquiry-demo>.button {
  margin-top: 1.25rem;
  cursor: pointer;
}
.enquiry-focus {
  border-left: 2px solid var(--gold);
  padding-left: 1.1rem;
  margin-block: 1.5rem;
  font-size: .94rem;
}
.enquiry-focus>.eyebrow {
  margin-bottom: .5rem;
}
.enquiry-preview-status:not(:empty) {
  border: 1px solid var(--line);
  padding: 1rem;
  margin-top: 1.5rem;
  font-size: .94rem;
}
.enquiry-expectations {
  border-top: 2px solid var(--gold);
  padding-top: 1.5rem;
  position: sticky;
  top: 2rem;
}
.enquiry-expectations h2 {
  font-size: 2.4rem;
}
.enquiry-expectations ol {
  font-size: 1rem;
  padding-left: 1.3rem;
  line-height: 1.7;
  margin-block: 1.5rem;
}
.enquiry-expectations li {
  padding-left: .25rem;
  margin-block: .8rem;
}
.enquiry-expectations p:not(.eyebrow) {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.7;
}
.enquiry-expectations>a {
  font-size: .875rem;
  display: inline-block;
  margin-top: 1.5rem;
}
@media(max-width:1050px) {
  .about-overview {
    gap: 3rem;
    grid-template-columns: 17rem 1fr;
  }
  .trust-reading-layout {
    grid-template-columns: 12rem minmax(0,1fr);
    gap: 3rem;
  }
  .verification-section {
    gap: 3rem;
    grid-template-columns: 1fr 1.6fr;
  }
  .verification-links {
    gap: 1.7rem;
  }
  .contact-options {
    gap: 3rem;
  }
  .enquiry-layout {
    gap: 3rem;
  }
  .contact-review {
    gap: 2.5rem;
  }
  .practice-links>a {
    gap: 2rem;
  }
}
@media(max-width:800px) {
  .trust-intro h1 {
    font-size: 3.5rem;
  }
  .trust-intro {
    padding-block: 2.75rem 2.5rem;
  }
  .about-overview {
    grid-template-columns: 14rem 1fr;
    gap: 2rem;
  }
  .about-person {
    height: 22rem;
  }
  .about-overview h2 {
    font-size: 2.3rem;
  }
  .about-overview>div>p:not(.eyebrow) {
    font-size: 1rem;
  }
  .trust-reading-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .trust-reading-layout>aside {
    display: none;
  }
  .verification-section {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .verification-section h2 {
    font-size: 2.5rem;
  }
  .verification-section h2 br {
    display: none;
  }
  .verification-links {
    gap: 2rem;
  }
  .contact-options {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .contact-options article+article {
    padding-top: 2rem;
    border-top: 1px solid var(--line);
  }
  .contact-review {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .contact-review .button {
    width: max-content;
  }
  .enquiry-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .enquiry-demo {
    max-width: none;
  }
  .enquiry-expectations {
    position: static;
  }
  .practice-links>a {
    grid-template-columns: 1fr 1.5rem;
    gap: .7rem 2rem;
  }
  .practice-links p {
    grid-column: 1;
    grid-row: 2;
  }
  .practice-links>a>span {
    grid-column: 2;
    grid-row: 1;
  }
}
@media(max-width:480px) {
  .trust-intro {
    padding-block: 2.25rem 2rem;
  }
  .trust-intro h1 {
    font-size: 2.8rem;
  }
  .trust-intro .lead {
    font-size: 1.0625rem;
  }
  .about-overview {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 2rem;
  }
  .about-person {
    height: 21rem;
    max-width: 23rem;
  }
  .about-overview h2 {
    font-size: 2.3rem;
  }
  .practice-links {
    margin-top: 2.5rem;
  }
  .practice-links h2 {
    font-size: 1.9rem;
  }
  .verification-links {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .verification-links article+article {
    padding-top: 1.7rem;
    border-top: 1px solid var(--line);
  }
  .verification-section h2 {
    font-size: 2.2rem;
  }
  .verification-links h3 {
    font-size: 1.8rem;
  }
  .policy-section .section-header h2 {
    font-size: 2.2rem;
  }
  .policy-list h3 {
    font-size: 1.6rem;
  }
  .policy-list p {
    font-size: .94rem;
  }
  .contact-options {
    padding-top: 2rem;
  }
  .contact-options h2 {
    font-size: 2.15rem;
  }
  .contact-email {
    font-size: 1rem;
  }
  .contact-review {
    padding: 1.5rem;
    margin-top: 2.5rem;
  }
  .contact-review h2 {
    font-size: 2.1rem;
  }
  .contact-review .button {
    width: 100%;
    font-size: .875rem;
  }
  .enquiry-layout {
    padding-top: 1.8rem;
    padding-bottom: 3.5rem;
  }
  .enquiry-expectations h2 {
    font-size: 2.1rem;
  }
}
@media print {
  .enquiry-demo {
    display: none;
  }
  .trust-intro {
    padding-block: 1rem;
  }
  .contact-review {
    background: white;
  }
  .trust-reading-layout,.enquiry-layout,.verification-section {
    display: block;
  }
  .policy-list>a {
    break-inside: avoid;
  }
}

/* Research navigation and directory share the same typography and evidence hierarchy. */
.research-intro {
  padding-block: 3.5rem 4rem;
}
.research-intro .breadcrumbs {
  padding-top: 0;
  margin-bottom: 2.75rem;
}
.research-intro>h1 {
  max-width: 65rem;
}
.research-intro>.text-link {
  display: inline-block;
  margin-top: 2rem;
}
.research-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  border-top: 1px solid var(--navy);
}
.research-path {
  padding-block: 2.5rem 3rem;
}
.research-path+.research-path {
  border-left: 1px solid var(--line);
  padding-left: 3.5rem;
}
.research-path>p:not(.eyebrow) {
  margin-top: 1.5rem;
  color: var(--muted);
  max-width: 31rem;
}
.research-path-footer {
  margin-top: 2.5rem;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.25rem;
}
.research-path-footer>span {
  font-size: .875rem;
  color: var(--muted);
}
.research-reading-guide {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 6rem;
  padding-block: 4rem;
}
.research-reading-guide ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.research-reading-guide li {
  display: flex;
  gap: 1.5rem;
  border-top: 1px solid var(--line);
  padding-block: 1.6rem;
}
.research-reading-guide li:first-child {
  border-top: 0;
  padding-top: 0;
}
.research-reading-guide li>span {
  font-size: .8rem;
  color: var(--muted);
  padding-top: .2rem;
}
.research-reading-guide h3 {
  font-size: 1.15rem;
  line-height: 1.4;
}
.research-reading-guide li p {
  color: var(--muted);
  margin-top: .7rem;
}
.research-related {
  border-top: 1px solid var(--navy);
  padding-block: 3rem 4rem;
}
.research-related>p {
  max-width: 45rem;
  margin-top: 1.2rem;
}
.research-related>div {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  margin-top: 2rem;
}
.research-disclosure {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.6;
  max-width: 65rem;
  margin-top: 2rem!important;
}
.directory-counts {
  display: flex;
  gap: 3rem;
  margin-top: 2.5rem;
  color: var(--muted);
  font-size: .875rem;
}
.directory-counts strong {
  font: 2.25rem/1.2 var(--font-display);
  color: var(--navy);
  display: block;
  margin-bottom: .4rem;
}
.company-directory {
  padding-bottom: 4rem;
}
.directory-filters {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr) auto;
  gap: 1.5rem;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--line);
  padding-block: 1.75rem;
  align-items: end;
}
.directory-filters label {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  margin-bottom: .6rem;
}
.directory-filters input,.directory-filters select {
  min-height: 3rem;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--control-line);
  background: var(--white);
  border-radius: 0;
  padding: .75rem;
  font-size: 1rem;
  color: var(--ink);
}
.directory-filters select {
  padding-right: 1.8rem;
}
.directory-filters button {
  background: none;
  border: 0;
  cursor: pointer;
  min-height: 3rem;
  font-size: .85rem;
  white-space: nowrap;
}
.directory-result-line {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 1.5rem;
  font-size: .8rem;
  color: var(--muted);
}
.directory-result-line>p {
  font-weight: 600;
  color: var(--ink);
}
.company-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.company-list>li {
  border-top: 1px solid var(--line);
}
.company-list>li:last-child {
  border-bottom: 1px solid var(--line);
}
.company-list>li[hidden] {
  display: none;
}
.company-record-link {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) 13rem 1.3rem;
  gap: 2rem;
  padding: 1.7rem 0;
  text-decoration: none;
  align-items: start;
}
.company-record-link:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.directory-ticker {
  display: block;
  font-size: .75rem;
  color: var(--muted);
  margin-bottom: .65rem;
}
.company-record-identity h3 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 400;
}
.company-record-identity>p {
  font-size: .85rem;
  color: var(--muted);
  margin-top: .55rem;
}
.company-record-period {
  margin: 0;
  display: grid;
  gap: .6rem;
  font-size: .85rem;
}
.company-record-period dt {
  color: var(--muted);
  font-size: .75rem;
}
.company-record-period dd {
  margin: .15rem 0 0;
  overflow-wrap: anywhere;
}
.company-record-status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.directory-badge {
  font-size: .75rem;
  padding: .25rem .5rem;
  border: 1px solid #8b909b;
  line-height: 1.5;
}
.directory-badge.has-analysis {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
}
.directory-cutoff {
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.7;
}
.directory-arrow {
  font-size: 1.4rem;
}
.directory-empty {
  padding: 4rem 0;
  max-width: 38rem;
}
.directory-empty p {
  margin-block: 1rem 1.5rem;
  color: var(--muted);
}
.directory-empty[hidden] {
  display: none;
}
.directory-notes {
  margin-top: 2rem;
  border-top: 1px solid var(--line);
  padding-block: 1.5rem;
  max-width: 60rem;
  font-size: .875rem;
}
.directory-notes summary {
  font-weight: 600;
  cursor: pointer;
}
.directory-notes p {
  margin-top: 1.1rem;
  color: var(--muted);
}
.fund-universe {
  display: grid;
  grid-template-columns: 1fr 5rem 1fr;
  gap: 1rem 3rem;
  border-top: 1px solid var(--navy);
  border-bottom: 1px solid var(--line);
  padding-block: 2.5rem;
}
.fund-universe strong {
  font: clamp(2rem,4vw,3.3rem)/1.1 var(--font-display);
  color: var(--navy);
}
.fund-universe>div>p:last-child {
  margin-top: 1rem;
  color: var(--muted);
}
.universe-arrow {
  font-size: 2rem;
  align-self: center;
  color: var(--gold);
}
.fund-source {
  grid-column: 1/-1;
  font-size: .8rem;
  color: var(--muted);
  max-width: 66rem;
  margin-top: 1.25rem;
}
.fund-process {
  padding-block: 4rem;
}
.fund-process>.section-header {
  align-items: end;
  margin-bottom: 1.5rem;
}
.fund-process .section-header h2 {
  font-size: 2.5rem;
}
.fund-process .section-header p {
  font-size: .875rem;
  color: var(--muted);
}
.fund-process ol {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3rem;
}
.fund-process li {
  display: flex;
  gap: 1.25rem;
  padding-block: 1.75rem;
  border-top: 1px solid var(--line);
}
.fund-process li>span {
  font-size: .8rem;
  color: var(--muted);
  padding-top: .2rem;
}
.fund-process li h3 {
  font-size: 1.15rem;
  line-height: 1.4;
}
.fund-process li p {
  color: var(--muted);
  margin-top: .7rem;
  font-size: 1rem;
}
.fund-path-band {
  background: var(--navy);
  color: var(--white);
  padding-block: 4rem;
}
.fund-path-layout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 4rem;
  align-items: center;
}
.fund-path-layout .eyebrow {
  color: #d6c09a;
}
.fund-path-layout p:not(.eyebrow) {
  margin-top: 1.5rem;
  color: #dce0e7;
}
.fund-path-chart {
  margin: 0;
}
.fund-path-chart svg {
  width: 100%;
  height: auto;
  display: block;
}
.path-legend {
  display: flex;
  gap: 2rem;
  justify-content: center;
  font-size: .85rem;
}
.path-legend>span {
  display: flex;
  gap: .75rem;
  align-items: center;
}
.path-legend i {
  display: inline-block;
  width: 2rem;
  border-top: 3px solid #e6d4b5;
}
.path-legend .dashed-path {
  border-top: 3px dashed #fffefa;
}
.fund-path-chart figcaption {
  font-size: .8rem;
  color: #dce0e7;
  margin-top: 1.5rem;
  line-height: 1.6;
}
.fund-overlap-section {
  padding-block: 4rem;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 4rem;
  align-items: center;
}
.fund-overlap-section>div>p:not(.eyebrow) {
  margin-top: 1.5rem;
  color: var(--muted);
}
.fund-overlap-section figure {
  margin: 0;
  min-width: 0;
}
.fund-overlap-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 1rem;
  min-width: 28rem;
}
.fund-overlap-table caption {
  text-align: left;
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.fund-overlap-table th,.fund-overlap-table td {
  border-bottom: 1px solid var(--line);
  padding: .9rem .65rem;
  text-align: center;
}
.fund-overlap-table th:first-child {
  text-align: left;
}
.fund-overlap-table tbody th {
  font-weight: 500;
}
.fund-overlap-table td:nth-child(4),.fund-overlap-table th:nth-child(4) {
  background: #e5e1d6;
}
.fund-overlap-table tfoot {
  border-top: 2px solid var(--navy);
  font-weight: 650;
}
.fund-overlap-section figcaption {
  font-size: .8rem;
  color: var(--muted);
  margin-top: 1rem;
}
.fund-role-section {
  border-top: 1px solid var(--line);
  padding-block: 4rem;
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 5rem;
  align-items: start;
}
.fund-role-section p {
  margin-top: 1.5rem;
  color: var(--muted);
}
.fund-role-section aside {
  background: #e8e5dc;
  padding: 2.5rem;
}
.fund-role-section aside h3 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 400;
}
@media(max-width:1050px) {
  .company-record-link {
    gap: 1.5rem;
    grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) 11rem 1rem;
  }
  .directory-filters {
    gap: 1rem;
  }
  .research-reading-guide {
    gap: 3rem;
  }
  .fund-path-layout,.fund-overlap-section {
    gap: 2rem;
  }
}
@media(max-width:800px) {
  .research-intro {
    padding-block: 2.5rem 3rem;
  }
  .research-intro .breadcrumbs {
    margin-bottom: 2rem;
  }
  .research-paths {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .research-path+.research-path {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .research-path {
    padding-block: 2rem 2.5rem;
  }
  .research-path-footer {
    margin-top: 1.75rem;
  }
  .research-reading-guide {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-block: 3rem;
  }
  .directory-filters {
    grid-template-columns: 1fr 1fr;
  }
  .directory-search {
    grid-column: 1/-1;
  }
  .directory-filters>button {
    grid-column: 1/-1;
    justify-self: start;
  }
  .company-record-link {
    grid-template-columns: minmax(0,1fr) 1.3rem;
    gap: 1.2rem;
  }
  .company-record-identity {
    grid-column: 1;
  }
  .directory-arrow {
    grid-column: 2;
    grid-row: 1;
  }
  .company-record-period {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1rem;
  }
  .company-record-status {
    grid-column: 1/-1;
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
  }
  .directory-cutoff {
    text-align: right;
  }
  .directory-result-line {
    flex-direction: column;
    gap: .5rem;
  }
  .directory-counts {
    gap: 2rem;
  }
  .fund-universe {
    grid-template-columns: 1fr 2rem 1fr;
    gap: 1rem;
  }
  .fund-universe strong {
    font-size: 2rem;
  }
  .fund-universe .eyebrow {
    font-size: .75rem;
  }
  .fund-universe>div>p:last-child {
    font-size: .9rem;
  }
  .fund-process {
    padding-block: 3rem;
  }
  .fund-process .section-header {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  .fund-process .section-header h2 {
    font-size: 2.1rem;
  }
  .fund-process ol {
    grid-template-columns: 1fr;
  }
  .fund-path-layout,.fund-overlap-section,.fund-role-section {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .fund-path-band {
    padding-block: 3rem;
  }
  .fund-path-chart {
    max-width: 40rem;
  }
  .fund-overlap-section,.fund-role-section {
    padding-block: 3rem;
  }
  .fund-role-section aside {
    padding: 1.75rem;
  }
  .fund-source {
    font-size: .8rem;
  }
  .fund-overlap-section .table-region {
    overflow: auto;
  }
  .research-related>div {
    flex-direction: column;
    gap: 1.2rem;
  }
  .research-related {
    padding-block: 2.5rem 3rem;
  }
}
@media screen and (max-width:800px) {
  .fund-overlap-table {
    table-layout: fixed;
  }
  .fund-overlap-table th:first-child {
    width: 8rem;
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--paper);
    box-shadow: 1px 0 var(--line);
  }
  .fund-overlap-table caption {
    position: sticky;
    left: 0;
    max-width: calc(100vw - 4rem);
  }
}
@media(max-width:360px) {
  .directory-filters {
    grid-template-columns: 1fr;
  }
  .directory-filters>div,.directory-filters>button {
    grid-column: 1;
  }
  .directory-counts {
    gap: 1rem;
  }
  .fund-universe {
    grid-template-columns: 1fr;
  }
  .fund-source {
    grid-column: 1;
  }
  .universe-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }
}
@media print {
  .directory-filters,.directory-result-line,.directory-notes,.research-related {
    display: none;
  }
  .company-record-link {
    break-inside: avoid;
  }
  .fund-path-band {
    background: white;
    color: black;
  }
  .fund-path-layout p:not(.eyebrow),.fund-path-chart figcaption {
    color: black;
  }
  .fund-path-chart svg {
    background: var(--navy);
    print-color-adjust: exact;
  }
  .fund-process li {
    break-inside: avoid;
  }
  .fund-overlap-table {
    min-width: 0;
  }
  .research-intro {
    padding-block: 1rem;
  }
  .fund-source {
    color: black;
  }
}

.research-navigation {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  flex-wrap: wrap;
  padding-block: 1.05rem;
  border-bottom: 1px solid var(--line);
}
.research-navigation>a {
  font-size: .85rem;
  text-decoration: none;
  line-height: 1.5;
  padding: .35rem 0;
}
.research-navigation>a:hover {
  text-decoration: underline;
}
.research-navigation>a[aria-current] {
  font-weight: 650;
  color: var(--navy);
  text-decoration: underline;
  text-decoration-color: var(--gold-ink);
  text-underline-offset: .45rem;
}
.saved-nav-count {
  display: inline-block;
  min-width: 1.5rem;
  text-align: center;
  border: 1px solid var(--control-line);
  font-size: .75rem;
  margin-left: .35rem;
}
.company-save {
  font-size: .8rem;
  line-height: 1.4;
  min-height: 2.75rem;
  min-width: 7.4rem;
  border: 1px solid var(--control-line);
  background: transparent;
  color: var(--navy);
  padding: .6rem .8rem;
  cursor: pointer;
}
.company-save:hover {
  background: var(--white);
}
.company-save[aria-pressed=true] {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
}
.dossier-save-row {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-top: 1.5rem;
  font-size: .85rem;
}
.directory-save-row {
  padding-bottom: 1.5rem;
  margin-top: -.7rem;
}
.saved-storage-note {
  font-size: .875rem;
  color: var(--ink);
  background: #ece4d4;
  border-left: 3px solid var(--gold-ink);
  padding: 1rem;
  margin-bottom: 2rem;
}
.saved-storage-note[hidden] {
  display: none;
}
.saved-clear {
  border: 0;
  background: none;
  padding: .5rem 0;
  margin: 0 0 1.5rem;
  cursor: pointer;
  font-size: .875rem;
}
.directory-empty>.text-link {
  display: inline-block;
  margin-top: 1.5rem;
}
.calendar-page {
  padding-bottom: 4rem;
}
.calendar-snapshot-note {
  padding: 1.25rem 1.5rem;
  background: #e9e7df;
  border-left: 3px solid var(--gold-ink);
  font-size: .875rem;
}
.calendar-snapshot-note p {
  margin-top: .5rem;
  max-width: 65rem;
  color: #515767;
}
.calendar-filters {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.3fr 1fr 1fr;
  gap: 1.25rem;
  align-items: end;
  padding-block: 2rem;
  border-bottom: 1px solid var(--line);
}
.calendar-filters>div>label,.week-selector label {
  font-size: .8rem;
  font-weight: 650;
  display: block;
  margin-bottom: .6rem;
}
.calendar-filters input:not([type=checkbox]),.calendar-filters select,.week-selector input {
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  border: 1px solid var(--control-line);
  background: var(--white);
  padding: .6rem .7rem;
  font-size: 1rem;
  color: var(--ink);
  border-radius: 0;
}
.calendar-saved-filter {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .875rem;
  grid-column: 1/3;
  min-height: 2.75rem;
}
.calendar-saved-filter input {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: var(--navy);
}
.calendar-filters button {
  grid-column: 3/-1;
  justify-self: end;
  border: 0;
  background: none;
  cursor: pointer;
  padding: .6rem 0;
  min-height: 2.75rem;
  font-size: .875rem;
}
.calendar-list-heading {
  margin-top: 2rem;
  align-items: center;
}
.calendar-list-heading h2 {
  font-size: 1.7rem;
}
.calendar-list-heading p {
  font-size: .8rem;
  color: var(--muted);
  text-align: right;
}
.calendar-record {
  display: grid;
  grid-template-columns: 11rem minmax(0,1fr) 15rem;
  gap: 3rem;
  border-top: 1px solid var(--line);
  padding-block: 1.75rem;
}
.calendar-record[hidden] {
  display: none;
}
.calendar-date {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  line-height: 1.5;
  font-size: .9rem;
}
.calendar-date>span:last-child {
  font-size: .8rem;
  color: var(--muted);
}
.calendar-company h3 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 400;
}
.calendar-company h3>a {
  text-decoration: none;
}
.calendar-company h3>a:hover {
  text-decoration: underline;
}
.calendar-company p {
  font-size: .875rem;
  color: var(--muted);
  margin-top: .6rem;
}
.calendar-company .calendar-amount {
  color: var(--ink);
  font-weight: 600;
  font-size: 1rem;
}
.calendar-company .calendar-record-context {
  font-size: .8rem;
  line-height: 1.6;
}
.calendar-evidence {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: .8rem;
  font-size: .8rem;
}
.event-status {
  font-size: .75rem;
  border: 1px solid var(--control-line);
  padding: .2rem .6rem;
}
.calendar-source-missing {
  color: var(--muted);
  line-height: 1.6;
}
.week-selector {
  display: flex;
  align-items: end;
  gap: 2rem;
  margin-top: 2rem;
}
.week-selector>div {
  max-width: 21rem;
  flex: 1;
}
.week-selector button {
  border: 0;
  background: none;
  min-height: 3rem;
  cursor: pointer;
  font-size: .875rem;
  padding: .5rem 0;
}
.calendar-method {
  margin-top: 1rem;
  color: var(--muted);
  font-size: .875rem;
  max-width: 55rem;
}
[data-calendar=results-week] .calendar-filters {
  grid-template-columns: 1.4fr 1fr 1fr;
}
[data-calendar=results-week] .calendar-saved-filter {
  grid-column: 3;
}
[data-calendar=results-week] .calendar-filters button {
  grid-column: 1/-1;
}
@media(max-width:1050px) {
  .research-navigation {
    gap: 1rem 1.5rem;
  }
  .calendar-filters {
    grid-template-columns: repeat(3,1fr);
  }
  .calendar-filters>div:first-child {
    grid-column: 1/3;
  }
  .calendar-filters button {
    grid-column: 3;
  }
  .calendar-record {
    grid-template-columns: 9rem minmax(0,1fr) 12rem;
    gap: 1.5rem;
  }
}
@media(max-width:800px) {
  .research-navigation {
    gap: .4rem 1.1rem;
    padding-block: .9rem;
  }
  .research-navigation>a {
    font-size: .8rem;
    min-height: 2.2rem;
    padding-block: .4rem;
  }
  .calendar-filters {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .calendar-filters>div:first-child {
    grid-column: 1/-1;
  }
  .calendar-filters button {
    grid-column: 2;
  }
  .calendar-saved-filter {
    grid-column: 1;
  }
  .calendar-record {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-block: 1.5rem;
  }
  .calendar-date {
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
  }
  .calendar-evidence {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1.2rem;
  }
  .calendar-source-missing {
    max-width: 15rem;
  }
  .calendar-list-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: .65rem;
  }
  .calendar-list-heading p {
    text-align: left;
  }
  .week-selector {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }
  .week-selector>div {
    max-width: 100%;
  }
  .week-selector button {
    text-align: left;
  }
  .calendar-snapshot-note {
    padding: 1.25rem;
  }
  .dossier-save-row {
    flex-wrap: wrap;
    gap: .8rem 1.2rem;
  }
  .company-save {
    min-height: 2.75rem;
  }
  .calendar-company h3 {
    font-size: 1.6rem;
  }
  [data-calendar=results-week] .calendar-filters {
    grid-template-columns: 1fr 1fr;
  }
  [data-calendar=results-week] .calendar-saved-filter {
    grid-column: 2;
  }
}
@media(max-width:360px) {
  .calendar-filters {
    grid-template-columns: 1fr;
  }
  .calendar-filters>div,.calendar-filters>div:first-child,.calendar-filters button,.calendar-saved-filter {
    grid-column: 1;
  }
  .calendar-filters button {
    justify-self: start;
  }
  .calendar-date {
    flex-direction: column;
    gap: .3rem;
  }
  [data-calendar=results-week] .calendar-filters {
    grid-template-columns: 1fr;
  }
  [data-calendar=results-week] .calendar-saved-filter {
    grid-column: 1;
  }
}
@media print {
  .research-navigation,.company-save,.dossier-save-row,.directory-save-row,.calendar-filters,.saved-storage-note,.week-selector,.saved-clear {
    display: none;
  }
  .calendar-record {
    break-inside: avoid;
    grid-template-columns: 7rem 1fr 10rem;
    gap: 1rem;
  }
  .calendar-company h3 {
    font-size: 14pt;
  }
  .calendar-page {
    padding-bottom: 0;
  }
}
.research-mobile-navigation {
  display: none;
}
@media(max-width:800px) {
  .research-navigation {
    display: none;
  }
  .research-mobile-navigation {
    display: block;
    border-bottom: 1px solid var(--line);
  }
  .research-mobile-navigation summary {
    font-size: .875rem;
    font-weight: 500;
    padding: 1rem 0;
    cursor: pointer;
  }
  .research-mobile-navigation nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .3rem 1rem;
    padding: 0 0 1rem;
  }
  .research-mobile-navigation nav a {
    font-size: .875rem;
    text-decoration: none;
    min-height: 2.75rem;
    line-height: 1.5;
    padding: .6rem 0;
  }
  .research-mobile-navigation nav a[aria-current] {
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: .3rem;
  }
  .research-mobile-navigation nav a:hover {
    text-decoration: underline;
  }
}
@media(max-width:360px) {
  .research-mobile-navigation nav {
    grid-template-columns: 1fr;
  }
}
@media print {
  .research-mobile-navigation {
    display: none;
  }
}

.registered-mark { font-size:45%; line-height:0; vertical-align:baseline; position:relative; top:-0.8em; letter-spacing:0; }