.salon-page{isolation:isolate;color:var(--brand-text);background:var(--brand-surface);user-select:text;padding-bottom:48px;font-size:14px;line-height:1.9;position:relative}.salon-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 88% 12%,var(--brand-soft),transparent 65%),linear-gradient(180deg,var(--brand-wash)0,var(--brand-wash)45%,var(--brand-surface)100%);height:clamp(450px,48vw,650px);position:absolute;inset:0 0 auto}.salon-page *,.sp-gallery-dialog *{box-sizing:border-box}.salon-page :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px}.salon-page button:disabled{cursor:wait;opacity:.6}.sp-container{width:min(1200px,100% - 80px);margin-inline:auto}.sp-breadcrumb{color:var(--brand-muted);padding-block:24px 18px;font-size:12px}.sp-breadcrumb li,.sp-breadcrumb ol{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.sp-breadcrumb a:hover{color:var(--brand-primary)}.sp-title-row{justify-content:space-between;gap:24px;margin-bottom:26px}.sp-title-group,.sp-title-row{align-items:center;display:flex}.sp-title-group{gap:18px;min-width:0}.sp-title-group>div:last-child{min-width:0}.sp-logo{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:22px;flex-shrink:0;width:80px;height:80px;position:relative;overflow:hidden}.sp-logo img{padding:5px}.sp-eyebrow{color:var(--brand-primary);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.sp-title-row h1{letter-spacing:-.8px;overflow-wrap:anywhere;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.65}.sp-location-link{color:var(--brand-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13px;display:inline-flex}.sp-primary-button,.sp-secondary-button{border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.sp-primary-button{background:var(--brand-primary);color:var(--brand-on-primary)}.sp-primary-button:hover{background:var(--brand-primary-hover)}.sp-secondary-button{border:1px solid var(--brand-border);color:var(--brand-primary);background:var(--brand-surface)}.sp-secondary-button:hover{background:var(--brand-wash);border-color:var(--brand-accent)}.sp-share{border-radius:30px;flex-shrink:0;min-height:44px;font-size:13px}.sp-gallery{border-radius:24px;grid-template-rows:180px 180px;grid-template-columns:2fr 1fr 1fr;gap:9px;display:grid}.sp-gallery,.sp-gallery>button{position:relative;overflow:hidden}.sp-gallery>button{background:var(--brand-wash);min-width:0;min-height:0;display:block}.sp-gallery img{object-fit:cover;transition:transform .35s}.sp-gallery>button:hover img{transform:scale(1.025)}.sp-gallery>.sp-gallery-main{grid-row:1/3}.sp-gallery-count-1{grid-template-columns:1fr}.sp-gallery-count-2{grid-template-columns:1.6fr 1fr}.sp-gallery-count-2>button{grid-row:1/3}.sp-gallery-count-3{grid-template-columns:1.6fr 1fr}.sp-gallery-count-4>button:last-child{grid-column:2/4}.sp-gallery>.sp-gallery-all{bottom:14px;background:color-mix(in srgb,var(--brand-surface)95%,transparent);color:var(--brand-text);border-radius:11px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:600;display:flex;position:absolute;inset-inline-end:14px;box-shadow:0 3px 12px #0001}.sp-gallery-empty{border:1px dashed var(--brand-border);background:linear-gradient(125deg,var(--brand-wash),var(--brand-secondary-soft));min-height:220px;color:var(--brand-primary);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.sp-gallery-empty p{font-size:18px;font-weight:600}.sp-gallery-empty span{color:var(--brand-muted);font-size:13px}.sp-gallery-dialog{background:var(--brand-surface);width:94vw;max-width:min(1000px,94vw);color:var(--brand-text);border-radius:22px;padding:28px}.sp-gallery-dialog h2{padding-inline:22px;font-size:16px;font-weight:600}.sp-gallery-large{background:var(--brand-wash);border-radius:12px;height:min(65vh,640px);position:relative;overflow:hidden}.sp-gallery-large img{object-fit:contain}.sp-gallery-controls{color:var(--brand-primary);justify-content:center;align-items:center;gap:25px;display:flex}.sp-gallery-controls button{border:1px solid var(--brand-border);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.sp-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:48px;margin-top:32px;display:grid}.sp-content{min-width:0}.sp-section-nav{z-index:35;white-space:nowrap;background:var(--brand-surface);border-bottom:1px solid var(--brand-border);scrollbar-width:thin;gap:24px;padding-block:16px;display:flex;position:sticky;top:0;overflow-x:auto}.sp-section-nav a{color:var(--brand-muted);font-size:13px;font-weight:600}.sp-section-nav a:hover{color:var(--brand-primary)}.sp-section{border-bottom:1px solid var(--brand-border);padding-block:34px;scroll-margin-top:70px}.sp-section:last-child{border-bottom:0}.sp-section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;display:flex}.sp-section h2{letter-spacing:-.5px;font-size:clamp(21px,2vw,26px);font-weight:700;line-height:1.8}.sp-section-heading>svg{color:var(--brand-primary);flex-shrink:0}.sp-count{white-space:nowrap;background:var(--brand-soft);color:var(--brand-primary);border-radius:30px;padding:4px 11px;font-size:12px}.sp-muted{color:var(--brand-muted);font-size:13px;line-height:2}.sp-service-search{background:var(--brand-wash);border:1px solid var(--brand-border);color:var(--brand-muted);border-radius:13px;align-items:center;gap:10px;margin-top:20px;padding:11px 15px;display:flex}.sp-service-search input{width:100%;min-width:0;color:var(--brand-text);background:0 0;outline:none;font-size:14px}.sp-services{gap:10px;margin-top:22px;display:grid}.sp-services>li{border:1px solid var(--brand-border);border-radius:16px;align-items:center;gap:13px;padding:18px;transition:background .2s;display:flex}.sp-services>li:hover{background:var(--brand-wash)}.sp-service-icon{width:42px;height:42px;color:var(--brand-primary);background:var(--brand-soft);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.sp-services h3{font-size:15px;line-height:1.8}.sp-services li>div:nth-child(2){min-width:0}.sp-services li a{color:var(--brand-muted);align-items:center;gap:3px;margin-top:4px;font-size:12px;display:inline-flex}.sp-service-reserve,.sp-services li a:hover{color:var(--brand-primary)}.sp-service-reserve{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:30px;flex-shrink:0;align-items:center;gap:6px;min-height:40px;margin-inline-start:auto;padding:7px 15px;font-size:13px;font-weight:600;display:flex}.sp-service-reserve:hover{border-color:var(--brand-primary)}.sp-empty-services{background:var(--brand-wash);color:var(--brand-muted);border-radius:14px;align-items:center;gap:12px;margin-top:20px;padding:22px;font-size:13px;display:flex}.sp-empty-services>svg{color:var(--brand-primary);flex-shrink:0}.sp-description p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px;font-size:14px;line-height:2.3}.sp-facts{background:var(--brand-wash);border-radius:16px;grid-template-columns:1fr 1fr;gap:18px;margin-block:24px;padding:22px;display:grid}.sp-facts dt{color:var(--brand-muted);font-size:12px}.sp-facts dd{margin-top:3px;font-size:14px;font-weight:600}.sp-address{margin-bottom:20px;font-size:14px;font-style:normal;line-height:2}.sp-address p{color:var(--brand-muted);margin-top:6px}.sp-map{border:1px solid var(--brand-border);background:var(--brand-wash);border-radius:18px;min-height:300px;margin-bottom:18px;overflow:hidden}.sp-map .leaflet-container{z-index:0}.sp-map-loading{min-height:300px;color:var(--brand-muted);place-items:center;display:grid}.sp-booking{padding-top:8px;position:sticky;top:24px}.sp-booking-card{border:1px solid var(--brand-border);background:linear-gradient(160deg,var(--brand-wash),var(--brand-surface)65%);box-shadow:0 12px 40px color-mix(in srgb,var(--brand-primary)7%,transparent);border-radius:22px;padding:28px}.sp-booking-symbol{width:62px;height:62px;color:var(--brand-primary);background:var(--brand-soft);border-radius:18px;place-items:center;margin-bottom:22px;display:grid}.sp-booking-card h2{margin-bottom:12px;font-size:23px;font-weight:700;line-height:1.9}.sp-booking-card>p{color:var(--brand-muted);font-size:13px;line-height:2}.sp-booking-card>.sp-primary-button{width:100%;margin-block:22px 16px}.sp-booking-note{color:var(--brand-muted);align-items:start;gap:7px;font-size:12px;line-height:1.9;display:flex}.sp-booking-note svg{flex-shrink:0;margin-top:4px}.sp-booking-location{border-top:1px solid var(--brand-border);color:var(--brand-muted);align-items:center;gap:7px;margin-top:22px;padding-top:18px;font-size:12px;display:flex}.sp-booking-location svg{color:var(--brand-primary);flex-shrink:0}.sp-reviews{gap:24px;margin-block:22px;display:grid}.sp-reviews>li{border-bottom:1px solid var(--brand-border);padding-bottom:22px}.sp-reviews>li>p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;font-size:14px;line-height:2.1}.sp-review-author{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.sp-review-author strong{font-size:13px;font-weight:600}.sp-review-author time{color:var(--brand-muted);margin-inline-start:auto;font-size:12px}.sp-avatar{background:var(--brand-secondary-soft);width:36px;height:36px;color:var(--brand-secondary);border-radius:50%;place-items:center;display:grid}.sp-review-reply{border-inline-start:2px solid var(--brand-border);background:var(--brand-wash);border-radius:10px;gap:8px;margin-top:16px;padding:10px 16px;display:flex}.sp-review-reply>svg{color:var(--brand-primary);flex-shrink:0;margin-top:4px}.sp-review-reply strong{font-size:12px}.sp-review-reply p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;font-size:13px}.sp-review-form{border:1px solid var(--brand-border);border-radius:18px;margin-top:28px;padding:22px}.sp-review-form h3{margin-bottom:12px;font-size:16px;font-weight:600}.sp-review-form textarea{border:1px solid var(--brand-border);resize:vertical;background:var(--brand-surface);border-radius:12px;width:100%;min-height:120px;padding:14px;font-size:14px;line-height:2}.sp-review-form form>button{margin-block:12px}.sp-review-form p{color:var(--brand-muted);font-size:13px}.sp-review-form a,.sp-text-button{color:var(--brand-primary);text-underline-offset:4px;text-decoration:underline}.sp-faq h2{margin-bottom:22px}.sp-faq details{border-top:1px solid var(--brand-border);padding:16px 0}.sp-faq summary{cursor:pointer;font-size:14px;font-weight:600}.sp-faq details p{color:var(--brand-muted);padding-top:12px;font-size:13px;line-height:2.2}.sp-mobile-booking{display:none}.sp-status{text-align:center;border:1px solid var(--brand-border);background:var(--brand-wash);border-radius:22px;max-width:650px;margin:64px auto;padding:36px 24px}.sp-status h1{margin-bottom:12px;font-size:26px;font-weight:700}.sp-status p{color:var(--brand-muted);margin-bottom:24px}.sp-status .sp-primary-button{margin:6px}.sp-skeleton{background:var(--brand-soft);border-radius:12px}.sp-loading-title{width:45%;height:50px;margin-block:30px 20px}.sp-loading-photo{border-radius:24px;height:370px}.sp-loading-line{height:20px;margin-block:18px}@media (width<=1100px){.sp-container{width:calc(100% - 48px)}.sp-layout{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.sp-booking-card{padding:22px}.sp-gallery{grid-template-rows:150px 150px}}@media (width<=900px){.sp-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.sp-booking-card{padding:20px}.sp-booking-card h2{font-size:20px}.sp-section-nav{gap:18px}}@media (width<=767px){.salon-page{padding-bottom:110px}.sp-container{width:calc(100% - 32px)}.sp-breadcrumb{padding-block:18px;font-size:11px}.sp-title-row{flex-wrap:wrap;gap:12px;margin-bottom:20px}.sp-title-group{flex:1;gap:12px}.sp-logo{border-radius:18px;width:62px;height:62px}.sp-title-row h1{font-size:25px}.sp-location-link,.sp-share{font-size:12px}.sp-share{min-height:40px;padding:9px 12px}.sp-share span{display:none}.sp-gallery{border-radius:18px;grid-template-rows:240px 120px;grid-template-columns:1fr 1fr;gap:6px}.sp-gallery>.sp-gallery-main{grid-area:1/1/auto/-1}.sp-gallery>button:not(.sp-gallery-all):nth-child(n+4){display:none}.sp-gallery-count-1{grid-template-rows:260px}.sp-gallery-count-2{grid-template-rows:220px;grid-template-columns:1fr 1fr}.sp-gallery-count-2>button{grid-area:1}.sp-gallery-count-2>.sp-gallery-main{grid-column:auto}.sp-gallery>.sp-gallery-all{bottom:8px;padding:7px 10px;font-size:11px;inset-inline-end:8px}.sp-gallery-dialog{padding:22px 14px 14px}.sp-gallery-large{height:60vh}.sp-layout{margin-top:12px;display:block}.sp-booking{display:none}.sp-section-nav{gap:22px;margin-inline:-16px;padding-inline:16px}.sp-section-nav a{font-size:12px}.sp-section{padding-block:28px}.sp-section h2{font-size:22px}.sp-section-heading{gap:10px}.sp-services>li{gap:10px;padding:14px 12px}.sp-service-icon{border-radius:11px;width:34px;height:34px}.sp-services h3{font-size:14px}.sp-service-reserve{padding-inline:12px}.sp-review-form textarea,.sp-service-search input{font-size:16px}.sp-description p{font-size:14px}.sp-facts{gap:16px;padding:16px}.sp-facts dd{font-size:13px}.sp-review-form{padding:18px 14px}.sp-mobile-booking{bottom:calc(70px + env(safe-area-inset-bottom));z-index:36;border:1px solid var(--brand-border);background:var(--brand-surface);box-shadow:0 5px 28px color-mix(in srgb,var(--brand-primary)15%,transparent);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:fixed;inset-inline:12px}.sp-mobile-booking>div{min-width:0}.sp-mobile-booking strong{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:13px;font-weight:600;display:block;overflow:hidden}.sp-mobile-booking span{color:var(--brand-muted);font-size:11px}.sp-mobile-booking>button{flex-shrink:0;gap:6px;padding:10px 15px;font-size:13px}.sp-status{margin:32px 16px}}@media (prefers-reduced-motion:reduce){.salon-page *,.sp-gallery-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sp-services{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.sp-services>li{background:var(--brand-wash);border-radius:12px;padding:0;display:block}.sp-services li a{min-height:44px;color:var(--brand-primary);gap:8px;margin:0;padding:10px 13px;display:flex}.sp-services h3{font-size:13px;font-weight:600}.sp-service-search{max-width:380px;margin-top:14px;padding-block:8px}#services h2{font-size:21px}.sp-section-nav a:first-child{color:var(--brand-primary)}.sp-booking-card{border-color:var(--brand-accent);background:linear-gradient(155deg,var(--brand-soft),var(--brand-wash)70%)}