/* Production quality fixes that remain separate from the colleague's Astro build. */
@font-face{font-family:"Hakupa DM Sans";src:url(/fonts/dm-sans-latin-variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Hakupa Libre Baskerville";src:url(/fonts/libre-baskerville-latin-variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
html[lang="en"] body{font-family:"Hakupa DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] .serif{font-family:"Hakupa Libre Baskerville",Georgia,serif!important;font-weight:700!important;letter-spacing:-.025em}
html[lang="en"] .nav__link,html[lang="en"] .nav__cta,html[lang="en"] .btn,html[lang="en"] .lang-switch__btn{font-family:"Hakupa DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:600!important}
html[lang="en"] .booking-field label,html[lang="en"] .booking-field input,html[lang="en"] .booking-field select,html[lang="en"] .booking-submit,html[lang="en"] .booking-hint{font-family:"Hakupa DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}
html[lang="en"] .booking-field input[type="date"]::-webkit-datetime-edit{font-family:"Hakupa DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:500!important;letter-spacing:0!important}
.lang-switch__btn{width:74px!important;justify-content:center!important}
@media(min-width:1180px){
  .header__inner{display:grid!important;grid-template-columns:160px minmax(0,1fr) 160px;gap:0!important}
  .header__inner>.logo{justify-self:start}
  .header__inner>.nav{display:flex!important;align-items:center;justify-content:space-between;justify-self:center;width:680px!important;gap:0!important;margin:0!important}
  .header__inner>.nav>.nav__link,.header__inner>.nav>.nav__cta{flex:0 0 auto;margin-left:0!important;text-align:center;white-space:nowrap}
  .header__inner>.header__right{justify-self:end;justify-content:flex-end;width:160px!important}
}
.booking-card__policy{display:block!important;margin-top:1rem!important;padding-top:1rem!important;border-top:1px solid #dfe6ef!important}
.booking-card__policy h4{margin:0 0 .25rem!important;padding:0!important;color:#7789a0!important;font-family:inherit!important;font-size:.72rem!important;font-weight:650!important;line-height:1.65!important;letter-spacing:.02em!important}
.booking-card__policy p{margin:0!important;color:#7789a0!important;font-family:inherit!important;font-size:.72rem!important;font-weight:400!important;line-height:1.65!important;letter-spacing:0!important}
.booking-panel,.booking-form,.booking-field{min-width:0!important}
.booking-field input,.booking-field select{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
.booking-field input[type="date"]{inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important}
@media(min-width:861px){
  .booking-field{gap:6px!important}
  .booking-field label{margin-bottom:0!important}
  .booking-field input,.booking-field select,.booking-submit{height:40px!important;min-height:40px!important;line-height:1.2!important}
  .booking-field input[type="date"],.booking-field select{-webkit-appearance:none!important;appearance:none!important}
  .booking-field input[type="date"]{padding:0 14px 0 16px!important;line-height:38px!important}
  .booking-field input[type="date"]::-webkit-datetime-edit{display:flex!important;align-items:center!important;height:38px!important;padding:0!important;line-height:38px!important}
  .booking-field input[type="date"]::-webkit-date-and-time-value{display:flex!important;align-items:center!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;line-height:38px!important;text-align:left!important}
  .booking-field input[type="date"]::-webkit-calendar-picker-indicator{align-self:center!important;opacity:.58!important;margin:0!important;padding:2px!important;cursor:pointer!important}
  .booking-field select{padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23243b55' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 8px!important}
  html[lang="zh-CN"] .hero__content,html[lang="zh-TW"] .hero__content{width:680px!important}
  html[lang="en"] .hero__content{width:760px!important;max-width:760px!important}
  html[lang="en"] .hero__title{font-size:clamp(3rem,4.5vw,3.8rem)!important;line-height:1.18!important}
  html[lang="en"] .hero__desc{font-size:1.08rem!important;line-height:1.75!important}
  html[lang="ja"] .hero__content{width:760px!important;max-width:760px!important}
  html[lang="ja"] .hero__title{font-size:clamp(3rem,4.6vw,3.9rem)!important}
}
@media(max-width:860px){
  .booking-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .nav__toggle{z-index:1202!important;position:relative}
  .nav__toggle[aria-expanded="true"]{position:fixed!important;top:18px!important;right:18px!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 24px #12284229!important}
  .nav__toggle[aria-expanded="true"] span{position:absolute!important;left:11px!important;right:11px!important;top:20px!important;width:auto!important;background:#1e3a5f!important;transition:transform .2s ease!important}
  .nav__toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)!important}
  .nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .nav__toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)!important}
}
@media(max-width:560px){
  .booking-panel{box-sizing:border-box!important;width:100%!important;max-width:100%!important}
  .booking-form{grid-template-columns:minmax(0,1fr)!important}
  .booking-submit{grid-column:auto!important;width:100%!important;max-width:100%!important}
}
