/* Panch Tatva — full-width responsive overhaul v24 */
:root{
  --pt-max:1600px;
  --pt-wide:1760px;
  --pt-gutter:clamp(18px,4vw,76px);
  --pt-section-y:clamp(42px,5vw,84px);
  --pt-radius:clamp(14px,1.2vw,22px);
  --pt-shadow:0 18px 55px rgba(38,55,35,.10);
}
html{width:100%;max-width:none;background:#f7f3eb;overflow-x:clip}
body,
body.home-page,body.about-page,body.retreat-page,body.panchakarma-page,body.yoga-page,
body.accommodation-page,body.food-page,body.gallery-page,body.testimonials-page,
body.contact-page,body.booking-page,body.upcoming-page,body.team-page,
body.faq-page,body.policies-page,body.policy-detail-page,body.confirmation-page{
  width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;
  background:#fffaf3;overflow-x:clip;
}
main{width:100%;max-width:none;overflow:clip}
img{max-width:100%}

/* Full-width, premium navigation */
.site-header{
  width:100%!important;max-width:none!important;height:clamp(76px,5vw,92px)!important;
  border-radius:0!important;border-left:0!important;border-right:0!important;
  position:sticky!important;top:0;z-index:1000!important;background:rgba(255,253,249,.94)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 8px 28px rgba(33,48,31,.09)!important;
}
.header-shell,
.about-page .header-shell,.retreat-page .header-shell,.panchakarma-page .header-shell,
.yoga-page .header-shell,.accommodation-page .header-shell,.food-page .header-shell,
.gallery-page .header-shell,.testimonials-page .header-shell,.contact-page .header-shell,
.booking-page .header-shell,.upcoming-page .header-shell,.team-page .header-shell,
.faq-page .header-shell,.policies-page .header-shell,.policy-detail-page .header-shell,
.confirmation-page .header-shell{
  width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;
  max-width:var(--pt-max)!important;height:100%!important;margin:0 auto!important;padding:0!important;
}
.brand,.about-page .brand,.retreat-page .brand,.panchakarma-page .brand,.yoga-page .brand,
.accommodation-page .brand,.food-page .brand,.gallery-page .brand,.testimonials-page .brand,
.contact-page .brand,.booking-page .brand,.upcoming-page .brand,.team-page .brand,
.faq-page .brand,.policies-page .brand,.confirmation-page .brand{
  width:170px!important;flex:0 0 170px!important;height:100%!important;justify-content:flex-start!important;
}
.brand img,.about-page .brand img,.retreat-page .brand img,.panchakarma-page .brand img,
.yoga-page .brand img,.accommodation-page .brand img,.food-page .brand img,
.gallery-page .brand img,.testimonials-page .brand img,.contact-page .brand img,
.booking-page .brand img,.upcoming-page .brand img,.team-page .brand img,
.faq-page .brand img,.policies-page .brand img,.confirmation-page .brand img{
  width:160px!important;height:auto!important;max-height:72px!important;object-fit:contain!important;background:transparent!important;
}
.main-nav{gap:clamp(10px,1vw,18px)!important;min-width:0}
.main-nav a,
.about-page .main-nav a,.retreat-page .main-nav a,.panchakarma-page .main-nav a,
.yoga-page .main-nav a,.accommodation-page .main-nav a,.food-page .main-nav a,
.gallery-page .main-nav a,.testimonials-page .main-nav a,.contact-page .main-nav a,
.booking-page .main-nav a,.upcoming-page .main-nav a,.team-page .main-nav a,
.faq-page .main-nav a,.policies-page .main-nav a,.policy-detail-page .main-nav a,
.confirmation-page .main-nav a{
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.header-book{min-width:clamp(150px,11vw,190px)!important;height:48px!important;font-size:13px!important;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.header-book:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(20,63,33,.25)!important;filter:saturate(1.1)}

/* ==========================================================================
   GLOBAL ALTERNATING SECTION BACKGROUND SYSTEM
   ========================================================================== */
body:not(.about-page):not(.retreat-page) section.sec-bg-white,
body:not(.about-page):not(.retreat-page) .sec-bg-white {
  width: 100% !important;
  max-width: none !important;
  background-color: #ffffff !important;
  border-top: 1px solid #ebdcc7 !important;
  border-bottom: 1px solid #ebdcc7 !important;
  padding: 34px 0 !important;
}

body:not(.about-page):not(.retreat-page) section.sec-bg-cream,
body:not(.about-page):not(.retreat-page) .sec-bg-cream {
  width: 100% !important;
  max-width: none !important;
  background-color: #fffaf3 !important;
  padding: 34px 0 !important;
}

body:not(.about-page):not(.retreat-page) section.sec-bg-sand,
body:not(.about-page):not(.retreat-page) .sec-bg-sand {
  width: 100% !important;
  max-width: none !important;
  background-color: #f7eedf !important;
  border-top: 1px solid #e3d5be !important;
  border-bottom: 1px solid #e3d5be !important;
  padding: 34px 0 !important;
}

body:not(.about-page):not(.retreat-page) section.sec-bg-sage,
body:not(.about-page):not(.retreat-page) .sec-bg-sage {
  width: 100% !important;
  max-width: none !important;
  background-color: #f0f6f1 !important;
  border-top: 1px solid #d4e4d7 !important;
  border-bottom: 1px solid #d4e4d7 !important;
  padding: 34px 0 !important;
}

section.sec-bg-dark,
.sec-bg-dark {
  width: 100% !important;
  max-width: none !important;
  background: linear-gradient(135deg, #0e3f2a 0%, #174f37 100%) !important;
  color: #ffffff !important;
  padding: 55px 0 !important;
}

section.sec-bg-cta,
.sec-bg-cta {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  padding: 40px 0 !important;
}

/* Language Switcher Component */
.lang-switcher {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  background: #f4ede2 !important;
  border: 1px solid #e2d3be !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

.lang-btn {
  border: none !important;
  background: transparent !important;
  color: #594f42 !important;
  font-family: var(--pt-font-sans, sans-serif) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.lang-btn:hover {
  color: #173619 !important;
}

.lang-btn.active {
  background: #173619 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(23, 54, 25, 0.2) !important;
}

.lang-divider {
  font-size: 11px !important;
  color: #bfaea0 !important;
}

/* Every page root and every content shell becomes fluid */
.content-shell,.journey-shell,.gallery-shell,.review-shell,.footer-shell,
.about-shell,.retreat-shell,.pk-shell,.assurance-shell,.section-shell,.ac-shell,.food-shell,
.gallery-content,.gallery-footer-main,.contact-main-shell,.upcoming-shell,.confirmation-shell,
.policy-explore,.policy-footer-main,.faq-main-shell,.faq-category-strip,.team-content,
.booking-footer-main,.experience-footer-main,.contact-footer-main,.upcoming-footer-main,
.team-footer-main,.faq-footer-main,.confirmation-footer-main,.yg-footer-main,.food-footer-main,
.pk-footer-main,.ac-footer-main{
  width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;
  max-width:var(--pt-max)!important;margin-left:auto!important;margin-right:auto!important;
}

/* Prevent poster-like fixed-height sections */
.home-assurance,.principles,.journey,.experiences,.reviews,.booking-band,.footer,
.story-section,.why-section,.guide-section,.about-journey,.about-reviews,
.retreat-benefits,.five-day-journey,.schedule-stay-section,.suitable-section,.details-section,.retreat-reviews,
.pk-therapies,.pk-benefits,.pk-process,.pk-assurance,.pk-cta,.pk-footer,
.yg-intro,.yg-programs,.yg-schedule,.yg-people,.yg-testimonials,.yg-gallery,.yg-cta,.yg-footer,
.ac-welcome,.ac-rooms,.ac-details,.healing-strip,.ac-info,.ac-faq,.ac-cta,.ac-footer,
.food-philosophy,.meal-schedule,.sample-menu,.kitchen-strip,.ingredients-section,.dining-section,.guidance-section,.food-testimonials,.food-cta,.food-footer,
.guest-reviews,.video-testimonials,.transformation-panel,.experience-cta,.experience-footer,
.contact-main-shell,.reach-us,.contact-help-strip,.contact-cta,.contact-footer,
.journey-section,.steps-section,.included-section,.booking-cta,.booking-footer,
.schedule-section,.booking-benefits,.upcoming-cta,.upcoming-footer,
.founder-story,.team-group,.team-cta,.team-footer,
.faq-search-wrap,.faq-category-strip,.faq-main-shell,.faq-cta,.faq-footer,
.policy-explore,.policy-cta,.policy-footer,
.confirmation-details,.next-section,.help-section,.confirmation-cta,.confirmation-footer{
  height:auto!important;min-height:0!important;
}

/* Hero systems — full bleed, richer depth */
.hero,.about-hero,.pk-hero,.yg-hero,.ac-hero,.food-hero,.gallery-hero,
.testimonials-hero,.contact-hero,.booking-hero,.upcoming-hero,.team-hero,.faq-hero,
.policy-hero,.confirmation-hero{
  width:100%!important;max-width:none!important;min-height:clamp(480px,39vw,720px)!important;height:auto!important;
  isolation:isolate;overflow:hidden!important;
}
.retreat-hero,
.pk-hero {
  width:100%!important;max-width:none!important;height:clamp(390px,32vw,510px)!important;min-height:0!important;
  isolation:isolate;overflow:hidden!important;position:relative!important;
}
.hero>img,.about-hero>img,.retreat-hero img,.pk-hero>img,.gallery-hero-image img,
.testimonials-hero img,.confirmation-hero-photo img{
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.hero:hover>img,.about-hero:hover>img,.retreat-hero:hover img,.pk-hero:hover>img{transform:scale(1.025)}
.hero>img{height:clamp(480px,39vw,720px)!important;object-fit:cover!important}
.about-hero-copy,.retreat-hero-content,.policy-hero-copy,.faq-hero-copy{
  max-width:var(--pt-max)!important;
}
.retreat-hero-content{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important}
.about-hero-copy{left:max(var(--pt-gutter),calc((100vw - var(--pt-max))/2 + 20px))!important;top:clamp(55px,7vw,120px)!important}

/* Homepage - Unified Home Intro & Assurance Section */
section.sec-home-intro,
.sec-home-intro {
  width: 100% !important;
  max-width: none !important;
  background: #fffaf3 !important;
  padding: 24px 0 40px 0 !important;
  border-top: none !important;
  border-bottom: none !important;
}

.home-assurance {
  padding: 0 0 28px 0 !important;
  background: transparent !important;
}

.home-assurance-shell {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  overflow: hidden !important;
  border: 1px solid rgba(191, 139, 60, 0.28) !important;
  border-radius: 18px !important;
  background: rgba(191, 139, 60, 0.2) !important;
  box-shadow: 0 10px 30px rgba(43, 65, 38, 0.06) !important;
}

.home-assurance span {
  min-height: 62px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 14px 18px !important;
  background: #ffffff !important;
  color: #45503d !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.home-assurance b {
  color: #244824 !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
}

.legacy-intro {
  padding: 0 !important;
  margin-top: 0 !important;
  background: transparent !important;
}

.legacy-intro-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center !important;
}

.legacy-intro-copy {
  position: relative !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border-left: 4px solid #c9822e !important;
  background: #ffffff !important;
  border-radius: 0 18px 18px 0 !important;
  box-shadow: 0 12px 36px rgba(42, 64, 38, 0.06) !important;
}
.legacy-intro-copy h2,
.legacy-section-title{
  margin:4px 0 14px;
  color:#173f24;
  font:500 clamp(30px,2.6vw,42px)/1.14 Georgia,"Times New Roman",serif!important;
  letter-spacing:0;
}
.legacy-intro-copy p{
  margin:0;
  color:#3f483e;
  font-size:16px!important;
  line-height:1.82!important;
}
.legacy-address{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:22px;
  color:#52604f;
  font-size:13px;
  line-height:1.45;
}
.legacy-address a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:8px;
  background:#174b2d;
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
}
.legacy-pillar-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.legacy-pillar-card{
  min-height:172px;
  padding:24px 18px 20px;
  border:1px solid rgba(201,130,46,.2);
  border-radius:10px;
  background:linear-gradient(180deg,#fffdf9 0%,#fff8ed 100%);
  text-align:center;
  box-shadow:0 16px 38px rgba(43,65,38,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}
.legacy-pillar-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(43,65,38,.13)}
.legacy-pillar-card img{
  width:70px;
  height:70px;
  object-fit:contain;
  margin-bottom:10px;
}
.legacy-pillar-card h3{
  margin:0 0 8px;
  color:#263328;
  font-size:20px!important;
  line-height:1.2!important;
}
.legacy-pillar-card p{
  margin:0;
  color:#596258;
  font-size:14px!important;
  line-height:1.58!important;
}
.principles{padding:clamp(44px,4.2vw,64px) 0 clamp(28px,3vw,46px)!important}
.legacy-care{
  padding:clamp(50px,5vw,86px) 0!important;
  background:#e7f1e4;
}
.legacy-section-title{
  max-width:920px;
  margin:0 auto 32px;
  text-align:center;
}
.legacy-care-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:minmax(230px,auto);
  gap:clamp(14px,1.4vw,22px);
}
.legacy-care-card{
  position:relative;
  min-height:300px;
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:24px 18px;
  overflow:hidden;
  border:1px solid rgba(47,106,62,.18);
  border-radius:10px;
  background:linear-gradient(180deg,#fffdf9 0%,#f8fff4 100%);
  box-shadow:0 16px 42px rgba(43,65,38,.08);
}
.legacy-care-card:nth-child(3){
  grid-column:3;
  grid-row:1 / span 2;
}
.legacy-care-card:nth-child(4){grid-column:1;grid-row:2}
.legacy-care-card:nth-child(5){grid-column:2;grid-row:2}
.legacy-care-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.62),transparent 44%,rgba(201,130,46,.08));
  pointer-events:none;
}
.legacy-care-card>*{position:relative;z-index:1}
.legacy-care-card img{
  width:64px;
  height:64px;
  object-fit:contain;
}
.legacy-care-card h3{
  margin:0 0 10px;
  color:#263328;
  font-size:20px!important;
  line-height:1.22!important;
}
.legacy-care-card p{
  margin:0;
  color:#526052;
  font-size:13.5px!important;
  line-height:1.66!important;
}
.legacy-care-card p + p{margin-top:12px}
.journey{padding:clamp(34px,3.6vw,56px) 0 clamp(52px,4.5vw,78px)!important}
.experiences,.reviews{padding:var(--pt-section-y) 0!important}
.service-grid{gap:clamp(14px,1.4vw,24px)!important}
.section-kicker{text-transform:none;letter-spacing:0}
.service-card{
  position:relative;
  height:auto!important;min-height:clamp(160px,12vw,210px)!important;padding:22px 16px!important;border-radius:var(--pt-radius)!important;transition:.3s ease;
}
.service-card:after,.day-card:after,.review-card:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.54),transparent 42%,rgba(201,130,46,.08));
  opacity:0;
  transition:opacity .28s ease;
}
.service-card:hover:after,.day-card:hover:after,.review-card:hover:after{opacity:1}
.service-icon{height:82px!important}.service-icon img{width:70px!important;height:70px!important}
.service-card h3{font-size:clamp(15px,1.05vw,19px)!important}.service-card p{font-size:clamp(11px,.78vw,14px)!important}
.journey h2{font-size:clamp(30px,2.5vw,44px)!important}.timeline{gap:clamp(12px,1.2vw,20px)!important;margin-top:58px!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
.day-card{height:auto!important;min-height:190px!important;padding:20px 14px!important;border-radius:var(--pt-radius)!important}
.day-icon{height:88px!important}.day-icon img{width:76px!important;height:76px!important}.day-card h3{font-size:16px!important}.day-card p{font-size:11.5px!important}
.experiences h2,.reviews h2{font-size:clamp(25px,2.2vw,38px)!important;margin-bottom:28px!important}
.experience-grid{gap:clamp(12px,1.2vw,22px)!important}.experience-grid figure{height:clamp(180px,14vw,260px)!important;border-radius:16px!important}
.experience-grid img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.experience-grid figure:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.03)}
.experience-grid figcaption{font-size:13px!important;padding:38px 8px 10px!important}
.home-experiences{
  background:linear-gradient(180deg,#fffaf3 0%,#f4f8ee 100%)!important;
}
.home-experiences .gallery-shell{
  width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;
  margin:auto!important;
}
.home-experiences h2{
  text-align:center!important;
  color:#0e3f2a!important;
}
.review-grid{gap:clamp(18px,2vw,32px)!important}.review-card{height:auto!important;min-height:180px!important;padding:25px 24px 18px 38px!important;border-radius:18px!important}.review-card>p{font-size:13px!important;min-height:76px!important}.reviewer img{width:46px!important;height:46px!important}.reviewer strong{font-size:13px!important}.reviewer span{font-size:10px!important}
.reviews .review-arrow{display:none!important}
.booking-band{padding:0 var(--pt-gutter) var(--pt-section-y)!important}.booking-shell{max-width:var(--pt-max);margin:auto;height:auto!important;min-height:126px!important;padding:24px 40px!important;border-radius:20px!important}.footer{height:auto!important;min-height:250px!important;padding:42px 0 25px!important;border-radius:0!important}.footer-shell{gap:clamp(28px,4vw,64px)!important}.footer p,.footer a{font-size:12px!important}.footer h3{font-size:15px!important}.footer-bottom{position:static!important;width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:26px auto 0!important;padding:18px 0 0!important;font-size:11px!important}
.booking-meta{font-size:11px!important}
.booking-phone small,.booking-phone span{font-size:11px!important}
.gold-button small{font-size:10px!important}

/* Consistent, readable footer legal row across all pages. */
[class$="footer-bottom"],
.footer-bottom{
  height:auto!important;
  min-height:58px!important;
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr)!important;
  align-items:center!important;
  gap:10px 22px!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-align:left!important;
}
[class$="footer-bottom"] > span:first-child,
.footer-bottom > span:first-child{
  white-space:nowrap;
}
.footer-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:4px 10px!important;
  text-align:center!important;
}
.footer-links a,
[class$="footer-bottom"] .footer-links a,
.footer-bottom .footer-links a{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  color:inherit!important;
  font-size:12px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.footer-separator{opacity:.55}
.footer-credit{
  justify-self:end;
  white-space:nowrap;
  text-align:right;
}
.footer-credit a,
[class$="footer-bottom"] .footer-credit a,
.footer-bottom .footer-credit a{
  display:inline!important;
  margin:0!important;
  color:#f2d87d!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.footer-credit a:hover{text-decoration:underline!important}

.footer-brand img,
[class$="footer-brand"] img,
.pd-footer > img,
.modal-logo img,
.qa-header img,
.logo{
  object-fit:contain!important;
}

/* Luxury High-Definition Social Icons */
.socials,
.social-row,
.faq-social-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 10px !important;
}

.socials a,
.social-row a,
.faq-social-row a {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
}

.socials a svg,
.social-row a svg,
.faq-social-row a svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  display: block !important;
}

