/* =========================================================
   MarginHunter — legal pages (privacy, sms-terms)
   Deliberately self-contained: no GSAP, no scroll choreography,
   no canvas. These pages are read by carrier vetting reviewers
   and by lawyers, not by prospects being persuaded. They must
   load instantly, print cleanly and survive JS being off.
   Palette is lifted from style.css so they still feel like us.
   ========================================================= */

:root{
  --void:     #05080A;
  --panel:    #0C1216;
  --grid:     #16211F;
  --phosphor: #D6E4DC;
  --dim:      #6B7D77;
  --sealed:   #FFB03A;
  --scan:     #7DF2C8;

  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{color-scheme:dark}
body{
  background:var(--void);
  color:var(--phosphor);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--scan);color:var(--void)}
:focus-visible{outline:2px solid var(--scan);outline-offset:3px}

.wrap{
  max-width:44rem;
  margin:0 auto;
  padding:clamp(2rem,6vw,4.5rem) clamp(1.25rem,4vw,2rem) 5rem;
}

/* ---- masthead ---- */
.mast{
  display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;
  padding-bottom:1.4rem;margin-bottom:2.6rem;
  border-bottom:1px solid var(--grid);
}
.mast a.brand{
  font-family:var(--display);font-weight:700;font-size:1rem;
  letter-spacing:-.01em;color:var(--phosphor);text-decoration:none;
}
.mast a.brand:hover{color:var(--scan)}
.mast .tag{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--dim);
}

h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(1.7rem,4.5vw,2.4rem);
  line-height:1.15;letter-spacing:-.02em;
  margin-bottom:.7rem;
}
.updated{
  font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;
  color:var(--dim);text-transform:uppercase;margin-bottom:2.4rem;
}
h2{
  font-family:var(--display);font-weight:700;
  font-size:1.12rem;letter-spacing:-.01em;
  margin:2.6rem 0 .75rem;
}
h2 .num{
  font-family:var(--mono);font-weight:400;font-size:.8rem;
  color:var(--scan);margin-right:.55rem;letter-spacing:.05em;
}
p{margin-bottom:1rem}
p.lede{font-size:1.15rem;line-height:1.6;color:var(--phosphor)}
ul{margin:0 0 1rem 1.15rem}
li{margin-bottom:.5rem}
a{color:var(--scan)}
b,strong{font-weight:600;color:#fff}

/* ---- the callout carriers look for ---- */
.keyline{
  border-left:2px solid var(--scan);
  background:var(--panel);
  padding:1rem 1.15rem;
  margin:1.4rem 0;
  border-radius:0 4px 4px 0;
}
.keyline p:last-child{margin-bottom:0}

.warn{
  border-left:2px solid var(--sealed);
  background:var(--panel);
  padding:1rem 1.15rem;
  margin:1.4rem 0;
  border-radius:0 4px 4px 0;
  font-size:.95rem;
}
.warn p:last-child{margin-bottom:0}
.warn .lbl{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--sealed);display:block;margin-bottom:.4rem;
}

/* ---- keyword table (STOP / HELP) ---- */
table{
  width:100%;border-collapse:collapse;margin:1.2rem 0;
  font-size:.95rem;
}
th,td{
  text-align:left;padding:.6rem .7rem;
  border-bottom:1px solid var(--grid);vertical-align:top;
}
th{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--dim);font-weight:400;
}
td.kw{
  font-family:var(--mono);font-weight:700;color:var(--scan);
  white-space:nowrap;
}

.footer{
  margin-top:4rem;padding-top:1.4rem;
  border-top:1px solid var(--grid);
  display:flex;gap:1.2rem;flex-wrap:wrap;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;
  color:var(--dim);
}
.footer a{color:var(--dim);text-decoration:none}
.footer a:hover{color:var(--scan)}

@media print{
  body{background:#fff;color:#000}
  .wrap{max-width:none}
  a{color:#000}
  .keyline,.warn{border-left-color:#000;background:#f4f4f4}
}
