:root{
  --paper:#ffffff;
  --paper-2:#f1efea;
  --ink:#15120f;
  --ink-2:#514a41;
  --ink-3:#6b645c;
  --rule:#dbd6ce;
  --accent:#e5195f;
  --accent-text:#c2124e;
  --accent-dark:#b8134c;
  --accent-light:#ed93b1;
  --amber-bg:#f5ede0;
  --amber-text:#8a5a12;
  --sans:'Archivo',system-ui,sans-serif;
  --serif:'Newsreader',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--sans);font-weight:800;letter-spacing:-.025em;line-height:1.12}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
.accent{color:var(--accent-text)}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.nav-inner{display:flex;align-items:center;gap:20px;height:66px}
.wordmark{display:inline-flex;align-items:center;gap:.4em;font-weight:800;font-size:1.24rem;letter-spacing:-.035em}
.wordmark svg{height:1.15em;width:auto;flex:none}
.back{margin-left:6px;font-size:.86rem;font-weight:500;color:var(--ink-3);border-bottom:1px solid transparent}
.back:hover{color:var(--ink);border-bottom-color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:20px;margin-left:auto}
.lang{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--ink-3)}
.lang button{border:none;background:none;cursor:pointer;font:inherit;color:var(--ink-3);padding:0}
.lang button.on{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lang span{color:var(--rule)}

/* ---------- document body ---------- */
.doc-body{padding:64px 0 100px}
.doc-body h1{font-size:clamp(1.5rem,3.2vw,2.15rem);max-width:32ch;margin-bottom:28px}
.doc-body h2{font-size:1.18rem;margin:44px 0 18px;padding-top:28px;border-top:1px solid var(--rule)}
.doc-body h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.doc-body h3{font-size:1rem;color:var(--ink);margin:26px 0 12px}
.doc-body p{font-family:var(--serif);font-size:1.02rem;line-height:1.62;color:var(--ink-2);margin-bottom:14px}
.doc-body p strong{color:var(--ink);font-weight:600}
.doc-body hr{border:none;margin:0}
.doc-body blockquote{background:var(--paper-2);border-left:3px solid var(--accent);padding:18px 22px;margin:20px 0}
.doc-body blockquote p{margin:0;color:var(--ink-2);font-size:.98rem}
.doc-body em{color:var(--ink-3)}
.ph{background:var(--amber-bg);color:var(--amber-text);padding:1px 6px;border-radius:2px;font-style:normal;font-weight:600;font-size:.92em}

ol.doc-index{list-style:none;counter-reset:idx;margin:20px 0 8px;padding:0;border-top:1px solid var(--rule)}
ol.doc-index li{
  counter-increment:idx;position:relative;padding:11px 0 11px 34px;
  border-bottom:1px solid var(--rule);font-family:var(--serif);color:var(--ink-2);font-size:.98rem;
}
ol.doc-index li::before{
  content:counter(idx)".";position:absolute;left:0;top:11px;
  font-family:var(--sans);font-weight:600;font-size:.82rem;color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}

.tbl-wrap{overflow-x:auto;margin:18px 0 24px;border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;min-width:480px}
th,td{text-align:left;padding:10px 14px;font-size:.9rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-family:var(--sans);font-weight:600;color:var(--ink-3);background:var(--paper-2);white-space:nowrap}
td{font-family:var(--serif);color:var(--ink-2);line-height:1.5}
tr:last-child td{border-bottom:none}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding:44px 0}
.foot{display:flex;justify-content:space-between;align-items:baseline;gap:28px;flex-wrap:wrap;font-size:.84rem;color:var(--ink-3)}
.foot .wordmark{font-size:1.05rem;color:var(--ink)}
.foot .sig{font-weight:600;color:var(--ink-2)}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a:hover{color:var(--ink)}

@media (max-width:560px){
  .wrap{padding:0 20px}
  .foot{flex-direction:column;gap:14px}
  .doc-body{padding:44px 0 72px}
}