.socials a.fb,
.social-row a.fb,
.faq-social-row a.fb {
  background: linear-gradient(135deg, #1877f2, #0b5ecb) !important;
}

.socials a.fb:hover,
.social-row a.fb:hover,
.faq-social-row a.fb:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 20px rgba(24, 119, 242, 0.45) !important;
}

.socials a.ig,
.social-row a.ig,
.faq-social-row a.ig {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

.socials a.ig:hover,
.social-row a.ig:hover,
.faq-social-row a.ig:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 20px rgba(220, 39, 67, 0.5) !important;
}

.socials a.yt,
.social-row a.yt,
.faq-social-row a.yt {
  background: linear-gradient(135deg, #ff2a2a, #c91515) !important;
}

.socials a.yt:hover,
.social-row a.yt:hover,
.faq-social-row a.yt:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 20px rgba(255, 0, 0, 0.42) !important;
}

.socials a.wa,
.social-row a.wa,
.faq-social-row a.wa {
  background: linear-gradient(135deg, #36d866, #129c47) !important;
}

.socials a.wa:hover,
.social-row a.wa:hover,
.faq-social-row a.wa:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 20px rgba(18, 156, 71, 0.45) !important;
}
.footer-brand img,
[class$="footer-brand"] img,
.pd-footer > img{
  width:150px!important;
  height:auto!important;
  max-height:96px!important;
  background:transparent!important;
  padding:0!important;
}
.modal-logo img{width:150px!important;height:auto!important;max-height:84px!important}
.gold-button,.header-book{overflow:hidden;position:relative}
.gold-button:before,.header-book:before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  width:32px;
  left:-48px;
  transform:rotate(18deg);
  background:rgba(255,255,255,.38);
  animation:ptShine 4.6s ease-in-out infinite;
}
.gold-button>*,
.header-book>*{position:relative;z-index:1}
.hero{animation:ptHeroIn .75s ease both}
.hero:before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:62%;
  background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.88) 48%,rgba(0,0,0,.56) 78%,transparent 100%);
  pointer-events:none;
}
.hero>img{animation:ptHeroBreathe 12s ease-in-out infinite alternate}
.hero-hotspot{display:none!important}
.hero-copy-html{
  position:absolute;
  z-index:6;
  left:8.55%;
  top:14%;
  width:min(500px,40vw);
  color:#fff;
  text-shadow:0 3px 12px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.45);
  pointer-events:auto;
  user-select:text;
}
.hero-copy-html h1{
  margin:0;
  color:#fff;
  font-family:"Noto Sans Devanagari UI","Noto Sans Devanagari",Arial,sans-serif!important;
  font-size:clamp(38px,3.85vw,62px)!important;
  line-height:1.06!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.hero-copy-html h1 span{
  color:#d69a2d;
  font-size:1.04em;
  font-weight:800;
}
.hero-copy-html p{
  margin:clamp(12px,1.25vw,19px) 0 0;
  color:#fff;
  font-family:"Noto Sans Devanagari UI","Noto Sans Devanagari",Arial,sans-serif!important;
  font-size:clamp(14px,1.05vw,18px)!important;
  line-height:1.52!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-shadow:0 2px 8px rgba(0,0,0,.66),0 1px 1px rgba(0,0,0,.5);
}
.hero-actions-html{
  display:flex;
  align-items:center;
  gap:clamp(16px,1.8vw,28px);
  margin-top:clamp(18px,1.8vw,30px);
  pointer-events:auto;
}
.hero-btn-html{
  min-width:clamp(125px,10.4vw,160px);
  height:clamp(44px,3.55vw,56px);
  padding:0 clamp(18px,1.6vw,28px);
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.35);
  color:#fff!important;
  font-family:"Noto Sans Devanagari UI","Noto Sans Devanagari",Arial,sans-serif!important;
  font-size:clamp(15px,1.05vw,18px)!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.hero-btn-html img{
  width:20px;
  height:20px;
  object-fit:contain;
}
.hero-btn-view{
  background:rgba(45,76,38,.86);
  backdrop-filter:blur(4px);
}
.hero-btn-view img{filter:brightness(0) invert(1)}
.hero-btn-book{
  background:linear-gradient(180deg,#f8dc84 0%,#e3b84e 100%);
  color:#244824!important;
  border-color:rgba(255,229,146,.7);
}
.hero-btn-book img{filter:none}
.hero-btn-html:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22);
  filter:saturate(1.08);
}
.hero-live-card{
  z-index:3;
  position:absolute;
  top:21%;
  right:7.6%;
  width:min(320px,21vw);
  min-height:clamp(320px,23vw,350px);
  display:grid;
  gap:clamp(10px,.9vw,16px);
  padding:clamp(18px,1.8vw,28px);
  border:4px solid rgba(255,255,255,.86);
  border-radius:18px;
  background:#fffdf9;
  color:#645c4c;
  box-shadow:0 20px 44px rgba(12,26,14,.23);
  animation:ptCardIn .55s .08s ease both;
}
.hero-live-card div{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(117,96,62,.14);
}
.hero-live-card img{width:36px;height:36px;object-fit:contain}
.hero-live-card small{display:block;margin-bottom:4px;color:#807768;font-size:12px;font-weight:700}
.hero-live-card b{display:block;color:#4b4130;font-size:18px!important;line-height:1.15}
.hero-live-card strong{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(48px,4.8vw,72px);
  border-radius:10px;
  background:#31562d;
  color:#f8df94;
  font-size:clamp(12px,.9vw,15px);
  text-align:center;
}
.hero-scroll-cue{
  position:absolute;
  left:50%;
  bottom:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:rgba(23,55,25,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-scroll-cue span{
  width:7px;
  height:7px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
  animation:ptCue 1.35s ease-in-out infinite;
}
.day-number{animation:ptPulse 2.8s ease-in-out infinite}
@keyframes ptHeroIn{from{opacity:.85;filter:saturate(.86)}to{opacity:1;filter:none}}
@keyframes ptHeroBreathe{from{filter:saturate(1) contrast(1)}to{filter:saturate(1.06) contrast(1.03)}}
@keyframes ptCardIn{from{opacity:0;transform:translate3d(18px,10px,0) scale(.98)}to{opacity:1;transform:none}}
@keyframes ptShine{0%,58%{left:-48px;opacity:0}68%{opacity:1}82%,100%{left:calc(100% + 48px);opacity:0}}
@keyframes ptCue{0%,100%{opacity:.5;transform:translateY(-2px) rotate(45deg)}50%{opacity:1;transform:translateY(3px) rotate(45deg)}}
@keyframes ptPulse{0%,100%{box-shadow:0 0 0 0 rgba(199,136,49,.28)}50%{box-shadow:0 0 0 8px rgba(199,136,49,0)}}

/* About */
.story-section,.why-section,.guide-section,.about-journey,.about-reviews{padding:var(--pt-section-y) 0!important}
.story-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;gap:clamp(34px,5vw,88px)!important}.story-image{height:clamp(320px,27vw,470px)!important}.story-copy>p:not(.about-kicker){font-size:clamp(13px,.9vw,16px)!important;line-height:1.8!important}.story-copy h2{font-size:clamp(38px,3vw,56px)!important}
.purpose-grid{gap:28px!important;margin-top:34px!important}.purpose-card{height:auto!important;min-height:180px!important;padding:26px 30px!important;grid-template-columns:90px 1fr!important}.purpose-card>img{width:80px!important;height:80px!important}.purpose-card h3{font-size:30px!important}.purpose-card span{font-size:13px!important}
.why-grid{gap:clamp(14px,1.3vw,24px)!important}.why-card{height:auto!important;min-height:175px!important;padding:18px 12px!important}.why-icon{height:76px!important}.why-icon img{width:68px!important;height:68px!important}.why-card h3{font-size:15px!important}.why-card p{font-size:11px!important}
.guide-grid{gap:clamp(32px,4vw,70px)!important}.guide-grid figure{height:clamp(300px,25vw,440px)!important}.guide-copy>p:not(.about-kicker){font-size:14px!important;line-height:1.75!important}.guide-copy h2{font-size:clamp(34px,3vw,52px)!important}

/* Common card lifts */
.service-card,.day-card,.review-card,.purpose-card,.why-card,.benefit-card,.retreat-day,
.therapy-card,.process-step,.program-card,.schedule-item,.teacher-card,.room-card,
.menu-card,.ingredient-card,.review-card-v2,.policy-card,.faq-item,.team-card,.shivir-card,
.contact-form-card,.contact-info-card,.package-card,.next-grid article,.details-grid article,
.gallery-section .photo-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
.service-card:hover,.day-card:hover,.review-card:hover,.purpose-card:hover,.why-card:hover,.benefit-card:hover,
.therapy-card:hover,.program-card:hover,.teacher-card:hover,.room-card:hover,.menu-card:hover,
.policy-card:hover,.team-card:hover,.shivir-card:hover,.gallery-section .photo-card:hover{
  transform:translateY(-7px);box-shadow:var(--pt-shadow)!important;border-color:rgba(151,126,65,.35)!important;
}

/* Retreat */
.retreat-benefits,.five-day-journey,.schedule-stay-section,.suitable-section,.details-section,.retreat-reviews{padding:var(--pt-section-y) 0!important}
.benefit-grid{gap:clamp(14px,1.3vw,24px)!important}.benefit-card{height:auto!important;min-height:180px!important;padding:20px 14px!important}.benefit-icon{height:78px!important}.benefit-icon img{width:68px!important;height:68px!important}.benefit-card h3{font-size:16px!important}.benefit-card p{font-size:11.5px!important}
.retreat-timeline{gap:clamp(18px,2vw,32px)!important}.retreat-day{height:auto!important;min-height:210px!important;padding:20px!important}.schedule-stay-grid,.details-grid{gap:clamp(24px,3vw,50px)!important}

/* Panchakarma */
.panchakarma-page .header-shell{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important}
.pk-therapies,.pk-process,.pk-assurance{padding:var(--pt-section-y) 0!important}.therapy-grid{gap:clamp(18px,2vw,32px)!important}.therapy-card{height:auto!important;min-height:220px!important;padding:88px 18px 20px!important}.therapy-card>img{width:128px!important;height:128px!important;top:-58px!important}.therapy-card h3{font-size:20px!important}.therapy-card p{font-size:12px!important;line-height:1.6!important}.pk-therapies{padding-top:calc(var(--pt-section-y) + 55px)!important}
.pk-benefits{padding:0 var(--pt-gutter)!important}.benefits-panel{width:min(100%,var(--pt-max));margin:auto;height:auto!important;min-height:260px!important;padding:38px 50px!important;border-radius:20px!important}.benefit-audience{height:auto!important;min-height:210px!important;padding:28px!important}.process-grid{gap:clamp(20px,2vw,36px)!important}.therapy-gallery{gap:15px!important}.therapy-gallery img{height:clamp(180px,14vw,260px)!important;border-radius:14px!important}
.assurance-shell{padding:30px 0!important}.pk-cta{min-height:150px!important;padding:25px var(--pt-gutter)!important}

/* Yoga */
.yoga-page{width:100%!important}.yg-intro,.yg-programs,.yg-schedule,.yg-people,.yg-testimonials,.yg-gallery{padding-top:var(--pt-section-y)!important;padding-bottom:var(--pt-section-y)!important}
.yg-hero{min-height:650px!important}.yg-hero h1{font-size:clamp(62px,5vw,92px)!important}.hero-lead{font-size:16px!important}.program-grid{gap:clamp(16px,1.5vw,26px)!important}.program-card{min-height:460px!important;border-radius:18px!important;overflow:hidden}.program-photo{height:230px!important}.program-card h3{font-size:20px!important}.program-card p{font-size:12px!important;line-height:1.65!important}.schedule-track{gap:15px!important}.teacher-grid{gap:24px!important}.gallery-grid img{height:clamp(190px,13vw,260px)!important;border-radius:14px!important}

/* Accommodation */
.ac-hero{min-height:650px!important}.ac-welcome,.ac-rooms,.ac-details,.healing-strip,.ac-info,.ac-faq{padding-top:var(--pt-section-y)!important;padding-bottom:var(--pt-section-y)!important}.ac-welcome{gap:clamp(36px,5vw,90px)!important}.welcome-photo{height:clamp(380px,31vw,550px)!important}.welcome-copy h2{font-size:clamp(36px,3vw,54px)!important}.welcome-copy p,.welcome-copy li{font-size:14px!important;line-height:1.7!important}.room-grid{gap:clamp(15px,1.5vw,26px)!important}.room-card{min-height:410px!important}.room-photo{height:220px!important}.room-body h3{font-size:20px!important}.room-body p{font-size:12px!important}.ac-details{gap:32px!important}.ac-gallery img{height:clamp(145px,10vw,210px)!important}.facility-grid{gap:0!important}.faq-grid{gap:20px!important}

/* Food */
.food-page{width:100%!important}.food-hero{min-height:680px!important}.food-philosophy,.meal-schedule,.sample-menu,.ingredients-section,.dining-section,.guidance-section,.food-testimonials{padding-top:var(--pt-section-y)!important;padding-bottom:var(--pt-section-y)!important}.schedule-grid,.menu-grid,.ingredient-grid,.guidance-grid,.testimonial-grid{gap:clamp(16px,1.5vw,28px)!important}.menu-card{min-height:430px!important}.menu-photo{height:230px!important}.menu-copy h3{font-size:24px!important}.menu-copy p,.menu-copy li{font-size:12px!important}.kitchen-strip{min-height:280px!important;border-radius:22px!important}.dining-section{gap:clamp(34px,5vw,80px)!important}.dining-section>img{height:clamp(380px,28vw,520px)!important}

/* Gallery */
.gallery-page{width:100%!important}.gallery-hero{min-height:600px!important}.gallery-filter-wrap{padding:24px var(--pt-gutter)!important}.gallery-filters{width:min(100%,var(--pt-max));margin:auto;gap:10px!important}.gallery-content{padding-top:40px!important;padding-bottom:var(--pt-section-y)!important}.gallery-section{margin-bottom:50px!important}.photo-row{gap:clamp(12px,1.2vw,22px)!important}.photo-card{height:clamp(190px,13vw,260px)!important;border-radius:16px!important}.gallery-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:170px!important;border-radius:24px!important}.gallery-footer{padding-top:30px!important}

/* Testimonials */
.testimonials-hero{min-height:600px!important}.review-filter-wrap{padding:26px var(--pt-gutter)!important}.review-filters{width:min(100%,var(--pt-max));margin:auto!important}.guest-reviews,.video-testimonials{padding:var(--pt-section-y) 0!important}.guest-reviews .review-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.video-review-grid{gap:24px!important}.video-review-card{height:clamp(260px,19vw,350px)!important;border-radius:18px!important}.transformation-panel{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:250px!important;border-radius:22px!important}.experience-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:180px!important;border-radius:22px!important}

/* Contact */
.contact-hero{min-height:600px!important}.contact-main-shell{padding-top:var(--pt-section-y)!important;padding-bottom:var(--pt-section-y)!important;gap:clamp(30px,4vw,70px)!important}.contact-form-card,.find-card{padding:clamp(28px,3vw,52px)!important;border-radius:22px!important}.contact-form-card input,.contact-form-card textarea{font-size:14px!important;padding:15px!important}.reach-us{padding:var(--pt-section-y) 0!important}.reach-grid{gap:24px!important}.contact-help-strip{padding:30px!important}.contact-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;border-radius:22px!important;min-height:170px!important}

