
.guide-wrap{ max-width:840px; margin:0 auto; padding:26px 0 20px; }
.guide-wrap .crumb{ margin-bottom:18px; }
.guide-article h1{ font-family:var(--head); font-size:clamp(28px,4vw,40px); line-height:1.12; color:var(--t1); letter-spacing:-.02em; margin:6px 0 18px; }
.ga-body{ font-family:var(--body); color:var(--t2); font-size:16.5px; line-height:1.75; }
.ga-body > *:first-child{ margin-top:0; }
.ga-body h2{ font-family:var(--head); font-size:24px; line-height:1.2; color:var(--t1); letter-spacing:-.01em; margin:38px 0 12px; padding-top:6px; }
.ga-body h3{ font-family:var(--head); font-size:19px; color:var(--t1); margin:26px 0 8px; }
.ga-body h4{ font-family:var(--head); font-size:16px; color:var(--t1); margin:20px 0 6px; }
.ga-body p{ margin:0 0 16px; }
.ga-body a{ color:var(--navy); text-decoration:underline; text-underline-offset:2px; }
.ga-body a:hover{ color:var(--red); }
.ga-body ul,.ga-body ol{ margin:0 0 16px; padding-left:22px; }
.ga-body li{ margin:6px 0; }
.ga-body strong{ color:var(--t1); }
.ga-body sup a{ text-decoration:none; }
.ga-body img{ max-width:100%; height:auto; border-radius:10px; }
.ga-body hr{ border:none; border-top:1px solid var(--hairline); margin:32px 0; }
.ga-body blockquote{ margin:0 0 16px; padding:12px 18px; border-left:3px solid var(--navy); background:var(--bg-2); border-radius:0 8px 8px 0; color:var(--t2); }
.ga-body code{ font-family:var(--mono,monospace); color:var(--navy); font-size:.92em; background:var(--bg-2); padding:1px 6px; border-radius:5px; }
.ga-body table{ width:100%; border-collapse:collapse; margin:0 0 20px; font-size:14.5px; display:block; overflow-x:auto; }
.ga-body th,.ga-body td{ text-align:left; padding:10px 14px; border-bottom:1px solid var(--hairline); vertical-align:top; }
.ga-body thead th{ font-family:var(--head); color:var(--t1); border-bottom:2px solid var(--hairline-2,#d7dbe6); white-space:nowrap; }
.ga-body tbody tr:nth-child(even){ background:rgba(0,0,0,.015); }
.ga-cta{ margin-top:40px; padding-top:24px; border-top:1px solid var(--hairline); display:flex; gap:12px; flex-wrap:wrap; }
.ga-cta a{ display:inline-flex; align-items:center; gap:7px; padding:11px 20px; border-radius:var(--pill,999px); font-family:var(--body); font-weight:600; font-size:14px; text-decoration:none; }
.ga-cta .cta-navy{ background:var(--navy); color:#fff; }
.ga-cta .cta-ghost{ border:1.5px solid var(--hairline-2,#d7dbe6); color:var(--t1); }
/* --- sticky left TOC + 2-col layout (peptidemag-style), single-column fallback --- */
.guide-layout{ max-width:1120px; margin:0 auto; padding:26px 0 20px; display:flex; gap:44px; align-items:flex-start; }
.guide-main{ flex:1 1 auto; min-width:0; max-width:800px; }
.guide-main .crumb{ margin-bottom:18px; }
.article-toc{ width:236px; flex:0 0 236px; position:sticky; top:96px; max-height:calc(100vh - 120px); overflow-y:auto; }
.article-toc .toc-card{ background:#fff; border:1px solid var(--hairline); border-radius:14px; padding:18px 18px 16px; box-shadow:0 1px 3px rgba(13,17,38,.05); }
.toc-title{ font-family:var(--body); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); margin:0 0 12px; padding-bottom:10px; border-bottom:2px solid var(--hairline); }
.toc-list{ list-style:none; padding:0; margin:0; }
.toc-list li{ margin:0 0 2px; }
.toc-list a{ display:block; font-family:var(--body); font-size:13px; line-height:1.35; color:var(--t3); padding:6px 12px; border-left:2px solid transparent; border-radius:0 5px 5px 0; text-decoration:none; transition:color .15s, background .15s, border-color .15s; }
.toc-list a:hover{ color:var(--navy); background:#f2f5fc; border-left-color:rgba(37,86,196,.35); }
.toc-list a.active{ color:var(--navy); background:#EDF0FA; border-left-color:var(--navy); font-weight:600; }
.toc-mobile{ display:none; background:#fff; border:1px solid var(--hairline); border-radius:12px; margin:0 0 24px; }
.toc-mobile-toggle{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:13px 18px; background:none; border:none; font-family:var(--head); font-size:15px; font-weight:600; color:var(--t1); cursor:pointer; text-align:left; }
.toc-mobile-toggle svg{ width:16px; height:16px; color:var(--t3); transition:transform .2s; flex:0 0 auto; }
.toc-mobile.open .toc-mobile-toggle svg{ transform:rotate(180deg); }
.toc-mobile-list{ list-style:none; padding:0 18px 14px; margin:0; display:none; }
.toc-mobile.open .toc-mobile-list{ display:block; }
.toc-mobile-list li{ margin:0 0 4px; }
.toc-mobile-list a{ display:block; font-family:var(--body); font-size:14px; color:var(--t2); padding:6px 0; text-decoration:none; }
.toc-mobile-list a:hover{ color:var(--navy); }
@media(max-width:980px){ .guide-layout{ display:block; } .article-toc{ display:none; } .toc-mobile{ display:block; } .guide-main{ max-width:100%; } }
@media(max-width:640px){ .guide-article h1{ font-size:27px; } .ga-body{ font-size:16px; } }