/* Shared proportions for customization services; each page owns its decision tools. */
body[data-page^=S] main [id]{scroll-margin-top:118px}
.service-breadcrumb{padding-block:24px 12px;font-size:12px;color:var(--color-muted)}
.service-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;list-style:none;margin:0;padding:0}
.service-breadcrumb li+li::before{content:'/';margin-right:12px;color:#8a9ba8}
.service-breadcrumb a{display:inline-block;padding-block:5px}.service-breadcrumb a:hover{color:var(--color-primary)}
.service-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:8%;align-items:center;padding-block:30px 72px}
.service-hero-copy{min-width:0}.service-hero h1{font-size:clamp(46px,5.1vw,74px);line-height:1.09;margin-bottom:26px}
.service-lead{font-size:17px;line-height:1.8;max-width:555px;margin-bottom:30px}
.service-hero-note{font-size:14px;line-height:1.75;max-width:500px;margin:24px 0 0}
.service-figure{min-width:0;margin:0}.service-media{aspect-ratio:4 / 5}
.service-hero .service-media{aspect-ratio:1 / 1.06}
.service-figure figcaption{font-size:12px;line-height:1.75;color:var(--color-muted);padding-top:13px}
.service-jump{display:flex;align-items:center;flex-wrap:wrap;gap:10px 34px;border-block:1px solid var(--color-line);padding-block:14px}
.service-jump>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-right:auto}
.service-jump>a{display:inline-flex;align-items:center;gap:18px;font-size:14px;min-height:44px;padding:6px 0}
.service-jump>a:hover{color:var(--color-primary)}
.service-section{padding-block:88px}.service-section--surface{background:var(--color-surface)}
.service-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8%;align-items:end;margin-bottom:38px}
.service-heading h2{font-size:clamp(34px,3.5vw,50px);margin:0}
.service-heading>p{font-size:16px;line-height:1.8;margin:0;max-width:500px;justify-self:end}
.service-overline{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}
.service-note{font-size:13px;line-height:1.8;color:var(--color-muted)}
.service-inline-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:26px}
.service-inline-links .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.service-faq{padding-block:80px;background:#f7f9fa}
.service-faq-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10%;align-items:start}
.service-faq-intro h2{font-size:clamp(32px,3.3vw,46px)}
.service-faq-intro p{font-size:16px;max-width:400px}
.service-faq-list details{border-top:1px solid var(--color-line)}
.service-faq-list details:last-child{border-bottom:1px solid var(--color-line)}
.service-faq-list summary{position:relative;list-style:none;padding:22px 40px 22px 0;min-height:64px;font-weight:600;font-size:16px;line-height:1.6}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary::after{content:'+';position:absolute;right:4px;top:20px;font-size:22px;color:var(--color-primary);font-weight:400}
.service-faq-list details[open] summary::after{content:'−'}
.service-faq-list details>div{padding:0 34px 22px 0}.service-faq-list p{font-size:15px;line-height:1.8;margin:0}
.service-cta{background:var(--color-surface-blue);padding-block:76px}
.service-cta-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:10%;align-items:center}
.service-cta h2{font-size:clamp(36px,3.8vw,52px);max-width:700px}
.service-cta p{font-size:16px;line-height:1.8;max-width:580px}.service-cta .button-row{margin-top:26px}
.service-cta-aside{border-left:1px solid #c5d1e8;padding-left:32px}.service-cta-aside h3{font-size:22px;line-height:1.3}
.service-cta-aside p{font-size:14px}.service-cta-aside a{display:inline-block;font-size:14px;overflow-wrap:anywhere;min-height:44px;padding-block:8px}
@media(max-width:1100px){
 .service-hero{gap:5%;padding-top:18px}.service-hero h1{font-size:52px}.service-hero .button-row{align-items:flex-start;flex-direction:column;gap:18px}
 .service-hero .service-media{aspect-ratio:1 / 1.25}.service-jump{column-gap:24px}.service-jump>span{width:100%}
 .service-heading{gap:5%}.service-heading h2{font-size:39px}.service-section{padding-block:74px}.service-faq-inner{gap:7%}
 .service-cta-inner{gap:7%}.service-cta-aside{padding-left:26px}
}
@media(max-width:760px){
 body[data-page^=S] main [id]{scroll-margin-top:100px}
 .service-breadcrumb{padding-top:17px}.service-hero{grid-template-columns:1fr;gap:32px;padding-block:24px 42px}.service-hero h1{font-size:46px;max-width:600px}.service-lead{font-size:16px;line-height:1.8}
 .service-hero .service-media{aspect-ratio:1.15}.service-hero-note{font-size:14px}.service-jump{gap:0;align-items:stretch}.service-jump>span{margin-bottom:8px}.service-jump>a{flex:1 1 100%;justify-content:space-between;padding:9px 0}.service-jump>a+a{border-top:1px solid #e9edf1}
 .service-section{padding-block:58px}.service-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.service-heading h2{font-size:34px}.service-heading>p{justify-self:start;font-size:16px}
 .service-faq{padding-block:58px}.service-faq-inner{grid-template-columns:1fr;gap:26px}.service-faq-intro h2{font-size:34px}.service-faq-intro p{max-width:560px}.service-faq-list summary{font-size:16px}.service-faq-list p{font-size:16px}
 .service-cta{padding-block:58px}.service-cta-inner{grid-template-columns:1fr;gap:32px}.service-cta h2{font-size:36px}.service-cta .button-row{gap:18px;align-items:flex-start;flex-direction:column}.service-cta-aside{border-left:0;border-top:1px solid #c5d1e8;padding:24px 0 0}.service-inline-links{gap:10px 24px}
}
@media(max-width:380px){.service-hero h1{font-size:41px}.service-hero .button{max-width:100%;font-size:14px}.service-heading h2{font-size:31px}.service-cta h2{font-size:33px}}
@media print{.service-jump{display:none}.service-faq-list details:not([open])>div{display:block}.service-faq-list summary::after{display:none}.service-section,.service-faq,.service-cta{padding-block:28px}}
