/* ============================================================
   Cinema layer: depth, light and motion.

   Loaded after style.css. Everything here is decoration on markup that
   already works without it: switch it off and the page reads the same.
   Motion runs on transform and opacity only, so it stays on the GPU.
   A visitor who asked for reduced motion gets the layout and the light,
   and none of the movement (see the block at the end).
   ============================================================ */

:root{
  --spring:cubic-bezier(.16,1,.3,1);   /* fast start, long soft landing */
  --glide:cubic-bezier(.65,0,.35,1);
  --glow:rgba(31,162,232,.55);
  /* Set by cinema.js. 0 until then, so nothing moves before the script runs. */
  --mx:0;--my:0;--hs:0;
}

/* ---------- film grain ----------
   A still, very faint noise over dark surfaces. Perfectly clean gradients read
   as computer-made; a little grain reads as photographed. */
.uat-hero::after,.uat-film::after,.uat-sec--dark::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.uat-sec--dark > .uat-wrap,.uat-film__in{position:relative;z-index:2;}

/* ---------- hero ---------- */
.uat-hero{isolation:isolate;}
.uat-hero__media,.uat-hero__photo{
  transform:translate3d(calc(var(--mx) * -14px),calc(var(--hs) * 14% + var(--my) * -10px),0)
            scale(calc(1.08 + var(--hs) * .1));
  will-change:transform;}
.uat-hero__in{position:relative;z-index:2;
  transform:translate3d(0,calc(var(--hs) * -60px),0);opacity:calc(1 - var(--hs) * 1.3);}

/* A soft key light that drifts with the pointer, and a slow sweep across the
   frame once on load, like light moving over a car's paintwork. */
.uat-hero__light{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;
  background:
    radial-gradient(640px circle at calc(62% + var(--mx) * 18%) calc(34% + var(--my) * 14%),rgba(31,162,232,.22),transparent 62%),
    radial-gradient(900px 420px at 50% 112%,rgba(31,162,232,.18),transparent 70%);}
.uat-hero__light::after{content:"";position:absolute;inset:-20% -60%;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.07) 50%,transparent 58%);
  transform:translateX(-60%);animation:uat-sweep 3.2s 0.6s var(--glide) both;}
@keyframes uat-sweep{to{transform:translateX(60%);}}

/* The headline rises line by line out of its own baseline. */
.uat-hero__display .uat-line,.uat-hero--page h1 .uat-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em;}
.uat-hero__display .uat-line > span,.uat-hero--page h1 .uat-line > span{display:inline-block;animation:uat-rise 1.15s var(--spring) both;}
.uat-hero__display em.uat-line > span,.uat-hero--page h1 em.uat-line > span{animation-delay:.12s;}
@keyframes uat-rise{from{transform:translateY(105%) rotate(2deg);}to{transform:none;}}
/* Starts at .01, not 0: a fully transparent element does not count as painted,
   which would push back the moment page speed tools call the page loaded. */
