/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--xpayj1y1-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--xpayj1y1-ink, #111); background: var(--xpayj1y1-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--xpayj1y1-font-display, var(--xpayj1y1-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--xpayj1y1-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --xpayj1y1-primary: #12100E;
  --xpayj1y1-secondary: #2F6F6B;
  --xpayj1y1-accent: #E4572E;
  --xpayj1y1-ink: #12100E;
  --xpayj1y1-slate: #5B564E;
  --xpayj1y1-mist: #E8E3D7;
  --xpayj1y1-border: #D8D3C7;
  --xpayj1y1-surface: #FFFFFF;
  --xpayj1y1-bg: #F4F1EA;
  --xpayj1y1-text: #12100E;
  --xpayj1y1-font: Georgia, Cambria, 'Times New Roman', serif;
  --xpayj1y1-font-display: 'Hoefler Text', 'Baskerville Old Face', Garamond, Georgia, serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-xpayj1y1-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--xpayj1y1-border, #e5e7eb); background: var(--xpayj1y1-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-xpayj1y1-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-xpayj1y1-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-xpayj1y1-ui="cookie-banner"] a { text-decoration: underline; }
[data-xpayj1y1-cs-action], [data-xpayj1y1-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--xpayj1y1-border, #d1d5db); background: transparent; color: var(--xpayj1y1-ink, #111); }
[data-xpayj1y1-cs-action="accept-all"], [data-xpayj1y1-cs-action="save"], [data-xpayj1y1-ag-action="confirm"] { background: var(--xpayj1y1-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-xpayj1y1-cs-action="reject-all"] { background: var(--xpayj1y1-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-xpayj1y1-cs-panel] { margin-top: 1rem; border: 1px solid var(--xpayj1y1-border, #e5e7eb); background: var(--xpayj1y1-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-xpayj1y1-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-xpayj1y1-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-xpayj1y1-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-xpayj1y1-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--xpayj1y1-surface, #1a1a2e); color: var(--xpayj1y1-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-xpayj1y1-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-xpayj1y1-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* xpayj1y1:header */
/* xpayj1y1:header */
#header{--h-gutter:clamp(1rem,4vw,3rem);position:sticky;top:0;z-index:60;background:var(--xpayj1y1-surface);color:var(--xpayj1y1-text);border-top:3px solid var(--xpayj1y1-ink);border-bottom:1px solid var(--xpayj1y1-ink);font-family:Georgia,Cambria,"Times New Roman",serif;}
#header .header-strip{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;justify-content:space-between;align-items:center;margin:0;padding:.55rem var(--h-gutter);background:var(--xpayj1y1-bg);border-bottom:1px solid var(--xpayj1y1-border);}
#header .strip-label{margin:0;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
#header .strip-phone{margin:0;font-size:.75rem;letter-spacing:.04em;color:var(--xpayj1y1-ink);font-variant-numeric:tabular-nums;}
#header .strip-phone a{color:var(--xpayj1y1-secondary);text-decoration:none;border-bottom:1px solid var(--xpayj1y1-secondary);}
#header .strip-phone a:hover{color:var(--xpayj1y1-accent);border-bottom-color:var(--xpayj1y1-accent);}
#header .header-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;padding:.9rem var(--h-gutter);}
#header .wordmark{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--xpayj1y1-ink);}
#header .wordmark-name{font-family:"Hoefler Text",Baskerville,Garamond,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1;}
#header .wordmark-sub{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
#header .site-nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);}
#header .nav-list{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem);margin:0;padding:0;list-style:none;}
#header .nav-list a{display:inline-block;padding:.5rem 0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-ink);text-decoration:none;border-bottom:2px solid transparent;transition:border-color 160ms ease,color 160ms ease;}
#header .nav-list a:hover{border-bottom-color:var(--xpayj1y1-accent);color:var(--xpayj1y1-accent);}
#header .header-cta{display:inline-block;min-height:44px;padding:.8rem 1.35rem;border:1px solid var(--xpayj1y1-accent);border-radius:2px;background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;line-height:1.35;transition:background 160ms ease,border-color 160ms ease;}
#header .header-cta:hover{background:var(--xpayj1y1-ink);border-color:var(--xpayj1y1-ink);}
#header .menu-toggle{display:none;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-ink);border-radius:2px;color:var(--xpayj1y1-ink);font:inherit;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;}
#header .menu-toggle:hover{background:var(--xpayj1y1-mist);}
#header a:focus-visible,#header button:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:3px;}
#header ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);}
@media (max-width:768px){
#header .menu-toggle{display:inline-flex;}
#header .site-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0 .25rem;border-top:1px solid var(--xpayj1y1-border);}
#header .site-nav:not([hidden]),#header .site-nav.is-open,#header .site-nav[data-open="true"]{display:flex;}
#header .nav-list{flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;}
#header .nav-list a{width:100%;padding:.75rem 0;border-bottom:1px solid var(--xpayj1y1-border);}
#header .header-cta{width:100%;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
#header .nav-list a,#header .header-cta{transition:none;}
}
/* xpayj1y1:footer */
/* xpayj1y1:footer */
#footer{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,3rem) 1.5rem;font-family:Georgia,Cambria,'Times New Roman',serif}
#footer .footer-inner{max-width:72rem;margin:0 auto}
#footer .footer-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);margin:0 0 1.75rem}
#footer .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem 1.5rem;padding-bottom:2rem}
#footer .footer-name{font-size:1.5rem;margin:0 0 .5rem;letter-spacing:-.02em}
#footer .footer-desc{margin:0;max-width:32ch;color:var(--xpayj1y1-slate);line-height:1.6;font-size:.9375rem}
#footer .footer-heading{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);margin:0 0 .85rem;font-weight:400}
#footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
#footer li{line-height:1.4}
#footer a{color:var(--xpayj1y1-text);text-decoration:none;border-bottom:1px solid var(--xpayj1y1-border);padding-bottom:1px;transition:color .15s ease,border-color .15s ease}
#footer a:hover{color:var(--xpayj1y1-accent);border-bottom-color:var(--xpayj1y1-accent)}
#footer a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
#footer .footer-address{margin:1rem 0 0;font-size:.875rem;color:var(--xpayj1y1-slate);line-height:1.55;max-width:24ch}
#footer .footer-policies{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem 1.5rem;padding:1.5rem 0;border-top:1px solid var(--xpayj1y1-border);border-bottom:1px solid var(--xpayj1y1-border);font-size:.875rem}
#footer .footer-bottom{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;align-items:baseline;padding-top:1.25rem;font-size:.8125rem;color:var(--xpayj1y1-slate)}
#footer .footer-legal,#footer .footer-note{margin:0;max-width:62ch;line-height:1.55}
#footer .footer-note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;letter-spacing:.02em}
#footer ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media(max-width:1024px){#footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){#footer .footer-grid{grid-template-columns:1fr;gap:1.75rem}#footer .footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){#footer a{transition:none}}
/* xpayj1y1:hero */
/* xpayj1y1:hero */
.hero{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.hero-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.hero-label{margin:0 0 1.75rem;padding-top:.7rem;border-top:1px solid var(--xpayj1y1-ink);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.hero-grid{display:grid;gap:2.5rem}
.hero-title{margin:0 0 .9rem;font-family:Georgia,Cambria,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.02em;text-wrap:balance}
.hero-lede{margin:0 0 1.6rem;max-width:34rem;color:var(--xpayj1y1-slate);line-height:1.6}
.fare-query{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;padding:1.1rem;border:1px solid var(--xpayj1y1-ink)}
.field{display:flex;flex-direction:column;gap:.35rem}
.field label,.tickets-head{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.field select,.field input{font:inherit;min-height:44px;padding:.5rem;border:1px solid var(--xpayj1y1-border);border-radius:0;background:var(--xpayj1y1-surface);color:var(--xpayj1y1-ink)}
.fare-toggle{grid-column:1/-1;display:flex;gap:.55rem;font-size:.85rem;color:var(--xpayj1y1-slate)}
.fare-toggle input{width:18px;height:18px;accent-color:var(--xpayj1y1-accent)}
.fare-submit{grid-column:1/-1;min-height:44px;border:1px solid var(--xpayj1y1-accent);border-radius:2px;background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);font:inherit;font-weight:700;cursor:pointer}
.fare-submit:hover{background:var(--xpayj1y1-primary);border-color:var(--xpayj1y1-primary)}
.fare-submit:focus-visible,.tickets-link:focus-visible,.field select:focus-visible,.field input:focus-visible{outline:2px solid var(--xpayj1y1-secondary);outline-offset:2px}
.hero-figure{margin:1.6rem 0 0}
.hero-figure img{display:block;width:100%;height:auto;border:1px solid var(--xpayj1y1-ink)}
.hero-figure figcaption{margin:.6rem 0 0;font-size:.8rem;line-height:1.5;color:var(--xpayj1y1-slate)}
.hero-tickets{padding-top:1rem;border-top:1px solid var(--xpayj1y1-ink)}
.tickets-head{margin:0 0 .3rem}
.ticket-list{list-style:none;margin:0;padding:0}
.ticket{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.9rem 0;border-bottom:1px solid var(--xpayj1y1-border)}
.ticket-route{margin:0;font-weight:700}
.ticket-meta{margin:0;font-size:.8rem;color:var(--xpayj1y1-slate)}
.ticket-price{grid-column:2;grid-row:1/3;margin:0;text-align:right;font-size:1.3rem;font-weight:700;color:var(--xpayj1y1-accent);font-variant-numeric:tabular-nums}
.ticket-unit{display:block;font-size:.68rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.ticket-day{grid-column:1/-1;margin:.35rem 0 0;font-size:.78rem;color:var(--xpayj1y1-slate);font-variant-numeric:tabular-nums}
.tickets-note{margin:1rem 0;font-size:.82rem;line-height:1.55;color:var(--xpayj1y1-slate)}
.tickets-link{display:inline-block;color:var(--xpayj1y1-secondary);font-weight:700;text-underline-offset:3px}
.tickets-link:hover{color:var(--xpayj1y1-ink)}
::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media (min-width:900px){.hero-grid{grid-template-columns:7fr 5fr;gap:3rem}}
@media (max-width:560px){.fare-query{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hero *{transition:none!important;animation:none!important}}
/* xpayj1y1:fare-ticker */
/* xpayj1y1:fare-ticker */
.fare-ticker{background:var(--xpayj1y1-bg);border-top:1px solid var(--xpayj1y1-ink);border-bottom:1px solid var(--xpayj1y1-border);padding:clamp(1.25rem,3vw,2.25rem) 0;font-family:Georgia,Cambria,'Times New Roman',serif;color:var(--xpayj1y1-text)}
.fare-ticker__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.fare-ticker__label{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--xpayj1y1-slate)}
.fare-ticker__viewport{overflow:hidden;border-top:1px solid var(--xpayj1y1-ink);border-bottom:1px solid var(--xpayj1y1-ink);padding:.6rem 0}
.fare-ticker__track{display:flex;width:max-content;margin:0;padding:0;list-style:none;animation:fare-scroll 34s linear infinite}
.fare-ticker__item{display:flex;align-items:baseline;gap:.6rem;padding-right:2.75rem;font-size:1rem;white-space:nowrap}
.fare-ticker__code{font-weight:700;letter-spacing:.06em}
.fare-ticker__price{color:var(--xpayj1y1-accent);font-weight:700;font-variant-numeric:tabular-nums}
.fare-ticker__mode{color:var(--xpayj1y1-slate);font-size:.8rem;font-style:italic}
.fare-ticker__viewport:hover .fare-ticker__track,.fare-ticker__viewport:focus-within .fare-ticker__track{animation-play-state:paused}
.fare-ticker__note{margin:.8rem 0 0;max-width:52rem;font-size:.8125rem;line-height:1.55;color:var(--xpayj1y1-slate)}
.fare-ticker__note a{color:var(--xpayj1y1-secondary);text-decoration:underline;text-underline-offset:3px}
.fare-ticker__note a:hover{color:var(--xpayj1y1-accent)}
.fare-ticker__note a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
@keyframes fare-scroll{to{transform:translateX(-50%)}}
@media (max-width:640px){.fare-ticker__item{font-size:.9375rem;padding-right:1.75rem}}
@media (prefers-reduced-motion:reduce){.fare-ticker__viewport{overflow-x:auto}.fare-ticker__track{animation:none}}
/* xpayj1y1:route-table */
/* xpayj1y1:route-table */
#route-table{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);padding:clamp(3rem,8vw,6rem) 0}
#route-table .rt-wrap{max-width:72rem;margin:auto;padding:0 clamp(1rem,4vw,3rem)}
#route-table .rt-head{display:grid;gap:.75rem;border-top:1px solid var(--xpayj1y1-ink);padding-top:1.25rem;margin-bottom:1.5rem}
#route-table .rt-label{grid-column:1/-1;margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
#route-table h2{margin:0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;max-width:22ch}
#route-table .rt-lede,#route-table .rnote{margin:0;line-height:1.6;color:var(--xpayj1y1-slate)}
#route-table .rt-lede span{color:var(--xpayj1y1-accent);font-weight:700;font-variant-numeric:tabular-nums}
#route-table .rt-list{border-top:1px solid var(--xpayj1y1-ink)}
#route-table .rrow{border-bottom:1px solid var(--xpayj1y1-ink)}
#route-table .rhead{margin:0}
#route-table .rtrig{width:100%;min-height:44px;display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:1rem 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform 160ms ease}
#route-table .rtrig:hover{transform:translateY(-1px)}
#route-table .rtrig:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:3px}
#route-table .rname{font-size:1.125rem;font-weight:600}
#route-table .rmeta{grid-column:1;font-size:.875rem;color:var(--xpayj1y1-slate)}
#route-table .rprice{grid-column:2;justify-self:end;color:var(--xpayj1y1-accent);font-weight:700;font-variant-numeric:tabular-nums}
#route-table .rprice em{display:block;font-style:normal;font-size:.8125rem;font-weight:400;color:var(--xpayj1y1-slate)}
#route-table .rpanel{padding-bottom:1.25rem;max-width:52ch}
#route-table .rbreak{margin:0 0 .75rem;padding:0;list-style:none;display:grid;gap:.3rem}
#route-table .rbreak li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.3rem;font-size:.9375rem;border-bottom:1px dotted var(--xpayj1y1-border)}
#route-table .rbreak strong{font-variant-numeric:tabular-nums}
#route-table .is-lowest .rname{color:var(--xpayj1y1-secondary)}
#route-table .rt-foot{margin:1.5rem 0 0;font-size:.8125rem;color:var(--xpayj1y1-slate)}
#route-table ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media(min-width:768px){#route-table .rt-head{grid-template-columns:7fr 5fr;column-gap:2rem}}
@media(prefers-reduced-motion:reduce){#route-table .rtrig{transition:none}#route-table .rtrig:hover{transform:none}}
/* xpayj1y1:student-proof */
/* xpayj1y1:student-proof */
#student-proof{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-ink);font-family:Georgia,Cambria,'Times New Roman',serif;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
#student-proof .section-inner{max-width:72rem;margin:0 auto;border-top:1px solid var(--xpayj1y1-ink);padding-top:clamp(1.5rem,4vw,3rem)}
#student-proof .kicker{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-slate);margin:0 0 1.25rem}
#student-proof .proof-head{display:grid;grid-template-columns:7fr 5fr;gap:1.25rem 2rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid var(--xpayj1y1-border)}
#student-proof h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.02em;font-weight:600;margin:0;text-wrap:balance}
#student-proof h3{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-ink);margin:0 0 .75rem}
#student-proof .proof-meta p{font-size:.875rem;line-height:1.5;color:var(--xpayj1y1-slate);margin:0;text-wrap:balance}
#student-proof .proof-grid{display:grid;grid-template-columns:7fr 5fr;gap:0 3rem;margin-top:2.25rem}
#student-proof ul{list-style:none;margin:0;padding:0}
#student-proof .checklist li{display:grid;grid-template-columns:1.25rem 1fr;gap:.75rem;padding:.9rem 0;border-bottom:1px solid var(--xpayj1y1-border);font-size:.9375rem;line-height:1.55;color:var(--xpayj1y1-slate)}
#student-proof .checklist strong{color:var(--xpayj1y1-ink);font-weight:600}
#student-proof .tick{color:var(--xpayj1y1-secondary);font-weight:700;line-height:1.4}
#student-proof .notes ul{margin:0 0 1.75rem}
#student-proof .notes li{font-size:.9375rem;line-height:1.55;color:var(--xpayj1y1-slate);padding:.35rem 0 .35rem 1rem;border-left:2px solid var(--xpayj1y1-mist)}
#student-proof .proof-foot{margin:2.25rem 0 0;padding-top:1.25rem;border-top:1px solid var(--xpayj1y1-ink);font-size:.875rem;line-height:1.6;color:var(--xpayj1y1-slate)}
#student-proof .proof-foot a{color:var(--xpayj1y1-accent);text-decoration:underline;text-underline-offset:3px;font-weight:600}
#student-proof .proof-foot a:hover{color:var(--xpayj1y1-ink)}
#student-proof a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
#student-proof ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media (max-width:768px){#student-proof .proof-head,#student-proof .proof-grid{grid-template-columns:1fr;gap:1.25rem}#student-proof .proof-grid{margin-top:1.75rem}}
/* xpayj1y1:cost-breakdown */
/* xpayj1y1:cost-breakdown */
.cost-breakdown{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(3rem,8vw,7rem) 0}
.cost-breakdown__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.cost-breakdown__label{margin:0 0 1.25rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.cost-breakdown__head{max-width:52rem;padding-bottom:clamp(1.5rem,4vw,3rem)}
.cost-breakdown__title{margin:0 0 .75rem;font-family:'Hoefler Text',Baskerville,Garamond,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.cost-breakdown__lead{margin:0;color:var(--xpayj1y1-slate);line-height:1.6}
.cost-breakdown__lead a{color:var(--xpayj1y1-secondary);text-underline-offset:3px}
.cost-breakdown__lead a:hover{color:var(--xpayj1y1-accent)}
.cost-breakdown__grid{display:grid;gap:clamp(1.5rem,4vw,3rem)}
.fare-table__scroll{overflow-x:auto}
.fare-table{width:100%;min-width:44rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.fare-table th,.fare-table td{padding:.8rem .75rem .8rem 0;border-bottom:1px solid var(--xpayj1y1-border);text-align:left;vertical-align:top}
.fare-table th{font-weight:400;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--xpayj1y1-slate);border-bottom-color:var(--xpayj1y1-ink);white-space:nowrap}
.fare-table td{font-size:.9375rem}
.fare-table tbody tr{transition:background 160ms ease}
.fare-table tbody tr:hover{background:var(--xpayj1y1-mist)}
.fare-table .col-total{color:var(--xpayj1y1-accent);font-weight:700}
.fare-table .col-day{color:var(--xpayj1y1-secondary)}
.cost-breakdown__note{margin:1rem 0 0;font-size:.8125rem;color:var(--xpayj1y1-slate)}
.cost-breakdown__aside{display:grid;gap:1.75rem;align-content:start}
.cost-breakdown__aside h3{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--xpayj1y1-ink);padding-top:.75rem}
.break-list{margin:0;display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;font-size:.9375rem}
.break-list dt{color:var(--xpayj1y1-slate)}
.break-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.break-list .row-total{border-top:1px solid var(--xpayj1y1-ink);padding-top:.5rem;font-weight:700;color:var(--xpayj1y1-text)}
.break-list dd.row-total{color:var(--xpayj1y1-accent)}
.not-included{margin:0;padding:0;list-style:none;display:grid;gap:.5rem;font-size:.9375rem;color:var(--xpayj1y1-slate)}
.not-included li{position:relative;padding-left:1.1rem}
.not-included li::before{content:"\00d7";position:absolute;left:0;color:var(--xpayj1y1-accent)}
.cost-breakdown ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
.cost-breakdown a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
@media(min-width:768px){.cost-breakdown__grid{grid-template-columns:7fr 5fr}}
@media(prefers-reduced-motion:reduce){.fare-table tbody tr{transition:none}}
/* xpayj1y1:faq */
/* xpayj1y1:faq */
#faq{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
#faq .faq-inner{max-width:72rem;margin:0 auto}
#faq .faq-label{font:400 .75rem/1 ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);margin:0 0 clamp(1.5rem,4vw,3rem)}
#faq .faq-head{display:grid;gap:1.25rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
#faq .faq-title{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;margin:0;text-wrap:balance}
#faq .faq-lede{margin:0;color:var(--xpayj1y1-slate);max-width:40ch}
#faq .faq-body{display:grid;gap:clamp(1.5rem,4vw,3rem)}
#faq .faq-item{border-top:1px solid var(--xpayj1y1-ink)}
#faq .faq-item:last-child{border-bottom:1px solid var(--xpayj1y1-ink)}
#faq .faq-trigger{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0;background:none;border:0;font:inherit;font-weight:600;color:var(--xpayj1y1-ink);text-align:left;cursor:pointer;transition:color 160ms ease}
#faq .faq-trigger:hover{color:var(--xpayj1y1-secondary)}
#faq .faq-trigger:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
#faq .faq-trigger::after{content:"+";font-family:ui-monospace,monospace;color:var(--xpayj1y1-accent);font-size:1.25rem}
#faq .faq-panel{padding:0 0 1.25rem;color:var(--xpayj1y1-slate)}
#faq .faq-panel[hidden]{display:none}
#faq .faq-panel p{margin:0 0 .75rem}
#faq .faq-panel p:last-child{margin:0}
#faq .faq-panel a{color:var(--xpayj1y1-secondary)}
#faq .faq-rail{background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-ink);padding:clamp(1rem,3vw,1.5rem)}
#faq .faq-rail h3{margin:0 0 1rem;font-size:1.05rem}
#faq .cost-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--xpayj1y1-border);font-variant-numeric:tabular-nums}
#faq .cost-row dt{margin:0;font-size:.875rem;color:var(--xpayj1y1-slate)}
#faq .cost-row dd{margin:0;font-size:.875rem;font-weight:600}
#faq .cost-row.is-total{border-top:2px solid var(--xpayj1y1-ink);border-bottom:0;padding-top:.75rem}
#faq .cost-row.is-total dd{color:var(--xpayj1y1-accent);font-size:1.05rem;font-weight:700}
#faq .faq-rail-note{margin:1rem 0 0;font-size:.8rem;color:var(--xpayj1y1-slate)}
#faq ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media(min-width:64rem){#faq .faq-head,#faq .faq-body{grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem)}}
@media(prefers-reduced-motion:reduce){#faq .faq-trigger{transition:none}}
/* xpayj1y1:cta */
/* xpayj1y1:cta */
#cta{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-ink);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,3rem);font-family:Georgia,Cambria,'Times New Roman',serif;}
#cta .cta-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:7fr 5fr;column-gap:clamp(1.5rem,4vw,3rem);row-gap:1.25rem;}
#cta .cta-label{grid-column:1/-1;margin:0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
#cta .cta-title{margin:0 0 1rem;font-family:'Hoefler Text','Baskerville Old Face',Garamond,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.01em;text-wrap:balance;max-width:34ch;}
#cta .cta-text{margin:0;max-width:46ch;font-size:1rem;line-height:1.6;color:var(--xpayj1y1-slate);}
#cta .cta-panel{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--xpayj1y1-border);padding-top:1rem;}
#cta .cta-facts{margin:0;display:flex;flex-direction:column;}
#cta .cta-fact{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--xpayj1y1-border);}
#cta .cta-fact dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--xpayj1y1-secondary);}
#cta .cta-fact dd{margin:0;font-size:.9375rem;line-height:1.5;color:var(--xpayj1y1-ink);}
#cta .cta-button{align-self:start;display:inline-block;background:var(--xpayj1y1-accent);color:var(--xpayj1y1-ink);border:1px solid var(--xpayj1y1-ink);border-radius:2px;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform 160ms ease,background-color 160ms ease;}
#cta .cta-button:hover{transform:translateY(-1px);}
#cta .cta-link{align-self:start;color:var(--xpayj1y1-ink);font-size:.9375rem;text-decoration:underline;text-underline-offset:3px;}
#cta .cta-link:hover{color:var(--xpayj1y1-secondary);}
#cta .cta-button:focus-visible,#cta .cta-link:focus-visible{outline:2px solid var(--xpayj1y1-secondary);outline-offset:3px;}
#cta ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-ink);}
@media (max-width:768px){#cta .cta-inner{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){#cta .cta-button{transition:none;}#cta .cta-button:hover{transform:none;}}
/* xpayj1y1:route-overview */
/* xpayj1y1:route-overview */
.route-overview{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);font-family:Georgia,Cambria,'Times New Roman',serif;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,4vw,3rem);}
.route-overview__inner{max-width:72rem;margin:0 auto;border-top:1px solid var(--xpayj1y1-ink);padding-top:1rem;}
.route-overview__label{margin:0 0 1.5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
.route-overview__grid{display:grid;grid-template-columns:7fr 5fr;gap:2.5rem 3rem;}
.route-overview__title{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;}
.route-overview__lead{margin:0 0 1.75rem;max-width:44rem;color:var(--xpayj1y1-slate);line-height:1.62;}
.route-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--xpayj1y1-border);}
.route-row{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.9rem 0;border-bottom:1px solid var(--xpayj1y1-ink);align-items:baseline;}
.route-row__name{grid-column:1;grid-row:1;font-weight:700;}
.route-row__price{grid-column:2;grid-row:1;text-align:right;font-weight:700;color:var(--xpayj1y1-accent);font-variant-numeric:tabular-nums;white-space:nowrap;}
.route-row__meta{grid-column:1;grid-row:2;font-size:.875rem;color:var(--xpayj1y1-slate);}
.route-row__day{grid-column:2;grid-row:2;text-align:right;font-size:.8125rem;color:var(--xpayj1y1-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;}
.route-overview__subhead{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
.route-includes{list-style:none;margin:0 0 1.5rem;padding:0;}
.route-includes li{padding:.6rem 0;border-top:1px solid var(--xpayj1y1-border);font-size:.9375rem;line-height:1.45;}
.route-includes li:last-child{border-bottom:1px solid var(--xpayj1y1-border);}
.route-overview__note{margin:0 0 1rem;padding-left:.85rem;border-left:2px solid var(--xpayj1y1-secondary);font-size:.875rem;line-height:1.55;color:var(--xpayj1y1-slate);}
.route-overview__foot{margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid var(--xpayj1y1-border);font-size:.9375rem;line-height:1.6;color:var(--xpayj1y1-slate);}
.route-overview__foot a{color:var(--xpayj1y1-text);text-decoration:underline;text-underline-offset:3px;transition:color 160ms ease;}
.route-overview__foot a:hover{color:var(--xpayj1y1-accent);}
.route-overview a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:3px;}
.route-overview ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);}
@media (max-width:900px){.route-overview__grid{grid-template-columns:1fr;gap:2rem;}}
@media (max-width:520px){.route-row{grid-template-columns:1fr;}.route-row__price,.route-row__day{grid-column:1;text-align:left;}}
@media (prefers-reduced-motion:reduce){.route-overview__foot a{transition:none;}}
/* xpayj1y1:route-table-full */
/* xpayj1y1:route-table-full */
#route-table-full{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-ink);padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem);font-variant-numeric:tabular-nums}
#route-table-full .route-table{max-width:72rem;margin:auto}
#route-table-full .eyebrow{margin:0 0 1rem;padding-top:.6rem;border-top:1px solid var(--xpayj1y1-ink);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
#route-table-full h2{margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;text-wrap:balance}
#route-table-full .lede,#route-table-full .route-meta,#route-table-full .rule-note{margin:.5rem 0 0;max-width:56ch;color:var(--xpayj1y1-slate);font-size:.875rem;line-height:1.55}
#route-table-full .switch{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-size:.9rem;cursor:pointer}
#route-table-full .route-list{margin:1.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--xpayj1y1-ink)}
#route-table-full .route-row{border-bottom:1px solid var(--xpayj1y1-border)}
#route-table-full .route-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem 1.5rem;align-items:baseline;padding:1.1rem 0}
#route-table-full h3{margin:0;font-size:1.1rem}
#route-table-full .route-figs{display:flex;gap:1.5rem;margin:0}
#route-table-full dt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
#route-table-full .price{font-weight:600;color:var(--xpayj1y1-accent)}
#route-table-full .route-toggle{min-height:44px;padding:.55rem 1rem;border:1px solid var(--xpayj1y1-ink);border-radius:2px;background:none;color:var(--xpayj1y1-ink);font:inherit;font-size:.85rem;cursor:pointer}
#route-table-full .route-detail{border-top:1px dashed var(--xpayj1y1-border);padding-bottom:1.5rem}
#route-table-full .day-list{padding-left:1.1rem;font-size:.9rem;line-height:1.6;color:var(--xpayj1y1-slate)}
#route-table-full .cost-list{display:grid;gap:.4rem;margin:1.25rem 0 0;font-size:.9rem}
#route-table-full .cost-list div{display:grid;grid-template-columns:1fr auto;gap:1rem}
#route-table-full .cost-total{border-top:1px solid var(--xpayj1y1-ink);padding-top:.5rem;font-weight:600}
#route-table-full .cost-total dd{color:var(--xpayj1y1-accent)}
#route-table-full a{color:var(--xpayj1y1-secondary)}
#route-table-full :focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
#route-table-full ::selection{background:var(--xpayj1y1-mist)}
@media(max-width:768px){#route-table-full .route-summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#route-table-full *{transition:none!important}}
/* xpayj1y1:cost-breakdown-detail */
/* xpayj1y1:cost-breakdown-detail */
.cost-detail{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-primary);padding:clamp(3rem,8vw,7rem) 0;}
.cost-detail__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
.cost-label{margin:0 0 1.25rem;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
.cost-head{max-width:52rem;padding-bottom:1.5rem;border-bottom:1px solid var(--xpayj1y1-border);}
.cost-head h2{margin:0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;}
.cost-head__lead{margin:.75rem 0 0;color:var(--xpayj1y1-slate);line-height:1.6;}
.cost-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);margin-top:2rem;}
.cost-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--xpayj1y1-primary);}
.cost-row{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--xpayj1y1-border);}
.cost-row__note{display:block;margin-top:.15rem;font-size:.8125rem;color:var(--xpayj1y1-slate);line-height:1.5;}
.cost-row__value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap;}
.cost-row--total{border-top:3px solid var(--xpayj1y1-primary);border-bottom:none;padding-top:1rem;}
.cost-row--total .cost-row__value{color:var(--xpayj1y1-accent);font-size:1.25rem;}
.cost-row--meta{border-bottom:none;padding:.3rem 0;}
.cost-row--meta .cost-row__label,.cost-row--meta .cost-row__value{font-size:.875rem;font-weight:400;color:var(--xpayj1y1-slate);}
.cost-side__title{margin:0 0 .75rem;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate);}
.cost-side ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--xpayj1y1-border);}
.cost-side li{padding:.7rem 0;border-bottom:1px solid var(--xpayj1y1-border);font-size:.9375rem;line-height:1.55;}
.cost-note{margin:1.25rem 0 1.5rem;font-size:.8125rem;line-height:1.6;color:var(--xpayj1y1-slate);}
.cost-cta{display:inline-block;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--xpayj1y1-primary);border-radius:2px;color:var(--xpayj1y1-primary);text-decoration:none;font-size:.9375rem;font-weight:600;transition:background-color 160ms ease,color 160ms ease;}
.cost-cta:hover,.cost-cta:active{background:var(--xpayj1y1-primary);color:var(--xpayj1y1-surface);}
.cost-cta:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px;}
.cost-detail ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);}
@media (min-width:1024px){.cost-grid{grid-template-columns:7fr 5fr;}}
@media (prefers-reduced-motion:reduce){.cost-cta{transition:none;}}
/* xpayj1y1:cta-routes */
/* xpayj1y1:cta-routes */
#cta-routes{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(3rem,8vw,7rem) 0;font-family:Georgia,Cambria,'Times New Roman',serif}
#cta-routes .cta-routes-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#cta-routes .cta-routes-label{margin:0 0 clamp(1.5rem,4vw,3rem);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
#cta-routes .cta-routes-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
#cta-routes .cta-routes-title{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
#cta-routes .cta-routes-text{margin:0 0 1.25rem;max-width:48ch;line-height:1.6;color:var(--xpayj1y1-text)}
#cta-routes .cta-routes-note{margin:0;padding-left:1rem;border-left:3px solid var(--xpayj1y1-border);font-size:.875rem;line-height:1.6;color:var(--xpayj1y1-slate)}
#cta-routes .cta-routes-panel{background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-ink);padding:clamp(1.25rem,3vw,1.75rem)}
#cta-routes .cta-routes-price{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin:0;padding-bottom:.75rem;border-bottom:1px solid var(--xpayj1y1-border);font-variant-numeric:tabular-nums}
#cta-routes .cta-routes-price-label{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
#cta-routes .cta-routes-price-value{font-size:1.25rem;font-weight:700;color:var(--xpayj1y1-accent)}
#cta-routes .cta-routes-small{margin:.875rem 0 0;font-size:.875rem;line-height:1.6;color:var(--xpayj1y1-slate)}
#cta-routes .cta-routes-actions{display:flex;flex-direction:column;gap:.875rem;margin-top:1.5rem}
#cta-routes .cta-routes-btn{display:inline-block;text-align:center;padding:.9rem 1.25rem;min-height:44px;border:1px solid var(--xpayj1y1-ink);border-radius:2px;background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);font-weight:600;text-decoration:none;transition:transform 160ms ease,background 160ms ease}
#cta-routes .cta-routes-btn:hover{background:var(--xpayj1y1-ink);transform:translateY(-1px)}
#cta-routes .cta-routes-link{align-self:flex-start;color:var(--xpayj1y1-secondary);text-decoration:none;border-bottom:1px solid var(--xpayj1y1-secondary);padding-bottom:2px;font-size:.9375rem}
#cta-routes .cta-routes-link:hover{border-bottom-width:2px}
#cta-routes .cta-routes-contact{margin:1.25rem 0 0;font-size:.875rem;line-height:1.6;color:var(--xpayj1y1-slate)}
#cta-routes .cta-routes-contact a{color:var(--xpayj1y1-secondary);text-decoration:underline}
#cta-routes a:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
#cta-routes ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media (max-width:900px){#cta-routes .cta-routes-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){#cta-routes .cta-routes-btn,#cta-routes .cta-routes-btn:hover{transition:none;transform:none}}

