:root { --forest: #062d1c; --green: #0b7f42; --green-2: #096b39; --gold: #fbb116; --fog: #f6faf5; --sage: #dff1e4; --copy: #294238; --muted-copy: #6a7f73; --public-line: #d7e5da; }
.public-brand { padding: 7px 10px; border-radius: 8px; background: #fff; }.public-brand-logo { display: block; width: 124px; height: auto; }
@media (max-width: 560px) { .public-header-inner { gap: 10px; }.public-header-actions .public-book-button { display: none; } }
.public-page-shell { min-height: 100vh; margin: 0; color: var(--copy); background: var(--fog); font-family: "DM Sans", sans-serif; }.reveal-item { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }.reveal-item.is-visible { opacity: 1; transform: translateY(0); }
.public-container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }.public-header { position: sticky; top: 0; z-index: 20; color: #fff; background: linear-gradient(110deg, var(--forest), var(--green)); box-shadow: 0 5px 20px rgba(6, 45, 28, .18); }.public-header-inner { display: flex; min-height: 76px; align-items: center; gap: 34px; }.public-brand { display: inline-flex; align-items: center; gap: 9px; color: inherit; font: 700 21px/1 "Space Grotesk", sans-serif; letter-spacing: -.07em; text-decoration: none; }.public-brand > span:last-child > span { color: var(--gold); }.public-brand-mark { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; transform: skew(-14deg); }.public-brand-mark i { display: block; width: 5px; border-radius: 5px; background: var(--gold); }.public-brand-mark i:nth-child(1) { height: 12px; }.public-brand-mark i:nth-child(2) { height: 18px; background: #82d29c; }.public-brand-mark i:nth-child(3) { height: 22px; }.public-nav { display: flex; align-items: center; gap: 4px; margin-right: auto; }.public-nav a { padding: 8px 11px; border-radius: 6px; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 600; text-decoration: none; transition: .2s; }.public-nav a:hover { color: #fff; background: rgba(255,255,255,.13); }.public-header-actions { display: flex; align-items: center; gap: 14px; }.public-language { color: rgba(255,255,255,.8); font-size: 11px; font-weight: 800; text-decoration: none; }.public-book-button, .gold-button { display: inline-flex; align-items: center; gap: 8px; padding: 11px 17px; border-radius: 7px; color: #5a3e00; background: linear-gradient(135deg, #ffdc47, var(--gold)); box-shadow: 0 5px 14px rgba(251,177,22,.25); font-size: 12px; font-weight: 800; text-decoration: none; transition: .2s; }.public-book-button:hover, .gold-button:hover { filter: brightness(1.05); transform: translateY(-2px); }.public-menu-button { display: none; border: 0; color: #fff; background: transparent; font-size: 22px; }
.public-hero { position: relative; min-height: 405px; overflow: hidden; color: #fff; background: linear-gradient(125deg, var(--forest), var(--green)); }.public-hero:before { position: absolute; right: 9%; bottom: -190px; width: 450px; height: 450px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.035), 0 0 0 70px rgba(255,255,255,.025); content: ""; }.public-hero:after { position: absolute; right: 17%; bottom: 80px; width: 120px; height: 120px; border-radius: 50%; background: rgba(251,177,22,.2); content: ""; }.public-hero-content { position: relative; z-index: 1; max-width: 760px; padding-top: 100px; }.public-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.public-eyebrow:before { width: 25px; height: 2px; background: currentColor; content: ""; }.public-eyebrow.dark { color: var(--green); }.public-hero h1 { max-width: 750px; margin: 18px 0 17px; color: #fff; font: 700 clamp(43px, 6vw, 75px)/.96 "Space Grotesk", sans-serif; letter-spacing: -.08em; }.public-hero p { max-width: 560px; margin: 0; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.65; }.public-hero-routes { background: radial-gradient(circle at 73% 27%, rgba(251,177,22,.25), transparent 22%), linear-gradient(125deg, var(--forest), var(--green)); }.public-hero-schedule { background: radial-gradient(circle at 83% 21%, rgba(115,208,154,.3), transparent 22%), linear-gradient(125deg, #073b25, #0a8650); }.public-hero-about { background: radial-gradient(circle at 72% 48%, rgba(251,177,22,.25), transparent 22%), linear-gradient(125deg, #092b1c, #157949); }.public-hero-guide { background: radial-gradient(circle at 79% 24%, rgba(251,177,22,.25), transparent 18%), linear-gradient(125deg, #0b3520, #05713d); }.public-hero-offers { background: radial-gradient(circle at 76% 30%, rgba(251,177,22,.38), transparent 21%), linear-gradient(125deg, #053522, #0a7740); }.public-hero-contact { background: radial-gradient(circle at 77% 20%, rgba(132,211,157,.25), transparent 20%), linear-gradient(125deg, #062d1c, #0b7f42); }
.public-content { padding: 77px 0 91px; }.public-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }.public-section-heading h2, .public-band h2, .about-intro h2, .detail-columns h2, .faq-section h2 { max-width: 580px; margin: 12px 0 0; color: var(--forest); font: 600 38px/1.04 "Space Grotesk", sans-serif; letter-spacing: -.065em; }.public-text-link { color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; }.route-catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.catalog-card { overflow: hidden; border: 1px solid var(--public-line); border-radius: 11px; background: #fff; box-shadow: 0 5px 19px rgba(11,127,66,.05); text-decoration: none; transition: .25s; }.catalog-card:hover { box-shadow: 0 14px 30px rgba(11,127,66,.13); transform: translateY(-6px); }.catalog-art { position: relative; display: flex; height: 155px; align-items: end; padding: 15px; overflow: hidden; background: linear-gradient(135deg, #e58c69, #116f5d); }.catalog-art:before { position: absolute; right: -30px; bottom: -90px; width: 260px; height: 190px; border-radius: 50%; background: rgba(255,235,173,.85); content: ""; transform: rotate(-12deg); }.catalog-art:after { position: absolute; right: 23%; bottom: 24px; width: 75px; height: 35px; border-radius: 40px 40px 10px 10px; background: var(--gold); box-shadow: 0 22px 0 -6px var(--forest); content: ""; }.catalog-art b { position: relative; z-index: 1; padding: 5px 8px; border-radius: 99px; color: #fff; background: rgba(6,45,28,.55); font-size: 10px; }.route-coast { background: linear-gradient(130deg, #9cd1c1, #29827b); }.route-bay { background: linear-gradient(140deg, #9bd8d8, #2a6673); }.route-lantern { background: linear-gradient(135deg, #163b47, #d1785c); }.route-mountain { background: linear-gradient(135deg, #5a9c90, #e1c881); }.route-dunes { background: linear-gradient(135deg, #e6b778, #bb644f); }.catalog-card > div { padding: 19px; }.catalog-tag { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.catalog-card h3 { margin: 8px 0 8px; color: var(--forest); font: 600 18px/1.15 "Space Grotesk", sans-serif; }.catalog-card p { min-height: 55px; margin: 0 0 15px; color: var(--muted-copy); font-size: 12px; line-height: 1.6; }.catalog-card footer { display: flex; align-items: center; justify-content: space-between; padding-top: 13px; border-top: 1px solid var(--public-line); color: var(--muted-copy); font-size: 11px; }.catalog-card footer strong { color: var(--green); }.catalog-card footer i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--green); background: var(--sage); font-style: normal; }.public-band { padding: 64px 0; background: #e8f7ed; }.public-band-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }.public-band h2 { max-width: 470px; font-size: 32px; }.public-band p { max-width: 390px; margin: 28px 0 0; color: var(--muted-copy); font-size: 15px; line-height: 1.7; }
.public-back-link { display: inline-block; margin-bottom: 49px; color: rgba(255,255,255,.75); font-size: 12px; font-weight: 700; text-decoration: none; }.route-detail-hero { position: relative; overflow: hidden; min-height: 450px; padding: 45px 0; color: #fff; background: linear-gradient(125deg, #062d1c, #087841); }.route-detail-hero:after { position: absolute; right: 10%; bottom: -125px; width: 390px; height: 300px; border-radius: 50% 50% 0 0; background: rgba(251,177,22,.18); content: ""; transform: rotate(-13deg); }.route-detail-hero .public-container { position: relative; z-index: 1; }.route-detail-hero.route-coast { background: linear-gradient(125deg, #073522, #237b78); }.route-detail-hero.route-bay { background: linear-gradient(125deg, #083a44, #2d8091); }.route-detail-hero.route-lantern { background: linear-gradient(125deg, #173b47, #b76657); }.route-detail-hero.route-mountain { background: linear-gradient(125deg, #0d5547, #ae9b55); }.route-detail-hero.route-dunes { background: linear-gradient(125deg, #6c4930, #c46a4b); }.route-detail-content { max-width: 650px; }.route-detail-content h1 { margin: 15px 0; color: #fff; font: 600 clamp(39px, 5.5vw, 68px)/.98 "Space Grotesk", sans-serif; letter-spacing: -.08em; }.route-detail-content p { max-width: 500px; color: rgba(255,255,255,.78); line-height: 1.7; }.gold-button { border: 0; cursor: pointer; }.route-fact-card { position: absolute; right: 0; bottom: 48px; display: grid; width: 230px; gap: 10px; padding: 19px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); }.route-fact-card > span, .route-fact-card div span { color: rgba(255,255,255,.65); font-size: 10px; }.route-fact-card > strong { font: 600 28px "Space Grotesk", sans-serif; }.route-fact-card div { display: flex; justify-content: space-between; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.15); font-size: 11px; }.route-fact-card div b { color: var(--gold); }.route-detail-main { padding-top: 80px; }.detail-columns { display: grid; grid-template-columns: 1fr 340px; gap: 100px; align-items: start; }.detail-columns h2 { font-size: 45px; }.large-copy { max-width: 580px; margin: 24px 0; color: var(--muted-copy); font-size: 16px; line-height: 1.75; }.detail-perks { display: flex; flex-wrap: wrap; gap: 9px; }.detail-perks span { padding: 8px 11px; border-radius: 99px; color: var(--green); background: var(--sage); font-size: 11px; font-weight: 700; }.route-side-card { padding: 25px; border: 1px solid var(--public-line); border-radius: 10px; background: #fff; box-shadow: 0 9px 25px rgba(11,127,66,.07); }.mini-departure { display: grid; grid-template-columns: 64px 1fr; gap: 4px; padding: 17px 0; border-bottom: 1px solid var(--public-line); }.mini-departure strong { grid-row: span 2; color: var(--green); font: 600 22px "Space Grotesk", sans-serif; }.mini-departure span, .mini-departure b { font-size: 11px; }.mini-departure b { color: var(--muted-copy); font-weight: 500; }.green-button { display: inline-flex; width: 100%; margin-top: 18px; align-items: center; justify-content: center; gap: 7px; padding: 12px 17px; border: 0; border-radius: 7px; color: #fff; background: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; transition: .2s; }.green-button:hover { background: var(--green-2); transform: translateY(-2px); }.public-cta-strip { padding: 45px 0; color: #fff; background: var(--forest); }.public-cta-strip .public-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.public-cta-strip h2 { margin: 0; color: #fff; font: 600 31px "Space Grotesk", sans-serif; }
.schedule-toolbar { display: flex; align-items: end; justify-content: space-between; margin-bottom: 26px; }.schedule-toolbar h2 { margin: 10px 0 0; color: var(--forest); font: 600 38px "Space Grotesk", sans-serif; letter-spacing: -.06em; }.schedule-filters { display: flex; gap: 6px; }.schedule-filters button { padding: 9px 13px; border: 1px solid var(--public-line); border-radius: 99px; color: var(--muted-copy); background: #fff; font-size: 11px; cursor: pointer; }.schedule-filters button.active, .schedule-filters button:hover { color: #fff; border-color: var(--green); background: var(--green); }.schedule-row { display: grid; grid-template-columns: 72px 1.45fr 1.2fr 1fr 120px 80px; gap: 12px; align-items: center; min-height: 65px; padding: 0 18px; border-bottom: 1px solid var(--public-line); background: #fff; font-size: 12px; }.schedule-row:first-child { border-radius: 8px 8px 0 0; }.schedule-row:last-child { border-radius: 0 0 8px 8px; }.schedule-head { min-height: 37px; color: var(--muted-copy); background: #e8f4eb; font-size: 10px; font-weight: 800; text-transform: uppercase; }.schedule-row strong { color: var(--green); font: 600 18px "Space Grotesk", sans-serif; }.schedule-row i { margin: 0 4px; color: var(--gold); font-style: normal; }.schedule-row span b { font-weight: 700; }.schedule-type { color: var(--muted-copy); }.schedule-row a { color: var(--green); font-weight: 800; text-decoration: none; }.schedule-note { display: flex; gap: 9px; margin-top: 20px; padding: 13px; border-radius: 6px; color: var(--green); background: var(--sage); font-size: 11px; }
.about-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: end; }.about-intro h2 { font-size: 45px; }.about-intro > p { margin: 0; color: var(--muted-copy); font-size: 16px; line-height: 1.75; }.stats-strip { display: grid; grid-template-columns: repeat(3,1fr); margin: 70px 0; border-top: 1px solid var(--public-line); border-bottom: 1px solid var(--public-line); }.stats-strip div { display: grid; gap: 8px; padding: 27px 18px; border-right: 1px solid var(--public-line); text-align: center; }.stats-strip div:last-child { border: 0; }.stats-strip strong { color: var(--green); font: 600 37px "Space Grotesk", sans-serif; }.stats-strip span { color: var(--muted-copy); font-size: 11px; }.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }.values-grid article { min-height: 190px; padding: 24px; border: 1px solid var(--public-line); border-radius: 9px; background: #fff; }.values-grid article > span { color: var(--gold); font: 700 12px "Space Grotesk", sans-serif; }.values-grid h3 { margin: 27px 0 8px; color: var(--forest); font: 600 20px "Space Grotesk", sans-serif; }.values-grid p { margin: 0; color: var(--muted-copy); font-size: 12px; line-height: 1.6; }.story-timeline { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-top: 76px; }.story-timeline div { position: relative; padding-top: 18px; border-top: 2px solid var(--green); }.story-timeline span { color: var(--gold); font: 700 12px "Space Grotesk", sans-serif; }.story-timeline strong { display: block; margin: 12px 0 6px; color: var(--forest); font-size: 15px; }.story-timeline p { margin: 0; color: var(--muted-copy); font-size: 12px; }
.guide-steps { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.guide-steps article { display: flex; gap: 20px; padding: 25px; border: 1px solid var(--public-line); border-radius: 9px; background: #fff; }.guide-steps article > span { color: var(--gold); font: 700 22px "Space Grotesk", sans-serif; }.guide-steps h2 { margin: 0 0 7px; color: var(--forest); font: 600 20px "Space Grotesk", sans-serif; }.guide-steps p { margin: 0; color: var(--muted-copy); font-size: 12px; line-height: 1.6; }.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; margin-top: 88px; }.faq-section h2 { font-size: 42px; }.faq-list details { padding: 17px 0; border-bottom: 1px solid var(--public-line); }.faq-list summary { display: flex; justify-content: space-between; gap: 20px; color: var(--forest); font-size: 14px; font-weight: 700; cursor: pointer; }.faq-list summary span { color: var(--green); font-size: 20px; }.faq-list p { max-width: 600px; margin: 13px 0 0; color: var(--muted-copy); font-size: 13px; line-height: 1.7; }
.offer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }.offer-card { min-height: 330px; display: flex; flex-direction: column; padding: 26px; border-radius: 10px; color: #fff; background: linear-gradient(150deg, var(--forest), var(--green)); box-shadow: 0 9px 24px rgba(11,127,66,.12); }.offer-card:nth-child(2) { color: var(--forest); background: linear-gradient(140deg, #fff1bf, var(--gold)); }.offer-card:nth-child(3) { background: linear-gradient(140deg, #0e5a4f, #76bd85); }.offer-card > span { align-self: start; padding: 6px 9px; border-radius: 99px; color: var(--forest); background: var(--gold); font-size: 10px; font-weight: 900; }.offer-card:nth-child(2) > span { background: #fff; }.offer-card h2 { margin: auto 0 13px; color: inherit; font: 600 28px/1.05 "Space Grotesk", sans-serif; letter-spacing: -.05em; }.offer-card p { margin: 0 0 22px; color: inherit; opacity: .75; font-size: 13px; line-height: 1.6; }.offer-card a { color: inherit; font-size: 12px; font-weight: 800; text-decoration: none; }.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }.contact-info h2 { margin: 13px 0; color: var(--forest); font: 600 45px "Space Grotesk", sans-serif; letter-spacing: -.07em; }.contact-info > p { color: var(--muted-copy); line-height: 1.7; }.contact-info > a { display: block; margin-top: 13px; color: var(--green); font-size: 14px; font-weight: 700; text-decoration: none; }.contact-social { margin-top: 50px; color: var(--muted-copy); font-size: 11px; }.contact-form { display: flex; flex-direction: column; gap: 17px; padding: 28px; border: 1px solid var(--public-line); border-radius: 10px; background: #fff; box-shadow: 0 9px 25px rgba(11,127,66,.06); }.contact-form label { display: flex; flex-direction: column; gap: 7px; color: var(--copy); font-size: 11px; font-weight: 700; }.contact-form input, .contact-form textarea { padding: 13px; border: 1px solid var(--public-line); border-radius: 5px; outline: none; color: var(--copy); background: #fbfdfb; font: 13px "DM Sans", sans-serif; }.contact-form input:focus, .contact-form textarea:focus { border-color: var(--green); }.form-success { padding: 11px; border-radius: 5px; color: var(--green); background: var(--sage); font-size: 12px; }
.public-footer { color: rgba(255,255,255,.72); background: var(--forest); }.public-footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .9fr 1fr; gap: 40px; padding-top: 54px; padding-bottom: 49px; }.public-footer .public-brand { color: #fff; }.public-footer p { max-width: 230px; margin: 16px 0 0; font-size: 12px; line-height: 1.6; }.public-footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 10px; }.public-footer strong { color: var(--gold); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }.public-footer a, .public-footer span { color: rgba(255,255,255,.72); font-size: 12px; text-decoration: none; }.public-footer a:hover { color: #fff; }.footer-cta { align-items: flex-end; justify-content: center; }.footer-cta > span { color: #fff; font-size: 15px; }.footer-cta a { display: inline-block; padding: 11px 15px; border-radius: 6px; color: #5a3e00; background: var(--gold); font-weight: 800; }.public-footer-bottom { display: flex; justify-content: space-between; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; }
.routes-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); align-items: center; gap: 70px; min-height: 405px; }.routes-hero .public-hero-content { padding-top: 72px; padding-bottom: 72px; }.routes-hero-button { margin-top: 25px; }.routes-hero-board { padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(4, 32, 21, .32); box-shadow: 0 20px 45px rgba(0,0,0,.12); backdrop-filter: blur(5px); }.routes-board-top, .routes-board-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.62); font-size: 10px; }.routes-board-top span { color: var(--gold); font-weight: 800; letter-spacing: .14em; }.routes-board-top b { color: #fff; font-size: 12px; }.route-board-map { position: relative; height: 220px; margin: 18px 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: radial-gradient(circle at 18% 27%, rgba(255,255,255,.12) 0 1px, transparent 2px), radial-gradient(circle at 80% 64%, rgba(255,255,255,.14) 0 1px, transparent 2px), linear-gradient(145deg, rgba(101,189,145,.2), rgba(1,35,24,.55)); background-size: 76px 63px, 89px 71px, auto; }.route-board-map:after { position: absolute; inset: 18% 13%; border: 1px solid rgba(255,255,255,.1); border-radius: 47% 53% 42% 58%; content: ""; transform: rotate(-22deg); }.route-node { position: absolute; z-index: 2; width: 11px; height: 11px; border: 3px solid rgba(255,255,255,.7); border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 7px rgba(251,177,22,.12); }.node-one { top: 48%; left: 15%; }.node-two { top: 31%; left: 49%; background: #83d09e; box-shadow: 0 0 0 7px rgba(131,208,158,.12); }.node-three { right: 14%; bottom: 25%; }.route-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, var(--gold), #83d09e); transform-origin: left center; }.line-one { top: 51%; left: 17%; width: 35%; transform: rotate(-28deg); }.line-two { top: 34%; left: 51%; width: 42%; transform: rotate(21deg); background: linear-gradient(90deg, #83d09e, var(--gold)); }.route-map-label { position: absolute; z-index: 3; padding: 5px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; color: rgba(255,255,255,.76); background: rgba(4,32,21,.55); font-size: 9px; }.label-origin { top: 61%; left: 8%; }.label-mid { top: 16%; left: 39%; color: #a8e0b5; }.label-destination { right: 6%; bottom: 10%; }.routes-board-bottom { padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); }.routes-board-bottom span { display: grid; gap: 2px; }.routes-board-bottom strong { color: #fff; font: 600 18px "Space Grotesk", sans-serif; }.routes-content { padding-top: 70px; }.routes-heading-copy { margin: 13px 0 0; color: var(--muted-copy); font-size: 13px; }.routes-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 26px 0 18px; }.routes-toolbar > span { color: var(--muted-copy); font-size: 11px; }.routes-toolbar > span strong { color: var(--forest); font-size: 16px; }.routes-search { display: flex; width: min(360px, 100%); align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid var(--public-line); border-radius: 7px; color: var(--green); background: #fff; }.routes-search input { width: 100%; border: 0; outline: 0; color: var(--copy); background: transparent; font: 12px "DM Sans", sans-serif; }.route-catalog-body { min-height: 260px; }.catalog-art { justify-content: space-between; align-items: flex-end; }.catalog-art em { position: relative; z-index: 1; padding: 5px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; color: rgba(255,255,255,.86); background: rgba(6,45,28,.3); font-size: 9px; font-style: normal; }.route-card-facts { display: flex; gap: 18px; margin: 16px 0 12px; color: var(--muted-copy); font-size: 10px; }.route-card-facts span { display: grid; gap: 2px; }.route-card-facts strong { color: var(--forest); font: 600 15px "Space Grotesk", sans-serif; }.route-card-operators { display: flex; flex-wrap: wrap; gap: 5px; min-height: 23px; }.route-card-operators span, .route-card-operators small { padding: 4px 6px; border-radius: 4px; color: var(--green-2); background: var(--sage); font-size: 9px; }.route-card-operators small { color: var(--muted-copy); background: #f1f5f1; }.routes-empty { grid-column: 1 / -1; display: grid; gap: 8px; padding: 42px; border: 1px dashed var(--public-line); border-radius: 11px; color: var(--muted-copy); text-align: center; }.routes-empty strong { color: var(--forest); font: 600 20px "Space Grotesk", sans-serif; }.routes-filter-empty { padding: 30px; border: 1px dashed var(--public-line); border-radius: 10px; color: var(--muted-copy); text-align: center; }.route-operator-list { margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--public-line); }.route-operator-list > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }.route-operator-list > div span { padding: 7px 9px; border-radius: 5px; color: var(--green-2); background: var(--sage); font-size: 11px; }
 .contact-hero { background: radial-gradient(circle at 76% 18%, rgba(251,177,22,.32), transparent 22%), linear-gradient(125deg, #062d1c, #157949); }.contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); align-items: center; gap: 70px; min-height: 445px; }.contact-hero .public-hero-content { padding-top: 70px; padding-bottom: 70px; }.contact-hero-meta { display: grid; gap: 8px; margin-top: 24px; color: rgba(255,255,255,.64); font-size: 10px; }.contact-hero-meta i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #8ce0a8; }.contact-signal-card { padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(4,32,21,.35); box-shadow: 0 24px 55px rgba(0,0,0,.14); backdrop-filter: blur(5px); }.contact-signal-top { display: flex; justify-content: space-between; color: rgba(255,255,255,.6); font-size: 9px; letter-spacing: .14em; }.contact-signal-top b { padding: 4px 7px; border-radius: 99px; color: #06331e; background: #8ce0a8; font-size: 8px; letter-spacing: .08em; }.contact-signal-card > strong { display: block; max-width: 280px; margin: 46px 0 10px; color: #fff; font: 600 28px/1.05 "Space Grotesk", sans-serif; letter-spacing: -.05em; }.contact-signal-card > p { max-width: 290px; margin: 0; color: rgba(255,255,255,.67); font-size: 11px; line-height: 1.55; }.contact-signal-line { height: 1px; margin: 25px 0 16px; background: linear-gradient(90deg, var(--gold), rgba(255,255,255,.1)); }.contact-signal-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.contact-signal-stats span { display: grid; gap: 3px; }.contact-signal-stats b { color: #fff; font: 600 20px "Space Grotesk", sans-serif; }.contact-signal-stats small { color: rgba(255,255,255,.55); font-size: 9px; }.contact-content { padding-top: 82px; }.contact-intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 70px; }.contact-intro h2, .contact-form-copy h2 { margin: 12px 0; color: var(--forest); font: 600 42px/1.02 "Space Grotesk", sans-serif; letter-spacing: -.07em; }.contact-intro p { max-width: 500px; margin: 0; color: var(--muted-copy); font-size: 15px; line-height: 1.7; }.contact-response-card { padding: 21px; border: 1px solid var(--public-line); border-radius: 10px; background: #fff; }.contact-response-card span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.contact-response-card strong { display: block; margin: 13px 0 7px; color: var(--forest); font: 600 20px "Space Grotesk", sans-serif; }.contact-response-card p { font-size: 12px; }.contact-channels { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 62px 0 88px; }.contact-channels > a, .contact-channels > div { display: flex; min-height: 118px; align-items: flex-start; gap: 12px; padding: 17px; border: 1px solid var(--public-line); border-radius: 9px; color: var(--copy); background: #fff; text-decoration: none; }.contact-channels > a:hover { border-color: #a9ccb0; box-shadow: 0 9px 25px rgba(11,127,66,.08); transform: translateY(-2px); }.contact-channel-icon { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--green-2); background: var(--sage); font-weight: 800; }.contact-channels small { display: block; margin-bottom: 5px; color: var(--muted-copy); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.contact-channels strong { color: var(--forest); font: 600 14px "Space Grotesk", sans-serif; }.contact-channels p { margin: 5px 0 0; color: var(--muted-copy); font-size: 10px; line-height: 1.4; }.contact-channels b { margin-left: auto; color: var(--green); font-size: 17px; }.contact-form-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; }.contact-form-copy > p { max-width: 390px; color: var(--muted-copy); font-size: 14px; line-height: 1.7; }.contact-checklist { display: grid; gap: 11px; margin-top: 25px; color: var(--green-2); font-size: 11px; font-weight: 700; }.contact-form-new { gap: 15px; padding: 27px; }.contact-form-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 17px; border-bottom: 1px solid var(--public-line); }.contact-form-title strong { color: var(--forest); font: 600 17px "Space Grotesk", sans-serif; }.contact-form-title span { color: var(--muted-copy); font-size: 10px; }.contact-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }.contact-form-new label { color: var(--copy); }.contact-form-new input, .contact-form-new textarea { background: #fbfdfb; }.contact-form-new em { color: #b94b4b; font-size: 10px; font-style: normal; }.contact-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }.contact-form-footer small { max-width: 260px; color: var(--muted-copy); font-size: 9px; line-height: 1.45; }.contact-form-footer .green-button { flex: 0 0 auto; }.contact-help-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: 88px; }.contact-help-grid article { padding: 23px; border-top: 2px solid var(--green); background: #fff; }.contact-help-grid article > span { color: var(--gold); font: 700 13px "Space Grotesk", sans-serif; }.contact-help-grid h3 { margin: 30px 0 8px; color: var(--forest); font: 600 19px "Space Grotesk", sans-serif; }.contact-help-grid p { min-height: 51px; margin: 0 0 18px; color: var(--muted-copy); font-size: 11px; line-height: 1.6; }.contact-help-grid a { color: var(--green); font-size: 11px; font-weight: 800; text-decoration: none; }
 .about-hero { background: radial-gradient(circle at 76% 18%, rgba(251,177,22,.32), transparent 22%), linear-gradient(125deg, #062d1c, #157949); }.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); align-items: center; gap: 70px; min-height: 455px; }.about-hero .public-hero-content { padding-top: 72px; padding-bottom: 72px; }.about-hero-actions { display: flex; align-items: center; gap: 16px; margin-top: 26px; }.about-hero-actions > span { color: rgba(255,255,255,.62); font-size: 10px; }.about-ledger { padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(4,32,21,.35); box-shadow: 0 24px 55px rgba(0,0,0,.14); backdrop-filter: blur(5px); }.about-ledger-top { display: flex; justify-content: space-between; color: rgba(255,255,255,.6); font-size: 9px; letter-spacing: .13em; }.about-ledger-top b { padding: 4px 7px; border-radius: 99px; color: #06331e; background: #8ce0a8; font-size: 8px; letter-spacing: .08em; }.about-ledger-route { display: flex; gap: 15px; margin: 32px 0 22px; }.ledger-node { flex: 0 0 auto; width: 14px; height: 14px; margin-top: 4px; border: 3px solid rgba(255,255,255,.7); border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 7px rgba(251,177,22,.13); }.about-ledger-route small { display: block; margin-bottom: 7px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .14em; }.about-ledger-route strong { color: #fff; font: 600 27px/1 "Space Grotesk", sans-serif; }.about-ledger-route p { max-width: 260px; margin: 9px 0 0; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.5; }.about-ledger-line { height: 1px; background: linear-gradient(90deg, var(--gold), rgba(255,255,255,.1)); }.about-ledger-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding-top: 18px; }.about-ledger-metrics span { display: grid; gap: 3px; }.about-ledger-metrics b { color: #fff; font: 600 20px "Space Grotesk", sans-serif; }.about-ledger-metrics small { color: rgba(255,255,255,.58); font-size: 9px; }.about-content { padding-top: 82px; }.about-intro-new { align-items: end; }.about-intro-new > div:last-child { display: grid; gap: 15px; }.about-intro-note { margin: 0; padding-left: 16px; border-left: 2px solid var(--gold); color: var(--green-2) !important; font-size: 13px !important; }.about-stats { grid-template-columns: repeat(4,1fr); margin: 72px 0 88px; }.about-stats div { padding: 28px 17px; }.about-section-block, .about-data-section, .about-operator-section { margin-top: 86px; }.about-section-heading { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 70px; margin-bottom: 29px; }.about-section-heading h2 { margin: 11px 0 0; color: var(--forest); font: 600 38px/1.04 "Space Grotesk", sans-serif; letter-spacing: -.065em; }.about-section-heading > p { margin: 0; color: var(--muted-copy); font-size: 14px; line-height: 1.7; }.about-values article { min-height: 205px; }.about-process { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--public-line); border-bottom: 1px solid var(--public-line); }.about-process article { min-height: 200px; padding: 23px 18px; border-right: 1px solid var(--public-line); }.about-process article:last-child { border-right: 0; }.about-process b { color: var(--gold); font: 700 13px "Space Grotesk", sans-serif; }.about-process span { display: block; margin: 38px 0 8px; color: var(--forest); font: 600 19px "Space Grotesk", sans-serif; }.about-process p { margin: 0; color: var(--muted-copy); font-size: 11px; line-height: 1.6; }.about-operator-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.about-operator-card { display: flex; min-height: 108px; align-items: center; gap: 13px; padding: 15px; border: 1px solid var(--public-line); border-radius: 9px; background: #fff; }.about-operator-card img, .operator-initial { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 9px; object-fit: cover; color: var(--green-2); background: var(--sage); font: 700 17px "Space Grotesk", sans-serif; }.about-operator-card h3 { margin: 0 0 5px; color: var(--forest); font: 600 14px "Space Grotesk", sans-serif; }.about-operator-card p { margin: 0 0 3px; color: var(--muted-copy); font-size: 10px; }.about-operator-card small { color: var(--green); font-size: 9px; font-weight: 700; }.about-sync-note { margin: 14px 0 0; color: var(--muted-copy); font-size: 10px; }.about-data-empty { grid-column: 1 / -1; color: var(--muted-copy); }.about-timeline { margin-top: 88px; }.about-content + .public-cta-strip { margin-top: 0; }
@media (max-width: 850px) { .routes-hero-grid { grid-template-columns: 1fr; gap: 20px; }.routes-hero .public-hero-content { padding-bottom: 5px; }.routes-hero-board { margin-bottom: 34px; }.routes-toolbar { align-items: stretch; flex-direction: column; }.routes-search { width: 100%; }.schedule-hero-grid { grid-template-columns: 1fr; gap: 20px; }.schedule-hero .public-hero-content { padding-bottom: 4px; }.schedule-hero-panel { margin-bottom: 28px; }.schedule-toolbar { align-items: stretch; }.schedule-search { width: 100%; }.schedule-row { grid-template-columns: 65px 1.5fr 1fr 90px; }.schedule-row > span:nth-child(4), .schedule-row > span:nth-child(5) { display: none; }.schedule-live-row .schedule-type, .schedule-live-row .schedule-fare { display: none; }.about-hero-grid { grid-template-columns: 1fr; gap: 20px; }.about-hero .public-hero-content { padding-bottom: 5px; }.about-ledger { margin-bottom: 28px; }.about-section-heading { grid-template-columns: 1fr; gap: 18px; }.about-process { grid-template-columns: repeat(2,1fr); }.about-process article:nth-child(2) { border-right: 0; }.about-process article:nth-child(-n+2) { border-bottom: 1px solid var(--public-line); }.about-process article:nth-child(3) { border-right: 1px solid var(--public-line); }.about-operator-grid { grid-template-columns: repeat(2,1fr); }.contact-hero-grid { grid-template-columns: 1fr; gap: 20px; }.contact-hero .public-hero-content { padding-bottom: 4px; }.contact-signal-card { margin-bottom: 28px; }.contact-intro, .contact-form-layout { grid-template-columns: 1fr; gap: 35px; }.contact-channels { grid-template-columns: 1fr; margin: 48px 0 70px; }.contact-help-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .routes-hero-grid { gap: 0; }.routes-hero-board { padding: 12px; }.route-board-map { height: 190px; }.routes-board-bottom strong { font-size: 15px; }.routes-content { padding-top: 55px; }.route-catalog-body { min-height: 0; }.route-catalog-grid { grid-template-columns: 1fr; }.routes-toolbar > span { align-self: flex-end; }.route-card-facts { gap: 13px; }.about-hero-grid { gap: 0; }.about-hero-actions { align-items: flex-start; flex-direction: column; }.about-ledger { padding: 14px; }.about-ledger-route strong { font-size: 23px; }.about-content { padding-top: 55px; }.about-stats { grid-template-columns: repeat(2,1fr); margin: 48px 0 65px; }.about-stats div { padding: 19px 12px; }.about-stats strong { font-size: 25px; }.about-process, .about-operator-grid { grid-template-columns: 1fr; }.about-process article { min-height: 0; border-right: 0 !important; border-bottom: 1px solid var(--public-line); }.about-process article:last-child { border-bottom: 0; }.about-operator-card { min-height: 90px; }.contact-hero-grid { gap: 0; }.contact-hero-meta { gap: 6px; }.contact-signal-card { padding: 14px; }.contact-signal-card > strong { margin-top: 35px; font-size: 24px; }.contact-content { padding-top: 55px; }.contact-intro h2, .contact-form-copy h2 { font-size: 34px; }.contact-channels { margin-top: 42px; }.contact-form-grid, .contact-help-grid { grid-template-columns: 1fr; }.contact-form-new { padding: 20px; }.contact-form-title { align-items: flex-start; flex-direction: column; }.contact-form-footer { align-items: stretch; flex-direction: column; }.contact-form-footer .green-button { width: 100%; }.contact-help-grid { margin-top: 62px; } }
@media (max-width: 850px) { .public-nav { display: none; }.public-nav.mobile-open { position: absolute; top: 68px; right: 15px; left: 15px; z-index: 10; display: flex; flex-direction: column; gap: 3px; padding: 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: var(--forest); box-shadow: 0 12px 24px rgba(0,0,0,.2); }.public-nav.mobile-open a { padding: 11px 13px; }.public-menu-button { display: block; }.public-header-inner { justify-content: space-between; }.route-fact-card { position: relative; right: auto; bottom: auto; margin-top: 40px; }.route-detail-hero { min-height: 620px; }.public-hero-content { padding-top: 70px; }.route-catalog-grid, .offer-grid { grid-template-columns: repeat(2,1fr); }.detail-columns, .about-intro, .faq-section, .contact-layout { grid-template-columns: 1fr; gap: 40px; }.public-band-inner { gap: 25px; }.public-footer-grid { grid-template-columns: repeat(2,1fr); }.schedule-row { grid-template-columns: 65px 1.5fr 1fr 90px; }.schedule-row > span:nth-child(4), .schedule-row > span:nth-child(5) { display: none; } }
@media (max-width: 560px) { .public-container { width: calc(100% - 30px); }.public-header-inner { min-height: 68px; }.public-language { display: none; }.public-book-button { padding: 9px 11px; font-size: 10px; }.public-hero { min-height: 440px; }.public-hero h1 { font-size: 47px; }.public-content { padding: 55px 0 66px; }.public-section-heading, .schedule-toolbar, .public-cta-strip .public-container { display: block; }.public-section-heading .public-text-link { display: inline-block; margin-top: 17px; }.public-section-heading h2, .schedule-toolbar h2, .about-intro h2, .detail-columns h2, .faq-section h2 { font-size: 32px; }.route-catalog-grid, .offer-grid, .values-grid, .story-timeline, .guide-steps { grid-template-columns: 1fr; }.public-band-inner { display: block; }.public-band p { margin-top: 17px; }.schedule-filters { overflow-x: auto; margin-top: 18px; }.schedule-row { grid-template-columns: 55px 1fr 70px; gap: 8px; padding: 0 10px; font-size: 10px; }.schedule-row > span:nth-child(3) { display: none; }.schedule-row a { font-size: 10px; }.schedule-head { font-size: 8px; }.about-intro > p { font-size: 14px; }.stats-strip { margin: 48px 0; }.stats-strip strong { font-size: 28px; }.stats-strip span { font-size: 9px; }.public-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 20px; }.footer-cta { align-items: start; grid-column: span 2; }.public-footer-bottom { display: block; line-height: 2; }.public-footer-bottom span { display: block; }.contact-layout { gap: 35px; }.contact-form { padding: 20px; }.route-detail-content h1 { font-size: 48px; } }
