/* Final deep-section layer: loaded after the core system. */
.mega-menu {
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 300px;
    grid-template-columns: 300px minmax(400px, 1fr) 300px;
    grid-template-rows: minmax(310px, 1fr) 62px;
    width: auto;
    min-height: 410px;
    transform: translateY(-14px);
    border-top: 3px solid var(--accent);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .42);
}
.site-header.is-scrolled .mega-menu { top: 86px; }
.mega-menu__intro { justify-content: center; padding: 46px; }
.mega-menu__intro strong { max-width: 220px; font-size: 1.7rem; }
.mega-menu__intro p { max-width: 230px; }
.mega-menu__links { grid-template-columns: 1fr 1fr; padding: 30px 34px; }
.mega-menu__links a { min-height: 92px; padding: 18px 20px; }
.mega-menu__feature { display: flex; flex-direction: column; justify-content: flex-end; }
.mega-menu__feature img { position: absolute; inset: 0 0 118px; height: auto; min-height: 192px; object-fit: cover; }
.mega-menu__feature span, .mega-menu__feature strong { position: relative; z-index: 1; }
.mega-menu__feature span { margin-top: auto; padding-top: 18px; }
.mega-menu__feature strong { margin-bottom: 24px; }
.mega-menu__footer { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; padding: 0 32px 0 46px; color: #9fb1b3; background: #0d171c; border-top: 1px solid rgba(255,255,255,.11); font-family: "IBM Plex Mono", Consolas, monospace; font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.mega-menu__footer a { display: grid; place-items: center; align-self: stretch; min-width: 260px; margin-right: -32px; color: var(--ink); background: var(--accent); font-family: Manrope, Arial, sans-serif; font-size: .72rem; font-weight: 800; text-transform: none; letter-spacing: 0; transition: color .2s ease, background .2s ease; }
.mega-menu__footer a:hover, .mega-menu__footer a:focus-visible { color: #fff; background: var(--teal); }

.services { grid-template-columns: minmax(330px, 31%) 1fr; max-width: none; background: #e9eeec; }
.services__rail { top: 86px; display: flex; flex-direction: column; min-height: calc(100vh - 86px); padding: 90px clamp(44px, 5vw, 82px); overflow: hidden; background: #0d2227; }
.services__rail::after { content: "CAPABILITY / 06"; position: absolute; right: -65px; bottom: 130px; color: rgba(255,255,255,.07); font-family: "IBM Plex Mono", Consolas, monospace; font-size: 1.15rem; letter-spacing: .26em; transform: rotate(-90deg); }
.services__rail h2 { max-width: 360px; font-size: clamp(3rem, 4.5vw, 5.15rem); }
.services__rail > p { max-width: 360px; color: #b9c9ca; }
.services__sequence { display: grid; grid-template-columns: repeat(6, 1fr); gap: 2px; width: 100%; max-width: 360px; margin: 28px 0; }
.services__sequence span { display: grid; place-items: center; height: 38px; color: #789093; border-top: 1px solid #40575a; border-bottom: 1px solid #40575a; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .56rem; transition: color .25s ease, background .25s ease; }
.services__sequence span.is-active { color: #172229; background: var(--accent); border-color: var(--accent); }
.services__rail-note { margin: auto 0 28px; padding: 20px 0; border-top: 1px solid #40575a; border-bottom: 1px solid #40575a; }
.services__rail-note span, .services__rail-note strong { display: block; }
.services__rail-note span { color: #7f999b; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .54rem; text-transform: uppercase; letter-spacing: .12em; }
.services__rail-note strong { margin-top: 7px; color: #fff; font-size: .78rem; }
.services__list { position: relative; padding: 70px 0; }
.service-row { grid-template-columns: 56% 44%; height: 360px; margin: 0 0 22px; border: 0; background: #f7f8f7; box-shadow: 0 18px 44px rgba(17,26,32,.07); }
.service-row:nth-child(even) { grid-template-columns: 44% 56%; background: #f7f8f7; }
.service-row:nth-child(even) img { grid-column: 2; grid-row: 1; }
.service-row:nth-child(even) > div { grid-column: 1; grid-row: 1; }
.service-row img { width: 100%; height: calc(100% + 120px); min-height: 480px; object-fit: cover; filter: saturate(.58) contrast(1.04); transform: translate3d(0, var(--parallax-y, -50px), 0) scale(1.035); transition: filter .5s ease, transform .18s linear; will-change: transform; }
.service-row > div { padding: 54px clamp(38px, 5vw, 74px); clip-path: none; background: #f7f8f7; }
.service-row > div::before { top: 56px; bottom: 56px; left: 34px; width: 2px; }
.service-row:nth-child(even) > div::before { right: 34px; left: auto; }
.service-row span { color: #08756d; font-size: .54rem; }
.service-row h3 { max-width: 420px; margin: 14px 0 18px; font-size: clamp(1.9rem, 3vw, 3.25rem); line-height: 1.04; }
.service-row p { max-width: 440px; color: #4f5d61; font-size: .86rem; line-height: 1.75; }
.service-row small { display: block; margin-top: 22px; color: #778487; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .53rem; text-transform: uppercase; letter-spacing: .08em; }
.service-row.is-current img { filter: saturate(.95) contrast(1.05); }
.service-row.is-current > div { background: #fff; }

.plants { position: relative; grid-template-columns: 280px 1fr; gap: 64px; max-width: none; padding: 105px clamp(36px, 6vw, 100px); color: #fff; background: #111e24; }
.plants::before { content: "MANUFACTURING / PUNE"; position: absolute; top: 30px; right: clamp(36px, 6vw, 100px); color: #5f7477; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .58rem; letter-spacing: .14em; }
.plants__intro { top: 120px; }
.plants__intro .section-kicker { color: #7fa9a4; }
.plants__intro > p { color: #aebfc0; line-height: 1.75; }
.plants__metrics { margin-top: 34px; border-top: 1px solid #3b4d51; }
.plants__metrics > div { display: grid; grid-template-columns: 68px 1fr; align-items: center; padding: 14px 0; border-bottom: 1px solid #3b4d51; }
.plants__metrics strong { color: var(--accent); font-size: 1.25rem; }
.plants__metrics span { color: #b5c3c4; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .53rem; text-transform: uppercase; letter-spacing: .07em; }
.plants__route { grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: 285px 285px; gap: 12px; padding: 12px; border: 1px solid #35474b; background: #0c171c; }
.plant { position: relative; overflow: hidden; background: #fff; box-shadow: none; }
.plant::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.25); pointer-events: none; }
.plant img { height: 100%; filter: saturate(.65) contrast(1.05); }
.plant > div { position: absolute; right: 0; bottom: 0; left: 0; min-height: 94px; padding: 17px 20px; color: #fff; background: rgba(10,23,28,.9); border-top: 2px solid var(--accent); }
.plant span { color: #86b8b2; }
.plant h3 { color: #fff; }
.plant p { margin: 4px 0 0; color: #b7c5c6; font-size: .65rem; }
.plant:hover img, .plant.is-active img { filter: saturate(1) contrast(1.04); transform: scale(1.045); }
.plants__statement { color: #dbe8e6; background: #00665f; border-left: 4px solid var(--accent); }

.technology { position: relative; grid-template-columns: 215px minmax(480px, 1fr) 42%; min-height: 520px; overflow: hidden; background: #e5e9e7; border-top: 6px solid var(--teal); color: var(--ink); }
.technology__label { position: relative; z-index: 2; color: #d8e6e3; background: #122128; border-right: 0; }
.technology__label span { color: #84aaa6; }
.technology__label strong { color: #fff; font-size: 1.65rem; }
.technology__label small { display: block; margin-top: 18px; color: #879a9d; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .54rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .08em; }
.technology__copy { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(48px, 6vw, 95px); background: #f2f4f2; }
.technology__copy .section-kicker { color: #08756d; }
.technology__copy h2 { max-width: 620px; }
.technology__copy p { color: #526064; }
.technology__specs { margin-top: 38px; border-color: #c2ccca; }
.technology__specs div + div { border-color: #c2ccca; }
.technology__specs span { color: #08756d; }
.technology__specs strong { color: #1a252a; }
.technology__media { position: relative; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
.technology__media::after { content: "GEOMET / LICENSED SYSTEM"; position: absolute; right: 24px; bottom: 22px; padding: 12px 16px; color: #fff; background: #122128; border-left: 3px solid var(--accent); font-family: "IBM Plex Mono", Consolas, monospace; font-size: .54rem; letter-spacing: .08em; }
.technology__media img { filter: saturate(.7); }

.environment { min-height: 520px; background: #0e2226; }
.environment__image { clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%); filter: saturate(.68) contrast(1.04); }
.environment__title { color: #fff; }
.environment__title .section-kicker { color: #86afa9; }
.environment__copy > p { color: #b8c8c8; }
.environment__copy > div { border-color: #465b5e; }
.environment__copy span { color: var(--accent); }
.environment__copy strong { color: #fff; }

.clients { grid-template-columns: 330px 1fr; min-height: 220px; color: #fff; background: #0c171c; border-top: 1px solid #34464a; border-bottom: 1px solid #34464a; }
.clients__title { padding: 38px 50px; background: #12252a; border-right-color: #34464a; }
.clients__title .section-kicker { color: #83aaa6; }
.clients__title h2 { margin-bottom: 12px; color: #fff; font-size: 2.25rem; }
.clients__title p { margin: 0; color: #9fb0b2; font-size: .72rem; line-height: 1.65; }
.clients__viewport { position: relative; }
.clients__viewport::before { content: "CLIENT NETWORK / CONTINUOUS TRUST"; position: absolute; top: 22px; left: 30px; z-index: 2; color: #617679; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .52rem; letter-spacing: .1em; }
.clients__logos { padding-top: 32px; }
.clients__logos img { flex-basis: 240px; width: 240px; height: 105px; padding: 25px 38px; background: #f4f6f5; border-right-color: #34464a; filter: grayscale(1) contrast(1.15); mix-blend-mode: normal; }

.site-footer { grid-template-columns: 1.35fr 1fr 1fr 1fr; color: #aebcbe; background: #0a1418; border-top: 0; }
.site-footer__masthead { grid-column: 1 / -1; display: grid; grid-template-columns: 260px 1fr 270px; align-items: center; min-height: 235px !important; padding: 46px clamp(30px, 6vw, 96px) !important; color: #fff; background: #102329; border-right: 0 !important; border-bottom: 1px solid #32464a; }
.site-footer__masthead > span { color: #7fa8a4; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; }
.site-footer__masthead > strong { margin: 0; font-size: clamp(2.2rem, 4vw, 4.5rem); line-height: 1.04; letter-spacing: -.055em; }
.site-footer__masthead > a { display: grid; place-items: center; min-height: 62px; color: #172229; background: var(--accent); font-size: .78rem; font-weight: 800; }
.site-footer__masthead > a:hover { color: #fff; background: var(--teal); }
.site-footer > div:not(.site-footer__bottom, .site-footer__masthead) { min-height: 330px; padding: 48px 38px; border-right: 1px solid #2e4044; }
.site-footer__brand { display: block; }
.site-footer__brand img { width: 220px; max-width: 100%; }
.site-footer__brand > p { max-width: 340px; margin-top: 24px; color: #92a4a6; line-height: 1.75; }
.site-footer__brand > div { display: grid; grid-template-columns: auto 1fr auto 1fr; align-items: baseline; gap: 10px; margin-top: 30px; padding-top: 18px; border-top: 1px solid #304246; }
.site-footer__brand > div span { font-family: "IBM Plex Mono", Consolas, monospace; font-size: .5rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer__brand > div strong { color: #fff; font-size: 1.2rem; }
.site-footer__capabilities, .site-footer__plants, .site-footer__contact { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer__capabilities strong, .site-footer__plants strong, .site-footer__contact strong { margin-bottom: 22px; color: #fff; }
.site-footer__capabilities a, .site-footer__plants span, .site-footer__contact a { padding: 6px 0; color: #aebcbe; font-size: .72rem; }
.site-footer__bottom { display: flex; justify-content: space-between; padding: 18px clamp(25px, 5vw, 72px); }

@media (max-width: 1180px) {
    .mega-menu { left: 250px; grid-template-columns: 250px minmax(340px, 1fr) 250px; }
    .services { grid-template-columns: 310px 1fr; }
    .services__rail { padding-inline: 42px; }
    .service-row { grid-template-columns: 52% 48%; }
    .service-row:nth-child(even) { grid-template-columns: 48% 52%; }
    .plants { grid-template-columns: 235px 1fr; gap: 36px; }
    .technology { grid-template-columns: 180px 1fr 34%; }
    .clients { grid-template-columns: 280px 1fr; }
    .site-footer__masthead { grid-template-columns: 210px 1fr 230px; }
}

@media (max-width: 900px) {
    .mega-menu, .site-header.is-scrolled .mega-menu { position: static; display: none; width: 100%; min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto; transform: none; border-top: 2px solid var(--accent); }
    .nav-services.is-open .mega-menu { display: block; }
    .mega-menu__footer { display: none; }
    .services { grid-template-columns: 1fr; }
    .services__rail { position: relative; top: auto; min-height: 0; }
    .services__rail::after { display: none; }
    .services__rail-note { margin-top: 20px; }
    .services__list { padding: 0; }
    .service-row, .service-row:nth-child(even) { grid-template-columns: 1fr 1fr; height: 310px; margin-bottom: 2px; }
    .service-row:nth-child(even) img { grid-column: 1; }
    .service-row:nth-child(even) > div { grid-column: 2; }
    .service-row img { height: calc(100% + 80px); min-height: 390px; }
    .service-row > div { min-height: 0; padding: 40px; }
    .service-row > div::before, .service-row:nth-child(even) > div::before { top: 42px; right: auto; bottom: 42px; left: 20px; }
    .plants { grid-template-columns: 1fr; }
    .plants__intro { position: static; }
    .plants__route { grid-template-rows: 250px 250px; }
    .technology { grid-template-columns: 170px 1fr; }
    .technology__media { grid-column: 1 / -1; height: 320px; clip-path: none; }
    .environment { grid-template-columns: 42% 58%; }
    .clients { grid-template-columns: 230px 1fr; }
    .site-footer { grid-template-columns: 1fr 1fr; }
    .site-footer__masthead { grid-template-columns: 1fr 1fr; }
    .site-footer__masthead > span { grid-column: 1 / -1; }
    .site-footer__masthead > a { margin-left: 30px; }
}

@media (max-width: 600px) {
    .services__sequence { max-width: none; }
    .service-row, .service-row:nth-child(even) { grid-template-columns: 1fr; height: auto; }
    .service-row:nth-child(even) img, .service-row:nth-child(even) > div { grid-column: 1; grid-row: auto; }
    .service-row img { height: 230px; min-height: 0; transform: none; }
    .service-row > div { min-height: 250px; padding: 42px 28px 42px 48px; }
    .service-row h3 { font-size: 2rem; }
    .plants { padding: 78px 20px; }
    .plants__route { display: grid; grid-template-columns: 1fr; grid-template-rows: none; padding: 8px; }
    .plant:nth-child(1), .plant:nth-child(4) { grid-row: auto; grid-column: auto; }
    .plant { height: 320px; }
    .plant img { height: 100%; }
    .technology { display: block; }
    .technology__copy { padding: 56px 22px; }
    .environment { display: block; }
    .clients { grid-template-columns: 1fr; }
    .clients__title { padding: 35px 24px; }
    .clients__logos img { flex-basis: 200px; width: 200px; }
    .site-footer { grid-template-columns: 1fr; }
    .site-footer__masthead { display: block; min-height: 0 !important; padding: 55px 24px !important; }
    .site-footer__masthead > strong { display: block; margin: 18px 0 30px; font-size: 2.45rem; }
    .site-footer__masthead > a { min-height: 56px; margin: 0; }
    .site-footer > div:not(.site-footer__bottom, .site-footer__masthead) { min-height: 0; padding: 38px 24px; border-right: 0; border-bottom: 1px solid #2e4044; }
    .site-footer__bottom { display: block; line-height: 1.8; }
}

/* 2026 interaction, readability and dossier refinement pass. */
body { color: #17262b; font-family: Manrope, Arial, sans-serif; font-size: 16px; line-height: 1.7; }
p { font-size: clamp(.95rem, 1vw, 1.05rem); line-height: 1.75; }
.section-kicker, .eyebrow { font-size: .72rem; line-height: 1.5; }

.nav-plants { position: relative; }
.nav-plants__button { display: grid; place-items: center; min-width: 86px; height: 100%; padding: 0 13px; color: #fff; background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: .78rem; font-weight: 700; cursor: pointer; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.nav-plants__button:hover, .nav-plants__button:focus-visible, .nav-plants__button.is-active, .nav-plants.is-open .nav-plants__button { color: var(--accent); background: rgba(255,255,255,.045); border-color: var(--accent); }
.nav-plants:hover .plant-mega, .nav-plants:focus-within .plant-mega, .nav-plants.is-open .plant-mega { visibility: visible; opacity: 1; transform: translateY(0); }
.plant-mega { grid-template-columns: 320px minmax(480px, 1fr) 340px; }
.plant-mega__intro strong { max-width: 250px; }
.plant-mega__links a { display: flex; flex-direction: column; justify-content: center; gap: 5px; color: #fff; font-size: .86rem; font-weight: 700; }
.plant-mega__links a > span { color: var(--accent); font-family: "IBM Plex Mono", Consolas, monospace; font-size: .59rem; letter-spacing: .06em; }
.plant-mega__links a > small { color: #91a4a6; font-size: .68rem; font-weight: 500; }
.plant-mega__feature img { filter: saturate(.8) contrast(1.05); }

.services { background: #dfe5e3; }
.services__list { padding: 54px 0; background: #e9eeec; }
.service-row, .service-row:nth-child(even) { grid-template-columns: minmax(0, 54%) minmax(360px, 46%); height: 430px; margin-bottom: 28px; background: #f8f9f7; box-shadow: 0 24px 58px rgba(13,34,39,.09); }
.service-row:nth-child(even) { grid-template-columns: minmax(360px, 46%) minmax(0, 54%); }
.service-row__media { display: grid; grid-template-rows: minmax(0, 1fr); min-width: 0; height: calc(100% + 28px); margin: -14px 0; overflow: hidden; background: #dbe2df; border-bottom: 3px solid var(--accent); transform: translate3d(0, var(--media-shift, 0), 0); transition: transform .22s linear; will-change: transform; }
.service-row:nth-child(even) .service-row__media { grid-column: 2; grid-row: 1; }
.service-row:nth-child(even) > div { grid-column: 1; grid-row: 1; }
.service-row__media img, .service-row:nth-child(even) .service-row__media img { grid-column: auto; grid-row: auto; width: 100%; height: 100%; min-height: 0; padding: 28px 34px; object-fit: contain; object-position: center; background: #edf1ef; filter: saturate(.76) contrast(1.03); transform: none; transition: filter .4s ease, scale .5s ease; }
.service-row.is-current .service-row__media img, .service-row:hover .service-row__media img { filter: saturate(1) contrast(1.04); scale: 1.015; }
.service-row > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 50px clamp(44px, 5vw, 78px); }
.service-row > div::before { top: 52px; bottom: 52px; }
.service-row h3 { margin: 13px 0 17px; font-size: clamp(2rem, 3.15vw, 3.45rem); }
.service-row p { margin-bottom: 20px; color: #405256; font-size: .94rem; line-height: 1.7; }
.service-row__data { display: grid !important; grid-template-columns: auto 1fr; gap: 5px 14px; margin-top: 4px; padding: 14px 0; border-top: 1px solid #cbd5d2; border-bottom: 1px solid #cbd5d2; }
.service-row__data span { color: #6a7c7f; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .57rem; text-transform: uppercase; letter-spacing: .07em; }
.service-row__data strong { color: #18282d; font-size: .71rem; font-weight: 700; }
.service-row small { margin-top: 15px; color: #617276; font-size: .58rem; }

.technology { grid-template-columns: 250px minmax(500px, 1fr) minmax(390px, 42%); grid-template-rows: minmax(560px, auto) 94px; min-height: 654px; background: #dce3e0; border-top: 0; }
.technology__label { grid-column: 1; grid-row: 1; justify-content: flex-start; padding: 66px 38px 48px; background: #0b1b21; border-right: 1px solid #31464a; }
.technology__label::after { width: 64px; margin-top: 28px; }
.technology__label > span { color: #83afa9; font-size: .65rem; }
.technology__label > strong { margin-top: 20px; color: #fff; font-size: 3rem; letter-spacing: -.04em; }
.technology__label sup { color: var(--accent); font-size: .9rem; vertical-align: top; }
.technology__label > small { color: #9db0b2; font-size: .61rem; }
.technology__license { margin-top: auto; padding-top: 24px; border-top: 1px solid #354a4e; }
.technology__license span, .technology__license b, .technology__license small { display: block; }
.technology__license span { color: #6f8c8e; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.technology__license b { margin: 7px 0 4px; color: #fff; font-size: 1.12rem; }
.technology__license small { color: #9eb0b2; font-size: .65rem; }
.technology__copy { grid-column: 2; grid-row: 1; justify-content: center; padding: 72px clamp(48px, 6vw, 92px); background: #f4f6f3; }
.technology__copy h2 { max-width: 680px; margin: 16px 0 28px; font-size: clamp(2.65rem, 4.3vw, 4.8rem); line-height: 1.02; }
.technology__copy p { max-width: 680px; color: #45585c; font-size: 1rem; line-height: 1.8; }
.technology__specs { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; border-top: 1px solid #bbc8c5; border-bottom: 1px solid #bbc8c5; }
.technology__specs div { min-height: 105px; padding: 20px 18px 18px 0; }
.technology__specs div + div { padding-left: 20px; border-left: 1px solid #bbc8c5; }
.technology__specs span { font-size: .58rem; }
.technology__specs strong { margin-top: 7px; font-size: .78rem; line-height: 1.5; }
.technology__media { grid-column: 3; grid-row: 1; display: grid; grid-template-rows: minmax(0, 1fr) 64px; padding: 28px 28px 0; clip-path: none; background: #dce3e0; }
.technology__media::after { display: none; }
.technology__image-stage { display: grid; place-items: center; min-height: 0; overflow: hidden; background: #f7f8f6; border: 1px solid #b8c5c2; }
.technology__image-stage img { width: 100%; height: 100%; padding: 28px; object-fit: contain; filter: saturate(.82) contrast(1.04); }
.technology__media-data { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; color: #d9e6e4; background: #123039; }
.technology__media-data span { padding: 0 12px; color: #d9e6e4; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .55rem; text-align: center; text-transform: uppercase; letter-spacing: .05em; }
.technology__media-data span + span { border-left: 1px solid #486066; }
.technology__assurance { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: 250px 1fr 300px; align-items: center; padding: 0 34px 0 38px; color: #fff; background: #00645d; border-top: 4px solid var(--accent); }
.technology__assurance span { color: #b8d4d0; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .59rem; text-transform: uppercase; letter-spacing: .08em; }
.technology__assurance strong { padding: 0 42px; font-size: .92rem; }
.technology__assurance a { display: grid; place-items: center; min-height: 52px; color: #172229; background: var(--accent); font-size: .72rem; font-weight: 800; }

.environment__copy > p { color: #c8d5d5; font-size: .98rem; }
.clients__title p { color: #becacb; font-size: .79rem; }
.clients__logos img { height: 112px; }

.site-footer { grid-template-columns: 1.25fr 1fr 1fr 1fr; }
.site-footer__masthead { min-height: 260px !important; border-top: 4px solid var(--teal); }
.site-footer__masthead > span { color: #9cc2bd; font-size: .66rem; }
.site-footer__masthead > strong { max-width: 820px; font-size: clamp(2.6rem, 4.4vw, 4.9rem); }
.site-footer__proof { grid-column: 1 / -1; display: grid !important; grid-template-columns: repeat(4, 1fr); min-height: 118px !important; padding: 0 !important; background: #0d1d22; border-right: 0 !important; border-bottom: 1px solid #32464a; }
.site-footer__proof > div { display: flex; flex-direction: column; justify-content: center; padding: 24px clamp(24px, 4vw, 58px); }
.site-footer__proof > div + div { border-left: 1px solid #32464a; }
.site-footer__proof span { color: #769397; font-family: "IBM Plex Mono", Consolas, monospace; font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer__proof strong { margin: 7px 0 0; color: #fff; font-family: Manrope, Arial, sans-serif; font-size: .9rem; text-transform: none; }
.site-footer > div:not(.site-footer__bottom, .site-footer__masthead, .site-footer__proof) { min-height: 350px; padding: 52px 42px; }
.site-footer__capabilities strong, .site-footer__plants strong, .site-footer__contact strong { padding-bottom: 13px; border-bottom: 2px solid var(--accent); font-family: Manrope, Arial, sans-serif; font-size: 1.02rem; text-transform: none; }
.site-footer__capabilities a, .site-footer__plants span, .site-footer__contact a, .site-footer__contact p { color: #bdc9ca; font-size: .78rem; line-height: 1.65; }
.site-footer__capabilities a { width: 100%; border-bottom: 1px solid rgba(255,255,255,.06); }
.site-footer__capabilities a:hover, .site-footer__contact a:hover { padding-left: 8px; color: var(--accent); }
.site-footer__bottom { color: #9babad; font-size: .75rem; }
.developer-credit { padding: 15px 24px; color: #162126; background: var(--accent); font-size: .78rem; font-weight: 650; text-align: center; }
.developer-credit a { color: #102329; font-weight: 850; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.developer-credit a:hover, .developer-credit a:focus-visible { color: #fff; }

@media (max-width: 1180px) {
    .nav-plants__button { min-width: auto; padding-inline: 9px; font-size: .74rem; }
    .plant-mega { left: 250px; grid-template-columns: 250px minmax(400px, 1fr) 270px; }
    .service-row, .service-row:nth-child(even) { grid-template-columns: 50% 50%; }
    .service-row > div { padding-inline: 44px; }
    .technology { grid-template-columns: 210px minmax(430px, 1fr) 34%; }
    .technology__copy { padding-inline: 48px; }
    .technology__assurance { grid-template-columns: 210px 1fr 260px; }
}

@media (max-width: 900px) {
    .nav-plants__button { display: block; width: 100%; height: auto; padding: 14px 4px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.15); }
    .nav-plants:hover .plant-mega:not(:focus-within) { display: none; }
    .nav-plants.is-open .plant-mega { display: block; }
    .plant-mega { position: static; display: none; width: 100%; min-height: 0; transform: none; }
    .plant-mega__links { display: grid; grid-template-columns: 1fr 1fr; padding: 18px; }
    .plant-mega__feature { min-height: 235px; }
    .service-row, .service-row:nth-child(even) { grid-template-columns: 1fr 1fr; height: 380px; }
    .service-row__media { height: 100%; margin: 0; transform: none; }
    .service-row > div { padding: 40px; }
    .service-row__data { display: none !important; }
    .technology { grid-template-columns: 210px 1fr; grid-template-rows: auto 360px 90px; }
    .technology__label { grid-column: 1; grid-row: 1; }
    .technology__copy { grid-column: 2; grid-row: 1; }
    .technology__media { grid-column: 1 / -1; grid-row: 2; height: auto; }
    .technology__assurance { grid-column: 1 / -1; grid-row: 3; grid-template-columns: 210px 1fr; }
    .technology__assurance a { display: none; }
    .site-footer__proof { grid-template-columns: 1fr 1fr; }
    .site-footer__proof > div:nth-child(3) { border-left: 0; border-top: 1px solid #32464a; }
    .site-footer__proof > div:nth-child(4) { border-top: 1px solid #32464a; }
}

@media (max-width: 600px) {
    p { font-size: .96rem; }
    .plant-mega__links { grid-template-columns: 1fr; }
    .plant-mega__links a { min-height: 88px; }
    .plant-mega__feature { display: grid; grid-template-rows: 180px auto auto; min-height: 260px; background: #f7f8f6; }
    .plant-mega__feature img { position: static; width: 100%; height: 180px; min-height: 0; object-fit: cover; }
    .plant-mega__feature span { margin: 0; padding: 18px 22px 0; color: #08756d; }
    .plant-mega__feature strong { margin: 0; padding: 5px 22px 20px; color: #17262b; }
    .service-row, .service-row:nth-child(even) { display: grid; grid-template-columns: 1fr; height: auto; }
    .service-row__media, .service-row:nth-child(even) .service-row__media { grid-column: 1; grid-row: auto; height: 330px; }
    .service-row > div, .service-row:nth-child(even) > div { grid-column: 1; grid-row: auto; min-height: 310px; padding: 48px 30px 48px 48px; }
    .service-row__media img, .service-row:nth-child(even) .service-row__media img { padding: 20px; }
    .technology { display: block; min-height: 0; }
    .technology__label { min-height: 340px; padding: 48px 28px; }
    .technology__copy { padding: 58px 24px; }
    .technology__copy h2 { font-size: 2.2rem; }
    .technology__specs { grid-template-columns: 1fr; }
    .technology__specs div + div { padding-left: 0; border-top: 1px solid #bbc8c5; border-left: 0; }
    .technology__specs div { min-height: 80px; }
    .technology__media { height: 390px; padding: 18px 18px 0; }
    .technology__assurance { display: block; padding: 32px 24px; }
    .technology__assurance strong { display: block; margin-top: 12px; padding: 0; }
    .site-footer__proof { grid-template-columns: 1fr; }
    .site-footer__proof > div + div { border-top: 1px solid #32464a; border-left: 0; }
    .site-footer > div:not(.site-footer__bottom, .site-footer__masthead, .site-footer__proof) { min-height: 0; padding: 42px 24px; }
    .site-footer { grid-template-columns: 1fr; }
    .site-footer__masthead, .site-footer__proof, .site-footer__brand, .site-footer__capabilities, .site-footer__plants, .site-footer__contact, .site-footer__bottom { grid-column: 1; }
    .site-footer__bottom { display: block; padding: 20px 24px; line-height: 1.7; text-align: left; }
    .developer-credit { padding: 16px 20px; font-size: .74rem; line-height: 1.6; }
}
