/* Projects v12 — full-screen, image-led, adaptive */
.projects-page{padding-top:48px;background:#fff}.projects-intro{min-height:calc(100svh - 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px 56px;background:#f5f5f7}.projects-intro h1{font-size:clamp(72px,13vw,190px);line-height:.82;letter-spacing:-.085em;margin:0;font-weight:700}.projects-intro p{font-size:clamp(20px,2.1vw,32px);letter-spacing:-.025em;color:#6e6e73;max-width:780px;margin:34px auto 0}.projects-intro a{margin-top:54px;color:#0066cc;font-size:17px}.featured-stack{display:grid;gap:12px;padding:12px;background:#fff}.featured-project{position:relative;min-height:calc(100svh - 72px);overflow:hidden;border-radius:28px;background:#111;color:#fff;isolation:isolate}.featured-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.featured-project:hover img{transform:scale(1.025)}.featured-project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 38%,rgba(0,0,0,.78) 100%);z-index:1}.featured-copy{position:absolute;z-index:2;left:clamp(24px,5vw,84px);right:clamp(24px,5vw,84px);bottom:clamp(28px,6vw,82px);display:flex;align-items:end;justify-content:space-between;gap:30px}.featured-text{max-width:850px}.featured-copy p{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin:0 0 13px;color:rgba(255,255,255,.78)}.featured-copy h2{font-size:clamp(42px,6vw,92px);line-height:.92;letter-spacing:-.06em;margin:0;text-wrap:balance}.featured-link{display:inline-flex;align-items:center;justify-content:center;min-width:148px;padding:14px 19px;border-radius:999px;background:rgba(255,255,255,.92);color:#1d1d1f;font-size:14px;font-weight:600;backdrop-filter:blur(18px);white-space:nowrap}.featured-number{position:absolute;z-index:2;top:28px;right:32px;font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.72)}
.projects-catalogue{padding:130px 12px 90px;background:#f5f5f7}.catalogue-title-row{width:min(1500px,calc(100% - 24px));margin:0 auto 38px;display:flex;align-items:end;justify-content:space-between;gap:30px}.catalogue-title-row h2{font-size:clamp(58px,8vw,116px);line-height:.88;letter-spacing:-.07em;margin:0}.catalogue-title-row p{color:#6e6e73;margin:0 0 8px}.filters{width:min(1500px,calc(100% - 24px));margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(220px,1.4fr) auto;gap:10px;position:sticky;top:58px;z-index:30;padding:10px;background:rgba(245,245,247,.82);backdrop-filter:blur(20px);border-radius:22px}.filters select,.filters input,.filters button{border:1px solid #d2d2d7;border-radius:999px;background:#fff;padding:12px 16px;min-width:0}.filters button{background:#1d1d1f;color:#fff;cursor:pointer}.project-grid{width:min(1500px,calc(100% - 24px));margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#d8d8dc;color:#fff;isolation:isolate}.project-card-media{position:absolute;inset:0}.project-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.035)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.78));z-index:1}.project-card-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;min-height:0;padding:0}.project-card-copy p{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.74);margin:0 0 8px}.project-card-copy h3{font-size:clamp(22px,2vw,33px);line-height:1;letter-spacing:-.04em;margin:0;max-width:92%}.project-card-copy>span,.project-card-copy i{display:none}.status-badge{position:absolute;z-index:3;top:16px;right:16px;border:0;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;background:rgba(255,255,255,.88);color:#1d1d1f;backdrop-filter:blur(14px)}.project-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#ececef,#d8d8dd);color:#6e6e73}.project-placeholder b{font-size:70px;line-height:1}.project-placeholder span{font-size:11px;letter-spacing:.14em}.project-placeholder small{font-size:11px}.no-results{text-align:center;padding:90px;color:#6e6e73}.project-cta{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px;background:#fff}.project-cta h2{font-size:clamp(52px,8vw,118px);line-height:.88;letter-spacing:-.07em;margin:0}.project-cta a{margin-top:34px;background:#1d1d1f;color:#fff;border-radius:999px;padding:15px 23px}.legal-footer{background:#f5f5f7;border-top:1px solid #d2d2d7;padding:22px 0;font-size:11px;color:#6e6e73}.legal-footer a{color:#424245}.legal-footer span{margin:0 5px}
/* detail page compatibility */.project-detail{padding-top:48px}.detail-hero{padding:120px 0 64px;background:#f5f5f7}.back-link{display:inline-block;color:#0066cc;margin-bottom:54px}.detail-hero>div>p{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6e6e73;font-weight:700}.detail-hero h1{font-size:clamp(54px,7vw,96px);line-height:.92;letter-spacing:-.065em;margin:14px 0 54px;max-width:1050px}.detail-meta{display:flex;gap:70px;flex-wrap:wrap}.detail-meta span{display:flex;flex-direction:column;color:#6e6e73}.detail-meta b{color:#1d1d1f;font-size:12px;margin-bottom:5px}.detail-image{margin-top:42px;border-radius:38px;overflow:hidden;background:#e8e8ed;min-height:650px}.detail-image img{width:100%;height:min(72vw,800px);object-fit:cover;display:block}.detail-placeholder{min-height:650px;display:flex;align-items:center;justify-content:center;flex-direction:column}.detail-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:110px 0}.detail-story h2{font-size:clamp(42px,5vw,70px);line-height:.97;letter-spacing:-.055em;margin:0}.detail-story>p{font-size:clamp(22px,2.4vw,30px);line-height:1.28;color:#515154;margin:34px 0 0}.detail-facts{background:#101012;color:#fff;padding:70px 0}.detail-facts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.detail-facts article{padding:28px;border-top:1px solid #424245}.detail-facts span{display:block;color:#a1a1a6;font-size:12px;margin-bottom:12px}.detail-facts strong{font-size:25px}
@media(max-width:1050px){.featured-project{min-height:78svh}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.featured-copy{align-items:flex-start;flex-direction:column}.featured-link{min-width:0}.detail-story{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){.projects-intro{min-height:72svh}.featured-stack{gap:8px;padding:8px}.featured-project{min-height:68svh;border-radius:20px}.featured-copy{left:22px;right:22px;bottom:25px;gap:18px}.featured-copy h2{font-size:42px}.featured-number{top:20px;right:22px}.projects-catalogue{padding:85px 8px 65px}.catalogue-title-row,.filters,.project-grid{width:100%}.catalogue-title-row{display:block}.catalogue-title-row p{margin-top:16px}.filters{position:relative;top:auto;grid-template-columns:1fr}.project-grid{grid-template-columns:1fr;gap:8px}.project-card{aspect-ratio:1.15/1;border-radius:20px}.project-card-copy{left:20px;right:20px}.project-card-copy h3{font-size:31px}.project-cta{min-height:52vh}.legal-footer{line-height:1.9}.detail-hero{padding:90px 0 45px}.detail-meta{gap:25px}.detail-image{min-height:350px;border-radius:24px}.detail-image img{height:420px}.detail-placeholder{min-height:350px}.detail-story{padding:76px 0}.detail-facts>div{grid-template-columns:1fr}}

/* v13 gallery polish — Apple-style tiled presentation */
.featured-stack{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:12px;
  background:#fff;
}
.featured-project{
  min-height:clamp(520px,48vw,760px);
  border-radius:0;
  border:3px solid transparent;
  background:
    linear-gradient(#111,#111) padding-box,
    linear-gradient(135deg,#00a9e8 0%,#00b83f 34%,#ffb20f 67%,#e5006f 100%) border-box;
}
.featured-project:after{
  background:linear-gradient(180deg,rgba(0,0,0,.08) 30%,rgba(0,0,0,.58) 100%);
}
.featured-copy{
  inset:0;
  display:grid;
  place-items:center;
  padding:28px;
  text-align:center;
}
.featured-copy h2{
  font-size:clamp(34px,3.4vw,62px);
  line-height:.96;
  letter-spacing:-.045em;
  margin:0;
  max-width:84%;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.48);
  text-wrap:balance;
}
.featured-text,.featured-copy p,.featured-link,.featured-number{display:none!important}

.projects-catalogue{padding-inline:12px}
.project-grid{
  width:100%;
  max-width:none;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.project-card{
  aspect-ratio:1/1;
  border-radius:0;
  border:1px solid #e5e5e7;
  background:#fff;
}
.project-card:after{
  background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.52) 100%);
}
.project-card-copy{
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
  text-align:center;
}
.project-card-copy h3{
  font-size:clamp(20px,1.7vw,31px);
  line-height:1.02;
  letter-spacing:-.035em;
  margin:0;
  max-width:88%;
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
  text-wrap:balance;
}
.project-card-copy p,.status-badge{display:none!important}

@media(max-width:1100px){
  .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .featured-stack{grid-template-columns:1fr}
  .featured-project{min-height:68svh}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .featured-stack{gap:8px;padding:8px}
  .featured-project{min-height:60svh;border-width:2px}
  .featured-copy h2{font-size:36px;max-width:92%}
  .project-grid{grid-template-columns:1fr;gap:8px}
  .project-card{aspect-ratio:1.12/1}
  .project-card-copy h3{font-size:30px}
}

/* v14 — compact featured carousel and bottom-centered titles */
.featured-section{
  padding:72px 0 34px;
  background:#fff;
  overflow:hidden;
}
.featured-heading{
  width:min(1500px,calc(100% - 48px));
  margin:0 auto 26px;
}
.featured-heading h2{
  margin:0;
  font-size:clamp(42px,5vw,74px);
  line-height:.94;
  letter-spacing:-.055em;
}
.featured-viewport{
  width:100%;
  overflow:hidden;
  padding:0 12px 14px;
  cursor:grab;
}
.featured-viewport:active{cursor:grabbing}
.featured-track{
  display:flex;
  width:max-content;
  gap:14px;
  will-change:transform;
}
.featured-project{
  flex:0 0 clamp(390px,43vw,680px);
  min-height:0;
  aspect-ratio:16/10;
  border-radius:26px;
  border:3px solid transparent;
  background:
    linear-gradient(#111,#111) padding-box,
    linear-gradient(135deg,#00a9e8 0%,#00b83f 34%,#ffb20f 67%,#e5006f 100%) border-box;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}
.featured-copy{
  inset:auto 0 0;
  display:block;
  padding:80px 30px 28px;
  text-align:center;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));
}
.featured-copy h2{
  font-size:clamp(27px,2.5vw,43px);
  line-height:1;
  max-width:92%;
  margin:0 auto;
}
.featured-project:after{background:linear-gradient(180deg,rgba(0,0,0,.02) 48%,rgba(0,0,0,.20) 100%)}
.projects-catalogue{padding-top:72px}
.project-card{border-radius:20px}
.project-card-copy{
  inset:auto 0 0;
  display:block;
  padding:64px 18px 20px;
  text-align:center;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.68));
}
.project-card-copy h3{
  margin:0 auto;
  max-width:94%;
  font-size:clamp(18px,1.45vw,27px);
  line-height:1.03;
}
.project-card:after{background:linear-gradient(180deg,rgba(0,0,0,.01) 52%,rgba(0,0,0,.16) 100%)}
@media(max-width:850px){
  .featured-section{padding-top:58px}
  .featured-heading{width:calc(100% - 30px)}
  .featured-project{flex-basis:min(82vw,560px);border-radius:22px}
  .featured-copy{padding:70px 22px 23px}
  .project-card{border-radius:18px}
}
@media(max-width:560px){
  .featured-section{padding-top:46px}
  .featured-project{flex-basis:86vw;border-radius:20px;border-width:2px}
  .featured-copy h2{font-size:30px}
  .projects-catalogue{padding-top:58px}
  .project-card-copy{padding:58px 16px 18px}
}

/* v15 fixes: seamless sticky filters and explicit carousel controls */
.featured-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.featured-controls{display:flex;gap:10px}
.featured-controls button{width:44px;height:44px;border:0;border-radius:50%;background:#e8e8ed;color:#1d1d1f;font-size:28px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.featured-controls button:hover{background:#d9d9df;transform:scale(1.04)}
.featured-viewport{touch-action:pan-y;user-select:none}
.filters{top:48px;margin-top:0;border-radius:0 0 22px 22px}
#filters{scroll-margin-top:48px}
#all-projects{scroll-margin-top:48px}
@media(max-width:900px){.filters{top:48px}.featured-controls button{width:40px;height:40px}}


/* v16 project detail refinements */
.project-detail{padding-top:48px;background:#fff}
.detail-shell{padding-top:88px;padding-bottom:92px}
.detail-shell .back-link{display:inline-block;color:#0066cc;margin-bottom:42px;font-size:14px}
.detail-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:clamp(46px,6vw,96px);align-items:center}
.detail-copy-panel{min-width:0}
.detail-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#6e6e73;font-weight:700;margin:0 0 18px}
.detail-copy-panel h1{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:0 0 26px;max-width:760px;text-wrap:balance}
.detail-service{font-size:clamp(18px,1.65vw,24px);line-height:1.38;color:#515154;margin:0 0 38px;max-width:700px}
.detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid #d2d2d7;padding-top:24px}
.detail-meta span{display:flex;flex-direction:column;color:#6e6e73;font-size:14px;line-height:1.35}
.detail-meta b{color:#1d1d1f;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.detail-visual-panel{width:100%;aspect-ratio:4/3;max-height:620px;border-radius:24px;overflow:hidden;background:#e8e8ed}
.detail-visual-panel img{width:100%;height:100%;object-fit:cover;display:block}
.detail-visual-panel .detail-placeholder{height:100%;min-height:0}
.detail-visual-panel .detail-placeholder h2{font-size:clamp(28px,3vw,44px);margin:10px 0 0}
.related-projects-section{padding:88px 0 96px;background:#f5f5f7}
.related-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}
.related-heading h2{font-size:clamp(42px,5vw,68px);line-height:.95;letter-spacing:-.055em;margin:0}
.related-heading .project-kicker{margin:0 0 8px}
.related-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.related-project-card{display:block;color:#1d1d1f}
.related-project-media{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#e8e8ed;position:relative}
.related-project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.related-project-card:hover .related-project-media img{transform:scale(1.025)}
.related-project-card h3{font-size:18px;line-height:1.12;letter-spacing:-.025em;margin:12px 2px 0;text-align:center}
.detail-page-cta{min-height:0;padding:72px 0 82px;background:#fff;text-align:left;display:block}
.detail-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:42px;background:#f5f5f7;border-radius:28px;padding:42px 48px}
.detail-cta-inner h2{font-size:clamp(38px,4.5vw,64px);line-height:.95;letter-spacing:-.05em;margin:0}
.detail-cta-inner .project-kicker{margin:0 0 10px}
.detail-cta-inner>a{margin:0;flex:none;display:inline-flex;align-items:center;justify-content:center;background:#1d1d1f;color:#fff;border-radius:999px;padding:15px 22px;white-space:nowrap}

/* preserve vertical page scrolling over featured carousel; horizontal gestures still work */
.featured-viewport{overscroll-behavior-x:contain;overscroll-behavior-y:auto}

@media(max-width:1050px){
  .detail-split{grid-template-columns:1fr;gap:42px}
  .detail-copy-panel{max-width:800px}
  .detail-visual-panel{max-width:880px;max-height:none}
  .related-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .detail-shell{padding-top:70px;padding-bottom:72px}
  .detail-shell .back-link{margin-bottom:30px}
  .detail-copy-panel h1{font-size:clamp(38px,11vw,54px)}
  .detail-service{font-size:19px}
  .detail-meta{grid-template-columns:1fr;gap:14px}
  .detail-visual-panel{border-radius:20px}
  .related-projects-section{padding:70px 0 76px}
  .related-heading{display:block}
  .related-heading .project-kicker{margin-bottom:10px}
  .related-project-grid{grid-template-columns:1fr 1fr;gap:12px}
  .related-project-media{border-radius:16px}
  .related-project-card h3{font-size:15px}
  .detail-page-cta{padding:56px 0 66px}
  .detail-cta-inner{align-items:flex-start;flex-direction:column;padding:32px 26px;border-radius:22px}
  .detail-cta-inner>a{align-self:flex-start}
}
@media(max-width:460px){
  .related-project-grid{grid-template-columns:1fr}
}

/* v17: full-width project detail + industry landing pages */
.project-detail{padding-top:48px;background:#fff}
.detail-shell{width:calc(100% - 48px);margin:0 auto;padding-top:72px;padding-bottom:82px}
.detail-split{grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:clamp(52px,5vw,96px);align-items:center}
.detail-copy-panel h1{font-size:clamp(40px,4.35vw,68px)}
.detail-visual-panel{max-height:560px;border-radius:24px}
.related-projects-section>.content-wide{width:calc(100% - 48px)}
.detail-page-cta{padding:62px 0 78px;background:#fff}
.detail-page-cta>.content-wide{width:calc(100% - 48px)}
.detail-cta-inner{background:transparent;border-radius:0;padding:0;border-top:1px solid #d2d2d7;padding-top:42px}

/* Industry overview + SEO landing */
.industries-page,.industry-page{padding-top:48px;background:#fff}
.industry-hero{width:calc(100% - 48px);margin:0 auto;padding:96px 0 76px;border-bottom:1px solid #d2d2d7}
.industry-hero .industry-kicker{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#6e6e73}
.industry-hero h1{font-size:clamp(58px,8.6vw,132px);line-height:.87;letter-spacing:-.075em;margin:0;max-width:1350px;text-wrap:balance}
.industry-hero .industry-lead{font-size:clamp(21px,2.1vw,31px);line-height:1.28;color:#515154;max-width:980px;margin:34px 0 0;letter-spacing:-.025em}
.industry-copy{width:calc(100% - 48px);margin:0 auto;display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:clamp(48px,7vw,120px);padding:76px 0 88px}
.industry-copy h2{font-size:clamp(36px,4vw,60px);line-height:.98;letter-spacing:-.05em;margin:0}
.industry-copy .industry-body{max-width:920px}
.industry-copy .industry-body p{font-size:clamp(18px,1.45vw,22px);line-height:1.55;color:#515154;margin:0 0 24px}
.industry-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:38px}
.industry-support article{background:#f5f5f7;border-radius:22px;padding:28px;min-height:190px}
.industry-support h3{font-size:22px;line-height:1.05;letter-spacing:-.03em;margin:0 0 12px}
.industry-support p{font-size:15px!important;line-height:1.45!important;margin:0!important;color:#6e6e73!important}
.industry-projects{background:#f5f5f7;padding:76px 24px 96px}
.industry-projects-inner{width:100%;margin:0 auto}
.industry-projects-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.industry-projects-heading h2{font-size:clamp(46px,6vw,88px);line-height:.9;letter-spacing:-.06em;margin:0}
.industry-projects-heading p{margin:0 0 8px;color:#6e6e73}
.industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.industry-card{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#d8d8dc;color:#fff;display:block;isolation:isolate}
.industry-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.industry-card:hover img{transform:scale(1.025)}
.industry-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.76));z-index:1}
.industry-card h3{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;margin:0;text-align:center;font-size:clamp(18px,1.7vw,28px);line-height:1;letter-spacing:-.035em}
.industry-card .project-placeholder{z-index:0}
.industries-grid{width:calc(100% - 48px);margin:0 auto;padding:76px 0 110px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.industry-tile{min-height:330px;border-radius:26px;background:#f5f5f7;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,background .25s}
.industry-tile:hover{transform:translateY(-3px);background:#ededf0}
.industry-tile span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6e6e73}
.industry-tile h2{font-size:clamp(32px,3vw,48px);line-height:.98;letter-spacing:-.045em;margin:0}
.industry-tile b{font-size:16px;font-weight:500;color:#0066cc}

@media(max-width:1100px){
  .detail-split{grid-template-columns:1fr;gap:40px}.detail-copy-panel{max-width:900px}.detail-visual-panel{max-width:none;max-height:none}
  .industry-copy{grid-template-columns:1fr;gap:30px}.industry-support{grid-template-columns:1fr 1fr}.industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.industries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .detail-shell,.related-projects-section>.content-wide,.detail-page-cta>.content-wide,.industry-hero,.industry-copy,.industries-grid{width:calc(100% - 30px)}
  .detail-shell{padding-top:54px}.detail-visual-panel{border-radius:20px}.detail-cta-inner{padding-top:30px}
  .industry-hero{padding:72px 0 54px}.industry-copy{padding:56px 0 64px}.industry-support{grid-template-columns:1fr}.industry-projects{padding:58px 15px 72px}.industry-projects-heading{display:block}.industry-projects-heading p{margin-top:12px}.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.industries-grid{grid-template-columns:1fr;padding-top:54px}.industry-tile{min-height:250px}
}
@media(max-width:480px){.industry-grid{grid-template-columns:1fr}.industry-card{aspect-ratio:1.15/1}}

/* v18 polish: reliable featured links, centered detail/industry layouts */
.featured-project>a{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:4;color:#fff;cursor:pointer}
.featured-project>a .project-placeholder{z-index:0}
.featured-project>a img{z-index:0}
.featured-project .featured-copy{z-index:2;pointer-events:none}

/* Keep the left-hand project narrative visually centered inside its column. */
.detail-copy-panel{width:min(100%,720px);margin-inline:auto}
.detail-page-cta{display:flex;align-items:center;justify-content:center;text-align:center}
.detail-page-cta>.content-wide{display:flex;justify-content:center}
.detail-cta-inner{width:min(920px,100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px}
.detail-cta-inner>div{display:flex;flex-direction:column;align-items:center}
.detail-cta-inner>a{align-self:center!important;margin:0 auto}
.related-heading{align-items:center}
.related-heading-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2d2d7;border-radius:999px;padding:11px 17px;color:#0066cc;font-size:14px;white-space:nowrap;transition:background .2s,border-color .2s}
.related-heading-action:hover{background:#fff;border-color:#b7b7bc}

/* Industry landing heroes use the same centered, product-page language as Projects. */
.industries-page .industry-hero,.industry-page .industry-hero{min-height:clamp(470px,62svh,720px);width:100%;padding:80px max(24px,5vw);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-bottom:0;background:#f5f5f7}
.industries-page .industry-hero h1,.industry-page .industry-hero h1{max-width:1200px;margin-inline:auto;font-size:clamp(64px,9vw,142px);line-height:.86;letter-spacing:-.078em}
.industries-page .industry-hero .industry-lead,.industry-page .industry-hero .industry-lead{max-width:900px;margin:32px auto 0;text-align:center}
.industries-page .industry-hero .industry-kicker,.industry-page .industry-hero .industry-kicker{display:none}

/* Industry overview cards: simple centered content, no project counts. */
.industries-grid{width:100%;padding:64px 24px 110px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.industry-tile{min-height:310px;align-items:center;justify-content:center;text-align:center;gap:24px;padding:34px 28px}
.industry-tile>span{display:none}
.industry-tile>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.industry-tile h2{margin:0;text-align:center}
.industry-tile p{margin:0;max-width:400px;color:#6e6e73;font-size:16px;line-height:1.45}
.industry-tile b{display:inline-flex;align-items:center;justify-content:center;text-align:center}

@media(max-width:1100px){
  .detail-copy-panel{max-width:820px}
  .industries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .industries-page .industry-hero,.industry-page .industry-hero{min-height:430px;padding:68px 20px}
  .industries-page .industry-hero h1,.industry-page .industry-hero h1{font-size:clamp(54px,14vw,84px)}
  .detail-copy-panel{width:100%;margin-inline:0}
  .related-heading{display:flex;align-items:flex-start;flex-direction:column;gap:18px}
  .detail-cta-inner{gap:20px}
  .industries-grid{grid-template-columns:1fr;padding:48px 15px 82px}
}
/* Make industry heroes match the full-screen Projects opening section. */
.industries-page .industry-hero,.industry-page .industry-hero{min-height:calc(100svh - 48px)}
@media(max-width:760px){.industries-page .industry-hero,.industry-page .industry-hero{min-height:72svh}}


/* v19: shared explore treatment, services and location SEO pages */
.hero-explore{display:inline-flex;align-items:center;justify-content:center;margin-top:34px;font-size:17px;color:#0066cc;transition:transform .2s}
.hero-explore:hover{transform:translateY(3px)}
.industries-featured{padding-top:78px}
.services-page,.locations-page,.location-page{padding-top:48px;background:#fff}
.services-page .industry-hero,.locations-page .industry-hero,.location-page .industry-hero{min-height:calc(100svh - 48px);width:100%;padding:80px max(24px,5vw);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f5f5f7}
.services-page .industry-hero h1,.locations-page .industry-hero h1,.location-page .industry-hero h1{font-size:clamp(64px,9vw,142px);line-height:.86;letter-spacing:-.078em;margin:0;max-width:1280px;text-wrap:balance}
.services-page .industry-lead,.locations-page .industry-lead,.location-page .industry-lead{font-size:clamp(21px,2.1vw,31px);line-height:1.28;color:#515154;max-width:900px;margin:32px auto 0;letter-spacing:-.025em}
.services-grid{padding-bottom:82px}.service-tile{min-height:330px}
.location-discovery{padding:88px 24px 108px;background:#101012;color:#fff;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,130px);align-items:start}
.location-discovery>div:first-child{max-width:660px}.location-discovery h2{font-size:clamp(42px,5.5vw,82px);line-height:.94;letter-spacing:-.055em;margin:0 0 24px}.location-discovery p{font-size:20px;line-height:1.5;color:#a1a1a6;margin:0}.location-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.location-link-grid a{padding:19px 20px;border:1px solid #36363a;border-radius:16px;font-size:18px;transition:background .2s}.location-link-grid a:hover{background:#1c1c1e}.location-link-grid .all-location-link{grid-column:1/-1;color:#7dd3fc}
.service-location-band{padding:82px 24px 94px;display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #e5e5e8}.service-location-band h2{font-size:clamp(42px,5.5vw,78px);line-height:.94;letter-spacing:-.055em;margin:0 0 16px}.service-location-band p{margin:0;color:#6e6e73;font-size:18px}.service-location-band>a{color:#0066cc;white-space:nowrap}
.location-regions{padding:74px 24px 110px}.location-region{padding:52px 0;border-bottom:1px solid #d2d2d7}.location-region:first-child{padding-top:0}.location-region h2{font-size:clamp(44px,5vw,72px);line-height:.95;letter-spacing:-.055em;margin:0 0 30px}.location-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.location-card-grid a{min-height:190px;background:#f5f5f7;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:transform .2s,background .2s}.location-card-grid a:hover{transform:translateY(-3px);background:#ececef}.location-card-grid h3{font-size:28px;letter-spacing:-.035em;margin:0 0 6px}.location-card-grid p{margin:0 0 16px;color:#6e6e73}.location-card-grid span{color:#0066cc;font-size:14px}
.location-services{background:#f5f5f7;padding:78px 24px 94px}.location-services-heading{text-align:center;max-width:900px;margin:0 auto 42px}.location-services-heading h2{font-size:clamp(46px,6vw,88px);line-height:.9;letter-spacing:-.06em;margin:0 0 18px}.location-services-heading p{font-size:18px;color:#6e6e73;margin:0}.location-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.location-service-grid a{background:#fff;border-radius:22px;padding:30px;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.location-service-grid h3{font-size:26px;line-height:1;letter-spacing:-.035em;margin:0 0 18px}.location-service-grid span{font-size:14px;color:#0066cc}.nearby-locations{padding:76px 24px 90px;text-align:center}.nearby-locations h2{font-size:clamp(38px,4vw,60px);letter-spacing:-.05em;margin:0 0 28px}.nearby-locations>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.nearby-locations a{border:1px solid #d2d2d7;border-radius:999px;padding:11px 16px;color:#0066cc}
@media(max-width:900px){.location-discovery{grid-template-columns:1fr}.location-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-location-band{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.services-page .industry-hero,.locations-page .industry-hero,.location-page .industry-hero{min-height:72svh;padding:68px 20px}.services-page .industry-hero h1,.locations-page .industry-hero h1,.location-page .industry-hero h1{font-size:clamp(52px,14vw,84px)}.location-discovery{padding:68px 15px 78px}.location-link-grid{grid-template-columns:1fr}.location-link-grid .all-location-link{grid-column:auto}.location-regions{padding:58px 15px 80px}.location-card-grid{grid-template-columns:1fr}.location-services{padding:60px 15px 70px}.location-service-grid{grid-template-columns:1fr}.service-location-band{padding:60px 15px 70px}.nearby-locations{padding:60px 15px 72px}.industries-featured{padding-top:58px}}


/* Shared sketch-backed hero treatment for Home, Projects, Industries and Services. */
.projects-intro,.industries-page .industries-main-hero,.services-page .service-main-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#f7f7f9 0,#fff 100%)}
.projects-intro::before,.industries-page .industries-main-hero::before,.services-page .service-main-hero::before{content:"";position:absolute;inset:0;background-position:center 58%;background-size:min(92vw,1600px) auto;background-repeat:no-repeat;opacity:.12;filter:none;pointer-events:none;z-index:0}.projects-intro::before{background-image:url('assets/parliament-sketch-hero.webp')}.industries-page .industries-main-hero::before{background-image:url('assets/data-center-02-hero.webp')}.services-page .service-main-hero::before{background-image:url('assets/data-center-01-hero.webp')}
.projects-intro>*,.industries-page .industries-main-hero>*,.services-page .service-main-hero>*{position:relative;z-index:1}
@media(max-width:700px){.projects-intro::before,.industries-page .industries-main-hero::before,.services-page .service-main-hero::before{background-size:150vw auto;background-position:center 60%;opacity:.1;filter:none}}

/* v26 — denser BIM services by location cards */
.location-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.location-card-grid a{min-height:132px;border-radius:18px;padding:17px 14px;}
.location-card-grid h3{font-size:22px;margin-bottom:4px;}
.location-card-grid p{font-size:13px;line-height:1.3;margin:0 0 10px;}
.location-card-grid span{font-size:12px;}
.location-region{padding:42px 0;}
.location-region h2{font-size:clamp(38px,4vw,58px);margin-bottom:23px;}
@media(max-width:1200px){.location-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:900px){.location-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.location-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.location-card-grid a{min-height:120px;padding:15px 12px}.location-card-grid h3{font-size:20px}.location-region{padding:32px 0}}
@media(max-width:440px){.location-card-grid{grid-template-columns:1fr 1fr;gap:8px}.location-card-grid h3{font-size:18px}.location-card-grid p{font-size:12px}}

/* v28 — hero gradient emphasis */
.projects-intro h1 span,
.industries-page .industries-main-hero h1 span,
.services-page .service-main-hero h1 span{
  background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}


/* v29 — match Projects, Industries and Services hero geometry/actions to Home. */
.projects-intro,.industries-page .industries-main-hero,.services-page .service-main-hero{
  min-height:calc(100svh - 48px);padding:80px max(24px,5vw);align-items:center;justify-content:center;text-align:center;
}
.projects-intro h1,.industries-page .industries-main-hero h1,.services-page .service-main-hero h1{
  font-size:clamp(56px,7.7vw,124px);line-height:.9;letter-spacing:-.07em;margin:0;max-width:1180px;text-wrap:balance;
}
.projects-intro p,.industries-page .industries-main-hero .industry-lead,.services-page .service-main-hero .industry-lead{
  font-size:clamp(20px,2vw,29px);line-height:1.28;max-width:860px;margin:30px auto 0;letter-spacing:-.025em;
}
.projects-intro .landing-hero-actions,.industries-page .landing-hero-actions,.services-page .landing-hero-actions{margin-top:32px}
.projects-intro h1 span{background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:700px){
  .projects-intro,.industries-page .industries-main-hero,.services-page .service-main-hero{min-height:72svh;padding:68px 20px}
  .projects-intro h1,.industries-page .industries-main-hero h1,.services-page .service-main-hero h1{font-size:58px}
}

.projects-intro .landing-hero-actions a{margin-top:0}


/* v30 — prevent large project hero type from clipping at the edges. */
.projects-intro h1{line-height:.98;letter-spacing:-.065em;padding:.06em .06em .08em;overflow:visible}
.projects-intro h1 span{display:inline-block;padding:.02em .035em .05em;margin:0 -.02em;overflow:visible}
@media(max-width:700px){.projects-intro h1{line-height:1;letter-spacing:-.055em}}


/* v31 — individual industry hero artwork, using the same shading as Projects. */
.industry-page .industry-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#f7f7f9 0,#fff 100%)}
.industry-page .industry-hero::before{
  content:"";position:absolute;inset:0;background-position:center 58%;background-size:min(92vw,1600px) auto;
  background-repeat:no-repeat;opacity:.12;filter:none;pointer-events:none;z-index:0;
}
.industry-page .industry-hero>*{position:relative;z-index:1}
.industry-page .industry-hero[data-industry-hero="data-centers"]::before{background-image:url('assets/industry-data-centers-hero.webp')}
.industry-page .industry-hero[data-industry-hero="residential"]::before{background-image:url('assets/industry-residential-hero.webp')}
.industry-page .industry-hero[data-industry-hero="commercial"]::before{background-image:url('assets/industry-commercial-hero.webp')}
.industry-page .industry-hero[data-industry-hero="industrial"]::before{background-image:url('assets/industry-industrial-hero.webp')}
.industry-page .industry-hero[data-industry-hero="healthcare"]::before{background-image:url('assets/industry-healthcare-hero.webp')}
.industry-page .industry-hero[data-industry-hero="institutional"]::before{background-image:url('assets/industry-institutional-hero.webp')}
.industry-page .industry-hero[data-industry-hero="infrastructure"]::before{background-image:url('assets/industry-infrastructure-hero.webp')}
@media(max-width:700px){
  .industry-page .industry-hero::before{background-size:150vw auto;background-position:center 60%;opacity:.1}
}


/* v35 — specialist service information architecture */
.parent-subservices,.service-directory,.subservice-deliverables,.subservice-context,.subservice-related{padding:82px max(24px,4vw) 96px;background:#fff}
.parent-subservices{background:#f5f5f7}
.subservice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:38px}
.subservice-card{min-height:170px;padding:28px;border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
.subservice-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.07)}
.subservice-card h3{font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.035em;margin:0 0 16px;color:#1d1d1f}.subservice-card span{font-size:14px;color:#06c}
.service-directory{background:#fff}.service-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-directory-grid article{background:#f5f5f7;border-radius:28px;padding:32px}.service-directory-grid h3{font-size:28px;letter-spacing:-.04em;margin:0 0 22px}.service-directory-grid h3 a{color:#1d1d1f}.service-directory-grid article>div{display:grid;gap:9px}.service-directory-grid article>div a{color:#06c;font-size:15px;line-height:1.35}
.subservice-page{padding-top:48px}.subservice-hero{min-height:calc(100svh - 48px);text-align:center;align-items:center;justify-content:center}.service-parent{margin:0 0 20px}.service-parent a{color:#06c;font-size:15px}.subservice-hero h1{max-width:1250px}.subservice-deliverables{background:#f5f5f7}.subservice-deliverables>.content-wide{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.subservice-deliverables-heading h2{font-size:clamp(44px,5.5vw,80px);line-height:.94;letter-spacing:-.055em;margin:8px 0 0}.subservice-deliverables ul{list-style:none;padding:0;margin:0;border-top:1px solid #d2d2d7}.subservice-deliverables li{font-size:clamp(20px,2vw,29px);letter-spacing:-.025em;padding:18px 0;border-bottom:1px solid #d2d2d7}.subservice-context>.content-wide{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}.subservice-context h2{font-size:clamp(44px,5.5vw,80px);line-height:.94;letter-spacing:-.055em;margin:8px 0 20px}.subservice-context p{max-width:850px;font-size:19px;line-height:1.55;color:#515154}.subservice-context-links{display:grid;gap:13px;justify-items:start}.subservice-context-links a{color:#06c}.subservice-related{background:#f5f5f7}.subservice-related .location-service-grid{margin-top:32px}.location-specialist-link{text-align:center;margin-top:28px}.location-specialist-link a{color:#06c;font-size:16px}
@media(max-width:900px){.subservice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-directory-grid{grid-template-columns:1fr}.subservice-deliverables>.content-wide,.subservice-context>.content-wide{grid-template-columns:1fr;gap:34px}}
@media(max-width:620px){.parent-subservices,.service-directory,.subservice-deliverables,.subservice-context,.subservice-related{padding:60px 15px 72px}.subservice-grid{grid-template-columns:1fr}.subservice-card{min-height:140px}.subservice-hero{min-height:72svh}.subservice-deliverables li{font-size:20px}}


/* v36 service-page polish */
.service-directory>.content-wide,.parent-subservices>.content-wide,.subservice-deliverables>.content-wide,.subservice-context>.content-wide,.subservice-related>.content-wide{width:calc(100% - 48px);max-width:none;margin-inline:auto}
.service-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.parent-subservices .subservice-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.service-detail-page .industry-copy{width:calc(100% - 48px);max-width:none;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:clamp(36px,5vw,84px);align-items:center}
.service-overview-text{min-width:0;display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(34px,4vw,72px);align-items:start}
.service-overview-text .industry-body{max-width:none}
.service-media-window{width:100%;overflow:hidden;border-radius:30px;background:#f5f5f7;min-height:430px;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}
.service-media-track{display:flex;width:max-content;gap:12px;padding:12px;animation:serviceMediaFlow 28s linear infinite;will-change:transform}
.service-media-window:hover .service-media-track{animation-play-state:paused}
.service-media-slide{width:min(34vw,500px);min-width:390px;aspect-ratio:4/3;border-radius:22px;background:linear-gradient(145deg,#ececef,#fafafa);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6e6e73;border:1px solid #e2e2e5}
.service-media-slide span{font-size:11px;letter-spacing:.12em;margin-bottom:18px}.service-media-slide strong{font-size:24px;letter-spacing:-.035em;color:#1d1d1f}.service-media-slide small{margin-top:8px;font-size:12px;color:#86868b}
@keyframes serviceMediaFlow{from{transform:translateX(0)}to{transform:translateX(calc(-2 * (min(34vw,500px) + 12px)))}}
.subservice-hero .industry-lead{max-width:760px}
.subservice-deliverables,.subservice-context,.subservice-related,.parent-subservices,.service-directory{padding-left:24px;padding-right:24px}
.subservice-deliverables>.content-wide{grid-template-columns:minmax(250px,.6fr) minmax(0,1.4fr);gap:clamp(45px,7vw,120px)}
.subservice-context>.content-wide{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(45px,7vw,120px)}
.subservice-related .location-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
@media(max-width:1180px){.service-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-page .industry-copy{grid-template-columns:1fr}.service-media-window{min-height:390px}.service-overview-text{grid-template-columns:.7fr 1.3fr}}
@media(max-width:820px){.service-directory>.content-wide,.parent-subservices>.content-wide,.subservice-deliverables>.content-wide,.subservice-context>.content-wide,.subservice-related>.content-wide,.service-detail-page .industry-copy{width:calc(100% - 30px)}.service-overview-text{grid-template-columns:1fr;gap:26px}.service-directory-grid,.parent-subservices .subservice-grid,.subservice-related .location-service-grid{grid-template-columns:1fr}.subservice-deliverables>.content-wide,.subservice-context>.content-wide{grid-template-columns:1fr}.service-media-slide{min-width:78vw}.service-media-window{min-height:330px}@keyframes serviceMediaFlow{from{transform:translateX(0)}to{transform:translateX(calc(-2 * (78vw + 12px)))}}}

/* v37 — service image band directly below hero */
.service-detail-page .industry-copy{grid-template-columns:1fr;align-items:start}
.service-image-band{width:100%;overflow:hidden;background:#fff;padding:14px 0 34px}
.service-image-band-viewport{width:100%;overflow:hidden;cursor:grab;touch-action:pan-y;padding:0 12px}
.service-image-band-viewport:active{cursor:grabbing}
.service-image-band-track{display:flex;width:max-content;gap:14px;will-change:transform}
.service-image-band-card{flex:0 0 clamp(300px,28vw,470px);aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:#f5f5f7;box-shadow:0 12px 30px rgba(0,0,0,.055)}
.service-image-band-card img{width:100%;height:100%;object-fit:cover;display:block}
.service-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#f0f0f2,#fafafa);color:#86868b;border:1px solid #e2e2e5;border-radius:inherit}
.service-image-placeholder span{font-size:11px;letter-spacing:.14em;margin-bottom:12px;color:#a1a1a6}
.service-image-placeholder strong{font-size:18px;font-weight:600;letter-spacing:-.02em;color:#515154;max-width:82%}
.service-image-placeholder small{font-size:12px;margin-top:7px;color:#a1a1a6}
/* Retire the old side-by-side imagery component. */
.service-media-window{display:none!important}
@media(max-width:820px){.service-image-band{padding:10px 0 26px}.service-image-band-card{flex-basis:76vw;border-radius:20px}.service-image-band-track{gap:10px}.service-image-band-viewport{padding:0 10px}}


/* v38 — supplied service artwork powers every service hero and gallery band. */
.service-detail-page .industry-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#f7f7f9 0,#fff 100%)}
.service-detail-page .industry-hero::before{display:none!important;content:none!important}
.service-detail-page .industry-hero>*:not(.service-hero-slides){position:relative;z-index:2}
.service-hero-slides{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden}
.service-hero-slide{position:absolute;inset:0;background-position:center 58%;background-size:min(92vw,1600px) auto;background-repeat:no-repeat;opacity:0;filter:none;animation:serviceHeroCycle 25s infinite ease-in-out;will-change:opacity}
@keyframes serviceHeroCycle{0%,14%{opacity:.12}20%,94%{opacity:0}100%{opacity:.12}}
.service-image-band-card img{filter:none;opacity:1}
@media(max-width:700px){
  .service-hero-slide{background-size:150vw auto;background-position:center 60%}
  @keyframes serviceHeroCycle{0%,14%{opacity:.10}20%,94%{opacity:0}100%{opacity:.10}}
}
