/* Formulation-first manufacturing journey: concise decision brief plus four practical stages. */
.manufacturing-journey { padding: 96px 0; color: #fff; background: radial-gradient(circle at 82% 18%, rgba(79,151,189,.19), transparent 33%), linear-gradient(118deg, #0b2943 0%, #153b58 100%); }
.journey-top { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(22rem, .88fr); gap: clamp(3rem, 7vw, 7rem); align-items: end; margin-bottom: 3rem; }
.journey-title-group .eyebrow { margin-bottom: .95rem; }
.journey-title-group h2 { max-width: 41rem; margin: 0; color: #fff; font-size: clamp(2.65rem, 4.2vw, 3.85rem); line-height: 1.04; letter-spacing: -.075em; }
.journey-brief { padding: 1.35rem 0 0 1.55rem; border-left: 1px solid rgba(196,222,236,.33); }
.journey-brief-label { margin: 0 0 .75rem; color: var(--green); font: .7rem var(--mono); letter-spacing: .075em; text-transform: uppercase; }
.journey-brief > p:not(.journey-brief-label) { max-width: 30rem; margin: 0; color: #d0dfe7; font-size: .96rem; line-height: 1.58; }
.journey-brief ul { display: grid; gap: .4rem; margin: .9rem 0 .8rem; padding: 0; list-style: none; color: #b5cbd8; font-size: .84rem; line-height: 1.45; }
.journey-brief li { position: relative; padding-left: 1rem; }.journey-brief li::before { content: ""; position: absolute; left: 0; top: .42rem; width: .35rem; height: .35rem; border-radius: 50%; background: var(--orange); }
.journey-brief .text-link { min-height: auto; margin: 0; font-size: .86rem; }
.journey-stages { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(196,222,236,.23); border-bottom: 1px solid rgba(196,222,236,.23); }
.journey-stages li { position: relative; min-width: 0; padding: 1.25rem 1.35rem 1.45rem; border-right: 1px solid rgba(196,222,236,.23); }
.journey-stages li:last-child { border-right: 0; }
.stage-meta { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.stage-number { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; color: var(--green); border: 1px solid rgba(112,207,93,.72); border-radius: 50%; font: .7rem var(--mono); }
.stage-meta small { color: #a5c4d5; font: .67rem var(--mono); letter-spacing: .06em; text-transform: uppercase; text-align: right; }
.stage-visual { position: relative; height: 108px; margin: 1.1rem 0 1.15rem; overflow: hidden; border-top: 1px solid rgba(196,222,236,.2); border-bottom: 1px solid rgba(196,222,236,.2); }
.stage-visual::before { content: ""; position: absolute; inset: 0; opacity: .58; background-image: linear-gradient(rgba(178,213,231,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(178,213,231,.11) 1px, transparent 1px); background-size: 22px 22px; }
.stage-visual::after { content: ""; position: absolute; top: 50%; right: -1.6rem; z-index: 4; width: .55rem; height: .55rem; border-top: 1px solid var(--green); border-right: 1px solid var(--green); transform: rotate(45deg); background: #153b58; }
.journey-stages li:last-child .stage-visual::after { display: none; }
.stage-visual i, .stage-visual b { position: absolute; z-index: 2; display: block; border-radius: 50%; }
.system-visual b { left: calc(50% - .75rem); top: calc(50% - .75rem); width: 1.5rem; height: 1.5rem; background: var(--orange); box-shadow: 0 0 0 .5rem rgba(232,135,71,.12); }.system-visual i { width: .75rem; height: .75rem; background: var(--green); }.system-visual i:nth-child(1) { left: calc(50% - .38rem); top: 12px; }.system-visual i:nth-child(2) { right: 19px; top: calc(50% - .38rem); }.system-visual i:nth-child(3) { left: calc(50% - .38rem); bottom: 12px; }.system-visual i:nth-child(4) { left: 19px; top: calc(50% - .38rem); }
.formulation-visual b { left: 28%; top: 48%; width: 1.1rem; height: 1.1rem; background: var(--orange); }.formulation-visual i { width: .65rem; height: .65rem; border: 1px solid var(--green); }.formulation-visual i:nth-child(1) { left: 16%; top: 20%; }.formulation-visual i:nth-child(2) { right: 18%; top: 19%; }.formulation-visual i:nth-child(3) { right: 29%; bottom: 17%; }.formulation-visual i:nth-child(4) { left: 51%; bottom: 17%; }.formulation-visual::before { background: linear-gradient(90deg, transparent 22%, rgba(112,207,93,.55) 22% 23%, transparent 23% 51%, rgba(112,207,93,.55) 51% 52%, transparent 52%), linear-gradient(rgba(178,213,231,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(178,213,231,.11) 1px, transparent 1px); background-size: auto, 22px 22px, 22px 22px; }
.production-visual b { left: 18%; bottom: 21px; width: 1.2rem; height: 1.2rem; background: var(--green); box-shadow: 0 0 0 .35rem rgba(112,207,93,.11); }.production-visual i { width: .95rem; height: .95rem; border: 1px solid #7fc2e9; }.production-visual i:nth-child(1) { left: 46%; bottom: 24px; }.production-visual i:nth-child(2) { right: 17%; bottom: 29px; }.production-visual i:nth-child(3) { left: 65%; top: 17px; width: .55rem; height: .55rem; background: #7fc2e9; }.production-visual::before { background: linear-gradient(90deg, transparent 7%, rgba(156,199,221,.52) 7% 92%, transparent 92%), linear-gradient(rgba(178,213,231,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(178,213,231,.11) 1px, transparent 1px); background-size: auto, 22px 22px, 22px 22px; background-position: center 72%, 0 0, 0 0; background-repeat: no-repeat, repeat, repeat; }
.outcome-visual b { left: calc(50% - .95rem); top: calc(50% - .95rem); width: 1.9rem; height: 1.9rem; border: 1px solid var(--green); background: rgba(112,207,93,.13); box-shadow: 0 0 0 .65rem rgba(112,207,93,.07); }.outcome-visual i { width: .45rem; height: .45rem; background: var(--green); }.outcome-visual i:nth-child(1) { left: 22%; top: 27%; }.outcome-visual i:nth-child(2) { right: 19%; top: 54%; }.outcome-visual i:nth-child(3) { left: 44%; bottom: 13%; }
.journey-stages h3 { margin: 0 0 .65rem; color: #fff; font-size: clamp(1.1rem, 1.45vw, 1.3rem); line-height: 1.15; letter-spacing: -.045em; }.journey-stages p { margin: 0; color: #c5d7e1; font-size: .88rem; line-height: 1.55; }

@media (max-width: 960px) { .journey-top { gap: 2rem; }.journey-stages li { padding: 1.1rem .85rem 1.2rem; }.stage-meta { display: block; }.stage-meta small { display: block; margin-top: .7rem; text-align: left; }.stage-visual { margin-top: .8rem; }.journey-stages p { font-size: .83rem; } }
@media (max-width: 720px) { .manufacturing-journey { padding: 4.7rem 0; }.journey-top { display: block; margin-bottom: 2rem; }.journey-title-group h2 { max-width: 21rem; font-size: clamp(2rem, 8.8vw, 2.35rem); }.journey-brief { margin-top: 1.75rem; padding: 1.25rem 0 0; border-top: 1px solid rgba(196,222,236,.28); border-left: 0; }.journey-brief > p:not(.journey-brief-label) { font-size: .94rem; }.journey-brief ul { font-size: .82rem; }.journey-stages { display: block; }.journey-stages li { display: grid; grid-template-columns: 3rem 1fr; gap: .8rem; padding: 1.1rem 0; border-right: 0; border-bottom: 1px solid rgba(196,222,236,.23); }.journey-stages li:last-child { border-bottom: 0; }.stage-meta { grid-column: 1; grid-row: 1 / span 3; }.stage-meta small { display: none; }.stage-number { width: 2.3rem; height: 2.3rem; }.stage-visual { display: none; }.journey-stages li::before { content: ""; position: absolute; left: 1rem; top: 3.35rem; bottom: -1.1rem; width: 1px; background: rgba(196,222,236,.25); }.journey-stages li:last-child::before { display: none; }.journey-stages li::after { content: ""; position: absolute; left: .82rem; bottom: -.2rem; width: .42rem; height: .42rem; border-right: 1px solid var(--green); border-bottom: 1px solid var(--green); transform: rotate(45deg); }.journey-stages li:last-child::after { display: none; }.journey-stages h3 { grid-column: 2; grid-row: 1; margin: .18rem 0 .25rem; font-size: 1.15rem; }.journey-stages p { grid-column: 2; grid-row: 2; font-size: .89rem; } }
