/* Service pages use the site's existing type, colours and navigation. */
.service-page{background:var(--paper,#eeece3);color:#252c25}
.service-page main{overflow:clip}
.service-page .rail-v7{color:#f2f1e8}
.service-page .section{padding:clamp(42px,5vw,80px) clamp(22px,4.4vw,76px)}
.service-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,68px);min-height:min(810px,96svh);align-items:center}
.service-hero-copy{min-width:0;padding-bottom:12px}
.service-back{display:block;font-size:13px;margin-bottom:clamp(36px,5vw,76px);color:#58634e}
.service-hero .eyebrow{display:block;font-size:11px;margin-bottom:22px;color:#64705c}
.service-hero h1,.services-hub h1{font-size:clamp(43px,4.9vw,86px);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin:0 0 26px;overflow-wrap:break-word}
.service-hero-summary{max-width:510px;font-size:clamp(17px,1.5vw,22px);line-height:1.5;color:#55614e;margin:0 0 30px}
.service-page .button{background:#293126;color:#f5f3ec;border:1px solid transparent;min-height:52px}
.service-page .button:hover{background:#414d36}
.service-page .contact .button{background:#efede3;color:#252c25}
.service-process-link{display:block;margin-top:20px;font-size:13px;color:#58634e;text-decoration:underline;text-underline-offset:5px}
.service-image{margin:0;min-width:0;position:relative}
.service-image img{display:block;width:100%;height:auto;aspect-ratio:4/4.3;object-fit:cover;border-radius:24px}
.service-image figcaption{font-size:11px;line-height:1.5;color:#65705e;margin-top:12px}
.service-scope{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,110px);border-top:1px solid #29312626}
.service-scope h2,.service-other h2,.service-hub-cta h2{font-size:clamp(33px,3.4vw,57px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:20px 0 28px}
.service-scope-intro>p{font-size:16px;line-height:1.75;color:#596451;margin:0 0 20px;max-width:620px}
.service-scope-intro>.service-terms{color:#293126;border-top:1px solid #29312626;padding-top:22px}
.service-points>article{display:grid;grid-template-columns:32px 1fr;column-gap:16px;border-top:1px solid #29312626;padding:24px 0}
.service-points>article>span{font-size:11px;color:#69745e;padding-top:5px}
.service-points h3{font-size:23px;line-height:1.25;font-weight:400;margin:0 0 12px;letter-spacing:-.025em}
.service-points article p{grid-column:2;font-size:15px;line-height:1.65;color:#596451;margin:0}
.service-result{background:#2e3828;color:#f1efe6;padding:28px 30px;border-radius:20px;margin-top:16px}
.service-result p{font-size:23px;line-height:1.4;letter-spacing:-.025em;margin:18px 0 0}
.service-result small{display:block;color:#d4dacb;font-size:13px;line-height:1.65;margin-top:18px}
.service-other{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #29312626}
.service-other-links a{display:flex;justify-content:space-between;gap:25px;padding:24px 0;border-bottom:1px solid #29312626;font-size:21px;line-height:1.3}
.service-other-links a:hover,.service-back:hover{color:#778360}
.service-page .process{padding-top:80px;padding-bottom:80px}
.service-page .contact{margin:28px;color:#f2f1e8;border-radius:28px;background:#3c4733}
.service-page .footer{color:#ecece3;background:#20261e}
.services-hub h1{max-width:900px;margin-top:28px}
.services-hub-intro{font-size:20px;line-height:1.6;color:#596451;max-width:700px}
.service-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 32px;margin-top:60px}
.service-card{display:flex;flex-direction:column;scroll-margin-top:30px;min-width:0}
.service-card-number{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#65705e;margin-bottom:16px}
.service-card .service-image img{aspect-ratio:4/3;border-radius:20px;transition:filter .2s}
.service-card:hover .service-image img{filter:brightness(1.04)}
.service-card .service-image figcaption{display:none}
.service-card-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:22px 0 12px}
.service-card-title h2{font-size:clamp(26px,2.4vw,38px);letter-spacing:-.04em;line-height:1.15;font-weight:400;margin:0}
.service-card-title>span{font-size:22px}
.service-card>p{font-size:16px;line-height:1.65;color:#596451;margin:0 0 20px;max-width:530px}
.service-card-link{font-size:12px;align-self:flex-start;border-bottom:1px solid #29312640;padding-bottom:6px;margin-top:auto}
.service-hub-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #29312626}
.service-page a:focus-visible{outline:2px solid #85936e;outline-offset:5px}
@media(min-width:761px){.service-page .rail-v7{width:var(--side)}.service-page .rail-manifesto{padding-top:24px}}
@media(max-width:1100px) and (min-width:761px){.service-hero{gap:26px}.service-hero h1{font-size:clamp(40px,4.8vw,58px)}.service-hero .eyebrow{font-size:10px}.service-hero-summary{font-size:17px}.service-page .section{padding-inline:30px}}
@media(max-width:760px){
 .service-page main{padding-top:76px}
 .service-page .section{padding:38px 20px}
 .service-hero{grid-template-columns:1fr;min-height:0;gap:30px}
 .service-back{margin-bottom:32px}.service-hero h1,.services-hub h1{font-size:clamp(42px,11.7vw,66px)}
 .service-hero .service-image img{aspect-ratio:4/3;border-radius:18px}
 .service-scope,.service-other{grid-template-columns:1fr;gap:24px}
 .service-scope h2,.service-other h2,.service-hub-cta h2{font-size:34px}
 .service-points h3{font-size:22px}.service-result{padding:25px}.service-result p{font-size:22px}
 .service-card-grid{grid-template-columns:1fr;gap:42px;margin-top:40px}
 .services-hub-intro{font-size:17px}.service-hub-cta{display:block}.service-hub-cta .button{margin-top:5px}
 .service-page .contact{margin:14px;border-radius:22px;padding:30px 20px}
 .service-page .process{padding:48px 20px}
}