.uat-hero .uat-eyebrow,.uat-hero__p,.uat-hero__cta,.uat-stats,.uat-crumbs,.uat-jump{animation:uat-up 1.1s var(--spring) both;}
.uat-hero .uat-eyebrow{animation-delay:.05s;}
.uat-hero__p{animation-delay:.28s;}
.uat-hero__cta{animation-delay:.4s;}
.uat-stats{animation-delay:.55s;}
@keyframes uat-up{from{opacity:.01;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* Glass stat panel: a lit top edge and an inner line, as light catches the rim. */
.uat-stats{position:relative;background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 40px 80px -40px rgba(0,0,0,.6);}
.uat-stat{background:linear-gradient(180deg,rgba(10,32,52,.62),rgba(4,18,31,.7));}

/* ---------- headings: words rise in on scroll (cinema.js splits them) ---------- */
.uat-h2.is-split .uat-w{display:inline-block;overflow:hidden;vertical-align:top;
  padding-bottom:.12em;margin-bottom:-.12em;}
.uat-h2.is-split .uat-w > span{display:inline-block;transform:translateY(108%);
  transition:transform 1s var(--spring);transition-delay:calc(var(--i) * 45ms);}
.uat-h2.is-split.is-in .uat-w > span{transform:none;}

/* ---------- reveals: heavier, with follow-through ---------- */
.uat-js [data-reveal]{transform:translateY(40px);}
.uat-js [data-reveal].is-in{transition:opacity 1s ease,transform 1.2s var(--spring);}
/* Lists come in one item after another instead of as one block. */
.uat-js [data-reveal].is-stagger{opacity:1;transform:none;}
.uat-js [data-reveal].is-stagger > *{opacity:0;transform:translateY(34px);}
.uat-js [data-reveal].is-stagger.is-in > *{opacity:1;transform:none;
  transition:opacity .9s ease,transform 1.1s var(--spring);transition-delay:calc(var(--i,0) * 80ms);}

/* Photos open like a lens: the frame widens while the picture settles. */
.uat-media--reveal{clip-path:inset(0 0 0 0 round var(--radius));}
.uat-js .uat-media--reveal{clip-path:inset(10% 10% 10% 10% round 24px);opacity:1;transform:none;}
.uat-js .uat-media--reveal img{transform:scale(1.18);}
.uat-js .uat-media--reveal.is-in{clip-path:inset(0 0 0 0 round var(--radius));
  transition:clip-path 1.4s var(--spring);}
.uat-js .uat-media--reveal.is-in img{transform:scale(1);transition:transform 1.8s var(--spring);}

/* Section backgrounds drift slower than the page: depth without a single extra image. */
.uat-bg{transform:translate3d(0,var(--py,0px),0);will-change:transform;}

/* ---------- buttons: made to be pressed ----------
   cinema.js wraps each button's words in .uat-btn__label and adds a .uat-btn__fill
   circle underneath. On hover the fill floods in from the exact point the pointer
   entered and drains out toward where it leaves; the button leans toward the
   pointer and its words lean further, so it has depth; a click sends a ripple out
   from the fingertip. Without the script, every button is still a plain button. */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
.uat-btn{position:relative;isolation:isolate;overflow:hidden;
  transition:transform .6s var(--spring),box-shadow .5s ease,background-color .3s ease,border-color .3s ease,color .3s ease;
  transform:translate3d(var(--bx,0px),var(--by,0px),0);}
.uat-btn--fx{gap:0;}
.uat-btn__label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:11px;
  transform:translate3d(var(--lx,0px),var(--ly,0px),0);transition:transform .6s var(--spring),color .35s ease;}
.uat-btn__fill{position:absolute;z-index:0;left:var(--fx,50%);top:var(--fy,50%);width:260%;aspect-ratio:1;
  border-radius:50%;background:#fff;pointer-events:none;transform:translate(-50%,-50%) scale(0);
  transition:transform .55s cubic-bezier(.4,0,.2,1);}
.uat-btn.is-hot .uat-btn__fill,.uat-nav__wa.is-hot .uat-btn__fill{transform:translate(-50%,-50%) scale(1);transition:transform .75s var(--spring);}
.uat-btn:active{transform:translate3d(var(--bx,0px),var(--by,0px),0) scale(.96);}

/* What each kind of button turns into. */
.uat-btn.is-hot{box-shadow:0 22px 50px -16px rgba(31,162,232,.75),inset 0 0 0 1px rgba(31,162,232,.7);}
.uat-btn.is-hot .uat-btn__label{color:var(--blue-deep);}
.uat-btn--light .uat-btn__fill{background:linear-gradient(120deg,var(--blue),var(--blue-deep));}
.uat-btn--light.is-hot .uat-btn__label{color:#fff;}
.uat-btn--ghost .uat-btn__fill{background:#fff;}
.uat-btn--ghost.is-hot .uat-btn__label{color:var(--night);}
.uat-sec--light .uat-btn--ghost .uat-btn__fill,.uat-sec--tint .uat-btn--ghost .uat-btn__fill{background:var(--night);}
.uat-sec--light .uat-btn--ghost.is-hot .uat-btn__label,.uat-sec--tint .uat-btn--ghost.is-hot .uat-btn__label{color:#fff;}
.uat-btn--wa .uat-btn__fill{background:#25D366;}
/* Call buttons fill with the brand blue instead of white. */
.uat-btn.uat-btn--ghost[href^="tel:"] .uat-btn__fill{background:linear-gradient(120deg,#5bbef2,var(--blue) 45%,var(--blue-deep));}
.uat-btn.uat-btn--ghost[href^="tel:"].is-hot .uat-btn__label{color:#fff;}
.uat-btn.uat-btn--ghost[href^="tel:"].is-hot{border-color:var(--blue);box-shadow:0 22px 50px -16px rgba(31,162,232,.8);}
.uat-btn--wa.is-hot .uat-btn__label{color:#04121f;}
.uat-btn--wa.is-hot{box-shadow:0 22px 50px -16px rgba(37,211,102,.6);border-color:#25D366;}
/* The header WhatsApp link gets the same treatment as the buttons. */
.uat-nav__wa{position:relative;isolation:isolate;overflow:hidden;
  transition:transform .6s var(--spring),box-shadow .5s ease,border-color .3s ease,color .3s ease;
  transform:translate3d(var(--bx,0px),var(--by,0px),0);}
.uat-nav__wa.uat-btn--fx{display:inline-flex;align-items:center;}
.uat-nav__wa .uat-btn__fill{background:#25D366;}
.uat-nav__wa.is-hot{border-color:#25D366;box-shadow:0 18px 40px -16px rgba(37,211,102,.6);}
.uat-nav__wa.is-hot .uat-btn__label{color:#04121f;}
.uat-nav__wa .uat-btn__ripple{background:rgba(255,255,255,.55);}
/* The page's own hover colours would fight the fill, so they stand down. */
.uat-btn.uat-btn--fx.uat-btn--ghost:hover,.uat-nav__wa.uat-btn--fx:hover{background-color:transparent;}
.uat-btn.uat-btn--fx:not(.uat-btn--ghost):not(.uat-btn--light):hover{background-color:var(--blue-deep);}
.uat-btn.uat-btn--fx.uat-btn--light:hover{background-color:#fff;}

/* The arrow leaves to the right and comes back in from the left. */
.uat-btn__label span[aria-hidden]{display:inline-block;}
.uat-btn.is-hot .uat-btn__label span[aria-hidden]{animation:uat-arrow .7s var(--spring);}
@keyframes uat-arrow{0%{transform:none;opacity:1;}40%{transform:translateX(16px);opacity:0;}
  41%{transform:translateX(-16px);opacity:0;}100%{transform:none;opacity:1;}}

/* A ripple from the exact point of the click. */
.uat-btn__ripple{position:absolute;z-index:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:rgba(255,255,255,.55);pointer-events:none;animation:uat-ripple .7s ease-out forwards;}
.uat-btn--ghost .uat-btn__ripple,.uat-btn--light:not(.is-hot) .uat-btn__ripple{background:rgba(31,162,232,.45);}
@keyframes uat-ripple{to{transform:scale(28);opacity:0;}}

/* The buttons that matter most carry a light running round their edge, all the
   time, so the eye finds them before the pointer does. */
.uat-btn--glint{border:1.5px solid transparent;
  background:linear-gradient(var(--glint-bg,var(--blue-deep)),var(--glint-bg,var(--blue-deep))) padding-box,
    conic-gradient(from var(--ang),rgba(91,190,242,0) 0 62%,rgba(91,190,242,.9) 76%,#fff 82%,rgba(91,190,242,0) 92%) border-box;
  animation:uat-spin 3.6s linear infinite;}
.uat-btn--glint.uat-btn--light{--glint-bg:#fff;}
@keyframes uat-spin{to{--ang:360deg;}}

/* The cursor ring: follows the pointer with a little lag, and wraps itself
   around a button the moment the pointer reaches one. The system cursor stays. */
.uat-cursor{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;width:34px;height:34px;border-radius:50%;
  border:1.5px solid rgba(91,190,242,.85);background:rgba(31,162,232,.06);opacity:0;
  transition:opacity .3s ease,border-color .3s ease,background-color .3s ease,box-shadow .3s ease;}
.uat-cursor.is-on{opacity:1;}
.uat-cursor.is-link{background:rgba(31,162,232,.14);border-color:rgba(91,190,242,.5);}
.uat-cursor.is-stick{border-color:rgba(255,255,255,.9);background:transparent;
  box-shadow:0 0 0 1px rgba(31,162,232,.5),0 0 26px rgba(31,162,232,.55);}
.uat-cursor.is-text{opacity:0;}

/* ---------- spotlight: surfaces catch the light where the pointer is ---------- */
.uat-card,.uat-hub,.uat-quote,.uat-steps li{--sx:50%;--sy:-40%;}
.uat-hub,.uat-quote,.uat-sec--dark .uat-steps li{
  background:radial-gradient(420px circle at var(--sx) var(--sy),rgba(31,162,232,.14),transparent 45%),rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .4s ease;}
.uat-hub:hover,.uat-quote:hover,.uat-sec--dark .uat-steps li:hover{border-color:rgba(31,162,232,.38);}
.uat-sec--light .uat-hub,.uat-sec--tint .uat-hub{
  background:radial-gradient(420px circle at var(--sx) var(--sy),rgba(31,162,232,.09),transparent 45%),#fff;
  box-shadow:0 1px 0 rgba(7,23,38,.03);}

/* ---------- services: an expanding gallery on wide screens ---------- */
@media (min-width:1000px){
  #services .uat-gallery{display:flex;gap:14px;height:clamp(420px,56vh,540px);}
  .uat-gallery .uat-card{flex:1 1 0;min-width:0;border:0;border-radius:14px;background:var(--night);
    color:#fff;cursor:pointer;transition:flex 1s var(--spring);outline-offset:4px;}
  .uat-gallery .uat-card:hover{transform:none;box-shadow:none;}
  .uat-gallery .uat-card.is-open{flex:3.4 1 0;}
  .uat-gallery .uat-card__img{position:absolute;inset:0;aspect-ratio:auto;
    transform:scale(1.12);transition:transform 1.4s var(--spring),filter .8s ease;filter:saturate(.7) brightness(.7);}
  .uat-gallery .uat-card.is-open .uat-card__img{transform:scale(1);filter:none;}
  .uat-gallery .uat-card::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(4,18,31,0) 30%,rgba(4,18,31,.92) 100%);}
  .uat-gallery .uat-card__b{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px 26px 28px;}
  .uat-gallery .uat-card__n{color:var(--sky);}
  .uat-gallery .uat-card h3{color:#fff;font-size:18px;line-height:1.3;}
  .uat-gallery .uat-card.is-open h3{font-size:clamp(24px,2.2vw,30px);font-family:var(--serif);font-weight:400;}
  .uat-gallery .uat-card p{max-width:40ch;color:rgba(234,243,250,.82);opacity:0;max-height:0;overflow:hidden;
    transform:translateY(14px);transition:opacity .5s ease,transform .8s var(--spring),max-height .6s ease;}
  .uat-gallery .uat-card.is-open p{opacity:1;max-height:9em;transform:none;transition-delay:.25s;}
}
@media (max-width:999px){
  /* Phones: a swipeable row that snaps to each card. */
  #services .uat-gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin:0 calc(var(--pad,20px) * -1);padding:0 var(--pad,20px) 6px;scroll-padding-inline:var(--pad,20px);scrollbar-width:none;}
  #services .uat-gallery::-webkit-scrollbar{display:none;}
  #services .uat-gallery .uat-card{flex:0 0 min(78vw,320px);scroll-snap-align:start;}
}

/* ---------- how it works: the pinned story ---------- */
/* Sticky needs every ancestor to let it overflow; .uat-sec clips by default so
   its background photo can overhang. This section has no photo. */
#how{overflow:visible;overflow:clip;}
.uat-story{margin-top:clamp(28px,4vw,48px);}
.uat-story__steps{margin:0;padding:0;list-style:none;}
.uat-story__step h3{margin:10px 0 9px;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.25;color:var(--night);}
.uat-story__step p{margin:0;max-width:46ch;font-size:15.5px;line-height:1.75;color:var(--ink-60);}
.uat-story__media{display:none;}
.uat-story__thumb{aspect-ratio:16/9;border-radius:12px;background-size:cover;background-position:center;margin-bottom:18px;}
.uat-story__step{padding:0 0 34px;}
@media (min-width:1000px){
  .uat-story{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,96px);align-items:start;}
  .uat-story__media{display:block;position:sticky;top:120px;height:min(64vh,560px);border-radius:16px;
    overflow:hidden;background:var(--night);box-shadow:0 60px 120px -60px rgba(4,18,31,.7);}
  .uat-story__img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;
    transform:scale(1.12);transition:opacity 1s ease,transform 2.4s var(--spring);}
  .uat-story__img.is-on{opacity:1;transform:scale(1);}
  .uat-story__media::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(200deg,rgba(4,18,31,0) 50%,rgba(4,18,31,.55));}
  .uat-story__rail{position:absolute;left:24px;top:24px;bottom:24px;width:2px;z-index:1;border-radius:2px;
    background:rgba(255,255,255,.22);}
  .uat-story__rail i{position:absolute;inset:0;border-radius:2px;background:#fff;
    box-shadow:0 0 12px var(--glow);transform-origin:top;transform:scaleY(var(--sp,0));}
  .uat-story__thumb{display:none;}
  .uat-story__step{min-height:min(52vh,460px);display:flex;flex-direction:column;justify-content:center;
    padding:0 0 0 28px;border-left:1px solid var(--ink-08);opacity:.28;
    transition:opacity .7s ease,border-color .7s ease;}
  .uat-story__step.is-on{opacity:1;border-left-color:var(--blue);}
  .uat-story__step:first-child{min-height:min(40vh,360px);justify-content:flex-start;}
}

/* ---------- fleet: the photo tilts toward the pointer, and its sheen follows ---------- */
.uat-fleet__view{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .8s var(--spring);transform-style:preserve-3d;
  box-shadow:0 50px 100px -50px rgba(4,18,31,.75);}
.uat-fleet__view::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:radial-gradient(520px circle at var(--gx,30%) var(--gy,0%),rgba(255,255,255,.2),transparent 50%);
  mix-blend-mode:soft-light;}
.uat-fleet__layer{transition:opacity 1s ease,transform 1.8s var(--spring);}

/* ---------- the journey film: pulls in as it scrolls past ---------- */
.uat-film__media{transform:scale(calc(1.18 - var(--fp,0) * .18));will-change:transform;}

/* ---------- why us: an editorial list, numbered, no checkmarks ---------- */
.uat-why{counter-reset:why;gap:0 clamp(28px,4vw,64px);grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));}
.uat-why li{counter-increment:why;position:relative;grid-template-columns:62px 1fr;gap:18px;align-items:baseline;
  padding:26px 0 26px;border:0;border-top:1px solid var(--line);border-radius:0;background:none;
  font-size:16px;line-height:1.65;color:rgba(234,243,250,.84);}
.uat-why li::before{content:counter(why,decimal-leading-zero);width:auto;height:auto;margin:0;border-radius:0;
  background:none;border:0;box-shadow:none;-webkit-mask:none;mask:none;font-family:var(--accent-serif);font-style:italic;font-size:30px;
  line-height:1;color:var(--sky);}
.uat-why li::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--sky);
  transform:scaleX(0);transform-origin:left;transition:transform .9s var(--spring);}
.uat-why li:hover::after{transform:scaleX(1);}

/* ---------- coverage: the route map ---------- */
.uat-map{margin:clamp(34px,5vw,56px) 0 clamp(30px,4vw,44px);}
.uat-map__stage{position:relative;aspect-ratio:2/1;}
.uat-map__world{position:absolute;inset:0;width:100%;height:100%;opacity:.9;
  -webkit-mask-image:radial-gradient(ellipse 75% 80% at 55% 45%,#000 55%,transparent 100%);
          mask-image:radial-gradient(ellipse 75% 80% at 55% 45%,#000 55%,transparent 100%);}
.uat-map__arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 0 3px rgba(31,162,232,.9));}
.uat-arc{fill:none;stroke:#5bbef2;stroke-width:1.1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85;}
.uat-map.is-in .uat-arc{stroke-dashoffset:0;transition:stroke-dashoffset 2.2s var(--glide);transition-delay:calc(var(--i) * 40ms);}
/* A plane is hidden until its own flight starts, or it would sit in the corner. */
.uat-arc__dot{fill:#fff;opacity:0;transition:opacity .6s ease;}
.uat-arc__dot.is-go{opacity:1;}
.uat-map--focus .uat-arc__dot{opacity:0;}
.uat-map--focus .uat-arc__dot.is-go{opacity:.5;}

.uat-map__pin{position:absolute;z-index:1;display:flex;align-items:center;gap:8px;transform:translate(-5px,-50%);
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  color:rgba(234,243,250,.72);text-decoration:none;}
.uat-map__pin i{flex:none;width:9px;height:9px;border-radius:50%;background:#bfe6fb;
  box-shadow:0 0 0 3px rgba(31,162,232,.25),0 0 14px var(--glow);}
.uat-map__pin--l{flex-direction:row-reverse;transform:translate(calc(-100% + 5px),-50%);}
.uat-map__pin span{padding:3px 6px;border-radius:4px;background:rgba(4,18,31,.72);}
.uat-map__pin--hover span{opacity:0;transform:translateX(-4px);transition:opacity .3s ease,transform .5s var(--spring);}
.uat-map__pin--hover:hover span{opacity:1;transform:none;}
.uat-map__pin--hover i{width:6px;height:6px;box-shadow:0 0 10px var(--glow);}
.uat-map__pin--hq,.uat-map__pin--office{color:#fff;font-weight:600;}
.uat-map__pin--hq i,.uat-map__pin--office i{position:relative;background:#fff;}
.uat-map__pin--hq i::after,.uat-map__pin--office i::after{content:"";position:absolute;inset:-7px;border-radius:50%;
  border:1px solid rgba(91,190,242,.8);animation:uat-ping 2.6s var(--glide) infinite;}
.uat-map__pin--hq i{width:12px;height:12px;}
@keyframes uat-ping{0%{transform:scale(.4);opacity:1;}100%{transform:scale(2.4);opacity:0;}}
a.uat-map__pin.is-live span{color:#fff;border-bottom:1px solid rgba(91,190,242,.6);}
a.uat-map__pin.is-live:hover span,a.uat-map__pin.is-live:focus-visible span{color:var(--sky);}
.uat-map figcaption{margin-top:14px;max-width:70ch;font-size:13px;line-height:1.6;color:rgba(234,243,250,.55);}
@media (max-width:700px){
  .uat-map__stage{margin:0 calc(var(--pad,20px) * -1);}
  .uat-map__pin span{display:none;}
  .uat-map__pin--hq span,.uat-map__pin--office span{display:inline;}
  .uat-map__pin{gap:5px;font-size:9px;}
  .uat-map__pin i,.uat-map__pin--hover i{width:5px;height:5px;box-shadow:0 0 8px var(--glow);}
  .uat-map__pin--hq i,.uat-map__pin--office i{width:7px;height:7px;}
  .uat-map__pin--hq i::after,.uat-map__pin--office i::after{inset:-4px;}
  .uat-map__pin span{padding:2px 4px;}
}


/* ============================================================
   City pages and the worldwide hub
   ============================================================ */

/* Page heroes: the light sits between the photo and the words. */
.uat-hero--photo .uat-hero__light{z-index:0;}
.uat-hero--photo .uat-hero__in{z-index:2;}

/* Sticky photos need their section to let them overflow (these have no
   background photo to clip). */
#arrival,#search{overflow:visible;overflow:clip;}

/* Arrival steps: the line draws itself as you read down, and each number
   lights once you have passed it. */
.uat-timeline::after{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;margin-left:-.5px;
  background:linear-gradient(180deg,var(--blue),var(--sky));border-radius:2px;
  transform-origin:top;transform:scaleY(var(--tp,0));box-shadow:0 0 10px var(--glow);}
.uat-timeline__n{transition:background-color .5s ease,color .5s ease,border-color .5s ease,box-shadow .5s ease;}
.uat-timeline li.is-past .uat-timeline__n{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;
  box-shadow:0 0 0 5px rgba(31,162,232,.14);}
.uat-arrival__photo{box-shadow:0 50px 100px -55px rgba(4,18,31,.7);}

/* Each airport section carries its code as a huge outline behind the text. */
.uat-airport__sec{isolation:isolate;}
.uat-airport__sec::before{content:attr(data-iata);position:absolute;z-index:-1;right:-1vw;top:50%;
  transform:translate3d(0,calc(-50% + var(--py,0px)),0);font-family:var(--serif);font-weight:300;
  font-size:clamp(140px,26vw,380px);line-height:.8;letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:1px rgba(7,23,38,.09);pointer-events:none;}

/* Photos that open like a lens (background-image figures). */
.uat-js .uat-lens{clip-path:inset(12% 12% 12% 12% round 24px);opacity:1;transform:none;}
.uat-js .uat-lens.is-in{clip-path:inset(0 0 0 0 round 12px);transition:clip-path 1.4s var(--spring);}

/* Light sections: panels and chips catch the light too. */
.uat-region__list li,.uat-book-chip{transition:border-color .35s ease,box-shadow .5s var(--spring),transform .5s var(--spring);}
.uat-region__list li:hover,.uat-book-chip:hover{border-color:rgba(31,162,232,.5);
  box-shadow:0 18px 40px -26px rgba(12,124,190,.55);transform:translateY(-2px);}

/* Route map with one airport lit: the other routes step back. */
.uat-map--focus .uat-arc{opacity:.22;}
.uat-map--focus .uat-arc.is-focus{opacity:1;stroke:#fff;stroke-width:1.9;}
.uat-map--focus .uat-map__pin:not(.is-focus):not(.uat-map__pin--hq){opacity:.55;}
.uat-map__pin.is-focus span{color:#fff;font-weight:600;}
.uat-map__pin.is-focus i{width:11px;height:11px;background:#fff;}
.uat-map__pin.is-focus i::after{content:"";position:absolute;inset:-7px;border-radius:50%;
  border:1px solid rgba(255,255,255,.85);animation:uat-ping 2.2s var(--glide) infinite;}
.uat-map__pin.is-focus i{position:relative;}
.uat-network .uat-map{margin-bottom:0;}


/* ---------- the phone bar: touch-driven fill, spring and a running light ---------- */
.uat-mbar a.uat-mbar__fx{position:relative;isolation:isolate;overflow:hidden;border:1.5px solid transparent;
  transition:transform .5s var(--spring),box-shadow .4s ease;
  -webkit-tap-highlight-color:transparent;
  background:linear-gradient(var(--mb-bg),var(--mb-bg)) padding-box,
    conic-gradient(from var(--ang),rgba(91,190,242,0) 0 62%,rgba(91,190,242,.95) 76%,#fff 82%,rgba(91,190,242,0) 92%) border-box;
  animation:uat-spin 3.6s linear infinite;animation-delay:var(--delay,0s);}
.uat-mbar__quote.uat-mbar__fx{--mb-bg:#fff;}
.uat-mbar__wa.uat-mbar__fx{--mb-bg:var(--blue-deep);}
.uat-mbar a.uat-mbar__fx:active{transform:scale(.95);}
.uat-mbar a.is-hot .uat-btn__fill{transform:translate(-50%,-50%) scale(1);transition:transform .6s var(--spring);}
.uat-mbar__quote .uat-btn__fill{background:linear-gradient(120deg,var(--blue),var(--blue-deep));}
.uat-mbar__quote.is-hot .uat-btn__label{color:#fff;}
.uat-mbar__wa .uat-btn__fill{background:#25D366;}
.uat-mbar__wa.is-hot .uat-btn__label{color:#04121f;}
.uat-mbar a.is-hot{box-shadow:0 10px 30px -8px rgba(31,162,232,.7);}
.uat-mbar__wa.is-hot{box-shadow:0 10px 30px -8px rgba(37,211,102,.7);}
.uat-mbar .uat-btn__label{transition:color .3s ease;}


/* ---------- the moving strip under the hero ----------
   Two rows running opposite ways: the services set large in the display serif,
   alternating solid and outlined, with a small plane between them; and the
   terms of service in small capitals underneath. Edges fade out, a hover slows
   everything to a drift, and cinema.js speeds the rows up while you scroll. */
.uat-ticker{position:relative;overflow:hidden;padding:20px 0 14px;
  background:linear-gradient(180deg,var(--night) 0%,#061a2c 100%);
  border-top:1px solid rgba(91,190,242,.18);border-bottom:1px solid rgba(91,190,242,.12);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.uat-ticker::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 120% at 50% 0%,rgba(31,162,232,.14),transparent 70%);}
.uat-ticker__row{position:relative;overflow:hidden;}
.uat-ticker__track{display:flex;align-items:center;width:max-content;animation:uatMarquee 46s linear infinite;}
.uat-ticker__track--rev{animation-duration:60s;animation-direction:reverse;}
.uat-ticker__w{display:inline-flex;align-items:center;gap:clamp(22px,2.4vw,36px);padding-right:clamp(22px,2.4vw,36px);
  white-space:nowrap;font-family:var(--serif);font-weight:400;font-size:clamp(21px,2vw,28px);line-height:1.2;
  letter-spacing:.01em;color:#fff;transition:color .3s ease;}
.uat-ticker__w--line{font-family:var(--accent-serif);font-style:italic;font-weight:400;color:var(--sky);}
/* A hairline diamond between the words, drawn rather than typed. */
.uat-ticker__w::after{content:"";flex:none;width:6px;height:6px;border:1px solid rgba(145,208,245,.7);
  transform:rotate(45deg);}
.uat-ticker__w:hover{color:var(--sky);}
.uat-ticker__w--line:hover{color:#fff;}
.uat-ticker__plane{display:none;}
.uat-ticker__row--small{margin-top:12px;padding-top:12px;
  border-top:1px solid rgba(255,255,255,.06);}
.uat-ticker__s{display:inline-flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap;
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(234,243,250,.55);}
.uat-ticker__s::after{content:"";width:4px;height:4px;border:1px solid rgba(145,208,245,.6);transform:rotate(45deg);}
@media (max-width:700px){ .uat-ticker__track{animation-duration:30s;} .uat-ticker__track--rev{animation-duration:40s;} }

/* ---------- chauffeur tiers: tall photo cards ---------- */
.uat-tiers{display:grid;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  margin-top:clamp(30px,4vw,50px);align-items:start;}
.uat-tier{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(560px,52vw,660px);border-radius:16px;overflow:hidden;background:var(--night);color:#fff;
  box-shadow:0 50px 90px -60px rgba(4,18,31,.8);}
@media (min-width:1000px){ .uat-tier:nth-child(2){margin-top:56px;} }
.uat-tier__img{position:absolute;inset:0 0 38% 0;z-index:-2;background-size:cover;background-position:center 20%;
  transform:scale(1.04);transition:transform 1.6s var(--spring);}
.uat-tier:hover .uat-tier__img{transform:scale(1.12);}
.uat-tier::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(4,18,31,0) 0%,rgba(4,18,31,.25) 18%,rgba(4,18,31,.88) 40%,rgba(4,18,31,.97) 60%,#04121f 100%);}
.uat-tier::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:box-shadow .5s ease;}
.uat-tier:hover::after{box-shadow:inset 0 0 0 1px rgba(91,190,242,.55),inset 0 0 60px rgba(31,162,232,.12);}
.uat-tier__b{padding:clamp(24px,2.6vw,34px);}
.uat-tier__n{display:block;font-family:var(--accent-serif);font-style:italic;font-size:44px;line-height:1;color:var(--sky);}
.uat-tier h3{margin:10px 0 12px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,32px);line-height:1.15;color:#fff;}
.uat-tier p{margin:0 0 20px;font-size:14.5px;line-height:1.7;color:rgba(234,243,250,.78);}
.uat-tier__f{margin:0 0 24px;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14);}
.uat-tier__f li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);
  font-size:13.5px;letter-spacing:.01em;color:#fff;}
.uat-tier__f li::before{content:"";flex:none;width:14px;height:1px;background:var(--sky);}
.uat-tier__cta{align-self:flex-start;}


/* ---------- the fleet showroom ---------- */
.uat-showroom{background:radial-gradient(80% 60% at 70% 0%,rgba(31,162,232,.16),transparent 60%),var(--night);}
.uat-show{display:block;margin-top:clamp(30px,4vw,48px);}
.uat-show .uat-fleet__view{min-height:0;aspect-ratio:21/9;border-radius:18px;
  box-shadow:0 60px 120px -60px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.06);}
/* The next car wipes in over the last one, left to right. */
.uat-show .uat-fleet__layer{opacity:1;z-index:0;clip-path:inset(0 0 0 100%);transform:scale(1.08);
  transition:clip-path 0s 1.2s,transform 0s 1.2s;}
.uat-show .uat-fleet__layer.is-on{z-index:1;clip-path:inset(0 0 0 0);transform:scale(1);
  transition:clip-path 1.2s cubic-bezier(.77,0,.18,1),transform 2.4s var(--spring);}
.uat-show .uat-fleet__cap2{z-index:2;top:0;right:auto;width:min(46%,520px);display:flex;align-items:flex-end;
  padding:clamp(26px,3.4vw,48px);background:linear-gradient(90deg,rgba(4,18,31,.94) 0%,rgba(4,18,31,.72) 60%,rgba(4,18,31,0) 100%);}
.uat-show .uat-fleet__cap2::after{content:"";position:absolute;inset:0 -40% 0 0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,18,31,.55),transparent);}
.uat-show__cap:not([hidden]){animation:uat-up .9s var(--spring) both;}
.uat-show__code{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--sky);}
.uat-show .uat-fleet__cap2 h3{margin:12px 0 10px;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.02em;font-weight:300;}
.uat-show .uat-fleet__cap2 p{margin:0 0 22px;max-width:40ch;font-size:15px;line-height:1.7;color:rgba(234,243,250,.8);}
.uat-show__spec{display:flex;gap:clamp(22px,3vw,40px);margin:0 0 26px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.14);}
.uat-show__spec dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(234,243,250,.55);}
.uat-show__spec dd{margin:6px 0 0;font-family:var(--serif);font-size:clamp(28px,3vw,40px);line-height:1;color:#fff;}
/* Tabs under the stage, each with a bar that fills while it is showing. */
.uat-show .uat-fleet__list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;}
.uat-show .uat-fleet__b{position:relative;overflow:hidden;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);border-radius:12px;}
.uat-show .uat-fleet__b b{color:#fff;}
.uat-show .uat-fleet__b i{color:rgba(234,243,250,.5);}
.uat-show .uat-fleet__cap{color:rgba(234,243,250,.62);}
.uat-show .uat-fleet__b:hover{border-color:rgba(91,190,242,.55);}
.uat-show .uat-fleet__b[aria-selected=true]{background:rgba(31,162,232,.14);border-color:rgba(91,190,242,.6);box-shadow:none;}
.uat-fleet__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--sky);
  transform-origin:left;transform:scaleX(0);box-shadow:0 0 10px var(--glow);}
.uat-show .uat-fleet__b[aria-selected=true] .uat-fleet__bar{transform:scaleX(1);transition:transform .4s ease;}
.uat-show.is-auto .uat-fleet__b[aria-selected=true] .uat-fleet__bar{animation:uat-bar 6s linear both;}
@keyframes uat-bar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@media (max-width:900px){
  .uat-show .uat-fleet__view{aspect-ratio:auto;min-height:560px;}
  .uat-show .uat-fleet__cap2{width:auto;right:0;top:auto;align-items:flex-end;
    background:linear-gradient(180deg,rgba(4,18,31,0) 0%,rgba(4,18,31,.9) 45%,#04121f 100%);}
  .uat-show .uat-fleet__list{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* ---------- reviews: one voice at a time ---------- */
#reviews{background:radial-gradient(70% 60% at 20% 30%,rgba(31,162,232,.12),transparent 60%),var(--night);}
.uat-google{padding:clamp(20px,2.4vw,30px);border:1px solid rgba(255,255,255,.08);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.uat-google--first{margin-top:clamp(26px,3vw,40px);}
.uat-ownquotes{margin-top:clamp(40px,5vw,64px);}
.uat-voices{margin-top:clamp(34px,4vw,54px);display:grid;gap:clamp(28px,4vw,64px);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;}
.uat-voices__stage{position:relative;display:grid;padding:clamp(28px,3.4vw,48px) 0 0 clamp(8px,2vw,24px);}
.uat-voices__mark{position:absolute;left:-.04em;top:-.16em;font-family:var(--accent-serif);font-style:italic;
  font-size:clamp(150px,16vw,240px);line-height:1;color:var(--blue);opacity:.28;pointer-events:none;}
.uat-voice{grid-area:1/1;margin:0;position:relative;}
.uat-js .uat-voice{opacity:0;visibility:hidden;transform:translateX(56px);
  transition:opacity .5s ease,transform .9s var(--spring),visibility 0s .9s;}
.uat-js .uat-voice.is-out{transform:translateX(-56px);}
.uat-js .uat-voice.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .8s ease .15s,transform 1.1s var(--spring) .15s;}
.uat-voices.is-auto .uat-voices__tab[aria-selected=true] .uat-voices__bar{animation-duration:var(--dur,8s);}
.uat-voice blockquote{margin:0;}
.uat-voice p{margin:0 0 26px;font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.5vw,34px);
  line-height:1.4;letter-spacing:-.005em;color:#fff;text-wrap:pretty;}
.uat-voice figcaption{display:flex;align-items:baseline;gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);max-width:520px;}
.uat-voice__n{font-size:15px;font-weight:600;color:#fff;}
.uat-voice__r{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);}
.uat-voices__count{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:rgba(234,243,250,.45);}
.uat-voices__count b{color:#fff;font-weight:500;}
.uat-voices__list{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.uat-voices__tab{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;
  border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);cursor:pointer;text-align:left;
  color:inherit;font:inherit;transition:background-color .4s ease,border-color .4s ease;}
.uat-voices__tab:hover{border-color:rgba(91,190,242,.4);}
.uat-voices__tab[aria-selected=true]{background:rgba(31,162,232,.12);border-color:rgba(91,190,242,.55);}
.uat-voices__tab .uat-quote__a{transition:background-color .4s ease,color .4s ease;}
.uat-voices__tab[aria-selected=true] .uat-quote__a{background:var(--blue);color:#fff;}
.uat-voices__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--sky);
  transform-origin:left;transform:scaleX(0);box-shadow:0 0 10px var(--glow);}
.uat-voices__tab[aria-selected=true] .uat-voices__bar{transform:scaleX(1);transition:transform .4s ease;}
.uat-voices.is-auto .uat-voices__tab[aria-selected=true] .uat-voices__bar{animation:uat-bar 8s linear both;}
@media (max-width:900px){
  .uat-voices{grid-template-columns:1fr;}
  .uat-voices__list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin:0;padding:0 0 4px;}
  .uat-voices__list::-webkit-scrollbar{display:none;}
  .uat-voices__list li{flex:0 0 auto;scroll-snap-align:start;}
  .uat-voices__tab{width:auto;white-space:nowrap;}
}


/* ---------- FAQ: pinned intro, numbered questions, smooth answers ---------- */
#faq{overflow:visible;overflow:clip;}
@media (min-width:1000px){
  .uat-faqwrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(40px,6vw,96px);align-items:start;}
  .uat-faqwrap__side{position:sticky;top:120px;}
}
.uat-askcard{margin-top:28px;padding:24px;border-radius:14px;background:var(--night);color:#fff;
  box-shadow:0 40px 80px -50px rgba(4,18,31,.8);position:relative;overflow:hidden;}
.uat-askcard::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(360px circle at 100% 0%,rgba(31,162,232,.28),transparent 60%);}
.uat-askcard__t{position:relative;margin:0 0 6px;font-family:var(--serif);font-size:26px;line-height:1.2;color:#fff;}
.uat-askcard__b{position:relative;margin:0 0 18px;font-size:14.5px;line-height:1.6;color:rgba(234,243,250,.72);}
.uat-askcard__cta{position:relative;display:flex;flex-wrap:wrap;gap:10px;}
.uat-askcard .uat-btn--ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.uat-askcard .uat-btn--wa:not(.uat-btn--ghost){background:#25D366;color:#04121f;}

.uat-faq{counter-reset:faq;gap:0;max-width:none;border-top:1px solid var(--ink-14);}
.uat-faq details{counter-increment:faq;position:relative;border:0;border-bottom:1px solid var(--ink-14);border-radius:0;
  background:transparent;overflow:hidden;}
.uat-faq details::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--blue);
  transform:scaleX(0);transform-origin:left;transition:transform .9s var(--spring);}
.uat-faq details[open]::before{transform:scaleX(1);}
.uat-faq summary{position:relative;display:grid;grid-template-columns:48px 1fr 38px;align-items:center;gap:14px;
  padding:26px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.9vw,25px);
  line-height:1.3;color:var(--night);transition:color .3s ease;}
.uat-faq summary::before{content:counter(faq,decimal-leading-zero);font-family:var(--mono);font-size:11px;
  letter-spacing:.18em;color:var(--blue);}
.uat-faq summary > *{min-width:0;}
.uat-faq summary:hover{color:var(--blue-deep);}
/* A plus inside a ring that turns into a minus. */
.uat-faq summary::after{content:"";justify-self:end;width:38px;height:38px;border-radius:50%;border:1px solid var(--ink-14);
  transform:none;background:
    linear-gradient(var(--night),var(--night)) center/12px 1.5px no-repeat,
    linear-gradient(var(--night),var(--night)) center/1.5px 12px no-repeat;
  transition:background-size .4s var(--spring),background-color .4s ease,border-color .4s ease,transform .6s var(--spring);}
.uat-faq summary:hover::after{border-color:var(--blue);}
.uat-faq details[open] summary::after{transform:rotate(180deg);background-color:var(--blue-deep);border-color:var(--blue-deep);
  background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-size:12px 1.5px,1.5px 0;}
.uat-faq .uat-faq__a{margin:0;padding:0 52px 28px 62px;font-size:15.5px;line-height:1.8;color:var(--ink-60);max-width:68ch;}
@media (max-width:700px){
  .uat-faq summary{grid-template-columns:34px 1fr 34px;gap:10px;padding:20px 0;font-size:19px;}
  .uat-faq summary::after{width:34px;height:34px;}
  .uat-faq .uat-faq__a{padding:0 0 22px 44px;}
}
.uat-sec--dark .uat-faq summary{color:#fff;}

/* ---------- footer: statement, tidy columns, glass offices, a wordmark ---------- */
.uat-footer{position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(70% 50% at 15% 0%,rgba(31,162,232,.14),transparent 60%),var(--night);}
.uat-footer::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.uat-footer__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 40px;
  padding-bottom:clamp(36px,4vw,56px);margin-bottom:clamp(36px,4vw,56px);border-bottom:1px solid rgba(255,255,255,.08);}
.uat-footer__say{margin:0 0 12px;font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,60px);
  line-height:1.02;letter-spacing:-.02em;color:#fff;}
.uat-footer__say em{font-family:var(--accent-serif);font-style:italic;color:var(--sky);}
.uat-footer__lede{margin:0;max-width:44ch;font-size:14.5px;line-height:1.7;color:rgba(234,243,250,.6);}
.uat-footer__cta{display:flex;flex-wrap:wrap;gap:10px;}
.uat-footer__cta .uat-btn--ghost{color:#fff;border-color:rgba(255,255,255,.28);}
.uat-footer__g{grid-template-columns:1fr 2fr 1fr 1fr;gap:34px 40px;}
.uat-footer__guides ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px;}
@media (max-width:1000px){ .uat-footer__g{grid-template-columns:1fr 1fr;} .uat-footer__guides{grid-column:1/-1;} }
@media (max-width:560px){ .uat-footer__g{grid-template-columns:1fr;} .uat-footer__guides ul{grid-template-columns:1fr;} }
.uat-footer ul a{position:relative;display:inline-block;text-decoration:none;transition:color .3s ease,transform .5s var(--spring);}
.uat-footer ul a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--sky);
  transform:scaleX(0);transform-origin:right;transition:transform .5s var(--spring);}
.uat-footer ul a:hover{color:#fff;transform:translateX(4px);}
.uat-footer ul a:hover::after{transform:scaleX(1);transform-origin:left;}
.uat-footer__g{padding-bottom:0;border-bottom:0;}
.uat-legal{margin-top:clamp(40px,5vw,56px);padding:clamp(34px,4vw,48px) 0 10px;gap:14px;border-top:1px solid rgba(255,255,255,.08);}
.uat-legal > div{padding:20px 22px;border-radius:14px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
/* The real logo mark, faded, behind the wordmark. No motion. */
.uat-brandmark{position:relative;z-index:-1;display:grid;justify-items:center;align-items:end;
  min-height:clamp(170px,22vw,320px);margin-top:clamp(40px,5vw,80px);pointer-events:none;user-select:none;}
/* Logo and lettering share the logo's own colours and the same downward fade, and
   'screen' blending makes them glow together where they overlap. */
.uat-brandmark__plane{position:absolute;left:50%;top:52%;width:min(44vw,600px);height:auto;
  transform:translate(-50%,-50%);opacity:.22;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%);}
.uat-footer__mark{position:relative;margin:0 0 calc(clamp(28px,8.6vw,150px) * -0.22);
  text-align:center;white-space:nowrap;font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1;
  font-size:clamp(28px,8.6vw,150px);color:transparent;-webkit-text-stroke:0;mix-blend-mode:screen;
  background:linear-gradient(180deg,rgba(224,243,250,.42) 0%,rgba(106,205,234,.3) 38%,rgba(0,179,220,.16) 62%,rgba(31,162,232,0) 92%);
  -webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 0 30px rgba(31,162,232,.18));}
@media (max-width:720px){ .uat-brandmark{margin-bottom:70px;min-height:150px;} .uat-footer__mark{margin-bottom:0;} .uat-brandmark__plane{width:64vw;} }





/* ---------- pricing: a quote laid out like a receipt, no figures ---------- */
.uat-price .uat-bg{opacity:.18;}
.uat-price__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,84px);align-items:center;}
.uat-quote-card{position:relative;padding:clamp(26px,3vw,40px);border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 40%,rgba(31,162,232,.06));
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 70px 120px -60px rgba(0,0,0,.9);}
.uat-quote-card__head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-right:90px;
  padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.14);}
.uat-quote-card__head span{font-family:var(--serif);font-size:clamp(28px,2.6vw,36px);color:#fff;line-height:1;}
.uat-quote-card__head i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);}
.uat-quote-card__rows{margin:0;padding:0;list-style:none;}
.uat-quote-card__rows li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;
  padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.14);}
.uat-js .uat-quote-card__rows li{opacity:0;transform:translateX(18px);}
.uat-js .uat-quote-card.is-in .uat-quote-card__rows li{opacity:1;transform:none;transition:opacity .7s ease,transform .9s var(--spring);}
.uat-js .uat-quote-card.is-in .uat-quote-card__rows li:nth-child(2){transition-delay:.12s;}
.uat-js .uat-quote-card.is-in .uat-quote-card__rows li:nth-child(3){transition-delay:.24s;}
.uat-js .uat-quote-card.is-in .uat-quote-card__rows li:nth-child(4){transition-delay:.36s;}
.uat-quote-card__n{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--sky);}
.uat-quote-card__rows h3{margin:0 0 3px;font-size:16px;font-weight:600;color:#fff;}
.uat-quote-card__rows p{margin:0;font-size:13.5px;line-height:1.55;color:rgba(234,243,250,.62);}
.uat-quote-card__rows em{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(234,243,250,.55);white-space:nowrap;}
.uat-quote-card__rows em::before{content:"";display:inline-block;width:14px;height:1px;margin-right:10px;vertical-align:middle;
  background:rgba(145,208,245,.6);}
.uat-quote-card__total{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:22px;}
.uat-quote-card__total::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--sky));box-shadow:0 0 14px var(--glow);
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--spring) .6s;}
.uat-quote-card.is-in .uat-quote-card__total::before{transform:scaleX(1);}
.uat-quote-card__total span{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(234,243,250,.6);}
.uat-quote-card__total b{font-family:var(--accent-serif);font-style:italic;font-weight:400;font-size:clamp(26px,2.6vw,36px);color:var(--sky);}
/* The seal on the corner: its words turn slowly around the logo mark. */
.uat-quote-card__seal{position:absolute;right:clamp(-26px,-2vw,-14px);top:clamp(-40px,-3vw,-26px);width:clamp(96px,9vw,124px);aspect-ratio:1;
  border-radius:50%;background:radial-gradient(circle,#0a2236 58%,#061a2c 100%);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.8),inset 0 0 0 1px rgba(145,208,245,.25);display:grid;place-items:center;}
.uat-quote-card__seal > svg:first-child{position:absolute;inset:0;width:100%;height:100%;animation:uat-turn 24s linear infinite;}
.uat-quote-card__seal text{font-family:var(--mono);font-size:7.8px;letter-spacing:.08em;text-transform:uppercase;fill:rgba(191,230,251,.85);}
.uat-quote-card__plane{width:44%;height:auto;opacity:.9;}
@keyframes uat-turn{to{transform:rotate(360deg);}}
@media (max-width:900px){
  .uat-price__g{grid-template-columns:1fr;}
  .uat-quote-card{margin-top:30px;}
  .uat-quote-card__rows li{grid-template-columns:28px minmax(0,1fr);}
  .uat-quote-card__rows em{grid-column:2;}
  .uat-quote-card__seal{right:10px;top:-44px;}
}
@media (prefers-reduced-motion:reduce){ .uat-js .uat-quote-card__rows li{opacity:1;transform:none;} .uat-quote-card__seal > svg:first-child{animation:none;} .uat-quote-card__total::before{transform:none;transition:none;} }


/* ---------- about: three-line statement and a layered photo collage ---------- */
.uat-about .uat-bg{opacity:.14;}
.uat-about__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,96px);align-items:center;}
.uat-about__h{font-size:clamp(38px,4.6vw,64px);line-height:1.02;letter-spacing:-.02em;}
.uat-about__l{display:block;}
.uat-about__h em{font-family:var(--accent-serif);font-style:italic;color:var(--sky);}
.uat-about .uat-lead{max-width:52ch;}
.uat-about__collage{position:relative;aspect-ratio:1/1.08;}
.uat-about__main{position:absolute;right:0;top:0;width:80%;height:88%;border-radius:18px;
  transform:translate3d(0,var(--am,0px),0);box-shadow:0 70px 120px -60px rgba(0,0,0,.9);}
