@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-normal-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-normal-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-normal-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-normal-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:"Geist";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/geist-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Geist";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/geist-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Geist";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/geist-italic-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Geist";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/geist-italic-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}
@font-face{font-family:"Geist";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/geist-italic-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-normal-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"DM Sans";font-style:italic;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Sans";font-style:italic;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}


:root {
	--bg: #ffffff;
	--bg-2:#f8fafd;
	--bg-3:#f1f5fb;
	--bg-4:#edf2f7;
	--dark: #05091c;
	--dark-2:#0b1229;
	--ink: #0a0f1e;
	--ink-2:#1e2a3a;
	--muted: #4b5a70;
	--faint: #8696ac;
	--blue-title-top: #057a93;
	--blue: #00a8cc;
	--blue-2:#00d0f5;
	--blue-glow: rgba(0, 200, 245, 0.20);
	--blue-soft: rgba(0, 200, 245, 0.09);
	--red: #e8001a;
	--red-dark: #c0001a;
	--border: #dde5f0;
	--border-2:#c7d4e8;
	--d-border: rgba(255, 255, 255, 0.09);
	--d-border-2:rgba(255, 255, 255, 0.18);     /* Three shadow levels: sm for resting cards, md for modals/images, lg for hover lift --*/
	--shadow-sm: 0 1px 3px rgba(10, 15, 40, 0.06), 0 1px 2px rgba(10, 15, 40, 0.04);
	--shadow-md: 0 4px 16px rgba(10, 15, 40, 0.09), 0 2px 6px rgba(10, 15, 40, 0.05);
	--shadow-lg: 0 12px 40px rgba(10, 15, 40, 0.13), 0 4px 12px rgba(10, 15, 40, 0.07);
	--radius: 14px;     /* standard card corner radius */
	--radius-lg: 20px;     /* larger cards and hero elements */
	--container: 94%;     /* fluid content width — scales with viewport, caps at 1600 px */
	--font: "Geist", sans-serif;

	--font-heading: "Geist", sans-serif;
     /* system font stack fallback */
}

/* ============ RESET ============ */
*,
*::before,
*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img,
video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--font);}
/* ============ LAYOUT ============ */
.container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,5vw,80px);}
.footer .container{padding:0 clamp(20px,5vw,80px);}
.footer .container .cpwr{    color: #82868f;}


/* ============ TYPOGRAPHY ============ */
h1,
h2,
h3,
h4{font-family:var(--font-heading);font-weight:500;line-height:1;color:var(--ink);}
h1{font-size:clamp(2.8rem,5.5vw,4.4rem);letter-spacing:-0.001em;line-height:1.03;}
h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-0.025em;}
h3{font-size:clamp(1.1rem,2vw,1.3rem);font-weight:600;}
h4{font-size:0.96rem;font-weight:600;}
p{color:var(--muted);line-height:1.7;}
.lead{font-size:1.08rem;line-height:1.75;color:var(--muted);max-width:540px;}
/* ============ EYEBROW ============ */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:1.08rem;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;color:var(--blue-title-top);margin-bottom:22px;font-family:var(--font-heading);}
.eyebrow::before{content: "";display:block;width:20px;height:2px;background:currentColor;border-radius:2px;flex-shrink:0;}
.eyebrow-light{color:var(--blue-title-top);}
.container.reveal.visible .eyebrow-light{color:var(--blue);}
/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:50px;font-family:var(--font);font-weight:600;font-size:0.98rem;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:all 0.2s ease;}
.btn-sm{padding:9px 20px;font-size:0.8rem;}
.btn.btn-inverse.btn-sm{font-size:0.98rem;}
/* Keeps button label on one line — replaces the removed inline style="white-space:nowrap" */
.btn-nowrap{white-space:nowrap;}
.btn-white{background:#fff;color:var(--dark);border-color:#fff;}
.btn-white:hover{background:#eef3ff;border-color:#eef3ff;transform:translateY(-1px) !important;box-shadow:0 6px 24px rgba(0,0,0,0.20);}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn-primary:hover{background:#0090b0;border-color:#0090b0;box-shadow:0 6px 24px rgba(0,168,204,0.60);transform:translateY(-1px);}
.btn-inverse{background:#fff;color:var(--dark);border-color:#fff;box-shadow:0 4px 18px rgba(0,0,0,0.2);}
.btn-inverse:hover{background:#eef3ff;transform:translateY(-1px);}
.btn-outline-light{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.28);backdrop-filter:blur(6px);}
.btn-outline-light:hover{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.55);transform:translateY(-1px) !important;box-shadow:0 6px 24px rgba(0,0,0,0.20);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--border-2);}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);}
/* ============ BADGES ============ */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:50px;font-size:0.67rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;white-space:nowrap;}
.badge-here{background:var(--red);color:#fff;box-shadow:0 2px 10px rgba(232,0,26,0.35);}
.badge-dev{background:var(--bg-2);color:var(--muted);border:1px solid var(--border);}
.badge-future{background:var(--bg-2);color:var(--faint);border:1px solid var(--border);}
.pulse-dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{
0%,
100%{opacity:1;transform:scale(1);}
50%{opacity:0.4;transform:scale(0.8);}
}
/* ============ NAV ============ */
.nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 500;
	background: #000000;
    background: #000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.63) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(237, 221, 83, 0) 100%);
}

.nav::before{
    content:"";
    position:absolute;
    inset:0;
    border-bottom: 1px solid rgba(0,0,0,.08);
    background:#fff;
    box-shadow:0 1px 10px rgba(0,0,0,.08);
    opacity:0;
    transition:opacity .3s ease;
    z-index:-1;
}

.nav.scrolled::before{
    opacity:1;
}
.nav-inner{
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 clamp(20px,5vw,80px);
    height: 70px;
    display: flex;
    align-items: center;
    gap: 36px;
    position: relative; /* Add this */
}

.logo{
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: -9px;
    display: block;
    min-width: 266px;
}

.logo img{
    height:36px;
    width:auto;
    transition:opacity .3s ease;
}

.logo-dark{
    position:absolute;
    left:0;
    top:0;
    opacity:0;
}

.logo-white{
    opacity:1;
}

/* After scrolling */
.nav.scrolled .logo-white{
    opacity:0;
}

.nav.scrolled .logo-dark{
    opacity:1;
}
.nav-links {
	display: flex;
	gap: 4px;
	margin-left: auto;
	position: relative;
}

.nav-links a {
	color: rgba(255, 255, 255, 0.98);
	text-decoration: none;
	font-size: 1.1rem;
	font-weight: 400;
	padding: 7px 13px;
	border-radius: 8px;
	transition: color 0.15s, background 0.15s;
	white-space: nowrap;    letter-spacing: 0.4px;
    margin-top : 3px
}
.nav-inner a.btn-primary{font-size: 1rem; letter-spacing: 0.4px;font-weight: 300;}

.nav-links a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.30);
}

.nav-links a.active {
	color: #fff;
}
.nav.scrolled .nav-links a{
    color:#111;
}
.nav.scrolled .nav-links a:hover{
    color:#111;
    background:rgba(0,0,0,.06);
}


.nav-pill {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    background: #00a8cc;

    border-radius: 999px;
    pointer-events: none;
    opacity: 1;
    will-change: transform, width;
    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        width .45s cubic-bezier(.22,1,.36,1);
}
.nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	padding: 6px;
	margin-left: auto;
}

.nav-toggle span {
	width: 22px;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ============ HERO ============ */
.hero{background:#05091c;min-height:100vh;display:flex;flex-direction:column;}
.hero-top{position:relative;display:flex;align-items:center;justify-content:center;flex:1;padding:120px 0 80px;overflow:hidden;background:url("../images/hero-poster.jpg") center / cover no-repeat,var(--dark);}
.hero-media{position:absolute;inset:0;}
.hero-media video{width:100%;height:100%;object-fit:cover;display:block;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,9,28,0.40) 0%,rgba(5,9,28,0.65) 45%,rgba(5,9,28,0.92) 100%),linear-gradient(to right,rgba(5,9,28,0.35) 0%,transparent 35%,transparent 65%,rgba(5,9,28,0.35) 100%);}
.hero-fg{position:relative;z-index:1;width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue-2);font-family:var(--font-heading);font-size:0.88rem;font-weight:500;letter-spacing:0.0em;text-transform:inherit;margin-bottom:24px;}
.hero-eyebrow::before{display:none;}
.hero h1{color:#fff;max-width:900px;text-shadow:0 2px 40px rgba(5,9,28,0.6);line-height:1.03;text-align:left;font-weight:600;}
.hero h1 em{font-style:normal;color:var(--blue-2);}
.hero-sub{font-size:1.08rem;max-width:800px;margin:28px 0 44px;color:rgba(255,255,255,0.98);line-height:1.78;text-align:left;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;}
/* Accessibility: hide the video entirely for users who prefer reduced motion.
The poster image defined on the <video> element serves as a static fallback. */
@media (prefers-reduced-motion:reduce){
.hero-media video{display:none;}
}
/* ============ ROADMAP SECTION ============ */
.section-roadmap{background:transparent;padding-bottom:0;}
/* ============ STATS SECTION ============ */
.section-stats{background:transparent;border-top:1px solid rgba(0, 0, 0, 0.08);border-bottom:1px solid rgba(0, 0, 0, 0.06);}
[data-theme="dark"] .section-stats{border-top:1px solid rgba(255, 255, 255, 0.28);border-bottom:1px solid rgba(255, 255, 255, 0.28);}
.section-stats .stats-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:44px 40px 48px;}
.stat.reveal.sr-box-1{padding-left:0;}
.stat + .stat{border-left:1px solid rgba(0, 0, 0, 0.12);}
[data-theme="dark"] .stat + .stat{border-left:1px solid rgba(255, 255, 255, 0.28);}
.stat-num{font-size:3rem;font-weight:500;color:#000000;letter-spacing:0.035em;line-height:1;margin-bottom:10px;font-family:var(--font-heading);font-size:clamp(12px,980px,35px);}
[data-theme="dark"] .stat-num{color:#ffffff;}
.stat-label{color:rgba(0, 0, 0, 0.55);font-size:0.82rem;font-weight:400;line-height:1.5;}
[data-theme="dark"] .stat-label{color:rgba(255, 255, 255, 0.55);}
/* Road progress — horizontal progress line with three stage stop labels */
.hero-road{position:relative;display:block;padding:54px 0 68px;border-top:0px solid rgba(0, 0, 0, 0.18);max-width:960px;margin:0 auto;min-height:200px;}
.hero-road-line{position:absolute;top:53px;left:8px;right:8px;height:5px;background :linear-gradient(90deg, rgb(52 98 107 / 45%) 0%, rgb(0 0 0 / 18%) 50%, rgba(0, 208, 245, 0.15) 100%)}
[data-theme="dark"] .hero-road-line{background :linear-gradient(90deg, rgb(52 98 107 / 45%) 0%, rgba(250, 250, 250, 0.38) 50%, rgba(0, 208, 245, 0.15) 100%);border-radius:5px;    /* brighter glow */}
.hero-road-line::after{content: "";position:absolute;left:0;top:0;bottom:0;width:18%;background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 0 18px rgba(0,208,245,0.75);border-radius:5px;    /* brighter glow */}
.hero-road-stop{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%);}
.hero-road-stop:nth-child(2){left:0%;align-items:flex-start;transform:none;}
.hero-road-stop:nth-child(3){left:50%;}
.hero-road-stop:nth-child(4){left:100%;align-items:flex-end;transform:translateX(-100%);}
.hero-road-dot{display:block;width:17px;height:17px;border-radius:50%;background:#2b3443;border:4px solid rgb(49 54 69);position:relative;z-index:1;margin-top:-6px;top:0px;}
.hero-road-stop.here .hero-road-dot{background:var(--blue-2);border-color:var(--blue-2);box-shadow:0 0 0 6px rgba(0,208,245,0.22),0 0 24px rgba(0,208,245,0.65);width:16px;height:16px;margin-top:-8px;}
.hero-road-label{display:block;margin-top:30px;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(0, 0, 0, 0.55);font-weight:600;text-align:center;white-space:nowrap;}
[data-theme="dark"] .hero-road-label{color:rgba(255, 255, 255, 0.55);}
.hero-road-stop:nth-child(2) .hero-road-label{text-align:left;}
.hero-road-stop:nth-child(4) .hero-road-label{text-align:right;}
.hero-road-label em{display:block;font-style:normal;color:rgba(0, 0, 0, 0.9);    /* was 0.72 — crisp white */font-size:0.95rem;    /* was 0.9rem */font-weight:500;letter-spacing:0.1em;text-transform:none;margin-top:5px;}
[data-theme="dark"] .hero-road-label em{color:rgba(255, 255, 255, 0.9);}

.hero-road-stop.here .hero-road-label{color:var(--blue-2);}
.hero-road-stop.here .hero-road-label em{color:#000000;}
[data-theme="dark"] .hero-road-stop.here .hero-road-label em{color:#ffffff;}
/* ============ SECTIONS ============ */
.section{padding:128px 0;}
.section-alt{background:var(--bg-2);}
.section-dark{background:var(--bg-3);position:relative;}
.section-dark .section-head h2,
.section-dark h2{color:var(--ink);}
.section-dark .section-head p{color:var(--muted);}
.section-dark .eyebrow{color:var(--blue-title-top);}
.section-dark .eyebrow::before{background:var(--blue);}
.section-head{max-width:700px;margin-bottom:80px;}
.section-head p{margin-top:22px;font-size:1.07rem;color:var(--muted);line-height:1.78;max-width:650px;}
.section-head-center{text-align:center;max-width:640px;margin:0 auto 68px;}
.caps-grid{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    
    gap:24px;
}
.cap-hero{
    grid-column:span 8;
    grid-row:span 2;

    display:grid;
    grid-template-columns:1.2fr 1fr;
}
.cap-tall{
    grid-column:span 4;
    grid-row:span 2;
}
.cap-card:not(.cap-hero):not(.cap-wide-bottom):not(.cap-tall){
    grid-column:span 4;
    grid-row:span 2;
}
.cap-wide-bottom{
    grid-column:5 / 13;
    grid-row:span 2;
}
.cap-hero .cap-photo{
    height:100%;
    aspect-ratio:auto;
}

.cap-hero .cap-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    /* padding:48px; */
}

.cap-hero h3{
    font-size:clamp(36px,4vw,64px);
}
@media (max-width:991px){

.caps-grid{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
}

.cap-card,
.cap-hero,
.cap-tall,
.cap-wide-bottom{
    grid-column:auto;
    grid-row:auto;
}

.cap-hero{
    display:block;
}

}
.cap-card{
    position:relative;
    overflow:hidden;
    border-radius:14px;
    min-height:clamp(350px, 22vw, 900px);
    background:#000;
}

.cap-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-lg), 0 0 0 1px rgba(0, 200, 245, 0.18), 0 0 40px rgba(0, 200, 245, 0.08);
	border-color: rgba(0, 200, 245, 0.30);
}

.cap-photo{
    position:absolute;
    inset:0;
    margin:0;
}

.cap-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;
}

.cap-card:hover .cap-photo img{
    transform:scale(1.08);
}
.cap-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(to top, rgb(0 0 0 / 42%) 10%, rgb(0 0 0 / 36%) 45%, rgb(0 0 0 / 0%) 70%, transparent 100%);
    z-index:1;
}
.cap-card:hover::before{
    background:
      linear-gradient(to top, rgb(0 0 0 / 42%) 10%, rgb(0 0 0 / 36%) 45%, rgb(0 0 0 / 0%) 70%, transparent 100%);
        transition:background .6s ease;
}