/* xpayj1y1:contact-form */
/* xpayj1y1:contact-form */
.contact-form{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);border-top:1px solid var(--xpayj1y1-ink);padding:clamp(2rem,6vw,4.5rem) 0}
.contact-form__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.contact-form__label{margin:0 0 .7rem;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-secondary);font-weight:700}
.contact-form__head{max-width:46rem;border-bottom:1px solid var(--xpayj1y1-ink);padding-bottom:1.25rem;margin-bottom:2rem}
.contact-form h2{margin:0 0 .7rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.contact-form__lede{margin:0;font-size:.95rem;line-height:1.65;color:var(--xpayj1y1-slate)}
.contact-form__grid{display:grid;grid-template-columns:1fr;gap:2rem}
.enquiry-form{background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-ink);padding:clamp(1.25rem,3vw,2rem)}
.field{margin:0 0 1rem}
.field-row{display:grid;grid-template-columns:1fr;gap:1rem}
.field label{display:block;margin-bottom:.35rem;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;padding:.6rem .7rem;font:inherit;font-size:.95rem;color:var(--xpayj1y1-ink);background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-border);border-radius:0}
.field textarea{min-height:6rem;resize:vertical}
.field :is(input,select,textarea):focus-visible,.enquiry-form button:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:1px}
.field--check{display:flex;gap:.6rem;align-items:flex-start}
.field--check input{width:auto;margin-top:.25rem}
.field--check label{margin:0;text-transform:none;letter-spacing:0;font-weight:400;font-size:.9rem;line-height:1.5;color:var(--xpayj1y1-slate)}
.enquiry-form button{margin-top:.5rem;width:100%;padding:.85rem 1.25rem;font:inherit;font-weight:700;color:var(--xpayj1y1-ink);background:var(--xpayj1y1-accent);border:1px solid var(--xpayj1y1-ink);border-radius:2px;cursor:pointer;transition:opacity 160ms ease}
.enquiry-form button:hover{opacity:.86}
.next-steps{border:1px solid var(--xpayj1y1-ink);background:var(--xpayj1y1-mist);padding:clamp(1.25rem,3vw,2rem)}
.next-steps h3{margin:0 0 1rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
.next-steps ol{margin:0 0 1.25rem;padding-left:1.1rem;font-size:.9rem;line-height:1.6}
.next-steps__meta{margin:0;padding-top:1rem;border-top:1px solid var(--xpayj1y1-border);font-size:.85rem;line-height:1.7;color:var(--xpayj1y1-slate)}
.contact-form ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media(min-width:640px){.field-row{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.contact-form__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
@media(prefers-reduced-motion:reduce){.enquiry-form button{transition:none}}
/* xpayj1y1:booking-info */
/* xpayj1y1:booking-info */
.booking-info{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.booking-info__inner{max-width:72rem;margin:0 auto}
.booking-info__label{margin:0 0 clamp(1.5rem,4vw,3rem);padding-top:1rem;border-top:1px solid var(--xpayj1y1-ink);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.booking-info__grid{display:grid;gap:clamp(2rem,5vw,4rem)}
.booking-info__title{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.booking-info__intro{margin:0 0 2rem;color:var(--xpayj1y1-slate);line-height:1.6}
.booking-info__steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--xpayj1y1-border)}
.booking-step{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid var(--xpayj1y1-border)}
.booking-step__num{font-variant-numeric:tabular-nums;color:var(--xpayj1y1-accent);font-size:.875rem}
.booking-step__title{margin:0 0 .375rem;font-size:1.05rem}
.booking-step__text{margin:0;color:var(--xpayj1y1-slate);font-size:.95rem;line-height:1.6}
.booking-info__side{align-self:start;background:var(--xpayj1y1-surface);border:1px solid var(--xpayj1y1-ink);padding:clamp(1.25rem,3vw,2rem)}
.booking-info__side-title{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--xpayj1y1-ink);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.deposit-list{margin:0 0 1.25rem}
.deposit-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid var(--xpayj1y1-border)}
.deposit-row dt{color:var(--xpayj1y1-slate);font-size:.95rem}
.deposit-row dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700}
.deposit-row--total{border-bottom:0;border-top:2px solid var(--xpayj1y1-ink)}
.deposit-row--total dd{color:var(--xpayj1y1-accent)}
.booking-info__note{margin:0 0 1rem;color:var(--xpayj1y1-slate);font-size:.875rem;line-height:1.6}
.booking-info__link{color:var(--xpayj1y1-secondary)}
.booking-info__link:focus-visible,.booking-info__side:focus-within{outline:2px solid var(--xpayj1y1-accent);outline-offset:2px}
@media(min-width:768px){.booking-info__grid{grid-template-columns:7fr 5fr}}
/* xpayj1y1:faq-mini */
/* xpayj1y1:faq-mini */
.faq-mini{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);font-family:Georgia,Cambria,'Times New Roman',serif;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);border-top:1px solid var(--xpayj1y1-ink)}
.faq-mini__inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.faq-mini__label{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.faq-mini__title{margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;color:var(--xpayj1y1-ink)}
.faq-mini__lede{margin:0;max-width:40ch;color:var(--xpayj1y1-slate);line-height:1.6}
.faq-mini__lede a{color:var(--xpayj1y1-secondary);text-decoration:underline;text-underline-offset:2px}
.faq-mini__list{border-top:1px solid var(--xpayj1y1-ink)}
.faq-mini__item{border-bottom:1px solid var(--xpayj1y1-border)}
.faq-mini__trigger{width:100%;min-height:44px;display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding:.85rem 0;background:none;border:0;font:inherit;font-size:1rem;font-weight:700;text-align:left;color:var(--xpayj1y1-ink);cursor:pointer;transition:transform 160ms ease,color 160ms ease}
.faq-mini__trigger:hover{color:var(--xpayj1y1-accent);transform:translateY(-1px)}
.faq-mini__trigger:focus-visible{outline:2px solid var(--xpayj1y1-accent);outline-offset:3px}
.faq-mini__mark{color:var(--xpayj1y1-accent);font-weight:700}
.faq-mini__panel{padding:0 0 1rem}
.faq-mini__panel p{margin:0;color:var(--xpayj1y1-slate);line-height:1.65}
.faq-mini ::selection{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface)}
@media(max-width:768px){.faq-mini__inner{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.faq-mini__trigger{transition:none}.faq-mini__trigger:hover{transform:none}}

.policy-page { max-width: 800px; margin: 0 auto; padding: 48px 24px; background: var(--xpayj1y1-bg); color: var(--xpayj1y1-text); font-family: var(--xpayj1y1-font); line-height: 1.6; }
.policy-header { border-bottom: 2px solid var(--xpayj1y1-border); padding-bottom: 16px; margin-bottom: 32px; }
.policy-header h1 { font-family: var(--xpayj1y1-font-display); font-size: 2rem; color: var(--xpayj1y1-primary); margin: 0 0 8px; }
.policy-meta { color: var(--xpayj1y1-slate); font-size: 0.9rem; margin: 0; }
.policy-section { margin-bottom: 28px; }
.policy-section h2 { font-family: var(--xpayj1y1-font-display); font-size: 1.25rem; color: var(--xpayj1y1-secondary); margin: 0 0 8px; }
.policy-section p { margin: 0 0 12px; }
.policy-contact { background: var(--xpayj1y1-surface); border: 1px solid var(--xpayj1y1-border); padding: 20px; }
.policy-contact p { margin: 0; }
a { color: var(--xpayj1y1-accent); text-decoration: underline; }
@media (max-width: 600px) { .policy-page { padding: 24px 16px; } .policy-header h1 { font-size: 1.5rem; } }
.policy-page { max-width: 800px; margin: 0 auto; padding: 2rem 1rem; background: var(--xpayj1y1-bg); color: var(--xpayj1y1-text); font-family: var(--xpayj1y1-font); line-height: 1.6; } .policy-header { border-bottom: 1px solid var(--xpayj1y1-border); padding-bottom: 1rem; margin-bottom: 2rem; } .policy-header h1 { font-family: var(--xpayj1y1-font-display); color: var(--xpayj1y1-primary); font-size: 2rem; margin: 0 0 0.5rem; } .policy-meta { color: var(--xpayj1y1-slate); font-size: 0.95rem; } .policy-section { margin-bottom: 2rem; } .policy-section h2 { font-family: var(--xpayj1y1-font-display); color: var(--xpayj1y1-secondary); font-size: 1.5rem; margin: 0 0 0.75rem; border-bottom: 1px solid var(--xpayj1y1-border); padding-bottom: 0.25rem; } .law-list { padding-left: 1.25rem; } .law-list li { margin-bottom: 0.5rem; } .contact-form { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; } .contact-form label { font-weight: bold; color: var(--xpayj1y1-ink); } .contact-form input, .contact-form textarea { padding: 0.5rem; border: 1px solid var(--xpayj1y1-border); background: var(--xpayj1y1-surface); color: var(--xpayj1y1-text); font-family: var(--xpayj1y1-font); font-size: 1rem; border-radius: var(--radius, 0); } .submit-button { background: var(--xpayj1y1-accent); color: var(--xpayj1y1-surface); border: none; padding: 0.75rem 1.5rem; font-size: 1rem; cursor: pointer; font-family: var(--xpayj1y1-font); align-self: flex-start; border-radius: var(--radius, 0); } .submit-button:hover { background: var(--xpayj1y1-secondary); } .policy-footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--xpayj1y1-border); font-size: 0.85rem; color: var(--xpayj1y1-slate); }
body {
  background-color: var(--xpayj1y1-bg);
  color: var(--xpayj1y1-text);
  font-family: var(--xpayj1y1-font);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
.policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.policy-content {
  background-color: var(--xpayj1y1-surface);
  border: 1px solid var(--xpayj1y1-border);
  padding: 2rem;
}
.policy-content h1 {
  font-family: var(--xpayj1y1-font-display);
  color: var(--xpayj1y1-primary);
  font-size: 2rem;
  margin-top: 0;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--xpayj1y1-secondary);
  padding-bottom: 0.5rem;
}
.policy-content h2 {
  font-family: var(--xpayj1y1-font-display);
  color: var(--xpayj1y1-secondary);
  font-size: 1.25rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.policy-content p {
  margin: 0 0 1rem 0;
}
.policy-content ul {
  margin: 0 0 1rem 0;
  padding-left: 1.5rem;
}
.policy-content li {
  margin-bottom: 0.25rem;
}
.policy-content a {
  color: var(--xpayj1y1-accent);
  text-decoration: underline;
}
.policy-content address {
  font-style: normal;
  background-color: var(--xpayj1y1-mist);
  padding: 1rem;
  border-left: 4px solid var(--xpayj1y1-secondary);
  margin-top: 1rem;
}
.policy-content address a {
  color: var(--xpayj1y1-secondary);
}
.policy-page{max-width:800px;margin:0 auto;padding:2rem 1rem;font-family:var(--xpayj1y1-font);color:var(--xpayj1y1-text);background:var(--xpayj1y1-bg)}.policy-header{border-bottom:1px solid var(--xpayj1y1-border);padding-bottom:1rem;margin-bottom:2rem}.policy-header h1{font-family:var(--xpayj1y1-font-display);font-size:2rem;margin:0 0 0.5rem;color:var(--xpayj1y1-primary)}.policy-section{margin-bottom:1.5rem}.policy-section h2{font-family:var(--xpayj1y1-font-display);font-size:1.25rem;margin:1.5rem 0 0.5rem;color:var(--xpayj1y1-primary)}.policy-section p{line-height:1.6;margin:0 0 1rem}.policy-footer{border-top:1px solid var(--xpayj1y1-border);padding-top:1rem;margin-top:2rem;font-size:0.9rem;color:var(--xpayj1y1-slate)}.policy-footer h2{font-family:var(--xpayj1y1-font-display);font-size:1.25rem;margin:0 0 0.5rem;color:var(--xpayj1y1-primary)}.policy-footer p{margin:0;line-height:1.6}
.policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  font-family: var(--xpayj1y1-font);
  color: var(--xpayj1y1-text);
  background-color: var(--xpayj1y1-bg);
  line-height: 1.6;
}
.policy-content {
  background-color: var(--xpayj1y1-surface);
  padding: 2rem;
  border: 1px solid var(--xpayj1y1-border);
}
.policy-content h1 {
  font-family: var(--xpayj1y1-font-display);
  color: var(--xpayj1y1-primary);
  font-size: 2rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--xpayj1y1-accent);
  padding-bottom: 0.5rem;
}
.policy-content h2 {
  font-family: var(--xpayj1y1-font-display);
  color: var(--xpayj1y1-secondary);
  font-size: 1.4rem;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}
