*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--ink:#07111f;--panel:#0c1b30;--panel2:#102a46;--blue:#58b7ff;--cyan:#67ead4;--lime:#c6ff63;--orange:#ff8a3d;--paper:#f4f7fb;--white:#fff;--text:#3c4d62;--muted:#728196;--line:#dbe4ee;--shadow:0 24px 70px rgba(7,17,31,.16);--container:1180px}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65}body,button,input,textarea{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}.container{width:min(var(--container),calc(100% - 32px));margin:auto}.skip-link{position:absolute;top:-80px;left:16px;background:#000;color:white;padding:10px 14px;z-index:9999}.skip-link:focus{top:16px}.topbar{position:sticky;top:0;z-index:1000;background:rgba(244,247,251,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--cyan));position:relative;box-shadow:0 16px 34px rgba(88,183,255,.28)}.brand-mark i{position:absolute;left:11px;right:11px;top:22px;height:5px;background:var(--ink);border-radius:20px}.brand span:last-child{display:grid;line-height:1}.brand strong{font-size:21px;color:var(--ink);letter-spacing:-.04em}.brand small{margin-top:5px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.menu ul{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}.menu a{min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:14px;color:var(--ink);font-weight:800;font-size:14px}.menu a:hover,.menu a.active{background:white;color:#13699e}.call-chip{background:var(--ink)!important;color:white!important;margin-left:5px}.menu-toggle{display:none;align-items:center;gap:4px;border:1px solid var(--line);border-radius:14px;background:white;padding:10px 12px;font-weight:900}.menu-toggle span{width:16px;height:2px;background:currentColor}.hero{overflow:hidden;padding:70px 0 90px;background:radial-gradient(circle at 82% 14%,rgba(103,234,212,.26),transparent 24%),linear-gradient(135deg,#f9fbff,#edf5ff)}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:clamp(36px,6vw,80px);align-items:center}.signal-label{display:inline-flex;width:max-content;padding:8px 12px;border:1px solid rgba(88,183,255,.3);border-radius:999px;background:rgba(88,183,255,.11);color:#0b78b6;font-size:12px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.hero h1,.subhero h1,.section-top h2,.route-lab h2,.cta-panel h2,.booking-flow h2,.about-grid h2,.contact-box h2,.form h2{font-family:Georgia,serif;color:var(--ink);letter-spacing:-.055em}.hero h1{max-width:740px;margin:18px 0;font-size:clamp(50px,7vw,88px);line-height:.96}.hero p{max-width:680px;font-size:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.primary-btn,.ghost-btn{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:16px;font-weight:950}.primary-btn{background:linear-gradient(135deg,var(--blue),#1a85d8);color:white;box-shadow:0 18px 36px rgba(88,183,255,.32)}.ghost-btn{background:white;border:1px solid var(--line);color:var(--ink)}.mini-disclaimer{margin-top:18px;color:var(--muted);font-size:13px}.rail-console{padding:20px;border:1px solid rgba(255,255,255,.45);border-radius:32px;background:linear-gradient(160deg,var(--ink),var(--panel2));color:white;box-shadow:var(--shadow)}.console-head{display:flex;align-items:center;gap:8px;margin-bottom:25px}.console-head span{width:12px;height:12px;border-radius:50%;background:var(--cyan)}.console-head span:nth-child(2){background:var(--lime)}.console-head span:nth-child(3){background:var(--orange)}.console-head strong{margin-left:auto;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.14em}.route-screen{padding:28px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.station small{color:rgba(255,255,255,.48);font-weight:900;letter-spacing:.12em}.station b{display:block;font-size:38px;font-family:Georgia,serif}.track-line{display:flex;gap:16px;margin:24px 0}.track-line i{height:7px;flex:1;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--blue))}.console-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.console-grid article{padding:18px;border-radius:18px;background:rgba(255,255,255,.08)}.console-grid small{color:rgba(255,255,255,.5);font-weight:900}.console-grid b{display:block;color:white}.console-call{display:flex;justify-content:center;margin-top:14px;padding:15px;border-radius:18px;background:var(--lime);color:var(--ink);font-weight:950}.section{padding:88px 0}.section-top{max-width:820px;margin-bottom:38px}.section-top h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:14px 0}.service-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-board article{padding:26px;border-radius:28px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px rgba(7,17,31,.06)}.service-board span{color:#1385ca;font-weight:950}.service-board h3{margin:40px 0 8px;color:var(--ink);font-size:25px}.route-lab{background:var(--ink);color:white}.lab-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.route-lab h2,.section-top.light h2{color:white}.route-lab p{color:rgba(255,255,255,.68)}.route-stack{display:grid;gap:14px}.route-stack article{display:grid;grid-template-columns:1fr 90px 1fr auto;gap:18px;align-items:center;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(255,255,255,.06)}.route-stack b{font-size:24px;color:white}.route-stack span{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue))}.route-stack em{color:var(--lime);font-style:normal;font-weight:900}.process-strip{background:linear-gradient(135deg,var(--panel),var(--panel2));color:white}.process-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-cards article{padding:25px;border-radius:26px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.process-cards span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:var(--ink);font-weight:950}.process-cards h3{color:white}.process-cards p{color:rgba(255,255,255,.66)}.cta-panel{padding:70px 0;background:linear-gradient(135deg,var(--blue),#196ea8);color:white}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.cta-panel h2{margin:8px 0;color:white;font-size:clamp(36px,5vw,60px);line-height:1}.cta-panel span{text-transform:uppercase;font-weight:950;letter-spacing:.12em;color:rgba(255,255,255,.65)}.cta-panel p{color:rgba(255,255,255,.78)}.cta-panel a{padding:18px 24px;border-radius:18px;background:white;color:var(--ink);font-size:20px;font-weight:950}.subhero{padding:82px 0;background:radial-gradient(circle at right,rgba(103,234,212,.2),transparent 25%),linear-gradient(135deg,var(--ink),var(--panel2));color:white}.subhero.compact-hero{padding:62px 0}.subhero h1{max-width:850px;color:white;font-size:clamp(44px,6vw,76px);line-height:.98;margin:14px 0}.subhero p{max-width:720px;color:rgba(255,255,255,.72);font-size:18px}.route-table,.booking-flow{display:grid;gap:14px}.route-table article,.booking-flow article,.about-grid aside,.contact-box,.form,.destination-board article{padding:24px;border:1px solid var(--line);border-radius:26px;background:white;box-shadow:0 12px 30px rgba(7,17,31,.06)}.route-table article{display:grid;grid-template-columns:70px 1fr auto;gap:22px;align-items:center}.route-table article>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--ink);color:var(--cyan);font-weight:950}.route-table h2,.destination-board h2{margin:5px 0;color:var(--ink);font-family:Georgia,serif}.route-table small,.destination-board small{color:#167fbd;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.route-table a,.destination-board a{padding:12px 18px;border-radius:15px;background:#eaf6ff;color:#116fa8;font-weight:950}.booking-flow article{display:grid;grid-template-columns:75px 1fr;gap:20px}.booking-flow span{color:#167fbd;font-size:30px;font-weight:950}.destination-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.about-grid,.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:start}.about-grid h2{font-size:clamp(36px,5vw,62px);line-height:1}.about-grid aside a{display:block;color:#116fa8;font-weight:950;margin:8px 0}.contact-layout{grid-template-columns:.85fr 1.15fr}.big-link{display:block;margin:20px 0 10px;color:#1689cf;font-size:32px;font-weight:950}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;color:var(--ink);font-weight:900}.form input,.form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px}.form button{min-height:52px;border:0;border-radius:16px;background:var(--ink);color:white;font-weight:950}.legal .container{max-width:900px}.legal h2{margin-top:30px;color:var(--ink)}.legal a{color:#137bbe;font-weight:900}.footer{padding:70px 0 24px;background:#050b14;color:white}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.25fr 1.1fr;gap:34px}.footer .brand strong{color:white}.footer p,.footer a{color:rgba(255,255,255,.65)}.footer h3{color:white;margin:0 0 14px}.footer a{display:block;margin-bottom:8px}.footer-phone{width:max-content;padding:10px 14px;border-radius:14px;background:var(--blue);color:white!important;font-weight:950}.legal-note{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.legal-note p{margin:0;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.45)}.floating-call{position:fixed;right:18px;bottom:18px;z-index:1100;min-height:50px;display:flex;align-items:center;justify-content:center;padding:0 18px;border-radius:16px;background:var(--orange);color:white;font-weight:950;box-shadow:var(--shadow)}@media(max-width:1100px){.hero-grid,.lab-grid,.cta-grid,.about-grid,.contact-layout{grid-template-columns:1fr}.service-board,.process-cards,.destination-board{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.menu-toggle{display:inline-flex}.menu ul{position:fixed;top:74px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;padding:14px;border-radius:22px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.menu ul.open{display:flex}.menu a{width:100%;justify-content:flex-start}.call-chip{justify-content:center!important;margin-left:0}.route-table article{grid-template-columns:60px 1fr}.route-table a{grid-column:1/-1;text-align:center}.route-stack article{grid-template-columns:1fr}}@media(max-width:640px){.container{width:min(var(--container),calc(100% - 24px))}.nav{min-height:74px}.brand{max-width:calc(100% - 86px)}.brand-mark{width:40px;height:40px;border-radius:14px}.brand strong{font-size:16px;white-space:nowrap}.brand small{font-size:8px;letter-spacing:.07em}.hero{padding:42px 0 62px}.hero h1{font-size:clamp(42px,12vw,58px)}.hero p,.subhero p{font-size:15px}.hero-actions .primary-btn,.hero-actions .ghost-btn{width:100%}.station b{font-size:30px}.console-grid,.service-board,.process-cards,.destination-board,.footer-grid{grid-template-columns:1fr}.section{padding:66px 0}.section-top h2,.subhero h1,.cta-panel h2,.about-grid h2{font-size:clamp(34px,10vw,48px)}.route-table article,.booking-flow article{grid-template-columns:1fr}.route-table article>span{width:48px;height:48px}.cta-panel a{width:100%;text-align:center}.big-link{font-size:24px}.footer-bottom{flex-direction:column;text-align:center}.floating-call{left:12px;right:12px;bottom:12px}.footer{padding-bottom:84px}}


