/* Layout details shared by the fully rendered service and location pages. */
.page-intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:end;margin:2rem 0 3rem}.page-intro-grid h1{max-width:15ch}.page-intro-grid .lead{font-size:1.1rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:1.5rem}.article-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}.prose p{max-width:67ch}.prose p+p{margin-top:1.2em}.prose .text-link{display:table;margin-top:1.3rem}.prose a,.faq-list a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.focus-item{padding:2rem 0;border-top:1px solid #a8987d}.focus-item h3{font-family:var(--display);font-weight:400;font-size:1.8rem}.focus-item .text-link{margin-top:1rem}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.feature-grid .section-photo{margin:0}.feature-grid img{min-height:470px;object-fit:cover}.feature-grid p{margin:1.1rem 0}.section-tint{background:#e7e2d6}.card-copy{padding:1.5rem}.card-copy h3{margin:0 0 .8rem}.card-copy p{font-size:.93rem;line-height:1.7}.card-link{display:block;margin-top:1.3rem;font-size:.76rem;font-weight:700;letter-spacing:.025em}.image-credit{font-size:.68rem;line-height:1.5;padding:.5rem 0;text-align:right;color:#4c5e52}.image-credit a{text-decoration:underline}.section-end-link{margin-top:2rem}.contact-band{background:#24372f;color:#f2f0e8}.contact-band-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.contact-band p{color:#e7e2d6}.contact-band .eyebrow{color:#c3ab88}.contact-band h2{color:#f2f0e8}.contact-band-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding-left:15%}.contact-band-actions>a:not(.button){color:#f2f0e8;overflow-wrap:anywhere}.contact-band .phone-link{font-size:1.8rem}.direct-contact{display:flex;flex-direction:column;gap:.75rem;margin:2rem 0;font-weight:600}.direct-contact a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.contact-panel>div>p{max-width:43ch;overflow-wrap:anywhere}.coverage-note{display:flex;justify-content:space-between;gap:2rem;padding-bottom:4rem;align-items:center}.resources-section{background:#e7e2d6}.resource-links a{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 0;border-top:1px solid #b9baa8}.resource-links span{font-size:.9rem;line-height:1.6}.footer-main{display:grid;grid-template-columns:1fr 1.4fr .6fr;gap:3rem}.footer-main h2{font-size:1.7rem}.footer-main p{font-size:.9rem}.footer-main nav{display:flex;flex-direction:column;gap:.8rem}.footer-main a{overflow-wrap:anywhere}.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;width:190px}.footer-brand img{max-width:130px;height:auto}.footer-brand>span{font-size:2.1rem;letter-spacing:.16em}.footer-brand small{display:block;font-size:.55rem;letter-spacing:.15em}.footer-bottom{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;border-top:1px solid #647265;margin-top:3rem;padding-top:1.5rem;font-size:.72rem;line-height:1.7}.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.will-reveal.is-visible{opacity:1;transform:none}.form-status[hidden]{display:none}.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;background:#24372f;color:#fff;padding:1rem}.skip-link:focus{top:1rem} :focus-visible{outline:3px solid #816744;outline-offset:5px}.home-panorama>.section-photo{margin:0}.home-panorama .image-credit{padding-right:1rem}
@media(max-width:1000px){.page-intro-grid,.article-grid{gap:2.5rem}.focus-grid{gap:1.5rem}.feature-grid{gap:2rem}.footer-main{grid-template-columns:.8fr 1.2fr}.footer-main nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.contact-band-actions{padding-left:0}}
@media(max-width:700px){.page-intro-grid,.article-grid,.focus-grid,.feature-grid,.contact-band-inner,.footer-main,.footer-bottom{grid-template-columns:1fr;gap:1.5rem}.page-intro-grid{margin:1.3rem 0 2rem}.page-intro-grid h1{max-width:18ch}.focus-item{padding:1.2rem 0}.feature-grid img{min-height:300px}.contact-band-actions{margin-top:1rem}.coverage-note{flex-direction:column;align-items:flex-start;gap:.5rem}.footer-main nav{grid-column:auto}.footer-brand{align-items:flex-start;text-align:left}.footer-bottom{gap:.7rem}.hero-actions{gap:1rem}.contact-band .phone-link{font-size:1.5rem}.image-credit{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto!important}}

/* Root markup alignment and intentional photographic proportions. */
.section-heading{display:block;max-width:800px}.section-heading h2{margin-bottom:1.2rem}.section-heading>p:not(.eyebrow){max-width:650px}.article-grid .section-heading{margin-bottom:0}.contact-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start}.section-photo{width:100%}.section-photo.photo-wide img{height:auto;aspect-ratio:auto}.section-photo.photo-portrait img{height:500px;object-position:50% 65%!important}.home-panorama .section-photo,.home-panorama picture{height:100%}.home-panorama .section-photo img{height:100%;aspect-ratio:auto}.home-panorama{aspect-ratio:3.1}.home-panorama .image-credit{display:none}.service-card.page-card{padding:0;gap:0;overflow:hidden}.service-card picture{aspect-ratio:1.75;width:100%;overflow:hidden}.service-card picture img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.service-card:hover picture img{transform:scale(1.035)}.service-card .card-copy{padding:1.6rem}.service-card .card-copy h3{font-size:1.6rem}.service-card .card-copy p{font-size:.85rem}.location-cards>article{padding:0;border:0;background:transparent}.location-card.page-card{padding:0;overflow:hidden;height:calc(100% - 55px)}.location-card picture{width:100%;height:200px;overflow:hidden}.location-card img{width:100%;height:100%;object-fit:cover}.card-credit .image-credit{font-size:.6rem;text-align:left;line-height:1.6}.resource-links{display:grid;grid-template-columns:1fr 1fr;border-top:0}.resource-links a{align-items:flex-start;font-weight:400}.resource-links a strong{font-size:.95rem}.breadcrumb{display:flex;flex-wrap:wrap;gap:.6rem}.detail-grid{margin-top:2rem}.section-photo figcaption{background:var(--paper)}.feature-grid .section-photo.photo-wide img{min-height:0;aspect-ratio:2;height:auto}.footer-brand img{width:100px}.footer-main>div>p{color:#cad4c6}.footer-main nav a{font-size:.85rem}.footer-bottom{display:grid}.contact-panel .direct-contact{font-size:.95rem}.contact-panel>div>p{font-size:.9rem}.section-photo.photo-portrait{max-width:700px}.photo-portrait picture{height:500px}.photo-portrait img{object-fit:contain!important;background:var(--sand)}
@media(max-width:800px){.contact-panel{grid-template-columns:1fr;gap:2rem}.resource-links{grid-template-columns:1fr}.section-heading{display:block}.home-panorama{aspect-ratio:2.5}.location-card.page-card{height:auto}.footer-bottom{display:grid}}
@media(max-width:600px){.home-panorama{aspect-ratio:1.65}.home-panorama .section-photo img{object-fit:cover}.contact-panel{padding:25px 20px}.contact-form{padding:22px 18px}.section-photo.photo-portrait img,.photo-portrait picture{height:380px}.section-photo.photo-wide img{min-height:180px;object-fit:cover}.service-card .card-copy{padding:1.5rem}.section-heading h2{margin-bottom:1.2rem}.footer-bottom{grid-template-columns:1fr}.focus-grid .focus-item h3{font-size:1.7rem}}

/* Hide only the pending scripted menu before first paint; no-JS anchors remain visible. */
.alpine-scripted .alpine-header:not(.navigation-enhanced) .alpine-navigation{display:none}.contact-panel .eyebrow{color:#70583c}

.code-process-art{min-height:360px;padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:center;background:#e7e2d6;border:1px solid #c3ab88;color:#24372f}.code-process-art>p{font-family:var(--display);font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.12;margin:1.8rem 0}.code-process-art em{font-weight:400;color:#70583c}.code-art-rule{display:block;width:70px;height:2px;background:#816744;margin:0 0 1.6rem}.code-process-art>span:last-child{font-size:.8rem;line-height:1.8}
