.site-header{background:#17171d}
.hero.hero-compact{display:block;min-height:700px;padding:0;background:#17171d;color:#f8f1e9;overflow:hidden}
.hero-compact>.hero-copy{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero-compact .eyebrow{color:#d5cbd5;margin-bottom:10px}.hero-compact h1{max-width:430px;font-size:clamp(32px,3.8vw,48px);line-height:1.02}.hero-compact .lede{display:none}
.hero-compact>#booking-form{visibility:hidden;height:0;overflow:hidden}
.service-map-section{position:relative;max-width:none;width:100%;margin:0;padding:0}.service-map-heading{display:none}
.service-map-shell{position:relative;min-height:700px;overflow:hidden;background:#17171d}.service-map-shell::after{content:"";position:absolute;z-index:300;top:0;right:0;left:0;height:88px;pointer-events:none;background:linear-gradient(180deg,#17171d 0%,#17171dd9 38%,#17171d70 68%,transparent 100%)}.service-map-canvas{position:absolute;inset:0;background:#17171d}
.mapboxgl-map{font-family:inherit;background:#17171d;outline:none}.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{z-index:500}.mapboxgl-ctrl-group{margin:0 26px 26px 0!important;border:1px solid #5d5769!important;border-radius:12px!important;overflow:hidden;box-shadow:0 12px 28px #0008!important;background:#23212b!important}.mapboxgl-ctrl-group button{width:34px!important;height:34px!important;border:0!important;background:#23212b!important}.mapboxgl-ctrl-group button+button{border-top:1px solid #4b4655!important}.mapboxgl-ctrl-group button:hover{background:#373241!important}.mapboxgl-ctrl-group button span{filter:invert(1) brightness(1.7)}.mapboxgl-ctrl-attrib{margin:0 14px 12px!important;padding:3px 6px!important;border:1px solid #ffffff18;border-radius:6px!important;background:#17171dcc!important;color:#b8b2bf!important;font-size:10px!important}.mapboxgl-ctrl-attrib a{color:#d6c4e5!important}
.map-booking-slot{position:absolute;z-index:600;top:92px;left:50%;width:min(1080px,calc(100% - 48px));transform:translateX(-50%);overflow:hidden;border:1px solid #ffffff2e;border-radius:18px;background:#24212ae8;box-shadow:0 18px 44px #0009;backdrop-filter:blur(18px);pointer-events:none}.map-booking-slot>*{pointer-events:auto}
.map-booking-slot .booking-bar{display:block;width:100%;min-width:0;visibility:visible;height:auto;overflow:visible}.map-booking-slot .booking-toolbar{padding:6px 10px;border-top:1px solid #ffffff1c}.map-booking-slot .booking-inputs{border:0;border-top:1px solid #d6ccca;border-radius:0 0 17px 17px;background:#f8f4f0;box-shadow:none}.map-booking-slot .service-switch{background:#2a2730}.map-booking-slot .service-switch button{color:#d8d0d5}.map-booking-slot .service-switch button[aria-selected=true]{background:#d7c5e6;color:#28232b}.map-booking-slot .booking-submit{background:#d7c5e6;color:#28232b}.map-booking-slot .booking-submit:hover{background:#c8b1dc}
/* The map form has an explicit dark surface, so its native controls need the
   matching color scheme instead of inheriting light form-control rendering. */
html.dark .map-booking-slot{border-color:#746b78;background:#24212af2}html.dark .map-booking-slot .booking-toolbar{border-top-color:#ffffff1c}html.dark .map-booking-slot .booking-inputs{background:#342e38;border-color:#5a505c}
html.dark .map-booking-slot .booking-bar .field-grid label{color:#f8f1e9}
html.dark .map-booking-slot .booking-bar .field-grid input,html.dark .map-booking-slot .booking-bar .field-grid select{color-scheme:dark;color:#f8f1e9;caret-color:#f8f1e9;-webkit-text-fill-color:#f8f1e9}
html.dark .map-booking-slot .booking-bar input::placeholder{color:#cfc4d0}
html.dark .map-booking-slot .booking-bar select:has(option:checked[value=""]){color:#cfc4d0;-webkit-text-fill-color:#cfc4d0}
html.dark .map-booking-slot .booking-bar .field-grid input:disabled,html.dark .map-booking-slot .booking-bar .field-grid select:disabled{color:#b9aebb;-webkit-text-fill-color:#b9aebb;opacity:1}
.service-pin{display:inline-flex;align-items:center;gap:7px;min-width:40px;height:40px;padding:4px 10px 4px 4px;border:1px solid #ffffff24;border-radius:22px;background:#272431;color:#faf7f2;box-shadow:0 9px 20px #0009;white-space:nowrap;font:750 12px/1 inherit;cursor:pointer;transition:transform .16s ease,filter .16s ease}.service-pin:hover{transform:translateY(-2px);filter:brightness(1.1)}.service-pin:focus-visible{outline:2px solid #fff;outline-offset:3px}.service-pin svg{width:30px;height:30px;padding:7px;border-radius:50%;background:#17151d;color:#fff}.service-pin-ride svg{background:#a888c0}.service-pin-hair svg{background:#d69b72}.service-pin-nails svg{background:#6eae94}.service-pin-style svg{background:#b99b52}.service-pin-tattoo svg{background:#bd718a}.service-pin-yoga svg{background:#698eb9}.trust-strip{position:relative;z-index:2;background:var(--oat)}
.map-category-controls{padding:10px 12px 8px;color:#f8f1e9;pointer-events:auto}.map-category-controls p{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.map-category-list{display:flex;gap:6px;flex-wrap:wrap}.map-category-status{margin-top:7px!important;color:#f8f1e9;font-size:11px!important;letter-spacing:0!important;text-transform:none!important}.map-category-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #ffffff2e;border-radius:9px;background:#ffffff0d;color:#f8f1e9;font:750 12px/1 inherit;cursor:pointer}.map-category-chip:hover,.map-category-chip.is-selected{border-color:#d7c5e6;background:#d7c5e6;color:#28232b}.map-category-chip:focus-visible{outline:2px solid #fff;outline-offset:3px}.map-category-chip svg{width:16px;height:16px}.service-place-pin{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:4px 10px 4px 5px;border:1px solid #ffffff50;border-radius:22px;background:#28232be8;color:#fff;box-shadow:0 8px 22px #000b;cursor:pointer;transition:transform .16s ease,background .16s ease;white-space:nowrap;font:750 11px/1 inherit}.service-place-pin:hover{transform:translateY(-2px) scale(1.04);background:#3b3543}.service-place-pin:focus-visible{outline:2px solid #fff;outline-offset:3px}.service-place-pin svg{width:28px;height:28px;padding:6px;border-radius:50%;background:#3c3541}.service-place-pin span{max-width:76px;overflow:hidden;text-overflow:ellipsis}.service-place-pin-hair{color:#ffd4a8}.service-place-pin-nails{color:#e8bdcf}.service-place-pin-tattoo{color:#e1b3bd}.service-place-pin-yoga{color:#b8cbea}.mapboxgl-popup-content{padding:11px 13px!important;border:1px solid #ffffff20!important;border-radius:12px!important;background:#272431!important;color:#f8f4f0!important;box-shadow:0 12px 30px #000b!important}.mapboxgl-popup-tip{border-top-color:#272431!important;border-bottom-color:#272431!important}.service-place-popup{display:grid;gap:3px;min-width:132px}.service-place-popup strong{font-size:13px}.service-place-popup span{color:#d7c5e6;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.service-place-popup small{color:#d9d1d7;font-size:12px}.trust-strip{position:relative;z-index:2;background:var(--oat)}
@media(max-width:760px){.site-header nav{display:none}.hero.hero-compact,.service-map-shell{min-height:760px}.map-booking-slot{top:16px;left:14px;width:calc(100% - 28px);transform:none;border-radius:16px}.map-booking-slot .booking-toolbar{padding:7px 8px}.map-booking-slot .booking-inputs{padding:4px}.map-booking-slot .booking-bar .field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.map-booking-slot .booking-bar .field-grid label{min-height:66px;padding:8px 10px;border-bottom:1px solid var(--line)}.map-booking-slot .booking-bar .field-grid label:nth-child(odd){border-right:1px solid var(--line)}.map-booking-slot .booking-bar .field-grid input,.map-booking-slot .booking-bar .field-grid select{font-size:14px}.map-booking-slot .booking-bar .booking-submit{min-height:46px;margin-top:4px}.map-category-controls{padding:11px 10px 9px}.map-category-controls p{margin-bottom:6px}.map-category-list{gap:6px;flex-wrap:wrap;overflow:visible;padding-bottom:0}.map-category-chip{flex:0 0 auto;min-height:34px;padding:6px 9px;font-size:11px}.map-category-chip svg{width:15px;height:15px}.map-category-status{margin-top:6px!important}.service-place-pin{min-height:32px;padding:3px 8px 3px 4px;border-radius:18px;font-size:10px}.service-place-pin svg{width:24px;height:24px;padding:5px}.service-place-pin span{max-width:52px}.service-pin{height:36px;min-width:36px;padding:3px;border-radius:50%}.service-pin svg{width:30px;height:30px}.service-pin b{display:none}.mapboxgl-ctrl-group{margin:0 14px 20px 0!important}.mapboxgl-ctrl-attrib{margin:0 12px 7px!important}}
@media(pointer:coarse){.map-category-chip{min-height:44px;padding-inline:12px}.service-place-pin{min-height:44px}.service-place-pin svg{width:30px;height:30px}}
@media(prefers-contrast:more){.map-category-chip,.service-place-pin{border-width:2px;border-color:#fff}.map-category-chip.is-selected{background:#fff;color:#17171d}}
@media(forced-colors:active){.map-category-chip,.service-place-pin{border:1px solid CanvasText;background:Canvas;color:CanvasText;box-shadow:none}.map-category-chip.is-selected{outline:2px solid Highlight;outline-offset:2px}.map-category-chip svg,.service-place-pin svg{background:transparent}}
@media(prefers-reduced-motion:reduce){.map-category-chip,.service-place-pin{transition:none}}
@media(max-width:760px){.map-booking-slot .booking-inputs{border-radius:0 0 15px 15px}}
