/* Purple Lab: the reading pages (privacy, terms, support).
   Same ground, type and bar as the homepage, without the room: solid dark
   ground, a contents column, one reading column, hairline rules. No boxes. */
:root{
  color-scheme: dark;

  --black:#0A0A0F;
  --violet:#7B2FBE;
  --violet-lift:#A764E8;
  --lime:#CCFF00;
  --ink:#F0F0F0;
  --mute:#9A94A8;
  --mute-2:#645C76;
  --rule:rgba(240,240,240,.12);

  --display:"Archivo","Arial Narrow",sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --radius:3px;
  --gl:max(20px, env(safe-area-inset-left, 0px));
  --gr:max(20px, env(safe-area-inset-right, 0px));
  --wide:1360px;
  --bar:58px;
}

*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--bar) + 16px)}
body{
  margin:0;
  background:var(--black);
  color:var(--ink);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
p{margin:0}
a{color:inherit}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid rgba(204,255,0,.4);outline-offset:2px}

/* ---------------- the bar (as on the homepage, always solid here) ---------------- */
body::before{
  content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:10;background:var(--black);
}
.top{
  position:fixed;top:env(safe-area-inset-top, 0px);left:0;right:0;z-index:6;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px var(--gr) 18px var(--gl);
  background:var(--black);border-bottom:1px solid var(--rule);
}
.wordmark{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.nav{display:flex;gap:22px;font-size:13.5px;color:var(--mute)}
.nav a{color:inherit;text-decoration:none}
.nav a:hover, .nav a[aria-current="page"]{color:var(--ink)}
.menu-btn{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--rule);padding:9px 12px;cursor:pointer}

/* ---------------- type ---------------- */
.eyebrow, .label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
h1, h2{font-family:var(--display);font-variation-settings:"wdth" 80,"wght" 800;letter-spacing:-.03em;text-wrap:balance;margin:0}
h1{font-size:clamp(40px,6vw,88px);line-height:.95}
h2{font-size:clamp(24px,2.4vw,32px);line-height:1.05}
h3{font:600 16px/1.4 var(--body);margin:0;color:var(--ink)}

/* ---------------- page head ---------------- */
.doc{max-width:var(--wide);margin:0 auto;padding:calc(var(--bar) + clamp(48px,8vw,104px)) var(--gr) 0 var(--gl)}
.head{display:grid;gap:18px;padding-bottom:clamp(36px,5vw,64px);border-bottom:1px solid var(--rule)}
.head .lede{font-size:17px;line-height:1.6;color:var(--mute);max-width:60ch}
.meta{display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute-2)}
.meta b{color:var(--mute);font-weight:400}

/* ---------------- contents + reading column ---------------- */
.layout{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-top:clamp(36px,5vw,64px)}
.toc{position:sticky;top:calc(var(--bar) + 32px);align-self:start;display:grid;gap:2px;font-size:13.5px}
.toc .label{margin-bottom:10px}
.toc a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;padding:6px 0;color:var(--mute);text-decoration:none;line-height:1.35}
.toc a span{font-family:var(--mono);font-size:11px;color:var(--mute-2);padding-top:2px}
.toc a:hover, .toc a.here{color:var(--ink)}
.toc a.here span{color:var(--lime)}

.read{max-width:68ch;min-width:0}
.sec{padding:0 0 clamp(36px,4vw,52px)}
.sec + .sec{padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--rule)}
.sec > .num{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--lime);margin-bottom:12px}
.sec h2{margin-bottom:18px}
.sec h3{margin:26px 0 8px}
.sec p, .sec li{font-size:16px;line-height:1.7;color:#C9C4D3}
.sec p + p{margin-top:14px}
.sec ul, .sec ol{margin:12px 0 0;padding-left:20px;display:grid;gap:8px}
.sec li::marker{color:var(--mute-2)}
.sec strong{color:var(--ink);font-weight:600}
.sec .caps{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--mute)}
.note{margin-top:16px;padding-left:16px;border-left:2px solid var(--lime);color:var(--ink)}
.note p{color:var(--ink)}
.closing{font-style:italic}

/* the contact line: the address is plain, selectable text with a copy button */
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}
.contact .addr{font-family:var(--mono);font-size:15px;color:var(--ink);user-select:all}
.copy{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);background:none;border:1px solid var(--rule);padding:7px 10px;border-radius:var(--radius);cursor:pointer}
.copy:hover{color:var(--ink);border-color:rgba(240,240,240,.3)}

/* ---------------- support: rate card and questions (as on the homepage) ---------------- */
.rates{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:22px}
.rate{padding:22px 18px 22px 0;display:grid;gap:8px;align-content:start}
.rate + .rate{padding-left:18px;border-left:1px solid var(--rule)}
.rate .name{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.rate .price{font-family:var(--display);font-variation-settings:"wdth" 80,"wght" 800;font-size:34px;letter-spacing:-.03em;line-height:1}
.rate .per{font-size:13px;color:var(--mute)}
.rate .credits{font-size:14px;color:var(--ink)}
.costs{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));margin-top:22px;border-top:1px solid var(--rule)}
.cost{padding:18px 16px 0 0}
.cost + .cost{padding-left:16px;border-left:1px solid var(--rule)}
.cost .n{font-family:var(--display);font-variation-settings:"wdth" 80,"wght" 800;font-size:30px;line-height:1}
.cost p{font-size:14px !important;margin-top:6px}

.qa{margin-top:10px;border-top:1px solid var(--rule)}
.qa details{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:18px 0;font:600 16px/1.4 var(--body);color:var(--ink)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-family:var(--mono);color:var(--mute)}
.qa details[open] summary::after{content:"−";color:var(--lime)}
.qa .a{padding:0 0 20px}
.qa .a p, .qa .a li{font-size:15.5px}

/* ---------------- foot ---------------- */
.foot{max-width:var(--wide);margin:clamp(56px,8vw,112px) auto 0;padding:28px var(--gr) 40px var(--gl);border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-size:13.5px;color:var(--mute)}
.foot a{text-decoration:none}
.foot a:hover, .foot a[aria-current="page"]{color:var(--ink)}
.foot .end{margin-left:auto;color:var(--mute-2)}

/* ---------------- narrow screens ---------------- */
@media (max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;padding-bottom:28px;border-bottom:1px solid var(--rule)}
  .rates{grid-template-columns:repeat(2, minmax(0,1fr))}
  .rate:nth-child(3){border-left:0;padding-left:0}
  .rate:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:760px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .top.open .nav{
    display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;
    background:var(--black);border-bottom:1px solid var(--rule);
    padding:0 var(--gr) 12px var(--gl);font-size:17px;
  }
  .top.open .nav a{color:var(--ink);padding:15px 0;border-top:1px solid var(--rule)}
  .costs{grid-template-columns:minmax(0,1fr)}
  .cost + .cost{padding-left:0;border-left:0;border-top:1px solid var(--rule);margin-top:18px}
  .foot .end{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

/* links inside the reading text */
.sec p a, .sec li a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(204,255,0,.45);text-underline-offset:3px}
.sec p a:hover, .sec li a:hover{text-decoration-color:var(--lime)}
.contact .addr{text-decoration:none}
