/* Giorgio Auto NCC — concept by Daniele Moisei
   Direction: "Notturno / Partenze" — asphalt black, bone type, brand signal-orange.
   Archivo (variable width 62–125) + JetBrains Mono. */

@font-face{font-family:"Archivo";src:url(../assets/fonts/archivo-latin.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url(../assets/fonts/archivo-latinext.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";src:url(../assets/fonts/archivo-italic-latin.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"JetBrains Mono";src:url(../assets/fonts/jbmono-latin.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"JetBrains Mono";src:url(../assets/fonts/jbmono-latinext.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1E9F,U+A720-A7FF}

:root{
  --ink:#0b0b0c; --ink-2:#121214; --ink-3:#1b1b1e;
  --bone:#edeae3; --mute:#a3a09a; --dim:#6f6d69;
  --line:rgba(237,234,227,.13); --line-2:rgba(237,234,227,.26);
  --sig:#ff6c18; --sig-2:#ff8b4a; --err:#ff8074;
  --pad:clamp(20px,4.2vw,72px);
  --hd:64px; --bar:30px;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.16,.84,.24,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--ink);scroll-padding-top:calc(var(--hd) + 16px)}
html.is-en-pending body{visibility:hidden}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--display);font-stretch:100%;font-weight:400;font-size:clamp(16px,1.05vw,18px);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--sig);color:var(--ink)}
:focus-visible{outline:2px solid var(--sig);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mono{font-family:var(--mono);font-weight:500;letter-spacing:.02em}
[hidden]{display:none!important}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--sig);color:var(--ink);padding:10px 14px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.ph{display:inline-block;border:1px dashed var(--sig);color:var(--sig-2);padding:0 .45em;font-family:var(--mono);font-size:.82em;line-height:1.5;border-radius:2px;white-space:nowrap}

/* ---------- demo bar + header */
.demo-bar{height:var(--bar);display:flex;align-items:center;justify-content:center;gap:10px;background:#000;color:var(--mute);font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:0 16px;text-align:center;border-bottom:1px solid var(--line)}
.demo-bar::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sig);flex:none}
.hd{position:sticky;top:0;z-index:60;height:var(--hd);display:flex;align-items:center;gap:24px;padding:0 var(--pad);background:rgba(11,11,12,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand__name{font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:17px;letter-spacing:-.01em;line-height:1}
.brand__tag{background:var(--sig);color:var(--ink);font-size:10.5px;font-weight:700;padding:3px 6px 2px;letter-spacing:.08em}
.hd__nav{display:flex;gap:28px;margin-left:auto}
.hd__nav a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--mute);padding:10px 0;position:relative;transition:color .2s}
.hd__nav a:hover,.hd__nav a[aria-current]{color:var(--bone)}
.hd__nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--sig)}
.hd__right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line-2);height:36px}
.lang__btn{background:none;border:0;padding:0 10px;font-family:var(--mono);font-size:11.5px;color:var(--dim);min-width:40px}
.lang__btn[aria-pressed=true]{color:var(--ink);background:var(--bone)}
.hd__call{font-size:12px;text-decoration:none;color:var(--mute);white-space:nowrap}
.hd__call:hover{color:var(--sig)}
.btn-book{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;background:var(--sig);color:var(--ink);text-decoration:none;font-weight:800;font-stretch:118%;text-transform:uppercase;font-size:13px;letter-spacing:.02em;transition:background .2s,transform .2s}
.btn-book:hover{background:var(--bone)}
.btn-book__dot{width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 0 rgba(11,11,12,.5);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(11,11,12,.55)}70%{box-shadow:0 0 0 7px rgba(11,11,12,0)}100%{box-shadow:0 0 0 0 rgba(11,11,12,0)}}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line-2);background:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
.burger span{display:block;width:18px;height:2px;background:var(--bone);transition:transform .25s var(--ease)}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hd__progress{position:absolute;left:0;right:0;bottom:-1px;height:2px}
.hd__progress i{display:block;height:100%;background:var(--sig);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.menu{position:fixed;inset:calc(var(--hd)) 0 0 0;z-index:55;background:var(--ink);padding:28px var(--pad) 32px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
.menu__nav{display:flex;flex-direction:column}
.menu__nav a{display:flex;align-items:baseline;gap:16px;text-decoration:none;font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:clamp(2rem,9vw,3.4rem);line-height:1.05;padding:12px 0;border-bottom:1px solid var(--line)}
.menu__nav a[aria-current]{color:var(--sig)}
.menu__code{font-size:12px;color:var(--sig);font-stretch:100%}
.menu__foot{display:flex;flex-direction:column;gap:14px;padding-top:28px;font-size:14px}
.menu__foot a{text-decoration:none;color:var(--mute)}
.menu__foot .lang{align-self:flex-start;height:44px}

/* road line (desktop) */
.road{position:fixed;left:18px;top:calc(var(--hd) + 40px);bottom:28px;z-index:40;display:none;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.road__pin{font-family:var(--mono);font-size:10px;width:20px;height:20px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--mute);background:var(--ink)}
.road__pin--a{border-color:var(--sig);color:var(--sig)}
.road__track{position:relative;flex:1;width:2px;background:repeating-linear-gradient(to bottom,var(--line-2) 0 14px,transparent 14px 28px);background-position:0 var(--road,0px)}
.road__fill{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,var(--sig) 0 14px,transparent 14px 28px);background-position:0 var(--road,0px);transform-origin:50% 0;transform:scaleY(var(--p,0))}
@media (min-width:1180px){.road{display:flex}:root{--pad:clamp(56px,4.4vw,80px)}}

/* ---------- common type */
.tag{display:inline-flex;align-items:center;gap:12px;margin:0 0 28px}
.tag__code{background:var(--sig);color:var(--ink);font-size:11px;font-weight:700;padding:4px 7px 3px;letter-spacing:.1em}
.tag__txt{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute)}
.h-xl{font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.4rem,6.4vw,7.2rem);line-height:.9;letter-spacing:-.015em;margin:0}
.h-l{font-weight:800;font-stretch:118%;font-size:clamp(1.8rem,3.6vw,3.6rem);line-height:1;letter-spacing:-.015em;margin:0 0 24px;text-transform:uppercase}
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line-2);transition:gap .25s var(--ease),color .2s}
.link-arrow svg{width:18px;height:18px}
.link-arrow:hover{gap:20px;color:var(--sig)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 26px;border:0;text-decoration:none;font-weight:800;font-stretch:120%;text-transform:uppercase;font-size:15px;letter-spacing:.02em;transition:background .2s,color .2s,opacity .2s,transform .15s}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:translateY(1px)}
.btn--sig{background:var(--sig);color:var(--ink)}
.btn--sig:hover{background:var(--bone)}
.btn--ink{background:var(--ink);color:var(--bone)}
.btn--ink:hover{background:var(--bone);color:var(--ink)}
.btn--ghost{background:transparent;color:var(--bone);border:1px solid var(--line-2)}
.btn--ghost:hover{border-color:var(--bone)}
.btn--line{background:transparent;color:var(--mute);border:1px dashed var(--line-2)}

