.day-one { --route-accent:#a5713e; }
.day-one .site-header { background:var(--green); }
.day-one .site-header.is-scrolled { background:var(--paper); }
.route-hero { padding-top:84px; background:var(--green); color:var(--paper); }
.route-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; min-height:650px; }
.route-hero-copy { padding:76px max(34px,calc((100vw - 1180px)/2)) 64px; padding-right:44px; }
.route-hero h1 { font:400 clamp(48px,5.5vw,78px)/1.04 var(--serif); margin:20px 0 25px; letter-spacing:-2px; }
.route-hero .route-intro { max-width:450px; color:#e2e5dd; font-size:18px; }
.route-kicker { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#d5be91; }
.route-hero figure { position:relative; margin:0; min-height:500px; }
.route-hero figure img { width:100%; height:100%; object-fit:cover; position:absolute; }
.route-hero figcaption { position:absolute; bottom:14px; right:18px; font-size:10px; background:rgba(20,30,23,.7); padding:4px 8px; color:white; }
.route-actions { display:flex; flex-wrap:wrap; gap:15px; align-items:center; margin-top:28px; }
.route-primary { background:#e7d7b8; color:#243128; padding:15px 23px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; min-height:48px; }
.route-text-link { text-decoration:underline; text-underline-offset:5px; font-size:13px; }
.route-meta { display:flex; gap:12px 25px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.25); margin-top:35px; padding-top:20px; font-size:12px; }
.route-section { padding:86px 0; }
.route-section h2 { font:400 clamp(34px,4vw,52px)/1.12 var(--serif); margin:12px 0 22px; letter-spacing:-.7px; }
.route-section h3 { font:400 27px/1.2 var(--serif); margin:12px 0; }
.route-heading { max-width:700px; margin-bottom:38px; }
.route-heading p { color:#62675e; }
.route-promises { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; border-bottom:1px solid var(--line); padding-bottom:38px; }
.route-promises article { border-top:1px solid var(--line); padding-top:20px; }
.route-promises p { font-size:15px; color:#62675e; }
.route-num { color:var(--route-accent); font-size:12px; letter-spacing:2px; }
.route-split { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.route-split figure { margin:0; }
.route-split figure img { width:100%; aspect-ratio:1.25; object-fit:cover; }
.route-split figcaption, .route-caption { font-size:12px; color:#62675e; margin-top:12px; }
.route-split p { color:#62675e; }
.route-split ul { padding-left:20px; }
.route-split li { margin:12px 0; }
.route-timeline { background:#efede6; }
.route-stops { display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; }
.route-stops article { border-top:1px solid #ccc8ba; padding:27px 0; }
.route-stops time { font-size:12px; color:#77532f; font-weight:700; }
.route-stops p { font-size:15px; color:#62675e; }
.route-timing-note { border-top:1px solid #ccc8ba; padding-top:20px; max-width:850px; font-size:13px; color:#62675e; }
.route-map-section { background:var(--green); color:var(--paper); }
.route-map-section .route-heading p,.route-map-section .route-caption { color:#d6dbd2; }
.route-map-tools { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.route-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.route-tabs button { border:1px solid #849081; padding:11px 18px; background:transparent; color:var(--paper); cursor:pointer; font-size:13px; }
.route-tabs button[aria-pressed=true] { background:#e7d7b8; color:#243128; border-color:#e7d7b8; }
.route-map-panel { margin:0; }
.route-map-panel[hidden] { display:none; }
.route-map-panel img { width:100%; height:auto; background:white; }
.route-map-panel a { display:block; }
.route-map-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:25px; }
.route-map-steps p { font-size:14px; color:#d6dbd2; }
.route-map-steps strong { display:block; font:400 25px var(--serif); margin-bottom:8px; color:var(--paper); }
.route-inclusions { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; }
.route-checks { list-style:none; padding:0; }
.route-checks li { position:relative; padding:14px 0 14px 28px; border-bottom:1px solid var(--line); }
.route-checks li:before { content:'✓'; position:absolute; left:0; color:#667254; }
.route-detail { padding:27px; background:#efede6; margin-bottom:20px; }
.route-detail h3 { margin-top:0; }
.route-detail p { font-size:14px; }
.route-faq { border-top:1px solid var(--line); padding:19px 0; }
.route-faq summary { cursor:pointer; font-weight:600; padding-right:10px; }
.route-faq p { color:#62675e; font-size:15px; max-width:850px; }
.route-final { background:#eae5d9; text-align:center; }
.route-final .route-heading { margin:0 auto; }
.route-final .route-actions { justify-content:center; }
.route-final .route-primary { background:var(--green); color:white; }
.route-sticky { position:fixed; bottom:0; left:0; right:0; z-index:90; padding:12px 24px; background:rgba(250,249,245,.97); border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:18px; }
.route-sticky p { margin:0; font-size:13px; }
.route-sticky small { display:block; color:#62675e; }
.route-sticky .route-primary { background:var(--green); color:white; }
.day-one .site-footer { padding-bottom:110px; }
.day-one a:focus-visible,.day-one button:focus-visible { outline:3px solid #c18c46; outline-offset:5px; }
.route-back { font-size:12px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) {
 .route-hero-grid { grid-template-columns:1fr 1fr; min-height:580px; }
 .route-hero-copy { padding:52px 24px; }
 .route-split { gap:30px; }
 .route-inclusions { gap:35px; }
}
@media(max-width:650px) {
 .route-hero-grid,.route-split,.route-inclusions { grid-template-columns:1fr; }
 .route-hero-copy { padding:38px 24px; }
 .route-hero h1 { font-size:51px; }
 .route-hero figure { min-height:330px; }
 .route-section { padding:55px 0; }
 .route-promises,.route-stops,.route-map-steps { grid-template-columns:1fr; gap:15px; }
 .route-map-steps { gap:0; }
 .route-promises { padding-bottom:15px; }
 .route-stops article { padding:20px 0; }
 .route-sticky { padding:10px 16px; }
 .route-sticky .route-primary { padding:12px 16px; }
 .route-sticky p { font-size:12px; }
 .route-split figure img { aspect-ratio:1.3; }
}
@media(prefers-reduced-motion:reduce) { .day-one { scroll-behavior:auto; } }
