/* travel-echelon.com: one stylesheet, self-hosted type, no third-party anything. */
@font-face{font-family:"League Spartan";src:url(/a/spartan.bf980237df.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(/a/caslon-400.1471d8a9f2.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(/a/caslon-400i.33a3280b9c.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(/a/caslon-700.7dc7dc90fb.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --ek-ink:#2a1420;--ek-deep:#1f0e18;--ek-lime:#b7d63f;--ek-lime2:#c9e27a;--ek-tint:#e8f2c0;
  --ek-muted:#5d4a55;--ek-wine:#7a2e4a;--ek-paper:#ffffff;--ek-line:rgba(42,20,32,.16);
  --ek-disp:"League Spartan",system-ui,sans-serif;--ek-text:"Libre Caslon Text",Georgia,serif;
  --ek-w:1280px;--ek-g:clamp(16px,3vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ek-paper);color:var(--ek-ink);font:400 17.5px/1.62 var(--ek-text);overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:var(--ek-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ek-wine);text-decoration-color:var(--ek-lime);text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--ek-wine);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--ek-disp);line-height:1.04;letter-spacing:-.012em;margin:0 0 .5em;font-weight:800}
h1{font-size:clamp(2.1rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.6rem,2.8vw,2.45rem)}
h3{font-size:clamp(1.18rem,1.6vw,1.4rem);font-weight:700;line-height:1.15}
p{margin:0 0 1em}
ul,ol{margin:0 0 1.1em;padding-left:1.25em}
li{margin:.25em 0}
.ek-wrap{max-width:var(--ek-w);margin:0 auto;padding:0 var(--ek-g)}
.ek-skip{position:absolute;left:-9999px;top:0;background:var(--ek-lime);color:var(--ek-ink);padding:.6em 1em;font-family:var(--ek-disp);font-weight:700;z-index:50}
.ek-skip:focus{left:8px;top:8px}
.ek-nw{white-space:nowrap}
.ek-kick{display:inline-block;font:700 .82rem/1.2 var(--ek-disp);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9em;padding:.34em .6em .22em;background:var(--ek-lime);color:var(--ek-ink)}
.ek-dark .ek-kick{background:var(--ek-lime);color:var(--ek-deep)}

/* ── header: masthead, pages, then the tail tier with the phone and the one browser question ── */
.ek-top{background:var(--ek-paper);border-bottom:6px solid var(--ek-lime);position:relative;z-index:20}
.ek-row{display:flex;align-items:center;gap:1.4rem;min-height:74px}
.ek-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:800 1.42rem/1 var(--ek-disp);letter-spacing:-.01em;color:var(--ek-ink);flex:0 0 auto}
.ek-brand svg{width:40px;height:40px;flex:0 0 40px}
.ek-brand:hover{color:var(--ek-ink)}
.ek-nav{margin-left:auto}
.ek-nav ul{display:flex;flex-wrap:wrap;gap:.2rem 1.15rem;list-style:none;margin:0;padding:0;align-items:center}
.ek-nav li{margin:0}
.ek-nav a{font:600 .97rem/1.2 var(--ek-disp);text-decoration:none;padding:.35em 0;display:inline-block;border-bottom:3px solid transparent}
.ek-nav a[aria-current="page"],.ek-nav a:hover{border-bottom-color:var(--ek-ink);color:var(--ek-ink)}
.ek-nav .ek-go a{background:var(--ek-ink);color:var(--ek-paper);padding:.62em 1em .5em;border:0}
.ek-nav .ek-go a:hover,.ek-nav .ek-go a[aria-current="page"]{background:var(--ek-wine);color:var(--ek-paper)}
.ek-menu{display:none;margin-left:auto;font:700 1rem/1 var(--ek-disp);background:var(--ek-ink);color:var(--ek-paper);border:0;padding:.7em 1em .6em;cursor:pointer}
.ek-tail{background:var(--ek-ink);color:var(--ek-paper);font:500 .95rem/1.35 var(--ek-disp)}
.ek-tail .ek-wrap{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;align-items:center;min-height:42px;padding-top:.35rem;padding-bottom:.35rem}
.ek-tail a{color:var(--ek-lime);font-weight:700;text-decoration:none}
.ek-tail a:hover{color:var(--ek-paper);text-decoration:underline}
.ek-keep{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin-left:auto}
.ek-keep[hidden]{display:none}
.ek-keep p{margin:0}
.ek-keep button{font:700 .86rem/1 var(--ek-disp);padding:.5em .75em .42em;border:2px solid var(--ek-lime);background:transparent;color:var(--ek-paper);cursor:pointer}
.ek-keep button[data-ek-keep-choice="allow"]{background:var(--ek-lime);color:var(--ek-ink)}
@media (max-width:1300px){
  .ek-menu{display:inline-block}
  .ek-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ek-paper);border-bottom:6px solid var(--ek-lime);padding:1rem var(--ek-g) 1.2rem}
  .ek-nav.ek-open{display:block}
  .ek-nav ul{flex-direction:column;align-items:flex-start;gap:.3rem}
  .ek-row{position:relative}
}