/* ---------- hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-rows:auto 1fr;min-height:calc(100svh - var(--hd) - var(--bar));padding:0 0 0 var(--pad);isolation:isolate}
.hero__media{grid-column:2;grid-row:1/span 2;position:relative;overflow:hidden;margin-left:clamp(-120px,-6vw,-40px)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:60% 60%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(11,11,12,.55) 18%,rgba(11,11,12,0) 45%),linear-gradient(0deg,rgba(11,11,12,.85) 0%,rgba(11,11,12,0) 40%)}
.hero__copy{grid-column:1/-1;grid-row:1;position:relative;z-index:3;padding:clamp(32px,6vh,72px) var(--pad) 24px 0;pointer-events:none}
.hero__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:0 0 22px;display:flex;align-items:center;gap:12px}
.hero__eyebrow::before{content:"";width:28px;height:2px;background:var(--sig)}
.hero__title{margin:0;font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.35rem,6.1vw,7rem);line-height:.9;letter-spacing:-.02em}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .line>span{display:inline-block}
.hero__title .line--sig{color:transparent;-webkit-text-stroke:1.5px var(--bone)}
.hero__title .line--sig>span::after{content:"";display:inline-block;width:.16em;height:.16em;background:var(--sig);margin-left:.06em;-webkit-text-stroke:0}
.hero__sub{max-width:38ch;margin:26px 0 0;color:var(--mute);font-size:clamp(15px,1.1vw,18px)}
.hero__form{grid-column:1;grid-row:2;position:relative;z-index:4;align-self:end;padding:0 0 clamp(24px,5vh,56px);max-width:600px}
.flapboard{position:absolute;right:var(--pad);bottom:clamp(24px,5vh,56px);z-index:2;background:rgba(0,0,0,.72);border:1px solid var(--line);padding:14px 16px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.flapboard__head{display:flex;justify-content:space-between;gap:24px;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:0 0 10px}
.flapboard__clock{color:var(--sig)}
.flapboard__row{display:flex;gap:10px}
.flaps{display:flex;gap:3px}
.flap{position:relative;width:1.35em;height:1.8em;display:grid;place-items:center;background:#161618;color:var(--bone);font-family:var(--mono);font-weight:700;font-size:clamp(12px,1vw,15px);text-transform:uppercase;border-radius:2px;overflow:hidden}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.8)}
.flaps--code .flap{background:var(--sig);color:var(--ink)}
.flap.is-flip{animation:flip .09s linear}
@keyframes flip{0%{transform:scaleY(1)}50%{transform:scaleY(.2)}100%{transform:scaleY(1)}}

/* ---------- booking form */
.bk{position:relative;background:rgba(18,18,20,.94);border:1px solid var(--line-2);padding:clamp(18px,1.8vw,28px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.bk::before{content:"";position:absolute;left:-1px;top:-1px;width:64px;height:3px;background:var(--sig)}
.bk__head{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}
.bk__title{margin:0;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute)}
.bk__count{margin:0;font-size:12px;color:var(--dim)}
.bk__count-n{color:var(--sig)}
.bk__service{display:flex;align-items:center;gap:10px;margin:-6px 0 16px;font-size:14px}
.bk__service .mono{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.bk__service-x{width:32px;height:32px;border:1px solid var(--line-2);background:none;line-height:1;margin-left:auto}
.bk__step{border:0;margin:0;padding:0;min-width:0}
.bk__step.is-enter{animation:stepIn .28s var(--ease) both}
.bk__step.is-enter-back{animation:stepBack .28s var(--ease) both}
@keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes stepBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.bk__route{position:relative;display:grid;gap:6px}
.bk__route::before{content:"";position:absolute;left:15px;top:36px;bottom:62px;width:2px;background:repeating-linear-gradient(to bottom,var(--sig) 0 6px,transparent 6px 12px)}
.bk__field{position:relative;min-width:0}
.bk__field--place{padding-left:48px}
.bk__node{position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:13px}
.bk__node--a{background:var(--sig);color:var(--ink)}
.bk__node--b{border:2px solid var(--sig);color:var(--sig);background:var(--ink-2)}
.bk__label{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-weight:700;font-stretch:108%;font-size:15px;margin:0 0 8px;line-height:1.3}
.bk__field--place .bk__label{font-size:clamp(17px,1.35vw,20px);font-weight:800;font-stretch:112%;min-height:32px;align-items:center;margin-bottom:8px}
.bk__label em{font-style:normal;font-weight:400;font-stretch:100%;font-size:12.5px;color:var(--dim)}
.bk__input{display:block;width:100%;height:56px;padding:0 16px;background:var(--ink);border:1px solid var(--line-2);border-radius:0;font-size:17px;color:var(--bone);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
textarea.bk__input{height:auto;min-height:96px;padding:14px 16px;resize:vertical;line-height:1.45}
.bk__input::placeholder{color:var(--dim)}
.bk__input:hover{border-color:rgba(237,234,227,.45)}
.bk__input:focus{outline:0;border-color:var(--sig);box-shadow:0 0 0 3px rgba(255,108,24,.28)}
.bk__input[aria-invalid=true]{border-color:var(--err)}
.bk__input[type=date],.bk__input[type=time]{padding:0 12px;color-scheme:dark;min-width:0}
.bk__input::-webkit-date-and-time-value{text-align:left}
.bk__err{margin:6px 0 0;font-size:13.5px;color:var(--err);min-height:0;line-height:1.35}
.bk__err:empty{display:none}
.bk__err:not(:empty)::before{content:"! ";font-family:var(--mono);font-weight:700}
.bk__swap{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:1px solid var(--line-2);background:var(--ink-2);display:grid;place-items:center;border-radius:50%;margin-top:8px;transition:border-color .2s,transform .3s var(--ease)}
.bk__swap svg{width:20px;height:20px}
.bk__swap:hover{border-color:var(--sig);color:var(--sig)}
.ac{position:relative}
.ac__list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:6px 0;list-style:none;background:var(--ink-3);border:1px solid var(--line-2);box-shadow:0 20px 50px rgba(0,0,0,.5);max-height:290px;overflow:auto}
.ac__opt{display:flex;align-items:center;gap:12px;padding:0 14px;min-height:46px;cursor:pointer;font-size:15.5px}
.ac__opt b{font-family:var(--mono);font-size:11px;color:var(--sig);min-width:34px}
.ac__opt[aria-selected=true],.ac__opt:hover{background:rgba(255,108,24,.14)}
.ac__opt mark{background:none;color:var(--sig);font-weight:700}
.bk__chips-wrap{margin:18px 0 20px}
.bk__chips-label{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim)}
.bk__chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--line-2);font-size:14px;transition:border-color .2s,background .2s}
.chip b{font-family:var(--mono);font-size:11px;color:var(--sig);font-weight:700}
.chip:hover{border-color:var(--sig)}
.chip.is-used{background:rgba(255,108,24,.12);border-color:var(--sig)}
.bk__next{width:100%;min-height:60px}
.bk__next[aria-disabled=true]{opacity:.42;background:var(--sig)}
.bk__next[aria-disabled=true]:hover{background:var(--sig)}
.bk__recap{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;margin:0 0 18px;background:var(--ink);border:1px dashed var(--line-2);text-align:left;font-size:15px;font-weight:600}
.bk__recap:hover{border-color:var(--sig)}
.bk__recap-da,.bk__recap-a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 0}
.bk__recap-arrow{color:var(--sig);flex:none}
.bk__recap-edit{color:var(--sig);flex:none;font-size:18px;margin-left:auto}
.bk__grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}
.bk__step--2>.bk__field{margin:0 0 16px}
.bk__steppers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
.stepper{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:10px}
.stepper__label{font-size:13px;font-weight:700;color:var(--mute)}
.stepper__ctrl{display:flex;align-items:center;justify-content:space-between;gap:4px}
.stepper__btn{width:44px;height:44px;flex:none;border:1px solid var(--line-2);background:var(--ink);font-size:20px;line-height:1;display:grid;place-items:center;transition:border-color .2s,color .2s}
.stepper__btn:hover:not(:disabled){border-color:var(--sig);color:var(--sig)}
.stepper__btn:disabled{opacity:.3;cursor:not-allowed}
.stepper__val{font-family:var(--mono);font-weight:700;font-size:20px;min-width:2ch;text-align:center}
.bk__veh{margin:0 0 18px}
.bk__veh-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.veh{position:relative;display:block;cursor:pointer}
.veh input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.veh__box{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:10px 14px 10px 40px;border:1px solid var(--line-2);position:relative;transition:border-color .2s,background .2s}
.veh__box::before{content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid var(--line-2);border-radius:50%}
.veh input:checked+.veh__box{border-color:var(--sig);background:rgba(255,108,24,.1)}
.veh input:checked+.veh__box::before{border-color:var(--sig);background:radial-gradient(circle,var(--sig) 0 4px,transparent 5px)}
.veh input:focus-visible+.veh__box{outline:2px solid var(--sig);outline-offset:3px}
.veh__name{font-weight:800;font-stretch:112%;font-size:15px;line-height:1.15}
.veh__sub{font-size:12.5px;color:var(--mute)}
.bk__more{margin:0 0 16px}
.bk__more summary{cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-size:12.5px;color:var(--mute);letter-spacing:.04em;list-style:none}
.bk__more summary::-webkit-details-marker{display:none}
.bk__more summary:hover{color:var(--sig)}
.bk__more[open] summary{color:var(--sig)}
.bk__consent{margin:0 0 18px}
.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:44px;padding:4px 0;font-size:14px;line-height:1.45;color:var(--mute)}
.check input{position:absolute;opacity:0;width:24px;height:24px;margin:0}
.check__box{flex:none;width:24px;height:24px;border:1.5px solid var(--line-2);display:grid;place-items:center;margin-top:1px;transition:border-color .2s,background .2s}
.check input:checked+.check__box{background:var(--sig);border-color:var(--sig)}
.check input:checked+.check__box::after{content:"";width:6px;height:11px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.check input:focus-visible+.check__box{outline:2px solid var(--sig);outline-offset:3px}
.check input[aria-invalid=true]+.check__box{border-color:var(--err)}
.check a{color:var(--bone);text-underline-offset:3px}
.bk__actions{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.bk__actions .bk__site{grid-column:1/-1}
.bk__fine{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--dim)}
.bk__status{margin:8px 0 0;font-size:13.5px;color:var(--sig-2)}
.bk__status:empty{display:none}

/* ---------- route statement */
.route{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;padding:clamp(96px,16vh,200px) var(--pad) clamp(80px,12vh,160px)}
.route .tag{grid-column:1/-1}
.route__text{grid-column:2/-1;margin:0;font-weight:700;font-stretch:112%;font-size:clamp(1.75rem,4.1vw,4.6rem);line-height:1.06;letter-spacing:-.02em}
.route__text b{font-weight:850;color:var(--bone)}
.route__text em{font-style:italic;font-weight:600;color:var(--sig)}
.route__aside{grid-column:8/-1;margin-top:clamp(40px,6vh,72px);color:var(--mute);max-width:44ch}
.route__aside p{margin:0 0 20px}
[data-words] .w{display:inline;transition:opacity .2s}

/* ---------- drive (pinned aerial) */
.drive{position:relative;height:280vh}
.drive__pin{position:sticky;top:0;height:100svh;overflow:hidden}
.drive__media{position:absolute;inset:0}
.drive__img{width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}
.drive__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.92) 0%,rgba(11,11,12,.72) 38%,rgba(11,11,12,.15) 70%),linear-gradient(0deg,rgba(11,11,12,.6),rgba(11,11,12,0) 30%)}
.drive__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hd) + 24px) var(--pad) 48px;max-width:min(760px,92vw)}
.drive__title{font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.2rem,5.2vw,5.6rem);line-height:.9;letter-spacing:-.02em;margin:0 0 clamp(28px,5vh,56px)}
.drive__steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.drive__step{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line);opacity:.32;transition:opacity .45s var(--ease)}
.drive__step.is-on{opacity:1}
.drive__pt{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--sig);color:var(--sig);font-size:14px;font-weight:700}
.drive__step.is-on .drive__pt{background:var(--sig);color:var(--ink)}
.drive__step h3{margin:4px 0 6px;font-weight:800;font-stretch:115%;text-transform:uppercase;font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.1}
.drive__step p{margin:0;color:var(--mute);max-width:46ch}

