/* Ortivs · legal pages and 404 (site/privacy, site/terms, site/security, site/404.html).
   Same palette and self-hosted fonts as the front door (site/index.html :root). No build step, no remote requests.
   Floors: body 17 px at >= 8:1 on --bg, every other text >= 13 px (labels at >= 8:1). */
@font-face{font-family:"Fraunces";src:url("fonts/Fraunces-300_700.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/Manrope-200_800.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-500.woff2") format("woff2");font-weight:500;font-display:swap}
:root{
  --bg:#05070b; --bg1:#080b11;
  --ink:#f4f1ea; --plat:#dbe4f2; --mute:#aab4c4;
  --rule:rgba(219,228,242,.12); --rule2:rgba(219,228,242,.22);
  --gold:#e6c07b; --ice:#8fe8ff;
  --pad:clamp(22px,6.6vw,120px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --serif:"Fraunces",ui-serif,Georgia,serif;
  --sans:"Manrope",ui-sans-serif,"Helvetica Neue",Arial,sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);background:var(--bg);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ice);text-underline-offset:3px}
a:hover{color:var(--ink)}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:12px;z-index:10;background:var(--bg1);color:var(--ink);padding:10px 14px;font-size:15px}

/* header: emblem + wordmark home, legal nav */
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:14px;min-height:44px;text-decoration:none}
.brand .em{width:36px;height:36px;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
.brand .wm{height:13px;width:auto}
.top nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px)}
.top nav a{display:inline-flex;align-items:center;min-height:44px;font:500 15px/1 var(--sans);letter-spacing:.02em;color:var(--mute);text-decoration:none;transition:color .2s var(--ease)}
.top nav a:hover,.top nav a[aria-current]{color:var(--ink)}
.top nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px}

/* document */
main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:56px 22px 96px}
h1{font:300 clamp(40px,6vw,60px)/1.08 var(--serif);letter-spacing:-.022em;margin:0;color:var(--ink)}
h2{font:400 26px/1.25 var(--serif);letter-spacing:-.01em;margin:48px 0 12px;padding-top:28px;border-top:1px solid var(--rule);color:var(--ink)}
p,li{color:var(--plat)}
p{margin:0 0 16px}
ul,ol{margin:0 0 18px;padding-left:22px}
li{margin:0 0 8px}
strong{color:var(--ink);font-weight:600}
.effective{font:500 13px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:16px 0 36px}
.counsel{font:500 14px/1.4 var(--mono);color:var(--gold);background:rgba(230,192,123,.08);border:1px solid rgba(230,192,123,.35);padding:1px 6px}

/* the one draft banner per page ([data-legal-draft]); the release removes it in tools/legal_pages.py (DRAFT = False) */
.legal-draft{margin:0 0 36px;padding:12px 16px;border:1px solid rgba(230,192,123,.5);background:rgba(230,192,123,.06);font:500 13px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.legal-draft p{margin:0;color:var(--gold)}

/* 404 */
.lost{display:flex;flex-direction:column;justify-content:center}
.lost p{font-size:19px;margin:22px 0 0}

/* footer, matching the front door's (brand, legal links, company line) */
.foot{border-top:1px solid var(--rule);padding:48px var(--pad) 36px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr) minmax(0,.7fr);gap:32px clamp(32px,5vw,90px);align-items:start}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-brand img{width:36px;height:36px;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
.foot-brand span{font:500 13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--plat)}
.foot-tag{margin:18px 0 0;max-width:380px;font-size:16px;line-height:1.5;color:var(--plat)}
.foot-mail{display:inline-block;margin-top:16px;padding:8px 0;font-size:16px;color:var(--plat);text-underline-offset:4px}
.foot-mail:hover{color:#fff}
.foot-h{margin:6px 0 14px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.foot-col li{margin:0}
.foot-col a{display:inline-block;padding:6px 0;font-size:16px;color:var(--plat);text-decoration:none}
.foot-col a:hover,.foot-col a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.foot-social a{display:inline-flex;align-items:center;gap:12px}
.foot-social svg{width:18px;height:18px;flex:none;fill:currentColor;opacity:.88}
.foot-social a:hover svg,.foot-social a:focus-visible svg{opacity:1}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot .c{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;font:500 13px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--rule);padding-top:22px}

@media (max-width:640px){
  .top{flex-wrap:wrap;gap:4px 20px;padding:12px var(--pad)}
  .brand .em{width:32px;height:32px}
  .brand .wm{height:11px}
  main{padding:40px 22px 72px}
  h2{font-size:24px}
  .foot{grid-template-columns:1fr}
  .foot-col a,.foot-mail{display:inline-flex;align-items:center;min-height:44px;padding:0}
  .foot-col ul{gap:0}
}
