/*
Theme Name: EnergyUpside
Theme URI: https://energyupside.com/
Author: EnergyUpside
Description: A premium, performance-focused WordPress theme for EnergyUpside.
Version: 1.7.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: energyupside
*/

:root {
	--navy: #07131f;
	--navy-2: #0c2031;
	--blue: #17354d;
	--ivory: #f4f0e8;
	--paper: #faf8f2;
	--green: #a8d34f;
	--green-dark: #668d22;
	--amber: #c78c42;
	--ink: #0a1b2e;
	--muted: #6b747c;
	--line: rgba(13, 36, 53, .16);
	--serif: "Cormorant Garamond", Georgia, serif;
	--sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--pad: clamp(1.35rem, 4.75vw, 5rem);
	--section: clamp(5.5rem, 9vw, 9rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--navy); font-family: var(--sans); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 1000; padding: .8rem 1rem; color: var(--navy); background: var(--green); transform: translateY(-200%); }
.skip-link:focus { transform: none; }

[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .85s ease, transform .85s cubic-bezier(.2,.75,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	[data-reveal] { opacity: 1; transform: none; transition: none; }
}

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: 6rem; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--pad); color: var(--ivory); border-bottom: 1px solid rgba(255,255,255,.08); transition: height .3s, background .3s, backdrop-filter .3s; }
.site-header.is-scrolled { height: 4.8rem; background: rgba(7,19,31,.91); backdrop-filter: blur(18px); }
.brand, .footer-brand { text-decoration: none; font-weight: 600; letter-spacing: .17em; font-size: clamp(1rem, 1.45vw, 1.4rem); white-space: nowrap; }
.brand a { color: inherit; text-decoration: none; }
.brand a > span, .footer-brand span { color: var(--green); }
.custom-logo { width: 220px; max-height: 50px; object-fit: contain; }
.brand-default { display: block; width: 220px; height: auto; max-height: 52px; object-fit: contain; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.6rem, 3vw, 3.4rem); }
.nav-list { display: flex; align-items: center; gap: clamp(1.3rem, 2.6vw, 2.8rem); list-style: none; margin: 0; padding: 0; }
.nav-list a, .footer-top nav a { font-size: .83rem; text-decoration: none; letter-spacing: .025em; color: rgba(255,255,255,.78); transition: color .2s; }
.nav-list a:hover, .footer-top nav a:hover { color: var(--green); }
.header-cta { padding: .8rem 1.25rem; border: 1px solid var(--green); text-decoration: none; text-transform: uppercase; letter-spacing: .15em; font-size: .68rem; font-weight: 600; }
.menu-toggle { display: none; width: 2.5rem; height: 2.5rem; padding: .5rem; border: 0; background: transparent; }
.menu-toggle span:not(.screen-reader-text) { display: block; height: 1px; margin: 5px 0; background: var(--ivory); }

.section { position: relative; padding: var(--section) var(--pad); overflow: hidden; }
.section-kicker, .eyebrow { display: flex; align-items: center; gap: .8rem; color: var(--green-dark); font-size: .72rem; font-weight: 600; letter-spacing: .23em; text-transform: uppercase; }
.section-kicker span, .eyebrow span { display: inline-block; width: 3rem; height: 1px; background: currentColor; }
.section-head { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 2fr) minmax(17rem, .75fr); gap: clamp(2rem, 8vw, 9rem); align-items: start; margin-bottom: clamp(3rem, 5vw, 5.5rem); }
.section-head h2, .platform-intro h2, .science-intro h2, .trucking-copy h2, .esg-copy h2, .assessment-story h2 { margin: 1.1rem 0 0; font-family: var(--serif); font-weight: 400; font-size: clamp(3rem, 5.5vw, 6rem); line-height: .9; letter-spacing: -.04em; }
.section-head > p { margin-top: 3.4rem; font-size: clamp(1rem, 1.2vw, 1.22rem); line-height: 1.65; }
.section-head-light { color: var(--ink); }
.section-head-dark { color: var(--ivory); }
.section-closing { display: flex; align-items: center; gap: .7rem; margin: 2rem 0 0; letter-spacing: .09em; font-size: .84rem; }
.section-closing i, .proof-note i { width: .55rem; height: .55rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px var(--green); }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2.2rem; min-width: 15rem; padding: 1rem 1.3rem; border: 1px solid transparent; text-decoration: none; text-transform: uppercase; letter-spacing: .15em; font-size: .73rem; font-weight: 700; transition: transform .25s, background .25s, color .25s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--navy); background: var(--green); }
.button-outline { color: var(--green); border-color: rgba(168,211,79,.65); background: rgba(7,19,31,.35); }
.disclaimer { margin: 1.7rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }

/* Hero */
.hero { min-height: 100svh; position: relative; display: grid; grid-template-columns: minmax(22rem, .8fr) minmax(34rem, 1.15fr); align-items: end; gap: 4vw; padding: clamp(8rem, 14vh, 10rem) var(--pad) clamp(3.5rem, 7vh, 5.5rem); color: var(--ivory); isolation: isolate; background: var(--navy); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: var(--hero-image) center / cover no-repeat; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,12,20,.97) 0%, rgba(3,12,20,.84) 31%, rgba(3,12,20,.26) 67%, rgba(3,12,20,.48) 100%), linear-gradient(0deg, rgba(3,12,20,.9) 0%, transparent 53%); }
.hero-grid { position: absolute; inset: 0; z-index: -1; opacity: .18; background-image: linear-gradient(rgba(168,211,79,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(168,211,79,.11) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, transparent 28%, #000 100%); }
.hero-copy { align-self: center; max-width: 46rem; }
.eyebrow { color: var(--green); }
.hero h1 { margin: 1.4rem 0 1.6rem; font-family: var(--serif); font-weight: 400; font-size: clamp(4rem, 6.7vw, 7.4rem); line-height: .82; letter-spacing: -.055em; }
.hero h1 em { color: var(--green); font-style: normal; }
.hero-intro { max-width: 37rem; color: rgba(255,255,255,.8); font-size: clamp(1rem, 1.2vw, 1.18rem); line-height: 1.65; }
.hero-copy .button { margin-top: 1rem; }
.hero-actions { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.hero-link { margin-top: 1rem; color: var(--ivory); text-underline-offset: .4rem; text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; }
.hero-proof { align-self: end; padding: clamp(1.2rem, 2vw, 2rem); background: linear-gradient(120deg, rgba(7,19,31,.83), rgba(7,19,31,.55)); border: 1px solid rgba(168,211,79,.42); backdrop-filter: blur(14px); }
.hero-primary-stat { padding-bottom: 1.25rem; border-bottom: 1px solid rgba(168,211,79,.45); }
.stat-number { display: block; color: var(--green); font-family: var(--serif); font-size: clamp(5.5rem, 9vw, 10rem); font-weight: 400; line-height: .7; letter-spacing: -.06em; }
.stat-label { display: block; max-width: 36rem; margin-top: 1.25rem; text-transform: uppercase; letter-spacing: .11em; font-size: .75rem; font-weight: 600; }
.hero-secondary-stats { display: grid; grid-template-columns: repeat(3, 1fr); }
.hero-secondary-stats div { padding: 1.3rem 1rem .9rem; border-right: 1px solid rgba(255,255,255,.22); }
.hero-secondary-stats div:first-child { padding-left: 0; }
.hero-secondary-stats div:last-child { border-right: 0; }
.hero-secondary-stats strong { display: block; font-family: var(--serif); font-size: clamp(2.5rem, 3.4vw, 4.2rem); font-weight: 400; line-height: 1; }
.hero-secondary-stats span { display: block; margin-top: .6rem; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .09em; font-size: .57rem; line-height: 1.45; }
.proof-note { display: flex; align-items: center; gap: .6rem; margin: .9rem 0 0; color: rgba(255,255,255,.62); font-size: .7rem; }
.proof-note strong { color: var(--green); font-size: 1rem; }

/* Problem */
.problems, .results, .financial, .esg { color: var(--ink); background-color: var(--ivory); background-image: linear-gradient(rgba(10,27,46,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(10,27,46,.035) 1px, transparent 1px); background-size: 80px 80px; }
.problem-grid { display: grid; grid-template-columns: .95fr 1fr 1.02fr; gap: 1.2rem; align-items: start; }
.problem-panel { min-height: 39rem; position: relative; display: flex; flex-direction: column; padding: 2.3rem; color: var(--ivory); isolation: isolate; overflow: hidden; }
.problem-panel:nth-child(2) { margin-top: -2rem; min-height: 42rem; }
.problem-panel::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--panel-image) center / cover no-repeat; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.problem-panel:hover::before { transform: scale(1.035); }
.problem-panel::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,15,25,.2), rgba(5,15,25,.88)); }
.panel-number { font-family: var(--serif); font-size: clamp(3.8rem, 5vw, 6rem); line-height: .8; }
.panel-stat-label { max-width: 13rem; margin: .7rem 0 1.4rem; color: rgba(255,255,255,.74); text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; }
.panel-kicker { margin: .45rem 0 1.35rem; color: var(--green); text-transform: uppercase; font-size: .68rem; letter-spacing: .16em; font-weight: 700; }
.problem-panel h3 { max-width: 18rem; margin: 0 0 1.1rem; font-family: var(--serif); font-size: clamp(2.2rem, 3.1vw, 3.4rem); font-weight: 400; line-height: .95; }
.problem-panel > p:not(.panel-kicker) { max-width: 20rem; color: rgba(255,255,255,.78); }
.problem-panel ul { margin: 0; padding: 0; list-style: none; color: rgba(255,255,255,.82); font-size: .82rem; }
.problem-panel li { padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.18); }
.problem-panel li::before { content: "+"; margin-right: .6rem; color: var(--green); }
.panel-signal { margin-top: auto; display: flex; align-items: center; gap: .65rem; text-transform: uppercase; letter-spacing: .13em; font-size: .62rem; }
.panel-signal::before { content: ""; width: .7rem; height: .7rem; border: 2px solid var(--green); border-radius: 50%; box-shadow: 0 0 0 .28rem rgba(168,211,79,.18); }

