/* ============================================================
   ONDERMAX — Legal / Privacy Notice (per-page stylesheet)
   Architecture A: linked per page from the controller-rendered
   full document; NO global web.assets_frontend bundle.
   Corporate register (paper/ink, square, Space Grotesk + IBM Plex).
   Base tokens + self-hosted @font-face come from tokens.css (imported);
   this file carries ONLY the long-form prose components.
   ============================================================ */
@import url('tokens.css');

/* Self-hosted fonts (SIL OFL 1.1) — same @font-face set as consult.css.
   Repeated here because this page links legal.css, NOT styles.css. */
@font-face{font-family:'Space Grotesk';font-weight:400;font-display:swap;src:url(../fonts/SpaceGrotesk-Regular.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:600;font-display:swap;src:url(../fonts/SpaceGrotesk-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-display:swap;src:url(../fonts/SpaceGrotesk-Bold.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url(../fonts/IBMPlexMono-Regular.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(../fonts/IBMPlexMono-Medium.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:400;font-display:swap;src:url(../fonts/IBMPlexSans-Regular.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:600;font-display:swap;src:url(../fonts/IBMPlexSans-SemiBold.woff2) format('woff2')}

/* ---- reset ---- */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}

/* ---- global focus + jump-anchor offset (WCAG 2.4.7 / 2.4.11) ---- */
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[id]{scroll-margin-top:88px}

/* ---- skip link (WCAG 2.4.1) ---- */
.skip-link{position:absolute;left:8px;top:-48px;z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:13px;padding:10px 16px;border:1px solid var(--ink);transition:top .15s}
.skip-link:focus{top:8px}

/* ---- type helpers ---- */
.mono{font-family:var(--font-mono)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}

/* ---- layout ---- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

/* ---- header / nav (port of consult.css, trimmed) ---- */
.header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header__bar{max-width:var(--maxw);margin-inline:auto;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.brand__word{font-family:var(--font-display);font-weight:700;letter-spacing:-0.04em;font-size:20px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;padding:13px 22px;border:1px solid var(--ink);cursor:pointer;background:var(--paper);color:var(--ink);transition:background .2s,color .2s}
.btn--outline:hover{background:var(--ink);color:var(--paper)}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* ---- legal document ---- */
.legal{padding-block:clamp(48px,7vw,88px)}
.legal .wrap{max-width:760px}            /* readable measure for long-form prose */
.legal__title{font-family:var(--font-display);font-weight:700;letter-spacing:-0.035em;line-height:1.05;font-size:clamp(30px,4.5vw,48px);margin-top:14px}
.legal__updated{margin-top:16px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted)}
.legal__intro{margin-top:24px;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--body-text);max-width:64ch}

.legal section{margin-top:clamp(34px,4vw,52px)}
.legal h2{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;font-size:clamp(19px,2.4vw,24px);line-height:1.15;padding-bottom:12px;border-bottom:1px solid var(--line)}
.legal h2 .legal__num{font-family:var(--font-mono);font-weight:500;font-size:.62em;color:var(--muted);margin-right:12px;letter-spacing:0.04em}
.legal p{margin-top:14px;font-size:clamp(15px,1.4vw,16.5px);line-height:1.65;color:var(--body-text);max-width:66ch}
.legal ul{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:11px;max-width:66ch}
.legal li{position:relative;padding-left:24px;font-size:clamp(15px,1.4vw,16.5px);line-height:1.55;color:var(--body-text)}
.legal li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--ink)}
.legal li b{color:var(--ink)}
.legal a{color:var(--ink);border-bottom:1px solid var(--muted)}
.legal a:hover{border-bottom-color:var(--ink)}

/* address block — drop default italic, keep the mono compliance register */
.legal address{font-style:normal;margin-top:14px;font-family:var(--font-mono);font-size:14px;line-height:1.7;color:var(--ink);letter-spacing:0.01em}

/* ---- footer (port of consult.css compliance band) ---- */
.footer{background:var(--paper);padding-block:clamp(40px,5vw,64px) 0}
.compliance{background:var(--ink);color:var(--paper);padding-block:clamp(32px,4vw,48px)}
.compliance .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.compliance .ruo-research{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#7e93ff}
.compliance p{font-family:var(--font-mono);font-size:13px;line-height:1.7;letter-spacing:0.02em;color:#cfcac4;margin-top:10px}
.compliance .company-id{font-family:var(--font-mono);font-size:13px;line-height:1.7;letter-spacing:0.02em;color:#cfcac4;margin-top:10px;font-style:normal}
.compliance a{color:var(--paper);border-bottom:1px solid #7e93ff}
.compliance a:hover{border-bottom-color:var(--paper)}
.compliance__copy{margin-top:36px;padding-top:22px;border-top:1px solid #3a352f;font-size:11px;letter-spacing:0.04em;color:#cfcac4;text-transform:uppercase}

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

/* ---- responsive ---- */
@media (max-width:600px){
  :root{--pad:20px}
}