/* ---------- services board */
.services{position:relative;padding:clamp(96px,16vh,200px) var(--pad) clamp(80px,12vh,140px)}
.services__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-bottom:clamp(40px,7vh,80px)}
.services__head .tag{grid-column:1/-1;margin:0}
.services__head .h-xl{grid-column:1/-1}
.board{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.board-row{position:relative;border-top:1px solid var(--line)}
.board-row__link{display:grid;grid-template-columns:90px minmax(0,1.15fr) minmax(0,1fr) 56px;align-items:center;gap:24px;padding:clamp(22px,3.4vh,38px) 0;text-decoration:none;position:relative}
.board-row__code{font-size:13px;color:var(--sig);font-weight:700;letter-spacing:.1em}
.board-row__title{font-weight:850;font-stretch:125%;text-transform:uppercase;font-size:clamp(1.9rem,4.6vw,5rem);line-height:.92;letter-spacing:-.02em;transition:transform .45s var(--ease),color .3s}
.board-row__txt{color:var(--mute);font-size:15.5px;max-width:44ch}
.board-row__go{width:52px;height:52px;border:1px solid var(--line-2);display:grid;place-items:center;border-radius:50%;transition:background .3s,border-color .3s,transform .45s var(--ease)}
.board-row__go svg{width:20px;height:20px}
.board-row__thumb{display:none}
.board-row:hover .board-row__title{transform:translateX(18px);color:var(--sig)}
.board-row:hover .board-row__go{background:var(--sig);border-color:var(--sig);color:var(--ink);transform:rotate(-45deg)}
.cursor-img{position:fixed;left:0;top:0;z-index:30;visibility:hidden;width:clamp(240px,22vw,360px);aspect-ratio:4/3;pointer-events:none;opacity:0;overflow:hidden;transform:translate(-50%,-50%)}
.cursor-img img{width:100%;height:100%;object-fit:cover}

/* ---------- fleet */
.fleet{padding:clamp(80px,12vh,160px) var(--pad);overflow:hidden}
.fleet__a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.fleet__fig{margin:0;overflow:hidden;position:relative}
.fleet__fig img{width:100%;height:100%;object-fit:cover}
.fleet__fig--v{grid-column:1/9;margin-left:calc(-1 * var(--pad));aspect-ratio:16/8.4}
.fleet__a .fleet__txt{grid-column:9/-1;padding-bottom:12px}
.fleet__name{position:relative;z-index:2;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.6rem,6.2vw,7rem);line-height:.86;letter-spacing:-.025em;margin:0 0 24px}
.fleet__a .fleet__name{margin-left:clamp(-220px,-14vw,-60px)}
.fleet__name--s{font-size:clamp(2.2rem,4.6vw,5rem)}
.fleet__txt p{color:var(--mute);max-width:36ch;margin:0}
.fleet__b{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start;margin-top:clamp(56px,9vw,140px)}
.fleet__b .fleet__txt{grid-column:2/6;padding-top:clamp(24px,5vw,80px)}
.fleet__fig--bus{grid-column:6/-1;margin-right:calc(-1 * var(--pad));aspect-ratio:16/9}

