:root{
  --olive:#7E8654;--olive-br:#97A064;--olive-deep:#5C6442;--forest:#2F3526;
  --ink:#23261B;--ink-soft:#4A4D3F;--stone:#76796A;--bg:#FBFBF7;--mint:#EFF2E7;
  --line:#E3E4D8;--line-soft:#ECEDE3;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --maxw:880px;--r-pill:100px;--ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-weight:400;
  font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--olive-deep);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-3px}

/* header */
.lhead{position:sticky;top:0;z-index:50;background:rgba(251,251,247,.9);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line-soft)}
.lhead .in{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.lhead img{height:30px}
.lhead .back{font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.lhead .back:hover{color:var(--olive-deep);text-decoration:none}
.lhead .back .i{stroke-width:2.2}

/* page head */
.lphead{background:var(--mint);border-bottom:1px solid var(--line-soft);padding:64px 0 52px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;
  font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--olive-deep);
  background:rgba(126,134,84,.12);padding:7px 14px;border-radius:var(--r-pill);margin-bottom:18px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--olive)}
.lphead h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5vw,52px);
  line-height:1.05;letter-spacing:-.01em}
.lphead .updated{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--stone);letter-spacing:.03em}

/* prose */
.prose{padding:56px 0 40px}
.prose .note{background:#fff;border:1px solid var(--line);border-left:3px solid var(--olive);
  border-radius:8px;padding:16px 18px;font-size:14px;color:var(--ink-soft);margin-bottom:38px}
.prose h2{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15;
  margin:42px 0 14px;padding-top:8px}
.prose h2:first-of-type{margin-top:0}
.prose h2 .num{color:var(--olive);font-family:var(--mono);font-size:16px;font-weight:500;margin-right:10px}
.prose h3{font-size:17px;font-weight:600;margin:26px 0 8px}
.prose p{margin-bottom:14px;color:var(--ink-soft)}
.prose ul,.prose ol{margin:0 0 16px 4px;padding-left:22px;color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink);font-weight:600}
.prose .ph{background:rgba(126,134,84,.12);color:var(--olive-deep);font-family:var(--mono);
  font-size:.86em;padding:1px 6px;border-radius:4px}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:14.5px}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--mint);font-weight:600;color:var(--ink);font-size:13px}
.prose td{color:var(--ink-soft)}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}

/* footer */
.foot{background:#23261B;color:#A7A99A;padding:56px 0 32px;margin-top:30px}
.foot .in{max-width:1180px;margin:0 auto;padding:0 28px}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:38px;border-bottom:1px solid rgba(167,169,154,.18)}
.foot-brand img{height:28px;margin-bottom:14px}
.foot-brand p{max-width:38ch;font-size:13.5px;line-height:1.6;color:#8E9082;font-weight:300}
.foot-cols{display:flex;gap:54px;flex-wrap:wrap}
.foot-col .h{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7E8073;margin-bottom:14px}
.foot-col a,.foot-col span{display:block;font-size:14px;color:#B3B5A6;margin-bottom:10px}
.foot-col a:hover{color:#E9EAE0;text-decoration:none}
.foot-bot{padding-top:24px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px;color:#7E8073}
.foot-bot .legal{max-width:62ch;line-height:1.5}
@media(max-width:560px){.prose{padding:40px 0 30px}.lphead{padding:46px 0 38px}}
