@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-variable.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Lato;src:url("../fonts/lato-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url("../fonts/lato-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#171a18;--wine:#222522;--panel:#2b2f2b;--rose:#4f8061;--blush:#d7b27c;--pearl:#f5f1e9;--mist:#d9d8d0;--muted:#a8ada8;--line:#464c47;--gold:#c5914f;--max:1220px;--header:72px;--r:4px;--serif:"Cormorant Garamond",Georgia,serif;--sans:Lato,Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--pearl);font:400 16px/1.65 var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}section{scroll-margin-top:var(--header)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:100;background:var(--pearl);color:var(--ink);padding:12px}.container,.shell{width:min(calc(100% - 48px),var(--max));margin:auto}.section-pad,.section{padding:clamp(76px,9vw,124px) 0}.section-label,.kicker{display:block;margin-bottom:18px;color:var(--blush);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.kicker{display:flex;align-items:center;gap:12px}.kicker:before{content:"";width:30px;border-top:1px solid currentColor}.section-title,.section h2{max-width:800px;margin:0 0 20px;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.04}.section-sub,.lead{max-width:610px;margin:0 0 52px;color:var(--mist);font-size:1.02rem}
.header-cta,.m-cta,.btn-service,.dir-btn,.final-cta-btn,.btn-primary,.btn,.mobile-call{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border:1px solid var(--pearl);border-radius:var(--r);background:var(--pearl);color:var(--ink);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:.25s}.btn-outline,.btn-light{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 4px;border:0;background:transparent;color:var(--blush);font-weight:700;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.btn-service{min-height:38px;padding:9px 14px;background:transparent;border-color:var(--line);color:var(--pearl);font-size:.75rem}a:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.header,.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:50;background:rgba(11,47,28,.9);border-bottom:1px solid rgba(240,212,155,.14);backdrop-filter:blur(18px)}.header-inner,.nav{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.logo,.brand{display:flex;align-items:center;text-decoration:none}.logo img,.brand img{width:92px;height:64px;object-fit:contain}.brand span{display:none}.header-timing{justify-self:center;margin:0;color:var(--muted);font-size:.72rem;white-space:nowrap}.header-timing span{color:var(--blush)}.desktop-nav,.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:20px}.desktop-nav>a:not(.header-cta),.nav-links>a:not(.btn){color:var(--mist);font-size:.79rem;text-decoration:none}.header-cta{min-height:42px;padding:10px 16px}.hamburger,.menu-button,.mobile-nav{display:none}
.site-header .nav>.btn:last-child{justify-self:end}
.hero{min-height:100dvh;padding-top:var(--header);position:relative;display:flex;align-items:center;overflow:hidden;background:var(--ink)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,47,28,.99),rgba(11,47,28,.86) 42%,rgba(11,47,28,.18) 75%),linear-gradient(0deg,rgba(11,47,28,.72),transparent 50%)}.hero-content{position:relative;z-index:1;width:min(calc(100% - 48px),var(--max));margin:auto;padding:58px 0}.hero-badge{margin-bottom:24px;color:var(--blush);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero h1{max-width:690px;margin:0 0 24px;font-size:clamp(3.2rem,6.5vw,6.2rem);line-height:1}.hero h1 em{display:block;color:var(--blush);line-height:1.1;padding-bottom:4px}.hero-sub{max-width:520px;margin:0 0 30px;color:var(--mist);font-size:1.08rem}.hero-buttons,.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-trust{display:flex;gap:28px;margin-top:38px;color:var(--muted);font-size:.8rem}.trust-item{display:flex;align-items:center;gap:8px}.trust-item:before{content:"";width:5px;height:5px;background:var(--rose)}.urgency-bar,.availability{padding:13px 24px;background:var(--rose);color:var(--ink);text-align:center;font-size:.86rem;font-weight:700}.urgency-bar a,.availability a{text-decoration:underline}
.services-section,.direction-section,.section.dark{background:var(--wine)}.why-section,.membership-section{background:var(--ink)}.couple-section,.section.alt{background:var(--wine)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;border-top:1px solid var(--rose)}.service-card{min-height:150px;padding:28px 4px;border-bottom:1px solid var(--line)}.service-card:nth-child(odd){padding-right:32px}.service-card:nth-child(even){padding-left:32px}.service-body{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 24px}.service-body h3{margin:0;font-size:1.45rem}.service-price{grid-column:2;grid-row:1;color:var(--blush);font:400 1.35rem var(--serif)}.service-duration{grid-column:1;margin:0;color:var(--muted);font-size:.82rem}.service-body .btn-service{grid-column:2;grid-row:2}.section-action{margin:36px 0 0}.section-action .btn-outline{padding-inline:0}
.why-grid,.pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:46px}.why-card,.pillar{min-height:220px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.why-card h3,.pillar b{display:block;margin:0 0 10px;font:400 1.35rem var(--serif)}.why-card p,.pillar span{color:var(--muted);font-size:.86rem}
.couple-grid,.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.couple-card,.feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:30px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(23,74,45,.88),rgba(11,47,28,.35))}.couple-card:nth-child(2),.couple-card:nth-child(3){background:linear-gradient(145deg,rgba(55,99,68,.35),rgba(11,47,28,.3))}.couple-card h3,.feature h3{grid-column:1/-1;margin:0 0 6px;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.15}.couple-card p,.feature p{margin:0;padding:11px 12px;border-top:1px solid var(--line);color:var(--mist);font-size:.84rem}.couple-card .btn-service,.feature .btn{grid-column:1/-1;width:auto;min-width:180px;min-height:50px;margin-top:4px;justify-self:start;background:var(--pearl);border-color:var(--pearl);color:var(--ink)}.price-display{color:var(--blush)!important;font:400 1.2rem var(--serif)!important}
.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rose);border-left:1px solid var(--line)}.membership-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.membership-grid h3{margin:0;color:var(--blush);font-size:2rem}.membership-grid p{margin:8px 0 0;color:var(--pearl)}.membership-grid span{color:var(--muted);font-size:.82rem}
.direction-grid,.location{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--line)}.direction-info,.location-card{padding:clamp(32px,5vw,64px);background:var(--panel)}.direction-info h3,.location-card h2{font-size:2rem}.direction-info p,.location-card address{color:var(--mist);font-style:normal}.dir-btn{margin-top:10px}.direction-map iframe,.map iframe{display:block;width:100%;height:100%;min-height:520px;border:0;filter:grayscale(1) invert(.88) contrast(.85)}
.final-cta{padding:clamp(80px,10vw,140px) 24px;background:var(--blush);color:var(--ink);text-align:center}.final-cta h2{margin:0 0 18px;font-size:clamp(3rem,7vw,6.5rem);line-height:1}.final-cta h2 em{display:block}.final-cta p{max-width:570px;margin:0 auto 30px}.final-cta-btn{background:var(--ink);border-color:var(--ink);color:var(--pearl)}.footer,.site-footer{height:auto;position:static;padding:40px 24px 100px;background:var(--ink);color:var(--muted);text-align:center;font-size:.8rem}.footer-logo{display:inline-flex;margin-bottom:16px}.footer-logo img{width:104px;height:72px;object-fit:contain}.footer p{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:0}.footer a,.site-footer a{color:var(--blush);text-underline-offset:3px}.mobile-sticky,.mobile-call{display:none}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}.reveal.in{opacity:1;transform:none}
/* Shared inner-page structure */
.page-hero{min-height:560px;padding:calc(var(--header) + 72px) 0 78px;position:relative;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(11,47,28,.98),rgba(11,47,28,.7)),url("../images/tatva-treatment-room-hero.webp") center/cover no-repeat;color:var(--pearl)}.page-hero h1{max-width:820px;margin:16px 0 22px;font-size:clamp(3.2rem,7vw,6.1rem);line-height:1}.page-hero p{max-width:660px;color:var(--mist);font-size:1.05rem}.page-hero .hero-actions{margin-top:28px}.copy-grid,.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(42px,8vw,100px);align-items:start}.price-card{padding:34px;border-left:3px solid var(--rose);background:var(--panel);color:var(--pearl)}.price-card h3{margin:0 0 14px;font-size:2rem}.price-card p{color:var(--mist)}.treatment-list{border-top:1px solid var(--rose);margin-top:38px}.treatment{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.treatment h3{margin:0;font-size:1.45rem}.treatment p{margin:3px 0;color:var(--muted);font-size:.86rem}.prices{text-align:right;color:var(--blush);font-size:.86rem}.faq details{padding:20px 0;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.membership{overflow:auto}.membership table{width:100%;min-width:650px;border-collapse:collapse}.membership th,.membership td{padding:18px;border-bottom:1px solid var(--line);text-align:left}.membership th{color:var(--blush);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;text-align:left}.footer-links a{display:block;margin:8px 0}.fine{margin-top:40px;color:var(--muted);font-size:.75rem}
.truth-rail{padding:14px 0;background:var(--rose);color:var(--ink);font-size:.86rem;font-weight:700}.truth-rail .container{display:flex;justify-content:space-between;gap:24px}.truth-rail a{text-decoration:underline}.content-section{background:var(--ink)}.content-section.alt{background:var(--wine)}.need-grid,.trust-list{display:grid;grid-template-columns:repeat(2,1fr);margin-top:40px;border-top:1px solid var(--rose);border-left:1px solid var(--line)}.need-grid article,.trust-list article{min-height:190px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.need-grid h3,.trust-list h3{margin:0 0 10px;font-size:1.4rem}.need-grid p,.trust-list p{margin:0;color:var(--muted)}.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--rose)}.fact-strip div{padding:22px 24px 0 0}.fact-strip strong{display:block;color:var(--blush);font:400 1.35rem var(--serif)}.fact-strip span{color:var(--muted);font-size:.82rem}.faq{max-width:880px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--pearl);font:400 1.25rem var(--serif);list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--rose);font-family:var(--sans)}.faq details[open] summary:after{content:"−"}.faq details p{max-width:720px;color:var(--mist)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.related-links a{min-height:112px;display:flex;align-items:flex-end;padding:22px;border:1px solid var(--line);font:400 1.25rem var(--serif);text-decoration:none}.related-links a:hover{border-color:var(--rose);background:var(--wine)}.booking-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,7vw,90px);align-items:center;padding:clamp(30px,5vw,52px);border-left:3px solid var(--rose);background:var(--panel)}.booking-panel h3{margin:0 0 12px;font-size:clamp(1.8rem,3vw,2.7rem)}.booking-panel p{color:var(--mist)}.booking-details{display:grid;gap:10px}.booking-details strong{color:var(--blush);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.booking-details .price-display{font-size:2rem!important}.policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(48px,8vw,100px)}.policy-nav{position:sticky;top:100px;align-self:start}.policy-nav a{display:block;padding:9px 0;color:var(--muted);font-size:.88rem}.policy-copy section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}.policy-copy h2{font-size:clamp(1.8rem,3vw,2.6rem)}.policy-copy p,.policy-copy li{color:var(--mist)}
.section-index{color:var(--blush);font:400 4.5rem/1 var(--serif)}
@media(max-width:1080px){.header-timing{display:none}.header-inner,.nav{grid-template-columns:auto 1fr}.desktop-nav,.nav-links{gap:15px}.why-grid,.pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){:root{--header:64px}.container,.shell,.hero-content{width:calc(100% - 32px)}.section-pad,.section{padding:72px 0}.header-inner,.nav{width:calc(100% - 32px);grid-template-columns:1fr auto}.logo img,.brand img{width:78px;height:58px}.desktop-nav,.nav-links{display:none}.hamburger,.menu-button{display:block;width:44px;height:44px;padding:0;border:0;background:none;color:var(--pearl);font-size:.75rem}.mobile-nav.open{position:fixed;inset:var(--header) 0 0;z-index:49;display:flex;flex-direction:column;padding:34px 20px;background:var(--ink)}.mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font:400 1.35rem var(--serif);text-decoration:none}.mobile-nav .m-cta{margin-top:24px;font:700 .9rem var(--sans)}.hero{min-height:auto;align-items:flex-start}.hero-bg{min-height:580px}.hero:after{background:linear-gradient(0deg,rgba(11,47,28,.99) 9%,rgba(11,47,28,.72) 63%,rgba(11,47,28,.28))}.hero-content{padding:330px 0 34px}.hero h1{font-size:clamp(2.8rem,12vw,3.8rem)}.hero h1 em{display:inline}.hero-buttons{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.hero-trust{justify-content:space-between;gap:6px;font-size:clamp(.58rem,2.2vw,.72rem)}.trust-item{gap:4px;white-space:nowrap}.services-grid,.couple-grid,.membership-grid,.direction-grid,.location,.copy-grid,.intro,.feature-grid,.footer-grid,.booking-panel,.policy-layout{grid-template-columns:1fr}.service-card,.service-card:nth-child(odd),.service-card:nth-child(even){padding:24px 0}.couple-card,.feature{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px}.couple-card p,.feature p{grid-column:1/-1;padding:12px 0;font-size:.95rem}.couple-card .btn-service,.feature .btn{width:100%;min-width:0}.why-grid,.pillars,.need-grid,.trust-list{grid-template-columns:1fr 1fr}.why-card,.pillar,.need-grid article,.trust-list article{min-height:190px;padding:22px 16px}.direction-map iframe,.map iframe{min-height:360px}.page-hero{min-height:520px;padding-bottom:50px}.page-hero h1{font-size:clamp(2.8rem,13vw,4.15rem)}.treatment{grid-template-columns:1fr;gap:8px}.prices{text-align:left}.truth-rail .container{display:block}.truth-rail a{display:block;margin-top:4px}.fact-strip,.related-links{grid-template-columns:1fr}.policy-nav{position:static}.mobile-sticky,.mobile-call{position:fixed;z-index:48;left:12px;right:12px;bottom:12px;display:block;padding:0;border:0;background:none}.mobile-sticky a,.mobile-call{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;padding:14px;background:var(--rose);color:var(--ink);border-radius:var(--r);font-weight:700;text-decoration:none;box-shadow:0 12px 32px rgba(0,0,0,.38)}.site-footer,.footer{padding-bottom:112px}}
@media(max-width:430px){.why-grid,.pillars{grid-template-columns:1fr}.hero-buttons{grid-template-columns:1fr}.section-title,.section h2{font-size:2.65rem}.service-body{grid-template-columns:1fr auto;gap:10px}.service-body .btn-service{grid-column:1/-1;width:100%}.membership-grid{grid-template-columns:1fr 1fr}.final-cta-btn{width:100%;white-space:normal}.page-hero .hero-actions{display:grid}.page-hero .hero-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition-duration:.01ms!important}}