.uat-about__main picture,.uat-about__main img{display:block;width:100%;height:100%;object-fit:cover;}
.uat-about__second{position:absolute;left:0;bottom:0;width:44%;aspect-ratio:4/5;border-radius:14px;z-index:2;
  background-size:cover;background-position:center;border:6px solid #061a2c;
  transform:translate3d(0,var(--as,0px),0);box-shadow:0 40px 80px -30px rgba(0,0,0,.85);}
.uat-js .uat-about__second{opacity:0;transform:translate3d(-24px,calc(var(--as,0px) + 30px),0);
  transition:opacity 1s ease .5s,transform 1.4s var(--spring) .5s;}
.uat-js .uat-about__collage.is-seen .uat-about__second{opacity:1;transform:translate3d(0,var(--as,0px),0);}
.uat-about__badge{position:absolute;z-index:1;top:18px;left:18px;padding:12px 16px;border-radius:12px;
  background:rgba(6,26,44,.5);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.uat-about__badge i{display:block;font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);}
.uat-about__badge b{display:block;margin-top:4px;font-family:var(--serif);font-weight:400;font-size:18px;color:#fff;}
.uat-about__chips{position:absolute;z-index:3;right:-10px;bottom:6%;display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.uat-about__chips li{justify-self:end;padding:9px 14px;border-radius:999px;font-size:12.5px;color:#fff;white-space:nowrap;
  background:rgba(6,26,44,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(145,208,245,.28);box-shadow:0 14px 30px -16px rgba(0,0,0,.8);}
.uat-js .uat-about__chips li{opacity:0;transform:translateX(20px);}
.uat-js .uat-about__collage.is-seen .uat-about__chips li{opacity:1;transform:none;transition:opacity .7s ease,transform 1s var(--spring);}
.uat-js .uat-about__collage.is-seen .uat-about__chips li:nth-child(1){transition-delay:.8s;}
.uat-js .uat-about__collage.is-seen .uat-about__chips li:nth-child(2){transition-delay:.95s;}
.uat-js .uat-about__collage.is-seen .uat-about__chips li:nth-child(3){transition-delay:1.1s;}
.uat-js .uat-about__collage.is-seen .uat-about__chips li:nth-child(4){transition-delay:1.25s;}
@media (max-width:900px){
  .uat-about__g{grid-template-columns:1fr;}
  .uat-about__collage{aspect-ratio:1/1;margin-top:10px;}
  .uat-about__chips{right:6px;}
  .uat-about__chips li{font-size:11.5px;padding:7px 11px;}
  .uat-about__badge b{font-size:15px;}
}
@media (prefers-reduced-motion:reduce){
  .uat-js .uat-about__second,.uat-js .uat-about__chips li{opacity:1;transform:none;transition:none;}
  .uat-about__main,.uat-about__second{transform:none !important;}
}







/* ---------- fleet showroom, premium pass ---------- */
.uat-show__light{position:absolute;z-index:1;left:30%;right:-5%;bottom:-18%;height:46%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(145,208,245,.22),transparent);filter:blur(12px);mix-blend-mode:screen;}
.uat-show__num{position:absolute;z-index:2;right:clamp(20px,3vw,40px);top:clamp(12px,2vw,26px);pointer-events:none;
  font-family:var(--accent-serif);font-style:italic;font-size:clamp(70px,9vw,140px);line-height:1;color:rgba(255,255,255,.14);
  transition:opacity .4s ease;}
.uat-show__num.is-swap{opacity:0;}
.uat-show__nav{position:absolute;z-index:3;right:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,34px);display:flex;gap:10px;}
.uat-show__arrow{position:relative;width:52px;height:52px;border-radius:50%;cursor:pointer;
  background:rgba(6,26,44,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.22);transition:background-color .3s ease,border-color .3s ease,transform .5s var(--spring);}
.uat-show__arrow::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-top:1.5px solid #fff;border-right:1.5px solid #fff;
  transform:translate(-65%,-50%) rotate(45deg);}
