/* Shared appointment navigation, 2026-10-13. */
body.nb-site{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}
.site-header .header-book,
.home-service-menu .catalog-intro>.catalog-title-row,
.gallery-page .gallery-heading .gallery-actions,
.about-page .about-hero-content>.about-actions,
.locations-page .locations-heading>.locations-actions,
.policy-page .policy-title-block>.policy-actions,
.faq-page .faq-heading>.faq-actions,
.blog-page .blog-hero .blog-actions,
.article-reference .article-header .blog-actions,
.page-main.nb-content-refresh>.page-heading>.reference-page-actions,
.mobile-dock,.mobile-booking-bar{display:none!important}
.home-service-menu .catalog-intro>h1{margin-bottom:0!important}
.home-service-menu .catalog-intro{margin-bottom:22px!important}
.catalog-category>h3{font-size:24px!important;line-height:1.15!important}
.home-service-menu .catalog-intro h1{font-size:24px!important;line-height:1.25!important;letter-spacing:-.015em!important}
.home-service-menu .catalog-category>h3{font-size:28px!important;line-height:1.2!important;letter-spacing:-.02em!important}
.home-service-menu .catalog-card h4{font-size:18px!important;line-height:1.4!important;font-weight:600!important}
.nb-bottom-nav{position:fixed;inset:auto 0 0;z-index:90;background:#fff;color:#171717;border-top:1px solid #dddcd7;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));font-family:Arial,Helvetica,sans-serif}
.nb-bottom-nav-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:520px;margin:0 auto}
.nb-bottom-nav button{min-width:0;min-height:54px;border:0;background:#fff;color:#171717;border-radius:8px;padding:6px 4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font:600 11.5px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.nb-bottom-nav .nb-bottom-book{background:#171717;color:#fff}
.nb-bottom-nav svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nb-bottom-nav button:focus-visible,#mobile-menu button:focus-visible,#mobile-menu a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
body.dialog-is-open .nb-bottom-nav,body:has(dialog[open]) .nb-bottom-nav{pointer-events:none}
#mobile-menu[hidden]{display:none!important}
body.nb-menu-open,body.menu-is-open{overflow:visible!important}
#mobile-menu{position:relative!important;inset:auto!important;top:auto!important;z-index:40!important;margin:0!important;width:100%!important;max-width:none!important;height:auto;max-height:none!important;overflow:visible;background:#fff!important;color:#171717!important;border:0!important;border-bottom:1px solid #d8d7d1!important;border-radius:0!important;padding:0!important;box-shadow:none!important;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}
#mobile-menu .nb-menu-inner{width:min(936px,calc(100% - 40px));margin:0 auto;padding:12px 0 22px}
#mobile-menu .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0;list-style:none}
#mobile-menu .nav-links li{margin:0;padding:0}
#mobile-menu .nav-links a,#mobile-menu .nav-links li:first-child a{display:flex;align-items:center;min-height:54px;padding:15px 0;border-bottom:1px solid #d8d7d1;color:#94938d;font:400 14px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1.6px;text-decoration:none}
#mobile-menu .nav-links a[aria-current]{color:#171717;font-weight:700}
#mobile-menu .nav-links a:hover{color:#171717}
#mobile-menu .nav-links a:after{display:none!important}
.booking-dialog.nb-existing-dialog .selected-service,.booking-dialog.nb-existing-dialog .dialog-policy{display:none!important}
.booking-dialog.nb-existing-dialog .reference-instruction{margin-top:0}
@media(max-width:700px){
 .home-service-menu .catalog-intro{margin-bottom:20px!important}
 .home-service-menu .catalog-intro h1{font-size:16px!important;line-height:1.3!important}
 .home-service-menu .catalog-category>h3{font-size:22px!important}
 .home-service-menu .catalog-card h4{font-size:15px!important}
 #mobile-menu .nb-menu-inner{width:calc(100% - 40px)}
}
@media(max-width:360px){
 .nb-bottom-nav{padding-left:8px;padding-right:8px}
 .nb-bottom-nav-inner{gap:4px}
 .nb-bottom-nav button{font-size:11px}
 #mobile-menu .nb-menu-inner{width:calc(100% - 32px)}
}

/* Square reference: compact static header and category links in document flow. */
html{scroll-padding-top:16px}
.site-header{position:relative!important;top:auto!important;background:#fff!important;border:0!important;margin-bottom:8px!important}
.site-header .header-inner{position:relative!important;width:100%!important;max-width:1024px!important;height:64px!important;margin:0 auto!important;padding:0 8px 0 16px!important;justify-content:space-between!important;gap:16px!important}
.site-header .brand{display:block!important;position:relative!important;width:64px!important;height:64px!important;overflow:hidden;flex:none!important;margin-left:-12px!important}
.nb-header-name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 144px);padding:11px 0;white-space:nowrap;font:700 14px/22px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif;letter-spacing:2px;pointer-events:auto;color:#171717;text-decoration:none}
.site-header .brand:after{content:none!important;display:none!important}
.site-header .brand img{display:block!important;width:64px!important;height:64px!important;max-width:none!important;object-fit:contain!important;clip-path:inset(0 2px 8px 0);transform:translateY(4px)}
.site-header .header-actions{position:static!important;inset:auto!important;transform:none!important;margin-left:auto!important;display:flex!important}
.site-header .menu-toggle{width:44px!important;height:44px!important;display:block!important}
.site-header .menu-toggle span{left:14px!important;width:20px!important;height:2px!important;top:15px!important;border-radius:2px}
.site-header .menu-toggle span+span{top:21px!important;box-shadow:0 6px 0 #161616}
.site-header .menu-toggle[aria-expanded="true"] span{top:21px!important}
.site-header .menu-toggle[aria-expanded="true"] span+span{box-shadow:none}
.home-service-menu .catalog-section{width:calc(100% - 32px)!important;max-width:none!important;padding:0 0 0!important}
.nb-service-tabs{display:flex;align-items:center;gap:16px;border-bottom:1px solid #ededed;margin:0;padding:0;min-height:36px;white-space:nowrap}
.nb-service-tabs a{position:relative;display:flex;align-items:center;min-height:36px;padding:4px 0 10px;color:#737373;font:500 14px/22px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif;letter-spacing:0;text-decoration:none}
.nb-service-tabs a[aria-current]{color:#171717}
.nb-service-tabs a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:3px;background:#171717}
.home-service-menu .catalog-category{scroll-margin-top:0!important}
.home-service-menu .catalog-category>h3{font:700 19px/26px "Square Sans Display VF","Square Sans Display",Helvetica,Arial,sans-serif!important;letter-spacing:0!important;border:0!important;padding:16px 0 0!important;margin:16px 0 8px!important}
.home-service-menu .catalog-category+.catalog-category{margin-top:0!important}
.home-service-menu .catalog-card{grid-template-columns:minmax(0,1fr) 96px!important;column-gap:16px!important;row-gap:0!important;min-height:0!important;padding:16px 0!important;align-items:start!important;align-content:start!important;border-bottom:1px solid #ededed!important}
.home-service-menu .catalog-card h4{font:500 16px/24px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif!important;letter-spacing:0!important;margin:0 0 2px!important;overflow-wrap:anywhere!important;color:#1a1a1a}
.home-service-menu .catalog-card-description{font:400 14px/22px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif!important;color:#737373!important;-webkit-line-clamp:2}
.home-service-menu .catalog-card-image{width:96px!important;height:96px!important;border-radius:6px!important;align-self:center!important}
.home-service-menu .catalog-card-meta,.home-service-menu .catalog-card-meta strong{font:400 14px/22px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif!important;gap:0!important;padding:0!important}
.home-service-menu .catalog-card-meta>span:not(.catalog-card-arrow):before{content:" ・ ";white-space:pre;margin:0}
.nb-square-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff;color:#171717;text-align:center;margin:0;padding:56px 16px 40px;font:400 14px/22px "Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif}
.nb-square-footer svg{display:block;width:28px;height:28px;fill:currentColor;stroke:none}
.nb-square-footer p{color:#171717;margin:0}
@media(max-width:374px){
 .nb-service-tabs{gap:14px}
 .nb-header-name{font-size:12px;letter-spacing:1.2px}
}
.nb-bottom-nav button,#mobile-menu .nav-links a,#mobile-menu .nav-links li:first-child a{font-family:"Square Sans Text VF","Square Sans Text",Helvetica,Arial,sans-serif!important}
@media(min-width:900px){.home-service-menu .catalog-section{max-width:608px!important}}
/* Align the desktop logo and menu glyph with the service column. */
@media(min-width:900px){body:has(.home-service-menu) .site-header .header-inner{max-width:640px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the outgoing booking screen clean while Square loads. */
body.nb-booking-leaving{background:#fff!important}
body.nb-booking-leaving main,body.nb-booking-leaving .site-header,body.nb-booking-leaving #mobile-menu,body.nb-booking-leaving .nb-bottom-nav,body.nb-booking-leaving .nb-square-footer{visibility:hidden!important}
body.nb-booking-leaving #booking-dialog::backdrop{background:#fff!important;backdrop-filter:none!important}
/* A clear, bold right arrow throughout the site's controls. */
body.nb-site .nb-ui-arrow{display:inline-block;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif!important;font-size:1.25em!important;font-weight:900!important;-webkit-text-stroke:.4px currentColor;line-height:1!important;letter-spacing:0!important;text-transform:none!important}
body.nb-site .mobile-menu .nav-links a:after{content:"→"!important;font-size:28px!important;font-weight:900!important;-webkit-text-stroke:.4px currentColor}
body.nb-site .catalog-call span:after,body.nb-site .catalog-book .arrow:after{font-size:18px!important;font-weight:900!important;-webkit-text-stroke:.4px currentColor;line-height:1!important}

/* Pointer focus does not mark a service as selected. Keyboard focus stays available. */
body.nb-site .nb-pointer-activated:focus,body.nb-site .nb-pointer-activated:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important}
body.nb-site :is(.service-card[data-book],.catalog-card[data-book],.add-on-card[data-book]):is(:focus,:focus-visible,:active){outline:none!important;outline-offset:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
/* Keyboard focus uses the service title, without a surrounding frame. */
body.nb-site :is(.service-card[data-book],.catalog-card[data-book],.add-on-card[data-book]):focus-visible:not(.nb-pointer-activated) :is(h3,h4){text-decoration:underline;text-underline-offset:3px}
/* Show the handoff to Square as soon as a studio is chosen. */
body.nb-booking-leaving #booking-dialog{opacity:1!important;visibility:visible!important;transition:none!important;pointer-events:none!important}
body.nb-booking-leaving #booking-dialog .nb-reference-panel,body.nb-booking-leaving #booking-dialog .nb-reference-backdrop{visibility:hidden!important}
#booking-dialog .nb-square-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:#fff;color:#151515;text-align:center;font:400 15px/1.5 Arial,Helvetica,sans-serif}
#booking-dialog .nb-square-loading[hidden]{display:none!important}
#booking-dialog .nb-square-loading #nb-square-loading-title{margin:0;font:700 20px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0}
#booking-dialog .nb-square-loading p{margin:0;color:#555;font:400 14px/1.5 Arial,Helvetica,sans-serif}
#booking-dialog .nb-square-spinner{width:32px;height:32px;border:3px solid #e5e2dd;border-top-color:#151515;border-radius:50%;animation:nb-square-spin .7s linear infinite}
@keyframes nb-square-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#booking-dialog .nb-square-spinner{animation:none}}

/* Location sheets mapped from nailbossstudio.us /css/style.css and /js/main.js?v=25.
   The owner's later request restores the earlier mobile backdrop and drag dimming.
   Load after the existing modal styles. All rules stay inside #booking-dialog. */
#booking-dialog {
  --nb-reference-text: #151515;
  --nb-reference-muted: #928c83;
  --nb-reference-border: #dad7d1;
  --nb-reference-surface: #f7f6f3;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  visibility: hidden;
  opacity: 0;
  transform: none !important;
  animation: none !important;
  transition: opacity 0.28s ease, visibility 0.28s ease !important;
  pointer-events: none;
}
#booking-dialog[open] { display: flex !important; }
#booking-dialog:not([open]) { display: none !important; }
#booking-dialog.nb-reference-open:not(.nb-reference-closing) {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
#booking-dialog,
#booking-dialog * { box-sizing: border-box; }
#booking-dialog :where(div, p, h2, span, small, a, button) {
  margin: 0;
  padding: 0;
}
#booking-dialog::before { content: none !important; display: none !important; }
body.nb-site #booking-dialog::backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
  animation: none !important;
  transition: none !important;
}
#booking-dialog .nb-reference-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(18, 18, 18, 0.58) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  box-shadow: none !important;
  opacity: 1;
  cursor: pointer;
  transition: opacity 0.24s ease-out !important;
}
#booking-dialog .nb-reference-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 640px) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 !important;
  padding: 44px !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-x: hidden;
  overflow-y: auto !important;
  background: #fff !important;
  color: var(--nb-reference-text);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2) !important;
  opacity: 1;
  transform: translateY(24px) scale(0.985);
  transition: transform 0.28s ease !important;
  animation: none !important;
}
#booking-dialog.reference-call .nb-reference-panel { width: min(100%, 680px) !important; }
#booking-dialog.nb-reference-open:not(.nb-reference-closing) .nb-reference-panel {
  transform: translateY(0) scale(1);
}
#booking-dialog .dialog-top { display: contents !important; }
#booking-dialog .icon-button[data-close] {
  position: absolute !important;
  top: 15px !important;
  right: 17px !important;
  left: auto !important;
  bottom: auto !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 33px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  cursor: pointer;
}
#booking-dialog .modal-pointer-focus:focus { outline: none !important; }
#booking-dialog .icon-button[data-close]:focus-visible:not(.modal-pointer-focus) {
  outline: 2px solid var(--nb-reference-text) !important;
  outline-offset: 2px;
}
#booking-dialog #dialog-eyebrow {
  margin: 0 0 13px !important;
  color: var(--nb-reference-muted) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
}
#booking-dialog #booking-title {
  margin: 0 0 17px !important;
  padding: 0 45px 0 0 !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(38px, 5vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
}
#booking-dialog #selected-service {
  display: block;
  margin: 0 0 16px !important;
  padding: 0 0 0 12px !important;
  border: 0 !important;
  border-left: 2px solid var(--nb-reference-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
#booking-dialog #selected-service[hidden],
#booking-dialog .reference-instruction[hidden],
#booking-dialog #booking-location-hint[hidden] { display: none !important; }
#booking-dialog #selected-service:not([hidden]):has(.reference-selected-photo, .booking-selected-service-photo) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
  align-items: start !important;
}
#booking-dialog .reference-selected-copy { display: contents !important; }
#booking-dialog .reference-selected-label,
#booking-dialog .booking-selected-service-label {
  grid-column: 1;
  grid-row: 1;
  margin: 0 0 4px !important;
  color: #666 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  letter-spacing: normal !important;
}
#booking-dialog .reference-selected-name,
#booking-dialog #selected-service-name {
  grid-column: 1;
  grid-row: 2;
  margin: 0 !important;
  color: #333 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: normal !important;
  overflow-wrap: anywhere;
}
#booking-dialog .reference-selected-photo,
#booking-dialog .booking-selected-service-photo {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  width: 112px !important;
  height: 112px !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  align-self: center !important;
}
#booking-dialog .reference-instruction,
#booking-dialog .booking-location-instruction,
#booking-dialog .call-location-instruction {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #555 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: normal !important;
}
#booking-dialog.reference-call .reference-instruction,
#booking-dialog.reference-call .call-location-instruction { max-width: 520px; }
#booking-dialog .dialog-locations { border-top: 1px solid var(--nb-reference-text) !important; }
#booking-dialog .location-option {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 17px !important;
  min-height: 108px !important;
  margin: 0 !important;
  padding: 20px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--nb-reference-border) !important;
  border-radius: 0 !important;
  background: transparent;
  color: var(--nb-reference-text);
  text-decoration: none !important;
  transition: padding 0.25s ease, background-color 0.25s ease !important;
}
#booking-dialog .location-option:hover {
  padding-right: 15px !important;
  padding-left: 15px !important;
  background: var(--nb-reference-surface) !important;
}
#booking-dialog .location-number {
  display: block !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 5px 0 0 !important;
  color: var(--nb-reference-muted) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.14em !important;
}
#booking-dialog .location-option > span:not(.location-number):not(.arrow),
#booking-dialog .location-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#booking-dialog .location-option strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
}
#booking-dialog .location-option .address {
  display: block !important;
  margin: 0 !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
