/* Photo-led editorial details; deliberately absent from Life Coaching pages. */
.visual-upgrade{--visual-stroke:#a8bfac;--visual-olive:#bcc8a5;--visual-sand:#e2d7c5}
.visual-upgrade figure{min-width:0}.visual-upgrade img{display:block;max-width:100%}.visual-upgrade .visual-photo img{width:100%;height:100%;object-fit:cover}
.visual-upgrade .visual-image-card{overflow:hidden}.visual-upgrade .visual-card-photo{width:calc(100% + 64px);max-width:none;height:220px;object-fit:cover;margin:-32px -32px 28px;flex:none}
.visual-upgrade .visual-image-card h3{line-height:1.12}.visual-upgrade .visual-image-card .line-link{margin-top:auto}
.visual-upgrade .finish-memberships .visual-card-photo{height:210px}.visual-upgrade .finish-memberships article:nth-child(2){background:#e7ece3}
.visual-upgrade .finish-memberships article:nth-child(3){background:#e6e7da}.visual-upgrade .finish-memberships article:nth-child(2) img{object-position:70% center}
.visual-upgrade .finish-offer-card.visual-image-card .visual-card-photo{width:calc(100% + 72px);margin:-36px -36px 28px;height:260px}
.visual-upgrade .finish-memberships .finish-offer-card.visual-image-card .visual-card-photo{height:205px}
/* Beauty pages: generous photo surfaces, small menu note and an editorial planning spread. */
.visual-upgrade .visual-beauty-photo{position:relative}.visual-upgrade .visual-beauty-photo>img{object-position:44% center}
.visual-upgrade .visual-beauty-photo>figcaption{bottom:30px;font-size:8px;letter-spacing:1.7px}
.visual-upgrade .visual-photo-detail{position:absolute;right:25px;top:28px;bottom:auto;z-index:2;width:185px;background:#f4f1e6ee;color:var(--forest);border:1px solid #fff7;padding:19px 21px;backdrop-filter:blur(8px)}
.visual-upgrade .visual-photo-detail>span{font-size:8px;letter-spacing:.8px;line-height:1.9;display:block}.visual-upgrade .visual-photo-detail>strong{font:46px/1.2 Italiana,Georgia,serif;display:block;margin:9px 0}
.visual-upgrade .visual-planning{grid-template-columns:1fr 1fr;gap:6vw;align-items:center;overflow:hidden}
.visual-upgrade .visual-planning-copy>ol{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid #aec3b1}.visual-upgrade .visual-planning-copy>ol>li{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #aec3b1}
.visual-upgrade .visual-planning-copy>ol span{font-size:10px;color:#56776a;margin-top:5px}.visual-upgrade .visual-planning-copy>ol p{margin:0;font-size:12px;line-height:1.95}
.visual-upgrade .visual-planning-photo{margin:0;position:relative;padding:0 0 26px 26px;isolation:isolate}.visual-upgrade .visual-planning-photo:before{content:'';position:absolute;inset:26px 26px 0 0;background:#d3dece;z-index:-1}
.visual-upgrade .visual-planning-photo>img{width:100%;height:480px;object-fit:cover}.visual-upgrade .visual-planning-photo>figcaption{font-size:8px;letter-spacing:1.2px;padding:20px 0 0 2px;line-height:1.8;color:#3a6253}
.visual-upgrade .beauty-related-grid>a.visual-image-card{padding-top:0}.visual-upgrade .beauty-related-grid .visual-card-photo{width:calc(100% + 56px);margin:0 -28px 28px;height:205px}
.visual-upgrade .beauty-hero-photo img{transition:transform 1.2s ease}.visual-upgrade .beauty-hero-photo:hover img{transform:scale(1.025)}
.visual-upgrade .beauty-option-grid>article{position:relative;border-top:3px solid #b3c3a3}.visual-upgrade .beauty-option-grid>article:nth-child(2){background:#e6ebdf}.visual-upgrade .beauty-option-number{font:38px/1 Italiana,Georgia,serif;color:#78917c;letter-spacing:-1px}
/* Services directory: a gallery rhythm and full-bleed card photography. */
.visual-upgrade .service-overview-image{height:340px}.visual-upgrade .service-overview-image img{transition:transform .8s ease}.visual-upgrade .service-overview-card:hover .service-overview-image img{transform:scale(1.035)}
.visual-upgrade .service-overview-card:nth-child(4n + 2){background:#e3e9db}.visual-upgrade .service-overview-card:nth-child(4n + 3){background:#e9e4d8}
.visual-upgrade .service-overview-body{position:relative}.visual-upgrade .service-overview-body:before{content:'';display:block;width:36px;height:1px;background:#779881;margin:0 0 24px}
/* A photo behind the FAQ contact card, without changing search or answer behavior. */
.visual-upgrade .faq-hero{align-items:start}.visual-upgrade .visual-faq-help{padding-top:0;overflow:hidden}
.visual-upgrade .visual-faq-photo{margin:0 -36px 30px;height:220px}.visual-upgrade .visual-faq-photo img{width:100%;height:100%;object-fit:cover}
.visual-upgrade .visual-faq-help h2{font-size:38px}.visual-upgrade .visual-faq-help .faq-phone{font-size:23px}
/* Events: immersive hero, a broad shared-experience photo, and illustrated listings. */
.visual-upgrade .finish-hero.visual-events-hero{position:relative;isolation:isolate;display:block;min-height:690px;overflow:hidden;background:#18372c}
.visual-upgrade .visual-events-hero>div:first-child{position:relative;z-index:2;max-width:900px;min-height:690px;padding:30px 7vw 70px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.visual-upgrade .visual-events-hero .breadcrumbs{margin-top:0;margin-bottom:50px}.visual-upgrade .visual-events-hero h1{font-size:clamp(55px,6.7vw,102px);line-height:1.04;max-width:700px;margin-bottom:28px}
.visual-upgrade .visual-events-hero .finish-hero-lead{font-size:34px;max-width:550px}.visual-upgrade .visual-events-hero>div>p:not(.eyebrow):not(.finish-hero-lead){max-width:500px;color:#eef1e7}
.visual-upgrade .visual-events-hero>.visual-support-hero-photo{position:absolute;inset:0;min-height:0;margin:0;z-index:0;overflow:hidden}
.visual-upgrade .visual-events-hero>.visual-support-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.visual-upgrade .visual-events-hero>.visual-support-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102b22f5 4%,#122d23d9 39%,#122d2340 100%)}
.visual-upgrade .visual-events-hero .visual-support-hero-photo>figcaption{position:absolute;right:35px;bottom:30px;left:auto;color:#fff;font-size:8px;letter-spacing:1.6px;text-shadow:0 1px 5px #000}
.visual-upgrade .visual-event-feature{margin:0 0 -36px;width:calc(100% - 60px);position:relative;z-index:1}.visual-upgrade .visual-event-feature>img{width:100%;height:420px;object-fit:cover;object-position:center 43%}
.visual-upgrade .visual-event-feature>figcaption{position:absolute;bottom:20px;left:25px;color:#fff;font-size:9px;letter-spacing:1.8px;text-shadow:0 1px 5px #000;background:#123b39d9;padding:10px 13px}
.visual-upgrade .visual-event-feature+.finish-offer-feature{margin-left:60px;position:relative;padding-top:36px}.visual-upgrade #gatherings .visual-card-photo{height:210px}
/* Booking: a clean visual invitation and calm photo crop. */
.visual-upgrade .finish-hero.visual-booking-hero{grid-template-columns:1fr 1fr;background:#e7ece0;color:var(--forest)}
.visual-upgrade .visual-booking-hero>div:first-child{padding-top:28px;padding-bottom:60px}.visual-upgrade .visual-booking-hero .breadcrumbs,.visual-upgrade .visual-booking-hero .eyebrow{color:#426854}
.visual-upgrade .visual-booking-hero>div>p:not(.eyebrow):not(.finish-hero-lead){color:#426451}.visual-upgrade .visual-booking-hero .button.light{background:var(--forest);color:var(--paper)}
.visual-upgrade .visual-booking-hero h1{font-size:clamp(48px,5vw,76px)}.visual-upgrade .visual-booking-hero>.visual-support-hero-photo{margin:30px 30px 30px 0;min-height:560px;position:relative;overflow:hidden}
.visual-upgrade .visual-booking-hero>.visual-support-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
.visual-upgrade .visual-booking-hero>.visual-support-hero-photo:after{background:linear-gradient(0deg,#173a2ebf,transparent 45%)}
.visual-upgrade .visual-booking-hero .visual-support-hero-photo>figcaption{bottom:28px;color:#fff;font-size:8px;letter-spacing:1.8px}
.visual-upgrade .booking-hub{position:relative}.visual-upgrade .finish-inquiry-card{border-top:3px solid #9caf86}
.visual-upgrade .finish-category-grid>a{transition:background .2s ease,padding .2s ease}.visual-upgrade .finish-category-grid>a:hover{background:#d9e3d2;padding-left:18px}
/* The journal: oversized editorial title, inset photography and full-width article covers. */
.visual-upgrade .finish-hero.visual-journal-hero{background:#dbe3d1;color:var(--forest);grid-template-columns:1.08fr 1fr;gap:0;align-items:center}
.visual-upgrade .visual-journal-hero>div:first-child{padding-top:30px;padding-bottom:60px}.visual-upgrade .visual-journal-hero .breadcrumbs,.visual-upgrade .visual-journal-hero .eyebrow{color:#44664f}
.visual-upgrade .visual-journal-hero h1{font-size:clamp(56px,6.4vw,94px);line-height:1.02;letter-spacing:-2.5px}
.visual-upgrade .visual-journal-hero>div>p:not(.eyebrow):not(.finish-hero-lead){color:#45614e}.visual-upgrade .visual-journal-hero .button.light{background:var(--forest);color:var(--paper)}
.visual-upgrade .visual-journal-hero>.visual-support-hero-photo{position:relative;margin:55px 5vw 55px 0;min-height:535px;box-shadow:20px 20px 0 #b7c5a3;overflow:hidden}
.visual-upgrade .visual-journal-hero>.visual-support-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}
.visual-upgrade .visual-journal-hero .visual-support-hero-photo>figcaption{font-size:8px;letter-spacing:1.2px;line-height:1.8;color:#fff;bottom:25px;left:25px;right:25px}
.visual-upgrade .finish-journal-grid{grid-template-columns:1fr 1fr;gap:35px}.visual-upgrade .finish-journal-grid>article:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;background:#e8ecdf;border:0}
.visual-upgrade .finish-journal-grid>article:first-child>img{height:100%;min-height:430px}.visual-upgrade .finish-journal-grid>article:first-child>div{padding:45px;justify-content:center}.visual-upgrade .finish-journal-grid>article:first-child h2{font-size:43px}
.visual-upgrade .finish-journal-grid>article:first-child .line-link{margin-top:12px}.visual-upgrade .finish-journal-grid>article>img{height:320px}
.visual-upgrade .visual-article-cover{margin:0 5vw;position:relative;height:460px;overflow:hidden}.visual-upgrade .visual-article-cover>img{width:100%;height:100%;object-fit:cover;object-position:center}
.visual-upgrade .visual-article-cover>figcaption{position:absolute;left:25px;bottom:22px;font-size:8px;letter-spacing:1.5px;color:#fff;background:#163c2ee6;padding:11px 15px}
.visual-upgrade .finish-article-header{padding-bottom:70px}.visual-upgrade .visual-article-cover{margin-top:-25px}.visual-upgrade .finish-article-layout{padding-top:60px}
.visual-upgrade .visual-aside-photo{width:calc(100% + 56px);max-width:none;height:180px;object-fit:cover;margin:-28px -28px 10px}
/* Story and membership pages: textures, portrait spaces and warmer offer details. */
.visual-upgrade .visual-about-intro{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:25px 6vw;align-items:start}
.visual-upgrade .visual-about-intro>div:first-child{grid-column:1;grid-row:1}.visual-upgrade .visual-about-intro>div:nth-child(2){grid-column:1;grid-row:2}.visual-upgrade .visual-approach-photo{grid-column:2;grid-row:1/3;margin:15px 0 0;padding:25px 0 0 25px;position:relative;isolation:isolate}
.visual-upgrade .visual-approach-photo:before{content:'';position:absolute;inset:0 25px 25px 0;background:#dbe4d3;z-index:-1}.visual-upgrade .visual-approach-photo img{width:100%;height:500px;object-fit:cover}
.visual-upgrade .visual-approach-photo figcaption{padding-top:20px;font-size:8px;letter-spacing:1.2px;line-height:1.8}
.visual-upgrade .visual-wellness-pass{grid-template-columns:1fr 1fr;align-items:start;gap:35px 6vw}.visual-upgrade .visual-wellness-photo{grid-column:1;grid-row:1/3;position:relative;margin:0;align-self:stretch;min-height:520px}
.visual-upgrade .visual-wellness-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:65% center}
.visual-upgrade .visual-wellness-pass>div{grid-column:2}.visual-upgrade .visual-wellness-pass .finish-inquiry-card{padding:25px;border-top:1px solid #a8bfac;background:#e7ece0}
.visual-upgrade .visual-wellness-pass .finish-inquiry-card .finish-price{font-size:50px;margin:15px 0}
.visual-upgrade .visual-plunge-panel{overflow:hidden;padding:0 35px 35px}.visual-upgrade .visual-plunge-photo{margin:0 -35px 30px;height:300px}
.visual-upgrade .visual-plunge-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
/* Small refinements carry the same craft across remaining existing page compositions. */
.visual-upgrade .massage-hero-photo,.visual-upgrade .sauna-hero-photo,.visual-upgrade .about-hero-photo{isolation:isolate}
.visual-upgrade .massage-hero-photo:before,.visual-upgrade .sauna-hero-photo:before{content:'';position:absolute;inset:24px;z-index:2;pointer-events:none;border:1px solid #ffffff35}
.visual-upgrade .massage-hero-photo figcaption,.visual-upgrade .sauna-hero-photo figcaption{z-index:3}
.visual-upgrade[data-visual-page="home"] #services .card:not(.coaching-card){overflow:hidden}.visual-upgrade[data-visual-page="home"] #services .card:not(.coaching-card)>img{transition:transform .7s ease}.visual-upgrade[data-visual-page="home"] #services .card:not(.coaching-card)>.service-image-link>img{transition:transform .7s ease}
.visual-upgrade[data-visual-page="home"] #services .card:not(.coaching-card):hover>img{transform:scale(1.025)}
.visual-upgrade[data-visual-page="home"] #services .card:not(.coaching-card):hover>.service-image-link>img{transform:scale(1.025)}
.visual-upgrade a:focus-visible{outline:2px solid #588575;outline-offset:5px}
@media(max-width:1100px){
 .visual-upgrade .visual-card-photo{width:calc(100% + 50px);margin:-25px -25px 25px;height:190px}
 .visual-upgrade .finish-offer-card.visual-image-card .visual-card-photo{width:calc(100% + 60px);margin:-30px -30px 25px}
 .visual-upgrade .beauty-related-grid .visual-card-photo{width:calc(100% + 56px);margin:0 -28px 25px}
 .visual-upgrade .visual-planning-photo>img{height:410px}.visual-upgrade .visual-aside-photo{width:calc(100% + 46px);margin:-23px -23px 10px}
 .visual-upgrade .visual-faq-photo{margin:0 -28px 28px}.visual-upgrade .visual-wellness-photo{min-height:560px}
 .visual-upgrade .visual-journal-hero>.visual-support-hero-photo{min-height:530px}.visual-upgrade .finish-journal-grid>article:first-child>div{padding:32px}.visual-upgrade .finish-journal-grid>article:first-child h2{font-size:37px}
}
@media(max-width:800px){
 .visual-upgrade .service-overview-image{height:290px}.visual-upgrade .visual-planning{grid-template-columns:1fr;gap:35px}.visual-upgrade .visual-planning-photo{padding:0 0 20px 20px}.visual-upgrade .visual-planning-photo>img{height:370px}
 .visual-upgrade .beauty-related-grid .visual-card-photo{height:260px}.visual-upgrade .visual-photo-detail{width:155px;padding:15px;top:20px;right:20px}.visual-upgrade .visual-photo-detail strong{font-size:36px}.visual-upgrade .visual-beauty-photo>figcaption{font-size:7px;bottom:20px}
 .visual-upgrade .finish-hero.visual-events-hero{min-height:700px}.visual-upgrade .visual-events-hero>div:first-child{min-height:700px;padding:26px 24px 80px;justify-content:flex-start}.visual-upgrade .visual-events-hero .breadcrumbs{margin-bottom:40px}
 .visual-upgrade .visual-events-hero h1{font-size:64px;letter-spacing:-1.6px;max-width:520px}.visual-upgrade .visual-events-hero .finish-hero-lead{font-size:29px}.visual-upgrade .visual-events-hero>.visual-support-hero-photo:after{background:linear-gradient(90deg,#102b22f5,#102b2299)}
 .visual-upgrade .visual-events-hero .visual-support-hero-photo>figcaption{left:24px;right:24px;bottom:25px;font-size:7px}.visual-upgrade .visual-event-feature{width:calc(100% - 20px);margin-bottom:-20px}.visual-upgrade .visual-event-feature>img{height:270px}
 .visual-upgrade .visual-event-feature+.finish-offer-feature{margin-left:20px;padding-top:20px}.visual-upgrade .visual-event-feature>figcaption{font-size:7px;left:12px;right:12px;bottom:15px;line-height:1.7}
 .visual-upgrade .finish-hero.visual-booking-hero,.visual-upgrade .finish-hero.visual-journal-hero{grid-template-columns:1fr}.visual-upgrade .visual-booking-hero>div:first-child,.visual-upgrade .visual-journal-hero>div:first-child{padding:26px 24px 40px}
 .visual-upgrade .visual-booking-hero>.visual-support-hero-photo{min-height:340px;margin:0 24px 24px}.visual-upgrade .visual-journal-hero>.visual-support-hero-photo{min-height:340px;margin:0 40px 40px 24px;box-shadow:16px 16px 0 #b7c5a3}
 .visual-upgrade .visual-journal-hero h1{font-size:70px;max-width:600px}.visual-upgrade .visual-booking-hero h1{font-size:52px}.visual-upgrade .finish-journal-grid{grid-template-columns:1fr;gap:28px}
 .visual-upgrade .finish-journal-grid>article:first-child{grid-template-columns:1fr}.visual-upgrade .finish-journal-grid>article:first-child>img{min-height:0;height:300px}.visual-upgrade .finish-journal-grid>article:first-child>div{padding:28px}.visual-upgrade .finish-journal-grid>article:first-child h2{font-size:36px}
 .visual-upgrade .finish-journal-grid>article>img{height:300px}.visual-upgrade .visual-article-cover{height:340px;margin-left:24px;margin-right:24px}.visual-upgrade .visual-article-cover>figcaption{left:15px;bottom:15px;font-size:7px;right:15px;line-height:1.8;max-width:max-content}
 .visual-upgrade .visual-about-intro,.visual-upgrade .visual-wellness-pass{display:flex;flex-direction:column;gap:30px}.visual-upgrade .visual-approach-photo{margin-top:0;width:100%}.visual-upgrade .visual-approach-photo img{height:360px}
 .visual-upgrade .visual-wellness-photo{width:100%;min-height:340px;order:1}.visual-upgrade .visual-wellness-pass>div{width:100%}.visual-upgrade .visual-wellness-pass .finish-inquiry-card{order:2}
 .visual-upgrade .visual-plunge-photo{height:260px}.visual-upgrade .visual-faq-photo{height:230px;margin:0 -28px 25px}.visual-upgrade .visual-card-photo{height:230px}.visual-upgrade .finish-memberships .finish-offer-card.visual-image-card .visual-card-photo{height:235px}
 .visual-upgrade .visual-aside-photo{width:calc(100% + 56px);margin:-28px -28px 10px;height:220px}
}
@media(max-width:450px){
 .visual-upgrade .visual-events-hero h1{font-size:54px}.visual-upgrade .visual-events-hero .actions{gap:15px}.visual-upgrade .visual-booking-hero h1{font-size:44px}.visual-upgrade .visual-journal-hero h1{font-size:59px}
 .visual-upgrade .visual-journal-hero>.visual-support-hero-photo{min-height:290px}.visual-upgrade .visual-planning-photo>img{height:300px}.visual-upgrade .beauty-related-grid .visual-card-photo{height:220px}
 .visual-upgrade .visual-article-cover{height:260px}.visual-upgrade .visual-photo-detail{width:132px;top:15px;right:15px;padding:13px}.visual-upgrade .visual-photo-detail>span{font-size:7px}.visual-upgrade .visual-photo-detail>strong{font-size:31px}
 .visual-upgrade .visual-plunge-panel{padding:0 24px 28px}.visual-upgrade .visual-plunge-photo{margin:0 -24px 25px;height:240px}.visual-upgrade .visual-approach-photo img{height:300px}
}
@media(prefers-reduced-motion:reduce){.visual-upgrade img,.visual-upgrade .finish-category-grid>a{transition:none!important;transform:none!important}}
/* Explicit image-card insets keep photos flush at each breakpoint. */
.visual-upgrade .finish-card-grid>article.visual-image-card:not(.finish-offer-card){padding:32px}
.visual-upgrade .finish-offer-card.visual-image-card{padding:36px}
.visual-upgrade .beauty-related-grid>a.visual-image-card{padding:0 28px 28px}
.visual-upgrade .visual-faq-photo{margin-left:-38px;margin-right:-38px}
.visual-upgrade :is(.beauty-hero,.visual-events-hero,.finish-final,.services-hero,.massage-hero,.sauna-hero,.about-hero) a:focus-visible{outline-color:var(--aqua)}
@media(max-width:1100px){.visual-upgrade .finish-card-grid>article.visual-image-card:not(.finish-offer-card){padding:25px}.visual-upgrade .finish-offer-card.visual-image-card{padding:30px}.visual-upgrade .visual-faq-photo{margin-left:-28px;margin-right:-28px}}
@media(max-width:450px){.visual-upgrade .visual-faq-photo{margin-left:-25px;margin-right:-25px}}
