/* US-280 world: overrides on top of race.css structure */
@font-face{font-family:"Overpass";src:url(fonts/overpass-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --disp:"Overpass","Arial Narrow",sans-serif;
  --sign-r:10px;
  --lane:#ffffff;
  --shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 52'%3E%3Cpath d='M4 5Q24 -1 44 5Q46 26 39 38Q32 49 24 51Q16 49 9 38Q2 26 4 5Z' fill='%23fff' stroke='%231A1A1A' stroke-width='3'/%3E%3C/svg%3E");
}
/* type: upright, heavy, tracked like guide-sign copy */
.d{font-style:normal;font-weight:800;font-stretch:100%;letter-spacing:.005em;line-height:.98}
.num,.btn,.nav>div>a,.hdr-phone,.tower-h b,.tsort button,.bar a,.drawer summary,.drawer .solo,.fld>span,.vc .t,.vc .act a,.vc .badge,.types a .l,.fg>b,.side .fh b,.specs b,.price .top small,.where b,.faq summary,.steps-bar span,.cond b,.lots a b,.brand span,.dlg-h b,.facts b,.foot h4{font-style:normal;font-stretch:100%}
.num{font-weight:800;letter-spacing:-.01em}
.btn{font-weight:800;letter-spacing:.06em;font-size:.98rem}
.hero h1{font-size:clamp(2.7rem,5.6vw,5.1rem);letter-spacing:-.005em}

/* the lane line replaces the checker strip */
.checker{height:12px;background:var(--ink) linear-gradient(90deg,var(--lane) 0 46px,transparent 46px 86px) 0 50%/86px 4px repeat-x}
.checker.sm{height:10px;background-size:60px 3px;background-image:linear-gradient(90deg,var(--lane) 0 32px,transparent 32px 60px)}

/* sign panels: the only rounded corners, white inset border like real guide signs */
.sign{border-radius:var(--sign-r);box-shadow:inset 0 0 0 3px #fff}

/* hero headline: the town on a guide-sign plate */
.hero{background:linear-gradient(100deg,#E01F26 0%,#b5161c 34%,#3d0b0d 66%,#1A1A1A 88%)}
.hero h1 em{font-style:normal;transform:none;background:var(--red);color:#fff;border-radius:var(--sign-r);box-shadow:inset 0 0 0 4px #fff,0 0 0 3px var(--ink);padding:.06em .22em .02em;margin-top:.08em}
.hero .btn-white{border-radius:0}

/* overhead guide sign: NEXT EXITS */
.tower{background:var(--red);border:0;border-radius:14px;box-shadow:inset 0 0 0 4px #fff,0 0 0 3px var(--ink);padding:10px 10px 6px;position:relative}
.tower::before,.tower::after{content:"";position:absolute;top:100%;width:10px;height:24px;background:#9b9894;border:2px solid var(--ink);border-top:0}
.tower::before{left:22%}.tower::after{right:22%}
.tower-h{border-bottom:3px solid #fff;margin:4px 8px 0;padding-bottom:8px}
.tower-h b{padding:6px 2px;font-size:1.2rem;letter-spacing:.08em}
.tower-h b .live{display:none}
.tsort{gap:6px;align-items:center}
.tsort button{border:2px solid #fff;border-radius:6px;color:#fff;padding:6px 10px;font-size:.78rem;letter-spacing:.08em}
.tsort button[aria-pressed=true]{background:#fff;color:var(--red)}
.tower ol{margin:4px 8px}
.tower li{border-bottom:2px solid rgba(255,255,255,.35)}
.tower li a{grid-template-columns:62px 44px minmax(0,1fr) auto;height:54px;padding:0;color:#fff}
.tower li a:hover{background:rgba(0,0,0,.18)}
.tower .pos,.tower li:nth-child(n+4) .pos{background:#fff;color:var(--red);height:auto;padding:5px 0 3px;border-radius:5px;font-size:.95rem;letter-spacing:.06em;font-style:normal;font-stretch:100%}
.tower .pos::before{content:"EXIT ";font-size:.62rem;letter-spacing:.1em;display:block;line-height:1}
.tower .plate{background:var(--shield) center/contain no-repeat;color:var(--ink);width:38px;height:42px;display:grid;place-items:center;padding:0 0 4px;font:800 .98rem/1 var(--disp);font-style:normal}
.tower .car{font-size:1rem;font-weight:800;letter-spacing:.01em}
.tower .car small{color:#ffd6d7}
.tower .pr{font-style:normal;font-weight:800;font-size:1.25rem}
.tower .gap{color:#ffd6d7}
.tower-f{border-top:0;margin:0 8px;padding:10px 2px 6px}
@media (max-width:520px){.tower li a{grid-template-columns:54px 38px minmax(0,1fr) auto;gap:8px}}

/* quick search sits on the road */
.qs-card{border-radius:0;border-width:3px}
.qs .btn{border-radius:0}

/* shop by type: exit tabs over sign panels */
.types{border:0;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}
.types a,.types a:first-child{border:0!important;border-radius:var(--sign-r);background:var(--red);color:#fff;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--ink);padding:44px 18px 18px;min-height:190px;margin-top:22px;overflow:visible}
.types a::before{content:"EXIT " attr(data-exit);position:absolute;top:-22px;right:14px;background:var(--red);color:#fff;font:800 .82rem/1 var(--disp);letter-spacing:.1em;padding:7px 10px 5px;border-radius:7px 7px 0 0;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--ink);clip-path:inset(-4px -4px 3px -4px)}
.types a .ico{color:#fff}
.types a:hover{background:var(--ink);color:#fff}
@media (max-width:960px){.types{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.types a{min-height:150px}}

/* vehicle cards: route shield carries the car number */
.vc .plate{background:var(--shield) center/contain no-repeat;color:var(--ink);left:8px;top:8px;width:46px;height:50px;min-width:0;padding:0 0 6px;display:grid;place-items:center;font:800 1.15rem/1 var(--disp);font-style:normal}
.vc .badge{border-radius:0 6px 0 0;letter-spacing:.1em}
.vc .t{font-weight:800;font-size:1.15rem;letter-spacing:.01em;line-height:1.08}
.vc .pr .num{font-size:1.85rem}

/* how it works: mile markers */
.laps .num{font-size:1.9rem;line-height:1;color:#fff;background:var(--ink);border-radius:6px;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--ink);width:58px;text-align:center;padding:10px 0 6px;font-style:normal}
.laps .num::before{content:"MILE";display:block;font-size:.58rem;letter-spacing:.14em;margin-bottom:4px}

/* finance band and trade: signage forms */
.formbox{border-radius:0}
.trade-l .big{-webkit-text-stroke:0;color:#fff;font-size:clamp(3.2rem,6.6vw,6rem)}
.trade-l .big b{color:var(--red)}
.trade-l{background:var(--ink) linear-gradient(90deg,var(--lane) 0 46px,transparent 46px 86px) 36px calc(100% - 92px)/86px 4px repeat-x}

/* location block: the exit gore */
.loc-r h2{font-size:2.2rem}
.hours tr.today td{background:var(--red)}

/* other lots: route shields */
.lots a b{display:flex;align-items:center;gap:12px}
.lots a b::before{content:"";width:34px;height:37px;background:var(--shield) center/contain no-repeat;flex:none}

/* VDP */
.gal-main .plate{background:var(--shield) center/contain no-repeat;color:var(--ink);left:10px;top:10px;width:64px;height:70px;padding:0 0 8px;display:grid;place-items:center;font-size:1.6rem}
.price .top{background:var(--red);border-radius:0}
.price .top .num{font-size:3.3rem}
.where{border-radius:var(--sign-r);border:0;box-shadow:inset 0 0 0 3px #fff,0 0 0 3px var(--ink);background:var(--red);color:#fff}
.where .lnk{color:#fff}
.finder{border-left:0;border-radius:var(--sign-r);background:var(--red);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--ink)}
.finder::after{display:none}
.finder:hover{background:var(--ink)}
.steps-bar span:first-child{background:var(--red)}
.side-box{border-radius:var(--sign-r);box-shadow:inset 0 0 0 3px #fff;border:0;outline:2px solid var(--ink)}

/* header: route shield next to the lot name */
.brand span{letter-spacing:.24em}
.nav>div>a{font-weight:800;letter-spacing:.06em;font-size:.95rem}
.hdr-phone{font-size:1.4rem;letter-spacing:.01em}

@media (prefers-reduced-motion:no-preference){
  @keyframes launch{from{transform:translateX(-18px);opacity:.001}}
  @keyframes grid{from{transform:translateX(-60px);opacity:.001}}
}

.finder p{color:#fff}
.price .top small{color:#fff}
.gfull{font-style:normal;font-stretch:100%}
.foot .foot-h{font-style:normal;font-stretch:100%}
