/* ============================
   Terms & Conditions — page styles
   ============================ */

main.site-main {
  padding-top: calc(var(--header-h, 72px) + 16px);
}

/* readable line-length */
main.site-main .container > p,
main.site-main .container > h2 {
  max-width: 72ch;
}

main.site-main h1 {
  margin: 4px 0 14px;
  letter-spacing: .2px;
}

main.site-main h2 {
  margin: 22px 0 8px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.06);
}

/* body copy */
main.site-main p {
  margin: 8px 0 10px;
  line-height: 1.65;
  color: var(--text, #cfd8e3);
}

/* effective date */
.effective {
  color: var(--muted, #94a3b8);
  font-style: italic;
  margin-top: 12px;
}

/* links */
main.site-main a {
  color: var(--brand, #7fffd4);
  text-decoration: underline;
  text-underline-offset: 2px;
}
main.site-main a:hover { filter: brightness(1.08); }

/* reveal animation (opt-in via .reveal-on-scroll) */
.reveal-on-scroll { transform: translateY(4px); opacity: 0; transition: opacity .4s ease, transform .4s ease; }
.reveal-on-scroll.is-visible { transform: none; opacity: 1; }

/* mobile tweaks */
@media (max-width: 520px){
  main.site-main { padding-top: calc(var(--header-h, 64px) + 12px); }
  main.site-main .container > p,
  main.site-main .container > h2 { max-width: 100%; }
}

/* print */
@media print{
  :root { color-scheme: light; }
  body { background:#fff !important; }
  header.site-header, .footer, .scrim { display:none !important; }
  main.site-main { padding:0; }
  main.site-main h1, main.site-main h2 { color:#000; border-color:#000; }
  main.site-main p { color:#000; }
  a { color:#000; text-decoration: underline; }
}
