/* TW #4956 design A chrome for inner pages: tokens, header, footer, buttons (carved from a1.css) */
:root{
  --brand-primary: #00408c;
  --brand-primary-dark: #003687;
  --brand-primary-deep: #0a1a33;
  --brand-action: #0b4fa8;
  --brand-ink: #1a1a1a;
  --brand-night: #0e1218;
  --brand-paper: #ffffff;
  --brand-mist: #f1f2f4;
  --brand-line: #d5d3d4;
  --brand-accent: #f8a910;
  --brand-accent-2: #3c5997;
  --brand-signal: #ffb21a;
  --brand-truck: #f8a910;
  --font-heading: "Oswald", system-ui, sans-serif;
  --font-body: "Source Sans 3", system-ui, sans-serif;
}
:root{
  --deep:var(--brand-night); --navy:var(--brand-primary-deep); --mid:var(--brand-primary); --mid-text:var(--brand-primary-dark);
  --deeper:color-mix(in srgb,var(--deep) 72%,black); --navy-d:color-mix(in srgb,var(--navy) 45%,var(--deep)); --navy-2:color-mix(in srgb,var(--navy) 70%,var(--mid));
  --lblue:rgba(255,255,255,.82); --lblue-d:rgba(255,255,255,.55);  --pale:var(--brand-mist);
  --red:var(--brand-action); --red-h:color-mix(in srgb,var(--brand-action) 82%,white); --red-d:color-mix(in srgb,var(--brand-action) 55%,black);
  --ink:var(--brand-ink); --grey-l:var(--brand-mist); --grey:var(--brand-line); --grey-d:rgba(0,0,0,.74);
  --yellow:var(--brand-accent);
  --flame:var(--brand-signal); --flame-l:color-mix(in srgb,var(--brand-signal) 40%,white); 
  --maxw:1200px; --gut:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.wrap{width:min(100% - 2*var(--gut),var(--maxw));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--yellow);color:var(--ink);padding:.6rem 1rem;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.65rem 1.6rem;border-radius:999px;font-weight:700;font-size:1.17rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 10px 24px color-mix(in srgb,var(--red) 25%,transparent)}
