*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
:root{--navy:#080f1c;--navy2:#0d1829;--navy3:#112038;--accent:#2970e8;--accent-l:#5b93f0;--white:#fff;--off:#f0f4f9;--text:#3d5068;--muted:#6b7f96;--border:#dde4ef;--border-d:rgba(255,255,255,.07);--green:#22c55e;--amber:#f59e0b;}
body{overflow-x:hidden;font-family:'Manrope',sans-serif;background:var(--navy);color:var(--white);-webkit-font-smoothing:antialiased;min-height:100vh;}
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:70px;display:flex;align-items:center;padding:0 48px;background:var(--navy);justify-content:space-between;border-bottom:1px solid var(--border-d);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}.nav-logo img{height:36px;}.nav-logo-text{font-size:.88rem;font-weight:800;color:var(--white);}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center;}.nav-links a{font-size:.8rem;font-weight:500;color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s;}.nav-links a:hover{color:rgba(255,255,255,.95);}
.nav-right{display:flex;align-items:center;gap:24px;}
.nav-phone{font-size:.85rem;font-weight:700;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:7px;}
.nav-phone::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 2px rgba(34,197,94,.25);animation:lp 2s infinite;}
@keyframes lp{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.25);}50%{box-shadow:0 0 0 5px rgba(34,197,94,.1);}}
.nav-cta{background:var(--accent);color:var(--white);font-size:.8rem;font-weight:700;padding:9px 22px;border-radius:3px;text-decoration:none;}

/* MAP HERO */
.map-hero{position:relative;padding-top:70px;}
#rt-map{height:540px;width:100%;z-index:1;display:block;}
.map-overlay-top{position:absolute;top:86px;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:flex-start;padding:0 40px;pointer-events:none;}
.map-title-block{pointer-events:none;}
.map-title-block .pht{font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-l);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.map-title-block .pht::before{content:'';width:20px;height:1px;background:var(--accent);}
.map-title-block h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.4rem);color:var(--white);letter-spacing:.02em;line-height:.95;text-shadow:0 2px 20px rgba(0,0,0,.8);}
.map-title-block p{font-size:.82rem;color:rgba(255,255,255,.55);margin-top:8px;line-height:1.6;max-width:280px;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.map-legend-float{background:rgba(8,15,28,.85);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px 18px;pointer-events:none;}
.map-legend-title{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:10px;}
.legend-item{display:flex;align-items:center;gap:9px;font-size:.76rem;font-weight:500;color:rgba(255,255,255,.6);margin-bottom:7px;}
.legend-item:last-child{margin-bottom:0;}
.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}

/* RESULT CARD — slides up from bottom */
.result-card{position:absolute;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);z-index:20;width:min(720px,calc(100% - 48px));background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:12px 12px 0 0;padding:22px 28px 0;transition:transform .45s cubic-bezier(.22,.68,0,1.15);pointer-events:auto;}
.result-card.visible{transform:translateX(-50%) translateY(0);}
.result-card-inner{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;padding-bottom:22px;}
.rc-time{text-align:center;background:rgba(255,255,255,.05);border-radius:8px;padding:16px 12px;flex-shrink:0;}
.rc-time-label{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:5px;}
.rc-time-value{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;line-height:1;letter-spacing:.02em;}
.rc-time-sub{font-size:.66rem;color:rgba(255,255,255,.3);margin-top:4px;}
.rc-details{min-width:0;}
.rc-name{font-size:1rem;font-weight:800;color:var(--white);margin-bottom:5px;}
.rc-note{font-size:.78rem;color:rgba(255,255,255,.42);line-height:1.55;margin-bottom:9px;}
.rc-tags{display:flex;gap:6px;flex-wrap:wrap;}
.rc-tag{font-size:.65rem;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.07);border-radius:20px;padding:3px 9px;color:rgba(255,255,255,.45);}
.rc-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.btn-rc-p{display:block;background:var(--accent);color:var(--white);font-size:.78rem;font-weight:700;padding:10px 16px;border-radius:4px;text-decoration:none;text-align:center;transition:background .15s;white-space:nowrap;}
.btn-rc-p:hover{background:#1a5cd4;}
.btn-rc-s{display:block;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.65);font-size:.78rem;font-weight:500;padding:10px 16px;border-radius:4px;text-decoration:none;text-align:center;white-space:nowrap;}
.btn-rc-s:hover{border-color:rgba(255,255,255,.4);}

