.location-landing .service-detail-hero__title{max-width:15ch;font-size:clamp(2.6rem,4.7vw,5.6rem);line-height:1.02}
.location-landing .service-detail-hero__grid{min-height:0}
.location-section{padding:clamp(2rem,5vw,5rem) 0}
.location-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.location-links>a{position:relative;display:block;padding:2rem;background:#f3f3f1;color:#171717;text-decoration:none;border-radius:1.25rem;transition:background .2s,transform .2s}
.location-links>a:hover{background:#e6f4fc;transform:translateY(-3px)}
.location-links span{font-size:.8rem;color:#666}
.location-links h3{font-size:clamp(1.4rem,2vw,2rem);margin:1.8rem 0 1rem}
.location-links p{line-height:1.6;max-width:30ch;margin-bottom:2rem}
.location-links b{position:absolute;right:1.5rem;bottom:1.25rem;font-size:1.7rem}
.location-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0}
.location-gallery figure{margin:0;overflow:hidden;border-radius:1.25rem}
.location-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.location-note{max-width:65ch;color:#666;line-height:1.7}
.location-faq details{border-bottom:1px solid #dcdcd8;padding:1.3rem 0}
.location-faq summary{cursor:pointer;font-size:clamp(1.1rem,2vw,1.45rem);padding-right:1rem}
.location-faq p{max-width:75ch;line-height:1.7;margin:1rem 0 0;color:#555}
.location-landing a:focus-visible,.location-landing summary:focus-visible{outline:2px solid #171717;outline-offset:5px}
@media(max-width:767px){.location-links,.location-gallery{grid-template-columns:1fr}.location-links>a{padding:1.5rem}.location-landing .service-detail-hero__title{font-size:clamp(2.4rem,10vw,3.7rem)}.location-landing .service-detail-hero__caption{font-size:.7rem;gap:1rem}.location-landing .service-detail-hero__meta{letter-spacing:0}.location-section .service-detail-section-head{gap:1rem}}
@media(prefers-reduced-motion:reduce){.location-links>a{transition:none}.location-links>a:hover{transform:none}}
@media(max-width:991px){.location-landing .service-detail-hero__media{order:0}.location-landing .service-detail-hero__content{padding-top:1.5rem}.location-landing .service-detail-hero__image-wrap{aspect-ratio:4/3}.location-landing .service-detail-hero__caption{flex-wrap:wrap}.location-landing .service-detail-hero__grid{gap:2rem}}

/* Landing refinement, isolated from the existing service pages. */
.location-landing .service-detail-hero__media{width:100%;min-width:0}
.location-landing .service-detail-hero{padding-bottom:clamp(2.5rem,5vw,5rem)}
.location-landing .service-detail-hero__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,4vw,4rem)}
.location-landing .service-detail-hero__image-wrap{aspect-ratio:3/2;clip-path:none!important;border-radius:24px}
.location-landing .service-detail-hero__image{position:static;width:100%;height:100%;object-fit:cover;transform:none!important}
.location-landing .service-detail-hero__media:before{display:none}
.location-landing .service-detail-hero__caption{font-size:.68rem;letter-spacing:.05em;padding-top:12px}
.location-landing .service-detail-hero__button{gap:0;justify-content:center;min-height:54px;padding:16px 28px;border-radius:12px}
.location-landing .btn{transition:background-color .2s,color .2s,box-shadow .2s}
.location-landing .btn-dark:hover{background:#303030;box-shadow:0 6px 18px #00000012}
.location-landing .service-detail-copy{padding-block:clamp(2.5rem,5vw,5rem)}
.location-landing .service-detail-copy__content{font-size:clamp(1rem,1.3vw,1.2rem)}
.location-landing .service-detail-copy__content p+p{margin-top:1rem}
.location-landing .service-detail-principles{padding-block:clamp(2.5rem,5vw,5rem)}
.location-landing .service-detail-principle{min-height:250px;padding:28px}
.location-landing .service-detail-principle h3{font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.15}
.location-landing .service-detail-section-head{margin-bottom:2rem}
.location-links>a{border:1px solid #dcdcd8;background:transparent;border-radius:18px}
.location-links p{margin-bottom:0}
.location-gallery{margin:1.5rem 0}
.location-gallery figure{border-radius:18px}
.location-landing .location-portfolio-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;padding:12px 24px}
.location-faq{border-top:1px solid #dcdcd8}
.location-faq details{padding:0}
.location-faq summary{position:relative;list-style:none;padding:24px 48px 24px 0;font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.4}
.location-faq summary::-webkit-details-marker{display:none}
.location-faq summary:after{content:'+';position:absolute;right:4px;top:20px;width:30px;height:30px;border-radius:50%;background:#e2e2df;display:grid;place-items:center;font-size:22px;font-weight:300}
.location-faq details[open] summary:after{content:'−'}
.location-faq p{margin:0;padding:0 48px 24px 0}
.location-landing .service-detail-form{padding-block:clamp(3rem,5vw,5rem)}
.location-landing .service-detail-form__shell:before,.location-landing .service-detail-form__shell:after{display:none}
.location-landing .service-detail-form__submit{border-radius:12px}
.location-photo-credit{max-width:75ch;margin:0;color:#747474;font-size:.75rem;line-height:1.6}
.location-photo-credit a{color:inherit;text-underline-offset:3px}
.location-credits{padding:0 0 2rem}
.location-landing .service-detail-hero__content>*{transition-duration:.5s!important;transition-delay:.05s!important}
@media(max-width:991px){.location-landing .service-detail-hero__grid{grid-template-columns:1fr}.location-landing .service-detail-hero__image-wrap{aspect-ratio:3/2}.location-landing .service-detail-hero__media{margin-inline:0!important}.location-landing .service-detail-hero__image-wrap{border-radius:18px}.location-landing .service-detail-hero__caption{font-size:.65rem}.location-landing .service-detail-principle{min-height:210px}}
@media(max-width:575px){.location-landing .service-detail-hero__title{font-size:2.65rem}.location-landing .service-detail-hero__lead{margin-top:1.25rem}.location-landing .service-detail-hero__actions{margin-top:1.5rem}.location-landing .service-detail-hero__content{padding-top:1rem}.location-landing .service-detail-hero__grid{gap:1.5rem}.location-landing .service-detail-section-head h2{font-size:2.5rem;line-height:1.04}.location-landing .service-detail-section-head{margin-bottom:1.5rem}.location-landing .service-detail-principle{min-height:0;padding:24px}.location-landing .service-detail-principle__number{margin-bottom:1.5rem}.location-landing .service-detail-principle h3{margin-bottom:1rem}.location-faq summary{padding-block:20px}.location-faq p{padding-right:0}.location-landing .service-detail-form__title{font-size:2.5rem}.location-landing .service-detail-hero__image{object-position:center}}