/* ---------- why */
.why{padding:clamp(80px,12vh,160px) var(--pad);border-top:1px solid var(--line)}
.why__list{list-style:none;margin:0;padding:0}
.why__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30ch);align-items:end;gap:24px 48px;padding:clamp(18px,3vh,30px) 0;border-bottom:1px solid var(--line)}
.why__item:nth-child(even){grid-template-columns:minmax(0,30ch) minmax(0,1fr)}
.why__item:nth-child(even) .why__word{order:2;text-align:right}
.why__word{--fill:0%;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.5rem,8.6vw,10rem);line-height:.86;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px rgba(237,234,227,.55);background:linear-gradient(90deg,var(--bone) var(--fill),transparent var(--fill));-webkit-background-clip:text;background-clip:text}
.why__item:nth-child(even) .why__word{background:linear-gradient(270deg,var(--bone) var(--fill),transparent var(--fill));-webkit-background-clip:text;background-clip:text}
.why__item p{margin:0 0 .6em;color:var(--mute);font-size:16px}

/* ---------- clock */
.clock{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 64px;align-items:center;padding:clamp(80px,12vh,160px) var(--pad);background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.clock__num{font-weight:900;font-stretch:62%;font-size:clamp(6rem,21vw,24rem);line-height:.8;letter-spacing:-.04em;display:flex;align-items:baseline;white-space:nowrap}
.clock__num i{font-style:normal;color:var(--sig);font-stretch:100%;margin:0 .02em;font-weight:300}
.clock__txt h2{font-weight:800;font-stretch:118%;text-transform:uppercase;font-size:clamp(1.6rem,2.8vw,2.8rem);line-height:1;margin:0 0 20px}
.clock__txt p{color:var(--mute);margin:0;max-width:40ch}

/* ---------- map */
.map{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:clamp(96px,14vh,180px) var(--pad)}
.map__txt{grid-column:1/5}
.map__txt p{color:var(--mute);max-width:40ch}
.map__note{font-size:11px;color:var(--dim)!important;text-transform:uppercase;letter-spacing:.1em}
.map__fig{grid-column:5/-1;margin:0}
.map__svg{width:100%;height:auto;overflow:visible}
.map__line{fill:none;stroke:var(--line-2);stroke-width:1.5}
.map__line--air{stroke:var(--sig);stroke-width:2}
.map__pt circle{fill:var(--ink);stroke:var(--bone);stroke-width:2}
.map__pt--air circle{stroke:var(--sig);fill:var(--ink)}
.map__pt text{font-family:var(--mono);font-size:13px;fill:var(--mute)}
.map__code{fill:var(--bone);font-weight:700}
.map__pt--air .map__code{fill:var(--sig)}
.map__hub circle{fill:var(--sig)}
.map__hub .map__hub-in{fill:var(--ink)}
.map__hubl{font-family:var(--mono);font-size:12px;font-weight:700;fill:var(--bone);letter-spacing:.12em}
.map__outl{font-family:var(--mono);font-size:12px;fill:var(--dim);letter-spacing:.1em}

/* ---------- driver */
.driver{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:clamp(40px,8vh,100px) var(--pad) clamp(96px,14vh,180px)}
.driver__fig{grid-column:1/7;margin:0 0 0 calc(-1 * var(--pad));aspect-ratio:4/4.4;overflow:hidden}
.driver__fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05)}
.driver__txt{grid-column:8/-1}
.driver__txt p{color:var(--mute);max-width:44ch;margin:0 0 24px}
.driver--rev .driver__fig{grid-column:7/-1;grid-row:1;margin:0 calc(-1 * var(--pad)) 0 0}
.driver--rev .driver__txt{grid-column:1/6;grid-row:1}