/* SELECTOR SECTION */
.selector-section{background:var(--navy2);padding:40px 80px 56px;border-top:1px solid var(--border-d);}
.selector-inner{max-width:1060px;margin:0 auto;}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-d);border-radius:8px;overflow:hidden;margin-bottom:36px;}
.stat-s{padding:18px 26px;border-right:1px solid var(--border-d);}
.stat-s:last-child{border-right:none;}
.stat-s-l{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-l);margin-bottom:4px;}
.stat-s-v{font-size:1rem;font-weight:800;color:var(--white);}
.stat-s-s{font-size:.72rem;color:rgba(255,255,255,.32);margin-top:2px;}
.postcode-bar{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--border-d);border-radius:8px;padding:14px 20px;margin-bottom:36px;flex-wrap:wrap;}
.postcode-bar-label{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.55);white-space:nowrap;flex-shrink:0;}
.postcode-bar input{flex:1;min-width:130px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:8px 13px;font-family:'Manrope',sans-serif;font-size:.88rem;font-weight:600;color:var(--white);outline:none;transition:border-color .2s;letter-spacing:.06em;}
.postcode-bar input::placeholder{color:rgba(255,255,255,.22);font-weight:400;letter-spacing:0;}
.postcode-bar input:focus{border-color:var(--accent);}
.postcode-bar button{background:var(--accent);color:var(--white);border:none;padding:8px 20px;border-radius:4px;font-family:'Manrope',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap;}
.postcode-bar button:hover{background:#1a5cd4;}
.postcode-bar button:disabled{background:rgba(255,255,255,.1);cursor:not-allowed;}
#pc-error{font-size:.74rem;color:#ef4444;width:100%;}
#pc-loading{font-size:.74rem;color:rgba(255,255,255,.35);width:100%;}
.zone-group{margin-bottom:32px;}
.zone-group-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
.zone-pip{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.zone-group-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.zone-group-time{font-size:.72rem;font-weight:500;color:rgba(255,255,255,.28);}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;}
.loc-btn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:11px 14px;cursor:pointer;transition:all .18s;font-family:'Manrope',sans-serif;text-align:left;width:100%;}
.loc-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);}
.loc-btn.active{border-color:var(--accent);background:rgba(41,112,232,.18);}
.loc-btn .lb-name{font-size:.82rem;font-weight:700;color:var(--white);display:block;}
.loc-btn .lb-time{font-size:.68rem;color:rgba(255,255,255,.32);margin-top:2px;display:block;}
.loc-btn.active .lb-time{color:var(--accent-l);}
.vehicle-section{max-width:1060px;margin:48px auto 0;padding-top:40px;border-top:1px solid var(--border-d);}
.vehicle-section h2{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--white);letter-spacing:.04em;margin-bottom:6px;}
.vehicle-section p{font-size:.88rem;color:rgba(255,255,255,.38);margin-bottom:24px;}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.v-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:22px 18px;}
.v-badge{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:10px;}
.v-badge.green{background:#dcfce7;color:#166534;}
.v-badge.blue{background:#dbeafe;color:#1e40af;}
.v-badge.amber{background:#fef9c3;color:#854d0e;}
.v-card h3{font-size:.88rem;font-weight:700;color:var(--white);margin-bottom:7px;}
.v-card p{font-size:.78rem;color:rgba(255,255,255,.38);line-height:1.65;}
footer{background:var(--navy);padding:56px 80px 32px;border-top:1px solid var(--border-d);}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:40px;border-bottom:1px solid var(--border-d);margin-bottom:24px;}
.footer-brand img{height:34px;margin-bottom:14px;opacity:.6;}.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.22);line-height:1.8;max-width:280px;}
.f-col h4{font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:16px;}
.f-col ul{list-style:none;}.f-col ul li{margin-bottom:9px;}.f-col ul li a{font-size:.83rem;color:rgba(255,255,255,.3);text-decoration:none;transition:color .15s;}.f-col ul li a:hover{color:rgba(255,255,255,.78);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}.footer-bottom p{font-size:.74rem;color:rgba(255,255,255,.15);}.footer-bottom a{color:rgba(255,255,255,.26);text-decoration:none;}

@media(max-width:1024px){nav{padding:0 28px;}.nav-links{display:none;}#rt-map{height:420px;}.map-overlay-top{padding:0 20px;}.selector-section{padding:32px 24px 48px;}.result-card{width:calc(100% - 32px);}.result-card-inner{grid-template-columns:1fr;gap:12px;}.rc-actions{flex-direction:row;}.stats-strip{grid-template-columns:1fr;}.stat-s{border-right:none;border-bottom:1px solid var(--border-d);}.stat-s:last-child{border-bottom:none;}.vehicle-grid{grid-template-columns:1fr;}.footer-top{grid-template-columns:1fr 1fr;gap:2rem;}footer{padding:48px 24px 28px;}}
@media(max-width:640px){#rt-map{height:320px;}.map-title-block{display:none;}.loc-grid{grid-template-columns:1fr 1fr;}.footer-top{grid-template-columns:1fr;}}