.site-shell{max-width:1440px}
.gallery-section,.photo-slider{padding:48px 47px;border-top:1px solid var(--line)}
.gallery-heading,.slider-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.gallery-heading p,.slider-heading p{font-size:16px;line-height:1.6;max-width:560px;margin-top:14px;color:#4b4e50}
.slider-heading h2{line-height:1.15;margin-top:12px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.gallery-tile{display:block;background:#fff;border:1px solid var(--line);padding:0;text-align:left;width:100%;overflow:hidden}
.gallery-tile:first-child{grid-row:span 2}
.gallery-tile:nth-child(2){grid-column:span 2}
.gallery-tile img{width:100%;height:auto;object-fit:cover;aspect-ratio:3/4}
.gallery-tile:first-child img{aspect-ratio:562/1000}
.gallery-tile:nth-child(2) img{aspect-ratio:1000/470}
.gallery-tile figcaption{padding:18px 20px;font-size:16px;line-height:1.5;display:flex;justify-content:space-between;gap:12px}
.gallery-tile figcaption span{color:var(--gold-dark)}
.gallery-tile:hover{border-color:var(--gold);box-shadow:0 8px 30px #10151b0c}
.photo-slider .eyebrow{font-size:15px;line-height:1.5}
.slider-heading .button{font-size:15px;height:auto;min-height:46px;white-space:nowrap}
.slider-controls{display:flex;align-items:center;gap:10px;margin-top:24px}
.slider-controls button,.gallery-lightbox button{font-size:15px;min-width:44px;min-height:44px;border:1px solid #d8d4ca;background:#fff;padding:10px 14px}
.slider-status{font-size:15px;margin-left:auto}
.slider-track{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain}
.slider-track::-webkit-scrollbar{display:none}
.slider-item{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;margin:0;min-width:0;background:#fff;border:1px solid var(--line)}
.slider-item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.slider-item figcaption{padding:18px 20px;font-size:16px;line-height:1.5;font-weight:600}
.gallery-lightbox{max-width:1100px;width:calc(100% - 32px);max-height:95dvh;border:1px solid #ccc;padding:20px;background:var(--paper)}
.gallery-lightbox::backdrop{background:#10151bd9}
.gallery-lightbox img{width:100%;height:72dvh;object-fit:contain}
.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;font-size:16px}
.gallery-tile figure{margin:0}
@media(min-width:1100px){
 .site-header{height:80px;padding:0 50px}.brand{align-self:center;padding:0}.primary-nav{margin-left:auto;gap:25px}.expanded-header .primary-nav{gap:25px;margin-left:auto}.services-nav{height:80px}.header-phone{margin-left:35px;height:44px;font-size:16px}.brand-copy small{font-size:7px}.primary-nav a:after{bottom:19px}
 .hero{height:600px}.hero-photo{left:auto;right:8%;width:61%;height:600px;object-fit:cover}.hero-copy{left:60px;top:55px}.hero-copy h1{font-size:clamp(48px,4.2vw,60px);line-height:1.01}.hero-copy h1 span{transform:none!important}.hero-copy .eyebrow{font-size:15px;line-height:1.5;max-width:400px}.hero-description{font-size:19px;line-height:1.5;margin-top:18px}.hero-copy .button{font-size:16px;height:48px;margin-top:20px}.hero-facts{left:60px;bottom:28px;gap:35px;background:#f8f8f7ed;padding:16px 20px}.fact strong,.fact span{font-size:15px;line-height:1.5}.hero-blueprint{width:8%;height:600px}.hero-blueprint img{width:100%;height:auto;object-fit:contain}.process{font-size:12px;line-height:2.4}.hero-label{display:none}
 .section{padding-left:60px;padding-right:60px}.services{height:auto;padding-top:46px;padding-bottom:46px}.services-heading{height:auto;grid-template-columns:1.25fr 1fr 210px;gap:30px;padding-left:0;margin-bottom:32px}.services-heading h2{font-size:36px;line-height:1.05;transform:none}.section-intro{font-size:16px;line-height:1.6;margin-top:22px}.service-drawing{position:static;width:210px;height:auto;object-fit:contain}.eyebrow{font-size:15px;line-height:1.4}.service-grid{gap:24px}.service-card{height:auto;display:flex;flex-direction:column}.service-card>img{height:auto;aspect-ratio:202/125}.service-body{padding:18px 18px 20px}.service-body h3{font-size:20px;line-height:1.25}.service-body p{font-size:16px;line-height:1.5;white-space:normal}.service-body p br{display:none}.service-body .text-link{font-size:15px;min-height:44px;margin-top:12px}
 .applications{height:auto;padding-top:44px;padding-bottom:44px}.applications-heading{height:auto;margin-bottom:24px;align-items:center;padding:0}.applications-heading h2{font-size:32px;line-height:1.12;white-space:normal;max-width:780px}.explore-link{font-size:15px;margin:0;white-space:normal}.application-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.application-card>img{height:auto;aspect-ratio:274/155}.application-card strong{font-size:17px;line-height:1.4;margin-top:14px}.application-card span{font-size:15px;line-height:1.5}
 .about{height:auto;grid-template-columns:1.2fr 1fr 1fr;padding-top:45px;padding-bottom:40px;gap:32px}.about-copy{padding:0}.about-copy .eyebrow{font-size:15px;white-space:normal}.about-copy h2{font-size:32px;line-height:1.05;margin-top:16px}.about-copy>p:last-child{font-size:16px;line-height:1.6;width:auto;margin-top:18px}.about-facts{gap:24px;padding:20px 24px}.about-facts p{font-size:16px;line-height:1.5;white-space:normal}.about-drawing{position:static;width:100%;max-width:360px;height:auto;align-self:center}
 .faq{grid-template-columns:1fr 2fr;padding-top:45px;padding-bottom:45px;gap:50px}.faq-heading h2{font-size:32px;line-height:1.1}.faq-heading>p:last-child{font-size:16px;line-height:1.6;max-width:300px}.faq summary,.faq-answer{font-size:16px;line-height:1.6}.faq summary{padding:18px 0}
 .quote-banner{height:280px;background-size:cover}.quote-copy{left:60px;top:35px}.quote-copy h2{font-size:38px;line-height:1.2}.quote-copy>p:last-of-type{font-size:16px;line-height:1.5;max-width:600px}.quote-actions{margin-top:18px;gap:20px}.quote-actions .button{font-size:16px;height:48px}.quote-phone{font-size:16px;background:#fafaf8f2;padding:12px 18px;min-height:48px}.quote-location{left:auto;right:18%;top:auto;bottom:35px;padding:12px 18px}.quote-location strong,.quote-location span{font-size:15px;line-height:1.5}
 .page-hero{min-height:520px}.page-hero-photo{width:58%;height:520px}.page-hero-copy{width:46%;padding:45px 25px 45px 60px}.page-hero-copy h1{font-size:52px;max-width:none;line-height:1.04}.page-hero-copy .eyebrow{max-width:450px}.page-lead{max-width:430px;font-size:18px}.breadcrumbs{padding-left:60px}.inner-section,.page-callout{padding:48px 60px}.page-facts{padding:28px 60px}.section-description{max-width:800px}.section-description.wide{max-width:1040px}.interior-page h2{font-size:36px}.feature-grid{gap:26px}.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.hub-card{padding:30px}.inner-footer{padding:35px 60px}.photo-slider,.gallery-section{padding:48px 60px}
}
@media(min-width:820px) and (max-width:1099px){.site-header{height:72px;padding:0 30px}.brand{align-self:center;padding:0}.menu-toggle{display:block;position:absolute;right:24px;top:22px;background:none}.expanded-header .header-phone{margin-right:50px}.expanded-header .primary-nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;margin:0;padding:14px 30px;flex-direction:column;align-items:stretch;background:var(--paper);max-height:calc(100dvh - 72px);overflow:auto}.expanded-header .primary-nav.open{display:flex}.expanded-header .primary-nav>a{height:44px}.services-nav{height:auto;display:grid;grid-template-columns:1fr 44px}.services-nav>a{height:44px!important}.services-dropdown{position:static;grid-column:1/-1;width:100%;box-shadow:none;margin:4px 0 12px}.services-dropdown a{white-space:normal}.site-footer .footer-main{flex-wrap:wrap}.site-footer .footer-nav{margin:0 0 0 auto}}
@media(max-width:819px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-tile:first-child{grid-row:auto}.gallery-tile:nth-child(2){grid-column:auto}.gallery-tile:nth-child(2) img{aspect-ratio:3/4}.gallery-section,.photo-slider{padding:32px 30px}.slider-item{flex-basis:calc((100% - 22px)/2)}.slider-heading{align-items:start}.slider-heading .button{white-space:normal}}
@media(max-width:639px){.gallery-section,.photo-slider{padding:30px 20px}.gallery-heading,.slider-heading{display:block}.slider-heading .button{margin-top:20px}.gallery-grid{grid-template-columns:1fr}.gallery-tile img,.gallery-tile:first-child img,.gallery-tile:nth-child(2) img{aspect-ratio:auto;height:auto}.slider-item{flex-basis:90%}.slider-heading h2{font-size:28px}.slider-controls{gap:7px;flex-wrap:wrap}.gallery-lightbox img{height:65dvh}.slider-status{margin-left:0}}
@media(prefers-reduced-motion:reduce){.slider-track{scroll-behavior:auto}}
@media(min-width:1100px){.quote-copy{top:15px;left:36px;width:45%;padding:22px 24px;min-height:245px;background:linear-gradient(100deg,#f8f7f4f5,#f8f7f4e8)}.quote-location{left:68%;top:65%;right:auto;bottom:auto;width:19%;min-height:58px;background:#fafaf8}.site-footer .footer-location strong,.site-footer .footer-location span{font-size:15px;line-height:1.45}.site-footer .footer-bottom{min-height:50px;height:auto;padding-top:14px;padding-bottom:14px}.site-footer .footer-bottom small{font-size:15px;line-height:1.4}.site-footer .footer-brand{width:215px}.site-footer .footer-nav{gap:18px}}
@media(max-width:1099px){body:not(.interior-page) .eyebrow,body:not(.interior-page) .section-intro,body:not(.interior-page) .text-link,body:not(.interior-page) .service-body p,body:not(.interior-page) .application-card strong,body:not(.interior-page) .application-card span,body:not(.interior-page) .about-copy>p:last-child,body:not(.interior-page) .about-facts p,body:not(.interior-page) .faq summary,body:not(.interior-page) .faq-answer,body:not(.interior-page) .faq-heading>p:last-child,body:not(.interior-page) .fact strong,body:not(.interior-page) .fact span,body:not(.interior-page) .quote-copy>p:last-of-type,body:not(.interior-page) .quote-phone,body:not(.interior-page) .quote-location strong,body:not(.interior-page) .quote-location span,body:not(.interior-page) .button,.site-footer .footer-location strong,.site-footer .footer-location span,.site-footer .footer-bottom small{font-size:15px;line-height:1.5}body:not(.interior-page) .eyebrow{white-space:normal}.site-footer .footer-bottom{height:auto;min-height:50px;flex-wrap:wrap}.quote-phone{background:#fafaf8;padding:10px 14px}.service-body p{white-space:normal}.quote-actions{gap:14px}.site-footer .footer-location{min-width:195px}.site-footer .footer-main{flex-wrap:wrap}}
@media(min-width:820px) and (max-width:1099px){.hero{height:440px}.hero-facts{bottom:18px;left:35px;padding:12px;background:#fafaf8f0;gap:20px}.hero-copy{left:35px}.hero-blueprint{display:none}.hero-photo{left:auto;right:0;width:53%;height:440px;object-fit:cover}.hero-label{display:none}.hero-description{max-width:390px}.hero-copy .eyebrow{max-width:300px}.services,.applications,.about{height:auto;padding-top:35px;padding-bottom:35px}.services-heading{grid-template-columns:1.2fr 1fr;height:auto;margin-bottom:25px}.services-heading h2{transform:none}.service-drawing{display:none}.service-card{height:auto}.service-card>img{height:auto;aspect-ratio:202/125}.service-body{padding:14px}.service-body h3{font-size:18px;line-height:1.3}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.applications-heading{height:auto;align-items:center;margin-bottom:20px}.applications-heading h2{white-space:normal;max-width:600px}.explore-link{white-space:normal;max-width:145px}.application-card>img{height:auto;aspect-ratio:274/155}.about{grid-template-columns:1.1fr 1fr;gap:25px}.about-drawing{display:none}.about-copy>p:last-child{width:auto}.about-facts p{white-space:normal}.about-facts{border-right:0;gap:20px}.quote-banner{height:240px;background-size:cover}.quote-location{left:auto;right:8%;top:auto;bottom:22px}.quote-copy{left:35px;max-width:500px}.quote-copy>p:last-of-type{max-width:400px}}
@media(max-width:639px){.hero-copy .eyebrow{letter-spacing:1.5px}.quote-banner{min-height:345px;height:auto}.quote-copy{position:relative;inset:auto;padding:25px 20px;max-width:100%}.quote-actions{flex-wrap:wrap}.quote-location{position:relative;inset:auto;margin:0 20px 25px;display:inline-flex}.site-footer .footer-location{min-width:0}}
.service-grid{align-items:stretch}.service-card{display:flex;flex-direction:column}.service-body{flex:1;display:flex;flex-direction:column}.service-body .text-link{align-self:flex-start;margin-top:auto;padding-top:16px}
@media(min-width:640px) and (max-width:1099px){.quote-copy{left:20px;top:12px;padding:15px 15px 18px;width:57%;min-height:210px;background:#f8f7f4f2}.quote-location{background:#fafaf8}.quote-banner{height:250px;background-size:cover}}
.site-footer .footer-bottom small{display:block}.site-footer .footer-bottom small i{display:inline-block}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.gallery-tile:first-child{grid-row:auto}.gallery-tile:nth-child(2){grid-column:auto}
.gallery-tile img,.gallery-tile:first-child img,.gallery-tile:nth-child(2) img{height:auto;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-tile{display:flex;flex-direction:column}.gallery-tile figure{height:100%;display:flex;flex-direction:column}
.gallery-tile figcaption{flex:1;padding:16px;font-size:16px;line-height:1.45}
.gallery-tile[hidden]{display:none}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}
.gallery-filters button{background:#fff;border:1px solid #d8d4ca;padding:11px 18px;font-size:15px;min-height:44px}
.gallery-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white}
.gallery-count{font-size:15px;line-height:1.5;color:#53565a;white-space:nowrap}
.lightbox-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:15px}
.gallery-lightbox img{height:65dvh;object-fit:contain}
@media(max-width:1099px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.gallery-grid{gap:12px}.gallery-tile figcaption{font-size:15px;padding:12px;gap:5px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.gallery-filters button{padding:10px 13px}.gallery-lightbox{padding:14px}.gallery-lightbox img{height:58dvh}.lightbox-navigation button{padding:10px}.lightbox-bar strong{font-size:15px;line-height:1.4}.lightbox-bar{align-items:flex-start}}