/* Platform */
.platform { min-height: 62rem; color: var(--ivory); background: radial-gradient(circle at 65% 45%, #132c42 0%, var(--navy) 54%); }
.platform::after { content: "SYSTEM VIEW — CONNECTED"; position: absolute; top: 4.2rem; right: var(--pad); color: var(--green); letter-spacing: .18em; font-size: .66rem; }
.platform-intro { position: relative; z-index: 3; max-width: 37rem; }
.platform-intro h2 { font-size: clamp(3.6rem, 5.8vw, 6.7rem); }
.platform-intro > p:last-child { max-width: 31rem; color: rgba(255,255,255,.73); font-size: 1.04rem; }
.platform-visual { position: absolute; inset: 5.5rem 16% 2rem 28%; background: var(--platform-image) center / contain no-repeat; opacity: .7; filter: saturate(.9) contrast(1.08); }
.platform-visual::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle, transparent 35%, var(--navy) 79%); }
.platform-modules { position: relative; z-index: 4; min-height: 37rem; }
.platform-module { position: absolute; width: min(20rem, 25vw); padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.45); }
.platform-module::after { content: ""; position: absolute; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.platform-module b { display: block; font-family: var(--serif); font-size: 3.7rem; font-weight: 400; line-height: 1; }
.platform-module h3 { color: var(--green); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }
.platform-module p { color: rgba(255,255,255,.74); font-size: .88rem; }
.module-1 { left: 6%; bottom: 6%; }.module-1::after { right: 0; }
.module-2 { right: 1%; top: 0; }.module-2::after { left: 0; }
.module-3 { right: 1%; top: 38%; }.module-3::after { left: 0; }
.module-4 { right: 1%; bottom: 2%; }.module-4::after { left: 0; }
.platform-closing { position: absolute; left: var(--pad); bottom: 3.2rem; font-family: var(--serif); font-size: 2rem; }
.platform-closing span { color: var(--green); }

/* Results */
.results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(102,141,34,.6); border-left: 1px solid rgba(102,141,34,.25); }
.result { min-height: 22rem; display: grid; grid-template-rows: 1rem auto auto 1fr; row-gap: .75rem; align-content: start; padding: 1.5rem 2rem 2rem; border-right: 1px solid rgba(102,141,34,.25); border-bottom: 1px solid rgba(102,141,34,.25); }
.result-index { display: block; color: var(--green-dark); font-size: .68rem; }
.result > strong { display: block; margin: 0; padding: .2rem 0 .55rem; font-family: var(--serif); font-size: clamp(4.8rem, 6.2vw, 7rem); font-weight: 400; line-height: 1; letter-spacing: -.06em; }
.result h3 { min-height: 2.2rem; margin: 0; color: var(--green-dark); text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; line-height: 1.35; }
.result p { max-width: 19rem; margin: 0; color: #37434d; font-size: .82rem; }
.additional-results { display: flex; align-items: center; gap: clamp(1rem, 3vw, 3rem); margin-top: 1.8rem; padding: 1rem 1.2rem; border: 1px solid rgba(102,141,34,.5); text-transform: uppercase; letter-spacing: .09em; font-size: .67rem; }
.additional-results b { color: var(--green-dark); font-size: 1rem; }
.results-note { margin: 1.8rem 0 0; padding: 1rem 1.2rem; border: 1px solid rgba(102,141,34,.5); color: #48515a; font-size: .76rem; }

/* Science */
.science { display: grid; grid-template-columns: .95fr 1.05fr; align-content: start; gap: 0; color: var(--ivory); background: var(--navy); }
.science::before { content: ""; position: absolute; inset: 0 50% 0 0; background: var(--lab-image) center top / cover no-repeat; opacity: .38; }
.science::after { content: ""; position: absolute; inset: 0 50% 0 0; background: linear-gradient(90deg, rgba(7,19,31,.45), rgba(7,19,31,.78)), linear-gradient(0deg, var(--navy), transparent 38%); }
.science-intro, .science-evidence { position: relative; z-index: 2; }
.science-intro { max-width: 35rem; padding-right: 4rem; }
.science-intro h2 { font-size: clamp(3.2rem, 4.3vw, 5rem); line-height: .96; }
.science-intro > p:last-child { color: rgba(255,255,255,.74); }
.science-evidence { padding-left: clamp(2rem, 4vw, 5rem); border-left: 1px solid rgba(255,255,255,.15); }
.up-to { margin: 0; color: var(--green); text-transform: uppercase; letter-spacing: .22em; font-size: .7rem; }
.science-primary { display: block; font-family: var(--serif); font-size: clamp(6rem, 10.8vw, 12rem); font-weight: 400; line-height: .75; letter-spacing: -.06em; }
.science-evidence > h3 { margin: 1.1rem 0 .2rem; color: var(--green); text-transform: uppercase; letter-spacing: .15em; font-size: .8rem; }
.science-evidence > p { color: rgba(255,255,255,.75); }
.fda-note { margin-top: 1.2rem; padding: 1rem; border: 1px solid rgba(168,211,79,.35); font-size: .72rem; }
.science-detail { position: relative; z-index: 2; grid-column: 1/-1; margin-top: 5rem; padding-top: 3rem; border-top: 1px solid rgba(168,211,79,.45); }
.epa-research { max-width: 56rem; }
.epa-research h3 { color: var(--green); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.epa-research p { color: rgba(255,255,255,.72); }
.surface-message { max-width: 60rem; margin: 3rem auto; text-align: center; }
.surface-message p { margin-bottom: .45rem; color: rgba(255,255,255,.75); font-family: var(--serif); font-size: 1.7rem; }
.surface-message strong { display: block; margin-top: 1.3rem; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 400; line-height: 1.1; }
.science-rows { margin-top: 1.4rem; }
.science-detail .science-rows { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.science-rows > div { display: block; padding: 1.2rem; border-right: 1px solid rgba(255,255,255,.18); }
.science-rows b { display: block; font-family: var(--serif); font-size: clamp(2.3rem, 3.2vw, 3.8rem); font-weight: 400; line-height: 1; }
.science-rows span { color: rgba(255,255,255,.7); font-size: .79rem; }
.science-rows span strong { display: block; margin-bottom: .2rem; color: var(--green); text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; }
.validation-strip { position: relative; z-index: 3; grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 3rem; border-top: 1px solid rgba(168,211,79,.5); border-bottom: 1px solid rgba(255,255,255,.12); }
.validation-strip span { padding: 1.4rem 1.2rem; border-right: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.65); font-size: .7rem; }
.validation-strip strong { display: block; margin-bottom: .6rem; color: var(--green); text-transform: uppercase; letter-spacing: .1em; font-size: .64rem; }
.science-note { position: relative; z-index: 3; grid-column: 1/-1; margin: 1.5rem 0 0; color: rgba(255,255,255,.5); font-size: .66rem; }

/* Financial */
.equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1.1fr; align-items: end; gap: clamp(1rem, 2.5vw, 3rem); padding: 1.5rem 0 3rem; border-top: 1px solid rgba(102,141,34,.5); border-bottom: 1px solid rgba(102,141,34,.5); }
.equation div > span, .return-timeline div > span { display: block; color: var(--green-dark); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 600; }
.equation strong { display: block; font-family: var(--serif); font-size: clamp(3.5rem, 5.7vw, 7rem); font-weight: 400; line-height: .85; letter-spacing: -.05em; }
.equation div > span small { display: block; max-width: 18rem; margin-top: .4rem; color: var(--muted); text-transform: none; letter-spacing: 0; font-size: .62rem; font-weight: 400; }
.equation i { padding-bottom: .4rem; font-family: var(--serif); font-size: 4.8rem; font-style: normal; font-weight: 300; }
.equation-result strong { color: var(--green-dark); }
.return-timeline { position: relative; display: grid; grid-template-columns: repeat(4,1fr) .8fr; gap: 1.5rem; padding: 3.2rem 0 2rem; }
.return-timeline::after { content: ""; position: absolute; left: 0; right: 18%; top: 7.8rem; height: 1px; background: var(--green-dark); }
.return-timeline > div { position: relative; z-index: 1; }
.return-timeline > div:not(.return-highlight)::after { content: ""; display: block; width: .72rem; height: .72rem; margin-top: 1.5rem; border-radius: 50%; background: var(--green-dark); }
.return-timeline strong { display: block; margin-top: .7rem; font-family: var(--serif); font-size: clamp(2.2rem, 3.4vw, 4rem); font-weight: 400; line-height: 1; }
.return-timeline small { font-family: var(--sans); text-transform: uppercase; letter-spacing: .11em; font-size: .65rem; }
.return-highlight { padding-left: 2rem; border-left: 1px solid rgba(102,141,34,.5); }
.return-highlight strong { color: var(--green-dark); font-size: clamp(4rem, 6vw, 7rem); }
.return-highlight span { line-height: 1.4; }
.finance-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 1rem; padding-top: 1.5rem; border-top: 1px solid rgba(102,141,34,.35); color: #48515a; font-size: .8rem; }
.finance-callouts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 2.5rem; border-top: 1px solid rgba(102,141,34,.4); border-bottom: 1px solid rgba(102,141,34,.4); }
.finance-callouts div { padding: 1.2rem; border-right: 1px solid rgba(102,141,34,.35); }
.finance-callouts strong { display: block; color: var(--green-dark); font-family: var(--serif); font-size: 3rem; font-weight: 400; }
.finance-callouts span { text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; }
.finance-full-note { margin: 1.5rem auto 0; max-width: 70rem; color: var(--muted); text-align: center; font-size: .75rem; }

/* Trucking */
.trucking { color: var(--ivory); background: var(--navy); isolation: isolate; }
.trucking::before { content: ""; position: absolute; inset: 0 0 auto 42%; height: 45rem; z-index: -3; background: var(--truck-image) center / cover no-repeat; }
.trucking::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, var(--navy) 0%, rgba(7,19,31,.98) 34%, rgba(7,19,31,.28) 75%), linear-gradient(0deg, var(--navy) 42rem, transparent 60%); }
.trucking-copy { max-width: 42rem; }
.trucking-copy h2 { font-size: clamp(3.8rem, 5.2vw, 6rem); }
.trucking-copy > p:last-child { max-width: 32rem; color: rgba(255,255,255,.72); }
.trucking-intro { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; max-width: 72rem; margin-top: 5rem; }
.trucking-intro > div:first-child { color: rgba(255,255,255,.72); }
.test-overview { padding: 1.5rem; background: rgba(7,19,31,.78); border: 1px solid rgba(168,211,79,.35); backdrop-filter: blur(12px); }
.test-overview h3 { margin-bottom: 1rem; color: var(--green); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }
.test-overview dl { margin: 0; }
.test-overview dl div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: .45rem 0; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }
.test-overview dt { color: rgba(255,255,255,.5); }.test-overview dd { margin: 0; }
.truck-result { position: relative; z-index: 2; margin: 5rem 0 2rem; text-align: center; }
.truck-result strong { display: block; color: var(--green); font-family: var(--serif); font-size: clamp(7rem, 12vw, 13rem); font-weight: 400; line-height: .7; }
.truck-result span { display: block; margin-top: 1.2rem; color: var(--green); text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; }
.truck-result p { color: rgba(255,255,255,.58); font-size: .78rem; }
.truck-chart-wrap { position: relative; z-index: 2; max-width: 65rem; margin: 3rem auto 0; padding: 2rem; border: 1px solid rgba(168,211,79,.35); background: rgba(7,19,31,.75); }
.truck-chart-wrap > h3 { text-align: center; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; }
.truck-chart { position: relative; z-index: 3; display: flex; align-items: flex-end; justify-content: center; gap: 3rem; width: 100%; min-height: 23rem; margin-top: 2rem; }
.bar-group { min-width: 9rem; display: flex; flex-direction: column; align-items: flex-start; }
.bar-group strong { font-family: var(--serif); font-size: 3rem; font-weight: 400; }
.bar-group small { font-size: .85rem; }
.bar-group .bar { display: block; width: 8rem; margin: .5rem 0 .7rem; border-top: 1px solid rgba(255,255,255,.6); background: repeating-linear-gradient(0deg, rgba(255,255,255,.28), rgba(255,255,255,.28) 1px, transparent 1px, transparent 3px); }
.before .bar { height: 13rem; }.after .bar { height: 8.1rem; background-color: rgba(168,211,79,.2); border-color: var(--green); }
.bar-group em { text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; font-style: normal; }
.saved { align-self: center; color: var(--green); font-family: var(--serif); font-size: 1.4rem; white-space: nowrap; }
.truck-chart-note, .fuel-note { color: rgba(255,255,255,.48); font-size: .67rem; }
.truck-highlights { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 4rem; border-top: 1px solid rgba(168,211,79,.45); border-bottom: 1px solid rgba(168,211,79,.25); }
.truck-highlights article { padding: 1.4rem; border-right: 1px solid rgba(255,255,255,.15); }
.truck-highlights article > strong { display: block; color: var(--green); font-family: var(--serif); font-size: 2.1rem; font-weight: 400; }
.truck-highlights h3 { text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; }
.truck-highlights p { color: rgba(255,255,255,.64); font-size: .75rem; }
.fuel-impact { position: relative; z-index: 2; max-width: 70rem; margin: 5rem auto 0; }
.fuel-impact > h3 { font-family: var(--serif); font-size: 3rem; font-weight: 400; }
.fuel-impact > p { color: rgba(255,255,255,.68); }
.fuel-table { margin: 2rem 0 1rem; border: 1px solid rgba(168,211,79,.35); }
.fuel-table > div { display: grid; grid-template-columns: 1.3fr 1fr 1fr; }
.fuel-table span, .fuel-table strong { padding: .7rem 1rem; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); font-size: .72rem; }
.fuel-table strong { color: var(--green); text-transform: uppercase; letter-spacing: .08em; }

