:root{--ink:#122a32;--muted:#526269;--paper:#faf8f3;--gold:#997748;--line:#e0e5df;--green:#174b40}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}p+p{margin-top:12px}h1{font-size:clamp(40px,5vw,64px);font-weight:600}h2{font-size:clamp(28px,3vw,36px);font-weight:600}h3{font-weight:600}a:focus-visible,button:focus-visible{outline:3px solid #bd873b;outline-offset:4px}.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.eyebrow{font-size:16px;font-weight:600;letter-spacing:.07em;line-height:1.5;color:var(--gold);margin-bottom:16px}.text-link{display:inline-flex;align-items:center;min-height:48px;font-size:16px;font-weight:600;color:var(--green)}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;background:#faf8f3f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:30}.header-inner{min-height:88px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:27px;letter-spacing:-1px;font-weight:700;white-space:nowrap;min-height:48px}.brand-domain{font-weight:400}.brand img{width:36px;height:41px}#site-nav{display:flex;align-items:center;gap:24px;margin-left:auto}#site-nav>a{display:flex;align-items:center;min-height:48px;font-size:16px;font-weight:600}#site-nav>a:hover,.text-link:hover{color:var(--gold)}.header-contact{margin-left:auto}.menu-toggle{display:none;border:1px solid var(--line);border-radius:12px;background:white;width:48px;height:48px;align-items:center;justify-content:center}.menu-toggle svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center;padding-block:48px}.hero-description{font-size:18px;line-height:1.7;max-width:520px;margin-top:22px;color:var(--muted)}.browse-link{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:54px;padding:10px 0;border-bottom:1px solid var(--gold);color:var(--green);font-weight:600;margin-top:16px}.browse-link span{font-size:24px}.hero-image{position:relative;max-width:385px;justify-self:end;width:100%;border-radius:22px;overflow:hidden;background:#e9ece7}.hero-image img{width:100%;aspect-ratio:1;object-fit:cover}.image-tag{position:absolute;bottom:16px;left:16px;background:#122a32ef;color:#e9d1ae;padding:6px 12px;font-size:16px;letter-spacing:.06em;border-radius:7px}
.routes-section{padding-block:30px 64px;scroll-margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{max-width:370px;color:var(--muted);font-size:17px}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.route-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;box-shadow:0 6px 20px #122a3204}.route-name{display:block;min-height:74px}.route-from{display:flex;justify-content:space-between;gap:16px;font-size:16px;letter-spacing:0;color:var(--muted);font-weight:400;line-height:1.5;margin-bottom:8px}.route-from span{color:var(--gold);font-size:22px;line-height:1}.route-to{display:block;font-size:28px;overflow-wrap:break-word;color:var(--ink)}.route-name:hover .route-to{color:var(--green)}.fare-block{padding:18px 0 20px}.fare-label{font-size:18px;color:var(--green);font-weight:600;margin-bottom:8px}.hotline-message{font-size:16px;line-height:1.65;color:var(--muted);margin-top:0}.hotline-message a{white-space:nowrap;font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:3px}.fare-amount{font-size:36px;font-weight:700;line-height:1.25;letter-spacing:-.04em;color:var(--green)}.fare-choice{font-weight:600;font-size:16px}.route-card>.contact-pair{margin-top:auto;padding-top:4px}.other-heading{margin-top:40px}
.vehicles-section{padding:56px 0;background:#efeee7;border-block:1px solid #e4e3da;scroll-margin-top:0}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.vehicle-grid figure{border-radius:18px;overflow:hidden;background:var(--paper)}.vehicle-grid img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:center 42%}.vehicle-grid figcaption{padding:14px 20px;font-size:16px;color:var(--muted)}
footer{background:var(--ink);color:white;scroll-margin-top:0;padding:56px 0 24px}.footer-contact{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:44px;border-bottom:1px solid #ffffff29}.footer-contact>div:first-child{max-width:580px}.footer-contact .eyebrow{color:#e2c59a;margin-bottom:12px}.footer-contact h2{font-size:34px}.footer-contact p:not(.eyebrow){color:#d4dfdc;margin-top:16px}.footer-phone{display:inline-flex;align-items:center;min-height:48px;color:#e2c59a;font-size:26px;font-weight:600;margin-top:12px}.footer-contact>.contact-pair{min-width:320px}.footer-bottom{display:flex;align-items:center;gap:24px;padding-top:24px}.footer-bottom p{font-size:16px;color:#d4dfdc;margin-left:auto}.footer-bottom .text-link{color:#e2c59a}.mobile-bar{display:none}
.route-detail{padding-block:32px 48px}.back-link{display:inline-flex;align-items:center;min-height:48px;font-size:16px;color:var(--green);margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}.route-detail h1{font-size:48px}.title-arrow{font-size:36px;color:var(--gold)}.detail-destination{display:block;margin-top:8px}.detail-intro{color:var(--muted);font-size:18px;margin-top:20px;max-width:540px}.detail-fare{background:white;border:1px solid var(--line);padding:8px 24px 24px;margin-top:24px;border-radius:18px}.detail-fare .fare-label{font-size:22px}.detail-fare .hotline-message{font-size:17px}.detail-image{margin-top:12px}.detail-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}.detail-image figcaption{font-size:16px;color:var(--muted);margin-top:10px}.booking-note{max-width:760px;margin-top:40px;border-left:3px solid #cfb184;padding-left:24px}.booking-note h2{font-size:26px}.booking-note p{margin-top:14px;color:var(--muted)}.related-section{padding-bottom:64px}
@media(max-width:1100px){.header-inner{gap:20px}#site-nav{gap:20px}.header-contact{display:none}.hero{gap:40px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{gap:36px}.footer-contact{flex-direction:column;align-items:flex-start}.footer-contact>.contact-pair{width:100%;max-width:440px}}
@media(max-width:780px){html{scroll-padding-top:86px}body{padding-bottom:calc(104px + env(safe-area-inset-bottom));font-size:17px}.shell{width:calc(100% - 32px)}.header-inner{min-height:72px;justify-content:space-between}.brand{font-size:25px}.brand img{width:30px;height:35px}.menu-toggle{display:flex}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:var(--paper);padding:12px 16px 20px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #122a320f}#site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}#site-nav>a{min-height:52px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:14px;align-items:start;padding-block:28px 24px}.hero-copy{display:contents}.hero .eyebrow{grid-column:1/-1;font-size:16px;margin:0 0 4px;letter-spacing:.02em}.hero h1{font-size:32px;line-height:1.15;letter-spacing:-.04em}.hero-image{width:96px;border-radius:16px;grid-column:2;grid-row:2}.image-tag{display:none}.hero-description{grid-column:1/-1;font-size:17px;line-height:1.65;margin:0}.browse-link{grid-column:1/-1;justify-self:start;margin-top:0;min-height:48px}.routes-section{padding-block:16px 40px}.section-heading{display:block;margin-bottom:20px}.section-heading h2{font-size:29px}.section-heading>p{margin-top:12px;font-size:17px}.section-heading .eyebrow{margin-bottom:8px;letter-spacing:.03em}.route-grid{grid-template-columns:1fr;gap:16px}.route-card{padding:22px 20px;border-radius:16px}.route-to{font-size:28px}.route-name{min-height:68px}.fare-block{padding:14px 0 18px}.other-heading{margin-top:32px}.vehicles-section{padding-block:36px}.vehicle-grid{gap:16px;grid-template-columns:1fr}.vehicle-grid img{aspect-ratio:1.3}.footer-contact{gap:24px;padding-bottom:28px}.footer-contact h2{font-size:29px}.footer-contact>.contact-pair{min-width:0;max-width:none}footer{padding:36px 0 24px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom p{margin-left:0}.mobile-bar{display:block;position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #dce5df;box-shadow:0 -6px 22px #122a320a;z-index:40}.route-detail{padding-block:16px 32px}.back-link{margin-bottom:16px}.detail-grid{grid-template-columns:1fr;gap:28px}.route-detail h1{font-size:38px}.route-detail .eyebrow{font-size:16px;letter-spacing:.02em}.detail-intro{font-size:17px}.detail-fare{padding:6px 20px 20px}.detail-fare .hotline-message{font-size:17px}.detail-image{margin:0;max-width:430px}.detail-image img{aspect-ratio:1.3}.booking-note{margin-top:28px;padding-left:18px}.booking-note h2{font-size:25px}.related-section{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:780px){.hero{padding-block:20px 16px;gap:12px}.routes-section>.section-heading>p,.routes-section>.section-heading .eyebrow{display:none}}