.uat-show__arrow--prev::before{transform:translate(-35%,-50%) rotate(-135deg);}
.uat-show__arrow:hover{background:var(--blue-deep);border-color:var(--blue-deep);transform:scale(1.06);}
.uat-show__arrow:focus-visible{outline:2px solid var(--sky);outline-offset:3px;}
.uat-show__ico{width:14px;height:14px;margin-right:7px;vertical-align:-2px;fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;}
/* The class selector: a hairline row of names instead of boxes. */
.uat-show .uat-fleet__list{gap:0;margin-top:22px;border-top:1px solid rgba(255,255,255,.12);}
.uat-show .uat-fleet__b{grid-template-columns:1fr;gap:6px;padding:20px 22px 22px 0;border:0;border-radius:0;background:transparent;}
.uat-show .uat-fleet__b:hover,.uat-show .uat-fleet__b[aria-selected=true]{background:transparent;border:0;}
.uat-show .uat-fleet__b b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.1;
  color:rgba(234,243,250,.45);transition:color .4s ease;}
.uat-show .uat-fleet__b:hover b{color:rgba(234,243,250,.8);}
.uat-show .uat-fleet__b[aria-selected=true] b{color:#fff;}
.uat-show .uat-fleet__cap{order:3;text-align:left;font-size:12.5px;color:rgba(234,243,250,.45);}
.uat-show .uat-fleet__b i{order:2;}
.uat-show .uat-fleet__b[aria-selected=true] .uat-fleet__cap{color:rgba(234,243,250,.72);}
.uat-show .uat-fleet__bar{top:-1px;bottom:auto;height:2px;}
@media (max-width:900px){
  .uat-show__num{font-size:64px;}
  .uat-show__nav{top:18px;bottom:auto;left:18px;right:auto;}
  .uat-show__arrow{width:44px;height:44px;}
  .uat-show .uat-fleet__b{padding:16px 12px 16px 0;}
}


/* Fleet: one indicator slides along the class row to the chosen class; its
   inner line fills while the class is showing on its own. */
.uat-show .uat-fleet__list{position:relative;}
.uat-show .uat-fleet__bar{display:none;}
.uat-show__ind{position:absolute;top:-1px;left:0;height:2px;width:var(--iw,25%);pointer-events:none;list-style:none;
  background:rgba(145,208,245,.35);transform:translateX(var(--ix,0px));
  transition:transform .7s var(--spring),width .7s var(--spring);}
.uat-show__ind i{position:absolute;inset:0;background:var(--sky);box-shadow:0 0 12px var(--glow);transform-origin:left;transform:scaleX(1);}
.uat-show.is-auto .uat-show__ind i{animation:uat-bar 6s linear both;}
.uat-show .uat-fleet__b b{transition:color .4s ease,transform .6s var(--spring);}
.uat-show .uat-fleet__b[aria-selected=true] b{transform:translateX(4px);}
@media (prefers-reduced-motion:reduce){ .uat-show__ind{transition:none;} }


/* ---------- coverage: offices with live time, and a departures board ---------- */
.uat-offices{margin-top:clamp(10px,2vw,20px);gap:14px;}
.uat-office{position:relative;display:flex;flex-direction:column;padding:24px 24px 22px;border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:radial-gradient(420px circle at var(--sx,50%) var(--sy,-40%),rgba(31,162,232,.14),transparent 45%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);}
.uat-office b{font-size:28px;}
.uat-office__time{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:18px;font-style:normal;
  font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#fff;}
.uat-office__time::before{content:"";width:6px;height:6px;border-radius:50%;background:#25D366;box-shadow:0 0 0 0 rgba(37,211,102,.6);
  animation:uat-live 2.4s ease-out infinite;}
.uat-office__time:empty{display:none;}
.uat-office__time small{font-size:9.5px;letter-spacing:.2em;color:rgba(234,243,250,.5);}
@keyframes uat-live{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}70%{box-shadow:0 0 0 8px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.uat-office--any{text-decoration:none;border-color:rgba(91,190,242,.35);
  background:linear-gradient(160deg,rgba(31,162,232,.22),rgba(12,124,190,.08) 60%,rgba(255,255,255,.02));
  transition:border-color .4s ease,transform .6s var(--spring);}
.uat-office--any:hover{border-color:var(--sky);transform:translateY(-3px);}
.uat-office__go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-style:normal;
  font-size:14px;font-weight:600;color:#fff;}
.uat-office__go span{display:inline-block;transition:transform .5s var(--spring);}
.uat-office--any:hover .uat-office__go span{transform:translateX(5px);}

.uat-board{margin-top:clamp(30px,4vw,48px);padding:clamp(20px,2.6vw,30px) clamp(20px,2.8vw,34px) 14px;border-radius:16px;
  border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(2,10,18,.6),rgba(6,26,44,.45));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 50px 100px -60px rgba(0,0,0,.9);}
.uat-board__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.12);}
.uat-board__head .uat-eyebrow{margin:0;}
.uat-board__cols{display:flex;gap:0;width:min(46%,420px);justify-content:space-between;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(234,243,250,.45);}
.uat-board__cols i{font-style:normal;}
.uat-board ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px);margin:0;padding:0;}
.uat-board li{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 26px 14px 0;
  border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;background:none;}
