.rich-text{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [wide-start text-start] min(var(--max),100% - var(--gutter) * 2) [text-end wide-end] minmax(var(--gutter),1fr) [full-end];font-size:21px;line-height:1.7}.rich-text>*{grid-column:text;margin-inline:0}.rich-text>figure[data-width=wide],.rich-text>.gallery,.rich-text>.code-group{grid-column:wide}.rich-text>figure[data-width=full]{grid-column:full}.rich-text>figure[data-width=text]{grid-column:text}.rich-text>.split{grid-column:text}.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3.5vw,52px);align-items:start}.split[data-side=right]{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split[data-side=right] .split-media{order:2}.split-media img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.split-text>:first-child{margin-top:0}.split-text>h2,.split-text>h3,.split-text>h4{margin-top:0}@media(max-width:760px){.split,.split[data-side=right]{grid-template-columns:minmax(0,1fr)}.split{gap:18px}.split[data-side=right] .split-media{order:2}.split-media img{aspect-ratio:16 / 9}}@media(max-width:900px){.rich-text>figure,.rich-text>.gallery,.rich-text>.code-group{grid-column:text}}.rich-text>*+*{margin-top:1.45em}.rich-text h2{font-size:32px;margin-top:1.8em}.rich-text h3{font-size:24px;margin-top:1.6em}.rich-text :not(pre)>code{font-family:var(--mono);font-size:.9em;background:#e7dfd0;border:1px solid #d8cdb8;border-radius:3px;padding:1px 5px;color:var(--ink)}.rich-text>figure{margin:0}.rich-text>figure+*,.rich-text>.code-group+*,.rich-text>.gallery+*,.rich-text>.split+*{margin-top:1.9em}.rich-text>*+figure,.rich-text>*+.code-group,.rich-text>*+.gallery,.rich-text>*+.split{margin-top:2.4em}.rich-text figcaption{font-size:13px;color:var(--quiet);padding-top:8px;max-width:58ch}.rich-text blockquote.pull{margin:1.8em 0;padding-left:22px;border-left:3px solid var(--accent);font-family:var(--serif);font-size:26px;line-height:1.35}.rich-text blockquote.pull cite{display:block;font-family:var(--sans);font-size:12px;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--quiet);padding-top:12px}.rich-text .gallery{display:grid;grid-template-columns:repeat(var(--cols, 3),1fr);gap:14px}.rich-text .gallery img{aspect-ratio:3 / 2;object-fit:cover;width:100%}.rich-text .audio figcaption{display:flex;gap:8px;padding:0 0 8px}.rich-text .audio audio{width:100%}.rich-text .code-group{max-width:none}.rich-text .code-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:10px}.rich-text .code-tabs{display:flex;flex-wrap:wrap;gap:4px}.rich-text .code-tabs button{font-family:var(--mono);font-size:11.5px;padding:8px 13px;border:1px solid var(--rule);border-bottom:none;background:#ece5d8;color:var(--muted);cursor:pointer}.rich-text .code-tabs button[aria-selected=true]{background:#f7f3ea;color:var(--ink)}.rich-text .code-name{font-family:var(--mono);font-size:11px;color:var(--quiet);padding:8px 14px;border:1px solid var(--rule);border-bottom:none;background:#ece5d8}.rich-text .code-panel pre{margin:0;padding:16px 0;border:1px solid var(--rule);border-top:none;overflow-x:auto;font-size:13px;line-height:1.65;tab-size:2}.rich-text .code-panel code{counter-reset:line;display:block}.rich-text .code-panel .line{counter-increment:line;display:block;padding:0 18px 0 0}.rich-text .code-panel .line:before{content:counter(line);display:inline-block;width:2.5em;margin-right:14px;padding-right:8px;text-align:right;color:var(--quiet);user-select:none}.rich-text .code-actions{display:flex;gap:6px;margin-left:auto}.rich-text .code-actions button{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--rule);border-radius:3px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.rich-text .code-actions button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.rich-text .code-head{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);border-bottom:none;background:#ece5d8;padding:6px 10px 6px 14px}.rich-text .code-head .code-name{border:none;background:none;padding:0}
