/* Compact rhythm and continuous backgrounds for the transparent still lifes. */
.section{padding-block:60px}.section-head{margin-bottom:28px;gap:30px}.eyebrow{margin-bottom:12px}.passes-section{margin-top:38px}.spa-grid,.equipment-grid{gap:24px}.review-person{margin-bottom:16px}.review-card{padding:24px}.equipment-consult{padding:28px}
.spa-intro{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:18px;min-height:0;align-items:center;margin-bottom:32px;background:none;border:0}
.spa-intro>div{max-width:430px;padding:12px 0}.spa-intro h2{font-size:clamp(38px,4.4vw,56px)}.spa-intro p{margin-top:18px;margin-bottom:22px;max-width:360px}
.spa-intro>img{position:static;inset:auto;width:100%;height:auto;max-height:430px;object-fit:contain;object-position:center;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal;border:0;border-radius:0;z-index:auto;margin:0;background:transparent}
.gift-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px}.gift-copy{padding-block:38px}.gift-copy h2{font-size:clamp(32px,3.2vw,40px)}.gift-copy>p{margin-top:18px}.gift-discount{margin-block:18px}.gift-discount strong{font-size:50px}.gift-options{gap:9px;margin-bottom:22px}.gift-image{width:100%;height:auto;align-self:center;margin:0;background:transparent;border:0}.gift-image img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border:0;border-radius:0;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal;background:transparent}
.pass-banner{min-height:350px}.pass-copy{padding:26px;max-width:100%}.pass-copy h3{max-width:230px}.pass-copy .pass-price{margin-top:22px}.pass-copy .btn{width:auto;max-width:100%;background:transparent!important;border:1px solid #a98b54;color:#6b532f;padding:13px 20px}.pass-copy .btn:hover{background:#e8dcc4!important}.pass-copy small{max-width:220px}.pass-banner[data-pass-count="10"]{background:#1d3027;border-color:#435844;color:#f6eedc}.pass-banner[data-pass-count="10"]:after{background:linear-gradient(90deg,#1a2b22a6,transparent 76%)}.pass-banner[data-pass-count="10"] .eyebrow,.pass-banner[data-pass-count="10"] .pass-price{color:#e4c995}.pass-banner[data-pass-count="10"] p,.pass-banner[data-pass-count="10"] small{color:#e3dfd0}.pass-banner[data-pass-count="10"] .btn{color:#eed6a7;border-color:#c7aa75;background:#1d302780!important}.pass-banner[data-pass-count="10"] .btn:hover{background:#435342!important}
/* Footer is a distinct, useful destination with the studio's own logo. */
.site-footer{background:#20372c;color:#eee8d8;padding:42px 0 22px;border-top:1px solid #53604a}.footer-layout{display:grid;grid-template-columns:1.05fr .65fr 1.2fr;gap:48px;align-items:start}.footer-identity .footer-logo{display:inline-block;max-width:260px}.footer-logo img{width:260px;height:auto}.footer-identity p{font:italic 21px/1.35 var(--serif);color:#ded3bc;margin:15px 0 20px;max-width:245px}.footer-label{font:10px/1.5 var(--sans);letter-spacing:1.5px;text-transform:uppercase;color:#ccb78c;margin:10px 0 17px}.footer-links{display:grid;gap:9px;font-size:12px}.site-footer a:hover{color:#e3c58a}.footer-socials{display:flex;gap:9px}.footer-socials a,.footer-socials button{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #68725c;border-radius:50%;color:#dfcca8}.footer-socials button:disabled{opacity:.45;cursor:default}.footer-contact .footer-phone{display:inline-block;font:28px/1.2 var(--serif);color:#f4eddd;margin:0 0 17px}.footer-contact address{font-style:normal;font-size:12px;line-height:1.7;color:#dedfd2}.footer-contact address span{display:block}.footer-contact .footer-hours{font-size:11px;color:#c4cbb9;margin:12px 0 18px}.footer-actions{display:flex;flex-wrap:wrap;gap:10px}.footer-actions .btn{font-size:10px;padding:12px 18px;gap:0}.footer-actions .btn.outline{background:transparent;border-color:#a58d60;color:#e4cda4}.footer-bottom{border-top:1px solid #ffffff20;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:9px;color:#bac3b0}.footer-legal{display:flex;flex-wrap:wrap;gap:10px 22px}.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid #e5cc96;outline-offset:5px}
@media(max-width:1000px){.section{padding-block:48px}.spa-intro{grid-template-columns:.95fr 1.05fr}.spa-intro>div{max-width:350px}.spa-intro>img{max-height:360px}.footer-layout{gap:26px;grid-template-columns:1fr .65fr 1.2fr}.footer-logo img{width:220px}.footer-contact .footer-phone{font-size:24px}.pass-copy{padding:24px}}
@media(max-width:650px){.section{padding-block:38px}.section-head{gap:18px;margin-bottom:24px}.passes-section{margin-top:26px}.spa-intro{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.spa-intro>div{max-width:none;width:100%;padding:0}.spa-intro>img{width:100%;height:auto;max-height:none;margin:0}.spa-intro p{max-width:none}.spa-intro h2{font-size:40px}.spa-grid,.equipment-grid{gap:20px}.spa-banner-copy{padding:21px}.gift-layout{display:flex;flex-direction:column;gap:0}.gift-copy{padding:30px 0 8px}.gift-copy h2{font-size:32px}.gift-image{margin:0 0 20px;width:100%;height:auto}.gift-image img{height:auto;width:100%}.pass-banner{min-height:330px}.pass-copy{padding:25px}.pass-copy h3{font-size:27px;max-width:220px}.pass-copy .btn{padding:13px 18px}.site-footer{padding:30px 0 98px}.footer-layout{grid-template-columns:1fr 1fr;gap:24px 20px}.footer-logo img{width:210px}.footer-identity p{font-size:19px;margin:12px 0 18px}.footer-contact{grid-column:1/-1;padding-top:22px;border-top:1px solid #ffffff20}.footer-label{margin-top:4px;margin-bottom:13px}.footer-links{gap:9px;font-size:11px}.footer-contact .footer-phone{font-size:29px}.footer-contact address{font-size:12px}.footer-bottom{margin-top:24px;padding-top:16px;display:grid;gap:13px}.footer-legal{display:grid;gap:9px}.footer-actions .btn{flex:1}.footer-socials{gap:7px}.footer-socials a,.footer-socials button{width:36px;height:36px}}
/* A tighter shared rhythm, including the new transparent compositions. */
.section{padding-block:44px}.section-head{margin-bottom:24px;gap:24px}.passes-section{margin-top:30px}.spa-intro{margin-bottom:24px}.gift-card-brand{left:57%;top:69%}.site-footer{padding-top:32px}.footer-layout{gap:32px}.footer-bottom{margin-top:24px}
@media(max-width:650px){.section{padding-block:30px}.section-head{gap:12px;margin-bottom:18px}.passes-section{margin-top:20px}.spa-intro{gap:14px;margin-bottom:20px}.gift-copy{padding-top:24px}.site-footer{padding-top:28px}.footer-layout{gap:22px 18px}}
/* Keep the first-screen caption legible over the pale flowers. */
.hero-caption{right:6%;bottom:42px;max-width:250px;padding:18px 24px;color:#f6eddb;background:#20372cf2;border:1px solid #c6ac784d;border-radius:3px;font-size:25px;line-height:1.3;transform:none;box-shadow:0 8px 28px #16251b24}
 .hero .actions{max-width:670px;align-items:stretch}.hero .hero-call{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;min-width:0;max-width:100%;padding:13px 20px;line-height:1.35;white-space:nowrap;background:var(--green);border:1px solid #829478;color:#f8f3e9}.hero .hero-call:hover{background:#3c5843;border-color:#a2b093}.hero .hero-call:focus-visible{outline:2px solid #ead7ad;outline-offset:4px}
@media(max-width:850px){.hero-caption{display:none}}
@media(max-width:650px){.hero .hero-call{width:100%;padding:12px 16px}}
/* Titles remain anchored after removing decorative card numbering. */
.benefit-banner>div{justify-content:flex-end}

/* Warm ivory lets the bright SPA photographs sit naturally in the section. */
.spa-section{background:#f0ebe1;color:var(--ink);border-block:1px solid #e3dbce}
.spa-intro .eyebrow.light{color:#89734e}.spa-intro h2 em{color:#88734e}.spa-intro p{color:var(--muted)}
.spa-item.spa-banner{background:#fcfaf5;border:1px solid #ddd5c6;border-radius:5px;color:var(--ink);box-shadow:0 5px 18px #362c1b05;transition:border-color .18s,box-shadow .18s}
.spa-banner>img{display:block;aspect-ratio:auto;object-fit:contain;width:100%;height:auto;background:#eee8dc;border-bottom:1px solid #e5ddcf}
.spa-banner-copy{gap:0}.spa-banner-copy .eyebrow{color:#8c7651}.spa-banner-copy h3{color:#293b30}.spa-banner-copy .spa-subtitle{color:#6e7166}.spa-banner-copy strong{color:#81613a}
.spa-item.spa-banner:hover{border-color:#ad9670;box-shadow:0 8px 24px #362c1b0b}.spa-item.spa-banner:hover h3{color:#866337}.spa-item.spa-banner:focus-visible{outline:2px solid #9f7d46;outline-offset:4px}

/* Frame only empty transparent canvas; every visible part of the stone stays inside. */
.spa-intro>.spa-art{position:relative;aspect-ratio:1.65;overflow:hidden;max-width:none;padding:0;width:100%;min-width:0;isolation:isolate}
.spa-art>img{position:absolute;left:-22%;top:50%;width:140%;max-width:none;height:auto;transform:translateY(-56%);object-fit:contain;border:0;background:transparent}
@media(max-width:650px){.spa-intro>.spa-art{margin:0;align-self:center;max-width:520px}}
/* One continuous interior scene connects the copy and complete still life. */
.spa-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:30px 34px;border:1px solid #dbd0bc;border-radius:7px;background-color:#eee5d5;background-image:linear-gradient(90deg,#f8f3e9f5 0%,#f8f3e9e6 32%,#f8f3e940 59%,#f8f3e905 100%),url('/media/spa-interior-bg-v4.webp');background-size:cover;background-position:center;box-shadow:0 8px 25px #503c2108}
.spa-intro>div:first-child{padding:0;max-width:370px}.spa-intro>.spa-art{margin:0}.spa-art>img{filter:drop-shadow(0 10px 9px #57402a20)}
@media(max-width:1000px){.spa-intro{padding:26px 24px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.spa-intro h2{font-size:44px}.spa-intro p{margin-block:15px 18px}}
@media(max-width:650px){.spa-intro{padding:24px 20px;gap:14px;background-position:66% center;background-image:linear-gradient(180deg,#f8f3e9f2 0%,#f8f3e9df 45%,#f8f3e920 100%),url('/media/spa-interior-bg-v4.webp')}.spa-intro>div:first-child{max-width:none}.spa-intro h2{font-size:37px}.spa-intro>.spa-art{width:calc(100% + 12px);max-width:520px}.spa-art>img{filter:drop-shadow(0 7px 7px #57402a1c)}}

/* Native service links inherit the card wrapping behavior of detail buttons. */
.card-body h3 a{display:block;max-width:100%;font:inherit;text-align:left;overflow-wrap:anywhere}
