/* Shared baseline for Gary's primary editorial service pages. */
body.interior-page *,body.interior-page *::before,body.interior-page *::after{box-sizing:border-box}
body.interior-page a{color:inherit;text-decoration:none}
body.interior-page img{display:block;max-width:100%}

/* Editorial cross-links should read as useful paths, not hidden body copy. */
body.interior-page main :is(.lb-copy-section,.rw-copy-section,.pd-credentials-copy,.rd-intro-copy,.rd-details-copy,.bd-experience-copy,.fe-intro-copy,.fe-detail-copy) p a{
  color:#1767ad;
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(23,103,173,.38);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.interior-page main :is(.lb-copy-section,.rw-copy-section,.pd-credentials-copy,.rd-intro-copy,.rd-details-copy,.bd-experience-copy,.fe-intro-copy,.fe-detail-copy) p a:hover,
body.interior-page main :is(.lb-copy-section,.rw-copy-section,.pd-credentials-copy,.rd-intro-copy,.rd-details-copy,.bd-experience-copy,.fe-intro-copy,.fe-detail-copy) p a:focus-visible{
  color:#0f4778;
  text-decoration-color:currentColor;
}

:is(.lb-title-section,.rw-title-section,.pd-title-section,.rd-title-section,.bd-title-section,.fe-title-section) h1{max-width:980px;font-size:clamp(54px,6.2vw,80px);font-weight:700;letter-spacing:-.035em;line-height:.98}

:is(.lb-copy-section,.rw-copy-section,.pd-credentials-copy,.rd-intro-copy,.rd-details-copy,.bd-experience-grid,.bd-experience-copy,.fe-intro-copy,.fe-detail-copy)>p{font-size:18px;line-height:1.7}

/* Major editorial headings use one authoritative navy; bright blue remains an accent. */
:is(.lb-copy-section,.rw-systems,.pd-credentials,.rd-intro,.rd-details,.fd-types,.fe-intro) h2{color:#173852}

.service-inline-action{margin-top:34px}
.service-inline-button{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:0 8px 0 22px;
  border:1px solid #1767ad;
  border-radius:3px;
  background:#1767ad;
  color:#fff!important;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none!important;
}
.service-inline-button span{display:grid;width:38px;height:38px;place-items:center;background:#fff;color:#173852;font-size:18px;transition:transform .18s ease}
.service-inline-button:hover,.service-inline-button:focus-visible{background:#0f4778;border-color:#0f4778;color:#fff!important}
.service-inline-button:hover span,.service-inline-button:focus-visible span{transform:translateX(2px)}

/* One transition rhythm from the hero image into the first copy section. */
:is(.lb-content-section,.rw-content-section,.rd-intro,.bd-experience){padding-top:78px}
.pd-title-section{padding-bottom:0}
.pd-credentials{padding-top:78px}

.service-cta{padding:82px 24px;background:#fff;color:#fff}
.service-cta .service-cta-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:stretch;gap:0;max-width:1280px;padding:68px 74px;background:#0f4778;border-radius:16px}
.service-cta-copy{display:block;padding-right:72px}
.service-cta .service-cta-label{margin:0 0 38px;color:#fff;font-size:25px;font-weight:700;letter-spacing:-.025em;line-height:1.1}
.service-cta h2{max-width:810px;margin:0;color:#fff;font-size:clamp(36px,4vw,52px);font-weight:400;letter-spacing:-.035em;line-height:1.18}
.service-cta-action{display:flex;align-items:center;padding-left:72px;border-left:1px solid rgba(255,255,255,.42)}
.service-cta .service-cta-button{display:flex;width:100%;min-height:60px;align-items:center;justify-content:space-between;padding:0 0 0 24px;overflow:hidden;background:#fff;color:#173852;font-size:14px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.service-cta .service-cta-button span{display:grid;width:68px;align-self:stretch;place-items:center;margin-left:22px;background:#173852;color:#fff;font-size:26px;font-weight:400;transition:background .2s ease}
.service-cta .service-cta-button:hover{background:#eef3f6}
.service-cta .service-cta-button:hover span{background:#1767ad}

@media(max-width:900px){
  .service-cta .service-cta-grid{grid-template-columns:1fr;padding:58px 52px}
  .service-cta-copy{padding-right:0}
  .service-cta-action{margin-top:46px;padding:42px 0 0;border-top:1px solid rgba(255,255,255,.42);border-left:0}
  .service-cta .service-cta-button{max-width:360px}
}

@media(max-width:620px){
  :is(.lb-title-section,.rw-title-section,.pd-title-section,.rd-title-section,.bd-title-section,.fe-title-section) h1{font-size:44px}
  :is(.lb-copy-section,.rw-copy-section,.pd-credentials-copy,.rd-intro-copy,.rd-details-copy,.bd-experience-grid,.bd-experience-copy,.fe-intro-copy,.fe-detail-copy)>p{font-size:17px}
  :is(.lb-content-section,.rw-content-section,.rd-intro,.bd-experience){padding-top:60px}
  .pd-credentials{padding-top:60px}
  .service-cta{padding:60px 16px}
  .service-cta .service-cta-grid{padding:44px 28px;border-radius:12px}
  .service-cta .service-cta-label{margin-bottom:28px;font-size:21px}
  .service-cta h2{font-size:34px}
  .service-cta-action{margin-top:36px;padding-top:34px}
  .service-inline-button{width:100%}
}

@media(prefers-reduced-motion:reduce){.service-inline-button span{transition:none}}
