/* Reading surfaces share FirmTrove's Pine identity without changing the homepage. */
.guide-wrap,.guide-index{max-width:1120px;padding-top:38px;padding-bottom:80px}
.guide-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:32px;font-size:.88rem;color:var(--muted)}
.guide-breadcrumb a{text-decoration:none}
.guide-breadcrumb a:hover{text-decoration:underline;color:var(--pine)}
.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;column-gap:70px;align-items:start}
/* Share and author sit beside the article element, so the published article holds only the reviewed copy. */
.guide-main{grid-column:1;grid-row:1;min-width:0}
.guide-body{min-width:0;font-size:1.075rem;line-height:1.75;overflow-wrap:anywhere}
.guide-body h1{font-size:clamp(2.35rem,4.6vw,3.8rem);line-height:1.08;margin:0 0 32px}
.guide-body h2{font-size:clamp(1.6rem,2.7vw,2.15rem);line-height:1.2;margin:48px 0 18px;scroll-margin-top:110px}
.guide-body h3{font-size:1.25rem;line-height:1.3;margin:30px 0 12px;scroll-margin-top:110px}
.guide-body p{margin-bottom:22px}
.guide-body>p:first-of-type{font-size:1.15rem;color:var(--muted)}
.guide-body li{margin:10px 0}
.guide-body pre{max-width:100%;overflow-x:auto}
.guide-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:28px 0;font-size:.95rem;line-height:1.45}
.guide-body th,.guide-body td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);hyphens:auto;-webkit-hyphens:auto}
.guide-body thead th{font-weight:600;border-bottom:2px solid var(--ink)}
.guide-body tbody th,.guide-body td:first-child{font-weight:600}
@media(max-width:760px){.guide-body table{font-size:.88rem}.guide-body th,.guide-body td{padding:10px 6px}.guide-body th:first-child,.guide-body td:first-child{min-width:104px}}
.guide-body a{color:var(--pine);text-decoration-thickness:1px}
.guide-body a:hover{text-decoration-thickness:2px}
.guide-sidebar{grid-column:2;grid-row:1;position:sticky;top:110px;padding-top:6px}
.guide-meta{display:flex;flex-direction:column;gap:8px;font-size:.82rem;color:var(--muted);margin:0 0 28px}
.guide-meta>a{font-weight:600;color:var(--pine);text-decoration:none}
.guide-toc{border-top:1px solid var(--line);padding-top:20px}
.guide-toc h2{font-size:1.1rem;letter-spacing:-.02em;margin-bottom:12px}
.guide-toc ol{list-style:none;margin:0;padding:0}
.guide-toc li{margin:0}
.guide-toc a{display:block;padding:8px 0;font-size:.9rem;line-height:1.4;text-decoration:none;color:var(--muted)}
.guide-toc a:hover{color:var(--pine);text-decoration:underline}
.guide-toc-mobile{display:none}
.guide-cta{background:var(--pine);color:var(--paper);padding:40px;margin-top:60px;display:flex;gap:36px;align-items:center;justify-content:space-between}
.guide-cta h2{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.15;max-width:22ch}
.guide-cta p{max-width:58ch;margin:0;color:var(--paper)}
.guide-actions{display:flex;flex-direction:column;gap:16px;align-items:center;flex-shrink:0}
.guide-actions .button{background:var(--mint);color:var(--pine);white-space:normal;text-align:center}
.guide-actions>a:last-child{font-size:.95rem;text-underline-offset:5px}
.guide-related{margin-top:54px}
.guide-related>h2,.guide-index section>h2{font-size:1.35rem;line-height:1.3;margin-bottom:20px}
.guide-related ul,.guide-index-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.guide-related li,.guide-index-list li{border-bottom:1px solid var(--line)}
.guide-related li>a,.guide-index-list li>a{display:block;padding:28px 0;text-decoration:none}
.guide-related h3,.guide-index-list h3{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2;max-width:30ch;margin-bottom:12px}
.guide-related li p,.guide-index-list li p{color:var(--muted);max-width:65ch;margin-bottom:14px}
.guide-read{display:inline-flex;align-items:center;gap:12px;font-size:.92rem;font-weight:600;color:var(--pine)}
.guide-read svg{width:19px;height:19px;transition:transform .2s var(--ease)}
.guide-related a:hover h3,.guide-index-list a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.guide-related a:hover svg,.guide-index-list a:hover svg{transform:translateX(4px)}
.guide-index-head{max-width:820px;margin:24px 0 62px}
.guide-index h1{font-size:clamp(2.6rem,5.7vw,4.75rem);line-height:1.04;margin-bottom:26px}
.guide-index .intro{max-width:58ch}
.guide-index-list li>a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:60px;padding:32px 0}
.guide-index-list h3{grid-row:1 / span 2;margin:0}
.guide-index-list p,.guide-index-list .guide-read{grid-column:2}
.guide-method{max-width:700px;margin-top:42px}
.guide-method h2{font-size:1.35rem;line-height:1.3;margin-bottom:12px}
.guide-method p{color:var(--muted);margin-bottom:12px}
@media(max-width:1000px){.guide-layout{column-gap:36px;grid-template-columns:minmax(0,1fr) 210px}.guide-cta{align-items:flex-start;flex-direction:column}.guide-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:760px){
.guide-wrap,.guide-index{padding-top:24px;padding-bottom:50px}
.guide-breadcrumb{margin-bottom:20px}
.guide-layout{display:flex;flex-direction:column;gap:26px}
.guide-sidebar{position:static;width:100%;padding:0}
.guide-meta{flex-direction:row;flex-wrap:wrap;gap:6px 14px;margin-bottom:16px}
.guide-toc-desktop{display:none}.guide-toc-mobile{display:block;padding:0;border-bottom:1px solid var(--line)}
.guide-toc summary{cursor:pointer;padding:12px 0;font-size:.95rem;font-weight:600;min-height:44px}
.guide-toc nav{padding-bottom:14px}.guide-toc a{padding:10px 0}
.guide-main,.guide-body{width:100%}.guide-body{font-size:1.05rem}.guide-body h1{margin-bottom:24px}
.guide-body h2{margin-top:36px}
.guide-cta{padding:26px 22px;margin-top:40px;gap:24px}
.guide-actions{align-items:flex-start;flex-direction:column}
.guide-index-head{margin:12px 0 38px}.guide-index-list li>a{display:block;padding:26px 0}.guide-index-list h3{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){.guide-read svg{transition:none}}

.guide-author { display:flex; gap:18px; align-items:center; margin:44px 0 0; padding:20px 22px; background:var(--panel); border-radius:14px }
.guide-author img { width:88px; height:59px; object-fit:cover; border-radius:8px; flex:none }
.guide-author p { margin:0; font-size:.95rem; line-height:1.75; color:var(--muted) }
.guide-author b { color:var(--ink) }
.guide-author a { color:var(--pine); text-decoration-thickness:1px }
.guide-author a:hover { text-decoration-thickness:2px }
.guide-share { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:44px 0 0; padding-top:22px; border-top:1px solid var(--line) }
.guide-share p { margin:0; font:600 .78rem/1.4 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--muted) }
.guide-share-row { display:flex; flex-wrap:wrap; gap:10px }
.guide-share a, .guide-share button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--pine); cursor:pointer; transition:background-color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease) }
.guide-share button[hidden] { display:none }
.guide-share a:hover, .guide-share button:hover { background:var(--mint); border-color:var(--pine); transform:translateY(-2px) }
.guide-share a:focus-visible, .guide-share button:focus-visible { outline:2px solid var(--focus); outline-offset:3px }
.guide-share button.is-copied { background:var(--soft); border-color:var(--pine) }
.guide-share svg { display:block; width:18px; height:18px }
@media (prefers-reduced-motion:reduce) { .guide-share a, .guide-share button { transition:none } }
.guide-seq { display:flex; justify-content:space-between; gap:20px; margin:34px 0 0; padding-top:22px; border-top:1px solid var(--line) }
.guide-seq a { text-decoration:none; font-weight:600; max-width:45% }
.guide-seq a span { display:block; font:400 .78rem/1.4 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:4px }
.guide-seq a.next { text-align:right; margin-left:auto }
@media (max-width:600px) { .guide-author { flex-direction:column; align-items:flex-start } .guide-seq { flex-direction:column } .guide-seq a { max-width:none } .guide-seq a.next { text-align:left; margin-left:0 } }