/* ESG */
.esg { min-height: 58rem; }
.esg::after { content: ""; position: absolute; inset: 0 0 0 64%; background: linear-gradient(90deg, var(--ivory), transparent 25%), var(--esg-image) center / cover no-repeat; opacity: .78; }
.esg-copy { position: relative; z-index: 2; max-width: 68rem; }
.esg-copy h2 { max-width: 66rem; font-size: clamp(3.8rem, 5.6vw, 6.3rem); }
.esg-copy > p:last-child { max-width: 41rem; }
.esg-equation { position: relative; z-index: 2; width: 69%; margin-top: 3rem; padding: 1rem 0 2rem; border-top: 1px solid rgba(102,141,34,.6); border-bottom: 1px solid rgba(102,141,34,.6); }
.esg-equation > p { color: var(--green-dark); text-align: center; text-transform: uppercase; letter-spacing: .16em; font-size: .66rem; }
.esg-equation > div { display: grid; grid-template-columns: .75fr auto 1.25fr; gap: 2rem; align-items: center; }
.esg-equation span { color: var(--green-dark); text-transform: uppercase; letter-spacing: .11em; font-size: .68rem; }
.esg-equation span:last-child { color: var(--ink); font-family: var(--serif); font-size: clamp(1.8rem, 2.7vw, 3rem); line-height: 1.05; text-transform: none; letter-spacing: 0; }
.esg-equation strong { display: block; font-family: var(--serif); font-size: clamp(5.5rem, 8vw, 9rem); font-weight: 400; line-height: .8; letter-spacing: -.05em; }
.esg-equation i { font-family: var(--serif); font-size: 5rem; font-style: normal; }
.esg-equation > small { display: block; margin-top: 1.3rem; font-size: .79rem; }
.frameworks { position: relative; z-index: 2; width: 69%; display: flex; align-items: center; margin-top: 1.8rem; border-bottom: 1px solid rgba(102,141,34,.4); }
.frameworks > * { padding: 1rem 1.5rem; border-right: 1px solid rgba(102,141,34,.35); }
.frameworks span { font-family: var(--serif); font-size: 1.45rem; }
.esg-footnote { position: relative; z-index: 2; width: 67%; margin-top: 1.2rem; color: var(--muted); font-size: .72rem; }

/* Process */
.process { min-height: 61rem; color: var(--ivory); background: var(--navy); isolation: isolate; }
.process::before { content: ""; position: absolute; inset: 0 0 0 55%; z-index: -2; background: var(--process-image) center / cover no-repeat; opacity: .4; }
.process::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 65% 58%, transparent 0%, var(--navy) 62%); }
.process .section-head { margin-bottom: 6rem; }
.process-line { position: absolute; left: 4%; right: 4%; top: 59%; height: 2px; background: linear-gradient(90deg, var(--green-dark), var(--green)); transform: rotate(-4deg); transform-origin: left; }
.steps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(1rem, 3vw, 4rem); }
.steps article { position: relative; padding-top: 1rem; }
.steps article:nth-child(2) { transform: translateY(-1.5rem); }.steps article:nth-child(3) { transform: translateY(-3.2rem); }.steps article:nth-child(4) { transform: translateY(-5rem); }
.steps article::before { content: ""; position: absolute; top: -.38rem; left: 0; width: .75rem; height: .75rem; border: 2px solid var(--green); border-radius: 50%; background: var(--navy); }
.steps b { color: var(--green); font-family: var(--serif); font-size: 4rem; font-weight: 400; }
.steps h3 { color: var(--green); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; }
.steps p { max-width: 16rem; color: rgba(255,255,255,.73); font-size: .86rem; }
.steps span { display: block; padding-top: .7rem; border-top: 1px solid rgba(168,211,79,.5); color: var(--green); text-transform: uppercase; letter-spacing: .08em; font-size: .59rem; }
.process-bottom { position: absolute; left: var(--pad); right: var(--pad); bottom: 3.5rem; display: flex; align-items: center; gap: 3rem; }
.process-bottom p { flex: 1; margin: 0; padding-top: 1rem; border-top: 1px solid rgba(168,211,79,.5); font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 2.3rem); }

