:root{--paper:#f7f5ee;--ink:#344b40;--muted:#657167;--line:#d8dcd1;--sage:#e8ebdf;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}.header{max-width:1440px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--serif);font-size:44px;line-height:.85;letter-spacing:-2px;display:inline-block}.brand span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:3.2px;text-align:center;margin-top:14px}.header nav{display:flex;gap:38px;font-size:14px}.header nav a:last-child{border-bottom:1px solid var(--ink);padding-bottom:4px}.header nav span{margin-left:25px}.hero{max-width:1440px;display:grid;grid-template-columns:1fr 1fr;margin:auto;padding:20px 6% 66px;gap:6%}.hero-copy{padding-top:43px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(56px,6.5vw,94px);line-height:1.08;letter-spacing:-3px;margin-bottom:27px}em{font-weight:400;color:#758064}h1 em{font-style:italic}p.intro{max-width:365px;color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:48px;padding:15px 23px;background:var(--ink);color:var(--paper);font-size:14px;border-radius:2px;transition:background .2s}.button:hover{background:#526550}.button span{font-size:22px}.hero-note{display:flex;gap:15px;margin-top:47px;font-size:12px;line-height:1.6;color:var(--muted)}.small-flower{font-size:35px;line-height:1.1;font-weight:200}.hero-art{position:relative;align-self:start;max-width:540px}.hero-art>svg{width:100%;display:block;border-radius:220px 220px 3px 3px}.art-caption{position:absolute;bottom:23px;left:27px;font-size:10px;letter-spacing:2.8px;color:#fff8e9}.art-seal{position:absolute;bottom:73px;left:-38px;width:119px;height:119px;border-radius:50%;background:var(--paper);text-align:center;padding:22px 10px;font-size:12px;line-height:1.5;border:1px solid var(--line);transform:rotate(-12deg)}.art-seal em{font-family:var(--serif);font-size:23px}.art-seal span{display:block;font-size:20px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 6%;font-size:11px;letter-spacing:2.2px}.ribbon i{font-size:22px;font-style:normal;color:#879277}.section{max-width:1440px;margin:auto;padding:95px 6%}h2{font-size:clamp(38px,4.1vw,58px);line-height:1.2;letter-spacing:-1.8px;margin-bottom:25px}.about{display:grid;grid-template-columns:.85fr 1.45fr .7fr;gap:6%;align-items:start}.about>.eyebrow{max-width:180px;padding-top:12px}.about p:not(.eyebrow){color:var(--muted);max-width:490px}.about-mark{align-self:center;text-align:center;color:#8c987e}.about-mark svg{width:145px;max-width:100%}.about-mark span{display:block;font-size:10px;letter-spacing:2px;margin-top:15px}.services{background:#edf0e6;max-width:none}.section-heading{max-width:1267px;margin:0 auto 42px;display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:5px}.service-grid{max-width:1267px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:var(--paper);padding:28px 30px 10px;border:1px solid #dce0d3}.service-number{font-size:11px;letter-spacing:2px;color:var(--muted)}.motif{height:170px;display:flex;align-items:center;justify-content:center;margin:18px 0}.motif svg{height:150px;width:190px;fill:none;stroke:#7c8b73;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.relax{background:#eee9de;border-radius:90px 90px 0 0}.face{background:#e7eadd;border-radius:50%}.body{background:#e8e8db;border-radius:90px 0 90px 0}.service-card h3{font-size:29px;margin-bottom:12px;letter-spacing:-.6px}.service-card p{font-size:14px;line-height:1.8;color:var(--muted);min-height:77px}.service-card details{border-top:1px solid var(--line);font-size:14px;margin-top:24px}.service-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:18px 0;align-items:center}.service-card summary::-webkit-details-marker{display:none}.service-card summary span{font-size:22px}.service-card details[open] summary span{transform:rotate(45deg)}.service-card ul{padding-left:18px;color:var(--muted);line-height:1.8}.service-card li{margin-bottom:10px}.pause{text-align:center;padding:78px 20px;background:var(--ink);color:var(--paper)}.pause>span{display:block;font-size:40px;color:#c4cfb3;margin-bottom:20px}.pause p{font-size:15px;margin-bottom:8px;color:#d6ddce}.pause h2{font-size:clamp(37px,4.2vw,58px);margin-bottom:30px}.pause h2 em{color:#d3d9b9}.text-link{font-size:14px;border-bottom:1px solid #9da98f;padding-bottom:8px}.text-link span{margin-left:30px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.contact>div>p:not(.eyebrow){color:var(--muted);max-width:400px}.contact-panel{padding:36px;background:var(--sage);border-top:1px solid #b4bda8}.contact-panel h3{font-size:28px;margin-bottom:16px}.contact-panel p{font-size:14px}.contact-status{font-size:12px;color:#52614d;display:inline-block;padding:7px 12px;border:1px solid #b9c2af;border-radius:20px}footer{display:flex;flex-wrap:wrap;align-items:center;gap:25px;border-top:1px solid var(--line);padding:35px 6%;max-width:1440px;margin:auto}footer .brand{font-size:34px}footer .brand span{font-size:8px;margin-top:10px}footer p{font-family:var(--serif);font-style:italic;font-size:18px;margin:0 auto 0 25px}footer>a:last-of-type{font-size:12px}footer small{width:100%;font-size:12px;color:var(--muted);margin-top:15px}a:hover{opacity:.85}@media(min-width:1600px){.services{padding-left:calc((100vw - 1267px)/2);padding-right:calc((100vw - 1267px)/2)}}@media(max-width:950px){.hero-copy{padding-top:15px}h1{font-size:64px}.hero{gap:5%;padding-bottom:45px}.hero-note{margin-top:30px}.about{grid-template-columns:1fr 2fr}.about-mark{display:none}.service-card{padding:23px 20px 8px}.service-card h3{font-size:26px}.service-card p{min-height:110px}.section{padding-top:70px;padding-bottom:70px}.ribbon{letter-spacing:1px;font-size:10px}}@media(max-width:650px){.header{padding:25px 6%}.header nav{gap:18px;font-size:12px}.header nav span{margin-left:5px}.brand{font-size:36px}.brand span{font-size:8px}.hero{grid-template-columns:1fr;padding-top:15px;gap:30px}.hero-copy{padding-top:15px}h1{font-size:clamp(56px,14vw,76px);letter-spacing:-2px}.eyebrow{font-size:11px;letter-spacing:1.6px;margin-bottom:22px}.hero-note{display:none}.hero-art{margin-left:28px;max-width:none}.hero-art>svg{max-height:510px}.art-seal{width:100px;height:100px;bottom:52px;left:-25px;padding-top:14px}.art-caption{font-size:9px}.ribbon{flex-wrap:wrap;gap:10px 18px;padding:20px 6%}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.ribbon i{font-size:15px}.about{display:block}.about>.eyebrow{max-width:none;padding:0}.section{padding:55px 6%}h2{font-size:40px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:25px 26px 8px}.motif{height:160px;width:100%;margin:20px auto}.service-card p{min-height:0;font-size:16px}.service-card h3{font-size:31px}.pause{padding:60px 6%}.contact{grid-template-columns:1fr;gap:20px}.contact-panel{padding:28px}footer{gap:20px}footer p{font-size:16px;max-width:180px;margin-left:auto}footer>a:last-of-type{width:100%}footer small{margin-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:380px){.header{flex-wrap:wrap;gap:26px}.header nav{width:100%;justify-content:space-between}.header nav a{white-space:nowrap}h1{font-size:53px}}

.contact-panel address{font-style:normal;color:var(--muted);line-height:1.9;font-size:16px;margin-bottom:18px}.contact-phone{display:inline-block;font-family:var(--serif);font-size:30px;line-height:1.3;margin-bottom:25px}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.contact-actions .button{gap:24px}.contact-actions .text-link span{margin-left:12px}.directions{display:inline-block;margin-top:25px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.directions span{display:inline-block;margin-left:8px}

.booking{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;border-bottom:1px solid var(--line)}.booking>div>p:not(.eyebrow){color:var(--muted);max-width:400px}.booking-note{font-size:14px;border-left:2px solid #9ba78d;padding-left:17px}.booking-form{padding:32px;background:var(--sage)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:14px}.form-grid .full{grid-column:1/-1}.form-grid label>span{color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);border:1px solid #bcc5b2;background:var(--paper);border-radius:2px;padding:12px}.form-grid textarea{resize:vertical}.booking-consent{display:flex;align-items:start;gap:10px;margin:20px 0;font-size:14px;line-height:1.6}.booking-consent input{margin-top:6px;width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.booking-form .button{border:0;font-family:inherit;font-size:16px;cursor:pointer;margin-top:15px;min-height:48px}.booking-form .button:disabled{opacity:.55;cursor:not-allowed}.booking-form input:focus-visible,.booking-form textarea:focus-visible,.booking-form select:focus-visible,.booking-form button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#booking-status{font-size:14px;margin:18px 0 0;color:var(--ink)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:950px){.header{flex-wrap:wrap;gap:25px}.header nav{flex-wrap:wrap;gap:20px}.booking{grid-template-columns:1fr;gap:25px}.booking>div>p:not(.eyebrow){max-width:600px}}@media(max-width:650px){.header nav{width:100%;justify-content:space-between;gap:10px}.booking-form{padding:23px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-form .button{width:100%;justify-content:center}}

/* Paper-cut stickers with softly uneven illustrated contours. */
.sticker{object-fit:contain;display:inline-block;filter:drop-shadow(0 3px 2px #344b4014)}.small-flower{width:48px;height:48px;transform:rotate(-11deg);margin-top:-7px}.seal-sticker{display:block;margin:-3px auto 0;width:36px;height:36px}.ribbon-sticker{width:32px;height:32px;transform:rotate(12deg)}.pause-sticker{display:block;width:80px;height:80px;margin:0 auto 15px;transform:rotate(-9deg)}.about-sticker{width:160px;height:160px;transform:rotate(-13deg)}.motif{background:none;border-radius:0}.service-sticker{width:190px;height:190px;transform:rotate(-6deg)}.relax .service-sticker{transform:rotate(5deg)}.body .service-sticker{transform:rotate(-3deg)}.service-card summary .detail-label,.service-card details[open] summary .detail-label{font-family:Arial,sans-serif;font-size:12px;transform:none;color:var(--muted)}.detail-close{display:none}.service-card details[open] .detail-open{display:none}.service-card details[open] .detail-close{display:inline}.service-card summary .detail-label span{font-size:12px}.privacy-note{width:100%;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.privacy-note summary{cursor:pointer;font-size:14px;list-style:none}.privacy-note p{font-family:Arial,sans-serif;font-size:14px;font-style:normal;line-height:1.8;max-width:850px;margin:15px 0}.privacy-note a{text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.service-sticker{width:180px;height:180px}.ribbon-sticker{width:25px;height:25px}.ribbon .ribbon-sticker:last-of-type{display:none}}
