/* The public narrative: a restrained masthead and an evidence-led composition. */
.public-site { --gutter: clamp(22px,5vw,80px); --measure: 1240px; }
.public-site :is(h1,h2,h3,p) { margin-top: 0; }
.public-site a { color: inherit; text-decoration: none; }
.public-site a:hover { text-decoration: underline; text-underline-offset: 5px; }
.public-site .page-width { max-width: calc(var(--measure) + 2 * var(--gutter)); padding-inline: var(--gutter); margin-inline: auto; }
.public-site .eyebrow { display: flex; align-items: center; gap: 12px; font: 600 .8125rem/1.5 var(--font-body); letter-spacing: .11em; text-transform: uppercase; color: #856329; margin-bottom: 24px; }
.public-site .eyebrow::before { content: ''; height: 1px; width: 28px; background: currentColor; flex-shrink: 0; }
.public-site .eyebrow.light { color: #d4b57d; }
.public-site .micro { font-size: .8125rem; color: #616c7b; line-height: 1.65; margin: 18px 0 0; }
.public-site .light-micro { color: #c2cbd6; }
.public-site .public-masthead { background: #10233f; color: white; }
.public-site .public-nav { min-height: 106px; display: flex; justify-content: space-between; align-items: center; gap: 28px; position: relative; }
.public-site .public-nav::after { content: ''; height: 1px; background: #d4b57d44; position: absolute; bottom: 0; left: var(--gutter); right: var(--gutter); }
.public-site .wordmark { display: inline-block; font: 500 1.9rem/1.1 var(--font-display); letter-spacing: -.055em; white-space: nowrap; }
.public-site .wordmark span { color: #d4b57d; }
.public-site .wordmark small { display: block; font: 400 .6875rem/1.5 var(--font-body); color: #bac6d5; letter-spacing: .06em; margin-top: 9px; }
.public-site .public-links { display: flex; align-items: center; gap: clamp(16px,2vw,28px); font-size: .875rem; color: #e0e6ed; }
.public-site .public-links > a { padding-block: 14px; }
.public-site .sign-in { padding-left: 22px; border-left: 1px solid #d4b57d44; }
.public-site .public-links .nav-action { border: 1px solid #d4b57d77; padding: 11px 16px; color: #e2c895; }
.public-site .nav-action span { margin-left: 12px; }
.public-site .public-hero { background: #10233f; color: #fffefa; }
.public-site .hero-layout { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(60px,8vw,120px); padding-top: clamp(54px,6vw,90px); padding-bottom: 70px; align-items: center; }
.public-site .hero-copy h1 { font-size: clamp(3.5rem,5.7vw,5.3rem); line-height: 1.06; letter-spacing: -.04em; font-weight: 400; margin-bottom: 30px; }
.public-site em { font-weight: 400; color: #856329; }
.public-site .hero-copy em, .public-site .firms-section em, .public-site .closing-section em { color: #d4b57d; }
.public-site .hero-intro { max-width: 530px; font-size: 1.125rem; color: #d4dce6; line-height: 1.8; margin-bottom: 18px; }
.public-site .hero-detail { color: #c2cbd6; font-size: .9375rem; margin-bottom: 32px; }
.public-site .hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.public-site .button { display: inline-flex; justify-content: center; align-items: center; gap: 24px; min-height: 52px; padding: 15px 24px; border: 1px solid transparent; border-radius: 2px; font: 600 .9375rem/1.5 var(--font-body); cursor: pointer; white-space: normal; transition: background .2s,border-color .2s; text-align: center; }
.public-site .button:hover { text-decoration: none; }
.public-site .button-brass { background: #d4b57d; color: #10233f; border-color: #e4cb9c; box-shadow: inset 0 1px 0 #ffffff30; }
.public-site .button-brass:hover { background: #e1c793; }
.public-site .button-ink { background: #162a4e; color: #fffefa; }
.public-site .button-ink:hover { background: #254062; }
.public-site .quiet-link { display: inline-flex; align-items: center; gap: 16px; font-size: .9375rem; color: #f3e7cf; padding-block: 12px; border-bottom: 1px solid #d4b57d66; }
.public-site .hero-foot { display: flex; justify-content: space-between; gap: 20px; padding-block: 24px; color: #bbc7d6; font-size: .8125rem; border-top: 1px solid #d4b57d33; }
.public-site .evidence-preview { background: #fbfaf5; color: #162a4e; padding: 30px 36px 20px; border-top: 3px solid #d4b57d; box-shadow: 18px 18px 0 -1px #10233f,18px 18px 0 0 #d4b57d44; }
.public-site .preview-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid #d7d7cc; font: 500 1.2rem var(--font-display); }
.public-site .brass { color: #856329; }
.public-site .edition-label { font: 500 .75rem var(--font-body); color: #616c7b; letter-spacing: .08em; text-transform: uppercase; }
.public-site .preview-title { padding-top: 28px; }
.public-site .preview-title .eyebrow { font-size: .75rem; margin-bottom: 16px; }
.public-site .preview-title h2 { font-size: clamp(2.3rem,3vw,3rem); line-height: 1.13; font-weight: 400; margin-bottom: 16px; }
.public-site .preview-title p:last-child { font-size: .875rem; color: #526075; line-height: 1.7; margin-bottom: 22px; }
.public-site .record-index { list-style: none; padding: 0; margin: 0; }
.public-site .record-index li { display: flex; gap: 18px; padding: 14px 0; border-top: 1px solid #dcded4; }
.public-site .index-number { font: 400 1.15rem var(--font-display); color: #856329; min-width: 22px; }
.public-site .record-index strong { display: block; font-size: .9375rem; font-weight: 500; }
.public-site .record-index li div > span { font-size: .8125rem; color: #616c7b; }
.public-site .preview-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; padding-top: 14px; border-top: 1px solid #b5a27d; font-size: .75rem; color: #616c7b; gap: 12px; }
.public-site .preview-bottom a { color: #856329; padding: 6px; }
.public-site .public-section { padding-block: clamp(64px,7.5vw,112px); }
.public-site .public-section h2, .public-site .access-band h2, .public-site .pricing-summary h2 { font-size: clamp(2.05rem,3.5vw,3.15rem); line-height: 1.18; font-weight: 400; letter-spacing: -.035em; margin-bottom: 26px; }
.public-site .section-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 90px; align-items: end; margin-bottom: 40px; }
.public-site .section-heading > p { max-width: 500px; font-size: 1.0625rem; color: #526075; margin-bottom: 30px; }
.public-site .approach-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.public-site .approach-grid article { padding-top: 26px; border-top: 1px solid #bba781; }
.public-site .section-number { font: 400 1.6rem var(--font-display); color: #927544; }
.public-site .approach-grid h3 { font-size: 1.5rem; font-weight: 400; margin: 26px 0 14px; }
.public-site .approach-grid p { color: #526075; font-size: 1rem; }
.public-site .principle-line { display: flex; align-items: center; gap: 16px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #dcdedc; color: #856329; }
.public-site .principle-line p { margin: 0; color: #526075; font-size: .9375rem; }
.public-site .evidence-section { background: #eeefe9; border-block: 1px solid #dcdedc; }
.public-site .evidence-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 90px; align-items: center; }
.public-site .evidence-copy > p:not(.eyebrow):not(.micro) { color: #526075; margin-bottom: 22px; }
.public-site .text-link { display: inline-flex; align-items: center; gap: 14px; color: #74531f; font-weight: 500; font-size: .9375rem; border-bottom: 1px solid #bbaa88; padding-block: 8px; }
.public-site .sample-ledger { background: #fffefa; padding: 30px; border: 1px solid #d6d6cd; border-top: 3px solid #a78c56; }
.public-site .ledger-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.public-site .ledger-heading h3 { font-size: 1.35rem; margin-bottom: 0; font-weight: 500; }
.public-site .sample-label { border: 1px solid #c7b690; padding: 5px 8px; color: #74531f; font-size: .75rem; white-space: nowrap; }
.public-site .ledger-intro, .public-site .ledger-note { color: #616c7b; font-size: .8125rem; margin-block: 14px 22px; }
.public-site .ledger-row { display: grid; grid-template-columns: 1fr auto; gap: 18px; border-top: 1px solid #e2e3db; padding-block: 13px; font-size: .875rem; }
.public-site .amd-key { color: #526075; }
.public-site .amd-val { text-align: right; font-variant-numeric: tabular-nums; }
.public-site .ledger-note { margin-bottom: 0; padding-top: 14px; border-top: 1px solid #b5a27d; }
.public-site .year-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.public-site .year-layout > div:last-child { padding-top: 46px; }
.public-site .year-layout p:not(.eyebrow):not(.micro) { font-size: 1.0625rem; color: #526075; }
.public-site .year-actions { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 28px; }
.public-site .firms-section { background: #162a4e; color: #fffefa; }
.public-site .firms-section .section-heading > p { color: #c7d1df; }
.public-site .oversight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-block: 1px solid #d4b57d55; margin-top: 45px; }
.public-site .oversight-grid article { padding: 32px 30px; border-right: 1px solid #d4b57d55; display: flex; flex-direction: column; align-items: flex-start; }
.public-site .oversight-grid article:first-child { padding-left: 0; }
.public-site .oversight-grid article:last-child { border-right: 0; padding-right: 0; }
.public-site .oversight-grid h3 { font-size: 1.55rem; line-height: 1.4; font-weight: 400; margin-bottom: 20px; }
.public-site .oversight-grid p:not(.eyebrow) { color: #c7d1df; font-size: 1rem; margin-bottom: 24px; }
.public-site .oversight-grid .eyebrow { font-size: .75rem; }
.public-site .oversight-grid a { color: #e2c895; font-size: .9375rem; margin-top: auto; padding-block: 8px; }
.public-site .oversight-boundary { display: flex; align-items: flex-start; gap: 20px; margin-top: 30px; color: #d4b57d; max-width: 1010px; }
.public-site .oversight-boundary .cpd-icon { margin-top: 4px; }
.public-site .oversight-boundary p { font-size: .9375rem; color: #c7d1df; }
.public-site .oversight-boundary strong { color: #fffefa; font-weight: 500; }
.public-site .calculator-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.public-site .calculator-layout > div > p:not(.eyebrow) { color: #526075; }
.public-site .calculator-panel { border: 1px solid #cbd0cd; padding: 28px; background: #fffefa; }
.public-site .calculator-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.public-site .calculator-inputs label { font-size: .875rem; color: #526075; }
.public-site .calculator-inputs input { display: block; width: 100%; margin-top: 8px; background: #fff; border: 1px solid #b1bac1; padding: 12px; color: #162a4e; }
.public-site .range-label { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .875rem; margin-block: 26px 14px; }
.public-site input[type=range] { width: 100%; accent-color: #856329; cursor: pointer; min-height: 28px; }
.public-site .calculator-results { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 20px; margin-top: 20px; border-top: 1px solid #dcdedc; }
.public-site .calculator-results output { display: block; font: 400 2.6rem var(--font-display); font-variant-numeric: tabular-nums; }
.public-site .calculator-results span { font-size: .8125rem; color: #526075; }
.public-site .pricing-summary { background: #eeefe9; padding-block: 50px; border-block: 1px solid #dcdedc; }
.public-site .pricing-layout { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.public-site .pricing-layout h2 { margin-bottom: 15px; }
.public-site .pricing-layout .eyebrow { margin-bottom: 16px; }
.public-site .pricing-layout > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.public-site .pricing-layout p { color: #526075; }
.public-site .faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.public-site .faq-layout > div:first-child > p:last-child { color: #526075; max-width: 350px; }
.public-site .faq-list details { border-top: 1px solid #cbd0cd; }
.public-site .faq-list details:last-child { border-bottom: 1px solid #cbd0cd; }
.public-site .faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; font-size: 1rem; font-weight: 500; }
.public-site .faq-list summary::-webkit-details-marker { display: none; }
.public-site .faq-list summary::after { content: '+'; color: #856329; font-size: 1.35rem; font-weight: 400; line-height: 1.1; }
.public-site .faq-list details[open] summary::after { content: '−'; }
.public-site .faq-list details p { color: #526075; padding: 0 26px 24px 0; margin: 0; }
.public-site .faq-list details a { text-decoration: underline; text-underline-offset: 4px; }
.public-site .closing-section { background: #10233f; color: #fffefa; padding-block: 70px; }
.public-site .closing-layout { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.public-site .closing-layout h2 { font-size: clamp(2rem,3.4vw,3rem); line-height: 1.25; font-weight: 400; margin-bottom: 0; }
.public-site .public-footer { background: #10233f; color: #bac6d5; }
.public-site .footer-top { border-top: 1px solid #d4b57d44; padding-block: 44px; display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; font-size: .875rem; }
.public-site .footer-top .wordmark { color: #fffefa; }
.public-site .footer-top p { margin: 0; }
.public-site .footer-top > a:last-child { color: #e2c895; }
.public-site .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid #d4b57d22; padding-block: 24px; font-size: .8125rem; }
.public-site .footer-bottom > div { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.public-site .footer-bottom button { padding: 0; background: none; color: inherit; border: 0; font-size: inherit; cursor: pointer; }
.public-site .footer-bottom button:hover { text-decoration: underline; text-underline-offset: 5px; }
.public-site .information-dialog { width: min(740px,calc(100% - 32px)); max-height: 85svh; border: 1px solid #bba781; border-top: 3px solid #a78c56; border-radius: 2px; padding: 32px; color: #162a4e; background: #fffefa; }
.public-site .information-dialog::backdrop { background: #10233fc9; }
.public-site .information-dialog h3 { font-size: 2rem; margin-block: 20px; }
.public-site .information-dialog p { color: #526075; }
.public-site .information-dialog a { text-decoration: underline; }
.public-site .information-dialog form { text-align: right; }
.public-site .dialog-close { background: transparent; border: 1px solid #cbd0cd; padding: 10px 16px; color: #162a4e; cursor: pointer; }
.public-site .access-band { padding-block: 48px; border-bottom: 1px solid #dcdedc; background: #eeefe9; }
.public-site .access-layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 100px; }
.public-site .access-band .eyebrow { margin-bottom: 12px; }
.public-site .access-band h2 { font-size: 2rem; margin-bottom: 16px; }
.public-site .access-layout > div > p:not(.eyebrow) { color: #526075; font-size: .9375rem; }
.public-site .access-form-panel { border-left: 1px solid #c7c5b9; padding-left: 40px; }
.public-site .access-form-panel h3 { font-size: 1.4rem; margin-bottom: 18px; }
.public-site .gate-form label { display: block; font-size: .875rem; color: #526075; margin-bottom: 7px; }
.public-site .gate-fields { display: flex; gap: 10px; }
.public-site .gate-fields input { min-width: 0; width: 100%; padding: 12px; background: #fffefa; border: 1px solid #aeb6bb; color: #162a4e; }
.public-site .access-error { color: #a03535; font-size: .9375rem; margin-top: 12px; }
.public-site .access-notice { border-left: 3px solid #a78c56; padding-left: 14px; font-size: .9375rem; }
.public-site .access-form-panel .micro a { text-decoration: underline; text-underline-offset: 4px; }
.public-site :is(.public-masthead,.public-hero,.firms-section,.closing-section,.public-footer) :is(a,button):focus-visible { outline-color: #e2c895; }
@media (max-width: 1150px) {
  .public-site .nav-toggle { display: block; color: #fff; background: transparent; }
  .public-site .public-links { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 100; background: #10233f; padding: 20px var(--gutter); border-bottom: 1px solid #d4b57d66; }
  .public-site .public-links.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  .public-site .sign-in { border-left: 0; padding-left: 0; }
  .public-site .hero-layout { gap: 50px; }
  .public-site .evidence-preview { padding-inline: 24px; }
  .public-site :is(.section-heading,.evidence-layout,.year-layout,.calculator-layout,.faq-layout,.access-layout) { gap: 50px; }
  .public-site .ledger-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (max-width: 800px) {
  .public-site .public-nav { min-height: 90px; }
  .public-site .hero-layout { grid-template-columns: 1fr; padding-top: 52px; padding-bottom: 46px; gap: 46px; }
  .public-site .hero-copy h1 { font-size: clamp(3.3rem,9vw,4.8rem); }
  .public-site .hero-intro { max-width: 600px; }
  .public-site .evidence-preview { max-width: 580px; box-shadow: 9px 9px 0 -1px #10233f,9px 9px 0 0 #d4b57d44; }
  .public-site .preview-title h2 br { display: none; }
  .public-site .hero-foot { flex-wrap: wrap; gap: 12px; }
  .public-site :is(.section-heading,.evidence-layout,.year-layout,.calculator-layout,.faq-layout,.access-layout) { grid-template-columns: 1fr; gap: 26px; }
  .public-site .section-heading { margin-bottom: 20px; }
  .public-site .section-heading > p { max-width: 100%; margin-bottom: 22px; }
  .public-site .approach-grid { gap: 24px; }
  .public-site .approach-grid h3 { font-size: 1.35rem; }
  .public-site .year-layout > div:last-child { padding-top: 0; }
  .public-site .oversight-grid article { padding-inline: 20px; }
  .public-site .oversight-grid h3 { font-size: 1.4rem; }
  .public-site .access-form-panel { border-left: 0; padding: 26px 0 0; border-top: 1px solid #c7c5b9; }
  .public-site .closing-layout, .public-site .pricing-layout { align-items: flex-start; flex-direction: column; }
  .public-site .footer-top, .public-site .footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 540px) {
  .public-site .wordmark small { font-size: .75rem; letter-spacing: 0; }
  .public-site .hero-copy h1 { font-size: clamp(2.9rem,12vw,3.8rem); }
  .public-site .hero-copy .eyebrow { font-size: .75rem; letter-spacing: .065em; }
  .public-site .hero-actions { gap: 12px; }
  .public-site .hero-actions .button { width: 100%; }
  .public-site .preview-title h2 { font-size: 2.2rem; }
  .public-site .preview-top { font-size: 1.15rem; }
  .public-site .record-index li { gap: 14px; }
  .public-site .approach-grid, .public-site .oversight-grid { grid-template-columns: 1fr; }
  .public-site .approach-grid article { padding-top: 20px; }
  .public-site .approach-grid h3 { margin-top: 14px; font-size: 1.5rem; }
  .public-site .oversight-grid article { padding: 28px 0; border-right: 0; border-bottom: 1px solid #d4b57d44; }
  .public-site .oversight-grid article:last-child { border-bottom: 0; }
  .public-site .oversight-grid h3 br { display: none; }
  .public-site .ledger-row { grid-template-columns: 1fr; gap: 3px; }
  .public-site .amd-val { text-align: left; }
  .public-site .sample-ledger, .public-site .calculator-panel { padding: 22px; }
  .public-site .calculator-inputs, .public-site .calculator-results { gap: 16px; }
  .public-site .calculator-results output { font-size: 2.2rem; }
  .public-site .footer-top { flex-direction: column; }
  .public-site .footer-bottom { align-items: flex-start; }
  .public-site .gate-fields { flex-direction: column; }
  .public-site .gate-fields input { min-height: 48px; }
}
