
.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;}

.service-guide-link{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:0 auto 34px;padding:28px 30px;border:1px solid rgba(24,220,255,.20);border-radius:24px;background:linear-gradient(135deg,rgba(126,255,245,.16),rgba(255,255,255,.96));box-shadow:0 12px 32px rgba(18,61,107,.07)}.service-guide-link h2{margin:7px 0 8px;color:#123f77;font-size:24px;letter-spacing:-.03em}.service-guide-link p{margin:0;color:#627b92;line-height:1.65}.service-guide-link .guide-all{white-space:nowrap}@media(max-width:700px){.service-guide-link{grid-template-columns:1fr;padding:23px 20px}.service-guide-link .guide-all{justify-self:start}}


/* ========================================================================== 
   v11.5 — Pulsing white rays behind service hero imagery
   ========================================================================== */
.service-hero-media{
  isolation:isolate;
}
.service-hero-media picture,
.service-hero-media img{
  position:relative;
  z-index:1;
}
.service-hero-media::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(88%,420px);
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.95);
  background:
    radial-gradient(circle, rgba(255,255,255,.92) 0 16%, rgba(255,255,255,.46) 17% 34%, rgba(255,255,255,.20) 35% 52%, rgba(255,255,255,0) 69%),
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.34) 0deg 10deg, rgba(255,255,255,0) 10deg 20deg);
  -webkit-mask:radial-gradient(circle, #000 0 27%, #000 27% 56%, transparent 72%), linear-gradient(#000,#000);
  mask:radial-gradient(circle, #000 0 27%, #000 27% 56%, transparent 72%), linear-gradient(#000,#000);
  opacity:.54;
  pointer-events:none;
  z-index:0;
  animation:serviceHeroSunPulse 6.8s ease-in-out infinite;
}
.service-hero-media::after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.56);
  z-index:2;
}
@keyframes serviceHeroSunPulse{
  0%,100%{transform:translate(-50%,-50%) scale(.94) rotate(0deg);opacity:.38;}
  50%{transform:translate(-50%,-50%) scale(1.05) rotate(6deg);opacity:.72;}
}
@media(max-width:820px){
  .service-hero-media::before{width:min(92%,360px);opacity:.48;}
}
@media(max-width:560px){
  .service-hero-media::before{width:min(98%,300px);opacity:.42;}
}
@media(prefers-reduced-motion:reduce){
  .service-hero-media::before{animation:none;}
}
.service-guide-cluster{margin:0 auto 34px;padding:28px 30px;border:1px solid rgba(24,220,255,.20);border-radius:24px;background:linear-gradient(135deg,rgba(126,255,245,.16),rgba(255,255,255,.96));box-shadow:0 12px 32px rgba(18,61,107,.07)}.service-guide-cluster .cluster-top{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.service-guide-cluster h2{margin:7px 0 8px;color:#123f77;font-size:24px;letter-spacing:-.03em}.service-guide-cluster p{margin:0;color:#627b92;line-height:1.65}.service-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-guide-card{display:block;padding:20px;border-radius:20px;text-decoration:none;background:#fff;border:1px solid rgba(18,61,107,.09);box-shadow:0 10px 24px rgba(18,61,107,.05)}.service-guide-card span{display:block;color:#0fa7c0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.service-guide-card strong{display:block;margin:8px 0 10px;color:#103d70;font-size:18px;line-height:1.26}.service-guide-card em{display:block;font-style:normal;color:#627b92;line-height:1.6}.service-guide-card:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(18,61,107,.10)}@media(max-width:900px){.service-guide-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.service-guide-cluster{padding:23px 20px}.service-guide-cluster .cluster-top{display:block}.service-guide-cluster .cluster-top .guide-all{display:inline-flex;margin-top:12px}.service-guide-grid{grid-template-columns:1fr}}