/* Photo-led service and process sections, using the existing brand colour. */
.home-services-visual .service-slider{--photo-gap:24px;--photo-basis:calc((100% - var(--photo-gap)*2)/3)}
.home-services-visual .photo-track{align-items:stretch;padding-bottom:15px}
.home-services-visual .photo-track>.service{display:flex;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:3px;background:var(--white)}
.home-services-visual .service-card-photo{margin:0;overflow:hidden}
.home-services-visual .service-card-photo img{width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;transform:none}
.home-services-visual .service-card-copy{display:flex;flex:1;flex-direction:column;padding:22px 23px 23px}
.home-services-visual .service .number{display:flex;align-items:center;gap:11px;margin:0 0 17px;font-size:10px;letter-spacing:.09em;font-weight:500;color:var(--ink)}
.home-services-visual .service .number b{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:2px;background:var(--orange);font-size:11px;font-weight:500;letter-spacing:0}
.home-services-visual .service h3{font-size:25px;line-height:1.16;margin:0 0 13px}
.home-services-visual .service p{font-size:14px;line-height:1.6;max-width:none;margin:0 0 22px}
.home-services-visual .service-card-copy>a{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line);min-height:44px;font-size:12px;font-weight:600;line-height:1.4}
.home-services-visual .service-card-copy>a:hover{text-decoration:underline;text-underline-offset:4px}
.home-services-visual .service-card-copy>a .arrow{display:flex;align-items:center;justify-content:center;border:1px solid var(--orange);width:29px;height:29px;flex:none;border-radius:50%;font-size:17px}
.home-services-visual .slider-controls{margin-top:5px}
#projects .photo-slide img{transform:none}
#projects .project h3{font-size:23px}
#process{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(28px,5vw,74px);align-items:start}
#process .process-intro{min-width:0}
#process .process-intro>p:not(.eyebrow){font-size:15px;line-height:1.65}
#process .process-photo-slider{--photo-basis:100%;--photo-gap:16px;margin-top:30px;min-width:0}
#process .process-photo-slider img{aspect-ratio:5/4;object-fit:cover}
#process .process-photo-slider .photo-slide{background:transparent}
#process .process-photo-slider figcaption{font-size:11px;padding-top:9px;padding-bottom:0;line-height:1.5}
#process .process-photo-slider .slider-controls{margin-top:4px}
#process .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:0;list-style:none;min-width:0}
#process .step{display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--line);border-radius:3px;background:var(--white);min-width:0}
#process .step:nth-child(3n+1){background:color-mix(in srgb,var(--orange) 7%,var(--white))}
#process .step-num{display:flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid var(--orange);border-radius:50%;font-size:11px;color:var(--ink)}
#process .step h3{font-size:18px;line-height:1.25;margin-bottom:11px}
#process .step p{font-size:13px;line-height:1.65;max-width:none}
@media(max-width:1000px){.home-services-visual .service-slider{--photo-basis:calc((100% - var(--photo-gap))/2)}#process{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px}#process .steps{grid-template-columns:1fr;gap:12px}#process .step{display:grid;grid-template-columns:31px minmax(0,1fr);gap:16px;padding:20px}}
@media(max-width:700px){.home-services-visual .service-slider{--photo-gap:14px;--photo-basis:calc((100% - var(--photo-gap))/1.08)}.home-services-visual .service-card-copy{padding:18px}.home-services-visual .service .number{margin-bottom:13px}.home-services-visual .service h3{font-size:23px}.home-services-visual .service p{font-size:13px;line-height:1.55;margin-bottom:16px}.home-services-visual .service-card-photo img{aspect-ratio:16/10}.home-services-visual .service-card-copy>a{font-size:12px;padding-top:12px}#process{grid-template-columns:minmax(0,1fr);gap:24px}#process .process-intro>p:not(.eyebrow){margin-top:17px}#process .process-photo-slider{margin-top:22px}#process .process-photo-slider img{aspect-ratio:16/10}#process .step{padding:19px 17px;gap:14px}#process .step h3{font-size:18px;margin-bottom:8px}#process .step p{font-size:14px;line-height:1.6}#projects .project h3{font-size:21px}}

/* Editorial process layout: oversized numerals beside the complete step copy. */
#process .steps{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--line)}
#process .step,#process .step:nth-child(3n+1){display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:25px;padding:29px 0 30px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#process .step-num{display:block;width:auto;height:auto;padding:0;border:0;border-radius:0;color:#181818;font-family:SourceSerif,Georgia,serif;font-size:108px;font-weight:400;font-variant-numeric:lining-nums;line-height:.82;letter-spacing:-.075em}
#process .step>div{padding-top:3px}
#process .step h3{font-size:22px;line-height:1.2;margin:0 0 12px;font-weight:500;letter-spacing:-.025em}
#process .step p{font-size:14px;line-height:1.65;max-width:420px}
@media(min-width:1001px){#process .process-intro{position:sticky;top:120px}}
@media(max-width:1000px) and (min-width:701px){#process{grid-template-columns:minmax(0,1fr);gap:35px}#process .process-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px}#process .process-intro>.eyebrow,#process .process-intro>h2,#process .process-intro>p,#process .process-intro>.textlink{grid-column:1}#process .process-photo-slider{grid-column:2;grid-row:1/5;margin-top:0;align-self:start}#process .process-intro>.textlink{justify-self:start}#process .step{grid-template-columns:96px minmax(0,1fr);gap:26px}#process .step-num{font-size:98px}}
@media(max-width:700px){#process .step,#process .step:nth-child(3n+1){grid-template-columns:76px minmax(0,1fr);gap:20px;padding:25px 0}#process .step-num{font-size:84px;line-height:.85}#process .step>div{padding-top:0}#process .step h3{font-size:19px;line-height:1.25;margin-bottom:10px}#process .step p{font-size:14px;line-height:1.6}}
@media(max-width:360px){#process .step,#process .step:nth-child(3n+1){grid-template-columns:65px minmax(0,1fr);gap:15px}#process .step-num{font-size:72px}#process .step h3{font-size:18px}}

/* Refined process numerals: restrained orange, aligned to the heading. */
#process .step,#process .step:nth-child(3n+1){grid-template-columns:44px minmax(0,1fr);gap:22px;padding:25px 0 27px}
#process .step-num{font-family:Instrument,Arial,sans-serif;font-size:48px;line-height:.9;letter-spacing:-.05em;font-weight:400;color:var(--orange);transform:translateY(-.025em)}
#process .step>div{padding-top:0}
#process .step h3{font-size:21px;line-height:1.2;margin-bottom:11px}
@media(max-width:700px){#process .step,#process .step:nth-child(3n+1){grid-template-columns:35px minmax(0,1fr);gap:18px;padding:23px 0}#process .step-num{font-size:40px}#process .step h3{font-size:19px;line-height:1.25}}
@media(max-width:360px){#process .step,#process .step:nth-child(3n+1){grid-template-columns:32px minmax(0,1fr);gap:15px}#process .step-num{font-size:37px}#process .step h3{font-size:18px}}

/* A quiet editorial serif for the process numerals only. */
#process .step-num{font-family:SourceSerif,Georgia,serif;font-weight:400;font-variant-numeric:lining-nums;letter-spacing:-.035em}
