/* Complete route landing pages generated for previously missing internal links. */
body.focus-page-shell { background: #FBF7F1 !important; }
.route-page { background: #FBF7F1; color: #0D1B2A; }
.route-page *, .route-page *::before, .route-page *::after { box-sizing: border-box; }
.route-page__hero { position: relative; display: grid; min-height: min(66vh, 680px); align-items: end; overflow: hidden; background: #3A4A5A; isolation: isolate; }
.route-page__hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-page__hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(13,27,42,.9), rgba(13,27,42,.55) 52%, rgba(13,27,42,.12)); content: ''; }
.route-page__hero-content, .route-page__section { width: min(1180px, calc(100% - 48px)); margin: auto; }
.route-page__hero-content { padding: 110px 0 76px; }
.route-page__crumb, .route-page__eyebrow { margin: 0 0 18px; color: #BDAF9A; font: 700 10px/1.3 'Merriweather', Georgia, serif; letter-spacing: .15em; text-transform: uppercase; }
.route-page__crumb a { color: #FBF7F1; text-decoration: none; }
.route-page h1 { max-width: 720px; margin: 0; color: #FBF7F1; font: 600 clamp(2.5rem, 4.5vw, 4.4rem)/.98 'Cormorant Upright', Georgia, serif !important; }
.route-page h1 em { color: #BDAF9A; font-weight: 500; }
.route-page__intro { max-width: 540px; margin: 20px 0 0; color: rgba(251,247,241,.9); font: 400 15px/1.8 'Merriweather', Georgia, serif; }
.route-page__section { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); gap: clamp(42px, 9vw, 130px); padding: clamp(4.5rem, 9vw, 8rem) 0; }
.route-page h2 { max-width: 650px; margin: 0 0 22px; color: #0D1B2A; font: 600 clamp(2rem, 3.1vw, 3.25rem)/1.03 'Cormorant Upright', Georgia, serif !important; }
.route-page__copy p:not(.route-page__eyebrow) { max-width: 680px; margin: 0 0 18px; color: #3A4A5A; font: 400 15px/1.86 'Merriweather', Georgia, serif; }
.route-page__principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 38px; border-top: 1px solid #BDAF9A; border-bottom: 1px solid #BDAF9A; }
.route-page__principles div { min-height: 118px; padding: 20px 18px 18px 0; border-right: 1px solid #BDAF9A; }
.route-page__principles div + div { padding-left: 18px; }
.route-page__principles div:last-child { border-right: 0; }
.route-page__principles span { display: block; margin-bottom: 12px; color: #6B3E26; font: 700 9px/1 'Merriweather', Georgia, serif; letter-spacing: .14em; }
.route-page__principles strong { color: #0D1B2A; font: 600 13px/1.35 'Merriweather', Georgia, serif; }
.route-page__plan { align-self: start; padding: 32px; border: 1px solid #BDAF9A; background: #3A4A5A; color: #FBF7F1; }
.route-page__plan p { margin: 0 0 12px; color: #BDAF9A; font: 700 9px/1.3 'Merriweather', Georgia, serif; letter-spacing: .15em; text-transform: uppercase; }
.route-page__plan h2 { margin: 0 0 17px; color: #FBF7F1; font-size: 2rem !important; }
.route-page__plan div { margin: 0 0 25px; color: rgba(251,247,241,.86); font: 400 13px/1.75 'Merriweather', Georgia, serif; }
.route-page__plan a { display: inline-flex; min-height: 46px; align-items: center; padding: 0 18px; border: 1px solid #FBF7F1; background: transparent; color: #FBF7F1 !important; font: 700 10px/1 'Merriweather', Georgia, serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: .2s; }
.route-page__plan a:hover, .route-page__plan a:focus-visible { border-color: #BDAF9A; background: #BDAF9A; color: #0D1B2A !important; }
.route-page__closing { padding: 0 0 clamp(4.5rem, 8vw, 7rem); }
.route-page__closing-inner { width: min(1180px, calc(100% - 48px)); margin: auto; padding: clamp(2rem, 5vw, 4rem); background: #EEE6DA; }
.route-page__closing-inner h2 { margin-bottom: 9px; font-size: clamp(1.9rem, 2.7vw, 2.75rem) !important; }
.route-page__closing-inner p { max-width: 700px; margin: 0; color: #3A4A5A; font: 400 14px/1.75 'Merriweather', Georgia, serif; }
.route-page--not-found .route-page__hero { min-height: 540px; }
@media (max-width: 760px) {
  .route-page__hero { min-height: 530px; }
  .route-page__hero-content, .route-page__section, .route-page__closing-inner { width: calc(100% - 34px); }
  .route-page__hero-content { padding: 100px 0 54px; }
  .route-page__section { grid-template-columns: 1fr; gap: 30px; padding: 4.2rem 0; }
  .route-page__principles { grid-template-columns: 1fr; }
  .route-page__principles div, .route-page__principles div + div { min-height: auto; padding: 17px 0; border-right: 0; border-bottom: 1px solid #BDAF9A; }
  .route-page__principles div:last-child { border-bottom: 0; }
  .route-page__plan { padding: 27px; }
  .route-page__closing-inner { padding: 28px; }
}

/* Legacy page rules colour every heading and paragraph dark; hero copy needs
   deliberate contrast over photography. */
body:not(.th-page) .route-page .route-page__hero h1 { color: #FBF7F1 !important; }
body:not(.th-page) .route-page .route-page__hero .route-page__crumb,
body:not(.th-page) .route-page .route-page__hero .route-page__eyebrow { color: #BDAF9A !important; }
body:not(.th-page) .route-page .route-page__hero .route-page__crumb a { color: #FBF7F1 !important; }
body:not(.th-page) .route-page .route-page__hero .route-page__intro { color: rgba(251,247,241,.9) !important; }
