:root{
  --ivory:#FAF6EE;--parchment:#F2EAD3;--warm:#EDE0C4;
  --saffron:#D4621A;--saffron-h:#B85018;--amber-color:#D97706;
  --forest:#1C3D2A;--forest-m:#254D36;--forest-l:#2E6044;
  --gold:#C49030;--gold-lt:#E0B84A;
  --charcoal:#28231E;--warm-mid:#6B5E50;--warm-lt:#A89880;--faint:#D4C4AC;
  --white:#FFFEFB;--red:#DC2626;
  --f-d:'Cormorant',Georgia,serif;--f-b:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:17px;}
body{font-family:var(--f-b);font-size:1rem;background:var(--ivory);color:var(--charcoal);overflow-x:hidden;line-height:1.65;}

/* ════════════════════════════
   HERO
════════════════════════════ */
.hero{
  position:relative;
  height:100vh;
  min-height:600px;
  max-height:860px;        /* FIX 4: stop it stretching too tall */
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;overflow:hidden;}
.hero-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center var(--hero-focus-y, 50%);  /* FIX: focus point now comes from admin per-image setting, not a fixed number */
  display:block;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    105deg,
    rgba(8,20,12,.82) 0%,
    rgba(8,20,12,.65) 38%,
    rgba(8,20,12,.20) 65%,
    rgba(8,20,12,.10) 100%
  );
}
.hero-sunrise{position:absolute;bottom:-10%;left:50%;transform:translateX(-50%);width:160%;height:70%;background:radial-gradient(ellipse at 50% 100%,rgba(212,98,26,.18) 0%,rgba(201,151,42,.08) 35%,transparent 65%);pointer-events:none;}
.hero-sanskrit{position:absolute;right:4%;top:50%;transform:translateY(-50%);font-family:var(--f-d);font-size:clamp(6rem,10vw,11rem);color:rgba(255,255,255,.035);user-select:none;pointer-events:none;line-height:1;}

/* FIX 1: Hero content — bottom-left, clear of image subjects */
.hero-content{
  position:relative;
  z-index:2;
  padding:0 56px;
  max-width:640px;
  /* push text to bottom-left quadrant so subjects (right side) are visible */
  margin-top:auto;
  padding-bottom:120px;   /* space above trust bar */
  align-self:flex-end;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(8px);
  margin-bottom:22px;
}
.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-lt);animation:bdot 2.2s ease infinite;flex-shrink:0;}
@keyframes bdot{0%,100%{box-shadow:0 0 6px rgba(232,149,42,.6)}50%{box-shadow:0 0 18px rgba(232,149,42,.9)}}
.hero-badge span{font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.88);}

.hero h1{
  font-family:var(--f-d);
  font-size:clamp(3rem,6.5vw,6rem);
  font-weight:300;
  line-height:.9;
  letter-spacing:-.02em;
  color:var(--white);
}
.h1-italic{font-style:italic;color:var(--gold-lt);display:block;}
.h1-ghost{-webkit-text-stroke:1px rgba(255,255,255,.28);color:transparent;display:block;}

.hero-sub{
  margin-top:20px;
  font-family:var(--f-d);
  font-size:1.05rem;font-style:italic;
  color:rgba(255,255,255,.58);
  line-height:1.75;
  max-width:400px;
}

/* FIX 2: Hero action buttons — both solid, properly visible */
.hero-actions{
  margin-top:32px;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.btn-saffron{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--saffron);color:var(--white);
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 28px;border-radius:2px;text-decoration:none;
  transition:background .25s,transform .2s,box-shadow .25s;
  white-space:nowrap;
}
.btn-saffron:hover{background:var(--saffron-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,98,26,.35);}
.arr{transition:transform .3s var(--ease);}
.btn-saffron:hover .arr{transform:translateX(4px);}

/* Apply Now — solid outlined, always visible */
.btn-ghost-w{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.45);
  padding:13px 24px;border-radius:2px;
  text-decoration:none;
  transition:background .2s,border-color .2s;
  white-space:nowrap;
}
.btn-ghost-w:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.7);}

