/* Real company photographs. No image here is assigned to an unverified site.
   Product-range thumbnails describe material specialization, not buildings. */
.bf-hero { background:#edf4f8; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; min-height:540px; }
.bf-hero .split-hero-copy { align-self:center; padding-top:40px; padding-bottom:48px; }
.bf-hero .split-hero-copy h1 { max-width:650px; }
.bf-hero .split-hero-copy>p:not(.eyebrow) { max-width:475px; }
.bf-photo { margin:0; min-width:0; overflow:hidden; background:#e6edf2; }
.bf-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:none; }
.bf-photo figcaption { position:static; padding:13px 16px; color:#476379; background:#f1f6f9; font:400 14px/1.5 Source Serif 4 Local,sans-serif; letter-spacing:0; }
.bf-hero .bf-hero-photo { display:flex; flex-direction:column; min-height:540px; height:auto; aspect-ratio:auto; background:#e5edf2; }
.bf-hero .bf-hero-photo img { position:static; flex:1 1 auto; min-height:0; height:490px; transform:none; object-fit:cover; object-position:50% 48%; }
.bf-hero .bf-hero-photo figcaption { max-width:none; width:auto; align-self:stretch; flex:none; position:static; margin:0; padding:13px 24px; background:#dce9f1; }
.bf-quality-hero .bf-hero-photo { background:#dce6ec; }
.bf-quality-hero .bf-hero-photo img { object-fit:contain; height:500px; padding:0; }
.bf-heading { max-width:850px; margin-bottom:32px; }
.bf-heading .eyebrow { margin:0 0 15px; }
.bf-heading h2,.bf-quality-link h2 { margin:0; font:400 var(--type-h2,40px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.025em; }
.bf-floor-story { background:#fff; }
.bf-photo-journal { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:28px; }
.bf-journal-entry { min-width:0; }
.bf-batch-pair,.bf-check-pair,.bf-packing-photo { height:300px; }
.bf-batch-pair { position:relative; padding-bottom:28px; }
.bf-batch-pair .bf-batch-main { height:100%; }
.bf-batch-inset { position:absolute; width:43%; right:0; bottom:0; aspect-ratio:4/3; border:5px solid #fff; }
.bf-check-pair { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.bf-check-pair .bf-photo { height:100%; background:#dce6ec; }
.bf-check-pair img { object-fit:contain; object-position:center; }
.bf-packing-photo img { object-position:50% 50%; }
.bf-journal-copy { padding-top:24px; }
.bf-journal-copy>span { color:#52738a; font:400 14px/1.5 Source Serif 4 Local,sans-serif; letter-spacing:.08em; }
.bf-journal-copy h3 { margin:10px 0 10px; font:400 26px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.015em; }
.bf-journal-copy p { margin:0; max-width:360px; font:400 16px/1.6 Source Serif 4 Local,sans-serif; color:#476379; }
.bf-route { background:#edf4f8; }
.bf-route .refine-route-layout { grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:64px; }
.bf-route .refine-heading { margin-bottom:35px; }
.bf-assembly-pair { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:start; gap:15px; margin-bottom:27px; }
.bf-assembly-main img { height:320px; object-fit:contain; background:#fff; }
.bf-assembly-secondary { margin-top:80px; }
.bf-assembly-secondary img { height:160px; object-fit:contain; background:#fff; }
.bf-assembly-pair figcaption { padding:12px 0; background:transparent; }
.bf-route .bf-route-intro { font:400 22px/1.4 Georgia,'Times New Roman',serif; color:#082b48; max-width:430px; margin:0 0 15px; }
.bf-route .refine-route-note { max-width:450px; font-size:16px; }
.bf-inline-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 25px; }
.bf-inline-links .text-link { min-height:44px; display:flex; align-items:center; font:400 16px/1.5 Source Serif 4 Local,sans-serif; text-decoration:underline; text-underline-offset:6px; }
.bf-route .bf-route-detail { display:block; padding:0 0 22px 50px; }
.bf-route .refine-route-step summary { padding:19px 0; }
.bf-route .refine-route-step summary strong { font-size:21px; }
.bf-route .bf-route-detail .refine-applicability { margin-bottom:10px; }
.bf-quality-link { display:flex; justify-content:space-between; align-items:center; gap:45px; padding-top:40px; padding-bottom:40px; background:#fff; border-bottom:1px solid #d4e1ea; }
.bf-quality-link .eyebrow { margin:0 0 12px; }
.bf-quality-link h2 { font-size:32px; max-width:680px; }
.bf-quality-link .site-button { flex:none; }
.bf-verification .refine-verification-layout { align-items:start; gap:70px; }
.bf-magnetic-check { max-width:520px; background:#edf4f8; }
.bf-field-photo { background:#dce6ec; }
.bf-field-photo img { object-fit:contain; height:460px; }
.bf-field-photo figcaption { padding:16px 24px 0; background:transparent; }
.bf-magnetic-check>p { margin:0; padding:12px 24px 23px; font:400 16px/1.6 Source Serif 4 Local,sans-serif; color:#476379; }
.bf-verification .refine-control-list { margin-top:0; }
.bf-verification .refine-control summary { min-height:98px; padding:20px 0; }
.bf-verification .refine-control summary strong { font-size:21px; }
.bf-release .bf-release-scope { background:transparent; color:#fff; padding:0; }
.bf-release .refine-register-heading { color:#a6c5d9; border-color:#496980; }
.bf-release .refine-evidence-row { border-color:#35556e; }
.bf-release .refine-evidence-row h3 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:25px; }
.bf-release .refine-evidence-row p { color:#c8dbe8; }
.bf-release .refine-evidence-row .refine-sequence { color:#90b9d3; }
.bf-network-index { background:#082b48; padding-top:30px; padding-bottom:30px; }
.bf-network-index .network-visual { max-width:none; }
.bf-network-index .network-visual>h2 { font:400 25px/1.2 Georgia,'Times New Roman',serif; color:#fff; margin:0 0 24px; }
.bf-network-index .corporate-factory-nodes { display:grid; position:static; inset:auto; z-index:auto; padding:0; background:transparent; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; margin:0; }
.bf-network-index .corporate-factory-nodes>a { background:transparent; border:0; border-left:1px solid #46667e; border-radius:0; display:block; padding:4px 20px 3px; min-height:0; }
.bf-network-index .corporate-factory-nodes>a:first-child { padding-left:0; border:0; }
.bf-network-index .corporate-factory-nodes>a:hover { background:#153d5b; }
.bf-network-index .corporate-node-index { display:block; border:0; border-radius:0; background:transparent; width:auto; height:auto; padding:0; margin:0 0 9px; color:#8ebbd7; font:400 14px/1.4 Source Serif 4 Local,sans-serif; }
.bf-network-index .corporate-factory-nodes strong { font-size:23px; margin-bottom:4px; }
.bf-network-index .corporate-factory-nodes small { margin:0; }
.bf-directory { background:#fff; }
.bf-directory .corporate-factory-controls { border:0; background:#edf4f8; margin:26px 0 32px; padding:20px 24px; gap:15px 24px; }
.bf-directory .corporate-factory-controls label { min-width:180px; max-width:320px; }
.bf-directory .corporate-factory-controls #factory-count { flex-basis:auto; margin-left:auto; padding-bottom:13px; }
.bf-directory .factory-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.bf-directory .bf-site-card { border:1px solid #d4e2eb; background:#f6f9fb; display:block; padding:28px; min-width:0; }
.bf-directory [hidden] { display:none!important; }
.bf-directory .bf-site-copy { padding:0; }
.bf-site-heading { display:grid; grid-template-columns:minmax(0,1fr) 140px; column-gap:24px; margin-bottom:17px; min-height:150px; align-items:start; }
.bf-site-heading .bf-site-index { grid-column:1; color:#66849a; font:400 14px/1.4 Source Serif 4 Local,sans-serif; letter-spacing:.06em; margin:0 0 13px; }
.bf-site-heading>div { grid-column:1; grid-row:2; align-self:start; }
.bf-site-heading .eyebrow { margin:0 0 5px; font-size:14px; letter-spacing:.08em; }
.bf-site-heading h2 { margin:0; font-size:34px; }
.bf-directory .bf-site-product { grid-column:2; grid-row:1/3; width:140px; overflow:visible; background:#fff; }
.bf-directory .bf-site-product img { width:140px; height:115px; aspect-ratio:auto; object-fit:contain; }
.bf-directory .bf-site-product figcaption { position:static; display:block; text-align:center; background:transparent; padding:9px 0 0; color:#66849a; font:400 14px/1.4 Source Serif 4 Local,sans-serif; letter-spacing:0; }
.bf-directory .bf-site-copy h3 { font:400 24px/1.25 Georgia,'Times New Roman',serif; margin:0 0 12px; }
.bf-site-scope { margin:0; min-height:54px; font:400 16px/1.65 Source Serif 4 Local,sans-serif; color:#476379; }
.bf-directory .visual-detail { margin:18px 0 7px; border-top:1px solid #c9dce9; border-bottom:1px solid #c9dce9; background:transparent; }
.bf-directory .visual-detail summary { font:400 16px/1.5 Source Serif 4 Local,sans-serif; padding:14px 0; }
.bf-directory .visual-detail-body { padding:0 0 15px; }
.bf-directory .visual-detail-body p { font:400 16px/1.6 Source Serif 4 Local,sans-serif; margin:0; }
.bf-site-products { display:flex; flex-wrap:wrap; gap:0 23px; }
.bf-directory .factory-product-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.bf-directory .bf-site-copy>.site-button { display:inline-flex; justify-content:center; min-height:48px; margin-top:14px; padding:11px 20px; }
.bf-directory .fineprint { margin:25px 0 0; font-size:14px; }
@media(max-width:1100px) {
 .bf-hero .bf-hero-photo { min-height:500px; }
 .bf-hero .bf-hero-photo img { height:440px; }
 .bf-photo-journal { gap:20px; }
 .bf-batch-pair,.bf-check-pair,.bf-packing-photo { height:260px; }
 .bf-journal-copy h3 { font-size:24px; }
 .bf-route .refine-route-layout,.bf-verification .refine-verification-layout { gap:35px; }
 .bf-assembly-pair { grid-template-columns:minmax(0,1fr); gap:0; }
 .bf-assembly-main img { height:270px; }
 .bf-assembly-secondary { display:none; }
 .bf-network-index .corporate-factory-nodes>a { padding-left:13px; padding-right:13px; }
 .bf-network-index .corporate-factory-nodes strong { font-size:21px; }
 .bf-directory .bf-site-card { padding:22px; }
 .bf-site-heading { grid-template-columns:minmax(0,1fr) 110px; gap:0 14px; }
 .bf-directory .bf-site-product,.bf-directory .bf-site-product img { width:110px; }
 .bf-directory .bf-site-product img { height:110px; }
 .bf-site-heading h2 { font-size:30px; }
}
@media(max-width:760px) {
 .bf-hero { grid-template-columns:1fr; grid-template-rows:auto auto; }
 .bf-hero .split-hero-copy { padding:27px 20px 32px; }
 .bf-hero .bf-hero-photo { min-height:0; }
 .bf-hero .bf-hero-photo img { height:300px; flex:none; }
 .bf-quality-hero .bf-hero-photo img { height:370px; }
 .bf-hero .bf-hero-photo figcaption { padding:12px 20px; }
 .bf-heading { margin-bottom:26px; }
 .bf-photo-journal { grid-template-columns:1fr; gap:32px; }
 .bf-batch-pair,.bf-check-pair,.bf-packing-photo { height:310px; }
 .bf-check-pair { gap:6px; }
 .bf-check-pair img { object-fit:contain; }
 .bf-journal-copy { padding-top:19px; }
 .bf-journal-copy h3 { font-size:27px; }
 .bf-journal-copy p { max-width:none; }
 .bf-route .refine-route-layout,.bf-verification .refine-verification-layout { grid-template-columns:1fr; gap:30px; }
 .bf-assembly-pair { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:12px; }
 .bf-assembly-main img { height:240px; }
 .bf-assembly-secondary { display:block; margin-top:60px; }
 .bf-assembly-secondary img { height:135px; }
 .bf-route .bf-route-detail { padding-left:36px; }
 .bf-route .refine-route-step summary strong { font-size:19px; }
 .bf-quality-link { display:block; padding-top:34px; padding-bottom:34px; }
 .bf-quality-link h2 { font-size:29px; }
 .bf-quality-link .site-button { margin-top:24px; }
 .bf-magnetic-check { max-width:none; }
 .bf-field-photo img { height:380px; }
 .bf-field-photo figcaption { padding:15px 20px 0; }
 .bf-magnetic-check>p { padding:12px 20px 20px; }
 .bf-verification .refine-control summary { min-height:88px; }
 .bf-verification .refine-control summary strong { font-size:19px; }
 .bf-release .refine-evidence-row h3 { font-size:24px; }
 .bf-network-index { padding-top:27px; padding-bottom:27px; }
 .bf-network-index .corporate-factory-nodes { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:25px; }
 .bf-network-index .corporate-factory-nodes>a { padding:0 12px; }
 .bf-network-index .corporate-factory-nodes>a:nth-child(4) { border:0; padding-left:0; }
 .bf-network-index .corporate-factory-nodes strong { font-size:21px; }
 .bf-directory .corporate-factory-controls { padding:18px; gap:15px; }
 .bf-directory .corporate-factory-controls label { min-width:100%; max-width:none; }
 .bf-directory .corporate-factory-controls #factory-count { padding:0; font-size:14px; }
 .bf-directory .factory-photo-grid { grid-template-columns:1fr; gap:20px; }
 .bf-directory .bf-site-card { padding:22px; }
 .bf-site-heading { grid-template-columns:minmax(0,1fr) 116px; min-height:144px; column-gap:18px; }
 .bf-directory .bf-site-product,.bf-directory .bf-site-product img { width:116px; }
 .bf-site-heading h2 { font-size:31px; }
 .bf-site-scope { min-height:0; }
}
@media(max-width:360px) {
 .bf-directory .bf-site-card { padding:18px; }
 .bf-site-heading { grid-template-columns:minmax(0,1fr) 95px; gap:0 12px; }
 .bf-directory .bf-site-product,.bf-directory .bf-site-product img { width:95px; }
 .bf-site-heading h2 { font-size:27px; }
 .bf-network-index .corporate-factory-nodes strong { font-size:19px; }
 .bf-network-index .corporate-factory-nodes>a { padding-right:6px; padding-left:8px; }
 .bf-batch-pair,.bf-check-pair,.bf-packing-photo { height:275px; }
}
