
.service-page .page-shell{overflow:clip;}
.breadcrumbs{margin:0 auto;padding:22px 0 0;font-size:13px;}
.breadcrumbs ol{display:flex;gap:8px;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;}.breadcrumbs li+li::before{content:"/";margin-right:8px;color:#9aabba;}.breadcrumbs a{font-weight:800;}
.service-hero{display:grid;align-items:center;}
.service-hero-copy .eyebrow{display:inline-block;margin-bottom:12px;}.service-hero h1{margin:0;}.service-lead{margin:20px 0 0;}.service-hero-actions{display:flex;flex-wrap:wrap;}.service-hero-media{position:relative;aspect-ratio:4/4.35;overflow:hidden;}.service-hero-media img{width:100%;height:100%;object-fit:cover;display:block;}.service-hero-media::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;}
.service-content{margin:0 auto 70px;}.service-copy{margin:0 auto 42px;text-align:center;}.service-copy p{margin:0 0 16px;}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;}.service-detail-card h2{margin:0 0 18px;letter-spacing:-.03em;}.service-detail-card ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;}.service-detail-card li{position:relative;padding-left:29px;line-height:1.5;}.service-detail-card li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:950;}.service-safety{border:1px solid rgba(88,173,19,.18);}.service-safety h2{margin:0 0 9px;}.service-safety p{margin:0;line-height:1.65;}.faq-section>h2{text-align:center;margin:0 0 24px;letter-spacing:-.04em;}.faq-grid{display:grid;max-width:900px;margin:0 auto;}.faq-grid summary{cursor:pointer;font-weight:900;}.faq-grid p{margin:12px 0 0;line-height:1.6;}.service-cta-band{margin:54px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;}.service-cta-band h2{margin:0 0 8px;letter-spacing:-.04em;}.service-cta-band p{margin:0;line-height:1.5;}.service-cta-band .btn{background:#fff;color:var(--blue);white-space:nowrap;}.service-related{margin:52px 0 0;}.service-related h2{text-align:center;}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);}.related-grid a{font-weight:900;}
.service-copy,.service-detail-grid,.service-safety,.faq-section,.service-related,.service-cta-band{content-visibility:auto;contain-intrinsic-size:auto 420px;}
@media(max-width:820px){.breadcrumbs,.service-hero,.service-content{width:calc(100% - 28px);}.service-hero{grid-template-columns:1fr;padding-top:28px;gap:28px;}.service-hero-media{max-width:560px;width:100%;margin:0 auto;aspect-ratio:4/3;}.service-detail-grid{grid-template-columns:1fr;}.service-cta-band{align-items:stretch;flex-direction:column;}.service-cta-band .btn{width:100%;}.related-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.service-hero h1{font-size:40px;}.service-lead{font-size:16px;}.service-detail-card,.service-safety{padding:23px 20px;}.service-content{margin-bottom:50px;}}

/* Service pages — mobile refinement v8 */
@media(max-width:820px){
  .breadcrumbs,.service-hero,.service-content{width:calc(100% - 28px);}
  .breadcrumbs{padding-top:16px;font-size:12.5px;}
  .service-hero{padding:26px 0 38px;gap:22px;}
  .service-hero-copy .eyebrow{margin-bottom:9px;}
  .service-hero h1{font-size:clamp(36px,9.2vw,48px);line-height:1.01;text-wrap:balance;}
  .service-lead{margin-top:15px;font-size:16px;line-height:1.55;text-wrap:pretty;}
  .service-hero-actions{margin-top:20px;gap:9px;}
  .service-hero-media{border-radius:24px;aspect-ratio:16/10;}
  .service-content{margin-bottom:54px;}
  .service-copy{margin-bottom:30px;text-align:left;}
  .service-copy p{font-size:15px;line-height:1.65;}
  .service-detail-grid{gap:12px;margin:25px 0;}
  .service-detail-card{padding:24px 20px;border-radius:22px;}
  .service-detail-card h2{font-size:24px;margin-bottom:14px;}
  .service-safety{margin:14px 0 34px;padding:23px 20px;border-radius:22px;}
  .service-safety h2{font-size:23px;}
  .faq-section{margin-top:38px;}
  .faq-section>h2{font-size:clamp(29px,8vw,38px);margin-bottom:18px;}
  .faq-grid details{padding:17px 18px;border-radius:18px;}
  .faq-grid summary{min-height:44px;display:flex;align-items:center;line-height:1.35;}
  .service-cta-band{margin-top:40px;padding:25px 20px;border-radius:23px;}
  .service-cta-band h2{font-size:clamp(27px,7.4vw,35px);}
  .service-related{margin-top:40px;}
  .service-related h2{font-size:27px;}
  .related-grid{gap:10px;}
  .related-grid a{min-height:54px;display:flex;align-items:center;padding:17px 18px;border-radius:17px;}
}
@media(max-width:560px){
  .breadcrumbs,.service-hero,.service-content{width:calc(100% - 22px);}
  .service-hero{padding-top:21px;}
  .service-hero h1{font-size:clamp(34px,9.4vw,42px);}
  .service-hero-actions{display:grid;grid-template-columns:1fr;}
  .service-hero-actions .btn{width:100%;}
  .service-hero-media{aspect-ratio:16/10;border-radius:21px;}
  .service-detail-card,.service-safety{padding:21px 17px;}
  .service-detail-card li{padding-left:27px;}
  .service-cta-band{padding:23px 18px;}
}
@media(max-width:374px){
  .breadcrumbs,.service-hero,.service-content{width:calc(100% - 18px);}
  .service-hero h1{font-size:33px;}
  .service-lead{font-size:15px;}
}

/* Harmonic service-page layer v10 */
.breadcrumbs{
  width:min(var(--container),calc(100% - 40px));
  padding-top:24px;
  color:#7890a5;
}
.breadcrumbs a{color:#416a91;}
.service-hero{
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto;
  padding:34px 0 64px;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);
  gap:52px;
}
.service-hero-copy{padding-left:14px;}
.service-hero h1{
  max-width:760px;
  color:#123f77;
  font-size:clamp(42px,5vw,64px);
  line-height:1.01;
  letter-spacing:-.048em;
  text-wrap:balance;
}
.service-lead{max-width:690px;color:#617b93;font-size:17px;line-height:1.65;text-wrap:pretty;}
.service-hero-actions{gap:10px;margin-top:24px;}
.service-hero-media{
  border-radius:var(--radius-xl);
  border:1px solid var(--line);
  background:#f2f8fb;
  box-shadow:var(--shadow-md);
}
.service-hero-media::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.56);}
.service-content{width:min(1080px,calc(100% - 40px));margin-bottom:74px;}
.service-copy{max-width:820px;margin-bottom:38px;}
.service-copy p{color:#607990;font-size:16px;line-height:1.75;}
.service-detail-grid{gap:15px;margin:30px 0;}
.service-detail-card{
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.service-detail-card h2{color:#173f70;font-size:25px;}
.service-detail-card li{color:#607990;}
.service-detail-card li::before{background:#eef8e9;color:var(--green2);box-shadow:inset 0 0 0 1px rgba(45,143,39,.11);}
.service-safety{
  margin:18px 0 46px;
  padding:27px 29px;
  border-color:rgba(45,143,39,.13);
  border-radius:var(--radius-md);
  background:linear-gradient(145deg,#fff,#f5faf2);
}
.service-safety h2{color:#287c31;font-size:24px;}
.service-safety p{color:#607990;}
.faq-section{margin-top:52px;}
.faq-section>h2{color:#123f77;font-size:clamp(31px,3.8vw,42px);}
.faq-grid{gap:10px;}
.faq-grid details{
  padding:19px 21px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 16px rgba(18,61,107,.035);
}
.faq-grid summary{color:#264f78;}
.faq-grid p{color:#657d93;}
.service-cta-band{
  margin-top:56px;
  padding:34px 36px;
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,#123f73,#0f66ab);
  box-shadow:var(--shadow-md);
}
.service-cta-band h2{font-size:clamp(29px,3.4vw,39px);}
.service-cta-band p{color:rgba(255,255,255,.76);}
.service-cta-band .btn{border-radius:14px;}
.service-related{margin-top:54px;}
.service-related h2{color:#173f70;font-size:29px;}
.related-grid{gap:12px;}
.related-grid a{
  min-height:72px;
  display:flex;align-items:center;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:#315b83;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.related-grid a:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-sm);}

@media(max-width:820px){
  .breadcrumbs,.service-hero,.service-content{width:calc(100% - 24px);}
  .service-hero{padding:24px 0 44px;gap:24px;}
  .service-hero-copy{padding-left:0;}
  .service-hero h1{font-size:clamp(35px,9vw,46px);}
  .service-lead{font-size:15.5px;line-height:1.6;}
  .service-hero-media{border-radius:25px;}
  .service-copy{text-align:left;margin-bottom:28px;}
  .service-detail-card{padding:23px 20px;border-radius:20px;}
  .service-safety{padding:23px 20px;border-radius:20px;}
  .faq-grid details{border-radius:16px;}
  .service-cta-band{padding:26px 21px;border-radius:22px;}
  .related-grid a{min-height:58px;border-radius:16px;}
}
@media(max-width:560px){
  .breadcrumbs,.service-hero,.service-content{width:calc(100% - 20px);}
  .service-hero{padding-top:18px;}
  .service-hero h1{font-size:clamp(33px,9.1vw,40px);}
  .service-detail-card,.service-safety{padding:21px 17px;}
}


/* v11.3 service typography refinement */
.service-hero h1{font-weight:790;letter-spacing:-.055em;}
.service-lead{font-size:18px;line-height:1.72;font-weight:520;}
.service-copy{max-width:880px;}
.service-copy p{font-size:16.5px;line-height:1.82;}
.service-detail-card h2,.service-safety h2,.faq-section>h2,.service-cta-band h2,.service-related h2{font-weight:760;}
.service-detail-card li{line-height:1.65;}
.faq-grid p{line-height:1.72;}