/* ── breadcrumbs ── */
.ek-crumbs ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;font:500 .9rem/1.3 var(--ek-disp)}
.ek-crumbs li{margin:0}
.ek-crumbs li+li::before{content:"/";margin-right:.35rem;opacity:.6}
.ek-dark .ek-crumbs a{color:var(--ek-lime)}

/* ── front page first screen: three columns, a tall frame in the middle ── */
.ek-tri{background:var(--ek-ink);color:var(--ek-paper)}
.ek-tri__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr) minmax(0,1fr);gap:clamp(18px,2vw,30px);align-items:stretch;padding-top:clamp(22px,3vw,38px);padding-bottom:clamp(22px,3vw,38px)}
.ek-tri h1{color:var(--ek-paper);font-size:clamp(2rem,3.3vw,3.15rem)}
.ek-tri__text p{max-width:38em}
.ek-tri__frame{position:relative;align-self:start}
.ek-tri__frame img{width:100%;height:auto;aspect-ratio:.61;object-fit:cover;object-position:50% 72%;border:6px solid var(--ek-lime)}
.ek-tri a:not(.ek-btn){color:var(--ek-lime)}
.ek-tri .ek-btn,.ek-tri .ek-btn:hover{color:var(--ek-ink)}
.ek-tri .ek-card a:not(.ek-btn){color:var(--ek-ink)}
.ek-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .55rem;margin:0 0 .9rem;font-family:var(--ek-disp)}
.ek-price b{font-size:clamp(2rem,3vw,2.7rem);font-weight:800;line-height:1;color:var(--ek-lime)}
.ek-price span{font-size:1rem;font-weight:500}
.ek-geo{font:500 1rem/1.45 var(--ek-disp);border-left:4px solid var(--ek-lime);padding-left:.8rem}
.ek-call{font:700 1.18rem/1.3 var(--ek-disp);margin:.2rem 0 .25rem}
.ek-call a{font-size:1.42rem;text-decoration:none}
.ek-hours{font:500 .95rem/1.45 var(--ek-disp);opacity:.94}
.ek-indep{font-size:.98rem;line-height:1.5;background:rgba(255,255,255,.07);border-top:2px solid var(--ek-lime);padding:.7rem .8rem;margin-top:1rem}
@media (max-width:1180px){
  .ek-tri__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ek-tri__frame{grid-column:1 / -1;order:3}
  .ek-tri__frame img{height:auto;aspect-ratio:2.57;object-position:center 88%}
}
@media (max-width:760px){
  .ek-tri__grid{grid-template-columns:minmax(0,1fr)}
  .ek-tri__frame{order:2}
}

