/* Services: calm typography, original project photographs, and clear scope. */
.services-page .header{position:fixed;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);height:100px}
.services-page .brand img{filter:none}.services-page .header .nav-cta{background:#453d35;border-color:#453d35;color:var(--paper)}
.services-page .header a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.services-page .wrap{max-width:1280px}.services-page section[id],.svc-row{scroll-margin-top:130px}
.services-page h1,.services-page h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.055em}
.services-page h2{font-size:clamp(34px,4.1vw,58px);line-height:1.1}.services-page p{color:#68645d;line-height:1.8}
.services-page .eyebrow{color:#756d61;font-size:10px;letter-spacing:.16em;line-height:1.6}
.svc-text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--taupe);font-size:13px;color:var(--ink);width:fit-content}
.svc-text-link:hover{border-color:var(--ink)}
.svc-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-index a{display:flex;align-items:center;gap:14px;padding:23px 8px;font-size:13px}.svc-index span{font-size:9px;color:#81786b}.svc-index a:hover{background:#eae5dc}
.svc-scope,.svc-projects,.svc-process{padding-block:90px}.svc-section-heading{margin-bottom:46px}.svc-section-heading h2{margin-top:18px}.svc-section-heading>p:last-child:not(.eyebrow){max-width:540px;margin-top:20px;font-size:15px}
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;padding:34px 0;border-top:1px solid var(--line)}
.svc-row:last-child{border-bottom:1px solid var(--line)}.svc-number{font-size:11px;color:#81786b;padding-top:6px}.svc-row h3{font-size:clamp(24px,2.4vw,33px);line-height:1.2;margin:0;letter-spacing:-.04em}
.svc-row p{font-size:15px}.svc-row p+p{margin-top:15px}.svc-row ul{padding-left:18px;font-size:14px;line-height:1.85;color:#68645d;margin:20px 0 10px}.svc-row li{padding-left:5px;margin-bottom:7px}.svc-row .svc-text-link{margin-top:12px}
.svc-projects{padding-top:0}.svc-case-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6%}.svc-case{display:block;min-width:0}.svc-case figure{margin:0 0 20px;overflow:hidden;background:#e9e5dc}.svc-case img{width:100%;height:430px;object-fit:cover;transition:transform .4s}.svc-case:first-child img{object-position:50% 55%}.svc-case:last-child img{object-position:50% 65%}.svc-case:hover img{transform:scale(1.02)}
.svc-case-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em;color:#756d61}.svc-case-label span:last-child{font-size:24px;color:var(--ink)}.svc-case h3{font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:12px 0 14px}.svc-case p{font-size:14px;max-width:470px}
.svc-responsibility{background:#eae5dc;padding-block:76px}.svc-responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.svc-responsibility h2{margin-top:20px}.svc-responsibility .svc-lead{font-size:22px;line-height:1.5;color:var(--ink);margin-bottom:20px}.svc-responsibility p:not(.eyebrow):not(.svc-lead){font-size:15px}.svc-responsibility .svc-text-link{margin-top:20px}
.svc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;padding:0;margin:0;list-style:none}.svc-steps li{border-top:1px solid var(--line);padding-top:22px}.svc-steps span{font-size:9px;letter-spacing:.12em;color:#756d61}.svc-steps h3{font-size:24px;margin:22px 0 15px;line-height:1.2}.svc-steps p{font-size:14px}
.svc-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;border-top:1px solid var(--line);padding-block:70px 90px}.svc-faq h2{margin-top:18px}.svc-faq details{border-bottom:1px solid var(--line)}.svc-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:22px 0;font-size:16px;cursor:pointer;line-height:1.5}.svc-faq summary::-webkit-details-marker{display:none}.svc-faq summary span{font-size:24px}.svc-faq details[open] summary span{transform:rotate(45deg)}.svc-faq details p{font-size:14px;padding:0 35px 24px 0}
.svc-contact{border-top:1px solid var(--line);text-align:center;padding-block:80px 95px}.svc-contact h2{margin:22px 0 25px;font-size:clamp(40px,5vw,70px)}.svc-contact>p:not(.eyebrow){font-size:16px}.svc-contact-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:32px}.svc-contact .pill{gap:24px}.svc-contact-name{display:block;margin-top:22px;font-size:11px;color:#756d61}
.services-page footer{color:var(--ink)}.services-page .footer-top img{filter:none}.services-page .footer-bottom{color:#625d53;border-top-color:var(--line);gap:15px;flex-wrap:wrap}
@media(max-width:900px){.svc-index{grid-template-columns:1fr 1fr}.svc-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}.svc-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px}.svc-case img{height:340px}.svc-responsibility .svc-lead{font-size:20px}}
@media(max-width:650px){.services-page .header{height:88px;padding-inline:6%}.services-page .brand img{width:110px}.services-page .header .nav-cta{font-size:10px;padding:8px 12px;margin-right:14px}.services-page .header nav{top:88px;background:var(--paper);color:var(--ink)}.services-page .header nav.open{display:flex}.services-page .header .menu-toggle{color:var(--ink)}.services-page .wrap{width:88%}.services-page section[id],.svc-row{scroll-margin-top:105px}.svc-index a{font-size:12px;gap:10px;padding:18px 4px}.svc-scope,.svc-projects,.svc-process{padding-block:55px}.svc-section-heading{margin-bottom:30px}.svc-row{grid-template-columns:1fr;gap:12px;padding-block:27px}.svc-row>div{grid-column:1}.svc-row h3{font-size:26px}.svc-row p{font-size:14px}.svc-row ul{font-size:13px}.svc-projects{padding-top:0}.svc-case-grid{grid-template-columns:1fr;gap:36px}.svc-case img{height:auto;aspect-ratio:4/3}.svc-case:last-child img{aspect-ratio:4/3}.svc-case h3{font-size:27px}.svc-responsibility{padding-block:48px}.svc-responsibility-grid{grid-template-columns:1fr;gap:30px}.svc-steps{grid-template-columns:1fr;gap:28px}.svc-steps h3{margin-top:16px}.svc-faq{grid-template-columns:1fr;gap:28px;padding-block:45px 55px}.svc-faq summary{font-size:15px}.svc-contact{padding-block:50px 60px}.svc-contact-actions{flex-direction:column;gap:14px}.svc-contact .pill{font-size:12px;gap:20px}.svc-contact>p:not(.eyebrow){font-size:14px}.services-page footer{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.svc-case img{transition:none}.svc-case:hover img{transform:none}}

/* The former homepage service cards now introduce this page. */
.svc-overview{padding-top:132px;padding-bottom:54px}
.svc-back{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:12px;color:#68645d;margin-bottom:24px}
.svc-back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.svc-overview-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}
.svc-overview h1{font-size:clamp(44px,5.5vw,76px);line-height:1.08;margin:14px 0 0}
.svc-overview-heading>p{font-size:15px;line-height:1.7;margin:0 0 5px}
.services-page .trade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.services-page .trade-grid article{min-width:0}
.services-page .trade-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin-bottom:24px}
.services-page .trade-grid article:nth-child(2) img{object-position:50% 70%}
.services-page .trade-grid h3{font-size:clamp(24px,2.3vw,34px);line-height:1.15;margin:14px 0 18px}
.services-page .trade-grid p:not(.eyebrow){font-size:14px;line-height:1.8;margin:0}
.services-page .svc-back:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.svc-case:first-child img{object-position:50% 52%}
@media(max-width:900px){.svc-overview-heading{align-items:start}.svc-overview-heading>p{font-size:13px;padding-top:24px}.services-page .trade-grid{gap:24px}.services-page .trade-grid h3{font-size:25px}}
@media(max-width:650px){.svc-overview{padding-top:106px;padding-bottom:40px}.svc-back{margin-bottom:20px}.svc-overview-heading{display:block;margin-bottom:28px}.svc-overview h1{font-size:44px}.svc-overview-heading>p{font-size:15px;padding-top:20px}.svc-overview-heading>p br{display:none}.services-page .trade-grid{grid-template-columns:1fr;gap:34px}.services-page .trade-grid img{aspect-ratio:4/3;margin-bottom:20px}.services-page .trade-grid h3{font-size:29px;margin:12px 0}.services-page .trade-grid p:not(.eyebrow){max-width:460px}}