/* ---------- final CTA */
.final{background:var(--sig);color:var(--ink);padding:clamp(80px,14vh,180px) var(--pad);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px}
.final__title{margin:0;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.6rem,8.4vw,10rem);line-height:.86;letter-spacing:-.03em}
.final__p{grid-column:1/-1;margin:0;max-width:48ch;font-size:18px}
.final__acts{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.final__tel{text-decoration:none;font-weight:800;font-stretch:115%;font-size:18px}
.final__tel .mono{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;opacity:.7}
.final--s{grid-template-columns:minmax(0,1fr)}

/* ---------- footer */
.ft{padding:clamp(72px,12vh,140px) var(--pad) 32px;border-top:1px solid var(--line)}
.ft__big{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;padding-bottom:clamp(48px,8vh,96px);border-bottom:1px solid var(--line)}
.ft__claim{margin:0;font-weight:800;font-stretch:118%;text-transform:uppercase;font-size:clamp(1.7rem,3.6vw,3.8rem);line-height:.98;letter-spacing:-.02em}
.ft__claim em{font-style:normal;color:var(--sig)}
.ft__cta{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:13px;text-decoration:none;min-height:56px;padding:0 24px;border:1px solid var(--line-2);transition:background .2s,color .2s}
.ft__cta svg{width:18px;height:18px}
.ft__cta:hover{background:var(--sig);color:var(--ink);border-color:var(--sig)}
.ft__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:48px 0}
.ft__grid p{margin:0;color:var(--mute);font-size:15px;line-height:1.8}
.ft__grid a{text-decoration:none;color:var(--bone)}
.ft__grid a:hover{color:var(--sig)}
.ft__h{font-size:11px!important;text-transform:uppercase;letter-spacing:.14em;color:var(--dim)!important;margin-bottom:10px!important}
.ft__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--dim)}
.ft__legal p{margin:0}
.ft__legal a{color:var(--mute)}

