/* Bourdon legal pages — long form, readable, same voice as the site */

.legalpage .hdr{position:sticky;top:0;z-index:20}
.legalpage .hdr-nav{display:flex;gap:22px;align-items:center;font-size:.9rem}
.legalpage .hdr-nav a{text-decoration:none;color:var(--muted);border-bottom:1px solid transparent;padding-bottom:2px}
.legalpage .hdr-nav a:hover{color:var(--ink);border-bottom-color:var(--rule)}

.legal{
  padding-top:clamp(44px,6vw,76px);
  padding-bottom:clamp(64px,8vw,110px);
  max-width:820px;
}
.legal h1{
  font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.09;
  margin:0 0 .5em;letter-spacing:-.02em;
}
.legal-meta{
  font-size:.83rem;color:var(--faint);letter-spacing:.01em;
  margin:0 0 2.4em;padding-bottom:1.6em;border-bottom:1px solid var(--rule);
}

.legal-callout{
  background:var(--ever-lt);border-left:3px solid var(--ever);
  border-radius:0 var(--r) var(--r) 0;
  padding:20px 22px;margin:0 0 2.8em;
}
.legal-callout p{margin:0;font-size:.98rem;line-height:1.6;color:#2C3A36}
.legal-callout strong{color:var(--ever-dk)}

.legal-toc{
  background:var(--card);border:1px solid var(--rule);border-radius:var(--r);
  padding:22px 26px 24px;margin:0 0 3.4em;
}
.legal-toc-h{
  font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--amber);margin:0 0 1em;
}
.legal-toc ol{
  margin:0;padding:0 0 0 1.5em;
  columns:2;column-gap:36px;
  font-size:.9rem;line-height:1.5;
}
.legal-toc li{margin:0 0 .5em;break-inside:avoid}
.legal-toc a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.legal-toc a:hover{color:var(--ever);border-bottom-color:var(--rule)}
@media (max-width:660px){.legal-toc ol{columns:1}}

.legal section{
  margin:0 0 2.9em;padding-top:.4em;
  scroll-margin-top:96px;
}
.legal section h2{
  font-family:var(--sans);font-weight:700;
  font-size:1.12rem;line-height:1.35;letter-spacing:-.002em;
  margin:0 0 .85em;padding-bottom:.55em;
  border-bottom:1px solid var(--rule);
}
.legal p{
  font-size:.965rem;line-height:1.68;color:#333B3F;
  margin:0 0 1.05em;
}
.legal p strong{color:var(--ink);font-weight:700}
.legal a{color:var(--ever);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.legal a:hover{color:var(--ever-dk)}

.legal-list{
  margin:0 0 1.15em;padding:0 0 0 1.35em;
  font-size:.965rem;line-height:1.66;color:#333B3F;
}
.legal-list>li{margin:0 0 .72em;padding-left:.2em}
.legal-list>li::marker{color:var(--faint);font-variant-numeric:tabular-nums}
.legal-list>li strong{color:var(--ink)}

/* statutory conspicuousness without shouting the whole page */
.legal-caps{
  text-transform:uppercase;
  font-size:.83rem;line-height:1.62;letter-spacing:.012em;
  font-weight:500;color:#2C3438;
  background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r);
  padding:15px 18px;margin:0 0 1.1em;
}
.legal-caps strong{font-weight:700;color:var(--ink)}

.legal-foot{
  margin-top:3.4em;padding-top:1.7em;border-top:1px solid var(--rule);
  font-size:.85rem;color:var(--faint);
}
.legal-foot a{color:var(--muted)}

/* ---- checkout consent gate (index.html) ---- */
.agree{
  margin:1.9em 0 1.5em;padding:19px 20px 20px;
  background:var(--card);border:1px solid var(--rule);
  border-left:3px solid var(--ever);
  border-radius:0 var(--r) var(--r) 0;
}
.agree.missing{border-color:#A4442F;border-left-color:#A4442F;background:#FDF6F3}
.agree-h{
  font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--amber);margin:0 0 .95em;
}
.agree-row{
  display:flex;gap:12px;align-items:flex-start;
  margin:0 0 .9em;
}
.agree-row:last-of-type{margin-bottom:0}
.form .agree-row{text-transform:none;letter-spacing:normal}
.agree-row input[type="checkbox"]{
  flex:0 0 auto;width:19px;height:19px;margin:1px 0 0;
  accent-color:var(--ever);cursor:pointer;
}
/* the form stylesheet uppercases label>span, which is wrong for prose */
.form .agree-row>span,
.agree-row span{
  text-transform:none;letter-spacing:normal;font-weight:400;
  font-size:.895rem;line-height:1.58;color:#333B3F;margin:0;
}
.agree-row a{color:var(--ever);text-decoration:underline;text-underline-offset:2px}
.agree-row strong{color:var(--ink);font-weight:700}
.agree-note{
  margin:1.1em 0 0;padding-top:.95em;border-top:1px solid var(--rule);
  font-size:.79rem;line-height:1.55;color:var(--muted);
}
.agree-note code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.95em;color:var(--ever-dk);
}
