/* Rishikesh Yoga Association · homepage sections + course showcase slider */
/* ================= HERO ================= */
.hero{position:relative;overflow:hidden;padding:0;background:radial-gradient(1000px 520px at 50% 105%,#A8D00026,transparent 70%)}
.hero .mand{width:900px;height:900px;left:50%;margin-left:-450px;top:30px;opacity:.12}
.hero-in{position:relative;display:grid;grid-template-columns:1fr 450px 1fr;gap:40px;align-items:end;margin-top:36px}
.hero-side{display:flex;flex-direction:column;gap:22px;padding-bottom:70px}
.hero-side.r{text-align:right;align-items:flex-end}
.hero h1{font-size:56px;line-height:1.04}
.hero .lead{max-width:360px}
.hero-sutra{font-family:var(--deva);font-size:30px;line-height:1.3;color:var(--clay)}
.hero-sutra small{display:block;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink-2);margin-top:8px}
.hero-sutra cite{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.arch{position:relative;height:620px;border-radius:235px 235px 0 0;padding:16px 16px 0;background:linear-gradient(180deg,var(--parch-3),var(--parch-2));box-shadow:0 30px 60px -30px rgba(80,50,20,.5)}
.arch:before{content:"";position:absolute;inset:6px 6px 0;border-radius:229px 229px 0 0;border:1.5px solid var(--clay);border-bottom:0;opacity:.45}
.arch .ph{height:100%;border-radius:219px 219px 0 0;align-items:flex-end;justify-content:center;text-align:center}
.arch .ph:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,214,140,.35),transparent 40%,rgba(42,42,42,.55))}
.arch .ph span{position:relative}
.arch-bell{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:54px;z-index:2}
.diya{position:absolute;bottom:22px;width:64px;z-index:3}
.diya.l{left:-30px}.diya.r{right:-30px}
.flame{transform-origin:50% 100%;animation:flick 1.6s ease-in-out infinite}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08,1.14) rotate(2deg)}}
.hero-stats{display:grid;grid-template-columns:repeat(3,auto);gap:22px;justify-content:end}
.hero-stats b{display:block;font-family:var(--display);font-size:28px;color:var(--forest);line-height:1;white-space:nowrap;margin-bottom:6px}
.hero-stats span{white-space:nowrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.hero-base{position:relative;height:76px;background:var(--forest);margin-top:-1px}
.hero-base .wrap{display:flex;justify-content:center;align-items:center;gap:40px;height:100%;color:#E6E6E0;font-size:14px;flex-wrap:wrap}
.hero-base b{color:var(--marigold);font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:.04em}
.hero-base i{font-style:normal;color:var(--lime)}

/* ================= SWAGATAM ================= */
.swag{text-align:center}
.swag-word{font-family:var(--display);font-size:clamp(40px,6.4vw,92px);line-height:1.05;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.3px var(--clay);opacity:.6;margin-bottom:18px}
.swag-word span{display:inline-block}
.swag h2{font-size:56px}
.swag .body{max-width:820px;margin:26px auto 0}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:64px}
.pillar{padding:34px 26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.35);display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .3s,background .3s}
.pillar:hover{transform:translateY(-6px);background:rgba(255,255,255,.7)}
.pillar .ic{width:70px;height:70px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--parch-2);border:1.5px dashed var(--clay);color:var(--clay)}
.pillar h3{font-size:24px;color:var(--forest)}
.pillar .deva{font-size:17px;color:var(--rose)}
.pillar p{font-size:15px;color:var(--ink-2);line-height:1.7}

