/* Service page only. Uses the storefront's established palette and typography. */
.service-page{padding-bottom:34px;color:var(--ink,#203b47)}
.service-page *{box-sizing:border-box}
.service-page button,.service-page a,.service-page summary{-webkit-tap-highlight-color:transparent}
.service-page :is(a,button,summary):focus-visible{outline:3px solid var(--orange,#f36a26);outline-offset:5px}
.service-page :is(article,section)[id]{scroll-margin-top:24px}
.service-breadcrumb{display:flex;align-items:center;gap:12px;padding:25px 0 22px;font-size:11px;color:#718088}
.service-breadcrumb a{color:inherit}
.service-breadcrumb a:hover{color:var(--ink,#203b47);text-decoration:underline}
.service-breadcrumb span[aria-hidden]{color:#b1bab9}
.service-eyebrow{margin:0 0 16px;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:1.6px;color:#62757c}
.service-hero{display:grid;grid-template-columns:1.25fr .8fr;gap:60px;align-items:center;background:var(--paper,#f5f4ef);border:1px solid #e9eae4;border-radius:14px;padding:48px 46px}
.service-hero-copy h1{font-size:clamp(36px,4.3vw,61px);font-weight:800;letter-spacing:-2px;line-height:1.08;margin:20px 0 23px}
.service-hero-copy h1 span{color:var(--orange,#f36a26)}
.service-hero-lead{max-width:520px;font-size:15px;line-height:1.75;color:#60727a;margin:0 0 29px}
.service-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.service-hero-actions>.button{gap:18px}
.service-text-link{font-size:12px;font-weight:700;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.service-text-link:hover{color:var(--orange-dark,#d84f0e)}
.service-first-contact{background:var(--ink,#203b47);color:#fff;border-radius:10px;padding:25px 27px}
.service-contact-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.service-panel-label{font-size:9px;letter-spacing:1.5px;color:#b4c6c8;font-weight:700}
.service-panel-mark{font-size:24px;line-height:1;color:var(--orange,#f36a26)}
.service-first-contact h2{margin:0 0 9px;font-size:27px;letter-spacing:-.7px;color:#fff}
.service-first-contact>p{margin:0;color:#c0ced0;font-size:12px;line-height:1.7;max-width:280px}
.service-first-contact ol{list-style:none;padding:0;margin:20px 0 22px;display:grid;gap:13px}
.service-first-contact li{display:flex;align-items:flex-start;gap:15px}
.service-first-contact li>span{font-size:10px;color:#fca978;line-height:1.8;padding-top:1px}
.service-first-contact li strong{font-size:12px;line-height:1.5}
.service-first-contact li p{font-size:11px;line-height:1.5;color:#b8cbce;margin:3px 0 0}
.service-contact-button{display:inline-flex;justify-content:space-between;gap:18px;align-items:center;text-align:left;white-space:normal;line-height:1.35;min-width:0}
.service-contact-button span{font-size:18px;font-weight:400;line-height:1;flex:none}
.service-first-contact .service-contact-button{width:100%;font-size:12px}
.service-directions{padding-top:52px}
.service-section-heading{display:flex;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:25px}
.service-section-heading .service-eyebrow{margin-bottom:10px}
.service-section-heading h2,.service-faq-intro h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0}
.service-section-heading>p{font-size:12px;line-height:1.7;color:#718087;margin:0 0 2px}
.service-jump-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.service-jump-links a{display:inline-flex;gap:15px;align-items:center;border:1px solid #dbe3de;border-radius:5px;padding:10px 13px;min-height:40px;font-size:11px;line-height:1.5;background:#fff;transition:background .15s,border-color .15s}
.service-jump-links a span{color:#86958f}
.service-jump-links a:hover{background:#fdf3ea;border-color:#edc7ad}
.service-list{border-top:1px solid #dce3df}
.service-row{display:grid;grid-template-columns:minmax(190px,.88fr) minmax(260px,1.65fr) minmax(175px,.69fr);gap:28px;padding:30px 0;border-bottom:1px solid #dce3df;align-items:start}
.service-row-heading{display:grid;grid-template-columns:32px 64px 1fr;gap:0 13px;align-items:start}
.service-number{font-size:11px;line-height:1.5;font-weight:700;color:var(--orange,#f36a26);padding-top:5px}
.service-diagram{width:64px;height:64px;color:#667d82;grid-column:2;grid-row:1;margin-top:-8px}
.service-diagram-accent{stroke:var(--orange,#f36a26)}
.service-row h3{grid-column:1/-1;margin:15px 0 0;font-size:21px;line-height:1.3;letter-spacing:-.5px;max-width:280px}
.service-row-content{min-width:0}
.service-description{font-size:13px;line-height:1.75;margin:0 0 16px;color:#586e78;max-width:540px}
.service-row h4{font-size:11px;font-weight:700;line-height:1.5;margin:0 0 8px;color:var(--ink,#203b47)}
.service-request-list{padding:0;margin:0;list-style:none;display:grid;gap:7px}
.service-request-list li{position:relative;padding-left:15px;font-size:12px;line-height:1.55;color:#526a74}
.service-request-list li::before{content:'';position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--orange,#f36a26)}
.service-preparation{margin-top:18px;border-top:1px solid #e6ebe5}
.service-preparation summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:13px 0 0;font-size:11px;font-weight:700;line-height:1.55;color:#4a636c}
.service-page summary::-webkit-details-marker{display:none}
.service-preparation summary>span,.service-faq-list summary>span{flex:none;font-size:20px;font-weight:400;line-height:1;color:var(--orange-dark,#d84f0e)}
.service-page details[open]>summary>span{transform:rotate(45deg)}
.service-preparation-content{display:grid;gap:17px;padding-top:17px}
.service-preparation-content h4{margin-bottom:5px}
.service-preparation-content p{font-size:12px;line-height:1.75;color:#61747c;margin:0}
.service-row-action{padding-top:3px}
.service-price-label{display:block;font-size:11px;font-weight:700;color:#64777d;margin-bottom:14px}
.service-row-action .service-contact-button{width:100%;font-size:11px;min-height:43px;padding:12px 14px;border:1px solid #cbd8cf;background:#f2f6ef;color:var(--ink,#203b47)}
.service-row-action .service-contact-button:hover{background:var(--ink,#203b47);border-color:var(--ink,#203b47);color:#fff}
.service-row-action>p{font-size:10px;line-height:1.7;color:#78888c;margin:11px 0 0;max-width:190px}
.service-process{padding:50px 0 46px}
.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;list-style:none;margin:0;padding:0}
.service-steps li{border-top:2px solid #dce5dc;padding-top:17px}
.service-steps li>span{font-size:9px;line-height:1.5;letter-spacing:1px;color:#76887e;font-weight:700}
.service-steps h3{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin:13px 0 9px}
.service-steps p{font-size:12px;line-height:1.8;color:#6a7b82;margin:0;max-width:330px}
.service-faq{display:grid;grid-template-columns:.75fr 1.5fr;gap:70px;border-top:1px solid #dce3df;padding:40px 0 45px}
.service-faq-intro .service-eyebrow{margin-bottom:12px}
.service-faq-intro>p:last-child{font-size:12px;line-height:1.75;color:#718087;max-width:270px;margin:17px 0 0}
.service-faq-list details{border-bottom:1px solid #e0e6e1}
.service-faq-list details:first-child{border-top:1px solid #e0e6e1}
.service-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:13px;font-weight:700;line-height:1.6;padding:17px 0}
.service-faq-list details>p{font-size:12px;line-height:1.8;color:#60747d;margin:0;padding:0 26px 19px 0}
.service-closing{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:32px 38px;border-radius:10px;background:var(--paper,#f5f4ef);border:1px solid #e5e8e0}
.service-closing .service-eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:10px}
.service-closing h2{font-size:31px;letter-spacing:-1px;line-height:1.2;margin:0 0 11px}
.service-closing p:last-child{font-size:12px;line-height:1.7;color:#6a7a81;margin:0;max-width:430px}
.service-closing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:none}
.service-closing-actions>.service-contact-button{font-size:12px}
.service-closing-actions>.service-text-link{font-size:10px;color:#667a7f}
@media(max-width:1050px){
  .service-hero{gap:35px;padding:35px 30px;grid-template-columns:1.1fr .9fr}
  .service-hero-copy h1{font-size:47px;letter-spacing:-1.7px}
  .service-first-contact{padding:23px}
  .service-hero-lead{font-size:14px}
  .service-hero-actions{gap:16px}
  .service-hero-actions .service-text-link{font-size:11px}
  .service-row{gap:22px;grid-template-columns:minmax(170px,.85fr) minmax(240px,1.5fr) minmax(150px,.7fr)}
  .service-row h3{font-size:19px}
  .service-row-action .service-contact-button{padding:11px;font-size:10px;gap:8px}
  .service-faq{gap:40px}
}
@media(max-width:800px){
  .service-hero{grid-template-columns:1fr;padding:32px;gap:28px}
  .service-hero-copy h1{font-size:49px}
  .service-hero-lead{max-width:580px}
  .service-first-contact{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .service-contact-top{grid-column:1/-1;margin-bottom:12px}
  .service-first-contact h2{grid-column:1;align-self:end}
  .service-first-contact>p{grid-column:1}
  .service-first-contact ol{grid-column:2;grid-row:2/5;margin:0;align-self:center}
  .service-first-contact .service-contact-button{grid-column:1;margin-top:18px;align-self:start}
  .service-row{grid-template-columns:minmax(170px,.8fr) minmax(0,1.4fr);gap:22px 28px}
  .service-row-action{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:0 18px;align-items:center;padding:0}
  .service-price-label{margin:0;font-size:10px}
  .service-row-action .service-contact-button{grid-column:2;grid-row:1/3;width:auto;min-width:158px;font-size:11px}
  .service-row-action>p{margin-top:4px;font-size:9px}
  .service-section-heading h2,.service-faq-intro h2{font-size:26px}
  .service-steps{gap:23px}
  .service-steps h3{font-size:16px}
  .service-faq{grid-template-columns:1fr;gap:23px}
  .service-faq-intro>p:last-child{max-width:none;margin-top:12px}
  .service-closing{padding:28px;gap:25px}
  .service-closing h2{font-size:27px}
  .service-closing-actions{max-width:250px;flex:0 1 auto}
}
@media(max-width:560px){
  .service-page{padding-bottom:20px}
  .service-breadcrumb{font-size:10px;padding:20px 0 16px}
  .service-hero{padding:27px 22px;border-radius:10px;gap:25px}
  .service-eyebrow{font-size:8px;letter-spacing:1.2px}
  .service-hero-copy h1{font-size:clamp(33px,9.5vw,46px);letter-spacing:-1.3px;margin:16px 0 18px}
  .service-hero-lead{font-size:13px;line-height:1.75;margin-bottom:23px}
  .service-hero-actions{gap:15px;align-items:flex-start;flex-direction:column}
  .service-hero-actions>.button{font-size:12px;padding:12px 17px}
  .service-first-contact{display:block;padding:22px}
  .service-first-contact h2{font-size:25px}
  .service-first-contact>p{font-size:11px;max-width:none}
  .service-first-contact ol{margin:18px 0 19px;gap:12px}
  .service-first-contact .service-contact-button{margin:0;font-size:11px}
  .service-directions{padding-top:34px}
  .service-section-heading{display:block;margin-bottom:19px}
  .service-section-heading h2,.service-faq-intro h2{font-size:26px;letter-spacing:-.7px}
  .service-section-heading>p{font-size:11px;margin-top:13px}
  .service-section-heading>p br{display:none}
  .service-jump-links{gap:7px;margin-bottom:22px}
  .service-jump-links a{font-size:10px;padding:9px 11px;min-height:38px;gap:12px}
  .service-row{display:block;padding:25px 0}
  .service-row-heading{grid-template-columns:28px 1fr 55px;gap:0 10px;align-items:center;margin-bottom:17px}
  .service-number{grid-column:1;grid-row:1;padding:0;font-size:10px}
  .service-diagram{grid-column:3;grid-row:1;width:55px;height:55px;margin:0}
  .service-row h3{grid-column:2;grid-row:1;font-size:19px;line-height:1.3;letter-spacing:-.4px;margin:0;max-width:none}
  .service-description{font-size:12px;line-height:1.75;margin-bottom:15px}
  .service-request-list li{font-size:11px}
  .service-row h4{font-size:11px}
  .service-preparation{margin-top:17px}
  .service-preparation summary{font-size:11px;padding-top:13px;min-height:38px}
  .service-preparation-content{gap:14px;padding-top:14px}
  .service-preparation-content p{font-size:11px}
  .service-row-action{display:flex;flex-wrap:wrap;gap:11px 14px;margin-top:20px;align-items:center}
  .service-price-label{font-size:10px;flex:1}
  .service-row-action .service-contact-button{width:auto;min-width:159px;min-height:43px;padding:11px 14px;gap:14px}
  .service-row-action>p{max-width:none;flex:1 0 100%;font-size:10px;margin:0}
  .service-process{padding:34px 0}
  .service-process h2{font-size:25px;max-width:330px}
  .service-steps{grid-template-columns:1fr;gap:21px}
  .service-steps li{padding-top:15px}
  .service-steps h3{font-size:17px;margin:10px 0 7px}
  .service-steps p{font-size:12px;max-width:none}
  .service-faq{padding:30px 0 34px;gap:21px}
  .service-faq-intro>p:last-child{font-size:11px}
  .service-faq-list summary{font-size:12px;padding:16px 0;gap:17px}
  .service-faq-list details>p{font-size:11px;padding-right:20px}
  .service-closing{display:block;padding:25px 22px}
  .service-closing h2{font-size:27px;letter-spacing:-.8px}
  .service-closing p:last-child{font-size:12px}
  .service-closing-actions{margin-top:21px;max-width:none;gap:16px}
  .service-closing-actions>.service-contact-button{width:100%;font-size:11px;min-height:46px}
  .service-closing-actions>.service-text-link{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.service-jump-links a{transition:none}}
