:root {
  --rfg-bg:#f7f8fa;
  --rfg-surface:#fff;
  --rfg-surface-soft:#f0f3f7;
  --rfg-text:#18202a;
  --rfg-muted:#68717d;
  --rfg-border:#e2e6eb;
  --rfg-accent:#3f78e0;
  --rfg-accent-dark:#223f7d;
  --rfg-accent-soft:#edf2fc;
  --rfg-warm-soft:#fbf6eb;
  --rfg-warm-border:#eadcb9;
  --rfg-green-soft:#eef7f2;
  --rfg-green-border:#d1e6da;
  --rfg-red-soft:#fbf1f1;
  --rfg-red-border:#ead3d3;
  --rfg-max-width:1180px;
  --rfg-article-width:760px;
  --rfg-radius:14px;
}

:root {
  font-size: 20px;
}

body {
  font-size: clamp(0.7rem, 0.5vw + 0.62rem, 0.8rem);
  line-height: 1.7;
}

h1, .h1 {
  font-size: clamp(1.8rem, 5vw + 0.8rem, 2.8rem);
  line-height: 1.2;
}

h2, .h2 {
  font-size: clamp(1.4rem, 3.5vw + 0.8rem, 2rem);
  line-height: 1.3;
}

h3, .h3 {
  font-size: clamp(1.1rem, 2vw + 0.8rem, 1.4rem);
  line-height: 1.35;
}

h4, .h4 {
  font-size: clamp(0.9rem, 1.5vw + 0.64rem, 1.1rem);
  line-height: 1.4;
}

h5, .h5 {
  font-size: clamp(0.8rem, 1vw + 0.64rem, 0.9rem);
  line-height: 1.4;
}

h6, .h6 {
  font-size: clamp(0.7rem, 0.5vw + 0.64rem, 0.8rem);
  line-height: 1.4;
}

.display-1 {
  font-size: clamp(3.6rem, 9vw + 0.8rem, 5.6rem);
  line-height: 1.05;
}

.display-2 {
  font-size: clamp(3.2rem, 8vw + 0.8rem, 4.8rem);
  line-height: 1.05;
}

.display-3 {
  font-size: clamp(2.8rem, 7vw + 0.8rem, 4.2rem);
  line-height: 1.10;
}

.display-4 {
  font-size: clamp(2.4rem, 6vw + 0.8rem, 3.6rem);
  line-height: 1.10;
}

.display-5 {
  font-size: clamp(2.2rem, 5vw + 0.8rem, 3.2rem);
  line-height: 1.15;
}

.display-6 {
  font-size: clamp(2rem, 4vw + 0.8rem, 3rem);
  line-height: 1.15;
}

.lead {
  font-size: clamp(0.9rem, 1vw + 0.72rem, 1.1rem);
  line-height: 1.6;
}


/* GLOBAL */
.rfg-page { }
.rfg-page img { max-width:100%; height:auto; }
.rfg-page *, .rfg-page *::before, .rfg-page *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }

/* COMMON LABELS */
.section-label { margin-bottom:8px; color:var(--rfg-accent); font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.eyebrow { display:inline-block; margin-bottom:18px; padding:7px 13px; background:var(--rfg-accent-soft); color:var(--rfg-accent-dark); border-radius:999px; font-size:.76rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }

/* HOMEPAGE HERO */
.guide-hero-actions { margin-top:32px; display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }

/* SEARCH */
.guide-search-wrap { max-width:760px; margin:0 auto 78px; }
.guide-search { display:flex; background:#fff; border:1px solid var(--rfg-border); border-radius:12px; box-shadow:0 8px 30px rgba(30,45,70,.06); overflow:hidden; }
.guide-search input { flex:1; min-width:0; padding:18px 20px; border:0; outline:0; background:transparent; color:var(--rfg-text); }
.guide-search button { border:0; background:var(--rfg-text); color:#fff; padding:0 24px; font-weight:700; cursor:pointer; }
.search-note { margin-top:10px; text-align:center; color:var(--rfg-muted); font-size:.82rem; }

/* COMMON SECTIONS */
.rfg-section { padding:76px 0; }
.rfg-section-white { background:#fff; }
.rfg-section-heading { max-width:760px; margin-bottom:38px; }
.rfg-section-heading h2 { margin:0 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3rem); line-height:1.15; letter-spacing:-.025em; font-weight:600; }
.rfg-section-heading p { margin:0; color:var(--rfg-muted); font-size:1.03rem; }

/* FEATURED GUIDE CARDS */
.featured-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:18px; }
.guide-card { display:flex; flex-direction:column; padding:28px; background:var(--rfg-bg); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); transition:.2s ease; }
.guide-card:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(25,40,65,.07); }
.guide-card.featured { background:var(--rfg-text); color:#fff; }
.guide-topic { margin-bottom:35px; color:var(--rfg-accent); font-size:.73rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.guide-card.featured .guide-topic { color:#aebfe8; }
.guide-card h3 { margin:0 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; line-height:1.3; font-weight:600; }
.guide-card.featured h3 { font-size:1.75rem; }
.guide-card p { margin:0 0 24px; color:var(--rfg-muted); font-size:.91rem; }
.guide-card.featured p { color:#c8ced6; }
.read-guide { margin-top:auto; font-size:.88rem; font-weight:750; }

/* JOURNEY STRIP */
.journey-strip { display:flex; overflow-x:auto; background:#fff; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); box-shadow:0 8px 30px rgba(30,45,70,.05); }
.journey-step { flex:1 0 150px; min-height:100px; padding:19px 18px; border-right:1px solid var(--rfg-border); transition:.2s ease; }
.journey-step:last-child { border-right:0; }
.journey-step:hover { background:var(--rfg-accent-soft); }
.journey-step .num { display:block; margin-bottom:8px; color:var(--rfg-accent); font-size:.7rem; font-weight:800; letter-spacing:.08em; }
.journey-step .name { display:block; font-size:.84rem; font-weight:700; line-height:1.3; }

/* ROADMAP STAGES */
.stage { position:relative; display:grid; grid-template-columns:190px 1fr; gap:44px; padding-bottom:58px; }
.stage-marker { position:relative; }
.stage-marker::after { content:""; position:absolute; top:54px; left:25px; width:1px; height:calc(100% + 58px); background:var(--rfg-border); }
.stage:last-child .stage-marker::after { display:none; }
.stage-number { display:flex; align-items:center; justify-content:center; width:52px; height:52px; background:var(--rfg-text); color:#fff; border-radius:50%; font-family:Georgia,serif; font-size:.75rem; font-weight:700; }
.stage-label { margin-top:13px; color:var(--rfg-muted); font-size:.74rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.stage-header { display:flex; justify-content:space-between; gap:30px; }
.guide-list { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.guide-link { display:grid; grid-template-columns:31px 1fr auto; gap:10px; align-items:start; padding:12px 0; border-bottom:1px solid var(--rfg-border); font-size:.91rem; line-height:1.45; }
.guide-index { color:#9aa3ae; font-size:.72rem; font-weight:700; padding-top:3px; }
.guide-link:hover .guide-title { color:var(--rfg-accent); }
.guide-link .arrow { color:#a6adb6; }

/* PART PAGE HERO */
.part-label,.article-label { display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; padding:7px 13px; background:var(--rfg-accent-soft); color:var(--rfg-accent-dark); border-radius:999px; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.part-label .dot,.article-label .dot { width:6px; height:6px; background:var(--rfg-accent); border-radius:50%; }
.part-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:80px; align-items:end; }
.part-summary dl { margin:0; }
.part-summary-row { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid var(--rfg-border); }
.part-summary-row:last-child { border-bottom:0; padding-bottom:0; }
.part-summary dt { color:var(--rfg-muted); font-size:.86rem; }
.part-summary dd { margin:0; text-align:right; font-size:.86rem; font-weight:700; }

/* PART PROGRESS */
.progress-card { padding:22px 24px; background:#fff; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); }
.progress-top { display:flex; justify-content:space-between; gap:20px; margin-bottom:14px; font-size:.8rem; }
.progress-top strong { color:var(--rfg-accent); }
.progress-top span { color:var(--rfg-muted); }
.progress-line { height:5px; background:var(--rfg-surface-soft); border-radius:999px; overflow:hidden; }
.progress-fill { height:100%; background:var(--rfg-accent); }
.progress-nav { display:flex; justify-content:space-between; gap:20px; margin-top:13px; color:var(--rfg-muted); font-size:.75rem; }

/* PART GUIDE SEQUENCE */
.guide-sequence { display:grid; gap:14px; }
.sequence-guide-card { display:grid; grid-template-columns:72px minmax(0,1fr) 170px; gap:24px; align-items:center; padding:26px 28px; background:#fff; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); transition:.2s ease; }
.sequence-guide-card:hover { border-color:#bdc7d3; box-shadow:0 10px 28px rgba(25,40,65,.055); transform:translateY(-1px); }
.sequence-guide-number { color:#a0a8b2; font-family:Georgia,serif; font-size:1.35rem; font-weight:600; }
.sequence-guide-category { margin-bottom:5px; color:var(--rfg-accent); font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sequence-guide-card h3 { margin:0 0 7px; font-family:Georgia,"Times New Roman",serif; font-size:1.22rem; line-height:1.3; font-weight:600; }
.sequence-guide-card p { margin:0; color:var(--rfg-muted); font-size:.88rem; line-height:1.55; }
.sequence-guide-action { justify-self:end; color:var(--rfg-accent); font-size:.84rem; font-weight:750; }

/* ARTICLE HERO */
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:27px; color:var(--rfg-muted); font-size:.82rem; }
.article-meta strong { color:var(--rfg-text); }
.meta-divider { color:#c0c5cb; }

/* ARTICLE LAYOUT */
.article-area { padding:70px 0 90px; background:#fff; border-top:1px solid var(--rfg-border); }
.article-layout { display:grid; grid-template-columns:220px minmax(0,var(--rfg-article-width)); justify-content:center; gap:70px; align-items:start; }
.article-content { min-width:0; }
.article-section { margin-bottom:68px; }
.section-number { display:block; margin-bottom:8px; color:var(--rfg-accent); font-size:.80rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.article-content h2 { margin:0 0 22px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.85rem,4vw,2.55rem); line-height:1.18; letter-spacing:-.02em; font-weight:600; }
.article-content h3 { margin:38px 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; line-height:1.3; font-weight:600; }
.article-content ul,.article-content ol { margin:0 0 22px; padding-left:24px; }
.article-content li { margin-bottom:9px; }
.article-content strong { font-weight:750; }

/* TABLE OF CONTENTS */
.toc { position:sticky; top:100px; }
.toc-label { margin-bottom:13px; color:var(--rfg-muted); font-size:.69rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.toc ol { list-style:none; margin:0; padding:0; counter-reset:toc; }
.toc li { counter-increment:toc; }
.toc ol li a { display:grid; grid-template-columns:24px 1fr; gap:5px; padding:7px 0; color:var(--rfg-muted); font-size:.75rem; line-height:1.35; transition:.15s ease; }
.toc ol li a::before { content:counter(toc,decimal-leading-zero); color:#adb3bb; font-size:.66rem; padding-top:2px; }
.toc ol li a:hover { color:var(--rfg-accent); }

/* SHORT ANSWER */
.short-answer { padding:28px 30px; background:var(--rfg-accent-soft); border-left:4px solid var(--rfg-accent); border-radius:0 var(--rfg-radius) var(--rfg-radius) 0; margin-bottom: 1rem }
.short-answer-label { margin-bottom:10px; color:var(--rfg-accent-dark); font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.short-answer p { color:#273653; }

/* TABLES */
.table-wrap { margin:28px 0; overflow-x:auto; border:1px solid var(--rfg-border); border-radius:12px; }
.table-wrap table { width:100%; min-width:620px; border-collapse:collapse; background:#fff; font-size:.70rem; }
.table-wrap th,.table-wrap td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--rfg-border); }
.table-wrap th { background:var(--rfg-surface-soft); font-size:.76rem; font-weight:800; }
.table-wrap tr:last-child td { border-bottom:0; }

/* PRACTICAL EXAMPLE */
.example-box { margin-top:25px; padding:30px; background:var(--rfg-warm-soft); border:1px solid var(--rfg-warm-border); border-radius:var(--rfg-radius); }
.box-eyebrow { margin-bottom:10px; color:#866a29; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.example-box h3 { margin:0 0 14px; }
.example-box p:last-child { margin-bottom:0; }
.example-flow { display:grid; gap:10px; margin:22px 0; }
.example-step { padding:16px 18px; background:rgba(255,255,255,.65); border:1px solid rgba(155,125,60,.18); border-radius:9px; }
.example-step strong { display:block; margin-bottom:3px; font-size:.75rem; color:#765e26; }

/* FORMULA */
.formula-box { margin:28px 0; padding:28px; background:var(--rfg-accent-soft); border:1px solid #d8e1f4; border-radius:var(--rfg-radius); }
.formula { margin:18px 0; padding:18px; background:#fff; border:1px solid #d8e1f4; border-radius:9px; text-align:center; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.formula-definition { color:var(--rfg-muted); font-size:.75rem; }
.calculation { margin-top:16px; padding-top:16px; border-top:1px solid #d8e1f4; font-size:.92rem; }

/* MISCONCEPTIONS */
.misconception-list { display:grid; gap:14px; margin-top:25px; }
.misconception { padding:22px 24px; background:var(--rfg-red-soft); border:1px solid var(--rfg-red-border); border-radius:11px; }
.misconception-tag { margin-bottom:6px; color:#965555; font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.article-content .misconception h3 { margin:0 0 9px; font-family:inherit; font-size:1rem; font-weight:750; }
.misconception p { margin:0; color:#5d5050; font-size:.75rem; }

/* DECISION BOX */
.decision-box { margin-top:25px; padding:28px; background:var(--rfg-green-soft); border:1px solid var(--rfg-green-border); border-radius:var(--rfg-radius); }
.article-content .decision-box h3 { margin-top:0; }
.decision-row { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid #d6e8de; }
.decision-row:last-child { border-bottom:0; padding-bottom:0; }
.decision-if { color:#397052; font-size:.75rem; font-weight:800; }
.decision-then { font-size:.75rem; }

/* PROS AND CONS */
.pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0; }
.pros,.cons { padding:24px; border-radius:var(--rfg-radius); }
.pros { background:var(--rfg-green-soft); border:1px solid var(--rfg-green-border); }
.cons { background:var(--rfg-red-soft); border:1px solid var(--rfg-red-border); }
.article-content .pros h3,.article-content .cons h3 { margin:0 0 14px; font-size:1.08rem; }
.pros ul,.cons ul { margin-bottom:0; }

/* DISTINCTION */
.distinction-box { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:28px 0; overflow:hidden; background:var(--rfg-border); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); }
.distinction-item { padding:22px; background:#fff; }
.distinction-item strong { display:block; margin-bottom:6px; color:var(--rfg-accent-dark); }
.distinction-item span { color:var(--rfg-muted); font-size:.75rem; }

/* CAUTION */
.caution-box { margin:28px 0; padding:24px; background:var(--rfg-warm-soft); border:1px solid var(--rfg-warm-border); border-left:4px solid #a77c24; border-radius:0 var(--rfg-radius) var(--rfg-radius) 0; }
.caution-label { margin-bottom:7px; color:#866a29; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.caution-box p:last-child { margin-bottom:0; }

/* AUTHOR PERSPECTIVE */
.author-perspective { margin:28px 0; padding:24px 26px; background:var(--rfg-surface-soft); border-left:4px solid var(--rfg-text); border-radius:0 var(--rfg-radius) var(--rfg-radius) 0; }
.author-perspective-label { margin-bottom:8px; color:var(--rfg-text); font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.author-perspective p:last-child { margin-bottom:0; }

/* CHECKLIST */
.checklist { margin-top:25px; padding:28px; background:var(--rfg-surface-soft); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); }
.checklist-title { margin-bottom:18px; font-weight:800; }
.check-item { align-items: center; display:grid; grid-template-columns:23px 1fr; gap:11px; padding:11px 0; border-bottom:1px solid var(--rfg-border); }
.check-item:last-child { border-bottom:0; }
.check-box { width:18px; height:18px; background:#fff; border:1.5px solid #aab2bc; border-radius:4px; }

/* FAQ */
.faq-list { border-top:1px solid var(--rfg-border); }
.faq-list details { border-bottom:1px solid var(--rfg-border); }
.faq-list summary { position:relative; padding:19px 38px 19px 0; cursor:pointer; list-style:none; font-weight:750; line-height:1.45; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:5px; top:16px; color:var(--rfg-accent); font-size:1.35rem; font-weight:400; }
.faq-list details[open] summary::after { content:"−"; }
.faq-answer { padding:0 25px 20px 0; color:var(--rfg-muted); font-size:.92rem; }
.faq-answer p:last-child { margin-bottom:0; }

/* BOTTOM LINE */
.bottom-line { padding:30px; background:var(--rfg-text); color:#fff; border-radius:var(--rfg-radius); }
.bottom-line .box-eyebrow { color:#9eb3e2; }
.bottom-line p { color:#d0d5dc; }
.bottom-line p:last-child, .short-answer p:last-child { margin-bottom:0; }
.bottom-line strong { color:#fff; }

/* SOURCES */
.sources { padding-top:10px; }
.source-list { margin:0; padding:0!important; list-style:none; }
.source-list li { padding:14px 0; margin:0; border-bottom:1px solid var(--rfg-border); font-size:.70rem; }
.source-list li:first-child { border-top:1px solid var(--rfg-border); }
.source-org { display:block; margin-bottom:2px; font-weight:750; }
.article-content .source-title { color:var(--rfg-muted); }

/* RELATED TOOL */
.related-tool { margin:30px 0; padding:26px; background:var(--rfg-accent-soft); border:1px solid #d8e1f4; border-radius:var(--rfg-radius); }
.related-tool-label { margin-bottom:8px; color:var(--rfg-accent); font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.article-content .related-tool h3 { margin:0 0 8px; }
.related-tool p { color:var(--rfg-muted); }
.related-tool-action { font-size:.85rem; font-weight:750; }

/* RELATED GUIDES */
.related { padding:80px 0; background:var(--rfg-bg); border-top:1px solid var(--rfg-border); }
.related-heading { max-width:720px; margin-bottom:32px; }
.related-heading .label { margin-bottom:7px; color:var(--rfg-accent); font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.related-heading h2 { margin:0; font-family:Georgia,serif; font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.15; font-weight:600; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.related-card { display:flex; flex-direction:column; min-height:230px; padding:25px; background:#fff; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); transition:.2s ease; }
.related-card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(25,40,65,.06); }
.related-number { margin-bottom:26px; color:var(--rfg-accent); font-family:Georgia,serif; font-size:.85rem; }
.related-card h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:1.12rem; line-height:1.35; font-weight:600; }
.related-card p { margin:0 0 20px; color:var(--rfg-muted); font-size:.83rem; }
.related-card span { margin-top:auto; color:var(--rfg-accent); font-size:.8rem; font-weight:750; }

/* PREVIOUS / NEXT */
.guide-navigation { background:#fff; border-top:1px solid var(--rfg-border); }
.guide-nav-grid { display:grid; grid-template-columns:1fr 1fr; }
.guide-nav-item { min-height:145px; padding:30px 0; display:flex; flex-direction:column; justify-content:center; }
.guide-nav-item:first-child { padding-right:45px; border-right:1px solid var(--rfg-border); }
.guide-nav-item:last-child { padding-left:45px; text-align:right; }
.guide-nav-label { margin-bottom:6px; color:var(--rfg-muted); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.guide-nav-title { color:var(--rfg-accent); font-family:Georgia,serif; font-size:1.05rem; line-height:1.4; font-weight:600; }

/* SECONDARY / CROSS-CUTTING CARDS */
.secondary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.secondary-card { display:flex; flex-direction:column; min-height:260px; padding:27px; background:var(--rfg-bg); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); transition:.2s ease; }
.secondary-card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(25,40,65,.06); }
.secondary-number { margin-bottom:30px; color:var(--rfg-accent); font-family:Georgia,serif; font-size:.85rem; font-weight:700; }
.secondary-card h3 { margin:0 0 10px; font-family:Georgia,serif; font-size:1.3rem; line-height:1.25; font-weight:600; }
.secondary-card p { margin:0 0 20px; color:var(--rfg-muted); font-size:.88rem; }
.secondary-card a { margin-top:auto; color:var(--rfg-accent); font-size:.85rem; font-weight:750; }

/* TOOLKIT CARDS */
.toolkit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.toolkit-card { padding:27px; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); background:#fff; }
.toolkit-card .tag { display:inline-block; margin-bottom:17px; color:var(--rfg-accent); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.toolkit-card h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:1.35rem; font-weight:600; }
.toolkit-card p { margin:0 0 18px; color:var(--rfg-muted); font-size:.75rem; }
.toolkit-card a { color:var(--rfg-accent); font-size:.86rem; font-weight:750; }

/* MOBILE */
@media (max-width:980px) {
  .article-layout { grid-template-columns:1fr; max-width:var(--rfg-article-width); margin:0 auto; }
  .toc { position:static; padding:22px; background:var(--rfg-bg); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); }
  .toc ol { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .featured-grid { grid-template-columns:1fr 1fr; }
  .guide-card.featured { grid-column:1/-1; }
  .stage { grid-template-columns:90px 1fr; gap:24px; }
  .part-hero-grid { grid-template-columns:1fr; gap:35px; }
  .sequence-guide-card { grid-template-columns:55px 1fr; }
  .sequence-guide-action { grid-column:2; justify-self:start; }
  .secondary-grid { grid-template-columns:1fr 1fr; }
  .related-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .rfg-section { padding:58px 0; }
  .stage { display:block; padding-bottom:28px; }
  .stage-marker { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
  .stage-marker::after { display:none; }
  .stage-label { margin:0; }
  .stage-header { display:block; }
  .guide-list,.toolkit-grid,.secondary-grid { grid-template-columns:1fr; }
  .pros-cons,.distinction-box { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .featured-grid,.related-grid { grid-template-columns:1fr; }
  .guide-card.featured { grid-column:auto; }
  .sequence-guide-card { grid-template-columns:1fr; gap:10px; padding:22px; }
  .sequence-guide-action { grid-column:auto; }
  .toc ol { grid-template-columns:1fr; }
  .short-answer,.example-box,.formula-box,.decision-box,.checklist,.bottom-line { padding:22px; }
  .decision-row { grid-template-columns:1fr; gap:4px; }
  .guide-nav-grid { grid-template-columns:1fr; }
  .guide-nav-item:first-child { padding-right:0; border-right:0; border-bottom:1px solid var(--rfg-border); }
  .guide-nav-item:last-child { padding-left:0; text-align:left; }
}
@media (max-width:520px) {
  .guide-search button { padding:0 16px; }
  .progress-nav { display:none; }
}

.hero-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:24px; color:var(--rfg-muted); font-size:.84rem; }
.hero-meta strong { color:var(--rfg-text); }
.journey-more,.question-more { margin-top:30px; text-align:center; }
.about-guide { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-copy h2 { margin:0 0 20px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3.1rem); line-height:1.15; font-weight:600; }
.about-copy p { color:var(--rfg-muted); }
.principles { display:grid; gap:1px; background:var(--rfg-border); border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); overflow:hidden; }
.principle { padding:22px; background:#fff; }
.principle strong { display:block; margin-bottom:4px; }
.principle span { color:var(--rfg-muted); font-size:.75rem; }
@media(max-width:950px){.about-guide{grid-template-columns:1fr;gap:40px;}}
.journey-empty { padding:22px 0; color:var(--rfg-muted); font-size:.75rem; font-style:italic; }
.toolkit-grid { grid-template-columns:repeat(3,1fr); }
@media(max-width:950px){.toolkit-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:720px){.toolkit-grid{grid-template-columns:1fr;}}
.hero { padding:64px 0 58px; }
.hero-inner { max-width:900px; }
.hero h1 { margin:0 0 22px; max-width:880px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.7rem,6vw,5rem); line-height:1.04; letter-spacing:-.035em; font-weight:600; }
.hero-lead { max-width:780px; margin:0; color:var(--rfg-muted); font-size:1.15rem; }
.journey-strip-wrap { padding-bottom:72px; }
.intro h2 { margin:0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3rem); line-height:1.15; font-weight:600; }
.intro-copy { color:var(--rfg-muted); }
.intro-copy p:first-child { margin-top:0; }
.intro-copy p:last-child { margin-bottom:0; }
.roadmap { padding:82px 0; }
.roadmap-heading { max-width:760px; margin-bottom:54px; }
.roadmap-heading h2 { margin:0 0 14px; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.2rem); line-height:1.15; font-weight:600; }
.roadmap-heading p { margin:0; color:var(--rfg-muted); }
.stage-footer { display:flex; justify-content:flex-end; margin-top:24px; }
.explore-link { color:var(--rfg-accent); font-size:.70rem; font-weight:750; }
.explore-link:hover { color:var(--rfg-accent-dark); }
.secondary-roadmap { padding:80px 0; background:#fff; border-top:1px solid var(--rfg-border); }
.toolkit { padding:80px 0; }
.journey-empty { padding:22px 0; color:var(--rfg-muted); font-size:.75rem; font-style:italic; }
.start { padding:85px 0; background:var(--rfg-text); color:#fff; }
.start-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:80px; align-items:start; }
.start .section-label { color:#9eb3e2; }
.start h2 { margin:0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.1rem); line-height:1.15; font-weight:600; }
.start-options { display:grid; gap:10px; }
.start-option { display:flex; justify-content:space-between; gap:20px; padding:18px 20px; border:1px solid #39424d; border-radius:10px; background:#202934; transition:.2s ease; }
.start-option:hover { border-color:#657a99; background:#26313e; }
.start-option strong { display:block; margin-bottom:2px; font-size:.93rem; }
.start-option span { color:#aeb6c1; font-size:.81rem; }
.start-option .go { align-self:center; color:#9eb3e2; font-size:1.1rem; }
.toolkit-grid { grid-template-columns:repeat(3,1fr); }
@media(max-width:950px){.start-grid{grid-template-columns:1fr;gap:32px}.toolkit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.toolkit-grid{grid-template-columns:1fr}}

.part-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:80px; align-items:end; }
.start-here { padding:80px 0 30px; }
.section-heading { max-width:760px; margin-bottom:36px; }
.section-heading h2 { margin:0 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3rem); line-height:1.15; font-weight:600; }
.section-heading p { margin:0; color:var(--rfg-muted); }
.featured-guide { display:grid; grid-template-columns:120px 1fr auto; gap:30px; align-items:center; padding:34px; background:var(--rfg-text); color:#fff; border-radius:var(--rfg-radius); }
.guides-section { padding:50px 0 85px; }
.decision { padding:80px 0; background:#fff; border-top:1px solid var(--rfg-border); border-bottom:1px solid var(--rfg-border); }
.decision-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.decision h2 { margin:0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3rem); line-height:1.15; font-weight:600; }
.decision-options { display:grid; gap:10px; }
.decision-option { display:grid; grid-template-columns:1fr auto; gap:20px; padding:18px 20px; background:var(--rfg-bg); border:1px solid var(--rfg-border); border-radius:10px; transition:.2s ease; }
.decision-option:hover { border-color:#bac5d2; background:var(--rfg-accent-soft); }
.decision-option strong { display:block; margin-bottom:3px; font-size:.91rem; }
.decision-option span { color:var(--rfg-muted); font-size:.8rem; }
.decision-arrow { align-self:center; color:var(--rfg-accent)!important; font-size:1rem!important; }
.part-navigation { padding:34px 0; background:#fff; border-top:1px solid var(--rfg-border); }
.part-nav-inner { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.part-nav-link { padding:17px 0; }
.part-nav-link:last-child { text-align:right; }
.part-nav-label { display:block; margin-bottom:4px; color:var(--rfg-muted); font-size:.71rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.part-nav-title { color:var(--rfg-accent); font-size:.75rem; font-weight:750; }
@media(max-width:950px){.part-hero-grid,.decision-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:680px){.featured-guide{grid-template-columns:1fr;gap:18px}.part-nav-inner{grid-template-columns:1fr;gap:0}.part-nav-link:last-child{text-align:left;border-top:1px solid var(--rfg-border)}}


.search-page { padding:58px 0 90px; }
.search-page-heading { max-width:780px; margin-bottom:32px; }
.search-page-heading h1 { margin:0 0 15px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.5rem,5vw,4rem); line-height:1.08; letter-spacing:-.03em; font-weight:600; }
.search-page-heading p { margin:0; color:var(--rfg-muted); font-size:1.05rem; }
.search-page-form { max-width:850px; margin:0 0 70px; }
.search-results-header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--rfg-border); }
.search-results-header h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; font-weight:600; }
.search-result-count { flex-shrink:0; padding:7px 12px; background:var(--rfg-surface-soft); color:var(--rfg-muted); border-radius:999px; font-size:.75rem; font-weight:700; }
.search-results { display:grid; }
.search-result { padding:28px 0; border-bottom:1px solid var(--rfg-border); }
.search-result:first-child { padding-top:8px; }
.search-result h3 { max-width:850px; margin:0 0 9px; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; line-height:1.3; font-weight:600; }
.search-result h3 a:hover { color:var(--rfg-accent); }
.search-result p { max-width:800px; margin:0 0 13px; color:var(--rfg-muted); font-size:.91rem; }
.search-empty { padding:55px 30px; background:#fff; border:1px solid var(--rfg-border); border-radius:var(--rfg-radius); text-align:center; }
.search-empty h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:1.5rem; }
.search-empty p { margin:0; color:var(--rfg-muted); }
.search-empty-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; }
.search-suggestions { margin-top:15px; }
.search-suggestion-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px; }
.search-suggestion-grid a { padding:16px 18px; background:#fff; border:1px solid var(--rfg-border); border-radius:9px; font-size:.88rem; font-weight:650; transition:.2s ease; }
.search-suggestion-grid a:hover { border-color:#bac5d2; background:var(--rfg-accent-soft); color:var(--rfg-accent); }
@media(max-width:800px){.search-suggestion-grid{grid-template-columns:1fr 1fr}.search-results-header{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:520px){.search-suggestion-grid{grid-template-columns:1fr}.search-page-form{margin-bottom:50px}}

.all-guides-hero { padding:58px 0 62px; }
.all-guides-hero-inner { max-width:850px; }
.all-guides-hero h1 { margin:0 0 18px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.7rem,5.5vw,4.8rem); line-height:1.05; letter-spacing:-.035em; font-weight:600; }
.all-guides-hero-inner p { max-width:760px; margin:0; color:var(--rfg-muted); font-size:1.08rem; }
.all-guides-search { max-width:850px; margin:35px 0 0; }
.all-guides-controls { padding:28px 0; background:#fff; border-top:1px solid var(--rfg-border); border-bottom:1px solid var(--rfg-border); }
.all-guides-filter-label,.alphabet-label { display:block; margin-bottom:11px; color:var(--rfg-muted); font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.all-guides-filter-links { display:flex; flex-wrap:wrap; gap:7px; }
.all-guides-filter-links a { padding:7px 11px; background:var(--rfg-bg); border:1px solid var(--rfg-border); border-radius:999px; color:var(--rfg-muted); font-size:.75rem; font-weight:650; transition:.15s ease; }
.all-guides-filter-links a:hover,.all-guides-filter-links a.active { background:var(--rfg-accent); border-color:var(--rfg-accent); color:#fff; }
.alphabet-nav { display:flex; align-items:center; gap:20px; margin-top:24px; padding-top:20px; border-top:1px solid var(--rfg-border); }
.alphabet-nav .alphabet-label { flex-shrink:0; margin:0; }
.alphabet-links { display:flex; flex-wrap:wrap; gap:4px; }
.alphabet-links a,.alphabet-links span { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px; font-size:.76rem; font-weight:750; }
.alphabet-links a { color:var(--rfg-accent); background:var(--rfg-accent-soft); }
.alphabet-links a:hover { background:var(--rfg-accent); color:#fff; }
.alphabet-links span { color:#bcc1c8; }
.all-guides-library { padding:70px 0 95px; }
.all-guides-summary { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:46px; }
.all-guides-summary h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3rem); line-height:1.15; font-weight:600; }
.all-guides-count { flex-shrink:0; padding:7px 12px; background:#fff; border:1px solid var(--rfg-border); border-radius:999px; color:var(--rfg-muted); font-size:.75rem; font-weight:700; }
.alphabetical-library { display:grid; gap:60px; }
.alphabetical-section { display:grid; grid-template-columns:90px 1fr; gap:35px; scroll-margin-top:100px; }
.alphabetical-letter { position:sticky; top:100px; align-self:start; color:var(--rfg-accent); font-family:Georgia,"Times New Roman",serif; font-size:3rem; line-height:1; font-weight:600; }
.alphabetical-list { border-top:1px solid var(--rfg-border); }
.all-guide-item { padding:25px 0; border-bottom:1px solid var(--rfg-border); }
.all-guide-meta { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px; color:var(--rfg-muted); font-size:.68rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.all-guide-meta a { color:var(--rfg-accent); }
.all-guide-item h3 { max-width:850px; margin:0 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; line-height:1.3; font-weight:600; }
.all-guide-item h3 a:hover { color:var(--rfg-accent); }
.all-guide-item p { max-width:800px; margin:0 0 12px; color:var(--rfg-muted); font-size:.89rem; line-height:1.6; }
.all-guide-link { color:var(--rfg-accent)!important; font-size:.8rem; font-weight:750; }
@media(max-width:720px){.alphabetical-section{grid-template-columns:1fr;gap:14px}.alphabetical-letter{position:static;font-size:2.2rem}.all-guides-summary{align-items:start;flex-direction:column;gap:15px}.alphabet-nav{align-items:flex-start;flex-direction:column;gap:10px}}