#booking-dialog .location-option .address::first-line {
  color: var(--nb-reference-text) !important;
  font-weight: 600 !important;
}
#booking-dialog .location-city { color: #555 !important; font-weight: 400 !important; }
#booking-dialog.reference-call .location-option .address { margin-bottom: 8px !important; }
#booking-dialog .location-note {
  display: block;
  margin: 8px 0 0 !important;
  color: var(--nb-reference-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
#booking-dialog .location-note[hidden] { display: none !important; }
#booking-dialog.reference-call .location-note,
#booking-dialog .call-location-phone {
  margin: 0 !important;
  color: var(--nb-reference-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
#booking-dialog .location-option .arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: auto !important;
  gap: 8px !important;
  min-width: 64px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #444 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transform: none !important;
  -webkit-text-stroke: 0 !important;
}
#booking-dialog .location-action-label {
  text-decoration: underline !important;
  text-decoration-color: #aaa !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}
#booking-dialog .location-action-arrow,
#booking-dialog .location-action-arrow .nb-ui-arrow {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  -webkit-text-stroke: 0 !important;
}
#booking-dialog .location-action-arrow .nb-ui-arrow { font-size: 1em !important; }
#booking-dialog .location-option.is-disabled,
#booking-dialog .location-option.is-unavailable,
#booking-dialog .location-option[aria-disabled="true"] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
#booking-dialog .location-option.is-disabled:hover,
#booking-dialog .location-option.is-unavailable:hover,
#booking-dialog .location-option[aria-disabled="true"]:hover {
  padding-left: 4px !important;
  padding-right: 4px !important;
  background: transparent !important;
}
#booking-dialog .location-option.is-disabled .arrow,
#booking-dialog .location-option.is-unavailable .arrow,
#booking-dialog .location-option[aria-disabled="true"] .arrow { display: none !important; }
#booking-dialog #booking-note {
  margin: 21px 0 0 !important;
  color: var(--nb-reference-muted) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
