@font-face{font-family:Cal Sans;src:url('/assets/cal-sans.woff2') format('woff2');font-display:swap;font-weight:400 700}
:root{--bg:#18191b;--surface:#222427;--ink:#eff0f1;--muted:#b9bdc3;--accent:#ff5a32;--accent-ink:#17191b;--paper:#eff0f1;--paper-ink:#18191b;--gutter:clamp(20px,4vw,64px);--font:Arial,Helvetica,sans-serif;--display:'Cal Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--font);text-align:center}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}h2{font-size:clamp(34px,4.8vw,66px)}h3{font-size:clamp(24px,2.6vw,34px)}p{max-width:67ch;margin-inline:auto}p+p{margin-top:20px}p a{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--accent-ink)}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--paper-ink);padding:12px;z-index:99}.skip:focus{top:15px}.wrap{max-width:1340px;padding-inline:var(--gutter);margin:auto}.site-header{min-height:98px;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--bg);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-align:left;font-family:var(--display);line-height:1.15;letter-spacing:-.02em}.brand-mark{background:var(--ink);color:var(--bg);font-size:30px;line-height:1;letter-spacing:-.06em;padding:11px 8px}.brand-name{font-size:17px;max-width:135px}.nav{display:flex;align-items:center;gap:30px;font-size:16px}.nav a{padding:8px 0}.nav .nav-call{background:var(--accent);color:var(--accent-ink);padding:12px 20px;font-weight:bold}.menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:17px;padding:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 26px;background:var(--accent);color:var(--accent-ink);border:0;font-weight:700;font-size:16px;line-height:1.4;transition:transform .2s,opacity .2s;text-decoration:none}.button:hover{transform:translateY(-3px);text-decoration:none;opacity:.9}.button:active{transform:translateY(0)}.button.secondary{background:var(--ink);color:var(--bg)}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.hero-photo{width:100%;height:clamp(320px,48vw,530px);overflow:hidden;background:var(--surface)}.hero-photo img{width:100%;height:100%;object-position:center 57%;animation:photo-drift 16s ease-in-out infinite alternate}.hero-copy{padding:34px var(--gutter) 72px}.hero-copy h1{font-size:clamp(44px,7.7vw,116px);max-width:1250px;margin:auto;line-height:.98}.hero-copy p{margin-top:25px;font-size:18px;max-width:59ch}.hero-copy .actions{margin-top:24px}.service-line{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;color:var(--muted);font-size:16px;margin-top:26px}.service-line span{white-space:nowrap}.intro{background:var(--paper);color:var(--paper-ink);padding:110px var(--gutter)}.intro>p{max-width:58ch;font-size:clamp(19px,2vw,25px);line-height:1.5;margin-top:30px}.finder{max-width:950px;margin:46px auto 0;padding:30px;background:#fff;text-align:center}.finder h3{margin-bottom:22px}.find-fields{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end}.field{display:grid;gap:8px;text-align:left}.field label{font-size:16px;font-weight:700}.field select,.field input{width:100%;background:var(--paper);color:var(--paper-ink);border:0;border-bottom:2px solid #555c64;padding:15px 12px;min-height:54px;border-radius:0}.swap{background:var(--paper);border:0;min-width:50px;min-height:54px;color:var(--paper-ink);font-size:24px}.finder-output{margin-top:24px;min-height:52px}.finder-output a{display:inline-flex;background:var(--bg);color:var(--ink);padding:15px 24px;font-weight:700;min-height:54px}.finder-note{font-size:15px;margin-top:16px;max-width:62ch}.editorial{padding:120px 0}.editorial h2{max-width:800px;margin:auto}.editorial>div>p{margin-top:28px;font-size:19px}.destination-row{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin-top:80px}.destination-row.reverse{grid-template-columns:1fr 1.1fr}.destination-row.reverse .destination-visual{order:2}.destination-visual img{width:100%;aspect-ratio:5/4}.destination-text{padding:20px}.destination-text p{margin-top:24px;max-width:40ch}.text-link{display:inline-flex;gap:12px;font-weight:700;align-items:center;min-height:48px;margin-top:22px}.text-link::after{content:'↗';font-size:23px}.full-photo{position:relative;min-height:700px;display:flex;align-items:center;justify-content:flex-end;padding:70px var(--gutter)}.full-photo>img{position:absolute;inset:0;width:100%;height:100%;object-position:50% 60%}.photo-panel{position:relative;background:var(--paper);color:var(--paper-ink);padding:44px;max-width:430px}.photo-panel h2{font-size:44px}.photo-panel p{margin-top:24px}.photo-panel .button{margin-top:28px}.practical{padding:110px var(--gutter);background:var(--paper);color:var(--paper-ink)}.practical .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin:50px auto 0;max-width:1140px}.facts p{margin-top:18px;max-width:33ch}.fleet{padding:120px 0}.fleet img{width:100%;max-height:600px;object-position:center 60%;margin-top:45px}.fleet p{font-size:19px;margin-top:28px}.fleet-caption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;color:var(--muted);font-size:15px}.faq{padding:110px 0;background:var(--surface)}.faq-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px}.faq-layout img{width:100%;aspect-ratio:4/5}.faq-content>p{margin-top:24px}.accordion{margin-top:35px;text-align:left}.accordion details{padding:16px 0}.accordion summary{list-style:none;font-size:19px;font-weight:700;cursor:pointer;min-height:44px;padding-right:30px;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';position:absolute;right:0;top:-2px;font-size:26px;font-weight:400}.accordion details[open] summary:after{content:'−'}.accordion details p{font-size:17px;margin-top:18px;color:var(--muted);line-height:1.65}.contact{padding:110px var(--gutter);background:var(--paper);color:var(--paper-ink)}.contact h2{font-size:clamp(36px,5.2vw,74px)}.contact p{margin-top:26px}.phone-big{display:block;font-family:var(--display);font-size:clamp(30px,4.2vw,56px);line-height:1.15;margin-top:30px;letter-spacing:-.035em}.contact small{display:block;font-size:15px;max-width:65ch;margin:24px auto 0}.footer{padding:65px var(--gutter) 120px}.footer-wordmark{font:400 clamp(32px,6.3vw,90px)/1 var(--display);letter-spacing:-.045em;margin-bottom:42px}.footer-links{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;font-size:16px}.footer p{margin-top:30px;color:var(--muted);font-size:14px;max-width:85ch}.floating-contact{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:30}.floating-contact a{min-height:48px;padding:12px 19px;text-align:center;font-size:15px;font-weight:700;background:var(--ink);color:var(--bg)}.floating-contact .whatsapp{background:#c7edcc;color:#153c20}.page-top{padding:64px var(--gutter) 70px}.breadcrumbs{font-size:15px;color:var(--muted);margin-bottom:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.page-top h1{font-size:clamp(35px,5.6vw,76px);max-width:1220px;margin:auto}.page-top p{font-size:19px;margin-top:28px;max-width:65ch}.route-page .page-top h1{font-size:clamp(31px,4.6vw,64px);max-width:1250px;line-height:1.1}.route-page .hero-photo{height:420px}.route-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:30px;background:var(--surface);max-width:1040px;margin:-35px auto 0;position:relative}.route-pair span{font-size:15px;color:var(--muted);display:block}.route-pair strong{display:block;font-family:var(--display);font-size:clamp(22px,2.8vw,34px);line-height:1.2;font-weight:400;margin-top:8px}.route-pair .pair-arrow{font-size:34px;color:var(--accent)}.route-content{padding:85px var(--gutter) 100px;max-width:1080px;margin:auto}.route-content h2{font-size:clamp(29px,3.6vw,46px);margin-bottom:28px}.route-content h3{margin:45px 0 22px}.route-content p{max-width:72ch}.route-content .local-note{padding:28px;background:var(--surface);margin:35px 0}.return-section{padding:80px var(--gutter);background:var(--paper);color:var(--paper-ink)}.return-section h2{font-size:clamp(32px,4vw,54px)}.return-section .return-link{font:400 clamp(25px,3vw,40px)/1.2 var(--display);max-width:900px;margin:26px auto 0;display:block;letter-spacing:-.02em}.return-section p{margin-top:22px}.related{padding:85px var(--gutter);max-width:1200px;margin:auto}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;margin-top:35px}.related-links a{display:flex;align-items:center;justify-content:center;min-height:64px;background:var(--surface);padding:20px;font-size:17px}.directory{padding:20px var(--gutter) 100px;max-width:1440px;margin:auto}.directory-controls{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin:10px auto 35px;max-width:1000px}.directory-controls input{flex:1;min-width:220px;min-height:56px;padding:15px 18px;background:var(--ink);color:var(--bg);border:0}.directory-controls select{min-height:56px;padding:12px;max-width:100%;border:0;background:var(--surface);color:var(--ink)}.route-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;text-align:center}.route-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;background:var(--surface);padding:20px 24px;font-family:var(--display);font-size:20px;line-height:1.3;letter-spacing:-.015em;transition:background .2s}.route-list a:hover{background:#303338;text-decoration:none}.route-list .route-type{display:block;font-family:var(--font);font-size:14px;color:var(--muted);margin-top:8px}.route-list .arrow{font:25px var(--font);color:var(--accent);flex-shrink:0}.route-status{margin:22px auto 28px;color:var(--muted)}.pagination{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:40px}.pagination a,.pagination span{padding:9px 14px;min-height:46px;background:var(--surface)}.pagination a[aria-current]{background:var(--accent);color:var(--accent-ink)}.place-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}.place-links a{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);padding:12px 18px;min-height:48px}.place-links.paper a{background:#fff}.body-copy{max-width:950px;margin:auto;padding:30px var(--gutter) 100px}.body-copy h2{font-size:36px;margin-top:45px;margin-bottom:24px}.body-copy p{margin-top:20px}.photo-credit{font-size:13px;color:var(--muted);margin-top:12px}.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.js-motion .reveal.pending{opacity:0;transform:translateY(22px)}[hidden]{display:none!important}@keyframes photo-drift{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes title-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-copy h1{animation:title-enter .8s ease both}
@media(min-width:1500px){.hero-photo{height:590px}}@media(max-width:1000px){.nav{gap:18px}.destination-row,.faq-layout{gap:35px}.destination-text{padding:10px}.practical .facts{gap:25px}.photo-panel{max-width:390px;padding:32px}.hero-copy h1{font-size:8vw}.brand-name{font-size:16px}.route-page .page-top h1{font-size:48px}}
@media(max-width:760px){body{font-size:17px}.site-header{min-height:82px;padding-block:15px}.brand-mark{font-size:26px}.brand-name{font-size:15px;max-width:125px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);padding:25px;flex-direction:column;gap:10px;align-items:stretch}.nav.is-open{display:flex}.nav a{min-height:48px;padding:12px}.hero-photo{height:43svh;min-height:280px;max-height:490px}.hero-photo img{object-position:60% 54%}.hero-copy{padding:35px 20px 56px}.hero-copy h1{font-size:clamp(41px,10.2vw,66px);max-width:600px;line-height:1.02}.hero-copy p{font-size:17px;margin-top:23px}.actions{gap:10px}.actions .button{padding-inline:17px;flex:1;max-width:300px;font-size:15px}.service-line{gap:10px 24px;margin-top:24px;font-size:15px}.intro,.practical,.contact{padding:72px 20px}.intro>p{font-size:19px}.finder{padding:24px 18px;margin-top:34px}.find-fields{grid-template-columns:1fr;gap:17px}.swap{min-height:40px;justify-self:center;transform:rotate(90deg);min-width:60px}.field select{font-size:16px}.finder h3{font-size:28px}.finder-output a{font-size:16px}.editorial{padding:75px 0}.editorial>div>p{font-size:17px}.destination-row,.destination-row.reverse{grid-template-columns:1fr;gap:25px;margin-top:50px}.destination-row.reverse .destination-visual{order:0}.destination-text{padding:5px 12px}.destination-visual img{aspect-ratio:5/4}.destination-text p{margin-top:20px;max-width:45ch}.full-photo{min-height:720px;padding:350px 20px 25px;justify-content:center;align-items:end}.full-photo>img{object-position:39% 50%;height:80%}.photo-panel{max-width:500px;width:100%;padding:28px}.photo-panel h2{font-size:34px}.practical .facts{grid-template-columns:1fr;gap:38px;margin-top:38px}.facts p{max-width:45ch}.fleet{padding:75px 0}.fleet img{aspect-ratio:4/3;margin-top:30px}.fleet p{font-size:17px}.fleet-caption{flex-direction:column;gap:6px}.faq{padding:65px 0}.faq-layout{grid-template-columns:1fr;gap:38px}.faq-layout img{aspect-ratio:5/4;max-height:360px}.faq-layout .faq-content{grid-row:1}.accordion{margin-top:25px}.accordion summary{font-size:18px}.contact .actions{max-width:480px;margin-inline:auto;margin-top:28px}.phone-big{font-size:38px}.footer{padding:50px 20px 145px}.footer-wordmark{font-size:clamp(32px,8vw,52px);line-height:1.1;max-width:600px;margin:0 auto 30px}.footer-links{gap:10px 22px;font-size:15px}.floating-contact{right:12px;bottom:12px;gap:6px}.floating-contact a{min-height:45px;font-size:14px;padding:10px 15px}.page-top{padding:40px 20px 48px}.page-top h1{font-size:40px}.route-page .page-top h1{font-size:clamp(27px,6.7vw,42px);line-height:1.14}.route-page .hero-photo{height:280px;min-height:0}.page-top p{font-size:17px}.breadcrumbs{font-size:14px;margin-bottom:24px}.route-pair{margin:-18px 20px 0;padding:23px 17px;gap:10px}.route-pair strong{font-size:20px}.route-pair span{font-size:14px}.route-pair .pair-arrow{font-size:25px}.route-content{padding:60px 20px}.route-content h2{font-size:32px}.route-content h3{font-size:28px}.route-content .local-note{padding:23px 20px}.return-section,.related{padding:60px 20px}.related-links{grid-template-columns:1fr;gap:12px}.route-list{grid-template-columns:1fr;gap:10px}.route-list a{font-size:19px;padding:18px 20px}.directory{padding:5px 20px 70px}.directory-controls{margin-bottom:22px;gap:10px}.directory-controls input{flex-basis:100%}.directory-controls select{flex:1;font-size:15px;min-width:100px}.route-status{font-size:15px}.pagination{gap:8px}.pagination a,.pagination span{padding:10px 12px}.body-copy{padding:5px 20px 70px}.body-copy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;transform:none!important}.js-motion .reveal.pending{opacity:1}}