/* FIX 3+4: TRUST BAR — compact, RYS logos fixed */
.hero-bar{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(250,246,238,.96);
  backdrop-filter:blur(20px);
  border-top:2px solid var(--saffron);
}
.hb{padding:16px 20px;border-right:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:12px;}
.hb:last-child{border-right:none;}
.hb-num{font-family:var(--f-d);font-size:2rem;font-weight:400;color:var(--saffron);line-height:1;flex-shrink:0;}
.hb-num sup{font-size:.8rem;}
.hb-lbl{font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--charcoal);}
.hb-sub{font-size:.66rem;color:var(--warm-lt);margin-top:1px;}

/* RYS Logos — transparent PNG, teal on cream bar, no filter needed */
.hb-logos{display:flex;align-items:center;gap:14px;justify-content:center;width:100%;}
.hb-logos img{
  height:60px;width:auto;
  display:block;
  filter:none;
  mix-blend-mode:normal;
  background:transparent;
}

/* ═══ NAV fallback (overridden by header.php inline styles) ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 40px;height:82px;display:flex;align-items:center;justify-content:space-between;transition:all .4s var(--ease);}
nav.on{padding:0 40px;background:rgba(250,246,238,.97);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.07);height:68px;}
.logo-name{font-family:var(--f-d);font-size:1.2rem;font-weight:500;color:var(--white);transition:color .3s;}
nav.on .logo-name{color:var(--forest);}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s;position:relative;}
nav.on .nav-links a{color:var(--warm-mid);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--saffron);transition:width .3s var(--ease);}
.nav-links a:hover{color:var(--saffron) !important;}
.nav-links a:hover::after{width:100%;}
.nav-cta{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:var(--saffron);padding:10px 22px;border-radius:2px;text-decoration:none;transition:background .2s,transform .2s;}
.nav-cta:hover{background:var(--saffron-h);transform:translateY(-1px);}
.nav-hamburger{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:4px;}
nav.on .nav-hamburger{color:var(--charcoal);}
a.cc{display:block;text-decoration:none;color:inherit;}

/* ═══ TICKER ═══ */
.ticker{background:var(--forest);overflow:hidden;padding:11px 0;}
.ticker-track{display:inline-flex;animation:tick 35s linear infinite;white-space:nowrap;}
.t-item{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);padding:0 28px;}
.t-dot{color:var(--gold);padding:0 4px;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══ ABOUT ═══ */
.about{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.about-img{position:relative;min-height:520px;background:url('https://images.unsplash.com/photo-1599901860904-17e6ed7083a0?w=900&q=85') center/cover;}
.about-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,var(--parchment) 100%);}
.about-img::before{content:'तत्त्वमसि';position:absolute;bottom:24px;left:24px;z-index:2;font-family:var(--f-d);font-size:1.2rem;letter-spacing:.06em;color:rgba(255,255,255,.28);font-style:italic;}
.about-txt{background:var(--parchment);padding:80px 60px;display:flex;flex-direction:column;justify-content:center;}
.about-txt p{font-family:var(--f-d);font-size:1.08rem;font-style:italic;line-height:1.9;color:var(--warm-mid);margin-top:20px;max-width:440px;}
.lin{display:flex;gap:0;margin-top:40px;border-top:1px solid var(--faint);padding-top:32px;}
.lc{flex:1;padding:0 20px;border-right:1px solid var(--faint);}
.lc:first-child{padding-left:0;}.lc:last-child{border-right:none;}
.lc-v{font-family:var(--f-d);font-size:2.4rem;font-weight:400;color:var(--saffron);line-height:1;}
.lc-l{font-size:.63rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-lt);margin-top:4px;}

/* ═══ EYEBROW & H2 ═══ */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--saffron);margin-bottom:14px;}
.eyebrow::before{content:'';display:block;width:22px;height:2px;background:var(--saffron);flex-shrink:0;}
h2.D{font-family:var(--f-d);font-size:clamp(2.4rem,4vw,4rem);font-weight:300;line-height:1.08;letter-spacing:-.02em;color:var(--forest);}
h2.D em{font-style:italic;color:var(--saffron);}