.policy-content p, .policy-content ul {
  margin-bottom: 1rem;
}
.policy-content ul {
  padding-left: 1.5rem;
}
.policy-content li {
  margin-bottom: 0.5rem;
}
.policy-footer {
  margin-top: 2rem;
  padding: 1.5rem;
  background-color: var(--xpayj1y1-mist);
  border: 1px solid var(--xpayj1y1-border);
  font-size: 0.9rem;
  color: var(--xpayj1y1-slate);
}
.policy-footer h2 {
  font-size: 1.2rem;
  color: var(--xpayj1y1-primary);
  margin-bottom: 0.75rem;
}
.policy-footer p {
  margin-bottom: 0.5rem;
}
.policy-footer strong {
  color: var(--xpayj1y1-ink);
}
body{background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);font-family:var(--xpayj1y1-font);line-height:1.6;margin:0;padding:0}
.policy-page{max-width:800px;margin:0 auto;padding:40px 20px}
.policy-content{background:var(--xpayj1y1-surface);padding:40px;border:1px solid var(--xpayj1y1-border)}
h1,h2{font-family:var(--xpayj1y1-font-display);color:var(--xpayj1y1-primary);margin-top:0}
h1{font-size:2.2rem;margin-bottom:1rem}
h2{font-size:1.5rem;margin-top:2rem;margin-bottom:0.75rem}
p,li{color:var(--xpayj1y1-text);margin-bottom:0.75rem}
ul{padding-left:1.5rem;margin-bottom:1.5rem}
li{margin-bottom:0.5rem}
a{color:var(--xpayj1y1-secondary);text-decoration:underline}
.contact-form{margin:1.5rem 0;display:flex;flex-direction:column;gap:0.75rem}
.contact-form label{font-weight:bold;color:var(--xpayj1y1-slate);font-size:0.9rem}
.contact-form input,.contact-form textarea{padding:0.75rem;border:1px solid var(--xpayj1y1-border);font-family:var(--xpayj1y1-font);font-size:1rem;background:var(--xpayj1y1-surface);color:var(--xpayj1y1-text);border-radius:0}
.contact-form button{background:var(--xpayj1y1-accent);color:var(--xpayj1y1-surface);border:none;padding:0.75rem 1.5rem;font-family:var(--xpayj1y1-font-display);font-size:1rem;cursor:pointer;align-self:flex-start;border-radius:0}
.contact-form button:hover{background:var(--xpayj1y1-secondary)}
.business-info{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--xpayj1y1-border);font-size:0.9rem;color:var(--xpayj1y1-slate)}
body{margin:0;background:var(--xpayj1y1-bg);color:var(--xpayj1y1-text);font-family:var(--xpayj1y1-font);line-height:1.65}
.policy-page{max-width:860px;margin:0 auto;padding:48px 24px 64px;display:block}
.policy-hero{border-bottom:1px solid var(--xpayj1y1-border);padding-bottom:32px}
.policy-eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--xpayj1y1-secondary);font-family:var(--xpayj1y1-font)}
.policy-title{margin:0 0 16px;font-family:var(--xpayj1y1-font-display);font-size:36px;line-height:1.2;color:var(--xpayj1y1-primary)}
.policy-lead{margin:0 0 12px;font-size:18px;color:var(--xpayj1y1-ink)}
.policy-meta{margin:0;font-size:14px;color:var(--xpayj1y1-slate)}
.policy-content,.business-info{padding-top:36px}
h2{margin:0 0 12px;font-family:var(--xpayj1y1-font-display);font-size:22px;color:var(--xpayj1y1-primary)}
p{margin:0 0 14px;font-size:16px;color:var(--xpayj1y1-text)}
.policy-steps{margin:0 0 24px;padding-left:20px}
.policy-steps li{margin-bottom:8px;font-size:16px}
.policy-links{list-style:none;margin:0 0 24px;padding:0}
.policy-links li{padding:10px 0;border-bottom:1px solid var(--xpayj1y1-border)}
.policy-links a,.business-list a{color:var(--xpayj1y1-secondary);text-decoration:none;border-bottom:1px solid var(--xpayj1y1-accent)}
.policy-links a:hover,.business-list a:hover{color:var(--xpayj1y1-accent)}
.business-info{border-top:1px solid var(--xpayj1y1-border);margin-top:36px}
.business-list{display:block;margin:0 0 16px}
.business-list dt{margin-top:14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--xpayj1y1-slate)}
.business-list dd{margin:4px 0 0;font-size:16px;color:var(--xpayj1y1-ink)}
.policy-note{margin-top:20px;padding:16px;background:var(--xpayj1y1-mist);border-left:3px solid var(--xpayj1y1-secondary);font-size:15px;color:var(--xpayj1y1-slate)}
@media (max-width:600px){.policy-page{padding:32px 18px 48px}.policy-title{font-size:27px}.policy-lead{font-size:17px}}
section[data-xpayj1y1-twy]:not([data-xpayj1y1-twy='header']):not([data-xpayj1y1-twy='footer']) { position: relative; }
section[data-xpayj1y1-twy]:not([data-xpayj1y1-twy='header']):not([data-xpayj1y1-twy='footer']) > :first-child { transform: translateX(clamp(0rem, 2vw, 2rem)); }
section[data-xpayj1y1-twy]:nth-of-type(even) > :first-child { transform: translateX(clamp(-2rem, -2vw, 0rem)); }
section[data-xpayj1y1-twy] h1, section[data-xpayj1y1-twy] h2 { max-width: 18ch; letter-spacing: -0.04em; }
:root {
  --xpayj1y1-c-content-width: 72rem;
  --xpayj1y1-c-gutter: clamp(1rem, 4vw, 3rem);
  --xpayj1y1-c-measure: 65ch;
  --xpayj1y1-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-xpayj1y1-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-xpayj1y1-twy] { padding-inline: var(--xpayj1y1-c-gutter); }
[data-xpayj1y1-dr*='article'], [data-xpayj1y1-dr*='review'] { max-width: var(--xpayj1y1-c-measure); }
h1 { font-size: var(--xpayj1y1-c-heading-display); }
@media (max-width: 768px) { [data-xpayj1y1-dr] { min-width: 0; } }