/* Steelco type direction: Clash Display + Synonym.
   Both families are served locally from Fontshare's official webfont files.
   Existing families remain as deliberate fallbacks for Indian scripts. */
:root {
  --steelco-display-font: 'Clash Display', 'Bricolage Grotesque', Arial, sans-serif;
  --steelco-text-font: 'Synonym', 'Helvetica Neue', Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: var(--steelco-text-font) !important;
}

/* Legacy pages use `font:` shorthands on these text elements, which would
   otherwise reset the supporting family back to the old display fallback.
   Keep the reading voice consistent while the heading selectors below retain
   Clash Display for hierarchy. */
body p,
body li,
body a,
body label,
body small,
body figcaption,
body dt,
body dd,
body td,
body th,
body blockquote,
/* Information rendered by legacy controllers uses spans/divs, including
   caption clones mounted outside their original section. */
body .ch-t,
body .kap-t,
body .kap-s,
body .nav-dd-i .l,
body #eqx .eq-stepd .dd,
body #eqx .eq-it .lb,
body #eqx .eq-node .nl,
body #eqx .eq-chips .q,
body #eqx .eq-rows .r span,
body #eqx .eq-feeds .f span:not(.ar),
body #eqx .eq-prog .t,
body #eqx .bt > span {
  font-family: var(--steelco-text-font) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body [role='heading'] {
  font-family: var(--steelco-display-font) !important;
}

/* Preserve technical labels and numeric readouts as the supporting voice. */
.mono,
[class*='mono'],
code,
pre {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
}

/* Keep Gujarati/Hindi glyphs on the tested local families until the chosen
   family confirms coverage or supplies a language extension. */
:lang(gu),
:lang(hi) {
  font-family: Mukta, 'Noto Sans Gujarati', 'Noto Sans Devanagari', sans-serif !important;
}

/* Navigation uses the same display family as the page headings, including
   the bold labels inside the expanded rotation menu. */
body .center-cap > a,
body .rot-row b {
  font-family: var(--steelco-display-font) !important;
  font-weight: 600;
  letter-spacing: -0.015em;
}

@media (max-width: 760px) {
  body .rot-row b {
    font-size: clamp(16px, 4.5vw, 20px);
    white-space: normal;
    line-height: 1.15;
  }
}

