.building-function-catalogue{color:var(--text);font-family:Inter,Arial,sans-serif;margin:24px 0 32px;padding-bottom:28px;border-bottom:1px solid var(--line);min-width:0}
.building-function-catalogue *{box-sizing:border-box}
.building-function-catalogue [hidden]{display:none!important}
.building-function-catalogue .bfc-heading{max-width:940px;margin-bottom:22px}
.building-function-catalogue .bfc-heading h2{font:600 25px/1.35 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:5px 0 12px;color:var(--ink)}
.building-function-catalogue .bfc-heading p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}
.building-function-catalogue .bfc-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(190px,1fr) minmax(190px,1fr);gap:14px;align-items:end}
.building-function-catalogue .bfc-filters label{display:grid;gap:7px;min-width:0;font-size:12px;font-weight:600;color:var(--text)}
.building-function-catalogue .bfc-filters input,.building-function-catalogue .bfc-filters select{display:block;width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:10px 12px;font:400 13px/1.35 Inter,Arial,sans-serif}
.building-function-catalogue .bfc-filters input::placeholder{color:var(--muted);opacity:1}
.building-function-catalogue .bfc-evidence-key{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0;max-width:1100px}
.building-function-catalogue .bfc-evidence-key b{font-weight:600;color:var(--text)}
.building-function-catalogue .bfc-result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:13px 0}
.building-function-catalogue .bfc-result-bar p{margin:0;font-size:12px;color:var(--muted)}
.building-function-catalogue button{border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--accent);font:500 12px/1.35 Inter,Arial,sans-serif;padding:8px 13px;min-height:34px;box-shadow:none;white-space:normal}
.building-function-catalogue button:hover:not(:disabled){background:var(--panel);border-color:var(--accent-line);color:var(--accent-hover)}
.building-function-catalogue button:disabled{opacity:.45;cursor:default}
.building-function-catalogue :is(button,input,select,summary,a,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.building-function-catalogue .bfc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.building-function-catalogue .bfc-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;overflow-wrap:anywhere}
.building-function-catalogue .bfc-category{display:block;color:var(--muted);font:500 10px/1.45 Inter,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.building-function-catalogue .bfc-card h3{font:600 18px/1.4 Inter,Arial,sans-serif;letter-spacing:-.02em;color:var(--ink);margin:9px 0}
.building-function-catalogue .bfc-users{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.building-function-catalogue .bfc-question{font-size:13px;line-height:1.65;margin:14px 0 16px}
.building-function-catalogue .bfc-basis{display:inline-block;max-width:100%;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--accent);padding:4px 9px;font-size:10px;line-height:1.45}
.building-function-catalogue .bfc-entry-details{margin-top:17px;border-top:1px solid var(--line)}
.building-function-catalogue .bfc-entry-details>summary{font:500 12px/1.5 Inter,Arial,sans-serif;color:var(--accent);padding:13px 0 0;cursor:pointer}
.building-function-catalogue .bfc-entry-details[open]>summary{padding-bottom:8px}
.building-function-catalogue .bfc-entry-body h4{font:600 12px/1.5 Inter,Arial,sans-serif;letter-spacing:0;color:var(--ink);margin:16px 0 7px}
.building-function-catalogue .bfc-entry-body ul{padding-left:18px;margin:0;font-size:12px;line-height:1.65}
.building-function-catalogue .bfc-entry-body li+li{margin-top:4px}
.building-function-catalogue .bfc-entry-body p{font-size:12px;line-height:1.65;margin:7px 0;color:var(--muted)}
.building-function-catalogue .bfc-transfer{border-left:2px solid var(--accent-line);padding-left:10px}
.building-function-catalogue a{color:var(--accent);font-size:12px;line-height:1.6;text-underline-offset:3px}
.building-function-catalogue .bfc-entry-sources>div+div{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.building-function-catalogue .bfc-entry-sources a{font-weight:500}
.building-function-catalogue .bfc-related{display:block;border-top:1px solid var(--line);padding-top:13px;margin-top:16px;font-weight:500}
.building-function-catalogue .bfc-empty{grid-column:1/-1;text-align:center;padding:28px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:14px;margin:0}
.building-function-catalogue .bfc-footer{display:grid;justify-items:center;gap:14px;padding:21px 0 8px}
.building-function-catalogue .bfc-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.building-function-catalogue .bfc-pagination span{font-size:12px;color:var(--muted);min-width:88px;text-align:center}
.building-function-catalogue .bfc-exports{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.building-function-catalogue .bfc-exports>span{font-size:11px;color:var(--muted);margin-right:4px}
.building-function-catalogue .bfc-disclosure{border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-top:18px;min-width:0}
.building-function-catalogue .bfc-disclosure>summary{cursor:pointer;color:var(--ink);font:500 14px/1.5 Inter,Arial,sans-serif;padding:16px 20px;overflow-wrap:anywhere}
.building-function-catalogue .bfc-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.building-function-catalogue .bfc-disclosure-body{padding:18px 20px;min-width:0}
.building-function-catalogue .bfc-disclosure-body>p{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 15px;max-width:1000px}
.building-function-catalogue .bfc-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:6px}
.building-function-catalogue table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:700px;font:400 12px/1.6 Inter,Arial,sans-serif;color:var(--text);margin:0;background:var(--surface)}
.building-function-catalogue caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.building-function-catalogue th,.building-function-catalogue td{padding:14px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.building-function-catalogue thead th{background:var(--panel-soft);font-weight:600;color:var(--ink);font-size:11px}
.building-function-catalogue tbody th{font-weight:600;color:var(--ink)}
.building-function-catalogue tbody tr:last-child :is(th,td){border-bottom:0}
.building-function-catalogue .bfc-judgment{display:block;font-size:10px;font-weight:500;color:var(--accent);margin-top:7px}
.building-function-catalogue .bfc-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.building-function-catalogue .bfc-source-list article{min-width:0;overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding-bottom:15px}
.building-function-catalogue .bfc-source-list a{font-weight:600}
.building-function-catalogue .bfc-source-list p{font-size:12px;line-height:1.65;color:var(--muted);margin:7px 0 0}
.building-function-catalogue .bfc-disclosure-body .bfc-update{margin:16px 0 0;font-size:11px}
@media(max-width:1199px){.building-function-catalogue .bfc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-function-catalogue .bfc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.building-function-catalogue .bfc-search{grid-column:1/-1}}
@media(max-width:650px){.building-function-catalogue{margin-top:20px}.building-function-catalogue .bfc-heading h2{font-size:22px}.building-function-catalogue .bfc-heading p{font-size:13px}.building-function-catalogue .bfc-filters,.building-function-catalogue .bfc-grid,.building-function-catalogue .bfc-source-list{grid-template-columns:minmax(0,1fr)}.building-function-catalogue .bfc-filters{gap:12px}.building-function-catalogue .bfc-search{grid-column:auto}.building-function-catalogue .bfc-card{padding:17px}.building-function-catalogue .bfc-disclosure>summary{padding:14px 16px}.building-function-catalogue .bfc-disclosure-body{padding:16px}.building-function-catalogue .bfc-exports>span{flex-basis:100%;text-align:center;margin:0 0 2px}.building-function-catalogue .bfc-pagination{gap:8px}.building-function-catalogue .bfc-pagination span{min-width:76px}.building-function-catalogue table{min-width:670px}}
@media print{.building-function-catalogue .bfc-filters,.building-function-catalogue .bfc-result-bar button,.building-function-catalogue .bfc-footer{display:none}.building-function-catalogue .bfc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-function-catalogue .bfc-card{break-inside:avoid}.building-function-catalogue .bfc-table-scroll{overflow:visible}.building-function-catalogue table{min-width:0}}

/* Page numbers keep every catalogue entry reachable without sequential controls. */
.building-function-catalogue .bfc-page-numbers{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.building-function-catalogue .bfc-page-numbers button{min-width:34px;padding:7px 10px;background:var(--surface)}
.building-function-catalogue .bfc-page-numbers button[aria-current=page]{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.building-function-catalogue .bfc-result-bar{scroll-margin-top:100px}

/* Keep the catalogue introduction compact; its interpretation remains available. */
.building-function-catalogue .bfc-heading{max-width:none;margin-bottom:16px}
.building-function-catalogue .bfc-heading h2{font-size:23px;margin:5px 0 8px}
.building-function-catalogue .bfc-introduction{margin-top:6px}
.building-function-catalogue .bfc-introduction>summary{cursor:pointer;color:var(--accent);font-size:13px;line-height:1.5;padding:5px 0}
.building-function-catalogue .bfc-introduction[open]{padding-bottom:5px}
.building-function-catalogue .bfc-introduction p{max-width:960px;font-size:13px;line-height:1.65;margin:8px 0}
.building-function-catalogue .bfc-category,.building-function-catalogue .bfc-basis{font-size:12px;letter-spacing:0;text-transform:none}

/* Research briefs share the Guide's restrained cards and full-width source panel. */
.building-function-catalogue .bfc-grid{align-items:stretch}
.building-function-catalogue .bfc-function-card{display:flex;flex-direction:column;text-decoration:none;padding:18px;border-radius:10px;transition:border-color .15s,box-shadow .15s}
.building-function-catalogue .bfc-function-card:hover{border-color:var(--accent-line);box-shadow:0 3px 12px rgb(0 0 0 / .035)}
.building-function-catalogue .bfc-function-card h3{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.4}
.building-function-catalogue .bfc-function-card h3 svg{width:18px;height:18px;flex:0 0 18px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.5}
.building-function-catalogue .bfc-function-card .bfc-question{color:var(--text);margin-bottom:16px;font-size:12px}
.building-function-catalogue .bfc-function-card .bfc-basis{margin-top:auto;align-self:flex-start}
.building-function-catalogue .bfc-card-open{display:block;margin-top:15px;font-size:12px;color:var(--accent);font-weight:600}
.bfc-brief{min-width:0;color:var(--text);padding:24px;font-family:inherit}
.bfc-brief-heading{border-bottom:1px solid var(--line);padding-bottom:22px}
.bfc-brief-heading .bfc-category{font-size:12px;color:var(--muted)}
.bfc-brief-heading h2{font:600 28px/1.25 Inter,Arial,sans-serif;color:var(--ink);letter-spacing:-.035em;margin:9px 0 12px;max-width:900px}
.bfc-brief-heading h2:focus{outline:none}
.bfc-brief-heading p{max-width:950px;font-size:14px;line-height:1.65;margin:0 0 16px;color:var(--muted)}
.bfc-brief .bfc-basis{display:inline-block;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--accent);padding:5px 10px;font-size:12px;line-height:1.45}
.bfc-source-count{font-size:12px;color:var(--muted);margin-left:12px}
.bfc-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}
.bfc-brief-section{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:20px;min-width:0}
.bfc-brief-section h3{font:600 16px/1.4 Inter,Arial,sans-serif;letter-spacing:-.015em;color:var(--ink);margin:0 0 13px}
.bfc-brief-section p,.bfc-brief-section li{font-size:13px;line-height:1.7;color:var(--text)}
.bfc-brief-section p{margin:9px 0}
.bfc-brief-section ul,.bfc-brief-section ol{padding-left:20px;margin:9px 0}
.bfc-brief-section li+li{margin-top:10px}
.bfc-brief-section .bfc-small-note{font-size:12px;line-height:1.65;color:var(--muted)}
.bfc-brief-section .bfc-transfer{border-left:2px solid var(--accent-line);padding-left:13px}
.bfc-brief .bfc-topic-links{display:grid;gap:0}
.bfc-topic-links>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:10px 0}
.bfc-topic-links a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);text-decoration:none;font-size:12px;line-height:1.5;min-height:32px}
.bfc-topic-links a:first-child{font-weight:600}
.bfc-topic-links svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.bfc-related-study{border-top:1px solid var(--line);padding-top:12px}
.bfc-related-study a{color:var(--accent);font-weight:600;font-size:12px;line-height:1.6;text-underline-offset:3px}
.bfc-related-study small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px}
.bfc-brief-audit{margin:24px -24px -24px;border-top:1px solid var(--line);background:var(--panel-soft)}
.bfc-brief-audit>summary{cursor:pointer;display:flex;justify-content:center;align-items:center;gap:13px;padding:18px 24px;min-height:58px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;list-style:none}
.bfc-brief-audit>summary:before{content:'›';font-size:21px;font-weight:400;line-height:1;transition:transform .15s}
.bfc-brief-audit[open]>summary:before{transform:rotate(90deg)}
.bfc-brief-audit>summary::-webkit-details-marker{display:none}
.bfc-brief-audit>summary>span:last-child{font-size:12px;font-weight:400;color:var(--muted)}
.bfc-brief-audit-body{border-top:1px solid var(--line);background:var(--surface);padding:22px 24px}
.bfc-brief-audit-body>p{font-size:12px;line-height:1.7;color:var(--muted);max-width:1080px;margin:0 0 20px}
.bfc-brief .bfc-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.bfc-brief .bfc-source-card{border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0;overflow-wrap:anywhere}
.bfc-source-card h3{font:600 14px/1.55 Inter,Arial,sans-serif;margin:0 0 8px;color:var(--ink)}
.bfc-source-card h3 a{color:var(--accent);text-underline-offset:3px;font-weight:600}
.bfc-source-card p{font-size:12px;line-height:1.65;margin:9px 0;color:var(--text)}
.bfc-source-card .bfc-source-type,.bfc-source-card small{font-size:11px;line-height:1.6;color:var(--muted)}
.bfc-source-card .bfc-verification-limit{border-left:2px solid var(--accent-line);padding-left:11px;font-size:12px;color:var(--muted)}
.bfc-brief :is(a,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:750px){.bfc-brief{padding:18px 16px}.bfc-brief-heading h2{font-size:25px}.bfc-brief-heading p{font-size:13px}.bfc-source-count{display:block;margin:10px 0 0}.bfc-brief-grid,.bfc-brief .bfc-source-list{grid-template-columns:1fr}.bfc-brief-section{padding:17px}.bfc-brief-audit{margin:22px -16px -18px}.bfc-brief-audit>summary{padding:16px;font-size:13px;flex-wrap:wrap;gap:7px}.bfc-brief-audit-body{padding:18px 16px}}
@media print{.bfc-brief-grid{grid-template-columns:1fr 1fr}.bfc-brief-section,.bfc-source-card{break-inside:avoid}.bfc-brief-audit-body{display:block!important}.bfc-topic-links{display:none}}
