:root{--red:#ae2d38;--red-dark:#89222d;--green:#245247;--green-dark:#173d34;--ink:#252b28;--muted:#626b65;--paper:#fcfbf8;--line:#dedfd8;--orange:var(--red);font-family:'Golos Text',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:100%;scroll-behavior:smooth;scroll-padding-top:24px}
.history-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:44px;margin-top:64px;padding:36px 0;border-block:1px solid var(--line)}.history-teaser>div{min-width:0}.history-teaser .eyebrow{color:var(--red);margin-bottom:12px}.history-teaser h2{margin-bottom:16px}.history-teaser p:not(.eyebrow){color:var(--muted)}.history-teaser .primary-cta{margin-top:24px}.history-teaser-photo{background:#f1eee7;border:1px solid var(--line);border-radius:6px;overflow:hidden}.history-teaser-photo a{display:block}.history-teaser-photo img{width:100%;height:auto;object-fit:contain}.history-teaser-photo figcaption{font-size:.875rem;color:var(--muted);padding:12px 16px}@media(max-width:800px){.history-teaser{grid-template-columns:minmax(0,1fr);margin-top:44px;gap:24px}}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.65}h2{font-size:clamp(1.8rem,3.3vw,2.8rem);letter-spacing:-.045em;font-weight:600;line-height:1.15}h3{font-weight:600;line-height:1.3}::selection{background:#f2c7c7;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:10;background:white;padding:12px}.skip-link:focus{top:16px}
/* Abstract geometric trim inspired by the rhythm of weaving; not a reproduced traditional symbol. */
.woven-rule{height:10px;background-color:var(--red);background-image:linear-gradient(45deg,transparent 43%,var(--paper) 44%,var(--paper) 56%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--paper) 44%,var(--paper) 56%,transparent 57%);background-size:20px 20px;background-position:0 center}
.site-header{min-height:92px;max-width:1360px;margin:auto;padding:20px 52px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:2.7rem;line-height:1;font-weight:900;letter-spacing:-.085em;color:var(--red);display:flex;align-items:center;white-space:nowrap}.brand>span{color:var(--ink)}.brand .brand-location{font-size:.875rem;font-weight:500;letter-spacing:0;margin-left:28px;color:var(--muted);line-height:1.3}nav{display:flex;gap:30px;flex-wrap:wrap}nav a{text-decoration:none;font-size:.9375rem;font-weight:500;padding:12px 0;min-height:44px}nav a:hover{color:var(--red)}.header-note{font-size:.875rem;color:var(--muted)}main{max-width:1360px;margin:auto;padding:36px 52px 0}.eyebrow{font-size:.875rem;letter-spacing:.08em;font-weight:500;color:var(--muted);line-height:1.5}.woven-mark{color:var(--red);font-size:1.75rem;vertical-align:middle;margin-right:10px;line-height:1}.accent{color:var(--red)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:44px;align-items:stretch}.intro-copy{padding:8px 0;min-width:0}.intro h1{font-size:clamp(2.4rem,4.4vw,4rem);font-weight:600;letter-spacing:-.045em;line-height:1.08;margin:20px 0 22px}.intro-greeting{display:block;font-size:.46em;font-weight:500;letter-spacing:-.025em;margin-bottom:12px}.intro-description{color:var(--muted);font-size:1.0625rem}.route-picker{margin-top:26px}.route-picker>p:first-child{font-size:.9375rem;font-weight:500;margin-bottom:12px}.duration-options{display:flex;gap:6px;flex-wrap:wrap}.duration-options button{border:1px solid var(--line);border-radius:5px;padding:12px 16px;min-height:48px;background:white;color:var(--ink);font-size:.875rem;font-weight:500;transition:background-color .18s,border-color .18s}.duration-options button:hover{background:#f9eeee;border-color:var(--red)}.duration-options button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red);box-shadow:inset 0 -3px 0 #6f1923}.picker-summary{font-size:.875rem;color:var(--muted);margin-top:12px;min-height:24px}.route-jump{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--green-dark);color:white;font-size:.9375rem;font-weight:500;margin-top:16px;text-decoration:none;padding:15px 20px;border-radius:5px;max-width:400px;min-height:52px;transition:background-color .18s}.route-jump:hover{background:var(--green)}.route-jump>span:last-child{font-size:1.3rem}
.hero-photo{position:relative;overflow:hidden;border-radius:6px;min-height:430px;background:#d9e5e2;isolation:isolate}.hero-photo:after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(9,25,29,.78));pointer-events:none;z-index:0}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-position:50% 55%}.hero-photo figcaption{position:absolute;bottom:28px;left:28px;right:28px;color:white;z-index:1;border-left:2px solid #fff;padding-left:16px}.photo-label{display:block;font-size:.875rem;margin-bottom:6px}.photo-location{font-size:1.25rem;font-weight:500}.photo-stamp{position:absolute;right:24px;top:24px;background:#fff8ed;color:var(--green-dark);padding:16px 20px;transform:rotate(4deg);z-index:1;font-size:.75rem;letter-spacing:.07em;line-height:1.5;border-bottom:4px solid var(--red)}.photo-stamp strong{display:block;font-size:1.25rem;font-weight:500;letter-spacing:-.025em;line-height:1.2;margin-top:10px}
.routes-section,.places-section,.trip-section{margin-top:70px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.section-heading .eyebrow{margin-bottom:12px;color:var(--red)}.section-note{font-size:.875rem;color:var(--muted);padding-bottom:4px;max-width:245px}.route-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid var(--line);margin-bottom:12px}.route-toolbar>p{font-size:.9375rem;font-weight:500}.route-result{display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}.route-summary{background:var(--green-dark);color:white;padding:32px;display:flex;flex-direction:column;align-items:start;gap:20px}.route-summary .eyebrow{color:#c7dcd2}.route-summary h3{font-size:2.25rem;letter-spacing:-.04em;line-height:1.13}.route-summary>p{color:#e0e9e4;font-size:1rem}.route-facts{display:flex;gap:8px;flex-wrap:wrap}.route-facts span{border:1px solid #76958a;border-radius:3px;padding:7px 10px;font-size:.875rem;line-height:1.35;color:#fff}.route-tip{margin-top:25px;padding-top:22px;width:100%;border-top:1px solid #648175}.route-tip-label{display:block;color:#f4dcb7;margin-bottom:9px;font-size:.9375rem;font-weight:500}.route-tip p{font-size:1rem;line-height:1.65;color:#e0e9e4}.route-summary .text-link{color:white;margin-top:2px;font-size:.9375rem;width:100%;padding:14px 0;border-bottom:1px solid #76958a}.route-summary a:focus-visible{outline-color:#f4dcb7}.itinerary{padding:9px 30px 0;min-width:0}.day-heading{font-size:.875rem;letter-spacing:.02em;color:var(--green);padding:18px 0 4px;font-weight:600;margin:0}.stop-list{list-style:none;margin:0;padding:0}.stop{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:16px;padding:22px 0;border-bottom:1px solid #ebeee7;align-items:start}.stop:last-child{border-bottom:0}.stop-number{font-size:.8125rem;color:var(--red);border:1px solid #e3babd;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#fcf4f4;font-variant-numeric:tabular-nums}.stop-copy h4{font-size:1.0625rem;font-weight:600;line-height:1.4;margin:1px 0 7px}.stop-copy p{font-size:1rem;line-height:1.6;color:var(--muted);max-width:520px}.stop-link{font-size:.875rem;color:var(--green);text-decoration:underline;text-decoration-color:#9eb3a9;display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin-top:4px}.stop-link:hover{color:var(--red);text-decoration-color:currentColor}.source-divider{color:#b0b8ac}.stop-time{font-size:.875rem;color:var(--muted);padding-top:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.route-footnote{font-size:.875rem;line-height:1.6;color:var(--muted);padding:18px 0 22px;border-top:1px solid var(--line)}.noscript-route{padding:24px;background:#fff;border:1px solid var(--line)}.noscript-route p{margin-top:10px}.route-result:empty{display:none}
.place-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.place-card{background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.place-image-link{display:block;aspect-ratio:1.5;position:relative;overflow:hidden;background:#dce4dd}.place-image-link>img{height:100%;width:100%;transition:transform .3s}.place-image-link:hover>img{transform:scale(1.025)}.image-tag{position:absolute;bottom:14px;left:14px;background:white;padding:7px 10px;font-size:.75rem;letter-spacing:.035em;font-weight:500;color:var(--ink);border-left:3px solid var(--red)}.place-body{padding:24px;display:flex;flex:1;flex-direction:column;align-items:start}.place-type{font-size:.8125rem;letter-spacing:.055em;color:var(--muted);margin-bottom:10px}.place-body h3{font-size:1.4rem;letter-spacing:-.035em;margin-bottom:12px}.place-body>p:not(.place-type){font-size:1rem;color:var(--muted);line-height:1.65;margin-bottom:18px}.text-link{font-size:.9375rem;text-decoration:none;font-weight:500;display:inline-flex;justify-content:space-between;gap:20px;align-items:center;min-height:44px;padding:9px 0;color:var(--green);margin-top:auto}.text-link:hover{text-decoration:underline}.text-link span{font-size:1.3em}.place-body .text-link{width:100%;border-top:1px solid var(--line);padding-top:16px}.food-card{background:var(--red);color:white;border-radius:6px;padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:start;min-height:440px}.food-card>.eyebrow{color:#fff;font-size:.8125rem}.food-mark{font-size:7rem;line-height:1;color:#efb0b5;align-self:end;margin-top:8px;height:85px}.food-card h3{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.045em;margin:8px 0 20px;line-height:1.08}.food-card>p:not(.eyebrow){font-size:1rem;line-height:1.65;max-width:300px}.food-bottom{width:100%;margin-top:auto;padding-top:28px}.food-bottom>span{font-size:.875rem;display:block;margin-bottom:12px}.food-bottom>a{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.9375rem;font-weight:500;text-decoration:none;border-top:1px solid #dc959c;padding-top:16px;min-height:44px}.food-bottom>a:hover{text-decoration:underline}.food-card a:focus-visible{outline-color:white}
.trip-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trip-card{padding:30px;display:flex;flex-direction:column;align-items:start;min-width:0}.trip-card:first-child{padding-left:0}.trip-card+.trip-card{border-left:1px solid var(--line)}.trip-number{color:var(--red);font-size:.875rem;margin-bottom:24px;font-weight:500}.trip-card h3{font-size:1.4rem;margin-bottom:14px;letter-spacing:-.035em}.trip-card>p{font-size:1rem;color:var(--muted);margin-bottom:20px;line-height:1.65}.trip-card .text-link{width:100%}.external-caption{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:6px}.booking-note{font-size:.875rem;color:var(--muted);margin-top:16px}
.practical-section{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;margin:70px 0}.practical-intro>.eyebrow{margin-bottom:12px;color:var(--red)}.practical-intro>p:last-child{color:var(--muted);font-size:1rem;margin-top:14px}.practical-list{border-top:1px solid var(--line)}.practical-list details{border-bottom:1px solid var(--line)}.practical-list summary{list-style:none;cursor:pointer;font-size:1rem;font-weight:500;display:flex;justify-content:space-between;gap:20px;padding:23px 0;align-items:center;line-height:1.4}.practical-list summary::-webkit-details-marker{display:none}.practical-list summary>span{color:var(--red);font-size:1.5rem;line-height:1;font-weight:400}.practical-list details[open] summary>span{transform:rotate(45deg)}.practical-list details>p{font-size:1rem;line-height:1.7;color:var(--muted);padding:0 28px 22px 0}.practical-list details a{color:var(--green)}
.site-footer{border-top:3px solid var(--red);max-width:1256px;margin:auto;padding:32px 0 26px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top p{font-size:1rem;color:var(--muted)}.footer-top .brand{font-size:2.4rem}.back-top{font-size:.875rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.footer-bottom{margin-top:26px;display:flex;justify-content:space-between;align-items:start;gap:25px;font-size:.8125rem;color:var(--muted)}.credits{text-align:right;max-width:620px}.credits summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:10px 0;min-height:44px}.credits-content{text-align:left;background:#edf1eb;border-radius:4px;padding:20px;margin-top:12px;line-height:1.7;font-size:.875rem}.credits-content p+p{margin-top:12px}.credits-content a{color:var(--green)}
@media(max-width:1100px){.site-header{padding:20px 32px}.header-note{display:none}main{padding:30px 32px 0}.intro{gap:28px}.intro h1{font-size:clamp(2rem,4.4vw,3.6rem)}.route-result{grid-template-columns:290px minmax(0,1fr)}.route-summary{padding:26px}.itinerary{padding-left:24px;padding-right:24px}.stop{grid-template-columns:30px minmax(0,1fr);gap:8px 14px}.stop-time{grid-column:2;grid-row:2;padding:0}.place-grid{gap:18px}.place-body{padding:21px}.food-card{padding:24px}.site-footer{margin-left:32px;margin-right:32px}}
@media(max-width:800px){.site-header{padding:18px 24px;min-height:80px}.brand{font-size:2.4rem}.brand .brand-location{margin-left:18px}nav{gap:20px}nav a{font-size:.875rem}main{padding:26px 24px 0}.intro{grid-template-columns:1fr}.intro h1{font-size:clamp(2.4rem,7.5vw,4rem);max-width:100%}.intro-copy{padding-top:0}.intro-greeting{font-size:.48em}.intro-description{font-size:1rem}.hero-photo{min-height:0;aspect-ratio:2.2}.photo-stamp{top:20px;right:20px;padding:12px 16px}.photo-stamp strong{font-size:1.125rem}.section-note{display:none}.routes-section,.places-section,.trip-section{margin-top:48px}.route-result{grid-template-columns:240px minmax(0,1fr)}.route-summary{padding:24px}.route-summary h3{font-size:1.8rem}.itinerary{padding-left:20px;padding-right:20px}.route-toolbar{align-items:start;flex-direction:column;gap:12px}.place-grid{grid-template-columns:1fr 1fr}.food-card{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;padding:28px}.food-card h3{margin:0;grid-column:1;grid-row:2/4;font-size:2.8rem}.food-card>p:not(.eyebrow){grid-column:2;grid-row:2;max-width:100%}.food-bottom{grid-column:2;padding-top:0;grid-row:3}.food-mark{display:none}.trip-card{padding:24px}.trip-card h3{font-size:1.2rem}.practical-section{gap:28px;grid-template-columns:1fr 1.5fr;margin:50px 0}.site-footer{margin-left:24px;margin-right:24px}}
@media(max-width:600px){.site-header{padding:12px 20px;gap:10px;flex-wrap:wrap}.brand .brand-location{display:none}nav{gap:16px}nav a{font-size:.875rem;display:inline-flex;align-items:center}.brand{font-size:2.2rem}main{padding:24px 20px 0}.intro{gap:24px}.intro h1{font-size:clamp(2rem,8.8vw,3.2rem);margin:18px 0;letter-spacing:-.035em}.intro-greeting{font-size:.55em}.desktop-break{display:none}.intro-description{max-width:360px}.route-picker{margin-top:22px}.duration-options{gap:6px;width:100%}.duration-options button{padding:12px 10px;font-size:.875rem;flex:1}.route-jump{max-width:none}.hero-photo{aspect-ratio:1.65;border-radius:4px}.hero-photo>img{object-position:center 57%}.hero-photo figcaption{bottom:18px;left:18px;right:18px;padding-left:12px}.photo-location{font-size:1rem}.photo-label{font-size:.8125rem}.photo-stamp{right:15px;top:15px;padding:9px 12px}.photo-stamp strong{font-size:1rem;margin-top:6px}.section-heading{margin-bottom:20px}.section-heading .eyebrow{margin-bottom:10px}.routes-section,.places-section,.trip-section{margin-top:40px}h2{font-size:1.9rem;letter-spacing:-.04em}.route-toolbar{padding-top:14px}.route-result{grid-template-columns:1fr}.route-summary{padding:26px;gap:15px}.route-summary h3{font-size:2rem;max-width:330px}.route-summary>p{max-width:430px}.route-tip{padding-top:18px;margin-top:5px}.itinerary{padding:4px 22px 0}.stop{padding:21px 0;gap:8px 14px}.place-grid{grid-template-columns:1fr;gap:22px}.place-image-link{aspect-ratio:1.65}.place-body{padding:24px}.place-body h3{font-size:1.4rem}.food-card{display:flex;grid-column:auto;padding:28px;gap:0}.food-card h3{margin:35px 0 20px;font-size:2.8rem}.food-card>p:not(.eyebrow){max-width:300px}.food-bottom{padding-top:28px}.trip-grid{grid-template-columns:1fr}.trip-card,.trip-card:first-child{padding:26px 0}.trip-card+.trip-card{border-left:0;border-top:1px solid var(--line)}.trip-number{margin-bottom:14px}.trip-card h3{font-size:1.4rem}.trip-card>p{margin-bottom:16px}.practical-section{grid-template-columns:1fr;gap:24px;margin:44px 0}.site-footer{margin-left:20px;margin-right:20px;padding:26px 0}.footer-top{gap:16px;flex-wrap:wrap}.footer-top p{font-size:.875rem;flex:1;max-width:150px}.footer-bottom{flex-direction:column;gap:10px;margin-top:24px}.credits{text-align:left;max-width:100%}.credits-content{padding:18px}.credits-content p{overflow-wrap:anywhere}}
@media(max-width:350px){.site-header{padding:12px 16px}nav{gap:12px}.brand{font-size:2rem}main{padding-left:16px;padding-right:16px}.site-footer{margin-left:16px;margin-right:16px}.photo-stamp{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{nav,.header-note,.route-picker,.route-toolbar,.hero-photo,.places-section,.trip-section,.practical-section,.site-footer,.stop-link,.route-summary>.text-link,.woven-rule{display:none}.site-header{padding:10px 0;min-height:60px}main{padding:20px 0}.intro{display:block}.intro h1{font-size:30px}.intro-description{display:none}.routes-section{margin-top:25px}.route-result{display:block;border:0}.route-summary{background:white;color:black;padding:0 0 20px}.route-summary .eyebrow,.route-summary>p{color:#333}.route-summary h3{font-size:24px}.route-tip{display:none}.route-facts span{color:#333}.stop{break-inside:avoid}.itinerary{padding:0}.stop-copy p,.route-footnote{color:#333}}
/* Booking discovery: paid experiences first, with a clear free walking option. */
[hidden]{display:none!important}.primary-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:14px 18px;background:var(--red);border:1px solid var(--red);border-radius:5px;color:white;text-decoration:none;font-size:.9375rem;font-weight:500;line-height:1.45;transition:background-color .18s}.primary-cta:hover{background:var(--red-dark);border-color:var(--red-dark)}.primary-cta>span[aria-hidden]{font-size:1.25rem;flex-shrink:0}.hero-commerce{margin-top:24px;max-width:440px}.route-picker{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.route-picker>p:first-child{font-size:.875rem;line-height:1.55}.free-label{display:inline-block;background:#e5efe9;color:var(--green-dark);padding:3px 8px;border-radius:3px;margin:0 8px 6px 0}.route-jump{background:none;color:var(--green);padding:4px 0;min-height:44px;max-width:400px;margin-top:8px}.route-jump:hover{background:none;text-decoration:underline}.hero-photo{min-height:490px}.offers-section{margin-top:62px;scroll-margin-top:20px}.offers-section .section-heading{margin-bottom:18px}.offers-section .section-heading .text-link{flex-shrink:0;margin-bottom:2px}.offers-intro{max-width:800px;color:var(--muted);font-size:1rem;margin-bottom:28px}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.offer-card{min-width:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:white;display:flex;flex-direction:column;scroll-margin-top:24px}.offer-image{height:200px;position:relative;overflow:hidden;background:#e3e8e2}.offer-image img{width:100%;height:100%}.offer-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}.offer-image figcaption{position:absolute;bottom:13px;left:18px;color:white;font-size:.75rem;z-index:1}.offer-category{font-size:.75rem;letter-spacing:.06em;line-height:1.4;font-weight:500}.offer-image .offer-category{position:absolute;top:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:7px 10px;background:white;color:var(--ink);border-left:3px solid var(--red);z-index:1}.offer-body{padding:25px;display:flex;flex-direction:column;flex:1}.offer-meta{font-size:.875rem;color:var(--muted);line-height:1.5;margin-bottom:12px}.offer-body h3{font-size:1.4rem;letter-spacing:-.035em;line-height:1.25;margin-bottom:14px}.offer-body>p:not(.offer-meta){font-size:1rem;line-height:1.65;color:var(--muted);margin-bottom:12px}.offer-details{margin:4px 0 24px;font-size:.875rem}.offer-details summary{min-height:44px;padding:10px 0;cursor:pointer;line-height:1.55;color:var(--green);text-decoration:underline;text-underline-offset:4px}.offer-details>p{font-size:.9375rem;color:var(--muted);line-height:1.6;padding:4px 0 8px}.offer-checkout{margin-top:auto;padding-top:19px;border-top:1px solid var(--line)}.offer-price{font-size:1rem;font-weight:500;line-height:1.45;margin-bottom:16px}.offer-price>span{display:block;font-size:.8125rem;line-height:1.5;font-weight:400;color:var(--muted);margin-top:5px}.offer-provider{font-size:.8125rem;line-height:1.5;text-align:center;color:var(--muted);margin-top:10px}.food-offer-heading{min-height:200px;padding:22px 25px;background:var(--red);color:white;border-bottom:6px solid var(--red-dark)}.food-offer-word{font-size:2rem;line-height:1.1;letter-spacing:-.04em;font-weight:500;margin-top:20px}.offer-card-food{background:#fff8f5;border-color:#d9b8ba}.offer-card-food .offer-checkout{border-color:#e5c9c7}.offer-card-food .primary-cta{background:var(--green-dark);border-color:var(--green-dark)}.offer-card-food .primary-cta:hover{background:var(--green)}.booking-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-bottom:1px solid var(--line);padding:24px 0 20px}.booking-flow p{font-size:.875rem;display:flex;align-items:baseline;gap:12px;line-height:1.6}.booking-flow p>span{font-size:.8125rem;font-weight:500;color:var(--red);font-variant-numeric:tabular-nums}.partner-note{font-size:.8125rem;line-height:1.6;margin-top:12px;color:var(--muted)}.route-suggestion{margin-top:20px;padding:28px 30px;border:1px solid #d8b9bb;background:#fff4f1;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:30px}.route-suggestion>div{max-width:690px}.route-suggestion .eyebrow{font-size:.8125rem;color:var(--red);margin-bottom:8px}.route-suggestion h3{font-size:1.25rem;letter-spacing:-.025em;margin-bottom:8px}.route-suggestion p:not(.eyebrow){font-size:.9375rem;color:var(--muted);line-height:1.65}.route-suggestion .primary-cta{flex-shrink:0}.food-bottom .food-experience-link{font-size:.875rem;line-height:1.5;margin-top:16px;font-weight:400;display:block;min-height:44px}
@media(max-width:1100px){.offer-grid{gap:16px}.offer-body{padding:21px}.food-offer-heading{padding:22px 21px}.offer-body h3{font-size:1.3rem}.offer-image{height:190px}.food-offer-heading{min-height:190px}.food-offer-word{font-size:1.8rem}.route-suggestion{padding:26px;gap:24px}}
@media(max-width:800px){.hero-photo{min-height:0}.hero-commerce{max-width:440px}.offers-section{margin-top:44px}.offers-section .section-heading{align-items:start;flex-direction:column;gap:12px}.offer-grid{grid-template-columns:1fr 1fr}.offer-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.offer-card:last-child .offer-image{height:100%;min-height:260px}.offer-body{padding:24px}.booking-flow{gap:14px}.route-suggestion{align-items:start;flex-direction:column;gap:18px}.route-suggestion .primary-cta{min-width:240px}.food-offer-heading{min-height:200px}.offer-image{height:200px}}
@media(max-width:600px){.hero-commerce{max-width:none;margin-top:20px}.route-picker{margin-top:22px;padding-top:18px}.hero-photo{aspect-ratio:1.8}.offers-section{margin-top:40px}.offers-intro{margin-bottom:24px}.offer-grid{grid-template-columns:1fr;gap:24px}.offer-card:last-child{display:flex;grid-column:auto}.offer-card:last-child .offer-image{height:200px;min-height:0}.offer-image{height:200px}.offer-body{padding:24px}.offer-body h3{font-size:1.45rem}.food-offer-heading{min-height:0;padding:24px}.food-offer-word{font-size:2.15rem;margin:18px 0 3px}.booking-flow{grid-template-columns:1fr;gap:14px;padding:24px 0}.booking-flow p{font-size:.9375rem}.route-suggestion{padding:24px;gap:20px}.route-suggestion .primary-cta{min-width:0;width:100%}.offers-section .section-heading .text-link{font-size:.875rem}.hero-commerce{font-size:.875rem}.route-picker>p:first-child{margin-bottom:10px}.route-jump{max-width:none;font-size:.875rem}.free-label{margin-bottom:4px}}
@media print{.offers-section,.hero-commerce,.route-suggestion{display:none}}
.header-partners{font-size:.875rem;color:var(--red);white-space:nowrap;padding:12px 0;min-height:44px;display:inline-flex;align-items:center}@media(max-width:1100px){.site-header{flex-wrap:wrap}}

/* Mobile QA: readable enlarged text, comfortable targets, compact navigation. */
body{overflow-wrap:anywhere}
.hero-photo{min-width:0;width:100%}
.brand,.skip-link{min-height:44px}
.site-header> a:not(.brand){display:inline-flex;align-items:center;min-height:44px}
.duration-options button{min-width:0}
.route-jump>span:last-child,.practical-list summary>span{flex-shrink:0}
@media(max-width:800px){
  .route-result{grid-template-columns:minmax(0,1fr)}
  .route-summary{gap:15px}
  .route-tip{margin-top:5px}
}
@media(max-width:600px){
  .site-header nav{order:2;flex-basis:100%;gap:0 16px}
  .site-header nav a{max-width:100%}
  .hero-photo{min-height:12rem}
  .hero-photo .photo-stamp{display:none}
  .offer-image,.offer-card:last-child .offer-image{height:max(200px,9rem)}
  .stop{grid-template-columns:30px minmax(0,1fr);gap:8px 12px}
  .stop-copy{grid-column:1/-1;grid-row:2}
  .stop-time{grid-column:2;grid-row:1;align-self:center}
  .credits-content a{display:inline-block;min-height:44px;padding:8px 0}
}

.route-page-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}.route-page-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--green);text-underline-offset:4px}
