:root{--sign:#0060cc;--white:#ffffff;--asphalt:#26282c;--asphalt-2:#1c1e21;--steel:#8d939b;--ink:#0b0c0e;--ease:cubic-bezier(0.16,1,0.3,1);}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--asphalt-2);color:var(--white);font-family:"Overpass",system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;}::selection{background:var(--white);color:var(--sign)}.stage{flex:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100dvh;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));}.gantry{position:relative;height:10px;margin:0 -14px;background:var(--steel);border-bottom:1px solid #5e636a;}.sign{position:relative;margin-top:-4px;background:var(--sign);border-radius:14px;padding:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}.sign-face{position:relative;height:100%;border:3px solid var(--white);border-radius:9px;padding:clamp(14px,3vw,28px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:10px 14px;min-height:0;}.mast{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;}.mast img{width:clamp(52px,12vw,96px);height:auto;aspect-ratio:1;border-radius:12px;display:block;}.exit-tab{font-weight:700;font-size:clamp(0.82rem,0.75rem + 0.4vw,1.05rem);letter-spacing:0.04em;text-transform:uppercase;border:2px solid var(--white);border-radius:6px;padding:6px 10px 3px;font-variant-numeric:tabular-nums;line-height:1;}h1{grid-column:1 / 2;align-self:start;font-family:"Gloock",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,1.6rem + 5.2vw,6.4rem);line-height:0.95;letter-spacing:-0.01em;}h1 span{display:block}.dest{grid-column:1 / 2;align-self:end;list-style:none;font-weight:700;font-size:clamp(1rem,0.88rem + 0.6vw,1.35rem);line-height:1.25;}.dest li{padding:7px 0 4px;border-top:2px solid rgba(255,255,255,0.92)}.dest li:first-child{border-top:0;padding-top:0}.lane-arrow{grid-column:2 / 3;grid-row:2 / 4;align-self:end;width:clamp(54px,11vw,110px);transition:transform 900ms var(--ease);}.sign.go .lane-arrow{transform:translateY(14px)}.road{position:relative;background:var(--asphalt);margin:14px -14px 0;padding:16px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto;gap:12px 18px;align-items:end;overflow:hidden;}.road::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--white);opacity:0.85;}.lead{grid-column:1 / -1;font-size:clamp(1rem,0.94rem + 0.35vw,1.2rem);line-height:1.45;color:#e9ebee;max-width:36ch;}.cta{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 18px 12px 20px;background:var(--white);color:var(--ink);border-radius:10px;font-weight:700;font-size:clamp(1.05rem,0.98rem + 0.4vw,1.25rem);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform 500ms var(--ease);}.cta svg{flex:none;width:22px;height:22px}.cta:focus-visible{outline:3px solid var(--white);outline-offset:4px;box-shadow:0 0 0 7px var(--sign)}.cta:active{transform:scale(0.98)}footer{padding:10px max(14px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-bottom));margin:0 -14px;background:var(--asphalt-2);color:#b4b9c0;font-size:clamp(0.8rem,0.76rem + 0.2vw,0.9rem);display:flex;justify-content:space-between;}@media (hover: hover) and (pointer: fine){.cta:hover{transform:translateY(-2px)}.sign:hover .lane-arrow{transform:translateY(8px)}}@media (min-width: 900px){.stage{padding-left:40px;padding-right:40px}.gantry,.road,footer{margin-left:-40px;margin-right:-40px}.road{padding:22px 40px 20px;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;}.lead{grid-column:1 / 2}.cta{grid-column:2 / 3}footer{padding-left:40px;padding-right:40px}.sign-face{padding:28px 34px}.dest{max-width:640px}}@media (prefers-reduced-motion: reduce){.lane-arrow,.cta{transition:none}.sign.go .lane-arrow,.sign:hover .lane-arrow{transform:none}}html,body{max-width:100%;overflow-x:clip}