/* Scoped English legal documents. No added animation or shared palette changes. */
.app-terms-page { max-width:1120px; margin:28px auto 76px; }
.app-terms-page,.app-terms-page * { animation:none!important; }
.app-terms-heading { padding:clamp(24px,4vw,48px); border:1px solid var(--ks-line); border-radius:24px; background:var(--surface-feature,var(--panel)); }
.app-terms-identity { display:flex; align-items:center; gap:18px; }
.app-terms-icon,.app-terms-symbol { flex:0 0 64px; width:64px; height:64px; border-radius:16px; }
.app-terms-symbol { display:grid; place-items:center; background:var(--visual-tint); color:var(--visual-accent); }
.app-terms-symbol svg { width:36px; height:36px; }
.app-terms-heading .eyebrow { margin:0 0 6px; }
.app-terms-name { margin:0; font-size:clamp(19px,2.2vw,25px); font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.app-terms-heading h1 { margin:24px 0 18px; font-size:clamp(36px,5vw,58px); line-height:1.12; letter-spacing:-.035em; }
.app-terms-meta { display:flex; flex-wrap:wrap; gap:12px 28px; color:var(--ks-muted); font-size:14px; }
.app-terms-meta code { overflow-wrap:anywhere; }
.app-terms-meta time { color:var(--ks-text); margin-left:8px; }
.app-terms-layout { display:grid; grid-template-columns:minmax(0,1fr) 224px; gap:clamp(32px,5vw,64px); align-items:start; padding:42px 8px 0; }
.app-terms-document { max-width:72ch; min-width:0; color:var(--ks-text); font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.app-terms-document p { margin:0 0 1.35em; }
.app-terms-document :is(h2,h3,h4) { color:var(--ks-text); line-height:1.4; letter-spacing:-.015em; margin:1.8em 0 .7em; scroll-margin-top:calc(var(--site-header-height) + 24px); }
.app-terms-document h2 { font-size:25px; }
.app-terms-document h3 { font-size:21px; }
.app-terms-document h4 { font-size:18px; }
.app-terms-document > :first-child { margin-top:0; }
.app-terms-document :is(ul,ol) { padding-left:1.6em; margin:0 0 1.4em; }
.app-terms-document li { margin:.55em 0; padding-left:.2em; }
.app-terms-document a { text-decoration:underline; text-underline-offset:4px; }
.app-terms-document code { font-size:.88em; padding:2px 5px; border-radius:5px; background:var(--visual-tint); }
.app-terms-sidebar { position:sticky; top:calc(var(--site-header-height) + 24px); min-width:0; font-size:14px; line-height:1.65; }
.app-terms-sidebar h2 { margin:0 0 14px; font-size:14px; font-weight:700; }
.app-terms-toc summary { cursor:pointer; font-size:14px; font-weight:700; padding:0 0 12px; }
.app-terms-toc:not([open]) summary { padding-bottom:0; }
.app-terms-sidebar ol { margin:0; padding:0 0 0 20px; }
.app-terms-sidebar li { margin:0 0 10px; padding-left:3px; }
.app-terms-sidebar a { text-decoration:underline; text-decoration-color:var(--ks-line); text-underline-offset:4px; overflow-wrap:anywhere; }
.app-terms-links { display:grid; gap:12px; border-top:1px solid var(--ks-line); margin-top:28px; padding-top:22px; }
.app-terms-links svg { width:16px; height:16px; vertical-align:middle; }
.app-terms-links h2 { margin-bottom:0; }
.app-terms-links a { display:flex; align-items:center; gap:8px; }
.app-terms-links svg { flex:0 0 16px; }
.app-terms-draft { padding:18px 24px; margin-bottom:20px; border:1px solid var(--ks-line); border-left:3px solid var(--visual-accent); border-radius:14px; background:var(--panel); }
.app-terms-draft strong { font-size:15px; }
.app-terms-draft p { margin:6px 0 0; color:var(--ks-muted); font-size:14px; line-height:1.7; }
.app-terms-document .app-terms-empty { padding:24px; border:1px dashed var(--ks-line); border-radius:16px; color:var(--ks-muted); }
.app-terms-registry { max-width:1000px; margin:36px auto; }
.app-terms-registry h1 { font-size:clamp(32px,5vw,48px); }
.app-terms-registry > ol { list-style:none; padding:0; }
.app-terms-registry li { display:flex; gap:18px; padding:20px 0; border-top:1px solid var(--ks-line); }
.app-terms-registry li div { display:grid; gap:8px; min-width:0; overflow-wrap:anywhere; }
.app-terms-registry code { font-size:13px; }
.app-terms-registry li a { text-decoration:underline; }
.app-terms-number { color:var(--ks-muted); font-variant-numeric:tabular-nums; }
@media(max-width:900px) {
  .app-terms-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .app-terms-sidebar { position:static; grid-row:1; padding:20px; background:var(--panel); border:1px solid var(--ks-line); border-radius:16px; }
  .app-terms-links { margin-top:18px; padding-top:18px; }
  .app-terms-links:first-child { margin:0; padding:0; border:0; }
}
@media(max-width:480px) {
  .app-terms-page { margin-top:16px; margin-bottom:44px; }
  .app-terms-heading { padding:24px 20px; border-radius:20px; }
  .app-terms-identity { gap:12px; }
  .app-terms-icon,.app-terms-symbol { width:52px; height:52px; flex-basis:52px; }
  .app-terms-layout { padding:26px 0 0; }
  .app-terms-document { font-size:16px; }
  .app-terms-document h2 { font-size:23px; }
  .app-terms-heading .eyebrow { font-size:11px; }
}
@media print {
  .app-terms-sidebar,.site-header,.footer,.app-terms-draft { display:none; }
  .app-terms-layout { display:block; }
  .app-terms-heading { background:none; border:0; padding:0; }
  .app-terms-document { max-width:none; }
}
