/* Soften photographic layers, keeping text, branding and controls sharp. */
.hero{isolation:isolate;background-image:none}
.hero:after{content:"";position:absolute;inset:-4px;z-index:-2;background:#e8d8c2 url('images/afterflow-interior-black-sportswear.png') center 54%/cover;filter:blur(.7px);opacity:.94}
.hero:before{z-index:-1}
.flow-photo,.practice-intro-photo,.circle-image{position:relative;isolation:isolate;overflow:hidden;background-image:none}
.flow-photo:before,.practice-intro-photo:before,.circle-image:before{content:"";position:absolute;inset:-3px;z-index:-1;filter:blur(.7px);opacity:.92;background-repeat:no-repeat}
.flow-photo:before,.practice-intro-photo:before{background-image:url('images/afterflow-community-cards.png');background-size:inherit;background-position:inherit}
.flow-photo:before{inset:0;filter:none;opacity:1}
.circle-image{background-color:#f3eadc}
.circle-image:before{background-image:url('images/afterflow-daylight.png');background-position:70% center;background-size:cover}
.community-page .community-intro-photo{filter:blur(.7px);opacity:.9}
.home-ending.home-ending-photo .ending-landscape{filter:blur(.7px);opacity:.82}
.mobile-hero-image{filter:blur(.7px)}
.meeting-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:460px;margin-bottom:32px;padding:clamp(28px,5vw,64px);background:#f3eadc}
.meeting-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(252,250,245,.98),rgba(252,250,245,.94) 35%,rgba(252,250,245,.52) 62%,rgba(252,250,245,.15))}
.meeting-hero-copy{max-width:62%}
.meeting-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(.7px);opacity:.94}
.meeting-hero h1{font-size:clamp(2.7rem,5.5vw,4.5rem);line-height:1.08;margin:14px 0 22px}
.meeting-hero p{font-size:1.1rem;line-height:1.7}
.meeting-hero .btn{margin-top:8px}
.hero-content{background:rgba(252,250,245,.96)}
.community-intro-copy,.meeting-hero-copy{background:rgba(252,250,245,.96);padding:20px 22px;border-radius:4px}
.hero-content .eyebrow,.community-intro-copy .eyebrow,.meeting-hero-copy .eyebrow{color:#a65332}
.flow-number,.circle-image span,.hero-foot{background:var(--cream);color:var(--ocean)}
.home-ending-photo .ending-copy h2{background:rgba(252,250,245,.96);padding:12px 18px;border-radius:4px}
.home-ending-photo .ending-links{background:rgba(252,250,245,.96);padding:4px 16px;border-radius:4px}
.home-ending-photo .home-bottom-actions .btn{background:var(--white);color:var(--ocean)}
.home-ending-photo .home-bottom-actions .btn:first-child{background:var(--ocean);color:var(--white)}
.home-ending-photo .home-bottom-actions .business-cta{background:#a65332;border-color:#a65332;color:var(--white)}
/* Restore the original integrated homepage image on desktop only. */
@media(min-width:651px){
 .hero{background:#e8d8c2 url('images/afterflow-interior-black-sportswear.png') center 54%/cover}
 .hero:after{display:none}
 .hero:before{background:linear-gradient(90deg,rgba(255,250,242,.98) 0%,rgba(255,250,242,.92) 34%,rgba(255,250,242,.48) 65%,rgba(255,250,242,.12) 100%)}
 .hero-content{background:transparent}
}
@media(max-width:650px){
 .hero{min-height:800px}
 .hero:after{background-position:94% bottom;background-size:auto 520px;background-repeat:no-repeat;background-color:var(--cream)}
 .hero:before{background:linear-gradient(180deg,rgba(255,250,242,.98),rgba(255,250,242,.96) 44%,rgba(255,250,242,.3) 62%,rgba(255,250,242,.08) 80%,rgba(255,250,242,.03))}
 .flow-photo:before,.practice-intro-photo:before{background-size:300% 100%}
 .meeting-hero{min-height:0;margin-bottom:24px;padding:24px 18px;flex-direction:column;align-items:stretch;gap:20px}
 .meeting-hero-copy{max-width:100%;padding:18px 16px}
 .meeting-hero:before{background:linear-gradient(180deg,rgba(252,250,245,.98),rgba(252,250,245,.93) 60%,rgba(252,250,245,.6))}
 .meeting-hero-photo{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;border-radius:4px}
 .community-intro-copy{padding:16px}
 .meeting-hero h1{font-size:clamp(2.5rem,10vw,3.3rem)}
 .meeting-hero p{font-size:1rem}
}

/* Shared gentle finish for photographs, not logos, maps or interface text. */
body.homepage .mobile-hero-image,body.homepage .founder-note-photo img,
body.homepage .home-ending.home-ending-photo .ending-landscape,
.community-page .community-intro-photo,.meeting-hero-photo{
 filter:contrast(.94) saturate(.88) blur(.45px);opacity:.88
}
.flow-photo:before,.practice-intro-photo:before,.circle-image:before{filter:contrast(.94) saturate(.88) blur(.45px);opacity:.88}
.flow-photo,.practice-intro-photo,.circle-image{background-color:var(--cream)}