#booking-dialog .dialog-policy { display: none !important; }
#booking-dialog .location-new-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 0 10px !important;
  padding: 5px 10px !important;
  border: 1px solid #b7ada2 !important;
  border-radius: 999px !important;
  color: #8a7767 !important;
  background: #f7f3ef !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  vertical-align: middle !important;
}
#booking-dialog .nb-sheet-grab { display: none !important; }
#booking-dialog .nb-location-pin {
  display: inline-block !important;
  margin: 0 5px 0 0 !important;
  font-family: 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif !important;
  font-size: 0.8em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
#booking-dialog .nb-location-label { display: contents !important; }
@media (max-width: 700px) {
  #booking-dialog { align-items: flex-end !important; padding: 0 !important; }
  #booking-dialog .nb-reference-backdrop {
    background: linear-gradient(to bottom, rgba(18, 18, 18, 0.58) 0, rgba(18, 18, 18, 0.58) calc(100% - 120px), #fff calc(100% - 120px), #fff 100%) !important;
  }
  #booking-dialog:has(.is-sheet-dragging) .nb-reference-backdrop {
    opacity: var(--nb-sheet-dim, 1);
    transition: none !important;
  }
  #booking-dialog .nb-reference-panel,
  #booking-dialog.reference-call .nb-reference-panel {
    width: 100% !important;
    max-height: 88vh !important;
    padding: 31px 20px 25px !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.18) !important;
    transform: translateY(100%);
  }
  #booking-dialog.nb-reference-open:not(.nb-reference-closing) .nb-reference-panel {
    transform: translateY(0);
  }
  #booking-dialog .nb-reference-panel.swipe-sheet-panel { overscroll-behavior-y: contain; }
  #booking-dialog .nb-reference-panel.swipe-sheet-panel::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    width: 36px;
    height: 4px;
    border-radius: 4px;
    background: #d3d0ca;
    transform: translateX(-50%);
    pointer-events: none;
  }
  #booking-dialog .nb-reference-panel.is-sheet-dragging {
    transform: translateY(var(--sheet-drag-offset, 0px)) !important;
    transition: none !important;
    user-select: none;
    -webkit-user-select: none;
  }
  #booking-dialog .nb-reference-panel.is-sheet-dismissing {
    transform: translateY(100%) !important;
    pointer-events: none;
  }
  #booking-dialog .icon-button[data-close] { top: 11px !important; right: 12px !important; }
  #booking-dialog #dialog-eyebrow { margin-bottom: 10px !important; font-size: 9px !important; }
  #booking-dialog #booking-title { margin-bottom: 14px !important; padding-right: 42px !important; font-size: 35px !important; }
  #booking-dialog .location-option,
  #booking-dialog.reference-call .location-option {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    min-height: 91px !important;
    padding: 16px 0 !important;
  }
  #booking-dialog.reference-call .location-option { min-height: 104px !important; }
  #booking-dialog .location-number { display: none !important; }
  #booking-dialog .location-option strong { font-size: 21px !important; }
  #booking-dialog .location-option .address { font-size: 14px !important; }
  #booking-dialog.reference-call .location-option .address { margin-bottom: 7px !important; }
  #booking-dialog .location-option:hover,
  #booking-dialog .location-option.is-disabled:hover,
  #booking-dialog .location-option.is-unavailable:hover,
  #booking-dialog .location-option[aria-disabled="true"]:hover {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
  }
  #booking-dialog .location-note { margin-top: 7px !important; font-size: 9px !important; line-height: 1.4 !important; }
  #booking-dialog.reference-call .location-note { margin-top: 0 !important; font-size: 14px !important; line-height: 1.3 !important; }
  #booking-dialog #booking-note { margin-top: 17px !important; font-size: 10px !important; }
  #booking-dialog .location-new-label { margin-left: 8px !important; padding: 4px 8px !important; font-size: 9px !important; letter-spacing: 0.1em !important; }
}
@media (max-width: 600px) {
  #booking-dialog #selected-service:not([hidden]):has(.reference-selected-photo, .booking-selected-service-photo) {
    grid-template-columns: minmax(0, 1fr) 88px !important;
    column-gap: 14px !important;
  }
  #booking-dialog .reference-selected-photo,
  #booking-dialog .booking-selected-service-photo { width: 88px !important; height: 88px !important; }
}
@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  #booking-dialog .nb-reference-panel.swipe-sheet-panel { transition: none !important; }
}