/* ═══ COURSES ═══ */
.courses{padding:88px 56px;background:var(--ivory);}
.sh2{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}
.link-s{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--saffron);text-decoration:none;border-bottom:1px solid rgba(212,98,26,.3);padding-bottom:2px;}
.link-s:hover{border-color:var(--saffron);}
.course-grid{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr 1fr;gap:3px;height:600px;}
.cc{position:relative;overflow:hidden;cursor:pointer;}
.cc.big{grid-row:1/3;}
.cc-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--ease);}
.cc:hover .cc-bg{transform:scale(1.04);}
.cc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,61,42,.95) 0%,rgba(26,61,42,.18) 60%,transparent 100%);transition:background .4s;}
.cc:hover .cc-ov{background:linear-gradient(to top,rgba(26,61,42,.98) 0%,rgba(26,61,42,.5) 70%,rgba(26,61,42,.05) 100%);}
.cc-body{position:absolute;bottom:0;left:0;right:0;padding:28px 24px;}
.cc-badge{display:inline-block;background:var(--saffron);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:4px 10px;margin-bottom:8px;}
.cc-badge.amb{background:var(--gold);}
.cc h3{font-family:var(--f-d);font-size:2rem;font-weight:300;color:#fff;line-height:1.15;}
.cc.sm h3{font-size:1.5rem;}
.cc-meta{font-size:.72rem;color:rgba(255,255,255,.5);margin:5px 0 10px;}
.cc-price{font-family:var(--f-d);font-size:1.45rem;font-weight:400;color:var(--gold-lt);}
.cc-arr{position:absolute;top:18px;right:18px;width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.82rem;transform:rotate(-45deg);transition:all .35s var(--ease);}
.cc:hover .cc-arr{background:var(--saffron);border-color:var(--saffron);color:#fff;transform:rotate(0);}

/* ═══ ASHRAM DAY ═══ */
.ashram-day{padding:88px 56px;background:var(--forest);position:relative;overflow:hidden;}
.ashram-day::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(212,98,26,.15) 0%,transparent 60%);pointer-events:none;}
.ashram-day .eyebrow::before{background:var(--gold-lt);}
.ashram-day .eyebrow{color:var(--gold-lt);}
.ashram-day h2.D{color:var(--white);}
.ashram-day h2.D em{color:var(--gold-lt);}
.day-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:48px;position:relative;z-index:1;}
.day-intro{font-family:var(--f-d);font-size:1.1rem;font-style:italic;line-height:1.9;color:rgba(255,255,255,.5);max-width:420px;}
.day-intro strong{color:var(--gold-lt);font-style:normal;font-weight:400;}
.timeline{position:relative;}
.timeline::before{content:'';position:absolute;left:15px;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--gold-lt),rgba(212,98,26,.2));}
.te{display:flex;gap:22px;margin-bottom:24px;opacity:0;transform:translateX(-20px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.te.vis{opacity:1;transform:translateX(0);}
.te-dot{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--forest);border:1px solid rgba(212,98,26,.4);display:flex;align-items:center;justify-content:center;font-size:.9rem;margin-top:2px;}
.te-time{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:2px;}
.te-title{font-family:var(--f-d);font-size:1.05rem;font-weight:400;color:var(--white);margin-bottom:2px;}
.te-desc{font-size:.78rem;color:rgba(255,255,255,.42);line-height:1.55;}

/* ═══ BATCHES ═══ */
.batches{padding:88px 56px;background:var(--ivory);}
.b-list{margin-top:48px;display:flex;flex-direction:column;gap:3px;}
.brow{display:grid;grid-template-columns:180px 1fr 130px 130px 150px 170px;align-items:center;gap:14px;padding:18px 22px;background:var(--white);border:1px solid rgba(0,0,0,.05);transition:background .25s,border-color .25s;}
.brow:hover{background:var(--parchment);border-color:rgba(212,98,26,.12);}
.bd{font-family:var(--f-d);font-size:1.05rem;font-weight:400;color:var(--forest);}
.bd small{display:block;font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-lt);margin-top:2px;font-family:var(--f-b);}
.bn{font-size:.86rem;font-weight:600;color:var(--charcoal);}
.bn small{display:block;font-size:.7rem;font-weight:400;color:var(--warm-mid);margin-top:1px;}
.bloc{font-size:.78rem;color:var(--warm-mid);}
.bseats{font-size:.76rem;}
.bpill{display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:1px;}
.po{background:rgba(28,61,42,.07);color:var(--forest);}
.pf{background:rgba(212,98,26,.1);color:var(--saffron-h);}
.bpc{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.bprice{font-family:var(--f-d);font-size:1.25rem;font-weight:400;color:var(--saffron);}
.bapply{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--saffron);padding:8px 14px;border-radius:2px;text-decoration:none;white-space:nowrap;border:none;cursor:pointer;transition:background .2s;}
.bapply:hover{background:var(--saffron-h);}