.cap-body{
    position:absolute;
    left:30px;
    right:30px;
    bottom:30px;
    z-index:2;
    padding:0;
}

.cap-kicker{
    display:inline-block;
    margin-bottom:12px;
    color:#ffffff;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-weight:500;
}

.cap-body h3{
    color:#fff;
    font-size:2rem;
    line-height:1.15;
    margin:0;
    font-weight: 400;
}
.cap-body p {
	font-size: 0.862rem;
	color: var(--muted);
}

/* grid-column: 1 / -1 stretches the wide card from the first to the last column track.
Inner grid splits it into image (~55%) and text (~45%). */
.cap-wide {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
}

.cap-wide .cap-photo {
	aspect-ratio: auto;
	min-height: 320px;
}

.cap-wide .cap-body {
	padding: 44px 48px;
	align-self: center;
}

.cap-wide .cap-body h3 {
	font-size: clamp(24px, 3vw, 63px);
}

.cap-wide .cap-body p {
	font-size: 0.94rem;
	margin-top: 20px;
}

@media (max-width:1024px) {
	.brake-cap {
		display: none;
	}

	.cap-wide {
		grid-template-columns: 1fr;
	}

	.cap-wide .cap-photo {
		min-height: 240px;
	}

	.cap-wide .cap-body {
		padding: 32px 28px;
	}

	.cap-wide .cap-body h3 {
		font-size: 1.38rem;
	}

	.cap-wide .cap-body p {
		margin-top: 0px;
	}

}

.stages-section{   position: relative;
    background: #fff9f8;
    padding: 128px 0px;
    overflow: hidden;
    border-width: 1px 0px;
    border-style: solid;
    border-color: rgb(240, 241, 242)}
/* Subtle centered radial glow */
.stages-section::before{content: "";position:absolute;top:35%;left:50%;transform:translateX(-50%);width:1000px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,200,245,0.09) 0%,transparent 65%);pointer-events:none;}
.stages-section .section-head{
    max-width: 100%;
}
.stages-section .eyebrow {
    text-align: center;
    width: 100%;
    justify-content: center;
}
.stages-section .eyebrow::before{
    display: none;
}
.stages-section .section-head h2{
    color: #000000;
    text-align: center;}
.stages-section .section-head p{color:rgba(255,255,255,0.50);}
.section-head.reveal.visible .eyebrow.eyebrow-light{color: #000000;}
.research-section .section-head.reveal.visible .eyebrow.eyebrow-light{color: #ffffff;}
/* — Row container — */
.stages-rows{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
/* — Single stage row — */
.stage-row{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    min-height:720px;
    border:0;
    background:#000;
}
.stage-row:hover{
    transform:translateY(-8px);
}

/* Stage 2: image on right, body on left */
.stage-row-reverse{grid-template-columns:1fr 1.1fr;}
.stage-row-reverse .stage-row-media{order:2;}
.stage-row-reverse .stage-row-body{order:1;}
/* — Image panel — */
.stage-row-media{
    position:absolute;
    inset:0;
}

.stage-row-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease;
}

.stage-row:hover .stage-row-media img{
    transform:scale(1.08);
}
.stage-row:hover .stage-row-bg-num{
    color:rgba(255, 255, 255, 1);
    transition:color .6s ease;
}
.stage-row::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;

    background:linear-gradient(to top, rgb(0 0 0) 0%, rgba(0, 0, 0, .75) 25%, rgb(0 0 0 / 0%) 55%, rgb(0 0 0 / 3%) 100%)
}
/* Feather edge: fades image into the content panel */

/* — Content panel — */
.stage-row-body{
    position:absolute;
    inset:0;
    z-index:2;
    
    display:flex;
    flex-direction:column;
    justify-content:flex-end;   /* Everything at bottom */

    padding:40px;
}
/* Large watermark stage number */
.stage-row-bg-num{
    position:absolute;
    top:24px;
    left:24px;
    font-size:90px;
    color:rgba(255, 255, 255, 0.281);
}
/* Meta row: stage label + badge */
.stage-row-meta{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
   
}
.stage-num-label{font-family:var(--font-heading);font-size:0.78rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgb(255, 255, 255);}
/* Heading */
.stage-row-body h3{
    font-size:clamp(34px,2vw,38px);
    color:#fff;
    margin:0 0 12px;
    line-height:1.08;
}
/* Tagline */
.stage-tagline{
    color:rgba(255,255,255,.85);
    margin-bottom:28px;
}
/* Description */
.stage-row-body .stage-desc{font-size:1rem;color:rgba(255,255,255,0.52);line-height:1.72;margin-bottom:28px;max-width:468px;}
/* Feature list on dark bg */
.feature-list{
    display:grid;
    gap:5px;
    padding:0;
    /* margin:20px 0 0; */
    list-style:none;
}
.feature-list li{
    display:inline-flex;
    align-items:center;
    gap:8px;
   
    color:#fff;
    font-size:.9rem;
    font-weight:300;

    transition:.3s ease;
}

.feature-list li::before{
    content:"";
    flex-shrink:0;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#ffffff;
}
.stage-row-body .feature-list strong{color:rgba(255,255,255,0.88);}
/* Active stage: glowing left-edge stripe */

/* Badge overrides on dark surface */
.stage-row-body .badge-dev{    background: rgb(0 0 0 / 37%);
    color: rgb(255 255 255 / 82%);
    border-color: rgba(255, 255, 255, 0.11);}
.stage-row-body .badge-future{    background: rgb(0 0 0 / 37%);
    color: rgb(255 255 255 / 82%);
    border-color: rgba(255, 255, 255, 0.11);}f
/* ============ RESEARCH SECTION ============
Dark surface section. Three layers:
1. .rc-hero      — full-width Foundation Model panel with gradient border
2. .rc-sub-grid  — three numbered sub-program tiles inside the hero panel
3. .rc-pair      — two equal cards: World Model | Occupancy Model
============ */

.research-section{background:linear-gradient(180deg,#f8fbfd 0%,#f3f8fb 56%,#eef5f9 100%);padding:128px 0;position:relative;overflow:hidden;}
/* Layered ambient glows for more depth */
.research-section::after{content:"";position:absolute;bottom:-220px;left:-180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(6,122,153,0.12) 0%,rgba(6,122,153,0.04) 30%,transparent 72%);pointer-events:none;}
.research-section .container{position:relative;z-index:1;}
.research-section .section-head{max-width:760px;margin-bottom:44px;}
.research-section .section-head h2{background:linear-gradient(132deg,#041826 0%,#0c6077 52%,#00a9d1 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.research-section .section-head p{color:var(--muted);}
/* — Shared icon chip — */
.rc-icon{width:52px;height:52px;flex-shrink:0;border-radius:14px;background:rgba(0,184,232,0.12);border:1px solid rgba(0,184,232,0.26);color:#ffffff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,134,171,0.14);transition:background 0.25s,box-shadow 0.25s,transform 0.25s;}
.rc-icon svg{width:24px;height:24px;}
.rc-icon-lg{width:68px;height:68px;border-radius:18px;}
.rc-icon-lg svg{width:30px;height:30px;}
/* — Shared description — */
.rc-desc{font-size:1rem;color:var(--muted);line-height:1.75;}
/* --------------------------------------------
FOUNDATION MODEL — HERO PANEL
-------------------------------------------- */
.rc-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:30px;background:linear-gradient(145deg,rgba(255,255,255,0.96) 0%,rgba(250,254,255,0.9) 100%);border:1px solid rgba(0,184,232,0.2);border-radius:26px;padding:38px 38px 34px;margin-bottom:24px;overflow:hidden;box-shadow:0 16px 42px rgba(9,58,79,0.08);}
.rc-hero::before{content:"";position:absolute;top:-120px;left:-70px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(0,184,232,0.16) 0%,transparent 70%);pointer-events:none;}
.rc-hero::after{content:"";position:absolute;inset:0;border-radius:26px;padding:1px;background:linear-gradient(135deg,rgba(0,184,232,0.35),rgba(255,255,255,0) 55%,rgba(6,122,153,0.28));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.rc-hero-top{display:flex;align-items:flex-start;gap:18px;padding-right:24px;position:relative;z-index:1;}
.rc-hero-top::after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(0,184,232,0.3) 0%,rgba(0,184,232,0.08) 100%);}
.rc-hero-title{flex:1;padding-top:2px;}
.rc-hero-title h3{font-size:clamp(1.55rem,2.3vw,2.15rem);color:#031b2c;letter-spacing:-0.03em;line-height:1.08;margin:0;}
.rc-hero > .rc-desc{max-width:100%;margin-bottom:30px;}
/* — Sub-program tiles — */
.rc-sub-grid{display:grid;grid-template-columns:1fr;gap:12px;align-content:center;}
.rc-sub{background:#ffffff;border:1px solid rgba(0,184,232,0.16);border-radius:16px;padding:20px 22px;position:relative;transition:transform 0.28s ease,box-shadow 0.28s ease,border-color 0.28s ease;}
.rc-sub:hover{transform:translateX(4px);border-color:rgba(0,184,232,0.34);box-shadow:0 12px 26px rgba(2,80,104,0.12);}
.rc-sub:nth-child(1)::before,
.rc-sub:nth-child(2)::before,
.rc-sub:nth-child(3)::before{position:absolute;top:18px;right:16px;font-family:var(--font-heading);font-size:0.68rem;font-weight:700;letter-spacing:0.18em;color:rgba(0,111,140,0.5);}
.rc-sub:nth-child(1)::before{content:"01";}
.rc-sub:nth-child(2)::before{content:"02";}
.rc-sub:nth-child(3)::before{content:"03";}
.rc-sub h4{font-size:1.05rem;font-weight:700;color:#06344a;padding-left:14px;margin:0;border-left:3px solid var(--blue);line-height:1.35;}
.rc-sub p{font-size:0.932rem;color:var(--muted);line-height:1.68;}
/* --------------------------------------------
WORLD + OCCUPANCY — PAIR CARDS
-------------------------------------------- */
.rc-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.rc-card{background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);border:1px solid rgba(8,123,153,0.14);border-radius:24px;padding:34px 32px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(3,64,84,0.08);transition:border-color 0.3s ease,box-shadow 0.3s ease,transform 0.3s ease;}
.rc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00b8e8 0%,#5ce6ff 60%,rgba(92,230,255,0) 100%);opacity:0.85;}
.rc-card:hover{border-color:rgba(0,184,232,0.34);box-shadow:0 18px 38px rgba(2,80,104,0.18);transform:translateY(-3px);}
.rc-card:hover .rc-icon{background:rgba(0,184,232,0.2);box-shadow:0 0 24px rgba(0,184,232,0.26);transform:translateY(-1px);}
.rc-card .rc-icon{margin-bottom:0;}
.rc-card h3{font-size:clamp(1.3rem,1.85vw,1.72rem);color:#031f31;margin-bottom:0;letter-spacing:-0.03em;}
.reveal .rc-both-merged{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.rc-card .rc-desc{flex:1;margin-bottom:0;color:#37566b;}
/* Keep optional footer tags consistent if used later */
.rc-card-footer{display:flex;flex-wrap:wrap;gap:8px;padding-top:24px;border-top:1px solid var(--border);margin-top:auto;}
.rc-card-footer span{font-family:var(--font-heading);font-size:0.62rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);background:var(--bg-3);border:1px solid var(--border);padding:5px 12px;border-radius:50px;white-space:nowrap;transition:color 0.2s,background 0.2s,border-color 0.2s;}
.rc-card:hover .rc-card-footer span{color:var(--blue);background:var(--blue-soft);border-color:rgba(0,200,245,0.22);}
/* ============ STEPS ============ */
#how{
    border-top:1px solid rgba(0,0,0,.08);
    border-bottom:1px solid rgba(0,0,0,.08);
  
    position: relative;
    background: #ffffff;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(237, 242, 247, 1) 19%, rgba(237, 242, 247, 1) 100%);
    padding: 80px 0px 50px;
    overflow: hidden;
    border-width: 1px 0px;
    border-style: solid;
    border-color: rgb(240, 241, 242);
  
}

[data-theme="dark"] #how{
    background: #070b0e !important;
    background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgb(5, 20, 32) 19%, rgb(4, 23, 32) 100%);
    border-color: rgb(0, 0, 0) !important;
}
[data-theme="dark"] #how .section-head .eyebrow{
    color: #ffffff;
}

#how .section-head{
    text-align:center;
    min-width:100%;
    color: #ffffff;
}
#how .section-head h2{
    color: #000000;
    background: linear-gradient(140deg, var(--ink) 0%, #0b7a96 50%, var(--blue) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
#how .section-head .eyebrow{
    color: #000000;
    background: linear-gradient(140deg, var(--ink) 0%, #0b7a96 50%, #1b3b42 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#how .section-head .eyebrow::before{
    display:none;
}

/* ===========================
   Grid
=========================== */

.steps{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:0;
    transition:grid-template-columns .45s ease;
    border-radius: 10px;
    overflow: hidden;
}

.steps.hover-1{
    grid-template-columns:2.5fr .9fr .9fr;
}

.steps.hover-2{
    grid-template-columns:.9fr 2.5fr .9fr;
}

.steps.hover-3{
    grid-template-columns:.9fr .9fr 2.5fr;
}

/* ===========================
   Card
=========================== */

.step{
    position:relative;
    overflow:hidden;
    min-height:720px;
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    cursor:pointer;
    border-radius:0;
}

/* ===========================
   Image
=========================== */

.step-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;

    opacity:1;

    transition:
        opacity .45s ease,
        filter .45s ease,
        transform .7s ease;

    transform:scale(1);
    z-index:1;
}

/* ===========================
   Video
=========================== */

.step-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;

    transform:scale(1.04);
    transition:transform .7s ease;

    z-index:0;
}

/* ===========================
   Overlay
=========================== */

.step::after{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(to top, rgb(0 0 0 / 94%) 5%, rgb(0 0 0 / 6%) 50%, rgb(0 0 0 / 9%) 100%);
    z-index:2;
    pointer-events:none;
}

/* ===========================
   Content
=========================== */

.step > *:not(.step-image):not(.step-video){
    /* position:relative; */
    z-index:3;
}

.step-content{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:28px;
    /* glass only at bottom, fades to transparent at top */
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.18) 35%, rgba(0, 0, 0, 0.15) 100%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 45%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 45%);
    z-index:3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 290px;
}

.step .step-num{
   position:absolute;
    top:28px;
    left:50%;
    transform:translateX(-50%) !important;
    font-family:var(--font-heading);
    font-size:6.2rem;
    font-weight:600;
    color:#fff;
    opacity: 0.4 !important;
    line-height:1;
    pointer-events:none;
    transition: opacity 0.3s ease;
}

.step:hover .step-num{
    opacity: 1 !important;
}

.step h3{
    font-size: 2.3rem !important;
    margin-bottom:12px;
    color:#fff;
    font-weight: 500;
}

.step p{
    color: #f0f8ff;
    opacity:.5 !important;
    margin:0;
    max-width: 100%;
    font-size: 1rem !important;
}

/* ===========================
   Hover
=========================== */

.step.playing .step-image{
    opacity:0;
    filter:grayscale(0%) brightness(1);
    transform:scale(1.05);
}

.step.playing .step-video{
    transform:scale(1);
}

