@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap";:root{--ink:#5d403b;--sage:#b58f86;--deep:#6b4840;--cream:#f8e9e7;--paper:#fff8f6;--clay:#c9a04f;--gold:#d7b968;--blush:#f6dfe2;--line:#744f4524}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background-color:#fffbfa;background-image:radial-gradient(at 8% 14%,#f8dee570,#0000 23%),radial-gradient(at 92% 58%,#f7e4e961,#0000 25%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;margin:0;font-family:DM Sans,sans-serif;font-size:17px}a{color:inherit;text-decoration:none}main{isolation:isolate;position:relative}.ambient-sparkles{z-index:8;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-sparkles i{opacity:0;width:7px;height:7px;animation:4.8s ease-in-out infinite whiteTwinkle;position:absolute}.ambient-sparkles i:before,.ambient-sparkles i:after{content:"";background:#fffffff5;border-radius:999px;margin:auto;position:absolute;inset:0;box-shadow:0 0 9px 3px #ffffffa8,0 0 18px 5px #f1cdd840}.ambient-sparkles i:before{width:2px;height:100%}.ambient-sparkles i:after{width:100%;height:2px}.ambient-sparkles i:first-child{animation-delay:.2s;top:16%;left:7%}.ambient-sparkles i:nth-child(2){animation-delay:2.1s;top:38%;left:23%;transform:scale(.7)}.ambient-sparkles i:nth-child(3){animation-delay:1.2s;top:11%;left:42%}.ambient-sparkles i:nth-child(4){animation-delay:3.3s;top:29%;left:63%;transform:scale(1.2)}.ambient-sparkles i:nth-child(5){animation-delay:1.8s;top:17%;left:82%}.ambient-sparkles i:nth-child(6){animation-delay:.7s;top:44%;left:94%;transform:scale(.65)}.ambient-sparkles i:nth-child(7){animation-delay:3.8s;top:69%;left:13%;transform:scale(1.15)}.ambient-sparkles i:nth-child(8){animation-delay:1.5s;top:83%;left:34%}.ambient-sparkles i:nth-child(9){animation-delay:4.1s;top:61%;left:55%;transform:scale(.7)}.ambient-sparkles i:nth-child(10){animation-delay:2.6s;top:76%;left:74%;transform:scale(1.25)}.ambient-sparkles i:nth-child(11){animation-delay:1s;top:91%;left:89%}.ambient-sparkles i:nth-child(12){animation-delay:3s;top:93%;left:3%;transform:scale(.7)}.ambient-sparkles i:nth-child(13){animation-delay:.5s;top:47%;left:49%;transform:scale(.6)}.ambient-sparkles i:nth-child(14){animation-delay:2.9s;top:7%;left:97%;transform:scale(.8)}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#fff8f6f0;grid-template-columns:1fr auto 1fr;align-items:center;gap:36px;height:86px;padding:0 clamp(24px,5vw,80px);display:grid;position:relative}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-family:Italiana,serif;font-size:21px;display:flex}.brand-logo{object-fit:contain;object-position:center;width:52px;height:42px}.brand-name{font:inherit}.brand-mark{border:1px solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;font-style:italic;display:grid}nav{gap:36px;font-size:15px;display:flex}nav a,.text-link{position:relative}nav a:after,.text-link:after{content:"";background:currentColor;height:1px;transition:right .25s;position:absolute;bottom:-5px;left:0;right:100%}nav a:hover:after,.text-link:hover:after{right:0}.site-header>.button{justify-self:end}.button{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#b7838c;border:1px solid #b7838c;justify-content:center;align-items:center;gap:28px;padding:16px 22px;font-size:12px;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{background:#a87680;transform:translateY(-2px);box-shadow:0 10px 24px #a8768029}.button-small{padding:12px 18px}.hero{background:linear-gradient(135deg,#fffdfcfa,#fdeff28a);grid-template-columns:48% 52%;align-items:center;gap:5%;min-height:calc(100svh - 86px);padding:65px clamp(24px,7vw,112px) 90px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;position:relative}.hero-copy:before{content:"✦";color:#d9b887;opacity:0;font-size:20px;animation:3.2s ease-in-out infinite twinkle;position:absolute;top:-38px;left:-28px}.hero-copy:after{content:"✧";color:#e8c9ce;opacity:0;font-size:30px;animation:3.2s ease-in-out 1.3s infinite twinkle;position:absolute;top:8%;right:2%}.eyebrow{letter-spacing:.19em;margin:0 0 24px;font-size:11px;font-weight:600}h1,h2,h3,blockquote{font-family:Italiana,serif;font-weight:400}h1{letter-spacing:-.025em;margin:0;font-size:clamp(64px,8vw,122px);line-height:.9}em{color:var(--clay);font-weight:400}.hero-intro{color:#826761;max-width:500px;margin:36px 0;font-size:19px;line-height:1.7}.hero-actions{align-items:center;gap:30px;display:flex}.text-link{font-size:15px}.hero-art{border:1px solid #ffffffb8;border-radius:48% 48% 5px 5px;justify-self:end;width:100%;max-width:660px;height:620px;position:relative;overflow:hidden;box-shadow:0 35px 80px #7c4d4621}.hero-art img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;display:block}.sun{background:var(--clay);border-radius:50%;width:360px;height:360px;position:absolute;top:70px;right:5px}.arch{border:1px solid #27302a52;border-radius:170px 170px 0 0;width:310px;height:470px;position:absolute;bottom:0;left:55px}.stone{background:var(--sage);filter:drop-shadow(0 18px 18px #202e241f);border-radius:50%;position:absolute}.stone-one{width:170px;height:270px;bottom:52px;left:115px;transform:rotate(-27deg)}.stone-two{background:#849080;width:130px;height:230px;bottom:38px;left:260px;transform:rotate(34deg)}.leaf{border:2px solid var(--ink);border-radius:100% 0;width:125px;height:225px;position:absolute}.leaf-one{bottom:10px;right:30px;transform:rotate(22deg)}.leaf-two{bottom:80px;right:-38px;transform:rotate(55deg)scale(.7)}.art-note{color:#fffaf2;text-shadow:0 2px 12px #321e1447;font-family:Italiana,serif;font-size:19px;font-style:italic;line-height:1.35;position:absolute;top:60px;right:28px;transform:rotate(4deg)}.hero-orbit{border:1px solid #27302a14;border-radius:50%;position:absolute}.orbit-one{width:820px;height:820px;top:-320px;right:-330px}.orbit-two{width:560px;height:560px;bottom:-390px;left:-300px}.hero-footer{text-transform:uppercase;letter-spacing:.13em;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:26px;left:clamp(24px,8vw,130px);right:clamp(24px,8vw,130px)}.manifesto{color:var(--ink);text-align:center;background-color:#fdf2f4;background-image:linear-gradient(#fffbfa2e,#fdf2f53d),url(/peony-spa-background-v2.png);background-position:50%;background-size:cover;padding:130px 24px;position:relative;overflow:hidden;box-shadow:inset 0 0 110px #bd938b17}.manifesto::selection{background:#edcbd5}.manifesto>*{z-index:1;position:relative}.studio-logo-art{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 18px 30px #c18e701f);width:clamp(120px,13vw,180px);margin:0 auto 30px}.sparkle-section:before,.sparkle-section:after{color:#c49737b8;pointer-events:none;font-family:Georgia,serif;position:absolute}.sparkle-section:before{content:"✦";opacity:0;font-size:22px;animation:3.8s ease-in-out infinite twinkle;top:18%;left:8%}.sparkle-section:after{content:"✧";opacity:0;font-size:25px;animation:3.8s ease-in-out 1.8s infinite twinkle;bottom:18%;right:9%}.manifesto h2,.section-heading h2,.about h2,.booking h2{letter-spacing:-.02em;margin:0;font-size:clamp(48px,6vw,82px);line-height:1.03}.manifesto p:last-child{color:#876d68;max-width:690px;margin:38px auto 0;font-size:18px;line-height:1.75}.services{padding:120px clamp(24px,7vw,110px)}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px;display:flex}.section-heading>p{color:#667067;max-width:390px;font-size:17px;line-height:1.7}.service-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.service-card{border-right:1px solid var(--line);flex-direction:column;min-height:390px;padding:32px;transition:background .25s,transform .25s;display:flex;position:relative;overflow:hidden}.service-card:before,.service-card:after{pointer-events:none;color:#d0a74eb8;opacity:0;z-index:0;position:absolute}.service-card:before{content:"✦";font-size:18px;animation:4.2s ease-in-out infinite cardSparkle;top:28px;right:34px}.service-card:after{content:"✧";font-size:24px;animation:4.2s ease-in-out 1.7s infinite cardSparkle;bottom:24%;right:25%}.service-card:nth-child(2n):before{animation-delay:.7s}.service-card:nth-child(3n):after{animation-delay:2.3s}.service-card>*{z-index:1;position:relative}.service-card:nth-child(odd){border-left:1px solid var(--line)}.service-card{border-bottom:1px solid var(--line)}.service-card:hover{background:#fbeaec;transform:translateY(-6px);box-shadow:0 18px 42px #7f4e4812}.service-number{letter-spacing:.15em;color:var(--clay);font-size:11px}.service-card h3{margin:60px 0 20px;font-size:35px;line-height:1.1}.service-card>p{color:#866d67;font-size:16px;line-height:1.75}.service-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;font-size:15px;display:flex}.service-bottom a{border:1px solid var(--ink);border-radius:50%;place-items:center;width:38px;height:38px;transition:all .2s;display:grid}.service-bottom a:hover{background:var(--ink);color:#fff}.about{background:linear-gradient(110deg,#f8e7e7,#fff7f3);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,8vw,130px);padding:110px clamp(24px,8vw,130px);display:grid}.portrait{background:#d4bda5;height:650px;position:relative;overflow:hidden}.portrait-sun{background:#d6ad69;border-radius:50%;width:380px;height:380px;position:absolute;top:65px;left:50%;transform:translate(-50%)}.portrait-body{background:#8b6752;border-radius:50% 50% 0 0;width:420px;height:430px;position:absolute;bottom:-90px;left:50%;transform:translate(-50%)}.portrait-head{background:#c99575;border-radius:48% 52% 45% 55%;width:155px;height:205px;position:absolute;bottom:265px;left:50%;transform:translate(-50%)rotate(-5deg);box-shadow:-25px -12px 0 5px #4a3026}.portrait span{color:#fff;font-family:Italiana,serif;font-size:23px;font-style:italic;line-height:1.2;position:absolute;bottom:25px;left:25px}.master-portrait{background:#f5dedd;border:1px solid #d7b96859;box-shadow:0 24px 65px #7349411a}.master-portrait>img{object-fit:cover;object-position:50% 36%;width:100%;height:100%;display:block}.master-portrait:after{content:"";pointer-events:none;border:1px solid #fffaf29e;position:absolute;inset:18px}.master-portrait span{color:#fffaf2;text-transform:uppercase;letter-spacing:.12em;z-index:2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#734941c2;padding:12px 15px;font-family:DM Sans,sans-serif;font-size:10px;font-style:normal;bottom:24px;left:26px}.about-copy{max-width:560px}.about-lead{margin:40px 0 24px;font-family:Italiana,serif;font-size:26px;line-height:1.4}.about-copy>p:not(.eyebrow):not(.about-lead){color:#826862;line-height:1.8}.master-quote{color:#826862;max-width:560px;margin:40px 0 0;font-family:Italiana,serif;font-size:clamp(24px,2.4vw,34px);font-style:italic;line-height:1.5}.about-call{min-width:180px;margin-top:34px}.credentials{text-transform:uppercase;letter-spacing:.07em;gap:28px;margin-top:36px;font-size:12px;display:flex}.gift-section{background:#fffdfc;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(50px,9vw,145px);padding:110px clamp(24px,8vw,130px);display:grid;position:relative;overflow:hidden}.gift-section:before{content:"";background:radial-gradient(circle,#f7dfe58c,#0000 67%);border-radius:50%;width:520px;height:520px;position:absolute;top:-250px;right:-170px}.gift-photo{border-radius:240px 240px 8px 8px;height:620px;overflow:hidden;box-shadow:0 28px 70px #9b6a741a}.gift-photo img{object-fit:cover;object-position:center 58%;filter:saturate(.72)brightness(1.07);width:100%;height:100%}.gift-copy{z-index:1;max-width:620px;position:relative}.gift-copy h2{margin:0 0 34px;font-size:clamp(48px,6vw,80px);line-height:1.03}.gift-copy>p:not(.eyebrow){color:#866d67;margin:0 0 30px;font-size:18px;line-height:1.8}.testimonials{padding:120px clamp(24px,8vw,130px)}.reviews-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:64px;display:flex}.reviews-heading h2{margin:0;font-size:clamp(48px,6vw,78px);line-height:1.04}.rating-note{text-align:right;justify-items:end;gap:8px;display:grid}.rating-note strong{font-family:Italiana,serif;font-size:58px;font-weight:400;line-height:1}.rating-note>span{color:#c99b50;letter-spacing:.12em;margin-bottom:12px;font-size:15px}.reviews-gallery{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.review-shot{border:1px solid var(--line);background:#fff;border-radius:18px;padding:8px;transition:transform .25s,box-shadow .25s;display:block;position:relative;overflow:hidden;box-shadow:0 18px 45px #8e5b6614}.review-shot:hover{transform:translateY(-6px);box-shadow:0 24px 60px #8e5b6624}.review-shot img{border-radius:12px;width:100%;height:auto;display:block}.review-shot>span{color:#866d67;text-transform:uppercase;letter-spacing:.09em;opacity:0;background:#fff8f9f0;border-radius:30px;padding:9px 12px;font-size:10px;transition:opacity .2s;position:absolute;bottom:18px;right:18px}.review-shot:hover>span,.review-shot:focus-visible>span{opacity:1}.online-booking{border-top:1px solid var(--line);background:linear-gradient(135deg,#fff9fa,#f8e4ea);grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(50px,8vw,120px);padding:105px clamp(24px,8vw,130px);display:grid}.online-booking h2{margin:0;font-family:Italiana,serif;font-size:clamp(48px,6vw,80px);font-weight:400;line-height:1.03}.online-booking-card{background:#ffffff9e;border:1px solid #b6828d3d;padding:44px;position:relative;box-shadow:0 22px 60px #8d5b6414}.online-booking-card p{color:#826862;margin:0 0 30px;font-size:18px;line-height:1.75}.online-booking-card .button{width:100%}.online-booking-card small{text-align:center;color:#927770;margin-top:14px;display:block}.online-number{color:var(--clay);margin-bottom:28px;font-family:Italiana,serif;font-size:38px;display:block}.booking{color:var(--ink);border-top:1px solid var(--line);background:linear-gradient(120deg,#fffaf9,#fae9ed 58%,#fdf5f4);grid-template-columns:1.15fr .85fr;align-items:center;gap:80px;padding:100px clamp(24px,8vw,130px);display:grid;position:relative;overflow:hidden}.booking h2 em{color:var(--deep)}.booking-card{border-left:1px solid #b6828d47;padding-left:50px}.booking-card address{color:#6f5550;margin:0 0 28px;font-family:Italiana,serif;font-size:25px;font-style:normal;line-height:1.45}.map-link{text-underline-offset:7px;-webkit-text-decoration:underline #b7838c6b;text-decoration:underline #b7838c6b;transition:color .2s,text-decoration-color .2s;display:inline-block}.map-link:hover{color:#a87680;text-decoration-color:#a87680}.address-kicker{letter-spacing:.18em;color:#b7838c;font-size:10px;font-weight:600;margin:0 0 14px!important}.booking-card p{margin:0 0 28px;font-size:18px;line-height:1.7}.button-light{color:#fff;background:#b7838c;border-color:#b7838c;width:100%}.button-light:hover{background:#a87680}.booking-card small{text-align:center;opacity:.75;margin-top:15px;display:block}footer{color:var(--ink);background:#f8e9ed;grid-template-columns:1fr 1fr;gap:65px;padding:70px clamp(24px,5vw,80px) 35px;display:grid}.footer-brand{font-size:30px}.footer-brand .brand-logo{width:76px;height:62px}.footer-brand .brand-mark{border-color:var(--ink)}.footer-contact{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:28px;font-size:15px;display:flex}.footer-meta{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;color:#927770;grid-column:1/-1;justify-content:space-between;padding-top:24px;font-size:10px;display:flex}.footer-map-link:hover{color:#a87680}@keyframes twinkle{0%,to{opacity:0;transform:scale(.55)rotate(-8deg)}45%{opacity:.72}55%{opacity:.92;transform:scale(1.08)rotate(2deg)}}@keyframes cardSparkle{0%,to{opacity:0;transform:scale(.55)rotate(-12deg)}42%{opacity:.18}52%{opacity:.9;text-shadow:0 0 18px #d7b9686b;transform:scale(1.08)rotate(3deg)}63%{opacity:.14}}@keyframes whiteTwinkle{0%,to{opacity:0;filter:blur(.2px)}42%{opacity:0}50%{opacity:.98;filter:blur()}58%{opacity:.12}}@media (width<=850px){.site-header{grid-template-columns:1fr auto;height:74px}nav{display:none}.hero{grid-template-columns:1fr;padding-top:70px}.hero-copy{padding-bottom:35px}.hero-art{justify-self:center;max-width:460px;height:450px}.sun{width:290px;height:290px}.arch{height:370px}.section-heading,.about,.online-booking,.booking{grid-template-columns:1fr}.reviews-gallery{grid-template-columns:repeat(2,1fr)}.section-heading{flex-direction:column;align-items:start}.service-list{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:340px}.about{display:grid}.portrait{height:560px}.booking-card{border-top:1px solid #fff6;border-left:0;padding:35px 0 0}.gift-section{grid-template-columns:1fr}}@media (width<=580px){.site-header{padding:0 18px}.site-header .brand{font-size:18px}.site-header .brand-logo{width:42px;height:34px}.site-header .brand-mark{width:30px;height:30px}.site-header>.button{padding:10px 12px;font-size:10px}h1{font-size:60px}.hero{min-height:auto;padding:60px 22px 85px}.hero-actions{flex-direction:column;align-items:stretch}.hero-art{height:380px;margin-top:15px;transform:scale(.9)}.arch{width:260px;height:340px;left:5%}.stone-one{left:55px}.stone-two{left:190px}.hero-footer{left:22px;right:22px}.manifesto,.services,.testimonials{padding-top:85px;padding-bottom:85px}.portrait{height:450px}.gift-photo{height:520px}.portrait-sun{width:300px;height:300px}.portrait-body{width:360px}.reviews-heading{flex-direction:column;align-items:start}.rating-note{text-align:left;justify-items:start}.reviews-gallery{grid-template-columns:1fr}.credentials{flex-direction:column;gap:12px}.booking{gap:50px;padding-top:80px;padding-bottom:80px}.online-booking{gap:45px;padding-top:80px;padding-bottom:80px}.online-booking-card{padding:32px 24px}footer{grid-template-columns:1fr;gap:35px}.footer-contact{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px}.footer-meta{flex-direction:column;gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