/* SCENIC TRAIN BACKGROUND THEME */
body {
  background: #f4f7fb;
}

/* Home hero scenic background */
.hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(7,17,31,.94) 0%, rgba(7,17,31,.78) 48%, rgba(7,17,31,.36) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(88,183,255,.18), transparent 26%),
    linear-gradient(180deg, transparent 0%, rgba(7,17,31,.18) 100%);
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero h1,
.hero .hero-copy p,
.hero .mini-disclaimer {
  color: white;
}

.hero .hero-copy p {
  color: rgba(255,255,255,.78);
}

.hero .mini-disclaimer {
  color: rgba(255,255,255,.66);
}

.hero .signal-label {
  color: #ffffff;
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.24);
}

.hero .ghost-btn {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.22);
  color: white;
  backdrop-filter: blur(10px);
}

/* Scenic page headers */
.subhero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(7,17,31,.93), rgba(7,17,31,.78), rgba(7,17,31,.42)),
    url("https://images.unsplash.com/photo-1519003722824-194d4455a60c?auto=format&fit=crop&w=1900&q=88") center / cover no-repeat !important;
}

.subhero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 18%, rgba(103,234,212,.20), transparent 26%),
    linear-gradient(180deg, rgba(7,17,31,.05), rgba(7,17,31,.22));
}

.subhero .container {
  position: relative;
  z-index: 2;
}

/* Make the rail console feel like a glass booking panel over scenery */
.rail-console {
  background: rgba(7,17,31,.78);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(18px);
}

.route-screen,
.console-grid article {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
}

.console-call {
  background: #ff8a3d;
  color: white;
}

/* Home content cards should remain clean on the scenic version */
.service-board article,
.route-table article,
.booking-flow article,
.destination-board article,
.about-grid aside,
.contact-box,
.form {
  background: #ffffff;
}

/* Scenic image style for route lab section */
.route-lab {
  background:
    linear-gradient(90deg, rgba(7,17,31,.96), rgba(7,17,31,.86)),
    url("https://images.unsplash.com/photo-1514565131-fce0801e5785?auto=format&fit=crop&w=1900&q=88") center / cover no-repeat !important;
}

/* CTA scenic-dark treatment */
.cta-panel {
    background: linear-gradient(90deg, rgba(16,42,70,.95), rgba(7,17,31,.90)), url("images/international-travel.avif") center / cover no-repeat !important;
}

/* Better hero spacing with scenic background */
.hero {
  padding-top: 90px;
  padding-bottom: 105px;
}

.hero-copy {
  max-width: 760px;
}

@media (max-width: 900px) {
    .hero {
        background: linear-gradient(180deg, rgba(7,17,31,.94) 0%, rgba(7,17,31,.82) 60%, rgba(7,17,31,.62) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
    }

    .subhero {
        background: linear-gradient(180deg, rgba(7,17,31,.94), rgba(7,17,31,.72)), url("images/hero-train.jpg") center / cover no-repeat !important;
    }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 54px;
    padding-bottom: 66px;
  }

  .hero h1 {
    color: white;
  }

  .rail-console {
    margin-top: 6px;
  }

  .subhero {
    padding-top: 66px;
    padding-bottom: 66px;
  }
}


/* INDEX-INTERNAL SECTIONS FOR ROUTES, HOW TO BOOK, DESTINATIONS */
.index-routes-section,
.index-destinations-section {
  background: rgba(244, 247, 251, .78);
}

.index-route-stack article {
  background: linear-gradient(135deg, #07111f, #102a46);
}

.index-route-stack article b,
.index-route-stack article em {
  color: #ffffff;
}

.index-route-stack article em {
  color: #c6ff63;
}

.index-how-section {
  margin: 0;
}

@media (max-width: 900px) {
  .main-nav a[href*="#"],
  .menu a[href*="#"] {
    scroll-margin-top: 90px;
  }
}

@media (max-width: 640px) {
  .destination-board {
    grid-template-columns: 1fr;
  }

  .index-route-stack article {
    grid-template-columns: 1fr;
  }
}


/* FIXED ANCHOR ALIGNMENT FOR STICKY HEADER */
#routes,
#how-to-book,
#destinations {
  scroll-margin-top: 105px;
}

.index-routes-section,
.index-how-section,
.index-destinations-section {
  position: relative;
}

@media (max-width: 900px) {
  #routes,
  #how-to-book,
  #destinations {
    scroll-margin-top: 92px;
  }
}

@media (max-width: 640px) {
  #routes,
  #how-to-book,
  #destinations {
    scroll-margin-top: 82px;
  }
}


/* === MY RAIL TICKET ENHANCED DESIGN THEME === */

/* Optional modern web fonts with strong fallbacks */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');

:root {
  --ink: #081523;
  --panel: #0d2338;
  --panel2: #123a56;
  --blue: #2f9eea;
  --cyan: #28d7c0;
  --lime: #c7f65a;
  --orange: #f28b38;
  --paper: #f6f8fb;
  --white: #ffffff;
  --text: #344457;
  --muted: #66778a;
  --line: #d7e3ee;
  --soft-blue: #eaf6ff;
  --soft-cyan: #e8fbf7;
  --cream: #fff8ef;
  --shadow: 0 22px 60px rgba(8, 21, 35, .15);
  --card-shadow: 0 16px 38px rgba(8, 21, 35, .08);
}

/* Page foundation */
html {
  scroll-behavior: smooth;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 0% 0%, rgba(47,158,234,.12), transparent 28%),
    radial-gradient(circle at 100% 12%, rgba(40,215,192,.12), transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #f3f7fb 42%, #ffffff 100%) !important;
  font-family: "Manrope", Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: -.01em;
}

main {
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(246,248,251,.72));
}

/* Better global text contrast */
p {
  color: #3f5064;
}

