/* Service cards have one full-card link, including keyboard and new-tab navigation. */
.service-card--linked{position:relative}
.service-card-open{position:absolute;inset:0;z-index:2;border-radius:inherit}
.service-card-open:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.service-card--linked:focus-within{border-color:#9ac9e0;box-shadow:0 8px 28px #17364710}
.service-card--linked .text-link{transition:color .25s,gap .3s var(--ease)}
.service-card--linked:hover .text-link{color:var(--blue);gap:12px}

.service-page{padding-top:29px;padding-bottom:10px}
.service-page>.breadcrumbs{display:flex;flex-wrap:wrap;line-height:1.8;gap:8px 12px;margin-bottom:30px}
.service-page>.breadcrumbs>span:last-child{min-width:0;overflow-wrap:anywhere}
.sv-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:32px;padding:32px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,#f1f8fc,#fff 75%)}
.sv-hero-copy{min-width:0}
.sv-hero-copy .eyebrow{font-size:9px;margin-bottom:19px}
.sv-hero h1{font-size:clamp(33px,3.4cqw,49px);line-height:1.2;overflow-wrap:anywhere;max-width:870px}
.sv-lead{font-size:13px;line-height:1.9;margin:19px 0 22px;max-width:680px}
.sv-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:23px}
.sv-price small{font-size:10px;color:var(--muted)}
.sv-price strong{font-size:23px;line-height:1.5;color:var(--blue);white-space:nowrap}
.sv-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.sv-actions .btn{font-size:11px;min-height:48px;padding:13px 20px;gap:17px}
.sv-call{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;white-space:nowrap}
.sv-call .icon{width:17px;height:17px;color:var(--blue)}
.sv-hero-art{margin:0;border:1px solid #dae9f2;border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 12px 35px #153b4f08}
.sv-hero-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.sv-hero--text{grid-template-columns:minmax(0,1fr) 90px;padding:38px}
.sv-category-mark{width:90px;height:90px;display:grid;place-items:center;border:1px solid #d4e7f2;border-radius:24px;background:white;color:var(--blue)}
.sv-category-mark .icon{width:40px;height:40px}
.sv-nav{display:flex;align-items:center;gap:30px;padding:21px 0;margin:25px 0 36px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.sv-nav a{position:relative;font-size:11px;font-weight:600;white-space:nowrap;padding:5px 0;transition:color .25s}
.sv-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.sv-nav a:hover{color:var(--blue)}
.sv-nav a:hover:after,.sv-nav a:focus-visible:after{transform:scaleX(1)}
.sv-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:36px;align-items:start}
.sv-main{min-width:0}
.sv-section{margin-bottom:42px;scroll-margin-top:28px}
.sv-section .eyebrow{font-size:9px;margin-bottom:16px}
.sv-section h2{font-size:32px;line-height:1.25;margin-bottom:19px}
.sv-section>p{font-size:13px;line-height:1.95;max-width:750px}
.sv-preparation{list-style:none;margin:24px 0 0;padding:0}
.sv-preparation li{display:flex;gap:18px;padding:21px 0;border-top:1px solid var(--line)}
.sv-preparation li:last-child{border-bottom:1px solid var(--line)}
.sv-preparation li>span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:11px;font-weight:700;background:var(--pale);color:var(--blue)}
.sv-preparation li>div{min-width:0;padding-top:3px}
.sv-preparation h3{font-size:20px;line-height:1.4;margin-bottom:8px}
.sv-preparation p{font-size:12px;line-height:1.85;margin:0}
.sv-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.sv-steps article{min-width:0;background:white;border:1px solid var(--line);border-radius:16px;padding:23px}
.sv-steps article>span{display:block;font-size:11px;color:var(--blue);font-weight:700;margin-bottom:18px}
.sv-steps h3{font-size:21px;line-height:1.4;margin-bottom:11px}
.sv-steps p{font-size:12px;line-height:1.85;margin:0}
.sv-contact-card{position:sticky;top:28px;min-width:0;padding:26px 23px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px #17364705}
.sv-contact-card .eyebrow{font-size:9px;margin-bottom:17px}
.sv-contact-card h2{font-size:27px;line-height:1.25;margin-bottom:15px}
.sv-contact-card>p{font-size:11px;line-height:1.9;margin-bottom:21px}
.sv-contact-phone{display:flex;align-items:center;gap:9px;padding:14px 0;border-top:1px solid var(--line);font-size:12px;font-weight:600;white-space:nowrap;transition:color .25s}
.sv-contact-phone .icon{width:16px;height:16px;color:var(--blue)}
.sv-contact-phone:hover{color:var(--blue)}
.sv-hours{display:block;font-size:10px;color:var(--muted);margin:12px 0 22px}
.sv-contact-card>.btn{width:100%;font-size:11px;min-height:47px;padding:13px 18px;justify-content:space-between}
.sv-request{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:45px;padding:38px;background:var(--pale);border:1px solid #dcebf3;border-radius:23px;scroll-margin-top:28px;margin-top:10px}
.sv-request-copy,.sv-request-form{min-width:0}
.sv-request-copy .eyebrow{font-size:9px;margin-bottom:20px}
.sv-request-copy h2{font-size:36px;line-height:1.25;margin-bottom:20px}
.sv-request-copy>p{font-size:13px;line-height:1.8;max-width:370px}
.sv-request-price{display:flex;flex-direction:column;gap:8px;padding:21px 0;border-top:1px solid #cedfe8;border-bottom:1px solid #cedfe8;margin:24px 0}
.sv-request-price span{font-size:10px;color:var(--muted)}
.sv-request-price b{font-size:25px;color:var(--blue)}
.sv-request-copy>.text-link{font-size:12px}
.sv-request-form .contact-form{margin:0}
.sv-request-form .form-row{gap:16px}
.sv-request-form .contact-form input,.sv-request-form .contact-form select,.sv-request-form .contact-form textarea{background:white}
.sv-request-form .contact-form>.btn{justify-content:space-between;min-height:50px;font-size:12px;padding-inline:22px}
.sv-request-form .form-help{font-size:10px;line-height:1.8}
.sv-related{padding-bottom:45px}
.sv-related .section-head h2{font-size:36px}
.sv-related .section-head>.btn{font-size:11px;gap:18px}
.service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-related-grid .service-card.service-card--visual{display:flex;flex-direction:column}
.service-related-grid .service-card--visual h3{font-size:23px}
.service-related-grid .service-card--visual .service-visual-content{padding:23px}
.service-related-grid .service-card--visual p{flex:1}

@container(max-width:1000px){
 .sv-hero{gap:25px;padding:28px}
 .sv-layout{grid-template-columns:minmax(0,1fr) 235px;gap:26px}
 .sv-contact-card{padding:23px 20px}
 .sv-contact-phone{font-size:11px}
 .sv-request{gap:28px;padding:30px}
 .sv-request-copy h2{font-size:32px}
 .sv-request-form .form-row{grid-template-columns:1fr}
}
@container(max-width:800px){
 .sv-hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:23px;padding:27px}
 .sv-hero h1{font-size:33px}
 .sv-hero .eyebrow{font-size:8px}
 .sv-lead{font-size:12px;line-height:1.8}
 .sv-hero--text{grid-template-columns:minmax(0,1fr) 75px}
 .sv-category-mark{width:75px;height:75px;border-radius:19px}
 .sv-layout{grid-template-columns:1fr}
 .sv-contact-card{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-bottom:30px}
 .sv-contact-card .eyebrow,.sv-contact-card h2,.sv-contact-card>p{grid-column:1;grid-row:auto}
 .sv-contact-card .sv-contact-phone{grid-column:2}
 .sv-contact-card .sv-contact-phone:first-of-type{grid-row:1/3}
 .sv-contact-card .sv-contact-phone:nth-of-type(2){grid-row:3}
 .sv-contact-card .sv-hours{grid-column:2;margin:10px 0 15px}
 .sv-contact-card>.btn{grid-column:2}
 .sv-request{grid-template-columns:1fr;gap:25px;padding:30px}
 .sv-request-copy{max-width:none}
 .sv-request-copy>p{max-width:none}
 .sv-request-price{flex-direction:row;align-items:center;justify-content:space-between;margin:20px 0}
 .sv-request-form .form-row{grid-template-columns:1fr 1fr}
 .service-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container(max-width:620px){
 .sv-hero{grid-template-columns:1fr;padding:25px;gap:25px}
 .sv-hero h1{font-size:35px}
 .sv-hero-art{max-width:600px;width:100%;border-radius:15px}
 .sv-hero--text{grid-template-columns:1fr}
 .sv-category-mark{position:absolute;top:23px;right:23px;width:39px;height:39px;border-radius:11px}
 .sv-category-mark .icon{width:22px;height:22px}
 .sv-hero--text .eyebrow{padding-right:48px;min-height:22px}
 .sv-nav{gap:24px;margin-bottom:28px;scrollbar-width:none}
 .sv-contact-card{display:block}
 .service-related-grid{grid-template-columns:1fr}
}
@container(max-width:460px){
 .service-page{padding-top:23px}
 .service-page>.breadcrumbs{font-size:9px;margin-bottom:23px;gap:6px 8px}
 .sv-hero{padding:24px 22px;border-radius:20px}
 .sv-hero h1{font-size:32px;line-height:1.25}
 .sv-price{display:block;margin-bottom:20px}
 .sv-price small{display:block;margin-bottom:6px}
 .sv-price strong{font-size:25px}
 .sv-actions{gap:16px;display:grid;grid-template-columns:1fr}
 .sv-actions .btn{font-size:12px;justify-content:center;gap:12px;min-height:48px;padding-inline:15px}
 .sv-call{font-size:12px;justify-content:center}
 .sv-nav a{font-size:10px}
 .sv-section h2{font-size:29px}
 .sv-section>p{font-size:13px;line-height:1.9}
 .sv-preparation li{gap:13px;padding:18px 0}
 .sv-preparation h3{font-size:19px}
 .sv-preparation p{font-size:12px}
 .sv-steps{grid-template-columns:1fr;gap:13px}
 .sv-steps article{padding:23px}
 .sv-contact-card{padding:26px 23px;margin-bottom:27px}
 .sv-contact-card>p{font-size:12px}
 .sv-contact-phone{font-size:12px}
 .sv-contact-card>.btn{font-size:12px;min-height:49px}
 .sv-request{padding:26px 22px;border-radius:19px}
 .sv-request-copy h2{font-size:30px}
 .sv-request-price b{font-size:23px;white-space:nowrap}
 .sv-request-price span{font-size:9px}
 .sv-request-form .form-row{grid-template-columns:1fr}
 .sv-request-form .contact-form input,.sv-request-form .contact-form select,.sv-request-form .contact-form textarea{font-size:16px;max-width:100%;width:100%}
 .sv-related .section-head h2{font-size:30px}
 .sv-related .section-head>.btn{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.service-card--linked .text-link,.sv-nav a,.sv-nav a:after,.sv-contact-phone{transition:none}}
@media print{.sv-hero{background:white;padding:20px}.sv-hero h1{font-size:32px}.sv-layout{display:block}.sv-nav,.sv-request,.sv-contact-card,.sv-related{display:none}.sv-section{break-inside:avoid}.sv-hero--text{grid-template-columns:1fr}}
