/* Blossom Host — legal pages. Standalone: does not depend on styles.css so a
   legal page still renders correctly if the main stylesheet is cache-busted or
   revved. Shares the site's tokens by copy, deliberately. */

:root{
  --ink:#0B0A0C;
  --ink-1:#100E12;
  --ink-2:#16131A;
  --ink-3:#1F1B25;
  --paper:#F6EDF0;
  --paper-dim:#CDC4CC;
  --muted:#8A8290;
  --muted-2:#645D6C;
  --sakura:#FF2E88;
  --bloom:#FF77AE;
  --go:#C8FF3D;
  --warn:#FFC83D;
  --bad:#FF5470;
  --line:rgba(246,237,240,0.10);
  --line-2:rgba(246,237,240,0.20);
  --disp:"Archivo Expanded","Archivo",sans-serif;
  --disp-c:"Archivo",sans-serif;
  --body:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --r:14px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper-dim);
  font-family:var(--body);
  font-size:16.5px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:860px;margin:0 auto;padding:0 22px}

/* ---- header ---- */
.lnav{
  position:sticky;top:0;z-index:20;
  background:rgba(11,10,12,.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.lnav-in{display:flex;align-items:center;gap:16px;height:62px}
.brand{
  display:flex;align-items:center;gap:9px;
  font-family:var(--disp);font-weight:900;font-size:1.02rem;
  color:var(--paper);text-decoration:none;letter-spacing:-.01em;
}
.brand img{width:26px;height:26px;border-radius:6px}
.brand b{color:var(--sakura)}
.lnav .back{
  margin-left:auto;font-size:.87rem;color:var(--muted);
  text-decoration:none;border:1px solid var(--line-2);
  padding:7px 14px;border-radius:999px;transition:.18s;white-space:nowrap;
}
.lnav .back:hover{color:var(--paper);border-color:var(--line-2);background:var(--ink-2)}

/* ---- title block ---- */
.lhead{padding:54px 0 26px;border-bottom:1px solid var(--line)}
.eyebrow{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sakura);display:block;margin-bottom:14px;
}
.lhead h1{
  font-family:var(--disp);font-weight:900;
  font-size:clamp(2rem,5.4vw,3rem);line-height:1.04;
  letter-spacing:-.025em;color:var(--paper);margin:0 0 16px;
}
.lhead .dek{font-size:1.06rem;color:var(--paper-dim);margin:0 0 20px;max-width:62ch}
.meta{
  display:flex;flex-wrap:wrap;gap:8px 20px;
  font-family:var(--mono);font-size:.76rem;color:var(--muted);
}
.meta b{color:var(--paper-dim);font-weight:400}

/* ---- table of contents ---- */
.toc{
  margin:30px 0 6px;padding:20px 22px;
  background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);
}
.toc h2{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:400;
}
.toc ol{margin:0;padding-left:1.35em;columns:2;column-gap:32px}
.toc li{margin:0 0 6px;break-inside:avoid}
.toc a{color:var(--paper-dim);text-decoration:none;font-size:.93rem}
.toc a:hover{color:var(--sakura)}
@media(max-width:640px){.toc ol{columns:1}}

/* ---- body ---- */
main{padding:14px 0 70px}
section{padding-top:38px;scroll-margin-top:78px}
h2{
  font-family:var(--disp-c);font-weight:800;
  font-size:1.42rem;letter-spacing:-.015em;color:var(--paper);
  margin:0 0 14px;line-height:1.24;
}
h2 .num{color:var(--sakura);font-family:var(--mono);font-size:.82em;margin-right:.5em;font-weight:400}
h3{
  font-family:var(--disp-c);font-weight:700;font-size:1.04rem;
  color:var(--paper);margin:26px 0 9px;letter-spacing:-.008em;
}
p{margin:0 0 15px}
ul,ol{margin:0 0 15px;padding-left:1.4em}
li{margin:0 0 8px}
li::marker{color:var(--muted-2)}
a{color:var(--bloom);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--sakura)}
strong,b{color:var(--paper);font-weight:600}
code{
  font-family:var(--mono);font-size:.88em;
  background:var(--ink-3);padding:.12em .42em;border-radius:5px;color:var(--paper-dim);
}

/* uppercase legal emphasis — disclaimers and liability caps */
.allcaps{
  text-transform:uppercase;font-size:.9rem;letter-spacing:.012em;
  line-height:1.62;color:var(--paper-dim);
}

/* ---- callouts ---- */
.note{
  margin:20px 0;padding:16px 20px;border-radius:var(--r);
  background:var(--ink-2);border:1px solid var(--line);
  border-left:3px solid var(--muted-2);font-size:.96rem;
}
.note.warn{border-left-color:var(--warn);background:rgba(255,200,61,.05)}
.note.key{border-left-color:var(--sakura);background:rgba(255,46,136,.05)}
.note p:last-child{margin-bottom:0}
.note .lbl{
  display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:7px;
}
.note.warn .lbl{color:var(--warn)}
.note.key .lbl{color:var(--sakura)}

/* ---- tables ---- */
.tw{overflow-x:auto;margin:18px 0;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.93rem;min-width:460px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{
  font-family:var(--mono);font-size:.71rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);font-weight:400;
  border-bottom-color:var(--line-2);
}
td b{color:var(--paper)}

/* ---- footer ---- */
.lft{border-top:1px solid var(--line);padding:30px 0 60px;font-size:.87rem;color:var(--muted)}
.lft-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:18px}
.lft-links a{color:var(--paper-dim);text-decoration:none}
.lft-links a:hover{color:var(--sakura)}
.lft-links a[aria-current]{color:var(--sakura)}

@media(max-width:560px){
  body{font-size:16px}
  .lhead{padding:36px 0 22px}
  section{padding-top:30px}
}
@media print{
  body{background:#fff;color:#000}
  .lnav,.lft-links,.toc{display:none}
  a{color:#000}
}