a {
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

h1, h2, h3, h4,
.hero h1,
.subhero h1,
.section-top h2,
.route-lab h2,
.cta-panel h2,
.booking-flow h2,
.about-grid h2,
.contact-box h2,
.form h2,
.route-table h2,
.destination-board h2 {
  font-family: "Outfit", Inter, Arial, Helvetica, sans-serif !important;
  color: var(--ink);
  letter-spacing: -.045em;
}

/* Header: cleaner, premium navigation */
.topbar,
.site-header {
  background: rgba(255, 255, 255, .88) !important;
  border-bottom: 1px solid rgba(215,227,238,.82) !important;
  box-shadow: 0 10px 30px rgba(8,21,35,.06);
}

.brand-mark {
  background:
    linear-gradient(135deg, #1d77bd 0%, #28d7c0 100%) !important;
  box-shadow: 0 14px 30px rgba(47,158,234,.28) !important;
}

.brand strong {
  color: var(--ink) !important;
  font-family: "Outfit", Inter, Arial, sans-serif !important;
  font-weight: 900 !important;
}

.brand small {
  color: #6b7c8e !important;
}

.menu a,
.main-nav a {
  color: #17283c !important;
  font-weight: 800 !important;
}

.menu a:hover,
.menu a.active,
.main-nav a:hover,
.main-nav a.active {
  background: linear-gradient(135deg, var(--soft-blue), var(--soft-cyan)) !important;
  color: #0f6f9c !important;
}

.call-chip,
.nav-cta,
.menu .call-chip,
.main-nav .nav-cta {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--orange), #f97316) !important;
  border: 0 !important;
  box-shadow: 0 14px 28px rgba(242,139,56,.27) !important;
}

.call-chip:hover,
.nav-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(242,139,56,.34) !important;
}

/* Scenic hero with better overlay and readability */
.hero {
    position: relative;
    background: linear-gradient(90deg, rgba(8,21,35,.94) 0%, rgba(8,21,35,.82) 46%, rgba(8,21,35,.44) 100%), radial-gradient(circle at 22% 16%, rgba(47,158,234,.26), transparent 30%), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8,21,35,.04), rgba(8,21,35,.20)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 96px);
  opacity: .55;
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero h1 {
  color: #ffffff !important;
  text-shadow: 0 18px 42px rgba(0,0,0,.32);
}

.hero p,
.hero-copy > p {
  color: rgba(255,255,255,.82) !important;
}

.hero .mini-disclaimer,
.mini-disclaimer {
  color: rgba(255,255,255,.68) !important;
}

.signal-label,
.eyebrow,
.section-label {
  color: #075f8b !important;
  background: linear-gradient(135deg, rgba(47,158,234,.13), rgba(40,215,192,.13)) !important;
  border: 1px solid rgba(47,158,234,.22) !important;
  font-family: "Manrope", Inter, Arial, sans-serif !important;
}

.hero .signal-label,
.hero .eyebrow,
.subhero .signal-label,
.subhero .eyebrow {
  color: #ffffff !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.24) !important;
  backdrop-filter: blur(12px);
}

/* Buttons */
.primary-btn,
.button-primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f9eea 0%, #1675bd 100%) !important;
  box-shadow: 0 18px 34px rgba(47,158,234,.32) !important;
}

.primary-btn:hover,
.button-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(47,158,234,.38) !important;
}

.ghost-btn,
.button-secondary,
.button-outline {
  color: #12253a !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(215,227,238,.92) !important;
  box-shadow: 0 12px 26px rgba(8,21,35,.07);
}

.hero .ghost-btn {
  color: #ffffff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.24) !important;
  backdrop-filter: blur(12px);
}

/* Glass rail console */
.rail-console {
  background:
    linear-gradient(160deg, rgba(8,21,35,.88), rgba(18,58,86,.76)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 28px 80px rgba(0,0,0,.28) !important;
}

.route-screen,
.console-grid article {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.console-call {
  background: linear-gradient(135deg, var(--orange), #f97316) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(242,139,56,.30);
}

/* Sections */
.section {
  position: relative;
}

.section-top h2,
.intro-grid h2,
.split-grid h2,
.content-grid h2 {
  color: var(--ink) !important;
}

.section-top p,
.section-heading p {
  color: #536579;
}

/* Cards */
.service-board article,
.route-table article,
.booking-flow article,
.destination-board article,
.about-grid aside,
.contact-box,
.form,
.help-grid article,
.content-card,
.contact-card,
.contact-form,
.info-panel {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(215,227,238,.94) !important;
  box-shadow: var(--card-shadow) !important;
}

.service-board article:hover,
.route-table article:hover,
.destination-board article:hover,
.booking-flow article:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(8,21,35,.12) !important;
}

.service-board span,
.booking-flow span,
.route-table article > span {
  color: #0f7cb8 !important;
}

/* Dark scenic route/process areas */
.route-lab {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(8,21,35,.97), rgba(13,35,56,.89)), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.route-lab::before,
.process-strip::before,
.cta-panel::before,
.subhero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 20%, rgba(47,158,234,.18), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(40,215,192,.16), transparent 28%);
}

.route-lab .container,
.process-strip .container,
.cta-panel .container,
.subhero .container {
  position: relative;
  z-index: 2;
}

.route-lab h2,
.process-strip h2,
.section-top.light h2,
.cta-panel h2 {
  color: #ffffff !important;
}

.route-lab p,
.process-strip p,
.cta-panel p {
  color: rgba(255,255,255,.75) !important;
}

.route-stack article,
.index-route-stack article,
.process-cards article {
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(14px);
}

.route-stack article b,
.index-route-stack article b,
.process-cards h3 {
  color: #ffffff !important;
}

.route-stack article em,
.index-route-stack article em {
  color: var(--lime) !important;
}

/* Sub page hero theme */
.subhero,
.page-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(8,21,35,.95), rgba(13,35,56,.82), rgba(8,21,35,.46)), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.subhero h1,
.page-hero h1 {
  color: #ffffff !important;
}

.subhero p,
.page-hero p {
  color: rgba(255,255,255,.78) !important;
}

/* CTA */
.cta-panel,
.cta-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(13,35,56,.96), rgba(8,21,35,.90)), url("images/international-travel.avif") center / cover no-repeat !important;
}

.cta-panel a,
.cta-phone {
  background: #ffffff !important;
  color: var(--ink) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

.cta-panel a:hover,
.cta-phone:hover {
  transform: translateY(-2px);
}

/* Form */
.form input,
.form textarea,
.contact-form input,
.contact-form textarea {
  color: var(--ink) !important;
  background: #fbfdff !important;
  border: 1px solid #cfdeea !important;
}

.form input:focus,
.form textarea:focus,
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 4px rgba(47,158,234,.14) !important;
}

.form button,
.contact-form button {
  background: linear-gradient(135deg, var(--ink), var(--panel2)) !important;
  color: #ffffff !important;
}

