/* Scoped trip planning styles; existing booking and navigation styles stay intact. */
.travel-teaser{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:42px 7vw;background:#e5ebe4;border-block:1px solid var(--line)}
.travel-teaser h2{font:600 clamp(1.5rem,2.2vw,2rem)/1.2 var(--display);letter-spacing:-.025em;margin:0 0 10px}
.travel-teaser p{max-width:650px;margin:0;color:#35544d}
.travel-teaser .eyebrow{margin-bottom:12px}
.travel-teaser .text-link{display:inline-flex;align-items:center;min-height:48px;flex-shrink:0}
.travel-page{--travel-muted:#46635d}
.travel-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--ink);color:var(--paper)}
.travel-hero-copy{padding:70px 5vw 65px 7vw;align-self:center}
.travel-hero h1{font:600 clamp(2.6rem,4.7vw,5.2rem)/1.05 var(--display);letter-spacing:-.045em;margin:0 0 25px}
.travel-hero h1 em{font-family:var(--serif);font-weight:400}
.travel-hero p:not(.eyebrow){font-size:1.1rem;max-width:570px;color:#dbe7e0}
.travel-hero-image{width:100%;height:100%;min-height:550px;object-fit:cover}
.travel-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.travel-hero .button{background:var(--paper);color:var(--ink)}
.travel-hero .text-link{color:var(--paper)}
.travel-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;font-size:14px;color:#dbe7e0}
.travel-section{padding:75px 7vw}
.travel-section h2{font-size:clamp(2.1rem,3.5vw,3.5rem);line-height:1.12;max-width:800px}
.travel-lead{max-width:760px;font-size:1.1rem;color:var(--travel-muted);margin:22px 0 30px}
.travel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.travel-card{padding:30px;background:var(--sand);border:1px solid var(--line);min-width:0}
.travel-card h3{font:600 1.5rem/1.2 var(--display);letter-spacing:-.025em;margin:12px 0}
.travel-card p{color:var(--travel-muted);margin:0 0 18px}
.travel-card .text-link{font-size:16px;display:inline-flex;align-items:center;min-height:44px}
.travel-step{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#43695b}
.travel-routes{background:var(--sand)}
.travel-routes .travel-card{background:var(--paper)}
.travel-route-time{display:block;font:600 1.9rem var(--display);margin:15px 0 10px}
.travel-note{font-size:14px;color:var(--travel-muted);margin:24px 0 0;max-width:900px}
.travel-map-link{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:24px 28px;background:#e5ebe4}
.travel-map-link p{margin:0;color:var(--travel-muted)}
.travel-stays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:35px}
.travel-stay{border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}
.travel-stay img{width:100%;aspect-ratio:3/2;object-fit:cover}
.travel-stay-copy{padding:30px;display:flex;flex-direction:column;flex:1}
.travel-stay h3{font:600 clamp(1.6rem,2.6vw,2.3rem)/1.15 var(--display);margin:0 0 18px;letter-spacing:-.03em}
.travel-stay p{color:var(--travel-muted)}
.travel-stay .travel-actions{margin-top:auto;padding-top:20px}
.travel-stay .button{font-size:15px}
.travel-practical{background:var(--sand)}
.travel-practical .faq-list{max-width:1000px;margin-top:30px}
.travel-sources{margin-top:30px;font-size:14px;color:var(--travel-muted)}
.travel-sources a{text-decoration:underline;text-underline-offset:3px}
.travel-final{background:var(--ink);color:var(--paper)}
.travel-final p{color:#dbe7e0}
.travel-final .button{background:var(--paper);color:var(--ink)}
.travel-final .text-link{color:var(--paper)}
@media(max-width:950px){.travel-hero{grid-template-columns:minmax(0,1fr)}.travel-hero-image{height:370px;min-height:0;object-position:center 60%}.travel-hero-copy{padding:50px 6vw}.travel-grid{grid-template-columns:minmax(0,1fr)}.travel-section{padding:55px 6vw}}
@media(max-width:700px){.travel-teaser{flex-direction:column;align-items:flex-start;gap:16px;padding:30px 6vw}.travel-stays{grid-template-columns:minmax(0,1fr)}.travel-map-link{align-items:flex-start;flex-direction:column}.travel-hero-image{height:280px}.travel-hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}.travel-card,.travel-stay-copy{padding:24px}.travel-actions{gap:18px}.travel-actions .button{white-space:normal;text-align:center}.travel-section h2{font-size:2.1rem}}
