.emc-page { background: var(--light-background); }
.back-button { position: fixed; top: 20px; left: 20px; z-index: 10; display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 24px; background: var(--secondary-color); color: #fff; box-shadow: 0 4px 12px rgba(179,122,125,.3); font-size: .9rem; }
.back-button:hover { color: #fff; background: var(--primary-color); }
.emc-hero { background: linear-gradient(rgba(245,240,241,.84),rgba(232,220,224,.84)), url('images/emc_background_image.png') center/cover; min-height: 62vh; display: grid; place-items: center; padding: 6rem 0 4rem; text-align: center; }
.hero-inner { max-width: 850px; }.hero-logo { width: auto; height: 78px; margin: 0 auto 1.5rem; }.eyebrow { color: var(--secondary-color); letter-spacing: 1.5px; font-size: .82rem; font-weight: 600; text-transform: uppercase; margin-bottom: .8rem; }.emc-hero h1 { font-size: clamp(2.5rem,5vw,4.25rem); margin-bottom: 1rem; }.hero-lead { max-width: 680px; margin: 0 auto 2rem; font-size: 1.2rem; }.btn-emc { background: var(--secondary-color); padding: 15px 28px; }.btn-emc:hover { background: var(--primary-color); }
.emc-section { padding: 80px 0; }.shaded { background: var(--pink-light); }.narrow { max-width: 860px; }.emc-section h2 { text-align: center; font-size: clamp(2rem,4vw,2.7rem); margin-bottom: 2.25rem; }.emc-section h2::after { content:""; display:block; width:56px; height:3px; border-radius:2px; margin:1rem auto 0; background:var(--primary-color); }.emc-section p { font-size: 1.08rem; line-height: 1.85; margin-bottom: 1.2rem; }.intro-section { padding-bottom: 60px; }.intro-section blockquote { margin: 2rem 0 0; padding: 1.5rem 2rem; border-left: 4px solid var(--primary-color); border-radius: 0 var(--border-radius) var(--border-radius) 0; background: #fff; color: var(--secondary-color); font-family: var(--font-heading); font-size: 1.5rem; font-style: italic; }
.check-list { list-style: none; display: grid; gap: 1rem; padding: 0; margin: 0; }.check-list li { position: relative; padding-left: 2rem; line-height: 1.65; }.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--secondary-color); font-size:1.25rem; font-weight:600; }.practice-card { background:#fff; border-radius:var(--border-radius); padding:2rem; margin-top:2.5rem; box-shadow:var(--box-shadow); }.practice-card h3 { font-size:1.6rem; }.practice-card p { margin:1.5rem 0 0; }
.sessions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }.sessions-grid article { background:#fff; border-radius:var(--border-radius); box-shadow:var(--box-shadow); padding:1.75rem; border-top:4px solid var(--primary-color); }.sessions-grid span { color:var(--secondary-color); font-weight:600; }.sessions-grid h3 { font-size:1.35rem; margin-top:.5rem; }.sessions-grid p { font-size:1rem; margin:0; line-height:1.65; }
.facilitator { padding:2rem; background:#fff; box-shadow:var(--box-shadow); border-radius:var(--border-radius); display:grid; grid-template-columns:200px 1fr; gap:2.25rem; align-items:center; }.facilitator img { width:200px; height:200px; border-radius:50%; object-fit:cover; border:4px solid var(--primary-color); }.facilitator h3 { font-size:1.8rem; }
.faq { display:grid; gap:1rem; }.faq details { background:#fff; border-radius:var(--border-radius); box-shadow:var(--box-shadow); }.faq summary { cursor:pointer; padding:1.25rem 3rem 1.25rem 1.4rem; color:var(--secondary-color); font-family:var(--font-heading); font-size:1.25rem; position:relative; }.faq summary::after { content:"+"; position:absolute; right:1.3rem; font-family:var(--font-body); font-size:1.5rem; }.faq details[open] summary::after { content:"−"; }.faq details p { padding:0 1.4rem 1.4rem; margin:0; font-size:1rem; }
.enrollment { text-align:center; background:var(--beige-light); padding:3rem 2rem; border:2px solid var(--accent-color); border-radius:var(--border-radius); }.enrollment h2 { margin-bottom:1.5rem; }.enrollment .price { font-size:1.22rem; color:var(--secondary-color); }.enrollment .btn { margin-top:1rem; background:#25D366; }.enrollment .btn:hover { background:#128C7E; }.enrollment .btn i { margin-right:8px; }
@media (max-width: 700px) { .back-button { width:44px; height:44px; justify-content:center; padding:0; }.back-button span { display:none; }.emc-hero { min-height:55vh; padding-top:5rem; }.emc-section { padding:60px 0; }.sessions-grid,.facilitator { grid-template-columns:1fr; }.facilitator { text-align:center; }.facilitator img { margin:auto; }.practice-card,.enrollment { padding:1.5rem; } }