/* Footer */
.footer,
.site-footer {
  background:
    radial-gradient(circle at 15% 0%, rgba(47,158,234,.18), transparent 30%),
    linear-gradient(135deg, #050b14, #081523 70%) !important;
}

.footer h3,
.site-footer h3 {
  color: #ffffff !important;
  font-family: "Outfit", Inter, Arial, sans-serif !important;
}

.footer p,
.footer a,
.site-footer p,
.site-footer a {
  color: rgba(255,255,255,.68) !important;
}

.footer a:hover,
.site-footer a:hover {
  color: #ffffff !important;
}

.footer-phone,
.footer-call {
  background: linear-gradient(135deg, var(--blue), #1675bd) !important;
  color: #ffffff !important;
}

/* Floating call */
.floating-call {
  background: linear-gradient(135deg, var(--orange), #f97316) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 42px rgba(242,139,56,.38) !important;
}

/* Anchor alignment retained */
#routes,
#how-to-book,
#destinations {
  scroll-margin-top: 106px;
}

/* Mobile polish */
@media (max-width: 900px) {
  .menu ul,
  .main-nav ul {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(215,227,238,.92) !important;
    backdrop-filter: blur(18px);
  }

    .hero {
        background: linear-gradient(180deg, rgba(8,21,35,.96) 0%, rgba(8,21,35,.86) 60%, rgba(8,21,35,.68) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
    }

  #routes,
  #how-to-book,
  #destinations {
    scroll-margin-top: 92px;
  }
}

@media (max-width: 640px) {
  body {
    letter-spacing: 0;
  }

  .hero h1,
  .subhero h1,
  .page-hero h1 {
    letter-spacing: -.035em;
  }

  .brand strong {
    font-size: 16px !important;
  }

  .brand small {
    font-size: 8px !important;
  }

  .hero {
    padding-top: 58px !important;
    padding-bottom: 72px !important;
  }

  .rail-console {
    border-radius: 24px !important;
  }

  #routes,
  #how-to-book,
  #destinations {
    scroll-margin-top: 82px;
  }
}

/* === END ENHANCED DESIGN THEME === */


/* ABOUT US PAGE UPDATED CONTENT */
.about-detail-section {
  background:
    radial-gradient(circle at 86% 12%, rgba(47,158,234,.10), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(246,248,251,.96));
}

.about-story-grid {
  display: grid;
  grid-template-columns: 1.1fr .75fr;
  gap: clamp(30px, 5vw, 62px);
  align-items: center;
}

.about-main-copy h2,
.about-why-section h2,
.about-mission-panel h2 {
  font-size: clamp(36px, 5vw, 62px);
  line-height: 1.02;
  margin: 16px 0;
}

.about-main-copy p {
  font-size: 17px;
}

.about-highlight-card {
  padding: 32px;
  border-radius: 30px;
  background:
    linear-gradient(155deg, rgba(8,21,35,.96), rgba(18,58,86,.90));
  color: #ffffff;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.about-highlight-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 12%, rgba(40,215,192,.24), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(47,158,234,.22), transparent 30%);
  pointer-events: none;
}

.about-highlight-card > * {
  position: relative;
  z-index: 1;
}

.about-highlight-card h3 {
  margin: 0 0 12px;
  color: #ffffff !important;
  font-size: 34px;
  line-height: 1.05;
}

.about-highlight-card p {
  color: rgba(255,255,255,.74) !important;
}

.about-highlight-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 14px;
  padding: 0 18px;
  border-radius: 15px;
  background: linear-gradient(135deg, var(--orange), #f97316);
  color: #ffffff !important;
  font-weight: 900;
}

.about-choice-board article h3 {
  margin-top: 30px;
}

.about-do-section {
  margin: 0;
}

.about-process-cards article h3 {
  color: #ffffff !important;
}

.about-mission-panel {
  max-width: 900px;
}

.about-mission-panel .primary-btn {
  margin-top: 12px;
}

@media (max-width: 1000px) {
  .about-story-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .about-highlight-card {
    padding: 24px;
    border-radius: 24px;
  }

  .about-highlight-card h3 {
    font-size: 28px;
  }

  .about-main-copy p {
    font-size: 15px;
  }
}



/* ABOUT US MISSION BANNER ALIGNMENT FIX */
.about-mission-section {
  padding: clamp(70px, 8vw, 110px) 0 !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(47,158,234,.14), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(40,215,192,.12), transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%) !important;
}

.about-mission-banner {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px);
  border-radius: 34px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(8,21,35,.96), rgba(18,58,86,.92)),
    radial-gradient(circle at 15% 12%, rgba(47,158,234,.25), transparent 28%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 28px 80px rgba(8,21,35,.20);
  position: relative;
  overflow: hidden;
}

.about-mission-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(40,215,192,.20), transparent 30%),
    radial-gradient(circle at 88% 10%, rgba(47,158,234,.22), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 55%);
  pointer-events: none;
}

.about-mission-banner > * {
  position: relative;
  z-index: 1;
}

.about-mission-banner .signal-label {
  margin: 0 auto 16px;
  color: #ffffff !important;
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.22) !important;
}

.about-mission-banner h2 {
  max-width: 760px;
  margin: 0 auto 16px !important;
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 60px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em;
}

.about-mission-banner p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255,255,255,.76) !important;
  font-size: 17px;
  line-height: 1.75;
}

.mission-action {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

.about-mission-banner .primary-btn {
  min-width: 170px;
  margin: 0 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--orange), #f97316) !important;
  box-shadow: 0 18px 36px rgba(242,139,56,.32) !important;
}

.about-mission-banner .primary-btn:hover {
  transform: translateY(-2px);
}

@media (max-width: 640px) {
  .about-mission-section {
    padding: 58px 0 !important;
  }

  .about-mission-banner {
    padding: 28px 20px;
    border-radius: 24px;
  }

  .about-mission-banner h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .about-mission-banner p {
    font-size: 15px;
    line-height: 1.65;
  }

  .about-mission-banner .primary-btn {
    width: 100%;
  }
}
/* END ABOUT US MISSION BANNER ALIGNMENT FIX */



/* FOOTER RESTORED + LOGO VISIBILITY FIX ONLY */
.footer {
  padding: 70px 0 24px !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(47,158,234,.18), transparent 30%),
    linear-gradient(135deg, #050b14, #081523 70%) !important;
  color: #ffffff !important;
}

.footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1.25fr 1.1fr !important;
  gap: 34px !important;
  align-items: start !important;
}

.footer section {
  min-width: 0 !important;
}

.footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  color: #ffffff !important;
}

.footer-brand-mark,
.footer .brand-mark {
  display: inline-block !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #2f9eea, #28d7c0) !important;
  box-shadow: 0 14px 30px rgba(47,158,234,.30) !important;
  position: relative !important;
}

.footer-brand-mark i,
.footer .brand-mark i {
  position: absolute !important;
  left: 11px !important;
  right: 11px !important;
  top: 22px !important;
  height: 5px !important;
  background: #081523 !important;
  border-radius: 20px !important;
  display: block !important;
}

.footer-brand-text,
.footer-logo span:last-child {
  display: grid !important;
  line-height: 1 !important;
}

.footer-brand-text strong,
.footer-logo strong {
  color: #ffffff !important;
  font-family: "Outfit", Inter, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
}

.footer-brand-text small,
.footer-logo small {
  margin-top: 6px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .11em !important;
}

.footer h3 {
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-family: "Outfit", Inter, Arial, sans-serif !important;
  font-size: 18px !important;
}

.footer p,
.footer a {
  color: rgba(255,255,255,.70) !important;
}

.footer a {
  display: block !important;
  margin-bottom: 8px !important;
}

.footer a:hover {
  color: #ffffff !important;
}

.footer-phone {
  width: max-content !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin-top: 8px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #2f9eea, #1675bd) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

.legal-note {
  margin-top: 34px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}

.legal-note p {
  margin: 0 !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 12px !important;
}

.footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.48) !important;
  font-size: 12px !important;
}

.footer-bottom span {
  color: rgba(255,255,255,.48) !important;
}

@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .footer {
    padding-bottom: 84px !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-brand-mark,
  .footer .brand-mark {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 14px !important;
  }

  .footer-brand-mark i,
  .footer .brand-mark i {
    top: 19px !important;
  }

  .footer-brand-text strong,
  .footer-logo strong {
    font-size: 17px !important;
  }

  .footer-brand-text small,
  .footer-logo small {
    font-size: 8px !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }
}
/* END FOOTER RESTORED + LOGO VISIBILITY FIX ONLY */



/* FULL WEBSITE VISIBILITY AND BACKGROUND READABILITY FIX */

/* Clean base background: no busy pattern behind normal content */
body {
  background: #f6f9fc !important;
  color: #26384d !important;
}

