/* Canonical True Travel header and footer shared by public pages. */
.logo-slot{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%}
.logo-slot img{display:block}

#nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10000;
  padding:34px 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.nav-pill{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  max-width:1180px;
  padding:7px 14px 7px 30px;
  border-radius:100px;
  background:rgba(255,255,255,.12);
  border:2px solid rgba(7,44,82,.52);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  box-shadow:0 8px 40px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.15) inset,0 0 0 1px rgba(16,79,140,.24);
  transition:background .4s,border-color .4s,box-shadow .4s;
  pointer-events:all;
}
#nav.scrolled .nav-pill,
body.site-inner-page #nav .nav-pill{
  background:rgba(253,250,244,.94);
  border-color:rgba(244,186,24,.2);
  box-shadow:0 12px 50px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.8) inset;
}
.nav-top-row{display:flex;align-items:center;gap:16px;min-width:0}
.nav-logo-pill{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;min-width:0}
.nav-logo-pill .logo-slot{
  width:78px;
  height:64px;
  border-radius:0;
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
  overflow:visible;
}
.nav-logo-pill img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
  filter:drop-shadow(0 8px 14px rgba(8,30,42,.16)) !important;
}
.nav-logo-pill-text{
  display:grid;
  align-content:center;
  gap:3px;
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:700;
  color:var(--white,#ffffff);
  line-height:.84;
  transition:color .3s;
  white-space:nowrap;
}
.nav-logo-pill-text span{
  display:block;
  font-size:9px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  opacity:.74;
  line-height:1;
  padding-left:2px;
}
#nav.scrolled .nav-logo-pill-text,
body.site-inner-page #nav .nav-logo-pill-text{color:var(--ocean,#0e3a52)}
.nav-burger{
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  width:64px;
  height:52px;
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
  border-radius:18px;
  padding:0 16px;
  cursor:pointer;
  flex-shrink:0;
  color:var(--white,#ffffff);
  transition:transform .25s,background .25s,border-color .25s,box-shadow .25s;
}
.nav-burger span{display:block;width:24px;height:2.5px;border-radius:999px;transition:transform .25s,opacity .25s,width .25s,background .25s}
.nav-burger span:nth-child(1){background:var(--ocean3,#2b8bad)}
.nav-burger span:nth-child(2){width:18px;background:var(--gold,#f4ba18)}
.nav-burger span:nth-child(3){background:#111111}
.nav-burger:hover{transform:translateY(-1px);background:rgba(255,255,255,.16);box-shadow:0 10px 24px rgba(0,0,0,.18)}
#nav.scrolled .nav-burger,
body.site-inner-page #nav .nav-burger{background:rgba(14,58,82,.06);border-color:rgba(14,58,82,.12);color:var(--ocean,#0e3a52);box-shadow:none}
#nav.nav-open .nav-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
#nav.nav-open .nav-burger span:nth-child(2){opacity:0}
#nav.nav-open .nav-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.nav-links-pill{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav-links-pill a{
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  color:rgba(255,255,255,.8);
  text-decoration:none;
  padding:12px 20px;
  border-radius:100px;
  transition:all .25s;
  white-space:nowrap;
}
#nav.scrolled .nav-links-pill a,
body.site-inner-page #nav .nav-links-pill a{color:var(--mid,#5a5a5a)}
.nav-links-pill a:hover,
.nav-links-pill a[aria-current="page"]{background:rgba(255,255,255,.15);color:var(--white,#ffffff)}
#nav.scrolled .nav-links-pill a:hover,
#nav.scrolled .nav-links-pill a[aria-current="page"],
body.site-inner-page #nav .nav-links-pill a:hover,
body.site-inner-page #nav .nav-links-pill a[aria-current="page"]{background:rgba(14,58,82,.06);color:var(--ocean,#0e3a52)}
.nav-dropdown{position:relative}
.nav-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  color:rgba(255,255,255,.8);
  text-decoration:none;
  padding:12px 20px;
  border-radius:100px;
  cursor:pointer;
  transition:all .25s;
  white-space:nowrap;
}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{
  content:'';
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  transition:transform .2s;
}
#nav.scrolled .nav-dropdown summary,
body.site-inner-page #nav .nav-dropdown summary{color:var(--mid,#5a5a5a)}
.nav-dropdown:hover summary,
.nav-dropdown[open] summary,
.nav-dropdown.is-current summary{background:rgba(255,255,255,.15);color:var(--white,#ffffff)}
#nav.scrolled .nav-dropdown:hover summary,
#nav.scrolled .nav-dropdown[open] summary,
#nav.scrolled .nav-dropdown.is-current summary,
body.site-inner-page #nav .nav-dropdown:hover summary,
body.site-inner-page #nav .nav-dropdown[open] summary,
body.site-inner-page #nav .nav-dropdown.is-current summary{background:rgba(14,58,82,.06);color:var(--ocean,#0e3a52)}
.nav-dropdown[open] summary::after{transform:rotate(-135deg) translate(-1px,1px)}
.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:220px;
  display:grid;
  gap:6px;
  padding:8px;
  border-radius:20px;
  background:rgba(253,250,244,.98);
  border:1px solid rgba(22,56,78,.08);
  box-shadow:0 18px 44px rgba(0,0,0,.14);
  z-index:10;
}
.nav-dropdown-menu a{
  color:var(--ocean,#0e3a52) !important;
  background:transparent;
  padding:11px 14px;
  border-radius:14px;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a[aria-current="page"]{
  background:rgba(244,186,24,.14);
  color:var(--ocean,#0e3a52) !important;
}
.nav-cta-pill{
  background:var(--gold,#f4ba18) !important;
  color:var(--white,#ffffff) !important;
  border-radius:100px;
  font-weight:600 !important;
  box-shadow:0 4px 20px rgba(244,186,24,.35);
  padding:16px 32px !important;
}
.nav-cta-pill:hover{background:var(--ocean,#0e3a52) !important;box-shadow:0 6px 28px rgba(14,58,82,.4) !important;transform:translateY(-1px) !important}

footer#contact{
  background:linear-gradient(180deg,#357ea2 0%,#2f7395 100%);
  padding:58px 80px 26px;
  color:rgba(255,255,255,.72);
}
footer#contact .footer-top{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:54px;
  padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
footer#contact .footer-logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:18px}
footer#contact .footer-logo-wrap .logo-slot{
  width:58px;
  height:52px;
  border-radius:0;
  background:transparent;
  padding:0;
}
footer#contact .footer-logo-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
  filter:none !important;
}
footer#contact .footer-brand-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--white,#ffffff);line-height:1.1}
footer#contact .footer-brand-name span{display:none}
footer#contact .footer-desc{font-size:13px;line-height:1.7;max-width:270px;margin-bottom:18px;font-weight:300}
footer#contact .footer-socials{display:flex;gap:10px}
footer#contact .soc{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white,#ffffff);
  text-decoration:none;
  font-size:14px;
  transition:background .3s,transform .3s;
}
footer#contact .soc:hover{background:var(--gold,#f4ba18);transform:translateY(-2px)}
footer#contact .footer-col h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--white,#ffffff);margin-bottom:16px}
footer#contact .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
footer#contact .footer-col ul li a{font-size:13px;color:rgba(255,255,255,.58);text-decoration:none;transition:color .3s;display:flex;align-items:center;gap:8px;font-weight:300}
footer#contact .footer-col ul li a:hover{color:var(--gold2,var(--gold,#f4ba18))}
footer#contact .footer-col ul li a::before{content:'';width:14px;height:1px;background:currentColor;opacity:.4;flex-shrink:0}
footer#contact .footer-bot{padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:12px}
footer#contact .footer-bot a{color:var(--gold2,var(--gold,#f4ba18));text-decoration:none}

body.booking-body .booking-shell-page{padding-top:154px}

#booking{
  position:fixed;
  inset:0;
  z-index:120000;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .32s,visibility .32s;
  --booking-water-height:12%;
  --booking-water-opacity:.34;
}
#booking.open{opacity:1;visibility:visible;pointer-events:auto}
#booking .booking-backdrop{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,22,35,.52),rgba(5,22,35,.8));
  backdrop-filter:blur(14px);
}
#booking .booking-shell{
  position:relative;
  width:min(620px,calc(100% - 24px));
  height:min(860px,calc(100vh - 40px));
  height:min(860px,calc(100svh - 40px));
  height:min(860px,calc(100dvh - 40px));
  max-height:calc(100vh - 40px);
  max-height:calc(100svh - 40px);
  max-height:calc(100dvh - 40px);
  display:grid;
  grid-template-columns:1fr;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.56);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,245,236,.98));
  box-shadow:0 34px 110px rgba(5,22,35,.32);
  transform:translateY(24px) scale(.98);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
#booking.open .booking-shell{transform:none}
#booking .booking-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:6;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(5,22,35,.32);
  color:#ffffff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(12px);
  transition:transform .25s,background .25s,border-color .25s;
}
#booking .booking-close:hover{
  background:rgba(5,22,35,.48);
  border-color:rgba(255,255,255,.32);
  transform:rotate(90deg);
}
#booking .booking-form{
  position:relative;
  display:flex;
  min-height:0;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,245,236,.98));
}
#booking .booking-water-fill{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--booking-water-height);
  background:linear-gradient(180deg,rgba(129,193,225,.10),rgba(22,110,146,var(--booking-water-opacity)));
  transition:height .28s ease,background .28s ease;
}
#booking .booking-form-scroll{
  position:relative;
  z-index:2;
  flex:1;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:18px;
}
#booking .booking-form-scroll::-webkit-scrollbar{width:10px}
#booking .booking-form-scroll::-webkit-scrollbar-thumb{background:rgba(14,58,82,.16);border-radius:999px}
#booking .booking-form-card{
  position:relative;
  max-width:520px;
  margin:0 auto;
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 28px 70px rgba(14,58,82,.12),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
}
#booking .booking-form-card>*{position:relative;z-index:2}
#booking .booking-form-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
#booking .booking-form-logo{
  width:82px;
  height:60px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
