
:root{
  --navy:#082b4f;
  --blue:#0b4471;
  --blue-2:#0d5f9a;
  --ink:#09294b;
  --muted:#536b82;
  --line:#dce6ef;
  --soft:#f4f7fa;
  --red:#ef2738;
  --white:#fff;
  --shadow:0 6px 18px rgba(9,41,75,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
.shell{width:min(1180px,calc(100% - 42px));margin-inline:auto}

.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.topbar{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-lockup{display:flex;align-items:center;gap:10px}
.brand-mark{width:63px;flex:0 0 63px}
.brand-mark svg{display:block;width:100%}
.brand-copy{border-right:1px solid var(--line);padding-right:18px}
.brand-name{font-size:38px;font-weight:900;letter-spacing:-1px;color:var(--blue)}
.brand-sub{font-size:8px;font-weight:700;letter-spacing:.5px;margin-top:-3px}
.brand-tagline{font-size:12px;line-height:1.28;color:var(--blue);min-width:126px}
.utility{display:flex;gap:22px;font-size:12px;color:var(--muted);white-space:nowrap}
.nav-wrap{border-top:1px solid #edf2f7}
.nav-inner{height:56px;display:flex;align-items:center;justify-content:flex-end;gap:28px}
.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}
.main-nav a{height:56px;display:flex;align-items:center;position:relative}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;background:var(--blue-2)}
.search-btn{border:0;background:transparent;font-size:28px;color:var(--ink);cursor:pointer;line-height:1}
.menu-btn{display:none;border:0;background:transparent;font-size:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:4px;padding:15px 22px;font-size:15px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 10px rgba(239,39,56,.2)}
.btn-outline{border:2px solid rgba(255,255,255,.9);color:#fff;padding:13px 20px;background:rgba(4,27,47,.25)}
.nav-quote{padding:14px 20px}

.hero{
  min-height:400px;
  position:relative;
  background:
   radial-gradient(circle at 57% 54%, rgba(255,255,255,.08) 0 14%, transparent 15%),
   linear-gradient(90deg, rgba(3,31,56,.80), rgba(2,29,51,.18) 50%, rgba(3,31,56,.35)),
   linear-gradient(180deg,#2e77a6 0 44%,#b9d7e9 44% 56%,#34552f 57% 66%,#8f8a76 67% 72%,#31536a 72% 100%);
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;inset:auto -10% 15% 35%;
  height:190px;
  background:
    linear-gradient(168deg,transparent 0 33%,rgba(9,30,45,.18) 34% 36%,transparent 37%),
    repeating-linear-gradient(166deg,transparent 0 27px,rgba(235,235,235,.25) 28px 30px);
  transform:rotate(-3deg);
}
.hero:after{
  content:"";
  position:absolute;right:17%;bottom:9%;width:430px;height:180px;
  background:
    radial-gradient(circle at 16% 82%,#111 0 18px,#777 19px 25px,#111 26px 32px,transparent 33px),
    radial-gradient(circle at 57% 82%,#111 0 18px,#777 19px 25px,#111 26px 32px,transparent 33px),
    radial-gradient(circle at 84% 82%,#111 0 18px,#777 19px 25px,#111 26px 32px,transparent 33px),
    linear-gradient(#222 0 0) 0 76%/100% 12px no-repeat,
    linear-gradient(90deg,#ad1d1d 0 28%,#1c1f21 28% 100%);
  clip-path:polygon(0 17%,23% 17%,24% 0,40% 0,44% 15%,100% 15%,100% 82%,5% 82%);
  border-radius:4px;
  filter:drop-shadow(0 12px 7px rgba(0,0,0,.3));
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,29,52,.45),transparent 60%)}
.hero-grid{position:relative;z-index:2;min-height:400px;display:grid;grid-template-columns:1.1fr 1fr 220px;align-items:center}
.hero-copy{padding:40px 0 48px;color:#fff;max-width:580px}
.hero-copy h1{font-size:46px;line-height:.98;margin:0 0 16px;font-weight:900;letter-spacing:-1.8px}
.hero-lead{font-size:21px;line-height:1.3;margin:0 0 6px}
.hero-small{font-size:16px;line-height:1.35;max-width:590px;margin:0 0 18px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-railcopy{grid-column:3;color:#fff;font-size:17px;line-height:1.08;align-self:center;justify-self:end}
.hero-railcopy strong{display:block}
.hero-railcopy span{font-size:14px;line-height:1.15}
.red-rule{width:48px;height:4px;background:var(--red);margin:9px 0}

.manufacturers-section{padding:22px 0 16px}
.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:16px}
.section-heading-row h2,.mini-heading h2{font-size:28px;margin:0 0 6px;letter-spacing:-.7px}
.section-heading-row p{margin:0;color:var(--muted);font-size:15px}
.text-link,.mini-heading a{font-size:13px;color:var(--blue-2);font-weight:700;white-space:nowrap}

.cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.manufacturer-card{border:1px solid var(--line);border-radius:7px;background:#fff;min-height:208px;padding:12px 12px 14px;box-shadow:0 2px 5px rgba(10,40,70,.03)}
.manufacturer-card h3{margin:4px 0 4px;font-size:18px;letter-spacing:-.4px}
.manufacturer-card p{margin:0 0 8px;color:#35506a;line-height:1.25;font-size:13px;min-height:46px}
.manufacturer-card a{font-size:12px;font-weight:800;color:var(--blue-2)}
.visual{height:96px;position:relative;margin-bottom:2px;overflow:hidden;background:linear-gradient(180deg,#fbfdff,#fff)}
.train-body{position:absolute;left:15px;right:18px;bottom:29px;height:35px;background:#316791;border-radius:4px 9px 2px 2px;box-shadow:inset 0 -7px rgba(0,0,0,.15)}
.visual-green .train-body{background:#4f7548}.visual-silver .train-body{background:#757f88}
.train-cab{position:absolute;left:20px;bottom:57px;width:45px;height:29px;background:inherit;border:1px solid rgba(0,0,0,.12);clip-path:polygon(0 30%,12% 0,100% 0,100% 100%,0 100%)}
.train:after{content:"";position:absolute;left:16px;right:10px;bottom:23px;height:6px;background:#171d22}
.wheel{position:absolute;bottom:10px;width:23px;height:23px;border-radius:50%;background:#1c252b;border:5px solid #46525b}
.w1{left:31px}.w2{left:88px}.w3{right:27px}

.engine-core{position:absolute;inset:25px 24px 20px;background:#4b5963;border-radius:7px;box-shadow:inset 0 0 0 5px #7a8790}
.engine-pipe{position:absolute;width:54px;height:16px;border:8px solid #53616b;border-radius:50%}
.p1{left:20px;top:23px}.p2{right:19px;bottom:22px}
.comp-body{position:absolute;left:38px;top:31px;width:105px;height:48px;border-radius:23px;background:#4c6779;border:5px solid #254457}
.comp-cap{position:absolute;left:53px;top:17px;width:76px;height:24px;border-radius:8px;background:#7f9fb1;border:4px solid #34566a}
.comp-foot{position:absolute;left:51px;right:52px;bottom:13px;height:9px;background:#314655}

.control-icon{padding:17px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff}
.control-icon span{display:block;background:#405462;border:4px solid #627684;box-shadow:inset 0 0 0 2px #23333d}
.control-icon span:after{content:"";display:block;margin:6px auto;width:6px;height:6px;background:#f4d35e;border-radius:50%}
.axle-shaft{position:absolute;left:22px;right:22px;top:45px;height:19px;background:#4b5964;border-radius:8px}
.axle-wheel{position:absolute;top:24px;width:48px;height:56px;background:#2c3943;border-radius:50%;border:8px solid #586771}
.a1{left:30px}.a2{right:30px}
.rad-body{position:absolute;left:27px;right:27px;top:18px;bottom:18px;background:#263e48;border:8px solid #4e646d}
.fan{position:absolute;top:33px;width:33px;height:33px;border-radius:50%;border:7px dotted #a1b1b8}
.f1{left:48px}.f2{right:48px}
.disc{position:absolute;left:59px;top:12px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,#8b969d 0 10px,#d6dadd 11px 32px,#a4adb2 33px 36px,#555 37px)}
.hub{position:absolute;left:89px;top:41px;width:16px;height:16px;border-radius:50%;background:#2a343b}
.frame{position:absolute;left:25px;right:25px;top:27px;height:41px;background:#303b43;clip-path:polygon(0 13%,13% 0,38% 11%,62% 11%,87% 0,100% 13%,97% 82%,77% 100%,21% 100%,3% 82%)}
.bw{position:absolute;bottom:9px;width:29px;height:29px;border-radius:50%;background:#1c242a;border:6px solid #5b676f}
.b1{left:46px}.b2{right:46px}

.feature-strip{background:linear-gradient(180deg,#f3f7fa,#eef4f8);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:8px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 0}
.feature-grid article{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:0 18px;border-right:1px solid #b8c9d7}
.feature-grid article:first-child{padding-left:0}.feature-grid article:last-child{border-right:0;padding-right:0}
.feature-icon{font-size:42px;line-height:1;color:var(--blue)}
.feature-grid h4{font-size:14px;margin:0 0 4px}
.feature-grid p{font-size:12px;line-height:1.26;color:#496078;margin:0}

.process-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:15px 0}
.process-card,.platform-card{border-radius:6px;background:linear-gradient(135deg,#f8fbfd,#eef5f9);padding:16px 18px;border:1px solid #e6eef4}
.mini-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.mini-heading h2{font-size:22px}
.steps{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;align-items:start;text-align:center;margin-top:12px}
.step-icon{width:56px;height:56px;border-radius:50%;background:#fff;margin:0 auto 8px;display:grid;place-items:center;font-size:29px;box-shadow:var(--shadow);color:var(--blue)}
.step h4{font-size:13px;margin:0 0 3px}.step p{font-size:11px;line-height:1.25;color:#50667a;margin:0}
.arrow{align-self:center;font-size:28px;color:#6f879b}
.platform-card ul{list-style:none;padding:0;margin:8px 0 0;font-size:12px;line-height:1.44}
.platform-card li:before{content:"✓";display:inline-grid;place-items:center;background:var(--blue);color:#fff;width:12px;height:12px;border-radius:2px;margin-right:7px;font-size:8px}

.ask-bar{display:grid;grid-template-columns:1.6fr auto 1fr;gap:18px;align-items:center;background:linear-gradient(90deg,#f7fafc,#edf5f9);border:1px solid #e2ebf2;border-radius:5px;padding:13px 18px;margin-bottom:14px}
.ask-bar h2{font-size:22px;margin:0 0 4px}.ask-bar p{font-size:11px;color:#52697f;margin:0;max-width:560px}
.ask-brand{display:flex;gap:10px;align-items:center;border-left:1px solid #afc0ce;padding-left:15px}.bubble{font-size:34px;color:var(--blue)}
.ask-brand strong{display:block;font-size:12px}.ask-brand span{display:block;font-size:10px;color:#52697f}

.network{background:linear-gradient(90deg,#0a3a60,#0a2948);color:#fff}
.network-inner{min-height:118px;display:grid;grid-template-columns:1.1fr 1.7fr .55fr;align-items:center;gap:20px}
.network-copy h2{font-size:23px;line-height:1.05;margin:0 0 7px}.network-copy p{font-size:12px;line-height:1.3;margin:0;max-width:350px}
.map-art{height:115px;position:relative;background:
  radial-gradient(ellipse at 31% 50%,rgba(255,255,255,.16) 0 3%,transparent 4%),
  radial-gradient(ellipse at 67% 44%,rgba(255,255,255,.14) 0 4%,transparent 5%),
  linear-gradient(180deg,transparent,rgba(255,255,255,.02));
}
.map-art:before{content:"";position:absolute;inset:17px 4px;background:
  radial-gradient(ellipse at 18% 43%,rgba(255,255,255,.20) 0 14%,transparent 15%),
  radial-gradient(ellipse at 45% 44%,rgba(255,255,255,.20) 0 18%,transparent 19%),
  radial-gradient(ellipse at 70% 48%,rgba(255,255,255,.17) 0 17%,transparent 18%),
  radial-gradient(ellipse at 88% 66%,rgba(255,255,255,.16) 0 8%,transparent 9%);
  filter:blur(1px)
}
.map-art svg{position:absolute;inset:0;width:100%;height:100%}
.dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#ff3946;border:2px solid #fff;box-shadow:0 0 0 3px rgba(255,57,70,.2);z-index:2}
.d1{left:14%;top:40%}.d2{left:30%;top:52%}.d3{left:46%;top:43%}.d4{left:58%;top:63%}.d5{left:70%;top:41%}.d6{left:80%;top:68%}
.network-tag{font-size:13px;font-weight:800;line-height:1.1}

.site-footer{background:#fff}
.footer-top{display:grid;grid-template-columns:1.2fr 1.6fr auto;align-items:center;gap:20px;padding:12px 0 8px}
.footer-brand .brand-name{font-size:31px}.footer-brand .brand-sub{font-size:7px}.footer-brand .brand-tagline{font-size:10px}
.footer-nav{display:flex;gap:18px;justify-content:center;font-size:10px}
.socials{display:flex;align-items:center;gap:12px}.socials>span{display:grid;place-items:center;width:28px;height:28px;background:var(--blue);color:#fff;border-radius:3px;font-weight:800}
.footer-tag{font-size:11px;border-left:1px solid var(--line);padding-left:13px}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:8px 0 12px;font-size:9px;color:#667d91}

@media (max-width:1000px){
  .utility{display:none}
  .cards-grid{grid-template-columns:repeat(3,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .feature-grid article:nth-child(2){border-right:0}
  .hero-grid{grid-template-columns:1fr 170px}
  .hero-railcopy{grid-column:2}
  .hero:after{right:3%;opacity:.75}
  .process-grid{grid-template-columns:1fr}
  .ask-bar{grid-template-columns:1fr auto}
  .ask-brand{grid-column:1/-1;border-left:0;border-top:1px solid #afc0ce;padding-left:0;padding-top:9px}
}
@media (max-width:760px){
  .shell{width:min(100% - 24px,1180px)}
  .topbar{min-height:72px}.brand-tagline{display:none}.brand-copy{border-right:0;padding-right:0}.brand-name{font-size:31px}.brand-mark{width:52px;flex-basis:52px}
  .menu-btn{display:block}.nav-inner{justify-content:space-between}
  .main-nav{display:none;position:absolute;left:12px;right:12px;top:129px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:var(--shadow);flex-direction:column;gap:0;align-items:stretch}
  .main-nav.open{display:flex}.main-nav a{height:auto;padding:11px 10px}.main-nav a.active:after{display:none}.search-btn{display:none}.nav-quote{margin-left:auto}
  .hero{min-height:510px}.hero-grid{grid-template-columns:1fr;min-height:510px;align-items:start}.hero-copy{padding-top:48px}.hero-copy h1{font-size:39px}.hero-railcopy{grid-column:1;justify-self:start;margin-bottom:25px}.hero:after{width:350px;right:-120px;bottom:0;opacity:.55}
  .section-heading-row{display:block}.text-link{display:inline-block;margin-top:10px}.cards-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid #c5d4df;padding:12px 0}.feature-grid article:first-child{padding-top:0}.feature-grid article:last-child{border-bottom:0;padding-bottom:0}
  .steps{grid-template-columns:1fr}.arrow{transform:rotate(90deg);margin:5px 0}
  .ask-bar{grid-template-columns:1fr}.ask-bar .btn{justify-self:start}
  .network-inner{grid-template-columns:1fr;gap:5px;padding:18px 0}.map-art{order:3}.network-tag{display:none}
  .footer-top{grid-template-columns:1fr}.footer-nav{justify-content:flex-start;flex-wrap:wrap}.socials{justify-content:flex-start}
  .footer-bottom{flex-direction:column;gap:5px}
}
@media (max-width:480px){
  .nav-quote{font-size:12px;padding:12px 14px}
  .cards-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:34px}
  .hero-lead{font-size:18px}
}
