/* =========================================================
   AutoTrainTrips.com 2.0 - Production Starter Styles
   Independent train travel information and assistance website
   ========================================================= */

:root {
  --navy: #08213f;
  --navy-2: #0d335f;
  --gold: #d6a847;
  --orange: #e67e22;
  --sky: #eaf4ff;
  --green: #2e8b57;
  --ink: #1f2937;
  --muted: #64748b;
  --line: #e5e7eb;
  --soft: #f8fafc;
  --white: #ffffff;
  --shadow: 0 22px 60px rgba(8, 33, 63, 0.16);
  --shadow-soft: 0 14px 40px rgba(8, 33, 63, 0.1);
  --radius: 24px;
  --radius-sm: 16px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding-left: 1.2rem; }

.container {
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
}

.notice-bar {
  background: #06182d;
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 8px 16px;
  text-align: center;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 10px 30px rgba(8,33,63,.06);
}
.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  flex: 0 0 auto;
}
.logo-img {
  width: 190px;
  max-width: 190px;
  height: auto;
  display: block;
}
.logo .logo-fallback { display: none !important; }
.logo-mark {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: linear-gradient(135deg, var(--navy), var(--navy-2));
  color: var(--gold);
  display: grid;
  place-items: center;
  font-size: 22px;
  box-shadow: var(--shadow-soft);
}
.logo strong {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  color: var(--navy);
  letter-spacing: -0.02em;
}
.logo span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.1;
}
.nav {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  font-size: 12px;
  color: #334155;
}
.nav a { transition: color .2s ease; }
.nav a:hover, .nav a.active { color: var(--orange); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-actions .btn { padding: 11px 16px; font-size: 13px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 800;
  border: 0;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  background: linear-gradient(135deg, var(--orange), #f0a03b);
  color: var(--white);
  box-shadow: 0 12px 30px rgba(230,126,34,.26);
}
.btn-navy { background: var(--navy); color: var(--white); }
.btn-light { background: var(--white); color: var(--navy); }
.btn-outline { border: 1px solid rgba(8,33,63,.2); background: var(--white); color: var(--navy); }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 14px;
  color: var(--navy);
  font-size: 20px;
}

.hero {
  position: relative;
  min-height: 760px;
  color: var(--white);
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4, 18, 35, .9), rgba(4, 18, 35, .52), rgba(4, 18, 35, .18)),
    url('https://images.unsplash.com/photo-1474487548417-781cb71495f3?auto=format&fit=crop&w=2200&q=85') center/cover no-repeat;
}
.hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 160px;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--white));
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 2;
  padding: 110px 0 170px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 44px;
  align-items: center;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 20px;
}
.hero h1, .page-hero h1 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .98;
  letter-spacing: -0.055em;
  margin: 0 0 22px;
}
.hero p {
  font-size: 19px;
  max-width: 700px;
  color: rgba(255,255,255,.88);
  margin: 0 0 28px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 30px; }
.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: rgba(255,255,255,.88);
  font-weight: 700;
  font-size: 14px;
}
.hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.16);
  padding: 8px 11px;
  border-radius: 999px;
}
.journey-card {
  background: rgba(255,255,255,.94);
  color: var(--ink);
  border-radius: 30px;
  padding: 28px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.65);
}
.journey-card h2 {
  margin: 0 0 6px;
  font-family: 'Manrope', sans-serif;
  color: var(--navy);
  font-size: 26px;
  letter-spacing: -0.03em;
}
.journey-card p { color: var(--muted); font-size: 14px; margin: 0 0 18px; }
.quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-link {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: var(--white);
  transition: .22s ease;
}
.quick-link:hover { transform: translateY(-2px); border-color: rgba(230,126,34,.45); box-shadow: var(--shadow-soft); }
.quick-link i { color: var(--orange); margin-bottom: 10px; font-size: 19px; }
.quick-link strong { display:block; color: var(--navy); font-size: 14px; line-height: 1.2; }
.quick-link small { color: var(--muted); display:block; margin-top: 4px; line-height: 1.35; }

.section { padding: 92px 0; }
.section-soft { background: var(--soft); }
.section-navy { background: var(--navy); color: var(--white); }
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 36px;
}
.label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--orange);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  margin-bottom: 10px;
}
h2, h3 {
  font-family: 'Manrope', sans-serif;
  color: var(--navy);
  line-height: 1.12;
  letter-spacing: -0.035em;
}
.section-navy h2, .section-navy h3 { color: var(--white); }
h2 { font-size: clamp(30px, 4vw, 50px); margin: 0; }
h3 { font-size: 23px; margin: 0 0 10px; }
.section-lead { color: var(--muted); max-width: 680px; margin: 14px 0 0; font-size: 17px; }
.section-navy .section-lead { color: rgba(255,255,255,.72); }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: 0 1px 0 rgba(8,33,63,.04);
  transition: .22s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); border-color: rgba(8,33,63,.12); }
.icon-bubble {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(230,126,34,.13), rgba(214,168,71,.15));
  color: var(--orange);
  font-size: 22px;
  margin-bottom: 18px;
}
.card p { color: var(--muted); margin: 0 0 18px; }
.link-more { display: inline-flex; align-items: center; gap: 8px; color: var(--orange); font-weight: 900; }

.image-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center;
}
.image-stack { position: relative; }
.image-stack img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: var(--shadow);
}
.float-stat {
  position: absolute;
  left: 24px;
  bottom: 24px;
  background: rgba(255,255,255,.94);
  border-radius: 22px;
  padding: 18px 20px;
  box-shadow: var(--shadow-soft);
  max-width: 250px;
}
.float-stat strong { display:block; font-family:'Manrope'; color:var(--navy); font-size: 25px; line-height: 1; }
.float-stat span { color: var(--muted); font-size: 14px; }
.check-list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 13px; }
.check-list li { display:flex; gap: 12px; color: #334155; }
.check-list i { color: var(--green); margin-top: 5px; }

.route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.route-card {
  min-height: 250px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  color: var(--white);
  display: flex;
  align-items: end;
  padding: 22px;
  background: var(--navy);
}
.route-card::before {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(8,33,63,.08), rgba(8,33,63,.86));
  z-index:1;
}
.route-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.route-card div { position:relative; z-index:2; }
.route-card h3 { color:var(--white); font-size:22px; margin:0 0 5px; }
.route-card p { color:rgba(255,255,255,.78); margin:0; font-size:14px; line-height:1.45; }