#booking .booking-form-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(8,30,42,.14));
}
#booking .form-title{
  margin:0 0 4px;
  font-family:'Playfair Display',serif;
  font-size:29px;
  line-height:.96;
  color:#0e3a52;
}
#booking .form-sub-clean{font-size:13px;line-height:1.45;color:rgba(14,58,82,.72)}
#booking .frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#booking .fg{display:grid;gap:8px;margin-bottom:12px}
#booking .fl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#0e3a52}
#booking .fc{
  width:100%;
  min-height:48px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(83,115,148,.2);
  background:#fbfdff;
  color:#132330;
  font:inherit;
}
#booking textarea.fc{min-height:92px;resize:vertical}
#booking .fc:focus{outline:none;border-color:#8fc3e8;box-shadow:0 0 0 4px rgba(43,143,216,.12)}
#booking .g-row{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:6px 10px;
  border-radius:14px;
  border:1px solid rgba(83,115,148,.2);
  background:#fbfdff;
}
#booking .g-btn{
  width:34px;
  height:34px;
  border:none;
  border-radius:999px;
  background:#e6f2fb;
  color:#0e3a52;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
#booking #gcount{min-width:24px;text-align:center;font-weight:700;color:#0e3a52}
#booking .booking-note{
  margin:12px 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(244,186,24,.14);
  background:linear-gradient(135deg,rgba(247,240,227,.94),rgba(253,250,244,.98));
  font-size:12px;
  line-height:1.75;
  color:#4f6470;
}
#booking .booking-note strong{color:#c99a15}
#booking .booking-service-meta{
  display:grid;
  gap:6px;
  margin:0 0 12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(43,139,173,.16);
  background:linear-gradient(135deg,rgba(230,243,252,.94),rgba(247,251,255,.98));
  color:#0e3a52;
  font-size:13px;
  line-height:1.65;
}
#booking .booking-service-meta strong{color:#081e2a}
#booking .booking-service-meta small{
  color:rgba(14,58,82,.72);
  font-size:12px;
}
#booking .booking-inline-status{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(83,115,148,.16);
  background:#f4f8fc;
  color:#4f6470;
  font-size:13px;
  line-height:1.6;
}
#booking .booking-inline-status.is-error{
  border-color:rgba(173,52,52,.18);
  background:rgba(173,52,52,.08);
  color:#8b2e2e;
}
#booking .btn-submit{
  width:100%;
  min-height:52px;
  padding:0 18px;
  border:none;
  border-radius:16px;
  background:linear-gradient(135deg,#0e3a52,#1a5c7a);
  color:#ffffff;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(14,58,82,.24);
  transition:transform .35s,box-shadow .35s;
}
#booking .btn-submit::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#f4ba18,#ffd768);
  border-radius:16px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s cubic-bezier(.77,0,.175,1);
}
#booking .btn-submit:hover::before{transform:scaleX(1)}
#booking .btn-submit span{position:relative;z-index:1}
#booking .btn-submit:hover{box-shadow:0 18px 46px rgba(244,186,24,.35);transform:translateY(-2px)}
#booking .btn-submit:disabled{cursor:not-allowed;opacity:.72;box-shadow:none}
#booking .btn-submit:disabled::before{display:none}
#booking .form-success{
  display:none;
  position:relative;
  width:min(460px,100%);
  min-height:auto;
  margin:auto;
  padding:34px 26px 30px;
  text-align:center;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(14,58,82,.12);
  border-radius:30px;
  background:
    radial-gradient(circle at 50% -10%,rgba(244,186,24,.22),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbf7ed 100%);
  box-shadow:0 24px 70px rgba(5,22,35,.14),0 1px 0 rgba(255,255,255,.9) inset;
}
#booking .form-success::before{
  content:'';
  position:absolute;
  inset:auto -20% 0;
  height:84px;
  background:linear-gradient(90deg,transparent,rgba(14,58,82,.08),transparent);
  transform:skewY(-5deg);
  pointer-events:none;
}
#booking .success-brand{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:112px;
  min-height:74px;
  margin:0 auto 16px;
  border:1px solid rgba(14,58,82,.14);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(244,186,24,.12),rgba(14,58,82,.06));
  box-shadow:0 14px 34px rgba(14,58,82,.1);
}
#booking .success-brand img{display:block;width:76px;height:auto;object-fit:contain}
#booking .success-wave{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 18px;
  border-radius:50%;
  background:linear-gradient(135deg,#ffe38b,#f4ba18);
  color:#0e3a52;
  font-size:26px;
  font-weight:900;
  box-shadow:0 16px 36px rgba(244,186,24,.34);
}
#booking .form-success h3{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  font-family:'Playfair Display',serif;
  font-size:32px;
  line-height:1.02;
  color:#0e3a52;
}
#booking .form-success p{
  position:relative;
  z-index:1;
  margin:0;
  max-width:340px;
  font-size:14px;
  line-height:1.7;
  color:#4f6470;
}
#booking .success-reference{
  display:grid;
  gap:8px;
  margin-top:18px;
  color:#0e3a52;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}
