:root{--ivory:#faf7f3;--cream:#f4eee8;--blush:#ead9dc;--lilac:#ddd5e6;--mauve:#b6a1c1;--plum:#382c3f;--soft:#756a78;--gold:#a88757;--line:rgba(56,44,63,.14);--gold-line:rgba(168,135,87,.42);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;overflow-x:hidden}body{min-height:100vh;color:var(--plum);background:radial-gradient(ellipse 55% 45% at 100% 0,rgba(221,213,230,.75),transparent 72%),radial-gradient(ellipse 55% 45% at 0 55%,rgba(234,217,220,.65),transparent 72%),var(--ivory);font-family:var(--sans);font-size:16px;font-weight:300;line-height:1.75;overflow-x:hidden}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:.005em}h1{font-size:clamp(3.4rem,7vw,6rem)}h2{font-size:clamp(2.3rem,4vw,3.6rem)}h3{font-size:1.7rem}p+p{margin-top:1rem}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}section{position:relative;padding:clamp(5rem,9vw,8rem) 0}.nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.8rem 0;border-bottom:1px solid rgba(56,44,63,.08)}.logo{font-family:var(--serif);font-size:1.7rem;font-weight:400;letter-spacing:.02em;text-decoration:none}.nav ul{display:flex;align-items:center;gap:2rem;list-style:none}.nav a{text-decoration:none}.nav ul a:not(.btn){font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.nav ul a:not(.btn):hover,.nav ul a[aria-current=page]:not(.btn){color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.7rem;color:var(--ivory);background:var(--plum);border:1px solid var(--plum);border-radius:2px;font-family:var(--sans);font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}.btn:hover{color:var(--plum);background:0 0;transform:translateY(-2px)}.btn.small{min-height:40px;padding:.6rem 1.25rem;font-size:.66rem}.btn.ghost{color:var(--plum);background:0 0;border-color:var(--gold-line)}.btn.ghost:hover{background:rgba(255,255,255,.45)}.lede{max-width:38rem;color:var(--soft);font-size:1.08rem;line-height:1.8}.rule{display:block;width:52px;height:1px;margin:1.8rem 0;background:var(--gold)}.note{margin-top:1.4rem;color:var(--soft);font-size:.9rem}.hero{min-height:calc(100vh - 100px);display:flex;align-items:center;padding:4rem 0;overflow:hidden}.hero .wrap{position:relative;z-index:2}.hero .rule{display:block;width:100%}.hero h1{max-width:10em}.hero .lede{margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.orb{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),transparent 38%),linear-gradient(135deg,var(--blush),var(--lilac));opacity:.55}.o1{width:min(42vw,520px);aspect-ratio:1;right:-8%;top:12%}.o2{width:120px;aspect-ratio:1;right:37%;bottom:8%;opacity:.35}.ring{position:absolute;width:min(48vw,600px);aspect-ratio:1;right:-9%;top:4%;border:1px solid var(--gold-line);border-radius:50%;opacity:.55}.glass{padding:clamp(2rem,4vw,3rem);background:rgba(255,255,255,.48);border:1px solid rgba(56,44,63,.1);border-radius:3px;box-shadow:0 25px 70px -60px rgba(56,44,63,.55)}.feel{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.feel p{color:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center}.pull{padding:clamp(4rem,9vw,7rem) 2rem;text-align:center;font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;background:linear-gradient(145deg,rgba(255,255,255,.65),rgba(234,217,220,.65));border:1px solid var(--gold-line);border-radius:50% 50% 8px 8px}.list{display:grid;gap:.8rem;margin-top:1.4rem;padding:0;list-style:none}.list li{position:relative;padding-left:1.5rem}.list li::before{content:"";position:absolute;top:.85em;left:0;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%}.steps{position:relative;display:grid;gap:2rem;max-width:760px;margin-top:3rem;padding:0;list-style:none}.steps::before{content:"";position:absolute;top:.6rem;bottom:.6rem;left:5px;width:1px;background:var(--gold-line)}.steps li{position:relative;padding-left:3rem}.steps li::before{content:"";position:absolute;top:.5rem;left:0;width:10px;height:10px;background:var(--ivory);border:1px solid var(--gold);border-radius:50%}.steps p{margin:0;color:var(--soft)}.page-head{padding:clamp(4rem,8vw,6rem) 0 2rem;text-align:center}.page-head h1{max-width:13em;margin-inline:auto}.page-head .lede{margin:1.4rem auto 0}.faq-wrap{max-width:780px;margin-inline:auto}.faq-group{margin-top:3.5rem}.faq-group h2{font-size:2rem}.faq{margin-top:1rem}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.35rem 0;cursor:pointer;font-family:var(--serif);font-size:1.45rem;line-height:1.3;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:"+";flex:none;color:var(--gold);font-family:var(--sans);font-size:1.25rem;font-weight:300;transition:transform .3s ease}details[open] summary::after{transform:rotate(45deg)}details p{max-width:650px;padding-bottom:1.5rem;color:var(--soft)}.cta-band{text-align:center}.cta-band .glass{max-width:780px;margin-inline:auto}.cta-band .lede{margin-inline:auto}.cta-band .btn{margin-top:1.5rem}footer{padding:4rem 0 5rem;text-align:center;color:var(--soft);font-size:.9rem;border-top:1px solid rgba(56,44,63,.08)}footer .logo{display:block;margin-bottom:.35rem;color:var(--plum)}.booking-choose{padding:clamp(4rem,8vw,7rem) 0 8rem}.booking-intro{padding:0 0 4rem}.booking-intro .eyebrow{margin-bottom:1.2rem}.eyebrow{color:var(--gold);font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1rem;background:var(--gold-line);border:1px solid var(--gold-line)}.service-card{position:relative;display:flex;flex-direction:column;min-height:520px;padding:2rem;color:var(--plum);background:rgba(250,247,243,.88);text-decoration:none;overflow:hidden;transition:background .4s ease,transform .4s cubic-bezier(.2,.7,.2,1)}.service-card:nth-child(2){background:rgba(244,238,232,.9)}.service-card:nth-child(3){background:rgba(221,213,230,.32)}.service-card:hover{z-index:2;background:#fffdfa;transform:translateY(-5px)}.service-card-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:4rem}.service-number{color:var(--gold);font-size:.65rem;letter-spacing:.2em}.service-arrow{color:var(--gold);font-size:1.4rem;font-weight:300;transition:transform .35s ease}.service-card:hover .service-arrow{transform:translate(4px,-4px)}.service-card-content{flex:1}.service-card h2{margin-bottom:1.25rem;font-size:clamp(2.4rem,3.5vw,3.5rem)}.service-description{max-width:19rem;color:var(--soft);font-size:.98rem;line-height:1.8}.service-meta{display:flex;justify-content:space-between;padding-top:1.25rem;margin-top:2rem;border-top:1px solid var(--line);color:var(--soft);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.service-meta span:last-child{color:var(--plum)}.service-link{display:block;margin-top:1.6rem;font-size:.68rem;font-weight:400;letter-spacing:.17em;text-transform:uppercase;transition:letter-spacing .3s ease}.service-card:hover .service-link{letter-spacing:.21em}.booking-note{margin-top:2.5rem;text-align:center;color:var(--soft);font-size:.9rem}.booking-note a{color:var(--plum);text-underline-offset:4px}.booking-detail{padding:clamp(3rem,7vw,6rem) 0 8rem}.back-link{display:inline-flex;align-items:center;margin-bottom:4rem;color:var(--soft);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .3s ease}.back-link:hover{color:var(--plum)}.booking-detail-head{max-width:760px;margin-inline:auto;text-align:center}.booking-detail-head .eyebrow{margin-bottom:1.2rem}.booking-detail-head h1{margin-bottom:1.25rem;font-size:clamp(4rem,8vw,6.5rem)}.booking-price{display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--soft);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.booking-price strong{color:var(--plum);font-weight:400}.booking-detail-head .lede{margin:2rem auto 0;max-width:38rem}.booking-widget-wrap{width:min(880px,100%);margin:5rem auto 0;padding:2.5rem;background:#fffdfa;border:1px solid var(--line);box-shadow:0 35px 90px -70px rgba(56,44,63,.75)}.booking-widget-header{display:flex;align-items:center;gap:1rem;padding-bottom:1.4rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}.booking-widget-header span{color:var(--gold);font-size:.65rem;letter-spacing:.18em}.booking-widget-header h2{margin:0;font-size:1.65rem}.square-placeholder{min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background:linear-gradient(145deg,rgba(234,217,220,.24),rgba(221,213,230,.22));border:1px dashed rgba(168,135,87,.42)}.square-placeholder-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.25rem;color:var(--gold);border:1px solid var(--gold-line);border-radius:50%;font-family:var(--serif);font-size:1.45rem}.square-placeholder h3{margin-bottom:.5rem}.square-placeholder p{max-width:25rem;color:var(--soft);font-size:.9rem}.booking-after{max-width:680px;margin:5.5rem auto 0;text-align:center}.booking-after h2{margin-bottom:1.5rem;font-size:2.4rem}.booking-after p{color:var(--soft)}.book-grid{display:grid;grid-template-columns:5fr 6fr;gap:3rem;align-items:start}.price-card{padding-top:4rem;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(234,217,220,.65));border:1px solid var(--line);border-radius:50% 50% 6px 6px}.amount{text-align:center;font-family:var(--serif);font-size:clamp(4.5rem,10vw,6.5rem);font-weight:300;line-height:1}.amount span{font-family:var(--sans);font-size:1rem;color:var(--soft)}.fine{margin-top:1rem;color:var(--soft);font-size:.85rem;text-align:center}form{display:grid;gap:1rem;margin-top:1rem}label{display:grid;gap:.4rem;color:var(--soft);font-size:.78rem;letter-spacing:.04em}input,select,textarea{width:100%;padding:.9rem 1rem;color:var(--plum);background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:2px;font-family:var(--sans);font-size:1rem;font-weight:300}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}textarea{min-height:110px;resize:vertical}form .btn{width:100%}.calendar-panel{width:100%;overflow:hidden}.calendar-panel iframe{display:block;width:100%!important;border:0}@media(max-width:900px){.service-grid{grid-template-columns:1fr}.service-card{min-height:400px}.book-grid,.feel,.split{grid-template-columns:1fr}.hero{min-height:auto;padding:6rem 0}.o1{right:-30%;opacity:.35}.ring{right:-25%;opacity:.25}}@media(max-width:650px){.wrap{width:min(100% - 32px,1160px)}.nav{flex-direction:column;gap:1rem;padding:1.25rem 0}.nav ul{gap:1.1rem;flex-wrap:wrap;justify-content:center}.nav ul a:not(.btn){font-size:.63rem}.hero{padding:5rem 0}.hero h1{font-size:clamp(3rem,13vw,4.5rem)}.service-card{min-height:390px;padding:1.5rem}.service-card-top{padding-bottom:3rem}.booking-detail{padding-top:2.5rem}.back-link{margin-bottom:3rem}.booking-detail-head h1{font-size:clamp(3.5rem,16vw,5rem)}.booking-widget-wrap{margin-top:3.5rem;padding:1rem}.booking-widget-header{padding:1rem .5rem 1.2rem}.square-placeholder{min-height:460px;padding:2rem 1rem}.booking-after{margin-top:4rem}.compare{grid-template-columns:1fr}summary{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.setmore-button-area{margin-top:24px}.hairplay-book-button{display:inline-flex!important;align-items:center;justify-content:center;width:100%;padding:14px 18px!important;border:1px solid #171717!important;border-radius:0!important;background:#171717!important;color:#fff!important;font-family:Jost,sans-serif!important;font-size:.85rem!important;font-weight:500!important;letter-spacing:.03em;cursor:pointer;transition:background 180ms ease,color 180ms ease}.hairplay-book-button:hover{background:0 0!important;color:#171717!important}@media (min-width:900px){iframe[src*=setmore]{width:92vw!important;max-width:1100px!important;min-width:900px!important}}@media (min-width:900px){iframe[src*=setmore]{width:92vw!important;max-width:1100px!important;min-width:900px!important;border:none!important;border-radius:0!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important}}