:root{--ink:#0e0f11;--ink2:#15171a;--cream:#edeae3;--muted:#a8a39a;--dim:#77736c;--line:rgba(229,224,213,.14);--yellow:#ffc72c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font:16px/1.55 Inter,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;font:700 11px Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}.field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.66}.nav{position:sticky;top:0;z-index:100;height:68px}.nav-in{width:min(1280px,calc(100% - 48px));height:68px;margin:auto;display:flex;align-items:center;gap:28px}.nav .brand{margin-right:auto}.nav-links{display:flex;height:100%;align-items:stretch;gap:24px}.nav-item{position:relative;display:flex;align-items:center}.nav-item>a,.nav-item>button{border:0;background:transparent;font:500 13px Inter,sans-serif;cursor:pointer;white-space:nowrap}.nav .menu{position:absolute;top:100%;left:-16px;display:none;min-width:220px;padding:8px;border:1px solid}.nav-item:hover .menu,.nav-item:focus-within .menu{display:block}.nav .menu a{display:block;padding:11px 12px;font-size:13px}.nav-cta{display:flex;gap:10px}.burger{display:none;width:42px;height:42px;border:1px solid;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px}.burger span{display:block;width:17px;height:1px}#mobnav{position:absolute;top:68px;right:0;left:0;padding:10px 24px 18px;border-bottom:1px solid}#mobnav[hidden]{display:none!important}#mobnav a{display:block;padding:12px 0;border-bottom:1px solid;font-size:14px}
.gps-hero{position:relative;min-height:calc(100vh - 68px);overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 70% 44%,rgba(255,199,44,.075),transparent 30%),var(--ink)}.hero-grid{position:relative;z-index:2;min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,.84fr) minmax(540px,1.16fr);gap:70px;align-items:center}.hero-copy{padding:70px 0}.eyebrow,.section-head span,.platform-panel>div>span,.cta-band>div>span{color:var(--yellow);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.18em}.hero-copy h1{margin:18px 0 24px;font:800 clamp(58px,6.2vw,92px)/.91 Archivo,sans-serif;letter-spacing:-.06em}.hero-copy h1 em{color:var(--yellow);font-style:normal}.hero-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}.hero-copy strong{color:var(--cream)}.hero-actions{display:flex;gap:12px;margin:30px 0 36px}.hero-actions a{padding:15px 19px;font:700 10px Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}.primary{background:var(--yellow);color:var(--ink)}.secondary{border:1px solid var(--line)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);padding-top:24px;border-top:1px solid var(--line)}.hero-stats div+div{padding-left:18px;border-left:1px solid var(--line)}.hero-stats b{display:block;color:var(--yellow);font-size:21px}.hero-stats span{display:block;margin-top:5px;color:var(--dim);font:600 8px 'IBM Plex Mono',monospace;letter-spacing:.1em}
.hero-console,.map-frame{overflow:hidden;border:1px solid rgba(229,224,213,.18);background:#090a0c;box-shadow:0 32px 90px rgba(0,0,0,.33)}.console-bar,.map-bar,.console-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--dim);font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.14em}.console-bar,.map-bar{height:48px;padding:0 18px;border-bottom:1px solid var(--line)}.console-bar i,.map-bar i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 13px rgba(255,199,44,.7)}.console-bar b,.map-bar b{color:var(--yellow);font-weight:500}.trip-map{width:100%;background:#d9d6cd}.hero-map{height:540px;filter:saturate(.45) contrast(1.03)}.console-overlay{position:absolute;z-index:500;right:18px;bottom:55px;width:205px;padding:16px;border:1px solid var(--line);background:rgba(11,12,14,.91);backdrop-filter:blur(8px)}.hero-console{position:relative}.console-overlay span{display:block;color:var(--dim);font:600 8px 'IBM Plex Mono',monospace;letter-spacing:.14em}.console-overlay b{display:block;margin-top:8px;font-size:17px}.console-overlay small{display:block;margin-top:5px;color:var(--yellow);font:8px 'IBM Plex Mono',monospace}.console-bottom{height:44px;padding:0 18px;border-top:1px solid var(--line)}.console-bottom b{color:var(--cream)}.leaflet-control-attribution{font-size:8px!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#111317!important;color:var(--cream)!important;border-radius:0!important}.trip-popup-type{color:var(--yellow);font:600 8px 'IBM Plex Mono',monospace;letter-spacing:.12em}.trip-popup-name{margin-top:5px;font-weight:700}.trip-popup-date,.trip-popup-note{margin-top:4px;color:var(--muted);font-size:11px}
.proof-section,.capability-section,.platform-section{padding:104px 0}.proof-section{background:var(--ink2);border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:end;margin-bottom:44px}.gold-rule{width:48px;height:4px;margin-bottom:20px;background:var(--yellow)}.section-head h2{margin:14px 0 0;font:800 clamp(44px,5.3vw,70px)/.97 Archivo,sans-serif;letter-spacing:-.05em}.section-head>p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}.main-map{height:610px;filter:saturate(.55)}.map-legend{display:flex;gap:25px;align-items:center;padding:15px 18px;border-top:1px solid var(--line);color:var(--muted);font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.08em}.map-legend>b{margin-left:auto;color:var(--dim);font-weight:500}.map-legend i{display:inline-block;margin-right:7px}.map-legend .deploy{width:9px;height:9px;border-radius:50%;background:var(--yellow)}.map-legend .stop{width:9px;height:9px;border:2px solid var(--yellow);border-radius:50%}.map-legend .route{width:18px;height:2px;background:var(--muted)}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px}.metric-row article{padding:26px;border:1px solid var(--line);border-right:0;background:#111317}.metric-row article:last-child{border-right:1px solid var(--line)}.metric-row strong{display:block;color:var(--yellow);font:700 clamp(23px,2.4vw,34px)/1 'IBM Plex Mono',monospace}.metric-row small{font-size:.48em}.metric-row span{display:block;margin-top:17px;color:var(--cream);font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.1em}.metric-row p{margin:8px 0 0;color:var(--dim);font-size:11px}
.capability-section{background:var(--ink)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cap-grid article{position:relative;min-height:245px;padding:28px;border:1px solid var(--line);background:var(--ink2);transition:transform .2s,border-color .2s}.cap-grid article:hover{transform:translateY(-3px);border-color:rgba(255,199,44,.4)}.cap-grid article>b{color:var(--yellow);font:600 10px 'IBM Plex Mono',monospace}.cap-grid h3{margin:44px 0 12px;font:700 23px Archivo,sans-serif}.cap-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.platform-section{padding-top:0}.platform-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding:46px;border:1px solid var(--line);background:linear-gradient(140deg,rgba(255,199,44,.08),var(--ink2) 45%)}.platform-panel h2{margin:15px 0 18px;font:800 clamp(40px,4.5vw,58px)/.98 Archivo,sans-serif;letter-spacing:-.045em}.platform-panel p{max-width:570px;margin:0;color:var(--muted);line-height:1.7}.platform-grid{display:grid;grid-template-columns:1fr 1fr}.platform-grid article{display:flex;flex-direction:column;justify-content:center;min-height:116px;padding:20px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.platform-grid article:nth-child(n+3){border-bottom:0}.platform-grid b{font-size:15px}.platform-grid span{margin-top:5px;color:var(--dim);font:9px 'IBM Plex Mono',monospace;letter-spacing:.08em}.cta-band{padding:84px 0;background:var(--yellow);color:var(--ink);text-align:center}.cta-band>div>span{color:var(--ink)}.cta-band h2{margin:15px 0;font:800 clamp(45px,5.5vw,72px)/.95 Archivo,sans-serif;letter-spacing:-.055em}.cta-band p{margin:0 auto 26px;font-size:16px}.cta-band a{display:inline-block;padding:15px 20px;background:var(--ink);color:var(--cream);font:700 10px Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}
footer{padding:72px 0 28px;background:#0b0c0e;border-top:1px solid var(--line)}.f-g{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px}.brand{font:800 64px/.9 Archivo,sans-serif;letter-spacing:-.07em}.f-g p{max-width:42ch;color:var(--muted);font-size:13.5px}.f-g h4,.f-g .footer-heading{margin:0 0 17px;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.15em;text-transform:uppercase}.f-g a{display:block;margin:9px 0;color:var(--muted);font-size:13px}.copy{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);color:var(--dim);font-size:12px}
@media(max-width:1050px){.hero-grid{grid-template-columns:1fr;padding:55px 0}.hero-copy{padding:20px 0 0}.hero-console{width:100%}.metric-row{grid-template-columns:1fr 1fr}.metric-row article:nth-child(2){border-right:1px solid var(--line)}.cap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.nav-links{display:none}.nav-cta .btn-s{display:none}.burger{display:flex}.section-head,.platform-panel{grid-template-columns:1fr;gap:30px}.main-map{height:470px}.map-legend{flex-wrap:wrap}.map-legend b{width:100%;margin:0}.f-g{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.hero-copy h1{font-size:50px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column}.hero-actions a{width:100%}.hero-stats{grid-template-columns:1fr 1fr;gap:18px}.hero-stats div+div{padding-left:0;border:0}.hero-map{height:430px}.console-overlay{right:12px;bottom:53px}.metric-row,.cap-grid{grid-template-columns:1fr}.metric-row article{border-right:1px solid var(--line)}.platform-panel{padding:28px}.platform-grid{grid-template-columns:1fr}.platform-grid article{border-left:0;border-bottom:1px solid var(--line)!important}.platform-grid article:last-child{border-bottom:0!important}.proof-section,.capability-section{padding:76px 0}.f-g{grid-template-columns:1fr}.brand{font-size:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.trip-popup-date,.trip-popup-note{font-size:12px!important}
