/* =========================================================
   Azur & Pop Trans — v2 „drum”
   ========================================================= */
@font-face{font-family:"Unbounded";src:url(assets/fonts/unbounded-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";src:url(assets/fonts/unbounded-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Manrope";src:url(assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(assets/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0b1512; --ink-2:#13211d; --paper:#f2efe8; --paper-2:#e8e3d8; --line:#d9d2c3;
  --azur:#1a8cff; --azur-d:#0a63c9; --signal:#ffd23f; --white:#fff; --muted:#5e665f;
  --display:"Unbounded",system-ui,sans-serif; --body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1240px; --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
::selection{background:var(--signal);color:var(--ink)}
a[href^="tel:"]{white-space:nowrap}

/* ---------- type ---------- */
.display{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:.98;text-transform:uppercase}
.tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.tag::before{content:"";width:26px;height:4px;background:repeating-linear-gradient(90deg,currentColor 0 8px,transparent 8px 12px)}
.h2{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;font-size:clamp(34px,5.4vw,84px);margin:18px 0 0}
.h2 .out,.ol{--o:var(--stroke,var(--ink));--w:2px;--d:1.5px;color:var(--bgc,var(--paper));text-shadow:var(--w) 0 var(--o),calc(var(--w)*-1) 0 var(--o),0 var(--w) var(--o),0 calc(var(--w)*-1) var(--o),var(--d) var(--d) var(--o),calc(var(--d)*-1) calc(var(--d)*-1) var(--o),var(--d) calc(var(--d)*-1) var(--o),calc(var(--d)*-1) var(--d) var(--o)}
@media (max-width:600px){.h2 .out{--w:1.2px;--d:.9px}}
.fleet,.book,footer{--stroke:#fff;--bgc:var(--ink)}
.about{--bgc:var(--paper-2)}
.h2 .hl{color:var(--azur)}
.intro{font-size:clamp(16px,1.3vw,19px);max-width:560px;color:var(--muted);margin-top:22px}

/* split-line reveal */
.split .ln{display:block;overflow:hidden;padding-bottom:.06em}
.split .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease)}
.split.in .ln>span{transform:none}
.split .ln:nth-child(2)>span{transition-delay:.08s}.split .ln:nth-child(3)>span{transition-delay:.16s}

/* ---------- buttons (parallelogram) ---------- */
.btn{--bg:var(--azur);--fg:#fff;position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--fg);border:0;background:none;cursor:pointer;isolation:isolate;transition:transform .3s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--bg);transform:skewX(-14deg);z-index:-1;border-radius:4px;transition:background .3s,transform .3s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;transform:skewX(-14deg) scaleX(0);transform-origin:left;background:var(--signal);z-index:-1;border-radius:4px;transition:transform .45s var(--ease)}
.btn:hover::after{transform:skewX(-14deg) scaleX(1)}
.btn:hover{color:var(--ink)}
.btn .arr{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn.line{--bg:transparent;--fg:currentColor}
.btn.line::before{box-shadow:inset 0 0 0 2px currentColor}
.btn.wa{--bg:#1fae54}
.btn.dark{--bg:var(--ink)}
.btn.sm{padding:11px 18px;font-size:11px}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .35s,transform .35s var(--ease)}
.site-header.solid{background:rgba(11,21,18,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-header.hide{transform:translateY(-100%)}
.site-header .wrap{display:flex;align-items:center;gap:26px;height:78px;max-width:1400px}
.brand img{height:44px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{position:relative;color:#e6ece8;text-decoration:none;font-weight:700;font-size:14px;padding:8px 12px;transition:color .3s}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;background:repeating-linear-gradient(90deg,var(--signal) 0 6px,transparent 6px 10px);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover,.nav a.active{color:var(--signal)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.head-cta{display:flex;gap:14px;align-items:center}
.head-tel{color:#fff;text-decoration:none;font-weight:800;font-size:15px}
.menu-btn{display:none;margin-left:auto;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative}
.menu-btn i{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .35s var(--ease),opacity .2s}
.menu-btn i:nth-child(1){top:15px}.menu-btn i:nth-child(2){top:21px;right:18px}.menu-btn i:nth-child(3){top:27px}
.menu-btn[aria-expanded=true] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1060px){
  .nav{position:fixed;inset:78px 0 auto 0;flex-direction:column;gap:0;background:var(--ink);padding:10px 20px 26px;clip-path:inset(0 0 100% 0);transition:clip-path .5s var(--ease)}
  .nav.open{clip-path:inset(0 0 0 0)}
  .nav a{font-family:var(--display);font-size:22px;text-transform:uppercase;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu-btn{display:block}
  .head-tel{display:none}
}
@media (max-width:560px){.head-cta{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);overflow:hidden;color:#fff}
.stage{position:relative}
.stage canvas{display:block;width:100%;height:auto}
#fg{position:absolute;inset:0}
.shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(270deg,rgba(8,16,14,.82) 0%,rgba(8,16,14,.45) 32%,rgba(8,16,14,0) 56%),
             linear-gradient(180deg,rgba(8,16,14,.55) 0%,rgba(8,16,14,0) 18%),
             linear-gradient(0deg,rgba(8,16,14,.6) 0%,rgba(8,16,14,0) 22%)}
.speed{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.speed i{position:absolute;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--azur));opacity:0;transform:rotate(-8deg);animation:streak 3.2s linear infinite}
@keyframes streak{0%{transform:translateX(30vw) rotate(-8deg);opacity:0}15%{opacity:.9}100%{transform:translateX(-80vw) rotate(-8deg);opacity:0}}
.hero-copy{position:absolute;right:3.5%;top:53%;transform:translateY(-50%);width:44%;max-width:640px;z-index:3}
.hero-copy .tag{color:var(--signal)}
.hero-copy .slogan{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.93;font-size:clamp(34px,5vw,86px);margin:18px 0;line-height:1.04}
.hero-copy .slogan .ch{display:inline-block;opacity:0;transform:translateY(60%) rotate(8deg);animation:chIn .9s var(--ease) forwards}
.hero-copy .slogan .w{display:inline-block;white-space:nowrap}
.hero-copy .slogan .acc{color:var(--azur)}
@keyframes chIn{to{opacity:1;transform:none}}
.hero-copy p{font-size:clamp(15px,1.15vw,18px);max-width:460px;opacity:.9;margin-bottom:28px}
.hero-copy .ctas{display:flex;gap:16px;flex-wrap:wrap}
.badge{position:absolute;right:4%;bottom:7%;width:132px;height:132px;z-index:3}
.badge svg{width:100%;height:100%;animation:spin 18s linear infinite}
.badge text{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.2em;fill:#fff;text-transform:uppercase}
.badge b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:24px;color:var(--signal)}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:26px;height:42px;border:2px solid rgba(255,255,255,.5);border-radius:14px;z-index:3;transform:translateX(-50%)}
.scroll-cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:#fff;border-radius:2px;animation:cue 1.6s infinite}
@keyframes cue{60%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (max-width:900px){
  .hero{padding-top:78px}
  .hero-copy{position:relative;right:auto;top:auto;transform:none;width:auto;padding:34px 20px 30px;background:var(--ink)}
  .hero-copy .slogan{font-size:clamp(34px,10vw,56px)}
  .badge{width:96px;height:96px;right:14px;bottom:14px}.badge b{font-size:18px}
  .scroll-cue{display:none}
  .shade{background:linear-gradient(180deg,rgba(8,16,14,.6) 0%,rgba(8,16,14,0) 18%)}
}

/* ---------- crossing tapes ---------- */
.tapes{position:relative;height:250px;overflow:hidden;background:var(--paper);margin-top:-1px}
.tape{position:absolute;left:-5%;width:110%;display:flex;white-space:nowrap;padding:16px 0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(18px,2.4vw,30px);letter-spacing:-.01em}
.tape .track{display:flex;flex:none;animation:marq 38s linear infinite}
.tape span{padding:0 22px;display:inline-flex;align-items:center;gap:44px}
.tape span::after{content:"";width:16px;height:16px;background:currentColor;transform:rotate(45deg)}
.tape.a{top:40px;background:var(--signal);color:var(--ink);transform:rotate(-3deg);z-index:2;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.tape.b{top:128px;background:var(--ink);color:#fff;transform:rotate(2.5deg)}
.tape.b .track{animation-direction:reverse;animation-duration:46s}
.tape.b span:nth-child(even){color:var(--azur)}
@keyframes marq{to{transform:translateX(-100%)}}

/* ---------- sections ---------- */
section.block{padding:120px 0;position:relative}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:60px}
@media (max-width:800px){.sec-head{grid-template-columns:1fr}}
.big-num{--o:var(--line);font-family:var(--display);font-size:clamp(80px,13vw,200px);font-weight:800;line-height:.8;color:var(--paper);text-shadow:2px 0 var(--o),-2px 0 var(--o),0 2px var(--o),0 -2px var(--o),1.5px 1.5px var(--o),-1.5px -1.5px var(--o),1.5px -1.5px var(--o),-1.5px 1.5px var(--o);user-select:none}

/* services: numbered rows */
.svc{border-top:2px solid var(--ink)}
.svc-row{position:relative;display:grid;grid-template-columns:90px 1.1fr 1.3fr 60px;align-items:center;gap:28px;padding:34px 10px;border-bottom:1px solid var(--line);text-decoration:none;overflow:hidden;isolation:isolate;cursor:pointer}
.svc-row::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.svc-row:hover::before,.svc-row:focus-visible::before{transform:scaleY(1)}
.svc-row:hover,.svc-row:focus-visible{color:#fff}
.svc-row .n{font-family:var(--display);font-size:15px;font-weight:700;color:var(--azur)}
.svc-row h3{font-family:var(--display);font-size:clamp(20px,2.3vw,34px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;transition:transform .5s var(--ease)}
.svc-row:hover h3{transform:translateX(12px)}
.svc-row p{color:var(--muted);transition:color .3s;font-size:16px}
.svc-row:hover p{color:#b9c4bf}
.svc-row .go{width:56px;height:56px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;font-size:22px;transition:transform .5s var(--ease),background .3s,border-color .3s}
.svc-row:hover .go{transform:rotate(-45deg);background:var(--signal);border-color:var(--signal);color:var(--ink)}
.svc-row .shape{position:absolute;right:120px;top:50%;width:150px;height:150px;margin-top:-75px;pointer-events:none;opacity:0;transform:scale(.4) rotate(-30deg);transition:opacity .4s,transform .6s var(--ease);z-index:-1}
.svc-row:hover .shape{opacity:1;transform:scale(1) rotate(0)}
@media (max-width:800px){
  .svc-row{grid-template-columns:44px 1fr 48px;gap:14px;padding:26px 4px}
  .svc-row p{grid-column:2/3;grid-row:2}
  .svc-row .go{width:44px;height:44px;grid-row:1/3;grid-column:3}
  .svc-row .shape{display:none}
}

/* fleet */
.fleet{background:var(--ink);color:#fff;clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%);padding:calc(120px + 4vw) 0}
.fleet .intro{color:#aeb9b4}
.fleet-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.fleet-photo{position:relative;aspect-ratio:4/4.4}
.fleet-photo .img{position:absolute;inset:0;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);overflow:hidden;clip-path:polygon(12% 0,12% 0,0 100%,0 100%);transition:clip-path 1.4s var(--ease)}
.fleet-photo.in .img{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}
.fleet-photo img{width:100%;height:115%;object-fit:cover;object-position:40% 70%;will-change:transform}
.fleet-photo .chip{position:absolute;z-index:2;background:var(--signal);color:var(--ink);font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;padding:12px 16px;transform:rotate(-4deg);box-shadow:0 14px 30px rgba(0,0,0,.3);animation:bob 4s ease-in-out infinite}
.fleet-photo .chip.c2{background:var(--azur);color:#fff;transform:rotate(3deg);animation-delay:-2s}
@keyframes bob{50%{translate:0 -10px}}
.counter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:40px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.counter-row div{padding:24px 0;border-right:1px solid rgba(255,255,255,.14)}
.counter-row div:last-child{border:0;padding-left:24px}.counter-row div:nth-child(2){padding-left:24px}
.counter-row b{display:block;font-family:var(--display);font-size:clamp(36px,4.4vw,64px);font-weight:800;line-height:1;color:var(--signal)}
.counter-row span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aeb9b4}
.specs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.specs span{border:1.5px solid rgba(255,255,255,.25);padding:9px 16px;border-radius:99px;font-weight:700;font-size:14px}
@media (max-width:900px){.fleet-grid{grid-template-columns:1fr;gap:40px}.fleet-photo{aspect-ratio:4/3.4}}

/* map */
.map-sec{padding-top:110px}
.map-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center}
.map{position:relative}
.map svg{width:100%;height:auto;overflow:visible}
.map .land{fill:url(#dots);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 6;opacity:.55}
.map .route{fill:none;stroke:var(--azur);stroke-width:3;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 2.2s var(--ease)}
.map.in .route{stroke-dashoffset:0}
.map .route.hot{stroke:var(--ink);stroke-width:4}
.map .city{cursor:pointer}
.map .city circle.dot{fill:var(--paper);stroke:var(--ink);stroke-width:3;transition:r .3s}
.map .city:hover circle.dot,.map .city.hot circle.dot{fill:var(--signal);r:11}
.map .city text{font-family:var(--display);font-size:15px;font-weight:700;fill:var(--ink);text-transform:uppercase;letter-spacing:.02em}
.map .home circle.pulse{fill:var(--azur);opacity:.35;transform-origin:center;transform-box:fill-box;animation:pulse 2s infinite}
@keyframes pulse{from{transform:scale(.6);opacity:.5}to{transform:scale(2.6);opacity:0}}
.map .home circle.core{fill:var(--azur);stroke:#fff;stroke-width:3}
.map .mover{fill:var(--ink)}
.dest-list{list-style:none;border-top:2px solid var(--ink)}
.dest-list li{border-bottom:1px solid var(--line)}
.dest-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px;text-decoration:none;font-weight:800;transition:padding .3s var(--ease),color .3s}
.dest-list a small{display:block;font-weight:600;color:var(--muted);font-size:13px}
.dest-list a:hover,.dest-list a.hot{padding-left:14px;color:var(--azur-d)}
.dest-list a i{font-style:normal;font-family:var(--display);font-size:18px}
@media (max-width:900px){.map-wrap{grid-template-columns:1fr}}

/* about */
.about{background:var(--paper-2)}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
.manifest{font-family:var(--display);font-size:clamp(22px,2.6vw,38px);font-weight:600;line-height:1.2;letter-spacing:-.02em;text-transform:none}
.manifest em{font-style:normal;color:var(--azur-d);background:linear-gradient(transparent 62%,rgba(255,210,63,.75) 62%);}
.checks{list-style:none;display:grid;gap:12px;margin-top:34px}
.checks li{display:flex;gap:14px;align-items:center;font-weight:700}
.checks li::before{content:"";flex:none;width:28px;height:28px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd23f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/16px no-repeat;clip-path:polygon(25% 0,100% 0,75% 100%,0 100%)}
.stat-stack{display:grid;gap:14px}
.stat{position:relative;padding:26px 28px;background:var(--paper);overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.stat b{font-family:var(--display);font-size:clamp(44px,5vw,70px);font-weight:800;line-height:1;display:block}
.stat span{font-weight:700;color:var(--muted)}
.stat:nth-child(2){background:var(--azur);color:#fff}.stat:nth-child(2) span{color:#d9ecff}
.stat:nth-child(3){background:var(--ink);color:var(--signal)}.stat:nth-child(3) span{color:#aeb9b4}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}

/* steps: road timeline */
.road{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:70px}
.road svg.lane{position:absolute;left:0;right:0;top:0;width:100%;height:60px;overflow:visible}
.road svg.lane path{fill:none;stroke:var(--ink);stroke-width:4;stroke-dasharray:18 14;stroke-linecap:round}
.road svg.lane .cover{stroke:var(--paper);stroke-width:8;stroke-dasharray:var(--len);stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease)}
.road.in svg.lane .cover{stroke-dashoffset:calc(var(--len) * -1)}
.stop{position:relative}
.stop .pin{position:absolute;top:-70px;left:0;width:56px;height:56px;background:var(--azur);color:#fff;font-family:var(--display);font-weight:800;display:grid;place-items:center;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:scale(0);transition:transform .6s var(--ease)}
.road.in .stop .pin{transform:scale(1)}
.road.in .stop:nth-child(3) .pin{transition-delay:.5s}.road.in .stop:nth-child(4) .pin{transition-delay:1s}
.stop h3{font-family:var(--display);text-transform:uppercase;font-size:22px;margin:14px 0 8px;letter-spacing:-.01em}
.stop p{color:var(--muted)}
@media (max-width:800px){.road{grid-template-columns:1fr;padding-top:0;gap:30px}.road svg.lane{display:none}.stop{padding-left:76px}.stop .pin{top:0;transform:scale(1)}.stop h3{margin-top:4px}}

/* ticket form */
.book{background:var(--ink);color:#fff;padding:120px 0}
.book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.book .intro{color:#aeb9b4}
.contact-list{list-style:none;margin-top:36px;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.contact-list li{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-list small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8d9a94;margin-bottom:4px}
.contact-list a,.contact-list b{text-decoration:none;font-family:var(--display);font-weight:700;font-size:clamp(16px,1.6vw,22px)}
.contact-list a:hover{color:var(--signal)}
.ticket{position:relative;background:var(--paper);color:var(--ink);border-radius:20px;padding:0;
  -webkit-mask:radial-gradient(circle 18px at 0 172px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 18px at 100% 172px,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 18px at 0 172px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 18px at 100% 172px,#0000 98%,#000) right/51% 100% no-repeat}
.ticket-top{height:172px;padding:28px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;border-bottom:3px dashed var(--line)}
.ticket-top .city small{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ticket-top .city b{display:block;font-family:var(--display);font-size:clamp(18px,2.2vw,30px);font-weight:800;text-transform:uppercase;line-height:1.05;word-break:break-word;min-height:1em}
.ticket-top .city.to{text-align:right}
.ticket-top .via{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--azur)}
.ticket-top .via svg{width:64px;height:24px}
.ticket-top .via span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ticket form{padding:30px 32px 32px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:flex;flex-direction:column;gap:6px}
.f.full{grid-column:1/-1}
.f label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.f input,.f select,.f textarea{font:inherit;font-size:16px;font-weight:600;padding:12px 2px;border:0;border-bottom:2px solid var(--line);background:transparent;color:var(--ink);outline:none;transition:border-color .3s;width:100%;border-radius:0}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--azur)}
.f textarea{min-height:70px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);grid-column:1/-1}
.check input{margin-top:3px;width:18px!important;height:18px;flex:none;accent-color:var(--azur)}
.check span{flex:1}
.retur{display:flex;align-items:flex-end;padding-bottom:10px}
.retur .check{font-size:15px;font-weight:800;color:var(--ink)}
.form-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px}
.form-status{margin-top:14px;font-size:14px;font-weight:800;min-height:1px}
.form-status.ok{color:#1a8d46}.form-status.err{color:#c0392b}
.form-note{font-size:12px;color:var(--muted);margin-top:10px}
.ticket.flash{animation:tflash 1.1s var(--ease)}
@keyframes tflash{30%{transform:translateY(-8px) rotate(-.6deg)}}
@media (max-width:960px){.book-grid{grid-template-columns:1fr}}
@media (max-width:560px){.fields{grid-template-columns:1fr}.ticket-top{padding:22px 20px}.ticket form{padding:26px 20px}}

/* faq */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:28px 0;display:grid;grid-template-columns:60px 1fr 40px;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:clamp(16px,1.7vw,22px);text-transform:uppercase;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-size:13px;color:var(--azur)}
.faq summary::after{content:"";width:28px;height:28px;justify-self:end;background:linear-gradient(currentColor,currentColor) center/100% 3px no-repeat,linear-gradient(currentColor,currentColor) center/3px 100% no-repeat;transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg);color:var(--azur)}
.faq details p{padding:0 50px 28px 70px;color:var(--muted);font-size:17px;max-width:900px}
@media (max-width:600px){.faq summary{grid-template-columns:36px 1fr 30px}.faq details p{padding:0 0 24px 46px}}

/* footer */
footer{background:var(--ink);color:#aeb9b4;padding:90px 0 30px;overflow:hidden;position:relative}
.foot-cta{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-cta .h2{color:#fff;margin:0}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:60px 0}
.foot h4{color:#fff;font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:10px}
.foot a{text-decoration:none}.foot a:hover{color:var(--signal)}
.foot .logo{height:52px;width:auto;margin-bottom:18px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:48px;height:44px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);transition:background .3s}
.social a:hover{background:var(--azur);color:#fff}
.social svg{width:20px;height:20px}
.wordmark{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(60px,15.5vw,250px);line-height:.8;letter-spacing:-.05em;--o:rgba(255,255,255,.16);color:var(--ink);text-shadow:1.5px 0 var(--o),-1.5px 0 var(--o),0 1.5px var(--o),0 -1.5px var(--o),1px 1px var(--o),-1px -1px var(--o),1px -1px var(--o),-1px 1px var(--o);white-space:nowrap;margin:10px 0 30px;transform:translateX(calc(var(--wx,0) * 1px))}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}
.legal a{text-decoration:none;border:1px solid rgba(255,255,255,.25);padding:6px 12px;font-weight:700;font-size:12px;color:#dfe8ef}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot{grid-template-columns:1fr}}

/* scroll road (progress) */
.progress-road{position:fixed;right:18px;top:110px;bottom:40px;width:22px;z-index:40;pointer-events:none;opacity:0;transition:opacity .4s}
.progress-road.on{opacity:1}
.progress-road::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:6px;background:rgba(11,21,18,.15);border-radius:3px}
.progress-road .fill{position:absolute;left:8px;top:0;width:6px;border-radius:3px;background:repeating-linear-gradient(180deg,var(--azur) 0 10px,transparent 10px 16px);height:var(--p,0%)}
.progress-road .car{position:absolute;left:0;top:calc(var(--p,0%) - 14px);width:22px;height:30px;border-radius:6px;background:#fff;border:2px solid var(--ink);box-shadow:0 4px 10px rgba(0,0,0,.25)}
.progress-road .car::before{content:"";position:absolute;left:3px;right:3px;bottom:4px;height:7px;border-radius:2px;background:var(--ink)}
.progress-road .car::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:3px;background:var(--azur)}


/* floating whatsapp */
.fab{position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;display:grid;place-items:center;transition:transform .3s var(--ease)}
.fab::before{content:"";position:absolute;inset:0;background:#1fae54;border-radius:50%;box-shadow:0 12px 28px rgba(0,0,0,.28)}
.fab::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #1fae54;animation:ring 2.4s infinite}
@keyframes ring{from{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}
.fab svg{position:relative;width:30px;height:30px;fill:#fff}
.fab:hover{transform:scale(1.08) rotate(-8deg)}
@media (max-width:1100px){.fab{right:16px;bottom:16px}}

/* generic reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

dialog.priv{max-width:760px;width:calc(100% - 32px);border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog.priv::backdrop{background:rgba(5,12,10,.6)}
dialog.priv .doc{padding:34px 28px;max-height:80vh;overflow:auto}
dialog.priv .x{position:sticky;top:0;float:right;background:#fff;border:1px solid #ccc;border-radius:99px;padding:6px 14px;cursor:pointer;font:inherit;font-weight:700}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.split .ln>span,.hero-copy .slogan .ch{opacity:1!important;transform:none!important}
  .map .route{stroke-dashoffset:0}
  html{scroll-behavior:auto}
}

h1.tag{margin:0;font-size:12px}
/* SEO links */
.seo-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:50px;align-items:start}
.seo-text p{font-size:17px;color:var(--muted);margin-bottom:16px}.seo-text strong{color:var(--ink)}
.seo-list{columns:2;column-gap:30px;border-top:2px solid var(--ink)}
.seo-list li{break-inside:avoid}
@media (max-width:900px){.seo-grid{grid-template-columns:1fr}.seo-list{columns:1}}
/* subpages */
.page-hero{background:var(--ink);color:#fff;padding:150px 0 80px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-6%;top:20%;width:46%;height:120%;background:repeating-linear-gradient(-14deg,transparent 0 26px,rgba(26,140,255,.16) 26px 30px);transform:skewX(-14deg);pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.crumbs{display:flex;gap:10px;font-size:13px;font-weight:700;color:#8d9a94;margin-bottom:28px;flex-wrap:wrap}
.crumbs a{color:#cfd8d4;text-decoration:none}.crumbs a:hover{color:var(--signal)}
.page-h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;font-size:clamp(32px,5.2vw,76px);margin:18px 0 22px;max-width:1000px}
.page-lead{font-size:clamp(16px,1.4vw,20px);max-width:720px;color:#c6d0cc;margin-bottom:34px}
.page-hero .ctas{display:flex;gap:16px;flex-wrap:wrap}
.page-body{display:grid;grid-template-columns:1fr 360px;gap:60px;padding-top:80px;padding-bottom:40px;align-items:start}
.prose-sec{margin-bottom:56px}
.prose h2{font-family:var(--display);font-size:clamp(22px,2.4vw,32px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.1;margin-bottom:18px}
.prose p{font-size:17px;color:#38413c;margin-bottom:14px;max-width:760px}
.ticks{list-style:none;display:grid;gap:10px;margin:6px 0 16px}
.ticks li{padding-left:34px;position:relative;font-size:17px}
.ticks li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd23f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat;clip-path:polygon(25% 0,100% 0,75% 100%,0 100%)}
.side{position:sticky;top:100px;display:grid;gap:18px}
.side-card{background:var(--ink);color:#fff;padding:28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%)}
.side-card h3{font-family:var(--display);text-transform:uppercase;font-size:20px;margin-bottom:8px}
.side-card p{color:#b9c4bf;margin-bottom:20px;font-size:15px}
.side-tel{display:block;font-family:var(--display);font-weight:800;font-size:22px;color:#fff;text-decoration:none;margin-top:22px}
.side-card small{display:block;color:#8d9a94;margin-top:4px}
.side-link{display:inline-block;margin-top:16px;color:var(--signal);font-weight:800;text-decoration:none}
.side-card.light{background:var(--paper-2);color:var(--ink)}
.rel{list-style:none;display:grid}
.rel a{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}
.rel a:hover{color:var(--azur-d)}.rel i{font-style:normal}
@media (max-width:960px){.page-body{grid-template-columns:1fr}.side{position:static}.page-hero{padding:120px 0 60px}}

/* ---------- mascota: micuțul Sprinter ---------- */
.mascot{position:fixed;z-index:45;pointer-events:none;transition:opacity .5s}
.mascot.v{right:10px;top:96px;bottom:24px;width:78px}
.mascot.h{left:10px;right:92px;bottom:10px;height:44px;opacity:.55}
.mascot.h.awake{opacity:1}
.mascot .track{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mascot .road{fill:none;stroke:rgba(43,48,45,.88);stroke-width:30;stroke-linecap:round;stroke-linejoin:round}
.mascot.h .road{stroke-width:22}
.mascot .edge{fill:none;stroke:rgba(255,255,255,.35);stroke-width:26;stroke-linecap:round;stroke-dasharray:1 0;opacity:0}
.mascot .lane{fill:none;stroke:var(--signal);stroke-width:2;stroke-dasharray:7 7;stroke-linecap:round;animation:lane 1.2s linear infinite paused}
.mascot.awake:not(.idle) .lane{animation-play-state:running}
@keyframes lane{to{stroke-dashoffset:-28}}
.mstops{position:absolute;inset:0}
.mstop{position:absolute;width:0;height:0;border:0;background:none;cursor:pointer;pointer-events:auto}
.mstop i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--ink);transition:background .3s,transform .3s}
.mstop.done i{background:var(--signal)}
.mstop:hover i{transform:scale(1.35)}
.mstop span{position:absolute;right:20px;top:-12px;white-space:nowrap;font-family:var(--display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:#fff;padding:5px 9px;opacity:0;transform:translateX(6px);transition:.25s;pointer-events:none;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.mascot.h .mstop span{right:auto;left:-30px;top:-38px}
.mstop:hover span{opacity:1;transform:none}
.mvan{position:absolute;left:0;top:0;width:68px;height:32px;margin:-16px 0 0 -34px;border:0;background:none;padding:0;cursor:pointer;pointer-events:auto;will-change:transform;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
.mascot.h .mvan{transform-origin:center}
.mvan svg{display:block;overflow:visible}
.mvan .beam{opacity:var(--beam,.3);transition:opacity .3s}
.mascot.idle .mvan svg{animation:idle .18s linear infinite alternate}
@keyframes idle{to{transform:translateY(.6px)}}
.mvan.honk svg{animation:honk .5s var(--ease)}
@keyframes honk{20%{transform:scale(1.25) rotate(-6deg)}45%{transform:scale(1.15) rotate(5deg)}70%{transform:scale(1.2) rotate(-3deg)}}
.mbubble{position:absolute;right:62px;max-width:220px;transform:translateY(-50%) scale(.6);transform-origin:right center;opacity:0;background:#fff;color:var(--ink);font-weight:800;font-size:14px;line-height:1.3;padding:10px 14px;border:2px solid var(--ink);border-radius:14px 14px 4px 14px;box-shadow:4px 4px 0 var(--signal);transition:opacity .3s,transform .35s var(--ease);pointer-events:none;white-space:normal;width:max-content}
.mbubble.on{opacity:1;transform:translateY(-50%) scale(1)}
.mascot.h .mbubble{right:auto;bottom:40px;transform:translateX(-50%) scale(.6);transform-origin:center bottom;border-radius:14px 14px 14px 4px;max-width:200px;font-size:13px}
.mascot.h .mbubble.on{transform:translateX(-50%) scale(1)}
.mpuff{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:rgba(160,170,165,.6);animation:puff 1.6s ease-out forwards;pointer-events:none}
@keyframes puff{to{transform:translate(var(--dx),var(--dy)) scale(2.6);opacity:0}}
@media (max-width:1419px){.fab{bottom:14px}}
@media print{.mascot{display:none}}
.mascot.h .mvan svg{transform:scale(.82)}
@media (min-width:1420px){.badge{right:120px}}

.fleet-counters{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.fc{display:flex;align-items:baseline;gap:22px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.fc b{font-family:var(--display);font-weight:800;font-size:clamp(56px,7vw,110px);line-height:.9;color:var(--signal);min-width:2.2ch}
.fc:nth-child(2) b{color:#fff}.fc:nth-child(3) b{color:var(--azur)}
.fc span{font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#aeb9b4;font-size:14px}


/* ---------- cuvântul care se rescrie în hero ---------- */
.slogan .rot{position:relative;display:inline-block;min-height:1em;white-space:nowrap}
.slogan .rot-t{display:inline-block}
.slogan .rot-t::after{content:"";display:inline-block;width:.08em;height:.8em;background:var(--signal);margin-left:.06em;vertical-align:-.05em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.scrib{position:absolute;left:0;right:0;bottom:-.12em;width:100%;height:.28em;overflow:visible}
.scrib path{fill:none;stroke:var(--signal);stroke-width:5;stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:340;animation:draw 1.1s .3s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.slogan .rot{font-size:.8em}
@media (min-width:901px){.badge{bottom:3%}}

/* banner cookie */
.consent{position:fixed;left:16px;bottom:16px;z-index:200;max-width:420px;background:var(--ink);color:#e6ece8;padding:18px 20px;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);font-size:14px;line-height:1.5}
.consent a{color:var(--signal)}
.consent div{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}
.consent button{font:inherit;font-weight:800;border:0;border-radius:99px;padding:9px 18px;cursor:pointer}
.consent .c-no{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.consent .c-yes{background:var(--azur);color:#fff}
@media (max-width:520px){.consent{left:10px;right:10px;bottom:84px;max-width:none}}
