/* Meditation extends the existing Heart Harmony styles. */
html { scroll-behavior:smooth; scroll-padding-top:100px; }
.skip-link { position:fixed; z-index:2000; top:-100px; left:15px; padding:12px 20px; background:white; color:#6f2b8c; }
.skip-link:focus { top:10px; }
.meditation-page :focus-visible { outline:3px solid #b78acb; outline-offset:5px; }
.meditation-page .eyebrow { color:#793894; text-transform:uppercase; letter-spacing:2.3px; font-size:.8rem; font-weight:600; margin-bottom:16px; }
.meditation-page p { margin-bottom:20px; }
.meditation-hero { background:#54405e; min-height:640px; height:80vh; max-height:900px; }
.meditation-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.meditation-hero::before { background:linear-gradient(90deg,rgba(47,22,62,.65),rgba(71,35,88,.35)); opacity:1; z-index:1; }
.meditation-hero .hero-content { max-width:850px; padding-top:80px; }
.meditation-hero .eyebrow { color:#fff; }
.meditation-hero h1 { font-size:clamp(2.8rem,5.5vw,4.7rem); line-height:1.15; margin-bottom:24px; }
.meditation-hero .hero-content>p:not(.eyebrow) { max-width:680px; margin:0 auto 32px; }
.meditation-intro { display:grid; grid-template-columns:1.3fr .8fr; gap:80px; align-items:center; }
.intro-copy h2 { font-size:2.7rem; line-height:1.25; margin-bottom:26px; }
.text-link { color:#793894; font-weight:600; }
.meditation-note { padding:40px 34px; border-radius:50px 50px 10px 10px; background:linear-gradient(145deg,#f2eaf6,#eef1e9); text-align:center; box-shadow:0 18px 40px #2c3e500d; }
.note-flower { display:block; font-size:4rem; line-height:1.3; color:#9b59b6; margin-bottom:15px; }
.meditation-note h3 { font-size:1.7rem; margin-bottom:18px; }
.meditation-note .note-small { font-size:.85rem; color:#705e78; margin-bottom:0; }
.meditation-tips { background:#f3edf6; }
.section-title p:last-child { max-width:650px; margin:30px auto 0; }
.tip { display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:center; max-width:1000px; margin:0 auto 28px; background:#fff; border-radius:12px; padding:26px; box-shadow:0 10px 30px #2c3e5008; }
.tip:last-child { margin-bottom:0; }
.tip img { display:block; width:100%; height:auto; border-radius:10px; }
.tip h3 { font-size:1.6rem; margin-bottom:16px; }
.tip .eyebrow { margin-bottom:6px; }
.tip p:last-child { margin-bottom:0; }
.gratitude { text-align:center; }
.gratitude .container { max-width:800px; }
.meditation-contact { text-align:center; }
.meditation-contact p { max-width:650px; margin:0 auto 30px; }
@media(max-width:800px) { .meditation-intro { grid-template-columns:1fr; gap:40px; } .meditation-note { max-width:520px; margin:auto; } .intro-copy h2 { font-size:2.2rem; } .tip { grid-template-columns:200px 1fr; gap:25px; } }
@media(max-width:576px) { .meditation-page .section { padding:60px 0; } .meditation-hero { height:auto; min-height:700px; padding:125px 0 65px; } .meditation-hero .hero-content { padding-top:0; } .meditation-hero-photo { object-position:62% center; } .meditation-hero::before { background:rgba(47,22,62,.55); } .meditation-hero h1 { font-size:2.8rem; } .meditation-hero .btn-container { gap:14px; } .meditation-hero .btn-outline { margin:0; } .tip { grid-template-columns:1fr; padding:22px; } .tip img { max-width:280px; margin:auto; } .meditation-note { padding:30px 24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .meditation-page * { transition:none !important; } }

/* A short practice and a choice of meditation styles. */
.meditation-practice { background:#f3edf6; }
.practice-card { max-width:900px; margin:0 auto; padding:40px; border-radius:12px; background:#fff; box-shadow:0 10px 30px #2c3e5008; }
.practice-card h3 { font-size:1.9rem; margin-bottom:10px; }
.practice-meta { color:#705e78; font-size:.9rem; }
.practice-steps { margin:28px 0 0; padding-left:26px; }
.practice-steps li { padding:0 0 22px 10px; }
.practice-steps li::marker { color:#8e44ad; font-weight:600; }
.practice-steps li:last-child { padding-bottom:0; }
.practice-steps p { margin-bottom:0; }
.minute-label { color:#793894; font-weight:600; white-space:nowrap; }
.meditation-style-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1000px; margin:0 auto; }
.meditation-style-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 10px 30px #2c3e5008; }
.meditation-style-card img { display:block; width:100%; height:220px; object-fit:contain; background:#f0e7f4; }
.meditation-style-card>div { padding:28px; }
.meditation-style-card h3 { font-size:1.5rem; margin-bottom:14px; }
.meditation-style-card p { margin-bottom:0; }
.meditation-comfort-note { max-width:1000px; margin:36px auto 0; padding:26px 30px; border-left:3px solid #9b59b6; border-radius:0 12px 12px 0; background:#f3edf6; }
.meditation-comfort-note p { margin-bottom:0; }
@media(max-width:576px) { .practice-card { padding:26px 22px; } .practice-card h3 { font-size:1.6rem; } .practice-steps { padding-left:20px; } .practice-steps li { padding-left:5px; } .meditation-style-grid { grid-template-columns:1fr; gap:24px; } .meditation-style-card>div { padding:24px; } .meditation-comfort-note { padding:22px; } }
