#salon-booking-picker{margin:auto}
@media(min-width:1201px){
  .nav-start{gap:20px}
  .nav-side[aria-label="Primary"]{gap:16px!important}
  .nav-side[aria-label="Primary"]>.nl,.nav-side[aria-label="Primary"] .nav-group>summary{font-size:10px!important;letter-spacing:.22em!important;white-space:nowrap}
}
@media(min-width:1001px) and (max-width:1200px){
  .nav-side{display:none!important}
  .nav-start{gap:0}
  .nav-start .home-ic{display:none!important}
  .mobile-menu{display:block}
  .mobile-menu>summary{padding:10px 4px;color:#fff;font:500 12px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:.18em;text-transform:uppercase}
  .mobile-panel{position:fixed;top:92px;left:24px;right:24px;z-index:60;max-height:calc(100vh - 110px);overflow:auto;padding:20px;background:#101010;border:1px solid #777}
}
.loc{background:#000;color:#fff}
.loc .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.loc-wrap{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.loc-center{align-items:center;text-align:center}
.loc-narrow{max-width:900px}
.loc-sec{padding:120px 48px;border-top:1px solid rgba(255,255,255,.14)}
.loc-hero{padding:200px 48px 120px}
.loc-hero-s{padding-bottom:60px}
.loc-h1{margin:0;font-size:clamp(44px,6.4vw,104px)}
.loc-h2{margin:0;font-size:clamp(40px,4.8vw,76px)}
.loc-intro{margin:0;font-size:clamp(20px,2vw,28px);line-height:1.45;max-width:40ch;opacity:.85}
.loc a.btn{text-align:center}
.loc a:focus-visible,.loc button:focus-visible,.loc summary:focus-visible{outline:1px solid #fff;outline-offset:4px}
.loc-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.loc-code{border:1px solid rgba(255,255,255,.3);padding:40px 36px;display:flex;flex-direction:column;gap:18px}
.loc-amt{opacity:.75;font-size:11px}
.loc-code-val{margin:0;font-size:clamp(44px,5vw,76px);font-weight:400;letter-spacing:.08em;line-height:1}
.loc-cats{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:18px;font-style:italic;opacity:.8}
.loc-copy{align-self:flex-start;min-height:48px;padding:0 28px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);font:500 11px 'Cormorant Garamond',Georgia,serif;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;transition:background .5s,color .5s}
.loc-copy:hover,.loc-copy.is-copied{background:#fff;color:#000}
.loc-copied{font-size:14px;opacity:.7;min-height:1em}
.loc-terms{margin:0;font-size:16px;line-height:1.6;opacity:.65;max-width:70ch}
.loc-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:stretch}
.loc-col{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.loc-addr{font-style:normal;font-size:24px;line-height:1.6}
.loc-addr a,.loc-addr-s a{display:inline-block;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.loc-sub{display:block;font-size:10px;opacity:.6;margin-bottom:14px}
.loc-hours{display:grid;grid-template-columns:auto auto;gap:7px 24px;font-size:18px;margin:0}
.loc-hours dd{margin:0}
.loc-pending{margin:0;font-size:20px;font-style:italic;opacity:.7;border:1px dashed rgba(255,255,255,.35);padding:12px 18px}
.loc-map{min-height:420px;border:1px solid rgba(255,255,255,.2)}
.loc-map iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(1) invert(.92) contrast(.9)}
.loc-svcs{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(255,255,255,.2)}
.loc-svc{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px 0;border-top:1px solid rgba(255,255,255,.2)}
.loc-svc h3{margin:0;font-size:clamp(34px,4vw,60px)}
.loc-svc p{margin:0;font-size:20px;opacity:.75}
.loc-num{font-size:11px;opacity:.6}
.loc-book{font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);padding:14px 22px;transition:background .5s,color .5s}
.loc-book:hover{background:#fff;color:#000}
.loc-reviews{background:#0b0b0b}
.loc-rating{margin:0;font-size:19px}
.loc-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;width:100%}
.loc-quotes figure{margin:0;display:flex;flex-direction:column;gap:18px}
.loc-quotes blockquote{margin:0;font-size:clamp(26px,2.4vw,36px);line-height:1.35}
.loc-quotes figcaption{font-size:11px;opacity:.75}
.loc-btns{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.loc-faqs{border-top:1px solid rgba(255,255,255,.22)}
.loc-faq{border-bottom:1px solid rgba(255,255,255,.22)}
.loc-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:26px}
.loc-faq summary::-webkit-details-marker{display:none}
.loc-x{font-size:28px;transition:transform .5s}
.loc-faq[open] .loc-x{transform:rotate(45deg)}
.loc-faq p{margin:0 0 28px;font-size:19px;line-height:1.65;opacity:.8;max-width:65ch}
.loc-others{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.loc-other,.loc-card{display:flex;flex-direction:column;gap:14px;padding:34px 30px;border:1px solid rgba(255,255,255,.3);transition:background .6s,color .6s}
.loc-other .h{font-size:38px;line-height:1.05}
.loc-other-addr{font-size:18px;opacity:.72}
.loc-other .lbl{font-size:10px;margin-top:auto}
.loc-other:hover{background:#fff;color:#000}
.loc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.loc-card h2{margin:0;font-size:32px;line-height:1.1}
.loc-card .lbl{font-size:10px;opacity:.7}
.loc-addr-s{font-style:normal;font-size:18px;line-height:1.55;opacity:.85}
.loc-card-act{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px}
.loc-sticky{display:none}
@media (max-width:1000px){
.loc-sec{padding:88px 20px}
.loc-hero{padding:150px 20px 88px}
.loc-codes,.loc-visit,.loc-quotes,.loc-others,.loc-cards{grid-template-columns:minmax(0,1fr)}
.loc-visit{gap:48px}
.loc-svc{grid-template-columns:36px minmax(0,1fr) auto;gap:14px}
.loc-svc p{display:none}
.loc-code{padding:30px 22px}
}
@media (max-width:768px){
.loc-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(0,0,0,.92);border-top:1px solid rgba(255,255,255,.2)}
.loc-sticky a.btn{display:flex;width:100%}
.loc{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){.loc *{transition:none!important}}

/* Sitewide: desktop nav with Locations item */
@media (min-width:1001px) and (max-width:1280px){
.nav .nav-side{gap:22px!important}
.nav a.nl,.nav summary.nl{letter-spacing:.24em!important}
}
.location-nav .nav-panel a{white-space:nowrap}

/* Sitewide: footer locations */
.location-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px;max-width:1100px;border-top:1px solid rgba(255,255,255,.2);padding-top:28px}
.location-footer section{display:flex;flex-direction:column;gap:12px}
.location-footer a.lbl{font-size:11px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
.location-footer address{font-style:normal;font-size:17px;line-height:1.55;color:rgba(255,255,255,.82)}
.location-footer address a{display:inline-block;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.location-footer a:hover{opacity:.6}
.location-footer a:focus-visible{outline:1px solid #fff;outline-offset:4px}
@media (max-width:900px){.location-footer{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Sitewide: booking picker */
#salon-booking-picker{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:48px 40px 40px;background:#000;color:#fff;border:1px solid rgba(255,255,255,.35);font-family:'Cormorant Garamond',Georgia,serif;font-weight:300}
#salon-booking-picker[open]{animation:loc-in .45s cubic-bezier(.16,.84,.32,1)}
#salon-booking-picker::backdrop{background:rgba(0,0,0,.72)}
#salon-booking-picker h2{margin:0 0 10px;font-weight:300;font-size:clamp(34px,5vw,48px);line-height:1.05}
#salon-booking-picker p{margin:0 0 28px;font-size:18px;font-style:italic;opacity:.75}
#salon-booking-picker [data-close-booking]{position:absolute;top:14px;right:14px;min-height:44px;padding:0 16px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);font:500 10px 'Cormorant Garamond',Georgia,serif;letter-spacing:.32em;text-transform:uppercase;cursor:pointer}
#salon-booking-picker [data-close-booking]:hover{background:#fff;color:#000}
#salon-booking-picker div{display:flex;flex-direction:column;border-bottom:1px solid rgba(255,255,255,.22)}
#salon-booking-picker div a{display:flex;flex-direction:column;gap:4px;padding:20px 40px 20px 0;border-top:1px solid rgba(255,255,255,.22);position:relative;color:#fff;text-decoration:none;transition:padding .5s cubic-bezier(.16,.84,.32,1)}
#salon-booking-picker div a::after{content:"\2192";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:22px}
#salon-booking-picker div a:hover{padding-left:12px}
#salon-booking-picker strong{font-weight:400;font-size:28px;line-height:1.1}
#salon-booking-picker span{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;opacity:.65}
#salon-booking-picker a:focus-visible,#salon-booking-picker button:focus-visible{outline:1px solid #fff;outline-offset:4px}
@media (max-width:600px){#salon-booking-picker{padding:64px 22px 28px}}
@keyframes loc-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#salon-booking-picker[open]{animation:none}#salon-booking-picker div a{transition:none}}
/* Location x service pages */
.loc-crumbs{padding:120px 48px 0}
.loc-crumbs + .loc-hero{padding-top:80px}
.loc-crumbs ol{max-width:1280px;margin:0 auto;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.loc-crumbs li+li::before{content:"\203A";margin-right:10px;opacity:.5}
.loc-crumbs a{opacity:.65}.loc-crumbs a:hover{opacity:1}
.loc-codes-one{grid-template-columns:minmax(0,560px)}
.loc-other-offer{font-size:15px;opacity:.75;margin:0}
.loc-content{gap:72px}
.loc-block{display:flex;flex-direction:column;gap:20px}
.loc-h3{margin:0;font-size:clamp(30px,3.2vw,48px)}
.loc-block p{margin:0;font-size:18px;line-height:1.7;opacity:.85}
.loc-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.loc-list li{padding:16px 0 16px 28px;border-bottom:1px solid rgba(255,255,255,.14);font-size:17px;line-height:1.55;position:relative}
.loc-list li::before{content:"";position:absolute;left:0;top:27px;width:12px;height:1px;background:currentColor;opacity:.6}
@media (max-width:600px){.loc-crumbs{padding:108px 20px 0}.loc-crumbs + .loc-hero{padding-top:52px}.loc-content{gap:52px}}
/* Shared sitewide footer */
body.salon-footer-visible .nav,body.salon-footer-visible .loc-sticky{visibility:hidden;pointer-events:none}
.sp-footer{background:#000;color:#fff;padding:64px 48px 32px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;overflow-x:hidden}
.sp-f-wrap{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.sp-f-wrap>*:not(.sp-f-bottom){padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.22)}
.sp-footer a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .3s}
.sp-footer a:hover{color:#fff}
.sp-f-brand{display:flex;justify-content:space-between;align-items:center;gap:24px}
.sp-footer .sp-f-mark{color:#fff;font-size:17px;font-weight:500;letter-spacing:.46em}
.sp-f-tag{margin:10px 0 0;font-style:italic;font-size:18px;opacity:.75}
.sp-footer .sp-f-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;color:#fff;border:1px solid rgba(255,255,255,.4);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;transition:background .3s,color .3s}
.sp-footer .sp-f-book:hover{background:#fff;color:#000}
.sp-f-locs,.sp-f-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.sp-f-lbl{display:block;font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;opacity:.65;margin-bottom:14px;line-height:1.6}
.sp-f-name{margin:0 0 12px;font-weight:300;font-size:28px;line-height:1.1}
.sp-f-loc address{font-style:normal;font-size:16px;line-height:1.6;margin-bottom:14px;opacity:.85}
.sp-f-view{font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.sp-f-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:16px}
.sp-f-bottom{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media (max-width:767px){
.sp-footer{padding:48px 16px 28px}
.sp-f-brand{flex-direction:column;align-items:stretch}
.sp-footer .sp-f-book{width:100%}
.sp-f-locs,.sp-f-links{grid-template-columns:1fr;gap:0}
.sp-f-loc{padding:28px 0;border-top:1px solid rgba(255,255,255,.22)}
.sp-f-loc:first-child{border-top:0;padding-top:0}
.sp-f-links .sp-f-col+.sp-f-col{margin-top:32px}
.sp-footer .sp-f-mark{letter-spacing:.3em}
}
