/* Public Terms of Service — v1.0 */
.terms-service-page {
  --tos-surface: var(--bs-body-bg);
  --tos-surface-muted: var(--bs-tertiary-bg);
  --tos-border: var(--bs-border-color);
  --tos-text: var(--bs-body-color);
  --tos-muted: var(--bs-secondary-color);
  color: var(--tos-text);
  background: radial-gradient(circle at 85% 3%, rgba(var(--bs-primary-rgb), .085), transparent 26rem), var(--tos-surface);
}
.terms-service-container { max-width: 68rem; }
.terms-service-header { margin-bottom: 1.35rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--tos-border); }
.terms-service-eyebrow,
.terms-service-section-label { color: var(--bs-primary); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.terms-service-eyebrow { display: flex; gap: .45rem; align-items: center; margin-bottom: .5rem; }
.terms-service-header h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 3.65rem); font-weight: 770; letter-spacing: -.05em; line-height: 1; }
.terms-service-header > p { max-width: 46rem; margin: .75rem 0 0; color: var(--tos-muted); font-size: .92rem; line-height: 1.65; }
.terms-service-date { display: inline-flex; gap: .4rem; align-items: center; margin-top: 1rem; padding: .38rem .6rem; color: var(--tos-muted); font-size: .68rem; font-weight: 650; border: 1px solid var(--tos-border); border-radius: 999px; background: var(--tos-surface-muted); }
.terms-service-document { max-width: 54rem; margin: 0 auto; padding: clamp(1.15rem, 3vw, 2.25rem); border: 1px solid var(--tos-border); border-radius: 1rem; background: var(--tos-surface); box-shadow: var(--bs-box-shadow-sm); }
.terms-service-notice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; margin-bottom: 2rem; padding: .9rem 1rem; color: var(--tos-muted); font-size: .73rem; line-height: 1.6; border: 1px solid rgba(var(--bs-primary-rgb), .24); border-radius: .65rem; background: rgba(var(--bs-primary-rgb), .06); }
.terms-service-notice i { margin-top: .12rem; color: var(--bs-primary); }
.terms-service-notice p { margin: 0; }
.terms-service-document > h2 { position: relative; margin: 2.15rem 0 .65rem; padding: 0 0 .55rem 1rem; color: var(--tos-text); font-size: 1.08rem; font-weight: 760; letter-spacing: -.018em; border-bottom: 1px solid var(--tos-border); }
.terms-service-document > h2::before { position: absolute; top: .08rem; bottom: .55rem; left: 0; width: 3px; border-radius: 999px; background: var(--bs-primary); content: ""; }
.terms-service-document > h2:first-of-type { margin-top: 0; }
.terms-service-document p { margin: 0 0 .9rem; color: var(--tos-muted); font-size: .8rem; line-height: 1.74; }
.terms-service-document a { font-weight: 650; text-underline-offset: .18em; }
.terms-service-highlight { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .9rem; margin: 2.25rem 0; padding: 1.15rem; border: 1px solid rgba(var(--bs-warning-rgb), .4); border-radius: .8rem; background: linear-gradient(125deg, rgba(var(--bs-warning-rgb), .09), transparent 65%), var(--tos-surface-muted); }
.terms-service-highlight-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--bs-warning-text-emphasis); border: 1px solid rgba(var(--bs-warning-rgb), .35); border-radius: .65rem; background: var(--bs-warning-bg-subtle); }
.terms-service-highlight .terms-service-section-label { color: var(--bs-warning-text-emphasis); }
.terms-service-highlight h2 { margin: .15rem 0 .55rem; color: var(--tos-text); font-size: 1.08rem; font-weight: 760; }
.terms-service-highlight p:last-child { margin-bottom: 0; }
@media (max-width: 575.98px) {
  .terms-service-container { padding-inline: .85rem; }
  .terms-service-document { padding: 1rem; border-radius: .8rem; }
  .terms-service-highlight { grid-template-columns: minmax(0, 1fr); }
  .terms-service-document > h2 { margin-top: 1.8rem; }
}
