/* Services and Expertise landing pages. */
.landing-theme h2,.landing-theme h3,.landing-theme h4{font-weight:500;line-height:1.16}
.landing-theme .eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:500;letter-spacing:.14em}
.landing-theme .eyebrow::before{content:'';width:26px;height:2px;background:var(--logo-red);flex-shrink:0}
.landing-hero{background:var(--navy);color:#fff;padding:30px 0 64px}
.landing-breadcrumb{display:flex;gap:12px;align-items:center;font-size:.8rem;color:#c2d1dc;margin-bottom:42px}
.landing-breadcrumb a{color:inherit;text-decoration:none}.landing-breadcrumb a:hover{text-decoration:underline}
.landing-hero .eyebrow{color:#e0e8ed}.landing-hero .eyebrow::before{background:var(--accent)}
.landing-hero h1{font-weight:500;font-size:clamp(3rem,4.7vw,4.7rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 25px}
.landing-summary{color:#d7e2ea;max-width:480px;margin-bottom:30px;line-height:1.8}
.landing-hero-image{margin:0;position:relative;border-bottom:4px solid var(--accent)}
.landing-hero-image img{display:block;width:100%;height:440px;object-fit:cover}
.landing-hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:#142f47e8;display:flex;justify-content:space-between;gap:12px;font-size:.62rem;letter-spacing:.12em}
.landing-section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}
.landing-section-heading h2{margin:0}.landing-section-heading>p{max-width:390px;color:var(--muted);margin:0}
.landing-services{background:#fff}.landing-service-card{height:100%;display:flex;flex-direction:column;box-shadow:0 8px 30px #142f4709}
.landing-card-image{display:block;overflow:hidden}.landing-card-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .3s}
.landing-service-card:hover .landing-card-image img{transform:scale(1.025)}
.landing-card-body{border:1px solid var(--line);border-top:0;padding:30px;flex:1;display:flex;flex-direction:column}
.landing-number{font-size:.65rem;color:#a23239;letter-spacing:.1em;margin-bottom:16px}.landing-card-body h3{font-size:1.65rem;margin-bottom:20px}
.landing-card-body p{color:var(--muted)}.landing-card-body p.landing-card-intro{color:var(--ink);font-weight:500;line-height:1.5;margin-bottom:15px}
.landing-link{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;font-weight:500;border-top:1px solid var(--line);padding-top:20px;margin-top:auto}
.landing-link i{color:var(--logo-red);font-size:.9rem}.landing-link:hover{text-decoration:underline}
.landing-detail-band{background:#f1f4f5}.landing-detail-image{margin:0}.landing-detail-image img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;display:block}
.landing-detail-band h2{margin-bottom:26px}.landing-detail-band p:not(.eyebrow){color:var(--muted)}
.landing-steps{display:grid;gap:0;margin:26px 0}.landing-steps span{padding:13px 0;border-bottom:1px solid #cbd6dd}.landing-steps b{font-size:.75rem;font-weight:500;color:#a23239;display:inline-block;width:40px}
.landing-crosslink>.container{display:flex;align-items:center;justify-content:space-between;gap:40px}.landing-crosslink h2{font-size:2.3rem}.landing-crosslink p:last-child{margin:0;color:var(--muted)}.landing-crosslink .btn{flex-shrink:0}
.landing-contact{background:var(--navy);color:white;padding:66px 0;border-top:4px solid var(--accent)}
.landing-contact>.container{display:flex;align-items:center;justify-content:space-between;gap:50px}.landing-contact h2{font-size:clamp(2.2rem,3.5vw,3.2rem)}.landing-contact p:not(.eyebrow){color:#d1dee7;max-width:570px;margin:0}.landing-contact .eyebrow{color:var(--accent)}
.landing-contact-actions{display:flex;flex-direction:column;align-items:center;gap:22px;flex-shrink:0}.landing-contact-actions>a:not(.btn){color:white;text-decoration:none}.landing-contact-actions>a:hover{text-decoration:underline}
.landing-expertise{background:white}.landing-expertise-group{padding-top:32px;border-top:1px solid #c5d2db;margin-top:42px}
.landing-group-title{display:flex;gap:20px;align-items:start;margin-bottom:28px}.landing-group-title>span{font-size:2rem;line-height:1;color:#7e92a1;letter-spacing:-.04em}.landing-group-title h3{font-size:1.6rem;margin-bottom:8px}.landing-group-title p{color:var(--muted);margin:0}
.landing-expert-card{height:100%;display:flex;flex-direction:column;background:#f5f7f8;border:1px solid var(--line);padding:30px;transition:border-color .2s,background .2s}
.landing-expert-card:hover{border-color:#5e69a2;background:white}.landing-expert-card>i{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:white;color:#5e69a2;font-size:1.25rem;border:1px solid #dce2e8;margin-bottom:25px}
.landing-expert-card h4{font-size:1.5rem;margin-bottom:16px;letter-spacing:-.025em}.landing-expert-card p{color:var(--muted);margin-bottom:28px}.landing-expert-card .landing-link{padding-top:18px;font-size:.95rem}
#explore{scroll-margin-top:110px}
@media(max-width:1199px){.landing-card-body{padding:24px}.landing-hero h1{font-size:3.8rem}.landing-hero-image img{height:420px}}
@media(max-width:991px){.landing-hero h1{font-size:clamp(3rem,7vw,4.5rem)}.landing-hero-image img{height:auto;aspect-ratio:16/10}.landing-summary{max-width:650px}.landing-section-heading{gap:30px}.landing-card-body{padding:22px}.landing-card-body h3{font-size:1.4rem}.landing-contact>.container,.landing-crosslink>.container{align-items:flex-start;flex-direction:column;gap:25px}.landing-contact-actions{align-items:flex-start}}
@media(max-width:767px){.landing-hero{padding:25px 0 40px}.landing-breadcrumb{margin-bottom:30px}.landing-hero h1{font-size:clamp(2.7rem,10vw,3.7rem)}.landing-section-heading{display:block}.landing-section-heading>p{margin-top:22px}.landing-hero-image figcaption{padding:16px;font-size:.55rem}.landing-card-image img{aspect-ratio:3/2}.landing-card-body h3{font-size:1.7rem}.landing-card-body{padding:28px}.landing-contact{padding:50px 0}.landing-crosslink h2{font-size:2rem}.landing-expert-card{padding:26px}.landing-expertise-group{margin-top:32px}.landing-detail-image img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.landing-service-card:hover .landing-card-image img{transform:none}}
/* Specialist detail pages use the same hero and service design system. */
.specialist-page .landing-hero h1{max-width:580px}
.specialist-intro .lead{color:var(--ink);line-height:1.85;margin-bottom:22px}
.specialist-detail-copy{color:var(--muted)}
.specialist-scope{background:#f1f4f5}
.specialist-scope-card{height:100%;background:white;border:1px solid var(--line);padding:30px;min-height:155px}
.specialist-scope-card>span{display:block;color:#a23239;font-size:.75rem;letter-spacing:.12em;margin-bottom:24px}
.specialist-scope-card h3{font-size:1.5rem;margin:0}
.specialist-next p:not(.eyebrow){color:var(--muted)}
.specialist-next .landing-link{margin-top:30px}
.specialist-project-panel{padding:38px;background:var(--navy);color:white;border-left:4px solid var(--accent)}
.specialist-project-panel h3{font-size:1.7rem;margin-bottom:25px}
.specialist-project-panel ul{list-style:none;padding:0;margin:0 0 30px}
.specialist-project-panel li{padding:14px 0;display:flex;align-items:center;gap:15px;border-bottom:1px solid #ffffff25}
.specialist-project-panel li i{color:var(--accent);width:20px;text-align:center}
.specialist-project-panel .btn{background:var(--accent);color:var(--navy);border-color:var(--accent)}
.specialist-related{background:#f5f7f8}
.specialist-related .landing-section-heading>.landing-link{margin:0;min-width:190px;border:0}
.specialist-related-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;border:1px solid var(--line);background:white;text-decoration:none;height:100%}
.specialist-related-link:hover{background:var(--navy);color:white}
.specialist-related-link i{font-size:.9rem;color:#a23239}
@media(max-width:767px){.specialist-project-panel{padding:28px}.specialist-related .landing-section-heading>.landing-link{margin-top:22px}.specialist-scope-card{min-height:0;padding:26px}}

.landing-expert-card[id]{scroll-margin-top:125px}.landing-expert-card:target{border-color:#5e69a2;box-shadow:0 0 0 3px #5e69a222}

/* Process: alternating photographic stages, stacked in reading order on mobile. */
.process-story{padding:84px 0;scroll-margin-top:125px}
.process-story:nth-of-type(odd){background:var(--light)}
.process-story-copy{max-width:480px}
.process-story h2{font-size:clamp(2.1rem,3.3vw,3.25rem);letter-spacing:-.04em;margin-bottom:24px}
.process-story .eyebrow{color:#9e252d}
.process-story-description{color:var(--muted);line-height:1.85;margin-bottom:26px}
.process-story-points{padding-left:20px;margin-bottom:0;line-height:1.7}
.process-story-points li{padding-left:5px;margin-top:10px}
.process-story-points li::marker{color:var(--logo-blue,#5e69a2)}
.process-story-image{margin:0}
.process-story-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(min-width:992px){.process-story:nth-of-type(odd) .process-story-copy{margin-left:auto}}
@media(max-width:991px){.process-story{padding:55px 0}.process-story-copy{max-width:none}}
@media(max-width:767px){.process-story{padding:45px 0}.process-story h2{font-size:2.25rem}}

/* Process imagery uses a landscape crop at every breakpoint. */
.process-page .landing-hero-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

/* About page: company story, preparation and the spaces served. */
.about-page .landing-hero-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.about-year{padding:48px;background:#e9edf6;border-left:4px solid #5e69a2}
.about-year-number{display:block;font-size:clamp(5rem,9vw,8rem);line-height:1;letter-spacing:-.065em;color:#5e69a2;margin:20px 0 26px;font-weight:500}
.about-year>p:last-child{margin:0;color:var(--muted)}
.about-story h2,.about-approach h2,.about-spaces h2{font-size:clamp(2.2rem,3.6vw,3.4rem);letter-spacing:-.04em}
.about-story p:not(.eyebrow),.about-approach p:not(.eyebrow),.about-spaces p:not(.eyebrow){color:var(--muted)}
.about-approach{background:var(--light)}
.about-photo{margin:0}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.about-approach-copy{max-width:480px;margin-left:auto}
.about-approach .btn{margin-top:12px}
.about-principle{height:100%;padding:32px;background:#f3f5f8;border-top:3px solid #5e69a2}
.about-principle h3{font-size:1.5rem;margin-bottom:20px}.about-principle p{color:var(--muted);margin-bottom:0}
.about-spaces{background:#f7f5ef}
.about-service-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.about-service-links a{padding:10px 16px;background:white;border:1px solid var(--line);text-decoration:none;font-size:.9rem}
.about-service-links a:hover{background:var(--navy);color:white;border-color:var(--navy)}
@media(max-width:991px){.about-approach-copy{max-width:none;margin-left:0}.about-year{padding:32px}.about-year-number{font-size:6rem}}

/* Expertise card links need no extra separator. */
.landing-expert-card .landing-link{border-top:0}

/* Process points use clear circular checks instead of bullet markers. */
.process-story-points{list-style:none;padding-left:0}
.process-story-points li{display:flex;align-items:flex-start;gap:13px;padding-left:0}
.process-story-points li i{flex-shrink:0;color:#5e69a2;font-size:1.1rem;margin-top:5px}

/* Matching Residential and Industrial pages with clear check lists. */
.landing-expert-card .expert-project-button{align-self:flex-start;margin-top:auto}
.property-service-page .landing-hero-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.property-service-page h2{font-size:clamp(2.2rem,3.5vw,3.3rem);letter-spacing:-.04em}
.property-service-intro p:not(.eyebrow),.property-service-copy p:not(.eyebrow){color:var(--muted)}
.property-check-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:0;gap:0 28px}
.property-check-list li{display:flex;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.property-check-list i{color:#5e69a2;font-size:1.2rem;flex-shrink:0}
.property-service-care{background:var(--light)}
.property-service-photo{margin:0}.property-service-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.property-service-copy{max-width:480px;margin-left:auto}.property-service-copy .btn{margin-top:12px}
@media(max-width:991px){.property-service-copy{max-width:none;margin-left:0}}
@media(max-width:575px){.property-check-list{grid-template-columns:1fr}.property-check-list li{padding:18px 0}}

.landing-hero{background:var(--hero-burgundy,#54162b)}
