/* =========================================================
   ADI YOGPEETH — SOUND HEALING COURSE
   Page-scoped CSS
   Typography locked: Playfair Display + PT Serif
   ========================================================= */

.ayp-sound-page {
    --sh-forest: #173f35;
    --sh-deep: #102f2a;
    --sh-forest-2: #1d4a3e;
    --sh-ivory: #f8f4ea;
    --sh-paper: #fbf9f4;
    --sh-sand: #eee7d8;
    --sh-gold: #b8945a;
    --sh-gold-light: #d7bc84;
    --sh-terracotta: #8c4936;
    --sh-text: #26332f;
    --sh-muted: #68736d;
    --sh-border: rgba(38, 51, 47, .14);
    --sh-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --sh-body: "PT Serif", Georgia, "Times New Roman", serif;
    --sh-max: 1440px;
    --sh-width: 92%;
    color: var(--sh-text);
    background: var(--sh-paper);
    font-family: var(--sh-body);
}
.ayp-sound-page *, .ayp-sound-page *::before, .ayp-sound-page *::after { box-sizing: border-box; }
.ayp-sound-page img { display: block; max-width: 100%; }
.ayp-sound-page a { color: inherit; }
.ayp-sound-page h1, .ayp-sound-page h2, .ayp-sound-page h3,
.ayp-sound-page p { margin-top: 0; }
.ayp-sound-page h1, .ayp-sound-page h2, .ayp-sound-page h3 {
    font-family: var(--sh-display);
    font-weight: 500;
}
.ayp-sound-page em { font-style: italic; font-weight: 400; }
.sh-container { width: var(--sh-width); max-width: var(--sh-max); margin-inline: auto; }