/* Keep the existing compact appointment bar inside the visible viewport. */
body.nb-site .nb-bottom-nav{
 bottom:var(--nb-browser-bottom-inset,0px);
 transform:translateZ(0);
 backface-visibility:hidden;
}
body.nb-site .nb-fixed-viewport-probe{
 position:fixed;
 inset:0;
 width:auto;
 height:auto;
 margin:0;
 padding:0;
 border:0;
 visibility:hidden;
 pointer-events:none;
 contain:strict;
 z-index:-1;
}
body.nb-site{
 padding-bottom:calc(70px + env(safe-area-inset-bottom,0px) + var(--nb-browser-bottom-inset,0px))!important;
}

/* Controls on the static site's existing content pages. */
body.nb-site .site-header{display:block!important;grid-template-columns:none!important;padding:0!important;height:auto!important}
body.nb-site .header-inner{display:flex!important;align-items:center!important;box-sizing:border-box}
body.nb-site .header-actions{align-items:center!important}
body.nb-site .menu-toggle{position:relative!important;border:0!important;background:transparent!important;padding:10px!important;cursor:pointer}
body.nb-site .menu-toggle span{position:absolute!important;background:#111!important;transition:transform .2s}
body.nb-site .menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
body.nb-site .menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}
body.nb-site .brand,body.nb-site .nb-header-name{color:#171717!important;text-decoration:none!important}
body.nb-site .brand img{width:44px!important;height:44px!important;margin:10px!important;clip-path:none!important;transform:none!important}
body.nb-site #mobile-menu:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
body.nb-site #mobile-menu[hidden],body.nb-site .location-note[hidden]{display:none!important}
body.nb-site .nb-bottom-nav,body.nb-site .nb-bottom-nav *,body.nb-site #mobile-menu *,body.nb-site .site-header *{box-sizing:border-box}
body.nb-site .nb-bottom-nav svg{display:block!important;max-width:none!important}
body.nb-site.dialog-is-open{overflow:hidden!important}
