/* Shared shell for the legal pages — terms, privacy, refunds.
   Tokens copied from index.html so these pages match the site exactly. */
:root{
  --ink:#16140F;
  --ink-line:rgba(237,232,220,0.14);
  --paper:#ECE7DC;
  --paper-line:rgba(27,24,16,0.12);
  --text-on-paper:#1B1810;
  --text-on-paper-mute:#5B5747;
  --text-on-ink:#EDE8DC;
  --text-on-ink-mute:#9B968A;
  --moss:#4B5A36;
  --brass:#B08A4E;
  --radius:2px;
  --display:'Bricolage Grotesque', sans-serif;
  --body:'IBM Plex Sans', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--text-on-paper);
  font-family:var(--body); font-size:16px; line-height:1.65;
}
.wrap{ width:100%; max-width:760px; margin:0 auto; padding:0 24px; }

header.site{
  background:var(--ink); color:var(--text-on-ink);
  border-bottom:1px solid var(--ink-line);
  position:sticky; top:0; z-index:20;
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; min-height:64px; max-width:1180px; margin:0 auto; padding:0 24px;
}
.wordmark{
  display:inline-flex; align-items:center; gap:11px; line-height:1;
  color:var(--text-on-ink); text-decoration:none;
}
.wm-name{
  font-family:'Cormorant Garamond',Garamond,serif; font-weight:400;
  font-size:23px; line-height:1; letter-spacing:-0.012em;
}
.wm-rule{ width:1px; height:17px; background:var(--brass); flex:none; }
.wm-word{
  font-family:var(--mono); font-size:9px; letter-spacing:0.4em;
  text-transform:uppercase; color:var(--brass); padding-left:0.4em;
}
.nav-right{ display:flex; align-items:center; gap:14px; }
.nav-back{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--text-on-ink-mute); text-decoration:none;
  white-space:nowrap;
}
.nav-back:hover{ color:var(--text-on-ink); }
.lang-switch{ display:flex; border:1px solid var(--ink-line); border-radius:var(--radius); overflow:hidden; }
.lang-switch button{
  appearance:none; background:transparent; border:0; cursor:pointer;
  font-family:var(--mono); font-size:11px; letter-spacing:0.06em;
  color:var(--text-on-ink-mute); padding:6px 9px;
}
.lang-switch button.active{ background:rgba(237,232,220,0.1); color:var(--text-on-ink); }

.doc-head{ padding:64px 0 0; }
.eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--moss); margin:0 0 14px;
}
h1{
  font-family:var(--display); font-weight:700; font-size:clamp(30px,6vw,44px);
  line-height:1.05; letter-spacing:-0.02em; margin:0 0 18px;
}
.lede{ font-size:17px; color:var(--text-on-paper-mute); margin:0 0 10px; text-wrap:pretty; }
.stamp{
  font-family:var(--mono); font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--text-on-paper-mute);
  border-top:1px solid var(--paper-line); margin-top:26px; padding-top:14px;
}

main{ padding:0 0 80px; }
section.clause{ padding:34px 0 0; }
h2{
  font-family:var(--display); font-weight:600; font-size:21px;
  letter-spacing:-0.01em; margin:0 0 12px; padding-bottom:8px;
  border-bottom:1px solid var(--paper-line);
  display:flex; gap:12px; align-items:baseline;
}
h2 .n{ font-family:var(--mono); font-size:12px; color:var(--moss); font-weight:500; }
h3{ font-family:var(--body); font-weight:600; font-size:15.5px; margin:22px 0 6px; }
p{ margin:0 0 13px; text-wrap:pretty; }
ul{ margin:0 0 13px; padding-left:20px; }
li{ margin:0 0 7px; }
a{ color:var(--moss); }
a:hover{ color:var(--text-on-paper); }
strong{ font-weight:600; }

.callout{
  border:1px solid var(--paper-line); border-left:2px solid var(--brass);
  background:rgba(176,138,78,0.06); border-radius:var(--radius);
  padding:16px 18px; margin:0 0 13px;
}
.callout p:last-child{ margin-bottom:0; }
.kv{ margin:0; }
.kv div{
  display:flex; gap:14px; padding:9px 0; border-bottom:1px solid var(--paper-line);
  font-size:15px;
}
.kv dt{ font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--text-on-paper-mute); min-width:130px; }
.kv dd{ margin:0; }

footer.doc-foot{
  border-top:1px solid var(--paper-line); margin-top:44px; padding-top:20px;
  display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:space-between;
  font-family:var(--mono); font-size:11px; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--text-on-paper-mute);
}
footer.doc-foot nav{ display:flex; gap:18px; flex-wrap:wrap; }
footer.doc-foot a{ text-decoration:none; }

@media print{
  header.site, .lang-switch, .nav-back{ display:none; }
  body{ background:#fff; font-size:11pt; }
  .doc-head{ padding-top:0; }
}
