/* Long-form guide pages (/guide, /agents/guide). Loaded only by those pages; builds on site.css tokens. */
html{scroll-padding-top:88px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .08s linear}

.guide-head{padding:56px 0 34px;border-bottom:1px solid var(--line);margin-bottom:8px}
.guide-head h1{font-size:clamp(2.15rem,4.6vw,3.55rem);line-height:1.08;max-width:18em;margin-top:2px}
.guide-head .crumbs{margin:0 0 22px}
.guide-meta{margin:18px 0 0;font-size:.86rem;color:var(--ink-3);letter-spacing:.01em}
.guide-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.86rem;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s}
.btn-ghost:hover{border-color:var(--accent);background:var(--accent-soft)}

.guide-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
.guide-aside{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding:30px 0 40px;scrollbar-width:thin}
.toc-title{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc li{margin:0}
.toc a{display:block;padding:6px 0 6px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-3);text-decoration:none;font-size:.88rem;line-height:1.35;transition:color .15s,border-color .15s}
.toc li.l3 a{padding-left:28px;font-size:.82rem}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--accent);border-left-color:var(--accent);font-weight:500}
.toc-mobile{display:none}

.guide-body{max-width:700px;padding-top:12px}
.guide-body h2{position:relative;font-size:clamp(1.55rem,2.6vw,2.05rem);line-height:1.2;margin:64px 0 16px;padding-top:28px;border-top:1px solid var(--line)}
.guide-body h3{position:relative;margin:38px 0 10px}
.guide-body > h2:first-of-type{margin-top:40px}
.h-anchor{position:absolute;left:-1.1em;width:1em;color:var(--gold);text-decoration:none;font-family:var(--sans);font-weight:400;opacity:0;transition:opacity .15s}
h2 .h-anchor{top:28px}
h2:hover .h-anchor,h3:hover .h-anchor,.h-anchor:focus{opacity:1;color:var(--gold)}

/* Donor guide: long-form serif reading */
.guide-donor .guide-body p,.guide-donor .guide-body li{font-family:var(--serif);font-size:1.2rem;line-height:1.68;color:#2a303b}
.guide-donor .guide-body li{margin-bottom:.5em}
.guide-donor .guide-body td,.guide-donor .guide-body th{font-family:var(--sans)}
.guide-donor .guide-body p em:only-child{display:block;font-family:var(--sans);font-style:normal;font-size:.86rem;color:var(--ink-3)}

.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 34px 22px;margin:34px 0 18px;position:relative}
.summary::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:2px;background:var(--gold)}
.summary p:first-child{margin-top:0}
.guide-donor .summary p,.guide-donor .summary li{font-size:1.1rem}
.summary ul{margin:12px 0 14px}

.pull{margin:44px 0;padding:6px 0 6px 26px;border-left:3px solid var(--gold)}
.pull p{font-family:var(--serif)!important;font-style:italic;font-size:clamp(1.4rem,2.6vw,1.75rem)!important;line-height:1.35!important;color:var(--accent)!important;margin:0;letter-spacing:-.01em}
@media (min-width:1280px){.guide-donor .pull{margin-right:-120px}}

.callout{background:var(--gold-soft);border:1px solid #eadcbf;border-radius:12px;padding:16px 20px;margin:26px 0}
.callout p{margin:0;font-size:1rem!important;font-family:var(--sans)!important;line-height:1.55!important}

.guide-body .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin:24px 0 10px}
.guide-body table{width:100%;border-collapse:collapse;font-size:.9rem}
.guide-body th{text-align:left;font-weight:600;color:var(--ink);background:var(--bg-2);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.guide-body td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.guide-body tr:last-child td{border-bottom:0}

/* Code blocks with copy */
.code{margin:18px 0 22px;border-radius:12px;overflow:hidden;background:#15191f;border:1px solid #232933}
.code-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 10px 7px 16px;background:#1c2129;color:#9aa3b2;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em}
.copy{font:500 .76rem var(--sans);color:#e6e1d6;background:transparent;border:1px solid #3a414d;border-radius:7px;padding:4px 10px;cursor:pointer}
.copy:hover{border-color:var(--gold);color:#fff}
.code pre{margin:0;border-radius:0;padding:16px 18px;background:transparent}

/* Agent guide: precise, structured */
.guide-agents .guide-body{max-width:780px}
.guide-agents .guide-body h3{font-family:var(--sans);font-size:1.08rem;font-weight:600;letter-spacing:0;padding:14px 0 0;border-top:1px dashed var(--line)}
.guide-agents .guide-body blockquote{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:12px 18px;margin:14px 0}
.guide-agents .guide-body blockquote p{margin:.4em 0}

@media (max-width:1020px){
  .guide-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .guide-aside{display:none}
  .toc-mobile{display:block;margin:20px 0 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
  .toc-mobile summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:.92rem;list-style:none}
  .toc-mobile summary::-webkit-details-marker{display:none}
  .toc-mobile summary::after{content:"+";float:right;color:var(--ink-3)}
  .toc-mobile[open] summary::after{content:"−"}
  .toc-mobile .toc{padding:0 18px 14px}
  .toc-mobile .toc-title{display:none}
  .guide-body{max-width:none}
  .h-anchor{display:none}
}
@media (max-width:600px){
  .guide-head{padding:36px 0 24px}
  .guide-donor .guide-body p,.guide-donor .guide-body li{font-size:1.08rem;line-height:1.65}
  .guide-body h2{margin-top:48px;padding-top:22px}
  .summary{padding:22px 20px 14px}
  .pull{margin:32px 0;padding-left:18px}
  .guide-body th,.guide-body td{padding:9px 11px}
}
@media print{.progress,.guide-aside,.toc-mobile,.copy{display:none}.guide-grid{display:block}}
.guide-body td code,.guide-body th code{white-space:nowrap;word-break:normal}
