
.braganca-case { --bc-paper:#f4f3ee; --bc-line:#d9ddd7; }
.bc-main :is(.bc-section,.bc-hero) { overflow-wrap:anywhere; }
.bc-main :is(.bc-hero-grid,.bc-film-grid,.bc-facts,.bc-metrics)>* { min-width:0; }
.bc-button,.bc-text-link { max-width:100%; }
.bc-main .wrap { width:min(calc(100% - 64px),1180px); }
.bc-main .bc-section { padding:76px 0; scroll-margin-top:100px; }
.bc-main .bc-heading { max-width:820px; margin-bottom:36px; }
.bc-main .bc-heading h2 { margin:0 0 20px; }
.bc-main .bc-heading>p:last-child { max-width:720px; color:#555c56; font-size:1.05rem; }
.bc-main .bc-heading .eyebrow { margin-bottom:16px; }
.bc-main .hero.bc-hero { display:block; min-height:0; background:#192120; padding:58px 0 48px; }
.bc-main .bc-hero::before,.bc-main .bc-hero::after { display:none; }
.bc-main .bc-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.88fr); gap:56px; align-items:center; }
.bc-main .bc-hero h1 { font-size:clamp(2.8rem,4.7vw,4.8rem); max-width:10em; margin-bottom:25px; line-height:1; }
.bc-main .bc-hero .eyebrow { color:#d7ba86; }
.bc-lead { color:#d6dcd7; font-size:1.05rem; max-width:540px; }
.bc-metrics { display:grid; grid-template-columns:1fr 1.5fr .85fr; gap:20px; margin:34px 0; padding:24px 0; border-block:1px solid #52605c; }
.bc-metrics>div { display:flex; flex-direction:column-reverse; justify-content:end; }
.bc-metrics dt { font-size:.73rem; color:#d1d8d3; line-height:1.5; }
.bc-metrics dd { margin:0 0 10px; font:400 2.8rem/1 Georgia,serif; color:#e0c493; }
.bc-metrics small { display:block; font:400 .75rem/1.5 Inter,system-ui,sans-serif; margin-top:9px; }
.bc-hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.bc-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; background:#eee7d9; color:#192120; padding:14px 18px; font-size:.83rem; font-weight:650; }
.bc-text-link { display:inline-block; font-size:.86rem; text-decoration:underline; text-underline-offset:5px; }
.bc-hero .bc-picture { background:transparent; }
.bc-hero .bc-zoom img { height:560px; object-fit:cover; object-position:50% 43%; }
.bc-hero .bc-picture figcaption { color:#ecf0e9; padding:14px 0 0; background:transparent; }
.bc-hero .bc-identity { color:#d4b980; }
.bc-jump { display:flex; flex-wrap:wrap; gap:10px 28px; padding-block:20px; border-bottom:1px solid var(--bc-line); font-size:.82rem; }
.bc-jump a { padding:6px 0; }
.bc-jump a:hover { text-decoration:underline; text-underline-offset:5px; }
.bc-facts { display:grid; grid-template-columns:1fr 1fr 1.1fr 1.7fr; gap:24px; margin:0; border-top:1px solid var(--bc-line); padding-top:24px; }
.bc-facts dt { text-transform:uppercase; font-size:.7rem; letter-spacing:.08em; color:#657066; margin-bottom:8px; }
.bc-facts dd { margin:0; font-size:.9rem; font-weight:550; }
.bc-film { background:var(--bc-paper); }
.bc-film-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:100px; align-items:center; }
.bc-film-grid>div:first-child { max-width:660px; }
.bc-film h2 { margin-bottom:24px; }
.bc-film p { max-width:600px; color:#555c56; }
.bc-video-frame { background:#192120; }
.bc-video-frame video { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; }
.bc-video-note { font-size:.82rem; }
.bc-transcript { margin-top:30px; border-top:1px solid var(--bc-line); padding-top:16px; font-size:.86rem; }
.bc-transcript summary { cursor:pointer; }
.bc-transcript p { margin-top:14px; }
.bc-scope-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.bc-scope-card { border-bottom:1px solid var(--bc-line); min-width:0; }
.bc-scope-card>div { padding:18px 0 22px; }
.bc-scope-photo { display:block; }
.bc-scope-photo img { height:190px; object-fit:cover; }
.bc-scope-card h3 { font-size:1rem; margin:14px 0 8px; line-height:1.35; }
.bc-scope-card p:not(.bc-quantity) { color:#58615a; font-size:.87rem; margin-bottom:0; }
.bc-quantity { display:flex; align-items:baseline; gap:9px; font:400 2rem/1 Georgia,serif; margin:0; color:#816037; }
.bc-quantity span { font:400 .72rem/1.5 Inter,system-ui,sans-serif; color:#59625d; }
.bc-scope-text { grid-column:span 2; }
.bc-scope-text>div { display:grid; grid-template-columns:80px 1fr 1.4fr; gap:12px; align-items:start; padding:18px 0; }
.bc-scope-text h3 { margin:0; }
.bc-process { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-bottom:30px; }
.bc-process article { border-top:1px solid var(--bc-line); padding-top:20px; }
.bc-process article>span { font-size:.75rem; color:#816037; }
.bc-process h3 { font-size:1.05rem; margin:12px 0; }
.bc-process p { font-size:.9rem; color:#58615a; }
.bc-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.bc-picture { margin:0; min-width:0; background:#e9ece5; }
.bc-zoom { position:relative; display:block; width:100%; border:0; padding:0; background:#e9ece5; cursor:zoom-in; color:inherit; }
.bc-zoom img { width:100%; height:380px; object-fit:contain; }
.bc-picture figcaption { padding:14px 16px 18px; font-size:.85rem; background:#f6f7f3; }
.bc-identity { display:block; font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:#6c532e; margin-bottom:4px; }
.bc-image-hint { position:absolute; right:12px; bottom:12px; background:#192120e8; color:#fff; padding:7px 10px; font-size:.68rem; letter-spacing:.02em; }
.bc-engineering-note,.bc-reference-note { font-size:.83rem; color:#58615a; margin:20px 0 0; max-width:950px; }
.bc-gallery { background:var(--bc-paper); }
.bc-comparison+ .bc-comparison { margin-top:38px; }
.bc-comparison>h3 { font-size:1.1rem; margin:0 0 14px; font-weight:600; }
.bc-checks { padding:0; margin:0 0 30px; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:0 24px; }
.bc-checks li { border-top:1px solid var(--bc-line); padding:14px 0; font-size:.86rem; }
.bc-checks li::before { content:'✓'; margin-right:9px; color:#816037; }
.bc-delivery .bc-zoom img { object-fit:contain; }
.bc-outcome { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; }
.bc-outcome p:not(.eyebrow) { color:#555c56; }
.bc-related { background:#eceee8; padding:32px 0; }
.bc-related .wrap>div { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; }
.bc-related a { display:flex; justify-content:space-between; gap:16px; padding:14px 0; font-size:.88rem; border-top:1px solid #c9cfc5; }
.bc-lightbox { width:min(1120px,94vw); max-width:94vw; max-height:94vh; border:0; padding:16px; background:#192120; color:#fff; }
.bc-lightbox::backdrop { background:#000d; }
.bc-lightbox form { display:flex; justify-content:flex-end; margin-bottom:10px; }
.bc-close { padding:10px 16px; border:1px solid #9da9a2; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.bc-lightbox>img { width:100%; height:auto; max-height:72vh; object-fit:contain; }
.bc-lightbox-caption { margin:14px 0 0; font-size:.9rem; text-align:center; }
.braganca-case:has(.bc-lightbox[open]) { overflow:hidden; }
.bc-main :is(a,button,summary):not(.fab-enquiry *):focus-visible,.bc-lightbox button:focus-visible { outline:3px solid #b38648; outline-offset:4px; }
@media(max-width:1000px) {
 .bc-main .bc-hero-grid { gap:32px; }
 .bc-film-grid { gap:48px; grid-template-columns:minmax(0,1fr) 300px; }
 .bc-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bc-scope-text { grid-column:auto; }
 .bc-scope-text>div { display:block; }
 .bc-scope-text h3 { margin-top:14px; }
 .bc-scope-text p:not(.bc-quantity) { margin-top:8px; }
 .bc-facts { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
 .bc-main .wrap { width:calc(100% - 32px); }
 .bc-main .bc-section { padding:48px 0; scroll-margin-top:85px; }
 .bc-main .hero.bc-hero { padding:36px 0 32px; }
 .bc-main .bc-hero-grid,.bc-film-grid,.bc-outcome { grid-template-columns:1fr; gap:30px; }
 .bc-main .bc-hero h1 { font-size:clamp(2.5rem,10vw,3.2rem); }
 .bc-hero .bc-zoom img { height:auto; max-height:460px; object-fit:contain; }
 .bc-metrics { gap:12px; margin:24px 0; padding:20px 0; }
 .bc-metrics dd { font-size:2.1rem; }
 .bc-metrics dt { font-size:.68rem; }
 .bc-metrics small { font-size:.68rem; }
 .bc-main .bc-heading h2,.bc-main .bc-film h2,.bc-main .bc-outcome h2 { font-size:2.3rem !important; }
 .bc-main .bc-heading { margin-bottom:24px; }
 .bc-main .bc-heading>p:last-child { font-size:1rem; }
 .bc-jump { gap:4px 22px; font-size:.8rem; padding-block:14px; }
 .bc-video-frame { width:min(100%,330px); justify-self:center; }
 .bc-scope-grid { gap:20px 16px; }
 .bc-scope-photo img { height:175px; }
 .bc-scope-card h3 { font-size:.91rem; }
 .bc-scope-card p:not(.bc-quantity) { font-size:.82rem; }
 .bc-process { grid-template-columns:1fr; gap:10px; }
 .bc-process p { margin-bottom:16px; }
 .bc-pair { grid-template-columns:1fr; gap:18px; }
 .bc-zoom img { height:auto; max-height:500px; object-fit:contain; }
 .bc-picture figcaption { padding:12px 14px 16px; }
 .bc-comparison+ .bc-comparison { margin-top:30px; }
 .bc-checks { grid-template-columns:1fr 1fr; gap:0 16px; }
 .bc-related .wrap>div { grid-template-columns:1fr; gap:4px; }
 .bc-lightbox { padding:12px; }
}