/* ================= DINACHARYA (daily rhythm) ================= */
.dina{background:var(--forest);color:#E6E6E0;overflow:hidden}
.dina .mand{width:760px;height:760px;right:-280px;top:-200px;opacity:.07}
.dina h2{color:#FBFBF8}
.dina h2 em{color:#F59AC1}
.dina .kicker{color:var(--marigold)}
.dina .lead{color:#CFC6B2}
.dina-wrap{position:relative;display:grid;grid-template-columns:380px 1fr;gap:70px;align-items:start}
.sun{position:relative;width:340px;height:340px;margin-top:20px}
.sun svg{width:100%;height:100%}
.sun-now{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.sun-now small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:var(--marigold)}
.sun-now b{font-family:var(--display);font-weight:400;font-size:38px;color:#fff;line-height:1}
.sun-now span{font-family:var(--serif);font-style:italic;font-size:19px;color:#E6E6E0;max-width:170px;line-height:1.25}
.dina-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.dina-list li{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(233,225,207,.14);transition:background .3s}
.dina-list time{font-family:var(--display);font-size:20px;color:var(--marigold)}
.dina-list b{display:block;font-size:16px;color:#fff;font-weight:700}
.dina-list span{font-size:14px;color:#BDB49F}
.dina-list li.now{background:linear-gradient(90deg,rgba(242,178,51,.14),transparent);border-radius:12px;padding-left:12px;margin-left:-12px}
.dina-list li.now b:after{content:"Now";margin-left:10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;background:var(--lime);color:var(--forest);padding:3px 8px;border-radius:999px;vertical-align:middle}

/* ================= SADHANA PATHS (courses) ================= */
.paths-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.path{position:relative;display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--line);border-radius:170px 170px 22px 22px;overflow:hidden;transition:transform .35s,box-shadow .35s}
.path:hover{transform:translateY(-8px);box-shadow:0 30px 50px -30px rgba(80,50,20,.55)}
.path-top{position:relative;height:250px;border-radius:160px 160px 0 0;margin:10px 10px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.path-top .mand{inset:-40px;opacity:.22;background-image:url(../images/mandala-light.svg)}
.path-top b{position:relative;font-family:var(--display);font-weight:400;font-size:82px;line-height:.9}
.path-top small{position:relative;font-size:12px;letter-spacing:.3em;font-weight:800}
.path-top .deva{position:relative;font-size:18px;opacity:.9;margin-top:6px}
.path.p1 .path-top{background:linear-gradient(170deg,#5FAE4E,#24361F)}
.path.p2 .path-top{background:linear-gradient(170deg,#E35A97,#951650)}
.path.p3 .path-top{background:linear-gradient(170deg,#4A4A4A,#2A221C)}
.path.p4 .path-top{background:linear-gradient(170deg,#C9A23C,#6E5317)}
.path-tag{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:2;background:var(--marigold);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px;white-space:nowrap}
.path-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex-grow:1;text-align:center}
.path-body h3{font-size:24px;color:var(--forest);line-height:1.15}
.path-body p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
.path-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.path-meta span{font-size:12px;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--parch-2);color:var(--ink-2)}
.path-foot{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px dashed var(--line)}
.path-foot small{font-size:12px;color:var(--muted);letter-spacing:.06em}
.path-foot strong{font-family:var(--display);font-weight:400;font-size:28px;color:var(--rose);line-height:1}
.retreat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.retreat{display:flex;gap:18px;align-items:center;padding:22px 24px;border-radius:20px;background:rgba(255,255,255,.45);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .3s}
.retreat:hover{background:#FFFFFF;color:var(--ink)}
.retreat .n{flex-shrink:0;width:64px;height:64px;border-radius:999px;background:var(--parch-2);border:1.5px solid var(--saffron);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.retreat .n b{font-family:var(--display);font-weight:400;font-size:26px;color:var(--clay)}
.retreat .n small{font-size:9px;letter-spacing:.16em;font-weight:800;color:var(--muted)}
.retreat h4{margin:0;font-family:var(--serif);font-size:21px;color:var(--forest)}
.retreat p{font-size:14px;color:var(--ink-2)}

/* ================= EIGHT LIMBS ================= */
.limbs{background:var(--parch-2) var(--paper)}
.limbs-wrap{display:grid;grid-template-columns:480px 1fr;gap:70px;align-items:center}
.lotus-wheel{position:relative;width:480px;height:480px}
.lotus-wheel .mand{inset:40px;opacity:.16}
.petal{position:absolute;left:50%;top:50%;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:999px;border:1.5px solid var(--line);background:#FFFFFF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-family:inherit;color:var(--ink);transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.petal .deva{font-size:19px;color:var(--rose);line-height:1.2}
.petal small{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.petal:hover{border-color:var(--saffron)}
.petal[aria-selected="true"]{background:var(--forest);border-color:var(--forest);box-shadow:0 0 0 6px rgba(242,178,51,.35)}
.petal[aria-selected="true"] .deva{color:var(--marigold)}
.petal[aria-selected="true"] small{color:#E6E6E0}
.wheel-core{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:999px;background:var(--rose);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 10px rgba(184,30,99,.15)}
.wheel-core .om{color:#FFE3EE;font-size:46px}
.wheel-core small{font-size:11px;letter-spacing:.2em;font-weight:800;text-transform:uppercase}
.limb-panel{display:flex;flex-direction:column;gap:18px}
.limb-panel .num{font-family:var(--display);font-size:16px;letter-spacing:.2em;color:var(--clay)}
.limb-panel h3{font-family:var(--display);font-weight:400;font-size:46px;color:var(--forest);line-height:1}
.limb-panel h3 .deva{font-size:34px;color:var(--rose);margin-left:12px}
.limb-panel p{font-size:18px;line-height:1.85;color:var(--ink-2)}
.limb-panel ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.limb-panel li{font-size:13px;font-weight:800;padding:7px 14px;border-radius:999px;background:#FFFFFF;border:1px solid var(--line);color:var(--ink-2)}
.limb-nav{display:flex;gap:10px;margin-top:6px}
.limb-nav button{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--forest);background:none;color:var(--forest);cursor:pointer;display:flex;align-items:center;justify-content:center}
.limb-nav button:hover{background:var(--forest);color:#fff}

/* ================= ASHRAM LIFE ================= */
.life-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:280px 280px;gap:20px}
.life{position:relative;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;padding:28px;color:#fff;min-height:0}
.life:first-child{grid-row:span 2}
.life:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(30,20,10,.75))}
.life > *{position:relative}
.life .deva{font-size:18px;color:var(--marigold)}
.life h3{font-size:30px;line-height:1.05;margin:4px 0 6px}
.life p{font-size:14.5px;color:#F1E8D8;line-height:1.6;max-width:420px}
.life .ph-l{position:absolute;top:18px;left:22px;font-size:12px;color:rgba(255,255,255,.7);font-weight:700;letter-spacing:.04em}

/* ================= GURU PARAMPARA (teachers) ================= */
.guru-feature{display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:center;margin-bottom:80px}
.guru-photo{position:relative;height:520px}
.guru-photo .ph{height:100%;border-radius:210px 210px 24px 24px}
.guru-photo .seal{position:absolute;right:-24px;bottom:40px;width:130px;height:130px;border-radius:999px;background:var(--marigold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 20px 40px -16px rgba(80,50,20,.6)}
.guru-photo .seal b{font-family:var(--display);font-weight:400;font-size:36px;line-height:1}
.guru-photo .seal small{font-size:10px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.guru-q{font-family:var(--serif);font-style:italic;font-size:30px;line-height:1.4;color:var(--forest);border-left:3px solid var(--saffron);padding-left:24px;margin:8px 0}
.teachers{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.teacher{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.teacher .ph{width:100%;aspect-ratio:3/3.6;border-radius:999px 999px 20px 20px;justify-content:center;margin-bottom:8px}
.teacher h4{margin:0;font-family:var(--serif);font-size:24px;color:var(--forest)}
.teacher .role{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--rose)}
.teacher p{font-size:14px;color:var(--muted)}

/* ================= NOTICE BOARD (dates) ================= */
.board-sec{background:var(--forest);overflow:hidden}
.board-sec .mand{width:700px;height:700px;left:-260px;bottom:-280px;opacity:.07}
.board-wrap{position:relative;display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}
.board-sec h2{color:#FBFBF8}.board-sec h2 em{color:#F59AC1}
.board-sec .kicker{color:var(--marigold)}
.board-sec .lead{color:#CFC6B2}
.board{position:relative;background:linear-gradient(180deg,#A8D000,#7FA000);border-radius:16px;padding:22px;box-shadow:0 40px 60px -30px rgba(0,0,0,.7),inset 0 0 0 6px #6E8C00}
.board:before,.board:after{content:"";position:absolute;top:-16px;width:2px;height:24px;background:#3D2614}
.board:before{left:30%}.board:after{right:30%}
.board-paper{background:#FBFBF8 var(--paper);border-radius:6px;padding:28px 28px 22px;transform:rotate(-.6deg);box-shadow:0 6px 0 rgba(0,0,0,.15)}
.board-paper h3{font-family:var(--display);font-weight:400;font-size:26px;color:var(--forest);text-align:center;margin-bottom:4px}
.board-paper .deva{display:block;text-align:center;color:var(--clay);font-size:16px;margin-bottom:16px}
.pin{position:absolute;top:10px;width:16px;height:16px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#FF7FB2,#C2185B);box-shadow:0 3px 4px rgba(0,0,0,.35)}
.batch{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--line)}
.batch:last-of-type{border-bottom:0}
.batch .d{width:70px;height:70px;border-radius:12px;background:var(--forest);color:#FBFBF8;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.batch .d b{font-family:var(--display);font-weight:400;font-size:30px}
.batch .d small{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--marigold)}
.batch h4{margin:0;font-family:var(--serif);font-size:21px;color:var(--ink)}
.batch span{font-size:13.5px;color:var(--muted)}
.batch .st{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;white-space:nowrap}
.st.few{background:#FCE1EC;color:var(--rose-dk)}
.st.open{background:#E3F1DC;color:#2C6B22}
.st.eb{background:#FBEFCF;color:#8A5A0B}
.board-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:13px;color:var(--muted);flex-wrap:wrap}

/* ================= REVIEWS ================= */
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:30px}
.vid{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink)}
.vid .ph{aspect-ratio:4/3;border-radius:120px 120px 22px 22px;align-items:center;justify-content:center}
.vid .play{position:relative;width:76px;height:76px;border-radius:999px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(255,255,255,.25);transition:transform .3s}
.vid:hover .play{transform:scale(1.1)}
.vid .len{position:absolute;bottom:16px;right:18px;font-size:12px;background:rgba(0,0,0,.55);color:#fff;padding:3px 9px;border-radius:6px}
.vid h4{margin:0;font-family:var(--serif);font-size:22px;color:var(--forest)}
.vid span{font-size:14px;color:var(--muted)}
.vid .stars{color:var(--saffron);font-size:15px}
.stars{color:var(--saffron);letter-spacing:3px;font-size:15px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{margin:0;padding:34px 30px 28px;background:#FFFFFF;border:1px solid var(--line);border-radius:22px;position:relative;display:flex;flex-direction:column;gap:16px}
.quote:before{content:"“";position:absolute;top:-6px;left:22px;font-family:var(--serif);font-size:90px;line-height:1;color:var(--marigold)}
.quote blockquote{margin:12px 0 0;font-family:var(--serif);font-size:21px;line-height:1.5;font-style:italic;color:var(--ink)}
.quote figcaption{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted)}
.quote figcaption b{display:block;color:var(--ink);font-size:15px}
.av{width:46px;height:46px;border-radius:999px;background:var(--parch-2);border:1.5px solid var(--saffron);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--clay)}
.trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 40px;margin-top:44px;font-size:14px;color:var(--ink-2)}
.trust-row b{font-family:var(--display);font-weight:400;font-size:26px;color:var(--forest);margin-right:6px}

/* ================= WHY RISHIKESH ================= */
.ganga{background:linear-gradient(180deg,var(--parch) 0,#EAF0E0 100%);overflow:hidden}
.ganga-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.ganga-art{position:relative;height:520px;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,#F7D7A8 0,#F3B9C9 48%,#BFD8C5 49%,#7FB09A 100%)}
.ganga-art svg{position:absolute;inset:0;width:100%;height:100%}
.ganga-art .cap{position:absolute;left:24px;bottom:22px;color:#fff;font-weight:700;font-size:13px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.reason{display:flex;gap:14px}
.reason .n{flex-shrink:0;font-family:var(--display);font-size:30px;color:var(--saffron);line-height:1}
.reason h4{margin:0 0 4px;font-family:var(--serif);font-size:21px;color:var(--forest)}
.reason p{font-size:14.5px;color:var(--ink-2);line-height:1.65}

/* ================= FAQ ================= */
.faq-wrap{display:grid;grid-template-columns:400px 1fr;gap:70px;align-items:start}
.faq-side{position:sticky;top:130px;display:flex;flex-direction:column;gap:20px}
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;background:none;border:0;padding:24px 0;text-align:left;cursor:pointer;font-family:var(--serif);font-size:23px;font-weight:700;color:var(--forest);min-height:44px}
.acc-q:hover{color:var(--rose)}
.acc-q .sign{flex-shrink:0;width:40px;height:40px;border-radius:999px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:20px;color:var(--clay);transition:transform .3s,background .3s}
.acc-q[aria-expanded="true"] .sign{transform:rotate(45deg);background:var(--forest);color:#fff;border-color:var(--forest)}
.acc-a{padding:0 60px 26px 0;font-size:16.5px;line-height:1.85;color:var(--ink-2)}
.acc-a[hidden]{display:none}

/* ================= ENQUIRY ================= */
.enq{padding-bottom:140px}
.enq-card{position:relative;display:grid;grid-template-columns:1fr 1.15fr;border-radius:34px;overflow:hidden;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 40px 70px -40px rgba(80,50,20,.5)}
.enq-l{position:relative;background:var(--rose);color:#FFE9F2;padding:56px 50px;display:flex;flex-direction:column;justify-content:center;gap:20px;overflow:hidden}
.enq-l .mand{width:460px;height:460px;right:-200px;bottom:-200px;opacity:.2}
.enq-l > *:not(.mand){position:relative}
.enq-l h2{color:#fff;font-size:44px}
.enq-l h2 em{color:#FFE08A}
.enq-l .deva{font-size:22px;color:#FFE08A}
.enq-l ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.enq-l li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px}
.enq-l li svg{flex-shrink:0;margin-top:3px;color:#FFE08A}
.enq-l a{color:#fff;font-weight:700;text-decoration:none}
.enq-l a:hover{text-decoration:underline}
.form{padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}
.form .full{grid-column:1/-1}
.form label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.form input,.form select,.form textarea{min-height:52px;border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;font-family:var(--sans);font-size:15.5px;color:var(--ink);background:var(--parch);text-transform:none;letter-spacing:0;font-weight:500}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--saffron);outline-offset:1px;border-color:var(--saffron)}
.form .note{font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}
.form-ok{grid-column:1/-1;background:#E3F1DC;color:#2C6B22;border-radius:12px;padding:14px 16px;font-weight:700;margin:0}

/* ================= HERO SCENE ================= */
.scene-ph{padding:0!important;background:#F7D9A6!important}
.scene-ph:before{display:none}
.rk-scene{position:absolute;inset:0;width:100%;height:100%}
.rk-diyas g{animation:bob 4s ease-in-out infinite}
.rk-diyas g:nth-child(2){animation-delay:-1.3s}.rk-diyas g:nth-child(3){animation-delay:-2.6s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -4px}}
.scene-cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* ================= GANGA FLOW BAND ================= */
.gflow{position:relative;height:44px;overflow:hidden;background:linear-gradient(180deg,#5E9C8C,#4F8F82)}
.gflow svg{position:absolute;left:0;top:0;width:200%;height:100%;animation:flow 26s linear infinite}
@keyframes flow{to{transform:translateX(-50%)}}
.petal-f{position:absolute;top:14px;width:12px;height:8px;border-radius:50% 50% 50% 0;background:var(--marigold);animation:drift 22s linear infinite}
.petal-f.p1{left:-2%}.petal-f.p2{left:-2%;background:#F59AC1;top:24px;animation-delay:-6s}.petal-f.p3{left:-2%;animation-delay:-12s;top:20px}.petal-f.p4{left:-2%;background:#F59AC1;animation-delay:-17s;top:10px}
@keyframes drift{from{transform:translateX(0) rotate(0)}to{transform:translateX(105vw) rotate(360deg)}}

/* ================= GANGA AARTI ================= */
.aarti{position:relative;overflow:hidden;background:linear-gradient(180deg,#2C1C2E 0,#4F2340 34%,#8F3A4E 66%,#D2774A 100%);color:#F7E6D6}
.aarti-stars{position:absolute;inset:0 0 50% 0;background-image:radial-gradient(1.5px 1.5px at 10% 20%,#fff8,transparent),radial-gradient(1.2px 1.2px at 30% 10%,#fff7,transparent),radial-gradient(1.6px 1.6px at 55% 25%,#fff8,transparent),radial-gradient(1.2px 1.2px at 75% 12%,#fff6,transparent),radial-gradient(1.5px 1.5px at 88% 30%,#fff7,transparent),radial-gradient(1px 1px at 45% 6%,#fff6,transparent),radial-gradient(1.3px 1.3px at 65% 40%,#fff5,transparent);pointer-events:none}
.aarti-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding-top:110px}
.aarti h2{color:#FFF3E3}
.aarti h2 em{color:#FFD58A}
.aarti .lead{color:#F1D8C6;margin:18px 0 26px}
.aarti-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.aarti-list li{display:flex;gap:16px;align-items:flex-start}
.aarti-list li > .deva{flex-shrink:0;width:42px;height:42px;border-radius:999px;border:1.5px solid #FFD58A;color:#FFD58A;display:flex;align-items:center;justify-content:center;font-size:18px}
.aarti-list b{display:block;color:#fff;font-size:16.5px}
.aarti-list span{font-size:14.5px;color:#EBC9B4}
.aarti-chant{margin-top:26px;font-size:30px;color:#FFD58A}
.aarti-lamp{display:flex;justify-content:center}
.aarti-lamp svg{width:min(330px,80%);animation:sway 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sway{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.aflames path{transform-box:fill-box;transform-origin:50% 100%;animation:flick 1.4s ease-in-out infinite}
.aflames path:nth-child(odd){animation-delay:-.5s}
.aarti-river{position:relative;margin-top:30px;background:linear-gradient(180deg,#B85E45,#6A3A3E 60%,#3B2A35);padding:70px 0 40px;overflow:hidden}
.ar-waves{position:absolute;left:0;top:0;width:200%;height:90px;animation:flow 30s linear infinite}
.ar-diyas i{position:absolute;top:24px;width:26px;height:12px;border-radius:0 0 14px 14px;background:#4A4A4A;animation:float-x 18s linear infinite}
.ar-diyas i:before{content:"";position:absolute;left:50%;top:-12px;width:8px;height:12px;margin-left:-4px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#FFD58A;box-shadow:0 0 14px 4px rgba(255,213,138,.55);animation:flick 1.4s ease-in-out infinite}
@keyframes float-x{0%{transform:translate(0,0)}50%{transform:translate(40px,6px)}100%{transform:translate(0,0)}}
.ar-cta{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ar-cta .deva{font-size:28px;color:#FFD58A}

/* ================= SACRED RISHIKESH MAP ================= */
.sacred-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}
.rk-map{position:relative;aspect-ratio:600/560;border-radius:26px;box-shadow:0 30px 60px -36px rgba(80,50,20,.55);border:1px solid var(--line)}
.rk-map svg{position:absolute;inset:0;width:100%;height:100%}
.gw-flow{animation:dash 8s linear infinite}
@keyframes dash{to{stroke-dashoffset:-240}}
.rk-pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer;font-family:var(--sans);z-index:2}
.rk-pin .dot{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--clay);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 12px -4px rgba(0,0,0,.35);transition:background .2s,transform .2s}
.rk-pin .dot span{transform:rotate(45deg);color:#fff;font-weight:800;font-size:13px}
.rk-pin .lbl{font-size:11.5px;font-weight:800;color:var(--ink);background:rgba(255,255,255,.92);padding:3px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.rk-pin.home .dot{background:var(--forest)}
.rk-pin:hover .dot{transform:rotate(-45deg) scale(1.1)}
.rk-pin[aria-pressed="true"] .dot{background:var(--rose);transform:rotate(-45deg) scale(1.18)}
.rk-pin[aria-pressed="true"] .lbl{background:var(--rose);color:#fff}
.rk-card{background:#FFFFFF;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 40px -30px rgba(80,50,20,.5)}
.rk-type{align-self:flex-start;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#fff;background:var(--clay);padding:5px 11px;border-radius:999px}
.rk-card h3{font-family:var(--display);font-weight:400;font-size:32px;color:var(--forest);margin-top:8px;line-height:1.1}
.rk-card .deva{font-size:19px;color:var(--rose)}
.rk-card p{font-size:16px;line-height:1.75;color:var(--ink-2);margin-top:6px}
.rk-dist{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:800;color:var(--forest)}
.rk-dist:before{content:"";width:18px;height:2px;background:var(--saffron)}
.rk-list{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rk-list button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.4);cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--ink);text-align:left}
.rk-list button i{flex-shrink:0;width:24px;height:24px;border-radius:999px;background:var(--parch-2);color:var(--clay);font-style:normal;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.rk-list button:hover{background:#FFFFFF}
.rk-list button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.rk-list button[aria-pressed="true"] i{background:var(--marigold);color:var(--ink)}

@media (max-width:1180px){
  .aarti-in{grid-template-columns:1fr;gap:30px;padding-top:80px}
  .aarti-lamp svg{width:240px}
  .sacred-wrap{grid-template-columns:1fr}
}
@media (max-width:760px){
  .rk-pin .lbl{display:none}
  .rk-pin .dot{width:28px;height:28px}
  .rk-list{grid-template-columns:1fr}
  .aarti-chant{font-size:24px}
  .ar-cta{justify-content:center;text-align:center}
}


/* credential seals (teachers section) */
.seals{display:flex;gap:8px}
.seals span{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--marigold);color:var(--marigold);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1}

/* ---- small screens (section rules + shared rules, kept in the original cascade order) ---- */
@media (max-width:1180px){
  .hero-in{grid-template-columns:1fr 1fr;gap:40px}
  .hero-side.l{grid-column:1/-1;text-align:center;align-items:center;padding-bottom:0}
  .hero-side.l .lead{max-width:600px}
  .hero-side.r{text-align:left;align-items:flex-start;padding-bottom:40px}
  .hero-stats{justify-content:start}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .dina-wrap{grid-template-columns:1fr;gap:40px}
  .sun{margin:0 auto}
  .paths-grid{grid-template-columns:repeat(2,1fr)}
  .limbs-wrap{grid-template-columns:1fr;justify-items:center;gap:50px}
  .life-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,260px)}
  .life:first-child{grid-row:span 1;grid-column:1/-1}
  .guru-feature{grid-template-columns:1fr;gap:50px}
  .guru-photo{max-width:420px;width:100%;margin:0 auto}
  .teachers{grid-template-columns:repeat(2,1fr)}
  .board-wrap,.ganga-wrap{grid-template-columns:1fr;gap:50px}
  .faq-wrap{grid-template-columns:1fr;gap:40px}
  .faq-side{position:static}
  .enq-card{grid-template-columns:1fr}
}

@media (max-width:760px){
  .hero-in{margin-top:24px}
  .hero h1{font-size:42px}
  .hero-in{grid-template-columns:1fr}
  .arch{height:440px;border-radius:200px 200px 0 0}
  .arch:before{border-radius:194px 194px 0 0}
  .arch .ph{border-radius:184px 184px 0 0}
  .diya{width:50px}.diya.l{left:-8px}.diya.r{right:-8px}
  .hero-side.r{padding-bottom:30px}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:14px;width:100%}
  .hero-stats b{font-size:26px}
  .swag-word{font-size:40px;margin-bottom:12px}
  .swag h2{font-size:40px}
  .pillars,.paths-grid,.retreat-row,.vids,.quotes,.teachers,.reasons{grid-template-columns:1fr}
  .dina-list{grid-template-columns:1fr}
  .sun{width:280px;height:280px}
  .lotus-wheel{width:340px;height:340px}
  .petal{width:82px;height:82px;margin:-41px 0 0 -41px}
  .petal .deva{font-size:15px}
  .petal small{font-size:9px;letter-spacing:.08em}
  .wheel-core{width:108px;height:108px;margin:-54px 0 0 -54px}
  .wheel-core .om{font-size:34px}
  .limb-panel h3{font-size:36px}
  .life-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,240px)}
  .guru-photo{height:440px}
  .guru-photo .seal{right:0}
  .guru-q{font-size:24px}
  .ganga-art{height:360px}
  .acc-q{font-size:20px}
  .acc-a{padding-right:0}
  .enq-l,.form{padding:32px 24px}
  .form{grid-template-columns:1fr}
  .enq-l h2{font-size:34px}
}

@media (max-width:760px){
  body{font-size:16px}
  h2{font-size:36px}
  .pad{padding:80px 0}
  .wrap{padding:0 18px}
  .toran{height:40px}
}

/* ================= SEO HOMEPAGE SECTIONS ================= */
/* Yoga Alliance credentials strip */
.trust{position:relative;background:#262626;color:#EDEDE8;border-top:3px solid var(--lime)}
.trust-in{display:flex;align-items:center;justify-content:space-between;gap:16px 22px;padding:20px 0;flex-wrap:nowrap}
.tr-lead{display:flex;align-items:center;gap:12px;padding-right:22px;border-right:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(237,237,232,.7);font-weight:700;white-space:nowrap}
.tr-lead b{display:block;font-family:var(--display);font-weight:400;font-size:19px;color:#fff}
.tr-ya{width:50px;height:50px;border-radius:50%;background:var(--lime);color:#1E1E1E;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:19px;letter-spacing:.04em}
.tr-item{display:flex;align-items:center;gap:10px;font-size:11.5px;line-height:1.35;color:rgba(237,237,232,.68);font-weight:700;white-space:nowrap}
.tr-item b{display:block;font-family:var(--display);font-weight:400;font-size:15.5px;color:#fff;letter-spacing:.02em}
.tr-badge{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1.6px solid var(--lime);color:var(--lime);display:flex;align-items:center;justify-content:center;text-align:center;font-size:9.5px;font-weight:800;line-height:1.1}
.tr-badge.p{border-color:#F06BA8;color:#F06BA8}.tr-badge.l{border-color:#7BD88A;color:#7BD88A}
.tr-verify{flex-shrink:0;font-size:12.5px;font-weight:800;color:var(--lime);text-decoration:none;white-space:nowrap;padding:9px 16px;border:1px solid rgba(168,208,0,.45);border-radius:999px;transition:background .25s,color .25s}
.tr-verify:hover{background:var(--lime);color:#1E1E1E}
@media (max-width:1280px){.trust-in{flex-wrap:wrap;justify-content:center}.tr-lead{border-right:0;padding-right:0;width:100%;justify-content:center}}
@media (max-width:760px){.trust-in{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tr-lead,.tr-verify{grid-column:1/-1}.tr-verify{justify-self:center}.tr-item{white-space:normal}.tr-badge{width:40px;height:40px;font-size:8.5px}}

/* at a glance */
.glance{padding:100px 0 90px}
.glance-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
.glance-copy{display:flex;flex-direction:column;gap:18px}
.glance-copy h2{margin:0}
.glance-answer{margin:0;font-family:var(--serif);font-size:23px;line-height:1.5;color:var(--ink);padding-left:20px;border-left:3px solid var(--saffron)}
.glance-answer strong{font-weight:700;color:var(--forest)}
.glance-upd{margin:0;font-size:13px;color:var(--muted);font-weight:700}
.glance-upd time{color:var(--clay)}
.facts-dl{margin:0;display:grid;grid-template-columns:auto 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#FFFFFF;box-shadow:0 20px 40px -32px rgba(60,40,20,.5)}
.facts-dl dt,.facts-dl dd{margin:0;padding:14px 20px;border-bottom:1px solid var(--line);font-size:15px}
.facts-dl dt{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);background:var(--parch-2);display:flex;align-items:center}
.facts-dl dd{color:var(--ink)}
.facts-dl dt:nth-last-of-type(1),.facts-dl dd:last-child{border-bottom:0}
@media (max-width:1000px){.glance-wrap{grid-template-columns:1fr;gap:34px}}
@media (max-width:760px){.glance{padding:70px 0}.glance-answer{font-size:19px}.facts-dl{grid-template-columns:1fr}.facts-dl dt{padding:10px 16px 4px;border-bottom:0;background:none}.facts-dl dd{padding:0 16px 12px}}

/* fees */
.fee-wrap{margin-top:46px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#FFFFFF;box-shadow:0 24px 50px -36px rgba(60,40,20,.5)}
.fee-table{width:100%;border-collapse:collapse;font-size:15px}
.fee-table th,.fee-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.fee-table thead th{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F1F1EC;background:var(--forest)}
.fee-table tbody th{font-family:var(--display);font-weight:400;font-size:18px;color:var(--forest)}
.fee-table tbody th small{display:block;font-family:var(--sans);font-size:12px;color:var(--muted);font-weight:700;margin-top:2px}
.fee-table td{font-family:var(--display);font-size:18px;color:var(--ink)}
.fee-table td.dur{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.fee-table tr.hl{background:color-mix(in srgb,var(--rose) 6%,#FFFFFF)}
.fee-table tr.hl th:after{content:"Most chosen";display:inline-block;margin-left:10px;padding:2px 9px;border-radius:999px;background:var(--rose);color:#fff;font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle}
.fee-table tbody tr:last-child th,.fee-table tbody tr:last-child td{border-bottom:0}
.fee-note{margin:14px 4px 0;font-size:13px;color:var(--muted)}
.fee-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.fee-col{padding:26px;border-radius:22px;background:#FFFFFF;border:1px solid var(--line)}
.fee-col h3{margin:0 0 14px;font-size:22px}
.fee-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--ink-2)}
.fee-col li{display:flex;gap:10px;align-items:flex-start}
.fee-col li:before{content:"✓";flex-shrink:0;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--leaf) 18%,#fff);color:#2E7D32;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.fee-col.no li:before{content:"–";background:var(--parch-2);color:var(--muted)}
.fee-col.pay li:before{content:"→";background:color-mix(in srgb,var(--saffron) 18%,#fff);color:var(--clay)}
@media (max-width:1000px){.fee-cols{grid-template-columns:1fr}.fee-wrap{overflow-x:auto}.fee-table{min-width:680px}}

/* syllabus */
.syl-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:46px}
.syl{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 22px;border-radius:24px;background:#FFFFFF;border:1px solid var(--line);overflow:hidden}
.syl:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--c,var(--saffron))}
.syl .hrs{font-family:var(--display);font-size:46px;line-height:1;color:var(--c,var(--saffron))}
.syl .hrs small{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.18em;margin-left:6px;color:var(--muted)}
.syl h3{margin:0;font-size:20px;line-height:1.2}
.syl p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.6}
.syl-bar{display:flex;height:12px;border-radius:12px;overflow:hidden;margin-top:30px}
.syl-bar span{height:100%;background:var(--c)}
.syl-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--muted)}
@media (max-width:1180px){.syl-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.syl-grid{grid-template-columns:1fr 1fr}.syl{padding:20px 16px}.syl .hrs{font-size:38px}.syl h3{font-size:17px}}

/* how to reach */
.reach{background:var(--parch-2) var(--paper)}
.reach-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.reach-list{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.reach-list li{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line)}
.reach-list .ic{width:48px;height:48px;border-radius:14px;background:var(--forest);color:var(--marigold);display:flex;align-items:center;justify-content:center}
.reach-list h3{margin:0 0 2px;font-size:19px}
.reach-list p{margin:0;font-size:14.5px;color:var(--ink-2)}
.nap{margin-top:22px;padding:22px 24px;border-radius:20px;background:var(--forest);color:#E6E6E0;font-style:normal;display:grid;gap:8px;font-size:15px}
.nap b{font-family:var(--display);font-weight:400;font-size:20px;color:#fff}
.nap a{color:var(--marigold)}
.map-box{position:relative;height:100%;min-height:520px;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#CFE3D6,#9DC2B0);border:6px solid #FFFFFF;box-shadow:0 30px 60px -36px rgba(60,40,20,.55)}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:30px;color:var(--forest)}
.map-load svg{color:var(--rose)}
.map-load b{font-family:var(--display);font-weight:400;font-size:24px}
.map-load span{font-size:14px;color:var(--ink-2);max-width:320px}
@media (max-width:1000px){.reach-wrap{grid-template-columns:1fr;gap:34px}.map-box{min-height:380px}}

/* guides */
.guides-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.guide{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:24px;background:#FFFFFF;border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .35s var(--breath),box-shadow .35s,border-color .35s}
.guide:hover{transform:translateY(-4px);border-color:var(--clay);box-shadow:0 24px 40px -30px rgba(60,40,20,.55)}
.guide .cat{align-self:flex-start;padding:4px 12px;border-radius:999px;background:var(--parch-2);color:var(--clay);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.guide h3{margin:0;font-size:22px;line-height:1.25;color:var(--forest)}
.guide p{margin:0;font-size:14.5px;color:var(--ink-2)}
.guide .by{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted);font-weight:700}
.guide .more{font-size:13.5px;font-weight:800;color:var(--rose)}
@media (max-width:1000px){.guides-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.guides-grid{grid-template-columns:1fr}}

/* video facades with photo thumbnails */
.vid .ph.vthumb{background-size:cover;background-position:var(--vpos,50% 50%)}
.vid .ph.vthumb:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45))}
.vid .ph.vthumb > .play{position:relative}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.sh-nav.r a{white-space:nowrap}

/* ================= COURSE SHOWCASE SLIDER ================= */
@property --acc{syntax:'<color>';inherits:true;initial-value:#C2185B}
.hero{--acc:#2E9A3E;transition:--acc 1.2s ease;overflow:clip}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 72% 70%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%)}
.hero > .cs,.hero > .hero-base{position:relative;z-index:1}
.cs{padding-top:20px}
.cs-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:6px}
.hero .cs-h1{margin:0;font-family:var(--sans);font-size:12.5px;line-height:1.4;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:var(--clay);display:flex;align-items:center;gap:14px}
.cs-h1:before{content:"";width:34px;height:2px;background:var(--acc)}
.cs-ya{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.04em}
.cs-ya b{color:var(--forest)}

.cs-main{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:48px;align-items:center}
/* copy */
.cs-num{display:flex;align-items:flex-end;gap:14px;margin:4px 0 2px;color:var(--acc)}
.cs-num b{font-family:var(--display);font-weight:400;font-size:clamp(84px,8.2vw,124px);line-height:.82;letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:2.1ch}
.cs-unit{display:grid;padding-bottom:10px}
.cs-unit span{grid-area:1/1;font-size:13px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;line-height:1.5;color:var(--ink-2);transition:opacity .4s,translate .5s var(--breath)}
.cs-unit span:not(.on){opacity:0;translate:0 10px}
.cs-texts{display:grid}
.cs-text{grid-area:1/1;display:flex;flex-direction:column;gap:13px;visibility:hidden;pointer-events:none}
.cs-text.on{visibility:visible;pointer-events:auto}
.cs-text.out{visibility:visible}
.cs-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--acc) 12%,#fff);color:var(--acc);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cs-tag:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cs-name{margin:0;font-family:var(--display);font-weight:400;font-size:36px;line-height:1.1;color:var(--forest)}
.cs-name em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--acc)}
.cs-desc{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:600px}
.cs-facts{list-style:none;margin:2px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cs-facts li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:1px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.62);border:1px solid rgba(181,101,46,.18)}
.cs-facts svg{color:var(--acc);grid-row:1/3}
.cs-facts small{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cs-facts b{font-family:var(--display);font-weight:400;font-size:15.5px;line-height:1.2;color:var(--ink)}
.cs-learn{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:14px;color:var(--ink-2)}
.cs-learn small{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.cs-learn span{padding:3px 11px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--acc) 45%,transparent)}
.cs-buy{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;padding-top:2px}
.cs-price small,.cs-seats small{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cs-price b{font-family:var(--display);font-weight:400;font-size:26px;color:var(--forest);line-height:1.15}
.cs-seats{min-width:150px}
.cs-seats .meter{display:block;height:6px;margin-top:8px;border-radius:6px;background:rgba(181,101,46,.18);overflow:hidden}
.cs-seats .meter i{display:block;height:100%;width:100%;border-radius:6px;background:linear-gradient(90deg,var(--saffron),var(--acc));transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--breath) .7s}
.cs-text.on .cs-seats .meter i{transform:scaleX(var(--f,.5))}
.cs-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn-acc{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn-acc:hover{filter:brightness(1.08)}

/* text transitions — mask & clip, no fading */
.cs-name .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .08em .14em;margin:0 -.08em -.14em}
.cs-name .wi{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:0 100%;transition:transform 1s var(--breath) var(--d,0s)}
.cs-text.on .cs-name .wi{transform:none}
.cs-text.out .cs-name .wi{transform:translateY(-110%);transition:transform .5s cubic-bezier(.6,0,.8,.4)}
.cs-text > :not(.cs-name){clip-path:inset(0 0 100% 0);transform:translateY(22px);transition:clip-path .8s var(--breath),transform .8s var(--breath)}
.cs-text.on > :not(.cs-name){clip-path:inset(-30% -10% -40% -10%);transform:none}
.cs-text.on > .cs-tag{transition-delay:.1s}.cs-text.on > .cs-desc{transition-delay:.45s}.cs-text.on > .cs-facts{transition-delay:.55s}
.cs-text.on > .cs-learn{transition-delay:.65s}.cs-text.on > .cs-buy{transition-delay:.75s}
.cs-text.out > :not(.cs-name){clip-path:inset(0 0 100% 0);transform:translateY(-14px);transition-duration:.45s;transition-delay:0s}
.cs-facts li{transform:translateY(16px);transition:transform .8s var(--breath)}
.cs-text.on .cs-facts li{transform:none}
.cs-text.on .cs-facts li:nth-child(2){transition-delay:.62s}.cs-text.on .cs-facts li:nth-child(3){transition-delay:.69s}.cs-text.on .cs-facts li:nth-child(4){transition-delay:.76s}

/* visual */
.cs-visual{position:relative;padding:14px 0 0}
.hs-flame path{transform-box:fill-box;transform-origin:50% 100%;animation:flick 1.6s ease-in-out infinite}

/* floating calendar card — flips like a page */
.cs-date{position:absolute;left:0;top:120px;z-index:6;width:132px;perspective:600px}
.cs-date-in{background:#FFFFFF;border-radius:16px;box-shadow:0 22px 40px -18px rgba(60,40,20,.45);overflow:hidden;text-align:center;transform-origin:50% 0;border:1px solid rgba(181,101,46,.18)}
.cs-date-in small{display:block;padding:7px 0;background:var(--acc);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.cs-date-in b{display:block;font-family:var(--display);font-weight:400;font-size:46px;line-height:1;color:var(--forest);padding-top:10px}
.cs-date-in span{display:block;font-size:13px;font-weight:700;color:var(--ink-2);padding:2px 0 4px}
.cs-date-in em{display:block;font-style:normal;font-size:11.5px;font-weight:800;color:var(--acc);padding:0 0 12px}
.cs-date.flip .cs-date-in{animation:cs-flip .9s var(--breath)}
@keyframes cs-flip{0%{transform:rotateX(0)}45%{transform:rotateX(-90deg)}55%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.cs-date:before,.cs-date:after{content:"";position:absolute;top:-6px;width:8px;height:16px;border-radius:4px;background:var(--clay);z-index:2}
.cs-date:before{left:34px}.cs-date:after{right:34px}

/* rotating certificate seal */
.cs-seal{position:absolute;right:0;bottom:84px;z-index:6;width:128px;height:128px;border-radius:50%;background:var(--forest);color:#F1F1EC;box-shadow:0 18px 36px -14px rgba(42,42,42,.6)}
.cs-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite}
.cs-seal text{font-family:var(--sans);font-size:9.6px;font-weight:800;letter-spacing:2.6px;fill:var(--marigold)}
.cs-seal-c{position:absolute;inset:26px;border-radius:50%;border:1px dashed rgba(242,178,51,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1}
.cs-seal-c b{font-family:var(--display);font-weight:400;font-size:24px;color:#fff;transition:opacity .35s}
.cs-seal-c small{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--marigold);margin-top:5px;transition:opacity .35s}
.cs-seal.swap .cs-seal-c b,.cs-seal.swap .cs-seal-c small{opacity:0}

/* course rail */
.cs-railbox{display:flex;align-items:stretch;gap:12px;margin:22px 0 26px}
.cs-rail{list-style:none;margin:0;padding:4px 2px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;flex:1;min-width:0}
.cs-card{position:relative;width:100%;height:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;align-items:center;text-align:left;padding:12px 14px 17px;border-radius:18px;border:1px solid rgba(181,101,46,.22);background:rgba(255,255,255,.55);cursor:pointer;font-family:var(--sans);color:var(--ink);transition:background .5s,border-color .5s,transform .5s var(--breath),box-shadow .5s;overflow:hidden}
.cs-card:hover{transform:translateY(-3px);border-color:var(--clay)}
.cs-card .h{grid-row:1/3;font-family:var(--display);font-size:34px;line-height:1;color:var(--c)}
.cs-card .h small{display:block;font-family:var(--sans);font-size:9.5px;font-weight:800;letter-spacing:.2em;color:var(--muted);margin-top:3px}
.cs-card .nm{font-family:var(--display);font-size:15px;line-height:1.2;color:var(--forest)}
.cs-card .mt{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-weight:700}
.cs-card .bar{position:absolute;left:16px;right:16px;bottom:9px;height:3px;border-radius:3px;background:rgba(181,101,46,.16);overflow:hidden}
.cs-card .bar i{display:block;height:100%;background:var(--c);transform:scaleX(0);transform-origin:0 50%}
.cs-rail .on .cs-card{background:var(--c);border-color:var(--c);transform:translateY(-6px);box-shadow:0 20px 34px -18px var(--c)}
.cs-rail .on .cs-card .h,.cs-rail .on .cs-card .nm{color:#fff}
.cs-rail .on .cs-card .h small,.cs-rail .on .cs-card .mt{color:rgba(255,255,255,.8)}
.cs-rail .on .cs-card .bar{background:rgba(255,255,255,.3)}
.cs-rail .on .cs-card .bar i{background:#fff;animation:hs-bar var(--dur,8s) linear forwards}
.cs.paused .cs-rail .on .cs-card .bar i{animation-play-state:paused}
@keyframes hs-bar{to{transform:scaleX(1)}}
.cs-card:focus-visible{outline:3px solid var(--marigold);outline-offset:3px}
.cs-ctl{display:flex;flex-direction:column;gap:8px;justify-content:center}
.cs-ctl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(181,101,46,.35);background:#FFFFFF;color:var(--forest);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.cs-ctl button:hover,.cs-ctl button:focus-visible{background:var(--forest);color:#F1F1EC;border-color:var(--forest);outline:none}
.cs-ctl .ic-play{display:none}.cs.paused .cs-ctl .ic-play{display:block}.cs.paused .cs-ctl .ic-pause{display:none}
.cs-ctl.r{flex-direction:column}

@media (max-width:1280px){.cs-main{grid-template-columns:minmax(0,1fr) 440px;gap:36px}.cs-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-btns{margin-left:0}}
@media (max-width:1000px){
  .cs-main{grid-template-columns:1fr;gap:10px}
  .cs-visual{order:-1;max-width:520px;width:100%;margin:0 auto}
  .cs-copy{text-align:left}
  .cs-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-top:10px}
  .cs-rail::-webkit-scrollbar{display:none}
  .cs-rail li{flex:0 0 210px;scroll-snap-align:start}
}
@media (max-width:760px){
  .cs{padding-top:18px}
  .cs-ya{display:none}
  .hero .cs-h1{font-size:11px;letter-spacing:.2em}
  .cs-date{top:40px;width:104px}
  .cs-date-in b{font-size:34px}
  .cs-date-in small{font-size:9px;letter-spacing:.14em}
  .cs-date:before{left:26px}.cs-date:after{right:26px}
  .cs-seal{width:96px;height:96px;bottom:40px}
  .cs-seal text{font-size:9px;letter-spacing:1.8px}
  .cs-seal-c{inset:20px}.cs-seal-c b{font-size:18px}.cs-seal-c small{font-size:7.5px}
  .cs-num b{font-size:92px}
  .cs-name{font-size:30px}
  .cs-desc{font-size:15.5px}
  .cs-facts b{font-size:15px}
  .cs-facts li{padding:10px 12px}
  .cs-buy{gap:16px}
  .cs-seats{flex:1;min-width:150px}
  .cs-btns{width:100%}.cs-btns .btn{flex:1;justify-content:center}
  .cs-railbox{margin:26px 0 28px}
  .cs-ctl{display:none}
  .cs-rail li{flex-basis:180px}
  .cs-card .h{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
}




/* ---- photo card deck ---- */
.cs-deck{--b1:translate(34px,-22px) rotate(5deg) scale(.95);--b2:translate(64px,-42px) rotate(10deg) scale(.9);--b3:translate(64px,-42px) rotate(10deg) scale(.86);--sw:translate(-32%,14px) rotate(-12deg);
  position:relative;width:370px;height:470px;margin:52px auto 10px;touch-action:pan-y;transform:translateX(-6px)}
.cs-slide{position:absolute;inset:0;margin:0;border-radius:30px;overflow:hidden;border:7px solid #FFFFFF;background:var(--c);
  box-shadow:0 34px 54px -30px rgba(60,40,20,.6),0 0 0 1px rgba(181,101,46,.12);transform-origin:50% 100%;
  transition:transform 1.05s var(--breath),filter 1.05s ease,box-shadow 1s}
.cs-slide > .cs-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;scale:1.12;transition:scale 1.2s ease}
.cs-slide[data-pos="0"]{z-index:4;transform:none}
.cs-slide[data-pos="0"] > .cs-img{scale:1;transition:scale 9s cubic-bezier(.2,.6,.3,1)}
.cs-slide[data-pos="1"]{z-index:3;transform:var(--b1);filter:saturate(.8) brightness(.94)}
.cs-slide[data-pos="2"]{z-index:2;transform:var(--b2);filter:saturate(.65) brightness(.87)}
.cs-slide[data-pos="3"]{z-index:1;transform:var(--b3);filter:brightness(.8)}
.cs-slide:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.6);border-radius:20px;z-index:2;pointer-events:none}
.cs-slide:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(30,20,10,.45))}
.cs-slide.leave{animation:cs-leave 1.05s var(--breath) forwards}
@keyframes cs-leave{0%{transform:none;z-index:6}40%{transform:var(--sw);z-index:6}56%{z-index:0}100%{transform:var(--b3);z-index:0}}
.cs-fc{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);box-shadow:0 10px 20px -12px rgba(0,0,0,.4)}
.cs-fc i{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--c);color:#fff;font-style:normal;font-family:var(--display);font-size:16px;line-height:1}
.cs-fc i small{font-family:var(--sans);font-size:8px;font-weight:800;letter-spacing:.14em;margin-top:2px;opacity:.85;overflow:visible}
.cs-fc span{display:flex;flex-direction:column;min-width:0}
.cs-fc b{font-family:var(--display);font-weight:400;font-size:16px;line-height:1.2;color:var(--forest)}
.cs-fc small{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-chip{position:absolute;top:22px;right:22px;z-index:3;padding:6px 12px;border-radius:999px;background:rgba(42,42,42,.75);backdrop-filter:blur(6px);color:#F1F1EC;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.cs-deck.intro .cs-slide{transform:translateY(60px) rotate(-8deg) scale(.9)}
.cs-deck.deal .cs-slide[data-pos="1"]{transition-delay:.12s}.cs-deck.deal .cs-slide[data-pos="0"]{transition-delay:.24s}
.cs-visual .cs-date{top:150px}
.cs-visual .cs-seal{bottom:40px}
@media (max-width:1280px){.cs-deck{width:340px;height:440px}}
@media (max-width:1000px){.cs-deck{transform:translateX(0)}}
@media (max-width:760px){
  .cs-deck{--b1:translate(18px,-14px) rotate(4deg) scale(.95);--b2:translate(34px,-26px) rotate(8deg) scale(.9);--b3:translate(34px,-26px) rotate(8deg) scale(.86);--sw:translate(-30%,10px) rotate(-10deg);
    width:262px;height:344px;margin-top:40px;transform:translateX(-2px)}
  .cs-slide{border-width:5px;border-radius:24px}
  .cs-slide:before{inset:8px;border-radius:16px}
  .cs-fc{left:10px;right:10px;bottom:10px;padding:8px 10px;gap:10px}
  .cs-fc i{width:36px;height:36px;font-size:13px}.cs-fc i small{font-size:7px}
  .cs-fc b{font-size:14px}
  .cs-chip{top:16px;right:16px;font-size:9px}
  .cs-visual .cs-date{top:70px}
  .cs-visual .cs-seal{bottom:30px}
}
@media (prefers-reduced-motion:reduce){.cs-slide{transition:none}.cs-slide.leave{animation:none}}
.cs-chip{transition:opacity .5s}.cs-slide:not([data-pos="0"]) .cs-chip{opacity:0}

.cs-img{background-size:cover;background-repeat:no-repeat}
/* course cards wear their photo under the course colour */
.path.p1 .path-top{background:linear-gradient(170deg,rgba(95,174,78,.42) 0%,rgba(42,42,42,.86) 100%),url(../images/course-riverside-720.webp) 14% 50%/cover}
.path.p2 .path-top{background:linear-gradient(170deg,rgba(232,48,128,.38) 0%,rgba(150,16,74,.88) 100%),url(../images/course-graduation-720.webp) 50% 35%/cover}
.path.p3 .path-top{background:linear-gradient(170deg,rgba(70,70,70,.35) 0%,rgba(24,24,24,.86) 100%),url(../images/course-asana-720.webp) 62% 50%/cover}
.path.p4 .path-top{background:linear-gradient(170deg,rgba(150,190,0,.38) 0%,rgba(62,86,0,.88) 100%),url(../images/course-kirtan-720.webp) 50% 45%/cover}
.path-top b,.path-top small,.path-top .deva{text-shadow:0 2px 14px rgba(0,0,0,.35)}
.path-top{transition:background-size .6s}
/* gallery + Why Rishikesh */
.life.life-photo{background-size:cover;background-position:var(--life-pos,50% 50%)}
.life.life-photo:before{background:linear-gradient(180deg,rgba(30,20,10,.05) 25%,rgba(30,20,10,.82))}
.ganga-art.has-photo{background:url(../images/course-riverside-720.webp) 32% 50%/cover}
.ganga-art.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(30,20,10,.55))}
.ganga-art.has-photo .cap{z-index:1}