.uat-board li::after{content:"\2192";position:absolute;right:2px;top:50%;transform:translate(-6px,-50%);opacity:0;color:var(--sky);
  transition:opacity .3s ease,transform .5s var(--spring);}
.uat-board li:hover::after,.uat-board li:focus-within::after{opacity:1;transform:translate(0,-50%);}
.uat-board li:hover{background:linear-gradient(90deg,rgba(31,162,232,.1),transparent);}
.uat-board a{font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:.005em;color:#fff;border:0;}
.uat-board a:hover,.uat-board a:focus-visible{color:var(--sky);}
.uat-board li span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--sky);white-space:nowrap;}
.uat-board__all a{font-family:var(--accent-serif);font-style:italic;color:var(--sky);}
@media (max-width:720px){
  .uat-board ul{grid-template-columns:1fr;}
  .uat-board__cols{display:none;}
}
@media (prefers-reduced-motion:reduce){ .uat-office__time::before{animation:none;} }


/* ---------- corporate: one scene, the case on the left, the form in glass ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.uat-corp{isolation:isolate;padding:clamp(90px,10vw,150px) 0;background:var(--night);}
.uat-corp__scene{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.uat-corp__img{position:absolute;inset:-6% 0;background-size:cover;background-position:62% center;
  transform:translate3d(0,var(--cy,0px),0) scale(1.04);}
.uat-corp__scene::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,18,31,.96) 0%,rgba(4,18,31,.82) 38%,rgba(4,18,31,.35) 70%,rgba(4,18,31,.55) 100%),
    linear-gradient(180deg,rgba(4,18,31,.55),transparent 30%,transparent 70%,rgba(4,18,31,.85));}
.uat-corp__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(36px,6vw,96px);align-items:center;}
.uat-corp__b .uat-h2{font-size:clamp(38px,4.4vw,62px);line-height:1.04;}
.uat-corp__list{counter-reset:corp;margin:28px 0 32px;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14);}
.uat-corp__list li{counter-increment:corp;display:grid;grid-template-columns:44px minmax(90px,.45fr) 1fr;align-items:baseline;gap:16px;
  padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.uat-corp__list li::before{content:counter(corp,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--sky);}
.uat-corp__list b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1;color:#fff;}
.uat-corp__list span{font-size:14.5px;line-height:1.6;color:rgba(234,243,250,.75);}
.uat-corp__cta{display:flex;flex-wrap:wrap;gap:12px;}
.uat-corp__cta .uat-btn--ghost{color:#fff;border-color:rgba(255,255,255,.3);}

/* The card: frosted glass over the photograph, with a light edge along the top. */
.uat-corpcard{position:relative;border-radius:22px;padding:clamp(26px,3vw,40px);color:#fff;
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 45%,rgba(31,162,232,.08));
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 80px 140px -60px rgba(0,0,0,.95);}
.uat-corpcard::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(145,208,245,.9),transparent);}
.uat-corpcard .uat-eyebrow{margin-bottom:12px;}
.uat-corpcard h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.12;color:#fff;}
.uat-corpcard__steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 24px;padding:0;list-style:none;}
.uat-corpcard__steps li{position:relative;padding-top:12px;font-size:13px;color:rgba(234,243,250,.5);transition:color .4s ease;}
.uat-corpcard__steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:rgba(255,255,255,.16);}
.uat-corpcard__steps li::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:var(--sky);
  box-shadow:0 0 12px var(--glow);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--spring);}
.uat-corpcard__steps li.is-on,.uat-corpcard__steps li.is-done{color:#fff;}
.uat-corpcard__steps li.is-on::after,.uat-corpcard__steps li.is-done::after{transform:scaleX(1);}
.uat-corpcard__steps i{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--sky);margin-right:8px;}
.uat-corpcard__err{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:rgba(214,69,48,.16);border:1px solid rgba(255,140,120,.45);
  font-size:14px;font-weight:600;color:#ffe3dd;}
.uat-corpcard__step{margin:0;padding:0;border:0;min-width:0;}
.uat-corpcard__g{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.uat-cf{display:flex;flex-direction:column;min-width:0;}
.uat-cf--wide{grid-column:1/-1;}
.uat-cf label,.uat-cf__l{margin-bottom:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(191,230,251,.8);}
.uat-cf .req{color:#ff9b8a;}
.uat-cf input,.uat-cf textarea{width:100%;padding:14px 16px;font:inherit;font-size:16px;color:#fff;border-radius:12px;
  background:rgba(4,18,31,.38);border:1px solid rgba(255,255,255,.16);
  transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;}
.uat-cf input::placeholder,.uat-cf textarea::placeholder{color:rgba(234,243,250,.38);}
.uat-cf input:hover,.uat-cf textarea:hover{border-color:rgba(255,255,255,.3);}
.uat-cf input:focus,.uat-cf textarea:focus{outline:none;border-color:var(--sky);background:rgba(4,18,31,.55);box-shadow:0 0 0 4px rgba(31,162,232,.22);}
.uat-cf.is-bad input{border-color:#ff9b8a;box-shadow:0 0 0 4px rgba(214,69,48,.2);}
.uat-cf textarea{resize:vertical;min-height:76px;line-height:1.6;}
.uat-corpcard__pills{display:flex;flex-wrap:wrap;gap:8px;}
.uat-cf .uat-pill{margin:0;font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none;color:inherit;}
.uat-pill{position:relative;cursor:pointer;}
.uat-pill input{position:absolute;opacity:0;width:1px;height:1px;}
.uat-pill span{display:inline-block;padding:10px 14px;border-radius:999px;font-size:13px;color:rgba(234,243,250,.85);
  border:1px solid rgba(255,255,255,.18);background:rgba(4,18,31,.3);transition:background-color .3s ease,border-color .3s ease,color .3s ease;}
.uat-pill:hover span{border-color:var(--sky);}
.uat-pill input:checked + span{background:var(--sky);border-color:var(--sky);color:#04121f;font-weight:600;}
.uat-pill input:focus-visible + span{outline:2px solid var(--sky);outline-offset:3px;}
.uat-corpcard__end{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px;}
.uat-corpcard__note{font-size:13px;color:rgba(234,243,250,.6);}
.uat-corpcard__back{padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:14px;color:rgba(234,243,250,.7);
  border-bottom:1px solid rgba(234,243,250,.3);}
.uat-corpcard__back:hover{color:#fff;border-bottom-color:#fff;}
/* Two steps side by side in a sliding track (only when script runs). */
.uat-js .uat-corpcard__viewport{overflow:hidden;margin:-6px;padding:6px;}
.uat-js [data-corp-card].is-steps .uat-corpcard__viewport{display:grid;grid-template-columns:100% 100%;column-gap:12px;align-items:start;
  transition:height .6s var(--spring);}
.uat-js [data-corp-card].is-steps .uat-corpcard__step{transition:transform .8s var(--spring),opacity .5s ease;}
.uat-js [data-corp-card].is-steps.is-two .uat-corpcard__step{transform:translateX(calc(-100% - 12px));}
.uat-js [data-corp-card].is-steps .uat-corpcard__step:not(.is-on){opacity:0;visibility:hidden;transition:transform .8s var(--spring),opacity .4s ease,visibility 0s .5s;}
.uat-js [data-corp-card]:not(.is-steps) [data-corp-next],html:not(.uat-js) [data-corp-next],html:not(.uat-js) [data-corp-back]{display:none;}
.uat-js [data-corp-card]:not(.is-steps) [data-corp-back]{display:none;}
/* Sent. */
.uat-corpcard__done{text-align:left;}
.uat-corpcard__tick{display:grid;place-items:center;width:54px;height:54px;margin-bottom:18px;border-radius:50%;
  background:rgba(37,211,102,.16);border:1px solid rgba(37,211,102,.5);}
.uat-corpcard__tick::after{content:"";width:18px;height:10px;border-left:2px solid #25D366;border-bottom:2px solid #25D366;transform:translateY(-2px) rotate(-45deg);}
.uat-corpcard__done h3{margin-bottom:10px;}
.uat-corpcard__done p{margin:0 0 18px;font-size:15px;line-height:1.7;color:rgba(234,243,250,.8);}
.uat-corpcard__wa{font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);}
@media (max-width:900px){
  .uat-corp__g{grid-template-columns:1fr;}
  .uat-corp__scene::after{background:linear-gradient(180deg,rgba(4,18,31,.7),rgba(4,18,31,.92) 40%,rgba(4,18,31,.96));}
  .uat-corp__list li{grid-template-columns:36px 1fr;}
  .uat-corp__list li span{grid-column:2;}
}
@media (max-width:560px){ .uat-corpcard__g{grid-template-columns:1fr;} .uat-corpcard{border-radius:18px;} }
@media (prefers-reduced-motion:reduce){ .uat-js [data-corp-card].is-steps .uat-corpcard__step{transition:none;} }


/* ---------- how it works: premium touch, same scroll ----------
   The pinned photo and the rail stay exactly as they were. Added: a soft blue
   light behind the photo, a glowing head on the progress rail, a gradient edge
   on the active step that draws itself, and the active step's words easing in. */
#how{background:radial-gradient(55% 60% at 22% 45%,rgba(31,162,232,.12),transparent 65%),var(--paper-2);}
@media (min-width:1000px){
  .uat-story__media{border-radius:20px;box-shadow:0 70px 120px -60px rgba(4,18,31,.75),0 0 0 1px rgba(255,255,255,.5);}
  .uat-story__media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset 0 -120px 120px -60px rgba(4,18,31,.35);}
  /* The head of the progress line: a small glowing point that travels down it. */
  .uat-story__rail::after{content:"";position:absolute;left:50%;top:calc(var(--sp,0) * 100%);width:10px;height:10px;margin:-5px 0 0 -5px;
    border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(31,162,232,.35),0 0 18px rgba(145,208,245,.9);}
  .uat-story__step{position:relative;border-left-color:transparent;}
  .uat-story__step::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--ink-08);}
  .uat-story__step::after{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;border-radius:2px;
    background:linear-gradient(180deg,var(--blue),var(--sky));box-shadow:0 0 12px rgba(31,162,232,.45);
    transform:scaleY(0);transform-origin:top;transition:transform .9s var(--spring);}
  .uat-story__step.is-on::after{transform:scaleY(1);}
  .uat-story__step h3,.uat-story__step p,.uat-story__step .uat-card__n{transition:transform .9s var(--spring),color .5s ease;}
  .uat-story__step:not(.is-on) h3,.uat-story__step:not(.is-on) p{transform:translateX(-6px);}
  .uat-story__step.is-on h3{color:var(--night);}
  .uat-story__step.is-on .uat-card__n{color:var(--blue-deep);}
}
@media (prefers-reduced-motion:reduce){
  .uat-story__step h3,.uat-story__step p{transform:none !important;}
}




/* ---------- the booking form: one scene, frosted glass, four steps ----------
   Same fields and behaviour as ever; the look of the corporate account form. */
#enquiry{overflow:visible;overflow:clip;}
.uat-bookscene{isolation:isolate;padding:clamp(90px,10vw,140px) 0;background:var(--night);color-scheme:dark;}
.uat-bookscene > .uat-bg{display:none;}
.uat-bookscene__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.uat-bookscene__bg > div{position:absolute;inset:-4% 0;background-size:cover;background-position:center;}
.uat-bookscene__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,18,31,.95) 0%,rgba(4,18,31,.8) 40%,rgba(4,18,31,.45) 75%,rgba(4,18,31,.6) 100%),
    linear-gradient(180deg,rgba(4,18,31,.6),transparent 30%,transparent 70%,rgba(4,18,31,.9));}