/* ============ WHERE WE DRIVE ============ */

#wheredrive{
    height:auto;
    position:relative;
    --drive-progress-track: rgba(3, 24, 38, 0.14);
    --drive-progress-main: #00b8e8;
    --drive-progress-accent: #7fefff;
    padding-bottom: 80px;
}

.where-sticky{
    position:relative;
    top:auto;
    height:auto;
}

.where-grid{
    display:grid;
    grid-template-columns:1.5fr 0.9fr;
    gap:clamp(32px, 5vw, 80px);
    align-items:center;
}

.where-image{
    position:relative;
    aspect-ratio:5/3;
    border-radius:24px;
    overflow:hidden;
}

.where-image img{

    position:absolute;
    inset:0;
    width:100%;
    object-fit:cover;
    opacity:0;
    border-radius: inherit;
    transition:.6s;

}

.where-image img.active{
    opacity:1;
}

#wheredrive .drive-item{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    background-image:linear-gradient(var(--drive-progress-track), var(--drive-progress-track));
    background-repeat:no-repeat;
    background-size:100% 2px;
    background-position:left calc(100% - 1px);
    border-radius: 0;
}

#wheredrive .drive-item::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:2px;
    /* border-radius:999px; */
    background:
        linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(37, 37, 37, 0.342) 42%, rgba(255,255,255,0) 68%) no-repeat,
        linear-gradient(90deg, #000000 0%, #000000 52%, #000000 100%) no-repeat;
    background-size:26% 100%, 0% 100%;
    background-position:-35% 0, 0 0;
    /* box-shadow:0 0 0 transparent; */
    opacity:0;
}

#wheredrive .drive-item.active.progress-animate::before{
    opacity:1;
    animation:drive-item-progress 5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@keyframes drive-item-progress{
    0%{
        background-size:26% 100%, 0% 100%;
        background-position:-35% 0, 0 0;
        box-shadow:0 0 0 rgba(0, 184, 232, 0);
    }
    100%{
        background-size:26% 100%, 100% 100%;
        background-position:125% 0, 0 0;
        box-shadow:0 0 14px rgba(0, 0, 0, 0.35);
    }
}

#wheredrive .drive-list{
    display: flex;
    flex-direction: column;
    gap: 0;
}

#wheredrive .drive-list h3{
    opacity: 0.3;
    display:flex;
    align-items:center;
    gap:12px;
    font-weight: 500;
    transition: all 0.3s ease;
}

#wheredrive .drive-list h3::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    border:1.5px solid currentColor;
    opacity:0.42;
    transform:scale(0.88);
    box-shadow:inset 0 0 0 2px transparent;
    transition:transform 0.28s ease, opacity 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

#wheredrive .drive-list .active h3{
    opacity: 1;
    font-weight: 500;
    transition: all 0.3s ease;
}

#wheredrive .drive-list .active h3::before{
    opacity:1;
    transform:scale(1);
    border-color: #000000;
    background-color: #000000;
    /* box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--drive-progress-main) 82%, white 18%), 0 0 10px color-mix(in srgb, var(--drive-progress-main) 48%, transparent 52%); */
}

[data-theme="dark"] #wheredrive .drive-list .active h3::before{
    border-color: #ffffff;
    background-color: #ffffff;
    /* box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--drive-progress-main) 82%, black 18%), 0 0 10px color-mix(in srgb, var(--drive-progress-main) 48%, transparent 52%); */
}
[data-theme="dark"] #wheredrive .drive-item::before{
    background:
        linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255, 255, 255, 0.342) 42%, rgba(255,255,255,0) 68%) no-repeat,
        linear-gradient(90deg, #ffffff 0%, #ffffff 52%, #ffffff 100%) no-repeat;

}

[data-theme="dark"] .stages-section{
    border-color: rgb(8 9 10);
}

@media (max-width:1200px){
    #wheredrive{
        padding-bottom:60px;
    }
    .where-grid{
        grid-template-columns:1fr 1fr;
        gap:clamp(24px, 3vw, 48px);
    }
    .where-image{
        aspect-ratio:1/1;
    }
}

@media (max-width:980px){
    #wheredrive{
        padding-bottom:48px;
    }
    .where-grid{
        grid-template-columns:1fr;
        gap:32px;
    }

    .where-image{order:2;max-width:100%;margin:0 auto;width:100%;}
    .where-right{order:1;}

    .where-image{
        aspect-ratio:16/10;
    }

    #wheredrive .drive-list .active h3{
        font-size:1.7rem;
    }

    .where-right .section-head{
        margin-bottom:24px;
    }

    #wheredrive .drive-list{
        padding-bottom:0;
    }
}

@media (max-width:640px){
    #wheredrive{
        padding-bottom:40px;
    }
    .where-image{
        aspect-ratio:6/4;
        border-radius:16px;
    }
    
    #wheredrive .drive-list h3{
        font-size:1.2rem;
    }
    #wheredrive .drive-list .active h3{
        font-size:1.35rem;
    }
}

#where{
    position:relative;
    min-height:60vh;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    color:#000000;
    margin-top: 50px;
}


.vh-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.where-overlay{
    position:absolute;
    inset:0;
    background: #000000;
background: linear-gradient(105deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.44) 50%, rgba(0, 0, 0, 0.47) 100%);
    z-index:1;
}

.where-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-bottom:0px;
    height: 60vh;
    display:flex;
    align-items:center;
}

/* Heading */

#where .section-head{
    max-width:700px;
    margin-bottom:80px;
}

#where .section-head h2{
    color:#000000;
}

#where .section-head p,
#where .eyebrow{
    color:rgba(0, 0, 0, 0.85);
}
[data-theme="dark"] #wheredrive .drive-list h3{
    color: #ffffff;
}

[data-theme="dark"] #wheredrive{
    --drive-progress-track: rgba(255, 255, 255, 0.12);
    --drive-progress-main: #4fdfff;
    --drive-progress-accent: #c5f8ff;
}

/* Bottom layout */

.drive-split{
    display:block;
    width: 100%;
    position:absolute;
    bottom:0;
    left:0;
    z-index: 1;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    min-height: 150px;
    display:flex;
    align-items:center;
    justify-content: space-between;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

/* Three cards */

.drive-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    
}

.drive-item{
    padding:28px 30px;


    border-radius:20px;

    transition:.35s ease;
}


.drive-item h3{
    margin:0;
    color:#000000;
    font-size:1.45rem;
    font-weight:600;
}
/* ============ SAFETY ============ */
#safety{
    position:relative;
    overflow:hidden;
    padding:100px 0;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 40%),
        radial-gradient(circle at bottom left, rgba(255,255,255,.04), transparent 35%),
        #08090c;
    color:#fff;
}

#safety::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        rgba(0,0,0,.35)
    );
    pointer-events:none;
}

#safety .container{
    position:relative;
    z-index:2;
}

.split{
    display:flex;
    flex-direction:column;
    min-height:550px;
}

/* Heading */

.split-text{
    max-width:760px;
    margin-bottom:auto;
}

.split-text .eyebrow{
    color:rgba(255,255,255,.75);
}

.split-text h2{
    color:#fff;
    font-size:clamp(3rem,5vw,4rem);
    line-height:1.08;
    margin:0;
}

/* Bottom cards */

.why-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:100px;
   
    width: 100%;
      background:rgba(156, 156, 156, 0.178);
    border:1px solid rgba(0, 0, 0, 0);
    border-radius:200px;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.why-item{
    border-radius:10px;
    transition:.35s ease;
}

