:root{
  --v333-navy:#15375f;
  --v333-navy-deep:#0f2f52;
  --v333-cream:#fbf7ef;
  --v333-cream-2:#f6f1e7;
  --v333-line:rgba(16,36,58,.12);
  --v333-line-strong:rgba(16,36,58,.18);
  --v333-shadow:0 22px 56px rgba(10,26,46,.16);
  --v333-soft-shadow:0 12px 28px rgba(10,26,46,.10);
  --v333-teal:#e7f7f7;
  --v333-gold:#b8892d;
}

/* --- Drawer / hamburger polish --- */
.drawerBackdrop{
  background:rgba(9,18,33,.52)!important;
  backdrop-filter:blur(5px)!important;
}
.drawerPanel{
  background:linear-gradient(180deg,#ffffff 0%, #fcfdff 44%, #f9fbff 100%)!important;
  border:1px solid var(--v333-line)!important;
  border-radius:28px!important;
  box-shadow:0 30px 74px rgba(10,26,46,.24)!important;
  overflow:hidden auto!important;
}
.drawerTop{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  grid-template-areas:
    "brand lang close"
    "brand currency close"!important;
  align-items:start!important;
  gap:12px 10px!important;
  padding:18px 18px 12px!important;
}
.drawerBrand,
.drawerBrandIconOnly{grid-area:brand!important;align-self:start!important}
.drawerBrandIconOnly .drawerBrandMark img{
  width:120px!important;
  height:auto!important;
  filter:drop-shadow(0 8px 18px rgba(21,55,95,.08));
}
.drawerLang{
  grid-area:lang!important;
  justify-content:flex-start!important;
  align-self:center!important;
}
.drawerCurrency{
  grid-area:currency!important;
  justify-content:flex-start!important;
  align-self:start!important;
}
.drawerClose{
  grid-area:close!important;
  width:62px!important;
  height:62px!important;
  padding:0!important;
  border-radius:20px!important;
  display:grid!important;
  place-items:center!important;
  font-size:34px!important;
  line-height:1!important;
  color:#0b1220!important;
  border:1px solid var(--v333-line)!important;
  box-shadow:0 10px 24px rgba(10,26,46,.08)!important;
}
.drawerLang .chip,
.drawerCurrency .chip,
.langSwitch .pill,
.currencyChip,
.chipRow .chip{
  min-width:58px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  border:1px solid var(--v333-line)!important;
  background:#fff!important;
  color:#0f2741!important;
  font-size:14px!important;
  line-height:1.05!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(10,26,46,.04)!important;
}
.drawerLang .chip.is-current,
.langSwitch .pill.is-current,
.chip.is-current,
.currencyChip.is-current,
.currencyChip[aria-pressed="true"]{
  background:var(--v333-teal)!important;
  border-color:rgba(14,165,164,.34)!important;
  color:var(--v333-navy)!important;
  box-shadow:0 0 0 1px rgba(14,165,164,.10) inset, 0 10px 22px rgba(14,165,164,.12)!important;
}
.drawerCtas{
  padding:0 18px 14px!important;
  gap:12px!important;
}
.drawerCtas .btn{
  min-height:66px!important;
  border-radius:24px!important;
  font-size:18px!important;
  font-weight:900!important;
  justify-content:center!important;
  box-shadow:var(--v333-soft-shadow)!important;
}
.drawerCtas .btn.primary{
  background:linear-gradient(135deg,var(--v333-navy),var(--v333-navy-deep))!important;
  color:#fff!important;
  border:none!important;
}
.drawerCtas .btn:not(.primary){
  background:var(--v333-cream)!important;
  color:var(--v333-navy)!important;
  border:1px solid rgba(16,36,58,.10)!important;
}
.drawerTabs{
  padding:0 18px 14px!important;
  gap:12px!important;
}
.drawerTabs .tab{
  min-height:60px!important;
  border-radius:22px!important;
  border:1px solid var(--v333-line)!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(10,26,46,.05)!important;
  font-size:17px!important;
  font-weight:900!important;
}
.drawerTabs .tab.isActive{
  background:#e7f2f6!important;
  border-color:rgba(21,55,95,.18)!important;
  color:var(--v333-navy)!important;
}
.drawerBody{
  padding:0 18px 18px!important;
}
.drawerGroup{
  margin:0 0 12px!important;
  border-radius:22px!important;
  border:1px solid var(--v333-line)!important;
  box-shadow:0 10px 24px rgba(10,26,46,.05)!important;
  overflow:hidden!important;
}
.drawerGroup summary{
  padding:18px 20px!important;
  font-size:17px!important;
  background:linear-gradient(180deg,#fff, #fbfdff)!important;
}
.drawerGroup summary::after{
  right:18px!important;
  font-size:24px!important;
  font-weight:400!important;
}
.drawerGroup summary span:last-child,
.drawerGroup summary > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.drawerLinks.compactLinks{
  padding:0 16px 16px!important;
  gap:8px!important;
}
.navItem{
  margin:0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(16,36,58,.08)!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.navItem:hover{
  transform:translateY(-1px);
  border-color:rgba(21,55,95,.18)!important;
  box-shadow:0 10px 22px rgba(10,26,46,.08)!important;
}
.navItem b{
  font-size:16px!important;
  color:#0f2741!important;
}
.navItem small{
  margin-top:4px!important;
  color:#66768a!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.drawerSectionTitle{
  margin:18px 2px 10px!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#6b7b8f!important;
}
.chipRow{
  gap:10px!important;
  padding:2px 0 0!important;
}
.chipRow .chip{
  min-width:54px!important;
  justify-content:center!important;
}

body.navOpen .siteLiveWidget,
body.navOpen .smartDock,
body.navOpen .mobileStickyReceipt,
body.navOpen .buildMobileBar,
body.navOpen .mobileBottomNav,
body.navOpen .bottomQuickNav,
body.navOpen .bottomBar,
body.navOpen .stickyCta,
body.navOpen #nextSteps,
body.navOpen [class*="bottomNav"],
body.navOpen [class*="BottomNav"]{
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(18px)!important;
}

@media (max-width:640px){
  .drawerTop{
    gap:10px 8px!important;
    padding:16px 14px 12px!important;
  }
  .drawerBrandIconOnly .drawerBrandMark img{width:98px!important}
  .drawerLang .chip,
  .drawerCurrency .chip,
  .langSwitch .pill,
  .currencyChip,
  .chipRow .chip{
    min-width:52px!important;
    padding:9px 11px!important;
    font-size:13px!important;
    border-radius:15px!important;
  }
  .drawerClose{width:54px!important;height:54px!important;border-radius:18px!important;font-size:30px!important}
  .drawerCtas,.drawerTabs,.drawerBody{padding-left:14px!important;padding-right:14px!important}
  .drawerCtas .btn{min-height:60px!important;font-size:17px!important}
  .drawerTabs .tab{min-height:56px!important;font-size:16px!important}
  .drawerGroup summary{padding:16px 18px!important;font-size:16px!important}
  .navItem b{font-size:15px!important}
}
@media (max-width:420px){
  .drawerTop{
    grid-template-columns:auto 1fr auto!important;
    grid-template-areas:
      "brand lang close"
      "brand currency close"!important;
  }
  .drawerBrandIconOnly .drawerBrandMark img{width:88px!important}
  .drawerLang .chip,
  .drawerCurrency .chip,
  .langSwitch .pill,
  .currencyChip,
  .chipRow .chip{
    min-width:48px!important;
    padding:8px 10px!important;
    font-size:12px!important;
    border-radius:14px!important;
  }
  .drawerClose{width:50px!important;height:50px!important}
  .drawerCtas .btn{min-height:56px!important;font-size:16px!important}
  .drawerTabs .tab{min-height:52px!important;font-size:15px!important}
  .drawerGroup summary{padding:15px 16px!important}
}

/* --- Receipt polish --- */
body.buildPage .receiptShell,
body.buildPage .desktopReceiptShell{
  gap:12px!important;
}
body.buildPage .premiumReceiptPanel,
.buildSummaryDialog{
  background:linear-gradient(180deg,var(--v333-cream) 0%, #fff 100%)!important;
  border:1px solid var(--v333-line)!important;
  border-radius:28px!important;
  box-shadow:var(--v333-shadow)!important;
}
body.buildPage .premiumReceiptPanel{
  padding:16px!important;
}
body.buildPage .premiumReceiptHint{
  padding:12px 14px!important;
  background:#fff!important;
  border:1px dashed rgba(16,36,58,.18)!important;
  border-radius:18px!important;
  box-shadow:0 8px 20px rgba(10,26,46,.06)!important;
}
body.buildPage .premiumReceiptPanel .sumSection,
.buildSummaryDialog .sumSection{
  margin:0 0 12px!important;
  padding:14px 16px!important;
  background:#fff!important;
  border:1px solid rgba(16,36,58,.08)!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(10,26,46,.05)!important;
}
body.buildPage .premiumReceiptPanel .sumSection h3,
.buildSummaryDialog .sumSection h3{
  margin:0 0 8px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#6b7b8f!important;
}
body.buildPage .premiumReceiptPanel .sumLine,
.buildSummaryDialog .sumLine{
  align-items:flex-start!important;
  gap:14px!important;
  padding:12px 0!important;
  border-bottom:1px solid rgba(16,36,58,.08)!important;
}
body.buildPage .premiumReceiptPanel .sumLine:last-child,
.buildSummaryDialog .sumLine:last-child{
  border-bottom:none!important;
}
body.buildPage .premiumReceiptPanel .sumLine > span:first-child,
.buildSummaryDialog .sumLine > span:first-child{
  min-width:0!important;
}
body.buildPage .premiumReceiptPanel .sumLine > span:first-child b,
.buildSummaryDialog .sumLine > span:first-child b{
  color:#0f2741!important;
  font-size:15px!important;
  line-height:1.25!important;
}
body.buildPage .premiumReceiptPanel .sumLine > span:first-child small,
.buildSummaryDialog .sumLine > span:first-child small{
  display:block!important;
  margin-top:4px!important;
  color:#6b7b8f!important;
  font-size:12px!important;
  line-height:1.35!important;
}
body.buildPage .premiumReceiptPanel .sumLine > span:last-child,
.buildSummaryDialog .sumLine > span:last-child{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:max-content!important;
  text-align:right!important;
  font-weight:950!important;
  font-size:15px!important;
  color:var(--v333-navy)!important;
}
body.buildPage .premiumReceiptPanel .sumLine.isIncluded > span:last-child,
.buildSummaryDialog .sumLine.isIncluded > span:last-child{
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(16,185,129,.10)!important;
  color:#0f766e!important;
  font-size:12px!important;
}
body.buildPage .premiumReceiptPanel .sumLine.isNote > span:last-child,
.buildSummaryDialog .sumLine.isNote > span:last-child{
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(245,158,11,.12)!important;
  color:#9a6700!important;
  font-size:12px!important;
}
body.buildPage .premiumReceiptPanel .sumTotal,
.buildSummaryDialog .sumTotal{
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
  margin-top:10px!important;
  padding:16px 18px!important;
  border:none!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,var(--v333-navy),var(--v333-navy-deep))!important;
  color:#fff!important;
  box-shadow:0 18px 34px rgba(15,47,82,.28)!important;
}
body.buildPage .premiumReceiptPanel .sumTotal span,
.buildSummaryDialog .sumTotal span{
  color:#fff!important;
  font-size:18px!important;
  font-weight:950!important;
}
body.buildPage .premiumReceiptPanel .sumFooterNote,
.buildSummaryDialog .sumFooterNote{
  margin-top:10px!important;
  padding:12px 14px!important;
  background:#fff!important;
  border:1px dashed rgba(16,36,58,.16)!important;
  border-radius:16px!important;
  color:#6b7b8f!important;
}
body.buildPage .buildInlineEstimateButton{
  border-radius:24px!important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%)!important;
}
body.buildPage .buildInlineEstimateTop strong,
body.buildPage .buildInlineEstimateTop span{
  color:var(--v333-navy)!important;
}
body.buildPage .buildInlineEstimateMeta{
  color:#627287!important;
}
.buildSummarySheetHead strong{
  font-size:18px!important;
  color:var(--v333-navy)!important;
}
.buildSummaryClose{
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid var(--v333-line)!important;
  background:#fff!important;
  color:var(--v333-navy)!important;
  font-weight:900!important;
}
.buildSummarySheetMeta .chip{
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid var(--v333-line)!important;
  color:var(--v333-navy)!important;
  font-weight:850!important;
}

.tgzReceiptHero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(21,55,95,.08), rgba(184,137,45,.10));
  border:1px solid rgba(21,55,95,.10);
}
.tgzReceiptHeroKicker{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#6b7b8f;
}
.tgzReceiptHeroTitle{
  display:block;
  color:var(--v333-navy);
  font-size:20px;
  font-weight:950;
  line-height:1.15;
}
.tgzReceiptHeroMeta{
  display:block;
  margin-top:5px;
  color:#516275;
  font-size:13px;
  line-height:1.35;
}
.tgzReceiptHeroBadge{
  flex:0 0 auto;
  align-self:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(21,55,95,.12);
  color:var(--v333-navy);
  font-size:12px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(10,26,46,.06);
}
@media (max-width:900px){
  .buildSummaryDialog{
    padding:14px!important;
    border-radius:26px!important;
  }
  .tgzReceiptHero{
    padding:12px 14px;
    border-radius:20px;
  }
  .tgzReceiptHeroTitle{font-size:18px}
}
@media (max-width:480px){
  body.buildPage .premiumReceiptPanel{padding:12px!important}
  body.buildPage .premiumReceiptPanel .sumSection,
  .buildSummaryDialog .sumSection{padding:12px 13px!important;border-radius:18px!important}
  body.buildPage .premiumReceiptPanel .sumLine > span:first-child b,
  .buildSummaryDialog .sumLine > span:first-child b{font-size:14px!important}
  body.buildPage .premiumReceiptPanel .sumTotal span,
  .buildSummaryDialog .sumTotal span{font-size:17px!important}
  .tgzReceiptHero{flex-direction:column;align-items:flex-start}
}
