.nms-ims{color:var(--nms-green)}
.nms-ims *{box-sizing:border-box}.nms-ims img{display:block;width:100%}.nms-ims .nms-container{width:min(1480px,calc(100% - 48px))}
.nms-ims-hero{padding:clamp(32px,4vw,56px) 0;background:var(--nms-charcoal);color:var(--nms-surface)}.nms-ims-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);align-items:start}
.nms-ims-hero h1{max-width:820px;color:var(--nms-surface)}.nms-ims-hero p:not(.nms-kicker){max-width:700px;font-size:clamp(1.05rem,1.5vw,1.3rem)}.nms-ims-hero figure{margin:0;min-width:0;min-height:0;background:var(--nms-surface-alt);overflow:hidden}.nms-ims-hero img{height:100%;min-height:0;object-fit:cover}
/* Owner-selected original photos, composed in the page without altering the media. */
.nms-ims-composite{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;width:100%;aspect-ratio:8/5;max-height:420px;min-width:0}
.nms-ims-composite__welding{grid-row:1/3}.nms-ims-composite__welding img{object-position:50% 38%}.nms-ims-composite__assembly img{object-position:55% 50%}.nms-ims-composite__service img{object-position:50% 28%}
.nms-ims-services{padding:clamp(46px,6vw,84px) 0}.nms-ims-services h2{margin-bottom:28px}.nms-ims-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--nms-border);border:1px solid var(--nms-border)}
.nms-ims-card{padding:clamp(24px,3.4vw,48px);background:var(--nms-surface)}.nms-ims-card h3{margin-top:0}.nms-ims-card p{max-width:760px}.nms-ims-card .nms-button{margin-top:14px}
.nms-ims-card--wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start;background:var(--nms-surface-alt)}
.nms-ims-examples{padding:clamp(42px,5vw,70px) 0;background:var(--nms-surface-alt)}.nms-ims-examples__inner{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(36px,7vw,110px)}.nms-ims-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:0;padding:0;list-style:none}.nms-ims-list li{padding:12px 0;border-bottom:1px solid var(--nms-border);font-weight:800}
.nms-ims-gallery-section{padding:clamp(46px,6vw,82px) 0;background:var(--nms-charcoal);color:var(--nms-surface)}.nms-ims-gallery-section h2{color:var(--nms-surface)}.nms-ims-gallery{display:flex;gap:16px;overflow-x:auto;padding:16px 0 12px;scroll-snap-type:x mandatory;scrollbar-color:var(--nms-green) var(--nms-steel)}.nms-ims-gallery figure{flex:0 0 min(68vw,680px);height:clamp(300px,42vw,560px);margin:0;background:var(--nms-surface-alt);scroll-snap-align:start}.nms-ims-gallery img{height:100%;object-fit:contain}
.nms-ims-request{padding:clamp(46px,6vw,82px) 0;background:var(--nms-surface-alt)}.nms-ims-request__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:48px;align-items:center}.nms-ims-request h2,.nms-ims-request p{color:var(--nms-green)}.nms-ims-request p{max-width:900px}.nms-ims-request__note{font-weight:800}.nms-ims-request .nms-actions{justify-content:flex-end;margin:0}
@media(max-width:980px){.nms-ims-hero__grid,.nms-ims-card--wide,.nms-ims-examples__inner,.nms-ims-request__inner{grid-template-columns:1fr}.nms-ims-request .nms-actions{justify-content:flex-start}}
@media(max-width:680px){.nms-ims .nms-container{width:min(100% - 28px,1480px)}.nms-ims-grid,.nms-ims-list{grid-template-columns:1fr}.nms-ims-card--wide{grid-column:auto}.nms-ims-gallery figure{flex-basis:88vw;height:340px}.nms-ims-composite{aspect-ratio:4/3;gap:6px}}

/* Outline contrast on the existing service section surfaces. */
.nms-ims .nms-ims-hero .nms-button--outline {
  color: var(--nms-surface) !important;
  background: transparent;
  border-color: var(--nms-surface);
}
.nms-ims .nms-ims-hero .nms-button--outline:hover,
.nms-ims .nms-ims-hero .nms-button--outline:focus-visible {
  color: var(--nms-black) !important;
  background: var(--nms-surface);
  border-color: var(--nms-surface);
}
.nms-ims .nms-ims-request .nms-button--outline {
  color: var(--nms-black) !important;
  background: transparent;
  border-color: var(--nms-black);
}
.nms-ims .nms-ims-request .nms-button--outline:hover,
.nms-ims .nms-ims-request .nms-button--outline:focus-visible {
  color: var(--nms-surface) !important;
  background: var(--nms-charcoal);
  border-color: var(--nms-charcoal);
}
