/* TOVA brand review overlay, 2026-09-19.
   Loaded after the candidate styles. It changes presentation only. */
@font-face {
  font-family: "TovaDisplay";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/playfair-display-400.woff2") format("woff2");
}

:root {
  --tova-ink: #0E1A2B;
  --tova-navy: #162847;
  --tova-steel: #2C4066;
  --tova-white: #F8FAFE;
  --tova-paper: #FFFDF8;
  --tova-pearl: #EEF2F6;
  --tova-line: #CBD5E3;
  --tova-gold: #C9A96E;
  --tova-gold-light: #DBC395;
  --tova-gold-text: #765923;
  --tova-muted: #4D6076;
  --tova-focus: #3974CA;
}

body.tova-candidate {
  background: var(--tova-white);
  color: var(--tova-ink);
  font-family: DM, "DM Sans", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body.tova-candidate h1,
body.tova-candidate h2,
body.tova-candidate h3,
body.tova-candidate h4 {
  color: var(--tova-navy);
  font-family: TovaDisplay, "Playfair Display", Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.025em;
}

body.tova-candidate a {
  color: var(--tova-steel);
}

body.tova-candidate p,
body.tova-candidate li,
body.tova-candidate dd {
  color: var(--tova-ink);
}

body.tova-candidate .note,
body.tova-candidate .choice-intro,
body.tova-candidate .sample-label,
body.tova-candidate dd {
  color: var(--tova-muted);
}

body.tova-candidate .eyebrow,
body.tova-candidate .doc-tag,
body.tova-candidate .paper-label {
  color: var(--tova-gold-text);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.045em;
}

body.tova-candidate > header.nav {
  width: min(1320px, calc(100% - 80px));
  min-height: 82px;
  padding: 16px 0;
  background: var(--tova-navy);
  border-bottom: 1px solid #30476D;
}

body.tova-candidate > header.nav > a {
  flex: 0 0 auto;
}

body.tova-candidate > header.nav img {
  width: 162px;
  height: auto;
  filter: brightness(0) invert(1);
}

body.tova-candidate > header.nav nav[aria-label="Main navigation"] {
  gap: 30px;
}

body.tova-candidate > header.nav nav[aria-label="Main navigation"] > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #FFFFFF;
  font-size: 16px;
  letter-spacing: 0.01em;
}

body.tova-candidate > header.nav nav[aria-label="Main navigation"] > a:hover,
body.tova-candidate > header.nav nav[aria-label="Main navigation"] > a:focus-visible {
  color: var(--tova-gold-light);
  text-decoration: underline;
  text-underline-offset: 5px;
}

body.tova-candidate .menu-toggle {
  min-height: 48px;
  border: 1px solid #9BAAC0;
  border-radius: 6px;
  background: transparent;
  color: #FFFFFF;
  font-size: 17px;
  font-weight: 700;
}

body.tova-candidate .menu-toggle:hover,
body.tova-candidate .menu-toggle:focus-visible {
  border-color: var(--tova-gold-light);
  background: #263B5F;
}

body.tova-candidate .button {
  min-height: 56px;
  border: 1px solid var(--tova-navy);
  border-radius: 5px;
  background: var(--tova-navy);
  color: #FFFFFF;
  font-size: 18px;
  letter-spacing: 0.005em;
  box-shadow: 0 5px 14px rgba(22, 40, 71, 0.12);
}

body.tova-candidate .button:hover,
body.tova-candidate .button:focus-visible {
  background: var(--tova-steel);
  border-color: var(--tova-steel);
}

body.tova-candidate .text-link {
  color: var(--tova-steel);
  font-size: 17px;
  font-weight: 700;
  text-decoration-thickness: 1px;
}

body.tova-candidate .text-link:hover,
body.tova-candidate .text-link:focus-visible {
  color: var(--tova-gold-text);
}

/* Homepage opening and choice path */
body.tova-candidate .blend {
  background: var(--tova-white);
}

body.tova-candidate .blend .opening {
  max-width: 1180px;
  padding-block: 64px 48px;
  border-bottom: 1px solid var(--tova-gold-light);
}

