/* Shared branding and multi-page navigation. */
.utility-bar{display:block}.utility-inner{height:49px}.utility-contact{gap:22px}.bbb-badge{display:inline-flex;background:#164957;padding:5px 8px;border-radius:5px;align-items:center;flex-shrink:0}.bbb-badge img{display:block;width:132px;height:auto}.utility-contact .bbb-badge{padding:3px 5px}.utility-contact .bbb-badge img{width:116px}.desktop-nav{gap:24px;font-size:13px}.desktop-nav a[aria-current=page]:after{right:0}.mobile-menu-links a[aria-current=page]{color:#95631e}.hero{height:calc(100svh - 135px)}
.page-intro{background:#fff6ed;padding:53px 0 60px;border-bottom:1px solid #e8e3dd}.page-intro>.container{display:grid;grid-template-columns:1fr;gap:55px;align-items:center}.page-intro.with-photo>.container{grid-template-columns:1fr 1fr}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:11px;color:#626971;margin-bottom:36px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-intro .eyebrow{margin-bottom:17px;color:#626971}.page-intro h1{font-size:clamp(44px,4.8vw,68px);font-weight:900;line-height:1.08;color:#3e454b}.page-intro-copy>p:last-child{font-size:16px;line-height:1.8;color:#626971;max-width:510px;margin-top:24px}.page-intro-photo{position:relative;min-height:350px;border-radius:12px;overflow:hidden;align-self:stretch}.page-intro-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.page-cta{padding:55px 0;background:#fff6ed}.page-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:45px}.page-cta .eyebrow{margin-bottom:12px;color:#626971}.page-cta h2{font-size:36px}.page-cta p:not(.eyebrow){font-size:15px;color:#626971;margin-top:13px}.page-cta .button{flex-shrink:0}.service-detail>.container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-detail:nth-of-type(odd){background:#fff6ed}.service-detail:nth-of-type(odd) .service-detail-image{order:2}.service-detail-image{position:relative;overflow:hidden;border-radius:12px}.service-detail-image img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}.service-detail-image>span{position:absolute;left:20px;top:20px;background:#fff9;color:#3e454b;font:700 12px var(--font-heading);padding:10px 14px;border-radius:4px;backdrop-filter:blur(6px)}.service-detail-copy h2{font-size:clamp(32px,3.1vw,44px)}.service-detail-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:23px;line-height:1.8}.service-detail-copy ul{list-style:none;padding:0;margin:25px 0 30px}.service-detail-copy li{display:flex;align-items:flex-start;gap:12px;font-size:13px;margin:13px 0}.service-detail-copy li svg{width:18px;height:18px;color:#9b752c}.about-story .story-photo img{aspect-ratio:.95}.values-section{background:#fff6ed}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.value-grid article>svg{width:32px;height:32px;color:#9a7329;margin-bottom:21px}.value-grid h3{font-size:23px}.value-grid p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:13px}.team-names{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.team-names article{display:flex;align-items:center;gap:18px;padding:23px 0;border-top:1px solid var(--line)}.team-names article>span{display:grid;place-items:center;width:54px;height:54px;background:#fff6ed;border:1px solid #d4d9dc;border-radius:50%;color:#626971;font:700 15px var(--font-heading);flex-shrink:0}.team-names h3{font-size:22px}.team-names p{font-size:12px;color:var(--muted);margin-top:5px}.contact-location{padding:45px 0;background:#fff6ed}.contact-location>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-location .eyebrow{margin:0}.contact-location address{font-size:15px;font-style:normal;color:#626971}.faq-page>.container{display:grid;grid-template-columns:1.45fr 1fr;gap:80px;align-items:start}.faq-page-list details{border-bottom:1px solid var(--line)}.faq-page-list details:first-child{border-top:1px solid var(--line)}.faq-page-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:16px;font-weight:500;padding:22px 0;cursor:pointer;list-style:none}.faq-page-list summary::-webkit-details-marker{display:none}.faq-page-list summary svg{width:19px;height:19px;transition:transform .2s}.faq-page-list details[open] svg{transform:rotate(45deg)}.faq-page-list details p{font-size:15px;color:var(--muted);padding:0 25px 24px 0;line-height:1.8}.faq-page aside{padding:35px;background:#fff6ed;border-radius:10px}.faq-page aside h2{font-size:34px}.faq-page aside>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:20px 0 25px}
/* Original portfolio photography, with natural proportions and a full lightbox. */
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.portfolio-toolbar .project-filters{margin:0;gap:7px}.portfolio-toolbar .project-filters button{min-height:43px;border-radius:30px;padding:9px 18px;font-size:12px}.portfolio-toolbar .project-filters button.active{background:#3e454b;border-color:#3e454b}.portfolio-toolbar>p{font-size:11px;color:var(--muted);white-space:nowrap}.portfolio-grid{column-count:3;column-gap:20px}.portfolio-grid .project{display:block;position:relative;width:100%;height:auto;aspect-ratio:auto;border-radius:9px;break-inside:avoid;grid-column:auto;grid-row:auto;margin:0 0 20px;background:#e8e3dd}.portfolio-grid .project img{width:100%;height:auto;object-fit:contain}.portfolio-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 18px 18px;background:linear-gradient(transparent,#20272bc7);display:flex;align-items:center;justify-content:space-between;gap:14px}.portfolio-caption strong{font:700 17px/1.3 var(--font-heading)}.portfolio-caption svg{width:18px;height:18px}.gallery-more{display:flex;justify-content:center;margin-top:20px}.gallery-more .button{min-width:210px}.lightbox-navigation{display:flex;align-items:center;gap:13px;margin-left:auto}.lightbox-navigation>span{font-size:11px;min-width:45px;text-align:center;color:#d4d9dc}.lightbox-toolbar #dialog-title{max-width:55%}.lightbox-toolbar #close-dialog{margin-left:10px}#dialog-image{object-fit:contain}.lightbox-bottom{border-top:1px solid #ffffff25;padding-top:16px}
/* A useful newsletter and the original payment marks in every footer. */
.footer{padding-top:0}.footer-newsletter{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:45px 0 42px;border-bottom:1px solid var(--line);margin-bottom:45px}.footer-newsletter .eyebrow{margin-bottom:10px;font-size:9px;color:#86704d}.footer-newsletter h2{font-size:33px;letter-spacing:-.025em}.footer-newsletter>div>p:last-child{font-size:13px;color:var(--muted);max-width:420px;margin-top:12px;line-height:1.8}.newsletter-form{padding:0;min-width:0}.newsletter-form>label{margin:0 0 8px;font-size:11px;color:#626971}.newsletter-input{display:flex;gap:8px;align-items:stretch}.newsletter-form .newsletter-input input{margin:0;flex:1;width:0;min-width:0;min-height:49px;font-size:14px;padding:11px 13px;border-color:#e8e3dd;background:#fffdfb}.newsletter-input .button{font-size:12px;min-height:49px;padding:12px 17px;gap:16px;flex-shrink:0}.newsletter-input svg{width:18px;height:18px}.newsletter-input .button:disabled{cursor:wait;opacity:.6}.newsletter-consent{font-size:10px;line-height:1.7;color:#626971;margin-top:11px}.newsletter-form [role=status]{font-size:12px;margin-top:10px;color:#3e454b}.newsletter-form [role=status]:empty{display:none}.newsletter-form [role=status].error{color:#a13e2a}.newsletter-form [role=status] a{display:inline-block;text-decoration:underline;margin-left:6px}.footer-assurance{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:30px;margin-top:32px;border-top:1px solid var(--line)}.footer-assurance .bbb-badge img{width:185px}.footer-payments{display:flex;align-items:center;gap:25px}.footer-payments p{font-size:11px;color:#626971}.payment-icons{display:flex;align-items:center;gap:9px}.payment-icons img{width:43px;height:38px;object-fit:contain}.footer-bottom{margin-top:27px}.subscription-page{max-width:690px;margin:auto;min-height:45vh}.subscription-page form{padding:0}.subscription-page h1{font-size:44px;margin-bottom:20px}.subscription-page p{font-size:16px;color:var(--muted);margin-bottom:25px}.subscription-page .button{margin-top:10px}.subscription-page .status-message{margin-top:25px;font-size:15px}
@media(max-width:1150px){.desktop-nav{gap:19px;font-size:12px}.footer-newsletter{gap:45px}.page-intro>.container{gap:35px}.page-intro-photo{min-height:320px}.service-detail>.container{gap:45px}.portfolio-toolbar{align-items:flex-start;gap:20px}.portfolio-toolbar .project-filters{flex:1}.portfolio-toolbar>p{margin-top:12px}.faq-page>.container{gap:45px}.team-names h3{font-size:20px}.footer-payments{gap:16px}}
@media(max-width:900px){.page-intro h1{font-size:47px}.page-intro-copy>p:last-child{font-size:14px}.page-intro-photo{min-height:300px}.page-intro{padding:38px 0 45px}.breadcrumbs{margin-bottom:26px}.page-cta h2{font-size:31px}.page-cta p:not(.eyebrow){font-size:14px}.service-detail>.container{gap:35px}.service-detail-copy h2{font-size:34px}.service-detail-copy>p:not(.eyebrow){font-size:14px}.service-detail-copy li{font-size:12px}.service-detail-image img{aspect-ratio:.8}.portfolio-grid{column-count:2}.portfolio-toolbar{display:block}.portfolio-toolbar>p{margin-top:16px}.value-grid{gap:28px}.value-grid h3{font-size:21px}.team-names{grid-template-columns:1fr}.team-names article{padding:20px 0}.team-names h3{font-size:24px}.team-names article>span{width:50px;height:50px}.footer-newsletter{gap:32px}.footer-newsletter h2{font-size:29px}.footer-payments{flex-direction:column;align-items:flex-end;gap:8px}.faq-page>.container{grid-template-columns:1.4fr 1fr;gap:30px}.faq-page aside{padding:25px}.faq-page aside h2{font-size:29px}}
@media(max-width:650px){.utility-inner{height:44px;gap:10px}.utility-contact{gap:0}.utility-contact>a{display:none}.utility-contact .bbb-badge img{width:107px}.utility-location{font-size:10px;gap:6px}.utility-range{display:none}.utility-bar svg{width:13px;height:13px}.hero{height:calc(100svh - 122px);min-height:650px}.page-intro>.container,.page-intro.with-photo>.container{grid-template-columns:1fr;gap:30px}.page-intro{padding:27px 0 35px}.page-intro h1{font-size:clamp(38px,9.5vw,50px)}.breadcrumbs{font-size:10px;margin-bottom:28px}.page-intro .eyebrow{font-size:9px}.page-intro-copy>p:last-child{font-size:15px;line-height:1.8;max-width:500px;margin-top:20px}.page-intro-photo{min-height:240px}.page-cta{padding:40px 0}.page-cta>.container{display:block}.page-cta h2{font-size:32px}.page-cta .button{margin-top:25px}.service-detail>.container{grid-template-columns:1fr;gap:28px}.service-detail:nth-of-type(odd) .service-detail-image{order:0}.service-detail-image img{aspect-ratio:1.45}.service-detail-copy h2{font-size:34px}.service-detail-copy>p:not(.eyebrow){font-size:15px}.service-detail-copy li{font-size:13px}.value-grid{grid-template-columns:1fr;gap:28px}.value-grid article{padding-bottom:24px;border-bottom:1px solid #e8e3dd}.value-grid article:last-child{border:0;padding:0}.value-grid article>svg{margin-bottom:15px}.value-grid h3{font-size:24px}.value-grid p{font-size:15px}.about-story .story-photo img{aspect-ratio:1.3}.contact-location>.container{display:block}.contact-location address{margin:14px 0 22px}.faq-page>.container{grid-template-columns:1fr;gap:35px}.faq-page-list summary{font-size:15px;padding:21px 0}.faq-page-list details p{font-size:14px}.faq-page aside{padding:30px}.portfolio-grid{column-gap:12px}.portfolio-grid .project{margin-bottom:12px;border-radius:6px}.portfolio-caption{padding:36px 12px 13px;gap:8px}.portfolio-caption strong{font-size:13px}.portfolio-caption svg{width:15px;height:15px}.portfolio-toolbar .project-filters button{font-size:11px;padding:9px 13px;min-height:42px}.portfolio-toolbar>p{font-size:11px}.gallery-more{margin-top:24px}.lightbox-navigation{gap:8px}.lightbox-navigation .round-button{width:34px;height:34px}.lightbox-navigation>span{font-size:10px;min-width:33px}.lightbox-toolbar{flex-wrap:wrap;gap:12px}.lightbox-toolbar #dialog-title{max-width:calc(100% - 60px);flex:1;order:0}.lightbox-toolbar #close-dialog{order:1;margin-left:0}.lightbox-navigation{order:2;width:100%;justify-content:center}.footer-newsletter{grid-template-columns:1fr;gap:25px;padding:38px 0 32px;margin-bottom:35px}.footer-newsletter h2{font-size:30px}.footer-newsletter>div>p:last-child{font-size:13px}.newsletter-form .newsletter-input input{font-size:16px}.newsletter-input .button{font-size:12px;padding:12px 15px;gap:10px}.newsletter-consent{font-size:10px}.footer-assurance{flex-direction:column;align-items:flex-start;gap:24px;margin-top:25px;padding-top:25px}.footer-assurance .bbb-badge img{width:175px}.footer-payments{align-items:flex-start;gap:8px}.footer-payments p{font-size:11px}.payment-icons img{width:45px;height:40px}.footer-bottom{margin-top:25px}.subscription-page h1{font-size:36px}}
@media(max-width:350px){.utility-location{font-size:9px}.utility-contact .bbb-badge img{width:99px}.newsletter-input{flex-wrap:wrap}.newsletter-form .newsletter-input input{width:100%;flex-basis:100%}.newsletter-input .button{width:100%}.portfolio-grid{column-count:1}.portfolio-caption strong{font-size:17px}}