/* ═══ TESTIMONIALS ═══ */
.testi{padding:88px 56px;background:var(--parchment);}
.t-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}
.t-rating{text-align:right;}
.t-stars{font-size:.95rem;color:var(--gold);letter-spacing:2px;}
.t-rating p{font-size:.72rem;color:var(--warm-mid);margin-top:4px;}
.t-mosaic{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:3px;}
.tc{background:var(--white);border:1px solid rgba(0,0,0,.04);padding:28px 24px;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;}
.tc:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.07);}
.tc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.tc:hover::before{transform:scaleX(1);}
.tc.feat{grid-row:1/3;background:var(--forest);border-color:transparent;}
.tc.feat .tc-text{color:rgba(255,255,255,.72);font-size:1.05rem;}
.tc.feat .tc-name{color:#fff;}
.tc.feat .tc-loc{color:rgba(255,255,255,.42);}
.tc.feat .tc-stars{color:var(--gold-lt);}
.tc.feat .tc-author{border-top-color:rgba(255,255,255,.1);}
.tc-stars{color:var(--saffron);font-size:.82rem;letter-spacing:2px;margin-bottom:12px;}
.tc-text{font-family:var(--f-d);font-size:.96rem;font-style:italic;line-height:1.85;color:var(--warm-mid);}
.tc-author{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid rgba(0,0,0,.05);}
.tc-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--forest),var(--forest-m));display:flex;align-items:center;justify-content:center;font-family:var(--f-d);font-size:.95rem;font-weight:600;color:var(--gold-lt);text-transform:uppercase;}
.tc.feat .tc-avatar{background:rgba(255,255,255,.12);}
.tc-name{font-size:.84rem;font-weight:600;color:var(--charcoal);}
.tc-loc{font-size:.68rem;color:var(--warm-lt);display:block;margin-top:1px;}

/* ═══ LOCATION ═══ */
.location{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.loc-img{background:url('https://images.unsplash.com/photo-1519058082700-08a0b56da9b4?w=900&q=85') center/cover;position:relative;min-height:440px;}
.loc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,var(--parchment) 100%);}
.loc-txt{background:var(--parchment);padding:72px 56px;display:flex;flex-direction:column;justify-content:center;}
.loc-txt p{font-family:var(--f-d);font-size:1.05rem;font-style:italic;line-height:1.85;color:var(--warm-mid);margin-top:16px;max-width:400px;}
.loc-items{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.loc-row{display:flex;gap:12px;align-items:flex-start;font-size:.82rem;color:var(--warm-mid);line-height:1.5;}
.loc-ic{font-size:.9rem;width:18px;flex-shrink:0;margin-top:1px;}

/* ═══ CTA ═══ */
.cta{position:relative;overflow:hidden;padding:108px 56px;background:var(--forest);text-align:center;}
.cta::before{content:'';position:absolute;bottom:-15%;left:50%;transform:translateX(-50%);width:130%;height:70%;background:radial-gradient(ellipse at 50% 100%,rgba(212,98,26,.24) 0%,rgba(232,149,42,.1) 35%,transparent 60%);pointer-events:none;}
.cta::after{content:'ॐ';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--f-d);font-size:36rem;line-height:1;color:rgba(255,255,255,.025);pointer-events:none;user-select:none;}
.cta-inner{position:relative;z-index:2;}
.cta h2{font-family:var(--f-d);font-size:clamp(2.6rem,4.5vw,4.4rem);font-weight:300;line-height:1.1;color:#fff;max-width:620px;margin:0 auto;}
.cta h2 em{font-style:italic;color:var(--gold-lt);}
.cta-sub{font-family:var(--f-d);font-size:1.1rem;font-style:italic;color:rgba(255,255,255,.48);margin:16px auto 0;max-width:380px;line-height:1.7;}
.cta-btns{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap;}
.btn-cream{display:inline-flex;align-items:center;gap:8px;background:var(--ivory);color:var(--saffron);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 32px;border-radius:2px;text-decoration:none;transition:all .25s;}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.btn-gl{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.88);font-size:.76rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:14px 32px;border-radius:2px;text-decoration:none;transition:all .25s;}
.btn-gl:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);}

