/* Layout concept: one loud colour, very big words, and the booking form straight away. */
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF}
@font-face{font-family:"Figtree";src:url(fonts/figtree-latin-wght-normal.woff2) format("woff2");font-weight:300 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Figtree";src:url(fonts/figtree-latin-ext-wght-normal.woff2) format("woff2");font-weight:300 900;font-display:swap;unicode-range:U+0100-02AF}
:root{--bg:#fff;--surface:#fff;--tile:#f3f3f1;--fg:#111;--muted:#55555a;--line:#e2e2df;--orange:#ff5a00;--on-orange:#111;--link:#111;--black:#111;--white:#fff;
--display:"Bricolage Grotesque",Arial,sans-serif;--body:"Figtree",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111;--surface:#1c1c1e;--tile:#1c1c1e;--fg:#fff;--muted:#b4b4ba;--line:#333336;--link:#fff;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#111;--surface:#1c1c1e;--tile:#1c1c1e;--fg:#fff;--muted:#b4b4ba;--line:#333336;--link:#fff;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.55 var(--body)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:var(--link)}a:focus-visible{outline:3px solid var(--fg);outline-offset:2px}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h1{font-size:clamp(3.2rem,11.5vw,9.4rem);font-weight:800;line-height:.92;letter-spacing:-.045em}
h2{font-size:clamp(2.1rem,5.5vw,4rem);font-weight:800;line-height:1;letter-spacing:-.035em}
h3{font-size:1.3rem;font-weight:700;line-height:1.15;letter-spacing:-.015em}
p{margin:0}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;gap:12px 24px;align-items:center;justify-content:space-between;padding-block:10px}
.logo{display:block;color:var(--fg);line-height:0}.logo svg{height:clamp(38px,6vw,50px);width:auto;display:block}
.site-head nav{display:flex;align-items:center;gap:22px}
.site-head nav a{color:var(--fg);text-decoration:none;font-weight:600;font-size:1rem}
.nav-text{display:none}
.btn{display:inline-block;background:var(--black);color:var(--white)!important;padding:10px 18px;border-radius:999px;font-weight:700;white-space:nowrap}
:root:not([data-theme="light"]) .btn{outline:1px solid var(--line)}
.hero,.route-head{background:var(--orange);color:var(--on-orange)}
.hero{padding-block:clamp(30px,5vw,60px) 24px}
.hero .lede{font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.3;font-weight:500;max-width:32em;margin-top:clamp(16px,2.5vw,26px)}
.booking{background:var(--orange);color:var(--on-orange);padding-block:8px 44px;scroll-margin-top:70px}
.panel{background:var(--surface);color:var(--fg);border-radius:18px;padding:clamp(18px,3vw,30px)}
.panel h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:14px}
.slot{background:var(--tile);border-radius:10px;padding:28px 18px;min-height:130px;display:grid;place-items:center;text-align:center;color:var(--fg)}
main section{padding-block:clamp(48px,7vw,84px);scroll-margin-top:70px}
.promise{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.promise>div{display:grid;gap:6px;align-content:start}.promise p,.muted{color:var(--muted)}
.promise-band{padding-block:44px 0!important}
.routes{display:grid;gap:12px;margin-top:26px;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.route-card{display:grid;gap:26px;align-content:space-between;min-height:215px;background:var(--tile);border-radius:18px;padding:22px;color:var(--fg);text-decoration:none;transition:background .15s,color .15s}
.route-card:hover,.route-card:focus-visible{background:var(--orange);color:var(--on-orange)}
.route-card:hover .sub{color:var(--on-orange)}
.big-code{font:800 clamp(2.2rem,4vw,3rem)/1 var(--display);letter-spacing:-.04em;color:var(--orange)}.route-card:hover .big-code{color:var(--on-orange)}
.dest{font:800 clamp(1.5rem,2.6vw,1.9rem)/1.05 var(--display);letter-spacing:-.03em;display:block}
.sub{display:block;color:var(--muted);font-size:.98rem;margin-top:6px}
.card-dark{background:var(--black);color:var(--white)}:root .card-dark .sub{color:#c8c8cc}.card-dark .big-code{color:var(--orange)}
.steps{list-style:none;counter-reset:s;display:grid;gap:28px;padding:0;margin:28px 0 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{counter-increment:s;display:grid;gap:6px;align-content:start}.steps li::before{content:counter(s);font:800 3.2rem/1 var(--display);color:var(--orange);letter-spacing:-.04em}.steps p{color:var(--muted)}
.tint{background:var(--tile)}
.route-head{padding-block:clamp(28px,5vw,56px) 20px}.route-head .wrap{display:grid;gap:14px}.route-head h1{font-size:clamp(2.7rem,8vw,6.4rem)}
.crumb a{color:var(--on-orange);font-weight:600}
.code{font:800 1.5rem/1 var(--display);letter-spacing:-.03em}
.facts{display:flex;flex-wrap:wrap;gap:10px 40px;margin:4px 0 0}.facts div{display:grid}.facts dt{font-size:.95rem;font-weight:500}.facts dd{margin:0;font:800 1.45rem/1.2 var(--display);letter-spacing:-.02em}
.prose{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}.prose>div{display:grid;gap:14px;align-content:start;max-width:40rem}.prose h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}.prose ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.faq{display:grid;gap:18px;max-width:46rem;margin-top:22px}.faq div{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.widget{min-height:130px;color:#111}.consent{display:grid;gap:14px;justify-items:start}.consent[hidden]{display:none}.consent-btn{background:var(--orange);color:var(--on-orange);border:0;border-radius:999px;padding:15px 26px;font:700 1.1rem/1.2 var(--body);cursor:pointer}.consent-btn:hover{background:#ff7a2e}.consent-btn:focus-visible{outline:3px solid var(--fg);outline-offset:2px}.note{background:var(--tile);border-radius:12px;padding:16px 18px}
.todo{background:var(--orange);color:var(--on-orange);font-weight:700;padding:0 5px}
footer{background:var(--black);color:var(--white);padding-block:44px;font-size:.96rem}footer .wrap{display:grid;gap:12px}footer a{color:var(--white)}footer p{max-width:50rem}
.foot-line{font:800 clamp(2rem,5vw,3.4rem)/1 var(--display);letter-spacing:-.035em;color:var(--orange)}
@media (min-width:640px){.nav-text{display:inline}}
@media (min-width:860px){.prose{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}