.route-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.route-summary span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--ink-soft)}.route-summary strong{font-family:Georgia,serif;font-size:21px;font-weight:400}
.route-intro{display:flex;justify-content:space-between;align-items:end;gap:40px}.route-intro p{font-size:18px;max-width:700px}
.route-intro-links{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.route-intro .text-link{display:inline-block}
.route-workspace{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.route-workspace .research-map{position:sticky;top:20px;height:540px}.route-selection{font-weight:700}
.route-timeline{display:flex;flex-direction:column;gap:12px}.route-stop{display:block;padding:20px;background:var(--white);border:1px solid var(--line);scroll-margin-top:30px}.route-stop-focused{border-color:var(--copper);box-shadow:0 0 0 2px #bc784b33}.route-stop-omitted{border-style:dashed}
.route-stop:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.route-show-map{font:inherit;font-weight:700;color:#90502a;background:transparent;border:0;cursor:pointer;min-height:44px;padding:10px 0}.route-show-map[aria-pressed=true]{text-decoration:underline;text-underline-offset:3px}.route-show-map:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.variant-controls{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.variant-controls button{font:inherit;font-weight:700;cursor:pointer;background:var(--white);color:var(--ink);border:1px solid var(--line);padding:10px 16px;min-height:44px}.variant-controls button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}
.route-stop-heading{display:flex;align-items:start;gap:18px}.route-stop-heading h3{font-family:Georgia,serif;margin:0}.route-stop-heading .eyebrow{margin:0}.route-number{background:var(--deep);color:white;min-width:38px;height:38px;display:grid;place-items:center;font-size:14px}
.route-stop p{margin:12px 0}.route-stop .route-duration{font-size:14px;color:var(--ink-soft)}.route-stop-actions{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center}.route-stop-actions a,.route-leg a{font-weight:700;color:#90502a}
.route-leg{display:flex;flex-wrap:wrap;gap:5px 12px;padding:0 0 17px 50px;margin:0 0 18px;border-bottom:1px solid var(--line);font-size:14px}.route-leg span:nth-child(2){color:var(--ink-soft)}
.optional-control{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:700}.optional-control input{width:24px;height:24px;flex:none;accent-color:var(--deep)}.optional-control input:focus-visible{outline:3px solid var(--deep);outline-offset:3px}.pin-omitted{background:#697b7c;opacity:.7}
.trip-setup{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.trip-setup label{display:flex;flex-direction:column;font-weight:700;gap:6px}.trip-setup label span{font-weight:400;color:var(--ink-soft)}.trip-setup input,.trip-setup select{font:inherit;padding:12px;border:1px solid #819291;min-height:50px;background:white}.trip-setup button{cursor:pointer}
.draft-note{color:var(--ink-soft);font-size:14px;margin:20px 0}.trip-draft{margin-top:30px;background:var(--deep);color:var(--paper);padding:35px;max-width:720px}.trip-draft h3{font-family:Georgia,serif;font-size:32px}.trip-draft .draft-note{color:#c8d5d1}.trip-draft ol{columns:2}
@media(max-width:900px){.route-workspace{grid-template-columns:minmax(0,1fr)}.route-workspace>*{min-width:0}.route-summary{grid-template-columns:repeat(2,1fr)}.route-workspace .research-map{position:relative;height:420px}}
@media(max-width:600px){.route-summary{grid-template-columns:1fr 1fr}.route-summary strong{font-size:17px}.route-intro{display:block}.route-workspace .research-map{height:340px}.trip-draft ol{columns:1}}