.uat-bookscene__g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,80px);align-items:start;}
.uat-bookscene__intro .uat-h2{font-size:clamp(38px,4.4vw,62px);line-height:1.04;}
.uat-bookscene__intro .uat-result{margin-top:10px;}

/* The card. */
.uat-bookscene .uat-book{position:relative;border-radius:24px;padding:clamp(24px,3vw,38px);color:#fff;overflow:visible;
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 45%,rgba(31,162,232,.08));
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 80px 140px -60px rgba(0,0,0,.95);}
.uat-bookscene .uat-book::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(145,208,245,.9),transparent);}
.uat-bookscene .uat-form{padding:0;}
/* Progress. */
.uat-bsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px;padding:0;list-style:none;}
.uat-bsteps li{position:relative;padding-top:12px;font-size:12.5px;color:rgba(234,243,250,.5);transition:color .4s ease;}
.uat-bsteps li::before,.uat-bsteps li::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;}
.uat-bsteps li::before{background:rgba(255,255,255,.16);}
.uat-bsteps li::after{background:var(--sky);box-shadow:0 0 12px var(--glow);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--spring);}
.uat-bsteps li.is-on,.uat-bsteps li.is-done{color:#fff;}
.uat-bsteps li.is-on::after,.uat-bsteps li.is-done::after{transform:scaleX(1);}
.uat-bsteps i{display:block;margin-bottom:2px;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--sky);}
.uat-bstep{margin:0;padding:0;border:0;min-width:0;}
html:not(.uat-js) .uat-bstep + .uat-bstep{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);}
html:not(.uat-js) .uat-bsteps,html:not(.uat-js) [data-bstep-next],html:not(.uat-js) [data-bstep-back]{display:none;}
/* Sliding steps (with script). */
.uat-js .uat-bview{overflow:hidden;margin:-8px;padding:8px;transition:height .6s var(--spring);}
.uat-js [data-bform].is-steps .uat-bview{display:grid;grid-template-columns:repeat(4,100%);column-gap:16px;align-items:start;}
.uat-js [data-bform].is-steps .uat-bstep{transform:translateX(calc(var(--bs,0) * (-100% - 16px)));
  transition:transform .8s var(--spring),opacity .45s ease,visibility 0s linear .5s;}
.uat-js [data-bform].is-steps .uat-bstep:not(.is-on){opacity:0;visibility:hidden;}
.uat-js [data-bform].is-steps .uat-bstep.is-on{transition:transform .8s var(--spring),opacity .6s ease .1s,visibility 0s;}
.uat-bstep__end{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:24px;}
.uat-bstep__back{padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:14px;color:rgba(234,243,250,.72);
  border-bottom:1px solid rgba(234,243,250,.3);}
.uat-bstep__back:hover{color:#fff;border-bottom-color:#fff;}
.uat-bstep__back--top{margin:22px 0 0;}

/* Service switch on glass. */
.uat-bookscene .uat-book__head{padding:0;}
.uat-bookscene .uat-tabs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:5px;margin:0 0 16px;
  border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(4,18,31,.35);overflow:visible;}
.uat-bookscene .uat-tab{z-index:1;padding:10px 8px;border-radius:10px;background:transparent !important;color:rgba(234,243,250,.62);
  font-size:12.5px;font-weight:600;line-height:1.3;white-space:normal;text-align:center;transition:color .35s ease;}
.uat-bookscene .uat-tab::after{display:none;}
.uat-bookscene .uat-tab:hover{color:#fff;}
.uat-bookscene .uat-tab[aria-selected=true]{color:#04121f;}
.uat-tabs__pill{position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:var(--pw,0px);border-radius:10px;background:#fff;
  box-shadow:0 10px 26px -12px rgba(0,0,0,.6);transform:translateX(var(--px,0px));transition:transform .6s var(--spring),width .6s var(--spring);}
/* Service note on glass, with the route line. */
.uat-bookscene .uat-tabpanel{padding:0 0 18px;}
.uat-bookscene .uat-tabpanel__card{padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(4,18,31,.3);}
.uat-bookscene .uat-tabpanel__t{color:#fff;font-size:16px;}
.uat-bookscene .uat-tabpanel__t span{color:var(--sky);}
.uat-bookscene .uat-tabpanel__b{margin-bottom:10px;font-size:14px;color:rgba(234,243,250,.72);}
.uat-bookscene .uat-fact{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(234,243,250,.8);}
.uat-route{position:relative;height:18px;margin:2px 0 10px;max-width:300px;}
.uat-route i{position:absolute;left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(145,208,245,.6) 0 6px,transparent 6px 11px);}
.uat-route i::before,.uat-route i::after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--sky);}
.uat-route i::before{left:0;} .uat-route i::after{right:0;background:transparent;border:1.5px solid var(--sky);}
.uat-route svg{position:absolute;top:50%;left:0;width:18px;height:18px;margin-top:-9px;fill:#fff;transform:rotate(90deg);
  animation:uat-glide 5s cubic-bezier(.65,0,.35,1) infinite;}
