:root{--sp-ink:#202124;--sp-muted:#626765;--sp-sand:#a8927b;--sp-bg:#f8f6f2;--sp-alt:#eef0ef;--sp-line:rgba(80,80,80,.18)}
html{scroll-padding-top:82px}.services-process-page{margin:0;background:var(--sp-bg);color:var(--sp-ink);overflow-x:hidden}.services-process-page .site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--sp-line);color:var(--sp-ink);backdrop-filter:blur(14px)}.services-process-page .site-header .logo-light{display:none;opacity:0}.services-process-page .site-header .logo-dark{display:block;opacity:1}.services-process-page main{padding-top:72px}.sp-wrap{width:min(calc(100% - 12vw),1440px);margin-inline:auto}.sp-eyebrow{margin:0 0 18px;color:#8f7b66;font-size:14px;letter-spacing:.14em}.sp-hero{display:grid;min-height:760px;grid-template-columns:minmax(0,1fr) 42%;align-items:stretch;border-bottom:1px solid var(--sp-line)}.sp-hero-copy{display:flex;justify-content:center;flex-direction:column;padding:100px 6vw}.sp-hero h1{max-width:900px;margin:0 0 28px;font-size:clamp(52px,5.3vw,86px);font-weight:600;line-height:1.12}.sp-hero-copy>p:not(.sp-eyebrow){max-width:780px;margin:0;color:var(--sp-muted);font-size:clamp(19px,1.4vw,23px);line-height:1.75}.sp-hero-aside{display:grid;padding:70px 5vw;align-content:center;background:#292a28;color:#f5f2ec}.sp-hero-aside span{display:block;color:#bcaf9f;font-size:14px;letter-spacing:.12em}.sp-hero-aside strong{display:block;margin:24px 0;font-size:clamp(48px,5vw,78px);font-weight:500;line-height:1}.sp-hero-aside p{margin:0;color:rgba(245,242,236,.72);font-size:17px;line-height:1.7}.sp-overview{display:grid;padding:110px 0;grid-template-columns:44% 56%;border-bottom:1px solid var(--sp-line)}.sp-overview h2,.sp-section-title{margin:0;font-size:clamp(40px,3.8vw,62px);line-height:1.18}.sp-overview-copy{padding-left:70px;border-left:1px solid var(--sp-line)}.sp-overview-copy>p{margin:0 0 36px;color:var(--sp-muted);font-size:18px;line-height:1.8}.sp-disciplines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--sp-line)}.sp-discipline{padding:26px 20px 26px 0;border-bottom:1px solid var(--sp-line);scroll-margin-top:100px}.sp-discipline:nth-child(even){padding-left:26px;border-left:1px solid var(--sp-line)}.sp-discipline small{color:var(--sp-sand);letter-spacing:.08em}.sp-discipline h3{margin:12px 0 8px;font-size:23px}.sp-discipline p{margin:0;color:var(--sp-muted);font-size:15px;line-height:1.65}.sp-steps{padding:110px 0}.sp-steps>header{display:grid;margin-bottom:55px;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.sp-steps>header>p:last-child{margin:0;color:var(--sp-muted);font-size:18px;line-height:1.75}.sp-step{display:grid;padding:38px 0;grid-template-columns:28% 72%;border-top:1px solid var(--sp-line);scroll-margin-top:100px}.sp-step-mark{display:flex;align-items:baseline;gap:24px}.sp-step-mark span{color:var(--sp-sand);font-size:34px}.sp-step-mark small{font-size:12px;letter-spacing:.1em}.sp-step-body{padding-left:52px;border-left:1px solid var(--sp-line)}.sp-step h3{margin:0 0 12px;font-size:clamp(24px,2vw,31px)}.sp-step p{max-width:880px;margin:0;color:var(--sp-muted);font-size:17px;line-height:1.75}.sp-quality{padding:110px 0;background:#292a28;color:#f5f2ec;scroll-margin-top:72px}.sp-quality-grid{display:grid;margin-top:50px;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}.sp-quality article{padding:34px 30px 10px 0}.sp-quality article+article{padding-left:30px;border-left:1px solid rgba(255,255,255,.18)}.sp-quality small{color:#bcaf9f}.sp-quality h3{margin:20px 0 12px;font-size:25px}.sp-quality p{margin:0;color:rgba(245,242,236,.7);line-height:1.7}.sp-flow{display:grid;padding:110px 0;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--sp-line)}.sp-flow>div:first-child{padding-right:70px}.sp-flow>div>p:not(.sp-eyebrow){color:var(--sp-muted);font-size:18px;line-height:1.75}.sp-flow ul{display:grid;margin:0;padding:0 0 0 70px;border-left:1px solid var(--sp-line);list-style:none}.sp-flow li{padding:22px 0;border-bottom:1px solid var(--sp-line);font-size:20px;font-weight:500}.sp-link,.sp-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:22px;padding:0 26px;border-radius:999px;background:var(--sp-sand);color:#fff}.sp-care{display:grid;padding:110px 0;grid-template-columns:42% 58%;scroll-margin-top:80px}.sp-care>div:last-child{padding-left:70px;border-left:1px solid var(--sp-line)}.sp-care p{margin-top:0;color:var(--sp-muted);font-size:18px;line-height:1.75}.sp-care-list{display:grid;margin-top:34px;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--sp-line)}.sp-care-list div{padding:24px 20px 24px 0;border-bottom:1px solid var(--sp-line)}.sp-care-list div:nth-child(even){padding-left:24px;border-left:1px solid var(--sp-line)}.sp-care-list strong{display:block;margin-bottom:7px}.sp-care-list small{color:var(--sp-muted);line-height:1.6}.sp-faq{padding:100px 0;border-top:1px solid var(--sp-line)}.sp-faq-list{margin-top:44px}.sp-faq details{border-top:1px solid var(--sp-line)}.sp-faq details:last-child{border-bottom:1px solid var(--sp-line)}.sp-faq summary{display:flex;justify-content:space-between;gap:28px;padding:24px 0;cursor:pointer;list-style:none}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary:after{content:"+";font-size:26px;font-weight:400}.sp-faq details[open] summary:after{content:"−"}.sp-faq h3{margin:0;font-size:21px}.sp-faq details p{max-width:850px;margin:0;padding:0 0 28px;color:var(--sp-muted);line-height:1.75}.sp-final{padding:100px 6vw;background:#e9e3dc;text-align:center}.sp-final h2{margin:0;font-size:clamp(40px,4vw,64px)}.sp-final p{max-width:760px;margin:24px auto 5px;color:var(--sp-muted);font-size:18px;line-height:1.7}
@media(max-width:1050px){.sp-hero{grid-template-columns:1fr}.sp-hero-aside{display:none}.sp-overview,.sp-flow,.sp-care{grid-template-columns:1fr}.sp-overview-copy,.sp-care>div:last-child{margin-top:40px;padding:0;border:0}.sp-flow>div:first-child{padding:0 0 50px}.sp-flow ul{padding:0;border-left:0;border-top:1px solid var(--sp-line)}.sp-quality-grid{grid-template-columns:1fr}.sp-quality article+article{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.sp-step{grid-template-columns:1fr}.sp-step-body{margin-top:22px;padding:0;border:0}}
@media(max-width:700px){html{scroll-padding-top:68px}.services-process-page main{padding-top:68px}.sp-wrap{width:calc(100% - 40px)}.sp-hero{min-height:auto}.sp-hero-copy{padding:70px 20px}.sp-hero h1{font-size:clamp(42px,12vw,58px)}.sp-overview,.sp-steps,.sp-flow,.sp-care,.sp-faq{padding:72px 0}.sp-overview h2,.sp-section-title{font-size:clamp(34px,9vw,46px)}.sp-disciplines,.sp-steps>header,.sp-care-list{grid-template-columns:1fr}.sp-discipline:nth-child(even),.sp-care-list div:nth-child(even){padding-left:0;border-left:0}.sp-steps>header{gap:24px}.sp-step{padding:30px 0}.sp-step-mark{align-items:flex-start;flex-direction:column;gap:8px}.sp-quality{padding:72px 0}.sp-flow ul{padding-left:0}.sp-final{padding:72px 20px}}

/* Consolidated services journey */
.sp-hero{min-height:620px;grid-template-columns:40% 60%;background:#fbfaf7}.sp-hero-copy{padding:74px 4vw 64px 5vw}.sp-hero h1{font-size:clamp(46px,4.5vw,72px)}.sp-hero-copy .sp-button{align-self:flex-start}.sp-hero-image{min-height:520px;background:url('/public/services-hero-architectural-model-20260901.jpg') center/cover no-repeat}.sp-step-nav{display:grid;grid-template-columns:1.45fr repeat(8,1fr);border-bottom:1px solid var(--sp-line);background:#fff}.sp-step-nav>div,.sp-step-nav>a{display:flex;min-width:0;min-height:98px;padding:18px 16px;justify-content:center;flex-direction:column;border-right:1px solid var(--sp-line)}.sp-step-nav>div{padding-left:3vw}.sp-step-nav strong{font-size:19px}.sp-step-nav small{margin-top:4px;color:var(--sp-muted)}.sp-step-nav b{color:var(--sp-sand);font-size:20px;font-weight:500}.sp-step-nav span{margin-top:5px;color:var(--sp-ink);font-size:12px;line-height:1.35}.sp-steps{padding:86px 0}.sp-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.sp-step{display:block;min-height:310px;padding:28px;border:1px solid var(--sp-line);border-radius:14px;background:rgba(255,255,255,.58)}.sp-step-mark{display:block}.sp-step-mark span{display:block;margin-bottom:10px;font-size:36px}.sp-step-mark small{color:var(--sp-sand)}.sp-step-body{margin-top:25px;padding:0;border:0}.sp-step h3{font-size:21px;line-height:1.42}.sp-step p{font-size:15px;line-height:1.7}.sp-step-inspection{grid-column:span 2}.sp-inspections{display:grid;margin-top:20px;grid-template-columns:repeat(3,1fr);border:1px solid var(--sp-line);border-radius:10px}.sp-inspections span{padding:15px;color:var(--sp-muted);font-size:13px;line-height:1.5}.sp-inspections span+span{border-left:1px solid var(--sp-line)}.sp-inspections b{display:block;margin-bottom:5px;color:var(--sp-ink)}.sp-flow{margin-bottom:36px;padding:48px;border:1px solid var(--sp-line);border-radius:14px;background:#f1efeb}.sp-brand-statement{padding:38px 5vw 36px;border-block:0;background:#595957;text-align:center}.sp-brand-statement p{margin:0;color:#eadbc7;font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.25;letter-spacing:.22em}.sp-brand-statement span{display:block;margin-top:12px;color:#fff;font-size:17px;line-height:1.6}
@media(max-width:1180px){.sp-step-nav{grid-template-columns:repeat(4,1fr);overflow-x:auto}.sp-step-nav>div{grid-column:1/-1;min-height:70px}.sp-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-hero{grid-template-columns:1fr}.sp-hero-image{min-height:440px}.sp-step-inspection{grid-column:span 2}}
@media(max-width:700px){.sp-hero-copy{padding:58px 20px}.sp-hero-image{min-height:300px}.sp-step-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.sp-step-nav>div,.sp-step-nav>a{min-width:170px;scroll-snap-align:start}.sp-step-nav>div{padding-left:20px}.sp-step-grid{grid-template-columns:1fr}.sp-step,.sp-step-inspection{grid-column:auto;min-height:0}.sp-inspections{grid-template-columns:1fr}.sp-inspections span+span{border-left:0;border-top:1px solid var(--sp-line)}.sp-flow{padding:30px 20px}.sp-brand-statement{padding:30px 20px}.sp-brand-statement p{font-size:18px;letter-spacing:.12em}.sp-brand-statement span{font-size:15px}}

/* Solid surface keeps the header identical across different page backgrounds. */
.services-process-page .site-header{background:#fff;backdrop-filter:none}

/* Desktop opening: header, hero and the complete 8-step rail share one viewport. */
@media(min-width:1181px){
 .services-process-page main{padding-top:68px}
 .sp-hero{height:calc(100svh - 68px - 98px);min-height:0}
 .sp-hero-copy{padding:clamp(28px,4vh,54px) 4vw clamp(26px,3.5vh,48px) 5vw}
 .sp-eyebrow{margin-bottom:clamp(10px,1.6vh,18px)}
 .sp-hero h1{margin-bottom:clamp(16px,2.4vh,28px);font-size:clamp(44px,min(4.5vw,7vh),72px)}
 .sp-hero-copy>p:not(.sp-eyebrow){font-size:clamp(17px,min(1.25vw,2.25vh),21px);line-height:1.65}
 .sp-hero-copy .sp-button{min-height:48px;margin-top:clamp(14px,2vh,22px)}
 .sp-hero-image{height:100%;min-height:0}
 .sp-step-nav>div,.sp-step-nav>a{height:98px;min-height:98px}
.sp-overview{scroll-margin-top:82px}
.sp-discipline{display:flex;flex-direction:column}
.sp-service-link{align-self:flex-start;margin-top:auto;padding-top:18px;color:#8f7b66;font-weight:700}
.sp-service-link:hover,.sp-service-link:focus-visible{color:#65513f}
}

/* Hero headline: preserve complete phrases and a deliberate three-line rhythm. */
.sp-hero h1>span{display:block;white-space:nowrap}
@media(max-width:700px){
 .sp-hero h1{font-size:clamp(35px,10.5vw,46px);line-height:1.16;letter-spacing:-.025em}
}
/* Give service descriptions more width beside the section heading. */
@media(min-width:1051px){
 .services-process-page .sp-overview{grid-template-columns:minmax(0,32fr) minmax(0,68fr)}
 .services-process-page .sp-overview-copy{padding-left:32px}
 .services-process-page .sp-overview>div:first-child{padding-right:24px}
}
.services-process-page .sp-hero-image{position:relative;overflow:hidden;background:none}
.sp-hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* Brand chapter headings */
html body.services-process-page p.sp-brand-chapter{font-size:clamp(23px,2.6vw,40px);line-height:1.2;font-weight:500;letter-spacing:-.025em;color:#252624;margin:0 0 24px;padding-top:24px;border-top:1px solid #ccc7be}
html body.services-process-page p.sp-brand-care{color:#938572}