main {
  background: linear-gradient(180deg, #f6f9fc 0%, #ffffff 100%) !important;
}

/* Scenic background only where it is safe: hero, page hero, CTA.
   Overlay is intentionally strong for text readability. */
.hero {
    background: linear-gradient(90deg, rgba(5, 13, 24, .96) 0%, rgba(5, 13, 24, .88) 52%, rgba(5, 13, 24, .64) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.subhero,
.page-hero {
    background: linear-gradient(90deg, rgba(5, 13, 24, .96) 0%, rgba(8, 23, 38, .90) 55%, rgba(8, 23, 38, .68) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
}

.hero::before,
.subhero::before,
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.22)),
    radial-gradient(circle at 18% 20%, rgba(47,158,234,.20), transparent 28%);
  z-index: 1;
}

.hero .container,
.subhero .container,
.page-hero .container {
  position: relative;
  z-index: 2;
}

/* Hero and page hero text: force high contrast */
.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero .hero-copy p,
.hero .mini-disclaimer,
.subhero h1,
.subhero h2,
.subhero h3,
.subhero p,
.page-hero h1,
.page-hero h2,
.page-hero h3,
.page-hero p {
  color: #ffffff !important;
  text-shadow: 0 12px 32px rgba(0,0,0,.35);
}

.hero .mini-disclaimer {
  color: rgba(255,255,255,.72) !important;
}

/* Normal sections: keep background calm and readable */
.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel),
.index-routes-section,
.index-destinations-section,
.about-detail-section,
.about-why-section,
.about-mission-section,
.contact-updated-section,
.updated-legal-page,
.legal {
  background:
    radial-gradient(circle at 92% 0%, rgba(47,158,234,.055), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%) !important;
}

/* Normal section headings and content */
.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel) h1,
.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel) h2,
.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel) h3,
.index-routes-section h2,
.index-routes-section h3,
.index-destinations-section h2,
.index-destinations-section h3,
.contact-updated-section h2,
.contact-updated-section h3,
.updated-legal-page h2,
.updated-legal-page h3,
.legal h2,
.legal h3 {
  color: #081523 !important;
  text-shadow: none !important;
}

.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel) p,
.section:not(.subhero):not(.page-hero):not(.process-strip):not(.route-lab):not(.cta-panel) li,
.index-routes-section p,
.index-destinations-section p,
.contact-updated-section p,
.updated-legal-page p,
.updated-legal-page li,
.legal p,
.legal li {
  color: #34465b !important;
  text-shadow: none !important;
}

/* Cards: solid white for maximum readability */
.service-board article,
.destination-board article,
.route-table article,
.booking-flow article,
.contact-discover-card,
.contact-modern-form,
.contact-box,
.form,
.legal-card,
.about-highlight-card,
.about-grid aside,
.info-panel,
.content-card,
.contact-card,
.contact-form {
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 16px 38px rgba(8,21,35,.08) !important;
}

/* Light cards */
.service-board article,
.destination-board article,
.route-table article,
.booking-flow article,
.contact-discover-card,
.contact-modern-form,
.contact-box,
.form,
.legal-card,
.about-grid aside,
.info-panel,
.content-card,
.contact-card,
.contact-form {
  background: #ffffff !important;
}

/* Light card text */
.service-board article h3,
.destination-board article h2,
.route-table article h2,
.booking-flow article h2,
.contact-discover-card h2,
.contact-discover-card h3,
.contact-modern-form h2,
.contact-modern-form label,
.legal-card h2,
.legal-card h3,
.about-grid aside h3,
.info-panel h2 {
  color: #081523 !important;
  text-shadow: none !important;
}

.service-board article p,
.destination-board article p,
.route-table article p,
.booking-flow article p,
.contact-discover-card p,
.contact-modern-form p,
.legal-card p,
.legal-card li,
.about-grid aside p,
.info-panel p {
  color: #34465b !important;
}

/* Dark sections: make them deliberately dark, not image-noisy */
.route-lab,
.process-strip,
.index-how-section.process-strip,
.about-do-section.process-strip {
  background:
    linear-gradient(135deg, #07111f 0%, #0f2d47 100%) !important;
  color: #ffffff !important;
}

.route-lab::before,
.process-strip::before,
.index-how-section::before,
.about-do-section::before {
  opacity: .28 !important;
}

/* Dark section text */
.route-lab h1,
.route-lab h2,
.route-lab h3,
.route-lab p,
.process-strip h1,
.process-strip h2,
.process-strip h3,
.process-strip p,
.index-how-section h1,
.index-how-section h2,
.index-how-section h3,
.index-how-section p,
.about-do-section h1,
.about-do-section h2,
.about-do-section h3,
.about-do-section p {
  color: #ffffff !important;
  text-shadow: none !important;
}

.route-lab p,
.process-strip p,
.index-how-section p,
.about-do-section p {
  color: rgba(255,255,255,.78) !important;
}

/* Dark section cards */
.route-stack article,
.index-route-stack article,
.process-cards article,
.about-process-cards article {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}

.route-stack article b,
.index-route-stack article b,
.process-cards article h3,
.about-process-cards article h3 {
  color: #ffffff !important;
}

.process-cards article p,
.about-process-cards article p {
  color: rgba(255,255,255,.78) !important;
}

/* CTA section: strong contrast */
.cta-panel,
.cta-section {
  background:
    linear-gradient(90deg, rgba(5,13,24,.96), rgba(13,35,56,.92)),
    url("https://images.unsplash.com/photo-1535535112387-56ffe8db21ff?auto=format&fit=crop&w=1900&q=88") center / cover no-repeat !important;
  color: #ffffff !important;
}

.cta-panel h1,
.cta-panel h2,
.cta-panel h3,
.cta-panel p,
.cta-panel span,
.cta-section h1,
.cta-section h2,
.cta-section h3,
.cta-section p,
.cta-section span {
  color: #ffffff !important;
  text-shadow: none !important;
}

.cta-panel p,
.cta-section p {
  color: rgba(255,255,255,.80) !important;
}

/* Mission banner: keep dark card but properly visible */
.about-mission-banner {
  background: linear-gradient(135deg, #07111f, #123a56) !important;
  color: #ffffff !important;
}

.about-mission-banner h2,
.about-mission-banner p,
.about-mission-banner .signal-label {
  color: #ffffff !important;
}

/* Labels should be visible on both light and dark backgrounds */
.signal-label,
.eyebrow,
.section-label {
  color: #075f8b !important;
  background: #eaf6ff !important;
  border: 1px solid #cfe7f8 !important;
  text-shadow: none !important;
}

.hero .signal-label,
.subhero .signal-label,
.page-hero .signal-label,
.route-lab .signal-label,
.process-strip .signal-label,
.cta-panel .signal-label,
.about-mission-banner .signal-label {
  color: #ffffff !important;
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.26) !important;
}

/* Links/buttons remain clear */
.primary-btn,
.button-primary,
.form button,
.contact-form button {
  color: #ffffff !important;
}

.ghost-btn,
.button-secondary,
.button-outline {
  color: #081523 !important;
}

/* Footer is preserved but text visibility is strengthened */
.footer h3,
.footer-logo strong,
.footer-brand-text strong {
  color: #ffffff !important;
}

.footer p,
.footer a,
.legal-note p {
  color: rgba(255,255,255,.72) !important;
}

.footer a:hover {
  color: #ffffff !important;
}

/* Mobile: remove risky image visibility issues */
@media (max-width: 900px) {
    .hero {
        background: linear-gradient(180deg, rgba(5,13,24,.97) 0%, rgba(5,13,24,.90) 62%, rgba(5,13,24,.76) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
    }

    .subhero,
    .page-hero {
        background: linear-gradient(180deg, rgba(5,13,24,.97), rgba(5,13,24,.84)), url("images/hero-train.jpg") center / cover no-repeat !important;
    }
}

@media (max-width: 640px) {
  .hero h1,
  .subhero h1,
  .page-hero h1 {
    text-shadow: 0 10px 24px rgba(0,0,0,.38);
  }

  .section-top h2,
  .contact-discover-card h2,
  .legal-card h2 {
    line-height: 1.08 !important;
  }
}

/* END FULL WEBSITE VISIBILITY AND BACKGROUND READABILITY FIX */



/* ROUTES SECTION VISIBILITY + FOOTER CTA REMOVAL FIX */

/* Routes section must be readable on the light page background */
#index-routes,
.index-routes-section,
section#routes {
  background:
    radial-gradient(circle at 90% 10%, rgba(47,158,234,.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%) !important;
}

.index-routes-section .section-top,
section#routes .section-top {
  max-width: 860px !important;
}

.index-routes-section .section-top h2,
section#routes .section-top h2 {
  color: #081523 !important;
  text-shadow: none !important;
}