/* Assessment */
.assessment { display: grid; grid-template-columns: 1fr 1fr; min-height: 52rem; }
.assessment-story { position: relative; display: flex; align-items: center; padding: var(--section) var(--pad); color: var(--ivory); isolation: isolate; background: var(--navy); overflow: hidden; }
.assessment-story::before { content: ""; position: absolute; inset: 24% 0 0; z-index: -2; background: var(--contact-image) center / cover no-repeat; }
.assessment-story::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--navy) 8%, rgba(7,19,31,.86) 42%, rgba(7,19,31,.38)); }
.assessment-story > div { position: relative; z-index: 2; max-width: 39rem; }
.assessment-story h2 { font-size: clamp(3.7rem, 5.2vw, 6rem); }
.assessment-story > div > p:last-of-type { max-width: 29rem; color: rgba(255,255,255,.78); }
.assessment-story ul { list-style: none; margin: 2rem 0 0; padding: 0; }
.assessment-story li { max-width: 24rem; padding: .9rem 0 .9rem 2.7rem; border-bottom: 1px solid rgba(168,211,79,.45); text-transform: uppercase; letter-spacing: .09em; font-size: .64rem; }
.assessment-story li::before { content: "↗"; display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; margin-left: -2.7rem; margin-right: 1rem; color: var(--green); border: 1px solid var(--green); border-radius: 50%; }
.assessment-form-wrap { padding: clamp(4rem, 7vw, 7.5rem) var(--pad); color: var(--ink); background-color: var(--paper); background-image: radial-gradient(circle at 90% 10%, rgba(168,211,79,.08), transparent 32%), linear-gradient(rgba(10,27,46,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(10,27,46,.025) 1px, transparent 1px); background-size: auto, 80px 80px, 80px 80px; }
.assessment-form-wrap form { max-width: 48rem; margin: auto; }
.assessment-form-wrap h2 { margin-bottom: 2.5rem; color: var(--green-dark); text-transform: uppercase; letter-spacing: .16em; font: 600 1.05rem var(--sans); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.65rem 2.2rem; }
.assessment-form-wrap label { display: flex; flex-direction: column; gap: .45rem; text-transform: uppercase; letter-spacing: .11em; font-size: .63rem; font-weight: 600; }
.assessment-form-wrap input, .assessment-form-wrap select, .assessment-form-wrap textarea { width: 100%; padding: .55rem 0 .8rem; color: var(--ink); border: 0; border-bottom: 1px solid rgba(10,27,46,.45); border-radius: 0; outline: 0; background: transparent; text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 400; }
.assessment-form-wrap input:focus, .assessment-form-wrap select:focus, .assessment-form-wrap textarea:focus { border-color: var(--green-dark); box-shadow: 0 2px 0 var(--green-dark); }
.form-message { margin-top: 1.6rem; }
.assessment-form-wrap textarea { min-height: 5rem; resize: vertical; }
.form-submit { width: 100%; margin-top: 1.6rem; border: 0; }
.form-submit:disabled { opacity: .6; cursor: wait; }
.form-note { margin: .7rem 0 0; color: var(--muted); font-size: .69rem; }
.form-response { min-height: 1.4rem; margin: .5rem 0 0; color: #9e3226; font-size: .75rem; }
.form-success { max-width: 35rem; margin: 10rem auto 0; outline: none; }
.form-success > span { display: inline-flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; color: var(--navy); background: var(--green); border-radius: 50%; font-size: 1.5rem; }
.form-success h2 { margin: 1.5rem 0 .5rem; color: var(--ink); text-transform: none; letter-spacing: 0; font: 400 3.5rem var(--serif); }

/* Footer */
.site-footer { padding: 2.4rem var(--pad) 1.6rem; color: var(--ivory); background: var(--navy); }
.footer-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(168,211,79,.45); }
.footer-brand { font-size: 1.4rem; }
.footer-top p { margin: .5rem 0 0; color: rgba(255,255,255,.6); font-family: var(--serif); font-size: 1rem; }
.footer-top nav { display: flex; gap: clamp(1rem, 2vw, 2.3rem); }
.footer-top nav a { text-transform: uppercase; letter-spacing: .11em; font-size: .62rem; }
.footer-legal { max-width: 82rem; margin: 1rem 0 0; color: rgba(255,255,255,.45); font-size: .63rem; line-height: 1.55; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1rem; color: rgba(255,255,255,.48); text-transform: uppercase; letter-spacing: .08em; font-size: .58rem; }
.footer-bottom div { display: flex; gap: 1.2rem; }
.content-shell { min-height: 70vh; padding: 10rem var(--pad) 5rem; color: var(--ink); background: var(--ivory); }

/* Responsive */
@media (max-width: 1180px) {
	.primary-nav { gap: 1.4rem; }.nav-list { gap: 1.2rem; }.header-cta { padding-inline: .8rem; }
	.hero { grid-template-columns: .9fr 1.1fr; }.hero h1 { font-size: clamp(3.8rem, 6vw, 6rem); }.hero-secondary-stats strong { font-size: 2.8rem; }
	.platform-visual { left: 22%; opacity: .55; }.platform-module { width: 22rem; }
	.section-head { grid-template-columns: 1.6fr .7fr; gap: 4rem; }
	.equation strong { font-size: 6.5rem; }.return-timeline strong { font-size: 2.7rem; }
	.truck-chart { width: 100%; }
	.esg::after { left: 70%; }.esg-equation, .frameworks { width: 76%; }
}

@media (max-width: 960px) {
	.site-header { height: 4.8rem; }
	.menu-toggle { display: block; }
	.primary-nav { position: fixed; inset: 4.8rem 0 auto; display: flex; flex-direction: column; align-items: stretch; padding: 2rem var(--pad) 3rem; background: rgba(7,19,31,.98); transform: translateY(-120%); transition: transform .35s ease; }
	.primary-nav.is-open { transform: none; }.nav-list { flex-direction: column; align-items: stretch; gap: 0; }.nav-list li { border-bottom: 1px solid rgba(255,255,255,.1); }.nav-list a { display: block; padding: 1rem 0; font-size: 1rem; }.header-cta { text-align: center; }
	.hero { grid-template-columns: 1fr; align-items: center; padding-top: 8rem; }.hero-copy { padding-top: 2rem; }.hero h1 { font-size: clamp(4.1rem, 11vw, 6.8rem); }.hero-proof { margin-top: 2rem; }.stat-number { font-size: clamp(6rem, 16vw, 9rem); }
	.section-head { grid-template-columns: 1fr; gap: 1rem; }.section-head > p { margin-top: 0; max-width: 40rem; }
	.problem-grid { grid-template-columns: 1fr; }.problem-panel, .problem-panel:nth-child(2) { min-height: 32rem; margin-top: 0; }
	.platform { min-height: auto; padding-bottom: 6rem; }.platform-visual { inset: 18rem -10% 8rem 15%; opacity: .34; }.platform-modules { min-height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 5rem; }.platform-module { position: relative; inset: auto !important; width: auto; }.platform-closing { position: relative; left: auto; bottom: auto; margin: 4rem 0 0; }
	.results-grid { grid-template-columns: 1fr 1fr; }.additional-results { flex-wrap: wrap; }
	.science { grid-template-columns: 1fr; gap: 4rem; }.science::before, .science::after { inset: 0 0 58% 0; }.science-intro { padding: 0; }.science-evidence { margin-left: 12%; padding: 2rem; background: rgba(7,19,31,.88); }.science-detail { margin-top: 1rem; }.science-detail .science-rows { grid-template-columns: 1fr 1fr; }.validation-strip { grid-template-columns: 1fr 1fr; }
	.equation { grid-template-columns: 1fr auto 1fr; }.equation-result { grid-column: 1/-1; padding-top: 2rem; border-top: 1px solid var(--line); }.equation i:nth-of-type(2) { display: none; }.return-timeline { grid-template-columns: 1fr 1fr; }.return-timeline::after { display: none; }.return-highlight { grid-column: 1/-1; }
	.trucking::before { left: 30%; opacity: .5; }.trucking-intro { grid-template-columns: 1fr; gap: 2rem; }.truck-highlights { grid-template-columns: 1fr 1fr; }
	.esg { min-height: auto; padding-bottom: 7rem; }.esg::after { inset: 40% 0 0 50%; opacity: .35; }.esg-equation, .frameworks, .esg-footnote { width: 100%; }
	.process { min-height: auto; }.process .section-head { margin-bottom: 4rem; }.steps { grid-template-columns: 1fr 1fr; gap: 3rem; }.steps article { transform: none !important; }.process-line { display: none; }
	.assessment { grid-template-columns: 1fr; }.assessment-story { min-height: 46rem; }
	.footer-top { align-items: flex-start; flex-direction: column; }.footer-top nav { flex-wrap: wrap; }
}

@media (max-width: 640px) {
	:root { --pad: 1.25rem; --section: 5rem; }
	.brand { font-size: .9rem; }.custom-logo, .brand-default { width: 165px; }
	.hero { display: block; min-height: auto; padding-bottom: 3rem; }.hero h1 { font-size: clamp(3.6rem, 17vw, 5.1rem); }.hero-intro { font-size: .95rem; }.hero-proof { margin-top: 3.5rem; }.stat-number { font-size: 6.3rem; }.stat-label { font-size: .62rem; }.hero-secondary-stats { grid-template-columns: 1fr; }.hero-secondary-stats div { display: grid; grid-template-columns: 8rem 1fr; align-items: center; padding: .85rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }.hero-secondary-stats div:last-child { border-bottom: 0; }.hero-secondary-stats strong { font-size: 2.5rem; }.hero-secondary-stats span { margin: 0; }
	.section-head h2, .platform-intro h2, .science-intro h2, .trucking-copy h2, .esg-copy h2, .assessment-story h2 { font-size: 3.5rem; line-height: .93; }.section-kicker, .eyebrow { font-size: .61rem; }.section-kicker span, .eyebrow span { width: 2rem; }
	.problem-panel, .problem-panel:nth-child(2) { min-height: 29rem; padding: 1.6rem; }.problem-panel h3 { font-size: 2.5rem; }
	.platform::after { display: none; }.platform-visual { inset: 20rem -15% 25rem 0; }.platform-modules { grid-template-columns: 1fr; }.platform-module { padding-bottom: 1rem; }
	.results-grid { grid-template-columns: 1fr; }.result { min-height: 20rem; grid-template-rows: 1rem auto auto 1fr; }.result > strong { font-size: 6rem; }.additional-results { align-items: flex-start; flex-direction: column; }
	.science-evidence { margin: 0; padding: 1.3rem 0 0; border: 0; }.science-primary { font-size: 6.7rem; }.science-detail .science-rows { grid-template-columns: 1fr; }.science-rows b { font-size: 2.6rem; }.validation-strip { grid-template-columns: 1fr; }.validation-strip span { padding: .9rem; }
	.equation { grid-template-columns: 1fr; gap: 1rem; }.equation i { display: none; }.equation div { padding: 1rem 0; border-bottom: 1px solid var(--line); }.equation strong { font-size: 5.8rem; }.return-timeline { grid-template-columns: 1fr; }.return-highlight { grid-column: auto; }.finance-notes { grid-template-columns: 1fr; gap: 1rem; }
	.trucking::before { inset: 0 0 auto 10%; height: 42rem; }.truck-result strong { font-size: 8rem; }.truck-chart { gap: .8rem; overflow-x: auto; justify-content: flex-start; }.saved { font-size: 1rem; }.truck-highlights { grid-template-columns: 1fr; }.fuel-table { overflow-x: auto; }.fuel-table > div { min-width: 42rem; }
	.esg::after { inset: 47% 0 0 20%; }.esg-equation > div { grid-template-columns: 1fr; gap: 1rem; }.esg-equation i { font-size: 3rem; }.esg-equation strong { font-size: 6.5rem; }.frameworks { flex-wrap: wrap; }.frameworks > * { padding: .65rem .8rem; }
	.steps { grid-template-columns: 1fr; }.button { width: 100%; }
	.assessment-story { min-height: 45rem; align-items: flex-start; }.assessment-form-wrap { padding-block: 4.5rem; }.form-grid { grid-template-columns: 1fr; }.form-success { margin-top: 3rem; }
	.footer-bottom { flex-direction: column; }.footer-top nav { display: grid; grid-template-columns: 1fr 1fr; }
}


/* Layout polish: keep large figures in their own line boxes and keep decorative
   rules behind content at every supported viewport size. */
.science-evidence {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
}
.science-primary {
	max-width: 100%;
	margin: .3rem 0 1.35rem;
	font-size: clamp(5.75rem, 9.25vw, 10.75rem);
	line-height: .9;
	white-space: nowrap;
}
.science-evidence > h3 { margin: 0 0 .45rem; line-height: 1.35; }
.science-evidence > p { max-width: 58rem; margin-bottom: 1rem; }
.fda-note { width: 100%; }

.return-timeline {
	align-items: stretch;
	gap: clamp(1rem, 2.2vw, 2rem);
	padding-top: 3rem;
}
.return-timeline::after { display: none; }
.return-timeline > div:not(.return-highlight) {
	min-width: 0;
	padding: 0 .75rem 2rem 0;
	border-bottom: 1px solid var(--green-dark);
}
.return-timeline > div:not(.return-highlight)::after {
	position: absolute;
	left: 0;
	bottom: -.39rem;
	margin: 0;
}
.return-timeline strong {
	margin-top: .8rem;
	font-size: clamp(2rem, 2.8vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -.035em;
	white-space: nowrap;
}
.return-timeline small { display: inline-block; margin-left: .25rem; }
.return-highlight {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: .4rem 0 .4rem clamp(1.25rem, 2vw, 2rem);
}
.return-highlight strong {
	margin: .35rem 0 .45rem;
	font-size: clamp(4rem, 5.5vw, 6.5rem);
	line-height: .9;
}

.truck-result {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .65rem;
	margin-top: 5rem;
}
.truck-result strong {
	max-width: 100%;
	font-size: clamp(7rem, 11vw, 12rem);
	line-height: .88;
	white-space: nowrap;
}
.truck-result span { margin-top: 0; line-height: 1.4; }
.truck-result p { max-width: 46rem; margin: 0; line-height: 1.55; }

.esg-copy { display: flex; flex-direction: column; align-items: flex-start; }
.esg-copy h2 {
	margin-bottom: 1.45rem;
	font-size: clamp(3.6rem, 5.15vw, 5.9rem);
	line-height: .98;
}
.esg-copy > p:last-child { margin-bottom: 0; line-height: 1.65; }
.esg-equation { margin-top: 3.5rem; padding: 2rem 0; }
.esg-equation > div { align-items: center; }
.esg-equation span:first-child {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: .35rem;
	line-height: 1.4;
}
.esg-equation strong {
	font-size: clamp(5.25rem, 7vw, 8rem);
	line-height: .9;
	white-space: nowrap;
}
.esg-equation span:last-child { line-height: 1.12; }

.process-line { display: none; }
.steps { position: relative; padding-top: 1.4rem; }
.steps::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 1.76rem;
	left: .35rem;
	right: .35rem;
	height: 1px;
	background: linear-gradient(90deg, var(--green-dark), var(--green));
}
.steps article,
.steps article:nth-child(2),
.steps article:nth-child(3),
.steps article:nth-child(4) {
	z-index: 1;
	min-width: 0;
	padding-top: 1.8rem;
	transform: none;
}
.steps article::before { top: -.02rem; }
.steps b { display: block; line-height: 1; }
.steps h3 { margin-top: .75rem; line-height: 1.4; }
.steps p { line-height: 1.6; }

.website-field {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 1180px) {
	.science-primary { font-size: clamp(5.5rem, 9vw, 9.25rem); }
	.return-timeline { grid-template-columns: 1fr 1fr; }
	.return-timeline strong { font-size: clamp(2.2rem, 4.3vw, 3.35rem); }
	.return-highlight { grid-column: 1 / -1; min-height: 10rem; }
	.esg-copy h2 { font-size: clamp(3.5rem, 5vw, 5.4rem); }
}

@media (max-width: 960px) {
	.science-evidence { display: flex; margin-left: 0; }
	.science-primary { font-size: clamp(5.6rem, 16vw, 9rem); }
	.return-timeline { grid-template-columns: 1fr 1fr; }
	.return-highlight { grid-column: 1 / -1; min-height: 10rem; }
	.steps { padding-top: 0; }
	.steps::before { display: none; }
	.steps article,
	.steps article:nth-child(2),
	.steps article:nth-child(3),
	.steps article:nth-child(4) {
		padding-top: 1.7rem;
		border-top: 1px solid rgba(168,211,79,.55);
	}
	.steps article::before { top: -.4rem; }
}

@media (max-width: 640px) {
	.science-primary { font-size: clamp(4.7rem, 24vw, 6.7rem); line-height: .92; }
	.return-timeline { grid-template-columns: 1fr; gap: 2.25rem; }
	.return-timeline strong { font-size: clamp(2.6rem, 13vw, 4.2rem); white-space: normal; }
	.return-highlight { grid-column: auto; padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid rgba(102,141,34,.5); }
	.return-highlight strong { font-size: clamp(4.5rem, 22vw, 6.5rem); }
	.truck-result { gap: .55rem; }
	.truck-result strong { font-size: clamp(6rem, 32vw, 8rem); line-height: .9; }
	.truck-result span { max-width: 25rem; font-size: .65rem; }
	.esg-copy h2 { margin-bottom: 1.25rem; font-size: clamp(3rem, 15vw, 4.25rem); line-height: 1; }
	.esg-equation { margin-top: 2.5rem; }
	.esg-equation > div { gap: 1.35rem; }
	.esg-equation strong { font-size: clamp(5rem, 27vw, 7rem); }
	.esg-equation i { line-height: 1; transform: rotate(90deg); transform-origin: center; }
}


/* v1.3 figure spacing corrections.
   Cormorant Garamond has generous swashes that extend outside tight line boxes,
   so the large figures use dedicated wrappers and full-height line boxes. */
.stat-range {
	display: inline-flex;
	align-items: baseline;
	gap: .035em;
	white-space: nowrap;
}
.stat-range .range-separator {
	flex: 0 0 .24em;
	height: .035em;
	margin-inline: .015em;
	background: currentColor;
	transform: translateY(-.16em);
}

.science-figure {
	display: block;
	width: 100%;
	margin: .35rem 0 clamp(1.75rem, 2.4vw, 2.75rem);
}
.science-figure .science-primary {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: .02em 0 .1em;
	font-size: clamp(5.5rem, 8.75vw, 10rem);
	line-height: 1;
	letter-spacing: -.055em;
	white-space: nowrap;
}
.science-evidence > h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 .55rem;
}

