/* Science & Research — Supply Chain subpage. All rules scoped under .sc */

.sc { position: relative; background: #000f9f; color: #fff; padding: 16vh 5vw 16vh; font-family: Poppins, sans-serif; }
.sc *, .sc *::before, .sc *::after { box-sizing: border-box; }
.sc a { color: #fff; }
.sc a:hover { color: #8ff7dc; }
.sc .sc-icon { font-family: 'Material Symbols Outlined'; font-weight: 400; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; }
.sc .sc-mint { color: #8ff7dc; }

/* Reveal initial states — JS drives final values every frame */
.sc .sc-rv { opacity: 0; }
.sc .sc-clip { clip-path: inset(100% 0 0 0 round 28px); }
.sc .sc-px { position: absolute; left: 0; top: -12%; width: 100%; height: 124%; object-fit: cover; display: block; }

.sc .sc-eyebrow { display: flex; align-items: center; gap: 10px; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #8ff7dc; }
.sc .sc-eyebrow__dot { width: 7px; height: 7px; border-radius: 50%; background: #8ff7dc; }
.sc .sc-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #8ff7dc; }

/* Intro */
.sc .sc-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6vw; align-items: center; }
.sc .sc-intro__text { display: flex; flex-direction: column; gap: 3.2vh; min-width: 0; }
.sc .sc-intro__title { margin: 0; font-size: min(5vw, 8.6vh, 80px); line-height: .98; font-weight: 800; letter-spacing: -.05em; text-wrap: balance; }
.sc .sc-intro__lede { margin: 0; max-width: 600px; font-size: min(1.2vw, 2.5vh, 18px); line-height: 1.72; text-wrap: pretty; }
.sc .sc-intro__img { position: relative; height: min(64vh, 44vw); border-radius: 28px; overflow: hidden; }

/* Capabilities */
.sc .sc-caps { position: relative; margin-top: 12vh; display: flex; flex-direction: column; gap: 5vh; }
.sc .sc-caps__grid { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.sc .sc-caps__line { position: absolute; left: 28px; right: 10%; top: 27px; height: 2px; background: #8ff7dc; transform-origin: left; transform: scaleX(0); }
.sc .sc-cap { position: relative; display: flex; flex-direction: column; gap: 2.4vh; transform-origin: left top; }
.sc .sc-cap__icon { width: 56px; height: 56px; border-radius: 50%; background: #8ff7dc; color: #000f9f; display: flex; align-items: center; justify-content: center; font-size: 26px; box-shadow: 0 0 0 8px rgba(143, 247, 220, .18); }
.sc .sc-cap__t { font-size: min(1.3vw, 2.6vh, 19px); line-height: 1.25; font-weight: 700; padding-right: 12px; }

/* Smart Infrastructure */
.sc .sc-infra { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6vw; align-items: center; margin-top: 16vh; }
.sc .sc-infra__media { position: relative; height: min(74vh, 50vw); }
.sc .sc-infra__img { position: absolute; inset: 0; border-radius: 28px; overflow: hidden; }
.sc .sc-infra__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 15, 159, .85) 0%, rgba(0, 15, 159, 0) 50%); }
.sc .sc-steps { position: absolute; left: 22px; right: 22px; bottom: 22px; display: flex; flex-wrap: wrap; gap: 6px; }
.sc .sc-step { display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; border: 1px solid rgba(255, 255, 255, .3); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 13px; font-weight: 600; white-space: nowrap; transform: none; transition: background .45s ease, color .45s ease, transform .45s cubic-bezier(.2, 0, 0, 1); }
.sc .sc-step.is-active { background: #8ff7dc; color: #000f9f; transform: translateY(-4px); }
.sc .sc-step__n { width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #000f9f; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 10px; }
.sc .sc-infra__text { display: flex; flex-direction: column; gap: 3.2vh; min-width: 0; }
.sc .sc-infra__title { margin: 0; font-size: min(4vw, 7vh, 62px); line-height: 1.02; font-weight: 800; letter-spacing: -.045em; text-wrap: balance; }
.sc .sc-infra__note { max-width: none; padding-left: 20px; border-left: 3px solid #8ff7dc; }
.sc .sc-infra__text .sc-intro__lede { max-width: none; }