.index-routes-section .section-top p,
section#routes .section-top p {
  color: #34465b !important;
  text-shadow: none !important;
}

/* Route cards: use strong dark cards so station names are visible */
.index-routes-section .index-route-stack article,
section#routes .index-route-stack article,
.index-routes-section .route-stack article,
section#routes .route-stack article {
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 18px 42px rgba(8,21,35,.18) !important;
  color: #ffffff !important;
}

/* Station names */
.index-routes-section .index-route-stack article b,
section#routes .index-route-stack article b,
.index-routes-section .route-stack article b,
section#routes .route-stack article b {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Route line between stations */
.index-routes-section .index-route-stack article span,
section#routes .index-route-stack article span,
.index-routes-section .route-stack article span,
section#routes .route-stack article span {
  background: linear-gradient(90deg, #28d7c0, #2f9eea) !important;
  opacity: 1 !important;
}

/* Route type label */
.index-routes-section .index-route-stack article em,
section#routes .index-route-stack article em,
.index-routes-section .route-stack article em,
section#routes .route-stack article em {
  color: #c7f65a !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

/* Prevent older broad route-stack rules from making cards transparent */
.index-routes-section .route-stack,
section#routes .route-stack {
  display: grid !important;
  gap: 14px !important;
}

/* Remove only the footer CTA button visually if any old markup remains */
.footer .footer-phone,
.site-footer .footer-phone,
.footer .footer-call,
.site-footer .footer-call {
  display: none !important;
}

/* Keep normal footer contact phone/email visible */
.footer section:last-child a[href^="tel:"],
.footer section:last-child a[href^="mailto:"],
.site-footer section:last-child a[href^="tel:"],
.site-footer section:last-child a[href^="mailto:"] {
  display: block !important;
  color: rgba(255,255,255,.72) !important;
}

.footer section:last-child a:hover,
.site-footer section:last-child a:hover {
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .index-routes-section .index-route-stack article,
  section#routes .index-route-stack article,
  .index-routes-section .route-stack article,
  section#routes .route-stack article {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* END ROUTES SECTION VISIBILITY + FOOTER CTA REMOVAL FIX */



/* FOUR INNER PAGES ALIGNMENT AND VISIBILITY FIX */

/* Applies only to About, Contact, Privacy Policy, and Terms & Conditions pages */
.page-about-us,
.page-contact-us,
.page-privacy-policy,
.page-terms-conditions {
  background: #f6f9fc !important;
  color: #26384d !important;
}

/* Strong readable page banner */
    .page-about-us .subhero,
    .page-contact-us .subhero,
    .page-privacy-policy .subhero,
    .page-terms-conditions .subhero,
    .page-about-us .page-hero,
    .page-contact-us .page-hero,
    .page-privacy-policy .page-hero,
    .page-terms-conditions .page-hero {
        min-height: 320px !important;
        display: flex !important;
        align-items: center !important;
        padding: 92px 0 76px !important;
        background: linear-gradient(90deg, rgba(5,13,24,.97) 0%, rgba(5,13,24,.91) 58%, rgba(5,13,24,.72) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
        position: relative !important;
        overflow: hidden !important;
    }

.page-about-us .subhero::before,
.page-contact-us .subhero::before,
.page-privacy-policy .subhero::before,
.page-terms-conditions .subhero::before,
.page-about-us .page-hero::before,
.page-contact-us .page-hero::before,
.page-privacy-policy .page-hero::before,
.page-terms-conditions .page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.20)),
    radial-gradient(circle at 16% 22%, rgba(47,158,234,.22), transparent 30%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.page-about-us .subhero .container,
.page-contact-us .subhero .container,
.page-privacy-policy .subhero .container,
.page-terms-conditions .subhero .container,
.page-about-us .page-hero .container,
.page-contact-us .page-hero .container,
.page-privacy-policy .page-hero .container,
.page-terms-conditions .page-hero .container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1180px !important;
}

.page-about-us .subhero h1,
.page-contact-us .subhero h1,
.page-privacy-policy .subhero h1,
.page-terms-conditions .subhero h1,
.page-about-us .page-hero h1,
.page-contact-us .page-hero h1,
.page-privacy-policy .page-hero h1,
.page-terms-conditions .page-hero h1 {
  max-width: 880px !important;
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-size: clamp(42px, 6vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 14px 34px rgba(0,0,0,.42) !important;
}

.page-about-us .subhero p,
.page-contact-us .subhero p,
.page-privacy-policy .subhero p,
.page-terms-conditions .subhero p,
.page-about-us .page-hero p,
.page-contact-us .page-hero p,
.page-privacy-policy .page-hero p,
.page-terms-conditions .page-hero p {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.35) !important;
}

/* Light readable background for content areas on only these four pages */
.page-about-us main,
.page-contact-us main,
.page-privacy-policy main,
.page-terms-conditions main {
  background: linear-gradient(180deg, #f6f9fc 0%, #ffffff 100%) !important;
}

.page-about-us main > .section:not(.process-strip):not(.cta-panel),
.page-contact-us main > .section:not(.process-strip):not(.cta-panel),
.page-privacy-policy main > .section,
.page-terms-conditions main > .section {
  background:
    radial-gradient(circle at 92% 4%, rgba(47,158,234,.06), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%) !important;
}

/* General section alignment */
.page-about-us .section,
.page-contact-us .section,
.page-privacy-policy .section,
.page-terms-conditions .section {
  padding-top: clamp(68px, 8vw, 100px) !important;
  padding-bottom: clamp(68px, 8vw, 100px) !important;
}

.page-about-us .section-top,
.page-contact-us .section-top {
  max-width: 860px !important;
  margin-bottom: 38px !important;
}

/* About page layout fixes */
.page-about-us .about-story-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr) !important;
  gap: clamp(32px, 5vw, 64px) !important;
  align-items: center !important;
}

.page-about-us .about-main-copy {
  min-width: 0 !important;
}

.page-about-us .about-main-copy h2,
.page-about-us .about-why-section h2,
.page-about-us .about-mission-banner h2,
.page-contact-us .contact-discover-card h2,
.page-contact-us .contact-modern-form h2 {
  color: #081523 !important;
  text-shadow: none !important;
}

.page-about-us .about-main-copy h2,
.page-about-us .about-why-section h2 {
  font-size: clamp(34px, 5vw, 60px) !important;
  line-height: 1.05 !important;
  margin: 16px 0 !important;
}

.page-about-us .about-main-copy p,
.page-about-us .about-choice-board p {
  color: #34465b !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
}

.page-about-us .about-highlight-card {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 330px !important;
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}

.page-about-us .about-highlight-card h3,
.page-about-us .about-highlight-card p {
  color: #ffffff !important;
}

.page-about-us .about-choice-board article,
.page-about-us .service-board article {
  min-height: 260px !important;
  display: flex !important;
  flex-direction: column !important;
}

.page-about-us .about-choice-board article h3,
.page-about-us .service-board article h3 {
  color: #081523 !important;
  margin-top: 28px !important;
}

.page-about-us .about-choice-board article p,
.page-about-us .service-board article p {
  color: #34465b !important;
}

/* About mission banner visibility */
.page-about-us .about-mission-banner {
  width: min(980px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 58px) !important;
  text-align: center !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
}

.page-about-us .about-mission-banner h2 {
  color: #ffffff !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-about-us .about-mission-banner p {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(255,255,255,.78) !important;
}

.page-about-us .mission-action {
  display: flex !important;
  justify-content: center !important;
  margin-top: 26px !important;
}

/* Contact page layout fixes */
.page-contact-us .contact-updated-grid,
.page-contact-us .contact-layout,
.page-contact-us .contact-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: clamp(30px, 5vw, 58px) !important;
  align-items: start !important;
}

.page-contact-us .contact-discover-card,
.page-contact-us .contact-modern-form,
.page-contact-us .contact-box,
.page-contact-us .form {
  background: #ffffff !important;
  color: #26384d !important;
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 16px 38px rgba(8,21,35,.08) !important;
  border-radius: 30px !important;
}

