:root{
  --v337-navy:#123a61;
  --v337-deep:#0d2843;
  --v337-line:rgba(17,36,58,.12);
}
html.tgz-v337,
html.tgz-v337 body{
  overflow-x:hidden;
}
html.tgz-v337 .topbar .container,
html.tgz-v337 .footer .container,
html.tgz-v337 main.container{
  width:min(100%, 1500px)!important;
}
html.tgz-v337 .topbar{
  isolation:isolate;
}
html.tgz-v337 .brand.brandSystem{
  min-width:0!important;
}
html.tgz-v337 .brand.brandSystem .brandText{
  min-width:0!important;
}
html.tgz-v337 .brand.brandSystem .brandText strong,
html.tgz-v337 .desktopPrimary a,
html.tgz-v337 .headerPrimaryCta,
html.tgz-v337 .smartPicker summary strong{
  text-rendering:optimizeLegibility;
}
html.tgz-v337 body.homePage .heroContentRefined{
  max-width:min(760px, 54vw)!important;
}
html.tgz-v337 body.homePage .heroContentRefined h1{
  margin-bottom:10px!important;
  max-width:9.8ch!important;
  font-size:clamp(56px,5.7vw,98px)!important;
  line-height:.93!important;
  letter-spacing:-.05em!important;
  text-wrap:balance;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
html.tgz-v337 body.homePage .heroContentRefined p{
  max-width:28ch!important;
}
html.tgz-v337 .desktopReceiptShell .premiumReceiptPanel,
html.tgz-v337 .buildSummaryDialog,
html.tgz-v337 .buildSummarySheetBody{
  scrollbar-gutter:stable both-edges;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal,
html.tgz-v337 .buildSummaryDialog .sumTotal{
  background:linear-gradient(135deg,var(--v337-navy),var(--v337-deep))!important;
  border:0!important;
  box-shadow:0 16px 30px rgba(18,58,97,.24)!important;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal,
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal *,
html.tgz-v337 .buildSummaryDialog .sumTotal,
html.tgz-v337 .buildSummaryDialog .sumTotal *{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#fff!important;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal > span:last-child,
html.tgz-v337 .buildSummaryDialog .sumTotal > span:last-child{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:20px!important;
  font-weight:950!important;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumLine > span:last-child{
  color:#102437!important;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumLine.isIncluded > span:last-child{
  color:#0f8458!important;
}
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal > span:last-child,
html.tgz-v337 body.buildPage .premiumReceiptPanel .sumTotal.isIncluded > span:last-child{
  color:#fff!important;
}
html.tgz-v337 body.buildPage .compactBookingSupport{
  padding-top:18px!important;
  padding-bottom:30px!important;
}
html.tgz-v337 body.buildPage .compactBookingSupportInnerRefined{
  width:100%!important;
  max-width:1240px!important;
  margin:0 auto!important;
}
html.tgz-v337 .footerGrid{
  gap:18px!important;
}

@media (min-width:981px){
  html.tgz-v337 .modePill{display:none!important}
}

@media (min-width:1480px){
  html.tgz-v337 .topbar .container{max-width:1500px!important}
  html.tgz-v337 .nav.navRefined{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:18px!important;
    min-height:84px!important;
    padding:12px 0!important;
  }
  html.tgz-v337 .brand.brandSystem{
    flex:none!important;
    max-width:310px!important;
    gap:12px!important;
  }
  html.tgz-v337 .brand.brandSystem .brandMark,
  html.tgz-v337 .brand.brandSystem .brandMark img{
    width:80px!important;
    height:80px!important;
    flex-basis:80px!important;
  }
  html.tgz-v337 .brand.brandSystem .brandText strong{
    font-size:18px!important;
    line-height:1!important;
  }
  html.tgz-v337 .brand.brandSystem .brandText small{
    font-size:12px!important;
    line-height:1.22!important;
    margin-top:5px!important;
  }
  html.tgz-v337 .desktopPrimary{
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
  }
  html.tgz-v337 .desktopPrimary a{
    padding:8px 10px!important;
    font-size:15px!important;
    line-height:1.1!important;
    border-radius:12px!important;
  }
  html.tgz-v337 .desktopUtility{
    gap:10px!important;
    flex-wrap:nowrap!important;
  }
  html.tgz-v337 .smartPicker--desktop summary{
    min-height:48px!important;
    padding:9px 14px!important;
  }
  html.tgz-v337 .headerPrimaryCta,
  html.tgz-v337 .liveNavChip.utilityBtn{
    min-height:48px!important;
  }
  html.tgz-v337 .navToggle{display:none!important}
}

@media (min-width:981px) and (max-width:1479px){
  html.tgz-v337 .topbar .container{max-width:min(100%, 1280px)!important}
  html.tgz-v337 .nav.navRefined{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:78px!important;
    padding:10px 0!important;
  }
  html.tgz-v337 .brand.brandSystem{
    flex:1 1 auto!important;
    max-width:min(340px, 40vw)!important;
    gap:12px!important;
  }
  html.tgz-v337 .brand.brandSystem .brandMark,
  html.tgz-v337 .brand.brandSystem .brandMark img{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
  html.tgz-v337 .brand.brandSystem .brandText strong{
    font-size:17px!important;
  }
  html.tgz-v337 .brand.brandSystem .brandText small{
    display:none!important;
  }
  html.tgz-v337 .desktopPrimary,
  html.tgz-v337 .liveNavChip.utilityBtn{
    display:none!important;
  }
  html.tgz-v337 .desktopUtility{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:0 0 auto!important;
  }
  html.tgz-v337 .smartPicker--desktop summary{
    min-height:44px!important;
    padding:8px 12px!important;
    border-radius:14px!important;
  }
  html.tgz-v337 .smartPickerLabel{
    display:none!important;
  }
  html.tgz-v337 .smartPicker summary strong{
    font-size:14px!important;
  }
  html.tgz-v337 .smartPickerMenu{
    min-width:170px!important;
  }
  html.tgz-v337 .smartPickerMenu--currency{
    min-width:132px!important;
  }
  html.tgz-v337 .headerPrimaryCta{
    min-height:44px!important;
    padding:10px 14px!important;
    border-radius:16px!important;
    font-size:14px!important;
  }
  html.tgz-v337 .navToggle{
    display:inline-flex!important;
    flex:0 0 auto!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined{
    max-width:min(660px, 58vw)!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined h1{
    font-size:clamp(46px,5vw,72px)!important;
    max-width:10ch!important;
    line-height:.95!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined p{
    font-size:1rem!important;
    max-width:30ch!important;
  }
  html.tgz-v337 .footerGrid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  html.tgz-v337 .footerNewsletter{
    grid-column:1 / -1!important;
  }
}

@media (min-width:981px) and (max-width:1320px){
  html.tgz-v337 body.buildPage .builderGrid,
  html.tgz-v337 body.buildPage .builderGridV24{
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
  html.tgz-v337 body.buildPage .desktopReceiptShell,
  html.tgz-v337 body.buildPage .stickySummary{
    order:-1!important;
    position:sticky!important;
    top:88px!important;
    align-self:start!important;
  }
  html.tgz-v337 body.buildPage .premiumReceiptPanel{
    max-height:none!important;
    overflow:visible!important;
  }
  html.tgz-v337 body.buildPage .compactBookingSupportInnerRefined{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html.tgz-v337 body.buildPage .compactBookingSupport .compactBtnRow{
    justify-content:flex-start!important;
  }
}

@media (min-width:981px) and (max-width:1199px){
  html.tgz-v337 body.homePage .heroContentRefined{
    max-width:min(560px, 60vw)!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined h1{
    font-size:clamp(42px,4.8vw,58px)!important;
    max-width:10.2ch!important;
  }
}

@media (max-width:980px){
  html.tgz-v337 .desktopUtility,
  html.tgz-v337 .desktopPrimary,
  html.tgz-v337 .modePill{display:none!important}
  html.tgz-v337 .brand.brandSystem{flex:1 1 auto!important;max-width:none!important}
  html.tgz-v337 .brand.brandSystem .brandMark,
  html.tgz-v337 .brand.brandSystem .brandMark img{width:64px!important;height:64px!important}
  html.tgz-v337 .brand.brandSystem .brandText strong{font-size:16px!important}
  html.tgz-v337 .brand.brandSystem .brandText small{font-size:11px!important;line-height:1.2!important}
}

@media (max-width:767px){
  html.tgz-v337 body.homePage .heroContentRefined{
    max-width:none!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined h1{
    font-size:clamp(24px,8.8vw,38px)!important;
    max-width:9.5ch!important;
    line-height:1.02!important;
  }
  html.tgz-v337 body.homePage .heroContentRefined p{
    font-size:.95rem!important;
    max-width:23ch!important;
  }
}

@media (max-width:430px){
  html.tgz-v337 body.homePage .heroContentRefined h1{
    font-size:clamp(22px,8.6vw,34px)!important;
    max-width:9.8ch!important;
  }
  html.tgz-v337 .brand.brandSystem .brandText small{display:none!important}
}