/* Single illustrated service overview. */
.svc-overview{padding-bottom:32px}.svc-overview-heading{margin-bottom:0}
.svc-service-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}
.svc-service-media h3{font-size:clamp(25px,2.4vw,33px)}
.svc-row:has(.svc-service-media){align-items:start;padding-block:36px}
.svc-row:has(.svc-service-media)>div:last-child{padding-top:6px}
#overflater .svc-service-media img{object-position:50% 70%}
@media(max-width:650px){.svc-row>.svc-service-media{grid-column:1}.svc-row:has(.svc-service-media){padding-block:28px}.svc-service-media img{margin-bottom:16px}.svc-overview{padding-bottom:28px}}

/* Compact questions with a full-width list on smaller screens. */
.svc-faq{grid-template-columns:minmax(190px,.65fr) minmax(0,1.7fr);gap:6%;padding-block:48px 56px}
.svc-faq summary{padding:11px 0;min-height:46px;line-height:1.4;gap:18px}
.svc-faq summary span{font-size:20px;line-height:1;flex:none}
.svc-faq details p{padding:0 28px 16px 0;line-height:1.65}
.svc-overview-heading{margin-bottom:0}
@media(max-width:850px){.svc-faq{grid-template-columns:1fr;gap:22px}.svc-faq h2{margin-block:10px 0}.svc-faq summary{padding-block:10px}}
@media(max-width:650px){.svc-faq{padding-block:36px 42px}.svc-faq summary{min-height:44px}}

.svc-photo-credit{display:inline-block;font-size:11px;line-height:1.5;color:#756d61;margin-top:12px}.svc-photo-credit:hover{text-decoration:underline;text-underline-offset:3px}

/* No shortcut index between the title and service overview. */
.services-page .svc-scope{padding-top:45px}

/* Supporting introduction directly beneath the page title. */
.services-page .svc-intro{font-size:clamp(18px,2vw,23px);line-height:1.55;margin:18px 0 0;max-width:620px}
.services-page .svc-scope{padding-top:22px}