#booking .success-reference strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  padding:10px 18px;
  border-radius:999px;
  background:#0e3a52;
  color:#ffffff;
  font-size:18px;
  letter-spacing:.08em;
  box-shadow:0 14px 34px rgba(14,58,82,.2);
}
#booking .success-consultant{margin-top:16px;color:#173f55;font-weight:600}
#booking .booking-receipt-button{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:24px;
  padding:0 24px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,#ffd447,#f4ba18);
  color:#0e3a52;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(244,186,24,.34);
  transition:transform .25s,box-shadow .25s,opacity .25s;
}
#booking .booking-receipt-button:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(244,186,24,.42)}
#booking .booking-receipt-button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}

@media(max-width:1200px){
  footer#contact .footer-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:980px){
  #nav{padding:24px 28px}
  footer#contact{padding:46px 40px 24px}
}
@media(max-width:760px){
  #nav{padding:12px 10px;align-items:flex-start}
  .nav-pill{
    width:min(430px,calc(100% - 20px));
    max-width:none;
    padding:6px 56px 6px 12px;
    border-radius:24px;
    background:rgba(253,250,244,.94);
    border-color:rgba(244,186,24,.2);
    box-shadow:0 20px 54px rgba(5,22,35,.12),0 1px 0 rgba(255,255,255,.86) inset;
  }
  .nav-top-row{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;min-width:0;align-items:center;gap:8px}
  .nav-logo-pill{gap:8px;min-width:0;max-width:100%;width:100%;margin-right:0}
  .nav-logo-pill .logo-slot,
  .nav-logo-pill img{width:64px !important;height:52px !important;border-radius:0 !important}
  .nav-logo-pill-text{min-width:0;font-size:18px;line-height:.84;white-space:normal;overflow:hidden;color:var(--ocean,#0e3a52);gap:2px}
  .nav-logo-pill-text span{font-size:7px;letter-spacing:.2em;padding-left:1px}
  .nav-burger{display:flex !important;position:absolute;top:50%;right:10px;z-index:3;transform:translateY(-50%);width:46px;height:38px;padding:0 11px;gap:3px;border-radius:14px;background:rgba(255,255,255,.86);border-color:rgba(22,56,78,.16);box-shadow:0 10px 22px rgba(5,22,35,.08)}
  .nav-burger:hover{transform:translateY(calc(-50% - 1px))}
  .nav-burger span{width:18px}
  .nav-burger span:nth-child(2){width:13px}
  .nav-links-pill{
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    width:100%;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px;
    border-radius:22px;
    background:rgba(253,250,244,.98);
    border:1px solid rgba(22,56,78,.08);
    box-shadow:0 24px 60px rgba(0,0,0,.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .25s,transform .25s,visibility .25s;
  }
  #nav.nav-open .nav-links-pill{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-links-pill a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:50px;
    padding:0 16px;
    font-size:10px;
    letter-spacing:.16em;
    text-align:left;
    border-radius:18px;
    background:rgba(22,56,78,.04);
    color:var(--mid,#5a5a5a);
  }
  .nav-dropdown{width:100%}
  .nav-dropdown summary{
    width:100%;
    justify-content:flex-start;
    min-height:50px;
    padding:0 16px;
    font-size:10px;
    letter-spacing:.16em;
    text-align:left;
    border-radius:18px;
    background:rgba(22,56,78,.04);
    color:var(--mid,#5a5a5a);
  }
  .nav-dropdown-menu{
    position:static;
    min-width:0;
    margin-top:8px;
    padding:8px;
    border-radius:16px;
    background:rgba(22,56,78,.04);
    border:1px solid rgba(22,56,78,.06);
    box-shadow:none;
  }
  .nav-dropdown-menu a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:42px;
  }
  .nav-cta-pill{min-height:52px;padding:0 18px !important;justify-content:center}
  footer#contact .footer-top{grid-template-columns:1fr}
  footer#contact .footer-desc{max-width:none}
  footer#contact .footer-bot{flex-direction:column;align-items:flex-start;gap:10px}
  body.booking-body .booking-shell-page{padding-top:116px}
}
@media(max-width:560px){
  footer#contact{padding:38px 20px 18px}
  footer#contact .footer-top{gap:22px;padding-bottom:22px}
  footer#contact .footer-brand-name{font-size:18px}
  footer#contact .footer-desc{font-size:12px;line-height:1.65;margin-bottom:14px}
  footer#contact .footer-logo-wrap .logo-slot{width:54px;height:46px}
}
@media(max-width:420px){
  .nav-pill{padding:4px 46px 4px 7px}
  .nav-logo-pill .logo-slot,
  .nav-logo-pill img{width:54px !important;height:44px !important;border-radius:0 !important}
  .nav-logo-pill-text{font-size:15px;gap:2px}
  .nav-logo-pill-text span{font-size:6px;letter-spacing:.18em;padding-left:1px}
  .nav-burger{right:5px;width:38px;height:32px;padding:0 9px;background:rgba(255,255,255,.95)}
  .nav-burger:hover{transform:translateY(calc(-50% - 1px))}
  .nav-burger span{width:16px}
  .nav-burger span:nth-child(2){width:11px}
  .nav-dropdown summary{min-height:42px;padding:0 14px;font-size:9px;border-radius:14px}
  footer#contact{padding:34px 18px 16px}
  body.booking-body .booking-shell-page{padding-top:94px}
}
