/* NoSpace service menu: salon tools, staff portraits and a clear booking choice. */
.ns-services .category-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:42px 0 28px}
.ns-services .category-intro h3{max-width:750px;font-size:clamp(30px,4.1vw,64px);line-height:1.03;margin:0;letter-spacing:-.045em}
.ns-services .category-intro p{max-width:300px;margin:0 0 4px;color:var(--soft-ink);font-size:15px;line-height:1.6}
.ns-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ns-service-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:310px;padding:26px;text-align:left;color:var(--heading-brown);background:#f2f0eb;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .18s,border-color .18s}
.ns-service-card:hover{background:#e9e3da;border-color:#b89a83}
.ns-service-card:focus-visible{outline:3px solid #9b6748;outline-offset:4px}
.ns-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}
.ns-service-symbol{display:grid;place-items:center;width:70px;height:70px;background:#e6d8c8;border-radius:50%;color:#70492f}
.ns-service-symbol svg{width:52px;height:52px}
.ns-card-price{font-family:Georgia,serif;font-size:32px;white-space:nowrap;line-height:1}
.ns-card-title{font-size:21px;line-height:1.25;font-weight:800;letter-spacing:-.03em;text-transform:none}
.ns-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--soft-ink);font-size:14px;line-height:1.6;margin:12px 0 22px;max-width:45ch}
.ns-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #3b2b2420}
.ns-card-team{display:flex;align-items:center;min-width:0}
.ns-card-team img{width:32px;height:32px;object-fit:cover;object-position:50% 25%;border-radius:50%;border:2px solid #f2f0eb;margin-left:-9px}
.ns-card-team img:first-child{margin-left:0}
.ns-card-team>span{font-size:12px;margin-left:9px;color:var(--soft-ink)}
.ns-card-action{width:34px;height:34px;display:grid;place-items:center;border:1px solid #3b2b2430;border-radius:50%;flex-shrink:0}
.ns-card-action svg{width:18px;height:18px}
.ns-card-hint{font-size:12px;margin-top:10px;font-weight:700}
.ns-service-card-featured{background:#3b2b24;color:white}
.ns-service-card-featured:hover{background:#4b3429}
.ns-service-card-featured .ns-service-symbol{background:#614334;color:#ecd4bb}
.ns-service-card-featured .ns-card-description,.ns-service-card-featured .ns-card-team>span{color:#e1d6cd}
.ns-service-card-featured .ns-card-bottom{border-color:#ffffff35}
.ns-service-card-featured .ns-card-team img{border-color:#3b2b24}
.ns-service-card-featured .ns-card-action{background:#e7d6c5;border-color:#e7d6c5;color:#3b2b24}
.service-modal.ns-service-dialog{width:min(1180px,100%);max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:12px;overflow:auto;background:#faf9f6}
.ns-service-dialog .modal-close{top:14px;right:14px;width:36px;height:36px;background:#fff;border-color:#3b2b2425;color:#3b2b24}
.ns-dialog-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr)}
.ns-dialog-service{padding:32px;background:#3b2b24;color:#fff;min-width:0}
.ns-dialog-symbol{display:grid;place-items:center;width:82px;height:82px;background:#614334;color:#ecd4bb;border-radius:50%;margin-bottom:24px}
.ns-dialog-symbol svg{width:62px;height:62px}
.ns-dialog-category{display:block;font-size:11px;color:#d6bcaa;margin-bottom:10px}
.ns-dialog-service h3{font:800 clamp(27px,2.4vw,36px)/1.1 var(--font-sans),sans-serif;letter-spacing:-.045em;text-transform:none;margin:0 0 16px;overflow-wrap:anywhere}
.ns-dialog-service>p{font-size:14px;line-height:1.65;color:#e1d6cd;margin:0 0 20px}
.ns-dialog-price{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:18px 0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.ns-dialog-price .modal-price{font:34px/1 Georgia,serif;color:#fff}
.ns-dialog-price [data-modal-duration]{font-size:12px;color:#e1d6cd}
.ns-service-dialog .includes-title{color:#d6bcaa;font:600 12px/1.5 var(--font-sans),sans-serif;margin:22px 0 10px;letter-spacing:0;text-transform:none}
.ns-service-dialog .service-includes{display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:0;list-style:none;border:0}
.ns-service-dialog .service-includes li,.ns-service-dialog .service-includes li:nth-child(n){display:flex;align-items:center;gap:10px;padding:0;border:0;color:#fff}
.ns-service-dialog .service-includes li>span{font-size:0;color:#d6bcaa;width:16px;flex-shrink:0}
.ns-service-dialog .service-includes li>span::after{content:'✓';font-size:13px}
.ns-service-dialog .service-includes li>strong{font:500 12px/1.5 var(--font-sans),sans-serif;text-transform:none}
.ns-dialog-people{display:flex;flex-direction:column;min-width:0;padding:36px 32px 24px}
.ns-selection-caption{color:#9b6748;font-size:12px;font-weight:700;margin:0 40px 10px 0}
.ns-dialog-people>h4{font-size:27px;line-height:1.2;letter-spacing:-.04em;margin:0 30px 10px 0;color:#3b2b24}
.ns-dialog-people>p{font-size:14px;line-height:1.5;color:#5a554d;margin:0 20px 24px 0;max-width:50ch}
.ns-service-dialog .stylist-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px}
.ns-service-dialog .stylist-option{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:104px;padding:12px;color:#3b2b24;background:#fff;border:1px solid #e4ddd3;border-radius:6px;text-align:left;transform:none;cursor:pointer}
.ns-service-dialog .stylist-option img{width:62px;height:78px;object-fit:cover;object-position:50% 25%;border-radius:3px;filter:none}
.ns-service-dialog .stylist-option .ns-person-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.ns-service-dialog .stylist-option strong{font:600 17px/1.15 Georgia,serif;padding-right:12px}
.ns-service-dialog .stylist-option small{font:500 10px/1.4 var(--font-sans),sans-serif;letter-spacing:0;text-transform:none;color:#75695e}
.ns-person-price{font-size:12px;font-weight:800;color:#70492f;line-height:1.4}
.ns-service-dialog .stylist-option i{position:absolute;right:7px;top:7px;width:17px;height:17px;border:1px solid #d3c5b7;background:transparent;color:transparent;border-radius:50%;font:12px/1 sans-serif;display:grid;place-items:center}
.ns-service-dialog .stylist-option:hover{border-color:#9b6748;background:#f7f1ea}
.ns-service-dialog .stylist-option.is-selected{border-color:#9b6748;background:#efe3d5;box-shadow:inset 0 0 0 1px #9b6748;color:#3b2b24}
.ns-service-dialog .stylist-option.is-selected small{color:#75695e}
.ns-service-dialog .stylist-option.is-selected i{color:#fff;background:#9b6748;border-color:#9b6748}
.ns-service-dialog .stylist-option:focus-visible{outline:3px solid #9b6748;outline-offset:3px}
.ns-selection-prompt{margin-top:auto;padding-top:18px;border-top:1px solid #e4ddd3;color:#75695e;font-size:13px}
.ns-selection-prompt[hidden]{display:none}
.ns-service-dialog .booking-confirmation{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #e4ddd3}
.ns-service-dialog .booking-confirmation>span{font:600 12px/1.4 var(--font-sans),sans-serif;color:#5a554d;text-transform:none;letter-spacing:0}
.ns-service-dialog .booking-confirmation .button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:14px 18px;margin:0;border-radius:5px;background:#3b2b24;color:white;font-size:12px;letter-spacing:0;text-transform:none}
.ns-service-dialog .booking-confirmation .button:hover{background:#70492f}
@media(min-width:1000px) and (max-height:780px){.ns-dialog-service{padding:24px}.ns-dialog-symbol{width:60px;height:60px;margin-bottom:16px}.ns-dialog-symbol svg{width:46px;height:46px}.ns-dialog-people{padding:26px 26px 20px}.ns-service-dialog .stylist-option{min-height:88px;padding:9px;grid-template-columns:52px minmax(0,1fr)}.ns-service-dialog .stylist-option img{width:52px;height:64px}.ns-dialog-people>p{margin-bottom:16px}.ns-service-dialog .stylist-options{gap:10px;margin-bottom:16px}}
@media(max-width:1000px){.ns-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-services .category-intro{display:block}.ns-services .category-intro p{margin-top:16px;max-width:50ch}.ns-dialog-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr)}.ns-dialog-service{padding:24px}.ns-dialog-people{padding:30px 24px 24px}.ns-service-dialog .stylist-options{grid-template-columns:1fr}.ns-service-dialog .stylist-option{min-height:78px;grid-template-columns:48px 1fr}.ns-service-dialog .stylist-option img{width:48px;height:56px}}
@media(max-width:650px){.ns-services-grid{grid-template-columns:1fr;gap:12px}.ns-service-card{min-height:260px;padding:22px}.ns-card-head{margin-bottom:16px}.ns-services .category-intro{margin:28px 0 20px}.ns-services .category-intro h3{font-size:34px}.ns-services .category-intro p{font-size:13px}.service-modal.ns-service-dialog{max-height:calc(100dvh - 16px);border-radius:9px}.ns-dialog-layout{grid-template-columns:1fr}.ns-dialog-service{padding:24px}.ns-dialog-symbol{width:52px;height:52px;margin-bottom:14px}.ns-dialog-symbol svg{width:40px;height:40px}.ns-dialog-service h3{font-size:28px;padding-right:24px}.ns-dialog-service>p{margin-bottom:14px}.ns-dialog-price{padding:12px 0}.ns-dialog-price .modal-price{font-size:28px}.ns-service-dialog .includes-title{margin-top:16px}.ns-service-dialog .service-includes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ns-dialog-people{padding:24px}.ns-dialog-people>h4{font-size:24px}.ns-dialog-people>p{margin-bottom:16px;font-size:13px}.ns-service-dialog .stylist-option strong{font-size:18px}.ns-service-dialog .stylist-option small{font-size:11px}.ns-service-dialog .booking-confirmation{position:sticky;bottom:-24px;background:#faf9f6;padding:14px 0 24px;margin-bottom:-24px}.ns-service-dialog .modal-close{background:#fff}}
@media(prefers-reduced-motion:reduce){.ns-service-card{transition:none}}

/* Minimal service treatment: open surfaces, square corners, color only on hover. */
.ns-service-card,.ns-service-card-featured{min-height:280px;padding:28px 24px;color:var(--heading-brown);background:transparent;border:0;border-bottom:1px solid #3b2b2438;border-radius:0;}
.ns-service-card:hover,.ns-service-card-featured:hover{color:var(--heading-brown);background:#eee8df;border-color:#9b6748;}
.ns-card-head{justify-content:flex-end;margin-bottom:30px;}
.ns-card-price{font-size:30px;}
.ns-card-bottom{border-top:1px solid #3b2b241c;}
.ns-card-team img{border:0;border-radius:0;margin-left:3px;}
.ns-card-team img:first-child{margin-left:0;}
.ns-card-action,.ns-service-card-featured .ns-card-action{width:auto;height:auto;border:0;border-radius:0;background:transparent;color:inherit;}
.ns-service-card-featured .ns-card-description,.ns-service-card-featured .ns-card-team>span{color:var(--soft-ink);}
.ns-service-card-featured .ns-card-bottom{border-color:#3b2b241c;}
.ns-service-card-featured .ns-card-team img{border-color:transparent;}
.service-modal.ns-service-dialog{border-radius:0;background:#fff;}
.ns-dialog-service{background:#fff;color:var(--heading-brown);}
.ns-dialog-service>p{color:var(--soft-ink);}
.ns-dialog-price{border-color:#3b2b2425;}
.ns-dialog-price .modal-price{color:var(--heading-brown);}
.ns-dialog-price [data-modal-duration],.ns-service-dialog .includes-title,.ns-service-dialog .service-includes li>span{color:#70492f;}
.ns-dialog-people{background:#fff;}
.ns-service-dialog .stylist-option{border-radius:0;background:transparent;}
.ns-service-dialog .stylist-option img{border-radius:0;}
.ns-service-dialog .stylist-option i{border-radius:0;}
.ns-service-dialog .booking-confirmation .button{border-radius:0;}
.service-modal.ns-service-dialog .modal-close{border-radius:0;}
@media(max-width:650px){.service-modal.ns-service-dialog{border-radius:0}}

/* Keep the service tile still; its own action carries the hover feedback. */
.ns-service-card,.ns-service-card-featured{cursor:default;background:transparent;border-color:#000;}
.ns-service-card:hover,.ns-service-card-featured:hover{background:transparent;border-color:#000;color:var(--heading-brown);}
.ns-card-title,.ns-card-price{background:transparent;padding:0;}
.ns-card-team img,.ns-service-card-featured .ns-card-team img{width:40px;height:40px;border:0;border-radius:50%;margin-left:5px;}
.ns-card-team img:first-child{margin-left:0;}
.ns-card-hint{appearance:none;align-self:flex-start;margin-top:14px;padding:11px 16px;border:0;border-radius:0;background:#f2f0eb;color:#3b2b24;font:800 12px/1.3 var(--font-sans),sans-serif;cursor:pointer;transition:background .18s,color .18s;}
.ns-card-hint:hover,.ns-card-hint:focus-visible{background:#3b2b24;color:#fff;}
.ns-card-hint:focus-visible{outline:3px solid #9b6748;outline-offset:3px;}
.ns-service-card:hover .ns-card-title,.ns-service-card:hover .ns-card-price,.ns-service-card:hover .ns-card-hint,.ns-service-card-featured:hover .ns-card-title,.ns-service-card-featured:hover .ns-card-price,.ns-service-card-featured:hover .ns-card-hint{background:inherit;color:inherit;}
.ns-service-card:hover .ns-card-hint,.ns-service-card-featured:hover .ns-card-hint{background:#f2f0eb;color:#3b2b24;}
.ns-card-hint:hover{background:#3b2b24!important;color:#fff!important;}

/* Final hover override: only the action button changes color. */
.ns-service-card.ns-service-card:hover,.ns-service-card-featured.ns-service-card-featured:hover{background:transparent!important;border-color:#000!important;color:var(--heading-brown)!important;}
.ns-service-card:hover .ns-card-title,.ns-service-card:hover .ns-card-price,.ns-service-card-featured:hover .ns-card-title,.ns-service-card-featured:hover .ns-card-price{background:transparent!important;color:var(--heading-brown)!important;}
.ns-service-card:hover .ns-card-hint,.ns-service-card-featured:hover .ns-card-hint{background:#f2f0eb!important;color:#3b2b24!important;}
.ns-service-card .ns-card-hint:hover,.ns-service-card-featured .ns-card-hint:hover{background:#3b2b24!important;color:#fff!important;}

/* Requested service-card refinements. */
.ns-service-card .ns-card-title,.ns-service-card-featured .ns-card-title{text-transform:uppercase!important;}
.ns-service-card .ns-card-heading,.ns-service-card-featured .ns-card-heading{margin-bottom:12px!important;}
.ns-service-card .ns-card-description,.ns-service-card-featured .ns-card-description{margin-top:0!important;margin-bottom:10px!important;}
.ns-service-card .ns-card-bottom,.ns-service-card-featured .ns-card-bottom{padding-top:0!important;border-top:0!important;}
.ns-service-card .ns-card-hint,.ns-service-card-featured .ns-card-hint{background:#000!important;color:#fff!important;}
.ns-service-card .ns-card-hint:hover,.ns-service-card-featured .ns-card-hint:hover,.ns-service-card .ns-card-hint:focus-visible,.ns-service-card-featured .ns-card-hint:focus-visible{background:#f2f0eb!important;color:#3b2b24!important;}

/* Natural reading order: title, description, then staff portraits. */
.ns-service-card .ns-card-heading,.ns-service-card-featured .ns-card-heading{margin-bottom:12px!important;}
.ns-service-card .ns-card-description,.ns-service-card-featured .ns-card-description{margin:0 0 12px!important;}
.ns-service-card .ns-card-bottom,.ns-service-card-featured .ns-card-bottom{margin-top:0!important;padding-top:0!important;border-top:0!important;}
.ns-service-card .ns-card-hint,.ns-service-card-featured .ns-card-hint{margin-top:12px!important;}
.ns-service-card.ns-service-card,.ns-service-card-featured.ns-service-card-featured{border:1px solid #000!important;}

/* Service tiles: label and price surfaces, a clear divider and a direct action. */
.ns-service-card,.ns-service-card-featured{min-height:280px;padding:28px 24px;color:var(--heading-brown);background:transparent;border:1px solid #3b2b2440;border-radius:0;}
.ns-service-card:hover,.ns-service-card-featured:hover{color:var(--heading-brown);background:#eee8df;border-color:#9b6748;}
.ns-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px;}
.ns-card-title,.ns-card-price{display:inline-block;background:#f2f0eb;padding:9px 12px;}
.ns-card-title{font-size:18px;line-height:1.3;}
.ns-card-price{font-size:23px;}
.ns-card-description{margin:0 0 18px;}
.ns-card-bottom{padding-top:14px;border-top:1px solid #3b2b241c;}
.ns-card-team img{width:30px;height:30px;border:0;border-radius:0;margin-left:3px;}
.ns-card-team img:first-child{margin-left:0;}
.ns-card-hint{align-self:flex-start;margin-top:14px;padding:10px 14px;background:#f2f0eb;color:#3b2b24;font-size:12px;font-weight:800;}
.ns-service-card:hover .ns-card-title,.ns-service-card:hover .ns-card-price,.ns-service-card:hover .ns-card-hint,.ns-service-card-featured:hover .ns-card-title,.ns-service-card-featured:hover .ns-card-price,.ns-service-card-featured:hover .ns-card-hint{background:#d9c6b3;}
.ns-service-card-featured{background:transparent;color:var(--heading-brown);}
.ns-service-card-featured .ns-card-description,.ns-service-card-featured .ns-card-team>span{color:var(--soft-ink);}
.ns-service-card-featured .ns-card-bottom{border-color:#3b2b241c;}
.ns-service-card-featured .ns-card-team img{border-color:transparent;}
.ns-service-card-featured .ns-card-action{background:transparent;border-color:transparent;color:inherit;}

/* Restore the previous split popup and remove only its corner rounding. */
.service-modal.ns-service-dialog{width:min(1180px,100%);max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:0;overflow:auto;background:#faf9f6;}
.ns-dialog-service{background:#3b2b24;color:#fff;}
.ns-dialog-service>p{color:#e1d6cd;}
.ns-dialog-price .modal-price{color:#fff;}
.ns-dialog-price [data-modal-duration]{color:#e1d6cd;}
.ns-service-dialog .includes-title{color:#d6bcaa;}
.ns-dialog-people{background:transparent;}
.ns-service-dialog .stylist-option{border-radius:0;background:#fff;}
.ns-service-dialog .stylist-option img{border-radius:0;}
.ns-service-dialog .stylist-option i{border-radius:0;}
.ns-service-dialog .booking-confirmation .button,.service-modal.ns-service-dialog .modal-close{border-radius:0;}
@media(max-width:650px){.service-modal.ns-service-dialog{border-radius:0}}

/* Final corrections: preserve the price chip on hover and keep the service title bare. */
.ns-service-card.ns-service-card:hover,.ns-service-card-featured.ns-service-card-featured:hover{background:transparent!important;border-color:#000!important;color:var(--heading-brown)!important;}
.ns-service-card .ns-card-title,.ns-service-card-featured .ns-card-title,.ns-service-card:hover .ns-card-title,.ns-service-card-featured:hover .ns-card-title{background:transparent!important;padding:0!important;color:var(--heading-brown)!important;}
.ns-service-card .ns-card-price,.ns-service-card-featured .ns-card-price,.ns-service-card:hover .ns-card-price,.ns-service-card-featured:hover .ns-card-price{background:#f2f0eb!important;padding:9px 12px!important;color:var(--heading-brown)!important;}
.ns-service-card:hover .ns-card-hint,.ns-service-card-featured:hover .ns-card-hint{background:#f2f0eb!important;color:#3b2b24!important;}
.ns-service-card .ns-card-hint:hover,.ns-service-card-featured .ns-card-hint:hover{background:#3b2b24!important;color:#fff!important;}

/* Final spacing correction: title, description, then staff in a natural flow. */
.ns-service-card .ns-card-heading,.ns-service-card-featured .ns-card-heading{margin-bottom:12px!important;}
.ns-service-card .ns-card-description,.ns-service-card-featured .ns-card-description{margin:0 0 12px!important;}
.ns-service-card .ns-card-bottom,.ns-service-card-featured .ns-card-bottom{margin-top:0!important;padding-top:0!important;border-top:0!important;}
.ns-service-card .ns-card-hint,.ns-service-card-featured .ns-card-hint{margin-top:12px!important;}

/* Let each service frame end after its action, with balanced top and bottom padding. */
.ns-service-card,.ns-service-card-featured{min-height:0!important;height:auto!important;padding-top:28px!important;padding-bottom:28px!important;}

/* Keep staff portraits circular in every service card. */
.ns-service-card .ns-card-team img,.ns-service-card-featured .ns-card-team img{width:40px!important;height:40px!important;border-radius:50%!important;object-fit:cover!important;}

/* Service card headings requested at 24px. */
.ns-service-card .ns-card-title,.ns-service-card-featured .ns-card-title{font-size:24px!important;line-height:1.2!important;}

/* Keep the booking dialog within the site's black and white palette. */
.ns-service-dialog .ns-dialog-service{background:#000!important;}
.ns-service-dialog #service-modal-title{text-transform:uppercase!important;}
.ns-service-dialog .includes-title,.ns-service-dialog .ns-dialog-category,.ns-service-dialog .ns-dialog-price [data-modal-duration],.ns-service-dialog .service-includes li>span{color:#d1d1d1!important;}

/* Simplify specialist selection: one border, no beige fill or check badge. */
.ns-service-dialog .stylist-option.is-selected{background:#fff!important;border:2px solid #000!important;box-shadow:none!important;color:#3b2b24!important;}
.ns-service-dialog .stylist-option.is-selected i{display:none!important;}
.ns-service-dialog .booking-confirmation .button{background:#000!important;color:#fff!important;}
.ns-service-dialog .booking-confirmation .button:hover{background:#333!important;color:#fff!important;}

/* Restore the selected specialist check indicator. */
.ns-service-dialog .stylist-option.is-selected i{display:grid!important;place-items:center;background:#000!important;border-color:#000!important;color:#fff!important;}

/* Prevent service title and price from overlapping on narrow phones. */
@media(max-width:650px){
  .ns-service-card .ns-card-heading,.ns-service-card-featured .ns-card-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;}
  .ns-service-card .ns-card-title,.ns-service-card-featured .ns-card-title{max-width:100%!important;}
  .ns-service-card .ns-card-price,.ns-service-card-featured .ns-card-price{align-self:flex-start!important;}
}
