/* Shared styles for the legal pages (terms.html, privacy.html).
   Kept at the site root rather than /assets/ on purpose: assets are served
   with a 1-year immutable cache header, which would strand readers on a
   stale stylesheet the next time these pages are revised. */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#e7e7e4;font-family:Archivo,system-ui,sans-serif;color:#0b0b0c;-webkit-font-smoothing:antialiased;}
a{color:#2e6bff;text-decoration:none;}
a:hover{color:#1b53db;}
.page{max-width:1280px;margin:0 auto;background:#f4f6f7;overflow:hidden;}

/* header — matches index.html */
.header{display:flex;align-items:center;justify-content:space-between;padding:22px 44px;}
.brand{display:flex;align-items:center;gap:11px;color:#0b0b0c;}
.brand:hover{color:#0b0b0c;}
.brand img{width:32px;height:32px;display:block;}
.brand span{font-size:20px;font-weight:800;letter-spacing:-.03em;}
.header-cta{background:#0b0b0c;color:#fff;font-size:15px;font-weight:600;padding:11px 20px;border-radius:999px;white-space:nowrap;}
.header-cta:hover{color:#fff;background:#26262a;}

/* document shell */
.doc-wrap{padding:20px 44px 56px;}
.doc{background:#fff;border:1px solid #e6e9ec;border-radius:22px;padding:64px 72px;max-width:860px;margin:0 auto;}
.doc h1{font-size:46px;font-weight:800;letter-spacing:-.04em;margin:0;line-height:1.05;text-wrap:balance;}
.doc-date{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:#99a0a6;margin-top:18px;letter-spacing:.04em;}
.doc-intro{font-size:17px;line-height:1.6;color:#697079;margin:20px 0 0;}
.doc-rule{height:1px;background:#e6e9ec;margin:38px 0;}

/* prose */
.doc h2{font-size:26px;font-weight:800;letter-spacing:-.025em;margin:44px 0 0;scroll-margin-top:24px;}
.doc h2:first-of-type{margin-top:0;}
.doc h3{font-size:18px;font-weight:700;letter-spacing:-.015em;margin:28px 0 0;color:#0b0b0c;}
.doc p{font-size:16px;line-height:1.65;color:#3d434a;margin:14px 0 0;}
.doc ul{margin:14px 0 0;padding-left:22px;}
.doc li{font-size:16px;line-height:1.65;color:#3d434a;margin-top:9px;}
.doc strong{color:#0b0b0c;font-weight:700;}
.doc a{overflow-wrap:anywhere;}

/* jurisdiction badge */
.tag{display:inline-block;vertical-align:middle;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.1em;padding:4px 9px;border-radius:999px;margin-left:10px;background:#eaf0ff;color:#2e6bff;white-space:nowrap;position:relative;top:-2px;}
.tag.global{background:#eef0f2;color:#697079;}

/* tables */
.table-scroll{overflow-x:auto;margin-top:18px;-webkit-overflow-scrolling:touch;}
.doc table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px;}
.doc th{text-align:left;font-weight:700;color:#0b0b0c;padding:12px 14px;background:#f4f6f7;border-bottom:1px solid #e6e9ec;white-space:nowrap;}
.doc td{padding:13px 14px;line-height:1.55;color:#3d434a;border-bottom:1px solid #eef0f2;vertical-align:top;}
.doc tr:last-child td{border-bottom:none;}

/* caps blocks (warranty / liability) read as legal boilerplate, not shouting */
.caps{font-size:14px;line-height:1.7;color:#5f646b;letter-spacing:.005em;background:#f7f8f9;border-left:3px solid #e0e4e8;border-radius:0 10px 10px 0;padding:18px 22px;margin-top:16px;}

/* footer */
.doc-footer{max-width:860px;margin:0 auto;padding:0 0 8px;}
.legal{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#8a8e93;margin-top:32px;letter-spacing:.06em;text-align:center;}
.legal a{color:#5f646b;}
.legal-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;}

@media (max-width:860px){
  .header{padding:18px 20px;}
  .doc-wrap{padding:12px 16px 40px;}
  .doc{padding:36px 24px;border-radius:18px;}
  .doc h1{font-size:clamp(30px,8vw,38px);}
  .doc h2{font-size:22px;}
  .doc-rule{margin:30px 0;}
  .tag{margin-left:8px;}
}