.guide-layout { display:grid; grid-template-columns: 1.25fr .75fr; gap:22px; }
.guide-feature, .guide-side-card {
  background: var(--white);
  border-radius: 28px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow: var(--shadow-soft);
}
.guide-feature img { height: 390px; width:100%; object-fit:cover; }
.guide-side { display:grid; gap:22px; }
.guide-side-card { display:grid; grid-template-columns: 155px 1fr; }
.guide-side-card img { height:100%; min-height: 170px; object-fit:cover; }
.guide-content { padding: 24px; }
.kicker { color: var(--orange); text-transform: uppercase; font-size: 12px; letter-spacing: .08em; font-weight: 900; }
.guide-content p { color: var(--muted); margin: 8px 0 16px; }

.cta-band {
  background: linear-gradient(135deg, var(--navy), #0f3b68);
  color: var(--white);
  border-radius: 34px;
  padding: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  overflow: hidden;
  position: relative;
}
.cta-band::after {
  content: '';
  position: absolute;
  right: -80px;
  top: -80px;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: rgba(214,168,71,.15);
}
.cta-band h2 { color: var(--white); }
.cta-band p { color: rgba(255,255,255,.78); max-width: 700px; }
.cta-band > * { position: relative; z-index: 1; }

.faq-list { display: grid; gap: 14px; }
.faq-item {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}
.faq-question {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font: inherit;
  font-weight: 900;
  color: var(--navy);
  text-align: left;
  cursor: pointer;
}
.faq-answer { display: none; padding: 0 22px 20px; color: var(--muted); }
.faq-item.active .faq-answer { display: block; }

.page-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(6,24,45,.94), rgba(8,33,63,.70), rgba(8,33,63,.30)),
    var(--page-hero-image, url('https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?auto=format&fit=crop&w=2200&q=82')) center/cover no-repeat;
  color: var(--white);
  padding: 98px 0;
}
.page-hero::after {
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:90px;
  background:linear-gradient(180deg, rgba(248,250,252,0), var(--soft));
  pointer-events:none;
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(38px, 5vw, 64px); }
.page-hero p { max-width: 760px; color: rgba(255,255,255,.84); font-size: 18px; margin: 0; }
.breadcrumb { color: rgba(255,255,255,.68); font-size: 13px; margin-bottom: 18px; font-weight: 700; }
.content-grid { display: grid; grid-template-columns: 1fr 330px; gap: 40px; align-items: start; }
.prose {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 1px 0 rgba(8,33,63,.04);
}
.prose h2 { font-size: 32px; margin: 34px 0 14px; }
.prose h2:first-child { margin-top:0; }
.prose p, .prose li { color: #475569; }
.prose table { width: 100%; border-collapse: collapse; margin: 20px 0; border-radius: 16px; overflow: hidden; }
.prose th { background: var(--navy); color: var(--white); text-align: left; }
.prose th, .prose td { padding: 14px; border: 1px solid var(--line); vertical-align: top; }
.sidebar { position: sticky; top: 104px; display:grid; gap:18px; }
.side-box {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  box-shadow: var(--shadow-soft);
}
.side-box h3 { font-size: 22px; }
.side-links { list-style:none; padding:0; display:grid; gap:10px; margin:14px 0 0; }
.side-links a { display:flex; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); color:#334155; font-weight:700; }
.side-links li:last-child a { border-bottom:0; }
.form-grid { display:grid; gap:14px; }
.form-grid input, .form-grid textarea, .form-grid select {
  width:100%; padding:14px 15px; border:1px solid var(--line); border-radius:14px; font:inherit;
}
.form-grid textarea { min-height: 150px; resize: vertical; }

.site-footer {
  background: #06182d;
  color: rgba(255,255,255,.74);
  padding: 68px 0 28px;
}
.footer-grid { display:grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 34px; }
.footer-logo { display:flex; gap:12px; align-items:center; margin-bottom:16px; color:var(--white); }
.footer-logo .logo-mark { width:42px; height:42px; box-shadow:none; }
.footer-grid h4 { color:var(--white); font-family:'Manrope'; margin:0 0 14px; }
.footer-grid ul { list-style:none; padding:0; display:grid; gap:9px; }
.footer-grid a:hover { color:var(--gold); }
.footer-bottom { margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.disclaimer-small { font-size: 12px; color: rgba(255,255,255,.58); max-width: 760px; }
.footer-contact-mini { margin-top:18px; display:grid; gap:8px; font-size:14px; color:rgba(255,255,255,.82); }
.footer-contact-mini p { margin:0; display:flex; align-items:flex-start; gap:9px; line-height:1.55; }
.footer-contact-mini i { color:var(--gold); margin-top:3px; min-width:15px; }
.footer-contact-mini a { color:#fff; font-weight:800; }

@media (max-width: 1024px) {
  .hero-inner, .image-feature, .content-grid { grid-template-columns: 1fr; }
  .hero { min-height:auto; }
  .hero-inner { padding: 80px 0 130px; }
  .journey-card { max-width: 560px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .route-grid { grid-template-columns: repeat(2, 1fr); }
  .guide-layout { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .sidebar { position: static; }
}
@media (max-width: 820px) {
  .menu-toggle { display:block; }
  .nav {
    position: absolute;
    top: 100%; left: 0; right: 0;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 24px 24px;
    background: var(--white);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
  }
  .nav.open { display:flex; }
  .header-actions .btn { display:none; }
  .logo { min-width:auto; }
  .hero h1 { font-size: 44px; }
  .hero p { font-size: 17px; }
  .quick-grid, .service-grid, .route-grid, .footer-grid { grid-template-columns: 1fr; }
  .section { padding: 64px 0; }
  .section-head { display:block; }
  .guide-side-card { grid-template-columns:1fr; }
  .guide-side-card img { min-height: 220px; width:100%; }
  .cta-band { display:block; padding:32px; }
  .image-stack img { height: 360px; }
  .prose { padding: 24px; }
}
@media (max-width: 520px) {
  .container { width: min(100% - 24px, var(--container)); }
  .notice-bar { font-size: 11px; }
  .logo strong { font-size: 18px; }
  .logo span { display:none; }
  .hero-inner { padding-top: 56px; }
  .hero-actions .btn { width:100%; }
  .journey-card { padding: 22px; border-radius: 24px; }
  .page-hero { padding: 62px 0; }
  .footer-bottom { display:block; }
}


/* Inner page enhancements */
.info-highlight {
  margin: 26px 0;
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(234,244,255,.92), rgba(255,250,241,.92));
  border: 1px solid rgba(8,33,63,.08);
}
.info-highlight strong { color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 20px; display:block; margin-bottom: 6px; }
.mini-card-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin:24px 0; }
.mini-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.mini-card i { color: var(--orange); font-size: 22px; margin-bottom: 10px; }
.mini-card h3 { font-size: 19px; margin-bottom: 8px; }
.numbered-steps { counter-reset: step; list-style: none; padding: 0; display: grid; gap: 13px; }
.numbered-steps li { position: relative; padding-left: 48px; }
.numbered-steps li:before {
  counter-increment: step;
  content: counter(step);
  position: absolute; left: 0; top: 0;
  width: 32px; height: 32px; border-radius: 12px;
  background: var(--navy); color: #fff; display: grid; place-items:center; font-weight: 900;
}
.related-strip {
  margin-top: 30px;
  padding: 24px;
  border-radius: 24px;
  background: var(--navy);
  color: #fff;
}
.related-strip h2 { color:#fff; font-size: 28px; margin:0 0 10px; }
.related-strip p { color: rgba(255,255,255,.76); }
.related-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top: 16px; }
.related-buttons a { border:1px solid rgba(255,255,255,.2); padding:10px 14px; border-radius:999px; font-weight:800; color:#fff; }
.related-buttons a:hover { background: rgba(255,255,255,.12); }
.hero-topic-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.hero-topic-row span { background: rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.18); padding:8px 12px; border-radius:999px; font-weight:800; font-size:13px; }
@media(max-width:820px){ .logo-img{width:190px;} .mini-card-grid{grid-template-columns:1fr;} }
@media(max-width:520px){ .logo-img{width:168px;} }


/* Header polish - v2.1 */
@media (max-width: 1100px) {
  .logo-img { width: 210px; max-width: 210px; }
  .nav { gap: 15px; font-size: 13px; }
  .header-inner { gap: 14px; }
  .header-actions .btn { padding: 12px 17px; }
}
@media (max-width: 860px) {
  .logo-img { width: 190px; max-width: 190px; }
  .notice-bar { font-size: 12px; line-height: 1.4; }
}

@media(min-width: 1181px){ .header-inner{ gap:18px; } .nav{ flex:1; justify-content:center; } }
@media(max-width:1280px){ .logo-img{ width:170px; max-width:170px; } .nav{ gap:9px; font-size:11.5px; } .header-actions .btn{ padding:10px 13px; font-size:12px; } }


/* =========================================================
   Hub Page Gold Template - Train Routes Hub
   ========================================================= */
.hub-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 38px;
  align-items: start;
}
.hub-main { display: grid; gap: 26px; }
.hub-intro-card, .hub-block {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 1px 0 rgba(8,33,63,.04);
}
.hub-intro-card h2, .hub-block h2 { font-size: clamp(30px, 3.2vw, 44px); margin: 0 0 14px; }
.hub-intro-card p, .hub-block p { color: #475569; }
.hub-section-head { margin-bottom: 24px; }
.hub-section-head p { max-width: 760px; margin: 10px 0 0; }
.hub-stat-row { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hub-stat-row div {
  background: linear-gradient(135deg, #fff, #f8fafc);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  box-shadow: var(--shadow-soft);
}
.hub-stat-row strong { display:block; font-family:'Manrope'; color:var(--navy); font-size:22px; line-height:1.1; margin-bottom:8px; }
.hub-stat-row span { display:block; color:var(--muted); font-size:14px; line-height:1.5; }
.topic-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.topic-card {
  display:block;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  min-height: 230px;
  transition: .22s ease;
  position: relative;
  overflow: hidden;
}
.topic-card:after { content:''; position:absolute; right:-45px; bottom:-45px; width:130px; height:130px; border-radius:999px; background: rgba(230,126,34,.08); }
.topic-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); border-color: rgba(230,126,34,.28); }
.topic-card-large { background: linear-gradient(135deg, #08213f, #0d335f); color: #fff; }
.topic-card-large h3, .topic-card-large p, .topic-card-large strong { color:#fff; }
.topic-icon { width:54px; height:54px; border-radius:18px; display:grid; place-items:center; background: rgba(230,126,34,.12); color: var(--orange); font-size:22px; margin-bottom:16px; }
.topic-card-large .topic-icon { background: rgba(255,255,255,.12); color: var(--gold); }
.topic-card h3 { font-size:24px; margin-bottom:10px; }
.topic-card p { margin:0 0 18px; color: var(--muted); }
.topic-card strong { display:inline-flex; align-items:center; gap:8px; color: var(--orange); font-weight:900; position:relative; z-index:1; }
.split-feature { display:grid; grid-template-columns: 1.05fr .95fr; gap: 30px; align-items:center; }
.image-panel { position:relative; }
.image-panel img { width:100%; height:430px; object-fit:cover; border-radius:28px; box-shadow: var(--shadow); }
.image-caption { position:absolute; left:20px; right:20px; bottom:20px; background:rgba(255,255,255,.94); border-radius:20px; padding:16px 18px; box-shadow:var(--shadow-soft); }
.image-caption strong { display:block; color:var(--navy); font-family:'Manrope'; }
.image-caption span { color:var(--muted); font-size:14px; }
.hub-checklist li { align-items:flex-start; }
.table-wrap { overflow-x:auto; border-radius:20px; }
.premium-table { width:100%; border-collapse:collapse; background:#fff; overflow:hidden; }
.premium-table th { background: var(--navy); color:#fff; text-align:left; }
.premium-table th, .premium-table td { padding:16px; border:1px solid var(--line); vertical-align:top; }
.premium-table tbody tr:nth-child(even) { background:#f8fafc; }
.mini-card-grid-3 { grid-template-columns: repeat(3, 1fr); }
.route-steps li { background:#fff; border:1px solid var(--line); border-radius:20px; padding-top:18px; padding-bottom:18px; padding-right:18px; }
.faq-preview .faq-list { margin-top: 4px; }
.related-strip-gold { background: linear-gradient(135deg, var(--navy), #0f3b68); }
.hub-sidebar .side-box { border-radius: 26px; }
.side-box-cta { background: linear-gradient(135deg, #fff, #fff7ed); }
.note-box { background: #f8fafc; box-shadow: none; }
@media(max-width:1024px){
  .hub-layout, .split-feature { grid-template-columns:1fr; }
  .hub-sidebar { position:static; }
  .hub-stat-row, .mini-card-grid-3 { grid-template-columns:1fr; }
}
@media(max-width:720px){
  .topic-grid { grid-template-columns:1fr; }
  .hub-intro-card, .hub-block { padding:24px; border-radius:24px; }
  .image-panel img { height:320px; }
}


/* =========================================================
   AutoTrainTrips 2.0 Gold - Priority Polish Pass
   Header, mega navigation, scenic hero, homepage flow
   ========================================================= */
.notice-bar { padding: 9px 16px; font-size: 12.5px; }
.notice-bar i { color: var(--gold); margin-right: 7px; }
.header-inner { min-height: 88px; gap: 18px; }
.logo-img { width: 222px; max-width: 222px; }
.nav-mega { gap: 5px; font-size: 12px; }
.nav-mega > a,
.nav-mega .nav-item > a { padding: 31px 7px; display: inline-flex; align-items:center; min-height: 88px; }
.nav-item { position: relative; }
.has-mega > a::after { content:'\f107'; font-family:'Font Awesome 6 Free'; font-weight:900; font-size:10px; margin-left:5px; color:var(--muted); }
.mega-menu {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  width: 520px;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 18px;
  padding: 22px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 22px;
  box-shadow: 0 28px 70px rgba(8,33,63,.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.has-mega:hover .mega-menu,
.has-mega:focus-within .mega-menu { opacity:1; visibility:visible; transform: translateX(-50%) translateY(0); pointer-events:auto; }
.mega-kicker { color:var(--orange); font-weight:900; text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.mega-menu h4 { color:var(--navy); font-family:'Manrope', sans-serif; font-size:22px; margin:7px 0 8px; line-height:1.1; }
.mega-menu p { color:var(--muted); margin:0; font-size:14px; line-height:1.55; }
.mega-links { display:grid; gap:8px; }
.mega-links a { display:flex; gap:10px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:14px; font-weight:850; color:#243247; background:#fff; transition:.2s ease; }
.mega-links a:hover { transform: translateX(3px); border-color: rgba(230,126,34,.35); background:#fff8f1; color:var(--navy); }
.mega-links i { color:var(--orange); width:18px; text-align:center; }
.header-actions .btn { border-radius: 20px; padding: 13px 21px; font-size: 14px; }
.hero {
  min-height: 790px;
  background:
    linear-gradient(90deg, rgba(4,18,35,.92), rgba(4,18,35,.58), rgba(4,18,35,.22)),
    url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=2400&q=88') center/cover no-repeat;
}
.eyebrow { font-size: 13px; font-weight: 750; background: rgba(255,255,255,.12); }
.hero h1 { max-width: 770px; letter-spacing: -.065em; }
.hero p { max-width: 770px; font-size: 20px; }
.btn-light { box-shadow: 0 12px 28px rgba(8,33,63,.12); }
.journey-card { transition: transform .25s ease, box-shadow .25s ease; }
.journey-card:hover { transform: translateY(-4px); box-shadow: 0 34px 80px rgba(8,33,63,.22); }
.quick-link { min-height: 124px; }
.quick-link i { font-size: 24px; }
.quick-link:hover i { transform: scale(1.08); }
.story-section { background: linear-gradient(180deg, #fff, #f8fafc); }
.story-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: 38px; align-items:center; }
.story-grid h2 { font-size: clamp(34px, 4vw, 54px); line-height:1.03; margin:10px 0 16px; color:var(--navy); letter-spacing:-.04em; }
.story-panel { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-soft); }
.story-panel p { margin-top:0; font-size:18px; color:#334155; }
.mini-trust-grid { display:grid; gap:12px; margin-top:18px; }
.mini-trust-grid span { display:flex; gap:10px; align-items:center; font-weight:800; color:#27364a; background:#f8fafc; padding:12px 14px; border-radius:14px; }
.mini-trust-grid i { color: var(--green); }
.card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card:hover { transform: translateY(-7px); border-color: rgba(230,126,34,.35); box-shadow: 0 24px 60px rgba(8,33,63,.14); }
.icon-bubble { box-shadow: 0 14px 30px rgba(8,33,63,.12); }
@media(max-width: 1180px){
  .nav-mega { display:none; position:absolute; left:16px; right:16px; top:100%; background:#fff; padding:18px; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); flex-direction:column; align-items:stretch; gap:0; }
  .nav-mega.open { display:flex; }
  .nav-mega > a, .nav-mega .nav-item > a { padding:12px 8px; min-height:auto; }
  .nav-item { width:100%; }
  .mega-menu { display:none !important; }
  .menu-toggle { display:grid; place-items:center; }
  .header-inner { min-height:78px; }
  .logo-img { width: 190px; max-width: 190px; }
}
@media(max-width: 760px){
  .story-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .logo-img { width: 174px; max-width:174px; }
  .header-actions .btn { display:none; }
}
@media(max-width:1280px) and (min-width:1181px){
  .logo-img { width: 190px; max-width:190px; }
  .nav-mega { font-size:11px; gap:3px; }
  .nav-mega > a, .nav-mega .nav-item > a { padding-left:5px; padding-right:5px; }
  .header-actions .btn { padding: 11px 14px; font-size:12px; }
}

/* =========================================================
   AutoTrainTrips 2.0 Gold - Homepage Final Freeze
   ========================================================= */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;color:var(--navy);padding:10px 14px;border-radius:10px;z-index:9999;box-shadow:var(--shadow-soft);}
.site-header{transition:box-shadow .25s ease, background .25s ease;}
.header-inner{min-height:96px;}
.logo-img{width:258px;max-width:258px;}
.nav-mega{font-weight:760;letter-spacing:-.01em;color:#253348;}
.nav-mega > a,.nav-mega .nav-item > a{position:relative;padding:36px 9px;min-height:96px;}
.nav-mega > a::before,.nav-mega .nav-item > a::before{content:'';position:absolute;left:9px;right:9px;bottom:24px;height:2px;background:var(--orange);border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;}
.nav-mega > a:hover::before,.nav-mega .nav-item > a:hover::before,.nav-mega > a.active::before,.nav-mega .nav-item > a.active::before{transform:scaleX(1);}
.nav-mega .fa-chevron-down{font-size:9px;margin-left:5px;color:#94a3b8;}
.has-mega > a::after{display:none;}
.mega-menu{top:calc(100% - 4px);}
.hero-final{min-height:820px;background:linear-gradient(90deg, rgba(4,18,35,.78), rgba(4,18,35,.38), rgba(4,18,35,.08)),url('https://images.unsplash.com/photo-1474487548417-781cb71495f3?auto=format&fit=crop&w=2400&q=88') center/cover no-repeat;}
.hero-final .hero-inner{padding:132px 0 178px;gap:58px;}
.hero-final h1{font-size:clamp(46px,6.4vw,84px);max-width:780px;}
.hero-final p{font-size:20px;line-height:1.65;}
.btn-premium-light{border:1px solid rgba(255,255,255,.65);}
.btn-premium-light:hover,.btn-outline:hover{background:#fff7ed;color:var(--navy);box-shadow:0 16px 36px rgba(8,33,63,.16);}
.journey-card-final{padding:32px;border-radius:34px;}
.journey-card-final .quick-link{padding:18px;min-height:138px;border-radius:22px;}
.journey-card-final .quick-link i{font-size:28px;transition:transform .22s ease;}
.hero-trust-clean span{background:rgba(255,255,255,.13);}
.trust-strip{position:relative;margin-top:-64px;z-index:5;}
.trust-strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:28px;padding:18px;box-shadow:0 28px 80px rgba(8,33,63,.14);}
.trust-strip-inner div{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px 12px;border-radius:18px;background:#fbfdff;}
.trust-strip-inner i{grid-row:1 / span 2;width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#fff7ed;color:var(--orange);box-shadow:0 8px 22px rgba(230,126,34,.12);}
.trust-strip-inner strong{color:var(--navy);font-size:14px;line-height:1.2;}
.trust-strip-inner span{color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:2px;}
.centered-head{display:block;text-align:center;max-width:820px;margin-left:auto;margin-right:auto;}
.centered-head .section-lead{margin:14px auto 0;max-width:760px;}
.topic-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.topic-image-card{position:relative;min-height:360px;border-radius:30px;overflow:hidden;color:#fff;box-shadow:var(--shadow-soft);isolation:isolate;}
.topic-image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;z-index:-2;}
.topic-image-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,33,63,.08),rgba(8,33,63,.78));z-index:-1;}
.topic-image-card div{position:absolute;left:0;right:0;bottom:0;padding:26px;}
.topic-image-card span{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:23px;margin-bottom:16px;}
.topic-image-card h3{font-family:'Manrope',sans-serif;font-size:27px;line-height:1.05;margin:0 0 10px;letter-spacing:-.035em;}
.topic-image-card p{margin:0 0 14px;color:rgba(255,255,255,.86);line-height:1.5;}
.topic-image-card strong{display:inline-flex;gap:8px;align-items:center;font-size:14px;}
.topic-image-card:hover img{transform:scale(1.06);}
.topic-image-card:hover strong i{transform:translateX(4px);}
.premium-stack img{height:560px;object-fit:cover;border-radius:34px;}
.two-column-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}
.two-column-checks li{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px 14px;}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:steps;}
.steps-row div{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;}
.steps-row div::after{content:'';position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;background:#fff7ed;}
.steps-row span{position:relative;z-index:2;display:inline-flex;width:46px;height:46px;border-radius:16px;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:900;margin-bottom:18px;}
.steps-row h3{position:relative;z-index:2;font-family:'Manrope';color:var(--navy);font-size:22px;margin:0 0 10px;line-height:1.1;}
.steps-row p{position:relative;z-index:2;color:var(--muted);margin:0;line-height:1.55;}
.guide-layout-polished .guide-feature,.guide-layout-polished .guide-side-card{box-shadow:var(--shadow-soft);}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.article-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow-soft);transition:.22s ease;}
.article-card h3{font-family:'Manrope';color:var(--navy);font-size:24px;line-height:1.1;margin:0 0 12px;letter-spacing:-.03em;}
.article-card p{color:var(--muted);margin:0 0 18px;}
.article-card span{font-weight:900;color:var(--orange);}
.article-card:hover{transform:translateY(-6px);border-color:rgba(230,126,34,.35);}
.cta-band-final{align-items:center;}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.footer-grid-premium{grid-template-columns:1.7fr repeat(4,1fr);}
@media(max-width:1320px) and (min-width:1181px){.logo-img{width:220px;max-width:220px}.nav-mega{font-size:11px}.nav-mega>a,.nav-mega .nav-item>a{padding-left:5px;padding-right:5px}.header-actions .btn{padding:11px 13px;font-size:12px}}
@media(max-width:1180px){.header-inner{min-height:80px}.logo-img{width:210px;max-width:210px}.nav-mega>a,.nav-mega .nav-item>a{min-height:auto}.nav-mega>a::before,.nav-mega .nav-item>a::before{display:none}.trust-strip{margin-top:0;padding-top:18px;background:#fff}.trust-strip-inner,.topic-image-grid,.steps-row,.article-grid{grid-template-columns:1fr 1fr}.hero-final .hero-inner{padding:90px 0 110px}}
@media(max-width:820px){.hero-final .hero-inner{grid-template-columns:1fr;padding:72px 0 88px}.trust-strip-inner,.topic-image-grid,.steps-row,.article-grid,.two-column-checks{grid-template-columns:1fr}.topic-image-card{min-height:300px}.premium-stack img{height:360px}.footer-grid-premium{grid-template-columns:1fr}.reverse-on-mobile{display:flex;flex-direction:column-reverse}.hero-final h1{font-size:42px}.hero-final p{font-size:17px}.cta-actions{width:100%}.cta-actions .btn{width:100%}.logo-img{width:178px;max-width:178px}}
.site-header.is-scrolled{box-shadow:0 18px 42px rgba(8,33,63,.11);background:rgba(255,255,255,.985)}

/* =========================================================
   RC5 Quick Polish Fixes
   - Prevent navigation labels from wrapping
   - Improve header breathing room on desktop
   - Make Explore by Topic text readable on image cards
   ========================================================= */
@media (min-width: 1181px) {
  .site-header .container.header-inner {
    width: min(1320px, calc(100% - 32px));
  }

  .nav-mega {
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 8px;
  }

  .nav-mega > a,
  .nav-mega .nav-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    line-height: 1.15;
    text-align: center;
  }

  .nav-item.has-mega {
    flex: 0 0 auto;
  }
}

@media (max-width: 1380px) and (min-width: 1181px) {
  .logo-img {
    width: 220px;
    max-width: 220px;
  }

  .nav-mega {
    font-size: 11px;
    gap: 6px;
  }

  .nav-mega > a,
  .nav-mega .nav-item > a {
    padding-left: 6px;
    padding-right: 6px;
  }

  .header-actions .btn {
    padding: 11px 14px;
    font-size: 12px;
  }
}

.topic-image-card::after {
  background: linear-gradient(180deg, rgba(8,33,63,.18), rgba(8,33,63,.90));
}

.topic-image-card h3,
.topic-image-card p,
.topic-image-card strong {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.38);
}

.topic-image-card h3 {
  font-weight: 900;
}

.topic-image-card span {
  color: #ffffff;
}

/* =========================================================
   RC6 Fix - Compact dropdown navigation
   Fixes oversized mega dropdown overlap on desktop.
   ========================================================= */
@media (min-width: 1181px) {
  .site-header { position: sticky; top: 0; z-index: 9999; }
  .nav-item.has-mega { position: relative; }

  .nav-item.has-mega .mega-menu {
    top: calc(100% - 16px);
    left: 0;
    right: auto;
    width: 285px;
    max-width: 285px;
    min-width: 285px;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.99);
    border: 1px solid rgba(226,232,240,.95);
    box-shadow: 0 20px 50px rgba(8,33,63,.16);
    transform: translateY(12px);
    z-index: 10000;
  }

  .nav-item.has-mega:hover .mega-menu,
  .nav-item.has-mega:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .mega-menu > div:first-child {
    display: none;
  }

  .mega-links {
    display: grid;
    gap: 6px;
  }

  .mega-links a {
    padding: 11px 12px;
    border-radius: 13px;
    border: 0;
    background: transparent;
    color: #253348;
    font-size: 13px;
    line-height: 1.25;
    box-shadow: none;
  }

  .mega-links a:hover {
    transform: translateX(2px);
    background: #fff7ed;
    color: var(--navy);
  }

  .mega-links i {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    color: var(--orange);
    font-size: 13px;
  }

  .nav-mega > a,
  .nav-mega .nav-item > a {
    white-space: nowrap;
  }
}

/* =========================================================
   RC7 Navigation Final
   Compact premium dropdowns, no overflow, no mega-panel tabs.
   ========================================================= */
@media (min-width: 1181px) {
  .rc7-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: rgba(255,255,255,.985);
    border-bottom: 1px solid rgba(226,232,240,.95);
    box-shadow: 0 10px 30px rgba(8,33,63,.055);
  }

  .rc7-header .container.rc7-header-inner {
    width: min(1360px, calc(100% - 36px));
    min-height: 92px;
    gap: 22px;
  }

  .rc7-header .logo-img {
    width: 238px;
    max-width: 238px;
  }

  .rc7-nav {
    flex: 1 1 auto;
    justify-content: center;
    align-items: center;
    gap: 6px !important;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 760;
    letter-spacing: -.01em;
    color: #263448;
  }

  .rc7-nav > a,
  .rc7-nav .rc7-dropdown > a {
    min-height: 92px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    position: relative;
    line-height: 1;
    white-space: nowrap;
    transition: color .2s ease;
  }

  .rc7-nav > a::before,
  .rc7-nav .rc7-dropdown > a::before {
    content: '';
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 26px;
    height: 2px;
    background: var(--orange);
    border-radius: 99px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
  }

  .rc7-nav > a:hover::before,
  .rc7-nav .rc7-dropdown > a:hover::before,
  .rc7-nav > a.active::before,
  .rc7-nav .rc7-dropdown > a.active::before {
    transform: scaleX(1);
  }

  .rc7-nav > a:hover,
  .rc7-nav .rc7-dropdown > a:hover,
  .rc7-nav > a.active,
  .rc7-nav .rc7-dropdown > a.active {
    color: var(--orange);
  }

  .rc7-nav .fa-chevron-down {
    font-size: 9px;
    color: #94a3b8;
    margin-left: 2px;
    transition: transform .2s ease, color .2s ease;
  }

  .rc7-dropdown:hover .fa-chevron-down,
  .rc7-dropdown:focus-within .fa-chevron-down {
    transform: rotate(180deg);
    color: var(--orange);
  }

  .rc7-dropdown {
    position: relative !important;
    flex: 0 0 auto;
  }

  .rc7-dropdown-menu {
    position: absolute;
    top: calc(100% - 11px);
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    width: 320px;
    max-width: min(320px, calc(100vw - 36px));
    padding: 14px;
    background: rgba(255,255,255,.99);
    border: 1px solid rgba(226,232,240,.98);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(8,33,63,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 10050;
  }

  .rc7-dropdown:hover .rc7-dropdown-menu,
  .rc7-dropdown:focus-within .rc7-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .rc7-dropdown-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px 12px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--line);
    color: var(--navy);
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.025em;
  }

  .rc7-dropdown-title i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #fff7ed;
    color: var(--orange);
    box-shadow: 0 8px 20px rgba(230,126,34,.12);
  }

  .rc7-dropdown-menu > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 12px;
    border-radius: 12px;
    color: #2d3a4f;
    font-size: 13.5px;
    font-weight: 760;
    line-height: 1.2;
    transition: background .18s ease, color .18s ease, transform .18s ease;
  }

  .rc7-dropdown-menu > a:hover {
    background: #fff7ed;
    color: var(--navy);
    transform: translateX(3px);
  }

  .rc7-dropdown-menu .rc7-dropdown-all {
    margin-top: 8px;
    border-top: 1px solid var(--line);
    padding-top: 14px;
    color: var(--orange);
    font-weight: 900;
  }

  .rc7-actions .btn {
    border-radius: 18px;
    padding: 12px 16px;
    font-size: 12.5px;
    box-shadow: 0 12px 28px rgba(230,126,34,.22);
  }
}

@media (max-width: 1380px) and (min-width: 1181px) {
  .rc7-header .container.rc7-header-inner {
    width: min(1340px, calc(100% - 28px));
    gap: 16px;
  }
  .rc7-header .logo-img {
    width: 216px;
    max-width: 216px;
  }
  .rc7-nav {
    gap: 4px !important;
    font-size: 11.4px;
  }
  .rc7-nav > a,
  .rc7-nav .rc7-dropdown > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .rc7-nav > a::before,
  .rc7-nav .rc7-dropdown > a::before {
    left: 5px;
    right: 5px;
  }
  .rc7-actions .btn {
    padding: 11px 12px;
    font-size: 11.8px;
  }
}

@media (max-width: 1240px) and (min-width: 1181px) {
  .rc7-header .logo-img {
    width: 198px;
    max-width: 198px;
  }
  .rc7-nav {
    font-size: 10.8px;
    gap: 3px !important;
  }
  .rc7-actions .btn {
    padding: 10px 11px;
  }
}

@media (max-width: 1180px) {
  .rc7-header .rc7-header-inner {
    min-height: 80px;
  }
  .rc7-header .logo-img {
    width: 205px;
    max-width: 205px;
  }
  .rc7-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 16px;
    right: 16px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
  }
  .rc7-nav.open {
    display: flex;
  }
  .rc7-nav > a,
  .rc7-nav .rc7-dropdown > a {
    min-height: auto !important;
    padding: 12px 10px !important;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--line);
    font-size: 14px;
    font-weight: 800;
  }
  .rc7-nav > a::before,
  .rc7-nav .rc7-dropdown > a::before {
    display: none !important;
  }
  .rc7-dropdown-menu {
    display: grid;
    gap: 0;
    padding: 8px 0 12px 12px;
    border-bottom: 1px solid var(--line);
  }
  .rc7-dropdown-title {
    display: none;
  }
  .rc7-dropdown-menu a {
    padding: 9px 10px;
    color: #475569;
    font-size: 13px;
    font-weight: 750;
    border-radius: 10px;
  }
  .rc7-dropdown-menu a:hover {
    background: #fff7ed;
    color: var(--navy);
  }
  .rc7-actions .btn {
    display: none;
  }
  .menu-toggle {
    display: grid;
    place-items: center;
  }
}

@media (max-width: 620px) {
  .rc7-header .logo-img {
    width: 168px;
    max-width: 168px;
  }
  .rc7-header .rc7-header-inner {
    min-height: 72px;
  }
}


/* =========================================================
   RC8 - Premium Condensed Navigation
   ========================================================= */
.rc7-header-inner {
  min-height: 90px;
  gap: 18px;
}
.rc7-logo .logo-img,
.logo-img {
  width: 218px;
  max-width: 218px;
}
.rc7-nav,
.nav {
  gap: 4px;
  font-family: 'Oswald', 'Roboto Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.78px;
  text-transform: uppercase;
  line-height: 1;
  color: #23364d;
}
.rc7-nav > a,
.rc7-dropdown > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 90px;
  padding: 0 9px;
  white-space: nowrap;
  color: #23364d;
}
.rc7-nav > a::before,
.rc7-dropdown > a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--orange), var(--gold));
  transform: translateX(-50%);
  transition: width .22s ease;
}
.rc7-nav > a:hover::before,
.rc7-nav > a.active::before,
.rc7-dropdown:hover > a::before,
.rc7-dropdown > a.active::before {
  width: calc(100% - 18px);
}
.rc7-nav > a:hover,
.rc7-nav > a.active,
.rc7-dropdown:hover > a,
.rc7-dropdown > a.active {
  color: var(--orange);
}
.nav-home-icon {
  font-size: 18px;
  line-height: 1;
  transform: translateY(-1px);
}
.rc7-dropdown > a .fa-chevron-down {
  font-size: 10px;
  margin-top: 1px;
  opacity: .7;
}
.rc7-actions .btn,
.nav-call-btn {
  font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif;
  font-size: 16px !important;
  letter-spacing: .75px;
  text-transform: uppercase;
  padding: 12px 18px !important;
}
.rc7-dropdown-menu {
  top: calc(100% - 6px) !important;
  min-width: 285px;
  max-width: min(340px, calc(100vw - 32px));
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 24px 70px rgba(8, 33, 63, .18);
  border: 1px solid rgba(226,232,240,.92);
  overflow: hidden;
}
.rc7-dropdown-menu a {
  font-family: 'Inter', Arial, sans-serif;
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
  font-weight: 700;
  border-radius: 12px;
}
.rc7-dropdown-title {
  font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .8px;
  font-size: 15px;
  font-weight: 600;
}
@media (max-width: 1180px) {
  .rc7-logo .logo-img, .logo-img { width: 190px; max-width: 190px; }
  .rc7-nav, .nav { font-size: 15.5px; letter-spacing: .45px; }
  .rc7-nav > a, .rc7-dropdown > a { padding: 0 6px; }
  .rc7-actions .btn, .nav-call-btn { padding: 11px 14px !important; font-size: 15px !important; }
}
@media (max-width: 1040px) {
  .rc7-nav { display: none; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .rc7-header-inner { min-height: 78px; }
  .rc7-logo .logo-img, .logo-img { width: 190px; max-width: 190px; }
}
@media (max-width: 480px) {
  .rc7-actions .nav-call-btn { display: none; }
  .rc7-logo .logo-img, .logo-img { width: 170px; max-width: 170px; }
}


/* =========================================================
   RC9-RC11 Launch Candidate polish
   ========================================================= */
:root{--brand-navy:#0f2e52;--brand-gold:#d9a441;--brand-orange:#f59e0b;--brand-cream:#fbf7ef;}
.notice-bar{background:#06182d;color:rgba(255,255,255,.92);font-size:12.5px;letter-spacing:.02em;}
.rc7-header-inner{min-height:92px;gap:18px;}
.rc7-logo .logo-img,.logo-img{width:255px;max-width:255px;}
.rc7-nav,.nav{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:18px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.75px;gap:6px;color:#132f4c;}
.rc7-nav>a,.rc7-dropdown>a{min-height:92px;display:inline-flex;align-items:center;padding:0 9px;white-space:nowrap;position:relative;}
.nav-home-icon{font-size:18px;}
.rc7-dropdown-menu{position:absolute;left:0;top:calc(100% - 10px)!important;width:320px;max-width:calc(100vw - 32px);background:#fff;border-radius:18px;padding:14px;box-shadow:0 28px 70px rgba(8,33,63,.18);border:1px solid rgba(226,232,240,.95);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s ease;z-index:999;overflow:hidden;}
.rc7-dropdown:hover .rc7-dropdown-menu,.rc7-dropdown:focus-within .rc7-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.rc7-dropdown-menu a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 12px;color:#334155;font-family:'Inter',Arial,sans-serif;font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;border-radius:12px;}
.rc7-dropdown-title{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;margin-bottom:5px;color:var(--brand-navy);font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:16px;letter-spacing:.9px;text-transform:uppercase;border-bottom:1px solid #eef2f7;}
.rc7-dropdown-title i{color:var(--brand-orange);}
.rc7-dropdown-menu a:hover{background:#f8fafc;color:var(--brand-orange);}
.rc7-dropdown-menu .rc7-dropdown-all{margin-top:8px;background:#fff7ed;color:#a8550a;}
.nav-call-btn{background:linear-gradient(135deg,var(--brand-orange),#e67e22);}
.page-hero-gold{min-height:360px;display:flex;align-items:center;}
.gold-card{background:linear-gradient(180deg,#fff,#fffaf2);border:1px solid rgba(217,164,65,.24);}
.hub-section{padding-top:70px;}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.topic-card{background:#fff;border:1px solid #e8edf3;border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(8,33,63,.07);transition:.22s ease;}
.topic-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(8,33,63,.12);border-color:rgba(245,158,11,.42);}
.topic-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#fff7ed;color:var(--brand-orange);font-size:22px;margin-bottom:16px;}
.topic-card h3{font-family:'Manrope',sans-serif;font-size:22px;line-height:1.15;color:var(--brand-navy);margin:0 0 10px;}
.topic-card p{color:#64748b;margin:0 0 16px;}
.topic-card strong{display:inline-flex;align-items:center;gap:8px;color:#bf6b11;font-size:14px;}
.premium-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;}
.premium-table th{background:#0f2e52;color:#fff;text-align:left;padding:14px;font-size:14px;}
.premium-table td{padding:14px;border-bottom:1px solid #edf2f7;color:#475569;vertical-align:top;}
.table-wrap{overflow-x:auto;border-radius:18px;box-shadow:0 10px 30px rgba(8,33,63,.06);}
.faq-block details{background:#fff;border:1px solid #e8edf3;border-radius:18px;padding:18px 20px;margin:12px 0;box-shadow:0 10px 25px rgba(8,33,63,.05);}
.faq-block summary{font-weight:800;color:var(--brand-navy);cursor:pointer;}
.faq-block details p{margin:12px 0 0;color:#64748b;}
.prose-card{padding:36px;border-radius:28px;box-shadow:var(--shadow-soft);}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0;}
.contact-method{background:#fff;border:1px solid #e8edf3;border-radius:22px;padding:24px;}
.contact-method i{font-size:26px;color:var(--brand-orange);}
.contact-method h3{margin:12px 0 8px;color:var(--brand-navy);}
.blog-feature{padding:38px;border-radius:30px;margin-bottom:28px;}
.featured-article{grid-column:span 2;}
.article-card img{height:230px;width:100%;object-fit:cover;}
.article-card.featured-article img{height:360px;}
@media(max-width:1240px){.rc7-logo .logo-img,.logo-img{width:230px;max-width:230px}.rc7-nav,.nav{font-size:16.5px;letter-spacing:.55px}.rc7-nav>a,.rc7-dropdown>a{padding:0 6px}.nav-call-btn{padding:10px 14px!important}}
@media(max-width:1060px){.rc7-nav{display:none}.menu-toggle{display:inline-grid;place-items:center}.rc7-header-inner{min-height:82px}.rc7-logo .logo-img,.logo-img{width:220px;max-width:220px}}
@media(max-width:760px){.topic-grid,.contact-grid,.blog-grid{grid-template-columns:1fr}.featured-article{grid-column:auto}.rc7-logo .logo-img,.logo-img{width:190px;max-width:190px}.page-hero-gold{min-height:310px}.prose-card{padding:24px}.article-card.featured-article img{height:250px}}


/* =========================================================
   RC12 - New AutoTrainTrips logo + production child pages
   ========================================================= */
.rc7-header .logo-img,
.logo-img {
  width: 315px;
  max-width: 315px;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(8,33,63,.14);
}
.rc7-header-inner { min-height: 98px; }
.rc7-nav { font-family: 'Oswald','Roboto Condensed','Arial Narrow',Arial,sans-serif; }
.child-page-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin-top:22px; }
.child-content-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px; box-shadow:0 1px 0 rgba(8,33,63,.04); }
.child-content-card i { color:var(--orange); font-size:24px; margin-bottom:12px; }
.child-content-card h3 { margin:0 0 8px; font-size:22px; color:var(--navy); }
.content-note { padding:20px 22px; border-radius:22px; background:linear-gradient(135deg,#fff7ed,#f8fafc); border:1px solid rgba(230,126,34,.15); color:#334155; }
.content-note strong { display:block; color:var(--navy); margin-bottom:6px; font-family:'Manrope',sans-serif; }
.page-next-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:14px; margin-top:18px; }
.page-next-grid a { border:1px solid var(--line); border-radius:18px; padding:15px 16px; font-weight:900; color:var(--navy); background:#fff; display:flex; justify-content:space-between; gap:10px; align-items:center; transition:.2s ease; }
.page-next-grid a:hover { transform:translateY(-2px); border-color:rgba(230,126,34,.38); color:var(--orange); box-shadow:var(--shadow-soft); }
@media(max-width:1280px){ .rc7-header .logo-img,.logo-img{ width:260px; max-width:260px;} }
@media(max-width:1100px){ .rc7-header .logo-img,.logo-img{ width:230px; max-width:230px;} }
@media(max-width:820px){ .child-page-grid,.page-next-grid{grid-template-columns:1fr;} .rc7-header .logo-img,.logo-img{ width:220px; max-width:220px;} }
@media(max-width:520px){ .rc7-header .logo-img,.logo-img{ width:190px; max-width:190px;} }