@media(max-width:760px){.hero-copy .actions,.contact .actions,.route-page>main>.actions{flex-direction:column;align-items:center;max-width:400px;margin-inline:auto}.hero-copy .actions .button,.contact .actions .button,.route-page>main>.actions .button{width:100%;max-width:400px;flex:none;min-height:54px}.floating-contact a{min-width:88px}.hero-photo{height:39svh}}

/* Taxi partner links remain in document flow and wrap without collisions. */
.taxi-partners{max-width:1240px;margin:64px auto 0;text-align:left}
.taxi-partners h2{font-size:clamp(30px,3.4vw,44px);line-height:1.15;text-align:center;margin:0 0 32px}
.taxi-partner-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:8px 32px;padding:0;margin:0;list-style:none}
.taxi-partner-links li{min-width:0;margin:0;padding:0}
.taxi-partner-links a{display:flex;align-items:center;min-height:48px;width:100%;padding:10px 0;font-size:16px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere;word-break:normal;white-space:normal}
.taxi-partner-links a:hover{color:var(--accent)}
@media(max-width:1020px){.taxi-partner-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px}}
@media(max-width:760px){.taxi-partners{margin-top:48px}.taxi-partner-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.taxi-partner-links a{font-size:16px}}
@media(max-width:480px){.taxi-partner-links{grid-template-columns:minmax(0,1fr);gap:2px}.taxi-partner-links a{justify-content:center;text-align:center;min-height:48px}.taxi-partners h2{margin-bottom:24px}}

