
body {font-family: 'Roboto Slab', serif; color:#2a2f36; background:#fff;}
a {color:#8a6439;}
a:hover, a:focus {color:#5d4325; text-decoration:none;}
.topbar {background:#111822; color:#fff; font-size:13px; padding:10px 0;}
.topbar .reserve-btn {float:right;}
.site-header {background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08); position:sticky; top:0; z-index:999;}
.navbar {margin-bottom:0; border:none; background:#fff;}
.navbar-brand {height:auto; padding:16px 15px 12px;}
.brand-title {display:block; font-size:24px; font-weight:700; line-height:1.1; color:#111822;}
.brand-subtitle {display:block; font-size:12px; letter-spacing:1.8px; text-transform:uppercase; color:#8a6439; margin-top:4px;}
.navbar-nav > li > a {padding:26px 14px; color:#111822; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.7px;}
.navbar-nav > li > a:hover, .navbar-nav > li.open > a, .navbar-nav > li.active > a {background:#fff !important; color:#8a6439 !important;}
.dropdown-menu {border-radius:0; border:1px solid #e7e7e7; min-width:250px;}
.dropdown-menu > li > a {padding:10px 16px; white-space:normal;}
.hero {position:relative; color:#fff; min-height:420px; display:flex; align-items:center; background-size:cover; background-position:center center;}
.hero::before {content:''; position:absolute; inset:0; background:rgba(17,24,34,.58);}
.hero .container {position:relative; z-index:2;}
.hero h1 {font-size:48px; line-height:1.15; margin:0 0 18px; color:#fff;}
.hero p {font-size:19px; max-width:720px; color:#f2f2f2; margin-bottom:28px;}
.page-hero {min-height:300px;}
.btn-gold {background:#8a6439; color:#fff; border:none; padding:13px 28px; border-radius:3px; text-transform:uppercase; letter-spacing:1px; font-weight:700;}
.btn-gold:hover, .btn-gold:focus {background:#6f4e2d; color:#fff;}
.btn-outline-light {background:transparent; color:#fff; border:2px solid rgba(255,255,255,.8); padding:11px 26px; margin-left:12px; border-radius:3px; text-transform:uppercase; letter-spacing:1px; font-weight:700;}
.btn-outline-light:hover {background:#fff; color:#111822;}
.section {padding:70px 0;}
.section.alt {background:#f7f8fb;}
.section-title {text-align:center; margin-bottom:45px;}
.section-title h2 {margin:0 0 10px; font-size:34px; color:#111822;}
.section-title p {max-width:760px; margin:0 auto; color:#667085;}
.card-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:26px;}
.info-card {background:#fff; border:1px solid #e7e7e7; box-shadow:0 8px 24px rgba(0,0,0,.06); height:100%;}
.info-card img {width:100%; height:220px; object-fit:cover;}
.info-card .content {padding:24px;}
.info-card h3 {margin-top:0; font-size:22px; color:#111822;}
.info-card p {color:#5f6877; min-height:84px;}
.mini-links {list-style:none; padding-left:0; margin:15px 0 0;}
.mini-links li {margin-bottom:6px;}
.quick-list {list-style:none; padding-left:0;}
.quick-list li {padding-left:22px; position:relative; margin-bottom:9px; color:#5f6877;}
.quick-list li:before {content:'\f00c'; font-family:FontAwesome; color:#8a6439; position:absolute; left:0; top:0;}
.airport-grid, .service-grid, .town-grid, .fleet-grid, .rate-grid {display:grid; gap:28px;}
.airport-grid {grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.service-grid {grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.town-grid {grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.fleet-grid {grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.rate-grid {grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.simple-card {background:#fff; border:1px solid #e7e7e7; padding:26px; box-shadow:0 8px 24px rgba(0,0,0,.05);}
.simple-card h3, .simple-card h4 {margin-top:0; color:#111822;}
.cta-band {background:#111822; color:#fff; padding:55px 0;}
.cta-band h2 {margin-top:0; color:#fff;}
.meta-bar {background:#f7f8fb; border:1px solid #e9ecf2; padding:24px; margin-bottom:32px;}
.meta-bar strong {color:#111822;}
.rate-card {background:#fff; border:1px solid #e5e7eb; box-shadow:0 10px 24px rgba(0,0,0,.06); display:flex; flex-direction:column; overflow:hidden;}
.rate-card img {width:100%; height:180px; object-fit:cover;}
.rate-card .rate-body {padding:22px; flex:1; display:flex; flex-direction:column;}
.rate-card h4 {font-size:20px; margin-top:0; color:#111822;}
.rate-card .vehicle {font-size:13px; text-transform:uppercase; letter-spacing:1px; color:#8a6439; font-weight:700; margin-bottom:8px;}
.rate-card .price {font-size:30px; color:#111822; font-weight:700; margin:10px 0 16px;}
.rate-card .route-note {color:#697382; margin-bottom:18px; min-height:42px;}
.feature-block {margin-bottom:24px;}
.feature-block h3 {margin-top:0; font-size:24px;}
.inline-badges span {display:inline-block; background:#f4eee8; color:#6f4e2d; padding:7px 12px; border-radius:30px; margin:4px 8px 4px 0; font-size:13px;}
.distances {display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-top:20px;}
.distances .distance-card {background:#fff; border:1px solid #e6e8ef; padding:18px; text-align:center;}
.distances .distance-card strong {display:block; color:#111822; font-size:18px; margin-bottom:6px;}
.footer {background:#0b1119; color:#c7ccd5; padding:55px 0 25px;}
.footer h4 {color:#fff; margin-top:0;}
.footer ul {list-style:none; padding-left:0;}
.footer li {margin-bottom:8px;}
.footer a {color:#c7ccd5;}
.footer a:hover {color:#fff;}
.footer-bottom {border-top:1px solid rgba(255,255,255,.12); margin-top:30px; padding-top:18px; font-size:13px;}
.iframe-wrap {background:#fff; border:1px solid #e5e7eb; box-shadow:0 8px 24px rgba(0,0,0,.08); padding:16px;}
.iframe-wrap iframe {width:100%; height:1100px; border:0;}
.contact-panel {background:#fff; border:1px solid #e6e8ef; padding:28px; min-height:240px; box-shadow:0 8px 24px rgba(0,0,0,.05);}
.contact-line {padding:16px 0; border-bottom:1px solid #eceff4; min-height:52px;}
.breadcrumb-wrap {background:#f7f8fb; padding:14px 0; border-bottom:1px solid #eef0f4;}
.breadcrumb {background:none; margin:0; padding:0;}
.breadcrumb > li + li:before {content:'>'; color:#8a6439;}
.page-intro {font-size:18px; color:#4f5664; max-width:900px; margin:0 auto 24px; text-align:center;}
@media (max-width:991px){
  .hero h1 {font-size:36px;}
  .hero p {font-size:17px;}
  .navbar-nav > li > a {padding:12px 15px;}
  .topbar .reserve-btn {float:none; margin-top:10px; display:inline-block;}
}
@media (max-width:767px){
  .brand-title {font-size:20px;}
  .hero {min-height:360px;}
  .btn-outline-light {display:inline-block; margin-left:0; margin-top:10px;}
}

.dropdown-menu {max-height:70vh; overflow-y:auto;}
.rate-label {font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#7b8491; margin-top:4px;}


/* =========================================================
   2026 GLOBAL TYPOGRAPHY REFRESH
   Applied site-wide to original pages and route sales pages.
   ========================================================= */
html {font-size:100%;}
body {
  font-family:"Manrope","Aptos","Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.72;
  color:#27313d;
  letter-spacing:-.006em;
}
body p {
  font-size:1em;
  line-height:1.78;
  margin-top:0;
  margin-bottom:1.25em;
}
body h1, body h2, body h3, body h4, body h5, body h6,
.brand-title, .brand-subtitle, .navbar-nav > li > a,
.dropdown-menu a, .btn {
  font-family:"Manrope","Aptos","Segoe UI",Arial,sans-serif;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  color:#111822;
  font-weight:800;
  line-height:1.14;
  letter-spacing:-.032em;
}
.topbar {
  font-size:14px;
  line-height:1.55;
}
.brand-title {
  font-size:24px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.025em;
}
.brand-subtitle {
  font-size:11px;
  line-height:1.4;
  font-weight:700;
}
.navbar-nav > li > a {
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.055em;
}
.dropdown-menu > li > a {
  font-size:14px;
  line-height:1.45;
}
.hero h1 {
  font-size:clamp(44px,5.2vw,62px);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.045em;
}
.hero p {
  font-size:20px;
  line-height:1.72;
}
.page-hero h1 {
  font-size:clamp(40px,4.8vw,56px);
}
.section {
  padding:84px 0;
}
.section-title {
  margin-bottom:52px;
}
.section-title h2 {
  font-size:clamp(32px,3.5vw,44px);
  line-height:1.12;
  margin-bottom:16px;
}
.section-title p {
  max-width:900px;
  font-size:18px;
  line-height:1.78;
}
.page-intro {
  max-width:960px;
  font-size:18px;
  line-height:1.8;
}
.simple-card {
  padding:30px;
}
.simple-card h3,
.info-card h3 {
  font-size:24px;
  line-height:1.18;
}
.simple-card p,
.info-card p,
.feature-block p,
.meta-bar p {
  line-height:1.78;
}
.feature-block h3 {
  font-size:27px;
  line-height:1.18;
}
.rate-card h4 {
  font-size:22px;
  line-height:1.2;
}
.rate-card .route-note {
  font-size:15px;
  line-height:1.65;
}
.cta-band {
  padding:64px 0;
}
.cta-band h2 {
  font-size:clamp(30px,3.2vw,40px);
}
.footer {
  font-size:16px;
  line-height:1.72;
}
.footer h4 {
  font-size:19px;
  font-weight:800;
}
input, select, textarea, button {
  font-family:"Manrope","Aptos","Segoe UI",Arial,sans-serif;
  font-size:16px;
}


/* =========================================================
   AIRPORT PAGE TOWN + RATE DIRECTORIES
   19 route links displayed on each respective airport page.
   ========================================================= */
.airport-rate-directory {
  background:#f6f7f9;
  border-top:1px solid #e8ebef;
  border-bottom:1px solid #e8ebef;
}
.airport-directory-eyebrow {
  display:inline-block;
  margin-bottom:10px;
  color:#8a6439;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.14em;
}
.section-title.centered {
  text-align:center;
}
.section-title.centered p {
  margin-left:auto;
  margin-right:auto;
}
.airport-town-rate-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.airport-town-rate-card {
  display:block;
  min-width:0;
  padding:23px;
  background:#fff;
  border:1px solid #e0e4ea;
  border-radius:16px;
  color:#27313d;
  box-shadow:0 8px 28px rgba(17,24,34,.055);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.airport-town-rate-card:hover,
.airport-town-rate-card:focus {
  color:#27313d;
  text-decoration:none;
  transform:translateY(-2px);
  border-color:#c9b299;
  box-shadow:0 14px 36px rgba(17,24,34,.10);
}
.airport-town-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:15px;
  margin-bottom:15px;
  border-bottom:1px solid #eceff3;
}
.airport-town-card-head h3 {
  margin:0;
  color:#111822;
  font-size:21px;
  line-height:1.2;
  font-weight:800;
}
.airport-route-arrow {
  flex:0 0 auto;
  color:#8a6439;
  font-size:24px;
  line-height:1;
  font-weight:700;
}
.airport-rate-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.airport-rate-pair > div {
  min-width:0;
  padding:12px;
  background:#f7f8fa;
  border-radius:10px;
}
.airport-rate-pair span {
  display:block;
  margin-bottom:5px;
  color:#747d8b;
  font-size:11px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:800;
}
.airport-rate-pair strong {
  display:block;
  color:#111822;
  font-size:19px;
  line-height:1.2;
  font-weight:800;
}
.airport-rate-pair.quote strong {
  font-size:14px;
  line-height:1.3;
}
.airport-rate-card-footer {
  margin-top:15px;
  color:#8a6439;
  font-size:12px;
  line-height:1.45;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.airport-rate-disclaimer {
  max-width:900px;
  margin:28px auto 0;
  color:#707987;
  font-size:13px;
  line-height:1.7;
  text-align:center;
}

/* Keep compact airport dropdown readable. */
.navbar .dropdown-menu > li > a {
  padding-top:10px;
  padding-bottom:10px;
}

/* Responsive typography retained after removal of obsolete mega-menu CSS. */
@media (max-width:991px) {
  body {font-size:16.5px;}
  .hero h1 {font-size:42px;}
  .hero p {font-size:18px;}
  .section {padding:70px 0;}
  .section-title p, .page-intro {font-size:17px;}
  .airport-town-rate-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px) {
  body {font-size:16px; line-height:1.68;}
  body p {line-height:1.75;}
  .section {padding:60px 0;}
  .hero h1, .page-hero h1 {font-size:38px;}
  .hero p {font-size:17px;}
  .section-title h2 {font-size:31px;}
  .section-title p, .page-intro {font-size:16.5px;}
  .airport-town-rate-grid {grid-template-columns:1fr;}
  .airport-town-rate-card {padding:20px;}
}