/* 1.3.0 neutral mineral palette and service imagery */
.header,.site-header{background:rgba(23,26,24,.92);border-bottom-color:rgba(215,178,124,.16)}
.hero:after{background:linear-gradient(90deg,rgba(23,26,24,.98),rgba(23,26,24,.83) 42%,rgba(23,26,24,.16) 75%),linear-gradient(0deg,rgba(23,26,24,.7),transparent 50%)}
.urgency-bar,.availability{background:var(--blush)}
.experience-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin:0 0 58px}
.experience-shot{position:relative;grid-column:span 5;min-height:270px;overflow:hidden;border:1px solid var(--line);background:var(--panel);color:var(--pearl);text-decoration:none}
.experience-shot-wide{grid-column:span 7}
.experience-shot img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.8) contrast(1.03);transition:transform .55s ease,filter .3s ease}
.experience-shot:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(15,17,16,.92),transparent)}
.experience-shot span{position:absolute;z-index:1;left:22px;right:22px;bottom:19px;color:#e1e1dc;font-size:.78rem}
.experience-shot strong{display:block;margin-bottom:2px;color:#fff;font:400 1.55rem/1.1 var(--serif)}
.experience-shot:hover img{transform:scale(1.025);filter:saturate(.95) contrast(1.03)}
.couple-card,.feature{background:linear-gradient(145deg,rgba(43,47,43,.96),rgba(23,26,24,.72))}
.couple-card:nth-child(2),.couple-card:nth-child(3){background:linear-gradient(145deg,rgba(70,76,71,.46),rgba(23,26,24,.72))}
.page-hero{background:linear-gradient(90deg,rgba(23,26,24,.97),rgba(23,26,24,.62)),var(--page-hero-image,url("../images/tatva-treatment-room-hero.webp")) center/cover no-repeat}
.page-hero.treatment-hero{--page-hero-image:url("../images/tatva-thai-massage.webp")}
.page-hero.couple-hero{--page-hero-image:url("../images/tatva-couple-room.webp")}
.page-hero.ritual-hero{--page-hero-image:url("../images/tatva-jacuzzi-ritual.webp")}
.page-hero.aroma-hero{--page-hero-image:url("../images/tatva-aromatherapy.webp")}
@media(max-width:767px){.hero:after{background:linear-gradient(0deg,rgba(23,26,24,.98) 9%,rgba(23,26,24,.7) 63%,rgba(23,26,24,.25))}.experience-gallery{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:44px}.experience-shot,.experience-shot-wide{grid-column:auto;min-height:220px}.experience-shot span{left:15px;right:15px;bottom:14px}.experience-shot strong{font-size:1.3rem}}
@media(max-width:430px){.experience-gallery{grid-template-columns:1fr}.experience-shot,.experience-shot-wide{min-height:230px}}
.service-copy{grid-column:1/-1;max-width:46ch;margin:4px 0 2px;color:var(--mist);font-size:.86rem;line-height:1.55}
.team-section,.gallery-section{background:var(--wine)}.team-story{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,7vw,90px);align-items:center}.team-photo{min-height:520px;overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.team-copy>p{max-width:570px;color:var(--mist)}.team-points{display:grid;margin:28px 0 34px;border-top:1px solid var(--line)}.team-points span{padding:13px 0;border-bottom:1px solid var(--line);color:var(--mist);font-size:.88rem}.team-points span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:11px;background:var(--rose)}
.therapists-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.therapist-card{display:grid;grid-template-columns:42% 58%;min-height:310px;border:1px solid var(--line);background:var(--panel);overflow:hidden}.therapist-card img{width:100%;height:100%;object-fit:cover;object-position:center top;background:#f4f3ef}.therapist-card>div{padding:25px 22px;align-self:center}.therapist-card h3{margin:0 0 6px;font-size:1.8rem}.therapist-card p{margin:0 0 18px;color:var(--muted);font-size:.82rem;line-height:1.55}.therapist-card .therapist-specialties{padding-bottom:11px;border-bottom:1px solid var(--line);color:var(--blush);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.therapist-card a{display:inline-flex;min-height:44px;align-items:center;color:var(--pearl);font-size:.78rem;font-weight:700;text-underline-offset:4px}
.carousel-controls{display:none}
.proof-section{background:var(--blush);color:var(--ink)}.proof-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,130px);align-items:center}.rating-block{padding-right:40px;border-right:1px solid rgba(23,26,24,.28)}.rating-block strong{display:block;font:400 clamp(5rem,12vw,9rem)/.8 var(--serif)}.rating-block span{display:block;margin:24px 0 8px;letter-spacing:.18em}.rating-block p{margin:0}.proof-copy .section-title{font-size:clamp(2.5rem,5vw,4.5rem)}.proof-copy p{max-width:590px}.proof-copy .btn-outline{color:var(--ink)}
.gallery-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;grid-template-rows:340px 250px;gap:12px}.gallery-mosaic figure{position:relative;grid-row:span 1;margin:0;overflow:hidden}.gallery-mosaic figure:first-child,.gallery-mosaic figure:last-child{grid-row:span 2}.gallery-mosaic img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .5s ease}.gallery-mosaic figure:hover img{transform:scale(1.02)}.gallery-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 16px;background:linear-gradient(transparent,rgba(15,17,16,.9));font-size:.82rem}.image-note{margin:16px 0 0;color:var(--muted);font-size:.76rem}
.nearby-section{background:var(--ink)}.nearby-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,130px)}.area-list{border-top:1px solid var(--rose)}.area-list>a,.area-list>div{min-height:92px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}.area-list strong{font:400 1.35rem var(--serif)}.area-list span{color:var(--muted);font-size:.8rem;text-align:right}.area-list a:hover strong{color:var(--blush)}
@media(max-width:1000px){.therapists-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.service-copy{padding-right:8px}.team-story,.proof-layout,.nearby-layout{grid-template-columns:1fr}.team-photo{min-height:300px}.team-copy .section-title{font-size:2.65rem}.therapists-grid{width:calc(100vw - 16px);margin-left:0;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-left:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.therapists-grid::-webkit-scrollbar{display:none}.therapist-card{flex:0 0 calc(100vw - 48px);grid-template-columns:38% 62%;min-height:280px;scroll-snap-align:start;scroll-snap-stop:always}.carousel-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.carousel-controls button{min-width:72px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--blush);background:transparent;color:var(--pearl);font-size:.75rem;font-weight:700;cursor:pointer}.carousel-controls button:disabled{color:var(--muted);border-color:var(--line)}.carousel-dots{display:flex;align-items:center;justify-content:center;gap:8px}.carousel-dots button{min-width:10px;width:10px;min-height:10px;height:10px;padding:0;border:1px solid var(--muted);border-radius:50%;background:transparent;font-size:0}.carousel-dots button[aria-current="true"]{border-color:var(--blush);background:var(--blush)}.rating-block{padding:0 0 34px;border-right:0;border-bottom:1px solid rgba(23,26,24,.28)}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 260px}.gallery-mosaic figure:first-child,.gallery-mosaic figure:last-child{grid-row:span 1;grid-column:1/-1}.area-list>a,.area-list>div{grid-template-columns:1fr}.area-list span{text-align:left}}
@media(max-width:430px){.therapist-card{grid-template-columns:1fr}.therapist-card img{height:290px}.therapist-card>div{padding:22px}}

