.route-jump{margin:20px 0 12px;width:100%}.day-route{padding-top:36px!important;scroll-margin-top:28px}.day-route h2{font-size:clamp(25px,4.8vw,38px);line-height:1.4!important;letter-spacing:-.035em}.route-lead{font-size:17px;line-height:1.95}.route-ticket{border:1px solid var(--color);border-radius:3px;background:var(--light);margin:26px 0 18px;overflow:hidden}.route-ticket-head{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px dashed var(--color);font-size:11px;letter-spacing:.08em}.route-ticket-head b{white-space:nowrap}.route-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin:0;padding:22px 20px}.route-facts .wide{grid-column:1/-1}.route-facts dt{font-size:11px;letter-spacing:.08em;opacity:.7;margin-bottom:7px}.route-facts dd{font-size:14px;line-height:1.7;margin:0}.route-day{padding:0 20px 20px!important;margin:0!important;font-size:13px!important;line-height:1.8!important}.route-day strong{display:block;margin-bottom:5px}.route-reservation{border-left:3px solid var(--color);padding:12px 18px;background:#f6f4ef}.route-reservation strong{font-size:13px}.route-reservation p{font-size:13px!important;line-height:1.85!important;margin:7px 0 0!important}.route-index{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.route-index button{border:1px solid #ddd8cf;padding:9px 11px;background:transparent;border-radius:3px;font:inherit;font-size:11px;line-height:1.5;text-align:left;cursor:pointer}.route-index span{color:var(--color);font-weight:700;margin-right:6px}.route-copy{width:100%;margin:4px 0 8px}.route-estimates,.route-checked{font-size:11px!important;line-height:1.85!important;color:#69665f}.day-stops{padding:0!important;margin:30px 0 0!important;list-style:none}.day-stop{scroll-margin-top:25px;list-style:none;margin:0 0 36px!important;padding:0!important}.stop-heading{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px}.stop-number{font-family:Georgia,serif;font-size:38px;line-height:1.1;color:var(--color);opacity:.65;min-width:43px}.stop-time{font-size:12px!important;line-height:1.6!important;margin:0 0 6px!important;letter-spacing:.025em;color:var(--color);font-weight:700}.stop-time span{font-weight:400;color:#69665f}.day-stop h3{font-size:22px!important;line-height:1.4!important;margin:0!important}.stop-photo{margin:16px 0 18px!important;overflow:hidden;border-radius:3px}.stop-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.stop-photo figcaption{padding:8px 0;font-size:10px;color:#787269;letter-spacing:.04em}.stop-address{font-size:11px!important;margin:8px 0!important;line-height:1.7!important;color:#787269}.stop-description{font-size:15px!important;line-height:2!important}.stop-highlight{padding:16px 18px;background:var(--light);margin:18px 0}.stop-highlight>span{font-size:10px;letter-spacing:.12em;color:var(--color);font-weight:700}.stop-highlight p{font-size:14px!important;line-height:1.9!important;margin:6px 0 0!important}.stop-tip{font-size:12px!important;line-height:1.9!important;color:#69665f}.stop-tip strong{display:block;color:#45433e;margin-bottom:4px;font-size:11px}.stop-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.stop-links a{text-decoration:underline;text-underline-offset:4px;color:var(--color);padding:8px 0}.stop-transfer{display:flex;align-items:baseline;gap:12px;font-size:12px!important;line-height:1.8!important;border-bottom:1px dashed #d3cfc6;padding:16px 0 22px!important;color:#69665f}.stop-transfer span{color:var(--color);font-size:20px}.route-backups details,.ending-story{border-top:1px solid #ddd8cf;padding:17px 0}.route-backups details:last-child{border-bottom:1px solid #ddd8cf}.route-backups summary,.ending-story>summary{cursor:pointer;font-size:14px;font-weight:700;line-height:1.7}.route-backups summary span{float:right}.route-backups p{font-size:14px!important;line-height:1.9!important}.ending-story{margin-top:35px}.ending-story>summary{color:var(--color)}.route-text{width:100%;min-height:340px;resize:vertical;padding:14px;font:inherit;font-size:13px;line-height:1.8;border:1px solid #ddd;background:#faf9f5}.route-index button:focus-visible,.day-stop:focus-visible{outline:2px solid var(--color);outline-offset:4px}@media(max-width:380px){.route-facts{gap:18px 12px;padding:18px 14px}.route-ticket-head{padding:12px 14px}.route-facts dd{font-size:13px}.day-stop h3{font-size:20px!important}.stop-time span{display:block}.route-index button{max-width:100%}}

.stop-links button{font:inherit;font-size:12px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:3px;padding:7px 10px;cursor:pointer}.stop-links{flex-wrap:wrap}

/* A full day, drawn as a small travel journal. */
.route-match{margin:22px 0 28px;padding:0 0 0 16px;border-left:3px solid var(--color)}.route-match>span{font-size:11px;letter-spacing:.1em;color:var(--color);font-weight:700}.route-match p{font-size:14px!important;line-height:1.9!important;margin:7px 0 0!important}.route-line{padding:26px 22px;background:#f3f1e9;border-radius:8px;margin:24px 0 0}.route-line-label{font-size:12px;letter-spacing:.06em}.route-line ol{display:flex;flex-wrap:wrap;gap:16px 0;padding:22px 0 14px!important;margin:0!important;list-style:none!important}.route-line li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;list-style:none!important;margin:0!important;padding:0!important}.route-line li:not(:last-child):after{content:'→';margin:0 12px;color:#969182}.route-line b{border:1px solid var(--color);color:var(--color);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:12px Georgia,serif}.route-line>small{font-size:10px;color:#777164}.route-daylight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e3ded3;margin:14px 0 28px;border-radius:8px;overflow:hidden}.daylight-chapter{background:#fcf5e8;padding:18px 15px}.daylight-chapter:nth-child(2){background:#f0f0e8}.daylight-chapter:nth-child(3){background:#e9ebf1}.daylight-sun{display:block;font-size:27px;line-height:1.2;margin-bottom:12px;color:var(--color)}.daylight-chapter small{display:block;font-size:10px;letter-spacing:.05em;margin-bottom:8px;color:#66635c}.daylight-chapter strong{font-size:15px;line-height:1.5;display:block}.daylight-chapter p{font-size:11px!important;line-height:1.8!important;margin:8px 0 0!important;color:#66635c}.route-transit{display:flex;gap:15px;padding:18px 0 24px}.route-transit>span{font-size:26px;color:var(--color)}.route-transit strong{font-size:14px}.route-transit p{margin:7px 0 0!important;font-size:13px!important;line-height:1.9!important}.route-period{display:flex;align-items:center;gap:15px;margin:38px 0 24px!important;list-style:none;padding:0!important}.route-period>span{font-size:16px;font-weight:700;color:var(--color)}.route-period i{height:1px;flex:1;background:#d9d4ca}.route-period small{font-size:11px;color:#797269}.stop-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.stop-tags span{font-size:10px;color:var(--color);background:var(--light);padding:4px 8px;border-radius:30px;letter-spacing:.03em}.stop-photo{border-radius:8px!important}.stop-photo img{aspect-ratio:16/10}.stop-transfer{align-items:flex-start!important;background:#f5f3ed;border:0!important;border-radius:6px;padding:16px!important;margin-top:20px!important}.stop-transfer strong{font-size:11px;color:var(--color)}.stop-transfer p{font-size:12px!important;line-height:1.9!important;margin:7px 0!important}.stop-transfer a{font-size:11px;line-height:1.7;text-decoration:underline;text-underline-offset:3px;color:var(--color)}.route-index button{border-radius:5px;transition:background .15s}.route-index button:hover{background:var(--light)}.day-route button,.day-route a{touch-action:manipulation}.stop-links a,.stop-links button{min-height:40px;display:inline-flex;align-items:center}.route-ticket-head{letter-spacing:.02em}.day-route{overflow-wrap:anywhere}
@media(max-width:500px){.route-daylight{grid-template-columns:1fr}.daylight-chapter{display:grid;grid-template-columns:30px 1fr;column-gap:12px;padding:14px 16px}.daylight-sun{grid-row:1/4;margin:0}.daylight-chapter small,.daylight-chapter strong,.daylight-chapter p{grid-column:2}.daylight-chapter small{margin-bottom:4px}.daylight-chapter p{margin-top:5px!important}.route-line{padding:20px 16px}.route-line li:not(:last-child):after{margin:0 8px}.route-line li{font-size:12px}.route-ticket-head{font-size:10px}.stop-links{gap:8px 16px}.route-index button{padding:10px;min-height:44px}.stop-number{min-width:35px;font-size:32px}.stop-heading{gap:10px}}
@media print{.route-copy,.stop-links button,.route-index{display:none}.route-backups details{display:block}.route-backups details>p{display:block!important}.day-stop{break-inside:avoid}.stop-photo img{max-height:220px;object-fit:cover}.route-daylight{grid-template-columns:repeat(3,1fr)}}
.route-postcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 0}.route-postcards button{padding:0;border:0;background:#f2efe7;border-radius:5px;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit}.route-postcards img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.route-postcards span{display:block;padding:10px;font-size:11px;line-height:1.6}.route-postcards small{display:block;font:12px Georgia,serif;color:var(--color);margin-bottom:5px}.route-postcards button:focus-visible{outline:2px solid var(--color);outline-offset:4px}.postcards-caption{font-size:10px!important;color:#777164;line-height:1.7!important;margin:9px 0 20px!important}@media(max-width:500px){.route-postcards{gap:6px}.route-postcards img{aspect-ratio:1/1}.route-postcards span{padding:8px;font-size:10px}.route-postcards small{font-size:11px}}

/* Keep itinerary surfaces and ink paired with the active ending palette. */
[data-ending-theme] .day-route :is(.route-line,.route-reservation,.stop-transfer){background:var(--ending-raised);color:var(--ending-text)}
[data-ending-theme] .day-route .route-daylight{background:var(--ending-border)}
[data-ending-theme] .day-route .daylight-chapter{background:var(--ending-surface);color:var(--ending-text)}
[data-ending-theme] .day-route .daylight-chapter:nth-child(2){background:var(--ending-raised)}
[data-ending-theme] .day-route .route-postcards button{background:var(--ending-surface);color:var(--ending-title)}
[data-ending-theme] .day-route :is(.route-line-label,.route-line li,.daylight-chapter strong){color:var(--ending-title)}
[data-ending-theme] .result .day-route :is(.daylight-chapter p,.stop-transfer p){color:var(--ending-text)}
[data-ending-theme] .day-route :is(.route-line>small,.daylight-chapter small,.postcards-caption,.stop-photo figcaption,.route-period small,.stop-time span,.route-estimates,.route-checked,.stop-address,.stop-tip){color:var(--ending-muted)}
[data-ending-theme] .day-route :is(.route-line b,.daylight-sun,.route-postcards small,.stop-transfer strong,.stop-transfer a){color:var(--ending-accent)}
[data-ending-theme] .day-route .route-line li:not(:last-child):after{color:var(--ending-muted)}
[data-ending-theme] .day-route .route-facts dt{color:var(--ending-muted);opacity:1}
[data-ending-theme] .day-route .route-index button{color:var(--ending-text);border-color:var(--ending-border)}
[data-ending-theme] .day-route .route-index button:hover{background:var(--ending-raised)}
[data-ending-theme] .day-route .route-period i{background:var(--ending-border)}
[data-ending-theme] .day-route :is(.route-backups details,.route-backups details:last-child){border-color:var(--ending-border)}
[data-ending-theme] .day-route .stop-tip strong{color:var(--ending-title)}
[data-ending-theme] .route-text{background:var(--ending-raised);color:var(--ending-text);border-color:var(--ending-border)}
