/* Shared document layout; palette and font come from the selected landing. */
.doc-page {
	--doc-bg:var(--paper,var(--bg));
	--doc-ink:var(--ink,var(--text));
	--doc-accent:var(--green,var(--accent));
	margin:0;
	background:var(--doc-bg);
	color:var(--doc-ink);
	font:16px/1.75 Onest,system-ui,sans-serif;
}
.doc-wrap { width:calc(100% - 96px); max-width:1184px; margin-inline:auto; }
.doc-bar { position:sticky; top:0; z-index:3; background:var(--doc-bg); border-bottom:1px solid var(--line); }
.doc-bar .doc-wrap { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.doc-brand { display:flex; align-items:center; gap:11px; font-size:23px; font-weight:500; letter-spacing:-.06em; text-decoration:none; }
.doc-brand img { width:40px; height:40px; border-radius:9px; }
.doc-home { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; }
.doc-page a { color:inherit; }
.doc-page a:hover { text-decoration:underline; text-underline-offset:5px; }
.doc-page a:focus-visible,.doc-page summary:focus-visible { outline:3px solid var(--doc-accent); outline-offset:4px; }
.doc-skip { position:absolute; top:-100px; left:18px; padding:12px 20px; background:var(--doc-bg); z-index:4; }
.doc-skip:focus { top:12px; }
.doc-layout { display:grid; grid-template-columns:240px minmax(0,720px); gap:clamp(40px,6vw,100px); padding-block:64px 88px; align-items:start; }
.doc-sidebar { position:sticky; top:120px; font-size:14px; }
.doc-label { margin:0 0 20px; color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.doc-pages { display:grid; gap:8px; margin-bottom:24px; }
.doc-pages a { display:flex; align-items:center; min-height:44px; padding:8px 0; text-decoration:none; border-bottom:1px solid var(--line); }
.doc-pages a[aria-current] { color:var(--doc-accent); font-weight:600; border-color:currentColor; }
.doc-toc { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; padding:0; background:none; }
.doc-toc summary { padding:14px 0; min-height:48px; cursor:pointer; list-style:disclosure-closed; }
.doc-toc[open] summary { list-style:disclosure-open; }
.doc-toc summary::after { content:none; }
.doc-toc ol { padding:0 0 16px; margin:0; list-style:none; }
.doc-toc a { display:block; padding:10px 0; min-height:44px; line-height:1.5; text-decoration:none; }
.doc-content { min-width:0; overflow-wrap:anywhere; }
.doc-content h1 { font-family:var(--serif,inherit); font-size:clamp(36px,4.2vw,56px); font-weight:400; line-height:1.12; letter-spacing:-.045em; margin:0 0 24px; }
.doc-content h2 { font-family:var(--serif,inherit); font-size:30px; font-weight:400; letter-spacing:-.025em; line-height:1.25; margin:48px 0 20px; padding-top:28px; border-top:1px solid var(--line); scroll-margin-top:110px; }
.doc-content p,.doc-content li { margin:16px 0; }
.doc-content ul { padding-left:24px; margin:20px 0; }
.doc-content li::marker { color:var(--doc-accent); }
.doc-content .date { color:var(--muted); font-size:13px; margin:0 0 32px; }
.doc-content a { color:var(--doc-accent); text-decoration:underline; text-underline-offset:3px; }
.doc-content .note { border-left:3px solid var(--doc-accent); padding:4px 0 4px 22px; margin:28px 0; }
.doc-footer { border-top:1px solid var(--line); padding-block:28px; font-size:13px; color:var(--muted); }
.doc-footer .doc-wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; }
.doc-footer p { margin:0; }
.doc-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.doc-footer a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:900px) {
	.doc-wrap { width:calc(100% - 48px); }
	.doc-layout { grid-template-columns:190px minmax(0,1fr); gap:32px; }
}
@media(max-height:780px) {
	.doc-sidebar { position:static; }
}
@media(max-width:700px) {
	.doc-wrap { width:calc(100% - 40px); }
	.doc-bar .doc-wrap { min-height:76px; gap:12px; }
	.doc-brand { font-size:20px; }
	.doc-brand img { width:32px; height:32px; }
	.doc-home { font-size:12px; gap:6px; }
	.doc-layout { display:flex; flex-direction:column; gap:36px; padding-block:28px 56px; }
	.doc-sidebar { position:static; width:100%; }
	.doc-label { margin-bottom:12px; }
	.doc-pages { grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; font-size:12px; }
	.doc-content h1 { font-size:clamp(26px,8vw,32px); }
	.doc-content h2 { font-size:27px; margin-top:36px; }
	.doc-content { width:100%; }
}
@media print {
	.doc-page { --doc-accent:#285c49; --muted:#56675c; background:white; color:#193f35; }
	.doc-bar,.doc-sidebar,.doc-footer,.doc-skip { display:none; }
	.doc-layout { display:block; width:100%; padding:0; }
	.doc-content h1 { font-size:28pt; }
	.doc-content h2 { break-after:avoid; }
}
