/* Article typography — shared by the public post page and the CMS preview. */
.prose{--ink:#0F1626;--deep:#16203A;--gold:#D4AF37;--gold-2:#F1DD9A;--gold-dim:rgba(212,175,55,.18);--text:#EAE6DC;--muted:#A5AEC4;--line:rgba(234,230,220,.1);
--display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;--body:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r-md:14px;
font-family:var(--body);text-align:left}
.prose img,.prose video{display:block;max-width:100%}
.prose *{box-sizing:border-box}
/* prose — everything a writer can produce */
.prose{font-size:19px;line-height:1.75;color:#E3DFD4}
.prose>*+*{margin-top:1.35em}
.prose h2,.prose h3,.prose h4,.prose h5{color:var(--text);position:relative;scroll-margin-top:96px}
.prose h2{font-size:clamp(28px,3.2vw,38px);margin-top:2.1em;letter-spacing:-.025em}
.prose h3{font-size:clamp(22px,2.4vw,28px);margin-top:1.8em}
.prose h4{font-size:20px;margin-top:1.6em}.prose h5{font-size:17px;margin-top:1.4em;text-transform:uppercase;letter-spacing:.08em}
.prose h2+*,.prose h3+*{margin-top:.8em}
.prose .anchor{margin-left:.45em;color:var(--gold);opacity:0;font-size:.7em;transition:opacity .15s}
.prose :is(h2,h3,h4,h5):hover .anchor,.anchor:focus{opacity:.8}
.prose a{color:var(--gold-2);text-decoration:underline;text-decoration-color:rgba(212,175,55,.5);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:.15s}
.prose a:hover{color:var(--gold);text-decoration-color:var(--gold)}
.prose a.anchor{text-decoration:none}
.prose strong{color:#fff;font-weight:700}
.prose mark{background:rgba(212,175,55,.28);color:var(--text);padding:0 .25em;border-radius:4px}
.prose del{opacity:.6}
.prose hr{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.5),transparent);margin:2.8em 0}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin-top:.5em;padding-left:.2em}.prose li>ul,.prose li>ol{margin-top:.5em}
.prose li::marker{color:var(--gold)}
.prose ul.tasks{list-style:none;padding-left:.2em}.prose li.task input{margin-right:.55em;accent-color:var(--gold)}
.prose code{font-family:var(--mono);font-size:.84em;background:rgba(255,255,255,.08);padding:.15em .4em;border-radius:6px;color:var(--gold-2)}
.code{background:#0A0F1C;border:1px solid rgba(234,230,220,.12);border-radius:var(--r-md);overflow:hidden;font-size:15px}
.code-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.copy{font:600 12px var(--body);padding:6px 12px;border-radius:999px;border:1px solid rgba(234,230,220,.2);color:var(--text);text-transform:none;letter-spacing:0}
.copy:hover{border-color:var(--gold);color:var(--gold-2)}
.code pre{padding:18px 20px;overflow-x:auto;line-height:1.6;tab-size:4}
.code pre code{background:none;padding:0;color:#D8DEEB;font-size:14.5px;border-radius:0;white-space:pre}
.tk-c{color:#6F7C99;font-style:italic}.tk-s{color:#9ED39A}.tk-n{color:#F2A97B}.tk-k{color:#E5C466}.tk-f{color:#8CB8F5}
.prose blockquote{border-left:3px solid var(--gold);padding:.4em 0 .4em 1.4em;font-family:var(--display);font-size:1.18em;line-height:1.5;color:var(--text);font-weight:400}
.prose blockquote>*+*{margin-top:.8em}
.pullquote{margin-left:0}
.pullquote figcaption{margin:.9em 0 0 calc(3px + 1.4em);font-size:15px;color:var(--gold-2);font-weight:600}
.callout{border:1px solid var(--line);border-left:4px solid var(--gold);background:rgba(212,175,55,.07);border-radius:var(--r-md);padding:18px 22px;font-size:17px;line-height:1.65}
.callout-title{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.callout-body>*+*{margin-top:.8em}
.callout-note{border-left-color:#6EA8FF;background:rgba(110,168,255,.08)}.callout-note .callout-title{color:#A9CBFF}
.callout-tip{border-left-color:#5FCB8A;background:rgba(95,203,138,.08)}.callout-tip .callout-title{color:#9BE3B8}
.callout-warning{border-left-color:#F0A23A;background:rgba(240,162,58,.09)}.callout-warning .callout-title{color:#F6C57F}
.callout-danger{border-left-color:#EF6B6B;background:rgba(239,107,107,.09)}.callout-danger .callout-title{color:#F4A0A0}
.media{margin-top:2em;margin-bottom:2em}
.media img,.media video{width:100%;height:auto;border-radius:var(--r-md);border:1px solid var(--line);background:#000}
.media figcaption,.post-cover figcaption{margin-top:12px;font-size:14px;color:var(--muted);text-align:center}
.embed-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:#000}
.embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}
.prose table{border-collapse:collapse;width:100%;font-size:16px;min-width:0}
.prose th,.prose td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(234,230,220,.2);border-right:1px solid rgba(234,230,220,.2);vertical-align:top}
.prose th:last-child,.prose td:last-child{border-right:0}
.prose th{background:rgba(255,255,255,.05);font-family:var(--display);font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-2)}
.prose tr:last-child td,.prose tr:last-child th{border-bottom:0}

/* all heading levels */
.prose h1{font-size:clamp(34px,4.4vw,50px);margin-top:2.2em;letter-spacing:-.03em;line-height:1.08}
.prose h5{font-size:17px;margin-top:1.4em}
.prose h6{font-size:14px;margin-top:1.3em;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-2)}
.prose h1,.prose h5,.prose h6{color:var(--text);position:relative;scroll-margin-top:96px}
.prose h1+*,.prose h5+*,.prose h6+*{margin-top:.8em}
.prose :is(h1,h5,h6):hover .anchor{opacity:.8}
.prose .al-center{text-align:center}.prose .al-right{text-align:right}

.prose td,.prose th{min-width:84px}