/* ═══ FOOTER ═══ */
footer{background:var(--forest);padding:60px 56px 28px;color:rgba(255,255,255,.45);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.07);}
.fb h3{font-family:var(--f-d);font-size:1.25rem;font-weight:400;color:#fff;margin-bottom:8px;}
.fb p{font-size:.78rem;line-height:1.75;color:rgba(255,255,255,.35);max-width:240px;margin-bottom:18px;}
.socials{display:flex;gap:8px;}
.socials a{width:30px;height:30px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.32);font-size:.78rem;text-decoration:none;border-radius:2px;transition:all .2s;}
.socials a:hover{border-color:var(--saffron);color:var(--saffron);}
.fc h4{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:14px;}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.fc a,.fc li{font-size:.78rem;color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s;}
.fc a:hover{color:var(--gold-lt);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:18px;}
.footer-bottom p{font-size:.7rem;color:rgba(255,255,255,.16);}

/* ═══ WA BUTTON ═══ */
.wa-btn{position:fixed;bottom:24px;right:24px;z-index:400;display:flex;align-items:center;gap:8px;background:#128C7E;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px 11px 13px;text-decoration:none;border-radius:2px;box-shadow:0 4px 18px rgba(0,0,0,.16);transition:background .2s,transform .2s;}
.wa-btn:hover{background:#075E54;transform:translateY(-2px);}

/* ═══ SCROLL REVEAL ═══ */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.vs{opacity:1;transform:translateY(0);}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ════════════════════════════
   RESPONSIVE — MOBILE FIRST
════════════════════════════ */
@media(max-width:1100px){
  nav,nav.on{padding:0 20px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:block;}
  /* hero */
  .hero{max-height:none;height:100svh;min-height:580px;}
  .hero-content{padding:0 24px 100px;}
  .hero h1{font-size:clamp(2.6rem,8vw,4.2rem);}
  .hero-sub{font-size:.96rem;max-width:100%;}
  .hero-actions{gap:10px;}
  .btn-saffron,.btn-ghost-w{font-size:.72rem;padding:12px 20px;}
  /* trust bar: 2 rows on tablet */
  .hero-bar{grid-template-columns:repeat(3,1fr);}
  .hero-bar .hb:nth-child(4),.hero-bar .hb:nth-child(5){display:none;}
  /* layout */
  .about,.location{grid-template-columns:1fr;}
  .about-img,.loc-img{min-height:260px;}
  .about-txt,.loc-txt{padding:48px 24px;}
  .courses,.batches,.testi,.ashram-day,.cta{padding:64px 24px;}
  .sh2,.t-header{flex-direction:column;gap:12px;align-items:flex-start;}
  .course-grid{grid-template-columns:1fr;height:auto;}
  .cc.big{grid-row:auto;height:340px;}
  .cc.sm{height:220px;}
  .t-mosaic{grid-template-columns:1fr;}
  .tc.feat{grid-row:auto;}
  .day-layout{grid-template-columns:1fr;gap:40px;}
  .b-list .brow{grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px;}
  footer{padding:48px 24px 24px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
  .hero-sanskrit{display:none;}
}

@media(max-width:600px){
  /* hero: full mobile */
  .hero{min-height:100svh;max-height:none;}
  .hero-content{padding:0 20px 96px;}
  .hero h1{font-size:clamp(2.4rem,10vw,3.4rem);line-height:.88;}
  .hero-sub{font-size:.92rem;margin-top:14px;}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px;}
  .btn-saffron,.btn-ghost-w{width:100%;justify-content:center;font-size:.74rem;padding:14px 20px;}
  /* trust bar: 2-column on mobile */
  .hero-bar{
    grid-template-columns:1fr 1fr;
    position:relative;  /* not absolute on small screens */
  }
  .hero-bar .hb:nth-child(3),.hero-bar .hb:nth-child(4),.hero-bar .hb:nth-child(5){display:none;}
  .hb{padding:12px 14px;}
  .hb-num{font-size:1.6rem;}
  /* override: hero doesn't need bottom padding on mobile since bar is outside */
  .hero-content{padding-bottom:80px;}
  /* nav */
  .nav-text-loc{display:none;}
  /* layout single col */
  .about,.location,.testi,.batches,.courses,.ashram-day,.cta{padding:48px 16px;}
  .t-mosaic,.course-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .btn-cream,.btn-gl{width:100%;justify-content:center;}
}

@media(max-width:380px){
  .hero h1{font-size:2.2rem;}
  .hero-badge span{font-size:.58rem;letter-spacing:.1em;}
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE FIX (mobile compatibility pass, 27 June 2026)
   ────────────────────────────────────────────────────────────
   The country landing pages (usa.php, germany.php, uk.php,
   australia.php, canada.php, netherlands.php, france.php,
   israel.php) and courses.php build their layouts almost
   entirely with inline `style="display:grid;grid-template-
   columns:..."` attributes rather than named classes. An
   earlier attempt to override these per-page with an attribute
   selector (`section > div[style*="..."]`) silently failed
   because the grid lives on the <section> itself, not a child
   <div> — so on mobile these sections never collapsed to a
   single column, causing real horizontal overflow (measured:
   pages rendering 423–562px wide inside a 375px viewport).

   Fix: every grid container on these pages now carries BOTH its
   original inline style (unchanged, so desktop/tablet look
   identical to before) AND one of the classes below. Classes
   have reliable, predictable specificity that inline-style
   attribute-selectors do not, so these media queries actually
   fire. This is centralized here once instead of repeated in
   each page's own <style> block, so any future page reusing
   these same grid patterns gets the fix automatically.
   ════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  .rg-2col{grid-template-columns:1fr !important;}
  .rg-3col{grid-template-columns:1fr !important;}
  .rg-4col{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:600px){
  .rg-4col{grid-template-columns:1fr !important;}
  /* Country-page hero: on mobile the absolutely-positioned stat bar at the
     bottom of the hero gets pulled into normal flow (.rg-statbar below), so
     the hero itself must stop being a centered flex box and just stack its
     children top-to-bottom instead — otherwise the stat bar renders on top
     of the hero text instead of after it. */
  section[style*="min-height:62vh"]{
    display:block !important;
    min-height:auto !important;
    padding-bottom:0 !important;
  }
  section[style*="min-height:62vh"] > div[style*="z-index:2"]{
    padding-bottom:32px !important;
  }
  .rg-statbar{
    grid-template-columns:repeat(2,1fr) !important; /* 2x2 reads better than a tall single column for a stats strip */
    position:relative !important; /* country-page hero stat bars are position:absolute over the image — on mobile let it sit in normal flow below the hero instead, so two rows of stats never get clipped or overlap hero text */
    bottom:auto !important;
  }
  .rg-statbar > div{border-bottom:1px solid rgba(0,0,0,.06);}
  .rg-batchrow{
    grid-template-columns:1fr !important;
    text-align:left;
    row-gap:8px;
  }
  .rg-batchrow > *{justify-self:start !important;}
  .rg-sidebar-content{grid-template-columns:1fr !important;}
  .rg-sidebar-content aside{border-right:none;border-bottom:1px solid var(--faint);}
  .rg-cardrow{grid-template-columns:1fr !important;}
  .rg-cardrow > div:first-child{display:none;} /* the 5px accent strip column collapses out */
  .rg-coursecard{grid-template-columns:1fr !important;}
  .rg-coursecard > div:first-child{height:3px;} /* accent strip becomes a thin top bar instead of disappearing */
  .rg-coursecard-cta{
    min-width:0 !important;
    border-left:none !important;
    border-top:1px solid var(--faint);
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:wrap;
    gap:10px;
  }
}
/* Safety net: nothing on the page should ever force horizontal
   scroll on a phone, regardless of which inline grid is used. */
@media(max-width:480px){
  body{overflow-x:hidden;}
}

