/* Morgan: lavender and peach from the supplied business card. Original section structure retained. */
/* Keep the nail designs in view when the portrait photos crop on mobile. */
.hero-slide>img{object-position:center 60%}
.hero-slide-right>img{object-position:center 75%}
:root{--rose:#77508e;--rose-hot:#8b62a5;--rose-deep:#55346d;--cherry:#30213d;--cherry-2:#4d355e;--pink:#e8d5f4;--blush:#eee0f5;--blush-soft:#faf4ff;--paper:#fffcff;--cream:#f8eff6;--gold:#a47a52;--gold-deep:#795934;--ink:#31213d;--ink-soft:#4b385a;--muted:#6e597b;--hair:rgba(70,42,90,.16)}
body{background:linear-gradient(125deg,#fffaf6,#f9f2ff 48%,#fff7f5)}
.section{background:linear-gradient(125deg,#fffaf7,#f5edfc 65%,#fbe8ec)}
.site-header,.site-header.scrolled{background:rgba(255,250,255,.97);border-color:#e5d4ed}
.brand-lockup img{border-radius:0;box-shadow:none;object-fit:contain}
.nav-social a,.social-media-list a{font-size:12px;font-weight:600;color:var(--cherry)}
.hero-slide{background:#f1e6f7}.hero-slide:after{background:linear-gradient(90deg,#f0e4f7 0 39%,rgba(242,230,248,.94) 46%,rgba(249,233,237,.3) 66%,transparent 82%)}
.hero-content{color:var(--ink)}.hero-content h1{font-size:clamp(3.7rem,6.8vw,7rem);line-height:1.03;padding-block:.08em}.hero-content h1 em{color:#79508f;line-height:1.15}
.hero-content .eyebrow,.hero-copy,.hero-note{color:var(--ink-soft)}.hero-content .text-link{color:var(--ink)}.hero-content .hero-copy{color:var(--ink-soft)}
.hero-controls button span{background:#77508e}.hero-note{border-color:#b69bc5}
.section h2{line-height:1.13;padding-bottom:.12em}.section h2 em{color:#79508f;line-height:1.2}.intro-image img{object-position:center}.overview-detail img{object-position:center}.intro-image figcaption{color:var(--ink-soft)}
.gift-cards{background:linear-gradient(135deg,#efe2f7,#fff4e9)}.gift-script{color:var(--rose-deep)}.gift-ticket-foot small{font-size:8px}.gift-stories .gift-story>img{opacity:.3}.gift-ticket{background:linear-gradient(140deg,#fffaf3,#efdcf6)}
.feature-strip{background:#35213f}.feature-strip div{color:white}.feature-strip .eyebrow{color:white}
.happy-clients{background:linear-gradient(125deg,#382647,#634574)}.happy-clients h2,.happy-clients .happy-script{color:#fff}.happy-clients h2 em{color:#eddbf5}.happy-stars,.happy-rating span{color:#ffdeb4}.happy-review{color:var(--ink)}.happy-actions .text-link{color:white}
.site-footer{background:#30213d;color:#fff}.site-footer p,.footer-links,.footer-links a{color:#f0e4f6}.footer-brand img{background:#faf3ff;padding:5px;border-radius:12px}
.menu-tools{margin-top:24px}.menu-tools label{display:block;font-weight:600;font-size:.85rem;margin-bottom:8px}.menu-tools input{width:100%;max-width:640px;min-height:50px;border:1px solid #bfa8cc;border-radius:10px;padding:12px 16px;background:#fffcff;color:var(--ink);font:inherit}.menu-tools input::placeholder{color:#786386}
.category-bar{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0}.category-bar button{background:#f8f1fb;border:1px solid #bba0c9;color:#493255;padding:9px 14px;border-radius:30px;cursor:pointer;font-size:13px}.category-bar button:hover,.category-bar button[aria-pressed=true]{background:#68437e;color:white;border-color:#68437e}
.menu-status,.gallery-caption{font-size:14px;color:#624c70}.menu-category>h3{font-family:var(--display);font-size:30px;font-weight:400;margin:36px 0 12px}.menu-category>p{font-size:14px}.service-row{grid-template-columns:35px minmax(0,1fr) 120px 65px;gap:20px;padding:18px 8px}.service-row h4{font-size:16px;font-weight:500;line-height:1.5;margin:0}.service-row p{font-size:13px;margin:5px 0 0;color:#624c70;max-width:650px}.service-row>span{color:#70577e}.service-price{text-align:right;font-size:16px}.service-price small{display:block;font-size:12px;color:#624c70}.service-price del{font-size:12px}.service-row:hover{background:#efe1f5}.service-row .text-link{justify-self:end;white-space:nowrap}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:260px 260px 240px;gap:12px}.gallery-grid .gallery-item:nth-child(n){display:block;grid-column:auto;grid-row:auto;outline:none}.gallery-grid:not(.expanded) .gallery-item:nth-child(1){grid-row:span 2}.gallery-grid:not(.expanded) .gallery-item:nth-child(3){grid-row:span 2}.gallery-grid:not(.expanded) .gallery-item:nth-child(7){grid-column:span 2}.gallery-grid:not(.expanded) .gallery-item:nth-child(8){grid-column:span 2}.gallery-grid.expanded{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto}.gallery-grid.expanded .gallery-item{aspect-ratio:3/4}.gallery-item video{background:#30213d;object-fit:contain}.gallery-item.is-video:after{display:none}
[hidden]{display:none!important}.gallery-page .gallery{padding-top:140px}.legal-page{padding:30px var(--pad)}.legal-header{display:flex;justify-content:space-between;align-items:center}.legal-header img{width:65px}.legal-main{max-width:850px;margin:60px auto}.legal-main h1{font-family:var(--display);font-size:55px;line-height:1.2}.legal-main section{margin:35px 0}.legal-main h2{font-family:var(--display);font-size:30px}.legal-footer{padding:25px 0;border-top:1px solid var(--hair)}
@media(max-width:1200px){.site-header{grid-template-columns:1fr auto auto;gap:15px}.desktop-nav{gap:12px;font-size:10px}.brand-name{font-size:17px}.header-actions .nav-social{display:none}}
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border:0;background:transparent}.menu-toggle span{display:block;background:#412950;width:22px;height:2px}.mobile-nav{display:block;position:fixed;inset:0;z-index:35;padding:110px 25px 90px;background:linear-gradient(140deg,#fff6f0,#ede0f6);overflow:auto;visibility:hidden;opacity:0;pointer-events:none}.mobile-nav.open{visibility:visible;opacity:1;pointer-events:auto}.mobile-menu-links{display:grid}.mobile-menu-links a{font-family:var(--display);font-size:30px;line-height:1.4;padding:10px 0;border-bottom:1px solid var(--hair);color:#382443}.mobile-menu-links small{font:12px var(--sans);margin-right:15px}.mobile-menu-intro,.mobile-menu-footer{color:#493255}.mobile-phone{display:block;margin:12px 0}.mobile-menu-intro p{color:#624c70}}
@media(max-width:700px){.hero-slide:after{background:linear-gradient(0deg,#f0e4f7 0%,rgba(240,228,247,.96) 30%,rgba(240,228,247,.15) 68%,transparent)}.hero-content h1{font-size:clamp(3.3rem,13vw,5rem);line-height:1.04}.hero-content{padding-bottom:95px}.hero-note{color:#493255}.hero-content .hero-copy{color:#493255}.brand-name{font-size:15px}.site-header{left:10px;right:10px;padding-left:12px;gap:8px}.site-header .brand-lockup img{width:40px;height:40px}.header-actions .button{font-size:10px;padding:8px 12px}.service-row{grid-template-columns:22px minmax(0,1fr) 75px;gap:10px}.service-row h4{font-size:14px}.service-row .text-link{grid-column:2/4;justify-self:end}.service-price{font-size:14px}.category-bar{gap:6px}.category-bar button{font-size:12px;padding:8px 11px}.gallery-grid,.gallery-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.gallery-grid .gallery-item:nth-child(n){grid-row:auto!important;grid-column:auto!important;aspect-ratio:3/4}.hero-slider{min-height:760px}.happy-review-wall{grid-template-columns:1fr}.happy-heading{gap:25px}.footer-brand strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
section[id]{scroll-margin-top:95px}
.hero-slide{grid-template-rows:minmax(0,1fr)}.hero-content{align-self:center;padding-top:110px;padding-bottom:100px}.hero-content .hero-actions .text-link{color:var(--ink);border-color:#9a7eaa}.hero-copy{display:block;overflow:visible;-webkit-line-clamp:unset}.hero-actions .button{background:#68437e;color:#fff}.hero-actions .button:hover{background:#4e2f63;color:#fff}
@media(max-width:700px){.hero-slider{height:790px;min-height:790px;--hero-photo:310px}.hero-slide{background:#f0e4f7;grid-template-rows:none}.hero-content,.hero-slide-right .hero-content{align-self:stretch;width:100%;background:linear-gradient(135deg,#f0e4f7,#fceeea);padding:20px 22px 90px;min-height:0}.hero-content h1{font-size:46px;line-height:1.02;max-width:none;margin:8px 0 12px;color:#31213d}.hero-content h1 em{font-size:1.1em;line-height:1.1}.hero-content .hero-copy{display:block;font-size:14px;line-height:1.55;overflow:visible;-webkit-line-clamp:unset;max-width:100%}.hero-content .hero-actions{margin-top:18px}.hero-slide:after{background:linear-gradient(180deg,transparent 65%,#f0e4f7 100%);height:var(--hero-photo)}.hero-controls{bottom:35px}.floating-primary{display:flex;flex-wrap:nowrap}.floating-primary a{flex:1;min-width:0}.floating-primary .action-gift{grid-column:auto}.mobile-actions .floating-primary{padding:6px;gap:5px}.mobile-actions .floating-primary a{font-size:9px;padding:10px}.mobile-actions{bottom:10px}.intro-copy h2{font-size:43px}}
.gift-story .gift-ticket>strong{color:#4e3260;line-height:1.15}.happy-review .happy-stars{color:#916023}.gift-ticket{overflow:visible}.gift-ticket-foot small{white-space:normal;font-size:7px}.gift-ticket-foot{gap:5px}.floating-social-toggle{color:#55346d}.hero-controls{bottom:35px}@media(max-width:700px){.hero-controls{left:22px;transform:none;bottom:24px}.floating-social{right:0;left:auto;align-items:flex-end}}
.intro-tour{grid-column:2/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.intro-tour figure{margin:0}.intro-tour img{height:230px;object-fit:cover;border-radius:6px}.intro-tour figcaption{font-size:12px;color:#60486f;margin-top:10px}@media(max-width:900px){.intro-tour{grid-column:1/-1}.intro-tour img{height:180px}}@media(max-width:550px){.intro-tour{grid-template-columns:1fr 1fr}.intro-tour figure:last-child{grid-column:1/-1}.intro-tour figure:last-child img{height:200px}}

/* Requested refinements: compact services, uncropped gallery, clear salon cards. */
.services{background:linear-gradient(145deg,#30213d,#513763 58%,#3c2949);color:#fff}
.services-heading h2{color:#fff3fb}
.services-heading h2 em{color:#e7c9f4}
.services-heading p,.services .menu-status{color:#e8dced}
.services .menu-tools label{color:#fff3fb}
.services .menu-category>h3{color:#fff3fb}
.services .service-row h4,.services .service-price strong,.services .service-row .text-link{color:#fff}
.services .service-row p,.services .service-price small{color:#ded0e6}
.services .category-bar{max-height:88px;overflow:auto;padding:12px 0}
.services .service-menu-list{max-height:560px;overflow:auto;padding-right:8px}
.services .service-menu-list::-webkit-scrollbar,.services .category-bar::-webkit-scrollbar{width:6px;height:5px}
.services .service-menu-list::-webkit-scrollbar-thumb,.services .category-bar::-webkit-scrollbar-thumb{background:#a986b8;border-radius:20px}

.intro-values{gap:16px;border-top:0;margin-top:2.2rem}
.intro-values article,.intro-values article+article{position:relative;display:flex;min-width:0;min-height:390px;padding:0;border:0;border-radius:12px;overflow:hidden;background:#33213e}
.intro-values article img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#f2eaf4}
.intro-values article:nth-child(2) img{object-fit:contain;object-position:center top;background:#eef2f3}
.intro-values article:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(38,22,47,.92))}
.intro-values article div{position:relative;z-index:1;align-self:flex-end;padding:22px;color:#fff}
.intro-values strong{color:#fff;font-size:2.1rem}
.intro-values p{color:#f4edf7;margin:.25rem 0 0;max-width:28ch}

.gallery-item{background:#f3ebf5;padding:8px}
.gallery-item img{object-fit:contain;background:#f3ebf5;transform:none!important}
.gallery-item video{object-fit:contain}
.gallery-grid:not(.expanded){grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto}
.gallery-grid:not(.expanded) .gallery-item:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/5}

.happy-clients .section-label,.happy-clients .happy-script,.happy-clients h2,.happy-clients .happy-rating,.happy-clients .happy-actions .text-link{color:#fff}
.happy-clients h2 em{color:#f0d9f6}
.happy-clients .happy-rating small{color:#f5eaf8}

@media(max-width:900px){.intro-values{grid-column:1/-1}.intro-values article,.intro-values article+article{min-height:340px;padding:0}}
@media(max-width:650px){.intro-values{display:grid;grid-template-columns:1fr}.intro-values article,.intro-values article+article{min-height:390px}.services .service-menu-list{max-height:520px}.services .category-bar{max-height:112px}.gallery-grid:not(.expanded){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Service browser — category index at left, selected services at right. */
.services{display:grid;grid-template-columns:110px minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);padding-block:clamp(5.5rem,9vw,9rem);background:radial-gradient(circle at 54% 8%,rgba(133,78,139,.34),transparent 38%),linear-gradient(135deg,#2e1c38 0%,#4b2b55 52%,#321e3c 100%)}
.services>.section-label{align-self:start;padding-top:.7rem}
.service-browser{grid-column:2;display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.45fr);gap:clamp(2.5rem,6vw,7rem);min-width:0}
.service-sidebar{min-width:0}
.services .services-heading{position:static}
.services .services-heading h2{font-size:clamp(3.5rem,5.5vw,6.4rem);line-height:.86;margin-bottom:1.6rem;letter-spacing:-.045em}
.services .services-heading h2 em{display:inline-block;color:#e9a9df;font-family:var(--script);font-size:1.02em;letter-spacing:0;line-height:1.12;padding-bottom:.12em}
.services .services-heading p{max-width:410px;color:#ded0e6;font-size:.82rem;line-height:1.75}
.services .menu-tools{margin:2rem 0 1.2rem}
.services .menu-tools label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#f3e9f6}
.services .menu-tools input{max-width:none;min-height:48px;border:0;border-bottom:1px solid rgba(255,255,255,.35);border-radius:0;padding:10px 34px 10px 0;background:transparent;color:#fff;outline:none}
.services .menu-tools input::placeholder{color:#bcaabd}
.services .menu-tools input:focus{border-color:#eea6d8;box-shadow:0 1px 0 #eea6d8}
.services .category-bar{display:block;max-height:none;overflow:visible;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.services .category-bar button{display:grid;grid-template-columns:28px minmax(0,1fr) auto 18px;gap:.8rem;align-items:center;width:100%;min-height:61px;padding:.7rem .45rem;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:transparent;color:#f7eff8;text-align:left;transition:background .25s ease,padding .25s ease}
.services .category-bar button span{font-size:.52rem;letter-spacing:.12em;color:#e9a9d2}
.services .category-bar button strong{font-family:var(--display);font-size:clamp(1rem,1.35vw,1.28rem);font-weight:400;line-height:1.1}
.services .category-bar button small{font-size:.58rem;color:#bfaec3;white-space:nowrap}
.services .category-bar button b{font-size:.9rem;font-weight:400;color:#eaa4d1}
.services .category-bar button:hover,.services .category-bar button[aria-pressed=true]{padding-inline:.9rem;background:linear-gradient(90deg,rgba(231,131,194,.22),rgba(255,255,255,.025));color:#fff;border-color:rgba(238,166,216,.35)}
.services .category-bar button[aria-pressed=true]{box-shadow:inset 2px 0 #eda1d2}
.service-results{min-width:0;padding-top:.7rem}
.service-results-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:1.5rem;padding:0 0 1.25rem;border-bottom:1px solid rgba(255,255,255,.2)}
.service-results-heading>span{grid-column:1/-1;margin-bottom:.7rem;font-size:.55rem;letter-spacing:.17em;text-transform:uppercase;color:#d29bc2}
.service-results-heading h3{margin:0;font-family:var(--display);font-size:clamp(2.2rem,3.4vw,3.8rem);font-weight:400;line-height:1;color:#fff6fb}
.services .service-results-heading .menu-status{margin:0;text-align:right;font-size:.62rem;letter-spacing:.03em;color:#cdbed1}
.services .service-menu-list{max-height:690px;overflow:auto;padding-right:10px;border-top:0}
.services .menu-category{margin:0}
.services .service-row{grid-template-columns:30px minmax(0,1fr) 118px 62px;gap:1rem;min-height:96px;padding:1rem .35rem;border-color:rgba(255,255,255,.14);background:transparent}
.services .service-row:first-child{padding-left:.8rem;border-left:2px solid #eaa4d1;background:linear-gradient(90deg,rgba(232,153,207,.12),transparent 66%)}
.services .service-row:nth-child(3){background:transparent}
.services .service-row:hover{padding-inline:.8rem;background:linear-gradient(90deg,rgba(232,153,207,.16),transparent)}
.services .service-row h4{font-family:var(--display);font-size:clamp(1.15rem,1.65vw,1.55rem);font-weight:400;line-height:1.15}
.services .service-row p{max-width:560px;margin-top:.45rem;color:#cbbccc;font-size:.68rem;line-height:1.55}
.services .service-price strong{display:block;font-size:.84rem;font-weight:600}
.services .service-price small{margin-top:.25rem;color:#c6b7ca}
.services .service-row .text-link{font-size:.66rem;color:#f0a7d6}
@media(max-width:1050px){.services{grid-template-columns:1fr}.services>.section-label,.service-browser{grid-column:1}.service-browser{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:2.5rem}.services .category-bar button{grid-template-columns:24px minmax(0,1fr) 16px}.services .category-bar button small{display:none}.services .service-row{grid-template-columns:24px minmax(0,1fr) 86px}.services .service-row .text-link{grid-column:2/4;justify-self:end}}
@media(max-width:720px){.services{padding-inline:20px}.service-browser{grid-template-columns:1fr;gap:2.8rem}.services .services-heading h2{font-size:clamp(3.3rem,14vw,5.1rem)}.services .category-bar{display:grid;grid-template-columns:1fr 1fr}.services .category-bar button:nth-child(odd){border-right:1px solid rgba(255,255,255,.13)}.service-results{padding-top:0}.service-results-heading{grid-template-columns:1fr}.services .service-results-heading .menu-status{text-align:left;margin-top:.65rem}.services .service-menu-list{max-height:600px;padding-right:4px}.services .service-row{min-height:102px;grid-template-columns:22px minmax(0,1fr) 76px;padding-block:1rem}.services .service-row h4{font-size:1.12rem}}
@media(max-width:430px){.services .category-bar{grid-template-columns:1fr}.services .category-bar button:nth-child(odd){border-right:0}.services .service-row p{font-size:.64rem}.services .service-row{gap:.7rem}}

/* Gallery lightbox */
.gallery-item[role=button]{cursor:zoom-in}
.gallery-item[role=button]:focus-visible{outline:3px solid #77508e;outline-offset:4px}
body.lightbox-open{overflow:hidden}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(46px,1fr) minmax(0,84vw) minmax(46px,1fr);align-items:center;background:rgba(27,15,33,.94);backdrop-filter:blur(10px);padding:28px}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox figure{grid-column:2;margin:0;display:grid;place-items:center;gap:12px;min-width:0}
.gallery-lightbox img{display:block;max-width:100%;max-height:84vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 22px 70px rgba(0,0,0,.45)}
.gallery-lightbox figcaption{color:#eadfeb;font-size:.7rem;letter-spacing:.12em}
.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,transform .2s ease}
.gallery-lightbox-close{top:24px;right:24px;width:46px;height:46px;border-radius:50%;font-size:1.7rem;line-height:1}
.gallery-lightbox-nav{top:50%;width:48px;height:64px;border-radius:30px;font-size:1.2rem;transform:translateY(-50%)}
.gallery-lightbox-prev{left:24px}.gallery-lightbox-next{right:24px}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:#77508e}
.gallery-lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}
@media(max-width:600px){.gallery-lightbox{grid-template-columns:1fr;padding:64px 14px 76px}.gallery-lightbox figure{grid-column:1}.gallery-lightbox img{max-height:76vh}.gallery-lightbox-close{top:12px;right:12px}.gallery-lightbox-nav{top:auto;bottom:12px;width:58px;height:46px}.gallery-lightbox-prev{left:calc(50% - 68px)}.gallery-lightbox-next{right:calc(50% - 68px)}}
