
/* ============================================================
   RUSHXO #rxo — SINGLE DARK THEME (v6)
   One palette. No overrides, no external theme files.
   ============================================================ */
#rxo{
  --bg:#0d1b2a;          /* page background */
  --bg-deep:#081220;     /* darkest strips / footer */
  --card:#142c44;        /* card surface */
  --card-2:#183450;      /* raised / open surface */
  --line:#24405e;        /* borders */
  --txt:#ffffff;         /* headings */
  --txt-2:#dbe7f3;       /* body text */
  --txt-3:#9fb4c9;       /* muted text */
  --go:#19d185;          /* brand green */
  --go-soft:#7df3bf;     /* light green accent */
  --go-dim:rgba(25,209,133,.12);
  --go-line:rgba(25,209,133,.35);
  --btn-txt:#04231a;     /* dark text on green buttons */
  --radius:14px;
  --maxw:1080px;
}
html,body{margin:0;background:#0d1b2a;color:#dbe7f3}
#rxo *{box-sizing:border-box}
#rxo{
  margin:0;color:var(--txt-2);background:var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;
}
#rxo a{color:var(--go);text-decoration:none}
#rxo a:hover{color:var(--go-soft);text-decoration:underline}
#rxo ::selection{background:var(--go);color:var(--btn-txt)}
#rxo .wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
#rxo h1,#rxo h2,#rxo h3,#rxo h4{line-height:1.18;letter-spacing:-.01em;font-weight:800;color:var(--txt)}
#rxo h1{font-size:clamp(28px,5vw,44px);margin:.2em 0 .35em}
#rxo h2{font-size:clamp(22px,3.4vw,30px);margin:1.6em 0 .5em}
#rxo h3{font-size:19px;margin:1.4em 0 .3em}
#rxo p{margin:.6em 0;color:var(--txt-2)}
#rxo strong,#rxo b{color:var(--txt)}

/* header */
#rxo header.site{position:sticky;top:0;z-index:30;background:rgba(13,27,42,.95);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
#rxo header.site .wrap{display:flex;align-items:center;justify-content:space-between;
  padding:13px 20px;gap:16px}
#rxo .logo{font-weight:900;font-size:21px;letter-spacing:-.02em;color:var(--txt)}
#rxo .logo span{color:var(--go)}
#rxo .logo:hover{text-decoration:none}
#rxo nav.main a{color:var(--txt-2);font-weight:600;font-size:15px;margin-left:20px}
#rxo nav.main a:hover{color:var(--go);text-decoration:none}
#rxo .call{background:linear-gradient(135deg,#0fae6f,var(--go));color:var(--btn-txt)!important;padding:9px 16px;border-radius:999px;
  font-weight:800;font-size:14.5px;box-shadow:0 4px 14px rgba(25,209,133,.35)}
#rxo .call:hover{filter:brightness(1.08);text-decoration:none}
@media(max-width:760px){#rxo nav.main{display:none}}

/* hero */
#rxo .hero{background:linear-gradient(180deg,#0d1b2a 0%,#16304a 100%);color:var(--txt-2);
  padding:54px 0 60px}
#rxo .hero .eyebrow{display:inline-block;background:var(--go-dim);color:var(--go-soft);
  border:1px solid var(--go-line);padding:4px 12px;border-radius:999px;
  font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:14px}
#rxo .hero h1{color:var(--txt)}
#rxo .hero p.lead{font-size:19px;color:var(--txt-2);max-width:640px;margin:.4em 0 1.4em}
#rxo .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
#rxo .btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:800;
  font-size:15.5px;min-height:48px}
#rxo .btn-go{background:linear-gradient(135deg,#0fae6f,var(--go));color:var(--btn-txt)!important;box-shadow:0 4px 14px rgba(25,209,133,.35)}
#rxo .btn-go:hover{filter:brightness(1.08);text-decoration:none}
#rxo .btn-ghost{background:transparent;color:var(--txt)!important;border:1.5px solid var(--line)}
#rxo .btn-ghost:hover{border-color:var(--go);color:var(--go)!important;text-decoration:none}
#rxo .btn-wa{background:#25D366;color:var(--btn-txt)!important}
#rxo .btn-wa:hover{background:#2fe575;text-decoration:none}

/* quick facts strip */
#rxo .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:28px 0}
#rxo .facts div{background:var(--card);padding:16px 18px}
#rxo .facts .k{font-size:13px;color:var(--txt-3);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em}
#rxo .facts .v{font-size:21px;font-weight:800;color:var(--txt);margin-top:2px}
@media(max-width:680px){#rxo .facts{grid-template-columns:1fr 1fr}}

/* body sections */
#rxo main{padding:8px 0 10px}
#rxo .section{padding:6px 0}
#rxo .lede{font-size:19px;color:var(--txt-2)}
#rxo ul.ticks{list-style:none;padding:0;margin:.6em 0}
#rxo ul.ticks li{padding:6px 0 6px 30px;position:relative;color:var(--txt-2)}
#rxo ul.ticks li:before{content:"\2713";position:absolute;left:0;top:6px;color:var(--go);
  font-weight:900}