.where-right h2{
    background: linear-gradient(140deg, var(--ink) 0%, #0b7a96 50%, var(--blue) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}


.why-item h3{
    color:#fff;
    margin:0;
    font-size:1.3rem;
    line-height:1.4;
}
/* ============ TEAM SECTION ============ */
.team-section{background:var(--bg-4);padding:128px 0;position:relative;overflow:hidden;}
.team-section::before{content: "";position:absolute;bottom:-10%;left:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,200,245,0.04) 0%,transparent 65%);pointer-events:none;}
.team-section .section-head h2{color:var(--ink);}
.team-section .section-head p{color:var(--muted);}
.team-head{margin-bottom:72px;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
/* — Card — */
.team-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:32px 28px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color 0.28s,box-shadow 0.28s,transform 0.28s;}
.team-card::before{content: "";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,transparent);transition:background 0.3s;border-radius:2px 2px 0 0;}
.team-card:hover{border-color:rgba(0,200,245,0.25);box-shadow:var(--shadow-sm);transform:translateY(-5px);}
/* — Card top row: avatar + live badge — */
.team-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;}
/* — Avatar — */
.team-avatar{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:8px;font-family:var(--font-heading);font-size:1.15rem;font-weight:900;letter-spacing:0.02em;position:relative;flex-shrink:0;}
/* Per-person avatar color palettes */
.team-avatar--dg{background:linear-gradient(135deg,#1a3a8f 0%,#2255cc 100%);color:#a8c8ff;}
.team-avatar--dv{background:linear-gradient(135deg,#0e3a5e 0%,#1160a0 100%);color:#7ec8f5;}
.team-avatar--as{background:linear-gradient(135deg,#1e2d6e 0%,#3547b0 100%);color:#b4bfff;}
.team-avatar--vp{background:linear-gradient(135deg,#0d3550 0%,#0d6080 100%);color:#7de0f5;}
/* Glow ring pulse on hover */
.team-card:hover .team-avatar--dg{box-shadow:0 0 0 4px rgba(0,208,245,0.22),0 0 24px rgba(0,200,245,0.50);}
.team-card:hover .team-avatar--dv{box-shadow:0 0 0 4px rgba(30,120,200,0.22),0 0 24px rgba(14,80,160,0.50);}
.team-card:hover .team-avatar--as{box-shadow:0 0 0 4px rgba(90,110,220,0.22),0 0 24px rgba(53,71,176,0.50);}
.team-card:hover .team-avatar--vp{box-shadow:0 0 0 4px rgba(13,96,128,0.25),0 0 24px rgba(13,80,120,0.50);}
/* — Live status chip — */
.team-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:0.58rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--faint);background:var(--bg-3);border:1px solid var(--border);padding:5px 10px;border-radius:50px;}
/* — Name — */
.team-card h3{font-size:clamp(12px,1180px,1.16em);color:var(--ink);margin-bottom:10px;letter-spacing:-0.02em;}
/* — Role label — */
.team-role{font-family:var(--font-heading);font-size:0.82rem;font-weight:600;    /* letter-spacing: 0.14em; */text-transform:uppercase;color:var(--blue);margin-bottom:16px;}
/* — Bio text — */
.team-bio{font-size:0.932rem;color:var(--muted);line-height:1.70;flex:1;margin-bottom:22px;}
/* — Expertise tags — */
.team-tags{display:flex;flex-wrap:wrap;gap:6px;padding-top:18px;border-top:1px solid var(--border);margin-top:auto;}
.team-tags span{font-family:var(--font-heading);font-size:0.60rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:var(--faint);background:var(--bg-3);border:1px solid var(--border);padding:4px 10px;border-radius:50px;white-space:nowrap;transition:color 0.2s,background 0.2s,border-color 0.2s;}
.team-card:hover .team-tags span{color:var(--blue);background:var(--blue-soft);border-color:rgba(0,200,245,0.22);}
/* ============ CTA ============
Full-width dark section with a decorative radial glow behind the headline
created via the .cta::before pseudo-element (no extra HTML element needed).
============ */
.cta{background:#02171c;padding:120px 0;text-align:center;position:relative;overflow:hidden;}
/* Decorative background glow: a large elliptical radial gradient centered behind the heading.
pointer-events: none ensures the pseudo-element never blocks clicks on the buttons below. */
.cta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.6rem);position:relative;line-height:1.35;}
.cta-sub{color:rgba(255,255,255,0.55);font-size:1.04rem;line-height:1.75;margin:20px auto 40px;max-width:460px;position:relative;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;}
.email-form{display:flex;flex-direction:column;gap:14px;max-width:460px;margin:40px auto 0;position:relative;}
.email-form input{flex:1;padding:14px 22px;border-radius:50px;border:1.5px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.07);color:#fff;font-family:var(--font);font-size:0.975rem;outline:none;transition:border-color 0.2s,background 0.2s;backdrop-filter:blur(8px);}
.email-form input::placeholder{color:rgba(255,255,255,0.28);}
.email-form input:focus{border-color:rgba(0,208,245,0.6);background:rgba(255,255,255,0.10);}
.email-form .btn[disabled]{opacity:0.6;cursor:not-allowed;pointer-events:none;}
.email-form .btn.loading{display:flex;align-items:center;gap:8px;}
.btn-spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,0.25);border-top-color:currentColor;border-radius:50%;animation:btn-spin 0.65s linear infinite;flex-shrink:0;}
@keyframes btn-spin{
to{transform:rotate(360deg);}
}
.email-error{display:none;align-items:center;gap:8px;max-width:440px;margin:12px auto 0;color:rgba(255,120,120,0.9);font-size:0.8rem;text-align:center;justify-content:center;}
.email-error.visible{display:flex;}
/* — Email submission success state — */
.email-success[hidden]{display:none;}
.email-success{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:440px;margin:54px auto 0;background:rgba(255,255,255,0.06);border:1px solid rgba(0,208,245,0.40);border-radius:50px;padding:14px 28px;color:rgba(255,255,255,0.85);font-size:0.975rem;font-weight:500;position:relative;}
.email-success svg{width:20px;height:20px;color:var(--blue-2);flex-shrink:0;}
.email-success-close{line-height:0;cursor:pointer;}
.email-message-container{display:flex;align-items:center;gap:10px;flex:1;}
/* ============ FOOTER ============ */
.footer{background:#00070e;padding:72px 0 40px;border-top:1px solid rgba(255,255,255,0.06);}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px;padding-bottom:56px!important;border-bottom:1px solid rgba(255,255,255,0.07);}
.footer-brand p{font-size:0.85rem;margin-top:16px;color:rgba(255,255,255,0.75);line-height:1.65;}
.footer-col{display:flex;flex-direction:column;gap:0;}
.footer-col h4{font-size:0.85rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:18px;}
.footer-col a{color:rgba(255,255,255,0.65);text-decoration:none;font-size:0.862rem;padding:5px 0;display:block;transition:color 0.15s;width:fit-content;}
.footer-col a:hover{color:rgba(255,255,255,0.9);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px!important;color:rgba(255,255,255,0.836);font-size:0.78rem;flex-wrap:wrap;gap:12px;}
.footer-legal{display:flex;gap:24px;}
.footer-legal a{color:rgba(255,255,255,0.86);text-decoration:none;transition:color 0.15s;}
.footer-legal a:hover{color:rgba(255,255,255,0.7);}
.footer .logo img{height:28px;}
/* slightly smaller in the footer */
.reveal{opacity:0;transform:translateY(60px);transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1);}
.section-stats .stats-inner .reveal{text-align:center;}
.reveal.visible{opacity:1;transform:none;}
.delay-1{transition-delay:0.12s;}
.delay-2{transition-delay:0.22s;}
.delay-3{transition-delay:0.32s;}
.delay-4{transition-delay:0.42s;}
/* Individual child fade-up — applied by scroll-reveal.js */
[data-sr]{opacity:0;transform:translateY(22px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1);transition-delay:var(--sr-delay,0s);}
[data-sr].sr-visible{opacity:1;transform:translateY(0);}

@media screen and (max-width:1920px) and (min-width:1400px){
.section-stats .stat.reveal.visible{font-size:clamp(12px,1400px,42px);}
}
@media (max-width:1040px){
.stages-rows{grid-template-columns:1fr;gap:20px;}
.stage-row,
.stage-row-reverse{min-height:520px;}
.stage-row-body{padding:36px 32px;}
.stage-row-bg-num{font-size:7rem; color: #ffffff ;}
.rc-hero{grid-template-columns:1fr;gap:18px;padding:30px 24px 26px;}
.rc-hero-top{padding-right:0;}
.rc-pair{grid-template-rows : unset !important;}
.rc-hero-top::after{display:none;}
.rc-sub-grid{grid-template-columns:1fr;gap:10px;}
.rc-sub + .rc-sub{border-left:none;border-top:none;}
.rc-pair{grid-template-columns:1fr;}
.rc-card{padding:30px 24px 24px;}
.split{grid-template-columns:1fr;gap:48px;}
.steps{grid-template-columns:1fr;gap:28px;}
.caps-grid{display: flex; flex-direction: column; gap: 28px;}
.team-grid{grid-template-columns:1fr;}
.cap-wide{grid-template-columns:1fr;}
.cap-wide .cap-photo{aspect-ratio:16/10;min-height:0;}
.drive-split{grid-template-columns:1fr;gap:40px;}
.section-stats .stats-inner{grid-template-columns:repeat(2,1fr);}
.stat:nth-child(3),
.stat:nth-child(4){border-top:1px solid rgba(0, 0, 0, 0.1);}
[data-theme="dark"] .stat:nth-child(3),
[data-theme="dark"] .stat:nth-child(4){border-top:1px solid rgba(255, 255, 255, 0.28);}
.hero-band .stat:nth-child(3),
.hero-band .stat:nth-child(4){border-top:1px solid rgba(255, 255, 255, 0.1);}

.stat:nth-child(3){border-left:none;}
.footer-grid{grid-template-columns:repeat(2,1fr);}
.footer-brand{grid-column:1 / -1;}
}
@media (max-width:720px){
:root{--container:100%;}
/* expand container to full width on small screens */
.container{padding:0 20px;}
.nav-inner{padding:0 20px;}
.hero-top{padding:130px 0 90px;min-height:75vh;align-items:center;}
.caps-grid{grid-template-columns:1fr;}
.team-grid{grid-template-columns:1fr}
.section-stats .stats-inner{grid-template-columns:1fr 1fr;}
.stat{padding:22px 20px;}
.stat:nth-child(2){border-left:1px solid rgba(0, 0, 0, 0.1);}
.stat:nth-child(3){border-left:none;border-top:1px solid rgba(0, 0, 0, 0.1);}
.stat:nth-child(4){border-left:1px solid rgba(0, 0, 0, 0.1);border-top:1px solid rgba(0, 0, 0, 0.1);}
.hero-band .stat:nth-child(2){border-left:1px solid rgba(255, 255, 255, 0.1);}
.hero-band .stat:nth-child(3){border-top:1px solid rgba(255, 255, 255, 0.1);}
.hero-band .stat:nth-child(4){border-left:1px solid rgba(255, 255, 255, 0.1);border-top:1px solid rgba(255, 255, 255, 0.1);}
.email-form{flex-direction:column;}
.section{padding:80px 0;}
.hero-road-label em{font-size:0.78rem;}
h2{font-size:1.9rem;}
.stages-section{padding:72px 0;}
/* disable hover lift on touch devices */
.stage-row:hover{transform:none;}
.stage-row,
.stage-row-reverse{min-height:400px;}
.stage-row-body{padding:28px 22px;}
.stage-row-body h3{font-size:clamp(24px,5.5vw,30px);margin:0 0 8px;}
.stage-row-meta{margin-bottom:14px;}
.stage-tagline{font-size:0.9rem;margin-bottom:16px;}
.stage-row-bg-num{font-size:5rem;top:16px;left:16px;}
.feature-list li{font-size:0.85rem;}
.feature-list{gap:4px;}
.stage-row::before{
    background: linear-gradient(to top, rgb(0 0 0) 0%, rgba(0, 0, 0, .75) 25%, rgb(0 0 0 / 24%) 55%, rgb(0 0 0 / 3%) 100%);
}
.section-stats .stats-inner{
    padding: 0;
}
}
@media (max-width:480px){
.team-grid{grid-template-columns:1fr;}
.stages-section{padding:56px 0;}
.stage-row,
.stage-row-reverse{min-height:450px;}
.stage-row-body{padding:20px 16px;}
.stage-row-body h3{font-size:clamp(20px,5.5vw,26px);margin:0 0 6px;}
.stage-row-meta{margin-bottom:10px;}
.stage-tagline{font-size:0.85rem;margin-bottom:12px;}
.stage-row-bg-num{font-size:3.5rem;top:12px;left:12px;color:rgba(255,255,255,1);}
.feature-list li{font-size:0.82rem;}
.feature-list{gap:3px;}
}
@media (max-width:1290px){
.nav-inner{height:60px;}
.nav-pill{display:none;}
.nav-inner > .btn{display:none;}
.nav-toggle{display:flex;margin-left:auto;position:relative;z-index:510;position:absolute;right:0px;top:0px;height:100%;width:55px;justify-content:center;align-items:center;background:transparent;}
.scrolled .nav-toggle{background:#2e3248;}
.nav-open .nav-toggle{background:#2e3248;}
.nav-links{position:fixed;top:60px;right:0;width:min(78vw,320px);height:calc(100dvh - 61px);margin-left:0;flex-direction:column;align-items:stretch;gap:0; background-color: #ffffff; backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid rgba(255,255,255,0.10);padding:0px 0 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:490;        /* below nav (500) so toggle button is always reachable */transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform 0.38s cubic-bezier(0.16,1,0.3,1),visibility 0s linear 0.38s;box-shadow:-12px 0 48px rgba(0,0,0,0.50);}
.nav-links.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform 0.38s cubic-bezier(0.16,1,0.3,1),visibility 0s linear 0s;}
.nav-links a{padding:16px 28px;font-size:1.05rem;font-weight:500;border-bottom:1px dashed rgba(255,255,255,0.171);border-radius:0;transition:color 0.15s,background 0.15s;}
.nav-links a:hover{background:rgba(255,255,255,0.06);color:#fff;}
.nav-links a:first-child{border-top:1px dashed rgba(255,255,255,0.171);}
.nav-links .nav-cta{display:flex;align-items:center;padding:14px 28px;border-bottom:none;border-top:none;font-size:0.95rem;font-weight:600;letter-spacing:0.065em;background:#243437a6;color:#fff;        /* box-shadow: 0 4px 18px rgba(0, 168, 204, 0.45); */transition:background 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease;}
.nav-links .nav-cta:hover{background:#243437a6;padding-left:28px;transform:translateY(-1px);}
[data-theme="dark"] .nav-links{background:#0a0a0ceb;}
.nav-inner{padding:0 clamp(20px,0vw,80px);}

.stage-row-body{
    padding: 20px;
}
}


@media (max-width:1380px){
    .stage-row-body{
    padding: 20px;
}
.section-stats .stats-inner{
    padding: 0;
}
}
/* Dimmed backdrop — sits between page content and the offcanvas panel.
Starts at 70px (below the header) so the logo row stays fully unobscured. */
.nav-backdrop{position:fixed;top:60px;left:0;right:0;bottom:0;background:rgba(2,5,16,0.60);opacity:0;visibility:hidden;transition:opacity 0.38s ease,visibility 0s linear 0.38s;z-index:480;    /* above page (no z-index), below panel (490) and nav (500) */cursor:pointer;}
.nav-backdrop.open{opacity:1;visibility:visible;transition:opacity 0.38s ease,visibility 0s linear 0s;}
@media (min-width:1241px){
.nav-backdrop{display:none;}
.nav-links .nav-cta{display:none;}
}
@media (max-width:1241px){
html.nav-open,
body.nav-open{overflow:hidden;}
}
/* Hamburger → X morph */
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);background:#fefefe9d;}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:#fefefe9d;}
/* ============ TECHNOLOGY HEADING — WORD ANIMATION ============
Each word is wrapped in a .tech-word span by JS.
Words start invisible + shifted down; they transition to visible
when the heading enters the viewport (JS adds .visible).
After words settle, JS adds .line-visible to draw a gradient underline.
============ */
#tech-heading{position:relative;padding-bottom:22px; }
#tech-heading::after{content: "";position:absolute;bottom:0;left:0;height:3px;width:0;border-radius:3px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-2) 55%,transparent 100%);transition:width 0.9s cubic-bezier(0.16,1,0.3,1);}
#tech-heading.line-visible::after{width:62%;}
#tech-heading .tech-word{display:inline-block;opacity:0;transform:translateY(24px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform;}
#tech-heading .tech-word.visible{opacity:1;transform:none;}
/* ============ HERO ROAD — ANIMATED PROGRESS LINE ============ */
.hero-road-line::after{animation:road-progress 1.4s cubic-bezier(0.16,1,0.3,1) 0.4s both;}
@keyframes road-progress{
from{width:0;}
to{width:18%;}
}
/* ============ SECTION TRANSITIONS — SUBTLE BG DEPTH ============ */
.section-head .eyebrow{position:relative;}
/* Smooth reveal for the section-head as a whole */
.section-head.reveal.visible .eyebrow{animation:eyebrow-in 0.5s cubic-bezier(0.16,1,0.3,1) both;}
.section-head.reveal.visible .eyebrow.eyebrow-light{background-color: transparent;border-radius:8px;padding:5px 20px;    /* box-shadow: 1px 2px 11px 3px #bdc0cb; */}
@keyframes eyebrow-in{
from{opacity:0;transform:translateX(-12px);}
to{opacity:1;transform:none;}
}
/* ============ CARD SHINE EFFECT ON HOVER ============ */
.cap-card{overflow:hidden;}
.cap-card::after{content: "";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,0.08) 50%,transparent 100%);transform:skewX(-15deg);transition:left 0.55s ease;pointer-events:none;}
.cap-card:hover::after{left:130%;}
.cta-divider{display:block;border:0;height:1px;margin:40px 0;background:linear-gradient(to right,transparent,#cfcfcf,transparent);}
@media(max-width:580px){
.research-section .rc-hero{padding:28px 15px 18px;}
.research-section .rc-card{padding:15px 15px 13px;}
.research-section .rc-sub{padding:10px 15px 10px;}
.cta{padding:60px 0;}
.cta h2{line-height:1.35;}
.footer-bottom{justify-content:center;flex-direction:column-reverse;}
.footer-legal,.footer .container .cpwr{flex-direction:column;align-items:flex-start;align-self:flex-start;gap:8px;}
}
/* Ensure cards that already have ::before keep positioning context */
/* ── Scroll To Top ──────────────────────────────────────────────────── */
.scroll-top{position:fixed;bottom:32px;right:32px;z-index:5;width:44px;height:44px;border-radius:50%;border:none;background:rgb(255,255,255);color:#000000;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,0.35);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity 0.3s ease,visibility 0.3s ease,transform 0.3s ease,background 0.2s ease,bottom 0.18s ease;}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top:hover{background:rgb(240,240,240);}
.scroll-top::before{content: 'Back to top';position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);background:rgba(10,15,30,0.88);color:#ffffff;font-family:var(--font);font-size:11px;font-weight:500;letter-spacing:0.4px;white-space:nowrap;padding:5px 10px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;}
.scroll-top::after{content: '';position:absolute;right:calc(100% + 0px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:rgba(10,15,30,0.88);pointer-events:none;opacity:0;transition:opacity 0.2s ease;}
.scroll-top:hover::before,
.scroll-top:focus-visible::before{opacity:1;transform:translateY(-50%) translateX(0);}
.scroll-top:hover::after,
.scroll-top:focus-visible::after{opacity:1;}
@media (hover:none),(max-width:480px){
.scroll-top::before,
.scroll-top::after{display:none;}
}
.progress-ring{position:absolute;top:0;left:0;width:44px;height:44px;transform:rotate(-90deg);pointer-events:none;}
.progress-ring__circle{fill:none;stroke:#000000;stroke-width:2.5;stroke-dasharray:119.38;stroke-dashoffset:119.38;stroke-linecap:round;transition:stroke-dashoffset 0.15s ease;}
.scroll-icon{width:20px;height:20px;}
.popup-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(5,9,28,0.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity 0.25s ease;}
.popup-overlay.active{display:flex;}
.popup-overlay.active.popup-open{opacity:1;}
.hide{display:none!important;}
.popup-card{position:relative;background:#ffffff;border-radius:10px;box-shadow:var(--shadow-lg);width:100%;max-width:650px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(0.97);transition:transform 0.28s cubic-bezier(0.34,1.36,0.64,1),opacity 0.25s ease;opacity:0;}
.popup-overlay.popup-open .popup-card{transform:translateY(0) scale(1);opacity:1;}
.popup-close{position:absolute;top:13px;right:18px;width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-3);color:var(--ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease,color 0.2s ease;flex-shrink:0;z-index:20;}
.popup-close:hover{background:var(--border-2);}
.popup-close svg{width:16px;height:16px;}
.popup-close::before{content: 'Close';position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);background:rgba(10,15,30,0.88);color:#ffffff;font-family:var(--font);font-size:11px;font-weight:500;white-space:nowrap;padding:4px 9px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity 0.18s ease,transform 0.18s ease;z-index:30;}
.popup-close::after{content: '';position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-bottom-color:rgba(10,15,30,0.88);pointer-events:none;opacity:0;transition:opacity 0.18s ease;z-index:30;}
.popup-close:hover::before{opacity:1;transform:translateX(-50%) translateY(0);}
.popup-close:hover::after{opacity:1;}
@media (hover:none){
.popup-close::before,
.popup-close::after{display:none;}
}
.popup-body{padding:10px 40px 40px;overflow-y:auto;flex:1;scrollbar-color:rgba(0,0,0,0.404) transparent;}
.popup-body::-webkit-scrollbar{width:4px;}
.popup-body::-webkit-scrollbar-track{background:transparent;}
.popup-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.14);cursor:pointer;}
.popup-body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.28);cursor:pointer;}
.popup-body .eyebrow{position:fixed;width:100%;top:0;z-index:10;background:#ffffff;margin:0 -40px 20px;padding:18px 72px 18px 40px;border-bottom:1px solid rgba(0,0,0,0.07);font-size:0.82rem;}
.popup-title{font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:10px;}
.popup-sub{font-size:0.92rem;color:var(--muted);line-height:1.65;margin-bottom:28px;}
/* Form fields */
.popup-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.field-group{display:flex;flex-direction:column;gap:6px;}
.field-group--full{grid-column:1 / -1;}
.field-group label{font-size:0.82rem;font-weight:600;color:var(--ink-2);letter-spacing:0.03em;}
.req-star{color:#e53935;margin-left:1px;}
.field-error{font-size:0.75rem;color:#e53935;display:none;margin-top:4px;}
.field-group input.error + .field-error,
.field-group textarea.error + .field-error{display:block;}
.field-group input,
.field-group textarea{font-family:var(--font);font-size:0.93rem;color:var(--ink);background:var(--bg-2);border:1.5px solid var(--border);border-radius:10px;padding:12px 16px;outline:none;transition:border-color 0.2s ease,box-shadow 0.2s ease;resize:vertical;}
.field-group input::placeholder,
.field-group textarea::placeholder{color:var(--faint);}
.field-group input:focus,
.field-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,168,204,0.15);background:#fff;}
.field-group input.error,
.field-group textarea.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(232,0,26,0.10);}
.popup-submit{width:100%;justify-content:center;background:#0d2347;border-color:#0d2347;box-shadow:none;}
.popup-submit:hover{background:#112d58;border-color:#112d58;box-shadow:none;}
.popup-submit:focus{background:#112d58!important;border-color:#112d58!important;box-shadow:0 0 10px 3px rgba(17,45,88,0.514)!important;outline:none!important;}
/* Success state */
.popup-success{text-align:center;padding:20px 0 8px;}
.popup-success svg{width:52px;height:52px;stroke:var(--blue);margin-bottom:16px;}
.popup-success h3{font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:8px;}
.popup-success p{font-size:0.92rem;color:var(--muted);}
.popup-toast{position:fixed;top:88px;left:50%;transform:translateX(-50%) translateY(-16px);z-index:2000;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;font-family:var(--font);font-size:0.875rem;font-weight:500;line-height:1.4;border:1.5px solid;box-shadow:0 8px 32px rgba(0,0,0,0.14),0 2px 8px rgba(0,0,0,0.10);min-width:630px;max-width:min(650px,calc(100vw - 32px));opacity:0;pointer-events:none;transition:opacity 0.32s ease,transform 0.32s ease;}
.popup-toast--visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.popup-toast--success{background:#f8edba;border-color:#e7ef86;color:#202100;}
.popup-toast--error{background:#fef2f2;border-color:#fca5a5;color:#991b1b;}
/* [data-theme="dark"] .popup-toast--success {     background: #282407;
border-color: #5e5609;
color: #fff011;
} */
[data-theme="dark"] .popup-toast--error{background:#450a0a;border-color:#991b1b;color:#fca5a5;}
.popup-toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;}
.popup-toast-icon svg{width:20px;height:20px;}
.popup-toast-msg{flex:1;}
.popup-toast-close{background:none;border:none;cursor:pointer;padding:2px;color:inherit;opacity:0.5;flex-shrink:0;display:flex;align-items:center;transition:opacity 0.15s;}
.popup-toast-close:hover{opacity:1;}
.popup-toast-close svg{width:20px;height:20px;}
/* Mobile */
@media (max-width:520px){
.popup-body{padding:20px 24px 28px;}
.popup-body .eyebrow{margin:0 -24px 16px;padding:14px 68px 14px 24px;}
.popup-fields{grid-template-columns:1fr;}
.popup-title{font-size:1.35rem;}
}
@media (max-width:768px){
.popup-toast{min-width:90%}
.popup-toast .popup-toast-msg{font-size:0.775rem}
}
[data-theme="dark"]{--bg:#080808;--bg-2:#10131d;--bg-3:#0a0c0f;--ink:#e8f1fc;--ink-2:#b6cbe0;--muted:#8aabcc;--faint:#5e7898;--border:rgba(255,255,255,0.11);--border-2:rgba(255,255,255,0.20);--blue-title-top:#2ad4f2;--blue-glow:rgba(0,200,245,0.28);--blue-soft:rgba(0,200,245,0.12);--shadow-sm:0 1px 4px rgba(0,0,0,0.50),0 1px 2px rgba(0,0,0,0.35);--shadow-md:0 6px 24px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.40);--shadow-lg:0 20px 60px rgba(0,0,0,0.65),0 8px 20px rgba(0,0,0,0.45);}
/* Smooth background/border/color transitions when theme switches */
[data-theme] body,
[data-theme] .section,
[data-theme] .section-alt,
[data-theme] .section-dark,
[data-theme] .research-section,
[data-theme] .team-section,
[data-theme] .stages-section,
[data-theme] .cta,
[data-theme] .footer,
[data-theme] .cap-card,
[data-theme] .rc-hero,
[data-theme] .rc-card,
[data-theme] .rc-sub,
[data-theme] .team-card{transition:background-color 0.35s ease,border-color 0.35s ease,color 0.35s ease;}
[data-theme="dark"] .hero{background:#080808;}

[data-theme="dark"] .nav.scrolled .logo-white{
    opacity:1;
}

[data-theme="dark"] .nav.scrolled .logo-dark{
    opacity:0;
}
[data-theme="dark"] .nav.scrolled .nav-links a{
    color:rgba(255,255,255,0.85);
}
[data-theme="dark"] .hero-scrim{background:linear-gradient(to bottom,rgba(5,9,28,0.40) 0%,rgba(5,9,28,0.65) 45%,rgb(8 8 8) 100%),linear-gradient(to right,rgba(5,9,28,0.35) 0%,transparent 35%,transparent 65%,rgba(5,9,28,0.35) 100%)}
[data-theme="dark"] .nav::before{background:#0a0a0ceb;}
[data-theme="dark"] .nav-backdrop.open{background:#020510de;}
[data-theme="dark"] .section-dark{background:#10131d;}
[data-theme="dark"] .team-section{ background: rgb(2 2 2);}
[data-theme="dark"] .team-section::before{ display: none;}
[data-theme="dark"] .stages-section{background: rgb(8 9 10);}
[data-theme="dark"] .stages-section::before{background:radial-gradient(ellipse,rgba(0,200,245,0.14) 0%,transparent 65%);}
[data-theme="dark"] .cta{background:#000000;}
[data-theme="dark"] .research-section{background:linear-gradient(180deg,#05080e 0%,#060b13 52%,#07101b 100%);}
[data-theme="dark"] .research-section::before{background:radial-gradient(circle,rgba(0,200,245,0.18) 0%,rgba(0,200,245,0.06) 34%,transparent 72%);}
[data-theme="dark"] .research-section::after{background:radial-gradient(circle,rgba(0,200,245,0.1) 0%,rgba(0,200,245,0.04) 30%,transparent 72%);}
[data-theme="dark"] .rc-hero,
[data-theme="dark"] .rc-card,
[data-theme="dark"] .team-card{background:#04070a;border-color:rgba(255,255,255,0.10);}
[data-theme="dark"] .rc-hero{box-shadow:0 0 0 1px rgba(0,200,245,0.14),var(--shadow-md);}
[data-theme="dark"] .rc-hero::after{opacity:0.85;}
[data-theme="dark"] .rc-hero-top::after{background:linear-gradient(180deg,rgba(0,200,245,0.32) 0%,rgba(0,200,245,0.08) 100%);}
[data-theme="dark"] .rc-hero-title h3,
[data-theme="dark"] .rc-card h3,
[data-theme="dark"] .rc-sub h4{color:#eaf4ff;}
[data-theme="dark"] .rc-card .rc-desc{color:#afc8da;}
[data-theme="dark"] .rc-sub-grid{border-color:rgba(255,255,255,0.09);background:rgba(255, 255, 255, 0);}
[data-theme="dark"] .rc-sub{background:#0c0e16;}
[data-theme="dark"] .rc-sub:hover{background:rgba(14,15,15,0.08);}
[data-theme="dark"] .cap-card{background:#0c0e16;border-color:rgba(255,255,255,0.10);}
[data-theme="dark"] .cap-photo{background:#091028;}
[data-theme="dark"] .cap-card:hover{border-color:rgba(0,200,245,0.35);box-shadow:0 24px 60px rgba(0,0,0,0.60),0 0 0 1px rgba(0,200,245,0.22),0 0 44px rgba(0,200,245,0.12);}
[data-theme="dark"] .cap-card::after{background:linear-gradient(120deg,transparent 0%,rgba(0,200,245,0.05) 50%,transparent 100%);}
/* Rich gradient on all light-section headings */
[data-theme="dark"] .section-head h2:not(#tech-heading),
[data-theme="dark"] .team-section .section-head h2:not(#tech-heading){background:linear-gradient(140deg,#f0f8ff 0%,#9adff8 55%,#5dcef5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* Apply same gradient to the Roadmap section (currently hardcoded white) */
[data-theme="dark"] .stages-section .section-head h2{background:linear-gradient(140deg,#f0f8ff 0%,#9adff8 55%,#5dcef5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* Eyebrow pill: replace harsh white box with teal-tinted glass */
[data-theme="dark"] .section-head.reveal.visible .eyebrow.eyebrow-light{background-color:transparent; color: #ffffff;}
[data-theme="dark"] .badge-dev{background:rgba(255,255,255,0.07);color:var(--muted);border-color:rgba(255,255,255,0.12);}
[data-theme="dark"] .badge-future{background:rgba(255,255,255,0.04);color:var(--faint);border-color:rgba(255,255,255,0.08);}
[data-theme="dark"] .drive-map figcaption{background:#080d24;}
[data-theme="dark"] .drive-map{border-color:rgba(255,255,255,0.10);}
[data-theme="dark"] .drive-item{border-bottom-color:rgba(255,255,255,0.13);}
[data-theme="dark"] .drive-item:first-child{border-top-color:rgba(255,255,255,0.13);}
[data-theme="dark"] .why-item{border-bottom-color:rgba(255,255,255,0.13);}
[data-theme="dark"] .why-item:first-child{border-top-color:rgba(255,255,255,0.13);}
[data-theme="dark"] .step{border-top-color:rgba(255,255,255,0.15);}
[data-theme="dark"] .footer{background:#000000;border-top-color:rgba(255,255,255,0.07);}
[data-theme="dark"] .footer-grid{border-bottom-color:rgba(255,255,255,0.08);}
[data-theme="dark"] .footer-brand p{color:rgba(255,255,255,0.42);}
[data-theme="dark"] .footer-col h4{color:rgba(255,255,255,0.42);}
[data-theme="dark"] .footer-col a{color:rgba(255,255,255,0.60);}
[data-theme="dark"] .footer-col a:hover{color:rgba(255,255,255,0.94);}
[data-theme="dark"] .footer-bottom{color:rgba(255,255,255,0.30);}
[data-theme="dark"] .footer-legal a{color:rgba(255,255,255,0.60);}
[data-theme="dark"] .footer-legal a:hover{color:rgba(255,255,255,0.78);}
[data-theme="dark"] .cta-divider{background:linear-gradient(to right,transparent,rgba(255,255,255,0.14),transparent);}
/* Darker, more immersive backdrop */
[data-theme="dark"] .popup-overlay{background:rgba(1,3,12,0.86);}
/* Card: dark slate with visible border and strong shadow */
[data-theme="dark"] .popup-card{background:#06070b;border:1px solid rgba(255,255,255,0.10);box-shadow:0 0 0 1px rgba(0,200,245,0.07),0 32px 80px rgba(0,0,0,0.72);}
/* Title: gradient treatment matching section headings */
[data-theme="dark"] .popup-title{background:linear-gradient(140deg,#f0f8ff 0%,#9adff8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* Close button: glass with a subtle border */
[data-theme="dark"] .popup-close{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.13);color:var(--ink-2);}
[data-theme="dark"] .popup-close:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.24);}
[data-theme="dark"] .popup-body .eyebrow{background:#06070b;border-bottom-color:rgba(255,255,255,0.08);}
[data-theme="dark"] .popup-body{scrollbar-color:rgba(255,255,255,0.14) transparent;}
[data-theme="dark"] .popup-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.14);}
[data-theme="dark"] .popup-body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.28);}
/* Inputs: slightly opaque surface with a clear border */
[data-theme="dark"] .field-group input,
[data-theme="dark"] .field-group textarea{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.14);color:var(--ink);}
[data-theme="dark"] .field-group input::placeholder,
[data-theme="dark"] .field-group textarea::placeholder{color:rgba(255,255,255,0.28);}
/* Focus: teal accent ring */
[data-theme="dark"] .field-group input:focus,
[data-theme="dark"] .field-group textarea:focus{background:rgba(0,200,245,0.05);border-color:rgba(0,200,245,0.55);box-shadow:0 0 0 3px rgba(0,200,245,0.12);}
[data-theme="dark"] .popup-submit{background:var(--blue);border-color:var(--blue);box-shadow:0 4px 22px rgba(0,168,204,0.45);}
[data-theme="dark"] .popup-submit:hover{background:#0090b0;border-color:#0090b0;box-shadow:0 6px 28px rgba(0,168,204,0.62);}
[data-theme="dark"] .popup-submit:focus{background:#006379!important;border-color:#0090b0!important;box-shadow:0 0 10px 3px rgba(0,168,204,0.65)!important;outline:none!important;}
.footer-theme{margin-top:20px;}
.theme-toggle{position:relative;width:62px;height:30px;flex-shrink:0;padding:0;border-radius:50px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.07);cursor:pointer;transition:background 0.25s ease,border-color 0.25s ease;-webkit-tap-highlight-color:transparent;}
.theme-toggle:hover{border-color:rgba(0,208,245,0.45);}
.theme-toggle-knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffe7b0 0%,#ffd27a 100%);box-shadow:0 2px 8px rgba(0,0,0,0.45);transition:transform 0.30s cubic-bezier(0.16,1,0.3,1),background 0.30s ease;}
.theme-toggle .ti{position:absolute;width:14px;height:14px;transition:opacity 0.2s ease;}
.ti-sun{color:#8a5a00;opacity:1;}
.ti-moon{color:#cfeeff;opacity:0;}
[data-theme="dark"] .theme-toggle{background:rgba(0,200,245,0.16);border-color:rgba(0,208,245,0.40);}
[data-theme="dark"] .theme-toggle-knob{transform:translateX(32px);background:linear-gradient(135deg,#1aa9d6 0%,#0d6f96 100%);}
[data-theme="dark"] .ti-sun{opacity:0;}
[data-theme="dark"] .ti-moon{opacity:1;}
/* Scroll-to-top ring in dark mode */
[data-theme="dark"] .scroll-top{background:#1e1f22;color:#eaf1fb;}
[data-theme="dark"] .scroll-top:hover{background:#1e1f22;}
[data-theme="dark"] .scroll-top::before{background:#1e1f22;color:#e8eeff;border:1px solid rgba(255,255,255,0.12);}
[data-theme="dark"] .scroll-top::after{border-left-color:#1e1f22;}
[data-theme="dark"] .progress-ring__circle{stroke:#2ad0ee;}
@media (prefers-reduced-motion:reduce){
.cap-body h3 [data-theme] body,
[data-theme] .section,
[data-theme] .section-alt,
[data-theme] .section-dark,
[data-theme] .research-section,
[data-theme] .team-section,
[data-theme] .stages-section,
[data-theme] .cta,
[data-theme] .footer,
[data-theme] .cap-card,
[data-theme] .rc-hero,
[data-theme] .rc-card,
[data-theme] .rc-sub,
[data-theme] .team-card,
.theme-toggle-knob{transition:none;}
}
@media (max-width:380px){
.hero h1{        /* font-size : 40px;  */
font-size:clamp(20px,10vw,40px);}
}
/* ============ HARDWARE ============ */
/* ============ HARDWARE ============ */
.section#hardware .container{display:flex;align-items:center;justify-content:space-between;gap:64px;}
.section#hardware .section-head{margin-bottom:0;flex-shrink:0;}
.section#hardware .section-head h2{font-size:clamp(2rem,4.5vw,4rem);}
.hw-panel{flex:1;max-width:650px;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:5px !important;box-shadow:none !important;overflow:hidden;position:relative;}
.hw-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--border);background:var(--bg-2);}
.hw-panel-label{font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:0.2px;text-transform:uppercase;color:var(--faint);}
.hw-list{list-style:none;}
.hw-row{display:flex;align-items:center;gap:18px;padding:22px 32px;border-bottom:1px solid var(--border);transition:background 0.2s ease;}
.hw-row:last-child{border-bottom:none;}
.hw-row:not(.hw-total):hover{background:var(--bg-2);}
.hw-row:not(.hw-total):hover .hw-icon{background:rgba(0,200,245,0.16);box-shadow:0 0 22px rgba(0,200,245,0.28);color:var(--blue);}
.hw-icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--blue-soft);border:1px solid rgba(0,200,245,0.18);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:background 0.25s,box-shadow 0.25s,color 0.25s;}
.hw-icon svg{width:20px;height:20px;}
.hw-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.hw-name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;}
.hw-desc{font-size:0.82rem;color:var(--faint);}
.hw-qty{font-family:var(--font-heading);font-size:0.55rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(0,200,245,0.22);padding:2px 9px;border-radius:4.1px;}
.hw-cost{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--ink);white-space:nowrap;flex-shrink:0;min-width:85px;line-height:20px;}
.hw-cost em{font-style:normal;font-size:0.65rem;font-weight:500;color:var(--faint);margin-left:4px;text-transform:uppercase;letter-spacing:0.06em;}
.hw-total{background:var(--bg-2);position:relative;padding:26px 32px;}
.hw-total::before{content: "";position:absolute;top:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,var(--border-2),transparent);}
.hw-total .hw-name{font-size:1.18rem;font-weight:700;}
.hw-total .hw-cost{font-size:1.6rem;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
[data-theme="dark"] .hw-panel{background:#0c0e16;border-color:rgba(255,255,255,0.10);box-shadow:0 0 0 1px rgba(0,200,245,0.06),var(--shadow-md);}
[data-theme="dark"] .hw-panel-head{background:rgba(255,255,255,0.03);border-bottom-color:rgba(255,255,255,0.09);}
[data-theme="dark"] .hw-row{border-bottom-color:rgba(255,255,255,0.09);}
[data-theme="dark"] .hw-total{background:rgba(255,255,255,0.03);}
[data-theme="dark"] .hw-total::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,0.14),transparent);}
[data-theme="dark"] .hw-name{color:var(--ink);}
@media (max-width:1350px){
.section#hardware .container{flex-direction:column;align-items:stretch;gap:40px;}
.hw-panel{max-width:100%;}
}
@media (max-width:480px){
.hw-panel-head{padding:16px 22px;}
.hw-row{padding:18px 22px;gap:14px;}
.hw-icon{width:38px;height:38px;}
.hw-icon svg{width:17px;height:17px;}
.hw-name{font-size:0.92rem;}
.hw-desc{font-size:0.76rem;}
.hw-cost{font-size:1rem;}
.hw-total .hw-cost{font-size:1.35rem;}
}
.grecaptcha-badge{visibility:hidden;}
p.recaptcha-terms{font-size:12px;padding-top:15px;text-align:center;color:rgba(3,3,3,0.61);}
form#ctaEmailForm .recaptcha-notice{text-align:left;font-size:12px;color:rgb(255 255 255 / 28%);margin-top:0px;padding-left:16px;}
#ctaEmailForm .btn-inverse{padding:13px 30px;height:fit-content;}
form#ctaEmailForm .email-input-group{display:flex;flex-direction:row;min-width:285px;gap:8px;}
[data-theme="dark"] p.recaptcha-terms{color:rgb(255 255 255 / 28%);}
@media (max-width:580px){
form#ctaEmailForm{align-items:center;}
form#ctaEmailForm .email-input-group{flex-direction:column;gap:20px;width:100%;min-width:0px;}
.recaptcha-notice{text-align:center;}
}
[data-theme="dark"] .field-group input.error,
.field-group textarea.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(232,0,26,0.10);}
.message-counter{font-size:12px;color:#646464;}
.submitting{position:relative;pointer-events:none;cursor:not-allowed;opacity:0.6;color:transparent;user-select:none;}
.submitting::after{content: "";position:absolute;width:18px;height:18px;top:50%;left:50%;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:submitting-loader 0.7s linear infinite;}
@keyframes submitting-loader{
to{transform:rotate(360deg);}
}
/* Chrome, Edge, Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
/* Firefox */
input[type="number"]{-moz-appearance:textfield;appearance:textfield;}
.popup-head{min-height:65px;display:flex;align-items:center;padding:17px 33px;border-bottom:1px solid var(--border);}
.popup-head .eyebrow{margin-bottom:0px;}
/* ============ HARDWARE ============ */
.hw-panel{max-width:760px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow-sm);}
.hw-list{list-style:none;}
.hw-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:24px 32px;border-bottom:1px solid var(--border);transition:background 0.18s ease;}
.hw-row:hover{background:var(--bg-3);}
.hw-row:last-child{border-bottom:none;}
.hw-name{font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:-0.01em;}
.hw-qty{font-family:var(--font-heading);font-weight:500;font-size:0.82rem;color:var(--muted);margin-left:6px;}
.hw-cost{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--ink-2);white-space:nowrap;}
.hw-cost em{font-style:normal;font-size:0.78rem;color:var(--muted);margin-left:5px;}
.hw-total{background:rgba(0,200,245,0.05);}
.hw-total:hover{background:rgba(0,200,245,0.09);}
.hw-total .hw-name{color:var(--blue);}
.hw-total .hw-cost{color:var(--blue);font-weight:700;font-size:1.3rem;}
/* ============ RESEARCH 3D VIDEO ============ */
.research-video-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(0,200,245,0.18);box-shadow:0 0 0 1px rgba(0,200,245,0.06),var(--shadow-md);margin-top:24px;background:#050916;display:none;}
.research-video-wrap video{width:100%;display:block;object-fit:cover;}
.research-video-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,200,245,0.12) 0%,transparent 55%);pointer-events:none;}
/* ============ DARK THEME — HARDWARE ============ */
[data-theme="dark"] .hw-panel{background:var(--dark-2);border-color:var(--d-border);}
[data-theme="dark"] .hw-row{border-bottom-color:var(--d-border);}
[data-theme="dark"] .hw-row:hover{background:rgba(255,255,255,0.04);}
[data-theme="dark"] .hw-name{color:rgba(255,255,255,0.88);}
[data-theme="dark"] .hw-cost{color:rgba(255,255,255,0.72);}

/* ---- Stage feature list: dot indicator + spacious rows ---- */

/* ---- Research sub-programs: heading fills the tile ---- */
.rc-sub{padding:20px 22px;}
.rc-sub h4{font-size:1.05rem;margin-bottom:0;padding-left:14px;border-left:3px solid var(--blue);}
.rc-hero .rc-sub-grid{margin-top:0;}
/* ---- How It Works: big gradient number + bold heading only ---- */
.step h3{font-size:clamp(1.52rem,2.4vw,1.95rem);margin-bottom:0;}
.step{padding-bottom:38px;}
/* ---- Where We Drive: h3-only rows — larger type + → hover accent ---- */
.drive-item{padding:26px 4px 26px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.drive-item h3{font-size:clamp(1.22rem,1.9vw,1.5rem);margin-bottom:0;}
.drive-item:last-child::after{display: none;}
.drive-item:hover::after{opacity:1;transform:translateX(6px);}
/* ---- Safety why-items: h3-only rows — → hover accent ---- */
.why-item{padding:15px 4px 15px 0;display:flex;align-items:center;justify-content:center;gap:16px; }
.why-item h3{font-size:clamp(1.05rem,1.5vw,1.2rem);margin-bottom:0;}
.why-item h3::before{display:none;}
.why-icon{
    flex-shrink:0;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.22);
    background:rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffffff;
}
.why-icon svg{width:17px;height:17px;}
.why-item:hover::after{opacity:0.88;transform:translateX(6px);}
/* ---- Research 3D video: minimum container presence ---- */
.research-video-wrap{min-height:320px;}
/* ---- Dark mode border adjustments ---- */
[data-theme="dark"] .drive-item{border-color:rgba(255,255,255,0.08);}
[data-theme="dark"] .why-item{border-color:rgba(255,255,255,0.08);}
[data-theme="dark"] .hw-total{background:rgba(0,200,245,0.08);}
[data-theme="dark"] .hw-total:hover{background:rgba(0,200,245,0.13);}
/* ---- Safety / why-list responsive (after base override to win cascade) ---- */
@media (max-width:1040px){
    .split{gap:40px;position:relative;}
    .split-text h2{font-size:clamp(2rem,4vw,3rem);}
    .why-list{position:absolute;bottom:0;left:0;width:100%;margin:0;grid-template-columns:repeat(2,1fr);gap:14px;border-radius:20px;}
}
@media (max-width:720px){
    #safety{padding:72px 0;}
    .split-text h2{font-size:clamp(1.8rem,5vw,2.4rem);}
    .why-list{gap:12px;border-radius:16px;padding:4px;}
    .why-item{gap:12px;padding:14px 12px;}
    .why-item h3{font-size:clamp(0.9rem,3.5vw,1.05rem);}
    .why-icon{width:34px;height:34px;}
    .why-icon svg{width:15px;height:15px;}
}
@media (max-width:480px){
    #safety{padding:60px 0;}
    .split-text h2{font-size:clamp(1.65rem,6vw,2rem);}
    .why-list{grid-template-columns:1fr;gap:8px;border-radius:12px;padding:6px;}
    .why-item{justify-content:flex-start;padding:12px 14px;gap:12px;}
    .why-item h3{font-size:0.95rem;}
}
@media (max-width:768px){
.popup-head{padding:17px 20px;}
.email-message-container{font-size:12px;}
}
#ctaEmailForm .field-error{display:none;line-height:0;font-size:12px;color:#dc3545;text-align:left;padding-left:17px;}
#ctaEmailForm .email-input-group input.error{border-color:#dc3545;}
#ctaEmailForm .email-input-group input.error:focus{border-color:#dc3545;box-shadow:0 0 0 2px rgba(220,53,69,0.15);}
#ctaEmailForm .field-error.show{display:block;}
@media (max-width:1480px){
.nav-links a{font-size:0.855rem;}
.nav-links .nav-cta{font-size:0.855rem;}
.nav-inner .btn-primary{font-size:0.755rem;}
}
@media (max-width:1280px){
.nav-inner{max-width:100%;}
.container{padding:0 0;}
}
@media (max-width: 720px) {
    .container {
        padding: 0 20px;
    }
}
.error-notification{position:relative;min-width:100%;max-width:100%;top:0;box-shadow:none;display:none;opacity:0;background:#fef2f2;border-color:#fca5a5;color:#991b1b;z-index:2000;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;font-family:var(--font);font-size:0.875rem;font-weight:500;line-height:1.4;border:1.5px solid;opacity:0;transition:opacity 0.32s ease,transform 0.32s ease;margin-bottom:20px;}
.error-notification.show{display:flex;opacity:1;visibility:visible;}
#ctaEmailForm .error-notification{justify-content:space-between;z-index:1;}
#ctaEmailForm .error-notification .subscription-error-wrapper{display:flex;align-items:center;gap:12px;}
[data-theme="dark"] .error-notification{background:#450a0a;border-color:#991b1b;color:#fca5a5;}
#how .steps h3{line-height: 1.7;}
/* ================================================================
VIDEO HERO — IDriveX promotional video full-screen experience
Companion stylesheet to main-style-03082026.css
Implements the Wayve.ai-style full-viewport video hero with
transparent nav overlay and bottom-anchored heading.
================================================================ */
/* ---- Full-screen video section ---- */
.vh-hero{position:relative;width:100%;height:100vh;min-height:560px;overflow:hidden;background:#05091c;}
.vh-video-wrap{position:absolute;inset:0;z-index:0;}
.vh-video{width:100%;height:100%;object-fit:cover;display:block;}
/* Gradient scrim: subtle at top so transparent nav remains legible;
deepens toward bottom where the heading sits */
/* .vh-scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,rgba(5,9,28,0.10) 0%,rgba(5,9,28,0.22) 40%,rgba(5,9,28,0.70) 72%,rgba(5,9,28,0.90) 100%);} */
.vh-scrim{position:absolute;inset:0;z-index:0;background:transparent;}
/* ---- Heading pinned to bottom-left (Wayve.ai style) ---- */
.vh-caption{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:0 clamp(24px,7vw,136px) clamp(48px,8vh,100px);}
.vh-caption h1{color:#fff;font-size:clamp(2.6rem,5.5vw,4rem);font-weight:400;letter-spacing:-0.03em;line-height:1.05;text-shadow:0 2px 40px rgba(5,9,28,0.55);margin:0 0 20px;}
.vh-caption-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top: 20px;}
/* Hero entrance — staggered fade-up on page load */
@keyframes hero-fade-up{from{opacity:0;transform:translateY(48px);}to{opacity:1;transform:translateY(0);}}
.vh-caption h1{animation:hero-fade-up 1s cubic-bezier(0.16,1,0.3,1) 0.25s both;}
.vh-caption .vh-intro-text{animation:hero-fade-up 1s cubic-bezier(0.16,1,0.3,1) 0.45s both;}
.vh-caption-actions a:nth-child(1){animation:hero-fade-up 0.9s cubic-bezier(0.16,1,0.3,1) 0.65s both;}
.vh-caption-actions a:nth-child(2){animation:hero-fade-up 0.9s cubic-bezier(0.16,1,0.3,1) 0.78s both;}
@media (prefers-reduced-motion:reduce){
.vh-caption h1,.vh-caption .vh-intro-text,.vh-caption-actions a{animation:none;}
/* .vh-video{display:none;} */
}
/* ---- Intro text — first content block after the video ---- */
.vh-intro{background:#05091c;padding:clamp(40px,7vh,80px) 0 clamp(48px,7vh,88px);border-bottom:1px solid rgba(255,255,255,0.07);}
.vh-intro-text{font-size:clamp(1rem,1.9vw,1.22rem);color:rgba(255,255,255,0.78);line-height:1.78;max-width:860px;margin:0;}
.vh-intro-text--center{text-align:center;margin:0 auto;}
/* ---- Dark band holding the roadmap + stats below the intro ---- */
/* ── Hero Band — dark premium section bridging the video intro and technology ── */
.hero-band { background:linear-gradient(180deg, #000000 0%, #0e151e 55%, #06090c 100%); position: relative; }
.hero-band::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(0, 200, 245, 0.3) 50%, transparent 100%); pointer-events: none; }
[data-theme="dark"] .hero-band { background: linear-gradient(175deg, #04060e 0%, #080e18 55%, #0f161e 100%); }
/* scoped overrides — hero-band is always dark so light-mode base values must be neutralised */
.hero-band .stat-num { color: #ffffff; }
.hero-band .stat-label { color: rgba(255, 255, 255, 0.55); }
.hero-band .stat + .stat { border-left: 1px solid rgba(255, 255, 255, 0.1); }
.hero-band .stat.sec-2 { border-right: 1px solid rgba(255, 255, 255, 0.1); }
.hero-band .section-stats { border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.hero-band .hero-road-label { color: rgba(255, 255, 255, 0.55); }
.hero-band .hero-road-label em { color: rgba(255, 255, 255, 0.92); }
.hero-band .hero-road-stop.here .hero-road-label em { color: #ffffff; }
.hero-band .hero-road-line { background: linear-gradient(90deg, rgba(52, 98, 107, 0.5) 0%, rgba(255, 255, 255, 0.22) 50%, rgba(0, 208, 245, 0.2) 100%); }
/* at 4-col full width, only left borders are needed — no border-top here (that causes doubles with section-stats border-top) */
.hero-band .stat:nth-child(3) { border-left: none; }
.hero-band .stat:nth-child(4) { border-left: 1px solid rgba(255, 255, 255, 0.1); }
/* ---- Responsive tweaks ---- */
@media (max-width:768px){
.vh-caption{padding:0 clamp(20px,5vw,40px) clamp(36px,6vh,64px);}
.vh-caption h1{font-size:clamp(2rem,7vw,2.8rem);}
}
@media (max-width:480px){
.vh-intro-text{font-size:1rem;}
}
@media screen and (max-width:1600px){
    .vh-caption h1{font-size:clamp(2.6rem, 5.5vw, 3.9rem);font-weight: 500;}
    .vh-caption .btn{font-size:clamp(0.8rem, 2vw, 0.85rem);  font-weight: 400;}
    #how .step p {    font-size: 1rem;}
}

@media screen and (max-width:1920px){
    .vh-caption h1{
            font-size: clamp(2.6rem, 5.5vw, 3.5rem);
    }
    .vh-intro-text{
        font-size: clamp(1rem, 1.9vw, 1.12rem);

    }
}
/* ---- Mobile hero overrides — must follow the 1600/1920 blocks to win cascade ---- */
@media (max-width:768px){
    .vh-caption{padding:0 20px 36px;}
    .vh-caption h1{font-size:clamp(1.7rem,5.5vw,2.2rem);margin:0 0 12px;}
    .vh-intro-text{font-size:0.9rem;line-height:1.65;}
    .vh-caption-actions{margin-top:14px;gap:10px;}
}
@media (max-width:480px){
    .vh-caption{padding:0 16px 28px;}
    .vh-caption h1{font-size:clamp(1.5rem,5vw,1.8rem);margin:0 0 10px;}
    .vh-intro-text{font-size:0.82rem;line-height:1.6;}
    .vh-caption-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:12px;}
    .vh-caption-actions .btn{text-align:center;justify-content:center;padding:8px 20px;font-size:0.82rem;}
}

.research-section { min-height: 100vh; position: relative; overflow: hidden; padding: 0; background: #000; background-image: url('../images/research-bg.jpeg'); background-size: cover; background-position: center; }
[data-theme="dark"] .research-section { min-height: 100vh; position: relative; overflow: hidden; padding: 0; background: #000; background-image: url('../images/research-bg.jpeg'); background-size: cover; background-position: center; }
.research-section::before { content: ""; position: absolute; inset: 0; background: linear-gradient(308deg, rgba(0, 0, 0, 0.55) 0%, rgba(23, 150, 189, 0) 34%, rgba(0, 0, 0, 0.96) 100%); z-index: 1; }
[data-theme="dark"] .research-section::before { content: ""; position: absolute; inset: 0; background: linear-gradient(308deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.33) 34%, rgba(0, 0, 0, 0.96) 100%); z-index: 1; }
/* blueprint reveal layer — circle mask animated by JS */
.research-blueprint-overlay { position: absolute; inset: 0; background-image: url('../images/research-bg-blueprint.jpg'); background-size: cover; background-position: center; -webkit-mask-image: radial-gradient(circle 0px at 50% 50%, black 42%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.65) 68%, rgba(0, 0, 0, 0.28) 80%, transparent 100%); mask-image: radial-gradient(circle 0px at 50% 50%, black 42%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.65) 68%, rgba(0, 0, 0, 0.28) 80%, transparent 100%); z-index: 2; pointer-events: none; }
.rc-hero::before,
.rc-hero::after,
.rc-card::before { display: none; }
.research-section .container { position: relative; z-index: 3; display: flex; flex-direction: column; min-height: 100vh; padding-top: clamp(80px, 10vh, 130px); padding-bottom: clamp(60px, 8vh, 96px);     /* override earlier grid layout */ grid-template-columns: unset; grid-template-areas: unset; gap: 0; align-items: unset; }
.research-section .section-head { grid-area: unset; max-width: 880px; margin-bottom: auto; }
.research-section .section-head .eyebrow { color: #ffffff; border-color: rgba(0, 200, 245, 0.22); background: rgba(0, 200, 245, 0.08); }
.research-section .section-head h2 { font-size: clamp(2.6rem, 5vw, 3.5rem); line-height: 1.04; letter-spacing: -0.036em; font-weight: 500; background: linear-gradient(135deg, #ffffff 0%, #a8dff5 40%, #00c8f0 70%, #ffffff 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
/* Bottom grid wrapper — rc-hero left, rc-pair right */
.rc-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 18px; align-items: stretch; margin-top: clamp(48px, 6vh, 72px); }
/* Shared icon chip */
.rc-icon { width: 48px; height: 48px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.08); color: #ffffff; box-shadow: none; }
.rc-icon-lg { width: 56px; height: 56px; border-radius: 12px; }
/* Foundation Model panel — glassmorphism */
.rc-hero { display: flex; flex-direction: column; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 20px; padding: clamp(24px, 2.4vw, 34px); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 8px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.1); margin: 0; height: 100%; }
.rc-hero-top { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; padding-right: 0; }
.rc-hero-top::after { display: none; }
.rc-hero-title h3 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.9rem); line-height: 1.14; letter-spacing: -0.024em; color: #ffffff; }
.rc-sub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rc-sub { min-height: 50px; padding: 16px 14px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; box-shadow: none; transform: none; transition: background 0.25s, border-color 0.25s; }
.rc-sub:hover { background: rgba(0, 200, 245, 0.1); border-color: rgba(0, 200, 245, 0.3); transform: none; box-shadow: none; }
.rc-sub:nth-child(1)::before,
.rc-sub:nth-child(2)::before,
.rc-sub:nth-child(3)::before { display: none; }
.rc-sub h4 { margin: 0; padding-left: 0; border-left: none; font-size: clamp(0.88rem, 1.1vw, 1rem); line-height: 1.34; color: rgba(255, 255, 255, 0.88); font-weight: 500; text-align: center; }
/* World + Occupancy cards — inside rc-bottom-grid */
.rc-pair { grid-area: unset; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; height: 100%; }
.rc-card { background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 20px; padding: clamp(22px, 2.1vw, 30px); display: flex; flex-direction: column; justify-content: center; min-height: 0; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 8px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.1); transition: background 0.28s, border-color 0.28s; transform: none; }
.rc-card:hover { background: rgba(0, 200, 245, 0.08); border-color: rgba(0, 200, 245, 0.28); box-shadow: 0 12px 44px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.1); transform: none; }
.reveal .rc-both-merged { gap: 12px; margin-bottom: 0px; }
.rc-card h3 { margin: 0; font-size: clamp(1.25rem, 1.65vw, 1.6rem); letter-spacing: -0.02em; color: #ffffff; }
.rc-card .rc-desc { margin: 10px 0 0; font-size: 1rem; line-height: 1.68; color: rgba(255, 255, 255, 0.6); }
.rc-card .rc-desc:empty,
.rc-hero > .rc-desc:empty { display: none; }
@media (max-width:1040px) {
.rc-bottom-grid { grid-template-columns: 1fr; gap: 14px; }
.rc-sub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width:720px) {
.rc-sub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-section .section-head h2 { font-size: clamp(2rem, 5vw, 2.6rem); }
.rc-bottom-grid { margin-top: clamp(28px, 5vh, 48px); }
}
@media (max-width:640px) {
.research-section .container { padding-top: 30px; padding-bottom: 25px; min-height: 100svh; }
.rc-hero,
.rc-card { border-radius: 14px; padding: 20px 16px; }
.research-section .rc-icon-lg,
.research-section .rc-icon,
.research-section .rc-icon { display: none; }
.rc-sub { border-radius: 10px; padding: 10px 8px; min-height: 44px; }
/* keep 3 cols on mobile so rc-hero stays compact and the car background is visible */
.rc-sub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rc-sub h4 { font-size: clamp(0.72rem, 2.8vw, 0.88rem); }
/* world + occupancy cards side-by-side — each only has icon + title */
.rc-pair { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; gap: 10px; }
.rc-hero-title h3 {font-weight: 300; font-size: clamp(1.2rem, 4.5vw, 1.5rem); }
.rc-card h3 {font-weight: 300; font-size: clamp(1.1rem, 4vw, 1.3rem); }
.research-section .section-head h2 { font-size: clamp(1.55rem, 6vw, 2rem); }
}
@media (max-width:480px) {
.research-section .container { padding-top: 70px; padding-bottom: 25px; min-height: 100svh; }
.rc-bottom-grid { gap: 8px; margin-top: 0; }
/* keep side-by-side to reduce height so the car background stays visible */
.rc-pair { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 8px; }
.rc-hero,
.rc-card { padding: 16px 14px; }
.rc-hero-top { margin-bottom: 14px; }
}
/* Dark mode — image stays, no adjustments needed */
[data-theme="dark"] .research-section .section-head h2 { color: #ffffff; background: none; -webkit-text-fill-color: #ffffff; }
[data-theme="dark"] .rc-hero,
[data-theme="dark"] .rc-card,
[data-theme="dark"] .rc-sub { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.11); }
[data-theme="dark"] .rc-icon { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.16); color: rgba(0, 200, 245, 0.9); }
[data-theme="dark"] .rc-hero-title h3,
[data-theme="dark"] .rc-card h3,
[data-theme="dark"] .rc-sub h4 { color: #ffffff; }
[data-theme="dark"] .rc-card .rc-desc { color: rgba(255, 255, 255, 0.6); }
[data-theme="dark"] .rc-sub h4 { border-left-color: rgba(255, 255, 255, 0.12); }


.section#hardware { background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%); }
.section#hardware .section-head { margin: 0; max-width: 560px; }
.section#hardware .section-head h2 { font-size: clamp(2.1rem, 3.8vw, 3.85rem); line-height: 1.06; letter-spacing: -0.03em; margin-bottom: 18px; }
.section#hardware .section-head p { max-width: 48ch; color: #5a6979; font-size: 1.03rem; line-height: 1.72; }
#hardware .hw-panel { width: 100%; max-width: 600px; justify-self: end; border: 1px solid #d8e0ea; border-radius: 10px !important; background: #ffffff; overflow: hidden; }
#hardware .hw-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; width: 100%; }
#hardware .hw-list { list-style: none; margin: 0;}
#hardware .hw-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; margin: 0; padding: 22px 24px; border: 0; border-radius: 0px; background: transparent; transition: background 0.2s ease, transform 0.2s ease; border-bottom: 1px solid #e6ebf1; }
#hardware .hw-row + .hw-row { margin-top: 0px; }
#hardware .hw-row:not(.hw-total):hover { background: #f4f8fc; }
#hardware .hw-name { font-size: 1.08rem; font-weight: 600; letter-spacing: -0.01em; color: #16222f; }
#hardware .hw-qty { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #6f7f90; margin-left: 8px; background: transparent; border: 0; padding: 0; }
#hardware .hw-cost { font-size: 1.12rem; font-weight: 600; color: #394b5d; white-space: nowrap; }
#hardware .hw-cost em { font-size: 0.74rem; color: #7d8ea0; margin-left: 6px; text-transform: uppercase; letter-spacing: 0.07em; }
#hardware .hw-total { margin-top: 0px; padding-top: 24px; padding-bottom: 24px; background: linear-gradient(135deg, rgba(0, 184, 232, 0.13) 0%, rgba(0, 184, 232, 0.06) 100%); border-radius: 0px; border: 0; }
#hardware .hw-total::before { display: none; }
#hardware .hw-total:hover { background: linear-gradient(135deg, rgba(0, 184, 232, 0.17) 0%, rgba(0, 184, 232, 0.08) 100%); }
#hardware .hw-total .hw-name { color: #056f8f; font-size: 1.15rem; }
#hardware .hw-total .hw-cost { color: #045f7a; font-size: 1.5rem; font-weight: 700; }
@media (max-width:1140px) {
#hardware .hw-grid { grid-template-columns: 1fr; gap: 28px; }
.section#hardware .section-head { position: relative; top: auto; max-width: 680px; }
}
@media (max-width:640px) {
#hardware .hw-panel { border-radius: 16px !important; }
#hardware .hw-list { padding: 6px; }
#hardware .hw-row { padding: 18px 16px; gap: 16px; }
#hardware .hw-name { font-size: 1rem; }
#hardware .hw-cost { font-size: 1rem; }
#hardware .hw-total .hw-cost { font-size: 1.28rem; }
}
[data-theme="dark"] .section#hardware { background: linear-gradient(180deg, #070b10 0%, #09111a 100%); }
[data-theme="dark"] .section#hardware .section-head p { color: #9ab0c5; }
[data-theme="dark"] #hardware .hw-panel { background: #0f151d; border-color: #2a3542; box-shadow: none !important; }
[data-theme="dark"] #hardware .hw-row { background: transparent; }
[data-theme="dark"] #hardware .hw-row:not(.hw-total):hover { background: #131d27; }
[data-theme="dark"] #hardware .hw-name { color: #e4edf6; }
[data-theme="dark"] #hardware .hw-qty { color: #9fb4c7; }
[data-theme="dark"] #hardware .hw-cost { color: #b8c8d8; }
[data-theme="dark"] #hardware .hw-cost em { color: #8ea2b5; }
[data-theme="dark"] #hardware .hw-total { background: none; border: none; }
[data-theme="dark"] #hardware .hw-total .hw-name,
[data-theme="dark"] #hardware .hw-total .hw-cost { color: #8de8ff; }
/* Hardware — Universal Fit feature row */
#hardware .container.hw-feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-top: 56px; padding-bottom: 56px; margin-top: 50px; }
.hw-feat-img { margin: 0; border-radius: 12px; overflow: hidden; aspect-ratio: 16/10; }
.hw-feat-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#hardware .hw-feat-body h3 { font-size: clamp(1.5rem, 2.6vw, 3.2rem); line-height: 1.15; letter-spacing: -0.025em; margin-bottom: 14px; color: var(--text); }
#hardware .hw-feat-body p { color: #5a6979; font-size: 1.2rem; line-height: 1.72; }
[data-theme="dark"] #hardware .container.hw-feature-row { border-top-color: rgba(255,255,255,0.08); }
[data-theme="dark"] #hardware .hw-feat-body h3 { color: #e4edf6; }
[data-theme="dark"] #hardware .hw-feat-body p { color: #9ab0c5; }
@media (max-width: 768px) { #hardware .container.hw-feature-row { grid-template-columns: 1fr; gap: 24px; } }
/* ── Responsive fixes: l2-callout, hw-feature-row, hw-grid ── */
@media (max-width: 720px) {
    #how .steps-today-para { padding-top: 28px; }
    #hardware .container.hw-feature-row { padding-top: 36px; padding-bottom: 36px; margin-top: 24px; }
    .hero-band .l2-callout-inner { padding: 0 1.5rem; }
}
@media (max-width: 480px) {
    .hero-band .l2-callout { padding-bottom: 2.5rem; }
    .hero-band .l2-callout-inner { padding: 0 1.1rem; }
    #hardware .hw-grid { gap: 20px; }
    #hardware .container.hw-feature-row { padding-top: 24px; padding-bottom: 24px; margin-top: 12px; }
    .section#hardware .container { gap: 24px; }
}
[data-theme="dark"] #how .section-head .eyebrow { color: #000000; background: linear-gradient(140deg, var(--ink) 0%, #79e4ff 50%, #6bbbcd 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent }
/* ================================================================
CTA SECTION — DESIGN REFINEMENT
Polished hierarchy + cleaner conversion form without HTML changes.
================================================================ */
.cta { position: relative; overflow: hidden; padding: clamp(88px, 8vw, 120px) 0; background: url('../images/cta-bg.jpeg'); background-size: cover; border-top: 1px solid rgba(133, 167, 194, 0.18); }
.cta .container { position: relative; z-index: 1; max-width: 1040px; margin: 0 auto; padding: 0; border: 0; background: transparent; box-shadow: none; text-align: center; }
.cta .eyebrow { color: rgba(210, 227, 241, 0.88); margin-bottom: 20px; letter-spacing: 0.18em; }
.cta h2 { margin: 0 auto; color: #f2f7fc; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.1; letter-spacing: -0.03em; }
.cta-sub { margin: 16px auto 26px; max-width: 56ch; color: rgba(194, 214, 230, 0.78); font-size: 1.02rem; line-height: 1.68; }
.cta-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 0; }
.cta-actions .btn { min-height: 44px; padding: 11px 18px; border-radius: 999px; }
.cta-actions .btn-inverse { background: #eef7ff; color: #0a2538; border-color: #eef7ff; }
.cta-actions .btn-inverse:hover { background: #ffffff; border-color: #ffffff; }
.cta-actions .btn-outline-light { border-color: rgba(211, 229, 242, 0.48); color: #eaf5ff; background: rgba(255, 255, 255, 0.04); }
.cta-actions .btn-outline-light:hover { border-color: rgba(236, 247, 255, 0.86); background: rgba(255, 255, 255, 0.1); }
.cta-divider { display: block; border: 0; height: 1px; margin: 30px auto 24px; max-width: 760px; background: linear-gradient(to right, transparent, rgba(203, 223, 238, 0.34), transparent); }
#ctaEmailForm .error-notification,
#ctaEmailForm .field-error,
#ctaEmailForm .recaptcha-notice,
#ctaEmailForm .email-message-container { grid-column: 1 / -1; }
#ctaEmailForm input[type="email"] { width: 100%; min-height: 48px; border-radius: 12px; border: 1px solid rgba(187, 216, 236, 0.32); background: rgba(255, 255, 255, 0.07); color: #f5faff; padding: 0 16px; }
#ctaEmailForm input[type="email"]::placeholder { color: rgba(215, 231, 242, 0.58); }
#ctaEmailForm input[type="email"]:focus { border-color: rgba(135, 212, 247, 0.88); box-shadow: 0 0 0 3px rgba(0, 184, 232, 0.2); background: rgba(255, 255, 255, 0.12); }
#ctaEmailForm .btn-inverse { min-height: 48px; min-width: 132px; border-radius: 12px; padding: 0 22px; }
#ctaEmailForm .field-error { padding-left: 15px; margin-top: 4px; }
#ctaEmailForm .recaptcha-notice { margin-top: 0; text-align: left; color: rgba(196, 218, 234, 0.62); }
.email-success { margin: 14px auto 0; max-width: 760px; border-radius: 12px; border: 1px solid rgba(108, 219, 166, 0.45); background: rgba(46, 160, 112, 0.18); color: #dcf7e8; justify-content: center; padding: 11px 14px; }
@media (max-width:780px) {
#ctaEmailForm { grid-template-columns: 1fr; padding: 14px; }
#ctaEmailForm .btn-inverse { width: 100%; }
#ctaEmailForm .recaptcha-notice { text-align: center; }
}
[data-theme="dark"] .cta { background: url('../images/cta-bg-dark.jpeg'); background-size: cover; border-top: 0; }
[data-theme="dark"] #ctaEmailForm input[type="email"] { border-color: rgba(159, 201, 226, 0.3); background: rgba(255, 255, 255, 0.06); }
@media (max-width:1040px) {
#how { padding: 80px 0; }
.steps { grid-template-columns: 1fr !important; gap: 12px; }
.step { min-height: 440px; padding: 20px; }
.step .step-num { font-size: 4.5rem; opacity: 1 !important; }
.step h3 { font-size: 1.7rem !important; }
}
/* phablet: single column, shorter cards */
@media (max-width:680px) {
#how { padding: 20px 0; }
.steps { grid-template-columns: 1fr !important; gap: 20px; }
.step { min-height: 450px; padding: 18px; border-radius: 10px; }
.step .step-num { font-size: 3.8rem; top: 18px; opacity: 1 !important; }
.step h3 { font-size: 1.55rem !important; }
}
/* small mobile */
@media (max-width:420px) {
#how { padding: 20px 0; }
.step { min-height: 400px; padding: 16px; }
.step .step-num { font-size: 3rem; }
.step h3 { font-size: 1.35rem !important; }
}
.email-notification { min-height: 200px; display: flex; align-items: center; width: 100%; background-color: #0f181e; }
[data-theme="dark"] .email-notification { background-color: #000000; }
.email-notification .container { display: flex; align-items: center; justify-content: space-between; width: 100%; }

.email-notification #ctaEmailForm { max-width: 760px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: start; }
.email-notification .email-note { margin: 0; font-size: 2.05rem; color: #ffffff; font-weight: 500; line-height: 1.3; }
.email-note span { font-size: 15px; font-weight: 200; letter-spacing: 1.1px; }
.cta .container.reveal.visible .eyebrow-light { color: #ffffff !important; }
.cta .container.reveal.visible .eyebrow-light::before { display: none; }
[data-theme="dark"] #technology { background-color: #040404; }
/* ---- CTA section: stack buttons on small screens ---- */
@media (max-width:680px) {
.cta .container { padding: 0 20px; }
.cta h2 { font-size: clamp(1.3rem, 5vw, 2.2rem); }
.cta-actions { flex-direction: column; align-items: stretch; gap: 15px; }
.cta-actions .btn { width: 100%; justify-content: center; }
}
@media (max-width:420px) {
.cta h2 { font-size: clamp(1.5rem, 6vw, 1.9rem); }
.cta-sub { font-size: 0.95rem; }
}
/* ---- Email notification: stack on mobile ---- */
@media (max-width:768px) {
.email-notification .container { flex-direction: column; align-items: center; gap: 24px; padding-top: 36px; padding-bottom: 36px; }
.email-notification { min-height: auto; }
.email-notification .email-note { font-size: clamp(1.4rem, 4.5vw, 1.75rem); width: 100%; text-align: center; }
.email-notification #ctaEmailForm { max-width: 100%; width: 100%; }
}
@media (max-width:480px) {
.email-notification .container { gap: 18px; padding-top: 28px; padding-bottom: 28px; }
.email-notification .email-note { font-size: clamp(1.2rem, 5vw, 1.4rem); }
.email-note span { font-size: 13px; }
}
.cap-body h3 { font-size: clamp(1.3rem, 2vw, 1.62rem); margin-bottom: 0; }
.cap-wide .cap-body { padding: 52px 58px; }
.cap-wide .cap-body h3 { font-size: clamp(2rem, 4.2vw, 4rem); margin-bottom: 0; }
@media (max-width:1024px) {
.cap-wide .cap-body { padding: 34px 30px; }
.cap-wide .cap-body h3 { font-size: 1.55rem; }
}
@media (max-width:1040px) {
/* reset 12-col desktop spans so they don't bleed into the 2-col grid */
.cap-card,
.cap-tall { grid-column: auto; grid-row: auto; }
/* base height for all cards — must come before hero override */
.cap-card { min-height: 260px; }
/* first showcase card: full width, taller, block context */
.cap-hero { grid-column: 1 / -1; min-height: 260px; display: block; }
/* last showcase card: full width */
.cap-wide-bottom { grid-column: 1 / -1; }
}
@media (max-width:720px) {
.cap-body { left: 20px; right: 20px; bottom: 20px; }
.cap-body h3 { font-size: clamp(1.05rem, 4.5vw, 1.3rem); }
.cap-kicker { margin-bottom: 8px; }
.cap-card { min-height: 200px; }
}
@media (max-width:480px) {
.cap-body { left: 16px; right: 16px; bottom: 16px; }
.cap-body h3 { font-size: clamp(0.95rem, 4vw, 1.15rem); }
}
/* ---- Technology section: padding + heading + orphan fix ---- */
@media (max-width:1200px) {
#technology { padding: 96px 0; }
#technology .section-head { margin-bottom: 60px; }
}
@media (max-width:1040px) {
#technology { padding: 80px 0; }
#technology .section-head { margin-bottom: 44px; }
/* 5 non-hero cards in a 2-col grid leaves departure warning alone — span it full width */
.caps-grid > article:nth-child(6) { grid-column: 1 / -1; }
}
@media (max-width:720px) {
#technology { padding: 64px 0; }
#technology .section-head { margin-bottom: 32px; }
#technology .section-head h2 { font-size: clamp(1.7rem, 5vw, 2.2rem); }
}
@media (max-width:480px) {
#technology { padding: 52px 0; }
#technology .section-head { margin-bottom: 22px; }
#technology .section-head h2 { font-size: clamp(1.45rem, 6vw, 1.8rem); }
}
@media (max-width:1290px) {
.nav-open .nav::before { opacity: 1; background: white !important; }
.nav-open .nav-inner .logo-white { opacity: 0; }
.nav-open .nav-inner .logo-dark { opacity: 1; }
.nav-links.open { background: #ffffff; box-shadow: none; border: none; }
.nav-links a { border-bottom: 1px dashed rgb(0 0 0 / 17%); color: #000000; }
.nav-links a:hover { background: rgba(0, 0, 0, 0.06); color: #000000; }
.nav-links .nav-cta { background: #D9F8FD; color: #000000; }
.step-content { padding: 21px 18px; }
[data-theme="dark"] .nav-open .nav::before { background: #000000 !important; }
[data-theme="dark"] .nav-open .nav-inner .logo-white { opacity: 1; }
[data-theme="dark"] .nav-open .nav-inner .logo-dark { opacity: 0; }
[data-theme="dark"] .nav-links.open { background: #000000; box-shadow: none; border: none; }
[data-theme="dark"] .nav-links a { border-bottom: 1px dashed rgb(255 255 255 / 17%); color: #ffffff; }
[data-theme="dark"] .nav-links a:hover { background: rgba(255, 255, 255, 0.06); color: #ffffff; }
.nav-links a:first-child { border-top: none; }
[data-theme="dark"] .nav-links a:first-child { border-top: none; }
[data-theme="dark"] .nav-links .nav-cta { background: #0c2126; color: #ffffff; }
}
@media (max-width:1024px) {
.step-content { backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
}
@media (max-width:720px) {
.step-content p { font-size: 0.9rem !important; opacity: 0.8 !important; }
.logo img { height: 26px; }
.nav-inner { height: 60px; }
}
@media (max-width:1240px) {
#safety .container { margin: 0; padding: 0; max-width: 100%; }
#safety { padding-bottom: 0; }
#safety .why-list { border-radius: 0; position: absolute; bottom: 0; left: 0; }
#safety .split-text { max-width: 94% !important; margin: 0 auto; }
#safety.split-text h2 { width: 60%; }
.research-section { background-position: center left 60%; }
.research-blueprint-overlay { background-position: center left 60%; }
.research-section .section-head h2 { text-align: center; }
.research-section .section-head.reveal.visible .eyebrow.eyebrow-light { text-align: center; width: 100%; justify-content: center; }
.research-section .section-head.reveal.visible .eyebrow::before { display: none; }
}
@media (max-width:1390px) {
.container { max-width: 100%; padding: 0 clamp(20px, 4vw, 80px); }
.nav-inner { max-width: 100%; }
#hardware .hw-panel { max-width: 100%; }
#hardware .section-head h2 br { display: none; }
.why-item h3 { font-size: 15px; min-width: 185px;}

}
@media (min-width:850px) and (max-width:1040px) {
.caps-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.caps-grid .cap-card { grid-column: auto !important; grid-row: auto !important; }
}
@media (min-width:650px) and (max-width:1040px) {
.rc-pair { grid-template-columns: 1fr 1fr; }
}
@media (max-width:649px) {
.rc-pair { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: repeat(1, 1fr); }
}
@media (max-width:1280px) {
.cap-body h3 { font-size: clamp(1rem, 1.5vw, 2.5rem); }
.where-right .section-head { margin-bottom: 0; }

}
@media (max-width:1580px) {
.where-right .section-head { margin-bottom: 0; }
}


#how .steps-today-para { font-size: clamp(1.05rem, 2.5vw, 1.3rem); line-height: 1.68; text-align: center;  margin: 0 auto; padding-top: 50px; }

.hero-band .l2-callout {
width: 100%;
    padding: 2.5rem 0 4rem;
    background-color: #2c3133;
    background: linear-gradient(180deg, #05355c 0%, #092e4d 50%, #072e4e 100%);
    border-top: 1px solid rgb(75 80 89);
}
.hero-band .l2-callout-inner {
    max-width: 1190px;
    margin: 0 auto;
    padding: 0 3rem;
}
.l2-callout-label {
    display: block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #1aa9d6;
    margin-bottom: 1.25rem;
}
.hero-band .steps-today-para {
    font-size: clamp(1.05rem, 2.5vw, 1.2rem); text-align: center; margin: 0; padding: 0; line-height: 1.8; color: rgba(240, 244, 248, 0.96); max-width: none;
}
.l2-kw { font-style: italic; }


@media (min-width:1921px) {
    .cap-card{
        min-height: 400px;
    }
}
@media (min-width:2241px) {
    .cap-card{
        min-height: 500px;
    }
}
@media (min-width:3000px) {
    .cap-card{
          min-height: clamp(500px, 25vw, 920px);

    }
}
@media (max-width:1390px) {
.vh-caption{
    padding: 0 clamp(24px,5vw,136px) clamp(48px,8vh,100px)
}

}@media (max-width:1240px) {
.vh-caption{
    padding: 20px 20px 40px
}

}

/* ======= UNIVERSAL FIT ======= */
.univ-fit-section{background:var(--bg);}
.univ-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.univ-fit-media{border-radius:var(--radius-lg);overflow:hidden;}
.univ-fit-media img{width:100%;height:auto;display:block;border-radius:var(--radius-lg);}
.univ-fit-body h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.12;color:var(--ink);margin-bottom:24px;margin-top:0;}
.univ-fit-body p{color:var(--muted);font-size:1.05rem;line-height:1.72;max-width:46ch;}
[data-theme="dark"] .univ-fit-section{background:var(--bg);}
@media(max-width:900px){
.univ-fit-grid{grid-template-columns:1fr;gap:40px;}
}


@media (min-width: 2000px) {
    .section#hardware .section-head h2 br{
        display: none;
    }
    .section#hardware .section-head{
        max-width: 100%;
    }
    .section#hardware .section-head p{
        font-size: 26px;
    }

    #hardware .hw-panel{
        max-width: 900px;
    }
    #hardware .hw-name{
        font-size: 1.5rem;
    }
    #hardware .hw-total .hw-name{
        font-size: 1.5rem;
    }
    #hardware .hw-feat-body p{
        font-size: 1.5rem;
    }

}
    .hw-feature-row .hw-feat-body{
        max-width: 760px;
    }

.hero-band .l2-callout {
    width: 100%;
    padding: 2.5rem 0 2.5rem;
    background: linear-gradient(180deg, #0b2b44 0%, #223856 55%, #255b87 100%);
}


@media screen and (max-width: 1440px) {
    .vh-caption h1{
        font-size: clamp(1.6rem, 5.5vw, 2.8rem) !important;
    }
}