/* Booking */
.booking-hero{height:clamp(390px,32vw,510px)!important;min-height:0!important}.journey-section,.steps-section,.included-section{padding:var(--pt-section-y) 0!important}.package-grid{gap:clamp(18px,2vw,32px)!important}.package-card{min-height:420px!important;border-radius:20px!important}.steps-grid{gap:24px!important}.included-grid{gap:20px!important}.booking-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:160px!important;border-radius:22px!important}

/* Upcoming */
.upcoming-page{width:100%!important}.upcoming-hero{height:clamp(390px,32vw,510px)!important;min-height:0!important}.schedule-section{padding:var(--pt-section-y) 0!important}.shivir-list{gap:22px!important}.shivir-card{min-height:200px!important;border-radius:20px!important}.booking-benefits{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;padding:28px!important;border-radius:20px!important}.upcoming-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:160px!important;border-radius:22px!important}

/* Team */
.team-hero{min-height:600px!important}.team-content{padding-top:var(--pt-section-y)!important;padding-bottom:var(--pt-section-y)!important}.founder-story{min-height:390px!important;border-radius:24px!important;padding:28px!important}.founder-story>img{height:330px!important}.team-group{padding-top:var(--pt-section-y)!important}.team-grid{gap:clamp(18px,2vw,32px)!important}.team-card{min-height:300px!important;border-radius:18px!important;padding:24px!important}.team-card>img{width:140px!important;height:140px!important}.team-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:170px!important;border-radius:22px!important}

