/* Porto Business Consulting 3: financial reporting editorial layout. */
.bk-page-content.bk-reporting-page { max-width:1140px; padding-top:48px; padding-bottom:64px; }
.bk-reporting-page * { min-width:0; }
.bk-reporting-page .bk-reading-section { margin-top:48px; padding-top:40px; border-top:1px solid #e5e7e9; }
.bk-reporting-page .bk-reading-section > h2 { margin-top:0; margin-bottom:24px; padding:0; border:0; }
.bk-reporting-page .bk-reading-section > h2::after { content:""; display:block; width:48px; height:3px; margin-top:16px; background:#ff1629; }
.bk-reporting-page .bk-reading-section > p { max-width:900px; }
.bk-reporting-page .bk-reporting-overview { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr); gap:48px; align-items:center; padding:0; margin:0 0 48px; background:transparent; border:0; }
.bk-reporting-page .bk-reporting-overview-copy { padding:24px 0; }
.bk-reporting-page .bk-summary-icon { float:none; display:block; width:54px; height:54px; margin:0 0 22px; }
.bk-reporting-page .bk-section-label { color:#ff1629; text-transform:uppercase; }
.bk-reporting-page .bk-summary-lead { font-size:26px; line-height:1.45; font-weight:600; color:#212529; letter-spacing:-.03em; }
.bk-reporting-page .bk-summary-facts { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px 16px; margin:24px 0; }
.bk-reporting-page .bk-summary-facts dt { color:#212529; font-weight:600; }
.bk-reporting-page .bk-summary-facts dd { margin:0; }
.bk-reporting-page .bk-summary-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:14px; }
.bk-reporting-page .bk-reporting-photos { position:relative; margin:0 0 25px 40px; padding:0 0 35px 20px; }
.bk-reporting-page .bk-reporting-office-main { display:block; width:100%; height:340px; object-fit:cover; object-position:center; }
.bk-reporting-page .bk-reporting-office-detail { position:absolute; bottom:0; left:-30px; width:50%; height:auto; border:8px solid white; box-shadow:0 12px 28px #00000012; }
.bk-reporting-page .bk-reporting-toc { padding:18px 24px; border:0; background:#f4f4f4; margin-bottom:40px; }
.bk-reporting-toc summary { cursor:pointer; color:#212529; font-weight:600; padding:8px 0; }
.bk-reporting-page .bk-reporting-toc .bk-toc-title { display:none; }
.bk-reporting-page .bk-reporting-toc ol { columns:2; padding:18px 0 8px 20px; }
.bk-reporting-page .bk-reporting-toc li { font-size:14px; }
.bk-reporting-page .bk-reporting-toc a { color:#555e68; text-decoration:none; }
.bk-reporting-page .bk-reporting-toc a:hover { color:#ff1629; text-decoration:underline; }
.bk-reporting-page .bk-reporting-intro { border:0; padding-top:0; margin-top:0; }
.bk-reporting-page .bk-reporting-intro > h2:first-child { font-size:13px !important; letter-spacing:.08em; color:#f51d30; text-transform:uppercase !important; margin-bottom:18px; }
.bk-reporting-page .bk-reporting-intro > h2:first-child::after { display:none; }
.bk-reporting-page .row { --bs-gutter-x:36px; --bs-gutter-y:24px; }
.bk-reporting-page .bk-report-icon { display:block; width:44px; height:44px; margin-bottom:18px; }
.bk-reporting-page .bk-report-statement-grid { margin-top:28px; margin-bottom:40px; row-gap:28px; }
.bk-reporting-page .bk-report-statement { height:100%; background:#f6f6f6; padding:30px; }
.bk-reporting-page .bk-report-statement h4 { font-size:20px !important; margin-top:0; margin-bottom:18px; }
.bk-reporting-page .bk-report-statement :is(p,li) { font-size:15px; line-height:1.8; }
.bk-reporting-page .bk-report-statement > p:last-child { margin-bottom:0; }
.bk-reporting-page .bk-report-table-wrap { margin:28px 0 36px; overflow-x:auto; }
.bk-reporting-page .bk-report-table { width:100%; margin:0; border-collapse:collapse; }
.bk-reporting-page .bk-report-table caption { caption-side:top; text-align:left; padding:0 0 16px; color:#212529; }
.bk-reporting-page .bk-report-table :is(th,td) { padding:18px 24px; vertical-align:top; border:0; border-bottom:1px solid #e3e5e8; }
.bk-reporting-page .bk-report-table thead th { color:white; background:#212529; font-weight:600; }
.bk-reporting-page .bk-report-table tbody th { width:30%; color:#212529; font-weight:600; }
.bk-reporting-page .bk-report-table h4 { font-size:16px !important; margin:0; }
.bk-reporting-page .bk-report-table ul { columns:2; column-gap:30px; margin:0; padding-left:18px; }
.bk-reporting-page .bk-report-table li { break-inside:avoid; margin:0 0 6px; }
.bk-reporting-page .bk-report-feature-grid { margin-top:24px; margin-bottom:24px; row-gap:24px; }
.bk-reporting-page .bk-report-feature { padding:0 0 20px; border-bottom:1px solid #e5e7e9; }
.bk-reporting-page .bk-report-feature p { margin:0; }
.bk-reporting-page .bk-report-feature strong { display:block; margin-bottom:8px; }
.bk-reporting-page .bk-report-audiences { row-gap:0; }
.bk-reporting-page .bk-report-audiences .bk-reading-section { height:auto; }
.bk-reporting-page .bk-report-audiences h2 { font-size:26px !important; }
.bk-reporting-page .bk-report-process { margin-top:24px; row-gap:0; }
.bk-reporting-page .bk-report-step { padding-top:20px; padding-bottom:12px; border-top:1px solid #e5e7e9; }
.bk-reporting-page .bk-report-step h3 { margin:0 0 14px; font-size:19px !important; }
.bk-reporting-page .bk-report-question { border-bottom:1px solid #e5e7e9; padding:18px 0; }
.bk-reporting-page .bk-report-question summary { cursor:pointer; color:#212529; }
.bk-reporting-page .bk-report-question summary h3 { display:inline; margin:0; font-size:18px !important; }
.bk-reporting-page .bk-report-question > p { margin-top:18px; margin-bottom:4px; }
.bk-reporting-page .bk-reporting-final { background:#f4f4f4 url('../img/porto/inner-background.jpg') center/cover; border:0; padding:36px; }
.bk-reporting-page .bk-reporting-final .btn { padding:14px 24px; white-space:normal; }
.bk-reporting-page :is(summary,a):focus-visible { outline:3px solid #ff1629; outline-offset:4px; }
.bk-reporting-page .bk-reading-section.bk-report-band { background:#f6f6f6; border:0; padding:36px; }
.bk-reporting-page .bk-report-band .bk-report-feature { border-bottom-color:#dedfe1; }
.bk-reporting-page .bk-report-band .bk-report-feature-grid { margin-bottom:0; }
@media(max-width:991px) {
 .bk-page-content.bk-reporting-page { max-width:960px; }
 .bk-reporting-page .bk-reporting-overview { gap:28px; grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr); }
 .bk-reporting-page .bk-summary-lead { font-size:23px; }
 .bk-reporting-page .bk-reporting-photos { margin-left:20px; padding-left:0; }
 .bk-reporting-page .bk-reporting-office-main { height:320px; }
}
@media(max-width:767px) {
 .bk-page-content.bk-reporting-page { padding:28px 20px 44px; }
 .bk-reporting-page .bk-reporting-overview { display:block; margin-bottom:28px; }
 .bk-reporting-page .bk-reporting-overview-copy { padding:0; }
 .bk-reporting-page .bk-summary-lead { font-size:22px; }
 .bk-reporting-page .bk-reporting-photos { max-width:400px; margin:24px auto 0; padding:0 0 24px 35px; }
 .bk-reporting-page .bk-reporting-office-main { height:260px; }
 .bk-reporting-page .bk-reporting-office-detail { left:0; max-width:190px; }
 .bk-reporting-page .bk-reporting-toc { padding:12px 18px; margin-bottom:28px; }
 .bk-reporting-page .bk-reporting-toc ol { columns:1; }
 .bk-reporting-page .bk-reading-section { margin-top:32px; padding-top:28px; }
 .bk-reporting-page .bk-reporting-intro { margin-top:0; padding-top:0; }
 .bk-reporting-page .row { --bs-gutter-x:24px; }
 .bk-reporting-page .bk-report-statement { padding:24px; }
 .bk-reporting-page .bk-report-table :is(th,td) { padding:14px 12px; font-size:14px; overflow-wrap:anywhere; }
 .bk-reporting-page .bk-report-table tbody th { width:36%; }
 .bk-reporting-page .bk-report-table h4 { font-size:14px !important; }
 .bk-reporting-page .bk-report-table ul { columns:1; }
 .bk-reporting-page .bk-report-feature { padding-bottom:16px; }
 .bk-reporting-page .bk-reading-section.bk-report-band { padding:24px 20px; }
 .bk-reporting-page .bk-reporting-final { padding:24px; }
 .bk-reporting-page .bk-reporting-final .btn { display:block; width:100%; }
}

/* V22: high-contrast topic navigation and Porto button label stacking. */
.bk-reporting-page .bk-reporting-toc { padding:0; background:#fff; border:1px solid #cbd0d5; }
.bk-reporting-page .bk-reporting-toc summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 24px; min-height:68px; color:#fff; background:#212529; font-size:17px; font-weight:600; list-style:none; }
.bk-reporting-page .bk-reporting-toc summary::-webkit-details-marker { display:none; }
.bk-reporting-page .bk-reporting-toc summary::marker { content:""; }
.bk-report-toc-toggle { position:relative; flex:0 0 36px; width:36px; height:36px; border:1px solid #fff; border-radius:2px; }
.bk-report-toc-toggle::before,.bk-report-toc-toggle::after { content:""; display:block; position:absolute; background:#fff; top:50%; left:50%; transform:translate(-50%,-50%); }
.bk-report-toc-toggle::before { width:14px; height:2px; }
.bk-report-toc-toggle::after { width:2px; height:14px; }
.bk-reporting-toc details[open] .bk-report-toc-toggle::after { display:none; }
.bk-reporting-page .bk-reporting-toc ol { padding:20px 30px 20px 48px; column-gap:52px; }
.bk-reporting-page .bk-reporting-toc li { font-size:16px; line-height:1.6; color:#212529; margin:0; }
.bk-reporting-page .bk-reporting-toc a { display:block; padding:9px 0; color:#212529; font-weight:600; text-decoration:none; border-bottom:1px solid #e4e6e8; }
.bk-reporting-page .bk-reporting-toc a:hover,.bk-reporting-page .bk-reporting-toc a:focus-visible { color:#b5091b; text-decoration:underline; text-underline-offset:3px; }
.bk-reporting-page .bk-reporting-final a.btn { color:#fff !important; background:#d50920 !important; border-color:#d50920 !important; font-weight:600; text-decoration:none; isolation:isolate; }
.bk-reporting-page .bk-reporting-final a.btn > span { position:relative; z-index:1; color:#fff !important; }
.bk-reporting-page .bk-reporting-final a.btn:hover,.bk-reporting-page .bk-reporting-final a.btn:focus-visible { color:#fff !important; background:#b7071b !important; border-color:#b7071b !important; }
.bk-reporting-page .bk-reporting-toc summary:focus-visible { outline:3px solid #b5091b; outline-offset:3px; box-shadow:inset 0 0 0 2px #fff; }
@media(max-width:767px) {
 .bk-reporting-page .bk-reporting-toc summary { padding:14px 18px; font-size:16px; gap:16px; }
 .bk-reporting-page .bk-reporting-toc ol { padding:16px 20px 16px 38px; }
 .bk-reporting-page .bk-reporting-toc li { font-size:15px; }
 .bk-reporting-page .bk-reporting-toc a { padding:10px 0; }
}