body.tova-candidate .blend .opening h1 {
  max-width: 850px;
  color: var(--tova-navy);
  font-size: clamp(44px, 5.7vw, 76px);
  line-height: 1.05;
  margin-bottom: 0;
}

body.tova-candidate .blend .opening .eyebrow {
  margin-bottom: 18px;
}

body.tova-candidate .blend .choice-switch {
  border-color: var(--tova-line);
  background: var(--tova-pearl);
}

body.tova-candidate .blend .choice-switch button {
  min-height: 54px;
  color: var(--tova-navy);
  font-size: 17px;
}

body.tova-candidate .blend .choice-switch button[aria-pressed="true"] {
  background: var(--tova-navy);
  color: #FFFFFF;
}

body.tova-candidate .blend .choices {
  gap: 32px;
}

body.tova-candidate .blend .choice {
  border: 1px solid var(--tova-line);
  border-top: 4px solid var(--tova-gold);
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 10px 28px rgba(22, 40, 71, 0.06);
}

body.tova-candidate .blend .choice h2 {
  font-size: clamp(30px, 3vw, 38px);
  line-height: 1.12;
}

body.tova-candidate .blend .service-row {
  min-height: 82px;
  border-top-color: var(--tova-line);
  color: var(--tova-ink);
}

body.tova-candidate .blend .service-row strong {
  color: var(--tova-navy);
  font-size: 19px;
  font-weight: 700;
}

body.tova-candidate .blend .service-row .desc {
  color: var(--tova-muted);
  font-size: 16px;
}

body.tova-candidate .blend .service-row .fee {
  color: var(--tova-gold-text);
  font-size: 19px;
  font-weight: 700;
}

body.tova-candidate .blend .service-row .fee small {
  color: var(--tova-muted);
  font-size: 16px;
  font-weight: 400;
}

body.tova-candidate .blend .service-row:hover,
body.tova-candidate .blend .service-row:focus-visible {
  background: #FBF8F1;
}

body.tova-candidate .blend .service-row:focus-visible {
  outline: 3px solid var(--tova-focus);
  outline-offset: 3px;
}

body.tova-candidate .blend .choice .terms {
  color: var(--tova-muted);
  font-size: 16px;
}

body.tova-candidate .blend .assessment {
  border-top-color: var(--tova-gold-light);
  background: var(--tova-navy);
  color: #FFFFFF;
}

body.tova-candidate .blend .assessment h2,
body.tova-candidate .blend .assessment h3,
body.tova-candidate .blend .assessment strong {
  color: #FFFFFF;
}

body.tova-candidate .blend .assessment .choice-intro,
body.tova-candidate .blend .assessment .steps p,
body.tova-candidate .blend .assessment .note {
  color: #E6ECF2;
}

body.tova-candidate .blend .assessment .steps li {
  border-top-color: #5C6E89;
}

body.tova-candidate .blend .assessment .number {
  border-color: var(--tova-gold-light);
  color: var(--tova-gold-light);
}

body.tova-candidate .blend .assessment .button {
  border-color: var(--tova-gold-light);
  background: var(--tova-gold-light);
  color: var(--tova-ink);
  box-shadow: none;
}

body.tova-candidate .blend .assessment .button:hover,
body.tova-candidate .blend .assessment .button:focus-visible {
  background: #E5D2A8;
  border-color: #E5D2A8;
}

body.tova-candidate .blend .testimonials {
  background: #FFFFFF;
  border-bottom-color: var(--tova-line);
  border-top: 1px solid var(--tova-line);
}

body.tova-candidate .blend .testimonials figure {
  border-left-color: var(--tova-gold);
}

body.tova-candidate .blend .testimonials blockquote {
  color: var(--tova-navy);
  font-family: TovaDisplay, "Playfair Display", Georgia, serif;
  font-size: clamp(22px, 2vw, 27px);
  line-height: 1.4;
  letter-spacing: -0.015em;
}

/* Homepage information bands */
body.tova-candidate .blend .records-show,
body.tova-candidate .blend .working,
body.tova-candidate .blend .states {
  background: var(--tova-white);
}

body.tova-candidate .blend .tracing-section,
body.tova-candidate .blend .resources {
  background: #FFFFFF;
}