/* Shared SEO machine article standard (23 Sep): TL;DR, in-body contents, visual, mid-article CTA, preferred source */
.seo-tldr{background:var(--soft);border-left:4px solid var(--pine);border-radius:10px;padding:18px 22px;margin:8px 0 26px}
.seo-tldr p{margin:0;line-height:1.7}
.seo-toc{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:0 0 36px}
.seo-toc-title{font-family:var(--display);font-weight:600;font-size:1.05rem;margin:0 0 10px;color:var(--ink)}
.seo-toc ol{margin:0;padding-left:22px;line-height:1.9}
.seo-toc a{color:var(--pine);text-decoration:none}
.seo-toc a:hover{text-decoration:underline}
.seo-visual{margin:34px 0;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:12px;color:var(--ink);--seo-accent:var(--pine)}
.seo-visual svg{display:block}
.seo-visual figcaption{margin-top:12px;font-size:.85rem;color:var(--muted)}
.seo-cta{background:var(--pine);color:var(--paper);border-radius:12px;padding:28px 30px;margin:38px 0}
.seo-cta p{color:var(--paper);margin:0 0 10px}
.seo-cta .seo-cta-title{font-family:var(--display);font-size:1.35rem;font-weight:600;line-height:1.25}
.seo-cta .button{display:inline-block;margin-top:8px;background:var(--mint);color:var(--pine);padding:12px 22px;border-radius:8px;font-weight:600;text-decoration:none}
.seo-source{margin-top:34px;font-size:.95rem;color:var(--muted)}
.seo-source a{color:var(--pine)}
@media(max-width:760px){.seo-visual{padding:16px}.seo-cta{padding:22px 20px}}
/* Featured cover under the title, and the contents again beside the article (sticky sidebar) */
.seo-featured{margin:0 0 28px}
.seo-featured img{display:block;width:100%;height:auto;border-radius:12px}
.guide-sidebar-toc{border-top:1px solid var(--line);padding-top:18px;font-size:.88rem;line-height:1.45}
.guide-sidebar-toc p{font-family:var(--display);font-weight:600;color:var(--ink);margin:0 0 10px}
.guide-sidebar-toc ol{list-style:none;margin:0;padding:0}
.guide-sidebar-toc li{margin:0 0 10px}
.guide-sidebar-toc a{color:var(--muted);text-decoration:none}
.guide-sidebar-toc a:hover{color:var(--pine);text-decoration:underline}
@media(max-width:760px){.guide-sidebar-toc{display:none}}

/* A call-to-action button inside an article keeps its own text colour (article links are pine). */
.guide-body .cta-band .button{color:var(--paper)}