/* ── the request form ── */
.ek-card{background:var(--ek-paper);color:var(--ek-ink);padding:clamp(16px,2vw,24px);border-top:8px solid var(--ek-lime);box-shadow:0 18px 40px rgba(31,14,24,.28)}
.ek-card h2{font-size:1.5rem;margin-bottom:.3rem}
.ek-card a{color:var(--ek-ink)}
.ek-card__note{font-size:.95rem;color:var(--ek-muted);margin-bottom:.8rem}
.ek-form fieldset{border:0;margin:0 0 .8rem;padding:0;min-width:0}
.ek-form legend{font:700 1rem/1.3 var(--ek-disp);padding:0;margin-bottom:.45rem}
.ek-doorpick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.ek-doorpick label{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;font:600 .8rem/1.15 var(--ek-disp);padding:.5rem .25rem .45rem;border:2px solid var(--ek-line);cursor:pointer;background:var(--ek-paper);min-height:100%}
.ek-doorpick input{position:absolute;opacity:0;width:1px;height:1px}
.ek-doorpick svg{width:34px;height:34px}
.ek-doorpick input:checked+label{border-color:var(--ek-ink);background:var(--ek-tint);box-shadow:inset 0 -4px 0 var(--ek-lime)}
.ek-doorpick input:focus-visible+label{outline:3px solid var(--ek-wine);outline-offset:2px}
.ek-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .7rem}
.ek-f{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.ek-f--wide{grid-column:1 / -1}
.ek-f label,.ek-seg legend{font:600 .9rem/1.25 var(--ek-disp)}
.ek-f small{font-size:.82rem;color:var(--ek-muted);line-height:1.35}
.ek-form input[type=text],.ek-form input[type=tel],.ek-form input[type=email],.ek-form input[type=date],.ek-form input[type=time],.ek-form input[type=number],.ek-form select,.ek-form textarea{font:400 1rem/1.3 var(--ek-text);padding:.52rem .6rem;border:2px solid rgba(42,20,32,.34);background:#fff;color:var(--ek-ink);width:100%;min-width:0;border-radius:0}
.ek-form input:focus,.ek-form select:focus,.ek-form textarea:focus{border-color:var(--ek-ink);outline:3px solid var(--ek-lime);outline-offset:0}
.ek-seg{display:flex;flex-wrap:wrap;gap:.35rem}
.ek-seg label{display:inline-flex;align-items:center;gap:.35rem;border:2px solid var(--ek-line);padding:.38rem .6rem;font:600 .9rem/1.2 var(--ek-disp);cursor:pointer}
.ek-seg input:checked+span{text-decoration:underline;text-decoration-color:var(--ek-lime);text-decoration-thickness:4px;text-underline-offset:4px}
.ek-detail{background:var(--ek-tint);padding:.7rem .75rem .2rem;margin:0 0 .8rem;border-left:5px solid var(--ek-ink)}
.ek-detail[hidden]{display:none}
.ek-detail h3{font-size:1rem;margin:0 0 .45rem}
.ek-stage2[hidden]{display:none}
.ek-consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem;line-height:1.4}
.ek-consent input{margin-top:.25rem;width:18px;height:18px;flex:0 0 18px}
.ek-btn{display:inline-block;font:800 1.08rem/1.1 var(--ek-disp);background:var(--ek-lime);color:var(--ek-ink);border:0;padding:.85em 1.2em .75em;cursor:pointer;text-decoration:none;box-shadow:inset 0 -4px 0 rgba(42,20,32,.22)}
.ek-btn:hover{background:var(--ek-lime2);color:var(--ek-ink)}
.ek-btn--ink{background:var(--ek-ink);color:var(--ek-paper)}
.ek-btn--ink:hover{background:var(--ek-wine);color:var(--ek-paper)}
.ek-form .ek-btn{width:100%;margin-top:.3rem}
.ek-formfoot{font-size:.84rem;color:var(--ek-muted);margin:.6rem 0 0;line-height:1.4}
.ek-err{color:#8c1d3a;font:600 .82rem/1.3 var(--ek-disp);min-height:0}
.ek-pot{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.ek-glyph{display:inline-flex;gap:3px;vertical-align:middle}
.ek-glyph svg{width:44px;height:18px}

/* ── sections of the front page ── */
.ek-sec{padding:clamp(40px,6vw,84px) 0}
.ek-sec--tint{background:var(--ek-tint)}
.ek-sec--dark{background:var(--ek-ink);color:var(--ek-paper)}
.ek-sec--dark a{color:var(--ek-lime)}
.ek-sec--dark h2,.ek-sec--dark h3{color:var(--ek-paper)}
.ek-sec__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(16px,3vw,48px);align-items:end;margin-bottom:clamp(20px,3vw,36px)}
.ek-sec__head p{margin:0}
@media (max-width:860px){.ek-sec__head{grid-template-columns:minmax(0,1fr)}}

.ek-doors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.2vw,16px);list-style:none;margin:0;padding:0}
.ek-door{margin:0;display:flex;flex-direction:column;background:var(--ek-paper);border:2px solid var(--ek-ink)}
.ek-door__img{position:relative}
.ek-door__img img{width:100%;aspect-ratio:1.06;object-fit:cover}
.ek-door__name{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1.6rem .7rem .6rem;background:linear-gradient(to top,rgba(31,14,24,.92),rgba(31,14,24,.55) 62%,rgba(31,14,24,0));color:var(--ek-paper);font:800 1.14rem/1.08 var(--ek-disp)}
.ek-door__name a{color:var(--ek-paper);text-decoration:none}
.ek-door__name a::after{content:"";position:absolute;inset:-400px 0 0 0}
.ek-door__body{padding:.75rem .7rem .8rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.ek-door__body p{margin:0;font-size:.96rem;line-height:1.5}
.ek-door__need{font:600 .86rem/1.3 var(--ek-disp);display:flex;align-items:center;gap:.5rem}
.ek-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.ek-tag{font-family:var(--ek-disp);background:var(--ek-lime);color:var(--ek-ink);padding:.35rem .5rem .25rem;line-height:1.05}
.ek-tag b{display:block;font-size:1.3rem;font-weight:800}
.ek-tag span{font-size:.76rem;font-weight:600}
@media (max-width:1180px){.ek-doors{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.ek-doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.ek-doors{grid-template-columns:minmax(0,1fr)}}

.ek-bandimg img{width:100%;aspect-ratio:2.57;object-fit:cover}
.ek-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);counter-reset:ek;list-style:none;margin:clamp(20px,3vw,32px) 0 0;padding:0}
.ek-steps li{margin:0;padding-top:.9rem;border-top:6px solid var(--ek-ink);counter-increment:ek}
.ek-steps li::before{content:counter(ek);display:block;font:800 2.6rem/1 var(--ek-disp);color:var(--ek-wine);margin-bottom:.35rem}
.ek-steps h3{margin-bottom:.35rem}
.ek-steps p{margin:0;font-size:.98rem}
@media (max-width:900px){.ek-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ek-steps{grid-template-columns:minmax(0,1fr)}}