.sh-header {
    position: absolute; inset: 0 0 auto; z-index: 50;
    color: #fff;
    background: linear-gradient(to bottom, rgba(8,25,22,.48), transparent);
}
.sh-header__inner {
    min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px;
}
.sh-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: #fff; }
.sh-brand__mark { font-size: 30px; color: var(--sh-gold-light); }
.sh-brand strong { display:block; font-family: var(--sh-display); font-size: 18px; letter-spacing: .09em; }
.sh-brand small { display:block; margin-top: 2px; font: 10px/1 var(--sh-body); letter-spacing: .16em; opacity:.82; }
.sh-nav { display:flex; align-items:center; gap: 24px; font-size: 14px; }
.sh-nav a { text-decoration:none; opacity:.92; transition: opacity .2s ease, color .2s ease; }
.sh-nav a:hover, .sh-nav .is-active { color: var(--sh-gold-light); opacity:1; }
.sh-nav__cta { padding: 12px 18px; border:1px solid rgba(255,255,255,.35); background: rgba(184,148,90,.9); border-radius: 4px; }
.sh-menu { display:none; border:0; background:transparent; padding:8px; }
.sh-menu span { display:block; width:26px; height:1px; margin:5px; background:#fff; }

.sh-hero {
    min-height: 760px; position:relative; overflow:hidden; display:flex; align-items:center; color:#fff;
    background: var(--sh-deep);
}
.sh-hero__media, .sh-hero__media img, .sh-hero__fallback { position:absolute; inset:0; width:100%; height:100%; }
.sh-hero__media img { object-fit:cover; object-position:center; opacity:.86; }
.sh-hero__fallback {
    background:
        radial-gradient(circle at 67% 54%, rgba(184,148,90,.36), transparent 15%),
        linear-gradient(115deg, #173f35 0%, #183f37 42%, #344b42 67%, #8a7155 100%);
    z-index:-1;
}
.sh-hero__veil {
    position:absolute; inset:0;
    background: linear-gradient(90deg, rgba(7,27,24,.88) 0%, rgba(9,35,30,.64) 44%, rgba(9,35,30,.2) 76%, rgba(8,25,22,.32) 100%);
}
.sh-hero__content { position:relative; z-index:3; padding-top:75px; max-width:1000px; }
.sh-eyebrow { margin:0 0 13px; color:var(--sh-gold); font: 600 11px/1.4 var(--sh-body); letter-spacing:.19em; text-transform:uppercase; }
.sh-eyebrow--light { color: #e0c38a; }
.sh-hero h1 { max-width:800px; margin:0 0 18px; font-size:clamp(52px,6.3vw,88px); line-height:.97; letter-spacing:-.025em; }
.sh-hero__lead { max-width:620px; margin-bottom:28px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.9); }
.sh-hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.sh-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:12px 21px;
    border-radius:4px; text-decoration:none; font:600 14px/1 var(--sh-body); transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.sh-btn:hover { transform:translateY(-2px); }
.sh-btn span { font-size:17px; }
.sh-btn--gold { color:#fff; background:var(--sh-gold); border:1px solid var(--sh-gold); }
.sh-btn--gold:hover { background:#a9844d; }
.sh-btn--ghost { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.48); }
.sh-btn--forest { color:#fff; background:var(--sh-forest); border:1px solid var(--sh-forest); }
.sh-btn--full { width:100%; }
.sh-hero__meta { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:38px; color:rgba(255,255,255,.76); font-size:13px; }
.sh-hero__meta i { width:3px; height:3px; border-radius:50%; background:var(--sh-gold); }
.sh-hero__meta strong { color:#fff; font-weight:400; }
.sh-hero__bowl { position:absolute; z-index:2; width:470px; height:470px; right:7%; top:43%; transform:translateY(-50%); display:grid; place-items:center; pointer-events:none; }
.sh-bowl {
    width:260px; height:110px; border-radius:50% 50% 46% 46%; display:grid; place-items:center;
    font-size:0; background:radial-gradient(ellipse at 50% 30%, #d5a962 0, #8a572d 32%, #4c301e 60%, #241b15 100%);
    box-shadow: inset 0 8px 14px rgba(255,221,155,.28), 0 30px 70px rgba(0,0,0,.35);
    position:relative;
}
.sh-bowl::after { content:""; position:absolute; width:210px; height:28px; top:-5px; border-radius:50%; border:5px solid #9b6738; background:#281d15; box-shadow:inset 0 4px 8px rgba(255,210,130,.2); }
.sh-ripple { position:absolute; border:1px solid rgba(215,188,132,.65); border-radius:50%; animation:shPulse 4.2s ease-out infinite; }
.sh-ripple--1 { width:330px; height:180px; animation-delay:0s; }
.sh-ripple--2 { width:410px; height:230px; animation-delay:1.2s; }
.sh-ripple--3 { width:470px; height:270px; animation-delay:2.4s; }
@keyframes shPulse { 0%{transform:scale(.75);opacity:0} 18%{opacity:.65} 100%{transform:scale(1.08);opacity:0} }
.sh-scroll { position:absolute; z-index:4; left:4%; bottom:28px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.7); text-decoration:none; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.sh-scroll i { width:34px; height:1px; background:var(--sh-gold); }

.sh-section { padding:96px 0; }
.sh-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:76px; align-items:center; }
.sh-media-card { position:relative; min-height:430px; overflow:hidden; border-radius:6px; background:#d8d0bf; }
.sh-media-card img { width:100%; height:100%; min-height:430px; object-fit:cover; }
.sh-media-card__overlay { position:absolute; inset:auto 0 0; padding:42px 28px 25px; color:#fff; background:linear-gradient(transparent,rgba(12,29,25,.8)); display:flex; align-items:center; gap:14px; font:500 17px var(--sh-display); }
.sh-play { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.8); border-radius:50%; font-size:12px; }
.sh-essence__copy h2, .sh-section-heading h2, .sh-practice h2 { margin:0 0 20px; color:var(--sh-deep); font-size:clamp(36px,4vw,56px); line-height:1.05; }
.sh-essence__copy > p, .sh-section-heading > p, .sh-practice__copy > p { font-size:17px; line-height:1.72; color:var(--sh-muted); }
.sh-benefits { list-style:none; padding:0; margin:28px 0 0; border-top:1px solid var(--sh-border); }
.sh-benefits li { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--sh-border); font-size:15px; }
.sh-benefits span { color:var(--sh-gold); font-size:19px; }

.sh-section-heading { max-width:760px; margin-bottom:46px; }
.sh-section-heading--center { text-align:center; margin-inline:auto; }
.sh-section-heading--center > p:last-child { max-width:680px; margin-inline:auto; }
.sh-section-heading--light h2, .sh-section-heading--light > p:last-child { color:#fff; }
.sh-journey { position:relative; overflow:hidden; padding:90px 0 105px; color:#fff; background:var(--sh-deep); }
.sh-journey__backdrop { position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, rgba(184,148,90,.12), transparent 42%); }
.sh-journey .sh-container { position:relative; z-index:2; }
.sh-journey__steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:58px; }
.sh-journey-step { position:relative; text-align:center; padding:0 14px; }
.sh-journey-step__line { position:absolute; top:31px; left:50%; width:100%; height:1px; background:linear-gradient(90deg,var(--sh-gold),rgba(184,148,90,.15)); }
.sh-journey-step:last-child .sh-journey-step__line { display:none; }
.sh-journey-step__number { display:block; margin-bottom:6px; color:var(--sh-gold-light); font-size:11px; letter-spacing:.12em; }
.sh-journey-step__icon { position:relative; z-index:2; display:grid; place-items:center; width:62px; height:62px; margin:0 auto 17px; border:1px solid var(--sh-gold); border-radius:50%; background:var(--sh-deep); color:var(--sh-gold-light); font-size:22px; }
.sh-journey-step h3 { margin:0 0 7px; font-size:24px; color:#fff; }
.sh-journey-step p { margin:0; color:rgba(255,255,255,.68); font-size:14px; }

.sh-levels { background:var(--sh-ivory); }
.sh-level-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch; }
.sh-level-card { position:relative; padding:28px 22px 23px; border:1px solid rgba(38,51,47,.12); border-radius:8px; background:rgba(255,255,255,.48); box-shadow:0 10px 35px rgba(39,47,40,.045); }
.sh-level-card.is-featured { border-color:rgba(184,148,90,.7); background:#fffdf7; box-shadow:0 14px 45px rgba(97,72,38,.1); transform:translateY(-10px); }
.sh-level-card__badge { position:absolute; top:-12px; right:20px; padding:6px 11px; border-radius:3px; background:var(--sh-gold); color:#fff; font-size:10px; font-weight:700; letter-spacing:.1em; }
.sh-level-card__number { color:var(--sh-gold); font-size:11px; letter-spacing:.12em; }
.sh-level-card__subtitle { margin:12px 0 1px; color:var(--sh-muted); font-size:13px; }
.sh-level-card h3 { margin:0 0 8px; font-size:29px; color:var(--sh-deep); }
.sh-price { color:var(--sh-deep); font:500 44px/1 var(--sh-display); }
.sh-price sup { font:20px var(--sh-body); vertical-align:top; top:-.15em; position:relative; }
.sh-duration { margin-top:9px; font-size:13px; color:var(--sh-muted); }
.sh-rule { height:1px; margin:21px 0 16px; background:var(--sh-border); }
.sh-level-card__description { min-height:72px; margin-bottom:15px; color:var(--sh-muted); font-size:14px; line-height:1.55; }
.sh-level-card ul { min-height:116px; margin:0 0 20px; padding:0; list-style:none; }
.sh-level-card li { position:relative; padding:5px 0 5px 15px; font-size:14px; line-height:1.4; }
.sh-level-card li::before { content:""; position:absolute; left:0; top:.85em; width:5px; height:5px; border-radius:50%; background:var(--sh-gold); }
.sh-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:26px; padding:18px 8px; border-radius:5px; background:#f0ebdf; }
.sh-facts > div { display:grid; grid-template-columns:34px 1fr; column-gap:9px; align-items:center; padding:0 18px; border-right:1px solid var(--sh-border); }
.sh-facts > div:last-child { border-right:0; }
.sh-facts__icon { grid-row:span 2; color:var(--sh-gold); font-size:23px; }
.sh-facts strong { font-size:14px; }
.sh-facts small { color:var(--sh-muted); font-size:12px; }

.sh-practice { background:#fff; }
.sh-practice__grid { display:grid; grid-template-columns:1.1fr 1.35fr .75fr; align-items:stretch; }
.sh-practice__image { min-height:430px; overflow:hidden; }
.sh-practice__image img { width:100%; height:100%; object-fit:cover; }
.sh-practice__copy { padding:58px 55px; background:var(--sh-ivory); }
.sh-practice__copy h2 { font-size:44px; }
.sh-practice__copy p { font-size:16px; }
.sh-text-link { display:inline-flex; gap:10px; margin-top:14px; color:var(--sh-forest); font-weight:700; text-decoration:none; }
.sh-text-link span { color:var(--sh-gold); }
.sh-practice blockquote { margin:0; padding:58px 30px; display:grid; place-content:center; text-align:center; color:var(--sh-muted); font:italic 18px/1.55 var(--sh-display); background:#faf8f3; }
.sh-practice blockquote span { display:block; margin-top:20px; color:var(--sh-gold); }

.sh-schedule { background:#f3efe5; }
.sh-timeline { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--sh-gold); }
.sh-timeline > div { min-height:175px; padding:22px 16px; border-right:1px solid var(--sh-border); }
.sh-timeline > div:last-child { border-right:0; }
.sh-timeline span { display:block; margin-bottom:28px; color:var(--sh-gold); font-size:12px; letter-spacing:.12em; }
.sh-timeline strong { display:block; margin-bottom:8px; font:500 21px var(--sh-display); }
.sh-timeline small { color:var(--sh-muted); font-size:13px; line-height:1.45; }

.sh-testimonials { padding:86px 0 94px; color:#fff; background:var(--sh-forest); }
.sh-testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sh-testimonial-grid article { position:relative; padding:28px; border:1px solid rgba(255,255,255,.14); border-radius:7px; background:rgba(255,255,255,.055); }
.sh-avatar { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--sh-gold); border-radius:50%; color:var(--sh-gold-light); font:500 20px var(--sh-display); }
.sh-testimonial-grid p { margin:21px 0 22px; color:rgba(255,255,255,.84); font-size:16px; line-height:1.65; }
.sh-testimonial-grid strong { display:block; font-size:13px; font-weight:400; color:#fff; }
.sh-testimonial-grid span { display:block; margin-top:14px; color:var(--sh-gold-light); letter-spacing:.12em; font-size:12px; }

.sh-faq { background:var(--sh-paper); }
.sh-faq-grid { max-width:1050px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.sh-faq-item { border-top:1px solid var(--sh-border); }
.sh-faq-item:nth-last-child(-n+2) { border-bottom:1px solid var(--sh-border); }
.sh-faq-item button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 0; border:0; background:none; color:var(--sh-text); text-align:left; font:400 16px var(--sh-body); cursor:pointer; }
.sh-faq-item button b { flex:0 0 auto; color:var(--sh-gold); font-size:21px; font-weight:400; transition:transform .2s ease; }
.sh-faq-item.is-open button b { transform:rotate(45deg); }
.sh-faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.sh-faq-answer p { overflow:hidden; margin:0; color:var(--sh-muted); font-size:15px; line-height:1.65; }
.sh-faq-item.is-open .sh-faq-answer { grid-template-rows:1fr; }
.sh-faq-item.is-open .sh-faq-answer p { padding:0 34px 20px 0; }

.sh-cta { position:relative; min-height:540px; display:grid; place-items:center; overflow:hidden; color:#fff; text-align:center; background:var(--sh-deep); }
.sh-cta__media { position:absolute; inset:0; background:
    radial-gradient(circle at 70% 65%, rgba(184,148,90,.35), transparent 18%),
    linear-gradient(110deg, rgba(17,52,44,.98), rgba(26,58,50,.7), rgba(50,48,35,.7)); }
.sh-cta__veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,33,28,.9),rgba(9,33,28,.42),rgba(9,33,28,.75)); }
.sh-cta__content { position:relative; z-index:2; max-width:850px; }
.sh-cta h2 { margin:0 0 18px; font-size:clamp(42px,5vw,68px); line-height:1.03; }
.sh-cta p:not(.sh-eyebrow) { max-width:630px; margin:0 auto 28px; color:rgba(255,255,255,.8); font-size:17px; line-height:1.65; }

.sh-footer { background:#0c2823; color:rgba(255,255,255,.75); }
.sh-footer__inner { min-height:100px; display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:30px; }
.sh-footer strong { display:block; color:#fff; font:500 18px var(--sh-display); letter-spacing:.08em; }
.sh-footer small { display:block; margin-top:4px; }
.sh-footer p { margin:0; text-align:center; font-size:13px; }
.sh-footer a { text-decoration:none; color:var(--sh-gold-light); font-size:13px; }

@media (max-width: 1100px) {
    .sh-nav { gap:15px; font-size:13px; }
    .sh-hero__bowl { right:-4%; opacity:.72; }
    .sh-level-grid { grid-template-columns:repeat(2,1fr); }
    .sh-level-card.is-featured { transform:none; }
    .sh-practice__grid { grid-template-columns:1fr 1fr; }
    .sh-practice blockquote { grid-column:1/-1; min-height:190px; }
    .sh-timeline { grid-template-columns:repeat(3,1fr); }
    .sh-timeline > div:nth-child(3) { border-right:0; }
}

@media (max-width: 800px) {
    .sh-header { background:rgba(8,25,22,.7); }
    .sh-header__inner { min-height:68px; }
    .sh-menu { display:block; }
    .sh-nav {
        position:absolute; top:68px; left:4%; right:4%; display:grid; gap:0; padding:10px;
        background:rgba(16,47,42,.98); border:1px solid rgba(255,255,255,.12); border-radius:6px;
        opacity:0; pointer-events:none; transform:translateY(-8px); transition:.2s ease;
    }
    .sh-nav.is-open { opacity:1; pointer-events:auto; transform:none; }
    .sh-nav a { padding:12px; }
    .sh-nav__cta { text-align:center; margin:5px 0; }
    .sh-hero { min-height:720px; }
    .sh-hero__content { padding-top:100px; }
    .sh-hero h1 { font-size:clamp(46px,12vw,64px); }
    .sh-hero__bowl { width:340px; height:340px; right:-100px; top:65%; opacity:.42; }
    .sh-bowl { width:200px; height:85px; }
    .sh-ripple--1 { width:260px; height:140px; }
    .sh-ripple--2 { width:330px; height:180px; }
    .sh-ripple--3 { width:380px; height:220px; }
    .sh-split, .sh-practice__grid { grid-template-columns:1fr; gap:0; }
    .sh-media-card { min-height:340px; }
    .sh-media-card img { min-height:340px; }
    .sh-essence__copy { padding-top:42px; }
    .sh-journey__steps { grid-template-columns:1fr; gap:22px; }
    .sh-journey-step { display:grid; grid-template-columns:52px 1fr; column-gap:14px; text-align:left; padding:0; }
    .sh-journey-step__line { display:none; }
    .sh-journey-step__number { grid-row:span 2; margin:0; padding-top:8px; }
    .sh-journey-step__icon { grid-column:2; grid-row:1; margin:0 0 6px; width:52px; height:52px; }
    .sh-journey-step h3, .sh-journey-step p { grid-column:2; }
    .sh-journey-step h3 { margin-top:-58px; margin-left:68px; }
    .sh-journey-step p { margin-left:68px; }
    .sh-level-grid { grid-template-columns:1fr; }
    .sh-facts { grid-template-columns:1fr 1fr; gap:18px 0; }
    .sh-facts > div:nth-child(2) { border-right:0; }
    .sh-practice__copy { padding:45px 28px; }
    .sh-timeline { grid-template-columns:1fr 1fr; }
    .sh-timeline > div:nth-child(2), .sh-timeline > div:nth-child(4) { border-right:0; }
    .sh-testimonial-grid { grid-template-columns:1fr; }
    .sh-faq-grid { grid-template-columns:1fr; }
    .sh-faq-item:nth-last-child(-n+2) { border-bottom:0; }
    .sh-faq-item:last-child { border-bottom:1px solid var(--sh-border); }
    .sh-footer__inner { grid-template-columns:1fr; text-align:center; padding:28px 0; }
    .sh-footer p { text-align:center; }
}

@media (max-width: 520px) {
    .sh-section { padding:70px 0; }
    .sh-hero__meta { gap:9px; }
    .sh-hero__meta i { display:none; }
    .sh-hero__actions { flex-direction:column; align-items:stretch; max-width:320px; }
    .sh-btn { width:100%; }
    .sh-facts { grid-template-columns:1fr; }
    .sh-facts > div { border-right:0; border-bottom:1px solid var(--sh-border); padding-bottom:14px; }
    .sh-facts > div:last-child { border-bottom:0; padding-bottom:0; }
    .sh-timeline { grid-template-columns:1fr; }
    .sh-timeline > div { min-height:auto; border-right:0; border-bottom:1px solid var(--sh-border); }
    .sh-timeline > div:last-child { border-bottom:0; }
    .sh-cta { min-height:500px; }
}

@media (prefers-reduced-motion: reduce) {
    .sh-ripple { animation:none; }
    .sh-btn, .sh-faq-answer, .sh-faq-item button b, .sh-nav { transition:none; }
}