.page-contact-us .contact-discover-card,
.page-contact-us .contact-modern-form {
  padding: clamp(28px, 4vw, 44px) !important;
}

.page-contact-us .contact-discover-card h2,
.page-contact-us .contact-modern-form h2 {
  font-size: clamp(32px, 5vw, 54px) !important;
  line-height: 1.05 !important;
  margin: 16px 0 12px !important;
}

.page-contact-us .contact-discover-card p,
.page-contact-us .contact-modern-form p,
.page-contact-us .contact-detail-list p {
  color: #34465b !important;
}

.page-contact-us .contact-detail-list {
  display: grid !important;
  gap: 14px !important;
  margin-top: 28px !important;
}

.page-contact-us .contact-detail-list article {
  display: grid !important;
  grid-template-columns: 52px 1fr !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 18px !important;
  border-radius: 20px !important;
  background: #f6f9fc !important;
  border: 1px solid #d9e4ee !important;
}

.page-contact-us .contact-detail-list article h3 {
  color: #081523 !important;
  margin: 0 0 4px !important;
}

.page-contact-us .contact-detail-list article a {
  color: #0f75b0 !important;
  font-weight: 900 !important;
}

.page-contact-us .form label,
.page-contact-us .contact-modern-form label {
  color: #081523 !important;
  font-weight: 800 !important;
}

.page-contact-us .form input,
.page-contact-us .form textarea,
.page-contact-us .contact-modern-form input,
.page-contact-us .contact-modern-form textarea {
  background: #fbfdff !important;
  color: #081523 !important;
  border: 1px solid #cfdeea !important;
}

/* Contact CTA keeps readable dark treatment */
.page-contact-us .contact-cta-panel,
.page-contact-us .cta-panel {
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
}

.page-contact-us .contact-cta-panel h2,
.page-contact-us .contact-cta-panel p,
.page-contact-us .contact-cta-panel span,
.page-contact-us .cta-panel h2,
.page-contact-us .cta-panel p,
.page-contact-us .cta-panel span {
  color: #ffffff !important;
}