.trucking-copy h2 {
	display: block;
	max-width: 46rem;
	margin: 1.1rem 0 clamp(1.75rem, 2.5vw, 2.6rem);
	line-height: 1.02;
}
.trucking-copy > p:last-child {
	position: relative;
	z-index: 1;
	margin-top: 0;
}

.truck-result {
	display: grid;
	justify-items: center;
	row-gap: 0;
}
.truck-result-figure {
	display: block;
	width: 100%;
	margin: 0 0 clamp(1.65rem, 2.3vw, 2.5rem);
	text-align: center;
}
.truck-result-figure strong {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: .02em 0 .1em;
	font-size: clamp(7rem, 10.5vw, 11.5rem);
	line-height: 1;
	letter-spacing: -.055em;
	white-space: nowrap;
}
.truck-result > span {
	position: relative;
	z-index: 1;
	margin: 0 0 .65rem;
	line-height: 1.45;
}
.truck-result > p {
	margin: 0;
	line-height: 1.55;
}

@media (max-width: 960px) {
	.science-figure .science-primary { font-size: clamp(5.25rem, 15vw, 8.5rem); }
	.trucking-copy h2 { margin-bottom: 2rem; line-height: 1.03; }
	.truck-result-figure strong { font-size: clamp(6.5rem, 20vw, 10rem); }
}

