:root{--plum:#591139;--rose:#b9757d;--ink:#30252c;--cream:#fcf8f5;--line:#e6d9db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--rose)}.topline{background:var(--plum);color:#fff;text-align:center;font-size:14px;padding:8px}.topline span{margin-left:30px;color:#efd5e0}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);gap:20px}.brand{display:block;width:280px;height:65px;overflow:hidden;position:relative}.brand img{position:absolute;width:355px;max-width:none;left:-38px;top:-62px}nav{display:flex;gap:34px;font-size:15px}nav a:hover,.textlink:hover{color:var(--rose)}.button{background:var(--plum);color:white;border:1px solid var(--plum);padding:16px 25px;display:inline-block;font-size:14px;cursor:pointer;border-radius:5px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#751e50;transform:translateY(-2px)}.small{padding:11px 21px}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:55px 8% 60px;align-items:center;max-width:1600px;margin:auto}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--plum);margin:0 0 23px}h1,h2,.art-type{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0}h1{font-size:clamp(58px,6.8vw,104px)}em{color:var(--rose);font-weight:400}h2{font-size:clamp(38px,4vw,60px)}.intro{max-width:435px;margin:28px 0 31px;color:#72646d;font-size:17px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.textlink{font-size:14px;border-bottom:1px solid;padding-bottom:5px}.hero-note{display:flex;gap:17px;align-items:center;margin-top:39px}.hero-note p{font-size:13px;line-height:1.6;color:#74676d}.star{font-size:37px;color:var(--rose)}.hero-image{height:560px;position:relative;border-radius:150px 150px 8px 8px;overflow:hidden;background:#dfc9cc}.hero-image img{width:100%;height:100%;object-fit:cover}.image-tag{position:absolute;bottom:26px;left:26px;right:26px;background:rgba(252,248,245,.93);padding:14px;text-align:center;font-family:Georgia,serif;font-size:19px;border-radius:3px}.vertical{position:absolute;right:24px;writing-mode:vertical-rl;letter-spacing:3px;font-size:11px;color:#8f7884}.service-strip{display:flex;justify-content:center;align-items:center;gap:40px;background:#efdee0;padding:23px 5%;color:var(--plum);font-family:Georgia,serif;font-size:22px}.service-strip i{font-style:normal;font-size:16px;color:var(--rose)}.section{padding:90px 8%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading>p{color:#766970}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:white;border:1px solid var(--line);border-radius:7px;padding:28px 25px;transition:transform .2s,background .2s}.service:hover{transform:translateY(-6px);background:#f8ebef}.number{font-size:12px;color:#9c7a88;letter-spacing:2px}.service-icon{font-size:43px;color:var(--rose);height:80px;margin:20px 0 6px}h3{font-size:22px;font-family:Georgia,serif;font-weight:400;margin:10px 0 16px;line-height:1.2}.service p{font-size:14px;color:#796e75;min-height:90px}.service-link{font-size:13px;color:var(--plum);border-bottom:1px solid #d5a5b5}.subnote{font-size:13px;color:#786b72;margin-top:27px}.subnote a{text-decoration:underline}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;background:#f1e6e6;padding-top:70px;padding-bottom:70px}.about-art{background:var(--plum);padding:44px;color:#fff;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;border-radius:7px}.about-art .eyebrow{color:#e7c8d1}.art-type{font-size:clamp(42px,4.8vw,72px)}.art-type em{color:#d9a3ac}.about-art>span{font-size:12px;letter-spacing:2px;margin-top:35px}.about-copy{align-self:center}.about-copy>p:not(.eyebrow){color:#70616a;font-size:16px;margin-top:26px}.about-details{border-top:1px solid #d5c0c7;margin:30px 0}.about-details>div{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid #d5c0c7}.about-details strong{font-size:14px;font-weight:600}.about-details span{font-size:14px;color:#7a6771}.reviews{text-align:center}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px auto 26px;max-width:950px}blockquote{margin:0;padding:38px;background:#fff;border:1px solid var(--line);border-radius:7px}blockquote>span{color:var(--rose);letter-spacing:4px;font-size:14px}blockquote p{font-size:25px;font-family:Georgia,serif;line-height:1.45}blockquote footer{font-size:14px;font-weight:600}blockquote small{display:block;font-size:12px;font-weight:400;color:#82737c;margin-top:5px}.booking{background:var(--plum);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding-top:80px;padding-bottom:80px}.booking .eyebrow{color:#e6b7c6}.booking h2{font-size:clamp(44px,4.6vw,68px)}.booking h2 em{color:#e2afb8}.booking-copy>p:not(.eyebrow){color:#e3cdd9;margin:28px 0}.light{background:#f6e4e8;border-color:#f6e4e8;color:var(--plum)}.light:hover{background:#fff}.contact{margin-top:48px}.contact>span{font-size:12px;letter-spacing:2px;color:#d7a4ba}.contact p{font-size:18px;line-height:1.5;margin:13px 0}.contact a{border-bottom:1px solid #c789a8;font-size:14px}form{background:var(--cream);color:var(--ink);padding:38px;border-radius:10px}form .eyebrow{color:var(--plum)!important;margin-bottom:10px}form h3{font-size:32px;margin-bottom:26px}label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #dfcdd4;border-radius:4px;padding:12px;font-size:14px;color:var(--ink);margin-top:7px;min-height:46px}textarea{resize:vertical}.optional{font-weight:400;color:#897580}form .button{width:100%}.form-note{font-size:12px;color:#806e78;line-height:1.6;margin:16px 0 0}#form-result{margin-top:20px;border-left:3px solid var(--plum);padding:12px;background:#f0e0e7;font-size:14px}#form-result p{margin:5px 0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 8%;font-size:13px}.site-footer strong{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--plum)}.site-footer p{margin:4px 0;color:#89717c}.socials{display:flex;gap:25px}.site-footer>span{font-size:12px;color:#89717c}@media(min-width:1600px){.about,.booking{max-width:none;padding-left:max(8%,calc((100vw - 1344px)/2));padding-right:max(8%,calc((100vw - 1344px)/2))}}@media(max-width:1050px){header{padding:0 4%}.brand{width:235px}.brand img{width:310px;left:-34px;top:-50px}nav{gap:20px}.hero{gap:5%;padding:45px 5%}.hero-image{height:510px}.section{padding:65px 5%}.service-grid{grid-template-columns:repeat(2,1fr)}.service p{min-height:45px}.service-strip{gap:22px;font-size:19px}.about,.booking{gap:5%}.about-art{padding:30px}.vertical{display:none}form{padding:25px}.actions{gap:18px}}@media(max-width:700px){header{height:85px;gap:8px}.brand{width:205px;height:56px}.brand img{width:270px;left:-30px;top:-47px}header .small{padding:9px 12px;font-size:12px}nav{display:none}.topline{font-size:12px}.topline span{display:none}.hero{grid-template-columns:1fr;padding:35px 6% 40px;gap:30px}h1{font-size:65px}.eyebrow{font-size:11px;letter-spacing:1.7px}.intro{font-size:16px;margin:23px 0}.hero-note{margin-top:17px}.hero-image{height:420px;border-radius:100px 100px 6px 6px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:17px;text-align:center;padding:20px}.service-strip i{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:15px;margin-top:20px}.service-grid{gap:12px}.service{padding:18px 16px}.service h3{font-size:20px}.service p{font-size:13px;min-height:95px}.service-icon{margin:8px 0;height:60px}.service-link{font-size:12px}.about,.booking{grid-template-columns:1fr;gap:35px}.about-art{min-height:340px}.art-type{font-size:55px}.quotes{grid-template-columns:1fr;gap:16px}blockquote{padding:27px}blockquote p{font-size:23px}.booking h2{font-size:51px}.contact{margin-top:30px}form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{flex-direction:column;text-align:center;gap:22px;padding:32px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Refined navigation, editorial reviews, and complete footer */
header{height:96px;background:#fffdfa;position:sticky;top:0;z-index:20;padding:0 7%;box-shadow:0 4px 24px #59113907;border-bottom:1px solid #eadce1}.brand{width:295px;height:62px}.brand img{width:375px;left:-44px;top:-59px}header nav{gap:28px;font-size:14px}header nav a{position:relative;padding:14px 0}header nav a:after{content:'';position:absolute;left:0;bottom:7px;height:1px;width:0;background:var(--plum);transition:width .2s}header nav a:hover:after{width:100%}header .button{border-radius:30px;padding:12px 24px}header .brand{border-radius:4px}.reviews{background:#f4e7ec;max-width:none;text-align:left;position:relative;padding-top:85px;padding-bottom:85px}.review-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.review-heading>p{color:#806775;font-size:16px}.reviews .quotes{max-width:none;gap:28px;margin:45px 0 32px;align-items:start}.reviews blockquote{position:relative;border:0;padding:44px 38px 33px;border-radius:18px;background:#fffdfb;box-shadow:0 15px 40px #5911390c;overflow:hidden;min-height:310px}.reviews blockquote:nth-child(2){margin-top:28px;background:var(--plum);color:#fff}.quote-mark{position:absolute;right:26px;top:6px;font:150px/1 Georgia,serif;color:#ecd4df;letter-spacing:0;pointer-events:none}.reviews blockquote:nth-child(2) .quote-mark{color:#7e375c}.review-stars{position:relative;display:block;color:#ad7285!important;font-size:15px!important;margin-bottom:24px}.reviews blockquote:nth-child(2) .review-stars{color:#edbdc8!important}.reviews blockquote p{position:relative;margin:0 0 30px;max-width:490px;font-size:28px;line-height:1.4;letter-spacing:-.4px}.reviews blockquote footer{display:flex;align-items:center;gap:14px;border-top:1px solid #eadce1;padding-top:20px;font-size:15px}.reviews blockquote:nth-child(2) footer{border-color:#874066}.avatar{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;border-radius:50%;background:#efdae3;color:var(--plum);font:22px Georgia,serif}.reviews blockquote small{font-size:13px}.reviews blockquote:nth-child(2) small{color:#e0baca}.site-footer{display:block;background:#2e1023;color:#eedde6;padding:65px 8% 22px}.footer-top{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.1fr;gap:45px;padding-bottom:48px}.footer-name{font-family:Georgia,serif;font-size:29px;letter-spacing:-1px;color:#fff}.footer-name em{color:#d5a2b1}.footer-brand p{font-family:Georgia,serif;font-size:26px;line-height:1.3;color:#d9b6c7;margin:22px 0}.footer-brand>span{font-size:13px;color:#bd9bab}.footer-column{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:14px}.footer-column h3{font-family:Arial,sans-serif;font-size:14px;font-weight:600;color:#fff;margin:5px 0 12px}.footer-column p{font-size:14px;color:#eedde6;margin:0;line-height:1.7}.footer-column>span{font-size:12px;color:#bd9bab}.footer-column a:hover{color:#e7aabf}.footer-book{border:1px solid #966378;border-radius:30px;padding:11px 17px;margin-top:5px}.footer-bottom{border-top:1px solid #ffffff20;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bd9bab}.footer-bottom a{font-size:13px}.booking form .button{border-radius:6px;font-size:15px;padding:16px}label{font-size:14px}
@media(max-width:1050px){header{padding:0 4%}.brand{width:245px}.brand img{width:320px;left:-38px;top:-50px}header nav{gap:20px}.footer-top{grid-template-columns:1.2fr 1fr;gap:35px}.reviews blockquote{padding:34px 26px}.reviews blockquote p{font-size:25px}.review-heading h2{font-size:46px}}
@media(max-width:700px){header{height:82px;padding:0 5%;gap:12px}.brand{width:205px;height:51px;flex-shrink:1}.brand img{width:270px;left:-31px;top:-44px}header .button{font-size:12px;padding:10px 14px;flex-shrink:0}header nav{display:none}.reviews{padding:55px 6%}.review-heading{display:block}.review-heading h2{font-size:39px}.review-heading>p{font-size:15px;margin-top:24px}.reviews .quotes{margin-top:28px;gap:18px}.reviews blockquote{min-height:0;padding:32px 26px 26px}.reviews blockquote:nth-child(2){margin-top:0}.reviews blockquote p{font-size:25px}.site-footer{padding:45px 6% 23px;text-align:left}.footer-top{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:35px}.footer-brand{grid-column:1/-1}.footer-name{font-size:30px}.footer-brand p{font-size:28px;margin:15px 0}.footer-connect{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px}.footer-connect h3{grid-column:1/-1}.footer-book{grid-column:1/-1;text-align:center}.footer-bottom{font-size:12px;align-items:center}}
#preloader{display:none;position:fixed;inset:0;z-index:1000;background:#fcf8f5;align-items:center;justify-content:center;flex-direction:column;gap:27px;transition:opacity .4s ease,visibility .4s ease;pointer-events:none}.is-loading #preloader{display:flex;pointer-events:auto}.loader-brand{font:clamp(30px,5vw,58px)/1.2 Georgia,serif;color:var(--plum);letter-spacing:-1.5px}.loader-brand em{color:var(--rose)}#preloader>span{font-size:11px;letter-spacing:2px;color:#8a6475}.loader-line{width:150px;height:2px;background:#ead2dd;overflow:hidden}.loader-line:after{content:'';display:block;width:60px;height:100%;background:var(--plum);animation:loader-progress 1.2s ease-in-out infinite}#preloader.is-done{display:flex;opacity:0;visibility:hidden;pointer-events:none}@keyframes loader-progress{from{transform:translateX(-60px)}to{transform:translateX(150px)}}@media(prefers-reduced-motion:reduce){.loader-line:after{animation:none;width:100%}#preloader{transition:none}}
[hidden]{display:none!important}.picker-field{position:relative;margin-bottom:19px}.picker-field>label{margin-bottom:7px}.picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #d9c6d0;background:white;color:#89727f;border-radius:10px;padding:15px 16px;font-size:14px;cursor:pointer;text-align:left;min-height:53px}.picker-trigger.has-value{color:var(--plum)}.picker-trigger:hover,.date-control input:hover{border-color:var(--rose)}.picker-trigger[aria-expanded=true],.date-control input[aria-expanded=true]{border-color:var(--plum);box-shadow:0 0 0 3px #5911390a}.chevron{width:8px;height:8px;border-bottom:1.5px solid var(--plum);border-right:1.5px solid var(--plum);transform:rotate(45deg);flex-shrink:0}.picker-popup{position:absolute;top:100%;left:0;right:0;margin-top:8px;z-index:30;border:1px solid #ead8e1;border-radius:14px;background:#fffdfa;box-shadow:0 16px 50px #35102624;padding:10px}.treatment-menu{max-height:310px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c494ab #fcf8f5}.picker-group{padding:12px 12px 6px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#a06b83}.treatment-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:7px;color:#49313f;font-size:14px;cursor:pointer}.treatment-menu button:hover,.treatment-menu button:focus-visible{background:#f3e2eb;outline:none}.treatment-menu button[aria-selected=true]{background:var(--plum);color:white}.date-control{position:relative}.date-control input{border-radius:10px;padding:15px 45px 15px 16px;cursor:pointer;min-height:53px}.calendar-symbol{position:absolute;right:17px;top:12px;font-size:22px;color:var(--plum);pointer-events:none}.calendar{padding:18px;max-width:360px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.calendar-head strong{font-size:16px;font-weight:600;color:var(--plum)}.calendar button{border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:8px;font-size:14px}.calendar-head button{width:32px;height:32px;background:#f4e7ee;font-size:24px}.calendar button:hover:not(:disabled){background:#ead5e0;color:var(--plum)}.calendar button:disabled{opacity:.3;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.weekdays{font-size:12px;color:#9c7c8d;margin-bottom:10px}.calendar-days button{height:36px}.calendar-days .today{box-shadow:inset 0 0 0 1px #ba819a}.calendar-days .selected{background:var(--plum);color:white}.calendar-bottom{display:flex;justify-content:space-between;border-top:1px solid #ead8e1;margin-top:15px;padding-top:12px}.calendar-bottom button{color:var(--plum);font-size:13px;padding:6px 10px}.picker-trigger[aria-invalid=true],input[aria-invalid=true]{border-color:#ad2049}.hero h1{font-size:clamp(54px,5.8vw,88px)}.review-heading h2{font-size:clamp(38px,3.6vw,54px)}.booking h2{font-size:clamp(43px,4.2vw,62px)}@media(max-width:700px){.hero h1{font-size:55px}.booking h2{font-size:46px}.calendar{max-width:none}.picker-trigger{font-size:14px}.review-heading h2{font-size:38px}}
.topbar-book,.menu-toggle{display:none}.topline{display:flex;align-items:center;justify-content:center;gap:20px}.topbar-copy>span{margin-left:30px}.menu-toggle{border:1px solid #e3cfd9;background:transparent;border-radius:30px;color:var(--plum);align-items:center;gap:10px;padding:10px 16px;font:14px Arial,sans-serif;cursor:pointer}.menu-lines{position:relative;width:18px;height:12px;border-top:1.5px solid;border-bottom:1.5px solid}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:4px;height:1.5px;background:currentColor}.menu-toggle[aria-expanded=true]{background:#f0e0e8}@media(max-width:1050px){.topline{padding:10px 5%;justify-content:space-between;text-align:left;min-height:52px}.topbar-copy{font-size:13px}.topbar-copy>span{display:none}.topbar-book{display:block;padding:7px 15px;background:#f8e8ed;border-radius:25px;color:var(--plum);font-size:13px;font-weight:600;white-space:nowrap}.menu-toggle{display:flex}header{height:86px}header>.button{display:none}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffdfa;padding:12px 5% 22px;box-shadow:0 15px 30px #59113912;border-bottom:1px solid #e4d3dc}header nav.is-open{display:flex;flex-direction:column;gap:0}header nav a{padding:13px 5px;border-bottom:1px solid #f0e3e9;font-size:16px}header nav a:after{display:none}header nav a:last-child{border-bottom:0}.brand{width:270px}.brand img{width:350px;left:-41px;top:-54px}}@media(max-width:700px){.topline{gap:10px;padding:9px 5%}.topbar-copy{font-size:11px;max-width:130px;line-height:1.4}.topbar-book{font-size:12px;padding:8px 13px}header{height:79px}.brand{width:205px}.brand img{width:270px;left:-31px;top:-44px}.menu-toggle{padding:9px 13px;font-size:13px;gap:8px}}
.back-to-top{position:fixed;right:26px;bottom:28px;width:48px;height:48px;border:1px solid #e4b8ca;border-radius:50%;background:var(--plum);color:#fff;box-shadow:0 5px 22px #35102630;z-index:40;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s}.back-to-top:hover{background:#7b2656;transform:translateY(-3px)}@media(max-width:700px){.back-to-top{right:18px;bottom:20px;width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
