/* B.W. & Sons: actual Roofline implementation, restrained brand substitution. */
:root{--ink:#112e59;--paper:#f4f6f6;--copy:#435360;--body-size:20px;--label-size:16px;--button-radius:12px}
body,input,textarea,button,select{font-family:Tahoma,Arial,sans-serif}body{color:#172e46;background:#fff;font-size:20px}
body h1,body h2,body h3{font-weight:400!important;letter-spacing:-.045em}body h1{font-size:clamp(44px,4.7vw,68px)!important;line-height:1.08!important}body h2{font-size:clamp(34px,3.5vw,50px);line-height:1.15}body h3{font-size:28px;line-height:1.25}
body[data-business] main p{font-size:20px!important;line-height:1.65!important}p{color:#435360}
body[data-business] :is(.label,.micro,.hero-kicker,.craft-label,.preview-strip,.preview-strip a,.hero-bottom,.opening-caption,.opening-caption span,.reading-meta,.form-progress,.breadcrumb,.footer-bottom,.footer-bottom p,.sample-stage small,.row-num,.steps article>span,.steps>div>span,.service-steps span,.article-num,.material-tabs span,.magnifier-control label,.magnifier-control output,.inspection-controls label,.inspection-controls output,.journal-teaser p>span,.journal-teaser li span){font-size:16px!important;letter-spacing:0!important;line-height:1.5}
body[data-business] :is(small,.small){font-size:16px!important}body[data-business] :is(.text-link,.footer-links a,.header nav a,figcaption,.craft-caption span,.bench-foot p,.bench-foot a,label,output){font-size:18px!important;line-height:1.5}
.label,.micro,.craft-label{font-weight:400;text-transform:none}.label{color:inherit}.hero-kicker{color:white}.preview-strip{min-height:42px;height:auto;padding:8px 5%;background:#112e59;color:#fff}.preview-strip a{font-size:16px}
/* The navigation remains a quiet layer over the photo, as in the master. */
.header,.header.over-hero{height:112px;padding:12px 5%;gap:24px}.header.over-hero{top:42px;background:linear-gradient(180deg,#071b36a6,transparent);border:0;color:white;backdrop-filter:none}.header .brand{display:flex;align-items:center;justify-content:center;width:154px;flex:none;padding:9px 13px;background:#fdfdfbf7;border:1px solid #ffffffd9;border-radius:12px;box-shadow:inset 0 1px #fff,0 8px 24px #05142625}.business-logo{width:100%;height:auto!important;object-fit:contain;filter:none!important}.header nav{gap:28px}.header-actions{gap:18px}.inner .header{background:#fff;color:#112e59}.inner .header .brand{box-shadow:none;border-color:#e4e9ed}.header .nav-cta{font-size:17px!important;padding:16px 20px;gap:18px}
body[data-business] :is(.btn,.nav-cta,.btn.light,.back,.material-tabs button,.guide-options button,.opening .btn){font-size:18px!important;line-height:1.4;min-height:58px;border-radius:12px;padding:17px 24px}.btn,.nav-cta{background:linear-gradient(155deg,#214973,#112e59);color:#fff;border:1px solid #45688c;box-shadow:inset 0 1px #ffffff55,inset 0 -1px #071a37,0 7px 15px #10284420}.btn.light{background:#f3f6f5;color:#112e59;border-color:#f8fcff}.btn:hover,.btn.light:hover{padding:17px 24px;filter:brightness(1.05)}.menu,.guide-trigger,.motion-switch,.back,.round-arrow,.dialog-close{border-radius:12px!important}.menu,.motion-switch,.guide-trigger,.round-arrow{background:#112e59;color:white;border-color:#71849b}
/* Roof planes, water and sky carry the composition. No boxed hero overlays. */
.hero{min-height:790px;max-height:960px;height:calc(100svh - 42px)}.hero-photo{object-position:50% 40%}.hero-shade{background:linear-gradient(0deg,#07182aeb 0%,#091e328f 28%,#0a1e3210 67%)}.hero-content{bottom:118px;gap:7%}.hero h1{max-width:18ch;font-weight:400!important}.hero-side{min-width:310px;max-width:370px}.hero-side p{color:#fff}.hero-kicker{margin-bottom:22px}.hero-bottom{bottom:30px}.hero-bottom span{color:#fff}.intro h2{max-width:19ch}.intro p{max-width:47ch}
.service-row{border-radius:16px}.service-row img{border-radius:12px;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1),filter .7s}.service-row:hover img{transform:scale(1.035);filter:brightness(1.05)}
/* Keep the exact template's isolated specimens and fine material shadows. */
.materials{background:#f0f3f4}.material-panel{min-height:560px}.sample-stage{background:#e2e8eb}.sample-copy{background:#edf1f2}.sample-no{opacity:.12;color:#203f60}.sample-float{width:98%;max-width:690px}.sample-float img{width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:0;aspect-ratio:auto;filter:drop-shadow(0 22px 16px #16354c28)}.sample-stage small{color:#3b5265}.sample-copy h3{font-size:38px;line-height:1.2}.material-tabs button{border-color:#9aaebd}.material-tabs button[aria-selected=true]{background:#112e59;color:white}.sample-copy dl{color:#27465e}.sample-copy dt{font-size:18px}
.featured{background:#112e59}.featured-copy{background:linear-gradient(135deg,#1c4267,#102c51);color:white}.featured-copy p,.featured-copy h2{color:white}.featured-photo{overflow:hidden}.featured-photo img{transition:transform 1s cubic-bezier(.2,.65,.2,1)}.featured-photo:hover img{transform:scale(1.035)}.photo-caption{font-size:16px;letter-spacing:0}.craft-bench{background:#e9eef0}.inspection-window{background:#dce4e7;border-radius:18px}.inspection-object{object-fit:contain}.bench-foot,.bench-foot p{color:#43596a}.bench-intro h2{max-width:13ch}.cta{background:#112e59;color:#fff}.cta p{color:#eef4fa}
/* Every original opening retains its own composition and motion. */
.opening,.reading-opening,.contact-opening{background:#f0f3f4;color:#112e59}.opening{border-radius:24px;box-shadow:inset 0 1px #fff,0 15px 32px #13304b09}.opening-copy{color:#112e59}.opening-lead{color:#435360}.opening-caption{color:#435360;border-color:#b9c9d3}.opening--workshop,.opening--detail,.opening--journal{background:linear-gradient(125deg,#f8faf9,#e7edf0)}.opening--workshop .opening-copy{color:#112e59}.opening--workshop .opening-art,.opening--detail .opening-art{bottom:95px}.opening--workshop .opening-media img{object-position:center}.opening--detail .opening-media img{object-position:center}.opening--specimen .opening-media img,.opening--material .opening-media img{object-fit:contain;filter:drop-shadow(0 22px 18px #112e5930)}.opening--material{background:#112e59;color:#fff}.opening--material .opening-copy,.opening--material .opening-lead,.opening--material .opening-caption{color:#fff}.opening--material .opening-media img{filter:drop-shadow(0 24px 24px #06152570)}.opening--journal .opening-art{inset:45px 35px 95px 52%;border-radius:18px;overflow:hidden}.opening--journal .opening-media img{object-fit:cover;filter:none}.opening--journal .opening-copy{width:46%}.opening--project,.opening--story{color:#fff;background:#112e59}.opening--project .opening-copy,.opening--project .opening-lead,.opening--story .opening-copy,.opening--story .opening-lead{color:#fff}.opening--project .opening-light,.opening--story .opening-light{background:linear-gradient(90deg,#071d35d9,#071d3520 75%),linear-gradient(0deg,#071d359c,transparent 38%)}.opening--project .opening-caption,.opening--story .opening-caption{color:#fff}.archive-opening{background:#112e59}.archive-preview figcaption{background:#edf2f5;color:#112e59}.detail-chapter{background:#edf1f3}.detail-chapter .editorial-frame{background:#fff}.detail-chapter img{object-fit:contain}.editorial-frame,.project-photo,.contact-art,.archive-preview,.opening-art{border-radius:18px}.contact-layout form{background:#fff}.contact-direct{display:grid;gap:12px;padding:22px 0;border-block:1px solid #b9c9d8;margin:26px 0}.contact-direct a{font-size:20px;text-decoration:underline;text-underline-offset:5px}.contact-direct p{font-size:18px}.guide-options button{background:#edf2f6}.guide-answer{font-size:19px;line-height:1.6}
.footer{background:#f3f6f7}.footer-top .brand{display:block;width:230px;max-width:70%}.footer-top p{font-size:20px;line-height:1.6}.real-contact{display:flex;flex-wrap:wrap;gap:15px 32px;padding:28px 0;border-block:1px solid #c3cfd8;font-size:18px;line-height:1.6}.real-contact a{text-decoration:underline;text-underline-offset:5px}.real-contact span{flex-basis:100%}.footer-bottom{align-items:start;gap:30px}.footer-bottom p{max-width:65ch}.footer-bottom a{font-size:18px}.core-grid .core-item{border-radius:16px}.utility-dock :is(.motion-switch,.guide-trigger){font-size:16px!important}.utility-dock small{font-size:16px!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #519cff!important;outline-offset:5px}
@media(max-width:1100px){.header nav{gap:18px}.header-actions .nav-cta{display:none}.hero-side{min-width:260px}.hero-content{gap:40px}}
@media(max-width:700px){
 body{font-size:19px}body[data-business] main p{font-size:19px!important;line-height:1.6!important}body h1,body .hero h1{font-size:40px!important;line-height:1.13!important}body h2{font-size:34px;line-height:1.18}body h3{font-size:26px}.preview-strip{min-height:64px;gap:20px;padding:8px 6%}.preview-strip a{font-size:16px!important;max-width:125px}.header,.header.over-hero{height:100px;padding:10px 6%}.header.over-hero{top:64px}.header .brand{width:132px;padding:6px 10px}.header #navigation{background:#112e59;color:white}.header #navigation a{font-size:18px!important}.header:not(.over-hero){top:auto}.hero{padding-top:320px;min-height:850px;height:auto;max-height:none;display:flex;flex-direction:column;justify-content:flex-end}.hero-content{position:relative!important;inset:auto!important;width:auto!important;max-width:none!important;margin:0 7% 34px;padding:0}.hero-side{display:block;min-width:0;max-width:none;margin-top:24px}.hero-side p{margin-bottom:24px}.hero-kicker{margin-bottom:18px}.hero-bottom{position:relative!important;inset:auto!important;margin:0 7% 74px;padding-top:18px;gap:10px;display:block}.hero-bottom span:last-child{display:none}.hero-art img{object-position:50% 30%}.hero-shade{background:linear-gradient(0deg,#071a2af5 0%,#071a2ab5 38%,#071a2a10 82%)}.hero .btn{width:100%;justify-content:space-between}.sample-float{width:100%;max-width:none}.sample-float img{max-height:290px}.sample-stage{min-height:320px}.sample-copy{padding:32px 7%}.sample-copy h3{font-size:32px}.material-panel{min-height:0}.material-tabs{gap:8px}.material-tabs button{font-size:17px!important;padding:14px 16px!important}.intro{gap:24px}.intro h2{max-width:none}.bench-foot{display:block}.bench-foot a{display:inline-block;margin-top:12px}.opening--workshop .opening-art,.opening--detail .opening-art{inset:auto}.opening--journal .opening-art{position:relative;inset:auto;order:2;width:100%;height:320px;margin:28px 0 0}.opening--journal .opening-copy{width:100%}.opening--specimen .opening-art,.opening--material .opening-art{height:300px}.opening-caption{gap:10px}.opening--project .opening-light,.opening--story .opening-light{background:linear-gradient(0deg,#071d35f5,#071d3590 50%,#071d3510 90%)}.footer-top .brand{width:200px}.real-contact{display:grid;gap:18px;overflow-wrap:anywhere}.footer-bottom{display:block}.footer-bottom p{margin-top:22px}.service-row h3{font-size:25px}.service-row img{height:115px}.utility-dock{bottom:12px;gap:10px}.utility-dock .motion-switch{padding:10px!important}.utility-dock .guide-trigger{padding:10px 12px!important}.contact-direct a{font-size:18px}.opening .btn{gap:16px}
}
@media(max-width:360px){body .hero h1,body h1{font-size:36px!important}.hero{min-height:900px}.hero-content{margin-top:20px}.btn,.btn.light{padding:16px 18px!important;gap:15px!important}.utility-dock .motion-switch{font-size:16px!important}.utility-dock .guide-trigger{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.service-row img,.featured-photo img{transition:none;transform:none!important}}
[data-motion-off] .service-row img,[data-motion-off] .featured-photo img{transition:none;transform:none!important}
html:not(.js) body[data-business] .header,html:not(.js) body[data-business] .header #navigation{background:#f4f7f9!important;color:#112e59!important;top:auto!important}html:not(.js) body[data-business] .header #navigation a{color:#112e59!important}
/* Company gallery uses the master project image treatment, with real work in each slot. */
.project-index{display:grid;grid-template-columns:1fr 1fr;gap:52px 34px}.project-card .project-photo{display:block;margin:0;aspect-ratio:1.5;overflow:hidden;border-radius:18px}.project-card .project-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.2,1)}.project-card:hover .project-photo img{transform:scale(1.035)}.project-card>div:last-child{align-items:start;gap:16px;flex-direction:column}.project-card h2{font-size:32px}.project-card span{font-size:16px!important;letter-spacing:0}.material-panel{border-radius:18px;overflow:hidden}
@media(max-width:700px){.project-index{grid-template-columns:1fr;gap:36px}.project-card h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.project-card:hover .project-photo img{transform:none}.project-card .project-photo img{transition:none}}
[data-motion-off] .project-card:hover .project-photo img{transform:none}
/* Preserve Roofline's open specimen composition rather than boxing the model. */
.materials{background:linear-gradient(125deg,#fafbfa,#e8eef0)}.sample-stage,.sample-copy{background:transparent}.material-panel{overflow:visible}.sample-stage{border-radius:18px}.sample-float img{filter:drop-shadow(0 22px 16px #17334a28)}
