/* Shared by every document under /legal. The tokens are copied from
   web/index.html rather than imported, because the public site is one
   self-contained file with no build step and splitting its token block
   into a stylesheet would make that file depend on this directory. If
   a token changes there, change it here. */

:root{
  --bg:#FFFFFF;
  --bg-alt:#F6F9FC;
  --card:#FFFFFF;
  --ink:#0A2540;
  --slate:#425466;
  --muted:#697386;
  --line:#E3E8EE;
  --line-soft:#EDF1F6;
  --brand:#635BFF;
  --brand-ink:#5850EC;
  --brand-wash:#F0EFFF;
  --cyan:#00D4FF;
  --green:#09825D;
  --green-wash:#E3F6EF;
  --red:#CD3D64;
  --red-wash:#FCE9EF;
  --amber:#B54708;
  --amber-wash:#FDF3E7;
  --navy:#0A2540;
  --sh-sm:0 2px 5px -1px rgba(50,50,93,.18), 0 1px 3px -1px rgba(0,0,0,.16);
  --sh-md:0 6px 12px -2px rgba(50,50,93,.22), 0 3px 7px -3px rgba(0,0,0,.28);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0A1220;
    --bg-alt:#0F1B2D;
    --card:#111C2F;
    --ink:#EAF0F8;
    --slate:#AAB9CD;
    --muted:#8496AC;
    --line:#1F2D42;
    --line-soft:#1A2637;
    --brand:#9A93FF;
    --brand-ink:#B0AAFF;
    --brand-wash:#1B1B3A;
    --green:#3FC79A;
    --green-wash:#0E2C24;
    --red:#F6809C;
    --red-wash:#33141F;
    --amber:#F0A868;
    --amber-wash:#2E1F10;
    --sh-sm:0 2px 5px -1px rgba(0,0,0,.5), 0 1px 3px -1px rgba(0,0,0,.4);
    --sh-md:0 6px 12px -2px rgba(0,0,0,.55), 0 3px 7px -3px rgba(0,0,0,.5);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0A1220;
  --bg-alt:#0F1B2D;
  --card:#111C2F;
  --ink:#EAF0F8;
  --slate:#AAB9CD;
  --muted:#8496AC;
  --line:#1F2D42;
  --line-soft:#1A2637;
  --brand:#9A93FF;
  --brand-ink:#B0AAFF;
  --brand-wash:#1B1B3A;
  --green:#3FC79A;
  --green-wash:#0E2C24;
  --red:#F6809C;
  --red-wash:#33141F;
  --amber:#F0A868;
  --amber-wash:#2E1F10;
  --sh-sm:0 2px 5px -1px rgba(0,0,0,.5), 0 1px 3px -1px rgba(0,0,0,.4);
  --sh-md:0 6px 12px -2px rgba(0,0,0,.55), 0 3px 7px -3px rgba(0,0,0,.5);
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

body{
  background:var(--bg);
  color:var(--slate);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:"Inter Tight",Inter,sans-serif;
  color:var(--ink);margin:0;text-wrap:balance;
  letter-spacing:-.03em;line-height:1.12;
}
p{margin:0}
a{color:var(--brand-ink)}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* ============ masthead ============
   The same skewed gradient as the public site's inner pages. Its bottom
   edge is lowest on the left and climbs to the right by roughly
   x * tan(7deg), so the copy's bottom padding grows with the viewport
   the way that climb does — a fixed value clears the diagonal at one
   width and slices the copy at every other. */
.mast{position:relative;overflow:hidden;isolation:isolate}
.mast::before{
  content:"";position:absolute;z-index:-1;
  left:-8%;right:-8%;top:-200px;bottom:0;
  transform:skewY(-7deg);transform-origin:0 0;
  background:
    radial-gradient(58% 72% at 84% 26%, rgba(99,91,255,.92) 0%, rgba(99,91,255,0) 62%),
    radial-gradient(48% 64% at 54% 88%, rgba(0,212,255,.78) 0%, rgba(0,212,255,0) 64%),
    radial-gradient(42% 58% at 8% 20%, rgba(255,150,120,.55) 0%, rgba(255,150,120,0) 62%),
    linear-gradient(128deg, #0A2540 0%, #0F3B68 42%, #1F6FA8 72%, #26A8C9 100%);
}
.mast, .mast h1, .mast p{color:#fff}
.bar-in{display:flex;align-items:center;gap:14px;height:70px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;flex:0 0 auto}
.mark{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#fff}
.mark b{font-family:"Inter Tight",sans-serif;font-size:13px;font-weight:700;color:#635BFF;letter-spacing:-.02em}
.brand span{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:19px;letter-spacing:-.03em}
.bar-end{margin-left:auto;font-size:15.5px;font-weight:600}
.bar-end a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.bar-end a:hover{text-decoration:underline}
.mast-copy{padding-top:40px;padding-bottom:calc(92px + 7.2vw);max-width:840px}
.eyebrow-light{
  font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.mast h1{font-size:clamp(32px,4.4vw,48px);margin-top:14px;letter-spacing:-.038em}
.mast .lede{margin-top:16px;font-size:19px;color:rgba(255,255,255,.88);max-width:58ch}

/* ============ draft notice ============
   Delete this block, and the <aside class="draft"> from every document,
   on the day the documents are signed off. */
.draft{background:var(--amber-wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.draft-in{display:flex;gap:14px;align-items:flex-start;padding:16px 0;font-size:15px;color:var(--ink)}
.draft b{font-weight:600;color:var(--amber)}
.draft svg{width:18px;height:18px;flex:0 0 auto;margin-top:3px;stroke:var(--amber);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ============ tab strip ============ */
.tabs{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}
.tabs-in{display:flex;gap:2px;overflow-x:auto}
.tabs a{
  font-size:15.5px;font-weight:600;color:var(--muted);text-decoration:none;
  border-bottom:2px solid transparent;padding:16px 14px;white-space:nowrap;
  transition:color .14s ease;
}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}
.tabs a:focus-visible{outline:2px solid var(--brand);outline-offset:-4px;border-radius:4px}

/* ============ document ============ */
.ground{background:var(--bg-alt);padding:56px 0 96px}
.doc{
  background:var(--card);border-radius:16px;box-shadow:var(--sh-md);
  max-width:800px;margin:0 auto;padding:48px clamp(24px,5vw,60px) 56px;
}
.doc h2{font-size:clamp(27px,3.4vw,36px);letter-spacing:-.036em}
.doc .meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.doc .updated{font-size:14px;color:var(--muted);font-style:italic}
.doc h3{
  font-size:20px;margin-top:40px;padding-top:26px;
  border-top:1px solid var(--line-soft);letter-spacing:-.028em;
}
.doc h3:first-of-type{border-top:0;padding-top:0}
.doc h4{font-size:16.5px;margin-top:26px;letter-spacing:-.02em}
.doc p{margin-top:14px;font-size:16.5px;max-width:64ch}
.doc ul{margin:14px 0 0;padding-left:0;list-style:none;display:grid;gap:10px}
.doc ul li{position:relative;padding-left:20px;font-size:16.5px;max-width:64ch}
.doc ul li::before{content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.doc ol{margin:14px 0 0;padding-left:22px;display:grid;gap:10px;font-size:16.5px}
.doc ol li{max-width:62ch}
.doc strong{color:var(--ink);font-weight:600}
.num{font-variant-numeric:tabular-nums}

.pill{
  display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;
  padding:4px 10px;border-radius:999px;
}
.pill.now{background:var(--amber-wash);color:var(--amber)}
.pill.blocked{background:var(--red-wash);color:var(--red)}
.pill.counsel{background:var(--brand-wash);color:var(--brand-ink)}
.pill.later{background:var(--bg-alt);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}

/* An unresolved fact, shown rather than hidden in placeholder prose.
   Every one of these is a blocker on publication. */
.tbc{
  background:var(--brand-wash);color:var(--brand-ink);font-weight:600;
  padding:1px 6px;border-radius:5px;font-size:.94em;
  box-shadow:inset 0 0 0 1px rgba(99,91,255,.28);
}

.callout{
  margin-top:22px;padding:18px 20px;border-radius:12px;
  background:var(--bg-alt);border-left:3px solid var(--brand);font-size:16px;
}
.callout p{margin-top:0;max-width:62ch}
.callout p + p{margin-top:10px}

.tablewrap{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:600px;font-size:14.8px}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{background:var(--bg-alt);font-weight:600;color:var(--ink);font-size:13.5px;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
td strong{color:var(--ink);font-weight:600}

/* ============ hub ============ */
.docgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:18px;margin-top:22px}
.docgrid a{
  text-decoration:none;color:var(--slate);background:var(--card);
  border:1px solid var(--line);border-radius:13px;padding:20px;
  display:flex;flex-direction:column;gap:9px;
  transition:box-shadow .15s ease,border-color .15s ease;
}
.docgrid a:hover{box-shadow:var(--sh-md);border-color:transparent}
.docgrid .path{font-size:12.5px;color:var(--muted)}
.docgrid h4{font-size:17.5px;margin:0}
.docgrid p{font-size:14.5px;line-height:1.5;margin:0}
.docgrid .foot{margin-top:auto;padding-top:4px;display:flex;flex-wrap:wrap;gap:6px}

.stage{display:grid;margin-top:22px}
.stage-row{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.stage-row:first-child{border-top:0}
.stage .n{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:var(--brand-wash);color:var(--brand-ink);font-weight:600;font-size:14px;
  font-family:"IBM Plex Mono",ui-monospace,monospace;
}
.stage h4{font-size:16.5px;margin:0}
.stage .trigger{font-size:13.6px;color:var(--muted);margin-top:3px;max-width:64ch}
.stage .items{font-size:15px;margin-top:9px;max-width:64ch}

/* ============ footer ============ */
footer{background:var(--bg-alt);border-top:1px solid var(--line);padding:40px 0 48px}
.foot-note{font-size:13.6px;color:var(--muted);max-width:78ch}
.foot-note + .foot-note{margin-top:12px}
.foot-note strong{color:var(--ink)}

@media (prefers-reduced-motion: reduce){*{transition-duration:.001ms!important}}
@media (max-width:620px){
  .doc{padding:34px 22px 40px;border-radius:13px}
  .ground{padding:32px 0 64px}
  .wrap{padding:0 18px}
}