/* ---------- inner pages */
.phero{position:relative;padding:clamp(72px,14vh,180px) var(--pad) clamp(56px,9vh,120px);overflow:hidden}
.phero__title{margin:0;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.4rem,7vw,8.2rem);line-height:.88;letter-spacing:-.025em;position:relative;z-index:2}
.phero__title .sig{color:var(--sig)}
.phero__sub{position:relative;z-index:2;max-width:46ch;color:var(--mute);margin:28px 0 0;font-size:clamp(16px,1.25vw,20px)}
.phero .tag{position:relative;z-index:2}
.phero--img{min-height:78svh;display:flex;flex-direction:column;justify-content:flex-end}
.phero__bg{position:absolute;inset:0;z-index:0}
.phero__bg img{width:100%;height:100%;object-fit:cover}
.phero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ink) 4%,rgba(11,11,12,.55) 55%,rgba(11,11,12,.35))}
.phero__jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.phero__jump a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line-2);text-decoration:none;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.phero__jump a b{color:var(--sig)}
.phero__jump a:hover{border-color:var(--sig)}
.chaps{padding:0 var(--pad) clamp(40px,8vh,100px)}
.chap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:clamp(48px,9vh,120px) 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hd) + 8px)}
.chap__fig{grid-column:1/8;margin:0 0 0 calc(-1 * var(--pad));aspect-ratio:16/10;overflow:hidden}
.chap__fig img{width:100%;height:100%;object-fit:cover}
.chap__txt{grid-column:8/-1}
.chap--rev .chap__fig{grid-column:6/-1;grid-row:1;margin:0 calc(-1 * var(--pad)) 0 0}
.chap--rev .chap__txt{grid-column:1/6;grid-row:1}
.chap__code{font-size:13px;color:var(--sig);font-weight:700;letter-spacing:.12em;margin:0 0 16px}
.chap__code span{color:var(--dim);margin-left:6px}
.chap__title{margin:0 0 20px;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(2.2rem,4.8vw,5.4rem);line-height:.88;letter-spacing:-.025em}
.chap__lead{font-size:clamp(17px,1.35vw,21px);font-weight:600;margin:0 0 16px;max-width:40ch}
.chap__body{color:var(--mute);max-width:46ch;margin-bottom:28px}
.chap__body p{margin:0 0 12px}
.story{padding:clamp(80px,12vh,160px) var(--pad)}
.story__big{margin:0 0 clamp(56px,9vh,110px);font-weight:700;font-stretch:112%;font-size:clamp(1.7rem,3.8vw,4.2rem);line-height:1.08;letter-spacing:-.02em;max-width:22em}
.story__big em{font-style:italic;color:var(--sig);font-weight:600}
.story__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.story__cols>div{border-top:2px solid var(--sig);padding-top:22px}
.story__cols>div:nth-child(2){margin-top:clamp(0px,6vw,90px)}
.story__cols>div:nth-child(3){margin-top:clamp(0px,12vw,180px)}
.story__h{font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px;color:var(--bone)}
.story__cols p{margin:0;color:var(--mute)}
.fleet--page{border-top:1px solid var(--line)}
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 48px;padding:clamp(56px,10vh,120px) var(--pad) clamp(80px,12vh,140px);align-items:start}
.contact__intro{grid-column:1/6;position:sticky;top:calc(var(--hd) + 32px)}
.contact__intro .phero__title{font-size:clamp(2.2rem,4.6vw,5.4rem)}
.contact__form{grid-column:6/-1}
.contact__list{margin:48px 0 0;display:grid;gap:0}
.contact__list div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.contact__list dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);padding-top:3px}
.contact__list dd{margin:0}
.contact__list a{text-decoration:none}
.contact__list a:hover{color:var(--sig)}
.legal,.thanks{padding:clamp(64px,12vh,160px) var(--pad);max-width:1100px}
.legal .phero__title{font-size:clamp(2.2rem,5.4vw,5.6rem);margin-bottom:48px}
.legal__body{max-width:70ch}
.legal__body h2{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--sig);margin:40px 0 10px;font-weight:700}
.legal__body p{color:var(--mute);margin:0 0 12px}
.legal__draft{border-left:3px solid var(--sig);padding:10px 16px;background:var(--ink-2);color:var(--bone)!important}
.legal__upd{font-family:var(--mono);font-size:12px;margin-top:40px!important}
.thanks{min-height:70svh;display:flex;flex-direction:column;justify-content:center}
.thanks .final__acts{margin-top:40px;flex-direction:row;align-items:center;flex-wrap:wrap;gap:24px}