/* FAQ / Policies / confirmation */
.faq-page{width:100%!important}.faq-search{width:min(calc(100% - 2 * var(--pt-gutter)),1100px)!important;margin:30px auto!important}.faq-category-strip{height:auto!important;padding:24px 0!important}.faq-main-shell{grid-template-columns:minmax(0,1fr) 360px!important;gap:28px!important;padding-bottom:var(--pt-section-y)!important}.faq-support-card,.faq-info-card{height:auto!important;min-height:280px!important;border-radius:20px!important}.faq-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:175px!important;border-radius:22px!important}
.policy-explore{padding:var(--pt-section-y) 0!important}.policy-card-grid{gap:28px!important}.policy-card{min-height:510px!important;border-radius:22px!important;padding:38px!important}.policy-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin:0 auto var(--pt-section-y)!important;min-height:170px!important;border-radius:22px!important}
.confirmation-details{padding:var(--pt-section-y) 0 0!important}.next-section{padding:var(--pt-section-y) 0!important}.help-section,.confirmation-cta{width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;margin-left:auto!important;margin-right:auto!important}.help-section{min-height:180px!important}.confirmation-cta{min-height:170px!important;margin-bottom:var(--pt-section-y)!important}

/* Scroll motion; only hidden after JS signals readiness */
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}
.motion-ready [data-reveal="left"],
.motion-ready [data-reveal="right"]{transform:translate3d(0,28px,0)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
[data-stagger]>*{transition-delay:calc(var(--stagger-index,0) * 55ms)!important}
.pt-float{animation:ptFloat 5.5s ease-in-out infinite}
@keyframes ptFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Tablet nav and layout */
@media(max-width:1180px){
  .site-header{height:76px!important}.header-shell{width:calc(100% - 30px)!important}
  .brand{width:132px!important;flex-basis:132px!important}.brand img{width:122px!important;height:auto!important;max-height:62px!important}
  .menu-toggle{display:block!important;margin-left:auto!important;order:3;border:0;background:transparent;padding:8px;cursor:pointer}
  .menu-toggle span{display:block;width:26px;height:2px;background:#244824;margin:5px;border-radius:2px}
  .main-nav{position:absolute!important;left:15px!important;right:15px!important;top:75px!important;height:auto!important;max-height:calc(100vh - 90px);overflow:auto;background:#fffdfa!important;border:1px solid #e6dccd;border-radius:14px;box-shadow:0 18px 45px rgba(31,49,31,.18);display:none!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px!important;gap:0!important}
  .main-nav.open{display:grid!important}.main-nav a{height:45px!important;padding:0 14px!important;font-size:14px!important;font-weight:400!important;border-bottom:1px solid #eee7dc}.main-nav a:after{display:none!important}
  .header-book{margin-left:auto!important;margin-right:12px!important;min-width:150px!important;height:42px!important}
  :root{--pt-gutter:clamp(16px,3vw,38px)}
  .service-grid,.why-grid,.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .legacy-intro-shell{grid-template-columns:1fr!important}
  .legacy-care-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .legacy-care-card{min-height:260px!important}
  .legacy-care-card:nth-child(3),
  .legacy-care-card:nth-child(4),
  .legacy-care-card:nth-child(5){grid-column:auto!important;grid-row:auto!important}
  .guest-reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .faq-main-shell{grid-template-columns:1fr!important}.faq-sidebar{grid-template-columns:1fr 1fr!important}
}

@media(max-width:760px){
  :root{--pt-gutter:16px;--pt-section-y:38px}
  .header-book{display:none!important}.main-nav{grid-template-columns:1fr!important}
  .brand{width:126px!important;flex-basis:126px!important}.brand img{width:118px!important;height:auto!important;max-height:58px!important}
  .hero,.about-hero,.retreat-hero,.pk-hero,.yg-hero,.ac-hero,.food-hero,.gallery-hero,
  .testimonials-hero,.contact-hero,.booking-hero,.upcoming-hero,.team-hero,.faq-hero,.policy-hero,.confirmation-hero{min-height:0!important}
  .hero>img{height:auto!important;width:175%!important;max-width:none!important;transform:translateX(-12%)!important}
  .hero-live-card{display:none}
  .hero-scroll-cue{display:none}
  .hero:before{
    width:100%;
    background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.94) 68%,rgba(0,0,0,.82) 100%);
  }
  .hero{
    height:310px!important;
    min-height:310px!important;
  }
  .hero>img{
    height:100%!important;
    object-fit:cover!important;
  }
  .hero-copy-html{
    left:7.7%;
    top:9.5%;
    width:84%;
  }
  .hero-copy-html h1{
    font-size:clamp(25px,7.9vw,34px)!important;
    line-height:1.08!important;
  }
  .hero-copy-html p{
    margin-top:10px;
    font-size:clamp(10px,2.9vw,12px)!important;
    line-height:1.45!important;
  }
  .hero-actions-html{
    margin-top:16px;
    gap:10px;
  }
  .hero-btn-html{
    min-width:112px;
    height:38px;
    padding:0 12px;
    font-size:12px!important;
    border-radius:7px;
  }
  .hero-btn-html img{width:15px;height:15px}
  .home-assurance{padding-top:12px!important}
  .home-assurance-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:14px}
  .home-assurance span{min-height:58px;padding:12px;font-size:10.5px}
  .home-assurance b{font-size:13px}
  .legacy-intro{padding:38px 0!important}
  .legacy-intro-copy{padding:24px 18px}
  .legacy-intro-copy h2,.legacy-section-title{font-size:28px!important}
  .legacy-pillar-grid,.legacy-care-grid{grid-template-columns:1fr!important}
  .legacy-pillar-card{min-height:0!important}
  .legacy-care-card{min-height:0!important}
  .legacy-care-card:nth-child(3),
  .legacy-care-card:nth-child(4),
  .legacy-care-card:nth-child(5){grid-column:auto!important;grid-row:auto!important}
  .service-grid,.why-grid,.benefit-grid,.program-grid,.room-grid,.menu-grid,.team-grid,.doctors-grid,.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-card,.why-card,.benefit-card{min-height:170px!important}
  .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.experience-grid figure{height:160px!important}
  .story-grid,.guide-grid,.schedule-stay-grid,.ac-welcome,.dining-section,.contact-main-shell{grid-template-columns:1fr!important}.story-image,.guide-grid figure,.welcome-photo,.dining-section>img{height:300px!important}
  .purpose-grid,.details-grid,.ac-details,.faq-grid{grid-template-columns:1fr!important}
  .timeline,.retreat-timeline{grid-template-columns:1fr!important}.timeline:before{left:50%!important;right:auto!important;top:-20px!important;bottom:0!important;width:1px!important;height:auto!important}
  .day-card,.retreat-day{width:min(100%,520px)!important;margin:auto!important}
  .therapy-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:85px!important}.benefits-panel{grid-template-columns:1fr!important;padding:28px 20px!important}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .yg-hero{display:block!important}.yg-hero-copy{padding:44px 20px!important}.yg-hero-photo{height:360px!important}.yg-hero h1{font-size:52px!important}.schedule-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}.teacher-grid,.testimonial-grid{grid-template-columns:1fr!important}
  .ac-hero{display:block!important}.ac-hero-copy{position:relative!important;width:auto!important;padding:42px 20px!important}.ac-hero-photo{height:380px!important}.ac-hero-features{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:calc(100% - 32px)!important;margin:-42px auto 0!important;grid-template-columns:repeat(2,1fr)!important}
  .photo-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-card{height:170px!important}.gallery-filters,.review-filters,.schedule-filters{overflow-x:auto!important;justify-content:flex-start!important;scroll-snap-type:x proximity}.gallery-filter,.review-filter,.schedule-filter{min-width:145px;scroll-snap-align:start}
  .guest-reviews .review-grid{grid-template-columns:1fr!important}.video-review-grid{grid-template-columns:1fr!important}.transformation-panel,.experience-cta{grid-template-columns:1fr!important}
  .package-grid{grid-template-columns:1fr!important}.steps-grid{grid-template-columns:1fr!important}.included-grid{grid-template-columns:repeat(2,1fr)!important}
  .shivir-card{grid-template-columns:1fr!important}.shivir-summary img{width:100%!important;height:250px!important}.booking-benefits{grid-template-columns:repeat(2,1fr)!important}
  .founder-story{grid-template-columns:1fr!important}.founder-story>img{width:100%!important;height:320px!important}.team-card{min-height:280px!important}
  .faq-category-strip{grid-template-columns:repeat(2,1fr)!important}.faq-sidebar{grid-template-columns:1fr!important}.faq-search{grid-template-columns:28px 1fr!important;height:auto!important}.faq-search button{grid-column:1/-1!important;height:46px!important}
  .policy-card-grid{grid-template-columns:1fr!important}.policy-card{min-height:0!important}.policy-hero-copy{position:relative!important;left:auto!important;top:auto!important;width:auto!important;padding:42px 20px!important}.policy-hero-photo{height:350px!important}
  .details-grid,.next-grid{grid-template-columns:1fr!important}.help-section{grid-template-columns:1fr!important;padding:24px!important}.confirmation-cta{grid-template-columns:1fr!important;text-align:center!important}
  .footer-shell,.pk-footer-main,.yg-footer-main,.ac-footer-main,.food-footer-main,.gallery-footer-main,.experience-footer-main,.contact-footer-main,.booking-footer-main,.upcoming-footer-main,.team-footer-main,.faq-footer-main,.policy-footer-main,.confirmation-footer-main{grid-template-columns:1fr!important;height:auto!important;padding-top:30px!important;padding-bottom:30px!important}
  .footer-bottom,.pk-footer-bottom,.yg-footer-bottom,.ac-footer-bottom,.food-footer-bottom,.gallery-footer-bottom,.experience-footer-bottom,.contact-footer-bottom,.booking-footer-bottom,.upcoming-footer-bottom,.team-footer-bottom,.faq-footer-bottom,.policy-footer-bottom,.confirmation-footer-bottom{height:auto!important;min-height:55px!important;padding:16px!important;display:grid!important;gap:8px!important;text-align:center!important}
  [class$="footer-bottom"],.footer-bottom{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
    text-align:center!important;
  }
  [class$="footer-bottom"] > span:first-child,.footer-bottom > span:first-child,
  .footer-credit{justify-self:center!important;text-align:center!important;white-space:normal!important}
  .footer-links{justify-content:center!important}
}