body.tova-candidate .blend .records-show,
body.tova-candidate .blend .tracing-section,
body.tova-candidate .blend .working,
body.tova-candidate .blend .states,
body.tova-candidate .blend .resources {
  border-color: var(--tova-line);
}

body.tova-candidate .blend .records-summary h2,
body.tova-candidate .blend .section-lead h2,
body.tova-candidate .blend .working h2,
body.tova-candidate .blend .resource-heading h2,
body.tova-candidate .blend .states h2,
body.tova-candidate .blend .contact-block h2 {
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.1;
}

body.tova-candidate .blend .single-document {
  color: var(--tova-steel);
}

body.tova-candidate .blend .single-document img,
body.tova-candidate .blend .document-card img {
  border-color: var(--tova-line);
  background: var(--tova-paper);
  box-shadow: 0 10px 24px rgba(22, 40, 71, 0.10);
}

body.tova-candidate .blend .scope-line,
body.tova-candidate .blend .service-intro {
  background: #F2EEE5;
  border-left-color: var(--tova-gold);
  color: var(--tova-ink);
}

body.tova-candidate .blend .tracing-proof {
  background: var(--tova-navy);
  border: 1px solid #30476D;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(22, 40, 71, 0.12);
}

body.tova-candidate .blend .tracing-proof > strong {
  color: var(--tova-gold-light);
  font-family: TovaDisplay, "Playfair Display", Georgia, serif;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 400;
  letter-spacing: -0.035em;
}

body.tova-candidate .blend .tracing-proof p {
  color: #FFFFFF;
}

body.tova-candidate .blend .tracing-proof .note {
  color: #E6ECF2;
}

body.tova-candidate .blend details,
body.tova-candidate .blend .state-links a,
body.tova-candidate .blend .resource-links a {
  border-color: var(--tova-line);
}

body.tova-candidate .blend summary {
  color: var(--tova-navy);
  font-size: 17px;
}

body.tova-candidate .blend .work-details,
body.tova-candidate .blend .contact-block {
  border: 1px solid var(--tova-line);
  background: var(--tova-pearl);
  border-radius: 8px;
}

body.tova-candidate .blend .work-details h3,
body.tova-candidate .blend .tool-grid h3 {
  color: var(--tova-navy);
}

body.tova-candidate .blend .contact-block {
  box-shadow: 0 10px 28px rgba(22, 40, 71, 0.05);
}

body.tova-candidate .blend .contact-info > strong {
  color: var(--tova-navy);
}

body.tova-candidate .blend .contact-info .text-link {
  color: var(--tova-steel);
}

body.tova-candidate .blend .resource-links a,
body.tova-candidate .blend .state-links a {
  color: var(--tova-steel);
}

body.tova-candidate .blend .resource-links a:hover,
body.tova-candidate .blend .state-links a:hover {
  color: var(--tova-gold-text);
}

body.tova-candidate .blend footer,
body.tova-candidate .blend .full-footer {
  border-top-color: var(--tova-line);
}

body.tova-candidate .full-footer .byline,
body.tova-candidate .full-footer .footer-top strong {
  color: var(--tova-navy);
}

body.tova-candidate .full-footer .disclaimer p,
body.tova-candidate .full-footer .footer-end,
body.tova-candidate .full-footer .footer-end a {
  color: var(--tova-muted);
}

body.tova-candidate .full-footer .directory-links a {
  color: var(--tova-steel);
}

/* Records discovery page */
body.tova-candidate .documents-page {
  max-width: 1180px;
  padding-top: 58px;
  padding-bottom: 76px;
}

body.tova-candidate .documents-page > h1 {
  max-width: 850px;
  color: var(--tova-navy);
  font-size: clamp(44px, 5.7vw, 72px);
  line-height: 1.06;
}

body.tova-candidate .documents-page > .intro {
  max-width: 700px;
  color: var(--tova-steel);
  font-size: 22px;
  line-height: 1.5;
}

body.tova-candidate .documents-page .service-intro {
  max-width: 980px;
  padding: 24px 28px;
  border: 1px solid #DED4BE;
  border-left: 5px solid var(--tova-gold);
  border-radius: 0 8px 8px 0;
}

