/* Final cross-page visual QA corrections loaded after the legacy stylesheet. */
.image-page-hero .container{width:min(1180px,calc(100% - 48px));max-width:1180px;margin-inline:auto;padding-inline:0}
.about-page-hero::before{background-image:url("../images/about-team.webp")}
.services-page-hero::before{background-image:url("../images/specialties-team.webp")}
.specialties-page-hero::before{background-image:url("../images/specialties-exclusive.webp")}
.contact-page-hero::before{background-image:url("../images/contact-support.webp")}
.privacy-page-hero::before{background-image:url("../images/privacy-exclusive.webp")}
.terms-page-hero::before{background-image:url("../images/terms-exclusive.webp")}
.service-detail-page-hero::before{background-image:url("../images/service-detail-exclusive.webp")}
.specialty-detail-page-hero::before{background-image:url("../images/specialty-detail-exclusive.webp")}
.about-operations-photo{position:relative;min-height:480px;background:#dfeaf2}
.about-operations-photo img{width:100%;height:100%;max-height:none;min-height:480px;object-fit:cover;object-position:center}
.photo-caption{position:absolute;left:24px;right:24px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 22px;border:1px solid rgba(255,255,255,.35);border-radius:10px;color:#fff;background:rgba(3,30,70,.86);backdrop-filter:blur(10px);box-shadow:0 16px 36px rgba(2,22,52,.24)}
.photo-caption strong{font:700 1.05rem/1.35 "Poppins",sans-serif}.photo-caption span{max-width:570px;color:rgba(255,255,255,.84);font-size:.9rem;line-height:1.55}
.card-eyebrow{display:block;margin-bottom:8px;color:#1f6fb5;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.commitment-card{position:relative;overflow:hidden;border-color:rgba(31,111,181,.2);background:linear-gradient(145deg,#fff 0%,#f1f8ff 100%)}
.commitment-card::before{content:"";position:absolute;width:180px;height:180px;right:-76px;top:-78px;border-radius:50%;background:radial-gradient(circle,rgba(102,217,216,.24),transparent 68%)}
.commitment-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#0b4f9c,#189fa3);box-shadow:0 12px 25px rgba(11,79,156,.22)}
.commitment-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;color:#0b386c;font-size:.84rem;font-weight:700}.commitment-points i{margin-right:5px;color:#55b947}
@media(max-width:800px){.image-page-hero .container{width:min(100% - 36px,1180px)}.image-page-hero h1 br{display:none}.about-operations-photo,.about-operations-photo img{min-height:330px}.photo-caption{position:relative;left:auto;right:auto;bottom:auto;margin:-1px 0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:5px}}
@media(max-width:480px){.image-page-hero .container{width:calc(100% - 28px)}.image-page-hero h1{font-size:clamp(2.15rem,11vw,3rem)}.about-operations-photo,.about-operations-photo img{min-height:250px}}

/* Page-aware hero context rails: useful content for formerly empty left space. */
.hero-context-rail{position:absolute;z-index:7;left:max(22px,calc((100vw - 1400px)/2 + 18px));top:50%;width:215px;min-height:250px;padding:24px 22px 22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff;border:1px solid rgba(146,222,255,.23);border-radius:16px;background:linear-gradient(145deg,rgba(4,36,84,.88),rgba(7,61,119,.62));box-shadow:0 24px 55px rgba(1,18,48,.28),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(12px);transform:translateY(-50%);overflow:hidden}
.hero-context-rail::before{content:"";position:absolute;right:-72px;top:-78px;width:165px;height:165px;border:1px solid rgba(118,224,215,.25);border-radius:50%;box-shadow:0 0 55px rgba(77,194,223,.14)}
.hero-context-rail::after{content:"";position:absolute;right:20px;top:28px;bottom:28px;width:1px;background:linear-gradient(transparent,rgba(134,229,225,.54),transparent)}
.rail-icon{position:relative;z-index:1;width:48px;height:48px;margin-bottom:20px;display:grid;place-items:center;border-radius:14px;color:#062b63;background:linear-gradient(135deg,#fff,#8ee8e4);font-size:1.15rem;box-shadow:0 12px 26px rgba(0,0,0,.19);animation:railFloat 4s ease-in-out infinite}
.rail-kicker{position:relative;z-index:1;margin-bottom:8px;color:#9be77c;font-size:.66rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.hero-context-rail strong{position:relative;z-index:1;max-width:155px;font:700 1.02rem/1.4 "Poppins",sans-serif}
.hero-context-rail small{position:relative;z-index:1;margin-top:9px;max-width:160px;color:rgba(255,255,255,.68);font-size:.69rem;line-height:1.55}
.rail-pulse{position:absolute;right:13px;top:50%;display:grid;gap:17px;transform:translateY(-50%)}
.rail-pulse i{width:7px;height:7px;border-radius:50%;background:#70d65f;box-shadow:0 0 0 5px rgba(112,214,95,.08),0 0 18px rgba(112,214,95,.55);animation:railPulse 2.6s ease-in-out infinite}.rail-pulse i:nth-child(2){animation-delay:.45s;background:#77e1e0}.rail-pulse i:nth-child(3){animation-delay:.9s}
.hero .hero-copy{margin-left:245px;width:min(600px,calc(100% - 270px))}
.image-page-hero .container{padding-left:245px}
@keyframes railFloat{50%{transform:translateY(-6px) rotateY(8deg)}}
@keyframes railPulse{50%{opacity:.4;transform:scale(.7)}}
@media(max-width:1100px){.hero-context-rail{left:18px;width:185px;min-height:228px;padding:20px 18px}.hero .hero-copy{margin-left:205px;width:calc(100% - 220px)}.image-page-hero .container{padding-left:205px}.hero-context-rail strong{max-width:132px;font-size:.9rem}.hero-context-rail small{max-width:135px}}
@media(max-width:700px){.hero-context-rail{display:none}.hero .hero-copy{margin-left:0;width:100%}.image-page-hero .container{padding-left:0}}
@media(prefers-reduced-motion:reduce){.rail-icon,.rail-pulse i{animation:none}}

/* V8 production polish: stable media, keyboard access and graceful motion. */
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71d961;outline-offset:4px}
.hero,.image-page-hero{overflow:clip}
.hero::before,.image-page-hero::before{background-position:center;background-size:cover}
.about-page-hero::before{background-position:64% center}
.services-page-hero::before{background-position:62% center}
.specialties-page-hero::before{background-position:66% center}
.contact-page-hero::before{background-position:64% center}
.privacy-page-hero::before,.terms-page-hero::before{background-position:68% center}
@media(max-width:700px){.hero::before,.image-page-hero::before{background-position:62% center}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* V8.2 catalogue navigation and comprehensive-directory presentation. */
.catalog-cta{display:flex;justify-content:center;margin:30px 0 8px}
.catalog-cta .btn{min-width:210px;justify-content:center}
.specialty-more{text-decoration:none}
.content-section .specialty{
  min-height:132px;
  padding:22px 14px;
  justify-content:center;
  text-align:center;
}
.content-section .specialty i{
  min-height:34px;
  display:grid;
  place-items:center;
  font-size:1.5rem;
}
.content-section .specialty span{line-height:1.35}

/* V8.1 header corrections: crisper supplied logo and mathematically centered social glyphs. */
.brand img{
  display:block;
  filter:contrast(1.16) saturate(1.08);
  image-rendering:auto;
  -webkit-font-smoothing:antialiased;
  backface-visibility:hidden;
}
.topbar-right a,.socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  text-align:center;
}
.topbar-right a i,.socials a i{
  display:block;
  width:auto;
  margin:0;
  padding:0;
  line-height:1;
  text-align:center;
  transform:none;
}