@keyframes uat-glide{0%{left:2%;opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{left:92%;opacity:0;}}

/* Fields on glass. */
.uat-bookscene .uat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.uat-bookscene .uat-f label{color:rgba(191,230,251,.8);}
.uat-bookscene .uat-f .req{color:#ff9b8a;}
.uat-bookscene .uat-f input:not([type=checkbox]):not([type=number]),.uat-bookscene .uat-f select,.uat-bookscene .uat-f textarea{
  padding-top:15px;padding-bottom:15px;border-radius:12px;color:#fff;background-color:rgba(4,18,31,.38);border:1px solid rgba(255,255,255,.16);}
.uat-bookscene .uat-f input::placeholder,.uat-bookscene .uat-f textarea::placeholder{color:rgba(234,243,250,.38);}
.uat-bookscene .uat-f input:hover,.uat-bookscene .uat-f select:hover,.uat-bookscene .uat-f textarea:hover{border-color:rgba(255,255,255,.3);}
.uat-bookscene .uat-f input:focus,.uat-bookscene .uat-f select:focus,.uat-bookscene .uat-f textarea:focus{border-color:var(--sky);
  background-color:rgba(4,18,31,.55);box-shadow:0 0 0 4px rgba(31,162,232,.22);}
.uat-bookscene .uat-f.is-bad input{border-color:#ff9b8a;box-shadow:0 0 0 4px rgba(214,69,48,.2);}
.uat-bookscene .uat-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2391d0f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;}
.uat-bookscene .uat-f select option{color:#04121f;}
.uat-bookscene .uat-hint{color:rgba(234,243,250,.55);}
.uat-bookscene .uat-count{border-color:rgba(255,255,255,.16);background:rgba(4,18,31,.38);border-radius:12px;}
.uat-bookscene .uat-count input{color:#fff;background:transparent !important;border:0 !important;box-shadow:none !important;}
.uat-bookscene .uat-count button{color:var(--sky);}
.uat-bookscene .uat-count button:hover{background:rgba(31,162,232,.35);color:#fff;}
#uat_pickup,#uat_dropoff,#uat_flight,#uat_when,#uat_name,#uat_email,#uat_phone{padding-left:46px !important;
  background-repeat:no-repeat;background-position:16px center;background-size:18px 18px;}
#uat_pickup,#uat_dropoff{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");}
#uat_flight{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15.5v-1.8l-7.5-4.6V4a1.5 1.5 0 0 0-3 0v5.1L3 13.7v1.8l7.5-2.3V18l-2 1.4V21l3.5-1 3.5 1v-1.6l-2-1.4v-4.8z'/%3E%3C/svg%3E");}
#uat_when{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");}
#uat_name{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c0-4 3.4-6.5 7.5-6.5s7.5 2.5 7.5 6.5'/%3E%3C/svg%3E");}
#uat_email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");}
#uat_phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231FA2E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.7 4.3-2.2 1.4a11 11 0 0 0 6.3 6.3l1.4-2.2L20 15.5V19a1.5 1.5 0 0 1-1.6 1.5A16.5 16.5 0 0 1 3.5 5.6 1.5 1.5 0 0 1 5 4z'/%3E%3C/svg%3E");}
/* The suggestion list, dark to match. */
.uat-bookscene .uat-loc__list{background:#0a2236;border-color:rgba(255,255,255,.16);box-shadow:0 30px 60px -20px rgba(0,0,0,.8);}
.uat-bookscene .uat-loc__list button:hover,.uat-bookscene .uat-loc__list button:focus-visible{background:rgba(31,162,232,.18);}
.uat-bookscene .uat-loc__main{color:#fff;}
.uat-bookscene .uat-loc__sub{color:rgba(234,243,250,.55);}
/* Requests as glass pills. */
.uat-bookscene .uat-chip span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;color:rgba(234,243,250,.88);
  background:rgba(4,18,31,.3);border:1px solid rgba(255,255,255,.18);}
.uat-bookscene .uat-chip span::before{content:"+";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;
  font-size:13px;line-height:1;color:var(--sky);background:rgba(31,162,232,.18);}
.uat-bookscene .uat-chip:hover span{border-color:var(--sky);}
.uat-bookscene .uat-chip:has(input:checked) span{background:var(--sky);border-color:var(--sky);color:#04121f;font-weight:600;}
.uat-bookscene .uat-chip:has(input:checked) span::before{content:"\2713";background:#04121f;color:var(--sky);font-size:10px;}
.uat-bookscene .uat-childages label{color:rgba(191,230,251,.8);}
/* Send. */
.uat-bookscene .uat-submit{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);}
.uat-bookscene .uat-submit p{color:rgba(234,243,250,.6);}
.uat-bookscene .uat-submit p a{color:#fff;}
.uat-bookscene .uat-wa-alt{color:rgba(234,243,250,.72);}
.uat-bookscene .uat-wa-alt a{color:#fff;}
.uat-bookscene .uat-submit .uat-btn{padding:18px 32px;font-size:16px;}
.uat-bookscene .uat-submit .uat-btn__label{gap:12px;}

/* The live summary, as a glass receipt under the heading. */
.uat-sum{display:none;}
@media (min-width:1000px){
  .uat-sum{display:block;margin-top:30px;padding:24px 24px 22px;border-radius:18px;color:#fff;
    background:linear-gradient(170deg,rgba(10,34,54,.72),rgba(4,18,31,.78));border:1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
  .uat-sum__t{margin:0 0 14px;font-family:var(--serif);font-size:24px;line-height:1.1;color:#fff;}
  .uat-sum__rows{margin:0;border-top:1px solid rgba(255,255,255,.12);}
  .uat-sum__rows div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .uat-sum__rows dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(191,230,251,.7);padding-top:3px;}
  .uat-sum__rows dd{margin:0;font-size:14px;line-height:1.45;color:#fff;overflow-wrap:anywhere;}
  .uat-sum__rows dd.is-empty{color:rgba(234,243,250,.35);}
  .uat-sum__rows dd.is-new{animation:uat-sum-in .6s var(--spring);}
  .uat-sum__promise{margin:14px 0 16px;font-size:13px;line-height:1.6;color:rgba(234,243,250,.7);}
  .uat-sum__go{width:100%;justify-content:center;}
}
@keyframes uat-sum-in{from{opacity:.2;transform:translateX(6px);}to{opacity:1;transform:none;}}
@media (max-width:999px){ .uat-bookscene__g{grid-template-columns:1fr;} }
@media (max-width:700px){
  .uat-bookscene .uat-grid{grid-template-columns:1fr;}
  .uat-bookscene .uat-tabs{display:flex;overflow-x:auto;scrollbar-width:none;}
  .uat-bookscene .uat-tab{flex:none;white-space:nowrap;padding:10px 14px;}
  .uat-bsteps{gap:6px;} .uat-bsteps li{font-size:11px;}
}
@media (prefers-reduced-motion:reduce){
  .uat-route svg{animation:none;left:45%;} .uat-tabs__pill{transition:none;}
  .uat-js [data-bform].is-steps .uat-bstep,.uat-js .uat-bview{transition:none !important;}
}


/* How it works: the step titles in the display serif, calmer body text. */
.uat-story__step h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.1;letter-spacing:-.01em;}
.uat-story__step p{font-size:16px;line-height:1.8;max-width:44ch;}
.uat-story__step .uat-card__n{font-size:10.5px;letter-spacing:.24em;}


/* ---------- header: a floating glass capsule, a gliding line, a progress line ---------- */
.uat-header__in{position:relative;}
/* Page progress along the foot of the bar. */
.uat-header__in::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;pointer-events:none;
  background:linear-gradient(90deg,var(--blue),var(--sky));box-shadow:0 0 12px var(--glow);
  transform:scaleX(var(--prog,0));transform-origin:left;}
/* Desktop only: on phones the menu is an absolute panel under the bar (style.css). */
@media (min-width:901px){ .uat-nav{position:relative;} }
.uat-nav__line{position:absolute;left:0;bottom:-10px;height:2px;width:var(--nw,0px);border-radius:2px;pointer-events:none;
  background:linear-gradient(90deg,var(--sky),#fff);box-shadow:0 0 10px var(--glow);opacity:0;
  transform:translateX(var(--nx,0px));transition:transform .55s var(--spring),width .55s var(--spring),opacity .3s ease;}
.uat-nav.has-line .uat-nav__line{opacity:1;}
.uat-nav a.is-here{color:#fff;}
@media (min-width:901px){
  .uat-header{height:73px;transition:background-color .5s ease,border-color .5s ease;}
  .uat-header .uat-header__in{min-height:72px;
    transition:min-height .6s var(--spring),margin .6s var(--spring),padding .6s var(--spring),border-radius .6s var(--spring),
      background-color .5s ease,border-color .5s ease,box-shadow .5s ease;border:1px solid transparent;}
  .uat-header .uat-brand img{transition:height .6s var(--spring);}
  .uat-header.is-float{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .uat-header.is-float .uat-header__in{min-height:60px;margin-top:6px;padding-left:22px;padding-right:12px;border-radius:18px;
    background:rgba(6,26,44,.66);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
    border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 24px 60px -24px rgba(0,0,0,.8);}
  .uat-header.is-float .uat-brand img{height:44px;}
  .uat-header.is-float .uat-header__in::after{left:18px;right:18px;}
  .uat-header.is-float .uat-nav .uat-btn{padding-top:13px;padding-bottom:13px;}
}
@media (max-width:900px){ .uat-nav__line{display:none;} }
@media (prefers-reduced-motion:reduce){ .uat-header .uat-header__in,.uat-nav__line{transition:none;} }


/* ---------- header, creative pass ---------- */
/* "Booking desk / Open 24/7": plain type in the same voice as "by Universal Airport
   Assistance", only in the floating bar on wide screens (at the top of the page the
   topbar already says it, and the row has no room). The logo never shrinks: the old
   pill squeezed it to nothing (1.42.2). */
.uat-brandwrap,.uat-brand,.uat-brand img{flex:none;}
/* Widths budgeted, not frozen (review 2026-09-22): the phone menu now starts at
   900px like everything else here; 901-1100px keeps the WhatsApp hide that the
   button effects had undone; below 1280px the top-of-page brand stacks its byline
   under a 42px logo, as it already did below 1100px; and the nav gap leaves a
   margin rather than fitting to the pixel. */
@media (min-width:901px){ .uat-nav{gap:20px;} }
@media (min-width:901px) and (max-width:1100px){ .uat-nav .uat-nav__wa,.uat-nav .uat-nav__wa.uat-btn--fx{display:none;} }
@media (min-width:1101px) and (max-width:1279px){
  .uat-header:not(.is-float) .uat-brandwrap{flex-direction:column;align-items:flex-start;gap:3px;}
  .uat-header:not(.is-float) .uat-by{padding-left:0;border-left:0;font-size:10.5px;}
  .uat-header:not(.is-float) .uat-by span{display:inline;}
  .uat-header:not(.is-float) .uat-brand img{height:42px;}
}
.uat-live{display:none;}
@media (min-width:1280px){
  .uat-header.is-float .uat-live{display:block;}
  .uat-live{padding-left:16px;border-left:1px solid var(--line);font-size:11.5px;line-height:1.35;
    color:rgba(234,243,250,.6);white-space:nowrap;}
  .uat-live b{display:block;font-weight:600;color:rgba(234,243,250,.85);}
}
@media (min-width:901px){
  /* The capsule's edge catches the light where the pointer is. */
  .uat-header__in::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
    background:radial-gradient(240px circle at var(--hx,50%) 50%,rgba(145,208,245,.95),rgba(31,162,232,.25) 45%,transparent 70%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
            mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
    opacity:0;transition:opacity .4s ease;}
  .uat-header.is-float .uat-header__in:hover::before{opacity:1;}
  /* Now and then a faint streak of light crosses the glass. */
  .uat-header.is-float .uat-header__in{
    background-image:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.08) 50%,transparent 58%);
    background-repeat:no-repeat;background-size:260% 100%;background-position:160% 0;animation:uat-cap-shine 9s ease-in-out 1s infinite;}
  /* The logo lifts like a take-off, and a light crosses it. */
  .uat-brand{position:relative;overflow:hidden;border-radius:6px;}
  .uat-brand img{transition:height .6s var(--spring),transform .7s var(--spring);}
  .uat-brand:hover img{transform:translate(3px,-2px) rotate(-1.5deg);}
  .uat-brand::after{content:"";position:absolute;inset:-20% -60%;pointer-events:none;
    background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);transform:translateX(-70%);}
  .uat-brand:hover::after{transform:translateX(70%);transition:transform .9s cubic-bezier(.65,0,.35,1);}
}
@keyframes uat-cap-shine{0%,72%{background-position:160% 0;}100%{background-position:-60% 0;}}
@media (prefers-reduced-motion:reduce){
  .uat-header.is-float .uat-header__in{animation:none;}
  .uat-brand:hover img{transform:none;} .uat-brand:hover::after{transition:none;transform:translateX(-70%);}
}


/* ---------- coverage: search any airport, in glass on the dark ---------- */
.uat-finder{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,3.6vw,52px);align-items:stretch;
  margin-top:clamp(18px,2.4vw,28px);padding:clamp(24px,3.2vw,44px);border-radius:18px;
  border:1px solid rgba(91,190,242,.26);
  background:radial-gradient(640px circle at var(--sx,18%) var(--sy,0%),rgba(31,162,232,.16),transparent 55%),
    linear-gradient(135deg,rgba(31,162,232,.12),rgba(6,26,44,.55) 55%,rgba(255,255,255,.02));
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 50px 100px -60px rgba(0,0,0,.9);}
.uat-finder::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;border-radius:18px 18px 0 0;
  background:linear-gradient(90deg,transparent,rgba(145,208,245,.7),transparent);}
.uat-finder__main{display:flex;flex-direction:column;min-width:0;}
.uat-finder .uat-eyebrow{margin:0 0 12px;}
.uat-finder__h{margin:0 0 24px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,46px);line-height:1.04;
  letter-spacing:-.01em;color:#fff;text-wrap:balance;}
.uat-finder .uat-finder__label{margin:0 0 10px;color:rgba(234,243,250,.62);}
.uat-finder__field{position:relative;max-width:640px;}
.uat-finder__field svg{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--sky);pointer-events:none;}
.uat-finder .uat-finder__q{max-width:none;padding:18px 20px 18px 52px;font-size:17px;color:#fff;border-radius:14px;
  background:rgba(2,10,18,.55);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .3s ease,box-shadow .45s var(--spring),background-color .3s ease;}
.uat-finder .uat-finder__q::placeholder{color:rgba(234,243,250,.6);}
.uat-finder .uat-finder__q:hover{border-color:rgba(91,190,242,.45);}
.uat-finder .uat-finder__q:focus{border-color:var(--sky);background:rgba(2,10,18,.75);
  box-shadow:0 0 0 4px rgba(31,162,232,.2),0 24px 44px -26px rgba(31,162,232,.7);}
.uat-finder .uat-finder__q::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;cursor:pointer;opacity:.75;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' stroke='%235BBEF2' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.uat-finder .uat-finder__q::-webkit-search-cancel-button:hover{opacity:1;}
.uat-finder__try{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;}
.uat-finder__try span{margin-right:4px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(234,243,250,.62);}
.uat-finder__try button{padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:rgba(234,243,250,.85);font:500 13px/1.2 var(--sans);cursor:pointer;
  transition:border-color .3s ease,background-color .3s ease,color .3s ease,transform .5s var(--spring);}
.uat-finder__try button:hover,.uat-finder__try button:focus-visible{border-color:var(--sky);background:rgba(31,162,232,.14);color:#fff;transform:translateY(-1px);}
.uat-finder.is-typing .uat-finder__try{display:none;}
.uat-finder .uat-finder__results{margin-top:16px;}
.uat-finder .uat-book-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.uat-finder .uat-book-chip::after{color:var(--sky);}
.uat-finder .uat-book-chip__city{color:var(--sky);}
.uat-finder .uat-book-chip:hover,.uat-finder .uat-book-chip:focus-visible{border-color:var(--sky);background:rgba(31,162,232,.16);color:#fff;
  box-shadow:0 18px 40px -24px rgba(31,162,232,.75);}
.uat-finder .uat-world__none{color:rgba(234,243,250,.72);}
.uat-finder .uat-finder__note{margin-top:auto;padding-top:22px;color:rgba(234,243,250,.6);}
.uat-finder__note a{display:inline-block;color:var(--sky);text-decoration:none;border-bottom:1px solid rgba(91,190,242,.4);
  transition:color .3s ease,border-color .3s ease;}
.uat-finder__note a:hover,.uat-finder__note a:focus-visible{color:#fff;border-color:#fff;}
.uat-finder__note a span{display:inline-block;transition:transform .5s var(--spring);}
.uat-finder__note a:hover span{transform:translateX(4px);}
.uat-finder__photo{position:relative;margin:0;min-height:320px;border-radius:12px;overflow:hidden;
  background-size:cover;background-position:center;box-shadow:0 30px 60px -36px rgba(0,0,0,.9);}
.uat-finder__photo::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(200deg,transparent 45%,rgba(4,18,31,.55));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
@media (max-width:900px){
  .uat-finder{grid-template-columns:1fr;}
  .uat-finder__photo{display:none;}
}
@media (max-width:560px){
  /* A result reads as two lines on a phone: the airport, then where it is. */
  .uat-finder .uat-book-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:5px;width:100%;}
  .uat-finder .uat-book-chip__city{grid-column:1;}
  .uat-finder .uat-book-chip::after{grid-column:2;grid-row:1 / span 2;align-self:center;}
}
@media (prefers-reduced-motion:reduce){
  .uat-finder__try button,.uat-finder__note a span{transition:none;}
  .uat-finder__try button:hover,.uat-finder__try button:focus-visible{transform:none;}
}


/* ---------- services: creative pass on the expanding gallery ----------
   Same gallery. Closed cards now read upward along their edge instead of
   breaking the title over three lines; the open card carries a way to book that
   trip type; a soft light follows the pointer over the photo. */
.uat-card__go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:600;text-decoration:none;
  color:var(--blue-deep);border-bottom:1px solid currentColor;padding-bottom:3px;}
.uat-card__go span{display:inline-block;transition:transform .5s var(--spring);}
.uat-card__go:hover span,.uat-card__go:focus-visible span{transform:translateX(5px);}
.uat-card__v{display:none;}
@media (min-width:1000px){
  .uat-gallery .uat-card__v{position:absolute;z-index:1;left:24px;bottom:28px;display:flex;align-items:center;gap:16px;
    writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;pointer-events:none;
    font-family:var(--serif);font-size:clamp(22px,1.9vw,27px);line-height:1;letter-spacing:.005em;color:#fff;
    text-shadow:0 2px 18px rgba(4,18,31,.6);transition:opacity .45s ease .3s;}
  .uat-gallery .uat-card__v i{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;color:var(--sky);}
  .uat-gallery .uat-card.is-open .uat-card__v{opacity:0;transition-delay:0s;transition-duration:.2s;}
  .uat-gallery .uat-card__b{transition:opacity .5s ease .25s,transform .9s var(--spring) .2s;}
  .uat-gallery .uat-card:not(.is-open) .uat-card__b{opacity:0;transform:translateY(14px);transition-delay:0s;transition-duration:.2s;pointer-events:none;}
  .uat-gallery .uat-card:not(.is-open) .uat-card__go{visibility:hidden;}
  .uat-gallery .uat-card__go{color:#fff;border-bottom-color:rgba(145,208,245,.6);}
  .uat-gallery .uat-card__go:hover,.uat-gallery .uat-card__go:focus-visible{border-bottom-color:#fff;}
  /* A soft light where the pointer is (pointer() sets --sx/--sy on .uat-card). */
  .uat-gallery .uat-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s ease;
    background:radial-gradient(420px circle at var(--sx,50%) var(--sy,50%),rgba(145,208,245,.16),transparent 60%);}
  .uat-gallery .uat-card:hover::before{opacity:1;}
  /* The open card's edge catches the light. */
  .uat-gallery .uat-card.is-open{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 40px 80px -40px rgba(4,18,31,.7);}
}

/* Services, five cards (the booking form's five): the route beside the number, and
   the form's three facts as one quiet mono line. */
.uat-card__n em{font-style:normal;margin-left:10px;padding-left:10px;border-left:1px solid currentColor;opacity:.75;}
.uat-card__facts{display:flex;flex-wrap:wrap;gap:4px 0;margin:14px 0 0;padding:0;list-style:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45);}
.uat-card__facts li:not(:last-child)::after{content:"\00B7";margin:0 10px;opacity:.7;}
@media (min-width:1000px){
  .uat-gallery .uat-card__facts{color:rgba(234,243,250,.62);}
  .uat-gallery .uat-card p{max-width:46ch;}
}

/* ---------- how it works: creative pass, same scroll ----------
   Each new photo rises over the last instead of cross-fading (and falls away when
   scrolling back); a glass stepper on the photo shows where the reader is; the
   story ends with a way to start. */
.uat-story__bar{display:none;}
.uat-story__go{margin-top:6px;}
@media (min-width:1000px){
  .uat-js .uat-story__img{opacity:1;clip-path:inset(100% 0 0 0);
    transition:clip-path 1.15s cubic-bezier(.7,0,.2,1),transform 2.4s var(--spring);}
  .uat-js .uat-story__img.is-on,.uat-js .uat-story__img.is-past{clip-path:inset(0 0 0 0);}
  .uat-story__rail{bottom:98px;}
  .uat-story__bar{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    padding:6px;border-radius:14px;background:rgba(4,18,31,.38);border:1px solid rgba(255,255,255,.16);
    -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 40px -24px rgba(4,18,31,.8);}
  /* The glass highlight slides to the current step. */
  .uat-story__bar::before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px) / 4);border-radius:10px;
    background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
    transform:translateX(calc(var(--si,0) * 100%));transition:transform .8s var(--spring);}
  .uat-story__bar span{position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 12px;
    font-size:13px;font-weight:600;color:rgba(234,243,250,.5);transition:color .5s ease;}
  .uat-story__bar i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;color:rgba(145,208,245,.55);transition:color .5s ease;}
  .uat-story__bar span.is-past{color:rgba(234,243,250,.78);}
  .uat-story__bar span.is-on{color:#fff;}
  .uat-story__bar span.is-on i,.uat-story__bar span.is-past i{color:var(--sky);}
  .uat-story__go{margin:6px 0 0 28px;}
}
@media (prefers-reduced-motion:reduce){
  .uat-story__bar::before,.uat-gallery .uat-card__v,.uat-gallery .uat-card__b,.uat-card__go span{transition:none !important;}
}


/* ---------- pricing: premium pass ----------
   The three promises become the path a price takes (quote, accept, fixed) on a line
   that draws itself. The receipt becomes a boarding pass: its glass is drawn on a
   layer with two notches cut at the perforation, the price sits on the stub below a
   dashed tear line, "Fixed once paid" lands like a stamp, and the card tilts a little
   toward the pointer. No figures anywhere: the company publishes no prices. */
.uat-price__path{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;
  margin:6px 0 36px;padding:24px 0 0;list-style:none;max-width:520px;}
.uat-price__path::before,.uat-price__path::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;}
.uat-price__path::before{background:rgba(255,255,255,.14);}
.uat-price__path::after{background:linear-gradient(90deg,var(--sky),var(--blue));transform:scaleX(0);transform-origin:left;
  transition:transform 1.6s var(--spring) .3s;}
.uat-price__path.is-in::after{transform:scaleX(1);}
.uat-price__path li{position:relative;display:flex;flex-direction:column;gap:7px;}
.uat-price__path li::before{content:"";position:absolute;left:0;top:-28px;width:7px;height:7px;border-radius:50%;
  background:#061a2c;border:1px solid rgba(145,208,245,.7);transition:background-color .4s ease;}
.uat-price__path.is-in li::before{background:var(--sky);}
.uat-price__path.is-in li:nth-child(1)::before{transition-delay:.45s;}
.uat-price__path.is-in li:nth-child(2)::before{transition-delay:.95s;}
.uat-price__path.is-in li:nth-child(3)::before{transition-delay:1.45s;}
.uat-price__path i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--sky);}
.uat-price__path b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1;color:#fff;}
.uat-price__path span{font-size:13.5px;line-height:1.5;color:rgba(234,243,250,.66);}
@media (max-width:560px){
  .uat-price__path{grid-template-columns:1fr;gap:20px;padding:0 0 0 26px;}
  .uat-price__path::before,.uat-price__path::after{left:3px;right:auto;top:6px;bottom:8px;width:1px;height:auto;}
  .uat-price__path::after{transform:scaleY(0);transform-origin:top;}
  .uat-price__path.is-in::after{transform:scaleY(1);}
  .uat-price__path li::before{left:-26px;top:3px;}
}

/* The boarding pass. The card itself carries no paint; ::before is the glass, cut
   with a notch on each side at --perf-y (the stub's top, set by cinema.js), and
   ::after is a soft shadow under it. */
.uat-quote-card{--qc-pad:clamp(26px,3vw,40px);padding:var(--qc-pad);isolation:isolate;
  background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;}
.uat-quote-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:
    radial-gradient(circle 15px at 0 var(--perf-y,calc(100% - 92px)),transparent 13.5px,rgba(145,208,245,.28) 14px,transparent 15px),
    radial-gradient(circle 15px at 100% var(--perf-y,calc(100% - 92px)),transparent 13.5px,rgba(145,208,245,.28) 14px,transparent 15px),
    radial-gradient(520px circle at var(--gx,30%) var(--gy,0%),rgba(255,255,255,.08),transparent 55%),
    linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 40%,rgba(31,162,232,.07));
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.12);
  -webkit-mask:radial-gradient(circle 14px at 0 var(--perf-y,calc(100% - 92px)),transparent 13.5px,#000 14px),
               radial-gradient(circle 14px at 100% var(--perf-y,calc(100% - 92px)),transparent 13.5px,#000 14px);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(circle 14px at 0 var(--perf-y,calc(100% - 92px)),transparent 13.5px,#000 14px),
       radial-gradient(circle 14px at 100% var(--perf-y,calc(100% - 92px)),transparent 13.5px,#000 14px);
  mask-composite:intersect;}
.uat-quote-card::after{content:"";position:absolute;left:6%;right:6%;top:14%;bottom:-6%;z-index:-2;border-radius:40px;
  background:rgba(0,0,0,.6);filter:blur(46px);pointer-events:none;}
/* The stub: a dashed tear line from notch to notch. */
.uat-quote-card__total{margin-top:8px;padding-top:28px;align-items:center;}
.uat-quote-card__total::before{left:calc(22px - var(--qc-pad));right:calc(22px - var(--qc-pad));height:1px;
  background:repeating-linear-gradient(90deg,rgba(145,208,245,.6) 0 7px,transparent 7px 13px);box-shadow:none;}
.uat-quote-card__total b{display:inline-block;transform-origin:right center;}
.uat-js .uat-quote-card__total b{opacity:0;transform:scale(1.28) rotate(-3deg);}
.uat-js .uat-quote-card.is-in .uat-quote-card__total b{opacity:1;transform:none;
  transition:opacity .35s ease 1.25s,transform .7s cubic-bezier(.2,1.6,.4,1) 1.25s;}
/* The tilt: after the reveal, the card turns a few degrees toward the pointer. */
.uat-js .uat-quote-card[data-reveal].is-in{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:opacity 1s ease,transform .9s var(--spring);}
@media (prefers-reduced-motion:reduce){
  .uat-price__path::after{transform:none !important;transition:none;}
  .uat-price__path li::before{transition:none;}
  .uat-js .uat-quote-card__total b{opacity:1;transform:none;transition:none !important;}
  .uat-js .uat-quote-card[data-reveal].is-in{transform:none;}
}


/* ---------- standalone pages (page-uat.php): services, corporate, fleet, about, contact ----------
   Built from the site's own blocks; these rules add only what is new. "Included"
   is an editorial two-column list with hairlines, not a row of boxed cards. */
.uat-pg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,72px);margin-top:clamp(24px,3vw,40px);}
.uat-pg-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:26px 0 28px;
  border-top:1px solid var(--ink-08);}
