:root{
    --bg:#0E1526; --bg2:#0A0F1D; --surface:#161F36;
    --ink:#EAE4DA; --ink-dim:rgba(234,228,218,0.62); --ink-faint:rgba(234,228,218,0.38);
    --hairline:rgba(147,197,253,0.16); --accent:#93C5FD; --accent-soft:rgba(147,197,253,0.62);
  }
  *{box-sizing:border-box;}
  body{
    margin:0; background:radial-gradient(ellipse 80% 50% at 50% -10%,#16223F 0%,var(--bg) 55%) var(--bg);
    color:var(--ink); font-family:'Crimson Pro',Georgia,serif; font-weight:300; line-height:1.75;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:0.01em;}
  a{color:var(--accent-soft);}
  .wrap{max-width:720px;margin:0 auto;padding:56px 28px 100px;}
  .back{display:inline-block;margin-bottom:28px;font-size:14px;color:var(--ink-dim);text-decoration:none;letter-spacing:0.03em;}
  .back:hover{color:var(--ink);}
  h1{font-size:clamp(28px,4vw,38px);margin:6px 0 6px;color:var(--ink);}
  h2{font-size:20px;margin:40px 0 12px;padding-top:26px;border-top:1px solid var(--hairline);color:var(--ink);}
  h2:first-of-type{border-top:none;padding-top:0;}
  h3{font-size:16px;margin:24px 0 8px;color:var(--accent-soft);letter-spacing:0.02em;}
  p,li{color:var(--ink-dim);font-size:15.5px;}
  ul,ol{padding-left:22px;}
  strong{color:var(--ink);}
  em{color:var(--ink-faint);}
  hr{border:none;border-top:1px solid var(--hairline);margin:36px 0;}
  code{background:var(--surface);padding:1px 6px;border-radius:3px;font-size:14px;}
  .doc-note{background:var(--surface);border-left:2px solid var(--accent-soft);border-radius:4px;padding:14px 16px;font-size:14px;color:var(--ink-faint);margin:20px 0;}

/* ---- utility classes (replacing former inline style attributes) ---- */
.u-faint{color:var(--ink-faint);}
.u-block-center{width:100%;text-align:center;margin-top:20px;}
.u-mt26{margin-top:26px;}
.u-faint16{font-size:16px;color:var(--ink-faint);}
.u-underline{text-decoration:underline;}
.u-w900{max-width:900px;}
.u-mt16{margin-top:16px;}
.u-subhead{font-size:clamp(21px,2.6vw,27px);margin-bottom:14px;}
.u-faint13{color:var(--ink-faint);font-size:13.5px;margin-top:6px;}
.u-accent{color:var(--accent-soft);}
.u-forgot{margin:6px 0 0;font-size:13px;}
.u-note14{margin-top:24px;font-size:14px;}
.u-fs165{font-size:16.5px;}
