/* Service pages: warm editorial typography, useful navigation, generous image-led rows. */
.service-page{background:var(--white)}
.service-page .primary-nav>a[aria-current="page"]::after{transform:scaleX(1)}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block:27px;font-size:12px;color:var(--muted)}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.breadcrumbs>span[aria-hidden]{color:#a2998d}
.services-intro,.detail-intro{background:var(--paper)}
.intro-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,130px);padding:42px 0 76px;align-items:end}
.service-page h1{font-family:var(--font-heading);font-size:clamp(48px,5vw,76px);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:0}
.service-page h1 span,.approach-heading h2 span{color:#8c7158}
.service-page .eyebrow{margin-bottom:22px}
.intro-copy>p{font-size:18px;line-height:1.8;max-width:490px;margin:0 0 26px}
.service-shortcuts{display:flex;flex-wrap:wrap;gap:10px 24px}
.service-shortcuts a{font-size:13px;display:inline-flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #b8aea1}
.service-shortcuts .icon{width:15px;height:15px;transform:rotate(90deg)}
.service-directory{padding-block:20px 88px}
.directory-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,88px);align-items:center;padding-block:68px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 24px)}
.directory-row:last-child{border-bottom:0;padding-bottom:0}
.directory-image{display:block;overflow:hidden;background:var(--sand);aspect-ratio:1.18/1}
.directory-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}
.directory-image:hover img{transform:scale(1.025)}
.directory-copy h2{font-family:var(--font-heading);font-size:clamp(30px,3.2vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:0 0 20px;overflow-wrap:anywhere}
.directory-copy h2 a:hover{color:var(--accent)}
.directory-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:510px}
.topic-links{list-style:none;padding:0;margin:25px 0 30px}
.topic-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:51px;border-bottom:1px solid var(--line);font-size:15px;padding:10px 0}
.topic-links .icon{width:17px;height:17px;flex-shrink:0}
.topic-links a:hover{color:var(--accent)}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:56px;align-items:center}
.detail-hero h1{font-size:clamp(46px,4.65vw,68px)}
.detail-lead{font-size:18px;line-height:1.8;max-width:490px;margin:26px 0 30px;color:var(--muted)}
.detail-hero-image{position:relative;aspect-ratio:1.15/1;overflow:hidden;background:var(--sand)}
.detail-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.detail-hero-image::after{content:"";position:absolute;bottom:20px;left:25px;width:110px;height:158px;background:url("contact-quote.svg") center / contain no-repeat;filter:brightness(0) invert(1);opacity:.65;transform:rotate(7deg);pointer-events:none}
.detail-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(48px,8vw,130px);align-items:start;padding-block:82px 95px}
.detail-aside{position:sticky;top:calc(var(--header-height) + 28px)}
.detail-aside nav>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}
.detail-aside nav>a:hover{color:var(--accent)}
.detail-aside .icon{width:17px;height:17px;flex-shrink:0}
.aside-contact{border-left:2px solid var(--beige);margin-top:33px;padding-left:18px}
.aside-contact p{font-size:13px;color:var(--muted);margin-bottom:9px}
.aside-contact a{font-size:16px;display:inline-flex;align-items:center;gap:10px;min-height:36px}
.topic-section{scroll-margin-top:calc(var(--header-height) + 30px);padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.topic-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.topic-section h2{font-family:var(--font-heading);font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin-bottom:18px}
.topic-section>p{max-width:730px;color:var(--muted);font-size:16px;line-height:1.85;margin:0 0 20px}
.topic-section .topic-lead{font-size:21px;line-height:1.55;color:var(--ink);max-width:640px}
.support-list{list-style:none;padding:0;margin:24px 0;font-size:15px}
.support-list li{position:relative;padding:7px 0 7px 24px}
.support-list li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:1px;background:var(--accent)}
.preparation{background:var(--paper);padding:23px 27px;border-left:2px solid var(--beige)}
.preparation .preparation-label{font-size:12px;letter-spacing:.035em;font-weight:600;margin-bottom:8px;color:var(--ink)}
.preparation p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.service-approach{background:var(--paper);padding-block:80px;scroll-margin-top:var(--header-height)}
.approach-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:0 90px;align-items:end}
.approach-heading .eyebrow{grid-column:1/-1}
.approach-heading h2{font-family:var(--font-heading);font-weight:400;font-size:clamp(34px,3.5vw,50px);line-height:1.13;letter-spacing:-.04em}
.approach-heading>p:last-child{font-size:17px;max-width:440px;color:var(--muted)}
.approach-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;padding:0;margin:45px 0 0}
.approach-steps li{border-top:1px solid #c9bba9;padding-top:23px}
.step-number{font-size:12px;color:var(--accent)}
.approach-steps h3{font-size:21px;font-weight:500;letter-spacing:-.02em;margin:16px 0 10px}
.approach-steps p{font-size:15px;color:var(--muted);line-height:1.8}
.related-services{padding-block:74px 80px}
.related-services h2{font-family:var(--font-heading);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:-.035em}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:30px}
.related-grid>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-block:1px solid var(--line)}
.related-grid h3{font-size:25px;font-weight:400;line-height:1.3;overflow-wrap:anywhere}
.related-grid p{font-size:14px;color:var(--muted);margin-top:8px}
.related-grid .icon{width:25px;height:25px;flex-shrink:0}
.related-grid a:hover{color:var(--accent)}
.all-services-link{display:inline-flex;align-items:center;gap:14px;margin-top:25px;min-height:44px;font-size:14px;border-bottom:1px solid var(--line)}
.all-services-link .icon{width:18px;height:18px}
.service-page .footer-column{min-width:0}
.service-page .button{max-width:100%}
@media(max-width:1000px){
.intro-layout{gap:36px}.service-shortcuts{display:grid;gap:0}.service-shortcuts a{justify-content:space-between}
.detail-hero{gap:30px}.detail-lead{font-size:16px}.detail-body{grid-template-columns:210px minmax(0,1fr);gap:40px}
.directory-row{gap:36px}.approach-heading{gap:0 40px}.approach-steps{gap:28px}
}
@media(max-width:700px){
.breadcrumbs{font-size:11px;gap:9px;padding-block:20px}
.intro-layout{grid-template-columns:1fr;padding:22px 0 40px;gap:26px}
.service-page h1,.detail-hero h1{font-size:clamp(40px,9vw,58px)}
.intro-copy>p{font-size:16px;margin-bottom:20px}.service-shortcuts{gap:0}
.service-directory{padding-block:0 50px}.directory-row{grid-template-columns:1fr;gap:28px;padding-block:40px}
.directory-image{aspect-ratio:1.45/1}.directory-copy h2{font-size:clamp(29px,7.5vw,40px)}
.directory-copy .eyebrow{margin-bottom:15px}.directory-copy>p:not(.eyebrow){font-size:15px}
.topic-links{margin:19px 0 24px}.topic-links a{font-size:14px}.directory-copy .button{font-size:12px}
.detail-hero{grid-template-columns:1fr;gap:32px;padding:16px 0 34px}.detail-lead{font-size:16px;margin:22px 0 24px}
.detail-hero-image{aspect-ratio:1.4/1}.detail-hero-image::after{width:80px;height:114px;bottom:15px;left:20px}
.detail-body{grid-template-columns:1fr;gap:42px;padding-block:36px 50px}.detail-aside{position:static}
.detail-aside .eyebrow{margin-bottom:9px}.detail-aside nav>a{padding:12px 0}.aside-contact{display:none}
.topic-section{padding-bottom:34px;margin-bottom:34px}.topic-section h2{font-size:31px}.topic-section .topic-lead{font-size:19px}.topic-section>p{font-size:15px}
.preparation{padding:20px}.support-list{font-size:14px}
.service-approach{padding-block:48px}.approach-heading{grid-template-columns:1fr;gap:20px}.approach-heading .eyebrow{margin:0}.approach-heading>p:last-child{font-size:15px}
.approach-steps{grid-template-columns:1fr;gap:26px;margin-top:30px}.approach-steps h3{margin-top:10px}
.related-services{padding-block:45px}.related-grid{grid-template-columns:1fr;gap:0}.related-grid>a+ a{border-top:0}.related-grid h3{font-size:24px}
.service-page .contact h2{font-size:clamp(35px,8vw,48px)}
}
@media(prefers-reduced-motion:reduce){.directory-image img{transition:none}}