.ek-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.ek-pair__col{border:2px solid var(--ek-lime);padding:clamp(16px,2vw,26px)}
.ek-pair dl{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.35rem 1rem;margin:0 0 1rem}
.ek-pair dt{font:700 .92rem/1.35 var(--ek-disp);color:var(--ek-lime2)}
.ek-pair dd{margin:0}
@media (max-width:760px){.ek-pair{grid-template-columns:minmax(0,1fr)}}

.ek-inout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,30px);margin-top:1.4rem}
.ek-inout h3{display:flex;align-items:center;gap:.5rem}
.ek-inout ul{list-style:none;padding:0}
.ek-inout li{display:flex;gap:.55rem;align-items:flex-start;padding:.35rem 0;border-bottom:1px solid var(--ek-line)}
.ek-inout li svg{flex:0 0 20px;width:20px;height:20px;margin-top:.2rem}
@media (max-width:760px){.ek-inout{grid-template-columns:minmax(0,1fr)}}

/* ── tables: fares and towns ── */
.ek-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.2rem}
.ek-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:560px}
.ek-table caption{text-align:left;font:700 1rem/1.35 var(--ek-disp);padding:0 0 .6rem;caption-side:top}
.ek-table th,.ek-table td{padding:.55rem .6rem;border-bottom:1px solid var(--ek-line);text-align:left;vertical-align:top}
.ek-table thead th{font:700 .88rem/1.25 var(--ek-disp);letter-spacing:.02em;border-bottom:3px solid var(--ek-ink);background:var(--ek-tint)}
.ek-table td.ek-num,.ek-table th.ek-num{text-align:right;font-family:var(--ek-disp);font-weight:700;white-space:nowrap}
.ek-table tbody th{font-weight:700;font-family:var(--ek-disp)}
.ek-near{display:inline-block;font:700 .78rem/1 var(--ek-disp);padding:.28em .45em .2em;background:var(--ek-ink);color:var(--ek-paper);white-space:nowrap}
.ek-sec--dark .ek-table thead th{background:transparent;color:var(--ek-lime)}
.ek-sec--dark .ek-table th,.ek-sec--dark .ek-table td{border-bottom-color:rgba(255,255,255,.2)}