/* Navigation must not change the containing block of sticky/pinned sections. */
body.rot-open {height:auto!important;perspective:none!important;}
body.rot-open #rot-shell, body.rot-closing #rot-shell {
 position:relative!important;inset:auto!important;transform:none!important;
 overflow:visible!important;opacity:1!important;border-radius:0!important;
 box-shadow:none!important;will-change:auto!important;transition:none!important;
}
body.rot-open #rot-inner,body.rot-closing #rot-inner {transform:none!important;}
body.rot-open .nav,body.rot-closing .nav {position:fixed!important;top:0!important;}
.rot-bg {z-index:99990!important;}
.rot-menu {z-index:99991!important;transition:none!important;}
.rot-menu.is-open {pointer-events:auto!important;}
.rot-panel {width:min(600px,90vw)!important;}
body:not(.rot-open) .rot-bg {opacity:0!important;visibility:hidden!important;}
[data-nav-dd-panel="contact"] {display:none!important;}
.vms-txt {color:#ff5b00!important;}

/* A single moving indicator owns the highlight; links never paint a second pill. */
body .center-cap .blob {display:none!important;}
body .nav .center-cap > a,body #about-view .center-cap > a,
body .nav .center-cap > a:is(.on,:hover,:focus,.lit),body #about-view .center-cap > a:is(.on,:hover,:focus,.lit) {
 background:transparent!important;color:#272b2c!important;opacity:1!important;border-radius:999px;
}
body .center-cap .nav-glider{position:absolute;left:0;top:0;z-index:1;pointer-events:none;border-radius:999px;background:linear-gradient(110deg,#ff783e,#ff985c);opacity:0;transition:transform .36s cubic-bezier(.22,1,.36,1),width .36s cubic-bezier(.22,1,.36,1),height .36s ease,opacity .18s ease;will-change:transform;}
body .center-cap > a:focus-visible{outline:2px solid #993400!important;outline-offset:2px;}
@media(prefers-reduced-motion:reduce){body .center-cap .nav-glider{transition:none!important;}}
body .vms-head h2 {color:#ff5b00!important;}
body .center-cap .ir-mega {width:100%;box-sizing:border-box;max-height:75vh;overflow:auto;padding:24px;}
.ir-mega-overview {display:block;font-size:21px;font-weight:600;margin-bottom:20px;color:#222!important;}
.ir-mega-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.ir-mega-grid h3 {font-size:15px;color:#e65100;margin:0 0 12px;}
body .ir-mega-grid a {display:block;white-space:normal;padding:10px 0;border-bottom:1px solid #e5e5e5;color:#303236!important;font-size:14px;line-height:1.4;}
body .ir-mega-grid a:hover {color:#e65100!important;}
#product-view #ppgi3d .pv3d-back {top:auto!important;bottom:24px!important;left:auto!important;right:24px!important;z-index:80;}
@media(max-width:760px){.ir-mega-grid{grid-template-columns:1fr;}#product-view #ppgi3d .pv3d-back{bottom:16px!important;right:16px!important;}}
/* Full 3D view keeps its exit within the viewport, outside the colour panel. */
#product-view #ppgi3d:not([hidden]) .pv3d-back {position:fixed!important;bottom:calc(100px + env(safe-area-inset-bottom))!important;right:24px!important;}
/* Consistent dropdown rows, without ordinal labels. */
body .nav-dd .n {display:none!important;}
body .ir-mega-grid a,
body .ir-mega-overview {
 padding:9px 12px;border-radius:10px;border-bottom:0;
 transition:background-color .18s ease,color .18s ease;
}
body .ir-mega-grid a:hover,
body .ir-mega-grid a:focus-visible,
body .ir-mega-overview:hover,
body .ir-mega-overview:focus-visible {
 background:#faf3ee!important;color:#E9550A!important;
}

/* Equipment and Quality Control share the investor dropdown's visual language. */
body .equipment-mega .equipment-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
body .equipment-mega-grid h3 a{color:#e65100!important;font-family:var(--steelco-display-font)!important;font-size:16px;font-weight:700;margin-bottom:8px;}
body .equipment-mega-grid section+section{border-left:1px solid #e8e8e8;padding-left:24px;}
.lift-detail .equipment-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
body .lift-detail .equipment-mega-grid a{color:#f4f4ef!important;font-size:15px;line-height:1.4;padding:9px 8px;}
body .lift-detail .equipment-mega-grid h3 a{color:#ff9455!important;}
body .lift-detail .equipment-mega-grid section+section{border-color:#ffffff24;padding-left:16px;}
@media(max-width:700px){.lift-detail .equipment-mega-grid{grid-template-columns:1fr;}body .lift-detail .equipment-mega-grid section+section{border-left:0;border-top:1px solid #ffffff24;padding:18px 0 0;}}
body .center-cap .equipment-mega{left:0!important;}
body #nav .center-cap .equipment-mega-grid h3 a{color:#e65100!important;}

/* Leave a dedicated row below the floating navigation for location links. */
body:has([data-site-breadcrumb]) #eqx{margin-top:36px;}
#product-view .stage{padding-top:36px;}

/* Breadcrumbs live in the content flow, above page headings. */
.cbf-wrap > [data-site-breadcrumb],.esg-opening > [data-site-breadcrumb],#eqx > [data-site-breadcrumb]{margin:0 0 20px;max-width:100%;}
#eqx > [data-site-breadcrumb]{grid-column:1 / -1;}
body:has([data-site-breadcrumb]) #eqx{margin-top:0;}
.cbf-sec{padding-top:112px;}
.esg-opening > [data-site-breadcrumb]{width:100%;max-width:1320px;margin:0 auto 24px;padding-left:26px;padding-right:26px;}
.kap > [data-site-breadcrumb]{width:100%;max-width:1320px;margin:0 auto 24px;padding-left:26px;padding-right:26px;}
body .kap{padding-top:112px;}
.sgl-industry-trail{padding:100px 24px 16px;background:#fff;}
.sgl-industry-trail > [data-site-breadcrumb]{width:100%;max-width:1320px;margin:0 auto;}
body #c3d-root .fpill.on,body #c3d-root .c3dm-fin .fpill.on{background:var(--scale,#E9550A);color:#fff;border-color:var(--scale,#E9550A);box-shadow:0 5px 14px #e9550a30,0 0 0 2.5px #e9550a24;}
@media(max-width:880px){body .cbf-sec{padding-top:104px;}}
@media(max-width:700px){body .kap{padding-top:104px;}.sgl-industry-trail{padding:96px 16px 12px;}}
@media(max-width:380px){body .rgrid{grid-template-columns:minmax(0,1fr);}}