/* Editorial blog */
.blog-hero{min-height:500px}.blog-hero .blog-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 18px;color:var(--blush);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.blog-hero h1{max-width:900px;font-size:clamp(3rem,6vw,5.5rem)}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(44px,8vw,120px);align-items:start}.blog-copy{max-width:760px}.blog-copy h2{margin:52px 0 16px;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.08}.blog-copy h3{margin:30px 0 10px;font-size:1.65rem}.blog-copy p,.blog-copy li{color:var(--mist)}.blog-copy ul{padding-left:22px}.blog-copy li+li{margin-top:9px}.blog-takeaway{margin:0 0 38px;padding:28px;border-left:3px solid var(--blush);background:var(--panel)}.blog-takeaway h2{margin:0 0 8px;font-size:1.7rem}.blog-takeaway p{margin:0;color:var(--mist)}.blog-aside{position:sticky;top:100px;padding:26px;border:1px solid var(--line);background:var(--panel)}.blog-aside h2{margin:0 0 16px;font-size:1.55rem}.blog-aside a{display:block;padding:11px 0;border-top:1px solid var(--line);color:var(--mist);font-size:.86rem;text-decoration:none}.blog-aside a:hover{color:var(--blush)}.blog-aside .btn{display:flex;margin-top:20px}.blog-image{margin:42px 0;border:1px solid var(--line);background:var(--panel)}.blog-image img{width:100%;aspect-ratio:3/2;object-fit:cover}.blog-image figcaption{padding:12px 16px;color:var(--muted);font-size:.76rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.blog-card{display:flex;min-height:0;flex-direction:column;border:1px solid var(--line);background:var(--panel);text-decoration:none}.blog-card img{width:100%;aspect-ratio:2.15/1;object-fit:cover}.blog-card div{display:flex;flex:1;flex-direction:column;padding:20px 22px}.blog-card span{color:var(--blush);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.blog-card h2{margin:10px 0;font-size:1.62rem;line-height:1.08}.blog-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:.86rem;-webkit-box-orient:vertical;-webkit-line-clamp:3}.blog-card strong{margin-top:auto;padding-top:18px;color:var(--pearl);font-size:.78rem}.blog-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 42px}.blog-filter a{padding:8px 12px;border:1px solid var(--line);color:var(--mist);font-size:.75rem;text-decoration:none}.blog-filter a:hover{border-color:var(--blush);color:var(--blush)}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-layout{grid-template-columns:1fr}.blog-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.blog-aside h2,.blog-aside .btn{grid-column:1/-1}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}.blog-hero{min-height:520px}.blog-aside{display:block}.blog-aside .btn{margin-top:20px}}