.uat-pg-card::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--blue),var(--sky));
  transition:width .9s var(--spring);}
.uat-pg-card:hover::before{width:100%;}
.uat-pg-card__n{grid-row:1 / span 2;padding-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--blue-deep);}
.uat-pg-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,27px);line-height:1.15;color:var(--night);}
.uat-pg-card p{margin:6px 0 0;font-size:15px;line-height:1.7;color:var(--ink-60);max-width:48ch;}
@media (max-width:760px){ .uat-pg-grid{grid-template-columns:1fr;} .uat-pg-card{grid-template-columns:34px minmax(0,1fr);padding:22px 0 24px;} }

.uat-pg-prose__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start;}
.uat-pg-prose__b p{margin:0 0 20px;font-size:17px;line-height:1.85;color:var(--ink-60);}
.uat-pg-prose__b p:first-child{font-family:var(--serif);font-size:clamp(22px,2vw,26px);line-height:1.45;color:var(--night);}
.uat-pg-prose__b .uat-airport__rating{font-size:14px;}
@media (max-width:900px){ .uat-pg-prose__g{grid-template-columns:1fr;} }

.uat-pg-ch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(24px,3vw,40px);}
.uat-pg-ch__i{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(22px,2.6vw,32px);border-radius:16px;overflow:hidden;
  text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(420px circle at var(--sx,80%) var(--sy,0%),rgba(31,162,232,.16),transparent 55%),
    linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .4s ease,transform .6s var(--spring);}
.uat-pg-ch__i:hover,.uat-pg-ch__i:focus-visible{border-color:var(--sky);transform:translateY(-3px);color:#fff;}
.uat-pg-ch__i i{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);}
.uat-pg-ch__i b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.1;overflow-wrap:anywhere;}
.uat-pg-ch__i > span{font-size:14.5px;line-height:1.6;color:rgba(234,243,250,.7);max-width:40ch;}
.uat-pg-ch__i em{margin-top:auto;padding-top:14px;font-style:normal;font-size:14px;font-weight:600;color:#fff;}
.uat-pg-ch__i em span{display:inline-block;transition:transform .5s var(--spring);}
.uat-pg-ch__i:hover em span{transform:translateX(5px);}
.uat-pg-ch__i--wa{border-color:rgba(37,211,102,.35);}
.uat-pg-ch__i--wa:hover{border-color:#25D366;}
@media (max-width:700px){ .uat-pg-ch{grid-template-columns:1fr;} }

.uat-pg-rel .uat-hub{position:relative;text-decoration:none;color:#fff;padding-right:52px;transition:border-color .4s ease,transform .6s var(--spring);}
.uat-pg-rel .uat-hub:hover,.uat-pg-rel .uat-hub:focus-visible{border-color:rgba(91,190,242,.6);transform:translateY(-3px);}
.uat-pg-rel__go{position:absolute;right:22px;top:24px;font-style:normal;color:var(--sky);transition:transform .5s var(--spring);}
.uat-pg-rel .uat-hub:hover .uat-pg-rel__go{transform:translateX(5px);}
@media (prefers-reduced-motion:reduce){
  .uat-pg-card::before,.uat-pg-ch__i,.uat-pg-ch__i em span,.uat-pg-rel .uat-hub,.uat-pg-rel__go{transition:none;}
  .uat-pg-ch__i:hover,.uat-pg-rel .uat-hub:hover{transform:none;}
}

/* ---------- reduced motion: keep the light, drop the movement ---------- */
@media (prefers-reduced-motion:reduce){
  .uat-hero__media,.uat-hero__photo,.uat-hero__in,.uat-bg,.uat-film__media,.uat-fleet__view,.uat-btn,.uat-nav__wa,.uat-btn__label{transform:none !important;}
  .uat-btn--glint,.uat-btn__label span[aria-hidden],.uat-ticker__track{animation:none !important;}
  .uat-tier__img{transition:none;}
  .uat-js .uat-voice{transition:none !important;transform:none !important;}
  .uat-hero__in{opacity:1 !important;}
  .uat-hero__light::after,.uat-hero__display .uat-line > span,.uat-hero .uat-eyebrow,.uat-hero__p,
  .uat-hero__cta,.uat-stats,.uat-map__pin i::after{animation:none !important;}
  .uat-h2.is-split .uat-w > span,.uat-js [data-reveal].is-stagger > *{transform:none !important;opacity:1 !important;}
  .uat-js .uat-media--reveal,.uat-js .uat-lens{clip-path:none;}
  .uat-timeline::after{transform:none;}
  .uat-js .uat-media--reveal img{transform:none;}
  .uat-arc{stroke-dashoffset:0;}
  .uat-story__img,.uat-gallery .uat-card,.uat-gallery .uat-card__img{transition:none !important;}
}
