/* Privacy and Terms in the Therapy Visibility style: a solo hero (no pixel field) and a plain reading column. */
.tv-page main.terms { max-width:none; margin:0; padding:0; }
.tv-page main.terms .tv-hero { padding:clamp(40px,6vw,88px) var(--g) clamp(32px,4vw,56px); }
.tv-page main.terms .tv-h1 { margin-bottom:clamp(20px,2.5vw,32px); }
.tv-page main.terms .terms-intro { margin:0; max-width:58ch; font-size:1.1875rem; line-height:1.6; color:var(--tv-soft); }
.tv-page main.terms .tv-section { padding-top:clamp(40px,5vw,72px); padding-bottom:clamp(80px,9vw,128px); }
/* Same reading layout and prose spec as the guides (blog.css): 260px index, the FAQ's gap, a 40rem text column, 18px body, reading h2. */
.tv-page main.terms .tv-prose { display:grid; grid-template-columns:var(--tv-index,260px) minmax(0,var(--tv-measure,40rem)); column-gap:var(--tv-index-gap,clamp(40px,6vw,96px)); justify-content:start; max-width:none; font-size:1.125rem; line-height:1.7; }
.tv-page main.terms .tv-prose > * { grid-column:2; min-width:0; max-width:none; }
.tv-page main.terms .tv-prose > .terms-toc { grid-column:1; grid-row:1 / span 200; align-self:start; position:sticky; top:32px; }
.tv-page main.terms .tv-prose .terms-toc-title { margin:0 0 14px; font-size:1.3125rem; font-weight:600; line-height:1.3; letter-spacing:-.02em; color:var(--tv-ink); }
.terms-toc ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--tv-line); }
.terms-toc li { margin:0; border-bottom:1px solid var(--tv-line); }
.tv-page main.terms .tv-prose .terms-toc a { display:block; padding:13px 0; font-size:.9375rem; line-height:1.4; font-weight:600; color:var(--tv-ink); text-decoration:none; }
.tv-page main.terms .tv-prose .terms-toc a:hover { color:var(--tv-blue); }
.tv-page main.terms .tv-prose .terms-toc a:focus-visible { outline:2px solid var(--tv-blue); outline-offset:3px; }
.tv-page { --tv-read:var(--tv-ink); }
@media screen and (prefers-color-scheme:dark) { .tv-page { --tv-read:#d4deed; } }
.tv-page main.terms .tv-prose li { color:var(--tv-read); font-size:1.125rem; line-height:1.7; }
.tv-page main.terms .tv-prose p { color:var(--tv-read,var(--tv-ink)); font-size:1.125rem; line-height:1.7; margin:0 0 1.1em; }
.tv-page main.terms .tv-prose h2 { margin:2.2em 0 .6em; font-size:var(--tv-h2-reading); font-weight:500; line-height:1.15; letter-spacing:-.035em; scroll-margin-top:32px; }
.tv-page main.terms .tv-prose > .terms-toc + h2 { margin-top:0; }
.tv-page main.terms .tv-prose a { color:var(--tv-blue); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.tv-page main.terms .tv-prose a:hover { text-decoration-thickness:2px; }
.tv-page main.terms .tv-prose a:focus-visible { outline:2px solid var(--tv-blue); outline-offset:3px; }
.tv-page main.terms .tv-prose strong { font-weight:650; }
.tv-page main.terms .tv-prose .terms-date { margin-top:2.4em; padding-top:1.2em; border-top:1px solid var(--tv-line); color:var(--tv-soft); font-size:.9375rem; }
@media (max-width:1000px) {
  .tv-page main.terms .tv-prose { display:block; }
  .tv-page main.terms .tv-prose > .terms-toc { display:none; }
}
@media (max-width:640px) {
  .tv-page main.terms .tv-hero { padding:24px 16px 28px; }
  .tv-page main.terms .tv-section { padding-left:16px; padding-right:16px; }
  .tv-page main.terms .tv-prose p { font-size:1.0625rem; }
}