/* Keep directory thumbnails editorial and compact despite intrinsic image dimensions. */
.blog-card img{height:170px;aspect-ratio:auto}
@media(max-width:560px){.blog-card img{height:156px}}

/* Article images remain illustrative, with a deliberately wider reading-column crop. */
.blog-image img{height:clamp(220px,34vw,380px);aspect-ratio:auto}

/* Progressive enhancement for the guide directory filters. */
.blog-filter button{min-height:40px;padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--mist);font:700 .75rem var(--sans);cursor:pointer}.blog-filter button:hover,.blog-filter button[aria-pressed="true"]{border-color:var(--blush);background:var(--blush);color:var(--ink)}.blog-filter-result{min-height:24px;margin:-26px 0 26px;color:var(--muted);font-size:.82rem}.blog-card[hidden]{display:none}

/* Blog booking panel and footer refinements. */
.blog-aside .btn{background:var(--pearl);border-color:var(--pearl);color:var(--ink);text-decoration:none}.blog-aside .btn:hover{background:var(--blush);border-color:var(--blush);color:var(--ink)}.site-footer .footer-logo{display:flex;width:max-content;margin:0 auto 16px}.site-footer .footer-logo img{width:104px;height:72px;object-fit:contain}

/* Homepage mobile refinements. */
@media(max-width:767px){.hero-bg{object-position:center top}.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-grid article{padding:24px 18px}}

@media(min-width:768px){.gallery-mosaic{grid-template-columns:1.12fr .88fr;grid-template-rows:300px 300px;gap:16px}.gallery-mosaic figure:first-child,.gallery-mosaic figure:last-child{grid-row:span 1}.gallery-mosaic figcaption{padding:48px 22px 18px;font-size:.9rem}}

/* Site-wide footer structure. */
.footer-content{display:flex;flex-direction:column;align-items:center}.footer-links{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:center;white-space:nowrap;font-size:.8rem}.footer-links a{display:inline;margin:0}.footer-links a+a:before{content:"·";display:inline-block;margin:0 10px;color:var(--muted)}.footer-copyright{margin:18px 0 0;color:var(--muted)}@media(max-width:430px){.footer-links{font-size:.68rem}.footer-links a+a:before{margin:0 6px}}
