/* Motive Power: the front of the locomotive. Yellow leads, blue supports. */
@font-face{font-family:'Archivo';src:url("assets/archivo-variable.12020a6fdc33.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url("assets/libre-baskerville-700.658cbf469e75.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--yellow:#f2c42b;--blue:#005b8f;--navy:#0a1322;--dark:#101c30;--paper:#f5f6f2;--grey:#d9e2e5;--ink:#064b73;
--d:'Archivo',Arial,sans-serif;--plate:'Libre Baskerville',Georgia,serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--paper);font:400 1.0625rem/1.55 var(--d)}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p,figure{margin:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:1320px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}
.big{font-stretch:62%;font-weight:900;line-height:.88;letter-spacing:-.005em;text-transform:uppercase}

/* The cab front */
.cab{position:relative;background:var(--yellow);color:var(--navy);overflow:hidden;display:flex;flex-direction:column}
.roof{background:var(--blue);color:var(--paper);padding:14px 20px 34px;border-radius:0 0 50% 50%/0 0 26px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.roofname{text-decoration:none;line-height:1.25}.roof strong{font-weight:900;font-stretch:125%;font-size:.875rem;letter-spacing:.1em}
.roof nav{display:flex;gap:24px;font-size:.9375rem;font-weight:500}
.roof nav a{text-decoration:none}.roof nav a:hover{text-decoration:underline}
.screens{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3vw,44px);width:min(92%,1080px);margin:clamp(14px,2.4vw,30px) auto 0}
.glass{background:var(--navy);color:var(--paper);padding:clamp(14px,2.2vw,30px);min-height:clamp(150px,21vw,280px);display:flex;flex-direction:column;justify-content:flex-end;font-weight:500;font-size:clamp(.9375rem,1.75vw,1.5rem);line-height:1.25;position:relative;overflow:hidden}
.glass.l{clip-path:polygon(7% 0,100% 0,100% 100%,0 100%);border-radius:8px;padding-left:clamp(18px,4vw,50px)}
.glass.r{clip-path:polygon(0 0,93% 0,100% 100%,0 100%);border-radius:8px}
.glass::before{content:"";position:absolute;inset:-40% auto auto 62%;width:14%;height:200%;background:#ffffff0e;transform:rotate(24deg)}
.glass b{color:var(--yellow);font-weight:800}
.headcode{align-self:center;margin-top:clamp(14px,2.4vw,28px);background:#060a12;color:#fff;border:5px solid var(--navy);border-radius:5px;padding:4px 18px 3px;font-weight:800;font-stretch:80%;font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:.14em;line-height:1.05;font-variant-numeric:tabular-nums;min-width:4.4em;text-align:center}
.lamps{position:absolute;inset:auto 0 0;pointer-events:none}
h1{text-align:center;margin-top:clamp(10px,1.8vw,22px);font-size:clamp(5.2rem,16.8vw,17rem);padding-inline:12px}
h1 span{display:inline-block}h1 span+span{margin-left:.06em}
.cta-row{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center;margin:clamp(16px,2.4vw,28px) 16px clamp(22px,3vw,34px)}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:12px 26px;background:var(--navy);color:var(--yellow);font-weight:800;text-decoration:none;font-size:1.0625rem}
.btn:hover{background:var(--blue);color:#fff}
.btn.y{background:var(--yellow);color:var(--navy)}.btn.y:hover{background:#ffda51;color:var(--navy)}
.txt{font-weight:700;text-underline-offset:3px}
.beam{background:var(--navy);height:clamp(58px,8vw,92px);position:relative}
.beam i{position:absolute;top:-22%;width:clamp(58px,9vw,112px);aspect-ratio:1;border-radius:50%;background:var(--dark);border:clamp(5px,.8vw,9px) solid #1b2c46}
.beam i:first-child{left:7%}.beam i:last-of-type{right:7%}
.beam b{position:absolute;left:50%;top:18%;transform:translateX(-50%);width:clamp(24px,3vw,42px);height:70%;background:#1b2c46;border-radius:4px}

/* Trailer */
.trailer{padding:clamp(48px,7vw,96px) 0}
.trailer h2{font-size:clamp(3rem,8.4vw,7.4rem);color:var(--yellow);margin-bottom:clamp(20px,3vw,34px)}
.trailer video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#000}
.trailer p{margin-top:14px;color:#b7ccdb;max-width:60ch}

.rule{background:var(--paper);color:var(--navy);padding:clamp(26px,4vw,48px) 0}
.rule p{font-size:clamp(1.5rem,3.4vw,2.8rem);font-weight:700;line-height:1.14;font-stretch:88%;max-width:26ch}

/* The working table */
.who{background:var(--blue)}
.whogrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,60px);align-items:start;padding-block:clamp(44px,6vw,84px)}
.who h2{font-size:clamp(3.2rem,7vw,6.6rem)}.who h2 em{font-style:normal;color:var(--yellow)}
.who .whogrid>div>p{margin-top:18px;max-width:42ch;font-size:clamp(1.0625rem,1.4vw,1.25rem)}
.tbl{background:var(--navy);min-width:0}
.tscroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.9688rem;font-variant-numeric:tabular-nums}
th{font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#a9bfcf;text-align:left;padding:12px 8px;border-bottom:1px solid #2b4259}
td{padding:7px 8px;border-bottom:1px solid #1d3048;vertical-align:middle;color:var(--paper)}
td:first-child,th:first-child{padding-left:16px}td:last-child,th:last-child{padding-right:16px}
.num{text-align:right;white-space:nowrap}
.chip{display:inline-block;background:var(--yellow);color:var(--navy);font-weight:800;font-size:.8125rem;line-height:1;padding:4px 6px;margin-right:6px}
.stepper{display:inline-flex;align-items:center;border:1px solid #2b4259;background:#0f1d30}.stepper.on{border-color:var(--yellow)}
.stepper button{width:36px;height:36px;border:0;background:transparent;color:var(--paper);font:700 1.125rem/1 var(--d);cursor:pointer}.stepper button:hover{background:#1b2c46}
.stepper button:focus-visible,.tbl a:focus-visible{outline:3px solid var(--yellow);outline-offset:-2px}
.stepper output{min-width:38px;text-align:center;font-weight:700}
.pos{color:#7fdc9a}.neg{color:#f5a897}.was{display:block;color:#a9bfcf;font-size:.8125rem}
.foot{padding:14px 16px 18px;display:grid;gap:8px}
.meter{height:10px;background:#000}.meter b{display:block;height:100%;background:#7fdc9a;width:0}.meter.over b{background:#e0604c}
.bal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600;font-size:.9375rem;color:var(--paper)}
.bal strong{color:#f5a897}.bal strong.ok{color:#7fdc9a}
.say{min-height:2.9em;line-height:1.4;color:var(--paper)}

/* Filmstrip */
.strip{background:var(--grey);color:var(--navy);padding:clamp(44px,6vw,80px) 0}
.strip h2{font-size:clamp(2.6rem,6.5vw,5.6rem);color:var(--ink)}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px max(20px,calc((100vw - 1280px)/2)) 22px;scrollbar-color:var(--blue) transparent}
.rail figure{flex:0 0 min(84vw,880px);scroll-snap-align:center}
.rail img{border:5px solid var(--navy);width:100%;height:auto;cursor:zoom-in}
.rail figcaption{padding-top:12px;font-size:1rem;max-width:62ch}
.rail figcaption b{display:block;font-weight:900;font-stretch:75%;font-size:1.5rem;text-transform:uppercase;line-height:1.1;margin-bottom:3px}

/* Nameplates */
.plates{background:var(--blue);padding:clamp(44px,6vw,80px) 0}
.plates h2{font-size:clamp(2.8rem,6.8vw,6rem);margin-bottom:12px}
.plates>.wrap>p{max-width:56ch;color:#dbe9f1;margin-bottom:26px}
.wall{display:flex;flex-wrap:wrap;gap:8px}
.plates .sub{font-weight:800;font-stretch:88%;font-size:clamp(1.25rem,2vw,1.625rem);margin:30px 0 12px;color:#fff}
.plates .sub+p{margin:-6px 0 12px;color:#dbe9f1}
.wall span{font:700 clamp(.8125rem,1.25vw,1.0625rem)/1 var(--plate);letter-spacing:.16em;background:#9e1b1b;color:#f0f0ec;border:2px solid #d8d8d2;padding:9px 12px 8px;text-align:center;white-space:nowrap}
.wall .w{background:#121212}
.wall .w small{display:block;font:400 .5em/1.3 var(--plate);letter-spacing:.2em;margin-top:4px}
.wall.dd span{background:#9e1b1b}

/* Chairs */
.chairs{background:var(--navy);padding:clamp(44px,6vw,84px) 0}
.chairs h2{font-size:clamp(2.8rem,6.8vw,6rem);color:var(--yellow)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);margin-top:30px}
.grid4 h3{font-weight:800;font-size:1.125rem;line-height:1.2;border-top:6px solid var(--yellow);padding-top:12px;min-height:3.4em}
.grid4 p{color:#b7ccdb;font-size:1rem;margin-top:6px}

/* End */
.end{background:var(--yellow);color:var(--navy);padding:clamp(40px,6vw,76px) 0}
.end h2{font-size:clamp(4.4rem,15vw,14rem)}
.end p{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600;margin:16px 0 22px}
.end .cta-row{justify-content:flex-start;margin:0}
footer{background:var(--navy);padding:30px 0 90px;font-size:.875rem;color:#bfcedb}
footer .links{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px;color:var(--paper)}
footer p{max-width:80ch}

.stick{display:none}


.lead{margin-top:12px;color:#b7ccdb;max-width:58ch}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:20;background:var(--navy);color:var(--yellow);padding:10px 14px;font-weight:700}
.skip-link:focus{top:12px}
.meter.over b{width:100%}
.lightbox{border:0;padding:12px;background:var(--navy);color:var(--paper);max-width:96vw;max-height:96vh}
.lightbox::backdrop{background:#010815eb}
.lightbox button{display:block;margin:0 0 10px auto;background:var(--yellow);color:var(--navy);border:0;padding:8px 14px;font:700 .9375rem var(--d);cursor:pointer}
.lightbox img{max-height:82vh}
footer a{color:inherit}
.image-credits{margin-top:18px;max-width:80ch}
.image-credits summary{cursor:pointer;font-weight:700;color:var(--paper)}
.image-credits p,.image-credits li{margin-top:10px}
.image-credits ul{margin:0;padding-left:18px}
/* Privacy notice and 404 */
.page{background:var(--yellow);color:var(--navy);min-height:100svh;padding:clamp(32px,6vw,64px) 0}
.page .brand{font-weight:900;font-stretch:125%;letter-spacing:.1em;text-decoration:none;font-size:.9375rem}
.page .section-index{margin-top:clamp(32px,6vw,64px);font-weight:700}
.page h1{text-align:left;font-size:clamp(3rem,9vw,7rem);margin:14px 0 22px;font-stretch:62%;font-weight:900;line-height:.92;text-transform:uppercase;max-width:18ch}
.page .button{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:12px 26px;margin-top:22px;background:var(--navy);color:var(--yellow);font-weight:800;text-decoration:none}
.page .button:hover{background:var(--blue);color:#fff}
.legal-page h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;line-height:1.15;margin:40px 0 12px}
.legal-page p{max-width:720px;margin:0 0 14px}
.legal-page p a{text-decoration:underline}
.legal-page .legal-updated{font-size:.875rem}

@media(max-width:820px){
  .roof nav a:not(:last-child){display:none}.roofname{text-decoration:none}.roof strong{font-size:.6875rem;letter-spacing:.06em}.roof{padding:12px 16px 28px}
  h1{font-size:30vw;line-height:.84}h1 span{display:block}h1 span+span{margin-left:0}
  .screens{width:94%}.glass{min-height:44vw;font-size:.9375rem}
  .whogrid{grid-template-columns:minmax(0,1fr)}.who h2{font-size:18vw}
  .grid4{grid-template-columns:1fr 1fr}  .cta-row .btn{flex:1 1 100%;justify-content:center}
  .stick{display:flex;position:fixed;inset:auto 0 0;z-index:9;background:var(--navy);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:12px;align-items:center;justify-content:space-between;color:var(--paper);font-size:.875rem;border-top:3px solid var(--yellow)}
  .stick .btn{min-height:44px;padding:8px 16px;font-size:.9375rem;background:var(--yellow);color:var(--navy)}
}
@media(max-width:560px){td,th{padding-inline:4px}td:first-child,th:first-child{padding-left:12px}td:last-child,th:last-child{padding-right:12px}table{font-size:.875rem}.hide-s{display:none}.stepper button{width:30px;height:34px}.stepper output{min-width:30px}.chip{margin-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