body.tova-candidate .documents-page .service-intro .scope-line {
  padding: 0;
  border: 0;
  background: transparent;
}

body.tova-candidate .documents-page .document-nav a {
  min-height: 48px;
  border-color: #9BAAC0;
  border-radius: 4px;
  background: #FFFFFF;
  color: var(--tova-steel);
  font-size: 17px;
  font-weight: 700;
}

body.tova-candidate .documents-page .document-nav a:hover,
body.tova-candidate .documents-page .document-nav a:focus-visible {
  border-color: var(--tova-gold-text);
  background: #FBF8F1;
  color: var(--tova-gold-text);
}

body.tova-candidate .documents-page .documents-grid {
  gap: 24px;
}

body.tova-candidate .documents-page .document-card {
  border-color: var(--tova-line);
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 10px 26px rgba(22, 40, 71, 0.06);
}

body.tova-candidate .documents-page .document-card:hover,
body.tova-candidate .documents-page .document-card:focus-visible {
  border-color: var(--tova-gold);
  box-shadow: 0 12px 28px rgba(22, 40, 71, 0.10);
}

body.tova-candidate .documents-page .document-card h3,
body.tova-candidate .documents-page .document-explanation h2,
body.tova-candidate .documents-page .document-end h3,
body.tova-candidate .documents-page .service-start h2 {
  color: var(--tova-navy);
}

body.tova-candidate .documents-page .document-card p,
body.tova-candidate .documents-page .document-explanation p,
body.tova-candidate .documents-page .return-review p {
  color: var(--tova-ink);
}

body.tova-candidate .documents-page .return-review,
body.tova-candidate .documents-page .document-example,
body.tova-candidate .documents-page .document-end {
  border-color: var(--tova-line);
}

body.tova-candidate .documents-page .document-example {
  gap: 58px;
  padding-block: 58px;
}

body.tova-candidate .documents-page .paper {
  border-color: #D8D0C1;
  border-radius: 3px;
  background: var(--tova-paper);
  color: var(--tova-ink);
  box-shadow: 0 16px 36px rgba(22, 40, 71, 0.10);
}

body.tova-candidate .documents-page .paper h3,
body.tova-candidate .documents-page .paper .letterhead {
  color: var(--tova-navy);
}

body.tova-candidate .documents-page .paper .sample-label {
  color: var(--tova-gold-text);
  border-bottom-color: #D8D0C1;
}

body.tova-candidate .documents-page .paper mark {
  background: #EADDBF;
  color: var(--tova-ink);
}

body.tova-candidate .documents-page .service-start {
  border: 1px solid var(--tova-line);
  border-top: 4px solid var(--tova-gold);
  border-radius: 8px;
  background: var(--tova-pearl);
}

body.tova-candidate .documents-page .service-start li {
  color: var(--tova-ink);
}

body.tova-candidate .dock {
  background: #FFFFFF;
  border-top-color: var(--tova-line);
}

body.tova-candidate .dock .button:last-child {
  border-color: var(--tova-gold-text);
  background: var(--tova-gold-light);
  color: var(--tova-ink);
  box-shadow: none;
}

body.tova-candidate .dock .button:last-child:hover,
body.tova-candidate .dock .button:last-child:focus-visible {
  border-color: var(--tova-gold-text);
  background: #E5D2A8;
}

body.tova-candidate dialog {
  border: 1px solid var(--tova-line);
  border-top: 4px solid var(--tova-gold);
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 18px 55px rgba(14, 26, 43, 0.20);
}

body.tova-candidate dialog h2 {
  color: var(--tova-navy);
}

body.tova-candidate dialog .close {
  color: var(--tova-navy);
  border-color: #9BAAC0;
}

@media (max-width: 950px) {
  body.tova-candidate > header.nav,
  body.tova-candidate .blend .opening {
    width: calc(100% - 48px);
  }

  body.tova-candidate .blend .choices {
    gap: 20px;
  }

  body.tova-candidate .documents-page .document-example {
    gap: 34px;
  }
}