/* Keep the full website name readable at small widths. */
.brand-name{max-width:200px}
.hero-copy h1{font-size:clamp(44px,6.7vw,98px);max-width:1250px}
@media(max-width:760px){.brand-name{font-size:14px;max-width:170px}.hero-copy h1{font-size:clamp(32px,8.5vw,52px);line-height:1.1;max-width:620px}.footer-wordmark{font-size:clamp(28px,7.3vw,46px);line-height:1.12}}

/* Separate contact bubbles with warm metal accents and matching icons. */
.floating-contact{width:152px;gap:10px;bottom:20px;right:20px;background:transparent;padding:0}
.floating-contact a{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 17px;border:2px solid #d4b075;border-radius:999px;background:#14202a;color:#fff5df;font-family:var(--font);font-size:14px;font-weight:600;line-height:1.1;box-shadow:0 7px 20px #0005,inset 0 1px 0 #ffffff26;transition:transform .16s ease,box-shadow .16s ease;text-decoration:none;white-space:nowrap}
.floating-contact a::before{content:"";display:block;width:21px;height:21px;flex:none;background:#e5c58b;-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat}
.floating-contact a[href^="tel:"]{--contact-icon:url('/assets/contact-call.svg')}
.floating-contact a[href^="sms:"]{--contact-icon:url('/assets/contact-text.svg')}
.floating-contact a[href^="mailto:"]{--contact-icon:url('/assets/contact-email.svg')}
.floating-contact a.whatsapp{--contact-icon:url('/assets/contact-whatsapp.svg');background:#0c6645;color:#f3fff8;border-color:#6fd59a}
.floating-contact a.whatsapp::before{background:#ecfff3}
.floating-contact a:hover{transform:translateY(-3px);box-shadow:0 10px 23px #0006,inset 0 1px 0 #ffffff26;text-decoration:none}
.floating-contact a:active{transform:translateY(0) scale(.97)}
.floating-contact a:focus-visible{outline:3px solid #f6d8a0;outline-offset:4px}
@media(max-width:760px){body{padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))}.floating-contact{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;background:transparent;box-sizing:border-box}.floating-contact a{flex-direction:column;gap:5px;min-width:0;height:68px;min-height:68px;font-size:12px;padding:8px 2px;letter-spacing:0}.floating-contact a::before{width:20px;height:20px}}
@media(max-width:380px){.floating-contact{left:8px;right:8px;gap:6px}.floating-contact a{font-size:11px;height:64px;min-height:64px}}
@media(prefers-reduced-motion:reduce){.floating-contact a{transition:none}.floating-contact a:hover,.floating-contact a:active{transform:none}}
