
/* Original high-resolution engineering imagery, each card matched to its subject. */
.service-image img,.project-visual img,.industry-item img,.premium-industry-thumb img,.premium-tile-image img,.premium-article-hero-image img,.premium-contact-visual img {object-fit:cover;image-rendering:auto;display:block;width:100%;}
.service-image,.project-visual{overflow:hidden;}
.service-image img,.project-visual img{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .45s;transform:translateZ(0);}
.service-card:hover .service-image img,.project-card:hover .project-visual img{transform:scale(1.045);}
.premium-insight-art{background-size:cover!important;background-position:center center!important;}
.premium-insight-art>span{display:none!important;}
.premium-insight-art>b{color:#e5f4f5!important;font-size:10px!important;background:rgba(5,29,40,.72);border:1px solid rgba(200,235,237,.25);padding:9px 12px;border-radius:2px;align-self:end;margin:0 0 12px 12px;}
.premium-tile-image{border-radius:3px;overflow:hidden;margin:10px 0 24px;aspect-ratio:1.8;background:#0a232f;}
.premium-tile-image img{height:100%;}
.value-card,.why-card{min-height:0!important;}
.value-card .premium-tile-image,.why-card .premium-tile-image{width:100%;}
.why-card .premium-tile-image{margin:18px 0 22px;}
.premium-industry-thumb{display:block;flex:none;width:91px;height:64px;overflow:hidden;border-radius:2px;background:#103142;}
.premium-industry-thumb img{width:100%;height:100%;object-fit:cover;}
.industry-stack>a{display:flex!important;align-items:center;gap:17px;}
.industry-stack>a strong{margin-right:auto;}
.premium-industry-photo{max-width:460px;}
.premium-industry-photo img{height:auto;aspect-ratio:1.6;}
.premium-article-hero-image{margin:34px 0 0;position:relative;overflow:hidden;max-width:1100px;}
.premium-article-hero-image img{width:100%;max-height:500px;object-fit:cover;aspect-ratio:2.1;}
.premium-article-hero-image figcaption,.premium-contact-visual figcaption{font-size:10px;letter-spacing:2px;padding:12px 0;color:#7ca8b1;}
.premium-contact-visual{margin:34px 0 0;max-width:490px;}
.premium-contact-visual img{height:auto;aspect-ratio:1.6;}
.premium-form-help{font-size:12px;color:#56747e;line-height:1.6;margin-top:12px;}
/* Photographic backdrops from original generated full-resolution assets. */
.v2-hero-photo{background-image:linear-gradient(90deg,rgba(5,18,26,.82) 0%,rgba(5,18,26,.50) 38%,rgba(5,18,26,.05) 90%),url('./assets/premium/banner-hero.webp?v=20261021-hero2')!important;background-size:cover!important;background-position:center!important;}
.v2-interlude-picture{background-image:linear-gradient(90deg,rgba(5,18,26,.40),rgba(5,18,26,.05)),url('./assets/premium/banner-about.webp?v=20261021-hero2')!important;background-size:cover!important;}
.v2-photoband-img{background-image:linear-gradient(90deg,rgba(4,18,27,.30),rgba(4,18,27,.05)),url('./assets/premium/banner-production.webp?v=20261021-hero2')!important;background-size:cover!important;}
.route-about .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.95) 55%,rgba(10,32,44,.53) 100%),url('./assets/premium/banner-about.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-contact .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.95) 60%,rgba(10,32,44,.48) 100%),url('./assets/premium/banner-contact.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-projects .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.94) 58%,rgba(10,32,44,.47) 100%),url('./assets/premium/banner-installation.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-services .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.94) 58%,rgba(10,32,44,.47) 100%),url('./assets/premium/banner-factory.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-industries .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.94) 58%,rgba(10,32,44,.47) 100%),url('./assets/premium/banner-production.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-why-us .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.94) 58%,rgba(10,32,44,.47) 100%),url('./assets/premium/banner-about.webp?v=20261021-hero2');background-position:center;background-size:cover;}
.route-insights .inner-hero{background-image:linear-gradient(90deg,#0a202c 5%,rgba(10,32,44,.94) 58%,rgba(10,32,44,.47) 100%),url('./assets/premium/banner-about.webp?v=20261021-hero2');background-position:center;background-size:cover;}
@media(max-width:720px){.premium-industry-thumb{width:64px;height:51px;}.industry-stack>a{gap:9px;}.premium-tile-image{margin-top:15px;}.premium-article-hero-image img{aspect-ratio:1.5;}.v2-hero-photo{background-position:55% center!important;}}
@media(prefers-reduced-motion:reduce){.service-image img,.project-visual img{transition:none!important;transform:none!important;}}

.premium-process-img{display:block;width:100%;height:112px;object-fit:cover;object-position:center;margin:0 0 18px;border-radius:2px;filter:saturate(.95)}
@media(max-width:720px){.premium-process-img{height:90px}}

/* Brand is the client's actual logo, extracted from the supplied business-profile PDF. */
.brand-logo-official{display:block!important;width:49px!important;height:49px!important;max-width:none!important;object-fit:contain!important;background:#fff;padding:3px;border-radius:4px;flex:0 0 49px;}
.brand-copy-official{display:flex;flex-direction:column;gap:5px;font-weight:800;font-size:14px;letter-spacing:.6px;color:#f0f8f7;line-height:1.1;}
.brand-copy-official small{font-size:8px;letter-spacing:1.6px;font-weight:700;color:#aad0db;}
.site-footer .brand-logo-official{width:60px!important;height:60px!important;flex-basis:60px;}
@media(max-width:650px){.brand-logo-official{width:43px!important;height:43px!important;flex-basis:43px;}.brand-copy-official{font-size:11px;}.brand-copy-official small{font-size:6px;letter-spacing:1px;}}
.project-detail-section{background:#f3f7f5;}.project-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;margin:35px 0 70px;}
.project-detail-grid h2{font-size:clamp(43px,5vw,75px);letter-spacing:-.055em;margin:0 0 25px;}
.project-detail-grid p{font-size:16px;line-height:1.9;max-width:590px;color:#345663;}.project-detail-grid figure{margin:0;}
.project-detail-grid figure img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:3px;}
.project-detail-grid figcaption{font-size:11px;line-height:1.8;letter-spacing:.1px;color:#5b7884;margin-top:15px;}
.project-detail-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ccd9d8;padding-top:24px;font-size:11px;font-weight:750;letter-spacing:1px;}
.project-detail-bottom .text-link{font-size:12px;}
@media(max-width:780px){.project-detail-grid{grid-template-columns:1fr;gap:25px;}.project-detail-bottom{flex-wrap:wrap;}}

.premium-info-cover{width:min(1250px,calc(100% - 60px));margin:60px auto 0;overflow:hidden;max-height:310px;}
.premium-info-cover img{width:100%;max-height:310px;object-fit:cover;display:block;}

/* Display images on mobile service and engagement detail pages (old layout hid entire aside). */
@media(max-width:940px){
.inner-hero-aside:has(.inner-hero-art){display:block!important;max-width:720px;margin:34px 0 0;}
.inner-hero-aside:has(.inner-hero-art) .inner-hero-art img{width:100%;height:auto;max-height:330px;object-fit:cover;}
.inner-hero:has(.inner-hero-art){padding-bottom:70px;}
}
@media(max-width:640px){.inner-hero-aside:has(.inner-hero-art) .inner-hero-art img{max-height:225px;}}


/* 2026-10-21 visual QA: correct the desktop service/project hero layout.
   Original img[height=1000] combined with width:100% stretched to 1000px. */
.inner-hero:has(.inner-hero-art){
  min-height:0!important;
  padding:164px 0 76px!important;
  background:#0b2631!important;
}
.inner-hero:has(.inner-hero-art):before{
  opacity:.11;
  background:repeating-linear-gradient(0deg,transparent 0 65px,rgba(160,208,218,.19) 66px),repeating-linear-gradient(90deg,transparent 0 65px,rgba(160,208,218,.19) 66px);
}
.inner-hero:has(.inner-hero-art) .inner-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,0.95fr)!important;
  align-items:center!important;
  gap:clamp(28px,5vw,95px)!important;
}
.inner-hero:has(.inner-hero-art) .inner-hero-aside{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}
.inner-hero:has(.inner-hero-art) .inner-hero-art{
  padding:0!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:8/5!important;
  max-width:620px!important;
  margin:0!important;
  border:1px solid rgba(157,210,224,.37)!important;
  overflow:hidden!important;
  background:#142e3a!important;
  box-shadow:0 30px 90px rgba(0,0,0,.26)!important;
}
.inner-hero:has(.inner-hero-art) .inner-hero-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:8/5!important;
  object-fit:cover!important;
  object-position:center!important;
  max-height:none!important;
}
.inner-hero:has(.inner-hero-art) .inner-hero-art>span{
  bottom:0!important;left:0!important;padding:10px 16px!important;
  background:rgba(5,28,39,.87)!important;color:#d7f4f4!important;
}
.inner-hero:has(.inner-hero-art) h1{font-size:clamp(42px,5.1vw,77px)!important;line-height:1.07!important;}
.inner-hero:has(.inner-hero-art) .section-tag{margin-bottom:19px!important;}
.inner-hero:has(.inner-hero-art) .hero-description{margin:24px 0 0!important;line-height:1.75!important;}
/* Retain the controlled photo aspect ratio everywhere, including smaller screens. */
@media(max-width:940px){
  .inner-hero:has(.inner-hero-art){padding:145px 0 65px!important;}
  .inner-hero:has(.inner-hero-art) .inner-hero-grid{grid-template-columns:1fr!important;gap:30px!important;}
  .inner-hero:has(.inner-hero-art) .inner-hero-aside{max-width:680px!important;}
  .inner-hero:has(.inner-hero-art) .inner-hero-art{max-width:none!important;}
}
@media(max-width:640px){
  .inner-hero:has(.inner-hero-art){padding:128px 0 55px!important;}
  .inner-hero:has(.inner-hero-art) h1{font-size:clamp(40px,10vw,61px)!important;}
  .inner-hero:has(.inner-hero-art) .hero-description{font-size:14px!important;}
  .inner-hero:has(.inner-hero-art) .inner-hero-art img{max-height:none!important;}
}
/* Keep card photos proportionate: no fixed height from intrinsic HTML image attributes. */
.service-image img,.project-visual img,.premium-tile-image img{height:100%!important;object-fit:cover!important;}
/* Make the logo fit the dark header without any white overflow. */
.brand-logo-official{object-fit:contain!important;}
