:root{--ink:#29322d;--ink-soft:#59635d;--cream:#faf8f4;--white:#fffefb;--blush:#efd9dd;--blush-soft:#f7ebed;--sage:#a9b5a4;--sage-dark:#6d7c70;--sage-soft:#e7ebe4;--nude:#e6d5c6;--silver:#c6c8c5;--line:#29322d29;--serif:Georgia, "Times New Roman", serif;--sans:"Aptos", "Segoe UI", Helvetica, Arial, sans-serif;--shadow:0 24px 60px #3d48401a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.65}body,a,button{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img{max-width:100%;display:block}::selection{background:var(--blush);color:var(--ink)}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.section{padding:112px 0}.eyebrow{color:var(--sage-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-size:.74rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:400;line-height:.98}h2{margin-bottom:28px;font-size:clamp(3rem,6vw,5.6rem)}h2 em{color:var(--sage-dark);font-weight:400}p{color:var(--ink-soft)}.skip-link{z-index:1000;background:var(--ink);color:#fff;padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}:is(a:focus-visible,button:focus-visible){outline-offset:4px;outline:3px solid #596d60}.button{border:1px solid var(--ink);background:var(--ink);min-height:52px;color:var(--white);letter-spacing:.13em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:18px;padding:13px 25px;font-size:.75rem;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex}.button:hover{background:var(--sage-dark);border-color:var(--sage-dark);transform:translateY(-2px);box-shadow:0 10px 28px #29322d2e}.button-small{min-height:43px;padding:10px 20px}.button-disabled{cursor:not-allowed;opacity:.55}.button-disabled:hover{background:var(--ink);border-color:var(--ink);box-shadow:none;transform:none}.text-link{border-bottom:1px solid var(--ink);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;padding:8px 2px;font-size:.8rem;font-weight:700;display:inline-flex}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(2px,2px)}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf8f4e6;border-bottom:1px solid #29322d17;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:78px;display:flex}.wordmark{color:var(--ink);text-transform:uppercase;flex-direction:column;align-items:center;line-height:1;display:inline-flex}.wordmark span{font-family:var(--serif);letter-spacing:.13em;font-size:1.55rem}.wordmark small{color:var(--sage-dark);letter-spacing:.48em;margin-top:6px;font-size:.55rem;font-weight:700}.brand-link{flex:none;align-items:center;display:inline-flex}.uploaded-logo{width:clamp(118px,13vw,168px);height:50px;display:block;position:relative}.uploaded-logo-image{object-fit:contain;object-position:left center;width:100%;height:100%}.uploaded-logo-footer{filter:brightness(0)invert();height:66px}.nav-links{align-items:center;gap:clamp(24px,3vw,42px);margin-left:auto;display:flex}.nav-links>a:not(.button){letter-spacing:.08em;font-size:.76rem;font-weight:650;position:relative}.nav-links>a:not(.button):after{background:var(--sage-dark);content:"";height:1px;transition:transform .2s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-links>a:hover:after{transform:scaleX(1)}.nav-book{display:none}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;display:none}.menu-toggle span{background:var(--ink);width:23px;height:1px;transition:transform .2s}.hero{padding-top:76px;padding-bottom:0;position:relative;overflow:hidden}.hero-wash{background:var(--blush-soft);border-bottom-left-radius:180px;width:46%;height:calc(100% - 54px);position:absolute;top:0;right:0}.hero-grid{grid-template-columns:1.05fr .8fr;align-items:center;gap:8%;min-height:600px;display:grid;position:relative}.hero-copy{max-width:650px;padding-bottom:68px}.hero h1{text-transform:uppercase;margin-bottom:25px;font-size:clamp(4.7rem,10.5vw,9.6rem)}.hero h1 span{color:var(--sage-dark);text-transform:none;font-style:italic;display:block}.hero-lead{max-width:570px;color:var(--ink);font-family:var(--serif);margin-bottom:11px;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.25}.hero-support{max-width:540px;font-size:1.04rem}.button-row{align-items:center;gap:28px;margin-top:34px;display:flex}.location-note{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;align-items:flex-start;gap:13px;margin-top:44px;font-size:.78rem;line-height:1.55;display:flex}.location-note strong{color:var(--ink);font-weight:700}.location-dot{border:2px solid var(--sage-dark);width:8px;height:8px;box-shadow:0 0 0 4px var(--sage-soft);border-radius:50%;flex:none;margin-top:6px}.hero-art{min-height:500px;position:relative}.hero-uploaded-image{background:var(--sage-soft);box-shadow:var(--shadow);border:1px solid #6d7c7038;border-radius:230px 230px 20px 20px;position:absolute;inset:15px 6% 48px;overflow:hidden}.hero-uploaded-image-element{object-fit:cover;width:100%;height:100%}.hero-arch{background:linear-gradient(160deg, var(--sage-soft), #dce3da);box-shadow:var(--shadow);border:1px solid #6d7c7038;border-radius:230px 230px 20px 20px;position:absolute;inset:15px 6% 48px;overflow:hidden}.hero-arch:after{content:"";border:1px solid #ffffffb3;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-70px;right:-45px}.stem{transform-origin:bottom;background:#475b4c99;width:1px;position:absolute;bottom:-20px}.stem-one{height:330px;left:49%;transform:rotate(12deg)}.stem-two{height:270px;left:52%;transform:rotate(-17deg)}.petal{background:#ffffff61;border:1px solid #ffffffd9;border-radius:90% 10%;width:65px;height:130px;position:absolute}.petal-one{top:97px;left:48%;transform:rotate(34deg)}.petal-two{top:91px;left:33%;transform:rotate(-42deg)}.petal-three{top:58px;left:43%;transform:rotate(-8deg)}.hero-card{background:#fffefbf0;border:1px solid #29322d1a;flex-direction:column;justify-content:center;width:235px;min-height:115px;padding:22px 26px;display:flex;position:absolute;bottom:23px;right:-10px;box-shadow:0 18px 45px #29322d1f}.hero-card span{color:var(--sage-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.66rem;font-weight:700}.hero-card strong{font-family:var(--serif);margin-top:7px;font-size:1.5rem;font-style:italic;font-weight:400}.hero-ribbon{background:var(--ink);min-height:54px;color:var(--white);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;gap:28px;font-size:.66rem;font-weight:700;display:flex;position:relative;overflow:hidden}.hero-ribbon i{background:var(--blush);border-radius:50%;width:4px;height:4px}.intro{background:var(--white)}.intro-grid{grid-template-columns:.7fr 1.3fr;align-items:center;gap:11%;display:grid}.intro-mark{aspect-ratio:1;border:1px solid var(--line);background:var(--blush-soft);border-radius:50% 50% 8%;place-items:center;width:min(100%,370px);display:grid}.intro-mark:before{content:"";border:1px solid #6d7c704d;border-radius:50%;width:73%;height:73%}.intro-mark span{color:var(--sage-dark);font-family:var(--serif);font-size:3rem;font-style:italic;position:absolute}.intro-copy{max-width:720px}.intro-copy h2{margin-bottom:34px}.intro-copy>p:not(.eyebrow){max-width:660px}.intro-lead{color:var(--ink);font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.45}.treatments{background:var(--sage-soft)}.section-heading{margin-bottom:60px}.split-heading{justify-content:space-between;align-items:flex-end;gap:80px;display:flex}.split-heading h2{margin-bottom:0}.split-heading>p{max-width:410px;margin-bottom:12px}.treatment-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.treatment-card{background:var(--white);border:1px solid #29322d1f;border-radius:4px 48px 4px 4px;flex-direction:column;min-height:100%;padding:clamp(28px,4vw,48px);transition:box-shadow .25s,transform .25s;display:flex}.treatment-uploaded-image{background:var(--sage-soft);border-radius:3px 47px 0 0;height:230px;margin:calc(-1*clamp(28px,4vw,48px)) calc(-1*clamp(28px,4vw,48px)) 30px;display:block;position:relative;overflow:hidden}.treatment-uploaded-image-element{object-fit:cover;width:100%;height:100%;transition:transform .4s}.treatment-card:hover .treatment-uploaded-image-element{transform:scale(1.025)}.treatment-card:nth-child(2),.treatment-card:nth-child(3){background:#f7f1eb}.treatment-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.card-heading{border-bottom:1px solid var(--line);align-items:baseline;gap:20px;display:flex}.card-heading>span{color:var(--sage-dark);letter-spacing:.15em;font-size:.7rem;font-weight:700}.card-heading h3{font-family:var(--serif);margin-bottom:20px;font-size:clamp(2rem,4vw,3.15rem);font-weight:400}.card-description{max-width:500px;margin:22px 0 12px}.treatment-list{margin:0 0 30px;padding:0;list-style:none}.treatment-list li{color:var(--ink-soft);border-bottom:1px dotted #29322d30;justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0;font-size:.91rem;display:flex}.treatment-list strong{color:var(--ink);flex:none;font-size:.83rem}.card-link{border-top:1px solid var(--ink);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:auto;padding-top:19px;font-size:.73rem;font-weight:700;display:flex}.price-note{text-align:center;margin:22px 0 0;font-size:.74rem}.why-section{background:var(--cream)}.centered{text-align:center}.feature-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.feature{border-right:1px solid var(--line);padding:38px 30px 35px}.feature:last-child{border:0}.feature-number{color:var(--sage-dark);font-family:var(--serif);font-size:.82rem;font-style:italic}.feature h3{font-family:var(--serif);margin:50px 0 12px;font-size:1.5rem;font-weight:400}.feature p{margin:0;font-size:.9rem}.meet-section{background:var(--white)}.meet-grid{grid-template-columns:.9fr 1fr;align-items:center;gap:10%;display:grid}.portrait-placeholder{background:linear-gradient(145deg, var(--blush-soft), var(--nude));border-radius:210px 210px 12px 12px;place-items:center;min-height:610px;display:grid;position:relative;overflow:hidden}.portrait-uploaded{background:var(--blush-soft);border-radius:210px 210px 12px 12px;height:100%;min-height:610px;display:block;position:relative;overflow:hidden}.portrait-uploaded-image{object-fit:cover;object-position:center top;width:100%;height:100%;min-height:610px}.portrait-placeholder:before,.portrait-placeholder:after{content:"";border:1px solid #ffffffb8;border-radius:50%;position:absolute}.portrait-placeholder:before{width:330px;height:330px}.portrait-placeholder:after{width:430px;height:430px}.portrait-initial{z-index:1;color:#6d7c70b3;font-family:var(--serif);font-size:9rem;font-style:italic}.portrait-placeholder>span{z-index:1;letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:700;position:absolute;bottom:30px}.meet-copy p{max-width:580px}.meet-copy .text-link{margin-top:16px}.location-section{background:#f0ede7}.location-grid{grid-template-columns:.86fr 1.14fr;align-items:center;gap:8%;display:grid}.location-copy address{color:var(--ink-soft);flex-direction:column;margin-bottom:30px;font-style:normal;line-height:1.75;display:flex}.location-copy address strong{color:var(--ink);font-family:var(--serif);font-size:1.3rem;font-weight:400}.location-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;margin:0 0 34px;display:grid}.location-features div{color:var(--ink-soft);align-items:center;gap:10px;font-size:.83rem;display:flex}.location-features div span{border:1px solid var(--sage);width:29px;height:29px;color:var(--sage-dark);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid}.configuration-note{margin:0 0 0 13px;font-size:.73rem;display:inline-block}.map-placeholder{border:12px solid var(--white);min-height:520px;box-shadow:var(--shadow);background:#e1e5dc;display:block;position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";border:1px solid #6d7c7029;border-radius:50%;position:absolute}.map-placeholder:before{width:430px;height:430px;top:-20%;left:-15%}.map-placeholder:after{width:390px;height:390px;bottom:-25%;right:-10%}.map-road{transform-origin:0;background:#ffffff8c;border:1px solid #6d7c7029;height:13px;position:absolute}.road-one{width:125%;top:13%;left:-10%;transform:rotate(38deg)}.road-two{width:105%;top:65%;left:-8%;transform:rotate(-22deg)}.road-three{width:80%;top:15%;left:65%;transform:rotate(83deg)}.map-pin{background:var(--sage-dark);color:#fff;border:7px solid #ffffffbf;border-radius:50% 50% 50% 0;place-items:center;width:62px;height:62px;display:grid;position:absolute;top:44%;left:53%;transform:rotate(-45deg);box-shadow:0 12px 25px #29322d33}.map-pin span{font-family:var(--serif);font-size:1.5rem;transform:rotate(45deg)}.map-placeholder p{color:var(--ink-soft);background:#fffefbe6;padding:12px 16px;font-size:.75rem;line-height:1.5;position:absolute;bottom:15px;right:25px}.map-placeholder p strong{color:var(--ink);font-family:var(--serif);font-size:1rem}.booking-section{background:var(--sage-dark);color:var(--white);text-align:center;padding:105px 0;position:relative;overflow:hidden}.booking-inner{z-index:1;position:relative}.booking-section .eyebrow,.booking-section p{color:#ffffffbf}.booking-section h2{margin-bottom:24px;font-size:clamp(3.7rem,8vw,7rem)}.booking-section h2 em{color:var(--blush)}.button-light{border-color:var(--white);background:var(--white);color:var(--ink);margin-top:20px}.button-light:hover{border-color:var(--blush);background:var(--blush);color:var(--ink)}.booking-bloom{border:1px solid #ffffff21;border-radius:50% 50% 10%;width:380px;height:380px;position:absolute}.bloom-left{bottom:-210px;left:-110px;transform:rotate(32deg)}.bloom-right{top:-230px;right:-110px;transform:rotate(190deg)}.contact-section{background:var(--blush-soft)}.contact-inner{grid-template-columns:1fr 1fr;align-items:end;gap:10%;display:grid}.contact-inner h2{margin-bottom:0}.contact-links{grid-template-columns:repeat(2,1fr);display:grid}.contact-links a{border-bottom:1px solid var(--line);min-height:70px;font-family:var(--serif);justify-content:space-between;align-items:center;font-size:1.25rem;display:flex}.contact-links a:nth-child(odd){margin-right:20px}.contact-link-label{align-items:center;gap:12px;display:inline-flex}.social-icon{border:1px solid;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-family:Arial,sans-serif;font-style:normal;line-height:1;display:inline-grid;position:relative}.instagram-icon:before{content:"";border:1.7px solid;border-radius:4px;width:13px;height:13px}.instagram-icon:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:9px;right:9px}.instagram-icon>span{border:1.4px solid;border-radius:50%;width:5px;height:5px;position:absolute}.facebook-icon{padding-top:3px;font-size:1.35rem;font-weight:700}.contact-pending{max-width:410px;padding-bottom:15px}.footer{background:var(--ink);color:var(--white);padding:76px 0 30px}.footer-grid{grid-template-columns:1.8fr 1fr 1fr;gap:70px;padding-bottom:65px;display:grid}.footer-wordmark{color:var(--white);align-items:flex-start}.footer>.shell p{color:#ffffff94;margin:25px 0 0;font-size:.83rem}.footer-column{flex-direction:column;align-items:flex-start;gap:11px;display:flex}.footer-column strong{color:var(--blush);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:.7rem}.footer-column a{color:#ffffffb8;font-size:.82rem}.footer-column a:hover{color:#fff}.footer-socials{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.footer-social-link{align-items:center;gap:8px;display:inline-flex}.footer-social-link .social-icon{width:28px;height:28px}.footer-social-link .instagram-icon:before{width:11px;height:11px}.footer-social-link .instagram-icon:after{top:8px;right:8px}.footer-bottom{color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #ffffff21;justify-content:space-between;padding-top:25px;font-size:.67rem;display:flex}.mobile-book-bar{display:none}@media (max-width:900px){.section{padding:88px 0}.hero-grid{grid-template-columns:1fr .7fr;gap:4%}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid var(--line)}.meet-grid{gap:7%}.portrait-placeholder,.portrait-uploaded,.portrait-uploaded-image{min-height:520px}.location-grid{gap:5%}}@media (max-width:760px){html{scroll-padding-top:70px}body{padding-bottom:67px}.shell{width:min(100% - 34px,620px)}.section{padding:74px 0}.eyebrow{margin-bottom:15px;font-size:.67rem}h2{font-size:clamp(2.8rem,14vw,4.2rem)}.header-inner{min-height:68px}.wordmark span{font-size:1.3rem}.desktop-book{display:none}.menu-toggle{display:flex}.nav-links{border-bottom:1px solid var(--line);background:var(--cream);align-items:stretch;gap:0;padding:16px 20px 22px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 18px 30px #29322d1a}.nav-links.is-open{flex-direction:column;display:flex}.nav-links>a:not(.button){border-bottom:1px solid var(--line);padding:13px 6px;font-size:.85rem}.nav-links>a:after{display:none}.nav-book{margin-top:17px;display:inline-flex}.hero{padding-top:48px}.hero-wash{border-radius:50% 0 0;width:100%;height:43%;top:auto;bottom:54px;right:-35%}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding-bottom:43px}.hero h1{font-size:clamp(4.6rem,24vw,7rem)}.hero-support{font-size:.96rem}.button-row{flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}.button-row .button{width:100%}.location-note{margin-top:32px}.hero-art{min-height:340px}.hero-arch,.hero-uploaded-image{border-radius:180px 180px 15px 15px;inset:0 4% 36px 11%}.stem-one{height:230px}.stem-two{height:190px}.petal{width:48px;height:94px}.petal-one{top:71px}.petal-two{top:69px}.petal-three{top:42px}.hero-card{width:190px;min-height:90px;padding:17px 20px;bottom:15px;right:0}.hero-card strong{font-size:1.25rem}.hero-ribbon{justify-content:flex-start;gap:18px;padding:0 18px}.intro-grid{grid-template-columns:1fr;gap:52px}.intro-mark{width:76%;margin-inline:auto}.intro-copy{order:-1}.split-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:42px}.treatment-grid{grid-template-columns:1fr}.treatment-card{border-radius:3px 36px 3px 3px;padding:27px 23px}.treatment-uploaded-image{border-radius:3px 35px 0 0;height:205px;margin:-27px -23px 27px}.card-heading h3{font-size:2.4rem}.treatment-list li{gap:12px;font-size:.83rem}.feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line);padding:29px 8px}.feature:last-child{border-bottom:0}.feature h3{margin-top:22px}.meet-grid{grid-template-columns:1fr;gap:55px}.portrait-placeholder,.portrait-uploaded,.portrait-uploaded-image{min-height:460px}.location-grid{grid-template-columns:1fr;gap:55px}.location-features{grid-template-columns:1fr}.configuration-note{margin:10px 0 0;display:block}.map-placeholder{border-width:8px;min-height:370px}.booking-section{padding:80px 0}.contact-inner{grid-template-columns:1fr;gap:36px}.contact-links{grid-template-columns:1fr}.contact-links a:nth-child(odd){margin-right:0}.footer{padding-top:60px}.footer-grid{grid-template-columns:1.4fr 1fr;gap:45px 30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px}.mobile-book-bar{z-index:60;background:var(--ink);color:#fff;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;gap:18px;min-height:52px;font-size:.71rem;font-weight:700;display:flex;position:fixed;bottom:9px;left:10px;right:10px;box-shadow:0 8px 28px #29322d42}}@media (max-width:390px){.shell{width:calc(100% - 28px)}.hero h1{font-size:4.25rem}.hero-ribbon{gap:13px}.treatment-list li{font-size:.77rem}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