/* ---------- drawer */
.drawer{position:fixed;inset:0;z-index:90}
.drawer__scrim{position:absolute;inset:0;background:rgba(0,0,0,.66);animation:fade .28s ease-out both}
.drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(580px,100%);overflow:auto;overscroll-behavior:contain;background:var(--ink-2);border-left:1px solid var(--line-2);padding:64px clamp(12px,2vw,24px) 32px;animation:slideIn .3s var(--ease) both}
.drawer__panel .bk{box-shadow:none}
.drawer__x{position:absolute;right:14px;top:12px;width:44px;height:44px;border:1px solid var(--line-2);background:none;font-size:24px;line-height:1}
.drawer__x:hover{border-color:var(--sig);color:var(--sig)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slideIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}

/* ---------- responsive */
@media (max-width:1200px){.hd__call{display:none}}
@media (max-width:1100px){
  .hd__nav{display:none}
  .burger{display:flex}
  .hd__right{margin-left:auto}
}
@media (max-width:980px){
  .hero{display:block;padding:0;min-height:0}
  .hero__media{position:absolute;left:0;right:0;top:0;height:min(64svh,560px);margin:0}
  .hero__shade{background:linear-gradient(0deg,var(--ink) 2%,rgba(11,11,12,.55) 45%,rgba(11,11,12,.35) 100%)}
  .hero__copy{padding:clamp(28px,6vh,56px) var(--pad) 20px}
  .hero__sub{max-width:34ch;font-size:15px;margin-top:16px;color:var(--bone);opacity:.8}
  .hero__form{padding:0 var(--pad) 40px;max-width:640px}
  .flapboard{display:none}
  .route__text{grid-column:1/-1}
  .route__aside{grid-column:1/-1}
  .drive{height:auto}
  .drive__pin{position:relative;height:auto;min-height:0}
  .drive__media{position:relative;height:46svh}
  .drive__shade{background:linear-gradient(0deg,var(--ink) 0%,rgba(11,11,12,0) 50%);height:46svh}
  .drive__inner{padding:0 var(--pad) 72px;margin-top:-12svh;max-width:none}
  .drive__step{opacity:1}
  .board-row__link{grid-template-columns:52px minmax(0,1fr) 88px;grid-template-areas:"code title thumb" "code txt thumb";gap:6px 16px;align-items:start}
  .board-row__code{grid-area:code;padding-top:8px}
  .board-row__title{grid-area:title}
  .board-row__txt{grid-area:txt;font-size:14.5px}
  .board-row__go{display:none}
  .board-row__thumb{display:block;position:absolute;right:0;top:clamp(22px,3.4vh,38px);width:88px;height:88px;overflow:hidden;pointer-events:none}
  .board-row__thumb img{width:100%;height:100%;object-fit:cover}
  .cursor-img{display:none}
  .fleet__a,.fleet__b{grid-template-columns:minmax(0,1fr)}
  .fleet__fig--v,.fleet__fig--bus,.fleet__a .fleet__txt,.fleet__b .fleet__txt{grid-column:1/-1}
  .fleet__fig--v{margin-right:calc(-1 * var(--pad))}
  .fleet__fig--bus{margin-left:calc(-1 * var(--pad));order:-1}
  .fleet__a .fleet__name{margin:-.55em 0 20px 0}
  .fleet__b .fleet__txt{padding-top:0}
  .fleet__b .fleet__name{margin-top:-.55em}
  .why__item,.why__item:nth-child(even){grid-template-columns:minmax(0,1fr);gap:10px}
  .why__item:nth-child(even) .why__word{order:0;text-align:left}
  .why__item:nth-child(even) .why__word{background:linear-gradient(90deg,var(--bone) var(--fill),transparent var(--fill));-webkit-background-clip:text;background-clip:text}
  .clock{grid-template-columns:minmax(0,1fr)}
  .map__txt,.map__fig{grid-column:1/-1}
  .map__fig{margin-top:24px}
  .driver{grid-template-columns:minmax(0,1fr)}
  .driver__fig,.driver--rev .driver__fig{grid-column:1/-1;grid-row:auto;margin:0 calc(-1 * var(--pad));aspect-ratio:4/3.4}
  .driver__txt,.driver--rev .driver__txt{grid-column:1/-1;grid-row:auto;margin-top:24px}
  .final{grid-template-columns:minmax(0,1fr)}
  .ft__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .chap,.chap--rev{grid-template-columns:minmax(0,1fr)}
  .chap__fig,.chap--rev .chap__fig{grid-column:1/-1;grid-row:auto;margin:0 calc(-1 * var(--pad))}
  .chap__txt,.chap--rev .chap__txt{grid-column:1/-1;grid-row:auto}
  .story__cols{grid-template-columns:minmax(0,1fr)}
  .story__cols>div{margin-top:0!important}
  .contact{grid-template-columns:minmax(0,1fr)}
  .contact__intro,.contact__form{grid-column:1/-1;position:static}
}
@media (max-width:600px){
  :root{--hd:60px}
  .hd{gap:10px}
  .hd .lang{display:none}
  .menu .lang{display:flex}
  .brand__name{font-size:15px}
  .btn-book{height:44px;padding:0 14px;font-size:12.5px}
  .demo-bar{font-size:10px;letter-spacing:0}
  .hero__title{font-size:clamp(2.1rem,10.4vw,3.2rem);font-stretch:118%}
  .hero__eyebrow{font-size:10.5px;letter-spacing:.1em;margin-bottom:16px}
  .bk{padding:16px 14px 18px}
  .bk__chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px 4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent)}
  .bk__chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .bk__chips-wrap{margin:14px 0 16px}
  .bk__steppers{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line)}
  .stepper{flex-direction:row;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);padding:8px 10px 8px 14px}
  .stepper:last-child{border-bottom:0}
  .stepper__label{font-size:15px;color:var(--bone)}
  .stepper__ctrl{gap:14px}
  .bk__grid2--stack{grid-template-columns:minmax(0,1fr)}
  .bk__actions{grid-template-columns:minmax(0,1fr)}
  .ft__grid{grid-template-columns:minmax(0,1fr)}
  .map__svg text{font-size:18px}
  .map__hubl{font-size:16px!important}
  .why__word{-webkit-text-stroke-width:1px}
}
@media (max-width:560px){ .bk__grid2.bk__grid2--stack{grid-template-columns:minmax(0,1fr)} }
@media (hover:none){.board-row:hover .board-row__title{transform:none;color:inherit}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .why__word{--fill:100%}
  .drive__step{opacity:1}
}