@media (max-width: 640px) {
	.stat-range .range-separator { flex-basis: .21em; transform: translateY(-.14em); }
	.science-figure { margin-bottom: 1.5rem; }
	.science-figure .science-primary { font-size: clamp(4.5rem, 22vw, 6.4rem); line-height: 1; }
	.trucking-copy h2 { margin-bottom: 1.65rem; font-size: clamp(3.25rem, 14vw, 4.2rem); line-height: 1.04; }
	.truck-result-figure { margin-bottom: 1.45rem; }
	.truck-result-figure strong { font-size: clamp(5.75rem, 29vw, 7.75rem); line-height: 1; }
}


/* v1.4 independently validated section redesign. */
.science-validation {
	display: block;
	min-height: 100svh;
	padding-top: clamp(6rem, 8vw, 8.5rem);
	padding-bottom: clamp(2.5rem, 4vw, 4rem);
	isolation: isolate;
	background: #07131f;
}
.science-validation::before {
	inset: 0 48% 0 0;
	opacity: .72;
	background: var(--lab-image) center / cover no-repeat;
}
.science-validation::after {
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(3,12,20,.42) 0%, rgba(3,12,20,.64) 42%, rgba(7,19,31,.97) 53%, rgba(7,19,31,1) 100%),
		linear-gradient(0deg, rgba(7,19,31,.98) 0%, transparent 38%);
}
.science-main {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, .98fr) minmax(34rem, .92fr);
	gap: clamp(3rem, 6vw, 7rem);
	align-items: start;
}
.science-validation .science-intro {
	max-width: 36rem;
	padding: 0;
}
.science-validation .science-intro .section-kicker {
	color: var(--green);
}
.science-validation .science-intro h2 {
	max-width: 35rem;
	margin-top: 1.4rem;
	font-size: clamp(4rem, 5.4vw, 6.4rem);
	line-height: .9;
	letter-spacing: -.045em;
}
.science-validation .science-intro > p:last-child {
	max-width: 31rem;
	margin-top: 1.8rem;
	color: rgba(255,255,255,.76);
	font-size: clamp(.95rem, 1.05vw, 1.1rem);
	line-height: 1.55;
}
.science-validation .science-evidence {
	display: block;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.science-validation .up-to {
	margin: 0 0 .4rem;
	color: var(--green);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.science-validation .science-figure {
	margin: 0 0 .4rem;
	overflow: visible;
}
.science-validation .science-primary {
	display: flex;
	align-items: flex-end;
	width: max-content;
	max-width: 100%;
	margin: 0;
	padding: 0 0 .08em;
	font-size: clamp(7.2rem, 10.1vw, 11.5rem);
	line-height: .78;
	letter-spacing: -.065em;
	white-space: nowrap;
}
.science-validation .science-percent {
	margin-left: .05em;
	font-size: .43em;
	line-height: 1;
	letter-spacing: -.03em;
	transform: translateY(-.03em);
}
.science-validation .science-evidence > h3 {
	margin: 1.1rem 0 .25rem;
	color: var(--green);
	font-size: clamp(.78rem, .9vw, .94rem);
	line-height: 1.3;
	letter-spacing: .17em;
}
.science-validation .science-condition {
	margin: 0 0 1.2rem;
	color: rgba(255,255,255,.8);
	font-size: clamp(1rem, 1.15vw, 1.15rem);
}
.science-metrics {
	border-top: 1px solid rgba(255,255,255,.28);
}
.science-metric {
	display: grid;
	grid-template-columns: minmax(9.5rem, 11.5rem) minmax(4rem, 6rem) minmax(0, 1fr);
	gap: clamp(.8rem, 1.5vw, 1.5rem);
	align-items: center;
	min-height: 7.3rem;
	padding: .75rem 0;
	border-bottom: 1px solid rgba(255,255,255,.22);
}
.science-metric > strong {
	font-family: var(--serif);
	font-size: clamp(4rem, 4.8vw, 5.5rem);
	font-weight: 400;
	line-height: .8;
	letter-spacing: -.05em;
	white-space: nowrap;
}
.science-metric > strong span {
	font-size: .52em;
	letter-spacing: -.02em;
}
.metric-connector {
	position: relative;
	display: block;
	height: 1px;
	background: rgba(255,255,255,.65);
}
.metric-connector::before,
.metric-connector::after {
	content: "";
	position: absolute;
	top: 50%;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	transform: translateY(-50%);
}
.metric-connector::before { left: 0; background: var(--green); }
.metric-connector::after { right: 0; background: var(--ivory); }
.science-metric h4 {
	margin: 0 0 .25rem;
	color: var(--green);
	font-size: clamp(.69rem, .78vw, .82rem);
	line-height: 1.35;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.science-metric p {
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: clamp(.82rem, .9vw, .95rem);
	line-height: 1.45;
}
.science-validation .validation-strip {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(2.4rem, 4vw, 4rem);
	border-top: 1px solid rgba(168,211,79,.72);
	border-bottom: 1px solid rgba(255,255,255,.16);
}
.validation-card {
	display: grid;
	grid-template-columns: 4.4rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	min-width: 0;
	padding: 1.15rem clamp(.9rem, 1.6vw, 1.5rem);
	border-right: 1px solid rgba(255,255,255,.2);
}
.validation-card:last-child { border-right: 0; }
.validation-icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	border: 1px solid rgba(244,240,232,.48);
	border-radius: 50%;
}
.validation-icon svg {
	width: 2.15rem;
	height: 2.15rem;
	fill: none;
	stroke: var(--green);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.science-validation .validation-card strong {
	display: block;
	margin: 0 0 .35rem;
	color: var(--green);
	font-size: clamp(.64rem, .72vw, .76rem);
	line-height: 1.35;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.validation-card p {
	margin: 0;
	color: rgba(255,255,255,.68);
	font-size: clamp(.7rem, .76vw, .82rem);
	line-height: 1.45;
}
.science-validation .science-note {
	position: relative;
	z-index: 3;
	margin: 1.35rem 0 0;
	padding-left: 2.1rem;
	color: rgba(255,255,255,.54);
	font-size: .68rem;
	line-height: 1.5;
}
.science-validation .science-note::before {
	content: "i";
	position: absolute;
	left: 0;
	top: -.15rem;
	display: grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	border: 1px solid var(--green);
	border-radius: 50%;
	color: var(--green);
	font-family: var(--serif);
	font-size: 1rem;
	font-weight: 600;
}

@media (max-width: 1180px) {
	.science-main { grid-template-columns: minmax(0, .82fr) minmax(31rem, 1fr); gap: 3rem; }
	.science-validation .science-primary { font-size: clamp(6.3rem, 9.5vw, 9rem); }
	.science-metric { grid-template-columns: minmax(8rem, 9.5rem) minmax(3rem, 4.5rem) minmax(0, 1fr); }
	.validation-card { grid-template-columns: 3.7rem minmax(0, 1fr); gap: .75rem; padding-inline: .8rem; }
	.validation-icon { width: 3.35rem; height: 3.35rem; }
	.validation-icon svg { width: 1.8rem; height: 1.8rem; }
}

@media (max-width: 960px) {
	.science-validation { min-height: auto; }
	.science-validation::before { inset: 0 0 56% 0; opacity: .48; }
	.science-validation::after { background: linear-gradient(0deg, rgba(7,19,31,1) 0%, rgba(7,19,31,.96) 51%, rgba(7,19,31,.52) 100%); }
	.science-main { grid-template-columns: 1fr; gap: 4.5rem; }
	.science-validation .science-intro { max-width: 40rem; }
	.science-validation .science-evidence { max-width: 46rem; margin-left: auto; }
	.science-validation .science-primary { font-size: clamp(7rem, 17vw, 10rem); }
	.science-validation .validation-strip { grid-template-columns: 1fr 1fr; }
	.validation-card:nth-child(2) { border-right: 0; }
	.validation-card:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 640px) {
	.science-validation { padding-top: 5.5rem; }
	.science-validation::before { inset: 0 0 66% 0; }
	.science-main { gap: 3.5rem; }
	.science-validation .science-intro h2 { font-size: clamp(3.65rem, 16vw, 5rem); line-height: .92; }
	.science-validation .science-primary { font-size: clamp(5.2rem, 23.5vw, 7rem); line-height: .82; }
	.science-validation .science-evidence > h3 { margin-top: .8rem; }
	.science-metric {
		grid-template-columns: minmax(7.3rem, 8.7rem) minmax(0, 1fr);
		gap: 1rem;
		min-height: 6.6rem;
	}
	.science-metric > strong { font-size: clamp(3.5rem, 15vw, 4.6rem); }
	.metric-connector { display: none; }
	.science-validation .validation-strip { grid-template-columns: 1fr; }
	.validation-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
	.validation-card:last-child { border-bottom: 0; }
	.science-validation .science-note { padding-left: 1.8rem; }
}

/* v1.5 platform section replacement and independent-validation figure clearance. */
.platform-redesign {
	padding: clamp(2.2rem, 3vw, 3.4rem) var(--pad) clamp(2rem, 3vw, 3.2rem);
	color: var(--ivory);
	background: #07131f;
}
.platform-redesign::after { content: none; }
.platform-layout {
	position: relative;
	z-index: 2;
	width: 100%;
	aspect-ratio: 1672 / 941;
	min-height: 0;
}
.platform-redesign .platform-visual {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--platform-image) center / contain no-repeat;
}
.platform-redesign .platform-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7,19,31,.25) 0%, rgba(7,19,31,0) 18%, rgba(7,19,31,0) 82%, rgba(7,19,31,.25) 100%),
		linear-gradient(180deg, rgba(7,19,31,.12) 0%, rgba(7,19,31,0) 14%, rgba(7,19,31,0) 86%, rgba(7,19,31,.14) 100%);
	pointer-events: none;
}
.platform-redesign .platform-visual::after { content: none; }
.platform-topline {
	position: absolute;
	top: 5.6%;
	left: 4%;
	right: 4.2%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.platform-redesign .section-kicker {
	margin: 0;
	color: var(--green);
}
.platform-status {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0;
	color: var(--green);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.platform-status i {
	display: block;
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 1.25rem rgba(168,211,79,.55);
}
.platform-redesign .platform-intro {
	position: absolute;
	top: 12.4%;
	left: 4%;
	z-index: 5;
	width: 31%;
	max-width: 31rem;
}
.platform-redesign .platform-intro h2 {
	margin: 0;
	font-size: clamp(4rem, 4.9vw, 5.9rem);
	line-height: .91;
	letter-spacing: -.045em;
}
.platform-redesign .platform-intro > p:last-child {
	max-width: 27rem;
	margin: 1.55rem 0 0;
	color: rgba(255,255,255,.78);
	font-size: clamp(.95rem, 1.02vw, 1.1rem);
	line-height: 1.6;
}
.platform-redesign .platform-modules {
	position: absolute;
	inset: 0;
	z-index: 5;
	min-height: 0;
}
.platform-redesign .platform-module {
	position: absolute;
	width: 16.2%;
	padding-top: 1rem;
	border-top: 1px solid rgba(244,240,232,.52);
}
.platform-redesign .platform-module::after {
	content: "";
	position: absolute;
	top: -4px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 0 1px rgba(244,240,232,.16), 0 0 1rem rgba(168,211,79,.38);
}
.platform-redesign .platform-module b {
	display: block;
	margin-bottom: .45rem;
	font-family: var(--serif);
	font-size: clamp(3.25rem, 3.2vw, 4rem);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.04em;
}
.platform-redesign .platform-module h3 {
	margin: 0 0 .7rem;
	color: var(--green);
	font-size: clamp(.66rem, .72vw, .78rem);
	line-height: 1.35;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.platform-redesign .platform-module p {
	margin: 0;
	color: rgba(255,255,255,.75);
	font-size: clamp(.84rem, .86vw, .95rem);
	line-height: 1.52;
}
.platform-redesign .module-1 {
	left: 7.8%;
	top: 61.5%;
	width: 19%;
}
.platform-redesign .module-1::after { right: 0; }
.platform-redesign .module-2 {
	right: 4.3%;
	top: 23.4%;
}
.platform-redesign .module-3 {
	right: 4.3%;
	top: 53.3%;
}
.platform-redesign .module-4 {
	right: 4.3%;
	top: 74.1%;
}
.platform-redesign .module-2::after,
.platform-redesign .module-3::after,
.platform-redesign .module-4::after { left: 0; }
.platform-connector {
	position: absolute;
	inset: 0;
	z-index: 4;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}
.platform-connector path {
	fill: none;
	stroke: rgba(244,240,232,.66);
	stroke-width: 1.4;
	vector-effect: non-scaling-stroke;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.platform-connector circle {
	vector-effect: non-scaling-stroke;
}
.platform-connector .connector-start {
	fill: var(--green);
}
.platform-connector .connector-image {
	fill: var(--green);
	stroke: rgba(244,240,232,.58);
	stroke-width: 1.2;
}
.platform-redesign .platform-closing {
	position: absolute;
	left: 4.1%;
	bottom: 4.4%;
	z-index: 5;
	max-width: 24rem;
	margin: 0;
	padding-top: 1.15rem;
	font-family: var(--serif);
	font-size: clamp(2rem, 2.45vw, 3rem);
	line-height: 1.05;
}
.platform-redesign .platform-closing::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4.6rem;
	height: 1px;
	background: var(--green);
}
.platform-redesign .platform-closing::after {
	content: "";
	position: absolute;
	top: -.23rem;
	left: 4.55rem;
	width: .48rem;
	height: .48rem;
	border-radius: 50%;
	background: var(--green);
}
.platform-redesign .platform-closing span {
	display: block;
	color: var(--green);
}

@media (max-width: 1280px) {
	.platform-redesign .platform-intro { width: 32%; }
	.platform-redesign .platform-intro h2 { font-size: clamp(3.7rem, 5vw, 5rem); }
	.platform-redesign .platform-module { width: 17.5%; }
	.platform-redesign .module-1 { width: 20%; }
}

@media (max-width: 1020px) {
	.platform-redesign {
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}
	.platform-layout {
		aspect-ratio: auto;
		min-height: 0;
	}
	.platform-redesign .platform-visual {
		position: relative;
		height: 31rem;
		margin-top: 3rem;
		background-size: contain;
	}
	.platform-topline {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
	}
	.platform-redesign .platform-intro {
		position: relative;
		top: auto;
		left: auto;
		width: min(100%, 42rem);
		max-width: 42rem;
		margin-top: 2rem;
	}
	.platform-redesign .platform-modules {
		position: relative;
		inset: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem 3rem;
		margin-top: 2.5rem;
	}
	.platform-redesign .platform-module,
	.platform-redesign .module-1,
	.platform-redesign .module-2,
	.platform-redesign .module-3,
	.platform-redesign .module-4 {
		position: relative;
		inset: auto;
		width: auto;
		padding-top: 1rem;
		border-top-color: rgba(244,240,232,.45);
	}
	.platform-redesign .platform-module::after {
		left: 0;
		right: auto;
	}
	.platform-connector { display: none; }
	.platform-redesign .platform-closing {
		position: relative;
		left: auto;
		bottom: auto;
		margin-top: 3.5rem;
	}
}

@media (max-width: 640px) {
	.platform-redesign { padding-top: 4rem; }
	.platform-status { display: none; }
	.platform-redesign .platform-intro h2 { font-size: clamp(3.3rem, 14vw, 4.8rem); }
	.platform-redesign .platform-intro > p:last-child { font-size: .95rem; }
	.platform-redesign .platform-visual {
		height: 22rem;
		margin-top: 2rem;
	}
	.platform-redesign .platform-modules {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.platform-redesign .platform-module b { font-size: 3.25rem; }
	.platform-redesign .platform-closing { font-size: 2.15rem; }
}

/* Move the primary validation figure upward and create clear separation below it. */
.science-validation .science-figure {
	transform: translateY(-1.05rem);
	margin-bottom: .5rem;
}
.science-validation .science-evidence > h3 { margin-top: 1.4rem; }

@media (max-width: 640px) {
	.science-validation .science-figure { transform: translateY(-.3rem); margin-bottom: .2rem; }
	.science-validation .science-evidence > h3 { margin-top: 1.2rem; }
}

/* --------------------------------------------------------------------------
   Platform rebuild v1.7 — clean source artwork with four image-origin callouts
   -------------------------------------------------------------------------- */
.platform-redesign-v17 {
	min-height: 0;
	padding: 0;
	background: #06131f;
	overflow: hidden;
}
.platform-redesign-v17 .platform-stage {
	position: relative;
	width: 100%;
	aspect-ratio: 1672 / 941;
	min-height: 46rem;
	color: var(--ivory);
	background-image: var(--platform-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	isolation: isolate;
	overflow: hidden;
}
.platform-redesign-v17 .platform-stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(4,15,25,.08), transparent 19%, transparent 79%, rgba(4,15,25,.09)),
		linear-gradient(0deg, rgba(4,15,25,.08), transparent 14%, transparent 90%, rgba(4,15,25,.06));
	pointer-events: none;
}
.platform-redesign-v17 .platform-topline {
	position: absolute;
	top: 5.4%;
	left: 4.25%;
	right: 4.25%;
	z-index: 7;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.platform-redesign-v17 .platform-intro {
	position: absolute;
	top: 11.2%;
	left: 4.25%;
	z-index: 7;
	width: 33.5%;
	max-width: none;
}
.platform-redesign-v17 .platform-intro h2 {
	max-width: 9.2em;
	margin: 0;
	font-size: clamp(3.45rem, 4.55vw, 5.7rem);
	line-height: .93;
	letter-spacing: -.045em;
}
.platform-redesign-v17 .platform-intro > p:last-child {
	max-width: 30rem;
	margin: 1.65rem 0 0;
	color: rgba(255,255,255,.78);
	font-size: clamp(.86rem, 1.05vw, 1.08rem);
	line-height: 1.55;
}
.platform-redesign-v17 .platform-connector {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}
.platform-redesign-v17 .platform-connector path {
	fill: none;
	stroke: rgba(244,240,232,.68);
	stroke-width: 1.35;
	vector-effect: non-scaling-stroke;
}
.platform-redesign-v17 .platform-connector circle {
	vector-effect: non-scaling-stroke;
}
.platform-redesign-v17 .platform-connector .connector-image {
	fill: var(--ivory);
	stroke: rgba(168,211,79,.7);
	stroke-width: 1.4;
	filter: drop-shadow(0 0 5px rgba(168,211,79,.45));
}
.platform-redesign-v17 .platform-connector .connector-label {
	fill: var(--green);
	stroke: rgba(7,19,31,.75);
	stroke-width: 1;
	filter: drop-shadow(0 0 4px rgba(168,211,79,.42));
}
.platform-redesign-v17 .platform-modules {
	position: absolute;
	inset: 0;
	z-index: 7;
	min-height: 0;
}
.platform-redesign-v17 .platform-module,
.platform-redesign-v17 .module-1,
.platform-redesign-v17 .module-2,
.platform-redesign-v17 .module-3,
.platform-redesign-v17 .module-4 {
	position: absolute;
	width: 17.5%;
	padding: 0;
	border: 0;
	background: transparent;
}
.platform-redesign-v17 .platform-module::after {
	display: none !important;
}
.platform-redesign-v17 .module-1 {
	top: 56.4%;
	left: 9.75%;
	width: 19.5%;
}
.platform-redesign-v17 .module-2 {
	top: 20.8%;
	left: 80.55%;
	right: auto;
}
.platform-redesign-v17 .module-3 {
	top: 49.3%;
	left: 80.55%;
	right: auto;
}
.platform-redesign-v17 .module-4 {
	top: 73.2%;
	left: 80.55%;
	right: auto;
}
.platform-redesign-v17 .platform-module b {
	display: block;
	margin: 0 0 .55rem;
	font-family: var(--serif);
	font-size: clamp(2.65rem, 3vw, 3.8rem);
	font-weight: 400;
	line-height: .85;
	letter-spacing: -.045em;
}
.platform-redesign-v17 .platform-module h3 {
	margin: 0 0 .75rem;
	color: var(--green);
	font-size: clamp(.6rem, .72vw, .77rem);
	line-height: 1.34;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.platform-redesign-v17 .platform-module p {
	max-width: 18rem;
	margin: 0;
	color: rgba(255,255,255,.78);
	font-size: clamp(.73rem, .9vw, .94rem);
	line-height: 1.52;
}
.platform-redesign-v17 .platform-closing {
	position: absolute;
	left: 4.25%;
	bottom: 5.7%;
	z-index: 7;
	max-width: 30rem;
	margin: 0;
	padding-top: 1.25rem;
	font-family: var(--serif);
	font-size: clamp(1.9rem, 2.35vw, 2.95rem);
	line-height: 1.05;
}
.platform-redesign-v17 .platform-closing::before {
	width: 5rem;
}
.platform-redesign-v17 .platform-closing::after {
	left: 4.72rem;
}
.platform-redesign-v17 .platform-closing span {
	display: block;
	color: var(--green);
}

/* Keep the 99.994% headline comfortably above its descriptor rule. */
.science-validation .science-figure {
	transform: translateY(-1rem);
	margin-bottom: .65rem;
}
.science-validation .science-evidence > h3 {
	margin-top: 1.85rem;
}

@media (max-width: 1180px) {
	.platform-redesign-v17 .platform-stage { min-height: 42rem; }
	.platform-redesign-v17 .platform-intro h2 { font-size: clamp(3rem, 4.7vw, 4.5rem); }
	.platform-redesign-v17 .platform-module p { font-size: .76rem; }
}

@media (max-width: 980px) {
	.platform-redesign-v17 {
		padding: 0 0 5rem;
	}
	.platform-redesign-v17 .platform-stage {
		aspect-ratio: auto;
		min-height: 0;
		padding: 4.5rem var(--pad) 0;
		background-position: center 12rem;
		background-size: 120% auto;
	}
	.platform-redesign-v17 .platform-stage::after {
		background: linear-gradient(180deg, #06131f 0 10rem, transparent 26rem, #06131f 55rem);
	}
	.platform-redesign-v17 .platform-topline,
	.platform-redesign-v17 .platform-intro,
	.platform-redesign-v17 .platform-modules,
	.platform-redesign-v17 .platform-closing {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		width: auto;
	}
	.platform-redesign-v17 .platform-topline { z-index: 7; }
	.platform-redesign-v17 .platform-intro {
		z-index: 7;
		width: min(100%, 40rem);
		margin-top: 3rem;
	}
	.platform-redesign-v17 .platform-intro h2 { font-size: clamp(3.8rem, 9vw, 5.8rem); }
	.platform-redesign-v17 .platform-connector { display: none; }
	.platform-redesign-v17 .platform-modules {
		z-index: 7;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem 3rem;
		margin-top: 33rem;
	}
	.platform-redesign-v17 .platform-module,
	.platform-redesign-v17 .module-1,
	.platform-redesign-v17 .module-2,
	.platform-redesign-v17 .module-3,
	.platform-redesign-v17 .module-4 {
		position: relative;
		inset: auto;
		width: auto;
		padding-top: 1rem;
		border-top: 1px solid rgba(244,240,232,.45);
	}
	.platform-redesign-v17 .platform-module::after {
		display: block !important;
		left: 0;
	}
	.platform-redesign-v17 .platform-closing {
		z-index: 7;
		margin-top: 4rem;
	}
}

@media (max-width: 640px) {
	.platform-redesign-v17 .platform-stage {
		padding-top: 4rem;
		background-position: center 16rem;
		background-size: 160% auto;
	}
	.platform-redesign-v17 .platform-status { display: none; }
	.platform-redesign-v17 .platform-intro { margin-top: 2.3rem; }
	.platform-redesign-v17 .platform-intro h2 {
		font-size: clamp(3.4rem, 15vw, 4.8rem);
		line-height: .92;
	}
	.platform-redesign-v17 .platform-modules {
		grid-template-columns: 1fr;
		gap: 2rem;
		margin-top: 26rem;
	}
	.platform-redesign-v17 .platform-module p { font-size: .9rem; }
	.platform-redesign-v17 .science-figure { transform: translateY(-.45rem); }
}
