.bps-home-body{margin:0;background:#fbf8f3;color:#2c1c16}
.bps-home{--ink:#2b1b15;--brown:#945a25;--cream:#fbf8f3;--line:#e4d9cc;--wrap:1200px;font-family:Inter,Arial,sans-serif;overflow:hidden}
.bps-home *{box-sizing:border-box}
.bh-wrap{width:min(calc(100% - 48px),var(--wrap));margin:auto}
.bh-header{background:rgba(255,252,247,.97);border-bottom:1px solid var(--line);position:relative;z-index:10}
.bh-header-inner{height:94px;display:flex;align-items:center;gap:32px}
.bh-brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--ink);margin-right:auto}
.bh-brand strong{font:27px/1 Georgia,'Times New Roman',serif;letter-spacing:-.06em}
.bh-brand small{font-size:9px;letter-spacing:.02em;margin-top:8px}
.bh-nav{display:flex;align-items:stretch;gap:31px;height:100%}
.bh-nav a{position:relative;display:flex;align-items:center;text-transform:uppercase;font-weight:700;font-size:11px;color:var(--ink);text-decoration:none;white-space:nowrap}
.bh-nav a.is-active:after{content:'';position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--brown)}
.bh-quote,.bh-button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.03em;background:var(--brown);border:1px solid var(--brown);color:#fff!important;padding:14px 23px;min-height:42px;transition:transform .2s,background .2s}
.bh-quote:hover,.bh-button:hover{background:#6e3e1a;border-color:#6e3e1a;transform:translateY(-1px)}
.bh-menu-toggle{display:none}
.bh-hero{min-height:500px;background:linear-gradient(90deg,rgba(255,250,242,.93) 0%,rgba(255,250,242,.68) 41%,rgba(255,250,242,.05) 70%),var(--hero) center/cover no-repeat;display:flex;align-items:center}
.bh-hero-inner{padding:70px 0 74px}
.bh-eyebrow{font-size:10px;line-height:1.2;text-transform:uppercase;font-weight:800;letter-spacing:.05em;color:var(--brown);margin:0 0 9px}
.bh-hero h1,.bh-section h2,.bh-inquiry h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:var(--ink);letter-spacing:-.04em}
.bh-hero h1{font-size:clamp(46px,5vw,70px);line-height:1.03;margin:0;max-width:650px}
.bh-hero h1 em{font-style:normal;color:var(--brown)}
.bh-lead{font-size:15px;font-weight:700;line-height:1.55;max-width:500px;margin:28px 0 12px}
.bh-trust{font-size:13px;margin:0 0 25px}
.bh-trust i{height:4px;width:4px;background:var(--brown);border-radius:50%;display:inline-block;margin:0 8px 2px}
.bh-actions{display:flex;gap:12px}
.bh-button-outline{background:rgba(255,255,255,.25);border-color:var(--ink);color:var(--ink)!important}
.bh-button-outline:hover{color:#fff!important}
.bh-section{padding:60px 0}
.bh-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.bh-section h2{font-size:31px;line-height:1.1;margin:0}
.bh-section-head>a{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--brown);text-decoration:none;white-space:nowrap}
.bh-section-head>a span{font-size:17px;margin-left:7px}
.bh-collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bh-card{border:1px solid var(--line);background:#fff;border-radius:3px;overflow:hidden}
.bh-image-link{display:block;position:relative;overflow:hidden;background:#e8dfd3}
.bh-image-link img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .45s ease}
.bh-image-link:hover img{transform:scale(1.055)}
.bh-image-link span{position:absolute;right:10px;top:10px;width:28px;height:28px;background:rgba(50,29,18,.65);color:#fff;display:grid;place-items:center;opacity:0;transform:translateY(-4px);transition:.2s}
.bh-image-link:hover span{opacity:1;transform:none}
.bh-card>div{padding:12px 13px 14px}
.bh-card h3{font-size:13px;margin:0 0 2px}
.bh-card p{font-size:11px;color:#71675e;margin:0}
.bh-app-section{padding-top:22px}
.bh-app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.bh-app-card,.bh-project-grid button,.bh-material-grid button,.bh-factory-main,.bh-factory-support button{border:0;padding:0;text-align:left;background:#ddd;cursor:zoom-in;position:relative;overflow:hidden;border-radius:3px}
.bh-app-card{height:160px}
.bh-app-card img,.bh-project-grid img,.bh-material-grid img,.bh-factory-main img,.bh-factory-support img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.bh-app-card:after,.bh-project-grid button:after,.bh-material-grid button:after,.bh-factory-support button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,13,7,.67),rgba(25,13,7,.02) 65%)}
.bh-app-card:hover img,.bh-project-grid button:hover img,.bh-material-grid button:hover img,.bh-factory-main:hover img,.bh-factory-support button:hover img{transform:scale(1.055)}
.bh-app-card span{position:absolute;left:12px;bottom:11px;color:#fff;font-size:12px;font-weight:800;z-index:1}
.bh-app-card b{position:absolute;right:12px;bottom:8px;color:#fff;font-size:19px;z-index:1}
.bh-factory{background:#f5f0e9}
.bh-factory-top{display:grid;grid-template-columns:.85fr 1.25fr;align-items:stretch}
.bh-factory-copy{padding:27px 36px 24px 0}
.bh-factory-copy p:last-child{font-size:12px;line-height:1.65;max-width:315px}
.bh-factory-main{min-height:262px;border-radius:0}
.bh-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-top:0}
.bh-metrics div{padding:18px 18px 15px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.bh-metrics div:last-child{border:0}
.bh-metrics strong{font:700 26px Georgia,serif;color:var(--brown)}
.bh-metrics span{font-size:10px;font-weight:700}
.bh-factory-support{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.bh-factory-support button{height:130px}
.bh-factory-support span{position:absolute;left:11px;bottom:9px;z-index:1;color:#fff;font-size:10px;font-weight:800}
.bh-process{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bh-process h2{margin-bottom:28px}
.bh-process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.bh-process-grid:before{content:'';position:absolute;z-index:0;top:19px;left:0;right:0;height:1px;background:#c98b59}
.bh-process-grid article{padding:0 18px 6px;position:relative;z-index:1;text-align:center}
.bh-process-grid article:not(:last-child):after{display:none}
.bh-process-grid b{position:relative;margin:0 auto;font-size:11px;color:#fff;background:var(--brown);border:0;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;box-shadow:0 0 0 5px var(--cream)}
.bh-process-grid h3{font-size:11px;margin:11px 0 4px}
.bh-process-grid p{font-size:9px;line-height:1.45;margin:0;color:#625850}
.bh-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bh-project-grid button{height:230px}
.bh-project-grid button span,.bh-material-grid button span{position:absolute;left:14px;bottom:13px;color:#fff;z-index:1;display:flex;flex-direction:column;gap:1px}
.bh-project-grid strong,.bh-material-grid strong{font-size:12px}
.bh-project-grid small,.bh-material-grid small{font-size:10px}
.bh-material-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}
.bh-material-grid button{height:165px}
.bh-inquiry{min-height:305px;border-radius:4px;overflow:hidden;display:grid;grid-template-columns:.82fr 1.45fr;gap:45px;align-items:center;padding:38px 50px;position:relative;background:linear-gradient(90deg,rgba(52,26,17,.84),rgba(52,26,17,.42)),var(--inquiry) center/cover}
.bh-inquiry>*{position:relative;z-index:1}
.bh-inquiry .bh-eyebrow{color:#fff}
.bh-inquiry h2{color:#fff;font-size:37px;margin:0 0 20px}
.bh-inquiry-copy>p:last-child{color:#fff;font-size:15px;line-height:1.55;max-width:340px;margin:0}
.bh-inquiry form{display:grid;gap:10px}
.bh-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bh-inquiry input,.bh-inquiry textarea{width:100%;border:0!important;border-radius:0!important;background:rgba(255,253,250,.96)!important;color:#4f4239!important;font:14px Inter,Arial,sans-serif!important;padding:13px 15px!important;min-height:48px!important;box-shadow:none!important}
.bh-inquiry textarea{height:89px;resize:vertical}
.bh-submit{border:0!important;border-radius:4px!important;background:#9b5f22!important;color:#fff!important;height:48px;text-transform:uppercase;font:800 12px Inter,Arial,sans-serif!important;letter-spacing:.03em;cursor:pointer;transition:.2s}
.bh-submit:hover{background:#704017!important}
.bh-footer{border-top:1px solid var(--line);padding:49px 0 55px;background:#fcfaf6}
.bh-footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:35px}
.bh-footer .bh-brand{margin:0}
.bh-footer .bh-brand p{font-size:10px;margin:14px 0 0;color:#756b62}
.bh-footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:7px}
.bh-footer-grid b{font-size:10px;text-transform:uppercase;margin-bottom:6px;color:var(--brown)}
.bh-footer-grid a,.bh-footer-grid span{color:#695f56;text-decoration:none;font-size:10px}
.bh-lightbox{background:transparent;border:0;padding:0;max-width:93vw;max-height:90vh}
.bh-lightbox::backdrop{background:rgba(27,16,11,.86)}
.bh-lightbox img{max-width:93vw;max-height:87vh;display:block;object-fit:contain}
.bh-lightbox button{position:absolute;right:0;top:-40px;color:#fff;background:transparent;border:0;font-size:34px;cursor:pointer}

@media(max-width:900px){.bh-header-inner{height:80px;gap:16px}
.bh-nav{gap:17px}
.bh-nav a{font-size:10px}
.bh-quote{padding:12px 14px}
.bh-factory-copy{padding-right:22px}
.bh-inquiry{gap:25px;padding:34px 30px}
.bh-inquiry h2{font-size:31px}
}

/* Factory balance: restore the reference homepage's 16:9 main image, centre the copy and give the supporting work images room. */
.bh-factory-copy{display:flex;flex-direction:column;justify-content:center}
@media(min-width:681px){.bh-factory-main{height:auto;min-height:0;aspect-ratio:16/9}.bh-factory-main img{height:100%}.bh-factory-support{margin-top:18px}.bh-factory-support button{height:140px}}
@media(max-width:680px){.bh-factory-support{margin-top:10px}.bh-factory-support button{height:92px}}

@media(max-width:680px){.bh-wrap{width:min(calc(100% - 28px),var(--wrap))}
.bh-header-inner{height:78px}
.bh-brand strong{font-size:22px}
.bh-brand small{font-size:7px;margin-top:5px}
.bh-menu-toggle{display:block;border:0;background:transparent;font-size:25px;color:var(--brown);padding:4px;margin-left:auto}
.bh-nav{position:absolute;top:78px;left:0;right:0;height:auto;background:#fffaf3;display:none;flex-direction:column;gap:0;border-bottom:1px solid var(--line);padding:8px 14px 15px}
.bh-nav.is-open{display:flex}
.bh-nav a{height:39px;font-size:11px}
.bh-nav a.is-active:after{display:none}
.bh-quote{display:none}
.bh-hero{min-height:510px;background:linear-gradient(90deg,rgba(255,250,242,.9),rgba(255,250,242,.16)),var(--hero) 66% center/cover}
.bh-hero-inner{align-self:flex-start;padding-top:47px}
.bh-hero h1{font-size:38px;max-width:340px}
.bh-lead{font-size:13px;max-width:285px;margin-top:18px}
.bh-trust{font-size:11px;max-width:280px;line-height:1.6}
.bh-actions{gap:8px}
.bh-button{font-size:10px;padding:12px 14px;min-height:40px}
.bh-section{padding:37px 0}
.bh-section h2{font-size:25px}
.bh-section-head{margin-bottom:14px}
.bh-section-head>a{font-size:9px}
.bh-collection-grid{grid-template-columns:1fr 1fr;gap:9px}
.bh-card>div{padding:9px 10px 10px}
.bh-card h3{font-size:11px}
.bh-card p{font-size:9px}
.bh-app-section{padding-top:5px}
.bh-app-grid{grid-template-columns:1fr;gap:5px}
.bh-app-card{height:42px;border-radius:4px}
.bh-app-card img{filter:brightness(.68)}
.bh-app-card span{left:11px;bottom:12px;font-size:11px}
.bh-app-card b{bottom:7px}
.bh-factory-top{display:flex;flex-direction:column}
.bh-factory-copy{padding:0 0 18px}
.bh-factory-copy p:last-child{font-size:11px;max-width:330px}
.bh-factory-main{height:196px;min-height:0}
.bh-metrics{grid-template-columns:repeat(4,1fr)}
.bh-metrics div{padding:11px 6px;text-align:center;align-items:center}
.bh-metrics strong{font-size:19px}
.bh-metrics span{font-size:8px;line-height:1.25}
.bh-factory-support{gap:7px}
.bh-factory-support button{height:82px}
.bh-factory-support span{font-size:8px;left:7px;bottom:6px}
.bh-process-grid{grid-template-columns:repeat(3,1fr);row-gap:18px}
.bh-process-grid:before{display:none}
.bh-process-grid article{padding:0 12px 6px}
.bh-process-grid article:after{display:none}
.bh-process-grid h3{font-size:10px}
.bh-process-grid p{font-size:8px}
.bh-project-grid{gap:8px}
.bh-project-grid button{height:145px}
.bh-project-grid span{left:8px;bottom:7px}
.bh-project-grid strong{font-size:10px}
.bh-project-grid small{font-size:8px}
.bh-material-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.bh-material-grid button{height:115px}
.bh-material-grid strong{font-size:10px}
.bh-material-grid small{font-size:8px}
.bh-inquiry{min-height:0;grid-template-columns:1fr;padding:38px 27px;gap:25px;background:linear-gradient(90deg,rgba(52,26,17,.8),rgba(52,26,17,.43)),var(--inquiry) 68% center/cover}
.bh-inquiry h2{font-size:33px;margin-bottom:15px}
.bh-inquiry-copy>p:last-child{font-size:14px;max-width:380px}
.bh-form-two{gap:10px}
.bh-inquiry input,.bh-inquiry textarea{font-size:12px!important;padding:11px 13px!important;min-height:42px!important}
.bh-inquiry textarea{height:94px}
.bh-submit{height:47px}
.bh-footer{padding:35px 0}
.bh-footer-grid{grid-template-columns:1fr 1fr;gap:26px}
.bh-footer-grid>div:first-child{grid-column:span 2}
.bh-footer-grid>div:last-child{display:none!important}
}

/* Tablet is neither the four-card desktop grid nor the compact 390px mobile list. */
@media(min-width:481px) and (max-width:680px){
.bh-app-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.bh-app-card{height:auto;aspect-ratio:16/9}
}

/* Phone cards stay one column, but must remain tall enough to show the scene clearly. */
@media(max-width:480px){
.bh-app-card{height:88px}
}