/* Privacy and Terms legal pages */
.page-privacy-policy .updated-legal-page,
.page-terms-conditions .updated-legal-page,
.page-privacy-policy .legal,
.page-terms-conditions .legal {
  background:
    radial-gradient(circle at 90% 5%, rgba(47,158,234,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%) !important;
}

.page-privacy-policy .legal-card,
.page-terms-conditions .legal-card,
.page-privacy-policy .legal .container,
.page-terms-conditions .legal .container {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-privacy-policy .legal-card,
.page-terms-conditions .legal-card {
  background: #ffffff !important;
  border: 1px solid #d9e4ee !important;
  border-radius: 30px !important;
  padding: clamp(30px, 5vw, 56px) !important;
  box-shadow: 0 16px 38px rgba(8,21,35,.08) !important;
}

.page-privacy-policy .legal-card h2,
.page-terms-conditions .legal-card h2,
.page-privacy-policy .legal h2,
.page-terms-conditions .legal h2 {
  color: #081523 !important;
  font-size: clamp(25px, 3vw, 36px) !important;
  line-height: 1.15 !important;
  margin: 34px 0 10px !important;
  text-shadow: none !important;
}

.page-privacy-policy .legal-card h2:first-child,
.page-terms-conditions .legal-card h2:first-child {
  margin-top: 0 !important;
}

.page-privacy-policy .legal-card p,
.page-terms-conditions .legal-card p,
.page-privacy-policy .legal-card li,
.page-terms-conditions .legal-card li,
.page-privacy-policy .legal p,
.page-terms-conditions .legal p,
.page-privacy-policy .legal li,
.page-terms-conditions .legal li {
  color: #34465b !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
  text-shadow: none !important;
}

.page-privacy-policy .legal-card a,
.page-terms-conditions .legal-card a,
.page-privacy-policy .legal a,
.page-terms-conditions .legal a {
  color: #0f75b0 !important;
  font-weight: 900 !important;
}

/* Labels */
.page-about-us .signal-label,
.page-contact-us .signal-label,
.page-privacy-policy .signal-label,
.page-terms-conditions .signal-label {
  color: #075f8b !important;
  background: #eaf6ff !important;
  border: 1px solid #cfe7f8 !important;
  text-shadow: none !important;
}

.page-about-us .subhero .signal-label,
.page-contact-us .subhero .signal-label,
.page-privacy-policy .subhero .signal-label,
.page-terms-conditions .subhero .signal-label,
.page-about-us .about-mission-banner .signal-label,
.page-contact-us .cta-panel .signal-label {
  color: #ffffff !important;
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.26) !important;
}

/* Mobile alignment */
@media (max-width: 980px) {
  .page-about-us .about-story-grid,
  .page-contact-us .contact-updated-grid,
  .page-contact-us .contact-layout,
  .page-contact-us .contact-grid {
    grid-template-columns: 1fr !important;
  }

  .page-about-us .about-highlight-card {
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  .page-about-us .subhero,
  .page-contact-us .subhero,
  .page-privacy-policy .subhero,
  .page-terms-conditions .subhero,
  .page-about-us .page-hero,
  .page-contact-us .page-hero,
  .page-privacy-policy .page-hero,
  .page-terms-conditions .page-hero {
    min-height: 260px !important;
    padding: 68px 0 58px !important;
  }

  .page-about-us .subhero h1,
  .page-contact-us .subhero h1,
  .page-privacy-policy .subhero h1,
  .page-terms-conditions .subhero h1,
  .page-about-us .page-hero h1,
  .page-contact-us .page-hero h1,
  .page-privacy-policy .page-hero h1,
  .page-terms-conditions .page-hero h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .page-about-us .subhero p,
  .page-contact-us .subhero p,
  .page-privacy-policy .subhero p,
  .page-terms-conditions .subhero p,
  .page-about-us .page-hero p,
  .page-contact-us .page-hero p,
  .page-privacy-policy .page-hero p,
  .page-terms-conditions .page-hero p {
    font-size: 15px !important;
  }

  .page-contact-us .contact-detail-list article {
    grid-template-columns: 1fr !important;
  }

  .page-about-us .about-mission-banner,
  .page-privacy-policy .legal-card,
  .page-terms-conditions .legal-card,
  .page-contact-us .contact-discover-card,
  .page-contact-us .contact-modern-form {
    border-radius: 24px !important;
  }
}

/* END FOUR INNER PAGES ALIGNMENT AND VISIBILITY FIX */



/* ABOUT US CARD VISIBILITY ONLY FIX */

/* This block targets only about-us.html through the .page-about-us body class.
   No homepage, footer, routes, contact, privacy, terms, or refund page layout is changed. */

/* General About cards: make sure card content is never hidden or low contrast */
.page-about-us .about-highlight-card,
.page-about-us .about-choice-board article,
.page-about-us .about-process-cards article,
.page-about-us .about-mission-banner {
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* Top right dark card beside intro text */
.page-about-us .about-highlight-card {
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 24px 60px rgba(8,21,35,.20) !important;
  color: #ffffff !important;
  position: relative !important;
  isolation: isolate !important;
  padding: clamp(26px, 4vw, 36px) !important;
  min-height: 300px !important;
}

.page-about-us .about-highlight-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 15% 12%, rgba(47,158,234,.18), transparent 28%),
    radial-gradient(circle at 88% 88%, rgba(40,215,192,.14), transparent 30%) !important;
  pointer-events: none !important;
}

.page-about-us .about-highlight-card > * {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-highlight-card h3 {
  color: #ffffff !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-highlight-card p {
  color: rgba(255,255,255,.82) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-highlight-card a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 50px !important;
  margin-top: 16px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #f28b38, #f97316) !important;
  font-weight: 900 !important;
  box-shadow: 0 16px 34px rgba(242,139,56,.28) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Why Choose Us cards */
.page-about-us .about-choice-board article {
  background: #ffffff !important;
  color: #26384d !important;
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 16px 38px rgba(8,21,35,.08) !important;
  border-radius: 26px !important;
  min-height: 260px !important;
}

.page-about-us .about-choice-board article span {
  color: #0f75b0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-choice-board article h3 {
  color: #081523 !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-choice-board article p {
  color: #34465b !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* What We Do cards inside dark section */
.page-about-us .about-do-section {
  background: linear-gradient(135deg, #07111f 0%, #0f2d47 100%) !important;
}

.page-about-us .about-process-cards article {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

.page-about-us .about-process-cards article span {
  background: #28d7c0 !important;
  color: #07111f !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-process-cards article h3 {
  color: #ffffff !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-process-cards article p {
  color: rgba(255,255,255,.82) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mission card remains clear */
.page-about-us .about-mission-banner {
  background: linear-gradient(135deg, #07111f 0%, #123a56 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

.page-about-us .about-mission-banner h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-mission-banner p {
  color: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-about-us .about-mission-banner a {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 980px) {
  .page-about-us .about-highlight-card {
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  .page-about-us .about-highlight-card,
  .page-about-us .about-choice-board article,
  .page-about-us .about-process-cards article,
  .page-about-us .about-mission-banner {
    border-radius: 22px !important;
  }

  .page-about-us .about-highlight-card a {
    width: 100% !important;
  }
}

/* END ABOUT US CARD VISIBILITY ONLY FIX */



/* ABOUT HIGHLIGHT AND MISSION FINAL VISIBILITY FIX */
/* Only these two problem cards on about-us.html are changed. */

/* 1) About highlight-card: changed to solid white card for guaranteed visibility */
body.page-about-us .about-highlight-card.about-visible-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 300px !important;
  padding: clamp(28px, 4vw, 40px) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 20px 50px rgba(8,21,35,.12) !important;
  color: #081523 !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Small visible accent bar instead of dark hidden overlay */
body.page-about-us .about-highlight-card.about-visible-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 7px !important;
  background: linear-gradient(180deg, #2f9eea, #28d7c0) !important;
  z-index: 0 !important;
  opacity: 1 !important;
}

body.page-about-us .about-highlight-card.about-visible-card::after {
  content: "" !important;
  position: absolute !important;
  right: -60px !important;
  top: -60px !important;
  width: 170px !important;
  height: 170px !important;
  border-radius: 50% !important;
  background: rgba(47,158,234,.08) !important;
  z-index: 0 !important;
}

body.page-about-us .about-highlight-card.about-visible-card > * {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-about-us .about-highlight-card.about-visible-card h3 {
  margin: 0 0 14px !important;
  color: #081523 !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.08 !important;
  text-shadow: none !important;
}

body.page-about-us .about-highlight-card.about-visible-card p {
  margin: 0 !important;
  color: #34465b !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  text-shadow: none !important;
}

body.page-about-us .about-highlight-card.about-visible-card a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 50px !important;
  margin-top: 22px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f9eea, #1675bd) !important;
  font-weight: 900 !important;
  box-shadow: 0 16px 34px rgba(47,158,234,.24) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 2) Our Mission section/card: changed to solid readable card */
body.page-about-us .about-mission-section {
  background: linear-gradient(180deg, #f6f9fc 0%, #ffffff 100%) !important;
}

body.page-about-us .about-mission-banner.about-visible-mission {
  width: min(980px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 58px) !important;
  border-radius: 34px !important;
  text-align: center !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 20px 50px rgba(8,21,35,.12) !important;
  color: #081523 !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body.page-about-us .about-mission-banner.about-visible-mission::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(47,158,234,.10), transparent 28%),
    radial-gradient(circle at 90% 84%, rgba(40,215,192,.10), transparent 30%) !important;
  z-index: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body.page-about-us .about-mission-banner.about-visible-mission > * {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-about-us .about-mission-banner.about-visible-mission .signal-label {
  margin: 0 auto 16px !important;
  color: #075f8b !important;
  background: #eaf6ff !important;
  border: 1px solid #cfe7f8 !important;
  text-shadow: none !important;
}

body.page-about-us .about-mission-banner.about-visible-mission h2 {
  max-width: 780px !important;
  margin: 0 auto 16px !important;
  color: #081523 !important;
  font-size: clamp(34px, 5vw, 60px) !important;
  line-height: 1.05 !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-about-us .about-mission-banner.about-visible-mission p {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: #34465b !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-about-us .about-mission-banner.about-visible-mission .mission-action {
  display: flex !important;
  justify-content: center !important;
  margin-top: 26px !important;
}

body.page-about-us .about-mission-banner.about-visible-mission a.primary-btn {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f9eea, #1675bd) !important;
  box-shadow: 0 16px 34px rgba(47,158,234,.24) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 980px) {
  body.page-about-us .about-highlight-card.about-visible-card {
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  body.page-about-us .about-highlight-card.about-visible-card,
  body.page-about-us .about-mission-banner.about-visible-mission {
    border-radius: 24px !important;
    padding: 26px 20px !important;
  }

  body.page-about-us .about-highlight-card.about-visible-card a,
  body.page-about-us .about-mission-banner.about-visible-mission a.primary-btn {
    width: 100% !important;
  }
}
/* END ABOUT HIGHLIGHT AND MISSION FINAL VISIBILITY FIX */



/* REFUND POLICY PAGE CONTENT UPDATE */
body.page-refund-policy {
  background: #f6f9fc !important;
  color: #26384d !important;
}

    body.page-refund-policy .subhero,
    body.page-refund-policy .page-hero {
        min-height: 320px !important;
        display: flex !important;
        align-items: center !important;
        padding: 92px 0 76px !important;
        background: linear-gradient(90deg, rgba(5,13,24,.97) 0%, rgba(5,13,24,.91) 58%, rgba(5,13,24,.72) 100%), url("images/hero-train.jpg") center / cover no-repeat !important;
        position: relative !important;
        overflow: hidden !important;
    }

body.page-refund-policy .subhero .container,
body.page-refund-policy .page-hero .container {
  position: relative !important;
  z-index: 2 !important;
}

body.page-refund-policy .subhero h1,
body.page-refund-policy .page-hero h1 {
  color: #ffffff !important;
  text-shadow: 0 14px 34px rgba(0,0,0,.42) !important;
}

body.page-refund-policy .subhero p,
body.page-refund-policy .page-hero p {
  max-width: 820px !important;
  color: rgba(255,255,255,.84) !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.35) !important;
}

.refund-policy-section {
  background:
    radial-gradient(circle at 92% 4%, rgba(47,158,234,.06), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%) !important;
  padding-top: clamp(68px, 8vw, 100px) !important;
  padding-bottom: clamp(68px, 8vw, 100px) !important;
}

.refund-policy-card {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(30px, 5vw, 56px) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  border: 1px solid #d9e4ee !important;
  box-shadow: 0 16px 38px rgba(8,21,35,.08) !important;
}

.refund-policy-card .signal-label {
  color: #075f8b !important;
  background: #eaf6ff !important;
  border: 1px solid #cfe7f8 !important;
}

.refund-policy-card h2 {
  color: #081523 !important;
  font-size: clamp(25px, 3vw, 36px) !important;
  line-height: 1.15 !important;
  margin: 34px 0 10px !important;
  text-shadow: none !important;
}

.refund-policy-card h2:first-of-type {
  margin-top: 20px !important;
}

.refund-policy-card p,
.refund-policy-card li {
  color: #34465b !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
  text-shadow: none !important;
}

.refund-policy-card ul {
  margin: 12px 0 0 !important;
  padding-left: 22px !important;
}

.refund-policy-card li {
  margin-bottom: 8px !important;
}

.refund-policy-card a {
  color: #0f75b0 !important;
  font-weight: 900 !important;
}

@media (max-width: 640px) {
  body.page-refund-policy .subhero,
  body.page-refund-policy .page-hero {
    min-height: 260px !important;
    padding: 68px 0 58px !important;
  }

  .refund-policy-card {
    border-radius: 24px !important;
    padding: 28px 20px !important;
  }
}
/* END REFUND POLICY PAGE CONTENT UPDATE */
