
/* Reduce H1 size to match other resource pages */
section.hero h1{font-size:clamp(28px,3.6vw,46px) !important;line-height:1.15 !important;letter-spacing:-.022em !important;max-width:24ch !important;margin:18px 0 22px !important;font-weight:700 !important}
/* Widen the report wrap from 760 → 1080 for better readability of executive summary, key findings, and tables */
article.report .wrap{max-width:1080px !important}
/* Keep prose readable inside the wider wrap */
article.report p,article.report ul,article.report ol{max-width:80ch}
/* Tables get full width */
article.report .report-table,article.report table{max-width:100% !important}
/* Summary block: give more presence */
article.report .summary{padding:32px 36px !important;border-radius:14px !important;border-left-width:4px !important}
article.report .summary h3{font-size:1.34rem !important}
article.report .summary li{font-size:1.04rem !important;line-height:1.7 !important;padding:6px 0}
article.report .thesis{padding:28px 32px !important;border-radius:14px !important;font-size:1.08rem !important}
article.report h2{font-size:clamp(26px,2.6vw,34px) !important;margin-top:64px !important}
article.report h3{font-size:1.26rem !important}

/* === Canonical FAQ markup (faq-item) === */
.faq-list{display:flex;flex-direction:column;gap:8px;margin-top:32px;max-width:920px}
.faq-item{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;transition:border-color .15s var(--ease,ease)}
.faq-item[open]{border-color:var(--accent)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:15.5px;line-height:1.45;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:18px;transition:background .15s var(--ease,ease)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:var(--surface-2)}
.faq-item summary::after{content:"";flex-shrink:0;width:14px;height:14px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg);margin-right:2px;transition:transform .2s var(--ease,ease)}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-right:0;margin-top:6px}
.faq-item .ans,.faq-item > p,.faq-item > div:not([class]){padding:0 22px 22px;font-size:15px;line-height:1.6;color:var(--text);margin:0}
.faq-item p{margin:0 0 12px}
.faq-item p:last-child{margin-bottom:0}

/* === Scroll-to-top button === */
.scroll-top-btn{position:fixed;bottom:32px;right:32px;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s var(--ease,ease),transform .2s var(--ease,ease),visibility 0s linear .2s,background .15s var(--ease,ease);z-index:40;box-shadow:0 6px 20px rgba(10,37,64,.18),0 2px 6px rgba(10,37,64,.08)}
.scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s var(--ease,ease),transform .2s var(--ease,ease),visibility 0s,background .15s var(--ease,ease)}
.scroll-top-btn:hover{background:var(--accent)}
.scroll-top-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.scroll-top-btn svg{width:20px;height:20px;display:block}
@media (max-width:640px){
  .scroll-top-btn{bottom:20px;right:20px;width:42px;height:42px}
  .scroll-top-btn svg{width:18px;height:18px}
}
@media (prefers-reduced-motion: reduce){
  .scroll-top-btn{transition:opacity .15s,visibility 0s}
}
img
.bf-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* === FIX 1: Scroll-margin offsets so #anchors clear the sticky header === */
[id]{scroll-margin-top:80px}
@media(max-width:768px){[id]{scroll-margin-top:24px}}

/* === FIX 3: Canonical FAQ Type D answer styling === */
.faq-item .ans{padding:0 22px 22px;color:var(--text);font-size:15.5px;line-height:1.65}
.faq-item .ans p{margin:0 0 12px}
.faq-item .ans p:last-child{margin-bottom:0}
.faq-item .ans ul,.faq-item .ans ol{margin:8px 0 12px;padding-left:22px}
.faq-item .ans li{margin-bottom:6px}

/* === Canonical FAQ chevron icon (consolidated from r22) === */
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;font-weight:600;color:var(--ink);font-size:16px;line-height:1.4;transition:color .15s}
.faq-item summary:hover{color:var(--accent)}
.faq-item summary::after{content:"";flex-shrink:0;width:11px;height:11px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg);margin-right:4px;transition:transform .2s var(--ease,ease)}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-right:0;margin-top:6px}
.faq-item[open] summary{color:var(--accent)}

/* === FIX 2: aside.author-bio centering (higher specificity wins over conflicts) === */
aside.author-bio{margin:64px auto !important;max-width:1200px;padding:48px 24px;border-top:1px solid var(--border)}
aside.author-bio .wrap{max-width:1200px;margin:0 auto}

/* === FIX 1 R22: scroll-padding-top on html for reliable anchor jumps === */
html{scroll-padding-top:88px}
@media(max-width:768px){html{scroll-padding-top:24px}}
