:root{color-scheme:light;--ink:#19171e;--muted:#686470;--accent:#c5adff;--purple:#7244b2;--line:#e6e2ec;--dark:#18151f;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:110px}body{color:var(--ink);font-family:var(--font);background:#fff;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{object-fit:cover;max-width:100%;display:block}figure,p,h1,h2,h3,h4{margin:0}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #a354ff}p{color:var(--muted)}h1,h2,h3{letter-spacing:-.045em;font-weight:750;line-height:1.1}h1{font-size:clamp(3rem,4.9vw,4.6rem)}h2{font-size:clamp(2.3rem,3.4vw,3.3rem)}h3{letter-spacing:-.025em;font-size:1.35rem}.shell{width:min(1240px,90%);margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:92px;display:flex}.brand{flex-direction:column;flex-shrink:0;line-height:1;display:flex}.brand>span{letter-spacing:-.07em;font-size:1.85rem;font-weight:800}.brand-dot{color:var(--purple)}.brand small{letter-spacing:.19em;margin-top:9px;font-size:.54rem;font-weight:650}.brand small>span{letter-spacing:0;margin-left:10px;font-size:.72rem}.site-header nav{gap:27px;font-size:.8rem;font-weight:600;display:flex}.site-header nav a:hover{color:var(--purple)}.button{background:var(--accent);color:#231834;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:23px;padding:17px 23px;font-size:.82rem;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#d7c7ff;transform:translateY(-2px)}.button span{font-size:1.15rem}.button-small{background:var(--ink);color:#fff;padding:13px 18px;font-size:.75rem}.button-small:hover{background:#443252}.button-outline{color:var(--ink);background:0 0;border-color:#bdb2cc}.button-outline:hover{background:#eae2f4}.eyebrow{letter-spacing:.12em;color:var(--purple);align-items:center;gap:9px;margin-bottom:18px;font-size:.65rem;font-weight:700;display:flex}.status-dot{display:none}.hero{color:var(--ink);background:#fff;padding-top:60px}.hero-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:50px;padding-bottom:48px;display:grid}.hero-copy .eyebrow{color:var(--purple);font-size:.6rem}.hero h1 span{color:inherit}.lead{color:var(--muted);max-width:405px;margin-top:25px;font-size:.98rem;line-height:1.8}.actions{align-items:center;gap:13px;margin-top:30px;display:flex}.hero-tags{flex-wrap:wrap;gap:9px;margin-top:35px;display:flex}.hero-tags span{color:var(--muted);padding:0 12px 0 0;font-size:.68rem}.hero-tags span+span{border-left:1px solid #cfc3dc;padding-left:12px}.hero-visual{grid-template-columns:1fr .37fr;gap:13px;height:480px;display:grid}.hero-main-photo{border-radius:10px;min-width:0;position:relative;overflow:hidden}.hero-main-photo img{object-position:50% 40%;width:100%;height:100%}.hero-main-photo figcaption{color:#fff;letter-spacing:.09em;background:linear-gradient(#0000,#1119);justify-content:space-between;align-items:center;gap:10px;padding:55px 19px 21px;font-size:.53rem;font-weight:700;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-main-photo figcaption>span:last-child{font-size:1.5rem}.hero-side{grid-template-rows:1fr .58fr;gap:13px;min-height:0;display:grid}.hero-side>img{border-radius:10px;width:100%;height:100%;min-height:0}.hero-side-note{color:#32233d;background:#e4d8f3;border-radius:10px;flex-direction:column;justify-content:space-between;padding:22px;display:flex}.hero-side-note>span{font-size:45px;line-height:1}.hero-side-note p{color:inherit;letter-spacing:-.04em;font-size:1.15rem;font-weight:750;line-height:1.2}.hero-info{border-top:1px solid #ded5e8;justify-content:space-between;align-items:center;gap:25px;padding:25px 0;display:flex}.hero-info>div{align-items:center;gap:15px;display:flex}.info-icon{color:var(--purple);font-size:24px}.hero-info p{color:var(--ink);font-size:.73rem;font-weight:600}.hero-info small{color:var(--muted);margin-top:4px;font-size:.66rem;font-weight:400;display:block}.text-link{border-bottom:1px solid;align-items:center;gap:18px;padding-bottom:5px;font-size:.8rem;font-weight:650;display:inline-flex}.hero-info .text-link{color:var(--purple);font-size:.7rem}.section{padding:84px 0}.section-heading{justify-content:space-between;align-items:end;gap:45px;margin-bottom:37px;display:flex}.section-heading>p{max-width:325px;font-size:.92rem}.services-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.service-card{border:1px solid var(--line);background:linear-gradient(140deg,#fff,#f8f6fb);border-radius:12px;flex-direction:column;padding:28px;display:flex;box-shadow:0 8px 28px #26103b06}.service-icon{width:48px;height:48px;color:var(--purple);background:#ede5fa;border-radius:10px;place-items:center;margin-bottom:25px;display:grid}.service-icon svg{width:27px;height:27px}.service-card h3{margin-bottom:13px}.service-card>p{min-height:44px;font-size:.82rem}.service-card ul{margin:25px 0 30px;padding:0;font-size:.77rem;list-style:none}.service-card li{border-top:1px solid var(--line);padding:11px 0}.card-link{color:var(--purple);justify-content:space-between;align-items:center;margin-top:auto;font-size:.73rem;font-weight:700;display:flex}.card-link span{font-size:1.2rem}.work-band{background:var(--dark);color:#fff}.work-band .section-heading>p{color:#bcb3c5}.portfolio{grid-template-columns:1.18fr 1fr 1fr;gap:22px;display:grid}.portfolio-photo{background:#2a2530;border-radius:10px;height:420px;position:relative;overflow:hidden}.portfolio img{width:100%;height:100%;transition:transform .3s}.portfolio figure:hover img{transform:scale(1.025)}.portfolio-photo>span{color:#fff;letter-spacing:.08em;background:#17131ce8;border:1px solid #fff3;border-radius:4px;padding:6px 10px;font-size:.55rem;position:absolute;top:16px;left:16px}.portfolio figcaption{justify-content:space-between;align-items:center;padding-top:17px;font-size:.9rem;font-weight:600;display:flex}.portfolio figcaption>span{color:var(--accent);font-size:1.2rem}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:75px;display:grid}.about-photos{grid-template-rows:250px 145px;gap:13px;display:grid}.about-main{border-radius:10px;width:100%;height:100%}.about-photo-bottom{grid-template-columns:1fr 1fr;gap:13px;min-height:0;display:grid}.about-photo-bottom img{border-radius:8px;width:100%;height:100%;min-height:0}.about-copy>p:not(.eyebrow){margin-top:24px;font-size:.9rem}.owner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:16px;margin:25px 0;padding:20px 0;display:flex}.owner img{border-radius:8px;width:62px;height:62px}.owner h3{margin-bottom:5px;font-size:1rem}.owner p{font-size:.73rem}.owner>span{color:var(--purple);margin-left:auto}.about-copy>.text-link{color:var(--purple)}.visit-band{background:#f3f2f7}.visit-band .button{background:var(--ink);color:#fff}.visit-band .button:hover{background:#443252}.visit-grid{grid-template-columns:.85fr 1.15fr;gap:22px;display:grid}.visit-card,.map-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:30px}.visit-card h3{max-width:300px;margin-bottom:15px;font-size:1.12rem;line-height:1.4}address{max-width:260px;color:var(--muted);font-size:.84rem;font-style:normal}.phone{justify-content:space-between;margin:20px 0 25px;font-size:1.2rem;font-weight:700;display:flex}.phone span{color:var(--purple)}.hours{margin-bottom:24px}.hours h4{margin-bottom:10px;font-size:.75rem}.hours>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:8px 0;font-size:.75rem;display:flex}.hours p{margin-top:12px;font-size:.68rem}.visit-card .text-link{color:var(--purple);font-size:.72rem}.map-card{padding:17px}.map-label{margin-bottom:13px;padding:0 4px;font-size:.7rem}.location-map iframe{background:#e7e3ef;border:0;border-radius:7px;width:100%;height:330px;margin-bottom:16px;display:block}.location-map .text-link{color:var(--purple);margin-left:4px;font-size:.74rem}.footer{background:var(--dark);color:#fff}.footer-inner{justify-content:space-between;align-items:center;gap:24px;padding:38px 0;display:flex}.footer p{color:#c4b9d0;font-size:.76rem}.footer-inner>small{color:#a99bb4;max-width:230px;font-size:.62rem}.skip-link{z-index:20;background:#fff;padding:12px;position:absolute;top:-100px;left:15px}.skip-link:focus{top:15px}.mobile-nav{display:none}@media (width<=1100px){.header-inner{gap:15px}.site-header nav{gap:20px}.brand>span{font-size:1.6rem}.header-book{padding:12px;font-size:.68rem}.hero-grid{gap:30px}.hero-visual{grid-template-columns:1fr .34fr;height:440px}.hero-side-note{padding:17px}.hero-side-note p{font-size:.95rem}.actions{gap:10px}.actions .button{gap:14px;padding:14px 15px;font-size:.7rem}.hero-info{gap:18px}.hero-info small{font-size:.59rem}.about-grid{gap:45px}.service-card{padding:23px}.portfolio-photo{height:360px}}@media (width<=850px){.header-book{display:none}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero-visual{grid-template-columns:1fr;height:450px}.hero-side{display:none}h1{font-size:3.1rem}.hero-tags{gap:5px}.hero-tags span{font-size:.55rem}.hero-info .text-link{display:none}.services-grid{gap:12px}.service-card{padding:19px}.service-card h3{font-size:1.15rem}.service-card li{font-size:.7rem}.about-grid{gap:30px}.visit-card{padding:24px}}@media (width<=700px){html{scroll-padding-top:90px}.header-inner{height:78px}.site-header>.header-inner>nav{display:none}.brand>span{font-size:1.65rem}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;align-items:center;gap:14px;padding:10px 0 10px 12px;font-size:.75rem;font-weight:650;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{font-size:1.2rem}.mobile-nav nav{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;gap:17px;width:225px;padding:22px;display:flex;position:absolute;top:45px;right:0;box-shadow:0 15px 40px #21113220}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.hero-copy .eyebrow{letter-spacing:.08em;font-size:.55rem}h1{font-size:3rem}.lead{margin-top:20px;font-size:.88rem}.actions{gap:10px;margin-top:24px}.actions .button{gap:17px;padding:14px 16px;font-size:.72rem}.hero-tags{gap:7px;margin-top:24px}.hero-tags span{font-size:.58rem}.hero-visual{grid-template-columns:1fr .38fr;gap:10px;height:355px;display:grid}.hero-side{gap:10px;display:grid}.hero-side-note{padding:15px}.hero-side-note>span{font-size:32px}.hero-side-note p{font-size:.92rem}.hero-main-photo figcaption{letter-spacing:.04em;padding:35px 12px 14px;font-size:.44rem}.hero-main-photo figcaption>span:last-child{font-size:1.2rem}.hero-info{grid-template-columns:1fr;gap:17px;padding:22px 0;display:grid}.hero-info small{font-size:.64rem}.hero-info .text-link{justify-self:start;margin-left:38px;display:inline-flex}.section{padding:57px 0}.section-heading{margin-bottom:27px;display:block}h2{font-size:2.25rem}.eyebrow{margin-bottom:14px;font-size:.58rem}.section-heading>p{max-width:100%;margin-top:20px;font-size:.86rem}.section-heading>.button{margin-top:23px}.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.service-icon{margin-bottom:20px}.service-card h3{font-size:1.35rem}.service-card>p{min-height:0}.service-card ul{margin:22px 0}.service-card li{font-size:.79rem}.card-link{font-size:.77rem}.portfolio{grid-template-columns:1fr;gap:28px}.portfolio-photo{aspect-ratio:3/4;height:auto}.portfolio figcaption{padding-top:13px;font-size:.91rem}.about-grid{grid-template-columns:1fr;gap:32px}.about-photos{grid-template-rows:210px 120px;gap:10px}.about-photo-bottom{gap:10px}.about-copy>p:not(.eyebrow){font-size:.88rem}.visit-grid{grid-template-columns:1fr;gap:17px}.visit-card{padding:25px}.map-card{padding:13px}.location-map iframe{height:300px}.hours>div{font-size:.75rem}.footer-inner{flex-direction:column;align-items:start;gap:23px;padding:32px 0}.footer-inner>small{max-width:none}}@media (width<=360px){h1{font-size:2.7rem}.actions .button{gap:10px;padding:13px;font-size:.64rem}.hero-visual{height:310px}.hero-side-note{padding:11px}.hero-side-note p{font-size:.8rem}.hero-tags span{font-size:.52rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.hero-side-note{justify-content:flex-end}.hero-side{grid-template-rows:1fr}.hero-side>img{object-position:center}.service-card{background:#fff;padding-top:0;overflow:hidden}.service-photo{margin:0 -28px 25px;position:relative}.service-photo img{object-position:center 40%;width:100%;height:220px}.service-photo figcaption{color:#514c59;background:#ffffffeb;border-radius:3px;padding:3px 6px;font-size:.55rem;position:absolute;bottom:8px;right:10px}@media (width<=1100px){.service-photo{margin-inline:-23px}}@media (width<=850px){.service-photo{margin-inline:-19px}}@media (width<=700px){.service-card{padding-top:0}.service-photo{margin-inline:-25px}.service-photo img{height:240px}}.service-card:last-child .service-photo img{object-position:center 80%}.gallery-heading{margin-bottom:30px;font-size:clamp(1.8rem,3vw,2.6rem)}.salon-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.salon-gallery img{aspect-ratio:382/510;object-fit:cover;border-radius:8px;width:100%;height:auto}@media (width<=850px){.salon-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}@media (width<=700px){.salon-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-heading{margin-bottom:24px}}.work-band .eyebrow{color:#fff;letter-spacing:.02em;margin-bottom:16px;font-size:1.15rem}@media (width<=700px){.work-band .eyebrow{font-size:1rem}}.gallery-title{margin-bottom:36px}.gallery-title .gallery-heading{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2.4rem,4.5vw,3.7rem);line-height:1.08}.gallery-title p{color:#c9bfd2;font-size:1rem;line-height:1.5}@media (width<=700px){.gallery-title{margin-bottom:28px}.gallery-title p{font-size:.9rem}}.work-band{color:var(--ink);border-top:1px solid var(--line);background:#fff}.gallery-title p{color:var(--muted)}.work-band .eyebrow{color:var(--purple)}.footer{color:var(--ink);border-top:1px solid var(--line);background:#fff}.footer .brand-dot{color:var(--purple)}.footer p,.footer-inner>small{color:var(--muted)}