@media(max-width:480px){
  .brand{width:116px!important;flex-basis:116px!important}.brand img{width:108px!important;max-height:54px!important}
  .service-grid,.why-grid,.benefit-grid,.program-grid,.room-grid,.menu-grid,.team-grid,.doctors-grid,.compact-grid,.therapy-grid,.process-grid{grid-template-columns:1fr!important}
  .hero>img{width:205%!important;transform:translateX(-22%)!important}
  .home-assurance-shell{grid-template-columns:1fr!important}
  .legacy-address{align-items:stretch;flex-direction:column}
  .legacy-address a{justify-content:center}
  .experience-grid,.photo-row,.included-grid,.booking-benefits{grid-template-columns:1fr!important}
  .experience-grid figure,.photo-card{height:220px!important}
  .ac-hero-features{grid-template-columns:1fr!important}.schedule-track{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .motion-ready [data-reveal]{opacity:1!important;transform:none!important}
}
.site-header.is-scrolled{box-shadow:0 12px 34px rgba(28,48,29,.15)!important;background:rgba(255,253,249,.98)!important}
/* Keep the baked-in homepage hero copy visible on phones. */
@media(max-width:760px){.hero>img{width:175%!important;transform:none!important;object-position:left center!important}}
@media(max-width:480px){.hero>img{width:175%!important;transform:none!important;object-position:left center!important}}

/* Homepage artwork carries baked-in copy: preserve its full desktop composition. */
@media(min-width:761px){
  .hero{height:auto!important;min-height:0!important;aspect-ratio:1086/340!important;overflow:hidden!important}
  .hero>img{width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;object-position:center!important;transform:none!important}
}
/* Real website interaction: depth on hover without compromising layout. */
@media(hover:hover) and (pointer:fine){
  .service-card,.why-card,.benefit-card,.therapy-card,.program-card,.room-card,.team-card,.package-card,.shivir-card,.policy-card,.review-card,.photo-card{transform-style:preserve-3d;will-change:transform}
  .pt-tilt{transform:perspective(900px) rotateX(var(--pt-rx,0deg)) rotateY(var(--pt-ry,0deg)) translateY(-5px)!important;box-shadow:0 24px 48px rgba(32,58,36,.15)!important}
}
/* Keep programme cards informative and compact on wide screens. */
@media(min-width:761px){
  .package-card{min-height:350px!important}
  .package-card p{flex:0 1 auto!important;min-height:72px!important}
  .package-card b{margin-top:auto!important}
}

/* Shared footer include: one managed markup pattern across all public pages. */
.footer.booking-footer,
.footer.pk-footer,
.footer.yg-footer,
.footer.ac-footer,
.footer.food-footer,
.footer.gallery-footer,
.footer.experience-footer,
.footer.contact-footer,
.footer.upcoming-footer,
.footer.team-footer,
.footer.faq-footer,
.footer.policy-footer,
.footer.confirmation-footer,
.footer.pd-footer{
  background:#143d20!important;
  color:#fff!important;
  padding:0!important;
}
.footer .footer-shell{
  width:min(calc(100% - 2 * var(--pt-gutter)),var(--pt-max))!important;
  margin:0 auto!important;
  padding:36px 0 30px!important;
  display:grid!important;
  grid-template-columns:1.35fr .9fr .9fr 1.15fr!important;
  gap:clamp(24px,3vw,56px)!important;
  align-items:start!important;
}
.footer .footer-shell section,
.footer .footer-shell nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
}
.footer .footer-shell h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(15px,1.1vw,18px)!important;
  line-height:1.2!important;
}
.footer .footer-shell a,
.footer .footer-shell p{
  color:rgba(255,255,255,.86)!important;
  font-size:13px!important;
  line-height:1.55!important;
  text-decoration:none!important;
  margin:0!important;
}
.footer .footer-shell a:hover{color:#f5c85f!important}
.footer .footer-brand img{
  width:150px!important;
  height:auto!important;
  max-height:96px!important;
  object-fit:contain!important;
}
.footer .footer-brand p{max-width:330px!important}
.footer .socials{
  display:flex!important;
  flex-direction:row!important;
  gap:9px!important;
  margin-top:7px!important;
}
.footer .socials a{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:12px!important;
}
.footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.14)!important;
  padding:14px var(--pt-gutter)!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:12px!important;
  text-align:center!important;
}
.footer .footer-links,
.footer .footer-credit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.footer .footer-bottom a{color:#fff!important;text-decoration:none!important}
.footer .footer-bottom a:hover{color:#f5c85f!important}

@media(max-width:900px){
  .footer .footer-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
  .footer .footer-shell{
    grid-template-columns:1fr!important;
    padding:30px 0!important;
    text-align:center!important;
  }
  .footer .footer-shell section,
  .footer .footer-shell nav,
  .footer .footer-brand{
    align-items:center!important;
  }
  .footer .footer-brand p{max-width:100%!important}
}

/* Final typography normalization across old page-specific CSS files. */
:root{
  --pt-type-body:15px;
  --pt-type-small:13px;
  --pt-type-caption:12px;
  --pt-type-nav:14px;
  --pt-type-footer:13px;
  --pt-type-button:13px;
  --pt-type-h2:32px;
  --pt-type-h3:20px;
}
body,
button,
input,
select,
textarea{
  font-family:Arial,Helvetica,sans-serif!important;
}
.main-nav a,
.about-page .main-nav a,.retreat-page .main-nav a,.panchakarma-page .main-nav a,
.yoga-page .main-nav a,.accommodation-page .main-nav a,.food-page .main-nav a,
.gallery-page .main-nav a,.testimonials-page .main-nav a,.contact-page .main-nav a,
.booking-page .main-nav a,.upcoming-page .main-nav a,.team-page .main-nav a,
.faq-page .main-nav a,.policies-page .main-nav a,.policy-detail-page .main-nav a,
.confirmation-page .main-nav a{
  font-size:var(--pt-type-nav)!important;
  line-height:1.2!important;
  font-weight:400!important;
  text-transform:none!important;
}
.header-book,
.about-page .header-book,.retreat-page .header-book,.panchakarma-page .header-book,
.yoga-page .header-book,.accommodation-page .header-book,.food-page .header-book,
.gallery-page .header-book,.testimonials-page .header-book,.contact-page .header-book,
.booking-page .header-book,.upcoming-page .header-book,.team-page .header-book,
.faq-page .header-book,.policies-page .header-book,.policy-detail-page .header-book,
.confirmation-page .header-book{
  font-size:var(--pt-type-button)!important;
  line-height:1.2!important;
  text-transform:none!important;
}
main p,
main li,
main label,
main input,
main select,
main textarea,
.service-card p,
.day-card p,
.why-card p,
.purpose-card span,
.about-step p,
.benefit-card p,
.retreat-day p,
.therapy-card p,
.process-step p,
.program-card p,
.schedule-item p,
.science-item p,
.teacher-card p,
.room-body p,
.menu-copy p,
.ingredient-card p,
.review-card-v2 p,
.policy-card p,
.faq-item p,
.team-card p,
.shivir-card p,
.contact-form-card p,
.contact-info-card p,
.package-card p,
.steps-grid p,
.included-grid strong,
.details-grid strong,
.next-grid p,
.story-copy>p:not(.about-kicker),
.guide-copy>p:not(.about-kicker),
.intro-copy p:not(.section-label),
.faq-answer p,
.review-card>p,
.testimonial-card>p{
  font-size:var(--pt-type-body)!important;
  line-height:1.65!important;
  letter-spacing:0!important;
}
main small,
.breadcrumb a,.breadcrumb b,
.section-kicker,
.about-kicker,
.section-title p,
.hero-values strong,
.hero-help,
.booking-meta,
.booking-phone small,
.booking-phone span,
.gold-button small,
.price-note,
.data-safe,.secure-note,
.teacher-card strong,
.teacher-card small,
.reviewer span,
.test-person small,
.details-grid span,
.included-grid strong{
  font-size:var(--pt-type-small)!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.section-title,
.section-title h2,
.journey h2,
.experiences h2,
.reviews h2,
.science-card h2,
.confirmation-section-title h2,
.policy-section-title h2,
.team-section-title h2,
.schedule-heading h2{
  font-size:var(--pt-type-h2)!important;
  line-height:1.22!important;
}
main h3,
.service-card h3,
.day-card h3,
.why-card h3,
.purpose-card h3,
.about-step h3,
.program-card h3,
.therapy-card h3,
.room-body h3,
.menu-copy h3,
.teacher-card h3,
.package-card h3,
.steps-grid h3,
.next-grid h3,
.policy-card h3,
.faq-item h3,
.team-card h3{
  font-size:var(--pt-type-h3)!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}
.booking-form label,
.booking-form input,
.booking-form select,
.booking-form textarea,
.booking-form .radio-row span,
.booking-alert,
.review-box span,
.review-box strong{
  font-size:14px!important;
  line-height:1.45!important;
}
.next-step,
.prev-step,
.submit-booking,
.package-card button,
.booking-cta>a,
.outline-button,
.cta-button b,
.contact-form-card button,
.gallery-filter,
.review-filter,
.schedule-filter{
  font-size:var(--pt-type-button)!important;
  line-height:1.2!important;
  text-transform:none!important;
}
.footer .footer-shell a,
.footer .footer-shell p,
.footer .footer-bottom,
.footer .footer-bottom a,
.footer-links a,
[class$="footer-bottom"] .footer-links a,
.footer-bottom .footer-links a{
  font-size:var(--pt-type-footer)!important;
  line-height:1.55!important;
}
.footer .footer-shell h3,
.footer h3,
.yg-footer h3,
.booking-footer h3,
.confirmation-footer h3{
  font-size:18px!important;
  line-height:1.25!important;
}

@media(max-width:760px){
  :root{
    --pt-type-body:14px;
    --pt-type-small:12px;
    --pt-type-nav:14px;
    --pt-type-footer:13px;
    --pt-type-button:13px;
    --pt-type-h2:26px;
    --pt-type-h3:18px;
  }
  .main-nav a,
  .about-page .main-nav a,.retreat-page .main-nav a,.panchakarma-page .main-nav a,
  .yoga-page .main-nav a,.accommodation-page .main-nav a,.food-page .main-nav a,
  .gallery-page .main-nav a,.testimonials-page .main-nav a,.contact-page .main-nav a,
  .booking-page .main-nav a,.upcoming-page .main-nav a,.team-page .main-nav a,
  .faq-page .main-nav a,.policies-page .main-nav a,.policy-detail-page .main-nav a,
  .confirmation-page .main-nav a{
    min-height:46px!important;
    height:auto!important;
  }
}

/* Keep the shared desktop navigation fitted before the tablet menu breakpoint. */
@media(min-width:1181px) and (max-width:1380px){
  .site-header .header-shell{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
  .site-header .brand{width:132px!important;flex-basis:132px!important}
  .site-header .brand img{width:126px!important}
  .site-header .main-nav{flex:0 1 auto!important;gap:8px!important;margin:0 auto!important}
  html[lang="hi"] .site-header .main-nav{gap:12px!important}
  .site-header .main-nav a{font-size:14px!important;font-weight:400!important;white-space:nowrap!important}
  .site-header .header-book{width:146px!important;min-width:146px!important;font-size:12px!important}
}

@media(min-width:1381px){
  .site-header .main-nav{gap:clamp(9px,.75vw,16px)!important}
  .site-header .main-nav a{font-size:14px!important;font-weight:400!important;white-space:nowrap!important}
}

/* Final desktop header fit: readable nav without crowding or overlap. */
@media(min-width:1181px){
  .site-header .header-shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .site-header .brand{
    width:148px!important;
    flex-basis:148px!important;
  }
  .site-header .brand img{
    width:140px!important;
    max-height:68px!important;
  }
  .site-header .main-nav{
    flex:0 0 auto!important;
    gap:8px!important;
    margin:0 auto!important;
  }
  html[lang="hi"] .site-header .main-nav{
    gap:14px!important;
  }
  .site-header .main-nav a{
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.18!important;
    white-space:nowrap!important;
  }
  .site-header .lang-switcher{
    margin-right:6px!important;
    padding:4px 7px!important;
  }
  .site-header .lang-btn{
    padding:2px 6px!important;
  }
  .site-header .header-book{
    width:160px!important;
    min-width:160px!important;
    font-size:13px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    padding-left:12px!important;
    padding-right:12px!important;
    gap:6px!important;
  }
  .site-header .header-book img{
    width:14px!important;
    height:14px!important;
    margin-left:2px!important;
    flex:0 0 auto!important;
  }
}

/* Seamless Full-Bleed Section Background Harmonization Across Entire Site */
body:not(.about-page):not(.retreat-page) .principles,
body:not(.about-page):not(.retreat-page) .journey,
body:not(.about-page):not(.retreat-page) .experiences,
body:not(.about-page):not(.retreat-page) .reviews,
body:not(.about-page):not(.retreat-page) .legacy-intro,
body:not(.about-page):not(.retreat-page) .home-assurance,
body:not(.about-page):not(.retreat-page) .booking-band,
body:not(.about-page):not(.retreat-page) .content-shell,
body:not(.about-page):not(.retreat-page) .home-assurance-shell,
body:not(.about-page):not(.retreat-page) .legacy-intro-shell,
body:not(.about-page):not(.retreat-page) .journey-shell,
body:not(.about-page):not(.retreat-page) .gallery-shell,
body:not(.about-page):not(.retreat-page) .review-shell,
body:not(.about-page):not(.retreat-page) .booking-shell,
body:not(.about-page):not(.retreat-page) .panchkarma-shell,
body:not(.about-page):not(.retreat-page) .yg-shell,
body:not(.about-page):not(.retreat-page) .food-shell,
body:not(.about-page):not(.retreat-page) .exhibition-shell,
body:not(.about-page):not(.retreat-page) .testimonial-shell,
body:not(.about-page):not(.retreat-page) .contact-shell,
body:not(.about-page):not(.retreat-page) .upcoming-shell {
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Global Dark Forest Green CTA Banner Styling - Absolute Priority */
.contact-cta {
  width: min(calc(100% - 2 * var(--pt-gutter, 24px)), 1360px) !important;
  margin: 20px auto 30px auto !important;
  padding: 28px 36px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background-color: #17472f !important;
  background-image: linear-gradient(135deg, #17472f 0%, #0e3c29 100%) !important;
  color: #ffffff !important;
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1.2fr !important;
  align-items: center !important;
  gap: 24px !important;
  box-shadow: 0 20px 45px rgba(14, 60, 41, 0.3) !important;
  box-sizing: border-box !important;
}

/* Fix spacing between Panchtatva Ashram Parichay and pillar cards */
.legacy-intro {
  display: flex !important;
  flex-direction: column !important;
  gap: 36px !important;
}

.legacy-intro-copy {
  padding: 32px 36px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  border: 1px solid #e4d7c1 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
}

.legacy-pillar-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

.legacy-pillar-card {
  padding: 24px 18px !important;
  border: 1px solid #e4d7c1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04) !important;
  text-align: center !important;
  transition: transform 0.3s ease, border-color 0.3s ease !important;
}

.legacy-pillar-card:hover {
  transform: translateY(-5px) !important;
  border-color: #c69a39 !important;
}

/* Global Dark Forest Green CTA Banner Styling - High Specificity */
section.sec-bg-cta .contact-cta,
div.contact-cta,
.contact-cta {
  width: min(calc(100% - 2 * var(--pt-gutter, 24px)), 1360px) !important;
  margin: 15px auto 25px auto !important;
  padding: 28px 36px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #17472f !important;
  background: linear-gradient(135deg, #17472f 0%, #0e3c29 100%) !important;
  color: #ffffff !important;
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1.2fr !important;
  align-items: center !important;
  gap: 24px !important;
  box-shadow: 0 16px 40px rgba(14, 60, 41, 0.25) !important;
  box-sizing: border-box !important;
}

section.sec-bg-cta .contact-cta .cta-copy,
.contact-cta .cta-copy {
  padding-right: 20px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
}

section.sec-bg-cta .contact-cta .cta-copy h2,
.contact-cta .cta-copy h2 {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: 22px !important;
  color: #fff6dc !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
}

section.sec-bg-cta .contact-cta .cta-copy p,
.contact-cta .cta-copy p {
  font-size: 13px !important;
  color: #e8ba4b !important;
  font-weight: 600 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

section.sec-bg-cta .contact-cta .cta-points,
.contact-cta .cta-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

section.sec-bg-cta .contact-cta .cta-points span,
.contact-cta .cta-points span {
  padding-left: 10px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #e8e4dc !important;
  font-size: 11px !important;
}

section.sec-bg-cta .contact-cta .cta-points b,
.contact-cta .cta-points b {
  display: block !important;
  color: #f5c46b !important;
  font-size: 12.5px !important;
}

section.sec-bg-cta .contact-cta .cta-action button,
.contact-cta .cta-action button {
  height: 48px !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
}

section.sec-bg-cta .contact-cta .cta-action button > span,
.contact-cta .cta-action button > span {
  display: inline-flex !important;
  width: 100% !important;
  height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, #f5c46b, #d9962a) !important;
  color: #1e1302 !important;
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 24px rgba(201, 136, 42, 0.4) !important;
  transition: all 0.3s ease !important;
}

.contact-cta .cta-copy {
  padding-right: 20px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
}

:root {
  --pt-color-primary: #1b432a;
  --pt-color-primary-dark: #0f2c1f;
  --pt-color-accent: #c69a39;
  --pt-color-gold-glow: #f5c46b;
  --pt-color-sand: #faf4e8;
  --pt-color-sage: #edf4ea;
  --pt-color-text-dark: #1e2420;
  --pt-color-text-muted: #5a665e;

  --pt-font-serif: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif;
  --pt-font-sans: 'Noto Sans Devanagari', -apple-system, BlinkMacSystemFont, sans-serif;

  --pt-max-width: 1360px;
}

/* Force 100% Full-Width Layout Across Entire Site */
html,
body,
body.home-page,
body.about-page,
body.retreat-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  background-color: #fffaf3 !important;
}

.contact-cta .cta-copy h2 {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: 22px !important;
  color: #fff6dc !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
}

.contact-cta .cta-copy p {
  font-size: 13px !important;
  color: #e8ba4b !important;
  font-weight: 600 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.contact-cta {
  width: min(calc(100% - 2 * var(--pt-gutter, 24px)), 1360px) !important;
  margin: 10px auto 15px auto !important;
  padding: 26px 36px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #17472f 0%, #0e3c29 100%) !important;
  color: #ffffff !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(460px, 1.8fr) minmax(220px, 0.9fr) !important;
  align-items: center !important;
  gap: 28px !important;
  box-shadow: 0 16px 40px rgba(14, 60, 41, 0.25) !important;
  box-sizing: border-box !important;
}

.contact-cta .cta-copy {
  padding-right: 24px !important;
  border-right: none !important;
}

/* Ultra-precise cta-col layout without any span border leakage */
.contact-cta .cta-points {
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: 24px !important;
  border: none !important;
  width: 100% !important;
}

.contact-cta .cta-col,
.contact-cta .cta-point-item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-left: 22px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  white-space: nowrap !important;
}

.contact-cta .cta-col:first-child,
.contact-cta .cta-point-item:first-child {
  border-left: none !important;
  padding-left: 0 !important;
}

.contact-cta .cta-col b,
.contact-cta .cta-point-item b {
  display: block !important;
  color: #f5c46b !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  border: none !important;
  white-space: nowrap !important;
}

.contact-cta .cta-col .cta-val,
.contact-cta .cta-col p,
.contact-cta .cta-col span,
.contact-cta .cta-point-item span {
  display: block !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  white-space: nowrap !important;
}

.contact-cta .cta-action button {
  height: 48px !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.contact-cta .cta-action button > span {
  display: inline-flex !important;
  width: 100% !important;
  height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, #f5c46b, #d9962a) !important;
  color: #1e1302 !important;
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 24px rgba(201, 136, 42, 0.4) !important;
  transition: all 0.3s ease !important;
}

.contact-cta .cta-action button > span:hover {
  transform: translateY(-2px) scale(1.03) !important;
  background: linear-gradient(135deg, #fcd580, #e6a233) !important;
  box-shadow: 0 12px 32px rgba(201, 136, 42, 0.55) !important;
}

/* ==========================================================================
   ULTRA-PREMIUM REGAL NARAYANA SEWA SECTION (PanchTatva Aashram)
   ========================================================================== */
.sec-narayana-sewa {
  padding: 70px 0 !important;
  background: radial-gradient(circle at 50% 20%, #154230 0%, #0a291d 60%, #061c13 100%) !important;
  color: #ffffff !important;
  border-top: 3px solid #d4af37 !important;
  border-bottom: 3px solid #d4af37 !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.4) !important;
}

.sec-narayana-sewa::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: url('../images/pattern-gold.png') center/cover repeat !important;
  opacity: 0.05 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.narayana-shell {
  position: relative !important;
  z-index: 2 !important;
  width: min(calc(100% - 2 * var(--pt-gutter, 24px)), 1240px) !important;
  margin: 0 auto !important;
}

.narayana-header {
  text-align: center !important;
  max-width: 860px !important;
  margin: 0 auto 40px auto !important;
}

.narayana-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 7px 22px !important;
  border-radius: 30px !important;
  background: rgba(212, 175, 55, 0.15) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  color: #f7d57f !important;
  font-family: 'Marcellus', 'Noto Serif Devanagari', Georgia, serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

.narayana-header h2 {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}

.narayana-header h2 .gold-accent {
  background: linear-gradient(135deg, #ffe082 0%, #d4af37 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 700 !important;
}

.narayana-header p.sub-lead {
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 15.5px !important;
  color: #d1e2d9 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Vivekananda Featured Quote Box - Regal Gold Glass Container */
.narayana-quote-banner {
  position: relative !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  border-left: 6px solid #d4af37 !important;
  border-radius: 24px !important;
  padding: 32px 40px !important;
  margin-bottom: 40px !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
  display: grid !important;
  grid-template-columns: 90px 1fr !important;
  gap: 28px !important;
  align-items: center !important;
}

.narayana-quote-avatar {
  width: 90px !important;
  height: 90px !important;
  border-radius: 50% !important;
  border: 3px solid #d4af37 !important;
  padding: 4px !important;
  background: #0d3624 !important;
  object-fit: cover !important;
  box-shadow: 0 8px 24px rgba(212, 175, 55, 0.35) !important;
}

.narayana-quote-body blockquote {
  margin: 0 !important;
  padding: 0 !important;
}

.narayana-quote-body p.main-quote {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: 18.5px !important;
  font-weight: 600 !important;
  color: #fff6e0 !important;
  line-height: 1.7 !important;
  margin: 0 0 10px 0 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.narayana-quote-body p.sub-quote {
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 15px !important;
  color: #f7d57f !important;
  font-weight: 600 !important;
  margin: 0 0 8px 0 !important;
}

.narayana-quote-body cite {
  font-style: normal !important;
  font-family: 'Marcellus', 'Noto Serif Devanagari', serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #e5be5a !important;
  display: block !important;
  letter-spacing: 0.5px !important;
}

/* 3-Column Luxury Concept Cards Grid */
.narayana-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}

.narayana-card {
  background: #ffffff !important;
  border: 1px solid #e7d6b8 !important;
  border-top: 5px solid #d4af37 !important;
  border-radius: 20px !important;
  padding: 30px 26px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
  display: flex !important;
  flex-direction: column !important;
  color: #172c21 !important;
}

.narayana-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.4) !important;
  border-color: #d4af37 !important;
}

.narayana-card-icon {
  width: 54px !important;
  height: 54px !important;
  margin-bottom: 18px !important;
  padding: 11px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #fff5dc, #f7e4b5) !important;
  border: 2px solid #d4af37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 16px rgba(212, 175, 55, 0.3) !important;
}

.narayana-card-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.narayana-card h3 {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0c3322 !important;
  margin: 0 0 12px 0 !important;
}

.narayana-card p {
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #384d41 !important;
  margin: 0 0 18px 0 !important;
  flex: 1 1 auto !important;
}

.narayana-card .callout-box {
  background: linear-gradient(135deg, #fff7e8, #fdf0d5) !important;
  border: 1px dashed #dcb252 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-top: auto !important;
  box-shadow: inset 0 2px 6px rgba(212, 175, 55, 0.1) !important;
}

.narayana-card .callout-box p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #70470b !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

/* High-Impact Dedicated Highlight Card for Shivir Expenses & Contribution */
.narayana-highlight-banner {
  margin-top: 36px !important;
  background: linear-gradient(135deg, #fff8ea 0%, #f7e6c4 100%) !important;
  border: 2px solid #d4af37 !important;
  border-radius: 24px !important;
  padding: 32px 38px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25) !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 28px !important;
  align-items: center !important;
}

.narayana-highlight-banner h4 {
  font-family: 'Noto Serif Devanagari', 'Marcellus', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0b3323 !important;
  margin: 0 0 8px 0 !important;
}

.narayana-highlight-banner p {
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: #63400a !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.narayana-highlight-banner a.banner-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px 28px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, #0e3f2a, #174f37) !important;
  border: 1px solid #d4af37 !important;
  color: #ffe8ab !important;
  font-family: 'Noto Sans Devanagari', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 22px rgba(14, 63, 42, 0.4) !important;
  transition: all 0.3s ease !important;
}

.narayana-highlight-banner a.banner-btn:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #144f36, #1d6b4b) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(14, 63, 42, 0.55) !important;
}

@media (max-width: 900px) {
  .narayana-grid {
    grid-template-columns: 1fr !important;
  }
  .narayana-quote-banner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 26px 20px !important;
  }
  .narayana-quote-avatar {
    margin: 0 auto !important;
  }
  .narayana-highlight-banner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 26px 20px !important;
  }
  .narayana-highlight-banner a.banner-btn {
    width: 100% !important;
  }
}
