/* ============================================================
   Primed & Booked — legal document shell
   ------------------------------------------------------------
   Shared by privacy.html and terms.html. These are long-form
   reading pages: a slightly larger body size (16.5px), a 760px
   measure, and generous heading margins. They deliberately do NOT
   use styles.css — that file's `section{padding:96px 0}` alone
   would wreck this layout (audit 11.6).

   Load order per page:  tokens.css → doc.css
   Both pages now carry no inline CSS at all; their two style
   blocks were identical apart from the four table rules below,
   which terms.html does not currently use but inherits so a
   future table cannot drift.

   Nav here is a simple link row with no hamburger — these pages
   are reached from a footer link, not browsed through. The 430px
   breakpoint exists because the full logo wordmark plus the Book
   a Demo button overflowed a 375px phone (found 2026-08-20).
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:clip}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--blue-deep);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(17,18,20,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-dark)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:32px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:700;font-size:17px}
.logo-img{height:42px;width:auto;flex:none}
.logo-text{display:flex;flex-direction:column;line-height:1.15}
.logo-name{font-family:'Montserrat',sans-serif;font-weight:900;font-size:18px;letter-spacing:0;white-space:nowrap;color:#F2EFE9}
.logo-name b{color:var(--blue);font-weight:900}
.logo-tag{font-size:11px;font-weight:500;color:#8E9196;margin-top:1px;white-space:nowrap}
@media(max-width:760px){.logo-tag{display:none}}
.nav-links{display:flex;align-items:center;gap:22px;list-style:none}
.nav-links a{color:#CFD1D4;font-size:15px;font-weight:500;white-space:nowrap}
.nav-links a:hover{color:#fff;text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;border-radius:10px;padding:10px 18px;background:var(--blue);color:var(--on-accent);white-space:nowrap}
.btn:hover{background:var(--blue-hover);color:var(--on-accent);text-decoration:none}
@media(max-width:620px){.nav-links li:not(:last-child){display:none}}
@media(max-width:430px){.logo-name{font-size:14px}.logo-img{height:34px}.nav-in{gap:12px}.nav .btn,.nav-links .btn{padding:9px 14px;font-size:13px}}

/* ---------- Header ---------- */
.page-hero{background:var(--ink);color:#fff;padding:56px 0 48px}
.page-hero h1{font-family:var(--display);font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:12px}
.page-hero p{color:#B4B7BC;max-width:680px}
.updated{font-family:var(--mono);font-size:12.5px;color:#8E9196;margin-top:14px}

/* ---------- Body ---------- */
.doc{padding:56px 0 88px}
.doc-inner{max-width:760px}
.doc h2{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:40px 0 12px;padding-top:8px}
.doc h2:first-of-type{margin-top:0}
.doc h3{font-family:var(--display);font-size:17px;font-weight:600;margin:24px 0 8px}
.doc p{margin-bottom:14px;color:var(--slate)}
.doc ul{margin:0 0 16px 22px;color:var(--slate)}
.doc li{margin-bottom:8px}
.doc strong{color:var(--ink)}
.callout{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;padding:18px 22px;margin:22px 0}
.callout p:last-child{margin-bottom:0}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--slate)}
th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-weight:600}
.table-scroll{overflow-x:auto}

/* ---------- Footer ---------- */
footer{background:var(--ink);border-top:1px solid var(--line-dark);padding:34px 0;color:#8E9196;font-size:14px}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.foot-links{display:flex;gap:20px;list-style:none;flex-wrap:wrap}
footer a{color:#CFD1D4;font-weight:500}
footer a:hover{color:#fff}
