@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--cream:#fbf8f2;--rose:#783e4a;--ink:#382e2c;--muted:#716764;--gold:#aa8654;--line:#ded5cb;--blush:#f1e7e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,.brand{font-family:'Italiana',Georgia,serif}h1{font-size:clamp(56px,5.9vw,88px);line-height:1.08;letter-spacing:-2px}h2{font-size:clamp(38px,4vw,57px);line-height:1.15;letter-spacing:-1px}h3{font-size:34px;line-height:1.3}em{font-family:Georgia,serif;font-weight:400;color:var(--rose)}.announcement{background:var(--rose);color:#fff6ef;text-align:center;font-size:11px;letter-spacing:1.3px;padding:8px 16px}.announcement span{padding:0 12px}.site-header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;color:var(--rose);font-size:29px;line-height:1.1;white-space:nowrap}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:3.4px;margin-top:8px}.site-header nav{display:flex;gap:34px;font-size:12px}.site-header nav a:hover,.text-link:hover{color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:15px 24px;background:var(--rose);border:1px solid var(--rose);color:white;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#5a2d36;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.header-call{padding:12px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;min-height:670px;padding:28px 5% 65px;gap:55px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;color:var(--rose);margin-bottom:22px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow span{width:25px;height:1px;background:var(--gold)}.intro{max-width:400px;margin-top:26px;color:var(--muted);font-size:14px}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid var(--gold);padding:4px 0}.text-link span{margin-left:15px}.hero-location{font-size:10px;letter-spacing:.6px;color:var(--muted);margin-top:30px}.hero-location>span{font-size:20px;margin-right:6px}.hero-photo{height:570px;position:relative;padding:0 0 23px 0}.hero-photo>img{width:100%;height:100%;border-radius:200px 200px 2px 2px;object-position:52% center}.photo-note{position:absolute;left:-28px;bottom:55px;background:#fcf9f2;padding:20px 27px;display:flex;align-items:center;gap:17px;box-shadow:0 8px 30px #382e2c0a;font-family:Georgia,serif;font-size:18px}.photo-note small{display:block;font:10px 'DM Sans',sans-serif;color:var(--muted);margin-top:7px}.tiny-flower{color:var(--gold);font-size:38px}.photo-caption{position:absolute;bottom:0;right:0;font-size:8px;letter-spacing:2px;color:var(--muted)}.ribbon{display:flex;justify-content:center;gap:50px;align-items:center;padding:23px 4%;border-block:1px solid var(--line);font-size:11px;letter-spacing:1.1px;background:#f5efe7}.ribbon i{font-style:normal;font-size:22px;color:var(--gold)}.section-shell{max-width:1240px;margin:0 auto;padding:95px 35px}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-image{position:relative;padding:0 25px 24px 0}.about-image:after{content:'';position:absolute;inset:40px 0 0 30px;border:1px solid #c4ad91;z-index:-1}.about-image img{height:490px;width:100%;object-position:center 45%}.image-tag{position:absolute;bottom:0;right:0;background:var(--cream);padding:12px 23px;font:italic 19px Georgia,serif;color:var(--rose)}.about-copy>p:not(.eyebrow){color:var(--muted);margin-top:23px;font-size:14px}.about-copy .text-link{display:inline-block;margin-top:24px}.about-details{display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:10px;color:var(--rose)}.treatments{background:var(--blush)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}.section-heading>p{color:var(--muted);font-size:12px;max-width:320px}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.treatment-card{padding:32px 38px;background:var(--cream);border:1px solid #e1d4ca}.treatment-title{display:flex;align-items:center;justify-content:space-between;color:var(--gold);margin-bottom:12px}.treatment-title>span:last-child{font-size:31px}.treatment-number{font-size:9px;letter-spacing:2px}.treatment-card>p{font-size:13px;color:var(--muted);max-width:350px;margin:14px 0 24px}.treatment-card table{width:100%;border-collapse:collapse;font-size:13px}.treatment-card td,.treatment-card th{padding:12px 0;border-bottom:1px solid var(--line)}.treatment-card th{text-align:left;font-weight:400}.treatment-card td{text-align:right;font-size:17px}.treatment-book{display:flex;justify-content:space-between;font-size:11px;color:var(--rose);font-weight:600;margin-top:26px}.deep{background:#e9ddd7}.price-note{font-size:10px;text-align:center;color:var(--muted);margin-top:22px}.gallery-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:23px;align-items:start}.gallery-grid img{width:100%;height:335px}.gallery-grid figure:nth-child(2){margin-top:45px}.gallery-grid figure:nth-child(2) img{height:290px}.gallery-grid figcaption{margin-top:13px;font:italic 16px Georgia,serif;color:var(--muted)}.visit{background:#f0eee6}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.visit address{font-style:normal;font-size:14px;margin-top:25px;color:var(--muted)}.visit address strong{color:var(--ink);font-weight:500}.phone-link{display:inline-block;font-size:23px;color:var(--rose);margin-top:17px}.phone-link span{font-size:18px;margin-left:15px}.hours{margin:25px 0;max-width:330px}.hours h3{font:600 11px 'DM Sans',sans-serif;letter-spacing:1px;margin-bottom:13px}.hours p{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:8px}.map-wrap{align-self:center;border:1px solid var(--line);background:var(--cream)}.map-wrap iframe{display:block;width:100%;height:440px;border:0}.map-wrap>a{display:flex;justify-content:space-between;gap:20px;padding:18px;font-size:10px}.map-wrap>a span{color:var(--rose)}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:55px}.faq h2{font-size:43px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;font-size:13px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--rose);font-size:19px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);margin:14px 20px 4px 0}.faq details p a{text-decoration:underline}.closing{background:var(--rose);color:var(--cream);text-align:center;padding:75px 20px}.closing .eyebrow{color:#ead8c6}.closing h2{font-size:54px}.closing em{color:#ecd8c7}.light{background:var(--cream);color:var(--rose);margin-top:30px;border-color:var(--cream)}.light:hover{background:#e9ddd7}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 5%;gap:25px}footer .brand{display:block;font-size:25px}footer p{font-size:10px;color:var(--muted)}.mobile-actions{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:-100px;left:10px;z-index:100;background:var(--cream);padding:12px}.skip-link:focus{top:10px}@media(min-width:1500px){.hero{min-height:740px}.hero-photo{height:630px}}@media(max-width:1000px){.site-header nav{gap:20px}.hero{gap:30px;min-height:600px}.hero-photo{height:510px}.actions{gap:20px;flex-wrap:wrap}.ribbon{gap:25px}.about{gap:45px}.section-shell{padding:75px 30px}.visit-grid{gap:45px}.treatment-card{padding:25px}.photo-note{left:-15px;padding:16px}.faq{gap:30px}.gallery-grid{gap:15px}}@media(max-width:700px){html{scroll-padding-top:20px}.announcement{font-size:9px;letter-spacing:.5px}.announcement span{padding:0 5px}.site-header{padding:22px 6%;gap:10px}.brand{font-size:25px}.brand img{width:32px}.brand small{font-size:7px;letter-spacing:2.6px}.site-header nav{display:none}.header-call{font-size:10px;padding:10px 13px;gap:14px}.hero{grid-template-columns:1fr;padding:30px 6% 40px;gap:35px}.hero h1{font-size:64px}.eyebrow{font-size:9px;margin-bottom:18px}.intro{font-size:14px;max-width:100%}.hero-photo{height:430px;margin-left:20px}.photo-note{left:-20px;bottom:45px}.hero-location{margin-top:22px}.ribbon{gap:16px;flex-wrap:wrap;padding:18px;font-size:9px}.ribbon i:nth-of-type(2),.ribbon span:nth-last-child(1){display:none}.ribbon i{font-size:16px}.section-shell{padding:60px 6%}.about{grid-template-columns:1fr;gap:35px}.about-image{max-width:450px}.about-image img{height:410px}.about-copy h2{font-size:46px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px}.treatment-grid{grid-template-columns:1fr;gap:20px}.treatment-card{padding:27px}h3{font-size:32px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.gallery-grid figure:nth-child(2){margin-top:30px}.gallery-grid figure:nth-child(2) img{height:270px}.gallery-grid img{height:300px}.gallery-grid figure:last-child{grid-column:1/-1}.gallery-grid figure:last-child img{height:300px;object-position:center 55%}.gallery-grid figcaption{font-size:14px}.visit-grid,.faq{grid-template-columns:1fr;gap:35px}.visit h2{font-size:50px}.map-wrap iframe{height:350px}.map-wrap>a{flex-direction:column;gap:3px}.faq h2{font-size:40px}.closing h2{font-size:42px}.closing{padding:60px 6%}footer{align-items:start;flex-wrap:wrap;padding:35px 6% 90px}footer p:last-child{width:100%;font-size:9px}.mobile-actions{position:fixed;bottom:0;left:0;width:100%;display:grid;grid-template-columns:1fr 1fr;z-index:10;box-shadow:0 -2px 20px #382e2c15;padding-bottom:env(safe-area-inset-bottom);background:var(--cream)}.mobile-actions a{text-align:center;padding:13px;background:var(--rose);color:white;font-size:12px}.mobile-actions a:last-child{background:var(--cream);color:var(--rose)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
