.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 9999; padding: .7rem 1rem; color: var(--white); background: var(--heading-color); }
.skip-link:focus { top: 1rem; }
.ui-icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon-fill { fill: currentColor; stroke: none; }
.icon-fill-white { fill: var(--white); stroke: var(--white); }
.announcement-bar { position: relative; padding: .55rem 3.5rem .55rem 0; color: var(--white); background: linear-gradient(90deg, var(--primary-dark), var(--primary-color), var(--primary-dark)); font-size: .82rem; font-weight: 700; text-align: center; }
.announcement-inner { display: flex; justify-content: center; align-items: center; gap: 1rem; }
.announcement-main { color: #fff2f7; font-size: .9rem; letter-spacing: .035em; text-shadow: 0 0 0 rgba(255,255,255,0); animation: announcementGlow 1.8s ease-in-out infinite alternate; }
.announcement-date { font-size: .9rem; }
.announcement-button { position: relative; overflow: hidden; padding: .35rem 1.3rem; color: var(--primary-dark); background: var(--white); border: 2px solid #6f0b2b; border-radius: .4rem; box-shadow: 3px 3px 0 rgba(75,7,31,.35); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; transform: rotate(-1deg); animation: applyPulse 2s ease-in-out infinite; }
.announcement-button::after { position: absolute; top: -60%; left: -45%; width: 35%; height: 220%; content: ""; background: rgba(255,255,255,.72); transform: rotate(24deg); animation: applyShine 2.8s ease-in-out infinite; }
.announcement-button:hover { color: var(--white); background: var(--primary-dark); transform: rotate(0deg) translateY(-2px); }
.announcement-close { position: absolute; top: 50%; right: 1rem; display: grid; width: 30px; height: 30px; padding: 0; place-items: center; color: var(--white); background: rgba(74,4,29,.28); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 1.25rem; line-height: 1; transform: translateY(-50%); transition: background-color .2s ease, transform .2s ease; }
.announcement-close:hover, .announcement-close:focus-visible { background: rgba(74,4,29,.72); outline: 2px solid var(--white); outline-offset: 2px; transform: translateY(-50%) rotate(90deg); }
@keyframes announcementGlow { from { opacity: .52; color: #f1a7bf; text-shadow: 0 0 0 rgba(255,255,255,0); } to { opacity: 1; color: #fff; text-shadow: 0 0 14px rgba(255,255,255,.72); } }
@keyframes applyPulse { 0%,100% { box-shadow: 3px 3px 0 rgba(75,7,31,.35), 0 0 0 0 rgba(255,255,255,.35); } 50% { box-shadow: 3px 3px 0 rgba(75,7,31,.35), 0 0 0 7px rgba(255,255,255,0); } }
@keyframes applyShine { 0%,55% { left: -45%; } 85%,100% { left: 125%; } }
.contact-bar { padding: .75rem 0; color: #f6e8ed; background: #35131f; font-size: .8rem; border-bottom: 2px solid var(--primary-color); }
.contact-bar .container { position: relative; }
.contact-bar a { color: inherit; }
.header-contact { display: flex; align-items: center; gap: .7rem; }
.header-contact small, .header-contact a { display: block; line-height: 1.3; }
.header-contact small { color: #d7b8c3; font-size: .7rem; font-weight: 600; }
.header-contact > span:nth-child(2) a { color: var(--white); font-size: 1rem; font-weight: 700; }
.contact-icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--white); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.contact-icon-small { width: 34px; height: 34px; margin-left: .2rem; }
.contact-icon-small .ui-icon { width: 1rem; }
.contact-separator { width: 1px; height: 30px; margin-inline: .4rem; background: rgba(255,255,255,.2); }
.header-email { color: #f2dfe6 !important; font-weight: 600; }
.header-socials { position: absolute; top: 50%; left: 50%; display: flex; gap: .75rem; transform: translate(-50%, -50%); }
.header-socials a { display: grid; width: 38px; height: 38px; place-items: center; color: var(--primary-color); background: #fff3f6; border: 2px solid rgba(186,19,73,.22); border-radius: 50%; }
.header-socials a:hover { color: var(--white); background: var(--primary-color); transform: translateY(-2px); }
.header-socials .ui-icon { width: 1.05rem; height: 1.05rem; }
.header-book-button { display: flex; min-width: 165px; align-items: center; justify-content: center; gap: .65rem; padding: .55rem 1.3rem; color: var(--white) !important; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; font-weight: 700; }
.header-book-button:hover { background: var(--primary-color); border-color: var(--primary-color); }
.header-book-button .ui-icon { width: 1rem; }
.main-nav { position: relative; z-index: 1020; background: linear-gradient(90deg, #fffdfb, #fff7f9 50%, #fffdfb); border-bottom: 1px solid #eccbd6; transition: box-shadow .25s ease, background-color .25s ease; }
.main-nav.sticky-active { position: fixed; top: 0; right: 0; left: 0; z-index: 1040; background: rgba(255, 251, 252, .97); box-shadow: 0 .55rem 1.8rem rgba(67, 16, 35, .14); backdrop-filter: blur(12px); }
.nav-is-sticky .site-header::after { display: block; height: 84px; content: ""; }
.desktop-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; min-height: 84px; }
.nav-side { display: flex; align-items: center; gap: clamp(.25rem, 2vw, 2.58rem); }
.nav-side-right { justify-content: flex-end; }
.nav-side-right { justify-content: flex-start; }
.nav-link { position: relative; display: inline-flex; align-items: center; gap: .25rem; color: #3d252d; font-size: 18px; font-weight: 700; white-space: nowrap; }
.nav-link:hover, .nav-link.active { color: var(--primary-color); }
.nav-side > .nav-link::after, .nav-side > .nav-dropdown > .nav-link::after { position: absolute; right: .5rem; bottom: -.5rem; left: .5rem; height: 2px; content: ""; background: var(--primary-color); border-radius: 2px; transform: scaleX(0); transition: transform .2s ease; }
.nav-side > .nav-link:hover::after, .nav-side > .nav-link.active::after, .nav-side > .nav-dropdown:hover > .nav-link::after, .nav-side > .nav-dropdown:focus-within > .nav-link::after { transform: scaleX(1); }
.nav-chevron { width: .9rem; height: .9rem; transition: transform .2s ease; }
.nav-dropdown:hover .nav-chevron, .nav-dropdown:focus-within .nav-chevron, .nav-dropdown.is-open .nav-chevron { transform: rotate(180deg); }
.dropdown-trigger { border: 0; background: transparent; }
.brand { display: flex; min-width: 160px; flex-direction: column; align-items: center; align-self: center; color: var(--heading-color); line-height: 1; }
.brand:hover { color: var(--primary-color); }
.brand img { display: block; width: 118px; height: auto; }
.brand-mark { color: var(--primary-color); font-family: serif; font-size: 2rem; line-height: .8; }
.brand-name { font-family: var(--heading-font); font-size: 1.45rem; font-weight: 700; }
.brand-subtitle { margin-top: .25rem; font-size: .62rem; font-weight: 700; letter-spacing: .32em; text-transform: uppercase; }
.nav-dropdown { position: relative; }
.simple-menu, .mega-menu { position: absolute; top: calc(100% + 26px); left: 0; visibility: hidden; opacity: 0; background: var(--white); border: 1px solid var(--border-color); box-shadow: var(--shadow-sm); transform: translateY(8px); transition: .2s ease; }
.simple-menu { width: 250px; padding: .65rem; border-radius: var(--radius-sm); }
.nav-dropdown-right .simple-menu { right: 0; left: auto; }
.nav-dropdown-right .online-menu { width: 310px; }
.simple-menu a { display: block; padding: .6rem .7rem; color: var(--heading-color); font-size: 18px; font-weight: 600; border-radius: .35rem; }
.healing-nav-menu { width: 350px; }
.simple-menu a:hover { color: var(--primary-color); background: var(--primary-soft); }
.mega-menu { left: -119px; display: grid; width: min(1100px, calc(100vw - 3rem)); grid-template-columns: 1.25fr repeat(3, 1fr); padding: 1.5rem; border-radius: var(--radius-md); }
.mega-intro { position: relative; grid-row: span 2; overflow: hidden; margin-right: 1.25rem; padding: 1.5rem; color: #fff0f5; background: linear-gradient(180deg,rgba(39,12,22,.42),rgba(39,12,22,.92)),url('../images/veda/courses/card_1.webp') center/cover no-repeat; border-radius: var(--radius-sm); }
.mega-intro::after { position: absolute; right: -2.2rem; bottom: -2.2rem; width: 7rem; height: 7rem; content: ""; border: 1rem solid rgba(186,19,73,.08); border-radius: 50%; }

.mega-intro h2 { color: var(--white); font-size: 1.75rem; }
.mega-intro p { color: #f8e9ee; font-size: .85rem; }
.mega-intro a { position: relative; z-index: 1; color: #2d5f4d ; font-size: .82rem; font-weight: 700; }
.mega-intro a:hover { color: var(--white); }
.mega-group { padding: .65rem 1rem; }
.mega-group h3 { margin-bottom: .65rem; color: var(--primary-color); font-family: var(--heading-font); font-size: 18px; letter-spacing: 0; text-transform: none; }
.mega-group a { display: block; margin-block: .45rem; color: var(--body-color); font-size: 15px; font-weight: 600; line-height: 1.4; }
.mega-group a:hover { color: var(--primary-color); }
.nav-dropdown:hover > .simple-menu, .nav-dropdown:hover > .mega-menu, .nav-dropdown:focus-within > .simple-menu, .nav-dropdown:focus-within > .mega-menu, .nav-dropdown.is-open > .simple-menu, .nav-dropdown.is-open > .mega-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.mobile-nav { min-height: 64px; }
.mobile-nav-spacer { width: 42px; }
.brand-mobile { min-width: 0; flex-direction: row; gap: .5rem; }
.brand-mobile img { width: 96px; }
.brand-mobile > span:last-child { display: flex; flex-direction: column; }
.brand-mobile .brand-name { font-size: 1.1rem; }
.brand-mobile .brand-subtitle { font-size: .5rem; }
.menu-toggle { width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px auto; background: var(--heading-color); }
.offcanvas { --bs-offcanvas-width: min(390px, 90vw); }
.offcanvas-title { font-size: 1.5rem; }
.offcanvas-body .mobile-link, .offcanvas-body summary { display: block; padding: .9rem 0; color: var(--heading-color); font-size: 16px; font-weight: 700; border-bottom: 1px solid var(--border-color); cursor: pointer; }
.offcanvas-body details > a { display: block; padding: .5rem 0 .5rem 1rem; color: var(--body-color); font-size: 15px; }
.mobile-group-title { margin: 1rem 0 .3rem 1rem; color: var(--primary-color); font-family: var(--heading-font); font-size: 18px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.hero-section { position: relative; overflow: hidden; background: linear-gradient(120deg, #fff9f6 0%, #f8eee9 60%, #f6e2e9 100%); }
.min-vh-75 { min-height: 70vh; }
.hero-content { position: relative; z-index: 1; }
.hero-content h1 { max-width: 850px; }
.hero-lead { max-width: 680px; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.hero-pattern { position: absolute; right: -12rem; bottom: -15rem; width: 42rem; height: 42rem; border: 1px solid rgba(186, 19, 73, .15); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(186, 19, 73, .04), 0 0 0 10rem rgba(186, 19, 73, .025); }
.hero-visual { display: grid; min-height: 480px; place-items: center; color: var(--primary-color); background: linear-gradient(145deg, rgba(255,255,255,.7), rgba(186,19,73,.11)); border: 1px dashed rgba(186, 19, 73, .4); border-radius: 52% 48% 45% 55% / 42% 48% 52% 58%; font-weight: 700; }
.trust-strip { color: var(--white); background: var(--secondary-color); }
.trust-strip .col-6 { display: flex; min-height: 110px; flex-direction: column; justify-content: center; padding: 1rem; border-right: 1px solid rgba(255,255,255,.14); }
.trust-strip strong { font-family: var(--heading-font); font-size: 1.25rem; }
.trust-strip span { color: #d5ded8; font-size: .78rem; }
.intro-section p { font-size: 1.08rem; }
.section-heading { margin-bottom: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.course-card { height: 100%; overflow: hidden; background: var(--white); border: 1px solid var(--border-color); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.course-card:hover { transform: translateY(-6px); }
.course-image { display: grid; aspect-ratio: 4 / 3; place-items: center; color: var(--primary-color); background: linear-gradient(135deg, #f4dce4, #fbf2eb); font-family: var(--heading-font); font-size: 1.4rem; font-weight: 700; }
.course-body { padding: 1.5rem; }
.course-body h3 { min-height: 3.7rem; }
.course-body a { font-weight: 700; }
.final-cta { color: #f4e9ec; background: var(--primary-color); }
.final-cta h2 { color: var(--white); }

/* Homepage */
.hero-carousel, .hero-carousel .carousel-item { min-height: clamp(620px, 76vh, 800px); }
.hero-carousel { position: relative; overflow: hidden; background: #32131f; }
.hero-carousel::after { position: absolute; right: -9rem; bottom: -12rem; z-index: 1; width: 34rem; height: 34rem; pointer-events: none; content: ""; background: radial-gradient(circle,rgba(255,202,100,.19) 0%,rgba(186,19,73,.13) 35%,transparent 68%); border-radius: 50%; animation: heroGlow 5s ease-in-out infinite alternate; }
.hero-slide-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.045); }
.hero-carousel .carousel-item.active .hero-slide-image { animation: heroImageZoom 7s ease-out both; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(35,10,20,.84) 0%, rgba(35,10,20,.57) 48%, rgba(35,10,20,.12) 100%); }
.hero-slide-content { position: relative; z-index: 2; display: flex; min-height: clamp(620px, 76vh, 800px); align-items: center; }
.hero-copy { max-width: 760px; padding-block: 5rem; color: #fff1f5; }
.hero-copy h1, .hero-copy h2 { margin-bottom: 1.25rem; color: var(--white); font-size: var(--h1-size); }
.hero-copy p { max-width: 650px; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.hero-kicker { display: inline-flex; margin-bottom: 1.1rem; align-items: center; gap: .7rem; color: #ffd0df; font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-kicker::before { width: 42px; height: 1px; content: ""; background: #ffd0df; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.hero-carousel .carousel-item.active .hero-kicker { animation: heroReveal .65s .1s ease-out both; }
.hero-carousel .carousel-item.active .hero-copy h1,
.hero-carousel .carousel-item.active .hero-copy h2 { animation: heroReveal .75s .22s ease-out both; }
.hero-carousel .carousel-item.active .hero-copy > p { animation: heroReveal .75s .36s ease-out both; }
.hero-carousel .carousel-item.active .hero-actions { animation: heroReveal .75s .5s ease-out both; }
.hero-carousel .carousel-item.active .hero-actions .btn-primary { animation: heroButtonPulse 2.4s 1.3s ease-in-out infinite; }
.hero-kicker::before { transform-origin: left; animation: heroLine 1s .45s ease-out both; }
@keyframes heroImageZoom { from { transform: scale(1.085); } to { transform: scale(1.015); } }
@keyframes heroReveal { from { opacity: 0; transform: translateY(28px); filter: blur(4px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes heroLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes heroGlow { from { opacity: .45; transform: translate3d(-12px,8px,0) scale(.92); } to { opacity: .95; transform: translate3d(12px,-10px,0) scale(1.08); } }
@keyframes heroButtonPulse { 0%,100% { box-shadow: 0 8px 24px rgba(186,19,73,.28); } 50% { box-shadow: 0 10px 34px rgba(255,207,111,.42),0 0 0 5px rgba(255,255,255,.08); } }
.btn-ghost { color: var(--white); border: 1px solid rgba(255,255,255,.75); }
.btn-ghost:hover { color: var(--primary-dark); background: var(--white); }
.hero-carousel .carousel-indicators { bottom: 1.6rem; }
.hero-carousel .carousel-indicators button { width: 28px; height: 3px; border: 0; }
.home-stats { position: relative; z-index: 3; margin-top: -1px; color: var(--white); background: var(--primary-color); }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.stats-grid div { display: flex; min-height: 112px; flex-direction: column; justify-content: center; padding: 1rem 2rem; border-right: 1px solid rgba(255,255,255,.2); }
.stats-grid div:last-child { border: 0; }
.stats-grid strong { font-family: var(--heading-font); font-size: clamp(1.5rem,2.4vw,2.25rem); }
.stats-grid span { color: #ffe3ec; font-size: .78rem; }
.mission-section { position: relative; isolation: isolate; overflow: hidden; color: #fff7fa; background: linear-gradient(125deg,#300b19 0%,#5d102d 52%,#971344 100%); }
.mission-section::before { position: absolute; inset: 0; z-index: -2; opacity: .16; content: ""; background-image: radial-gradient(circle at center,transparent 0 25px,rgba(255,255,255,.2) 26px 27px,transparent 28px); background-size: 74px 74px; }
.mission-panel { display: grid; grid-template-columns: minmax(360px,.92fr) minmax(0,1.08fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.mission-gallery { position: relative; min-height: 570px; padding: 1rem 3rem 3rem 0; }
.mission-image-primary { height: 100%; min-height: 530px; overflow: hidden; border: 5px solid rgba(255,255,255,.95); border-radius: 48% 48% 1.5rem 1.5rem; box-shadow: 0 24px 55px rgba(16,2,8,.38),0 0 0 2px #d9a842; }
.mission-image-primary img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; transition: transform .7s ease; }
.mission-gallery:hover .mission-image-primary img { transform: scale(1.045); }
.mission-image-secondary { position: absolute; right: 0; bottom: 0; width: 43%; overflow: hidden; background: #fff; border: 5px solid #fff; border-radius: 50% 50% 1rem 1rem; box-shadow: 0 16px 36px rgba(16,2,8,.4),0 0 0 2px #d9a842; }
.mission-image-secondary img { width: 100%; aspect-ratio: 1/1.08; object-fit: cover; }
.mission-emblem { position: absolute; top: 2rem; right: .3rem; display: grid; width: 125px; height: 125px; place-items: center; padding: 1rem; color: #531126; background: #fff8eb; border: 2px solid #e2b756; border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,255,255,.14),0 10px 25px rgba(22,4,11,.28); text-align: center; }
.mission-emblem strong { font-family: var(--heading-font); font-size: 2rem; line-height: 1; }
.mission-emblem span { font-size: 13px; font-weight: 700; line-height: 1.25; text-transform: uppercase; }

.mission-copy h2 { max-width: 690px; margin: .45rem 0 1rem; color: #fff; font-size: clamp(2.1rem,3.6vw,3.7rem); }
.mission-copy p { color: #f8e8ee; line-height: 1.8; }
.mission-divider { display: flex; width: 175px; align-items: center; gap: .65rem; margin-bottom: 1.25rem; color: #ffd06e; }
.mission-divider span { flex: 1; height: 1px; background: linear-gradient(90deg,transparent,#ffd06e); }
.mission-divider span:last-child { background: linear-gradient(90deg,#ffd06e,transparent); }
.mission-values { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin: 1.5rem 0; }
.mission-values span { display: flex; min-height: 76px; align-items: center; gap: .55rem; padding: .7rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: .8rem; font-size: 14px; font-weight: 700; }
.mission-values b { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: #531126; background: #ffd06e; border-radius: 50%; font-size: 13px; }
.mission-copy .btn { background: linear-gradient(135deg,#d9a842,#f1cb72); border-color: transparent; color: #3d0b1c; box-shadow: 0 10px 25px rgba(16,2,8,.26); }
.mission-copy .btn:hover { color: #fff; background: var(--primary-color); transform: translateY(-3px); }
.mission-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,208,110,.2); border-radius: 50%; }
.mission-orbit-one { top: -180px; right: -140px; width: 460px; height: 460px; box-shadow: 0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018); }
.mission-orbit-two { bottom: -210px; left: -180px; width: 420px; height: 420px; }
.home-image-stack { position: relative; }
.temple-visual { position: relative; width: 94%; margin: 2.5rem auto 1rem; padding: 12px; filter: drop-shadow(0 0 12px rgba(186,19,73,.28)); animation: templeAura 2.8s ease-in-out infinite alternate; }
.temple-visual::before { position: absolute; inset: -12px; z-index: -1; content: ""; background: radial-gradient(ellipse at 50% 40%,rgba(255,206,91,.3),rgba(186,19,73,.18) 45%,transparent 72%); filter: blur(14px); }
.temple-frame { position: relative; overflow: hidden; padding: 8px; background: linear-gradient(135deg,#2d5f4d  0%,var(--primary-color) 38%,#7f0b32 70%,#2d5f4d  100%); clip-path: polygon(4% 100%,4% 39%,10% 35%,13% 25%,23% 20%,29% 12%,39% 9%,50% 0,61% 9%,71% 12%,77% 20%,87% 25%,90% 35%,96% 39%,96% 100%); }
.temple-frame::after { position: absolute; inset: 12px; content: ""; border: 1px solid rgba(255,230,155,.72); clip-path: inherit; pointer-events: none; }
.temple-frame img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; clip-path: polygon(4% 100%,4% 40%,10% 36%,13% 26%,23% 21%,29% 13%,39% 10%,50% 2%,61% 10%,71% 13%,77% 21%,87% 26%,90% 36%,96% 40%,96% 100%); }
.temple-finial { position: absolute; top: -2.2rem; left: 50%; z-index: 2; display: grid; width: 54px; height: 54px; place-items: center; color: #2d5f4d ; background: var(--primary-dark); border: 2px solid #2d5f4d ; border-radius: 50% 50% 45% 45%; box-shadow: 0 0 18px rgba(255,211,107,.7); font-family: var(--heading-font); font-size: 1.55rem; transform: translateX(-50%); }
.temple-finial::before { position: absolute; top: -13px; width: 2px; height: 13px; content: ""; background: #2d5f4d ; }
.temple-base { display: block; width: calc(100% + 1rem); height: 14px; margin: -2px 0 0 -.5rem; background: linear-gradient(90deg,var(--primary-dark),#2d5f4d ,var(--primary-color),#2d5f4d ,var(--primary-dark)); border-radius: 2px 2px 50% 50%; box-shadow: 0 6px 14px rgba(105,10,43,.28); }
@keyframes templeAura { from { filter: drop-shadow(0 0 8px rgba(186,19,73,.25)); } to { filter: drop-shadow(0 0 23px rgba(255,190,67,.58)); } }
.experience-seal { position: absolute; right: 0; bottom: 1.5rem; display: grid; width: 170px; height: 170px; place-items: center; padding: 1rem; color: var(--white); background: var(--primary-color); border: 7px solid var(--body-bg); border-radius: 50%; text-align: center; }
.experience-seal strong { font-size: 2rem; line-height: 1; }
.experience-seal span { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.section-copy > p { font-size: 1.02rem; }
.section-copy blockquote { margin: 1.5rem 0; padding: 1rem 1.3rem; color: var(--primary-dark); background: var(--primary-soft); border-left: 3px solid var(--primary-color); font-family: var(--heading-font); font-size: 1.35rem; }
.section-copy blockquote cite { display: block; margin-top: .8rem; font-family: var(--body-font); font-size: .75rem; font-style: italic; font-weight: 700; }
.text-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; }
.text-link .ui-icon { width: 1rem; }
.home-section-heading { max-width: 850px; margin: 0 auto 2.25rem; }
.program-card { position: relative; height: 100%; min-height: 545px; overflow: hidden; color: var(--white); background: #25151a; border-radius: .35rem; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.program-card:hover { transform: translateY(-7px); box-shadow: 0 1.2rem 2.5rem rgba(49,22,31,.2); }
.program-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.program-card:hover .program-bg { transform: scale(1.045); }
.program-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,12,14,.08) 10%,rgba(20,12,14,.3) 42%,rgba(15,8,10,.96) 100%); }
.program-content { position: absolute; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; z-index: 1; }
.program-title strong { display: block; color: var(--white); font-family: var(--body-font); font-size: clamp(2rem,3vw,3.25rem); font-weight: 500; line-height: 1; }
.program-title h3 { min-height: 2.9rem; margin: .4rem 0 1rem; color: var(--white); font-family: var(--body-font); font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.program-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding-block: .75rem; color: #fff0c7; border-block: 1px solid rgba(255,220,135,.65); font-size: .75rem; font-weight: 700; }
.program-meta span { display: flex; align-items: center; gap: .35rem; }
.program-meta b { color: #2d5f4d ; font-size: 1rem; }
.program-footer { display: grid; grid-template-columns: .85fr 1.15fr; align-items: end; gap: .8rem; margin-top: 1.2rem; }
.program-footer > a { padding: .65rem .5rem; color: var(--primary-color); background: var(--white); border: 1px solid #eee1c5; font-size: .8rem; font-weight: 600; text-align: center; }
.program-footer > a:hover { color: var(--white); background: var(--primary-color); border-color: var(--primary-color); }
.program-footer p { margin: 0; text-align: right; }
.program-footer small, .program-footer strong { display: block; }
.program-footer small { margin-bottom: .15rem; font-size: .65rem; font-style: italic; font-weight: 500; }
.program-footer strong { color: var(--white); font-family: var(--body-font); font-size: 1.35rem; line-height: 1.1; }
.category-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 2rem; }
.category-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem; color: var(--heading-color); background: var(--white); border: 1px solid var(--border-color); border-radius: .8rem; }
.category-symbol { display: grid; width: 42px; height: 42px; place-items: center; color: var(--white); background: var(--primary-color); border-radius: 50%; }
.category-card strong, .category-card small { display: block; }
.category-card small { margin-top: .2rem; color: var(--body-color); font-size: 18px; line-height: 1.4; }
.category-card > .ui-icon { width: 1rem; }
.detailed-training { overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fff8f5 48%,#fff 100%); }
.detailed-training .home-section-heading { max-width: 1040px; }
.detailed-training .home-section-heading > p { font-size: .88rem; line-height: 1.85; }
.detailed-course-list { display: grid; gap: clamp(2rem,5vw,4.5rem); }
.detailed-course { position: relative; display: grid; grid-template-columns: minmax(330px,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(2rem,5vw,5rem); padding: clamp(1.3rem,2.5vw,2.2rem); background: rgba(255,255,255,.9); border: 1px solid #efdce2; border-radius: 2rem; box-shadow: 0 22px 65px rgba(73,25,42,.1); }
.detailed-course.is-reversed { grid-template-columns: minmax(0,1.18fr) minmax(330px,.82fr); }
.detailed-course.is-reversed .course-art { grid-column: 2; grid-row: 1; }
.detailed-course.is-reversed .detailed-course-copy { grid-column: 1; grid-row: 1; }
.course-art { position: relative; isolation: isolate; min-height: 510px; padding: 1rem; }
.course-art-halo { position: absolute; inset: 9% -2% 3%; z-index: -2; background: radial-gradient(circle at 50% 40%,rgba(240,185,88,.4),rgba(186,19,73,.2) 45%,transparent 72%); filter: blur(18px); animation: courseAura 3.6s ease-in-out infinite alternate; }
.course-art::before, .course-art::after { position: absolute; z-index: -1; content: ""; border: 1px solid rgba(186,19,73,.22); }
.course-art::before { inset: 7% 0 2%; border-radius: 48% 48% 1.4rem 1.4rem; transform: rotate(-2.5deg); }
.course-art::after { inset: 10% 3% -1%; border-color: rgba(216,164,58,.48); border-radius: 48% 48% 1.4rem 1.4rem; transform: rotate(2.5deg); }
.course-art-frame { height: 100%; min-height: 478px; overflow: hidden; background: #ead9df; border: 5px solid #fff; border-radius: 48% 48% 1.25rem 1.25rem; box-shadow: 0 14px 38px rgba(74,17,37,.2),0 0 0 2px var(--primary-color),0 0 0 6px rgba(218,164,53,.55); }
.course-art-frame img { width: 100%; height: 100%; min-height: 478px; object-fit: cover; transition: transform .6s ease; }
.detailed-course:hover .course-art-frame img { transform: scale(1.035); }
.course-art-mark { position: absolute; top: -.3rem; left: 50%; display: grid; width: 58px; height: 58px; place-items: center; color: #fff; background: linear-gradient(145deg,#dba945,var(--primary-color)); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 24px rgba(186,19,73,.4); transform: translateX(-50%); font-family: var(--heading-font); font-size: 1.45rem; }
.detailed-course-copy h3 { margin: .45rem 0 1rem; font-size: clamp(1.8rem,3vw,2.8rem); }
.detailed-course-copy h3 strong { display: block; color: var(--primary-color); font-size: .7em; }
.course-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-bottom: 1.2rem; }
.course-facts > span { display: grid; grid-template-columns: 32px 1fr; padding: .72rem .8rem; background: #fff6f2; border: 1px solid #f1dde4; border-radius: .7rem; }
.course-facts .ui-icon { grid-row: 1/span 2; width: 1.15rem; align-self: center; color: var(--primary-color); }
.course-facts small, .course-facts strong { grid-column: 2; display: block; }
.course-facts small { color: var(--muted-color); font-size: .65rem; }
.course-facts strong { color: var(--heading-color); font-size: .78rem; }
.course-inclusions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .48rem 1rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.course-inclusions li { display: flex; align-items: flex-start; gap: .45rem; font-size: .72rem; line-height: 1.45; }
.course-inclusions li span { flex: 0 0 22px; display: grid; width: 22px; height: 22px; place-items: center; color: #fff; background: var(--primary-color); border-radius: 50%; font-size: 13px; }
.room-prices { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; margin-bottom: 1.25rem; background: #35131f; border-radius: .75rem; }
.room-prices span { padding: .75rem; text-align: center; border-right: 1px solid rgba(255,255,255,.12); }
.room-prices span:last-child { border-right: 0; }
.room-prices small, .room-prices strong { display: block; }
.room-prices small { color: #edcad6; font-size: .62rem; }
.room-prices strong { color: #ffd375; font-size: .95rem; }
.course-actions { display: flex; align-items: center; gap: 1.25rem; }
.detailed-training .eyebrow,
.detailed-training .course-facts small,
.detailed-training .course-facts strong,
.detailed-training .course-inclusions li,
.detailed-training .room-prices small { font-size: 13px; }
@keyframes courseAura { from { opacity: .55; transform: scale(.96); } to { opacity: 1; transform: scale(1.04); } }
.reach-section { position: relative; overflow: hidden; background: linear-gradient(145deg,#fffaf8 0%,#fff 50%,#f9edf1 100%); }
.reach-section .home-section-heading { margin-bottom: 2rem; }
.reach-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden;/* background: rgba(255,255,255,.92); border: 1px solid #ecd7de; border-radius: 1.5rem; box-shadow: 0 24px 70px rgba(70,20,38,.13);*/ }
.reach-details { display: grid; gap: .8rem; padding-right: clamp(1.3rem,3vw,2.5rem);padding-left: clamp(1.3rem,3vw,2.5rem); }
.reach-item { display: grid; grid-template-columns: 62px 1fr; gap: 1rem; padding: 1rem; background: #fff; border: 1px solid #f0e0e5; border-radius: 1rem; box-shadow: 0 7px 22px rgba(62,19,34,.055); transition: transform .25s ease,border-color .25s ease; }
.reach-item:hover { border-color: rgba(186,19,73,.35); transform: translateX(5px); }
.reach-icon { position: relative; display: grid; width: 56px; height: 58px; place-items: center; color: #fff; background: linear-gradient(145deg,var(--primary-color),var(--primary-color)); border-radius: .7rem .7rem 1.4rem 1.4rem; box-shadow: 0 8px 20px rgba(186,19,73,.22); font-size: 1.5rem; }
.reach-icon::after { position: absolute; right: 8px; bottom: -5px; width: 14px; height: 14px; content: ""; background: var(--primary-color); transform: rotate(45deg); z-index: -1; }
.reach-item h3 { position: relative; margin: 0 0 .45rem; color: #42142f; font-family: var(--body-font); font-size: 1.02rem; }
.reach-item h3::after { display: block; width: 40px; height: 2px; margin-top: .35rem; content: ""; background: linear-gradient(90deg,var(--primary-color),#e5ac43); }
.reach-item p { margin: 0; font-size: .75rem; line-height: 1.65; }
.reach-help { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .85rem; margin-top: .25rem; padding: .9rem 1rem; color: #fff; background: linear-gradient(110deg,var(--primary-color),var(--primary-color)); border-radius: 1rem; }
.reach-help > span { display: grid; width: 42px; height: 42px; place-items: center; color: #35131f; background: #ffd274; border-radius: 50%; }
.reach-help .ui-icon { width: 1.1rem; }
.reach-help small,.reach-help strong { display: block; }
.reach-help small { color: #e9cbd6; font-size: .62rem; }
.reach-help strong { color: #fff; font-size: .78rem; }
.reach-help a { display: inline-flex; align-items: center; gap: .35rem; color: #ffd274; font-size: .72rem; font-weight: 700; }
.reach-map-wrap { position: relative; min-height: 650px; overflow: hidden; background: #eadde1; }
.reach-map-wrap iframe { width: 100%; height: 100%; min-height: 650px; border: 0; filter: saturate(.8) contrast(1.04); }
.reach-map-head { position: absolute; top: 1.2rem; right: 1.2rem; left: 1.2rem; z-index: 2; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .7rem; padding: .8rem 1rem; background: rgba(255,255,255,.95); border: 1px solid rgba(186,19,73,.2); border-radius: .8rem; box-shadow: 0 8px 25px rgba(42,14,24,.15); backdrop-filter: blur(8px); }
.reach-map-head > span { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: var(--primary-color); border-radius: 50%; }
.reach-map-head .ui-icon { width: 1rem; }
.reach-map-head small,.reach-map-head strong { display: block; }
.reach-map-head small { color: var(--primary-color); font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.reach-map-head strong { color: var(--heading-color); font-size: .75rem; }
.reach-map-link { position: absolute; right: 1.2rem; bottom: 1.2rem; z-index: 2; display: inline-flex; align-items: center; gap: .45rem; padding: .75rem 1rem; color: #fff; background: var(--primary-color); border-radius: 999px; box-shadow: 0 8px 22px rgba(186,19,73,.3); font-size: .72rem; font-weight: 700; }
.reach-map-link:hover { color: #35131f; background: #ffd274; }
.reach-map-link .ui-icon { width: 1rem; }
.reach-mandala { position: absolute; color: rgba(186,19,73,.055); font-size: 17rem; line-height: 1; }
.reach-mandala-one { top: -3rem; left: -5rem; }
.reach-mandala-two { right: -5rem; bottom: -4rem; }
.healing-section { position: relative; overflow: hidden; color: #ebdce1; background: radial-gradient(circle at 10% 10%,rgba(186,19,73,.22),transparent 32%),linear-gradient(145deg,#2b0d18,#461424 55%,#2b0d18); }
.healing-section::before { position: absolute; top: -11rem; right: -8rem; width: 30rem; height: 30rem; content: ""; border: 1px solid rgba(255,211,107,.14); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012); animation: healingOrbit 14s linear infinite; }
.healing-section h2, .healing-section h3 { color: var(--white); }
.healing-section .container { position: relative; z-index: 1; }
.healing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.healing-card { position: relative; isolation: isolate; min-height: 360px; overflow: hidden; padding: 1.5rem; background: #421524; border: 1px solid rgba(255,255,255,.16); border-radius: 1rem; box-shadow: 0 15px 35px rgba(10,3,6,.22); transition: transform .38s ease,border-color .38s ease,box-shadow .38s ease; }
.healing-card::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(180deg,rgba(25,5,12,.05) 12%,rgba(35,8,17,.38) 42%,rgba(31,7,15,.97) 100%); }
.healing-card:hover { border-color: rgba(255,211,107,.62); box-shadow: 0 20px 48px rgba(5,0,2,.4),0 0 26px rgba(186,19,73,.23); transform: translateY(-8px); }
.healing-card-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease,filter .5s ease; }
.healing-card:hover .healing-card-image { filter: saturate(1.15); transform: scale(1.085); }
.healing-card > span { display: grid; width: 44px; height: 44px; place-items: center; color: #35131f; background: linear-gradient(145deg,#ffe29d,#d9a33c); border: 2px solid rgba(255,255,255,.85); border-radius: 50%; box-shadow: 0 6px 18px rgba(0,0,0,.2); font-family: var(--heading-font); font-size: 1rem; }
.healing-card h3 { margin-top: 8rem; text-shadow: 0 2px 8px rgba(0,0,0,.45); }
.healing-card p { color: #f8e9ee; font-size: 16px; text-shadow: 0 1px 5px rgba(0,0,0,.55); }
.healing-card a { position: absolute; right: 1.3rem; bottom: 1.3rem; display: grid; width: 36px; height: 36px; place-items: center; color: var(--white); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.healing-card:hover a { color: #35131f; background: #2d5f4d ; border-color: #2d5f4d ; transform: translateX(3px); }
.healing-card .ui-icon { width: 1rem; }
@keyframes healingOrbit { to { transform: rotate(360deg); } }
.ayurveda-section { position: relative; overflow: hidden; background: linear-gradient(145deg,#fffaf0,#fff 48%,#f9e9ee); }
.ayurveda-pattern { position: absolute; inset: 0; opacity: .46; background: url('../images/veda/ayurveda_retreat.webp') center/auto 100% repeat-x; mix-blend-mode: multiply; pointer-events: none; }
.ayurveda-panel { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); align-items: stretch; overflow: hidden; background: rgba(255,255,255,.86); border: 1px solid #ebd9c2; border-radius: 2rem; box-shadow: 0 24px 70px rgba(73,35,20,.13); backdrop-filter: blur(5px); }
.ayurveda-copy { position: relative; z-index: 2; padding: clamp(2rem,4vw,4.2rem); }
.ayurveda-copy h2 { margin-bottom: 1.1rem; }
.ayurveda-copy > p { max-width: 760px; line-height: 1.8; }
.ayurveda-highlights { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin: 1.35rem 0; }
.ayurveda-highlights span { display: flex; align-items: center; gap: .55rem; padding: .72rem .85rem; color: #4a2834; background: #fff8ef; border: 1px solid #eddcc4; border-radius: .65rem; font-size: 13px; font-weight: 700; }
.ayurveda-highlights b { color: #c48b24; font-size: 1rem; }
.ayurveda-options { display: grid; gap: .8rem; margin-top: 1.5rem; }
.ayurveda-options a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .85rem; padding: 1rem; color: var(--heading-color); background: #fff; border: 1px solid #ead6dc; border-radius: .8rem; box-shadow: 0 8px 22px rgba(68,20,37,.055); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.ayurveda-options a:hover { border-color: rgba(186,19,73,.38); box-shadow: 0 12px 28px rgba(90,22,45,.12); transform: translateX(5px); }
.ayurveda-options a > span { display: block; }
.ayurveda-options strong,.ayurveda-options small { display: block; }
.ayurveda-options small { margin-top: .2rem; color: var(--body-color); font-size: 13px; line-height: 1.45; }
.ayurveda-option-icon { display: grid !important; width: 42px; height: 42px; place-items: center; color: #fff; background: linear-gradient(145deg,#d4a54d,var(--primary-color)); border-radius: 50%; font-family: var(--heading-font); font-weight: 700; }
.ayurveda-options .ui-icon { width: 1rem; align-self: center; color: var(--primary-color); }
.ayurveda-visual { position: relative; display: flex; min-height: 100%; align-items: flex-end; justify-content: center; overflow: hidden; padding: 4rem 2rem 0; background: radial-gradient(circle at 50% 45%,#fff8dd 0%,#f3dcae 38%,#8f183e 39%,#3a1220 70%); }
.ayurveda-sun { position: absolute; top: 8%; left: 50%; width: min(30vw,390px); aspect-ratio: 1; border: 1px solid rgba(255,222,145,.58); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255,226,155,.1),0 0 0 50px rgba(255,226,155,.06); transform: translateX(-50%); animation: ayurvedaAura 4s ease-in-out infinite alternate; }
.ayurveda-image-frame { position: relative; z-index: 1; width: min(100%,520px); }
.ayurveda-image-frame img { display: block; width: 100%; height: auto; max-height: 690px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 18px 20px rgba(18,5,10,.38)); transition: transform .6s ease; }
.ayurveda-panel:hover .ayurveda-image-frame img { transform: scale(1.025); }
.ayurveda-quote { position: absolute; top: 1.4rem; right: 1.4rem; left: 1.4rem; z-index: 2; display: flex; align-items: center; gap: .8rem; padding: .85rem 1rem; color: #fff; background: rgba(53,19,31,.78); border: 1px solid rgba(255,224,153,.35); border-radius: .8rem; backdrop-filter: blur(8px); }
.ayurveda-quote > span { color: #ffd77d; font-family: var(--heading-font); font-size: 1.65rem; }
.ayurveda-quote p { margin: 0; line-height: 1.25; }
.ayurveda-quote strong { color: #ffd77d; }
.ayurveda-values { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.ayurveda-values strong { padding: .42rem .7rem; color: #3b1522; background: #ffd77d; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; box-shadow: 0 5px 14px rgba(21,5,10,.2); font-family: var(--body-font); font-size: 13px; }
@keyframes ayurvedaAura { from { opacity: .58; transform: translateX(-50%) scale(.94); } to { opacity: 1; transform: translateX(-50%) scale(1.04); } }
@media (max-width: 991.98px) {
    .ayurveda-panel { grid-template-columns: minmax(0,1fr); }
    .ayurveda-copy,.ayurveda-visual { min-width: 0; }
}
.dates-table { overflow: hidden; border: 1px solid var(--border-color); border-radius: .9rem; box-shadow: var(--shadow-sm); }
.date-row { display: grid; grid-template-columns: 1.5fr .7fr 1fr 1fr; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; background: var(--white); border-bottom: 1px solid var(--border-color); }
.date-row:last-child { border: 0; }
.date-row span, .date-row a { font-size: .82rem; }
.date-row a { display: flex; justify-content: flex-end; align-items: center; gap: .4rem; font-weight: 700; }
.date-row .ui-icon { width: 1rem; }
.availability i { display: inline-block; width: 8px; height: 8px; margin-right: .4rem; background: #35a366; border-radius: 50%; }
.benefit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.benefit-grid article { padding: 1.3rem; background: var(--white); border: 1px solid var(--border-color); border-radius: .8rem; }
.benefit-grid article > span { color: var(--primary-color); }
.benefit-grid h3 { margin: .6rem 0; font-size: 1.2rem; }
.benefit-grid p { margin: 0; font-size: .8rem; }
.trust-platforms { padding-block: 1.5rem; color: var(--white); background: var(--primary-color); }
.platform-inner { display: grid; grid-template-columns: 1.2fr repeat(4,1fr); align-items: center; }
.platform-inner > span { font-family: var(--heading-font); font-size: 1.3rem; }
.platform-inner > div { padding: .7rem 1rem; border-left: 1px solid rgba(255,255,255,.2); }
.platform-inner strong, .platform-inner small { display: block; }
.platform-inner small { color: #f9d8e3; font-size: .65rem; }
.source-section { color: var(--white); background: linear-gradient(rgba(36,14,22,.73),rgba(36,14,22,.73)),url('../images/veda/banner/3.webp') center/cover fixed; }
.source-section h2 { color: var(--white); }
.source-pillars { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.5rem; }
.source-pillars span { padding: .5rem .9rem; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; font-size: .75rem; }
.learning-timeline { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.learning-timeline article { padding: 1.5rem; background: var(--white); border-top: 3px solid var(--primary-color); box-shadow: var(--shadow-sm); }
.learning-timeline article > span { color: #deb0bf; font-family: var(--heading-font); font-size: 2.2rem; }
.learning-timeline h3 { font-size: 1.2rem; }
.learning-timeline p { margin: 0; font-size: .8rem; }
.facility-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.facility-grid article { position: relative; min-height: 380px; overflow: hidden; border-radius: .9rem; }
.facility-grid img { width: 100%; height: 100%; object-fit: cover; }
.facility-grid article::after { position: absolute; inset: 35% 0 0; content: ""; background: linear-gradient(transparent,rgba(29,9,16,.9)); }
.facility-grid article div { position: absolute; right: 1.2rem; bottom: 1.2rem; left: 1.2rem; z-index: 1; color: #f2e4e9; }
.facility-grid h3 { color: var(--white); }
.facility-grid p { margin: 0; font-size: .75rem; }
.facilities-section { position: relative; overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fff8f3 50%,#fff 100%); }
.facility-sections { display: grid; gap: 2rem; }
.facility-feature { overflow: hidden; background: #fff; border: 1px solid #ead8de; border-radius: 1.5rem; box-shadow: 0 18px 48px rgba(69,19,36,.1); }
.facility-content { display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; padding: clamp(1.5rem,3.5vw,3rem); }
.facility-number { display: grid; width: 56px; height: 56px; place-items: center; color: #fff; background: linear-gradient(145deg,#d9a340,var(--primary-color)); border-radius: 50%; box-shadow: 0 8px 20px rgba(186,19,73,.2); font-family: var(--heading-font); font-size: 1.15rem; }
.facility-content h2 { margin-bottom: .8rem; color: var(--primary-color); font-size: clamp(2rem,3vw,3rem); }
.facility-content p { margin: 0; line-height: 1.8; text-align: justify; }
.facility-points { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; }
.facility-points span { padding: .45rem .8rem; color: #54192f; background: #fff2e2; border: 1px solid #ecd5ae; border-radius: 999px; font-size: 13px; font-weight: 700; }
.facility-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem)/4); gap: 1rem; overflow-x: auto; padding: .15rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; }
.facility-carousel-track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.facility-carousel-track figure { position: relative; min-height: 330px; margin: 0; overflow: hidden; border-radius: .85rem; scroll-snap-align: start; }
.facility-carousel-track img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; transition: transform .7s ease; }
.facility-feature:hover .facility-carousel-track img { transform: scale(1.025); }
.facility-carousel-track figure::after { position: absolute; inset: 55% 0 0; content: ""; background: linear-gradient(transparent,rgba(31,8,16,.72)); }
.facility-carousel-track figcaption { position: absolute; right: 1.5rem; bottom: 1.25rem; left: 1.5rem; z-index: 1; color: #fff; font-family: var(--heading-font); font-size: 1.35rem; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.accommodation-feature .facility-number { background: linear-gradient(145deg,#9c7136,#52152e); }
.retreat-section { position: relative; overflow: hidden; color: #fff; background: var(--primary-color); }
.retreat-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(2rem,5vw,5rem); }
.retreat-copy h2 { color: #fff; font-size: clamp(2.5rem,4.3vw,4.6rem); }
.retreat-copy > p { color: #ead5dc; line-height: 1.8; }
.retreat-experiences { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin: 1.4rem 0; }
.retreat-experiences span { display: flex; align-items: center; gap: .55rem; padding: .7rem .8rem; color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: .7rem; font-size: 13px; font-weight: 700; }
.retreat-experiences b { display: grid; width: 28px; height: 28px; place-items: center;  color:#fff; background:#ba1349; border-radius: 50%; }
.retreat-copy blockquote { display: flex; gap: .6rem; margin: 1.3rem 0 1.5rem; padding: 1rem; background: rgba(186,19,73,.16); border-left: 3px solid #ba1349; border-radius: 0 .7rem .7rem 0; }
.retreat-copy blockquote > span { color: #ba1349; font-family: var(--heading-font); font-size: 2.2rem; line-height: .8; }
.retreat-copy blockquote p { margin: 0; color: #fff; font-family: var(--heading-font); line-height: 1.5; }
.retreat-copy .btn .ui-icon { width: 1rem; margin-left: .35rem; }
.retreat-cards { display: grid; width: 100%; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.retreat-card { position: relative; min-height: 590px; overflow: hidden; background: #38101f; border: 1px solid rgba(255,255,255,.18); border-radius: 1.25rem; box-shadow: 0 22px 48px rgba(5,0,2,.38); transition: transform .4s ease,box-shadow .4s ease; }
.retreat-card:nth-child(2) { margin-top: 3.5rem; }
.retreat-card:hover { box-shadow: 0 27px 60px rgba(5,0,2,.5),0 0 28px rgba(186,19,73,.25); transform: translateY(-8px); }
.retreat-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.retreat-card:hover > img { transform: scale(1.065); }
.retreat-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(24,5,12,.08) 20%,rgba(25,6,13,.35) 48%,rgba(25,6,13,.96) 100%); }
.retreat-duration { position: absolute; top: 1rem; right: 1rem; display: flex; width: 68px; height: 68px; flex-direction: column; align-items: center; justify-content: center; color: #39111f; background: #fff; border: 3px solid #39111f; border-radius: 50%; box-shadow: 0 8px 22px rgba(0,0,0,.22); font-size: 12px; font-weight: 700; line-height: 1; }
.retreat-duration b { font-family: var(--heading-font); font-size: 1.7rem; }
.retreat-card-copy { position: absolute; right: 1.3rem; bottom: 1.35rem; left: 1.3rem; }
.retreat-card-copy > span { color: #ba1349; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.retreat-card-copy h3 { margin: .4rem 0 .55rem; color: #fff; font-size: 1.7rem; }
.retreat-card-copy p { color: #f2dfe5; line-height: 1.55; }
.retreat-card-copy a { display: inline-flex; align-items: center; gap: .4rem; color: #ba1349; font-weight: 700; }
.retreat-card-copy a:hover { color: #fff; transform: translateX(4px); }
.retreat-card-copy .ui-icon { width: 1rem; }
.retreat-orbit { position: absolute; border: 1px solid rgba(255,214,120,.11); border-radius: 50%; }
.retreat-orbit-one { top: -14rem; right: -10rem; width: 36rem; height: 36rem; box-shadow: 0 0 0 48px rgba(255,255,255,.015),0 0 0 96px rgba(255,255,255,.01); animation: retreatFloat 6s ease-in-out infinite alternate; }
.retreat-orbit-two { bottom: -9rem; left: -7rem; width: 23rem; height: 23rem; }
@keyframes retreatFloat { to { transform: translate(-18px,16px) scale(1.05); } }
.online-section { position: relative; overflow: hidden; background: linear-gradient(135deg,#fff9f3,#fff 48%,#f7e7ed); }
.online-panel { position: relative; z-index: 1; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2rem,5vw,5rem); padding: clamp(1.3rem,3vw,2.5rem); background: rgba(255,255,255,.9); border: 1px solid #ecd9df; border-radius: 2rem; box-shadow: 0 24px 70px rgba(69,18,36,.13); }
.online-visual { position: relative; min-width: 0; padding: 2.2rem 1rem; }
.online-device { position: relative; overflow: hidden; background: #2c111c; border: 7px solid #35131f; border-radius: 1.25rem; box-shadow: 0 24px 48px rgba(38,8,19,.28),0 0 0 2px #d4a047; transform: perspective(1200px) rotateY(3deg); transition: transform .55s ease; }
.online-panel:hover .online-device { transform: perspective(1200px) rotateY(0) translateY(-5px); }
.online-device-bar { display: flex; height: 42px; align-items: center; gap: .4rem; padding: 0 .8rem; color: #f3dfe6; background: #35131f; }
.online-device-bar > span { width: 9px; height: 9px; background: #d9536b; border-radius: 50%; }
.online-device-bar > span:nth-child(2) { background: #e1a83f; }
.online-device-bar > span:nth-child(3) { background: #58ad73; }
.online-device-bar small { margin-left: auto; font-size: 13px; }
.online-device-screen { position: relative; overflow: hidden; }
.online-device-screen img { display: block; width: 100%; min-height: 480px; object-fit: cover; transition: transform .7s ease; }
.online-panel:hover .online-device-screen img { transform: scale(1.035); }
.online-device-screen::after { position: absolute; inset: 55% 0 0; content: ""; background: linear-gradient(transparent,rgba(35,8,17,.54)); }
.online-live { position: absolute; top: 1rem; left: 1rem; z-index: 2; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .7rem; color: #fff; background: rgba(186,19,73,.92); border-radius: 999px; font-size: 12px; font-weight: 700; }
.online-live i { width: 8px; height: 8px; background: #fff; border-radius: 50%; animation: onlineLive 1.2s ease-in-out infinite; }
.online-floating-card { position: absolute; z-index: 3; min-width: 145px; padding: .8rem 1rem; background: rgba(255,255,255,.96); border: 1px solid #ecd5dc; border-radius: .8rem; box-shadow: 0 10px 28px rgba(62,15,32,.16); }
.online-floating-card strong,.online-floating-card span { display: block; }
.online-floating-card strong { color: var(--primary-color); }
.online-floating-card span { font-size: 13px; }
.online-card-top { top: .5rem; right: -1rem; animation: onlineFloat 3s ease-in-out infinite alternate; }
.online-card-bottom { bottom: .6rem; left: -.5rem; animation: onlineFloat 3.4s .4s ease-in-out infinite alternate-reverse; }
.online-copy { min-width: 0; padding: clamp(1rem,2vw,2rem) clamp(.5rem,2vw,1.5rem); }
.online-copy h2 { font-size: clamp(2.1rem,3.7vw,3.8rem); }
.online-copy > p { line-height: 1.8; }
.online-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin: 1.2rem 0; }
.online-facts span { padding: .75rem; background: #fff5ef; border: 1px solid #edd9cf; border-radius: .7rem; }
.online-facts small,.online-facts strong { display: block; }
.online-facts small { color: #8a6a75; font-size: 12px; }
.online-facts strong { color: #401426; font-size: 14px; }
.online-copy ul { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.online-copy li { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .55rem; padding: .8rem; background: #fff; border: 1px solid #eadde2; border-radius: .7rem; }
.online-copy li > span { display: grid; width: 24px; height: 24px; place-items: center; color: #fff; background: var(--primary-color); border-radius: 50%; font-size: 13px; }
.online-copy li strong,.online-copy li small { display: block; }
.online-copy li strong { color: #431629; font-size: 14px; }
.online-copy li small { margin-top: .15rem; color: var(--body-color); font-size: 13px; line-height: 1.4; }
.online-actions { display: flex; align-items: center; gap: 1.2rem; }
.online-actions .ui-icon { width: 1rem; }
.online-orb { position: absolute; border: 1px solid rgba(186,19,73,.08); border-radius: 50%; }
.online-orb-one { top: -7rem; left: -6rem; width: 25rem; height: 25rem; box-shadow: 0 0 0 38px rgba(186,19,73,.025),0 0 0 76px rgba(186,19,73,.015); }
.online-orb-two { right: -5rem; bottom: -8rem; width: 20rem; height: 20rem; }
@keyframes onlineFloat { to { transform: translateY(-10px); } }
@keyframes onlineLive { 50% { opacity: .35; transform: scale(.7); } }
.teacher-card { position: relative; overflow: hidden; border-radius: 45% 45% .8rem .8rem; }
.teacher-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; background: var(--primary-soft); }
.teacher-card div { position: absolute; right: .7rem; bottom: .7rem; left: .7rem; padding: 1rem; background: rgba(255,255,255,.93); border-radius: .7rem; text-align: center; }
.teacher-card h3 { margin-bottom: .15rem; font-size: 1.2rem; }
.teacher-card p { margin: 0; color: var(--primary-color); font-size: .68rem; font-weight: 700; }
.reference-teachers { position: relative; overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fff8f4 100%); }
.reference-teachers .container { position: relative; z-index: 1; }
.reference-teachers .home-section-heading { max-width: 1080px; }
.reference-teachers .home-section-heading > p { line-height: 1.8; }
.teacher-heading-mark { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: .7rem auto 1rem; color: var(--primary-color); }
.teacher-heading-mark::before,.teacher-heading-mark::after { width: 70px; height: 1px; content: ""; background: linear-gradient(90deg,transparent,var(--primary-color)); }
.teacher-heading-mark::after { background: linear-gradient(90deg,var(--primary-color),transparent); }
.teacher-heading-mark span { display: grid; width: 36px; height: 36px; place-items: center; color: #fff; background: var(--primary-color); border-radius: 50%; font-family: var(--heading-font); }
.teacher-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2rem)/3); gap: 1rem; overflow-x: auto; padding: .75rem .2rem 1rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; }
.teacher-carousel-track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.reference-teachers .teacher-card { position: relative; overflow: visible; padding: 1.4rem 1.1rem 1.2rem; background: #fff; border: 1px solid #ead8de; border-radius: 1rem; box-shadow: 0 12px 32px rgba(67,17,35,.1); scroll-snap-align: start; text-align: center; transition: transform .35s ease,box-shadow .35s ease; }
.reference-teachers .teacher-card:hover { box-shadow: 0 18px 42px rgba(67,17,35,.17); transform: translateY(-7px); }
.reference-teachers .teacher-image { position: relative; display: grid; min-height: 270px; place-items: center; overflow: visible; }
.teacher-image-mandala { position: absolute; width: 250px; height: 250px; background: repeating-conic-gradient(from 0deg,rgba(186,19,73,.16) 0deg 7deg,transparent 7deg 15deg); border: 2px solid rgba(205,155,54,.34); border-radius: 50%; animation: teacherMandalaSpin 28s linear infinite; }
.teacher-image-mandala::before,.teacher-image-mandala::after { position: absolute; content: ""; border: 1px solid rgba(186,19,73,.25); border-radius: 50%; }
.teacher-image-mandala::before { inset: 18px; }
.teacher-image-mandala::after { inset: 34px; border-color: rgba(205,155,54,.38); }
.reference-teachers .teacher-image img { position: relative; z-index: 1; width: 220px; height: 220px; object-fit: cover; object-position: top; background: #f6e8ec; border: 6px solid #fff; border-radius: 50%; box-shadow: 0 12px 28px rgba(55,14,29,.18),0 0 0 2px var(--primary-color); transition: transform .45s ease; }
.reference-teachers .teacher-card:hover .teacher-image img { transform: scale(1.035); }
/*.reference-teachers .teacher-info { position: static; margin-top: .8rem; padding: 0; background: transparent; }*/
.reference-teachers .teacher-info .h3 {  color: #3d1323; }
.reference-teachers .teacher-info p { min-height: 48px; margin: 0; color: var(--primary-color); font-size: 16px !important; font-weight: 600; line-height: 1.5; }
.teacher-mandala { position: absolute; color: rgba(186,19,73,.04); font-size: 22rem; line-height: 1; }
.teacher-mandala-left { top: -4rem; left: -8rem; }
.teacher-mandala-right { right: -8rem; bottom: -5rem; }
@keyframes teacherMandalaSpin { to { transform: rotate(360deg); } }
.moments-section { background: #35131f; }
.moments-section h2 { color: var(--white); }
.moments-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }
.moment-card { position: relative; overflow: hidden; border-radius: .9rem; }
.moment-card img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.play-button { position: absolute; top: 50%; left: 50%; display: grid; width: 58px; height: 58px; place-items: center; color: var(--primary-color); background: var(--white); border-radius: 50%; transform: translate(-50%,-50%); }
.testimonial-intro { padding-right: 2rem; }
.rating-badge { display: inline-flex; flex-direction: column; padding: 1rem 1.4rem; color: var(--white); background: var(--primary-color); border-radius: .8rem; }
.rating-badge strong { font-family: var(--heading-font); font-size: 2rem; }
.rating-badge span { color: #2d5f4d ; }
.rating-badge small { font-size: .65rem; }
.testimonial-card { min-height: 300px; margin: 0; padding: clamp(2rem,5vw,4rem); background: var(--section-bg); border-radius: var(--radius-lg); }
.testimonial-card > span { color: var(--primary-color); font-family: var(--heading-font); font-size: 4rem; line-height: .5; }
.testimonial-card p { font-family: var(--heading-font); font-size: 1.35rem; }
.testimonial-card footer strong,.testimonial-card footer small { display: block; }
.testimonial-card footer small { color: var(--primary-color); font-size: .7rem; }
.testimonial-controls { display: flex; gap: .5rem; margin-top: 1rem; }
.testimonial-controls button { width: 42px; height: 42px; color: var(--white); background: var(--primary-color); border: 0; border-radius: 50%; }
.community-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: .5rem; }
.community-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: .5rem; }
.source-testimonials { background: #fff; }
.testimonial-scroll,.community-scroll,.reels-scroll { display: grid; grid-auto-flow: column; overflow-x: auto; padding: .4rem .2rem 1.2rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; }
.testimonial-scroll::-webkit-scrollbar,.community-scroll::-webkit-scrollbar,.reels-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }
.source-carousel-shell { position: relative; }
.source-carousel-controls { display: flex; justify-content: center; gap: .7rem; margin-top: 1rem; }
.source-carousel-controls button { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; color: var(--primary-color); background: #fff; border: 1px solid rgba(186,19,73,.35); border-radius: 50%; box-shadow: 0 7px 18px rgba(70,17,35,.1); font-size: 1.2rem; transition: color .2s ease,background-color .2s ease,transform .2s ease; }
.source-carousel-controls button:hover { color: #fff; background: var(--primary-color); transform: translateY(-2px); }
.source-reels .source-carousel-controls button { color: #ffd77d; background: rgba(255,255,255,.08); border-color: rgba(255,215,125,.45); }
.source-reels .source-carousel-controls button:hover { color: #35131f; background: #ffd77d; }
.testimonial-scroll { grid-auto-columns: calc((100% - 2rem)/3); gap: 1rem; }
.source-testimonial-card { position: relative; min-height: 350px; padding: 2rem 1.5rem 1.5rem; background: #fff; border: 1px solid #eadce1; border-radius: 1rem; box-shadow: 0 12px 30px rgba(65,18,35,.09); scroll-snap-align: start; }
.source-testimonial-avatar { display: grid; width: 64px; height: 64px; margin: 0 auto .9rem; place-items: center; background: #fff; color: linear-gradient(145deg,var(--primary-color),#6f1233); border: 4px solid #f8dde6; border-radius: 50%; font-family: var(--heading-font); font-size: 1.6rem; }
.source-testimonial-card h3 { text-align: center; font-size: 1.25rem; }
.source-testimonial-stars { margin-bottom: .75rem; color: #f5b51b; letter-spacing: .12em; text-align: center; }
.source-testimonial-text p { display: -webkit-box; overflow: hidden; margin: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-height: 1.65; }
.source-testimonial-text.is-expanded p { display: block; }
.testimonial-read-more { display: block; margin: .8rem auto 0; padding: 0; color: var(--primary-color); background: none; border: 0; font-size: 13px; font-weight: 700; }
.source-community { background: #fff5f7; }
.community-scroll { grid-auto-columns: calc((100% - 3rem)/4); gap: 1rem; }
.source-community-card { overflow: hidden; background: #fff; border: 1px solid #edd8df; border-radius: 1rem; box-shadow: 0 10px 26px rgba(67,17,35,.09); scroll-snap-align: start; text-align: center; }
.source-community-card a { display: block; padding-bottom: 1rem; color: var(--heading-color); }
.source-community-image { overflow: hidden; aspect-ratio: 1; }
.source-community-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.source-community-card:hover img { transform: scale(1.06); }
.source-community-card h3 { margin: 1rem .5rem .25rem; font-family: var(--body-font); font-size: 1rem; }
.source-community-card span { display: inline-flex; align-items: center; gap: .35rem; color: var(--primary-color); font-size: 13px; }
.source-community-card .ui-icon { width: 1rem; }
.community-follow-btn { display: inline-flex; align-items: center; gap: .55rem; padding: .82rem 1.25rem; color: #fff; background: linear-gradient(110deg,#711133,var(--primary-color)); border-radius: 999px; box-shadow: 0 8px 22px rgba(186,19,73,.25); font-weight: 700; }
.community-follow-btn:hover { color: #35131f; background: #ffd67e; transform: translateY(-2px); }
.community-follow-btn .ui-icon { width: 1.1rem; }
.source-instagram { overflow: hidden; background: #fff; }
.instagram-heading-icon { display: grid; width: 58px; height: 58px; margin: 0 auto .8rem; place-items: center; color: #fff; background: radial-gradient(circle at 30% 100%,#feda75,#d62976 45%,#4f5bd5); border-radius: 1rem; }
.instagram-heading-icon .ui-icon { width: 1.8rem; }
.source-instagram .home-section-heading a { color: var(--primary-color); font-weight: 700; }
.instagram-row { width: 100%; overflow: hidden; margin-bottom: 1rem; }
.instagram-track { display: flex; width: max-content; gap: 1rem; animation: instagramMove 45s linear infinite; }
.instagram-row.is-reverse .instagram-track { animation-direction: reverse; animation-duration: 38s; }
.instagram-row:hover .instagram-track { animation-play-state: paused; }
.instagram-track a { display: block; overflow: hidden; width: 245px; aspect-ratio: 1; border-radius: 1rem; box-shadow: 0 8px 22px rgba(40,15,24,.12); }
.instagram-track img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.instagram-track a:hover img { transform: scale(1.06); }
@keyframes instagramMove { to { transform: translateX(calc(-50% - .5rem)); } }

.reels-scroll { grid-auto-columns: calc((100% - 3rem)/4); gap: 1rem; }
.source-reel-card { overflow: hidden; aspect-ratio: 9/16; background: #16070c; border: 1px solid rgba(255,255,255,.16); border-radius: 1.1rem; scroll-snap-align: start; }
.open-reel { position: relative; width: 100%; height: 100%; padding: 0; background: #17080d; border: 0; }
.open-reel video { width: 100%; height: 100%; object-fit: cover; }
.open-reel::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 55%,rgba(25,5,12,.58)); }
.open-reel > span { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; width: 66px; height: 66px; place-items: center; background: rgba(255,255,255,.9); border-radius: 1rem; box-shadow: 0 8px 24px rgba(0,0,0,.25); transform: translate(-50%,-50%); transition: transform .25s ease; }
.open-reel:hover > span { transform: translate(-50%,-50%) scale(1.1); }
.open-reel > span img { width: 38px; height: 38px; object-fit: contain; }
.reel-modal-content { position: relative; overflow: visible; background: #090305; border: 0; }
.reel-modal-content .btn-close { position: absolute; top: -2.2rem; right: 0; z-index: 2; }
.reel-modal-video { width: 100%; max-height: 82vh; background: #000; }
@media (max-width: 991.98px) {
    .testimonial-scroll { grid-auto-columns: calc((100% - 1rem)/2); }
    .community-scroll,.reels-scroll { grid-auto-columns: calc((100% - 2rem)/3); }
    .facility-carousel-track { grid-auto-columns: calc((100% - 2rem)/3); }
}
@media (max-width: 767.98px) {
    .community-scroll,.reels-scroll { grid-auto-columns: calc((100% - 1rem)/2); }
}
@media (max-width: 575.98px) {
    .testimonial-scroll,.community-scroll { grid-auto-columns: 88%; }
    .reels-scroll { grid-auto-columns: 78%; }
    .instagram-track a { width: 190px; }
    .facility-carousel-track { grid-auto-columns: 100%; gap: 0; padding-inline: 0; }
}
.blog-card { height: 100%; overflow: hidden; background: var(--white); border: 1px solid var(--border-color); border-radius: .9rem; box-shadow: var(--shadow-sm); }
.blog-card > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.blog-card > div { padding: 1.3rem; }
.blog-card > div > span { color: var(--primary-color); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.blog-card h3 { margin-top: .5rem; font-size: 1.35rem; }
.blog-card p { font-size: .8rem; }
.blog-card a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; }
.blog-card .ui-icon { width: 1rem; }
.faq-section .accordion-item { background: transparent; border-color: var(--border-color); }
.faq-section .accordion-button { padding: 1.25rem 0; color: var(--heading-color); background: transparent; box-shadow: none; font-weight: 700; }
.faq-section .accordion-button:not(.collapsed) { color: var(--primary-color); }
.faq-section .accordion-body { padding-inline: 0; }
.enquiry-cta { color: #f8e9ee; background: linear-gradient(120deg,var(--primary-dark),var(--primary-color)); }
.enquiry-inner { max-width: 800px; margin: auto; text-align: center; }
.enquiry-inner h2 { color: var(--white); }
.enquiry-inner > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.5rem; }
.site-footer { position: relative; overflow: hidden; padding-top: 4.5rem; color: #fff5f8; background: #9f073d; }
.footer-pattern { position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(circle at center, transparent 0 18px, rgba(255,255,255,.25) 19px 20px, transparent 21px), radial-gradient(circle at center, transparent 0 38px, rgba(255,255,255,.18) 39px 40px, transparent 41px); background-position: 0 0, 42px 42px; background-size: 84px 84px; }
.footer-content { position: relative; z-index: 1; }
.footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.25fr 1.25fr; gap: clamp(1.75rem, 3vw, 3.5rem); }
.footer-about { padding: 2rem 1.5rem; color: #4b2632; background: #fff0e8; border-radius: var(--radius-sm); box-shadow: 0 1rem 2.5rem rgba(64,0,24,.18); text-align: center; }
.footer-about > img { width: min(210px, 90%); height: auto; margin-bottom: 1rem; }
.footer-about p { margin-bottom: 1.5rem; font-size: .9rem; line-height: 1.8; }
.footer-about h3 { margin-bottom: 1rem; font-size: 1.45rem; }
.footer-socials { display: flex; justify-content: center; gap: .7rem; }
.footer-socials a { display: grid; width: 38px; height: 38px; place-items: center; color: var(--white); background: var(--primary-color); border-color:var(--primary-color); border-radius: 50%; }
.footer-socials a:nth-child(2) { background: #4267a9; }
.footer-socials a:nth-child(3) { background: #ed1c24; }
.footer-socials a:hover { color: var(--white); transform: translateY(-3px); box-shadow: 0 .45rem 1rem rgba(74,0,26,.22); }
.footer-socials .ui-icon { width: 1rem; height: 1rem; }
.footer-column { padding-top: .7rem; }
.footer-column h2 { margin-bottom: .45rem; color: var(--white); font-size: 1.65rem; font-weight: 400; }
.footer-heading-mark { display: block; width: 72px; height: 9px; margin-bottom: 1.35rem; border-bottom: 3px solid #f5a623; border-radius: 50%;/* transform: skewX(-30deg); */ }
.footer-column > a { display: flex; align-items: flex-start; gap: .35rem; margin: .75rem 0; color: #fff8fa; font-size: 15px; font-weight: 600; line-height: 1.45; }
.footer-column > a:hover { color: #2d5f4d ; transform: translateX(3px); }
.footer-column > a .ui-icon { width: 1rem; min-width: 1rem; height: 1rem; margin-top: .15rem; color: #fff; stroke-width: 3; }
.footer-contact-item { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: .7rem; margin: .8rem 0; }
.footer-contact-item > span { display: grid; width: 36px; height: 36px; place-items: center; color: #ffd064; background: rgba(80,0,29,.42); border: 1px solid #f5a623; border-radius: .4rem; }
.footer-contact-item .ui-icon { width: 1.05rem; height: 1.05rem; }
.footer-contact-item p, .footer-contact-item a { margin: .35rem 0 0; color: #fff8fa; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.footer-contact-item a:hover { color: #2d5f4d ; }
.footer-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-block: 3rem 2.5rem; }
.footer-tags a { padding: .35rem .75rem; color: #fff7fa; background: rgba(91,0,32,.68); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font-size: 15px; font-weight: 600; }
.footer-tags a:hover { color: #632039; background: #ffd9e4; }
.footer-bottom { position: relative; z-index: 1; margin-top: 0; padding-block: 1.25rem; color: #fcecf2; background: rgba(91,0,32,.55); border-top: 1px solid rgba(255,255,255,.15); font-size: .76rem; }
.footer-credit { display: inline-block; color: #fff5f8; font-size: 15px; white-space: nowrap; }
.footer-bottom .footer-credit a { color: #2d5f4d  !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom .footer-credit a:hover { color: #fff !important; text-decoration-color: #fff; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 0; }
.footer-legal a { color: #fff5f8; font-size: 15px; }
.footer-legal a + a::before { margin-inline: .75rem; color: rgba(255,255,255,.55); content: "|"; }
.footer-legal a:hover { color: #2d5f4d ; }
.yoga-gallery-section { position: relative; overflow: hidden; background: linear-gradient(180deg,#fff9f5,#fff); }
.yoga-gallery-section .container { position: relative; z-index: 1; }
.yoga-gallery-section .home-section-heading { width: 100%; max-width: none; margin-bottom: 2rem; }
.yoga-gallery-section .home-section-heading > p { max-width: 820px; margin: 1rem auto 0; line-height: 1.85; }
.yoga-masonry-gallery { display: grid; grid-template-columns: repeat(6,1fr); grid-auto-rows: 150px; gap: .75rem; }
.yoga-gallery-item { position: relative; overflow: hidden; padding: 0; background: #32101d; border: 0; border-radius: 1rem; box-shadow: 0 12px 30px rgba(57,12,29,.13); text-align: left; }
.yoga-gallery-item:nth-child(1),.yoga-gallery-item:nth-child(4) { grid-row: span 2; }
.yoga-gallery-item:nth-child(3) { grid-column: span 2; }
.yoga-gallery-item:nth-child(6) { grid-column: span 2; }
.yoga-gallery-item:nth-child(7),.yoga-gallery-item:nth-child(10),.yoga-gallery-item:nth-child(13),.yoga-gallery-item:nth-child(16) { grid-row: span 2; }
.yoga-gallery-item:nth-child(9),.yoga-gallery-item:nth-child(15) { grid-column: span 2; }
.yoga-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.yoga-gallery-shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,rgba(39,5,18,.82)); transition: background .35s ease; }
.yoga-gallery-caption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; color: #fff; transform: translateY(.35rem); transition: transform .35s ease; }
.yoga-gallery-caption small,.yoga-gallery-caption strong { display: block; }
.yoga-gallery-caption small { margin-bottom: .25rem; color: #ffd36f; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.yoga-gallery-caption strong { font-family: var(--heading-font); font-size: 1rem; }
.yoga-gallery-zoom { position: absolute; top: .8rem; right: .8rem; display: grid; width: 42px; height: 42px; place-items: center; color: #481026; background: rgba(255,211,111,.94); border: 3px solid rgba(255,255,255,.85); border-radius: 50%; font-size: 1.45rem; opacity: 0; transform: scale(.7) rotate(-25deg); transition: opacity .3s ease,transform .3s ease; }
.yoga-gallery-item:hover img { filter: saturate(1.08); transform: scale(1.065); }
.yoga-gallery-item:hover .yoga-gallery-shade { background: linear-gradient(180deg,rgba(186,19,73,.08),rgba(39,5,18,.9)); }
.yoga-gallery-item:hover .yoga-gallery-caption { transform: translateY(0); }
.yoga-gallery-item:hover .yoga-gallery-zoom { opacity: 1; transform: scale(1) rotate(0); }
.gallery-mandala { position: absolute; color: rgba(186,19,73,.04); font-size: 22rem; line-height: 1; }
.gallery-mandala-left { top: -5rem; left: -8rem; }
.gallery-mandala-right { right: -8rem; bottom: -6rem; }
.yoga-gallery-modal .modal-content { overflow: hidden; background: #fff8f5; border: 1px solid #ead8de; border-radius: 1rem; box-shadow: 0 30px 90px rgba(43,8,21,.32); }
.yoga-gallery-modal .btn-close { position: absolute; top: 1rem; right: 1rem; z-index: 3; padding: .65rem; background-color: #fff; border: 1px solid #dcbfc9; border-radius: 50%; box-shadow: 0 5px 16px rgba(55,10,27,.18); filter: none; opacity: 1; }
.yoga-gallery-modal-stage { display: grid; grid-template-columns: 60px 1fr 60px; align-items: center; min-height: 75vh; padding: 1rem; }
.yoga-gallery-modal-stage figure { overflow: hidden; margin: 0; padding: .75rem; background: #fff; border: 1px solid #ead8de; border-radius: .8rem; box-shadow: 0 12px 35px rgba(68,16,36,.1); text-align: center; }
.yoga-gallery-modal-image { display: block; width: 100%; max-height: 66vh; object-fit: contain; background: #f4ecef; border-radius: .55rem; }
.yoga-gallery-modal-caption { padding: .9rem .5rem .15rem; color: #481026; font-weight: 700; }
.gallery-modal-prev,.gallery-modal-next { display: grid; width: 46px; height: 46px; place-items: center; margin: auto; color: #fff; background: var(--primary-color); border: 0; border-radius: 50%; font-size: 1.3rem; transition: transform .25s ease,background .25s ease; }
.gallery-modal-prev:hover,.gallery-modal-next:hover { color: #fff; background: var(--primary-color); transform: scale(1.08); }
.veda-popup[hidden] { display: none; }
.veda-popup { position: fixed; inset: 0; z-index: 10050; display: grid; place-items: center; padding: 1rem; }
.veda-popup-backdrop { position: absolute; inset: 0; background: rgba(22,4,12,.78); backdrop-filter: blur(7px); animation: popupFadeIn .28s ease both; }
.festival-popup-card,.enquiry-popup-card { position: relative; z-index: 1; animation: popupReveal .38s cubic-bezier(.2,.8,.2,1) both; }
.festival-popup-card { width: min(430px,calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: hidden; background: #fff7ee; border: 3px solid #fff; border-radius: 1.25rem; box-shadow: 0 25px 80px rgba(10,0,4,.48),0 0 0 1px rgba(222,174,77,.65); }
.festival-popup-link { position: relative; display: block; color: #fff; }
.festival-popup-card img { display: block; width: 100%; max-height: calc(100vh - 2rem); object-fit: contain; }
.festival-popup-link > span { position: absolute; right: .8rem; bottom: .8rem; left: .8rem; padding: .75rem 1rem; color: #fff; background: linear-gradient(90deg,rgba(78,8,38,.94),rgba(186,19,73,.94)); border: 1px solid rgba(255,255,255,.45); border-radius: 999px; box-shadow: 0 8px 25px rgba(45,4,20,.3); font-size: 14px; font-weight: 700; text-align: center; transition: transform .25s ease,background .25s ease; }
.festival-popup-link:hover > span { color: #3e0b1d; background: #ffd474; transform: translateY(-3px); }
.veda-popup-close { position: absolute; top: .75rem; right: .75rem; z-index: 3; display: grid; width: 42px; height: 42px; place-items: center; padding: 0 0 4px; color: #4a1025; background: rgba(255,255,255,.92); border: 1px solid rgba(74,16,37,.12); border-radius: 50%; box-shadow: 0 6px 20px rgba(33,4,14,.22); font-size: 2rem; line-height: 1; transition: transform .25s ease,background .25s ease; }
.veda-popup-close:hover { color: #fff; background: var(--primary-color); transform: rotate(90deg); }
.enquiry-popup-card { width: min(700px,calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow-y: auto; background: #fffaf6; border: 1px solid rgba(255,255,255,.65); border-radius: 1.3rem; box-shadow: 0 28px 90px rgba(10,0,4,.5); }
.enquiry-popup-head { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 1rem; padding: 1.55rem 4.3rem 1.45rem 2rem; color: #fff; background: linear-gradient(125deg,#3f0a27,#7e103e 65%,#b9134b); }
.enquiry-popup-head > span { display: grid; width: 60px; height: 60px; place-items: center; color: #5b102c; background: #ffd476; border: 3px solid rgba(255,255,255,.85); border-radius: 50%; font-family: var(--heading-font); font-size: 1.7rem; }
.enquiry-popup-head h2 { margin: 0 0 .25rem; color: #fff; font-size: clamp(1.55rem,3vw,2.15rem); }
.enquiry-popup-head p { margin: 0; color: #ffeaf2; font-size: 16px !important; }
.popup-enquiry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.2rem; padding: 1.7rem 2rem 1.4rem; }
.popup-enquiry-form label { display: grid; gap: .45rem; }
.popup-enquiry-form label > span { color: #42172a; font-family: var(--heading-font); font-size: 15px; font-weight: 700; text-transform: uppercase; }
.popup-enquiry-form em { color: var(--primary-color); font-style: normal; }
.popup-enquiry-form input,.popup-enquiry-form select { width: 100%; min-height: 54px; padding: .75rem .95rem; color: #4a3540; background: #fff; border: 1px solid #dacfd3; border-radius: .65rem; font-size: 16px; outline: 0; transition: border-color .2s ease,box-shadow .2s ease; }
.popup-enquiry-form input:focus,.popup-enquiry-form select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 4px rgba(186,19,73,.1); }
.popup-enquiry-form .country-phone-control { display:flex; min-width:0; }
.popup-enquiry-form .country-dial-code { display:flex; flex:0 0 auto; align-items:center; padding:0 .85rem; color:#741039; background:#fff0f5; border:1px solid #dacfd3; border-right:0; border-radius:.65rem 0 0 .65rem; font-weight:700; white-space:nowrap; }
.popup-enquiry-form .country-phone-control input { min-width:0; border-radius:0 .65rem .65rem 0; }
.popup-submit { grid-column: 1/-1; display: flex; min-height: 55px; align-items: center; justify-content: center; gap: .7rem; margin-top: .2rem; color: #fff; background: linear-gradient(100deg,#4b0b35,#ba1349); border: 0; border-radius: .65rem; box-shadow: 0 10px 24px rgba(101,11,48,.2); font-family: var(--heading-font); font-size: 1.1rem; font-weight: 700; text-transform: uppercase; transition: transform .25s ease,box-shadow .25s ease; }
.popup-submit span { transition: transform .25s ease; }
.popup-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(101,11,48,.3); }
.popup-submit:hover span { transform: translateX(5px); }
.popup-form-note { grid-column: 1/-1; margin: -.15rem 0 0; color: #6c5a63; font-size: 13px !important; text-align: center; }
body.popup-is-open { overflow: hidden; }
.source-testimonials{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3rem,5vw,5rem);background:#fff}
.testimonial-container{max-width:1720px;padding-right:clamp(1rem,4vw,5rem);padding-left:clamp(1rem,4vw,5rem)}
.testimonial-heading{max-width:1250px;margin:0 auto .75rem}
.testimonial-heading h2{margin:0;color:var(--primary-color);font-size:clamp(2rem,3.4vw,3.25rem);font-weight:700}
.testimonial-heading .testimonial-kicker{margin:0 0 .55rem;color:#171217;font-size:.78rem;font-weight:700;letter-spacing:.11em;line-height:1.5;text-transform:uppercase}
.testimonial-flower-divider{display:flex;width:min(600px,72vw);align-items:center;gap:1.4rem;margin:1.5rem auto 0;color:#3d3438}
.testimonial-flower-divider i{flex:1;height:2px;background:linear-gradient(90deg,transparent,#292126)}
.testimonial-flower-divider i:last-child{background:linear-gradient(90deg,#292126,transparent)}
.testimonial-flower-divider span{font-size:2.8rem;line-height:1}
.source-testimonials .source-carousel-shell{position:relative}
.testimonial-scroll{grid-auto-columns:calc((100% - 4.5rem)/4);gap:1.5rem;padding:55px .15rem 1.25rem;overflow-x:auto}
.source-testimonial-card{min-height:310px;padding:0 0 .85rem;background:#f7f1e8;border:1px solid #e7ded3;border-radius:15px;box-shadow:0 8px 20px rgba(44,31,37,.2);scroll-snap-align:start}
.source-testimonial-avatar{position:absolute;top:-52px;left:50%;z-index:2;width:104px;height:104px;margin:0;background:#fff;color:var(--primary-color);border:3px solid var(--primary-color);border-radius:50%;box-shadow:0 5px 15px rgba(41,25,32,.28);font-family:var(--body-font);font-size:2.2rem;font-weight:700;transform:translateX(-50%)}
.testimonial-name-bar{display:grid;min-height:100px;place-items:end center;/* padding:1rem 1rem 1.05rem;  */background:#fff;color:var(--primary-color);border-radius:14px 14px 0 0; border:1px soild var(--primary-color);}
.testimonial-name-bar h3{margin:0;color:var(--primary-color);font-family:var(--body-font);font-size:1.35rem;font-weight:700;text-align:center}
.source-testimonial-stars{margin:.8rem 1.2rem .55rem;color:#ffb000;font-size:1.55rem;line-height:1.2;letter-spacing:.05em}
.source-testimonial-text{padding:0 1.6rem}
.source-testimonial-text p{height:6.8em;min-height:0;color:#171217;font-size:16px;line-height:1.7;-webkit-line-clamp:4}
.source-testimonial-text.is-expanded p{height:auto;min-height:6.8em}
.testimonial-read-more{margin:.7rem auto 0;color:#d10d49;font-size:16px;line-height:1.4}
.source-testimonials .source-carousel-controls{position:absolute;top:50%;right:-1.6rem;left:-1.6rem;z-index:4;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}
.source-testimonials .source-carousel-controls button{display:grid;width:42px;height:42px;place-items:center;padding:0;color:#fff;background:var(--primary-color);border:3px solid #fff;border-radius:50%;box-shadow:0 3px 12px rgba(40,20,29,.25);pointer-events:auto}
.testimonial-dots{display:flex;justify-content:center;gap:.75rem;margin-top:.55rem}
.testimonial-dots button{width:13px;height:13px;padding:0;background:#fff;border:1px solid var(--primary-color);border-radius:50%}
.testimonial-dots button.is-active{background:var(--primary-color);transform:scale(1.2)}
@media(max-width:1199.98px){.testimonial-scroll{grid-auto-columns:calc((100% - 2rem)/3);gap:1rem}}
@media(max-width:767.98px){.testimonial-heading{margin-bottom:.6rem}.testimonial-scroll{grid-auto-columns:calc((100% - 1rem)/2)}.source-testimonials .source-carousel-controls{right:-.7rem;left:-.7rem}}
@media(max-width:575.98px){.testimonial-heading h2{font-size:2rem}.testimonial-heading .testimonial-kicker{font-size:.74rem}.testimonial-flower-divider{width:85%;gap:.7rem}.testimonial-flower-divider span{font-size:2rem}.testimonial-scroll{grid-auto-columns:88%}.source-testimonial-card{min-height:310px}.source-testimonials .source-carousel-controls{display:none}}
@keyframes popupFadeIn { from { opacity: 0; } }
@keyframes popupReveal { from { opacity: 0; transform: translateY(22px) scale(.96); } }

/* Shared floating WhatsApp and scroll-to-top controls. */
.site-quick-actions{position:fixed;right:18px;bottom:22px;z-index:1060;display:grid;gap:10px}
.site-quick-action{display:flex;width:52px;height:52px;align-items:center;justify-content:center;padding:0;color:#fff;border:0;border-radius:50%;box-shadow:0 8px 22px rgba(55,18,33,.26);transition:transform .2s ease,opacity .2s ease,background .2s ease}
.site-quick-action:hover,.site-quick-action:focus-visible{color:#fff;transform:translateY(-3px)}
.site-quick-action svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.9;fill:none}
.site-quick-action>span:last-child{position:absolute;right:63px;display:none;padding:.38rem .65rem;white-space:nowrap;background:#31101f;border-radius:5px;font-size:12px;font-weight:700}
.site-quick-action:hover>span:last-child,.site-quick-action:focus-visible>span:last-child{display:block}
.site-quick-whatsapp{position:fixed;bottom:22px;left:18px;background:#20b957}
.site-quick-whatsapp:hover,.site-quick-whatsapp:focus-visible{background:#149345}
.site-quick-top{background:rgb(45 95 77);opacity:0;pointer-events:none;transform:translateY(10px)}
.site-quick-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.site-quick-top>span:first-child{font-family:Arial,sans-serif;font-size:27px;font-weight:700;line-height:1}
.site-quick-top:hover,.site-quick-top:focus-visible{background:rgb(34 74 60)}
@media(max-width:575.98px){.site-quick-actions{right:12px;bottom:14px;gap:8px}.site-quick-whatsapp{bottom:14px;left:12px}.site-quick-action{width:48px;height:48px}.site-quick-action>span:last-child{display:none!important}}