/* Design study: alternating stories, a tactile index and a more expressive process. */
@media(min-width:701px){
.directory-row:nth-child(even) .directory-image{grid-column:2;grid-row:1}
.directory-row:nth-child(even) .directory-copy{grid-column:1;grid-row:1}
}
.detail-body{grid-template-columns:300px minmax(0,1fr);gap:clamp(44px,6vw,90px)}
.detail-aside nav{padding:28px 22px 20px;background:var(--paper);border-top:3px solid var(--beige)}
.detail-aside nav .eyebrow{font-size:10px;color:var(--accent);margin-bottom:16px}
.aside-title{font-family:var(--font-heading);font-size:28px;line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:0 0 24px}
.detail-aside nav>a{padding:15px 12px;margin-inline:-12px;border-bottom:1px solid var(--line);transition:background .2s,color .2s}
.detail-aside nav>a:last-child{border-bottom:0}
.detail-aside nav>a .icon{width:24px;height:24px;padding:4px;transition:transform .2s}
.detail-aside nav>a[aria-current="location"]{background:#fff;color:var(--ink);box-shadow:inset 2px 0 var(--accent)}
.detail-aside nav>a[aria-current="location"] .icon{background:var(--ink);color:#fff;border-radius:50%}
.detail-aside nav>a:hover{background:#fff}
.aside-contact{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;border:0;margin-top:12px;padding:25px 22px 26px}
.aside-contact::before{content:"";position:absolute;width:145px;height:210px;right:-25px;bottom:-40px;background:url("contact-quote.svg") center/contain no-repeat;filter:brightness(0) invert(1);opacity:.15;z-index:-1;pointer-events:none}
.aside-contact .eyebrow{color:var(--beige);font-size:9px;margin-bottom:14px}
.aside-contact h3{font-family:var(--font-heading);font-size:25px;line-height:1.2;letter-spacing:-.03em;font-weight:400;margin:0 0 19px}
.aside-contact a{font-size:17px;min-height:44px;gap:12px}
.aside-contact a:hover{color:var(--beige)}
.aside-contact>span{display:block;font-size:12px;color:#d4cfc8;margin-top:5px}
.service-approach{background:var(--ink);color:#fff;padding-block:80px;overflow:hidden}
.approach-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(40px,7vw,110px);align-items:start}
.approach-heading{position:relative;display:block;isolation:isolate;padding-bottom:0}
.approach-heading .eyebrow{color:var(--beige);margin-bottom:25px}
.approach-heading h2{font-size:clamp(35px,3.4vw,49px)}
.approach-heading h2 span{color:var(--beige)}
.approach-heading>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#d4cfc8;margin-top:25px;max-width:380px}
.approach-heading .text-link{color:white;border-color:#8d8173;font-size:14px;margin-top:22px}

.approach-steps{display:block;margin:0;padding:0;border-top:1px solid #746b61}
.approach-step{border-bottom:1px solid #746b61}
.approach-step summary{display:grid;grid-template-columns:64px minmax(0,1fr) 30px;gap:18px;align-items:center;padding:27px 0;cursor:pointer;list-style:none}
.approach-step summary::-webkit-details-marker{display:none}
.approach-step summary>span:nth-child(2){font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.02em}
.approach-step summary small{display:block;font-size:12px;line-height:1.5;letter-spacing:0;color:#c7c1ba;margin-top:9px}
.approach-step .step-number{font-family:var(--font-heading);font-size:45px;font-weight:300;line-height:1;color:var(--beige);letter-spacing:-.05em}
.approach-step[open] .step-number{color:#fff}
.step-toggle{position:relative;width:30px;height:30px;border:1px solid #8d8173;border-radius:50%}
.step-toggle::before,.step-toggle::after{content:"";position:absolute;inset:14px 9px auto;height:1px;background:var(--beige)}
.step-toggle::after{transform:rotate(90deg)}
.approach-step[open] .step-toggle{background:var(--beige);border-color:var(--beige)}
.approach-step[open] .step-toggle::before{background:var(--ink)}
.approach-step[open] .step-toggle::after{display:none}
.approach-step-body{padding:0 0 28px 82px}
.approach-step-body p{font-size:15px;line-height:1.85;color:#ded9d2}
.approach-step-body .step-outcome{padding-top:18px;margin-top:19px;border-top:1px solid #5e5953;color:var(--beige);font-size:13px}
.service-approach :focus-visible{outline-color:var(--beige)}
@media(max-width:1000px) and (min-width:701px){
.detail-body{grid-template-columns:235px minmax(0,1fr);gap:30px}
.detail-aside nav,.aside-contact{padding-inline:18px}.aside-title{font-size:25px}.aside-contact h3{font-size:23px}.aside-contact a{font-size:15px}
.approach-layout{gap:35px}.approach-step summary{grid-template-columns:45px minmax(0,1fr) 26px;gap:12px}.approach-step summary>span:nth-child(2){font-size:20px}.approach-step .step-number{font-size:36px}.approach-step-body{padding-left:57px}
}
@media(max-width:700px){
.detail-body{grid-template-columns:1fr;gap:38px}
.detail-aside nav{padding:23px 22px 13px}.aside-title{font-size:28px;margin-bottom:18px}.detail-aside nav>a{padding:13px 12px}
.aside-contact{display:block;padding:22px}.aside-contact h3{font-size:24px}.aside-contact h3 br{display:none}.aside-contact .eyebrow{margin-bottom:10px}.aside-contact>span{margin-top:0}
.service-approach{padding-block:48px}.approach-layout{grid-template-columns:1fr;gap:35px}.approach-heading{padding-bottom:0}
.approach-step summary{grid-template-columns:40px minmax(0,1fr) 26px;gap:12px;padding-block:23px}.approach-step .step-number{font-size:34px}.approach-step summary>span:nth-child(2){font-size:20px}.approach-step summary small{font-size:11px}.approach-step-body{padding-left:0}.approach-step-body p{font-size:14px}
.step-toggle{width:26px;height:26px}.step-toggle::before,.step-toggle::after{inset:12px 7px auto}
}
@media(prefers-reduced-motion:reduce){.detail-aside nav>a,.detail-aside nav>a .icon{transition:none}}

/* Reuse the homepage service cards in the related-services section. */
.related-service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:34px}
.related-service-cards .service-photo{height:auto;aspect-ratio:1.9/1}
.related-service-cards .service-content h3{font-size:33px;font-weight:400;min-height:0}
.related-service-cards .service-content p{max-width:420px}
@media(max-width:700px){
.related-service-cards{grid-template-columns:1fr;margin-top:26px}
.related-service-cards .service-photo{aspect-ratio:16/10}
.related-service-cards .service-content h3{font-size:32px}
}

/* Detail breadcrumb replaces the eyebrow within the hero copy. */
.detail-intro .detail-hero{padding-top:48px}
.detail-hero-copy .breadcrumbs{padding:0;margin-bottom:22px}
@media(max-width:700px){.detail-intro .detail-hero{padding-top:30px}}