/* ── questions ── */
.ek-qa{margin:0}
.ek-qa dt{font:700 1.14rem/1.3 var(--ek-disp);margin:1.1rem 0 .35rem;padding-left:.8rem;border-left:5px solid var(--ek-lime)}
.ek-qa dd{margin:0 0 0 .8rem;padding-left:.8rem}
.ek-qa--cols{columns:2 26rem;column-gap:clamp(20px,3vw,48px)}
.ek-qa--cols div{break-inside:avoid}

/* ── final band ── */
.ek-final{position:relative;color:var(--ek-paper);background:var(--ek-deep)}
.ek-final img{width:100%;aspect-ratio:2.57;object-fit:cover;opacity:.5}
.ek-final__box{position:absolute;inset:0;display:flex;align-items:center}
.ek-final__box .ek-wrap{width:100%}
.ek-final__inner{max-width:40rem;background:rgba(31,14,24,.84);padding:clamp(16px,2.4vw,30px);border-left:8px solid var(--ek-lime)}
.ek-final h2{color:var(--ek-paper)}
.ek-final a:not(.ek-btn){color:var(--ek-lime)}
@media (max-width:760px){.ek-final img{aspect-ratio:1.4}.ek-final__box{position:static;padding:0 0 24px}.ek-final__inner{margin-top:-70px;position:relative}}

/* ── inner pages ── */
.ek-head{background:var(--ek-ink);color:var(--ek-paper)}
.ek-head a{color:var(--ek-lime)}
.ek-head h1{color:var(--ek-paper)}
.ek-head__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.62fr);gap:clamp(18px,3vw,44px);padding-top:clamp(22px,3vw,40px);padding-bottom:clamp(22px,3vw,40px);align-items:center}
.ek-head__grid--solo{grid-template-columns:minmax(0,1fr)}
.ek-head__lead{font-size:1.1rem;max-width:44em}
.ek-head__img img{width:100%;aspect-ratio:.61;object-fit:cover;border:6px solid var(--ek-lime);max-height:78vh}
.ek-head__facts{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font:600 .95rem/1.35 var(--ek-disp);margin-top:.8rem}
@media (max-width:860px){.ek-head__grid{grid-template-columns:minmax(0,1fr)}.ek-head__img img{aspect-ratio:1.4;max-height:none}}

.ek-body{padding:clamp(30px,4vw,56px) 0 clamp(40px,5vw,70px)}
.ek-body__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(24px,4vw,56px);align-items:start}
.ek-body__grid--solo{grid-template-columns:minmax(0,1fr)}
.ek-article{min-width:0}
.ek-article>h2{margin-top:1.4em}
.ek-article>h2:first-child{margin-top:0}
.ek-article>p,.ek-article>ul,.ek-article>ol{max-width:44em}
.ek-rail{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
@media (max-width:980px){.ek-body__grid{grid-template-columns:minmax(0,1fr)}.ek-rail{position:static;max-height:none;overflow:visible}}
.ek-aside{background:var(--ek-tint);border-left:6px solid var(--ek-ink);padding:1rem 1.1rem;margin:1.6rem 0;max-width:44em}
.ek-aside h3{margin-bottom:.35rem}
.ek-aside p{margin:0}
.ek-box{border:2px solid var(--ek-ink);padding:1rem 1.1rem;margin:0 0 1.4rem;max-width:44em}
.ek-box h3{margin-bottom:.5rem}
.ek-box dl{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.3rem .9rem;margin:0}
.ek-box dt{font:700 .9rem/1.4 var(--ek-disp)}
.ek-box dd{margin:0}
.ek-datenote{font-size:.88rem;color:var(--ek-muted);border-top:1px solid var(--ek-line);padding-top:.6rem;max-width:44em}
.ek-wide{margin:1.6rem 0}
.ek-wide img{width:100%;aspect-ratio:2.57;object-fit:cover}
.ek-wide figcaption,.ek-fig figcaption{font-size:.86rem;color:var(--ek-muted);margin-top:.4rem}
.ek-fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);list-style:none;margin:1rem 0 1.6rem;padding:0}
.ek-fleet li{margin:0;border:2px solid var(--ek-ink);background:var(--ek-paper)}
.ek-fleet img{width:100%;aspect-ratio:1.06;object-fit:cover}
.ek-fleet div{padding:.7rem .8rem}
.ek-fleet h2{margin-bottom:.3rem;font-size:clamp(1.18rem,1.6vw,1.4rem);font-weight:700;line-height:1.15}
@media (max-width:760px){.ek-fleet{grid-template-columns:minmax(0,1fr)}}
.ek-particulars{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.35rem 1rem;margin:0 0 1.4rem;max-width:44em}
.ek-particulars dt{font:700 .95rem/1.45 var(--ek-disp)}
.ek-particulars dd{margin:0}

