/* Photo-led service pages and the prospect's original portfolio. */
:root{--cream:#f5f3ee;--rust:#a54426}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}
.expertise-card{min-width:0;background:var(--cream)}
.expertise-card>a{display:block;height:100%}
.expertise-photo{overflow:hidden;aspect-ratio:4/3;background:#e7e5df}
.expertise-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.expertise-card a:hover img{transform:scale(1.035)}
.expertise-copy{padding:26px 27px 22px}
.expertise-copy .service-number{display:block;margin-bottom:15px}
.expertise-copy h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;letter-spacing:-.025em;margin-bottom:15px}
.expertise-copy p{font-size:.95rem;line-height:1.65;margin-bottom:14px}
.more-services,.related-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}
.more-services a,.related-services a{border-top:1px solid #aab5b8;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;line-height:1.4;font-weight:500;min-height:64px}
.more-services a:hover,.related-services a:hover{color:var(--rust)}
.craft-section{background:var(--ink);color:white;padding:95px 0 105px}
.craft-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:105px}
.craft-images{position:relative;padding-bottom:55px;padding-right:55px;min-width:0}
.craft-main{display:block;width:100%;height:450px;object-fit:cover}
.craft-detail{position:absolute;bottom:0;right:0;width:49%;height:200px;object-fit:cover;border:9px solid var(--ink)}
.craft-copy h2{font-family:'DM Serif Display',Georgia,serif;font-size:3.4rem;letter-spacing:-.035em;margin-bottom:28px}
.craft-copy p{color:#d1dcdf}.craft-copy .eyebrow{color:#f2b194}.craft-copy .text-link{color:white;border-bottom:1px solid #738a94}
.featured-works{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:25px;align-items:start}
.work-card{margin:0;min-width:0}.work-card[hidden]{display:none!important}
.photo-open{display:block;position:relative;padding:0;border:0;background:#eeede8;cursor:zoom-in;width:100%;overflow:hidden}
.photo-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.photo-open:hover img{transform:scale(1.025)}
.featured-works .photo-open{height:310px}.featured-works .work-card:nth-child(2){margin-top:60px}.featured-works .work-card:nth-child(3) .photo-open{height:370px}
.photo-zoom{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:37px;height:37px;background:white;color:var(--ink);font-size:1.3rem}
.work-card figcaption{font-size:.8125rem;line-height:1.5;padding:13px 0;color:var(--muted)}
.leak-band{background:#eee8df;padding:65px 0}.leak-band .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:95px;align-items:center}.leak-band .text-link{display:block;margin-top:16px}.leak-band p{max-width:480px}
.project-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:0;margin:0;list-style:none}.project-steps li{border-top:1px solid #a9b4b8;padding-top:25px}.project-steps li>span{color:var(--orange);font-size:.875rem}.project-steps h3{margin:25px 0 15px;font-size:1.5rem}.project-steps p{font-size:1rem}
.zone-section{padding:80px 0;background:var(--cream)}.zone-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.zone-grid h2{margin-bottom:25px}.zone-details{padding:35px 40px;background:white;border-top:3px solid var(--orange)}.zone-label{font-size:.6875rem;letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:20px}.zone-details h3{font-size:1.6rem}.zone-phone{display:block;font-size:1.8rem;letter-spacing:-.025em;margin:20px 0 25px}.zone-details>a:not(.zone-phone){display:block;font-size:.9rem;overflow-wrap:anywhere}.zone-details p{font-size:1rem}.zone-details .text-link{margin-top:16px}
.service-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-top:55px;padding-bottom:60px}.service-intro h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.7rem,4.3vw,4.4rem);letter-spacing:-.035em;line-height:1.1}.service-intro p{margin:26px 0 28px;font-size:1.08rem}.service-intro .breadcrumb{font-size:.75rem;margin-bottom:34px}.service-intro .eyebrow{font-size:.73rem;margin-bottom:22px}.service-cover-wrap{background:var(--cream);padding:23px;position:relative}.service-cover-wrap:after{content:'';position:absolute;right:0;bottom:0;width:75px;height:3px;background:var(--orange)}.service-cover{width:100%;height:365px;object-fit:contain;display:block}
.service-jump{display:flex;gap:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.875rem}.service-jump a{padding:20px 0;line-height:1.5}.service-jump a:hover{color:var(--rust)}
.service-body{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:start}.service-block{display:grid;grid-template-columns:30px 1fr;gap:20px;margin-bottom:42px}.service-block>span{color:var(--orange);font-size:.8125rem;padding-top:7px}.service-block h2{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:18px;line-height:1.25}.service-block p{font-size:1.02rem;margin:0}.service-aside{background:var(--cream);padding:32px;position:sticky;top:24px}.service-aside h2{font-size:1.3rem;letter-spacing:-.025em;line-height:1.4}.service-aside .check-list{font-size:.9375rem;margin:22px 0}.service-aside p{font-size:.875rem;margin:14px 0 20px}.service-aside .button{width:100%;padding-inline:15px;gap:15px}.aside-phone{font-size:1.25rem}
.detail-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:0!important}.detail-photo-row .photo-open{height:290px;background:var(--cream)}.detail-photo-row img{object-fit:contain;padding:12px}
.stage-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}.stage-gallery .photo-open{aspect-ratio:4/3}.project-question{background:var(--ink);color:white;padding:65px 0}.project-question .wrap{max-width:970px}.project-question .eyebrow{color:#f2b194}.project-question h2{font-family:'DM Serif Display',Georgia,serif;font-size:2.7rem;margin-bottom:22px}.project-question p{color:#d1dcdf}.project-question .button{margin-top:8px;background:white;color:var(--ink);border-color:white}
.gallery-section{padding-top:45px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap}.gallery-filters button{border:1px solid #bcc7ca;background:white;padding:12px 18px;min-height:46px;color:var(--ink);font-size:.875rem;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink);text-decoration:underline;text-underline-offset:4px}.gallery-status{font-size:.875rem;margin:22px 0}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}.work-grid .photo-open{aspect-ratio:4/3}.work-grid img{object-fit:contain;background:var(--cream)}
.photo-dialog{padding:60px 30px 20px;border:0;background:#152831;color:white;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:auto}.photo-dialog::backdrop{background:#071219dc}.photo-dialog img{display:block;max-width:min(100%,1100px);max-height:calc(100svh - 180px);width:auto;height:auto;object-fit:contain;margin:auto}.photo-dialog p{color:white;text-align:center;font-size:.875rem;margin:20px 0 0}.photo-close{position:absolute;top:8px;right:12px;width:44px;height:44px;color:white;font-size:2rem;background:transparent;border:0;cursor:pointer}.company-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center}.company-photo{width:100%;height:420px;object-fit:cover}.company-grid h2{font-family:'DM Serif Display',Georgia,serif;font-size:3rem;letter-spacing:-.035em;margin-bottom:25px}
.footer-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 30px;border-top:1px solid var(--line);padding:28px 0;font-size:.875rem}.footer-services a:hover{text-decoration:underline;text-underline-offset:4px}
.home .mobile-action{display:grid;transition:transform .22s ease;transform:translateY(110%)}.home.scrolled .mobile-action{transform:translateY(0)}
@media(min-width:761px){.home .mobile-action{display:none}}
@media(max-width:1100px){.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-grid,.zone-grid,.leak-band .wrap,.company-grid{gap:45px}.craft-copy h2{font-size:2.8rem}.craft-main{height:370px}.craft-detail{height:165px}.service-intro{gap:35px}.service-cover{height:315px}.service-body{gap:35px}.service-aside{padding:24px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-works .photo-open{height:260px}.featured-works .work-card:nth-child(3) .photo-open{height:315px}.expertise-copy{padding:24px}.more-services a{font-size:.875rem}}
@media(max-width:760px){.expertise-grid{grid-template-columns:1fr;gap:27px}.expertise-photo{aspect-ratio:16/10}.expertise-copy{padding:23px}.expertise-copy h3{font-size:1.85rem}.more-services,.related-services{grid-template-columns:1fr;gap:0;margin-top:25px}.craft-section{padding:55px 0 60px}.craft-grid,.zone-grid,.leak-band .wrap,.company-grid{grid-template-columns:1fr;gap:36px}.craft-images{padding-right:40px;padding-bottom:42px}.craft-main{height:290px}.craft-detail{height:135px;border-width:6px}.craft-copy h2{font-size:2.55rem}.featured-works{grid-template-columns:1fr;gap:26px}.featured-works .work-card:nth-child(2){margin-top:0}.featured-works .photo-open,.featured-works .work-card:nth-child(3) .photo-open{height:280px}.featured-works .work-card:nth-child(3) img{object-position:center 52%}.project-steps{grid-template-columns:1fr;gap:22px}.project-steps h3{margin-top:17px}.project-steps p{margin-bottom:0}.leak-band{padding:45px 0}.zone-section{padding:55px 0}.zone-details{padding:28px 24px}.zone-phone{font-size:1.7rem}.service-intro{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:35px}.service-intro h1{font-size:2.8rem}.service-intro p{font-size:1rem;margin-top:22px}.service-cover-wrap{padding:15px}.service-cover{height:245px}.service-jump{gap:20px;flex-wrap:wrap;padding-block:10px}.service-jump a{font-size:.8125rem;padding:8px 0}.service-body{grid-template-columns:1fr;gap:24px}.service-block{gap:12px;grid-template-columns:25px 1fr;margin-bottom:32px}.service-block h2{font-size:1.6rem}.service-block p{font-size:1rem}.service-aside{position:static;padding:27px}.detail-photo-row{grid-template-columns:1fr;gap:24px}.detail-photo-row .photo-open{height:240px}.stage-gallery{grid-template-columns:1fr;gap:20px}.project-question{padding:45px 0}.project-question h2{font-size:2.2rem}.gallery-filters{gap:8px}.gallery-filters button{padding:10px 12px;font-size:.8125rem}.work-grid{grid-template-columns:1fr;gap:22px}.work-grid .photo-open{aspect-ratio:4/3}.photo-dialog{padding:57px 14px 20px}.company-photo{height:290px}.company-grid h2{font-size:2.5rem}.footer-services{grid-template-columns:1fr 1fr;font-size:.8125rem;gap:14px 24px}.home .footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.expertise-photo img,.photo-open img,.home .mobile-action{transition:none}}

.footer a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.home .menu-toggle{margin-left:auto}}
