/* Free website check in the Therapy Visibility style. Loads after review.css and overrides it; the ids and classes review.js uses are unchanged. */
.tv-page.review-page { background:var(--tv-paper); color:var(--tv-ink); }
.tv-page main { max-width:none; margin:0; padding:0; }
.tv-page.review-page :is(a,button,input,summary):focus-visible { outline:2px solid var(--tv-blue); outline-offset:3px; }

/* Hero: headline left, form right */
.tv-page .review-intro { align-items:start; gap:6%; grid-template-columns:var(--tv-split); padding:clamp(40px,6vw,88px) var(--g) var(--tv-hero-end); }
.tv-page .intro-copy h1.tv-h1 { font-size:var(--tv-h1-inner); line-height:.95; letter-spacing:-.055em; max-width:9em; margin:0 0 clamp(24px,3vw,36px); }
.tv-page .intro-copy > p.tv-sub { font-size:clamp(1.25rem,1.7vw,1.5rem); line-height:1.3; max-width:30ch; margin:0 0 12px; }
.tv-page .intro-copy .intro-detail { font-size:1.0625rem; line-height:1.6; color:var(--tv-soft); max-width:46ch; margin:0; }
.tv-page .review-entry { background:transparent; border:0; padding:0; max-width:520px; }
.tv-page .review-entry label { font-size:.9375rem; font-weight:650; margin-bottom:10px; }
.tv-page .domain-field { border:1px solid var(--tv-field-line); border-radius:0; background:var(--tv-card); padding:0 14px; margin-bottom:16px; color:var(--tv-soft); }
.tv-page .domain-field:focus-within { outline:0; border-color:var(--tv-blue); box-shadow:inset 0 0 0 1px var(--tv-blue); }
.tv-page .domain-field input { color:var(--tv-ink); padding:16px 0; }
.tv-page .domain-field input::placeholder { color:var(--tv-soft); opacity:.8; }
.tv-page .domain-field input:focus-visible { outline:0; }
.tv-page .contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.tv-page .contact-fields .domain-field { padding:0 14px; }
@media (max-width:560px) { .tv-page .contact-fields { grid-template-columns:1fr; } }
.tv-page .review-entry .tv-go { width:100%; justify-content:space-between; border-radius:4px; }
.tv-page .review-entry .tv-go:disabled { opacity:.5; }
.tv-page .review-entry .tv-go:disabled:hover { background:#164de5; }
.tv-page .field-note, .tv-page .availability { color:var(--tv-soft); }
.tv-page .availability { border-top:1px solid var(--tv-line); }
.tv-page .form-error { color:var(--tv-ink); font-weight:600; padding-left:12px; border-left:1px solid var(--tv-ink); }
.tv-page .example-link { border-top:1px solid var(--tv-line); }
.tv-page .example-link > span { color:var(--tv-soft); }
.tv-page .text-button { color:var(--tv-ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.22em; }
.tv-page .text-button:hover { color:var(--tv-blue); text-decoration-thickness:2px; }

/* What the check covers */
.tv-page .review-scope { padding:clamp(64px,7vw,104px) var(--g); gap:clamp(40px,4.5vw,60px) 5%; align-items:start; }
.tv-page .review-scope h2 { font-size:1.4375rem; font-weight:600; letter-spacing:-.025em; line-height:1.2; margin:0 0 8px; }
.tv-page .review-scope h2::before { content:""; display:block; width:10px; height:10px; margin-bottom:16px; background:var(--tv-blue); }
.tv-page .review-scope p { color:var(--tv-soft); font-size:.9688rem; line-height:1.55; max-width:36ch; }
.tv-page .review-scope .scope-note { max-width:70ch; font-size:.875rem; }

/* Loading */
.tv-page .review-loading { max-width:none; margin:0; padding:clamp(64px,8vw,120px) var(--g); }
.tv-page .review-loading > * { max-width:44rem; }
.tv-page .review-loading h2 { font-size:clamp(2.5rem,5vw,4.5rem); font-weight:500; letter-spacing:-.05em; line-height:1; margin-bottom:20px; }
.tv-page .review-loading p { color:var(--tv-soft); }
.tv-page .loading-track { background:var(--tv-line); height:4px; }
.tv-page .loading-track span { background:var(--tv-blue); }

/* Report */
.tv-page .report { padding:clamp(40px,5vw,72px) var(--g) clamp(64px,8vw,120px); }
.tv-page .example-banner { background:transparent; color:var(--tv-ink); border-top:1px solid var(--tv-line); border-bottom:1px solid var(--tv-line); padding:12px 0; }
.tv-page .report-heading h1 { font-size:clamp(2.75rem,5.6vw,5.25rem); font-weight:500; letter-spacing:-.05em; line-height:.98; }
.tv-page .report-domain, .tv-page .gauge-method, .tv-page .coverage p { color:var(--tv-soft); }
.tv-page .report-summary { color:var(--tv-ink); }
.tv-page .partial-note { background:transparent; color:var(--tv-ink); border-top:1px solid var(--tv-line); border-bottom:1px solid var(--tv-line); padding:14px 0; }
.tv-page .secondary-button { border:1px solid var(--tv-line); background:var(--tv-card); color:var(--tv-ink); border-radius:0; }
.tv-page .secondary-button:hover { background:var(--tv-card); border-color:var(--tv-blue); color:var(--tv-blue); }

.tv-page .overview { background-color:var(--tv-night); color:var(--tv-night-ink); border:0; border-radius:0; padding:clamp(28px,3.5vw,48px);
  --overview-track:#ffffff2e; }
.tv-page .overview.has-score { gap:28px 6%; }
.tv-page .readiness-number { font-size:clamp(4rem,7vw,6.5rem); font-weight:500; letter-spacing:-.055em; line-height:1; }
.tv-page .readiness-copy h2 { font-size:clamp(1.75rem,2.6vw,2.25rem); font-weight:500; letter-spacing:-.035em; }
.tv-page .readiness-track, .tv-page .count-bar { border-radius:0; }
.tv-page .readiness-track > span { background:#ffffff; border-radius:0; }
.tv-page .readiness-copy .readiness-cta { background:#fff; color:#123fbf; border-radius:4px; }
.tv-page .readiness-copy .readiness-cta:hover { background:#e8eeff; }
.tv-page .overview-count strong { font-weight:500; letter-spacing:-.05em; }
.tv-page .readiness-method { border-top-color:#ffffff40; }

.tv-page .dimensions { gap:0; border-top:1px solid var(--tv-line); margin:clamp(32px,4vw,56px) 0 20px; }
.tv-page .dimension { background:transparent; border:0; border-bottom:1px solid var(--tv-line); border-radius:0; box-shadow:none; padding:28px 0; }
.tv-page .dimensions { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:6%; }
.tv-page .dimension h2 { font-size:1.4375rem; font-weight:600; letter-spacing:-.025em; }
.tv-page .dimension header > span { background:transparent; border:1px solid var(--tv-line); border-radius:0; color:var(--tv-soft); }
.tv-page .dimension-description, .tv-page .dimension-summary, .tv-page .dimension-counts { color:var(--tv-soft); }
.tv-page .dimension-counts { border-top-color:var(--tv-line); }
.tv-page .dimension-counts b { color:var(--tv-ink); }
.tv-page .dimension .count-bar { height:8px; }
.tv-page .dimension.gaps .dimension-label { color:var(--tv-ink); }
.tv-page .dimension.good .dimension-label { color:var(--tv-blue); }
.tv-page .dot { border-radius:0; }

.tv-page .ai-snapshot { background:transparent; border:0; border-top:1px solid var(--tv-line); border-radius:0; padding:clamp(32px,4vw,56px) 0 0; margin:clamp(32px,4vw,56px) 0; }
.tv-page .ai-snapshot h2 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:500; letter-spacing:-.04em; line-height:1.1; max-width:22ch; }
.tv-page .ai-snapshot blockquote { border-left:0; padding-left:0; margin:18px 0 24px; font-size:1.125rem; color:var(--tv-soft); max-width:62ch; }
.tv-page .snapshot-counts strong { font-weight:500; letter-spacing:-.05em; }
.tv-page .snapshot-counts span, .tv-page .snapshot-method, .tv-page .source-runs { color:var(--tv-soft); }
.tv-page .snapshot-sources li { border-bottom-color:var(--tv-line); }
.tv-page .source-kind { border-radius:0; background:transparent; border:1px solid var(--tv-line); color:var(--tv-soft); }
.tv-page .source-kind.own { background:var(--tv-blue); border-color:var(--tv-blue); color:var(--tv-paper); }
.tv-page .source-kind.directory { background:transparent; color:var(--tv-ink); }

.tv-page .summary-consult { background:var(--tv-card); color:var(--tv-ink); border:1px solid var(--tv-line); border-radius:0; padding:clamp(28px,3.5vw,48px); margin:clamp(32px,4vw,56px) 0; }
.tv-page .summary-consult h2 { font-size:clamp(1.875rem,3.4vw,3rem); font-weight:500; letter-spacing:-.045em; line-height:1.02; margin:0 0 16px; }
.tv-page .summary-consult p { color:var(--tv-soft); }
.tv-page .summary-consult .primary-button { background:#164de5; color:#fff; border-radius:4px; }
.tv-page .summary-consult .primary-button:hover { background:#1143cc; }
.tv-page .coverage { border-top:1px solid var(--tv-line); }
.tv-page .no-script { padding:32px var(--g); }

@media screen and (prefers-color-scheme:dark) {
  .tv-page .readiness-copy .readiness-cta, .tv-page .summary-consult .primary-button { color:#fff; }
  .tv-page .readiness-copy .readiness-cta { color:#123fbf; }
  .tv-page .ai-snapshot, .tv-page .secondary-button { background:transparent; }
  .tv-page .secondary-button { background:var(--tv-card); }
  .tv-page .source-kind, .tv-page .source-kind.directory { background:transparent; color:var(--tv-ink); }
  .tv-page .source-kind.own { color:#0e1724; }
  .tv-page .overview { border:1px solid var(--tv-line); }
}

@media (max-width:1000px) {
  .tv-page .review-intro { grid-template-columns:1fr; gap:40px; }
  .tv-page .review-entry { max-width:none; }
  .tv-page .overview.has-score { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .tv-page .dimensions { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .tv-page .review-intro { padding:24px 16px var(--tv-hero-end); }
  .tv-page .intro-copy h1.tv-h1 { margin-bottom:24px; }
  .tv-page .review-scope { padding:56px 16px; }
  .tv-page .review-loading { padding:48px 16px; }
  .tv-page .report { padding:32px 16px 64px; }
  .tv-page .overview { padding:24px 20px; }
}
@media print {
  .tv-page .overview { background:#f2f4f8 !important; color:#14243b !important; }
  .tv-page .readiness-track > span { background:#164de5; }
}