/* ── footer: a door frame; the lintel carries the company, the jambs hold the page ── */
.ek-foot{background:var(--ek-deep);color:#efe9ec;padding:clamp(28px,4vw,48px) 0 0;font-size:.97rem}
.ek-foot a{color:var(--ek-lime2)}
.ek-frame{border:14px solid var(--ek-lime);border-bottom:0;padding:0}
.ek-lintel{background:var(--ek-lime);color:var(--ek-deep);font:700 1rem/1.35 var(--ek-disp);padding:.25rem .9rem .65rem;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;align-items:baseline}
.ek-lintel strong{font-size:1.35rem;font-weight:800}
.ek-lintel a{color:var(--ek-deep)}
.ek-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);padding:clamp(18px,2.6vw,30px) clamp(16px,2.4vw,30px)}
.ek-opening address{font-style:normal;line-height:1.55}
.ek-opening p{margin:0 0 .8rem}
.ek-sill{border-top:6px solid var(--ek-lime);padding:.8rem 0 1.4rem;font-size:.86rem;color:#d6ccd1}
@media (max-width:760px){.ek-frame{border-width:8px}.ek-opening{grid-template-columns:minmax(0,1fr)}}

/* ── 404 and thank-you ── */
.ek-plain{min-height:44vh}

/* ── the catalogue page and the town list ── */
.ek-kinds{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px);margin-bottom:1.6rem}
.ek-kind{display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(12px,2vw,24px);padding:1.1rem 0 1.2rem;border-top:4px solid var(--ek-ink)}
.ek-kind__icon{width:72px;height:72px;background:var(--ek-lime);color:var(--ek-ink);display:flex;align-items:center;justify-content:center}
.ek-kind__icon svg{width:46px;height:46px}
.ek-kind h2{margin-top:0}
.ek-kind .ek-tags{margin:.4rem 0 .8rem}
@media (max-width:520px){.ek-kind{grid-template-columns:minmax(0,1fr)}}
.ek-townlist{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.45rem .9rem}
.ek-townlist li{margin:0;display:flex;justify-content:space-between;gap:.5rem;align-items:center;background:var(--ek-paper);padding:.45rem .6rem;border-left:4px solid var(--ek-ink);font-family:var(--ek-disp)}
.ek-doorpick label span{overflow-wrap:normal;hyphens:manual}
.ek-head .ek-tags{margin-top:.6rem}
.ek-head .ek-tag{color:var(--ek-ink)}
.ek-glyph{color:var(--ek-ink)}
.ek-head .ek-glyph,.ek-dark .ek-glyph{color:var(--ek-lime)}

