/* legal.css — shared shell for the four legal pages (privacy, terms,
   disclaimer, afsl). Light editorial treatment from the about page:
   Newsreader display, Inter body, JetBrains Mono eyebrows, #FF0000 accent.
   Body prose is rendered by legal.js from /content/legal/<doc>.md. */

:root{
  --red:#FF0000;
  --ink:#0A0A0A; --ink-2:#3A3D42; --ink-3:#6E7378;
  --paper:#FFFFFF; --paper-2:#F6F5F2;
  --line:#E4E2DD;
  --sans:'Inter',-apple-system,sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;
     font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- header ---------- */
#hdr{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;
     padding:22px clamp(20px,4vw,48px);color:var(--ink);--logo-word:#0A0A0A;
     background:linear-gradient(to bottom,rgba(255,255,255,.94),rgba(255,255,255,0));
     backdrop-filter:blur(2px)}
#hdr .logo svg{height:22px;width:auto}
#hdr nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font:400 13px/1 var(--sans)}
#hdr nav a{opacity:.85}
#hdr nav a:hover{opacity:1}
#hdr .cta{border:1px solid currentColor;border-radius:100px;padding:9px 20px;font-weight:500;opacity:1 !important}
#hdr .cta:hover{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:720px){#hdr nav a:not(.cta){display:none}}

#burger{width:26px;height:16px;position:relative;background:none;border:none;cursor:pointer;display:none}
#burger span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s var(--ease-out)}
#burger span:first-child{top:0}#burger span:last-child{bottom:0}
@media(max-width:720px){#burger{display:block}}

/* ---------- full-screen menu ---------- */
#mnav{position:fixed;inset:0;z-index:99;background:var(--ink);color:#fff;display:flex;flex-direction:column;
      justify-content:center;padding:clamp(28px,7vw,88px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease-out)}
html.menu-open #mnav{opacity:1;pointer-events:auto}
html.menu-open{overflow:hidden}
#mnav .mlab{font:400 11px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--red);margin-bottom:26px}
#mnav .mitem{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5.4vw,62px);line-height:1.22;
      letter-spacing:-.02em;opacity:.86}
#mnav .mitem:hover,#mnav .mitem.here{opacity:1;color:var(--red)}
#mnav .msub{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;gap:22px}
#mnav .mfoot{font:300 12.5px var(--sans);color:rgba(255,255,255,.5)}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;
     padding:14px 30px;font:500 14px/1 var(--sans);transition:transform .25s var(--ease-out),box-shadow .25s}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 30px rgba(255,0,0,.28)}
.btn-red:hover{box-shadow:0 10px 44px rgba(255,0,0,.42);transform:translateY(-2px)}

/* ---------- page head ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,56px)}
.lhead{padding:calc(96px + clamp(40px,7vw,90px)) 0 clamp(30px,4vw,48px);background:var(--paper-2);
       border-bottom:1px solid var(--line)}
.eyebrow{font:400 11px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--red);margin-bottom:24px}
.lhead h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,72px);letter-spacing:-.02em;
          line-height:1.02;color:var(--ink);text-wrap:balance}
.lhead .upd{margin-top:20px;font:400 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- notice callout ---------- */
.notice{display:flex;gap:16px;margin:clamp(30px,4vw,44px) 0 0;padding:22px 24px;border-radius:14px;
        background:#FFF8F8;border:1px solid rgba(255,0,0,.22)}
.notice.info{background:var(--paper-2);border-color:var(--line)}
.notice .ni{flex:none;width:22px;height:22px;color:var(--red);margin-top:1px}
.notice.info .ni{color:var(--ink-2)}
.notice h2{font:500 14px/1.4 var(--sans);letter-spacing:.01em;color:var(--ink);margin-bottom:5px}
.notice p{font-size:14.5px;color:var(--ink-2);line-height:1.6}

/* ---------- prose ---------- */
.lbody{padding:clamp(44px,6vw,80px) 0 clamp(70px,9vw,120px)}
.prose{max-width:70ch}
.prose h2{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.7vw,34px);letter-spacing:-.015em;
          line-height:1.16;margin:clamp(44px,5vw,62px) 0 18px;padding-top:26px;border-top:1px solid var(--line)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:none}
.prose h3{font:500 15.5px/1.4 var(--sans);letter-spacing:.01em;margin:34px 0 12px;color:var(--ink)}
.prose p{color:var(--ink-2);margin-bottom:18px}
.prose strong{font-weight:500;color:var(--ink)}
.prose em{font-style:italic}
.prose ul,.prose ol{margin:0 0 20px;padding-left:0;list-style:none;counter-reset:li}
.prose li{position:relative;padding-left:26px;margin-bottom:10px;color:var(--ink-2)}
.prose ul>li::before{content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;
      border-radius:50%;background:var(--red);opacity:.7}
.prose ol>li{counter-increment:li}
.prose ol>li::before{content:counter(li);position:absolute;left:0;top:0;
      font:400 11.5px/1.75 var(--mono);color:var(--red)}
.prose blockquote{margin:26px 0;padding:20px 24px;background:var(--paper-2);
      border-left:2px solid var(--red);border-radius:0 10px 10px 0}
.prose blockquote p{margin-bottom:8px;color:var(--ink-2)}
.prose blockquote p:last-child{margin-bottom:0}
.prose a{color:var(--red);border-bottom:1px solid rgba(255,0,0,.3);transition:border-color .25s}
.prose a:hover{border-color:var(--red)}

/* sibling legal pages */
.lalso{margin-top:clamp(50px,6vw,74px);padding-top:30px;border-top:1px solid var(--line)}
.lalso .lab{font:400 11px/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.lalso .row{display:flex;flex-wrap:wrap;gap:10px}
.lalso a{border:1px solid var(--line);border-radius:100px;padding:9px 19px;font:400 13px/1 var(--sans);
      color:var(--ink-2);transition:border-color .25s,color .25s}
.lalso a:hover{border-color:var(--ink);color:var(--ink)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#fff;padding:clamp(46px,6vw,74px) 0;--logo-word:#FFFFFF}
footer .wrap{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:clamp(14px,2.2vw,28px);font:300 13.5px/1 var(--sans)}
footer nav a{color:rgba(255,255,255,.72)}
footer nav a:hover{color:#fff}
footer .legal{width:100%;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;
      padding-top:26px;border-top:1px solid rgba(255,255,255,.12);font:300 12px/1.7 var(--sans);
      color:rgba(255,255,255,.45)}
footer .legal a{color:rgba(255,255,255,.6)}
footer .legal a:hover{color:#fff}

@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
