/* Horizon signature: light, editorial typography with the orange-and-blue orbital identity. */
.hero .heroIdentity{display:inline-flex;align-items:baseline;gap:10px;margin:0 0 18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;letter-spacing:.11em!important}
.hero .heroIdentity strong{font-size:clamp(19px,2vw,27px);font-weight:560;letter-spacing:.13em;line-height:1.08}
.hero .heroIdentity .heroSteelWord{color:var(--h-orange);font-weight:520}
.hero .heroIdentity .heroRegion{padding:0!important;border:0!important;color:rgba(219,237,255,.88)!important;font-size:10px!important;font-weight:650!important;letter-spacing:.15em!important;line-height:1.2}
.hero .orbit:before{border-color:rgba(0,75,255,.56);box-shadow:0 0 24px rgba(0,75,255,.20)}
.hero .orbit:after{border-color:rgba(255,98,0,.56);box-shadow:0 0 22px rgba(255,98,0,.20)}
.hero .globe .route{height:2px;background:linear-gradient(90deg,var(--h-orange),#ff9b35,var(--b),transparent);box-shadow:0 0 9px rgba(255,98,0,.66),0 0 18px rgba(0,75,255,.42)}
/* Bright product stage: clean white backing lets the steel and its shape read clearly. */
.steelProductGallery{padding:20px clamp(12px,2vw,26px) 26px;background:linear-gradient(180deg,#fff 0%,#f3f7fc 100%);border:1px solid rgba(24,57,95,.12);border-radius:4px;box-shadow:0 18px 42px rgba(0,17,47,.11)}
.steelGalleryHeading{color:#18324e}
.steelGalleryViewport{mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.steelVisualCard{display:flex;flex-direction:column;height:clamp(205px,23vw,300px);padding:9px;margin:0 16px 0 0;overflow:visible;background:#fff;color:#172e47;border:1px solid rgba(28,55,83,.10);border-radius:3px;box-shadow:0 10px 28px rgba(12,36,63,.12);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.steelVisualCard img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:center;background:#fff;border-radius:2px;filter:brightness(1.16)contrast(1.04)saturate(1.11);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.steelVisualCard:after{inset:auto 9px 57px;height:30px;background:linear-gradient(0deg,rgba(0,20,48,.18),transparent);pointer-events:none}
.steelVisualCard figcaption{position:relative;left:auto;right:auto;bottom:auto;min-height:46px;padding:11px 5px 2px;align-items:center;color:#18324e}
.steelVisualCard figcaption small{color:#e65a08}
.steelVisualCard figcaption strong{font-size:clamp(13px,1.1vw,16px);text-align:left}
.steelVisualCard:hover,.steelVisualCard:focus-within{transform:translateY(-8px);border-color:rgba(255,98,0,.48);box-shadow:0 20px 42px rgba(7,36,78,.20)}
.steelVisualCard:hover img{transform:scale(1.035);filter:brightness(1.23)contrast(1.06)saturate(1.14)}
.brandCard{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
.brandCard:hover{transform:translateY(-8px) scale(1.04);border-color:rgba(255,119,50,.82);box-shadow:0 18px 44px rgba(0,36,103,.42),0 0 22px rgba(255,98,0,.25)}
/* Regional route panel and selectable stops. */
.routeNetwork{position:relative;isolation:isolate;padding:clamp(54px,7vw,96px) clamp(18px,5vw,76px);overflow:hidden;background:radial-gradient(ellipse at 87% 12%,rgba(0,91,255,.25),transparent 38%),linear-gradient(132deg,#05101f 0%,#071d42 56%,#063a75 100%);color:#f7fbff}
.routeNetwork:before,.routeNetwork:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(0,104,255,.24);border-radius:50%;pointer-events:none;transform:rotate(-16deg)}
.routeNetwork:before{width:105vw;height:68vw;right:-42vw;top:-46vw;box-shadow:0 0 0 19px rgba(255,98,0,.055),0 0 0 39px rgba(0,88,255,.065)}
.routeNetwork:after{width:96vw;height:62vw;right:-28vw;top:-44vw;border-color:rgba(255,98,0,.26)}
.routeNetworkHeader{position:relative;display:flex;justify-content:space-between;align-items:end;gap:36px;max-width:1480px;margin:0 auto 34px}
.routeNetworkHeader .micro{font-size:11px;letter-spacing:.16em;color:#c3d9f4}.routeNetworkHeader .micro em{font-style:normal;color:#ff8438}
.routeNetworkHeader h2{margin:13px 0 12px;font-size:clamp(34px,4.8vw,68px);font-weight:350;letter-spacing:-.045em;line-height:.98}
.routeNetworkHeader p{max-width:690px;margin:0;color:rgba(235,245,255,.76);font-size:16px;line-height:1.55}
.routeCurrent{flex:0 0 220px;padding:14px 16px;border-left:2px solid var(--h-orange);background:linear-gradient(90deg,rgba(255,98,0,.12),transparent)}
.routeCurrent small{display:block;margin-bottom:5px;color:#a9c5e8;font-size:10px;font-weight:750;letter-spacing:.12em}
.routeCurrentStop{font-size:15px;font-weight:650;color:#fff}
.routeNetworkLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);align-items:stretch;gap:22px;max-width:1480px;margin:auto}
.routeNetworkPanel{min-width:0;padding:20px 18px 14px;border:1px solid rgba(162,200,242,.22);background:rgba(4,17,38,.64);box-shadow:0 16px 55px rgba(0,7,20,.2);backdrop-filter:blur(12px)}
.routeRow{padding:3px 0 17px}.routeRow+.routeRow{padding-top:17px;border-top:1px solid rgba(172,207,244,.15)}
.routeTrackContinuation{margin-top:-8px;padding-top:0}
.routeRowLabel{margin-bottom:10px;color:#b7d0ee;font-size:10px;font-weight:800;letter-spacing:.15em}
.routeTrack{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:3px 2px 12px;scrollbar-width:thin;scrollbar-color:#ff762e rgba(255,255,255,.08)}
.routeStop{appearance:none;flex:0 0 auto;min-height:44px;padding:9px 12px;border:1px solid rgba(255,116,46,.67);border-radius:3px;background:rgba(6,28,61,.82);color:#fff;font:inherit;text-align:left;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.routeStop>span:first-child{display:block;font-size:13px;font-weight:720;line-height:1.2;white-space:nowrap}.routeStop small{display:block;margin-top:4px;color:#b5cae4;font-size:10px;line-height:1.15;white-space:nowrap}
.routeStop:hover,.routeStop:focus-visible,.routeStop.is-active{outline:none;border-color:#ff9a56;background:linear-gradient(115deg,#ff6a15,#db4c00);box-shadow:0 0 0 1px rgba(255,138,64,.35),0 8px 23px rgba(255,81,0,.22);transform:translateY(-2px)}
.routeStop:focus-visible{outline:2px solid #fff;outline-offset:3px}.routeArrow{flex:none;color:#ff7a35;font-size:19px;font-style:normal;text-shadow:0 0 14px rgba(255,98,0,.6)}
.routeBranchLead{overflow:visible}.routeStopManaus{border-color:#8db7ff;background:linear-gradient(130deg,rgba(0,75,255,.30),rgba(4,26,59,.9))}
.routeBranchGlyph{margin:0 0 0 3px;color:#ff782f;font-size:24px;font-style:normal}.routeBranches{position:relative;padding:9px 12px 4px 17px;border-left:1px dashed rgba(255,132,60,.85)}
.routeBranchLabel{display:block;margin-bottom:8px;color:#b5ccec;font-size:9px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.routeBranches>div{display:flex;gap:6px;flex-wrap:wrap;max-width:360px}
.routeStopBranch{min-height:34px;padding:7px 10px}.routeStopBranch>span:first-child{font-size:12px}
.routeNetworkNote{margin:3px 0 0;color:rgba(208,226,247,.66);font-size:12px;line-height:1.4}
.routeVesselCard{position:relative;align-self:center;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.36);background:#fff;box-shadow:0 18px 50px rgba(0,5,22,.34)}
.routeVesselCard img{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:0;max-height:none;object-fit:cover;object-position:center center;filter:brightness(1.08) saturate(1.06);transition:transform .8s ease,filter .4s ease}
.routeVesselCard:hover img{transform:scale(1.055);filter:brightness(1.16) saturate(1.12)}
.routeVesselCaption{position:relative;left:auto;right:auto;bottom:auto;display:flex;flex-direction:column;gap:7px;padding:16px 18px;background:linear-gradient(110deg,#061d3d,#082b59);color:#fff}
.routeVesselCaption small{color:#ff9a56;font-size:10px;font-weight:800;letter-spacing:.15em}.routeVesselCaption strong{max-width:370px;font-size:clamp(17px,1.65vw,23px);line-height:1.15;font-weight:620}.routeVesselCaption>span{color:rgba(255,255,255,.78);font-size:12px;line-height:1.4}
@media(max-width:1000px){.routeNetworkHeader{align-items:start;flex-direction:column;gap:18px}.routeCurrent{flex-basis:auto;min-width:220px}.routeNetworkLayout{grid-template-columns:1fr}.routeVesselCard img{height:auto;min-height:0;aspect-ratio:16/9}}
@media(max-width:560px){.hero .heroIdentity{align-items:flex-start;flex-direction:column;gap:5px}.hero .heroIdentity strong{font-size:18px}.routeNetwork{padding:50px 15px}.routeNetworkHeader h2{font-size:38px}.routeNetworkHeader p{font-size:15px}.routeCurrent{width:100%}.routeNetworkPanel{padding:16px 12px}.routeTrack{gap:6px}.routeStop{padding:8px 9px}.routeVesselCard img{height:auto;min-height:0;aspect-ratio:16/9}.routeNetworkNote{font-size:11px}}
@media(prefers-reduced-motion:reduce){.steelVisualCard,.steelVisualCard img,.brandCard,.routeVesselCard img{transition:none!important;transform:none!important}}
/* Show one language at a time while retaining each element's natural display type. */
body.es [data-en]:not([data-es]){display:none!important}
body.es [data-es]:not([data-en]){display:none!important}
body:not(.es) [data-es]:not([data-en]){display:none!important}
/* Restore translated blocks with their natural layout; keep labels inline and card headings stacked. */
body.es p[data-es]:not([data-en]),body.es h3[data-es]:not([data-en]),body.es div[data-es]:not([data-en]),body.es b[data-es]:not([data-en]){display:block!important}
body.es span[data-es]:not([data-en]),body.es strong[data-es]:not([data-en]){display:inline!important}
body:not(.es) .principle b[data-en]{display:block!important}
/* Readability pass across the whole long-form experience. */
small{font-size:12px!important;font-weight:650!important;line-height:1.35}
.micro,.micro em{font-size:12px!important;font-weight:740!important;line-height:1.35;letter-spacing:.11em}
header nav a{font-size:12px!important;font-weight:700!important}
.brandCard span{font-size:12px!important;font-weight:800!important;letter-spacing:.045em}
.hero .orbitNode{font-size:12px!important;font-weight:750!important}
.hero .heroRegion,.hero .heroSignature{font-size:12px!important;font-weight:700!important}
.cta,.catalogueCta,.steelGalleryToggle,.steelGalleryHeading,.hubRenderLabel span,.hubRenderEyebrow,.stageCount,.marketChip,.kineticLegend,.brandSpotlightPlace,.journeyMapLabel,.journeyPopupTag,.journeyPopupText,.journeyEyebrow,.journeyPlace,.projectWindowStatus,.projectDisclaimer,.copyright,.routeCurrent small,.routeRowLabel,.routeBranchLabel,.routeNetworkNote,.routeVesselCaption small{font-size:12px!important;font-weight:700!important;line-height:1.4}
.routeStop small{font-size:12px!important;font-weight:600!important;line-height:1.25}
.journeyPopupText{line-height:1.45!important}
.projectDisclaimer,.routeNetworkNote{font-weight:550!important}
@media(max-width:900px){header nav a{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Twenty-family international steel standards reference. */
.familyStandards{margin:30px 0 42px;padding:clamp(24px,4vw,48px);background:linear-gradient(140deg,#fff,#f2f6fb 75%);color:#142a43;border:1px solid rgba(18,55,94,.14);box-shadow:0 16px 40px rgba(0,22,56,.09)}
.familyStandardsHeader{display:grid;grid-template-columns:1fr minmax(300px,.72fr);align-items:end;gap:30px;margin-bottom:24px}
.familyStandardsHeader .micro{color:#405979}.familyStandardsHeader .micro em{color:#e55c14;font-style:normal}
.familyStandardsHeader h2{margin:10px 0 0;font-size:clamp(30px,3.8vw,48px);line-height:1.04;font-weight:430;letter-spacing:-.035em}
.familyStandardsHeader p{margin:0;color:#51647a;font-size:16px;font-weight:560;line-height:1.55}
.familyStandardsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.familyStandardCard{display:grid;grid-template-columns:minmax(155px,.65fr) minmax(0,1fr);align-items:center;gap:16px;min-width:0;min-height:91px;padding:15px 17px;background:#fff;border:1px solid rgba(19,52,87,.11);border-left:3px solid #1265ce}
.familyStandardName{display:flex;align-items:center;gap:11px;min-width:0}.familyStandardName>span{flex:none;color:#e85e0b;font-size:12px;font-weight:800;letter-spacing:.06em}
.familyStandardName h3{margin:0;color:#142a43;font-size:15px;font-weight:740;line-height:1.28;letter-spacing:0}
.familyStandardRefs{margin:0;color:#40566e;font-size:13px;font-weight:640;line-height:1.48;overflow-wrap:anywhere}
.familyStandardsNote{margin-top:18px;padding:15px 17px;background:#e7eff8;border-left:3px solid #ff690f;color:#344a62;font-size:14px;font-weight:560;line-height:1.55}
.familyStandardsLinks{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:14px}.familyStandardsLinks a{color:#064da8;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.familyStandardsHeader{grid-template-columns:1fr;gap:14px}.familyStandardsGrid{grid-template-columns:1fr}}
@media(max-width:560px){.familyStandards{margin:25px 0;padding:22px 15px}.familyStandardsHeader h2{font-size:32px}.familyStandardCard{grid-template-columns:1fr;gap:7px;padding:14px;min-height:0}.familyStandardRefs{font-size:13px}.familyStandardsNote{font-size:13px}.familyStandardsLinks{gap:10px 16px}}
.familyStandardsHeader h2{max-width:660px}.familyStandardName h3{display:flex;flex-direction:column;gap:2px}

/* Mobile framing and brighter steel presentation. */
.scene .copy{width:min(1180px,calc(100% - 64px));margin-inline:auto}
#steel>.bg{filter:brightness(1.36) saturate(1.12) contrast(1.02)}
#steel>.veil{background:linear-gradient(90deg,rgba(3,12,25,.44),rgba(3,12,25,.08) 68%),linear-gradient(0deg,rgba(3,12,25,.34),transparent 50%)}
#steel .copy{padding-right:38%;text-shadow:0 2px 18px rgba(0,12,28,.44)}
#steel .sub{color:rgba(255,255,255,.94)}
#steel .steelFlow span{color:#fff;text-shadow:0 2px 8px rgba(0,12,28,.66)}
#steel-catalogue{background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%);color:#132b46}
#steel-catalogue:before{border-color:rgba(0,75,255,.10)}
#steel-catalogue:after{border-color:rgba(255,98,0,.12)}
#steel-catalogue .steelCatalogueIntro .micro{color:#334e6e}
#steel-catalogue .steelCatalogueIntro h2{color:#142c49}
#steel-catalogue .steelCatalogueIntro p{color:#435a73}
#steel-catalogue .steelPromise{border-color:rgba(20,55,92,.14)}
#steel-catalogue .steelPromise span{color:#304963}
#steel-catalogue .steelProduct{background:#fff;border-color:rgba(24,57,95,.14);box-shadow:0 9px 25px rgba(16,43,74,.08)}
#steel-catalogue .steelProduct h3{color:#18334f}
#steel-catalogue .steelProduct p{color:#52677d}
#steel-catalogue .steelCatalogueFoot p{color:#52677d}
#steel-catalogue .steelGalleryHeading{color:#18324e}
.steelProductGallery{background:linear-gradient(180deg,#fff 0%,#f4f7fa 100%);padding:18px clamp(12px,2vw,26px) 24px;border:1px solid rgba(24,57,95,.12);border-radius:4px;box-shadow:0 18px 42px rgba(0,17,47,.10)}
.steelVisualCard{background:#fff;color:#172e47;border-color:rgba(28,55,83,.13);box-shadow:0 10px 28px rgba(12,36,63,.12)}
.steelVisualCard img{background:#f2f4f6;filter:brightness(1.42) contrast(.98) saturate(1.13)}
.steelVisualCard:after{inset:auto 9px 57px;height:20px;background:linear-gradient(0deg,rgba(0,20,48,.10),transparent)}
.steelVisualCard figcaption{color:#18324e}
.steelVisualCard figcaption small{color:#d94e00}
@media(max-width:900px){.scene .copy{width:calc(100% - 40px);padding-right:0;margin:0 auto 8vh}#steel .copy{padding-right:0;margin-bottom:12vh;max-width:720px}#steel .copy h2{font-size:clamp(48px,13vw,76px)}#steel .steelFlow{bottom:4%}#steel-catalogue{padding:58px 18px 46px}#steel-catalogue .steelCatalogueIntro{gap:20px}#steel-catalogue .steelCatalogueIntro p{font-size:16px;line-height:1.55}.steelProductGallery{margin:22px 0 24px;padding:14px 10px 18px}}
@media(max-width:560px){#steel>.bg{filter:brightness(1.45) saturate(1.10) contrast(1)}#steel>.veil{background:linear-gradient(90deg,rgba(3,12,25,.32),rgba(3,12,25,.05) 82%),linear-gradient(0deg,rgba(3,12,25,.31),transparent 54%)}#steel .copy{margin-bottom:15vh}#steel .micro{margin-bottom:12px}#steel .sub{max-width:34ch;margin:13px 0 18px;font-size:16px;line-height:1.5}#steel .steelFlowTrack{gap:24px}#steel .steelFlow span{font-size:11px;letter-spacing:.10em}.steelVisualCard img{filter:brightness(1.48) contrast(.97) saturate(1.12)}}
body:not(.es) .steelVisualCard figcaption strong[data-en]{display:block!important}
body.es .steelVisualCard figcaption strong[data-es]{display:block!important}
.steelVisualCard figcaption{align-items:flex-start;gap:10px}
.steelVisualCard figcaption strong{display:block!important;min-width:0;color:#18324e;font-size:clamp(13px,1.1vw,16px);line-height:1.22;text-align:left;overflow-wrap:anywhere}
@media(max-width:680px){.steelVisualCard figcaption{min-height:50px;padding-top:9px}.steelVisualCard figcaption strong{font-size:14px}}
