/* Test Candidates adaptation of PAT v2. Scoped to the selected review pages.
   Shared geometry and responsive behaviour live in tc-pat-core.css. */
html.tc-refreshed { font-size: 16px; }
.tc-marketing { --tc-ink: #1b1c40; --tc-muted: #586174; --tc-line: #dfe3ea; --tc-surface: #f6f7fb; font-size: 16px; line-height: 1.6; }
.tc-marketing h1,.tc-marketing h2,.tc-marketing h3 { color: var(--tc-ink); }
.tc-marketing p { text-wrap: pretty; }
.tc-marketing .tv2-hero__h1 { font-size: clamp(2.1rem, 3.8vw, 3.125rem); line-height: 1.12; max-width: 21ch; }
.tc-marketing .tv2-hero__eyebrow { font-size: .8125rem; line-height: 1.4; }
.tc-marketing .tv2-hero__intro { margin-bottom: 28px; font-size: 1.25rem; }
.tc-marketing .tv2-hero__ctas { margin-top: 26px; }
.tc-marketing .tv2-header__bar { gap: 28px; }
.tc-marketing .tv2-header__logo { flex: 0 0 auto; }
.tc-marketing .tv2-header__logo svg { width: 166px; height: 30px; }
.tc-marketing .tv2-nav { gap: 24px; }
.tc-marketing .tv2-breadcrumb ol { justify-content: flex-start; }
.tc-marketing a.tv2-btn--signin,.tc-marketing a.tv2-btn--getpro { font-size: .9375rem; min-height: 44px; padding: 9px 14px; white-space: nowrap; }
.tc-marketing a.tv2-btn--primary,.tc-marketing a.tv2-btn--ghost { min-height: 48px; }
.tc-tests-menu { position: relative; }
.tc-tests-menu summary { list-style: none; cursor: pointer; color: var(--tc-ink); font-size: .9375rem; font-weight: 500; min-height: 44px; display: flex; align-items: center; gap: 6px; }
.tc-tests-menu summary::-webkit-details-marker,.tc-mobile-menu summary::-webkit-details-marker { display: none; }
.tc-tests-menu__panel { position: absolute; z-index: 40; top: 100%; left: -16px; width: 240px; padding: 10px; background: #fff; border: 1px solid var(--tc-line); border-radius: 9px; box-shadow: 0 12px 28px rgb(27 28 64 / 10%); }
.tc-tests-menu__panel a { display: block; padding: 10px 12px; font-size: .9375rem; border-radius: 4px; }
.tc-tests-menu__panel a:hover { background: var(--tc-surface); }
.tc-mobile-menu { display: none; margin-left: auto; }
.tc-mobile-menu summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--tc-line); border-radius: 4px; list-style: none; cursor: pointer; font-size: .9375rem; }
.tc-mobile-menu nav { position: absolute; top: 100%; left: 0; right: 0; padding: 12px 24px 20px; background: #fff; border-bottom: 1px solid var(--tc-line); box-shadow: 0 12px 20px rgb(27 28 64 / 6%); max-height: calc(100dvh - 72px); overflow-y: auto; }
.tc-mobile-menu nav a { display: block; min-height: 44px; padding: 10px 0; border-bottom: 1px solid #edeff4; }
.tc-skip { position: absolute; top: -100px; left: 16px; padding: 12px 20px; background: #fff; border: 2px solid var(--tc-ink); z-index: 100; }
.tc-skip:focus { top: 8px; }
.tc-marketing .tc-home-hero { align-items: center; }
.tc-home-illustration { width: 100%; max-width: 560px; justify-self: center; }
.tc-home-illustration img { display: block; width: 100%; height: auto; }
.tc-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; margin: 30px 0 26px; }
.tc-facts strong,.tc-facts span { display: block; }
.tc-facts strong { font-size: .9375rem; font-weight: 500; color: var(--tc-ink); }
.tc-facts span { font-size: .875rem; line-height: 1.5; color: var(--tc-muted); }
.tc-offer { margin: 24px 0 0; max-width: 48ch; font-size: .9375rem; line-height: 1.6; color: var(--tc-ink); }
.tc-offer strong { display: block; font-weight: 500; }
.tc-reassurance { margin: 14px 0 0; font-size: .875rem; color: var(--tc-muted); }
.tc-reassurance span { margin: 0 6px; }
.tc-marketing .tc-reassurance a { text-decoration: underline; text-underline-offset: 3px; }
.tc-report { background: #f6f7fb; border: 1px solid var(--tc-line); border-radius: 10px; padding: 24px; box-shadow: 0 2px 5px rgb(27 28 64 / 3%); }
.tc-report__eyebrow { display: flex; align-items: center; gap: 12px; text-transform: uppercase; letter-spacing: .07em; font: 500 .75rem/1.5 monospace; color: var(--tc-muted); }
.tc-report__eyebrow .tv2-rule { margin: 0; flex: none; }
.tc-report h2 { margin: 18px 0 10px; font-size: 1.625rem; line-height: 1.2; font-weight: 500; }
.tc-report > p { font-size: .9375rem; margin: 0 0 22px; color: var(--tc-muted); }
.tc-report__sheet { background: #fff; border: 1px solid var(--tc-line); border-radius: 6px; padding: 18px 16px 0; }
.tc-report__sheet-head { display: flex; align-items: center; gap: 10px; padding-bottom: 18px; }
.tc-report__avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #ededf6; font-size: .75rem; color: var(--tc-ink); flex: none; }
.tc-report__sheet-head strong,.tc-report__sheet-head div > span { display: block; }
.tc-report__sheet-head strong { font-size: .875rem; font-weight: 500; color: var(--tc-ink); }
.tc-report__sheet-head div > span { font-size: .75rem; line-height: 1.5; color: var(--tc-muted); }
.tc-report__rows { margin: 0; padding: 0; list-style: none; }
.tc-report__rows li { display: flex; flex-direction: column; padding: 10px 0; border-top: 1px solid #edeff4; font-size: .875rem; color: var(--tc-ink); }
.tc-report__rows li span:last-child { font-size: .75rem; color: var(--tc-muted); }
.tc-report__caption { font-size: .75rem; color: var(--tc-muted); border-top: 1px solid #edeff4; padding: 10px 0; margin: 0; }
.tc-marketing a.tc-report__link { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; font-size: .9375rem; font-weight: 500; align-items: center; min-height: 36px; }
.tc-logos { border-bottom: 1px solid #edeff4; background: #f6f7fb; }
.tc-logos__inner { display: flex; align-items: center; gap: 36px; padding-top: 25px; padding-bottom: 25px; }
.tc-logos p { font: 500 .75rem/1.5 monospace; text-transform: uppercase; letter-spacing: .055em; color: var(--tc-muted); flex: none; margin: 0; }
.tc-logos ul { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 0; margin: 0; list-style: none; flex: 1; }
.tc-logos li { min-width: 0; }
.tc-logos img { display: block; max-width: 100%; height: 36px; object-fit: contain; filter: grayscale(1); }
.tc-section { padding: 58px 0; }
.tc-h2 { font-size: 1.875rem; font-weight: 500; line-height: 1.25; margin: 0 0 16px; letter-spacing: -.015em; }
.tc-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding-top: 10px; }
.tc-step { display: block; font: 500 .8125rem/1.5 monospace; color: var(--tc-muted); margin-bottom: 12px; }
.tc-feature-grid h3 { font-size: 1.25rem; line-height: 1.3; font-weight: 500; margin: 0 0 12px; }
.tc-feature-grid p,.tc-product-grid article > p { font-size: 1.0625rem; line-height: 1.65; margin: 0; }
.tc-marketing .homev2-tcard__note { font-size: .875rem; }
.tc-marketing .homev2-tcard { padding: 20px 18px; gap: 14px; }
.tc-marketing .homev2-tcard__icon { font-family: monospace; font-size: .8125rem; }
.tc-marketing .homev2-tcard__name { margin-bottom: 5px; }
.tc-underlink { margin: 24px 0 0; font-size: .9375rem; }
.tc-underlink a { text-decoration: underline; text-underline-offset: 3px; }
.tc-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 70px; }
.tc-product-grid .tv2-hero__eyebrow { margin: 0 0 14px; }
.tc-testimonial { border-top: 1px solid var(--tc-line); padding: 55px 0; }
.tc-testimonial figure { max-width: 850px; }
.tc-testimonial blockquote { font-size: 1.75rem; font-weight: 500; line-height: 1.45; color: var(--tc-ink); margin: 0 0 26px; }
.tc-testimonial figcaption { display: flex; align-items: center; gap: 14px; font-size: .9375rem; }
.tc-testimonial img { border-radius: 50%; width: 48px; height: 48px; object-fit: cover; }
.tc-closer { padding: 64px 0 52px; background: var(--tc-ink); color: #fff; }
.tc-closer__inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; }
.tc-marketing .tc-closer h2 { color: #fff; font-size: 1.875rem; font-weight: 500; line-height: 1.25; margin-bottom: 10px; }
.tc-closer p { margin: 0; color: #dfe3ef; }
.tc-marketing .tc-closer .tv2-btn--primary { background: #fff; color: var(--tc-ink); border-color: #fff; min-width: 180px; text-align: center; }
.tc-marketing .tc-closer .tv2-btn--primary:hover { background: #ededf6; }
.tc-small { font-size: .875rem; margin-top: 10px; }
.tc-closer .tc-small { text-align: center; margin-top: 10px; }
.tc-footer { background: var(--tc-ink); color: #cbd0e0; }
.tc-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.3fr; gap: 40px; padding-top: 48px; padding-bottom: 40px; }
.tc-footer__brand svg { width: 166px; height: 32px; margin-bottom: 16px; }
.tc-footer__brand p { color: #cbd0e0; font-size: .9375rem; }
.tc-marketing .tc-footer h2 { color: #fff; font-size: .875rem; font-weight: 500; margin: 0 0 14px; }
.tc-marketing .tc-footer__grid > div > a:not([aria-label]) { display: block; font-size: .9375rem; padding: 6px 0; color: #cbd0e0; }
.tc-footer__legal { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; border-top: 1px solid rgb(255 255 255 / 12%); padding-top: 22px; padding-bottom: 22px; font-size: .875rem; color: #cbd0e0; }
.tc-footer__legal div { display: flex; gap: 24px; flex-wrap: wrap; }
.tc-footer__legal a,.tc-footer__legal button { color: inherit; }
.tc-footer__legal button { background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
.tc-footer__legal button:hover { text-decoration: underline; }
.tc-marketing .tc-test-hero { align-items: center; }
.tc-marketing .tc-test-guide { padding-bottom: 20px; }
.tc-marketing .tv2-guide__section .markdown { color: #414b5e; font-size: 1.0625rem; line-height: 1.65; }
.tc-marketing .tv2-guide__section .markdown > :first-child { margin-top: 0; }
.tc-marketing .tv2-guide__section .markdown h2 { font-size: 1.625rem; line-height: 1.3; font-weight: 500; margin: 36px 0 16px; }
.tc-marketing .tv2-guide__section .markdown h3 { font-size: 1.25rem; line-height: 1.3; margin: 28px 0 14px; }
.tc-marketing .tv2-guide__section .markdown img { max-width: 100%; height: auto; border-radius: 6px; }
.tc-marketing .tv2-guide__section .markdown a { text-decoration: underline; text-underline-offset: 3px; }
.tc-test-sidebar { display: flex; flex-direction: column; gap: 36px; }
.tc-test-sidebar h2 { font-size: 1rem; font-weight: 500; margin: 0 0 12px; }
.tc-test-sidebar nav a { display: block; padding: 10px 0; font-size: .9375rem; line-height: 1.5; }
.tc-question { background: #f6f7fb; border: 1px solid var(--tc-line); border-radius: 10px; padding: 28px; }
.tc-question__image { display: block; margin: 20px 0; }
.tc-question__image span { display: block; font-size: .875rem; margin-top: 8px; }
.tc-marketing .tc-question__prompt { font-weight: 500; color: var(--tc-ink); }
.tc-marketing ol.tc-answer-options { list-style: upper-alpha; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; padding: 0 0 0 24px; }
.tc-marketing ol.tc-answer-options li { padding: 6px 0; font-size: 1rem; }
.tc-answer { border-top: 1px solid var(--tc-line); padding-top: 8px; }
.tc-answer summary { cursor: pointer; min-height: 44px; padding: 10px 0; font-weight: 500; color: var(--tc-ink); }
.tc-marketing .tc-question__next { margin: 18px 0 0; font-size: .9375rem; }
.tc-faq > details { border-top: 1px solid var(--tc-line); padding: 6px 0; }
.tc-faq > details:last-child { border-bottom: 1px solid var(--tc-line); }
.tc-faq summary { cursor: pointer; font-size: 1.0625rem; font-weight: 500; color: var(--tc-ink); padding: 16px 28px 16px 0; }
.tc-marketing .tc-faq .markdown p { font-size: 1rem; }
@media(max-width:1100px) {
  .tc-marketing .tc-desktop-nav,.tc-marketing .tc-header-actions { display: none; }
  .tc-mobile-menu { display: block; }
}
@media(max-width:980px) {
  .tc-report { max-width: 560px; width: 100%; }
  .tc-marketing .tv2-hero__h1 { max-width: 24ch; }
  .tc-marketing .tv2-hero__intro { max-width: 58ch; }
  .tc-test-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
  .tc-footer__grid { grid-template-columns: 1fr 1fr; }
  .tc-logos__inner { flex-direction: column; align-items: flex-start; gap: 22px; }
  .tc-logos p br { display: none; }
  .tc-logos ul { width: 100%; }
}
@media(max-width:720px) {
  .tc-marketing .tv2-hero-band__inner { padding-top: 36px; padding-bottom: 36px; }
  .tc-marketing .tv2-header__bar { padding: 0 20px; height: 68px; }
  .tc-marketing .tv2-hero__intro { font-size: 1.125rem; }
  .tc-marketing .tv2-hero__h1 { font-size: 2.25rem; line-height: 1.15; }
  .tc-facts { gap: 18px; }
  .tc-report { padding: 22px; }
  .tc-logos ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: center; }
  .tc-logos img { height: 30px; }
  .tc-section,.tc-marketing .homev2-dir-sec { padding: 40px 0; }
  .tc-h2 { font-size: 1.625rem; }
  .tc-feature-grid,.tc-product-grid,.tc-marketing .homev2-tcards { grid-template-columns: 1fr; gap: 26px; }
  .tc-marketing .homev2-tcards { gap: 12px; }
  .tc-feature-grid article + article { border-top: 1px solid var(--tc-line); padding-top: 26px; }
  .tc-product-grid { gap: 36px; }
  .tc-testimonial { padding: 40px 0; }
  .tc-testimonial blockquote { font-size: 1.375rem; }
  .tc-closer__inner { gap: 24px; }
  .tc-closer__inner .tv2-btn--primary { width: 100%; }
  .tc-marketing .tc-closer h2 { font-size: 1.625rem; }
  .tc-footer__grid { gap: 28px; }
  .tc-footer__brand { grid-column: 1/-1; }
  .tc-marketing .tc-footer__grid > div > a:not([aria-label]) { min-height: 44px; padding: 9px 0; }
  .tc-footer__legal { align-items: flex-start; flex-direction: column; gap: 12px; }
  .tc-footer__legal div { gap: 10px 20px; }
  .tc-footer__legal a,.tc-footer__legal button { padding: 8px 0; min-height: 44px; }
  .tc-marketing .tv2-guide { padding-top: 36px; }
  .tc-test-sidebar { display: flex; }
  .tc-question { padding: 20px; }
  .tc-marketing .tv2-guide__section .markdown h2 { font-size: 1.5rem; }
  .tc-marketing ol.tc-answer-options { grid-template-columns: 1fr; gap: 4px; }
}
@media(max-width:380px) {
  .tc-footer__grid { grid-template-columns: 1fr; }
  .tc-facts { grid-template-columns: 1fr; }
}

/* Reusable green benefit shelf, first reviewed on the homepage. */
.tc-benefits { background: #fff; border-bottom: 1px solid var(--tc-line); }
.tc-benefits .homev2-sec-note { max-width: 74ch; }
.tc-benefits .tc-feature-grid { gap: 24px; padding-top: 22px; }
.tc-benefits .tc-feature-grid article { background: #fff; border: 1px solid #d9e9df; border-top: 3px solid #2fc487; border-radius: 12px; padding: 28px; box-shadow: 0 6px 18px rgb(27 64 45 / 3%); }
.tc-benefit-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.tc-benefit-icon { display: grid; place-items: center; width: 56px; height: 56px; background: #def5e9; border-radius: 14px; color: #19734f; }
.tc-benefit-icon svg { width: 32px; height: 32px; }
.tc-benefit-number { color: #527761; font: 500 .8125rem/1.5 monospace; }
@media (max-width: 640px) { .tc-benefits .tc-feature-grid article { padding: 24px; } }

.tc-test-directory .homev2-tcards { gap: 20px; }
.tc-marketing .tc-test-directory a.homev2-tcard { position: relative; grid-template-columns: 1fr; gap: 22px; padding: 28px; border-radius: 12px; transition: border-color .15s, box-shadow .15s; }
.tc-test-directory .homev2-tcard__icon { width: 54px; height: 54px; border-radius: 14px; background: #def5e9; color: #19734f; }
.tc-test-directory .homev2-tcard__name { font-size: 1.25rem; margin-bottom: 8px; }
.tc-marketing .tc-test-directory .homev2-tcard__note { font-size: 1rem; line-height: 1.55; }
.tc-category-arrow { position: absolute; top: 30px; right: 28px; color: #19734f; font-size: 1.4rem; }
.tc-marketing .tc-test-directory a.homev2-tcard:hover { border-color: #2fc487; box-shadow: 0 6px 18px rgb(27 64 45 / 8%); }
.tc-marketing .tc-test-directory a.homev2-tcard:focus-visible { outline: 2px solid #19734f; outline-offset: 4px; }

.tc-footer__brand svg path { fill: #fff; }
.tc-marketing .tc-footer a:hover,.tc-marketing .tc-footer button:hover { color: #6ee0ad; }
.tc-footer a:focus-visible,.tc-footer button:focus-visible { outline: 2px solid #6ee0ad; outline-offset: 4px; }

/* Test-page hero: centred introduction. */
.tc-marketing .tc-test-hero { display: block; text-align: center; }
.tc-test-hero .tv2-hero__main { max-width: 850px; margin-inline: auto; }
.tc-marketing .tc-test-hero .tv2-hero__h1 { max-width: none; margin-inline: auto; }
.tc-marketing .tc-test-hero .tv2-hero__intro { max-width: 68ch; margin-inline: auto; }
.tc-test-hero .tc-facts { max-width: 540px; margin-inline: auto; }
.tc-test-hero .tv2-hero__ctas { justify-content: center; margin-inline: auto; }
.tc-test-hero .tc-offer { margin-inline: auto; }

.tc-test-hero .tc-facts { display: flex; justify-content: center; }
