/* The geometric lettering of the original wordmark, with a real lowercase set. */
h1 em,h2 em,h3 em,.about-photo em{font-style:normal}
.display-heading,.hero h1,.page-hero h1,.service-feature h2,.detail-band h2,
.cta-left h2,.quote-grid blockquote,.about-photo>span,.enquiry-form-wrap>h2,
.project-info h3,.values-grid h3,.project-stats strong,.graphic-value,
.next-project .container>a:not(.text-link),.contact-big{font-weight:300;letter-spacing:-.045em}
.display-heading em,h1 em,.cta-left h2 em,.detail-band h2 em,.about-photo em,
.enquiry-form-wrap>h2 em{font-weight:300}
.display-heading{font-size:clamp(36px,3.65vw,58px);line-height:1.14}
.display-heading.small{font-size:clamp(34px,3.3vw,51px)}
.hero h1{font-size:clamp(62px,6.45vw,104px);line-height:1.1;max-width:1250px}
.hero h1 em{color:#d5d5d5}
.hero-kicker{font-size:10px;letter-spacing:2.2px}
.hero-lower{margin-top:38px;gap:48px}
.hero-lower>p{max-width:335px}
.hero-photo{filter:saturate(.8) brightness(.87);object-position:center 50%}
.hero-shade{background:linear-gradient(90deg,#1a1a1aed 0%,#1e1e1ed9 36%,#1e1e1e55 80%,#1f1f1f30),linear-gradient(0deg,#212121f5,transparent 46%,#1e1e1e40)}
.page-hero-inner{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:50px}
.page-hero h1{font-size:clamp(43px,4.7vw,74px);line-height:1.13;overflow-wrap:normal}
.intro-grid,.detail-intro,.detail-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.intro-grid{gap:70px}
.intro-copy .lead{font-size:20px;line-height:1.6;letter-spacing:-.02em}
.delivery-copy .display-heading{font-size:clamp(34px,3.35vw,52px);line-height:1.16}
.service-feature h2{font-size:clamp(32px,3.4vw,52px);line-height:1.14}
.detail-band h2{font-size:clamp(34px,3.6vw,55px);line-height:1.15}
.project-info h3{font-size:clamp(25px,2.25vw,35px);line-height:1.25}
.graphic-value{font-size:clamp(82px,11vw,165px);font-style:normal}
.quote-grid blockquote{font-size:clamp(32px,3vw,46px);line-height:1.38;letter-spacing:-.035em}
.quote-mark{font-weight:300}
.cta-left h2{font-size:clamp(36px,4vw,62px);line-height:1.2}
.cta-circle{margin-right:0}
.cta-left{min-width:0}
.footer-brand p{font-size:20px;font-weight:300;font-style:normal;line-height:1.4;letter-spacing:-.025em}
.footer-contact>a:first-of-type{font-size:19px}
.wordmark.bradford{letter-spacing:-.04em}
.wordmark.culina{font-style:normal}
.values-grid h3{font-size:29px;line-height:1.3}
.about-photo>span{font-size:clamp(34px,4vw,58px);line-height:1.18}
.enquiry-form-wrap>h2{font-size:clamp(32px,3vw,45px);line-height:1.2}
.contact-big{font-size:clamp(29px,2.75vw,43px);gap:20px;white-space:nowrap}
.next-project .container>a:not(.text-link){font-size:clamp(32px,4vw,62px);line-height:1.25}
strong,b{font-weight:600}

@media(min-width:1450px){.hero h1{font-size:104px}}
@media(max-width:1150px){
 .hero h1{font-size:clamp(62px,7.6vw,86px)}
 .hero-break{display:block}
 .hero-content{padding-top:145px}
 .hero-lower{gap:35px;margin-top:30px}
 .hero-actions{gap:24px}
 .hero-lower>p{max-width:290px}
 .page-hero-inner{gap:40px}
 .intro-grid{gap:45px}
 .footer-contact>a:first-of-type{font-size:17px}
}
@media(max-width:900px){
 .hero h1{font-size:clamp(60px,8.1vw,73px)}
 .hero-lower{gap:24px}
 .display-heading,.detail-intro .display-heading,.detail-columns .display-heading{font-size:clamp(32px,4.7vw,42px)}
 .delivery-copy .display-heading{font-size:35px}
 .page-hero-inner{display:block}
 .page-hero h1{font-size:clamp(44px,6.5vw,61px)}
 .service-feature h2{font-size:36px}
 .quote-grid blockquote{font-size:34px}
 .cta-left h2{font-size:42px}
 .project-info h3{font-size:27px}
 .contact-big{font-size:27px;gap:12px}
 .enquiry-form-wrap>h2{font-size:34px}
 .footer-brand p{font-size:18px}
}
@media(max-width:700px){
 .hero{min-height:800px;max-height:none}
 .hero-content{min-height:800px;padding-top:157px;padding-bottom:132px}
 .hero h1{font-size:clamp(36px,10vw,60px);line-height:1.16;letter-spacing:-.045em}
 .hero-lower{margin-top:32px;gap:29px}
 .hero-lower>p{font-size:13px;line-height:1.85;max-width:300px}
 .hero-kicker{font-size:7px;letter-spacing:1.4px;margin-bottom:28px}
 .hero-shade{background:linear-gradient(90deg,#1b1b1be8,#1f1f1fbb 65%,#1f1f1f60),linear-gradient(0deg,#212121f2,transparent 65%)}
 .main-nav,.main-nav .nav-contact{font-size:34px;font-weight:300}
 .display-heading,.detail-intro .display-heading,.detail-columns .display-heading{font-size:clamp(32px,7.9vw,44px);line-height:1.17}
 .intro-grid,.detail-intro,.detail-columns{grid-template-columns:minmax(0,1fr)}
 .intro-grid{gap:29px}
 .intro-copy .lead{font-size:19px}
 .service-trigger{font-size:16px;letter-spacing:-.03em}
 .project-info h3{font-size:27px}
 .graphic-value{font-size:112px}
 .delivery-copy .display-heading,.detail-band h2{font-size:36px;line-height:1.17}
 .quote-grid blockquote{font-size:30px;line-height:1.4}
 .cta-left h2{font-size:clamp(29px,7vw,40px);line-height:1.23;letter-spacing:-.045em}
 .cta-inner{gap:27px}
 .footer-brand p{font-size:16px;max-width:150px}
 .footer-contact>a:first-of-type{font-size:22px}
 .page-hero h1{font-size:clamp(32px,7.65vw,48px);line-height:1.2;letter-spacing:-.045em}
 .page-hero-copy{margin-top:25px}
 .service-feature h2{font-size:33px}
 .detail-band h2{font-size:35px}
 .next-project .container>a:not(.text-link){font-size:32px;letter-spacing:-.04em}
 .values-grid h3{font-size:29px}
 .about-photo>span{font-size:34px;left:calc(var(--gutter) + 10px)}
 .enquiry-form-wrap>h2{font-size:34px}
 .contact-big{font-size:clamp(29px,7.9vw,39px);gap:18px}
 .contact-email{gap:16px;font-size:12px}
}
@media(max-width:380px){
 .hero h1{font-size:clamp(32px,10vw,38px)}
 .hero-kicker{font-size:6.5px;letter-spacing:1.1px}
 .footer-brand p{font-size:20px;max-width:none}
 .contact-big{font-size:28px;gap:12px}
 .contact-email{font-size:11px;gap:12px}
}

/* Original Broad Oak palette: green #8ED06C, grey #595959 and white. */
.brand-image{filter:none}
.site-header.is-scrolled,.menu-open .site-header{background:#262626f5}
.hero h1 em,.page-hero h1 em,.detail-band h2 em{color:var(--olive)}
#overview .text-muted{color:var(--olive)}
.hero-shade{background:linear-gradient(90deg,#151515ed 0%,#222222d9 36%,#22222255 80%,#22222230),linear-gradient(0deg,#222222f5,transparent 46%,#22222240)}
.contact-cta{background:var(--olive)}.button-dark:hover{background:#595959}.button-ivory:hover{background:var(--olive)}
.site-footer{background:#202020}.footer-brand p{color:#dededb}.footer-col>.eyebrow{color:var(--olive)}.footer-hours,.footer-bottom{color:#aaa}.footer-col{color:#d0d0d0}
.contact-icon{display:inline-block;flex:none;width:22px;height:22px;object-fit:contain}.footer-contact>a{display:flex;align-items:center;gap:10px}.site-footer .contact-icon{width:15px;height:15px;filter:invert(1)}.footer-col>.eyebrow .contact-icon{display:none}.contact-address>.eyebrow{display:flex;gap:10px}.contact-address .contact-icon{width:18px;height:18px}.contact-big .contact-icon{width:29px;height:29px}.contact-email{gap:13px}.contact-big{gap:17px}.contact-big:hover{color:#47772e}.contact-details .eyebrow{color:#595959}.enquiry-form-wrap{background:#f0f0ed;border-color:#dededb}


@media(max-width:700px){.hero-shade{background:linear-gradient(90deg,#181818e8,#222222bb 65%,#22222260),linear-gradient(0deg,#222222f2,transparent 65%)}.contact-big{gap:12px}.contact-big .contact-icon{width:24px;height:24px}.contact-email .contact-icon{width:18px;height:18px}.contact-email{gap:10px}}
@media(max-width:380px){.contact-big{gap:9px}.contact-big .contact-icon{width:21px;height:21px}}

/* Owner-supplied photography; retain full fleet framing and installation detail. */
.fleet-section{background:#f0f0ed}.fleet-section .section-title-row{align-items:flex-end}.fleet-section .eyebrow{margin-bottom:22px}.fleet-intro{font-size:13px;line-height:1.9;max-width:330px;color:#626262}.fleet-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px}.fleet-gallery figure{min-width:0}.fleet-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#e8e8e5}.fleet-gallery figcaption,.contact-base-photo figcaption{font-size:10px;line-height:1.7;color:#686868;margin-top:12px}.contact-base-photo{margin-top:35px;max-width:440px}.contact-base-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 40%}.about-photo img[src*="bocs-library-headquarters"]{filter:brightness(.78);object-position:center 40%}.solar-photo-grid:has(figure:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}.solar-photo-grid:has(figure:nth-child(3)) figure{padding-top:0}.solar-photo-grid:has(figure:nth-child(3)) img{aspect-ratio:4/3}.solar-photo-grid.single-photo{display:block;max-width:1040px;margin-inline:auto}.solar-photo-grid.single-photo img{aspect-ratio:16/9;object-position:center}.wide-image img[src*="bocs-library-solar-dusk"]{object-position:center 55%}.wide-image img[src*="bocs-library-pressurisation"]{object-position:center 48%}
@media(max-width:700px){.fleet-gallery{grid-template-columns:1fr;gap:28px}.fleet-section .section-title-row{align-items:flex-start;flex-direction:column;gap:23px}.fleet-intro{max-width:100%;font-size:14px}.fleet-gallery figcaption,.contact-base-photo figcaption{font-size:11px}.contact-base-photo{max-width:none}.solar-photo-grid:has(figure:nth-child(3)){grid-template-columns:1fr;row-gap:30px}.solar-photo-grid.single-photo img{aspect-ratio:4/3}}

/* Additional project facts and compact numerical summaries for campus PV case studies. */
.project-facts{background:#eeefeb;border-bottom:1px solid var(--line)}.project-facts-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:32px;padding-block:30px;margin-block:0}.project-facts-grid dt{font-size:9px;line-height:1.6;text-transform:uppercase;letter-spacing:1px;color:#6b6b6b;margin-bottom:7px}.project-facts-grid dd{margin:0;font-size:12px;line-height:1.7;font-weight:500}.project-stats.is-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.project-stats.is-grid strong{font-size:clamp(32px,3.7vw,53px);letter-spacing:-.045em;white-space:nowrap}.project-stats.is-grid span{font-size:10px;line-height:1.5;color:#626262}
@media(max-width:700px){.project-facts-grid{grid-template-columns:1fr;gap:21px;padding-block:27px}.project-facts-grid dt{font-size:8px;margin-bottom:3px}.project-facts-grid dd{font-size:12px}.project-stats.is-grid{gap:28px 20px}.project-stats.is-grid strong{font-size:clamp(32px,9vw,48px)}.project-stats.is-grid span{font-size:10px}}