.btn-primary:hover{background:var(--red-h);border-color:var(--red-h)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-sm{min-height:44px;padding:.45rem 1.15rem}
.topbar{background:var(--deeper);color:var(--lblue);font-size:1rem}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1rem}
.tb-left,.tb-right{display:flex;align-items:center;flex-wrap:wrap;gap:0 .25rem}
.tb-left span{display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;font-weight:600;border-radius:6px}
.topbar a:hover{color:var(--yellow)}
.tb-left .tb-addr,.tb-right .tb-reg{display:none}
@media (max-width:639px){
.topbar .wrap{flex-wrap:nowrap}
.tb-left span{padding-left:0}
.tb-right a{padding-right:0}
}
@media (min-width:640px){
.tb-left .tb-addr,.tb-right .tb-reg{display:inline-flex}
}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--deep) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--lblue) 15%,transparent)}
.site-header .wrap{display:flex;align-items:center;gap:.75rem;min-height:78px;flex-wrap:wrap}
.logo-link{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;margin-right:auto;min-height:44px}
.logo-link img{width:56px;height:55px}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text b{font-weight:700;font-size:1.25rem;letter-spacing:.02em}
.logo-text small{font-size:.875rem;color:var(--lblue);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:479px){
.logo-text{display:none}
}
.nav-menu{list-style:none;margin:0;padding:0;display:flex;gap:.1rem;align-items:center}
.nav-menu a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;color:#fff;text-decoration:none;font-weight:600;border-radius:8px}
.nav-menu a:hover{background:rgba(255,255,255,.08)}
.nav-menu a[aria-current="page"]{color:var(--yellow)}
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;border:1px solid color-mix(in srgb,var(--lblue) 35%,transparent);background:transparent;color:#fff;cursor:pointer}
.menu-toggle .bars,.menu-toggle .bars::before,.menu-toggle .bars::after{display:block;width:22px;height:2px;background:#fff;border-radius:2px;content:"";position:relative;transition:transform .25s,opacity .25s}
.menu-toggle .bars::before{position:absolute;top:-7px}
.menu-toggle .bars::after{position:absolute;top:7px}
.nav-open .menu-toggle .bars{background:transparent}
.nav-open .menu-toggle .bars::before{transform:translateY(7px) rotate(45deg)}
.nav-open .menu-toggle .bars::after{transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1280px) and (max-width:1599px){
.nav-menu a{font-size:.9375rem;padding:0 .6rem}
}
@media (max-width:1279px){
html.js .menu-toggle{display:inline-flex;order:3}
.nav-cta{order:2}
html.js .nav-menu{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding:.25rem 0 .9rem;border-top:1px solid color-mix(in srgb,var(--lblue) 15%,transparent)}
html.js .nav-open .nav-menu{display:flex}
html.js .nav-menu a{min-height:48px}
html:not(.js) .nav-menu{order:4;width:100%;flex-wrap:wrap;padding-bottom:.5rem}
}
@media (min-width:1100px){
html.js .netmap{display:block}
html.js .net-panel{display:block}
html.js .trunk{display:none}
}
html:not(.js) .trunk{padding-left:0}
html:not(.js) .trunk::before,html:not(.js) .trunk::after,html:not(.js) .trunk>li::before,html:not(.js) .trunk>li::after{display:none}
@media (min-width:760px){
html:not(.js) .trunk{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
html:not(.js) .trunk .hub-item{grid-column:1/-1}
}
.footer{background:var(--deeper);color:var(--lblue);padding:4rem 0 2rem;border-top:1px solid color-mix(in srgb,var(--lblue) 12%,transparent)}
.foot-grid{display:grid;gap:2rem}
@media (min-width:760px){
.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
}
.footer img{width:88px;height:86px;margin-bottom:1rem}
.footer h3{color:#fff;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}
.footer ul{list-style:none;margin:0;padding:0}
.footer li a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font-weight:600}
.footer li a:hover{color:var(--yellow)}
.footer address{font-style:normal;line-height:1.7}
.foot-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--lblue) 15%,transparent);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;color:var(--lblue)}
@media (min-width:1280px){
html.js .rail{display:block}
}
@media (prefers-reduced-motion:no-preference){
html.js .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
html.js .section:not(.lit) h2.title::after{width:0}
html.js .section:not(.light):not(.white):not(.lit) h2.title{text-shadow:none}
html.js .section:not(.lit) .eyebrow{opacity:.55}
html.js .network:not(.flow) .ln-flow{stroke-dashoffset:1}
html.js .network:not(.flow) .st{fill:var(--deep);stroke:var(--mid);filter:none}
html.js .network:not(.flow) .station .lbl{color:var(--lblue-d)}
html.js .network:not(.flow) .hub-core{fill:var(--mid)}
html.js .network.flow .hub-core{animation:core-breathe 2.6s ease-in-out 1.2s infinite}
html.js .network.flow .ln-pulse{opacity:.9;animation:net-pulse 6s linear 2s infinite}
html.js .network:not(.flow) .trunk::after{transform:scaleY(0)}
html.js .network:not(.flow) .trunk>li::before{background:var(--deep);border-color:var(--mid);box-shadow:none}
html.js .section:not(.lit) .gauge .needle{transform:rotate(6deg)}
}
@media (prefers-reduced-motion:no-preference){
html.appad-js .appad:not(.appad-on) .appad-copy > *,html.appad-js .appad:not(.appad-on) .appad-burst,html.appad-js .appad:not(.appad-on) .appad-pop{opacity:0}
html.appad-js .appad:not(.appad-on) .appad-swash svg{transform:scaleX(0)}
html.appad-js .appad:not(.appad-on) .appad-fan{transform:translateX(0) translateY(calc(var(--pw) * .06)) rotate(0deg) scale(.94)}
}
.logo-text b{font-size:1.35rem;letter-spacing:.03em}
.logo-text small{font-size:.75rem;letter-spacing:.05em;max-width:17em;white-space:normal;line-height:1.15}
@media (min-width:760px){
html:not(.js) .trunk>li:nth-child(even) .node{margin-left:0}
}