:root{--paper:#faf8f2;--olive:#596247;--ink:#343d30;--muted:#717567;--pink:#ead5cc;--line:#d9dccf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 'Helvetica Neue',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3,.hero-logo,.signature{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(44px,5.5vw,76px);line-height:1.12;letter-spacing:-2px}h2 em,h1 em{font-weight:400;color:var(--olive)}h3{font-size:30px;line-height:1.3}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--olive);line-height:1.7}.section{padding:110px max(7.5vw,24px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;border:1px solid var(--olive);border-radius:3px;background:var(--olive);color:white;padding:15px 25px;font-size:13px;transition:.25s}.button:hover{background:#424c33;transform:translateY(-2px)}.button span{font-size:20px}.button.outline{background:transparent;color:var(--olive)}.button.outline:hover{background:#eef0e5}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--olive);padding:0 0 6px;background:none;font-size:13px;color:var(--olive)}header{position:fixed;z-index:30;top:0;left:0;width:100%;height:94px;padding:12px 4%;background:rgba(250,248,242,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;transform:translateY(-105%);transition:transform .5s}header.visible{transform:translateY(0)}.brand{display:flex;align-items:center;gap:9px}.brand img{width:42px;height:52px;object-fit:contain}.brand>span{font:29px/1.2 Georgia,serif;letter-spacing:5px;color:var(--olive)}.brand small{display:block;font:7px/2.4 Arial,sans-serif;letter-spacing:2px}nav{display:flex;gap:26px;font-size:12px}nav a:hover{color:#ab6b70}.small{padding:10px 18px;gap:18px}.menu{display:none}.hero{height:100svh;min-height:740px;position:relative;overflow:hidden;display:grid;place-items:center;background:#fcfbf7}.flower{position:absolute;pointer-events:none;will-change:transform;animation:bloom 1.8s ease-out both}.flower-a{width:26%;left:-4%;top:-12%;transform-origin:top left}.flower-b{width:36%;right:-10%;top:-15%;animation-delay:.2s}.flower-c{width:27%;left:-9%;bottom:-18%;animation-delay:.3s}.flower-d{width:31%;right:-9%;bottom:-16%;animation-delay:.5s}.flower-e{width:10%;left:12%;bottom:-8%;animation-delay:.5s}.butterfly{position:absolute;width:65px;right:23%;top:23%;transform:rotate(20deg);animation:float 7s ease-in-out infinite}.hero-content{text-align:center;position:relative;z-index:2;padding:60px 20px}.hero-logo{font-size:42px;letter-spacing:12px;color:var(--olive);line-height:1.2;margin:28px 0 33px}.hero-logo span{display:block;font-style:italic;letter-spacing:2px;font-size:17px;margin-top:7px}.hero h1{font-size:clamp(76px,8vw,126px);letter-spacing:-5px;line-height:.97}.hero-copy{font-size:15px;line-height:1.8;margin:28px 0 30px}.discover{font-size:9px;letter-spacing:2px;color:var(--olive);display:inline-flex;align-items:center;flex-direction:column;gap:13px}.discover span{font-size:25px;animation:nudge 2s infinite}.hero-note{position:absolute;bottom:20px;right:4%;font:italic 12px Georgia,serif;color:var(--olive)}.entrance{animation:enter 1.1s .4s both}.hero h1{animation-delay:.6s}.hero-copy{animation-delay:.8s}.discover{animation-delay:1s}.welcome{text-align:center;position:relative;overflow:hidden;padding-top:120px;padding-bottom:125px}.welcome h2{margin:24px 0}.lead{font-size:17px;max-width:590px;margin:0 auto 32px}.welcome-flower{position:absolute;right:1%;bottom:-75px;width:155px;opacity:.8;pointer-events:none}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f0f0e7;align-items:center}.portrait-placeholder{min-height:570px;position:relative;background:#e4e8db;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;border-radius:48% 48% 2px 2px}.portrait-monogram{font:italic 115px Georgia,serif;color:#a7b095}.portrait-placeholder>span{font-size:11px;color:#69745e;letter-spacing:1px}.portrait-leaves{position:absolute;top:0;left:-20px;width:75%}.portrait-flower{position:absolute;bottom:-65px;right:-40px;width:64%}.about h2{margin:22px 0}.qualification{font-size:11px;letter-spacing:.7px;margin-bottom:28px;color:var(--olive)}.about-copy>p:not(.eyebrow):not(.qualification){margin-bottom:20px;font-size:15px}.about-copy .text-link{margin-top:12px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:55px}.section-heading h2{margin-top:20px}.section-heading>p{max-width:300px;font-size:14px;margin-bottom:7px}.treatment{padding:30px 0;display:grid;grid-template-columns:55px 1fr 50px;gap:20px;border-top:1px solid var(--line);align-items:start}.number{font:italic 20px Georgia,serif;color:#8c957c;padding-top:7px}.treatment h3{font-size:29px}.treatment p{font-size:13px;margin:9px 0 18px}.prices{display:flex;gap:30px;flex-wrap:wrap}.prices>span{font-size:12px;color:var(--muted)}.prices b{font-weight:500;color:var(--ink);margin-left:12px}.round{height:43px;width:43px;border:1px solid #c5ccb8;border-radius:50%;background:none;font-size:23px;margin-top:5px;transition:.2s}.round:hover{background:var(--olive);color:white}.treatment-note{border-top:1px solid var(--line);padding-top:22px;font-size:11px}.quote-section{background:#eee0d6;position:relative;overflow:hidden;padding:95px 20%;text-align:center}.quote-section>p{font:48px/1.3 Georgia,serif;color:var(--ink)}.quote-section em{color:#7d665d}.quote-section>span{display:block;font-size:9px;letter-spacing:3px;margin-top:30px}.quote-section>img{position:absolute;width:25%;left:-6%;top:-35px}.quote-section>img:last-child{left:auto;right:-5%;top:auto;bottom:-65px;width:29%}.places>h2{margin:22px 0 55px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.room-placeholder,.mobile-art{height:340px;position:relative;overflow:hidden;background:#ecebdd;display:flex;align-items:center;justify-content:center}.room-placeholder>img{height:90%;position:absolute;left:0;top:-30px;opacity:.7}.room-placeholder>span{font:italic 18px Georgia,serif;text-align:center;max-width:200px;position:relative;margin-left:40px;color:#70765f}.mobile-art{background:#f2e7df}.mobile-art img{position:absolute;width:58%;right:-14%;bottom:-28%}.mobile-art>span{font:36px/1.3 Georgia,serif;position:relative;margin-right:50px}.mobile-art em{color:#826954}.place-info{padding:30px 0}.place-info h3{margin:12px 0}.place-info>p{font-size:14px;margin-bottom:19px}.place-info .address{color:var(--ink);font-size:13px}.place-info .fine{font-size:11px;max-width:350px}.faq{background:#f0f0e7;display:grid;grid-template-columns:1fr 1fr;gap:10%}.faq h2{font-size:53px;margin:22px 0}.faq>div>p:not(.eyebrow){font-size:14px;margin-bottom:18px}.faq img{height:135px;display:block;margin-top:30px}.questions{padding-top:10px}details{border-bottom:1px solid #ced3c1}summary{list-style:none;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:23px;font-weight:300}details[open] summary>span{transform:rotate(45deg)}details p{font-size:13px;padding:0 20px 22px 0}.contact{text-align:center;padding:120px 22px 100px;position:relative;overflow:hidden}.contact h2{font-size:clamp(50px,6vw,85px);margin:23px 0}.contact p:not(.eyebrow){font-size:15px}.contact-actions{display:flex;gap:15px;justify-content:center;margin:30px 0}.signature{display:block;font-size:31px;font-style:italic;color:var(--olive);margin-top:40px}.contact-flower{position:absolute;width:27%;bottom:-10%;pointer-events:none}.contact-flower.left{left:-11%;transform:rotate(20deg)}.contact-flower.right{right:-10%}footer{border-top:1px solid var(--line);padding:38px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;background:#f4f3eb}footer p{font-size:11px}footer>div{display:flex;gap:20px;font-size:10px;color:var(--muted)}footer button{background:none;border:0;padding:0;font-size:10px}.whatsapp{position:fixed;z-index:25;bottom:25px;right:25px;background:#596a4c;box-shadow:0 3px 18px #35472b22;color:white;display:flex;align-items:center;gap:10px;border:1px solid #ffffff77;border-radius:40px;padding:14px 20px;font-size:12px}.whatsapp svg{width:23px;height:23px}dialog{border:1px solid #d9dccf;background:var(--paper);color:var(--ink);border-radius:5px;padding:50px 35px;max-width:470px;width:calc(100% - 40px);text-align:center}dialog::backdrop{background:#26312080;backdrop-filter:blur(5px)}dialog>img{height:90px}dialog h2{font-size:35px;margin:22px 0}dialog>p:not(.eyebrow){font-size:14px;margin-bottom:25px}.dialog-close{position:absolute;right:15px;top:5px;font-size:30px;background:none;border:0}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.js .reveal.in-view{opacity:1;transform:none}:focus-visible{outline:3px solid #b6757f;outline-offset:5px}@keyframes bloom{from{opacity:0;scale:1.1}to{opacity:1;scale:1}}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translate(12px,-12px) rotate(10deg)}}@keyframes nudge{50%{transform:translateY(7px)}}
@media(min-width:1600px){.section{padding-left:calc((100% - 1300px)/2);padding-right:calc((100% - 1300px)/2)}}@media(max-width:1050px){nav{gap:16px;font-size:11px}header{gap:15px}.about{gap:7%}.portrait-placeholder{min-height:490px}.faq h2{font-size:43px}.hero{min-height:730px}.hero h1{font-size:105px}.hero-logo{font-size:36px}.hero .eyebrow{font-size:9px}.flower-b{width:44%;right:-15%;top:-9%}.flower-a{width:31%;top:-5%}.flower-c{width:35%;bottom:-9%}.flower-d{width:40%;bottom:-8%}.section{padding-top:85px;padding-bottom:85px}}
@media(max-width:760px){header{height:78px;padding:9px 20px;gap:12px}.brand>span{font-size:24px}.brand small{font-size:6px}.brand img{width:30px;height:42px}header .small{font-size:11px;padding:9px 11px;gap:8px;margin-left:auto}.menu{display:block;background:none;border:0;font-size:23px;padding:3px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;border-bottom:1px solid var(--line);flex-direction:column;gap:20px;font-size:15px}nav.open{display:flex}.hero{min-height:700px;max-height:1000px}.hero-content{padding:65px 30px 45px}.hero-logo{font-size:31px;letter-spacing:9px;margin:32px 0}.hero-logo span{font-size:14px}.hero h1{font-size:86px;letter-spacing:-4px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;max-width:245px;margin:auto}.hero-copy{font-size:13px;margin:27px 0 35px}.flower-a{width:40%;left:-12%;top:-5%}.flower-b{width:55%;right:-22%;top:-3%}.flower-c{width:47%;left:-18%;bottom:-4%}.flower-d{width:50%;right:-20%;bottom:-4%}.flower-e{width:16%;left:13%;bottom:-3%}.butterfly{width:39px;right:13%;top:28%}.hero-note{font-size:9px;bottom:12px;right:5%}.section{padding:74px 24px}h2{font-size:44px;letter-spacing:-1.6px}.lead{font-size:15px}.welcome-flower{width:90px;right:-24px;bottom:-40px}.about{grid-template-columns:1fr;gap:45px}.portrait-placeholder{min-height:430px;max-width:440px;width:100%;margin:auto}.portrait-flower{width:55%}.about h2{font-size:58px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px}.treatment{grid-template-columns:26px 1fr 36px;gap:10px;padding:26px 0}.treatment h3{font-size:23px}.treatment p{font-size:12px}.number{font-size:15px}.prices{gap:9px 20px}.prices>span{font-size:11px}.prices b{margin-left:8px}.round{width:34px;height:34px;font-size:20px}.quote-section{padding:80px 18%}.quote-section>p{font-size:32px}.quote-section>img{width:38%;left:-15%}.quote-section>img:last-child{width:42%;right:-17%;bottom:-5%}.place-grid{grid-template-columns:1fr;gap:25px}.room-placeholder,.mobile-art{height:290px}.places>h2{margin-bottom:35px}.faq{grid-template-columns:1fr;gap:25px}.faq img{display:none}.faq h2{font-size:44px}.contact{padding:85px 24px}.contact h2{font-size:51px}.contact-actions{flex-direction:column;align-items:center}.contact-actions .button{width:250px}.contact-flower{width:39%;bottom:-1%}.contact-flower.left{left:-24%}.contact-flower.right{right:-23%}footer{flex-wrap:wrap;padding:30px 24px 95px;gap:25px}footer>div{width:100%;flex-wrap:wrap;gap:20px}.whatsapp{bottom:17px;right:17px;padding:13px}.whatsapp>span{display:none}.discover{font-size:8px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Compact booking action and contact number. */
header .small{padding:7px 12px;gap:9px;font-size:12px;line-height:1.5}header .small span{font-size:17px}.contact-phone{display:inline-block;color:var(--olive);font-size:14px;border-bottom:1px solid var(--line)}
@media(max-width:760px){header .small{padding:6px 8px;font-size:10px;gap:5px}}

.arrow-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}.round{display:grid;place-items:center}

/* Legal page */
.legal-header{position:relative;transform:none}.legal-header .text-link{margin-left:auto}.legal-page{max-width:1000px;margin:0 auto;padding:75px 28px 110px;min-height:70vh}.legal-page h1{font-size:clamp(48px,7vw,76px);line-height:1.15;color:var(--ink);letter-spacing:-2px;margin:15px 0 40px}.legal-page h2{font:28px/1.3 Georgia,serif;letter-spacing:0;margin:34px 0 14px}.legal-page address{font-style:normal;color:var(--muted)}.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-page p{margin:12px 0}.legal-page .back-link{display:inline-block;margin-top:35px;font-size:13px;color:var(--olive)}

.privacy-page{max-width:940px}.privacy-page h1{font-size:clamp(40px,6vw,70px);overflow-wrap:anywhere}.privacy-page h3{font-size:22px;margin:25px 0 12px}.privacy-page section{margin-top:40px;scroll-margin-top:30px}.privacy-page p,.privacy-page address{font-size:15px;line-height:1.85}.privacy-page a{overflow-wrap:anywhere}.legal-date{font-size:12px!important}.legal-toc{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:10px 22px;padding:24px 0;margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.legal-toc a{font-size:12px;color:var(--olive)}
