:root{--rose:#b95d79;--rose-deep:#824459;--rose-light:#f2dfe4;--cream:#fbf5f4;--paper:#fffdfb;--ink:#382a2b;--muted:#79686a;--line:#e8d9d9;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topline{height:32px;background:var(--rose-deep);color:#fff1f4;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;font-size:8px;letter-spacing:.19em;font-weight:600}.site-header{height:90px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5;border-bottom:1px solid rgba(130,68,89,.09)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:var(--serif);font-size:26px;letter-spacing:-.1em;color:var(--rose-deep);line-height:1}.brand-mark span{font-family:var(--sans);font-weight:400;font-size:13px;vertical-align:middle;margin:0 2px}.brand-name{display:flex;flex-direction:column;font-size:9px;letter-spacing:.22em;font-weight:700;line-height:1.7}.brand-name i{font-style:normal;letter-spacing:.31em;font-size:8px;color:var(--rose)}.nav{display:flex;align-items:center;gap:37px;font-size:11px;color:#5d4d4f}.nav>a:not(.nav-cta){transition:color .2s}.nav>a:not(.nav-cta):hover,.text-link:hover{color:var(--rose)}.nav-cta{background:var(--rose-deep);color:white;padding:14px 19px;font-size:10px;letter-spacing:.03em}.nav-cta span,.button span{padding-left:14px}.menu-toggle{display:none;border:0;background:none}.hero{height:min(690px,calc(100vh - 122px));min-height:560px;position:relative;overflow:hidden;background:#dbc5c0}.hero-photo{position:absolute;inset:0;background:url('assets/spa-hero.png') center 54%/cover no-repeat;transform:scale(1.02);animation:heroIn 1.2s ease both}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,243,240,.93) 0%,rgba(250,243,240,.81) 31%,rgba(250,243,240,.25) 55%,rgba(38,26,27,.05) 100%),linear-gradient(0deg,rgba(51,33,34,.15),transparent 32%)}.hero-copy{position:relative;padding-left:11.3%;padding-top:124px;max-width:640px;z-index:1}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:700;margin:0 0 23px;color:#685557}.eyebrow-line{display:inline-block;width:32px;height:1px;background:var(--rose);vertical-align:middle;margin:0 10px 3px 0}.eyebrow.pink{color:var(--rose)}h1,h2,h3,p{margin-top:0}h1,h2,blockquote{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(58px,7vw,96px);line-height:.99;margin:0 0 23px;color:#3b2e30}h1 em,h2 em,blockquote em,.closing em{color:var(--rose-deep);font-weight:500}.hero-intro{font-size:13px;line-height:1.9;color:#68595a;max-width:360px;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:10px;letter-spacing:.03em}.button-dark{background:var(--rose-deep);color:#fff}.button-dark:hover{background:#603342}.text-link{font-size:10px;color:var(--rose-deep);border-bottom:1px solid #c99aa8;padding-bottom:5px;transition:color .2s}.text-link span{margin-left:9px}.hero-note{position:absolute;left:58%;top:70%;display:flex;align-items:center;gap:10px;color:white;text-shadow:0 1px 12px #362828;font-size:8px;letter-spacing:.14em;line-height:1.6}.note-flower{font-size:25px}.hero-index{position:absolute;bottom:33px;left:5.5%;font-size:9px;letter-spacing:.12em;color:#fff}.hero-index span{color:#e8bac8;padding:0 7px}.vertical-note{position:absolute;right:27px;top:44%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em;color:#fff;text-shadow:0 1px 8px #473b39}.marquee{height:55px;background:#f0dce2;color:var(--rose-deep);display:flex;align-items:center;overflow:hidden;white-space:nowrap}.marquee div{font-family:var(--serif);font-size:15px;letter-spacing:.18em;animation:marquee 25s linear infinite}.marquee b{font-family:var(--sans);font-size:11px;color:var(--rose);padding:0 40px}.section-pad{padding-left:11.3%;padding-right:11.3%}.intro{position:relative;display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:35px;padding-top:126px;padding-bottom:136px;align-items:start;background:var(--paper)}.intro-label{display:flex;align-items:center;gap:25px;font-size:8px;letter-spacing:.16em;color:#a18b8d}.tiny-flower{color:var(--rose);font-size:20px}.intro-main .eyebrow{margin-bottom:18px}.intro h2,.section-heading h2,.visit h2{font-size:clamp(42px,4.2vw,59px);line-height:1.1;margin:0}.intro-aside{padding-top:36px;max-width:270px}.intro-aside p,.visit-body{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:23px}.intro-stamp{position:absolute;right:8%;bottom:29px;width:80px;height:80px;border:1px solid #d6b2bd;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--rose-deep);font-size:7px;line-height:1.5;letter-spacing:.11em;transform:rotate(12deg)}.intro-stamp b{font-size:15px;font-weight:400}.services{padding-top:103px;padding-bottom:94px;background:#f7eded}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:7px}.service-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr 1fr;gap:17px}.service-card{display:block;min-width:0}.service-image{height:260px;position:relative;overflow:hidden;background-color:#e8d6d7;background-image:url('assets/spa-hero.png');background-size:cover;transition:background-size .45s,filter .3s}.service-card:hover .service-image{filter:saturate(1.08)}.service-feature .service-image{height:260px}.image-facial{background-position:center;background-image:linear-gradient(0deg,rgba(55,32,39,.08),rgba(55,32,39,0)),url('assets/facial-treatment.jpg')}.image-nails{background-position:center;background-image:linear-gradient(0deg,rgba(55,32,39,.08),rgba(55,32,39,0)),url('assets/manicure-care.jpg')}.image-massage{background-position:center;background-image:linear-gradient(0deg,rgba(55,32,39,.08),rgba(55,32,39,0)),url('assets/massage-treatment.jpg')}.image-beauty{background-position:center;background-image:linear-gradient(0deg,rgba(55,32,39,.08),rgba(55,32,39,0)),url('assets/brow-care.jpg')}.round-icon{position:absolute;left:13px;top:13px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--rose-deep);background:rgba(255,250,248,.9);font-size:13px}.card-number{position:absolute;right:13px;bottom:13px;color:white;font-size:9px;letter-spacing:.1em;text-shadow:0 1px 5px #402b30}.service-info{padding:15px 2px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #decdd0}.service-info h3{font-family:var(--serif);font-size:18px;font-weight:500;margin:0 0 6px;letter-spacing:-.02em}.service-info p{font-size:9px;color:var(--muted);margin:0;line-height:1.5}.arrow{font-size:17px;color:var(--rose)}.service-footnote{font-size:10px;color:var(--muted);margin:25px 0 0}.service-footnote a{color:var(--rose-deep);border-bottom:1px solid #c99aa8;padding-bottom:3px;margin-left:6px}.service-footnote span{margin-left:5px}.quote-band{padding:92px 20px 84px;text-align:center;background:var(--rose-deep);color:#fff4f5}.quote-spark{font-size:23px;color:#f3ccd7;margin-bottom:20px}.quote-band .eyebrow{color:#e9c5cf;margin-bottom:15px}.quote-band blockquote{font-size:clamp(37px,5vw,61px);line-height:1.12;margin:0 0 24px}.quote-band blockquote em{color:#efc6d1}.quote-rule{display:block;width:36px;height:1px;background:#d5a6b4;margin:0 auto 13px}.quote-small{font-size:8px;letter-spacing:.2em;color:#e4bdc8;margin:0}.visit{background:var(--paper);padding-top:111px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.visit-copy .eyebrow{margin-bottom:18px}.visit-body{max-width:300px;margin-top:19px}.visit-copy .button{width:190px;margin-top:2px}.visit-contact{display:flex;flex-direction:column;gap:6px;margin-top:32px}.visit-contact span{font-size:8px;letter-spacing:.18em;color:#a08b8d}.visit-contact a{font-family:var(--serif);font-size:22px;color:var(--rose-deep)}.visit-card{position:relative;overflow:hidden;min-height:355px;background:#f4e4e7;padding:42px 43px;color:var(--rose-deep)}.visit-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:39px;font-family:var(--serif);font-size:17px}.visit-card-top b{font-size:20px;font-weight:400}.visit-card .eyebrow{font-size:8px;margin-bottom:13px}.visit-card h3{font-family:var(--serif);font-weight:500;font-size:42px;line-height:1.06;letter-spacing:-.03em;margin-bottom:13px}.visit-card>p:not(.eyebrow){font-size:10px;line-height:1.8;color:#776366;margin-bottom:22px}.visit-card .text-link{position:relative;z-index:1}.leaf-art{position:absolute;right:-6px;bottom:-52px;font-family:var(--serif);font-size:230px;line-height:1;color:rgba(185,93,121,.12);transform:rotate(-18deg)}.closing{padding:77px 15px 72px;text-align:center;background:#f1dfe4;color:var(--rose-deep)}.closing-flower{font-size:25px;color:var(--rose)}.closing p{font-family:var(--serif);font-size:clamp(29px,4vw,44px);line-height:1.2;margin:14px 0 18px}.closing a{font-size:9px;letter-spacing:.08em;border-bottom:1px solid #c99aa8;padding-bottom:5px}.closing a span{margin-left:8px}.footer{background:var(--rose-deep);color:#f8e9ed;padding:23px 5.5%;display:flex;align-items:center;justify-content:space-between}.footer .brand-mark{color:#fff1f4;font-size:21px}.footer .brand-name{font-size:7px;letter-spacing:.2em}.footer .brand-name i{font-size:7px;color:#e8bdc9}.footer-tag,.footer-credit{font-size:7px;letter-spacing:.17em;color:#e4c3cc}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes heroIn{from{transform:scale(1.07);opacity:.65}to{transform:scale(1.02);opacity:1}}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-35%)}}
@media(max-width:900px){.section-pad{padding-left:7%;padding-right:7%}.hero-copy{padding-left:8%;padding-top:130px}.intro{grid-template-columns:.8fr 2fr;gap:22px}.intro-aside{grid-column:2;padding-top:0;max-width:400px}.intro-stamp{right:7%;bottom:22px}.service-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}.service-feature .service-image,.service-image{height:290px}.visit{gap:7%}.nav{gap:23px}}
@media(max-width:620px){.topline{height:28px;padding:0 5%;font-size:6px;letter-spacing:.14em}.topline span:last-child{display:none}.site-header{height:72px;padding:0 6%}.brand{gap:9px}.brand-mark{font-size:23px}.brand-name{font-size:8px}.brand-name i{font-size:7px}.menu-toggle{display:flex;width:34px;height:34px;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{height:1px;width:22px;background:var(--rose-deep);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 6% 25px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 20px #382a2b10}.nav.open{display:flex}.nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid var(--line)}.nav-cta{margin-top:15px;text-align:center}.hero{height:670px;min-height:0}.hero-photo{background-position:60% center}.hero-wash{background:linear-gradient(90deg,rgba(250,243,240,.92),rgba(250,243,240,.67) 55%,rgba(250,243,240,.08)),linear-gradient(0deg,rgba(35,22,24,.18),transparent 40%)}.hero-copy{padding:117px 7% 0;max-width:420px}.eyebrow{font-size:8px}.hero h1{font-size:61px}.hero-intro{max-width:300px;font-size:12px}.hero-actions{gap:20px}.button{padding:15px 16px}.hero-note{left:auto;right:9%;top:auto;bottom:20%;color:white;font-size:7px}.vertical-note{right:12px;font-size:7px}.hero-index{left:7%;bottom:24px}.marquee{height:46px}.marquee div{font-size:12px}.marquee b{padding:0 23px}.section-pad{padding-left:7%;padding-right:7%}.intro{padding-top:76px;padding-bottom:106px;grid-template-columns:1fr;gap:20px}.intro-label{justify-content:space-between}.intro-main .eyebrow{margin-bottom:14px}.intro h2,.section-heading h2,.visit h2{font-size:43px}.intro-aside{grid-column:auto;padding-top:0}.intro-aside p{max-width:360px}.intro-stamp{width:68px;height:68px;right:7%;bottom:19px;font-size:6px}.intro-stamp b{font-size:12px}.services{padding-top:73px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:15px}.service-grid{gap:23px 12px}.service-feature .service-image,.service-image{height:205px}.service-info{padding:12px 1px}.service-info h3{font-size:16px}.service-info p{font-size:8px}.arrow{font-size:14px}.round-icon{width:25px;height:25px;left:9px;top:9px;font-size:11px}.card-number{right:9px;bottom:9px}.service-footnote{font-size:9px;line-height:1.8}.service-footnote a{display:inline-block;margin:6px 0 0}.quote-band{padding:70px 15px}.quote-band blockquote{font-size:40px}.visit{padding-top:76px;padding-bottom:78px;grid-template-columns:1fr;gap:44px}.visit-card{min-height:330px;padding:33px 30px}.visit-card-top{margin-bottom:34px}.visit-card h3{font-size:38px}.closing{padding:62px 15px}.closing p{font-size:32px}.footer{padding:21px 6%;gap:12px;flex-wrap:wrap}.footer-tag{display:none}.footer-credit{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