#rxo .h-rule{border-bottom:2px solid var(--go);padding-bottom:7px}

/* pill link grids (postcodes / boroughs / area guides) */
#rxo .pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin:14px 0}
#rxo .pill-grid a{display:block;padding:10px 14px;background:var(--card);border:1px solid var(--line);
  border-radius:9px;text-decoration:none;color:var(--txt);font-weight:600;font-size:14.5px;transition:all .15s}
#rxo .pill-grid a:hover{border-color:var(--go);color:var(--go-soft);text-decoration:none}

/* route / guide cards */
#rxo .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
#rxo .route-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;text-decoration:none;transition:all .15s}
#rxo .route-card:hover{border-color:var(--go);text-decoration:none}
#rxo .route-card .t{font-weight:800;color:var(--txt)}
#rxo .route-card:hover .t{color:var(--go-soft)}
#rxo .route-card .s{color:var(--txt-3);font-size:13.5px;margin-top:3px}
#rxo .guide-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;text-decoration:none;transition:all .15s}
#rxo .guide-card:hover{border-color:var(--go);text-decoration:none}
#rxo .guide-card .tag{font-size:10.5px;color:var(--go);font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:5px}
#rxo .guide-card .t{font-weight:800;color:var(--txt);font-size:16px;line-height:1.25}
#rxo .guide-card:hover .t{color:var(--go-soft)}
#rxo .guide-card .s{color:var(--txt-3);font-size:13px;margin-top:4px}

/* price table */
#rxo table.fares{width:100%;border-collapse:collapse;margin:14px 0;font-size:15.5px}
#rxo table.fares th,#rxo table.fares td{border:1px solid var(--line);padding:11px 13px;text-align:left;color:var(--txt-2)}
#rxo table.fares th{background:var(--bg-deep);font-weight:700;color:var(--go)}
#rxo table.fares td:last-child{font-weight:800;color:var(--go-soft);white-space:nowrap}
#rxo .note{font-size:13.5px;color:var(--txt-3)}

/* faq */
#rxo details.faq{border:1px solid var(--line);border-radius:10px;padding:0;margin:10px 0;
  overflow:hidden;background:var(--card)}
#rxo details.faq[open]{border-color:var(--go);background:var(--card-2)}
#rxo details.faq summary{cursor:pointer;padding:15px 18px;font-weight:700;list-style:none;
  color:var(--txt);display:flex;justify-content:space-between;align-items:center;gap:10px}
#rxo details.faq summary::-webkit-details-marker{display:none}
#rxo details.faq summary:after{content:"+";color:var(--go);font-weight:900;font-size:20px}
#rxo details.faq[open] summary:after{content:"\2013"}
#rxo details.faq .a{padding:0 18px 16px;color:var(--txt-2)}

/* related links card */
#rxo .related{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;margin:30px 0}
#rxo .related h2{margin-top:0;font-size:20px;color:var(--txt)}
#rxo .related ul{columns:2;column-gap:30px;margin:0;padding-left:18px}
#rxo .related li{margin:7px 0;break-inside:avoid;color:var(--txt-2)}
#rxo .related a{color:var(--go-soft)}
#rxo .related a:hover{color:var(--go)}
@media(max-width:600px){#rxo .related ul{columns:1}}
#rxo .related-services{background:var(--card);border:1px solid var(--line);padding:20px;margin:20px 0;border-radius:8px}
#rxo .related-services h3{margin-top:0;color:var(--txt)}
#rxo .related-services ul{list-style:none;padding:0;margin:0}
#rxo .related-services li{margin:5px 0}

/* breadcrumb */
#rxo .crumb{font-size:13.5px;color:var(--txt-3);padding:14px 0 0}
#rxo .crumb a{color:var(--txt-3)}
#rxo .crumb a:hover{color:var(--go)}

/* footer */
#rxo footer.site{background:var(--bg-deep);color:var(--txt-3);margin-top:46px;padding:40px 0 30px;
  font-size:14.5px}
#rxo footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
#rxo footer.site h3{color:var(--txt);font-size:15px;margin:0 0 10px}
#rxo footer.site p{color:var(--txt-3)}
#rxo footer.site a{color:var(--txt-3);display:block;margin:6px 0}
#rxo footer.site a:hover{color:var(--go-soft);text-decoration:none}
#rxo footer.site a[style*="inline"]{display:inline}
#rxo footer.site .fine{border-top:1px solid #1e3247;margin-top:26px;padding-top:18px;
  font-size:12.5px;color:#6f8398}
@media(max-width:760px){#rxo footer.site .cols{grid-template-columns:1fr 1fr}}

#rxo a,#rxo button,#rxo summary{-webkit-tap-highlight-color:rgba(25,209,133,.2)}
@media (prefers-reduced-motion:reduce){#rxo *{animation:none!important;transition:none!important}}
