:root{--ink:#111827;--purple:#0584fe;--blue:#05e9fe;--muted:#667085;--line:#e6edf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.nav{height:77px;display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-size:24px;font-weight:800;letter-spacing:-1px;color:#fff;text-decoration:none}.brand img{width:28px;height:28px;border-radius:6px}.nav nav{display:flex;align-items:center;gap:29px}.nav nav a{color:#d8e4f6;text-decoration:none;font-size:14px;font-weight:600}.nav nav a:hover{color:#fff}select{appearance:none;border:1px solid #ffffff33;background:#ffffff14;border-radius:8px;padding:9px 28px 9px 12px;color:#fff;background-image:linear-gradient(45deg,transparent 50%,#ffffff99 50%),linear-gradient(135deg,#ffffff99 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 10px) 14px;background-size:4px 4px;background-repeat:no-repeat}select option{color:#111827}.menu{display:none;border:0;background:none;font-size:24px;color:#fff}.hero{width:100%;max-width:none;min-height:660px;padding:77px max(24px,calc((100vw - 1160px)/2)) 0;display:grid;grid-template-columns:48% 52%;align-items:center;overflow:hidden;position:relative;background:linear-gradient(135deg,#001b52,#000a2c);color:#fff}.hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(ellipse at 58% 45%,#0584fe26 0,transparent 52%),radial-gradient(circle at 15% 32%,#05e9fe26 0 1px,transparent 2px),radial-gradient(circle at 72% 65%,#0584fe35 0 1px,transparent 2px);background-size:auto,42px 42px,58px 58px;animation:drift 14s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000a2cbf 0,#000a2c80 25%,transparent 58%);pointer-events:none}.hero-copy,.hero-art{z-index:1}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:800;color:#65d7ff;margin:0 0 22px}.tag{display:inline-block;width:max-content;font-size:12px;letter-spacing:1.4px;font-weight:800;color:#0470d6;background:#0584fe12;border:1px solid #0584fe45;border-radius:99px;padding:7px 12px;margin:0 0 22px}.hero h1{font-size:56px;line-height:1.05;letter-spacing:-3px;margin:0 0 26px}.hero h1 span{color:#fff}.lead{font-size:18px;line-height:1.65;color:#c6d2e4;max-width:530px;margin:0 0 34px}.button{display:inline-flex;align-items:center;gap:18px;background:#0584fe;color:#fff;text-decoration:none;border-radius:8px;padding:14px 26px;font-weight:700;box-shadow:none}.hero .button{background:transparent;border:1px solid #ffffff4d}.hero .button:hover,.ghost:hover{background:#ffffff14}.hero-art{position:relative;height:580px;display:flex;align-items:flex-end;justify-content:center}.hero-art img{position:relative;width:690px;max-width:120%;opacity:.88;filter:drop-shadow(0 25px 38px #0008)}.glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#0584fe38 0,transparent 68%);filter:blur(8px)}.features{width:100%;max-width:none;padding:0}.feature{padding:70px max(24px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:1fr 1.08fr;gap:92px;align-items:center;min-height:650px}.feature:nth-child(even){background:#f6f9ff}.feature.reverse .copy{order:2}.feature.reverse .visual{order:1}.copy h2{font-size:40px;line-height:1.12;letter-spacing:-1.8px;margin:0 0 25px;max-width:510px}.copy ul{list-style:none;padding:0;margin:0;color:var(--muted)}.copy li{padding:8px 0;line-height:1.55;display:flex;align-items:center;gap:12px}.copy li:before{display:none}.feature-icon{width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#0584fe;color:#05e9fe;display:grid;place-items:center;font-size:13px;font-weight:900;box-shadow:0 5px 14px #0584fe30}.visual{border-radius:0;background:transparent;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative}.visual:before{content:'';position:absolute;width:390px;height:390px;background:#0584fe12;border-radius:50%;filter:blur(45px)}.visual img{position:relative;width:102%;max-height:570px;object-fit:contain}.cta{position:relative;overflow:hidden;background:#001b52;color:#fff;text-align:center;padding:95px 0}.cta:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#0584fe2e 0,transparent 55%)}.cta .shell{position:relative}.cta .eyebrow{color:#65d7ff}.cta h2{font-size:52px;letter-spacing:-2px;margin:0 0 18px}.cta p:not(.eyebrow){color:#c7d3e4;font-size:18px;margin:0 0 36px}.cta .light{background:#0584fe;color:#fff}.cta .ghost{background:transparent;border:1px solid #ffffff55;margin-left:10px}footer{max-width:none;width:100%;padding:0 max(24px,calc((100vw - 1160px)/2));height:130px;background:#000a2c;border-top:1px solid #ffffff1f;display:flex;align-items:center;justify-content:space-between;color:#93a5bd;font-size:13px}footer .brand{color:#fff}@keyframes drift{to{background-position:8% 4%,12px 20px,-18px 10px}}@media(max-width:900px){.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#001b52;border:1px solid #ffffff22;padding:22px;border-radius:12px;flex-direction:column;box-shadow:0 18px 50px #0008}.nav nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:120px;text-align:center}.hero-copy{z-index:2}.hero h1{font-size:48px}.lead{margin-left:auto;margin-right:auto}.hero-art{height:420px}.feature,.feature.reverse{grid-template-columns:1fr;gap:25px;min-height:auto;padding-top:70px;padding-bottom:70px}.feature .copy,.feature.reverse .copy{order:1}.feature .visual,.feature.reverse .visual{order:2}.copy{text-align:center}.tag{margin-left:auto;margin-right:auto}.copy h2{margin-left:auto;margin-right:auto;font-size:36px}.copy ul{display:inline-block;text-align:left}.visual{min-height:400px}.cta h2{font-size:46px}}@media(max-width:560px){.shell{width:min(100% - 30px,1160px)}.nav{height:65px}.hero{padding-top:105px}.hero h1{font-size:38px;letter-spacing:-2px}.lead{font-size:16px}.hero-art{height:330px}.hero-art img{width:430px}.feature{padding:55px 15px}.copy h2{font-size:30px;letter-spacing:-1px}.visual{min-height:300px}.cta{padding:75px 0}.cta h2{font-size:38px}.cta .button{display:flex;width:max-content;margin:12px auto}.cta .ghost{margin-left:auto}footer{height:auto;padding:38px 15px;gap:20px;flex-direction:column}}

/* Pixel-aligned refinements based on the live UMI layout. */
.nav{position:fixed;top:0;width:100%;max-width:none;height:71px;padding:0 24px;background:#001b52;border-bottom:1px solid #ffffff1f;z-index:100}.nav .brand{font-size:20px}.nav nav{margin-right:0}.hero{height:617px;min-height:617px;padding:71px 24px 0;grid-template-columns:512px 1fr;align-items:center}.hero:before{background-image:linear-gradient(90deg,#000a2ccf 0,#000a2c88 30%,transparent 55%),radial-gradient(ellipse at 50% 50%,#0584fe26 0,transparent 52%);background-repeat:no-repeat;background-position:center;background-size:auto,250% 250%;opacity:.72}.world-map{position:absolute;left:4%;top:72px;width:92%;height:545px;background:url('images/world-map-dots.png') center/100% 100% no-repeat;opacity:.88;pointer-events:none}.route{position:absolute;z-index:1;border-top:1px solid #5cb7ff66;border-radius:50%;pointer-events:none}.route:after{content:'';position:absolute;width:7px;height:7px;border:1px solid #50b6ff;border-radius:50%;box-shadow:0 0 0 4px #0584fe22}.route-a{left:15%;top:142px;width:48%;height:100px;transform:rotate(-4deg)}.route-b{left:57%;top:153px;width:34%;height:92px;transform:rotate(7deg)}.route-a:after{left:-3px;top:-4px}.route-b:after{right:-3px;top:-4px}.traveler{position:absolute;z-index:2;display:flex;align-items:center;gap:6px;background:#f8fbffeb;color:#162033;border-radius:20px;padding:5px 9px 5px 5px;font-size:11px;line-height:1.05;box-shadow:0 5px 16px #0003}.traveler .avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0a84ff,#58d7ff);color:#fff;font-weight:800}.traveler b,.traveler small{display:block}.traveler small{font-size:9px;color:#758198;margin-top:2px}.traveler-west{left:16%;top:177px}.traveler-east{right:13%;top:216px}.hero:after{display:none}.hero .eyebrow,.cta .eyebrow{display:none}.hero-copy{align-self:center}.hero h1{font-size:48px;line-height:1.25;letter-spacing:-1.5px;margin:0 0 24px;white-space:nowrap}.lead{font-size:20px;line-height:1.4;max-width:512px;margin-bottom:40px}.hero .button{width:208px;justify-content:center;padding:14px 18px}.hero .button b{display:none}.hero-art{height:546px;align-self:end;display:block}.hero-art img{position:absolute;right:1px;bottom:0;width:auto;height:59.4%;max-width:none;opacity:.85}.glow{display:none}.feature{min-height:679px;padding:80px 24px;grid-template-columns:584.5px 584.5px;gap:48px}.copy h2{font-size:36px;line-height:1.25;letter-spacing:-1px}.visual{min-height:0}.visual:before{display:none}.visual img{width:100%;max-height:none}.feature-icon{box-shadow:none}.feature-icon svg{width:56%;height:56%;fill:#05e9fe}.cta{height:374px;padding:0;display:grid;place-items:center}.cta h2{font-size:48px;letter-spacing:-1.5px;margin-bottom:22px}.cta p:not(.eyebrow){font-size:20px;margin-bottom:38px}.cta .button{width:192px;justify-content:center}.cta .ghost{width:165px}footer{height:69px;padding:0;background:#fff;color:#999;justify-content:center;font-size:14px;border:0}footer p{margin:0}
.nav nav{width:min(885px,calc(100vw - 150px));display:grid;grid-template-columns:max-content max-content max-content max-content max-content 1fr max-content;gap:32px;align-items:center}.nav nav select{grid-column:7}.hero-copy{transform:translateY(62px)}
@media(max-width:900px){.nav{padding:0 20px}.hero{height:auto;min-height:100vh;padding:105px 24px 0;grid-template-columns:1fr;text-align:center}.hero-copy{transform:none}.world-map{left:0;top:66px;width:100%;height:52%;background-size:auto 100%;opacity:.55}.route,.traveler{display:none}.hero h1{font-size:34px;white-space:normal}.lead{font-size:16px;line-height:1.5;margin-left:auto;margin-right:auto}.hero .button{margin:auto}.hero-art{height:300px;align-self:auto}.hero-art img{position:relative;right:auto;height:auto;width:min(60%,240px);bottom:0}.feature{grid-template-columns:1fr;min-height:auto;padding:48px 24px;gap:32px}.feature .copy,.feature.reverse .copy{order:1}.feature .visual,.feature.reverse .visual{order:2}.copy h2{font-size:30px}.cta{height:auto;min-height:340px;padding:55px 20px}.cta h2{font-size:36px}.cta p:not(.eyebrow){font-size:16px}footer{height:69px;padding:0}}

/* Animated global-connectivity background. Runs entirely in CSS, including file://. */
.world-map{transform-origin:50% 44%;animation:map-breathe 8s ease-in-out infinite alternate}
.route{transform-origin:center;animation:route-glow 4.8s ease-in-out infinite}
.route-b{animation-delay:-2.4s}
.route:before{content:'➤';position:absolute;top:-10px;left:0;color:#43c9ff;font-size:12px;text-shadow:0 0 10px #1bbcff;opacity:0;animation:fly-route-a 8s linear infinite}
.route-b:before{animation-name:fly-route-b;animation-delay:-4s}
.traveler-west{animation:traveler-west 8s ease-in-out infinite}
.traveler-east{animation:traveler-east 8s ease-in-out infinite;animation-delay:-4s}
.hero:before{animation:hero-aurora 10s ease-in-out infinite alternate}
@keyframes map-breathe{0%{opacity:.58;transform:scale(1) translate3d(0,0,0)}100%{opacity:.92;transform:scale(1.012) translate3d(0,-3px,0)}}
@keyframes hero-aurora{0%{background-position:0 0,20% 30%}100%{background-position:0 0,75% 55%}}
@keyframes route-glow{0%,100%{opacity:.25;filter:brightness(.8)}50%{opacity:.9;filter:brightness(1.45)}}
@keyframes fly-route-a{0%{opacity:0;transform:translate3d(0,1px,0) rotate(-8deg)}8%{opacity:1}45%{transform:translate3d(290px,-38px,0) rotate(2deg)}92%{opacity:1}100%{opacity:0;transform:translate3d(590px,1px,0) rotate(10deg)}}
@keyframes fly-route-b{0%{opacity:0;transform:translate3d(0,0,0) rotate(-5deg)}10%{opacity:1}48%{transform:translate3d(210px,-28px,0) rotate(2deg)}90%{opacity:1}100%{opacity:0;transform:translate3d(410px,0,0) rotate(9deg)}}
@keyframes traveler-west{0%,12%{opacity:0;transform:translate3d(-14px,5px,0) scale(.92)}20%,58%{opacity:1;transform:translate3d(0,0,0) scale(1)}70%,100%{opacity:0;transform:translate3d(16px,-4px,0) scale(.95)}}
@keyframes traveler-east{0%,12%{opacity:0;transform:translate3d(14px,5px,0) scale(.92)}20%,58%{opacity:1;transform:translate3d(0,0,0) scale(1)}70%,100%{opacity:0;transform:translate3d(-16px,-4px,0) scale(.95)}}
@media(prefers-reduced-motion:reduce){.world-map,.route,.route:before,.traveler,.hero:before{animation:none!important}.traveler{opacity:1}}

/* Keep desktop content centered inside the same 1280px frame as the reference. */
@media(min-width:901px){
  .nav{padding-left:max(24px,calc((100% - 1280px)/2 + 24px));padding-right:max(24px,calc((100% - 1280px)/2 + 24px))}
  .nav .brand{gap:8px}.nav .brand span{font-size:18px;font-weight:600;letter-spacing:0}
  .nav nav{position:absolute;left:calc(50% - 26.5px);transform:translateX(-50%);width:auto;display:flex;gap:32px;align-items:center}
  .nav nav a{position:static}
  .nav-tools{margin-left:auto;display:flex;align-items:center}
  .nav-tools select{position:static;width:122px;height:38px}
  .hero{height:min(calc(70.6px + 42.708333vw),897px);min-height:min(calc(70.6px + 42.708333vw),897px);padding-left:max(24px,calc((100% - 1280px)/2));padding-right:max(24px,calc((100% - 1280px)/2));grid-template-columns:512px minmax(0,1fr)}
  .hero-copy{transform:translateY(69px)}
  .hero-art{position:static;height:100%}
  .hero-art img{right:2%;height:min(calc(25.625vw - 3.85px),492px)}
  .world-map{height:calc(100% - 72px)}
  .feature{min-height:0;padding-left:max(24px,calc((100% - 1280px)/2));padding-right:max(24px,calc((100% - 1280px)/2));grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
}
@media(max-width:900px){
  .nav nav{display:none;position:absolute;top:70px;left:20px;right:20px;width:auto;transform:none;background:#001b52;border:1px solid #ffffff22;padding:22px;border-radius:12px;flex-direction:column;box-shadow:0 18px 50px #0008}
  .nav nav.open{display:flex}
  .nav-tools{margin-left:auto;display:flex;align-items:center;gap:10px}
  .nav-tools select{width:108px;height:36px;padding-top:8px;padding-bottom:8px;font-size:12px}
  .hero{width:100%;margin:0}
}

/* TTD service entry and verified public contact details. */
.footer-content{width:min(1280px,calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-contacts{display:flex;align-items:center;gap:22px}.footer-contacts a{color:#667085;text-decoration:none}.footer-contacts a:hover{color:#0584fe}.contact-widget{position:fixed;right:24px;bottom:24px;z-index:220;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.contact-toggle{border:1px solid #ffffff2b;border-radius:999px;background:#075ccb;color:#fff;box-shadow:0 12px 32px #001b5260;padding:12px 18px;display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;cursor:pointer}.contact-dot{width:8px;height:8px;border-radius:50%;background:#36e080;box-shadow:0 0 0 4px #36e08026}.contact-panel{width:285px;padding:15px;border:1px solid #dce8f8;border-radius:14px;background:#fff;box-shadow:0 18px 48px #001b5230;color:#172033}.contact-panel[hidden]{display:none}.contact-panel strong{display:block;padding:3px 4px 11px;font-size:15px}.contact-panel a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border-radius:9px;color:#172033;text-decoration:none}.contact-panel a:hover{background:#f1f7ff;color:#056cda}.contact-panel span{font-size:13px;font-weight:700}.contact-panel small{font-size:11px;color:#6b7890;text-align:right;overflow-wrap:anywhere}
@media(max-width:700px){footer{padding:22px 15px;height:auto;min-height:104px}.footer-content{width:100%;flex-direction:column;justify-content:center;gap:10px}.footer-contacts{flex-direction:column;gap:7px}.contact-widget{right:15px;bottom:15px}.contact-panel{width:min(285px,calc(100vw - 30px))}}

/* TTD shared-backend integration: contact channels, inquiry form and legal pages. */
.hero-art picture,.visual picture{display:contents}
.visual img{height:auto}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

body.contact-open{overflow:hidden}

:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid rgba(67,201,255,.58);
  outline-offset:3px;
}

.contact-widget{
  bottom:max(24px,env(safe-area-inset-bottom));
}

.contact-toggle,
.contact-close,
.contact-channel,
.contact-reserve-form button,
.footer-contacts a{
  min-height:44px;
}

.footer-contacts a{display:inline-flex;align-items:center}
.footer-contacts a[hidden],.contact-channel[hidden]{display:none!important}

.contact-toggle{justify-content:center;touch-action:manipulation}

.contact-panel{
  width:min(360px,calc(100vw - 48px));
  max-height:min(76vh,640px);
  max-height:min(76dvh,640px);
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:18px;
}

.contact-panel-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 14px 13px 16px;
  border-bottom:1px solid #e3edf8;
  background:linear-gradient(180deg,#f8fbff,#eef6ff);
}

.contact-panel-head strong{
  padding:0;
  color:#172033;
  font-size:15px;
  line-height:1.35;
}

.contact-panel-head small{
  display:block;
  margin-top:3px;
  color:#60758b;
  font-size:11px;
  line-height:1.4;
}

.contact-close{
  flex:0 0 44px;
  width:44px;
  padding:0;
  border:0;
  border-radius:11px;
  background:rgba(255,255,255,.82);
  color:#617a93;
  font:400 22px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}

.contact-close:hover{background:#fff;color:#075ccb}

.contact-panel-body{
  flex:1 1 auto;
  min-height:0;
  padding:14px;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.service-message{
  margin:0 0 11px;
  padding:11px 12px;
  border-radius:11px;
  background:#f5f9fe;
  color:#526b84;
  font-size:12px;
  line-height:1.6;
}

.contact-panel .contact-channel{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:11px;
  margin-top:8px;
  padding:10px 11px;
  border:1px solid #dce8f6;
  border-radius:12px;
  background:#fff;
  color:#172033;
  cursor:pointer;
  touch-action:manipulation;
}

.contact-panel .contact-channel[data-dynamic-contact]{
  grid-template-columns:36px minmax(0,1fr) max-content;
}

.contact-panel .contact-channel:hover{
  border-color:#b9d6f5;
  background:#f5f9ff;
  color:#075ccb;
}

.contact-channel>span:not(.channel-badge){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.contact-channel b{
  color:#172033;
  font-size:12.5px;
  line-height:1.35;
}

.contact-channel small{
  color:#60758b;
  font-size:11px;
  line-height:1.4;
  text-align:left;
  overflow-wrap:anywhere;
}

.contact-channel em{
  color:#086ed6;
  font-size:11px;
  font-style:normal;
  font-weight:700;
  white-space:nowrap;
}

.channel-badge{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(145deg,#0878e7,#37a4ff);
  color:#fff;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:0 7px 16px rgba(5,132,254,.18);
}

.contact-reserve-form{margin-top:14px}

.reserve-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0 11px;
  color:#63788e;
  font-size:11px;
  text-align:center;
}

.reserve-divider::before,
.reserve-divider::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background:#dce7f3;
}

.reserve-divider span{flex:0 0 auto;font-size:11px;font-weight:600}

.reserve-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.contact-reserve-form input,
.contact-reserve-form textarea{
  width:100%;
  border:1px solid #d8e5f3;
  border-radius:11px;
  background:#fbfdff;
  color:#172033;
  font:inherit;
  font-size:13px;
  line-height:1.45;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

.contact-reserve-form input{
  min-width:0;
  height:44px;
  padding:0 11px;
}

.contact-reserve-form textarea{
  min-height:82px;
  margin-top:8px;
  padding:10px 11px;
  resize:vertical;
}

.contact-reserve-form input::placeholder,
.contact-reserve-form textarea::placeholder{color:#687d92;opacity:1}

.contact-reserve-form input:focus,
.contact-reserve-form textarea:focus{
  border-color:#83baf3;
  background:#fff;
  box-shadow:0 0 0 3px rgba(5,132,254,.1);
}

.contact-reserve-form [aria-invalid="true"]{
  border-color:#d94f59;
  box-shadow:0 0 0 3px rgba(217,79,89,.1);
}

.reserve-privacy-note{
  margin:8px 1px 0;
  color:#63788e;
  font-size:10.5px;
  line-height:1.55;
}

.reserve-privacy-note a{color:#086ed6;font-weight:700}

.reserve-status{
  min-height:18px;
  margin:6px 1px;
  color:#9c3d43;
  font-size:10.5px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.reserve-status.ok{color:#147447}
.reserve-status.uncertain{color:#8a5a05}

.contact-reserve-form button{
  width:100%;
  padding:0 15px;
  border:0;
  border-radius:11px;
  background:linear-gradient(90deg,#086fe1,#359bf8);
  color:#fff;
  font-size:13px;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 9px 20px rgba(5,109,218,.16);
  touch-action:manipulation;
}

.contact-reserve-form button:hover{filter:brightness(1.035)}
.contact-reserve-form button:disabled{opacity:.65;cursor:wait;box-shadow:none}

.copy-helper{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Shared legal document frame used by privacy.html and terms.html. */
body.legal-page{min-height:100vh;background:#f4f8fd;color:#172033}
.legal-page main,.legal-page .legal-main{padding:111px 24px 56px}
.legal-page .legal-shell{
  width:min(860px,100%);
  margin:0 auto;
  padding:34px clamp(20px,4vw,46px);
  border:1px solid #dce8f6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 42px rgba(24,68,118,.08);
}
.legal-page h1{margin:0 0 12px;color:#10233d;font-size:clamp(30px,5vw,44px);line-height:1.15}
.legal-page h2{margin:30px 0 9px;color:#16385c;font-size:20px;line-height:1.35}
.legal-page p,.legal-page li{color:#536b83;font-size:14px;line-height:1.85}
.legal-page ul,.legal-page ol{padding-left:1.4em}
.legal-page a{color:#086ed6;text-underline-offset:3px}
.legal-page .legal-meta{margin:0 0 26px;color:#71859a;font-size:12px}
.legal-page .legal-back{
  min-height:44px;
  margin-left:auto;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:10px;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.legal-page .legal-back:hover{background:rgba(255,255,255,.1);color:#fff}

/* Switch the navigation before the centered desktop links can collide. */
@media(max-width:1050px){
  .nav{padding-left:20px;padding-right:20px}
  .nav nav{
    display:none;
    position:absolute;
    top:70px;
    left:20px;
    right:20px;
    width:auto;
    max-height:calc(100dvh - 88px);
    padding:16px;
    transform:none;
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    border:1px solid #ffffff22;
    border-radius:14px;
    background:#001b52;
    box-shadow:0 18px 50px #0008;
  }
  .nav nav.open{display:flex}
  .nav nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
  }
  .nav nav a:hover{background:#ffffff12}
  .nav-tools{margin-left:auto;display:flex;align-items:center;gap:8px}
  .nav-tools select{position:static;width:118px;min-height:44px;padding-top:8px;padding-bottom:8px}
  .menu{
    width:44px;
    height:44px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:10px;
    cursor:pointer;
    touch-action:manipulation;
  }
  .menu:hover{background:#ffffff12}
}

@media(max-width:700px){
  footer{
    padding:22px 15px calc(92px + env(safe-area-inset-bottom));
  }
  .footer-contacts a{padding:6px 10px;text-align:center}
  .contact-widget{
    right:15px;
    bottom:max(12px,env(safe-area-inset-bottom));
  }
  .contact-panel{
    width:min(360px,calc(100vw - 30px));
    max-height:calc(100vh - 100px - env(safe-area-inset-bottom));
    max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));
  }
  .contact-panel-body{
    padding:11px 11px calc(13px + env(safe-area-inset-bottom));
  }
  .contact-reserve-form input,
  .contact-reserve-form textarea{font-size:16px}
  .legal-page main,.legal-page .legal-main{padding:91px 15px 36px}
  .legal-page .legal-shell{padding:24px 18px;border-radius:16px}
}

@media(max-width:390px){
  .reserve-grid{grid-template-columns:1fr}
  .contact-panel .contact-channel[data-dynamic-contact]{grid-template-columns:34px minmax(0,1fr) max-content}
  .contact-channel em{font-size:10px}
  .nav-tools select{width:105px}
}

@supports(height:100dvh){
  @media(max-width:900px){.hero{min-height:100dvh}}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