/* ---------- refinements */
.hero__title .line--sig>span::after{width:.15em;height:.15em;margin-left:.08em;vertical-align:baseline}
.hero__copy{padding-top:clamp(28px,5vh,56px)}
.hero__sub{max-width:46ch}
.hero__form{max-width:640px}
.bk__next[aria-disabled=true]{opacity:1;background:var(--ink-3);color:var(--mute);box-shadow:inset 0 0 0 1px var(--line-2)}
.bk__next[aria-disabled=true]:hover{background:var(--ink-3);color:var(--bone)}
.bk__swap.is-spun{rotate:180deg}
.board-row__link{grid-template-columns:90px minmax(0,1.55fr) minmax(0,.85fr) 56px}
.board-row__title{font-size:clamp(1.9rem,4.3vw,4.8rem)}
.map__svg text{font-size:14px}
.map__fig{position:relative}
@media (min-width:1200px){
  .hero__title{font-size:clamp(2.35rem,5.5vw,7rem)}
  .bk__route{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:end;gap:0 10px}
  .bk__route::before{display:none}
  .bk__swap{position:relative;right:auto;top:auto;transform:rotate(90deg);margin:0 0 6px;align-self:end}
  .bk__route .bk__field--place{padding-left:0}
  .bk__route .bk__node{position:static;flex:none}
  .bk__route .bk__field--place{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:center}
  .bk__route .bk__field--place .bk__label{font-size:17px;min-height:32px;margin:0}
  .bk__route .bk__field--place .ac,.bk__route .bk__field--place .bk__err{grid-column:1/-1}
  .bk__route .bk__field--place .ac{margin-top:10px}
  .chip{padding:0 12px;font-size:13.5px}
  .bk__chips{gap:6px}
}
@media (max-width:600px){
  .demo-bar{font-family:var(--display);font-size:10.5px;height:auto;min-height:26px;padding:4px 12px;line-height:1.25}
  .brand{gap:7px}
  .brand__name{font-size:14px;font-stretch:110%}
  .brand__tag{font-size:9.5px;padding:3px 5px 2px}
  .btn-book{padding:0 14px;gap:0}
  .btn-book__dot{display:none}
  .hero__title{font-size:clamp(1.85rem,8.4vw,3.2rem);font-stretch:112%}
  .hero__sub{display:none}
  .hero__copy{padding-top:28px;padding-bottom:18px}
  .hero__media{height:min(52svh,440px)}
  .map__svg text{font-size:22px}
  .map__name{display:none}
  .map__hubl{font-size:20px!important}
  .map__outl{font-size:18px!important}
}
@media (max-width:980px){
  .board-row__link{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"code title" "code txt";padding:22px 0}
  .board-row__thumb{display:none}
  .board-row__title{font-size:clamp(1.6rem,7.6vw,3.4rem);font-stretch:114%}
}
@media (max-width:600px){
  .chap__title{font-size:clamp(1.9rem,9vw,3rem);font-stretch:112%}
  .phero__title{font-size:clamp(2rem,9.6vw,3.4rem);font-stretch:114%}
  .contact__intro .phero__title{font-size:clamp(1.9rem,8.6vw,3rem)}
  .final__title{font-size:clamp(2.2rem,11vw,4rem)}
  .fleet__name{font-size:clamp(2.2rem,11vw,4rem)}
}
@media (min-width:981px){
  .chap__fig{grid-column:1/7}
  .chap__txt{grid-column:7/-1;padding-left:clamp(0px,2vw,40px)}
  .chap--rev .chap__fig{grid-column:7/-1}
  .chap--rev .chap__txt{grid-column:1/7;padding-left:0;padding-right:clamp(0px,2vw,40px)}
  .chap__title{font-size:clamp(2.2rem,3.9vw,4.8rem)}
  .contact__intro .phero__title{font-size:clamp(2.2rem,3.9vw,4.8rem)}
}
.phero__bg::after{background:linear-gradient(0deg,var(--ink) 3%,rgba(11,11,12,.45) 48%,rgba(11,11,12,.2))}
.phero__bg img{filter:saturate(.8) brightness(1.15)}
.bk__field--place:focus-within{z-index:30}
.bk__recap-da,.bk__recap-a{flex:0 1 auto}