/* ── fare boards on the pricing page: one per airport, outside the prose column ── */
.ek-sec--tight{padding:clamp(24px,3vw,40px) 0}
.ek-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.ek-board{background:var(--ek-paper);border-top:8px solid var(--ek-ink);padding:1rem 1.1rem .4rem}
.ek-board h2{font-size:1.5rem;margin-bottom:.4rem}
.ek-table--fit{min-width:420px}
.ek-table--fit td.ek-num{font-size:1.12rem}
@media (max-width:900px){.ek-boards{grid-template-columns:minmax(0,1fr)}}
.ek-head .ek-datenote{color:#d9cfd4;border-top-color:rgba(255,255,255,.22)}
.ek-box h2{font-size:1.35rem;margin-bottom:.55rem}
.ek-final .ek-datenote{color:#d9cfd4}
.ek-sec--tight .ek-table{background:var(--ek-paper)}
@media (max-width:640px){.ek-box dl,.ek-particulars,.ek-pair dl{grid-template-columns:minmax(0,1fr);gap:.1rem 0}.ek-box dd,.ek-particulars dd,.ek-pair dd{margin-bottom:.55rem}}

/* ── audit fixes: from before a fare, a request button on phones, the second stage explained ── */
.ek-price small,.ek-tag small{font:700 .8rem/1 var(--ek-disp);text-transform:uppercase;letter-spacing:.08em}
.ek-tag small{display:block;margin-bottom:.1rem}
.ek-go-m{display:none;font:700 .95rem/1 var(--ek-disp);background:var(--ek-lime);color:var(--ek-ink);text-decoration:none;padding:.7em .9em .6em}
.ek-go-m:hover{background:var(--ek-lime2);color:var(--ek-ink)}
@media (max-width:1300px){.ek-go-m{display:inline-block;margin-left:auto}.ek-go-m+.ek-menu{margin-left:.5rem}}
@media (max-width:440px){.ek-go-m{padding:.65em .6em .55em;font-size:.86rem}.ek-grid2{grid-template-columns:minmax(0,1fr)}.ek-brand{font-size:1.2rem}}
.ek-stage2__h{font-size:1.1rem;margin:.8rem 0 .2rem;padding-top:.7rem;border-top:3px solid var(--ek-lime)}
.ek-stage2__h:focus{outline:none}
.ek-stage2__note{font-size:.9rem;color:var(--ek-muted);margin-bottom:.7rem}

/* ── the short check: airport, date and a button on the first screen; the request page shows its form first on phones ── */
.ek-quick{margin:.15rem 0 1.1rem;max-width:30rem}
.ek-quick__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem .6rem}
.ek-quick label{font:600 .9rem/1.25 var(--ek-disp);color:var(--ek-paper)}
.ek-quick select,.ek-quick input{font:400 1rem/1.3 var(--ek-text);padding:.5rem .55rem;border:2px solid var(--ek-lime);background:#fff;color:var(--ek-ink);width:100%;min-width:0;border-radius:0;height:2.8rem}
.ek-quick select:focus,.ek-quick input:focus{outline:3px solid var(--ek-lime2);outline-offset:1px}
.ek-quick .ek-btn{width:100%;margin-top:.5rem}
@media (min-width:1181px) and (min-height:860px){.ek-quick{display:none}}
@media (max-width:980px){.ek-body__grid--formfirst .ek-rail{order:-1}}
/* ── narrow phones: the header row fits 320px; focus rings on the dark bands are lime, not wine ── */
@media (max-width:400px){.ek-brand{font-size:1.05rem;gap:.4rem;flex:0 1 auto;min-width:0}.ek-brand svg{width:30px;height:30px;flex-basis:30px}.ek-go-m{padding:.6em .5em .5em;font-size:.8rem}.ek-menu{padding:.6em .65em .5em;font-size:.88rem}.ek-go-m+.ek-menu{margin-left:.35rem}}
.ek-tail :focus-visible,.ek-foot :focus-visible,.ek-tri :focus-visible,.ek-head :focus-visible,.ek-sec--dark :focus-visible,.ek-dark :focus-visible,.ek-final :focus-visible{outline-color:var(--ek-lime)}
.ek-card :focus-visible,.ek-tri .ek-card :focus-visible{outline-color:var(--ek-wine)}
.ek-seg input:focus-visible+span{outline:3px solid var(--ek-wine);outline-offset:3px}
.ek-lintel :focus-visible{outline-color:var(--ek-deep)}
.ek-form input[type=checkbox]:focus-visible,.ek-form input[type=radio]:focus-visible{outline-color:var(--ek-wine)}
