/* IVRIS legal pages (/terms, /privacy) — layered ON TOP of landing.css, which
 * owns every brand token, the header and the footer. Nothing here redefines a
 * token; this file only sets the reading column and the prose rhythm for long
 * documents, so the policies feel like the same site as the landing page.
 *
 * Served at /portal/css/legal.css (the /portal/* mount maps to frontdoor/). */

.legal{padding:56px 0 88px;}
.legal-wrap{max-width:760px; margin:0 auto; padding:0 22px;}

/* ---------- masthead ---------- */
.legal-title{font-family:'Barlow Semi Condensed','Barlow',sans-serif; font-weight:700;
  font-size:clamp(30px,5vw,44px); line-height:1.08; color:var(--black); letter-spacing:-.01em;}
.legal-dates{margin-top:12px; font-size:13px; color:var(--gray); letter-spacing:.02em;}
.legal-dates b{color:var(--ink-700); font-weight:600;}

/* The one-line plain-English summary that opens each document. Deliberately
   louder than the legalese under it — it is the part people actually read. */
.legal-tldr{margin:26px 0 0; padding:18px 20px; background:var(--ivris-green-050);
  border:1px solid var(--ivris-green-200); border-left:3px solid var(--green);
  border-radius:var(--radius-md); font-size:17px; line-height:1.55; color:var(--ink-700);}
.legal-tldr strong{color:var(--black); font-weight:700;}

/* ---------- table of contents ---------- */
.legal-toc{margin:30px 0 6px; padding:20px 22px; background:var(--white);
  border:1px solid var(--border); border-radius:var(--radius-md);}
.legal-toc h2{font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gray); margin-bottom:12px;}
.legal-toc ol{list-style:none; counter-reset:toc; columns:2; column-gap:26px;}
.legal-toc li{counter-increment:toc; margin:0 0 7px; break-inside:avoid; font-size:14.5px;}
.legal-toc li::before{content:counter(toc) ". "; color:var(--ink-300); font-variant-numeric:tabular-nums;}
.legal-toc a{color:var(--ink-700); text-decoration:none;}
.legal-toc a:hover{color:var(--green); text-decoration:underline;}
@media(max-width:640px){.legal-toc ol{columns:1;}}

/* ---------- prose ---------- */
.legal-body{counter-reset:sec;}
.legal-body section{padding-top:34px; scroll-margin-top:84px;}
.legal-body section + section{border-top:1px solid var(--border); margin-top:34px;}
.legal-body h2{counter-increment:sec; font-family:'Barlow Semi Condensed','Barlow',sans-serif;
  font-weight:700; font-size:23px; line-height:1.2; color:var(--black);}
.legal-body h2::before{content:counter(sec) ". "; color:var(--green);}
.legal-body h3{font-size:16px; font-weight:700; color:var(--ink-700); margin-top:20px;}
.legal-body p{margin-top:13px; font-size:16px; line-height:1.68; color:var(--ink-700);}
.legal-body ul,.legal-body ol{margin:13px 0 0 22px;}
.legal-body li{margin-top:9px; font-size:16px; line-height:1.62; color:var(--ink-700);}
.legal-body a{color:var(--green-dark); text-decoration:underline; text-underline-offset:2px;}
.legal-body a:hover{color:var(--green);}
.legal-body strong{color:var(--black); font-weight:700;}

/* ALL-CAPS risk-allocation blocks (disclaimers, liability cap). Kept legible:
   caps + letterspacing, never smaller than the body text. */
.legal-caps{margin-top:13px; font-size:14.5px; line-height:1.6; letter-spacing:.015em;
  text-transform:uppercase; color:var(--ink-500);}

/* Honest-limits / "read this twice" callout inside a section. */
.legal-note{margin-top:16px; padding:15px 18px; background:var(--paper-100);
  border-left:3px solid var(--ink-300); border-radius:var(--radius-sm);
  font-size:15px; line-height:1.6; color:var(--ink-700);}
.legal-note strong{color:var(--black);}

/* ---------- tables (plan grid, CCPA categories) ---------- */
.legal-table-wrap{margin-top:16px; overflow-x:auto; border:1px solid var(--border);
  border-radius:var(--radius-md); background:var(--white);}
.legal-table{width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px;}
.legal-table th,.legal-table td{padding:11px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--border);}
.legal-table thead th{font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gray); background:var(--paper-50); white-space:nowrap;}
.legal-table tbody tr:last-child td,.legal-table tbody tr:last-child th{border-bottom:0;}
.legal-table td strong{color:var(--black);}

/* ---------- foot ---------- */
.legal-end{margin-top:40px; padding-top:22px; border-top:1.5px solid var(--black);
  font-size:14px; color:var(--gray);}
.legal-end a{color:var(--green-dark);}

@media(max-width:640px){
  .legal{padding:36px 0 64px;}
  .legal-body p,.legal-body li{font-size:15.5px;}
}
