/* Premium service showcase */
.services-showcase.container{width:min(var(--layout-max),calc(100% - var(--layout-gutter)))}
.services-showcase .section-heading{margin-bottom:33px}
.services-showcase .section-heading h2{font-size:clamp(29px,3.3vw,44px)}
.services-showcase .section-heading .eyebrow::before{height:1px;width:20px;background:currentColor}
.service-grid{gap:16px}
.service-card,.service-card.service-card--illustrated{
  min-width:0;
  border:1px solid var(--lux-line);
  border-radius:var(--card-corner);
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.service-card:hover,.service-card--illustrated:hover{
  transform:translateY(-3px);
  border-color:#b4c6b9;
  box-shadow:0 14px 30px rgba(17,41,28,.08);
}
.service-card.service-card--illustrated{min-height:420px;padding:0 24px 24px}
.service-card.service-card--illustrated .service-card__visual{
  order:initial;
  width:calc(100% + 48px);
  height:195px;flex:0 0 195px;
  margin:0 -24px 16px;
  padding:14px 18px 4px;
  border-radius:21px 21px 0 0;
  border-bottom:1px solid #e9ede8;
  background:
    radial-gradient(ellipse at 50% 83%,rgba(200,212,203,.34),transparent 60%),
    linear-gradient(145deg,#f7f9f6 0%,#eff2ee 100%);
}
.service-card__visual img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 12px 14px rgba(22,42,30,.1));
}
.service-card--illustrated:hover .service-card__visual img{transform:translateY(-3px) scale(1.025)}
.service-card--illustrated .service-card__category{
  background:#eef2ee;
  color:#4b6354;
  border:1px solid #e0e8e1;
  padding:5px 10px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:750;
}
.service-card--illustrated .service-card__arrow{
  width:31px;height:31px;top:16px;right:17px;
  background:rgba(255,255,255,.92);
  border:1px solid #dfe6e1;
  color:#265c42;
  font-size:17px;
}
.service-card--illustrated h3{font-size:clamp(19px,1.6vw,23px);line-height:1.25;font-weight:700;margin:14px 0 9px}
.service-card--illustrated>p{color:var(--muted);font-size:13px;line-height:1.75}
.service-card--illustrated .service-card__bottom{margin-top:21px;padding-top:17px;border-color:var(--line);gap:12px}
.service-card--illustrated .service-card__bottom strong{color:#203b2e;font-size:14px;font-weight:760}
.service-card__request{
  min-height:40px;
  border-radius:9px;
  background:var(--lux-forest);
  color:#fff;
  letter-spacing:.01em;
  transition:background .2s ease,transform .2s ease;
}
.service-card__request:hover{background:#0f2f24;transform:translateY(-1px)}
.service-card__details{font-weight:650;color:#3e6850;text-underline-offset:4px}
/* Engineering feature as restrained brand statement */
.workstation-feature{
  position:relative;
  margin-top:23px;
  min-height:330px;
  padding:42px 49px;
  gap:38px;
  border:1px solid #dce3dd;
  border-radius:var(--panel-corner);
  background:linear-gradient(126deg,var(--surface-alt) 0%,#f6f7f4 60%,#e4eae5 100%);
}
.workstation-feature__content h3{font-size:clamp(25px,3vw,38px);font-weight:710;line-height:1.18}
.workstation-feature__content>p:not(.eyebrow){line-height:1.8;font-size:14px}
.workstation-feature__visual img{max-height:300px;filter:drop-shadow(0 24px 24px rgba(19,37,27,.17))}
.workstation-feature__visual figcaption{color:#6f8175;font-size:10px;letter-spacing:.04em}
/* Interior page intros */
.page-intro{padding-top:38px;padding-bottom:0}
.page-intro__inner,.page-intro__inner.page-intro__inner--illustrated{
  position:relative;
  min-height:320px;
  border:1px solid var(--lux-line);
  border-radius:20px;
  background:linear-gradient(135deg,#eff2ee 0%,#f5f7f4 70%,#e9efea 100%);
  padding:clamp(32px,4.5vw,62px);
  overflow:hidden;
}
.page-intro__copy{position:relative;z-index:1}
.page-intro h1{font-size:clamp(38px,4.7vw,65px);max-width:840px;line-height:1.1;letter-spacing:-.055em}
.page-intro .lead{max-width:630px;font-size:17px}
.page-intro__visual img{max-height:315px;filter:drop-shadow(0 22px 19px rgba(25,42,32,.13))}
.page-intro__visual figcaption{color:#66786b;font-size:10px;letter-spacing:.035em}


/* Every page-intro gets a contextual transparent illustration, with consistent
   safe spacing regardless of source PNG/SVG aspect ratio. */
.page-intro__inner.page-intro__inner--illustrated {
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr);
  align-items:center;
  gap:clamp(14px,2.6vw,40px);
  min-height:350px;
}
.page-intro__inner--illustrated .page-intro__copy{min-width:0;max-width:700px}
.page-intro__inner--illustrated .page-intro__copy h1{
  max-width:700px;
  overflow-wrap:break-word;
}
.page-intro__visual{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  justify-self:center;
  width:100%;
  max-width:420px;
  margin:0;
  isolation:isolate;
}
.page-intro__visual::before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:15% 5% 10%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(163,216,186,.2),transparent 70%);
  pointer-events:none;
}
.page-intro__visual img{
  display:block;
  width:100%;
  height:auto;
  max-height:335px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 14px 14px rgba(16,57,33,.11));
}