@media (max-width: 680px) {
  body.tova-candidate > header.nav {
    width: calc(100% - 40px);
    min-height: 76px;
    padding-block: 14px;
  }

  body.tova-candidate > header.nav img {
    width: 145px;
  }

  body.tova-candidate .blend .opening {
    width: calc(100% - 40px);
    padding-block: 38px 30px;
  }

  body.tova-candidate .blend .opening h1,
  body.tova-candidate .documents-page > h1 {
    font-size: clamp(40px, 11vw, 54px);
    line-height: 1.08;
  }

  body.tova-candidate .blend .choices {
    gap: 18px;
  }

  body.tova-candidate .blend .choice {
    padding: 22px 20px;
  }

  body.tova-candidate .blend .choice h2 {
    font-size: 31px;
  }

  body.tova-candidate .blend .service-row {
    min-height: 78px;
  }

  body.tova-candidate .blend .records-summary h2,
  body.tova-candidate .blend .section-lead h2,
  body.tova-candidate .blend .working h2,
  body.tova-candidate .blend .resource-heading h2,
  body.tova-candidate .blend .states h2,
  body.tova-candidate .blend .contact-block h2 {
    font-size: 33px;
  }

  body.tova-candidate .blend .tracing-proof {
    margin-top: 12px;
  }

  body.tova-candidate .documents-page {
    padding-top: 36px;
    padding-bottom: 58px;
  }

  body.tova-candidate .documents-page > .intro {
    font-size: 20px;
  }

  body.tova-candidate .documents-page .service-intro {
    padding: 20px;
  }

  body.tova-candidate .documents-page .document-example {
    gap: 24px;
    padding-block: 36px;
  }

  body.tova-candidate .documents-page .paper {
    padding: 26px 21px;
  }

  body.tova-candidate .documents-page .paper p,
  body.tova-candidate .documents-page .paper li {
    font-size: 18px;
  }
}

@media (max-width: 380px) {
  body.tova-candidate > header.nav,
  body.tova-candidate .blend .opening {
    width: calc(100% - 32px);
  }

  body.tova-candidate .blend .opening h1,
  body.tova-candidate .documents-page > h1 {
    font-size: 39px;
  }

  body.tova-candidate .blend .choice {
    padding-inline: 16px;
  }

  body.tova-candidate .blend .service-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.tova-candidate .blend .service-row strong,
  body.tova-candidate .blend .service-row .fee {
    font-size: 18px;
  }

  body.tova-candidate .blend .service-row .desc,
  body.tova-candidate .blend .service-row .fee small {
    font-size: 16px;
  }

  body.tova-candidate .documents-page .service-intro {
    padding-inline: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tova-candidate * {
    transition: none !important;
  }
}

/* Keep the familiar full-width navy opening, with a compact mobile height. */
body.tova-candidate > header.nav {
  width: 100%;
  margin: 0;
  padding: 16px max(40px, calc((100% - 1180px) / 2));
}
body.tova-candidate .brand-opening {
  background: var(--tova-navy);
  border-bottom: 1px solid #3c4e6a;
}
body.tova-candidate .blend .opening {
  padding-block: 36px 40px;
  border: 0;
}
body.tova-candidate .blend .opening h1 {
  color: #ffffff;
  font-weight: 500;
}
body.tova-candidate .blend .opening .eyebrow {
  color: var(--tova-gold-light);
}
body.tova-candidate .blend .choice-switch { margin-top: 22px; }
@media (max-width: 950px) {
  body.tova-candidate > header.nav { padding-inline: 24px; }
}
@media (max-width: 680px) {
  body.tova-candidate > header.nav { padding: 12px 20px; }
  body.tova-candidate .blend .opening { padding-block: 25px 28px; }
  body.tova-candidate .blend .opening h1 { font-size: clamp(34px, 9.8vw, 45px); }
  body.tova-candidate .blend .opening .eyebrow { margin-bottom: 14px; }
}
@media (max-width: 380px) {
  body.tova-candidate > header.nav { padding-inline: 16px; }
  body.tova-candidate .blend .opening { padding-block: 20px 24px; }
  body.tova-candidate .blend .opening h1 { font-size: 33px; }
}
