/* A light, warm closing section shared by all public pages. */
.cta-band{position:relative;background:#fff8ef;color:#513321;padding:46px 0 0}
.cta-band .container{position:relative;isolation:isolate;overflow:hidden;padding:38px 44px;gap:35px;border:1px solid #eed8ba;border-radius:24px;background:radial-gradient(ellipse at 95% 15%,#efd0a58c,transparent 62%),linear-gradient(115deg,#fff5e6,#f6e4ce);box-shadow:0 12px 35px #83502508}
.cta-band .container:after{content:'';position:absolute;z-index:-1;right:-35px;top:-65px;width:210px;height:260px;border:1px solid #c9945566;border-radius:100% 0 100% 0;transform:rotate(30deg);pointer-events:none}
.cta-band .eyebrow.light{color:#9a572e;font-size:10px;letter-spacing:.19em;margin-bottom:12px}
.cta-band h2{font-size:clamp(24px,2.4vw,31px);line-height:1.3;max-width:590px;text-wrap:balance}
.cta-band .button.cream{flex:none;gap:16px;background:linear-gradient(125deg,#a95a2b,#7d3f24);color:#fff9ef;border-color:#a2663d;min-height:52px;border-radius:11px;box-shadow:0 8px 20px #874a2719}
.cta-band .button.cream:after{content:'↗';font-size:18px;font-weight:400}
.footer.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 25px;background:radial-gradient(ellipse at 100% 100%,#efd4af55,transparent 55%),linear-gradient(#fff8ef,#f9eddd);color:#75583f}
.site-footer .footer-grid{position:relative;z-index:1;grid-template-columns:1.1fr 1fr .95fr;gap:65px;align-items:start}
.site-footer .footer-grid>div{min-width:0}
.site-footer .footer-logo{width:215px;height:94px;object-fit:contain;object-position:left center;margin:0 0 15px}
.site-footer .footer-home{display:inline-block}
.site-footer p{font-size:13px;line-height:1.85;margin:0 0 16px;color:#795e48}
.site-footer .footer-brand p{max-width:270px}
.site-footer .footer-signature{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#9a5b30;margin-top:22px}
.footer-signature .wellness-icon{width:24px;height:24px}
.site-footer h2{font:600 11px/1.5 'DM Sans',sans-serif;color:#8c512d;letter-spacing:.17em;text-transform:uppercase;margin:17px 0 19px}
.site-footer address{font-style:normal;font-size:13px;line-height:1.9;color:#614530}
.site-footer address span{display:block;color:#795e48;margin-top:5px}
.site-footer a{color:#68442c}
.site-footer .footer-directions{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:12px;font-size:12px;border-bottom:1px solid #c7a078}
.site-footer .footer-booking-note{font-size:12px;margin-bottom:10px}
.site-footer .footer-phone{display:flex;align-items:center;gap:18px;min-height:44px;font:24px/1.5 Marcellus,serif;letter-spacing:-.025em;color:#975129;width:fit-content}
.footer-phone span{font:18px 'DM Sans',sans-serif}
.site-footer .footer-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;font-size:12px}
.site-footer .footer-extra{position:relative;z-index:1;gap:8px 28px;margin-top:35px;padding-top:22px;border-top:1px solid #e7d3b8}
.site-footer .footer-extra a{display:inline-flex;align-items:center;min-height:40px;font-size:12px}
.site-footer .footer-extra a:before{content:'';width:4px;height:4px;background:#b17a48;border-radius:50%;margin-right:10px}
.site-footer .footer-bottom{position:relative;z-index:1;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-color:#e7d3b8;color:#80664e;font-size:11px}
.site-footer .footer-credit{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:36px;color:#80664e}
.footer-credit strong{font-size:11px;letter-spacing:.06em;font-weight:600;color:#805030}
.footer-credit>span{color:#a86737;font-size:15px;margin-left:2px}
.footer-botanical{position:absolute;z-index:0;right:-55px;bottom:50px;transform:rotate(-23deg);opacity:.12;pointer-events:none}
.footer-botanical .wellness-icon{width:260px;height:290px;color:#b78646;stroke-width:.5}
.site-footer a:focus-visible{outline:3px solid #995323;outline-offset:4px;border-radius:3px}
@media(hover:hover){.site-footer a:hover{color:#a45b29}.site-footer .footer-extra a:hover,.site-footer .footer-email:hover{text-decoration:underline;text-underline-offset:5px}.site-footer .footer-credit:hover strong{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1000px){.site-footer .footer-grid{gap:32px}.site-footer .footer-phone{font-size:21px}.cta-band .container{padding:32px}.cta-band h2{max-width:440px}}
@media(max-width:760px){
 .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .site-footer .footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:center}
 .site-footer .footer-brand p{margin:0}
 .site-footer .footer-signature{grid-column:2;margin-top:4px}
 .site-footer .footer-home{grid-row:1/3}
 .cta-band .container{gap:24px;padding:30px;align-items:flex-start;flex-direction:column}
 .cta-band h2{max-width:490px}
}
@media(max-width:540px){
 .cta-band{padding-top:28px}
 .cta-band .container{width:calc(100% - 32px);padding:27px 23px;border-radius:20px;gap:22px}
 .cta-band .eyebrow.light{font-size:9px}
 .cta-band h2{font-size:25px;text-wrap:pretty;max-width:310px}
 .cta-band .button.cream{min-height:49px;padding:0 19px;font-size:13px}
 .footer.site-footer{padding:37px 0 20px}
 .site-footer .container{width:calc(100% - 48px)}
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .site-footer .footer-brand{display:block;grid-column:auto}
 .site-footer .footer-logo{width:190px;height:84px;margin-bottom:12px}
 .site-footer .footer-brand p{max-width:280px;font-size:13px}
 .site-footer .footer-signature{margin-top:17px;font-size:9px}
 .site-footer .footer-visit,.site-footer .footer-booking{padding-top:22px;border-top:1px solid #e7d3b8}
 .site-footer h2{margin:0 0 12px;font-size:10px}
 .site-footer .footer-directions{margin-top:7px}
 .site-footer .footer-phone{font-size:23px}
 .site-footer .footer-extra{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin-top:25px;padding-top:17px}
 .site-footer .footer-extra a{font-size:11px;min-height:44px}
 .site-footer .footer-extra a:before{margin-right:7px;width:3px;height:3px;flex:none}
 .site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:3px;margin-top:17px;padding-top:17px;font-size:10px}
 .site-footer .footer-credit{font-size:10px}
 .footer-botanical{right:-75px;bottom:215px;opacity:.1}
}
@media(prefers-reduced-motion:reduce){.site-footer a,.cta-band .button{transition:none}}
.social-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.social-links .social-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #dec5a5;border-radius:24px;background:#fff8ee;color:#80502e;font:500 12px/1.5 'DM Sans',sans-serif;text-decoration:none;transition:background .2s,border-color .2s}
.social-link svg{width:20px;height:20px;flex:none}
.social-link .social-arrow{font-size:13px;color:#a06d43}
.social-links .social-link:hover{background:#fbead3;border-color:#bf9262;color:#754222}
.social-links .social-link:focus-visible{outline:3px solid #995323;outline-offset:3px}
.contact-details>.social-links{margin:25px 0 0}
.contact-grid>* ,.contact-card>div{min-width:0}
.contact-card a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.social-links .social-link{transition:none}}
@media print{.footer-botanical,.cta-band .container:after{display:none}.footer.site-footer,.cta-band{background:white}}
