/* legal.css - standalone styles for /privacy/ and /terms/.
   Deliberately self-contained: these are text-only pages and do not need the
   ~40KB of marketing CSS that lives inline in index.html.
   Token values are copied from the `.lj` block in index.html; when that CSS is
   extracted to a shared stylesheet, fold these tokens into it. */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FAF9F6;overflow-x:clip}
img{max-width:100%}

.lj{
  --canvas:#FAF9F6; --panel:#FFFFFF;
  --ink:#17181A; --ink-soft:#5C5E63; --ink-faint:#8B8D92;
  --gold:#E9A83A; --gold-deep:#996611; --gold-soft:rgba(233,168,58,.12);
  --dark:#141517; --dark-line:rgba(255,255,255,.08);
  --hairline:#EBE7DE;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--canvas);
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ---- nav (mirrors index.html) ---- */
.nav-bar{position:sticky;top:0;z-index:90;background:rgba(250,249,246,.86);
  -webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05);
  border-bottom:1px solid var(--hairline)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:16px}
.brand{display:flex;align-items:center;gap:11px}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks a{color:var(--ink-soft);text-decoration:none;font-size:.92rem;font-weight:500}
.navlinks a:hover{color:var(--ink)}
.navlinks a.open{background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px;font-weight:600}
.navlinks a.open:hover{background:var(--gold-deep);color:#fff}
@media(max-width:600px){.navlinks{gap:16px}.navlinks a:not(.open){display:none}}

/* ---- page head ---- */
.legal-head{padding:clamp(40px,6vw,72px) 0 clamp(20px,3vw,32px);border-bottom:1px solid var(--hairline)}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin:0 0 12px}
.legal-head h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:0}
.legal-meta{margin:16px 0 0;color:var(--ink-faint);font-size:.9rem}

/* ---- article body ---- */
.legal-body{padding:clamp(32px,5vw,56px) 0 clamp(56px,8vw,96px);max-width:74ch}
.legal-body .blk-lead{font-size:1.12rem;line-height:1.7;color:var(--ink-soft);margin:0 0 28px}
.legal-body .blk-h{font-size:1.16rem;line-height:1.35;letter-spacing:-.01em;margin:38px 0 12px;color:var(--ink)}
.legal-body .blk-h:first-child{margin-top:0}
.legal-body .blk-p{font-size:1rem;line-height:1.75;color:var(--ink-soft);margin:0 0 16px}
.legal-body .blk-list{margin:0 0 20px;padding-left:22px;color:var(--ink-soft);line-height:1.75}
.legal-body .blk-list li{margin:0 0 8px}
.legal-body strong,.legal-body b{color:var(--ink);font-weight:650}
.legal-body a{color:var(--gold-deep);font-weight:600}

.legal-body .callout{background:var(--gold-soft);border:1px solid rgba(233,168,58,.3);
  border-radius:12px;padding:18px 20px;margin:0 0 24px}
.legal-body .callout__title{margin:0 0 6px;font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--gold-deep)}
.legal-body .callout__text{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink-soft)}

.legal-body .rawhtml{overflow-x:auto;margin:0 0 24px}
.legal-body table{border-collapse:collapse;width:100%;font-size:.92rem}
.legal-body th,.legal-body td{border:1px solid var(--hairline);padding:10px 12px;
  text-align:left;vertical-align:top;color:var(--ink-soft);line-height:1.6}
.legal-body th{background:#F4F1EA;color:var(--ink);font-weight:650}

/* ---- footer (mirrors index.html) ---- */
.foot{background:var(--dark);color:#A9ABB2;padding:clamp(44px,6vw,72px) 0 40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;
  padding-bottom:36px;border-bottom:1px solid var(--dark-line)}
.foot-tag{color:#6F7178;font-size:.86rem;line-height:1.6;margin:14px 0 0;max-width:34ch}
.foot h5{margin:0 0 14px;color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 10px;font-size:.88rem;line-height:1.5}
.foot a{color:#A9ABB2;text-decoration:none}
.foot a:hover{color:var(--gold)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;
  flex-wrap:wrap;gap:12px;font-size:.8rem;color:#6F7178}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
