/* =========================================================
   SHANTI MEDITATION SCHOOL — HOMEPAGE
   Target layout: compact editorial homepage mockup
   ========================================================= */

:root{
  --ink:#26342c;
  --muted:#667168;
  --cream:#f4f0e8;
  --paper:#fbfaf7;
  --line:#ddd8ce;
  --sand:#e7dfd1;
  --dark:#263b30;
  --gold:#a7845a;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body.homepage{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  overflow-x:hidden;
  font-size: 18px;
}

h1,h2,h3,h4,.serif,.quote {
      font-weight: 400;
      font-family: Georgia, "Times New Roman", serif;
    }
    h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); line-height: .98; letter-spacing: -.035em; }
    h2 { font-size: clamp(1.7rem, 3.2vw, 2.35rem); line-height: 1.1; }
    h3 { font-size: 1.25rem; line-height: 1.2; }
    p { margin-bottom: .45rem; font-size: 18px;     font-family: Georgia, "Times New Roman", serif;} 





.title{
    margin: 0;
    color: #2b2924;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.01em;
}

.title2{
    margin: 0;
    color: #2b2924;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 3vw, 32px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.01em;
}








.homepage a{text-decoration:none}
.homepage img{display:block;max-width:100%}

.site-container{
  width:min(1180px,calc(100% - 72px));
  margin:0 auto;
}

header{ position:sticky; top:0px; z-index:999; }

.shanti-nav-navbar {
    width: 100%;
    min-height: 74px;
    padding: 0;
    background: rgb(250 248 242 / 90%);
    border-bottom: 1px solid #e4e0d7;
    position: relative;
    z-index: 1000;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.shanti-nav-container {
    max-width: 1180px;
    min-height: 74px;
}


/* =========================================================
   LOGO
   ========================================================= */

.shanti-nav-logo {
    display: flex;
    align-items: center;
    height: 74px;
    margin-right: 40px;
    padding: 0 !important;
}

.shanti-nav-logo img {
    display: block;
    width: 145px;
    height: auto;
}


/* =========================================================
   NAVIGATION LIST
   ========================================================= */

.shanti-nav-list {
    gap: 2px;
}

.shanti-nav-item {
    position: relative;
}


/* =========================================================
   NAV LINKS
   ========================================================= */

.shanti-nav-link {
    display: flex !important;
    align-items: center;
    gap: 6px;
    min-height: 74px;
    padding: 0 14px !important;

    color: #29343a !important;

    

    font-size: 15px;
    font-weight: 400;

    text-decoration: none;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.shanti-nav-link:hover,
.shanti-nav-link:focus {
    color: #6a704f !important;
}


/* =========================================================
   DROPDOWN ARROW
   ========================================================= */

.shanti-nav-arrow {
    font-size: 8px;
    line-height: 1;
    transition: transform 0.25s ease;
}


/* Hide Bootstrap's default arrow */

.shanti-nav-link.dropdown-toggle::after {
    display: none;
}


/* Rotate arrow */

.shanti-nav-hover:hover .shanti-nav-arrow {
    transform: rotate(180deg);
}


/* =========================================================
   DROPDOWN
   ========================================================= */

.shanti-nav-dropdown {
    min-width: 235px;

    margin-top: 0 !important;
    padding: 8px 0;

    border: 1px solid #ded9cf;
    border-radius: 0;

    background: #faf8f2;

    box-shadow:
        0 12px 30px rgba(45, 42, 34, 0.10);

}


/* =========================================================
   DROPDOWN LINKS
   ========================================================= */

.shanti-nav-dropdown-link {
    padding: 9px 18px !important;

    color: #30383b !important;

    

    font-size: 15px;
    line-height: 1.35;

    white-space: normal;

    background: transparent !important;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.shanti-nav-dropdown-link:hover,
.shanti-nav-dropdown-link:focus {
    color: #687052 !important;
}


/* =========================================================
   ENQUIRE BUTTON
   ========================================================= */

.shanti-nav-enquire-item {
    margin-left: 18px;
}

.shanti-nav-enquire {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 90px;
    height: 39px;

    padding: 0 16px;

    border-radius: 2px;
    border: 1px solid #59624c;

    background: #59624c;
    color: #ffffff !important;


    font-size: 13px;
    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}

.shanti-nav-enquire:hover {
    background: #414b39;
    border-color: #414b39;
    color: #ffffff !important;
}

.shanti-nav-enquire-arrow {
    margin-left: 7px;
    font-size: 14px;
}



























/* ---------- HERO ---------- */
.hero{
  min-height:500px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
}

.hero-image,
.hero-overlay{
  position:absolute;
  inset:0;
}

..hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-overlay{
  background:linear-gradient(90deg,
    rgba(251,248,239,.94) 0%,
    rgba(251,248,239,.74) 28%,
    rgba(251,248,239,.16) 62%,
    rgba(251,248,239,.03) 100%);
}

.hero-content{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 72px));
  margin:55px auto 0;
}

.hero h1{
  margin:0;
font-size:clamp(58px,5vw,88px);
  line-height:.93;
  letter-spacing:-.045em;
  font-weight:400;
  color:#17231b;
}
.hero h1 em{font-style:normal;color:#355b49}

.hero-rule{
  width:24px;
  height:1px;
  background:#a4774b;
  margin:17px 0 13px;
}

.hero-copy{
  margin:0;
  max-width:360px;
  font:13px/1.55 Arial,sans-serif;
  color:#29332d;
}

.hero-highlight{
  margin:10px 0 13px;
  font:700 13px Arial,sans;
  color:#28352d;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:25px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:9px 15px;
  border-radius:4px;
  font:700 12px/1.4 Arial,sans-serif;
  letter-spacing:.14em;
  text-transform: uppercase;
}

.button-dark{
  background:var(--dark);
  color:#fff!important;
}
.button-outline{
  border:1px solid #889189;
  background:transparent;
}

.hero-text-link{
  font:10px Arial,sans-serif;
  border:0;
}
.hero-text-link span{font-size:15px;margin-left:5px}

.hero-location{
  position:absolute;
  left:0;
  bottom:-1px;
  font:10px Arial,sans-serif;
  color:#26342c;
}

/* ---------- SHARED SECTION SPACING ---------- */
.section-tight{padding:22px 0 24px}

.section-title{
  text-align:center;
  margin:0 auto 13px;
}
.section-title h2{
  margin:0;
  font-size:17px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:.015em;
}
.section-title p{
  margin:5px 0 0;
  font:10px Arial,sans-serif;
  color:var(--muted);
}
.section-title.left{text-align:left;margin:0}
.title-ornament{
  display:block;
  margin:2px auto 0;
  color:#a98a67;
  font-size:14px;
  line-height:.7;
}

.text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-bottom:3px;
  border-bottom:1px solid currentColor;
  font:9px Arial,sans-serif;
  letter-spacing:.02em;
}
.text-link span{font-size:14px;line-height:1}

/* ---------- TWO WAYS ---------- */
.paths{background:var(--paper)}
.path-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}

.path-card{
  min-height:215px;
  display:grid;
  grid-template-columns:39% 61%;
  background:#fff;
  border:1px solid rgba(38,52,44,.07);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 5px rgba(38,52,44,.035);
}

.path-image{min-height:100%}
.path-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.path-body{padding:13px 14px 12px}
.round-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#3e5949;
  color:#fff;
  font-size:15px;
  margin-bottom:7px;
}
.round-icon.gold{background:#b08a5a}

.path-body h3,
.explore-body h3{
  margin:0 0 3px;
  font-size:14px;
  line-height:1.05;
  font-weight:400;
}
.path-subtitle{
  margin:0 0 7px;
  color:#9a7650;
  font:9px Arial,sans-serif;
}
.path-meta{
  margin:0 0 7px;
  font:9px Arial,sans-serif;
}
.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes){
  margin:0 0 6px;
  max-width:290px;
  font:9px/1.42 Arial,sans-serif;
  color:#4d5750;
}
.mini-label{
  margin:5px 0 1px;
  font:700 8px Arial,sans-serif;
}
.themes{
  margin:0 0 5px;
  font:8px/1.35 Arial,sans-serif;
  color:#4d5750;
}

/* ---------- KEEP EXPLORING ---------- */
.explore{
  background:#f7f3ec;
  border-top:1px solid rgba(38,52,44,.025);
}
.explore-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.explore-card{
  display:grid;
  grid-template-columns:40% 60%;
  min-height:155px;
  background:#fff;
  border:1px solid rgba(38,52,44,.07);
  border-radius:4px;
  overflow:hidden;
}
.explore-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.explore-body{
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.explore-body > p:last-child{
  margin:0;
  font:9px/1.45 Arial,sans-serif;
  color:#4d5750;
  max-width:230px;
}
.section-button{text-align:center;margin-top:10px}
.section-button .button{min-width:190px}

/* ---------- MONTHLY RHYTHM ---------- */
.rhythm{
  background:var(--paper);
  padding:27px 0;
}
.rhythm-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:38px;
  align-items:center;
}
.rhythm-left{padding:0 4px}
.rhythm-left .section-title h2{font-size:16px}
.rhythm-left .section-title p{font-size:9px}

.rhythm-flow{
  display:grid;
  grid-template-columns:1fr 18px 1fr 18px 1fr;
  align-items:center;
  gap:3px;
  margin-top:17px;
}
.rhythm-step{text-align:center}
.rhythm-icon{
  width:32px;
  height:32px;
  border:1px solid #ddd7cb;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 5px;
  font-size:14px;
}
.rhythm-step > span{
  font:8px Arial,sans-serif;
  color:#555f58;
}
.rhythm-step h3{
  margin:4px 0 4px;
  font-size:9px;
  line-height:1.18;
  font-weight:700;
}
.rhythm-step p{
  margin:0;
  font:8px/1.35 Arial,sans-serif;
  color:#68726b;
}
.rhythm-arrow{
  text-align:center;
  color:#6e766f;
  font-size:13px;
}

.upcoming-card{
  padding:15px;
  background:#f4f0e8;
  border-radius:3px;
}
.upcoming-label{
  margin:0 0 7px;
  font:10px Arial,sans-serif;
  letter-spacing:.1em;
}
.upcoming-item{
  display:grid;
  grid-template-columns:95px 1fr;
  gap:11px;
  padding:8px 0;
  border-bottom:1px solid #ddd6c9;
  align-items:center;
}
.upcoming-item img{
  width:95px;
  height:55px;
  object-fit:cover;
}
.upcoming-item span{
  font:7px Arial,sans-serif;
  color:#68726b;
  letter-spacing:.04em;
}
.upcoming-item h3{
  margin:3px 0 2px;
  font-size:13px;
  line-height:1.05;
  font-weight:400;
}
.upcoming-item p{
  margin:0;
  font:8px/1.3 Arial,sans-serif;
  color:#667168;
}
.upcoming-card > .text-link{margin-top:8px}

/* ---------- APPROACH STRIP ---------- */
.approach{
  background:#f3efe7;
  border-top:1px solid #eee8de;
  border-bottom:1px solid #eee8de;
  padding:18px 0;
}
.approach-grid{
  display:grid;
  grid-template-columns:85px 1.2fr 1.9fr;
  gap:24px;
  align-items:center;
}
.approach-mark{
  width:62px;
  height:62px;
  border:7px solid #4c6958;
  border-right-color:transparent;
  border-bottom-color:#809385;
  border-radius:50%;
  transform:rotate(-25deg);
}
.approach-copy h2{
  margin:0 0 5px;
  font-size:40px;
  font:serif;
  line-height:1.1;
  font-weight:500;
  letter-spacing:.02em;
}
.approach-copy p{
  margin:0;
  max-width:380px;
  font:8px/1.45 Arial,sans-serif;
  color:#667168;
}
.principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid #ddd7cc;
}
.principles > div{
  padding:0 15px;
  text-align:center;
  border-right:1px solid #ddd7cc;
}
.principles span{
  display:block;
  font-size:18px;
  margin-bottom:4px;
}
.principles h3{
  margin:0 0 3px;
  font:700 9px Arial,sans-serif;
}
.principles p{
  margin:0;
  font:7px/1.4 Arial,sans-serif;
  color:#667168;
}

/* ---------- TRADITIONS ---------- */
.traditions{background:var(--paper)}
.traditions .section-title{margin-bottom:10px}
.tradition-grid {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
.tradition-item{text-align:center}
.tradition-item img{
  width:100%;
  aspect-ratio:1.65;
  object-fit:cover;
  border-radius:3px;
  margin-bottom:5px;
}
.tradition-item h3{
  margin:0 0 3px;
  font-size:9px;
  line-height:1.1;
  font-weight:400;
}
.tradition-item p{
  margin:0;
  font:7px/1.35 Arial,sans-serif;
  color:#667168;
}
.center-link{text-align:center;margin-top:9px}

/* ---------- TEACHER + REVIEWS ---------- */
.teacher-reviews{
  background:#f7f3ec;
}
.teacher-review-grid{
  display:grid;
  grid-template-columns:.8fr 2.2fr;
  gap:27px;
  align-items:start;
}
.teacher-mini{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:12px;
  align-items:center;
}
.teacher-mini > img{
  width:100%;
  aspect-ratio:1.02;
  object-fit:cover;
  border-radius:3px;
}
.small-label{
  margin:0 0 4px;
  font:8px Arial,sans-serif;
  letter-spacing:.12em;
  color:#6c756e;
}
.teacher-mini-copy h2{
  margin:0 0 2px;
  font-size:20px;
  line-height:1;
  font-weight:400;
}
.teacher-role{
  margin:0 0 7px;
  font:7px Arial,sans-serif;
  color:#667168;
}
.teacher-mini-copy > p:not(.small-label):not(.teacher-role){
  margin:0 0 8px;
  font:8px/1.4 Arial,sans-serif;
  color:#667168;
}
.teacher-mini-copy .text-link{font-size:7px}

.reviews-mini .section-title{
  margin:0 0 7px;
}
.reviews-mini .section-title h2{font-size:12px}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.review-card{
  min-height:112px;
  background:#fff;
  border:1px solid #e2ddd4;
  border-radius:3px;
  padding:10px;
  display:flex;
  flex-direction:column;
}
.review-quote{
  margin:0 0 3px;
  font-size:24px;
  line-height:.6;
  color:#54705d;
}
.review-card > p:not(.review-quote){
  margin:0;
  flex:1;
  font:8px/1.4 Arial,sans-serif;
  color:#59635c;
}
.review-person{
  margin-top:7px;
  padding-top:5px;
  border-top:1px solid #e5dfd6;
}
.review-person strong{
  display:block;
  font:700 8px Arial,sans-serif;
}
.review-person span{
  display:block;
  margin-top:2px;
  font:7px Arial,sans-serif;
  color:#707970;
}

/* ---------- PLACE + READY ---------- */
.place-cta{
  background:var(--paper);
  padding:14px 0;
}
.place-cta-grid{
  display:grid;
  grid-template-columns:1.55fr 1fr .85fr;
  gap:0;
  align-items:stretch;
}
.place-image img{
  width:100%;
  height:150px;
  object-fit:cover;
}
.place-copy{
  padding:7px 22px;
}
.place-copy h2{
  margin:0 0 6px;
  font-size:19px;
  line-height:1;
  font-weight:400;
}

.ready-box{
  padding:7px 0 7px 20px;
}
.ready-box > p:not(.small-label){
  margin:0 0 7px;
  font:8px Arial,sans-serif;
  color:#667168;
}
.ready-option{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  margin-bottom:5px;
  background:#e9e2d5;
  border-radius:3px;
}
.ready-option:nth-of-type(2){background:#e4d6c1}
.ready-option > span{font-size:14px}
.ready-option strong,
.ready-option small{display:block}
.ready-option strong{font:9px Arial,sans-serif}
.ready-option small{font:7px Arial,sans-serif;color:#69726b;margin-top:2px}

/* ---------- FOOTER ---------- */
.home-footer{
  background:#244235;
  color:#fff;
}
.footer-grid{
  padding:17px 0 13px;
  display:grid;
  grid-template-columns:1.35fr repeat(5,1fr);
  gap:20px;
}
.footer-logo{
  width:112px;
  margin-bottom:5px;
  filter:brightness(0) invert(1);
}
.home-footer p{
  margin:0 0 4px;
  font:7px/1.35 Arial,sans-serif;
  color:rgba(255,255,255,.75);
}
.footer-social{
  margin-top:8px;
  font-size:11px;
}
.home-footer h4{
  margin:0 0 5px;
  font:700 8px Arial,sans-serif;
  color:#d4b98e;
  text-transform:uppercase;
}
.home-footer a{
  display:block;
  margin-bottom:3px;
  font:7px/1.25 Arial,sans-serif;
  color:rgba(255,255,255,.8);
}
.footer-bottom{
  padding:6px 10px;
  border-top:1px solid rgba(255,255,255,.14);
  text-align:center;
  font:7px Arial,sans-serif;
  color:rgba(255,255,255,.55);
}

/* ---------- TABLET ---------- */
@media (max-width:900px){
  .site-container,
  .hero-content{width:calc(100% - 44px)}
  .home-nav-wrap{width:calc(100% - 34px)}
  .home-menu-toggle{display:block}
  .home-nav{
    display:none;
    position:absolute;
    top:64px;
    left:17px;
    right:17px;
    padding:10px 15px;
    background:rgba(251,250,247,.98);
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .home-nav.is-open{display:flex}
  .home-nav a{padding:9px 3px;border-bottom:1px solid #e5dfd5}
  .home-nav .nav-cta{border:0;margin-top:4px;text-align:center}
  .hero{min-height:560px}
  .hero-content{margin-top:65px}
  .path-card{grid-template-columns:42% 58%}
  .rhythm-grid{grid-template-columns:1fr;gap:22px}
  .upcoming-card{max-width:600px}
  .approach-grid{grid-template-columns:65px 1fr}
  .principles{grid-column:1 / -1}
  .teacher-review-grid{grid-template-columns:1fr}
  .teacher-mini{max-width:600px}
  .place-cta-grid{grid-template-columns:1fr 1fr}
  .place-image{grid-row:1 / 3}
  .ready-box{border-left:1px solid #ddd7cd}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:600px){
  .site-container,.hero-content{width:calc(100% - 30px)}
  .home-nav-wrap{width:calc(100% - 26px);min-height:64px}
  .home-logo{width:125px}
  .hero{min-height:590px}
  .hero-content{margin-top:70px}
  .hero h1{font-size:54px}
  .desktop-only{display:none}
  .hero-copy{font-size:12px;max-width:300px}
  .hero-actions{gap:14px}
  .path-grid,.explore-grid{grid-template-columns:1fr}
  .path-card,.explore-card{grid-template-columns:42% 58%}
  .path-body{padding:11px}
  .path-body h3,.explore-body h3{font-size:13px}
  .path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes){font-size:8px}
  .rhythm-flow{grid-template-columns:1fr;display:flex;flex-direction:column;gap:7px}
  .rhythm-arrow{transform:rotate(90deg)}
  .approach-grid{grid-template-columns:1fr;text-align:center}
  .approach-mark{margin:0 auto}
  .principles{grid-template-columns:1fr;border-left:0}
  .principles > div{border-right:0;border-top:1px solid #ddd7cc;padding:9px}
  .tradition-grid{grid-template-columns:repeat(2,1fr)}
  .teacher-mini{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .place-cta-grid{grid-template-columns:1fr}
  .place-image{grid-row:auto}
  .place-copy{border-right:0;border-bottom:1px solid #ddd7cd;padding:12px 0}
  .ready-box{border-left:0;padding:12px 0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:13px}
}

/* Prevent old global Bootstrap defaults from creating extra vertical rhythm. */
.homepage section h1,
.homepage section h2,
.homepage section h3,
.homepage section p{margin-top:0}

/* ---------- APPROACH PRINCIPLE ICONS ---------- */
.principles span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  margin:0 auto 4px;
  color:var(--ink);
  font-size:0;
}

.principles span svg{
  display:block;
  width:29px;
  height:29px;
}


/* =========================================================
   APPROVED HOMEPAGE VISUAL UPDATE
   - Light cream / warm beige palette
   - Larger typography
   - Responsive desktop hero
   - Upcoming Retreats moved above Keep Exploring
   - Monthly Rhythm removed
   - Existing lower-page content preserved
   ========================================================= */

:root{
  --ink:#2b2924;
  --muted:#756f65;
  --cream:#f7f1e8;
  --paper:#fcf8f1;
  --line:#ded3c3;
  --sand:#eee3d2;
  --dark:#6f5435;
  --gold:#a98052;
  --warm-white:#fffaf2;
}

/* ---------- GLOBAL TYPE / PALETTE ---------- */
body.homepage{
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
}

.homepage section{
  color:var(--ink);
}

.homepage .section-tight{
  padding:46px 0 50px;
}

.homepage .section-title{
  margin-bottom:26px;
}

.homepage .section-title h2{
  font-size:clamp(27px,2.25vw,36px);
  line-height:1.15;
  letter-spacing:.01em;
}

.homepage .section-title p{
  margin-top:9px;
  font-size:15px;
  line-height:1.5;
  color:var(--muted);
}

.homepage .text-link{
  font-size:13px;
  line-height:1.4;
}

.homepage .text-link span{
  font-size:18px;
}

/* ---------- HEADER ---------- */
.home-header{
  color:#28241f;
}

.home-nav{
  font-size:14px;
  gap:30px;
}

.home-nav a{
  color:#28241f;
}

.nav-chevron{
  font-size:12px;
}

.nav-cta{
  padding:12px 18px;
  background:#9a7045;
  border-radius:6px;
}

/* ---------- HERO: RESPONSIVE DESKTOP IMAGE ---------- */
.hero{
  /*
    Use a width-based height so the hero scales with desktop viewport width
    instead of staying locked to a single 500px crop.
  */
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  min-height:0;
  max-height:540px;

}
.hero.heero-p{
  /*
    Use a width-based height so the hero scales with desktop viewport width
    instead of staying locked to a single 500px crop.
  */
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  min-height:0;
  max-height:480px;

}

.hero.hero2{
  /*
    Use a width-based height so the hero scales with desktop viewport width
    instead of staying locked to a single 500px crop.
  */
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  min-height:0;
  max-height:560px;

}

.hero-image img{
  width:100%;
  height:100%;
   object-position: centre 10%;
     object-fit:cover;

}

/*
  Keep the light side of the photograph available for the text at different
  desktop widths. The stronger fade stays subtle so the image still feels natural.
*/
.hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(252,248,241,.97) 0%,
    rgba(252,248,241,.91) 19%,
    rgba(252,248,241,.68) 36%,
    rgba(252,248,241,.22) 59%,
    rgba(252,248,241,.03) 100%
  );
}

.hero-content{
  width:min(1280px,calc(100% - 96px));
  margin:45px auto 0;
}

.heero-p .hero-content{
  width:min(1280px,calc(100% - 96px));
  margin:125px auto 0 0;
}

.hero h1{
  font-size:clamp(66px,6vw,104px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#28251f;
}

.hero h1 em{
  color:#a27a4d;
}

.hero-rule{
  width:44px;
  margin:24px 0 18px;
  background:#a27a4d;
}

.hero-copy{
  max-width:430px;
  font-size:17px;
  line-height:1.65;
  color:#403b33;
}

.hero-highlight{
  margin:16px 0 20px;
  font-size:15px;
  color:#302c26;
}

.hero-actions{
  gap:28px;
}

.button{
  min-height:44px;
  padding:11px 21px;
  font-size:13px;
  border-radius:5px;
}

.button-dark{
  background:#9a7045;
}
.home-whatsapp{ background:#25D366 }

.hero-text-link{
  font-size:13px;
}

.hero-location{
  font-size:13px;
}

/* Extra-wide desktops: keep the image composition stable. */
@media (min-width:1600px){
  .hero-image img{
    object-position:60% 35%;
  }
}

/* ---------- TWO WAYS TO GO DEEPER ---------- */
.paths{
  background:#fcf8f1;
}

.path-grid{
  gap:20px;
}

.path-card{
  min-height:330px;
  background:rgba(255,250,242,.92);
  border:1px solid #dfd4c4;
  border-radius:9px;
  box-shadow:none;
  grid-template-columns:40% 60%;
}

.path-image{
  min-height:330px;
}

.path-body{
  padding:25px 27px 22px;
}

.round-icon{
  width:42px;
  height:42px;
  font-size:19px;
  background:#554936;
  margin-bottom:12px;
}

.round-icon.gold{
  background:#a27a4d;
}

.path-body h3,
.explore-body h3{
  font-size:22px;
  line-height:1.1;
  margin-bottom:7px;
}

.path-subtitle{
  margin-bottom:12px;
  font-size:13px;
}

.path-meta{
  margin-bottom:12px;
  font-size:14px;
}

.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes){
  max-width:360px;
  font-size:14px;
  line-height:1.65;
}

.mini-label{
  margin-top:10px;
  font-size:11px;
}

.themes{
  font-size:12px;
  line-height:1.5;
}

/* ---------- UPCOMING RETREATS: DISTINCT EDITORIAL LAYOUT ---------- */
.upcoming-retreats{
  background:#f7f0e6;
  border-top:1px solid #e3d8c8;
  border-bottom:1px solid #e3d8c8;
  position:relative;
  overflow:hidden;
}

.upcoming-editorial{
  display:block;
  position:relative;
}

.upcoming-editorial .upcoming-card{
  background:transparent;
  padding:0 7%;
  border-radius:0;
}

.upcoming-editorial .upcoming-label{
  display:none;
}

.upcoming-editorial .upcoming-item{
  grid-template-columns:112px 1fr;
  gap:20px;
  min-height:120px;
  padding:17px 0;
  border-bottom:1px solid #ddd0bd;
  align-items:center;
}

.upcoming-editorial .upcoming-item:last-of-type{
  border-bottom:0;
}

.upcoming-editorial .upcoming-item img{
  width:112px;
  height:92px;
  border-radius:50%;
  object-fit:cover;
}

.upcoming-editorial .upcoming-item span{
  font-size:11px;
  color:#9a7045;
  letter-spacing:.08em;
}

.upcoming-editorial .upcoming-item h3{
  margin:7px 0 5px;
  font-size:24px;
  line-height:1.15;
}

.upcoming-editorial .upcoming-item p{
  font-size:13px;
  line-height:1.45;
}

.upcoming-editorial .text-link{
  display:flex;
  width:max-content;
  margin:18px 0 0 auto;
}

/* Put the two events side by side on desktop, like the approved reference. */
@media (min-width:901px){
  .upcoming-editorial .upcoming-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:55px;
    align-items:center;
    padding:0 2%;
  }

  .upcoming-editorial .upcoming-item{
    grid-template-columns:105px 1fr;
    min-height:135px;
  }

  .upcoming-editorial .upcoming-item img{
    width:105px;
    height:105px;
  }

  .upcoming-editorial .upcoming-item:first-of-type{
    border-right:1px solid #d9cdbb;
    padding-right:35px;
  }

  .upcoming-editorial .upcoming-item:nth-of-type(2){
    padding-left:0;
  }

  .upcoming-editorial .text-link{
    grid-column:1 / -1;
    margin-top:16px;
  }
}

/* ---------- KEEP EXPLORING: VISUALLY DIFFERENT FROM UPCOMING ---------- */
.explore{
  background:#fcf8f1;
  border-top:0;
}

.explore .explore-grid{
  gap:22px;
}

.explore-card{
  min-height:190px;
  background:#fffaf2;
  border:1px solid #e0d6c7;
  border-radius:9px;
  box-shadow:none;
  grid-template-columns:0 1fr;
}

.explore-image{
  display:none;
}

.explore-body{
  padding:26px 31px;
  min-height:190px;
  justify-content:center;
}

.explore-body h3{
  font-size:19px;
}

.explore-body > p:last-child{
  max-width:390px;
  font-size:14px;
  line-height:1.6;
}

.explore-body .path-subtitle{
  font-size:13px;
}

.explore .section-button{
  margin-top:22px;
}

.explore .section-button .button{
  min-width:220px;
}

/* ---------- APPROACH ---------- */
.approach{
  background:#f4ecdf;
  border-top:1px solid #e2d6c5;
  border-bottom:1px solid #e2d6c5;
  padding:42px 0;
}

.approach-copy h2{
  font-size:21px;
}

.approach-copy p{
  font-size:13px;
  line-height:1.6;
}

.principles > div{
  padding:0 22px;
}

.principles h3{
  font-size:13px;
}

.principles p{
  font-size:12px;
  line-height:1.5;
}

/* ---------- TRADITIONS ---------- */
.traditions{
  background:#fcf8f1;
}

.tradition-grid{
  gap:18px;
}

.tradition-item h3{
  font-size:15px;
}

.tradition-item p{
  font-size:11px;
  line-height:1.5;
}

/* ---------- SUGATO + TESTIMONIALS ---------- */
.teacher-reviews{
  background:#f7f0e6;
}

.teacher-mini-copy h2{
  font-size:30px;
}

.teacher-role{
  font-size:12px;
}

.teacher-mini-copy > p:not(.small-label):not(.teacher-role){
  font-size:13px;
  line-height:1.6;
}

.small-label{
  font-size:10px;
}

.reviews-mini .section-title h2{
  font-size:20px;
}

.review-card{
  min-height:155px;
  padding:20px;
  border:1px solid #dfd4c4;
  background:#fffaf2;
}

.review-card > p:not(.review-quote){
  font-size:13px;
  line-height:1.6;
}

.review-person strong{
  font-size:12px;
}

.review-person span{
  font-size:11px;
}

/* ---------- RISHIKESH / CTA ---------- */
.place-cta{
  background:#fcf8f1;
  padding:32px 0;
}

.place-image img{
  height:240px;
}

.place-copy{
  padding:15px 28px;
  width: 170%;
}

.place-copy h2{
  font-size:30px;
}



.ready-box{
  padding:15px 0 15px 25px;
}

.ready-box > p:not(.small-label){
  font-size:13px;
  line-height:1.5;
}

.ready-option{
  background:#eee2d1;
  padding:12px 14px;
}

.ready-option:nth-of-type(2){
  background:#e6d5bd;
}

.ready-option strong{
  font-size:12px;
}

.ready-option small{
  font-size:10px;
}

/* ---------- LIGHT FOOTER ---------- */
.home-footer{
  background:#f1e7d8;
  color:#342e26;
}

.footer-grid{
  padding:38px 0 28px;
}

.home-footer p{
  font-size:11px;
  line-height:1.5;
  color:#6d655a;
}

.home-footer h4{
  font-size:11px;
  color:#8e6944;
}

.home-footer a{
  font-size:11px;
  line-height:1.45;
  color:#5e574e;
}

.footer-logo{
  filter:none;
}

.footer-bottom{
  color:#7a7165;
  font-size:10px;
}

/* ---------- TABLET / MOBILE ---------- */
@media (max-width:900px){
  .hero{
    height:560px;
    min-height:560px;
    max-height:none;
  }

  .hero-content{
    width:calc(100% - 44px);
    margin-top:70px;
  }

  .hero h1{
    font-size:clamp(58px,8vw,82px);
  }

  .hero-copy{
    font-size:16px;
  }

  .hero-highlight{
    font-size:16px;
  }

  .section-title h2{
    font-size:28px;
  }

  .path-card{
    min-height:300px;
  }

  .path-image{
    min-height:300px;
  }

  .upcoming-editorial .upcoming-card{
    padding:0;
  }

  .upcoming-editorial .upcoming-item h3{
    font-size:21px;
  }

  .explore-card,
  .explore-body{
    min-height:170px;
  }
}

@media (max-width:600px){
  .homepage .section-tight{
    padding:38px 0 42px;
  }

  .section-title h2{
    font-size:25px;
  }

  .hero{
    height:650px;
    min-height:650px;
  }

  .hero-image img{
    object-position:64% center;
  }

  .hero-overlay{
    background:linear-gradient(
      90deg,
      rgba(252,248,241,.98) 0%,
      rgba(252,248,241,.87) 55%,
      rgba(252,248,241,.22) 100%
    );
  }

  .hero-content{
    width:calc(100% - 30px);
    margin-top:90px;
  }

  .hero h1{
    font-size:58px;
  }

  .hero-copy{
    font-size:15px;
  }

  .hero-highlight{
    font-size:15px;
  }

  .path-card{
    grid-template-columns:1fr;
    min-height:0;
  }

  .path-image{
    min-height:250px;
  }

  .path-body{
    padding:22px;
  }

  .upcoming-editorial .upcoming-item{
    grid-template-columns:88px 1fr;
  }

  .upcoming-editorial .upcoming-item img{
    width:88px;
    height:88px;
  }

  .upcoming-editorial .upcoming-item h3{
    font-size:19px;
  }

  .upcoming-editorial .upcoming-item p{
    font-size:12px;
  }

  .explore-card{
    grid-template-columns:1fr;
  }

  .explore-body{
    min-height:170px;
  }

  .place-image img{
    height:220px;
  }
}




/* Keep Sugato photo wider without changing the section structure. */
.teacher-mini {
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: start;
}

.teacher-mini > img.sugato-preview-image {
  width: 220px;
  height: 360px;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center center;
  border-radius: 6px;
}

@media (max-width: 900px) {
  .explore-card {
    grid-template-columns: 40% 60% !important;
  }

  .explore-image {
    min-height: 190px;
  }

  .explore::after {
    width: 120px;
    height: 75px;
    opacity: .38;
  }

  .teacher-reviews::before,
  .teacher-reviews::after {
    width: 110px;
    height: 70px;
    opacity: .32;
  }

  .teacher-mini {
    grid-template-columns: 200px 1fr;
  }

  .teacher-mini > img.sugato-preview-image {
    width: 200px;
    height: 330px;
  }
}

@media (max-width: 600px) {
  .explore-card {
    grid-template-columns: 1fr !important;
  }

  .explore-image {
    min-height: 245px;
  }

  .explore::after {
    width: 100px;
    height: 62px;
    opacity: .30;
  }

  .teacher-reviews::before {
    width: 95px;
    height: 60px;
    opacity: .28;
  }

  .teacher-reviews::after {
    display: none;
  }

  .teacher-mini {
    grid-template-columns: 1fr;
  }

  .teacher-mini > img.sugato-preview-image {
    width: 100%;
    height: 350px;
  }
}

/* =========================================================
   TYPOGRAPHY-ONLY UPDATE
   No layout, colors, images, spacing, or section structure changed.
   ========================================================= */

/* Global / navigation */
.homepage { font-size:16px; }
.home-nav { font-size:14px; }


/* Hero */
.hero-copy { font-size:17px; line-height:1.65; }
.hero-highlight { font-size:17px; }
.button { font-size:13px; }



/* Section headings */
.homepage .section-title h2 {
  font-size:clamp(30px,2.5vw,36px);
  line-height:1.18;
}
.homepage .section-title p {
  font-size:15px;
  line-height:1.55;
}


/* Two Ways / Retreat cards */
.path-body h3,
.explore-body h3 {
  font-size:22px;
  line-height:1.15;
}
.path-subtitle {
  font-size:14px;
  line-height:1.45;
}
.path-meta {
  font-size:15px;
  line-height:1.45;
}
.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes) {
  font-size:15px;
  line-height:1.65;
}
.mini-label {
  font-size:12px;
}
.themes {
  font-size:13px;
  line-height:1.55;
}

/* Upcoming retreats */
.upcoming-editorial .upcoming-item span {
  font-size:12px;
  line-height:1.4;
}
.upcoming-editorial .upcoming-item h3 {
  font-size:24px;
  line-height:1.2;
}
.upcoming-editorial .upcoming-item p {
  font-size:14px;
  line-height:1.55;
}

/* Keep Exploring */
.explore-body h3 {
  font-size:21px;
}
.explore-body > p:last-child {
  font-size:15px;
  line-height:1.65;
}
.explore-body .path-subtitle {
  font-size:14px;
}

/* Approach */
.approach-copy h2 {
  font-size:22px;
  line-height:1.2;
}
.approach-copy p {
  font-size:14px;
  line-height:1.65;
}
.principles h3 {
  font-size:14px;
}
.principles p {
  font-size:13px;
  line-height:1.55;
}

/* Traditions */
.tradition-item h3 {
  font-size:16px;
  line-height:1.2;
}
.tradition-item p {
  font-size:12px;
  line-height:1.55;
}

/* Teacher / testimonials */
.small-label {
  font-size:11px;
}
.teacher-role {
  font-size:13px;
}
.teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
  font-size:14px;
  line-height:1.65;
}
.teacher-mini-copy .text-link {
  font-size:13px;
}
.reviews-mini .section-title h2 {
  font-size:22px;
}
.review-card > p:not(.review-quote) {
  font-size:14px;
  line-height:1.65;
}
.review-person strong {
  font-size:13px;
}
.review-person span {
  font-size:12px;
}

/* Rishikesh / CTA */
.place-copy h2 {
  font-size:32px;
  line-height:1.1;
}
.place-copy > p:not(.small-label) {
  line-height:1.65;
}
.ready-box > p:not(.small-label) {
  font-size:14px;
  line-height:1.55;
}
.ready-option strong {
  font-size:13px;
}
.ready-option small {
  font-size:11px;
}

/* Footer */
.home-footer p {
  font-size:12px;
  line-height:1.55;
}
.home-footer h4 {
  font-size:12px;
}
.home-footer a {
  font-size:12px;
  line-height:1.5;
}
.footer-bottom {
  font-size:11px;
}

/* Tablet */
@media (max-width:900px) {
  
  
  .section-title h2 { font-size:30px; }
  .upcoming-editorial .upcoming-item h3 { font-size:22px; }
}

/* Mobile: readable without making the page oversized */
@media (max-width:600px) {
  .section-title h2 { font-size:27px; }
  
  
  .path-body h3,
  .explore-body h3 { font-size:20px; }
  .path-subtitle { font-size:13px; }
  .path-meta { font-size:14px; }
  .path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes) {
    font-size:14px;
    line-height:1.6;
  }
  .upcoming-editorial .upcoming-item h3 { font-size:20px; }
  .upcoming-editorial .upcoming-item p { font-size:13px; }
  .explore-body > p:last-child { font-size:14px; }
  .approach-copy h2 { font-size:21px; }
  .approach-copy p { font-size:14px; }
  .principles h3 { font-size:14px; }
  .principles p { font-size:13px; }
  .tradition-item h3 { font-size:15px; }
  .tradition-item p { font-size:12px; }
  .teacher-role { font-size:12px; }
  .teacher-mini-copy > p:not(.small-label):not(.teacher-role) { font-size:14px; }
  .review-card > p:not(.review-quote) { font-size:14px; }
  .place-copy h2 { font-size:29px; }
  .place-copy > p:not(.small-label) { font-size:14px; }
  .ready-box > p:not(.small-label) { font-size:14px; }
  .home-footer p,
  .home-footer a { font-size:12px; }
}

/* =========================================================
   FINAL TYPOGRAPHY PASS — TYPOGRAPHY ONLY
   No layout, images, colors, spacing, or section structure changed.
   ========================================================= */

/* Base reading text */


/* Navigation */


/* Hero */


.hero-text-link,
.hero-location {
  font-size:14px;
}


/* Main section headings */
.homepage .section-title h2 {
  font-size:36px;
  line-height:1.18;
  letter-spacing:0;
}
.homepage .section-title p {
  font-size:15px;
  line-height:1.6;
}

/* Retreat / feature card typography */
.path-body h3,
.explore-body h3 {
  font-size:22px;
  line-height:1.2;
  font-weight:500;
}
.path-subtitle {
  font-size:14px;
  line-height:1.5;
}
.path-meta {
  font-size:15px;
  line-height:1.5;
}
.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
.explore-body > p:last-child {
  font-size:15px;
  line-height:1.7;
}

.themes {
  font-size:13px;
  line-height:1.6;
}

/* Upcoming */
.upcoming-editorial .upcoming-item span {
  font-size:12px;
}

.upcoming-editorial .upcoming-item p {
  font-size:14px;
  line-height:1.6;
}

/* Approach */
.approach-copy h2 {
  font-size:24px;
  line-height:1.2;
}
.approach-copy p {
  font-size:15px;
  line-height:1.7;
}

.principles p {
  font-size:13px;
  line-height:1.6;
}

/* Traditions */
.tradition-item h3 {
  font-size:17px;
  line-height:1.25;
}
.tradition-item p {
  font-size:13px;
  line-height:1.6;
}

/* =========================================================
   SUGATO — MAKE "MEDITATION & YOGA PHILOSOPHY TEACHER"
   DARKER / MORE LEGIBLE WITHOUT CHANGING ITS SIZE.
   ========================================================= */
.teacher-role {
  font-size:14px;
  line-height:1.45;
  color:#3f3a33 !important;
  opacity:1 !important;
  font-weight:400;
}

.teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
  font-size:15px;
  line-height:1.7;
}
.small-label {
  font-size:12px;
}
.teacher-mini-copy .text-link {
  font-size:14px;
}

/* Testimonials */
.reviews-mini .section-title h2 {
  font-size:24px;
}
.review-card > p:not(.review-quote) {
  font-size:15px;
  line-height:1.7;
}
.review-person strong {
  font-size:14px;
}


/* Rishikesh */
.place-copy h2 {
  font-size:34px;
  line-height:1.12;
}
.place-copy > p:not(.small-label) {
  line-height:1.7;
}
.ready-box > p:not(.small-label) {
  font-size:15px;
  line-height:1.6;
}
.ready-option strong {
  font-size:14px;
}
.ready-option small {
  font-size:12px;
}

/* Footer */
.home-footer p,
.home-footer a {
  font-size:13px;
  line-height:1.6;
}
.home-footer h4 {
  font-size:13px;
}
.footer-bottom {
  font-size:12px;
}

/* Responsive typography only */
@media (max-width:900px) {
  .homepage .section-title h2 {
    font-size:32px;
  }
  
  .path-body h3,
  .explore-body h3 {
    font-size:21px;
  }
  
}

@media (max-width:600px) {
  .homepage .section-title h2 {
    font-size:28px;
  }
  
  
  
  
  
  .path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
  .explore-body > p:last-child {
    font-size:14px;
    line-height:1.65;
  }
  
  
  .approach-copy h2 {
    font-size:22px;
  }
  
  .teacher-role {
    font-size:13px;
  }
  
  
  
  .place-copy > p:not(.small-label),
  .ready-box > p:not(.small-label) {
    font-size:14px;
  }
  
}


/* =========================================================
   SHANTI TYPOGRAPHY SYSTEM
   House-of-Om-inspired scale — typography ONLY.
   No layout, images, colors, spacing or section structure.
   ========================================================= */

/* Base */
body.homepage {
  font-size: 16px;
}

/* Navigation */
.home-nav {
  font-size: 15px;
  line-height: 1.4;
}

/* Hero */
.hero h1 {
  font-size: clamp(78px, 6.8vw, 112px);
  line-height: .92;
  font-weight: 400;
}

.hero-copy {
  font-size: 18px;
  line-height: 1.7;
}

.hero-highlight {
  font-size: 18px;
  line-height: 1.5;
}

.hero-text-link,
.hero-location {
  font-size: 14px;
}

.button {
     
}

/* Section heading system */
.homepage .section-title h2 {
  font-size: clamp(38px, 3vw, 46px);
  line-height: 1.15;
  font-weight: 400;
}

.homepage .section-title p {
  font-size: 17px;
  line-height: 1.6;
}



/* Two Ways / cards */
.path-body h3,
.explore-body h3 {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
}

.path-subtitle {
  font-size: 15px;
  line-height: 1.5;
}

.path-meta {
  font-size: 16px;
  line-height: 1.5;
}

.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
.explore-body > p:last-child {
  font-size: 16px;
  line-height: 1.7;
}

.mini-label {
     
}

.themes {
  font-size: 14px;
  line-height: 1.6;
}

/* Upcoming Retreats */
.upcoming-editorial .upcoming-item span {
     
}

.upcoming-editorial .upcoming-item h3 {
  font-size: 28px;
  line-height: 1.18;
}

.upcoming-editorial .upcoming-item p {
  font-size: 15px;
  line-height: 1.6;
}

/* Approach */
.approach-copy h2 {
  font-size: 34px;
  line-height: 1.2;
}

.approach-copy p {
  font-size: 16px;
  line-height: 1.7;
}

.principles h3 {
  font-size: 15px;
}

.principles p {
  font-size: 14px;
  line-height: 1.6;
}

/* Traditions */
.tradition-item h3 {
  font-size: 19px;
  line-height: 1.2;
}

.tradition-item p {
  font-size: 14px;
  line-height: 1.6;
}

/* Sugato */
.small-label {
     
}

.teacher-mini-copy h2 {
  font-size: 36px;
  line-height: 1;
}

/* Requested darker role line */
.teacher-role {
  font-size: 16px;
  line-height: 1.45;
  color: #29251f !important;
  opacity: 1 !important;
  font-weight: 400;
}

.teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
  font-size: 16px;
  line-height: 1.7;
}

.teacher-mini-copy .text-link {
  font-size: 15px;
}

/* Testimonials */
.reviews-mini .section-title h2 {
  font-size: 27px;
}

.review-card > p:not(.review-quote) {
  font-size: 16px;
  line-height: 1.7;
}

.review-person strong {
  font-size: 14px;
}

.review-person span {
     
}

/* Rishikesh */
.place-copy h2 {
  font-size: 40px;
  line-height: 1.1;
}

.place-copy > p:not(.small-label),
.ready-box > p:not(.small-label) {
  line-height: 1.7;
}

.ready-option strong {
}

.ready-option small {
   
}

/* Footer */
.home-footer p,
.home-footer a {
     
  line-height: 1.6;
}

.home-footer h4 {
     
}

.footer-bottom {
   
}

/* Tablet */
@media (max-width:900px) {
  .hero h1 {
    font-size: clamp(66px, 8.5vw, 90px);
  }

  .hero-copy,
  .hero-highlight {
    font-size: 17px;
  }

  .homepage .section-title h2 {
    font-size: 36px;
  }

  .path-body h3,
  .explore-body h3 {
    font-size: 24px;
  }

  .upcoming-editorial .upcoming-item h3 {
     
  }

  .teacher-mini-copy h2 {
    font-size: 32px;
  }
}

/* Mobile */
@media (max-width:600px) {
  .hero h1 {
    font-size: 60px;
  }

  .hero-copy,
  .hero-highlight {
    font-size: 16px;
  }

  .homepage .section-title h2 {
    font-size: 30px;
  }

  .path-body h3,
  .explore-body h3 {
    font-size: 21px;
  }

  .path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
  .explore-body > p:last-child {
    font-size: 15px;
  }

  .upcoming-editorial .upcoming-item h3 {
    font-size: 21px;
  }

  .upcoming-editorial .upcoming-item p {
    font-size: 14px;
  }

  .teacher-mini-copy h2 {
    font-size: 30px;
  }

  .teacher-role {
    font-size: 14px;
  }

  .teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
    font-size: 15px;
  }

  .review-card > p:not(.review-quote) {
    font-size: 15px;
  }

  .place-copy h2 {
    font-size: 31px;
  }
}
/* Make header navigation bold */
.home-nav a{
  font-weight:550;
}
.home-nav .nav-retreats{
  font-weight:780;
}
/* Reduce hero title size */
.hero h1{
  font-size:72px !important;
}
.hero-location{
  position:static;
  margin-top:16px;
  font:10px Arial,sans-serif;
  color:#26342c;
}/* Hero location */
.hero-location{
  position:static !important;
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:7px;
  font-family:Arial,sans-serif;
  font-size:16px !important;
  line-height:1.4;
  color:#26342c;
}

.hero-location svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:#26342c;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none;
}
/* Rishikesh section image */
.place-image{
  overflow:hidden;
}

.place-image img{
  width:90%;
  height:auto;
  object-fit:cover;
  object-position:center right;
  display:block;
}
.hero-location a{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.hero-location a:hover{
  text-decoration:underline;
}
/* =========================================================
   TRUST SIGNALS — BELOW HERO
   ========================================================= */

.trust-signals{
  background:#f7f1e8;

}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  min-height:145px;
}

.trust-item{
  display:flex;
  align-items:center;
  gap:20px;
  padding:28px 24px;
  border-right:1px solid #ddd7cd;
}

.trust-item:first-child{
  padding-left:10px;
}

.trust-item:last-child{
  border-right:0;
}

.trust-icon{
  width:54px;
  height:70px;
  flex:0 0 54px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.trust-icon svg{
  width:54px;
  height:54px;
  fill:none;
  stroke:#252b27;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.trust-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.trust-content strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:38px;
  line-height:1;
  font-weight:400;
  color:#93491f;
  margin-bottom:12px;
}

.trust-content span{
  font-family:Arial,sans-serif;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  color:#2b2924;
}

.trust-content small{
  margin-top:7px;
  font-family:Arial,sans-serif;
  font-size:13px;
  line-height:1.45;
  color:#3f3a33;
}

.trust-content .trust-text-title{
  font-size:17px;
  margin-bottom:9px;
}


/* ---------- TRUST SIGNALS RESPONSIVE ---------- */

@media (max-width:1100px){

  .trust-item{
    gap:13px;
    padding:24px 14px;
  }

  .trust-icon{
    width:45px;
    flex-basis:45px;
  }

  .trust-icon svg{
    width:45px;
    height:45px;
  }

  .trust-content strong{
    font-size:32px;
  }

  .trust-content span{
    font-size:13px;
  }

  .trust-content small{
    font-size:12px;
  }

  .trust-content .trust-text-title{
    font-size:15px;
  }
}


@media (max-width:900px){

  .trust-grid{
    grid-template-columns:repeat(2,1fr);
    padding:10px 0;
  }

  .trust-item{
    border-right:1px solid #ddd7cd;
    border-bottom:1px solid #ddd7cd;
    padding:24px 20px;
  }

  .trust-item:nth-child(2n){
    border-right:0;
  }

  .trust-item:nth-last-child(-n+2){
  }

  .trust-item:first-child{
    padding-left:20px;
  }
}


@media (max-width:600px){

  .trust-grid{
    grid-template-columns:1fr;
    padding:0;
  }

  .trust-item,
  .trust-item:first-child{
    min-height:105px;
    padding:20px;
    border-right:0;
    border-bottom:1px solid #ddd7cd;
  }

  .trust-item:last-child{
    border-bottom:0;
  }

  .trust-icon{
    width:48px;
    flex-basis:48px;
  }

  .trust-icon svg{
    width:46px;
    height:46px;
  }

  .trust-content strong{
    font-size:32px;
  }

  .trust-content span{
    font-size:14px;
  }

  .trust-content small{
    font-size:12px;
  }
}
/* Reduce space between trust signals and Two Ways section */
.paths{
  padding-top:30px !important;
}

.paths .section-title{
  margin-top:0 !important;
}
@media (max-width:600px){
  

  .hero-image img{
    object-position:62% center;
  }
}
.hero-text-link{
  font-size:17px !important;
    font-weight:700 !important;

}
.hero-copy{
  margin-bottom:15px !important;
}

.hero-highlight{
  margin-top:0 !important;
}
.hero-content{
  transform:translateX(28px);
}
/* =========================================================
   REFINED TYPOGRAPHY PASS
   Typography only — consolidated overrides.
   Existing layout, colors, images, and spacing are untouched.
   ========================================================= */

:root {
  --font-serif: Georgia, "Times New Roman", serif;
  --font-sans: Arial, sans-serif;
}

/* Navigation */
.home-nav,
.home-nav a {
  font-family: var(--font-sans);
  font-weight: 400;
}

.home-nav {
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .01em;
}

/* Hero */
.hero h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.045em;
}

.hero-copy {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.hero-highlight {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}

.hero-text-link,
.hero-location {
  font-family: var(--font-sans);
  font-weight: 400;
}

/* Small section labels */
.small-label,
.section-label,
.eyebrow {
  font-family: var(--font-sans);
   
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Major headings */
.homepage .section-title h2 {
  font-family: var(--font-serif);
  font-size: clamp(30px, 2.5vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.01em;
}

.homepage .section-title p {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

/* Retreat / class cards */
.path-body h3,
.explore-body h3,
.upcoming-editorial .upcoming-item h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.2;
}

.path-subtitle,
.path-meta,
.themes,
.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
.explore-body > p:last-child {
  font-family: var(--font-sans);
  font-weight: 400;
}

.path-subtitle {
  font-size: 14px;
  line-height: 1.45;
}

.path-meta {
  font-size: 14px;
  line-height: 1.5;
}

.path-body > p:not(.path-subtitle):not(.path-meta):not(.mini-label):not(.themes),
.explore-body > p:last-child {
  font-size: 15px;
  line-height: 1.65;
}

.mini-label {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .03em;
}

.themes {
     
  line-height: 1.55;
}

/* Upcoming retreats */
.upcoming-editorial .upcoming-item span {
  font-family: var(--font-sans);
   
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.upcoming-editorial .upcoming-item h3 {
  font-size: 24px;
}

.upcoming-editorial .upcoming-item p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
}

/* Approach */
.approach-copy h2 {
  font-family: var(--font-serif);
  font-size: 34px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.01em;
}

.approach-copy p,
.principles p {
  font-family: var(--font-sans);
  font-weight: 400;
}

.principles h3 {
  font-family: var(--font-sans);
     
  font-weight: 600;
  line-height: 1.35;
}

/* Traditions */
.tradition-item h3 {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
}

.tradition-item p {
  font-family: var(--font-sans);
   
  font-weight: 400;
  line-height: 1.55;
}

/* Teacher */
.teacher-mini-copy h2 {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.15;
}

.teacher-role,
.teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
  font-family: var(--font-sans);
  font-weight: 400;
}

.teacher-role {
     
  line-height: 1.5;
}

.teacher-mini-copy > p:not(.small-label):not(.teacher-role) {
  font-size: 14px;
  line-height: 1.65;
}

/* Testimonials */
.reviews-mini .section-title h2 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.15;
}

.review-card > p:not(.review-quote) {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}

.review-person strong {
  font-family: var(--font-sans);
     
  font-weight: 600;
}

.review-person span {
  font-family: var(--font-sans);
   
  font-weight: 400;
}

/* Location / CTA */
.place-copy h2 {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.1;
}

.place-copy > p:not(.small-label),
.ready-box > p:not(.small-label) {
  font-family: var(--font-sans);
  line-height: 1.65;
}

.ready-option strong,
.ready-option small {
  font-family: var(--font-sans);
}

.ready-option strong {
     
  font-weight: 600;
}

.ready-option small {
  font-size: 11px;
  font-weight: 400;
}

/* Buttons / links */
.button,
.text-link,
.cta {
  font-family: var(--font-sans);
  font-weight: 500;
}



.text-link {
  font-size: 14px;
}

/* Footer */
.home-footer,
.home-footer p,
.home-footer a {
  font-family: var(--font-sans);
}

.home-footer p,
.home-footer a {
   
  font-weight: 400;
  line-height: 1.5;
}

.home-footer h4 {
  font-family: var(--font-sans);
   
  font-weight: 600;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.footer-social a{ display:inline-block;  }
.footer-social a i { display:inline-block;  padding:13px; font-size:18px; margin:5px 0 }

.footer-cta{ padding:3em 0px; background: #f7f0e6}



/* Responsive typography */
@media (max-width: 900px) {
  .hero-copy {
    font-size: 17px;
  }

  .homepage .section-title h2 {
    font-size: 30px;
  }

  .path-body h3,
  .explore-body h3 {
    font-size: 22px;
  }

  .teacher-mini-copy h2 {
    font-size: 30px;
  }
}

@media (max-width: 600px) {
  .hero-copy {
    font-size: 16px;
  }

  .homepage .section-title h2 {
    font-size: 27px;
  }

  .path-body h3,
  .explore-body h3,
  .upcoming-editorial .upcoming-item h3 {
    font-size: 20px;
  }

  .teacher-mini-copy h2,
  .place-copy h2 {
    font-size: 29px;
  }

  .review-card > p:not(.review-quote) {
    font-size: 14px;
  }
}
/* =========================================================
   TRUST SIGNALS — ICONS REMOVED
   ========================================================= */

.trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:0;
  padding:28px 20px;
}

.trust-item:first-child{
  padding-left:20px;
}

.trust-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.trust-content strong{
  margin-bottom:10px;
}

.trust-content span{
  font-weight:400;
}

/* Mobile */
@media (max-width:900px){

  .trust-item{
    justify-content:center;
    text-align:center;
    padding:24px 20px;
  }

  .trust-content{
    align-items:center;
    text-align:center;
  }

}

@media (max-width:600px){

  .trust-item,
  .trust-item:first-child{
    justify-content:center;
    text-align:center;
    padding:20px;
  }

  .trust-content{
    align-items:center;
    text-align:center;
  }

}.rating-star{
  color:#B88A3B !important;
  font-family:Arial,sans-serif;
  font-size:32px !important;
  font-weight:400;
  line-height:1;
  margin-right:7px;
  display:inline-block;
  vertical-align:-2px;
}
/* =========================================================
   KEEP EXPLORING — REFINED CARD DESIGN
   ========================================================= */

.explore{
  background:#f7f3ec;
  border-top:1px solid rgba(38,52,44,.025);
  padding:42px 0 45px;
}

.explore .section-title{
  text-align:center;
  margin-bottom:25px;
}

.explore .section-title h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  font-weight:400;
  letter-spacing:.01em;
  margin:0 0 7px;
}

.explore .section-title p{
  font-family:Arial,sans-serif;
  font-size:14px;
  color:#77736b;
  margin:0;
}


/* ---------- TWO CARDS ---------- */

.explore .explore-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
}

.explore .explore-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:#fff;
  border:1px solid #e5dfd5;
  border-radius:0;
  overflow:hidden;
  box-shadow:none;
}


/* ---------- CARD IMAGE ---------- */

.explore .explore-image{
  display:block;
  width:100%;
  height:245px;
  overflow:hidden;
}

.explore .explore-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.explore .local-class-image img{
  object-position:center center;
}

.explore .online-class-image img{
  object-position:center center;
}


/* ---------- CARD CONTENT ---------- */

.explore .explore-body{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:18px 24px 20px;
  min-height:215px;
  background:#fff;
}


/* Icon + heading */

.explore .explore-heading{
  display:flex;
  align-items:center;
  gap:12px;
}

.explore .round-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:transparent;
  border:1px solid #cfc8bd;
  color:#74736d;
  font-size:18px;
  margin:0;
}

.explore .round-icon.gold{
  background:transparent;
  color:#77756e;
}


/* Heading */

.explore .explore-body h3{
  margin:0 0 5px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:.01em;
  color:#4c4a45;
}


/* Philosophy / meditation / practice */

.explore .path-subtitle{
  margin:0;
  color:#77756e;
  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.08em;
  font-weight:500;
}


/* ---------- DIVIDER ---------- */

.explore .explore-divider{
  width:28px;
  height:1px;
  background:#cfc7ba;
  margin:16px 0 12px;
}


/* ---------- DESCRIPTION ---------- */

.explore .explore-description{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.5;
  color:#55524b;
}


/* ---------- INDIVIDUAL BUTTON ---------- */

.explore .explore-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  margin-top:auto;
  padding:10px 18px;
  border:1px solid #bdb8ae;
  background:transparent;
  color:#5d5b55;
  text-decoration:none;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}

.explore .explore-button span{
  margin-left:9px;
  font-size:17px;
  line-height:1;
}

.explore .explore-button:hover{
  background:#f4f0e8;
  color:#3f3d38;
}


/* Hide the old shared button if any remains */

.explore > .site-container > .section-button{
  display:none;
}


/* =========================================================
   KEEP EXPLORING — TABLET
   ========================================================= */

@media (max-width:900px){

  .explore{
    padding:36px 0 40px;
  }

  .explore .explore-grid{
    gap:18px;
  }

  .explore .explore-image{
    height:210px;
  }

  .explore .explore-body{
    padding:17px 20px 18px;
  }

  .explore .explore-body h3{
    font-size:20px;
  }

}


/* =========================================================
   KEEP EXPLORING — MOBILE
   ========================================================= */

@media (max-width:600px){

  .explore{
    padding:32px 0 35px;
  }

  .explore .section-title{
    margin-bottom:20px;
  }

  .explore .section-title h2{
    font-size:27px;
  }

  .explore .section-title p{
    font-size:12px;
  }

  .explore .explore-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .explore .explore-card{
    width:100%;
  }

  .explore .explore-image{
    height:210px;
  }

  .explore .explore-body{
    padding:16px 18px 18px;
    min-height:205px;
  }

  .explore .round-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:16px;
  }

  .explore .explore-body h3{
    font-size:19px;
  }

  .explore .path-subtitle{
    font-size:9px;
  }

  .explore .explore-description{
    font-size:14px;
  }

}

/* =========================================================
   KEEP EXPLORING — FINAL REFERENCE MATCH
   Two contained editorial cards: image left / content right.
   This final block intentionally overrides older explore rules
   elsewhere in this CSS file.
   ========================================================= */

.explore{
  position:relative;
  overflow:hidden;
  background:#f7f3ec;
  padding:48px 0 54px;
}

.explore > .site-container{
  width:min(1180px, calc(100% - 72px));
  max-width:1180px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

.explore .section-title{
  text-align:center;
  margin:0 0 30px;
}

.explore .section-title h2{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,2.5vw,36px);
  line-height:1.1;
  font-weight:400;
  letter-spacing:.01em;
  color:#3e3b35;
}

.explore .section-title p{
  margin:0;
  font-family:Arial,sans-serif;
  font-size:14px;
  line-height:1.5;
  color:#77736b;
}

.explore .explore-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:28px !important;
  width:100%;
  min-width:0;
  align-items:stretch;
}

.explore .explore-card{
  display:grid !important;
  grid-template-columns:minmax(0, 40%) minmax(0, 60%) !important;
  grid-template-rows:1fr;
  width:100%;
  min-width:0 !important;
  min-height:305px;
  height:305px;
  margin:0;
  padding:0;
  background:#fff;
  border:1px solid #ddd6ca;
  border-radius:0;
  overflow:hidden;
  box-shadow:none;
}

.explore .explore-image{
  grid-column:1;
  grid-row:1;
  width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.explore .explore-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
}

.explore .local-class-image img{
  object-position:50% center;
}

.explore .online-class-image img{
  object-position:50% center;
}

.explore .explore-body{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0 !important;
  min-height:0 !important;
  height:100%;
  padding:24px 24px 22px;
  background:#fff;
  overflow:hidden;
}

.explore .explore-heading{
  display:flex;
  align-items:center;
  min-width:0;
  gap:12px;
}

.explore .round-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid #cfc8bd;
  border-radius:50%;
  background:transparent;
  color:#77736c;
  font-size:18px;
}

.explore .round-icon.gold{
  background:transparent;
  color:#77736c;
}

.explore .explore-heading h3,
.explore .explore-body h3{
  min-width:0;
  margin:0 0 5px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,1.8vw,24px);
  line-height:1.1;
  font-weight:400;
  letter-spacing:.01em;
  color:#4b4943;
}

.explore .path-subtitle{
  margin:0;
  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.08em;
  font-weight:500;
  color:#77736b;
  white-space:normal;
}

.explore .explore-divider{
  width:28px;
  height:1px;
  flex:0 0 1px;
  margin:16px 0 12px;
  background:#cfc7ba;
}

.explore .explore-description{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.5;
  color:#55524b;
}

.explore .explore-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:46px;
  margin-top:auto;
  padding:9px 12px;
  border:1px solid #bdb8ae;
  background:transparent;
  color:#5d5b55;
  text-decoration:none;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.10em;
  line-height:1.25;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
  transition:background .2s ease,color .2s ease;
}

.explore .explore-button span{
  flex:0 0 auto;
  margin-left:8px;
  font-size:16px;
  line-height:1;
}

.explore .explore-button:hover{
  background:#f4f0e8;
  color:#3f3d38;
}

/* Prevent long card content from creating horizontal overflow. */
.explore .explore-card > *,
.explore .explore-body > *,
.explore .explore-heading > *{
  min-width:0;
}

@media (max-width:1100px){
  .explore > .site-container{
    width:min(100% - 48px, 1080px);
  }

  .explore .explore-grid{
    gap:20px !important;
  }

  .explore .explore-card{
    grid-template-columns:minmax(0, 42%) minmax(0, 58%) !important;
    height:290px;
    min-height:290px;
  }

  .explore .explore-body{
    padding:20px 19px 18px;
  }

  .explore .explore-body h3{
    font-size:20px;
  }

  .explore .explore-description{
    font-size:14px;
  }
}

@media (max-width:800px){
  .explore{
    padding:40px 0 45px;
  }

  .explore > .site-container{
    width:calc(100% - 40px);
  }

  .explore .explore-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .explore .explore-card{
    grid-template-columns:minmax(0, 40%) minmax(0, 60%) !important;
    height:270px;
    min-height:270px;
  }
}

@media (max-width:600px){
  .explore{
    padding:34px 0 38px;
  }

  .explore > .site-container{
    width:calc(100% - 30px);
  }

  .explore .section-title{
    margin-bottom:22px;
  }

  .explore .section-title h2{
    font-size:28px;
  }

  .explore .section-title p{
    font-size:12px;
  }

  .explore .explore-card{
    grid-template-columns:1fr !important;
    grid-template-rows:205px auto;
    height:auto;
    min-height:0;
  }

  .explore .explore-image{
    grid-column:1;
    grid-row:1;
    height:205px;
  }

  .explore .explore-body{
    grid-column:1;
    grid-row:2;
    height:auto;
    min-height:205px !important;
    padding:17px 18px 18px;
  }

  .explore .round-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:16px;
  }

  .explore .explore-body h3{
    font-size:19px;
  }

  .explore .path-subtitle{
    font-size:9px;
  }

  .explore .explore-description{
    font-size:14px;
  }

  .explore::after{
    width:100px;
    height:62px;
    opacity:.30;
  }
}



/* =========================================================
   KEEP EXPLORING — CLEAN FINAL LAYOUT
   This block is intentionally last so older duplicate
   .explore rules cannot override the final design.
   ========================================================= */

.explore {
  position: relative;
  overflow: hidden;
  padding: 58px 0 62px;
  background: #fcfaf5;
}

.explore > .site-container {
  width: min(1160px, calc(100% - 80px));
  max-width: 1160px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.explore .section-title {
  margin: 0 0 34px;
  text-align: center;
}

.explore .section-title h2 {
  margin: 0 0 9px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 38px);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: .01em;
  color: #403d37;
}

.explore .section-title p {
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #77736b;
}

/* Two genuinely separate cards. */
.explore .explore-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  align-items: stretch;
}

/* Image-left / content-right editorial card. */
.explore .explore-card {
  display: grid !important;
  grid-template-columns: minmax(0, 43%) minmax(0, 57%) !important;
  grid-template-rows: 1fr !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 315px !important;
  min-height: 315px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  position: relative;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transform: none !important;
}

.explore .explore-image {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.explore .explore-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
}

.explore .local-class-image img {
  object-position: center center !important;
}

.explore .online-class-image img {
  object-position: center center !important;
}

.explore .explore-body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: 24px 24px 22px !important;
  margin: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
}

.explore .explore-heading {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100%;
  min-width: 0;
}

.explore .round-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  box-sizing: border-box;
  border: 1px solid #cfc8bd !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #77736c !important;
  font-size: 17px !important;
}

.explore .explore-heading h3,
.explore .explore-body h3 {
  min-width: 0 !important;
  margin: 0 0 5px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(20px, 1.8vw, 25px) !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  color: #48453f !important;
}

.explore .path-subtitle {
  margin: 0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  font-weight: 500 !important;
  color: #77736b !important;
}

.explore .explore-divider {
  width: 30px !important;
  height: 1px !important;
  flex: 0 0 1px !important;
  margin: 17px 0 13px !important;
  background: #cfc7ba !important;
}

.explore .explore-description {
  margin: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #55524b !important;
}

.explore .explore-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 45px !important;
  margin-top: auto !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #bdb8ae !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5d5b55 !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .10em !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.explore .explore-button span {
  flex: 0 0 auto !important;
  margin-left: 8px !important;
  font-size: 15px !important;
}


/* Tablet */
@media (max-width: 900px) {
  .explore > .site-container {
    width: calc(100% - 48px);
  }

  .explore .explore-grid {
    gap: 22px !important;
  }

  .explore .explore-card {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
    height: 300px !important;
    min-height: 300px !important;
  }

  .explore .explore-body {
    padding: 20px !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .explore {
    padding: 44px 0 48px;
  }

  .explore > .site-container {
    width: calc(100% - 32px);
  }

  .explore .section-title {
    margin-bottom: 26px;
  }

  .explore .section-title h2 {
    font-size: 29px;
  }

  .explore .section-title p {
     
  }

  .explore .explore-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .explore .explore-card {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    height: 280px !important;
    min-height: 280px !important;
  }
}

@media (max-width: 500px) {
  .explore .explore-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: 190px auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .explore .explore-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 190px !important;
  }

  .explore .explore-body {
    grid-column: 1 !important;
    grid-row: 2 !important;
    height: auto !important;
    min-height: 210px !important;
    padding: 18px !important;
  }

  .explore::after {
    width: 95px;
    height: 60px;
    opacity: .25;
  }
}


/* ============================================================
   KEEP EXPLORING — FINAL REFERENCE-MATCHED DESIGN
   Image ABOVE content, two elegant cards, centered container.
   This block must remain at the very end of the stylesheet.
   ============================================================ */

.explore {
  position: relative !important;
  overflow: hidden !important;
  padding: 70px 0 58px !important;
  background: #fcfaf6 !important;
}

.explore > .site-container {
  position: relative !important;
  z-index: 2 !important;
  width: min(1080px, calc(100% - 48px)) !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}


.explore .section-title::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 42px !important;
  height: 22px !important;
  opacity: .48 !important;
  pointer-events: none !important;
}

.explore .section-title h2 {
  margin: 0 0 10px !important;
  color: #353a34 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 3.1vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: .015em !important;
}

.explore .section-title p {
  margin: 0 !important;
  color: #66675f !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* TWO CARDS */
.explore .explore-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  align-items: start !important;
}

/* Each card is vertical: photo first, information second */
.explore .explore-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 280px 238px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 518px !important;
  min-height: 518px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  background: #fff !important;
  border: 1px solid #e4dfd6 !important;
  border-radius: 10px !important;
  box-shadow: 0 7px 22px rgba(62, 57, 48, .08) !important;
}

/* PHOTO */
.explore .explore-image {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 280px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.explore .explore-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  transition: none !important;
}

.explore .local-class-image img {
  object-position: center center !important;
}

.explore .online-class-image img {
  object-position: center 10% !important;
}

/* CONTENT */
.explore .explore-body {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 238px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 23px 26px 20px !important;
  background: #fff !important;
  overflow: hidden !important;
}

/* Heading row */
.explore .explore-heading {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.explore .round-icon {
  flex: 0 0 45px !important;
  width: 45px !important;
  height: 45px !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 1px solid #bda477 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #a47c40 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.explore .explore-heading > div:last-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.explore .explore-heading h3,
.explore .explore-body h3 {
  margin: 0 0 7px !important;
  color: #3e403b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 2vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: .01em !important;
}

.explore .path-subtitle {
  margin: 0 !important;
  color: #77766f !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}

/* Fine divider */
.explore .explore-divider {
  width: 38px !important;
  height: 1px !important;
  flex: 0 0 1px !important;
  margin: 17px 0 13px !important;
  background: #cfc5b5 !important;
}

/* Description */
.explore .explore-description {
  margin: 0 !important;
  color: #4f504a !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* BUTTON */
.explore .explore-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin-top: auto !important;
  padding: 10px 15px !important;
  box-sizing: border-box !important;
  border: 1px solid #b99362 !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #956b39 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .10em !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition: background .2s ease, color .2s ease !important;
}

.explore .explore-button span {
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-left: 9px !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.explore .explore-button:hover {
  background: #f7f1e7 !important;
  color: #80582d !important;
}

/* Keep the following section visually separated without touching
   its own layout/styles. */
.explore + .upcoming-retreats {
  border-top: 1px solid #e7e0d4 !important;
  padding-top: 48px !important;
}

/* Tablet */
@media (max-width: 900px) {
  .explore {
    padding: 58px 0 50px !important;
  }

  .explore > .site-container {
    width: calc(100% - 40px) !important;
  }

  .explore .explore-grid {
    gap: 22px !important;
  }

  .explore .explore-card {
    grid-template-rows: 230px 245px !important;
    height: 475px !important;
    min-height: 475px !important;
  }

  .explore .explore-image {
    height: 230px !important;
  }

  .explore .explore-body {
    height: 245px !important;
    padding: 20px !important;
  }

  .explore .explore-heading h3 {
    font-size: 21px !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .explore {
    padding: 48px 0 45px !important;
  }

  .explore > .site-container {
    width: calc(100% - 30px) !important;
  }

  .explore .section-title {
    margin-bottom: 27px !important;
  }

  .explore .section-title h2 {
    font-size: 30px !important;
  }

  .explore .section-title p {
    font-size: 12px !important;
  }

  .explore .explore-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .explore .explore-card {
    grid-template-rows: 220px 235px !important;
    height: 455px !important;
    min-height: 455px !important;
  }

  .explore .explore-image {
    height: 220px !important;
  }

  .explore .explore-body {
    height: 235px !important;
  }

  .explore::after {
    width: 105px !important;
    height: 78px !important;
    opacity: .25 !important;
  }

  .explore + .upcoming-retreats {
    padding-top: 40px !important;
  }
}
/* Center the location/description text */
.explore .explore-description {
    width: 100% !important;
    text-align: center !important;
    transform: translateX(-35px) !important;
}


/* Online image crop */
.explore .online-class-image img {
    object-position: center 60% !important;
}
/* =========================================================
   KEEP EXPLORING — LOCATION TEXT POSITION
   ========================================================= */

.explore .explore-card .explore-body .explore-description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 0 -170px !important;
    padding: 0 !important;

    text-align: center !important;
    position: static !important;
    transform: none !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #55524b !important;
}
/* Move ONLY "Online" text to the left */
.explore .online-class-image ~ .explore-body .explore-description {
    position: relative !important;
    left: -45px !important;
}
/* DARKER SEPARATOR DOTS */
.explore .path-subtitle .path-dot {
    color: #2f2d29 !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* =========================================
   CLASS CARD SVG ICONS
   ========================================= */
.explore .class-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #a47c40 !important;
}

.explore .class-icon svg {
    width: 27px !important;
    height: 27px !important;
    display: block !important;
    fill: none !important;
    stroke: #a47c40 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.explore .class-icon svg * {
    fill: none !important;
    stroke: #a47c40 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
/* =========================================================
   REDUCE VERTICAL SPACE BETWEEN HOMEPAGE SECTIONS
   Layout/content remains unchanged
   ========================================================= */

.homepage .section-tight {
    padding-top:  !important;
    padding-bottom: 20px !important;
}

/* Trust Signals */
.trust-signals {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Two Ways to Go Deeper */
.paths {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Keep Exploring */
.explore {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Upcoming */
.upcoming-editorial {
    padding-top: 32px !important;
    padding-bottom: 36px !important;
}

/* Approach */
.approach {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* =========================================================
   NEW SUGATO + TESTIMONIALS DESIGN
   Add at the VERY BOTTOM of CSS
   ========================================================= */

/* ---------- MAIN SECTION ---------- */

.teacher-reviews {
  width: 100%;
  background: #f7f0e6;
  padding: 0 !important;
}


/* =========================================================
   SUGATO SECTION
   Image LEFT + Text RIGHT
   ========================================================= */

.sugato-preview {
  width: 100%;
  display: grid;
  grid-template-columns: 46% 54%;
  align-items: stretch;
  background: #fcf8f1;
}

.sugato-preview-image-wrap {
  width: 100%;
  min-height: 300px;
  overflow: hidden;
}

.sugato-preview-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  /* Keep the photo layout like the reference */
  object-position: center center;
}

.sugato-preview-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 45px 8% 45px 7%;
  background: transparent;
}

.sugato-preview-copy .small-label {
  margin: 0 0 7px;
}

.sugato-preview-copy h2 {
  margin: 0 0 5px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.05;
  font-weight: 400;
  color: #2b2924;
}

.sugato-preview-copy .teacher-role {
  margin: 0 0 15px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-style: italic;
  color: #756f65;
}

.sugato-preview-copy > p:not(.small-label):not(.teacher-role) {
  max-width: 480px;
  margin: 0 0 17px;
     
  line-height: 1.65;
  color: #4f4b44;
}

.sugato-preview-copy .text-link {
  width: fit-content;
  color: #9a7045;
}


/* =========================================================
   STUDENT EXPERIENCES
   ========================================================= */

.student-experiences {
  width: 100%;
  background: #f7f0e6;
  padding: 38px 7% 34px;
}


/* ---------- HEADING ---------- */

.student-experiences-heading {
  text-align: center;
  margin-bottom: 22px;
}

.student-experiences-heading .small-label {
  margin: 0 0 5px;
  font-size: 10px;
  letter-spacing: .12em;
  color: #6c756e;
}


.student-experiences-heading .title-ornament {
  display: block;
  margin-top: 6px;
  color: #a98052;
  font-size: 15px;
}


/* =========================================================
   MAIN / FEATURED TESTIMONIAL
   ========================================================= */

.featured-testimonial {
  max-width: 760px;
  margin: 0 auto 22px;

  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;

  padding: 0 20px 20px;

  border-bottom: 1px solid #ded3c3;
}

.featured-quote {
  flex: 0 0 auto;

  margin-top: -4px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  line-height: .8;

  color: #a98052;
}

.featured-testimonial-content {
  max-width: 620px;
  text-align: left;
}

.featured-testimonial-content > p {
  margin: 0 0 10px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.45;
  font-style: italic;

  color: #3d3933;
}

.featured-person {
  display: flex;
  align-items: center;
  gap: 7px;

  font-size: 11px;
}

.featured-person strong {
  color: #2b2924;
}

.featured-person span {
  color: #756f65;
}


/* =========================================================
   THREE SMALL TESTIMONIALS
   ========================================================= */

.testimonial-row {
  max-width: 1000px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.testimonial-small {
  min-height: 135px;
  padding: 0 28px;
}

.testimonial-small + .testimonial-small {
  border-left: 1px solid #ded3c3;
}

.testimonial-quote {
  display: block;

  margin: -2px 0 3px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  line-height: .7;

  color: #a98052;
}

.testimonial-small > p {
  margin: 0 0 12px;

  font-family: Georgia, "Times New Roman", serif;
     
  line-height: 1.45;
  font-style: italic;

  color: #4a453e;
}

.testimonial-person {
  display: flex;
  align-items: center;
  gap: 6px;

  font-size: 13px;
}

.testimonial-person strong {
  color: #2b2924;
}

.testimonial-person span {
  color: #756f65;
}


/* ---------- READ ALL EXPERIENCES ---------- */

.student-experiences .center-link {
  margin-top: 20px;
  text-align: center;
}

.student-experiences .center-link .text-link {
  font-size: 11px;
  color: #9a7045;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

  .sugato-preview {
    grid-template-columns: 1fr;
  }

  .sugato-preview-image-wrap {
    min-height: 300px;
  }

  .sugato-preview-copy {
    padding: 32px 7%;
  }

  .testimonial-row {
    grid-template-columns: 1fr;
  }

  .testimonial-small {
    min-height: auto;
    padding: 20px 10px;
  }

  .testimonial-small + .testimonial-small {
    border-left: 0;
    border-top: 1px solid #ded3c3;
  }

}


@media (max-width: 600px) {

  .student-experiences {
    padding: 32px 20px 30px;
  }

  .student-experiences-heading h2 {
     
  }

  .featured-testimonial {
    padding-left: 5px;
    padding-right: 5px;
    gap: 10px;
  }

  .featured-quote {
    font-size: 46px;
  }

  .featured-testimonial-content > p {
    font-size: 15px;
  }

  .sugato-preview-image-wrap {
    min-height: 270px;
  }

  .sugato-preview-copy h2 {
    font-size: 27px;
  }

}/* =========================================================
   FIX SUGATO SECTION HEIGHT
   ========================================================= */

.sugato-preview {
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
  display: grid !important;
  grid-template-columns: 46% 54% !important;
}

.sugato-preview-image-wrap {
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
  overflow: hidden !important;
}

.sugato-preview-image {
  width: 100% !important;
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
  object-fit: cover !important;
}

.sugato-preview-copy {
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
  box-sizing: border-box !important;
  padding: 30px 7% !important;
}


/* Keep the text compact */



.sugato-preview-copy .teacher-role {
  margin-bottom: 10px !important;
}

.sugato-preview-copy > p:not(.small-label):not(.teacher-role) {
  margin-bottom: 12px !important;
  line-height: 1.5 !important;
}


/* =========================================================
   DESKTOP — slightly shorter
   ========================================================= */

@media (min-width: 901px) {

  .sugato-preview {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .sugato-preview-image-wrap {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .sugato-preview-image {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .sugato-preview-copy {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    padding: 28px 7% !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

  .sugato-preview {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
  }

  .sugato-preview-image-wrap {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }

  .sugato-preview-image {
    height: 200px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }

  .sugato-preview-copy {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 28px 7% !important;
  }

}/* =====================================================
   SUGATO PHOTO - FINAL CROP ONLY
   ===================================================== */

.teacher-mini > img.sugato-preview-image {
    width: 220px !important;
    height: 330px !important;
    aspect-ratio: auto !important;

    object-fit: cover !important;

    /* Crop slightly from top/bottom */
    object-position: center 28% !important;

    border-radius: 6px !important;
}
@media (max-width: 900px) {

    .teacher-mini > img.sugato-preview-image {
        width: 200px !important;
        height: 300px !important;

        object-fit: cover !important;
        object-position: center 28% !important;
    }

}
/* Sugato photo crop */
.sugato-preview-image-wrap {
    overflow: hidden !important;
}

.sugato-preview-image {
    width: 100% !important;
    height: 70% !important;
    object-fit: cover !important;
    object-position: center 65% !important;
    display: block !important;
}
/* =========================================================
   NEXT AT SHANTI / UPCOMING
   ========================================================= */

.upcoming-editorial {
    padding: 70px 0 75px !important;
    background: #f8f5ee !important;
}

.upcoming-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}


/* ---------- HEADING ---------- */

.upcoming-heading {
    text-align: center;
    margin-bottom: 42px;
}

.upcoming-eyebrow {
    margin: 0 0 10px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 48px !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
    color: #1f2924 !important;
    font-weight: 500 !important;
}

.upcoming-heading h2 {
    margin: 0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    color: #333 !important;
}


/* Floral divider */

.upcoming-flower {
    margin: 18px auto 0;
    font-size: 27px;
    line-height: 1;
    color: #9b8060;
}


/* ---------- FOUR CARDS ---------- */

.upcoming-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch;
}


/* ---------- CARD ---------- */

.upcoming-card {
    position: relative;
    overflow: visible;
    text-align: center;
    border-radius: 14px;
    background: #f1eee5;
    padding-bottom: 27px;
}


/* ---------- IMAGE ---------- */

.upcoming-image {
    width: 100%;
    height: 255px;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
}

.upcoming-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ---------- DATE PILL ---------- */

.upcoming-date {
    position: relative;
    z-index: 2;

    display: table;
    margin: 15px auto 0;
    padding: 7px 18px;

    border-radius: 30px;

    font-family: Arial, sans-serif;
       
    font-weight: 600;
    letter-spacing: 0.8px;
    white-space: nowrap;
}


/* Date colours */

.date-green {
    background: #a5ad9a;
    color: #fff;
}

.date-orange {
    background: #d98b52;
    color: #fff;
}

.date-blue {
    background: #9eafb2;
    color: #fff;
}

.date-grey {
    background: #9ca18d;
    color: #fff;
}


/* ---------- CARD CONTENT ---------- */

.upcoming-card-body {
    padding: 16px 25px 0;
}

.upcoming-type {
    margin: 0 0 12px !important;

    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1.4px !important;
    color: #292e2b !important;
    text-transform: uppercase !important;
}


.upcoming-card h3 {
    margin: 0 !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    color: #202721 !important;
}


/* Small divider */

.upcoming-small-line {
    width: 45px;
    height: 1px;
    margin: 28px auto 20px;
    background: #a9a397;
}


/* Topics */

.upcoming-meta {
    margin: 0 !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #303530 !important;
}


/* Location */

.upcoming-location {
    margin: 5px 0 0 !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    color: #303530 !important;
}


/* ---------- CALENDAR BUTTON ---------- */

.upcoming-calendar {
    text-align: center;
    margin-top: 42px;
}

.upcoming-calendar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;

    min-width: 300px;
    padding: 14px 28px;

    border: 1px solid #4e5951;
    border-radius: 35px;

    text-decoration: none;

    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 1.4px;

    color: #303932;
    background: transparent;

    transition: all 0.25s ease;
}

.upcoming-calendar a span {
    font-size: 23px;
    line-height: 1;
}

.upcoming-calendar a:hover {
    background: #303932;
    color: #fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .upcoming-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .upcoming-eyebrow {
        font-size: 40px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .upcoming-editorial {
        padding: 50px 0 55px !important;
    }

    .upcoming-heading {
        margin-bottom: 30px;
    }

    .upcoming-eyebrow {
        font-size: 34px !important;
    }

    .upcoming-heading h2 {
        font-size: 17px !important;
    }

    .upcoming-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .upcoming-image {
        height: 240px;
    }

    .upcoming-card h3 {
        font-size: 25px !important;
    }

    .upcoming-calendar {
        margin-top: 35px;
    }

    .upcoming-calendar a {
        min-width: 0;
        width: 85%;
    }
}/* ============================================================
   UPCOMING / NEXT AT SHANTI — FINAL ALIGNMENT FIX
   Reference-matched 4 equal cards
   ============================================================ */

/* ---------- SECTION ---------- */

.upcoming-editorial {
    width: 100% !important;
    padding: 55px 0 55px !important;
    background: #f8f5ee !important;
}

.upcoming-container {
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}


/* ---------- HEADING ---------- */

.upcoming-heading {
    width: 100% !important;
    text-align: center !important;
    margin: 0 0 38px !important;
}

.upcoming-eyebrow {
    margin: 0 0 8px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 46px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px !important;
    color: #202721 !important;
}

.upcoming-heading h2 {
    margin: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: #454943 !important;
}

.upcoming-flower {
    margin: 14px auto 0 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    color: #9b8060 !important;
}


/* ============================================================
   FOUR EQUAL CARDS
   ============================================================ */

.upcoming-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}


/* ---------- CARD ---------- */

.upcoming-grid .upcoming-card {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 540px !important;

    display: flex !important;
    flex-direction: column !important;

    position: relative !important;
    overflow: visible !important;

    padding: 0 0 25px !important;
    margin: 0 !important;

    text-align: center !important;

    background: #f1eee5 !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}


/* ============================================================
   IMAGE
   ============================================================ */

.upcoming-grid .upcoming-image {
    width: 100% !important;
    height: 255px !important;
    min-height: 255px !important;
    max-height: 255px !important;

    flex: 0 0 255px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    border-radius: 14px 14px 0 0 !important;
}

.upcoming-grid .upcoming-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ============================================================
   DATE PILLS
   All dates occupy exactly the same vertical position
   ============================================================ */

.upcoming-grid .upcoming-date {
    position: relative !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: max-content !important;
    min-width: 116px !important;
    height: 34px !important;

    margin: 15px auto 0 !important;
    padding: 0 17px !important;

    border-radius: 30px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: .7px !important;
    white-space: nowrap !important;
}


/* Date colours */

.upcoming-grid .date-green {
    background: #a5ad9a !important;
    color: #fff !important;
}

.upcoming-grid .date-orange {
    background: #d98b52 !important;
    color: #fff !important;
}

.upcoming-grid .date-blue {
    background: #9eafb2 !important;
    color: #fff !important;
}

.upcoming-grid .date-grey {
    background: #9ca18d !important;
    color: #fff !important;
}


/* ============================================================
   CARD CONTENT
   ============================================================ */

.upcoming-grid .upcoming-card-body {
    width: 100% !important;

    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    padding: 16px 20px 0 !important;
    margin: 0 !important;
}


/* Card type */

.upcoming-grid .upcoming-type {
    width: 100% !important;

    margin: 0 0 11px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 1.2px !important;

    color: #292e2b !important;
    text-transform: uppercase !important;
}


/* Card title */

.upcoming-grid .upcoming-card h3 {
    width: 100% !important;

    min-height: 72px !important;

    margin: 0 !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;

    color: #202721 !important;
}


/* Small divider */

.upcoming-grid .upcoming-small-line {
    width: 45px !important;
    height: 1px !important;

    flex: 0 0 1px !important;

    margin: 25px auto 18px !important;

    background: #aaa49a !important;
}


/* Topics */

.upcoming-grid .upcoming-meta {
    width: 100% !important;

    margin: 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;

    color: #303530 !important;
}


/* Location */

.upcoming-grid .upcoming-location {
    width: 100% !important;

    margin: 4px 0 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.4 !important;

    color: #303530 !important;
}


/* ============================================================
   CALENDAR BUTTON
   ============================================================ */

.upcoming-calendar {
    width: 100% !important;

    text-align: center !important;

    margin: 34px 0 0 !important;
}

.upcoming-calendar a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 300px !important;
    height: 54px !important;

    padding: 0 28px !important;

    gap: 18px !important;

    border: 1px solid #4e5951 !important;
    border-radius: 35px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;

    color: #303932 !important;
    background: transparent !important;
}

.upcoming-calendar a span {
    font-size: 22px !important;
    line-height: 1 !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .upcoming-container {
        width: calc(100% - 40px) !important;
    }

    .upcoming-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .upcoming-grid .upcoming-card {
        min-height: 530px !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .upcoming-editorial {
        padding: 45px 0 50px !important;
    }

    .upcoming-container {
        width: calc(100% - 30px) !important;
    }

    .upcoming-heading {
        margin-bottom: 28px !important;
    }

    .upcoming-eyebrow {
        font-size: 34px !important;
    }

    .upcoming-heading h2 {
        font-size: 16px !important;
    }

    .upcoming-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .upcoming-grid .upcoming-card {
        min-height: 0 !important;
    }

    .upcoming-grid .upcoming-image {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        flex-basis: 240px !important;
    }

    .upcoming-grid .upcoming-card h3 {
        min-height: 0 !important;
        font-size: 25px !important;
    }

    .upcoming-calendar {
        margin-top: 30px !important;
    }

    .upcoming-calendar a {
        min-width: 0 !important;
        width: 90% !important;
    }
}/* =========================================================
   FINAL MOBILE FIX — TRUST SIGNALS + HERO
   ========================================================= */

@media (max-width: 600px) {

  /* ---------- TRUST SIGNALS: 2 PER ROW ---------- */

  .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 !important;
  }

  .trust-item,
  .trust-item:first-child {
    min-height: 125px;
    padding: 20px 10px !important;
    border-right: 1px solid #ddd7cd;
    border-bottom: 1px solid #ddd7cd;
    justify-content: center;
    text-align: center;
  }

  /* Remove right border from every second item */
  .trust-item:nth-child(2n) {
    border-right: 0;
  }

  /* First four signals form the 2 × 2 grid */
  .trust-item:nth-child(1),
  .trust-item:nth-child(2),
  .trust-item:nth-child(3),
  .trust-item:nth-child(4) {
    grid-column: auto;
  }

  /* Google rating spans the complete row */
  .trust-item:last-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
    min-height: 125px;
  }

  /* Center the trust content */
  .trust-content {
    align-items: center !important;
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  .trust-content strong {
    font-size: 32px;
    line-height: 1;
    margin-bottom: 9px;
  }

  .trust-content span {
       
    line-height: 1.4;
  }

  .trust-content small {
     
    line-height: 1.4;
  }


  /* ---------- HERO: STOP TEXT FROM BEING CUT OFF ---------- */

  .hero-content {
    width: calc(100% - 30px) !important;
    max-width: 100% !important;
    margin-left: 15px !important;
    margin-right: 15px !important;

    /* Remove the 28px right shift */
    transform: none !important;
  }

  .hero h1 {
    font-size: 52px !important;
    line-height: .94 !important;
    letter-spacing: -.04em;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

}/* =========================================================
   KEEP EXPLORING — FINAL CLEANUP
   ========================================================= */

/* ---------- CARD CONTENT ---------- */

.explore .explore-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}


/* ---------- HEADING ---------- */

.explore .explore-heading {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}

.explore .explore-heading > div:last-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}


/* ---------- TITLE ---------- */

.explore .explore-heading h3 {
    margin: 0 0 7px !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(21px, 2vw, 27px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: .01em !important;

    color: #3e403b !important;
}


/* ---------- PHILOSOPHY / MEDITATION / PRACTICE ---------- */

.explore .explore-heading .path-subtitle {
    margin: 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: .08em !important;

    color: #77766f !important;
}

.explore .path-subtitle .path-dot {
    color: #a47c40 !important;
    font-weight: 600 !important;
}


/* ---------- MAIN DESCRIPTION ---------- */

.explore .explore-body .explore-description {
    display: block !important;

    width: 100% !important;
    max-width: 430px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    position: static !important;
    left: auto !important;

    text-align: left !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    color: #55524b !important;
}


/* ---------- DIVIDER ---------- */

.explore .explore-divider {
    width: 38px !important;
    height: 1px !important;

    flex: 0 0 1px !important;

    margin: 18px 0 12px !important;

    background: #b99362 !important;
}


/* ---------- LOCATION ---------- */

.explore .explore-location {
    display: block !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    transform: none !important;
    position: static !important;

    text-align: left !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;

    color: #55524b !important;
}


/* ---------- BUTTON ---------- */

.explore .explore-button {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    min-height: 48px !important;

    margin-top: auto !important;
    padding: 10px 15px !important;

    box-sizing: border-box !important;

    border: 1px solid #b99362 !important;
    border-radius: 3px !important;

    background: transparent !important;
    color: #956b39 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .10em !important;
    line-height: 1.3 !important;

    text-align: center !important;
    text-decoration: none !important;
}


/* ---------- IN-PERSON IMAGE CROP ---------- */

/*
   Move the image crop upward so the girl's head
   is no longer cut off.
*/

.explore .local-class-image img {
    object-position: center 25% !important;
}


/* Keep online image crop as it is */
.explore .online-class-image img {
    object-position: center 60% !important;
}


/* ---------- DESKTOP / TABLET ---------- */

@media (min-width: 701px) {

    .explore .explore-body {
        padding: 23px 26px 20px !important;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

    .explore .explore-body {
        padding: 20px !important;
    }

    .explore .explore-heading {
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .explore .explore-heading h3 {
        font-size: 21px !important;
    }

    .explore .explore-heading .path-subtitle {
        font-size: 9px !important;
        letter-spacing: .06em !important;
    }

    .explore .explore-body .explore-description {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .explore .explore-location {
        font-size: 14px !important;
    }

    .explore .local-class-image img {
        object-position: center 22% !important;
    }

}/* =========================================================
   KEEP EXPLORING — FINAL CARD FIX
   ========================================================= */

/* Make the content area tall enough */ 
.explore .explore-card { 
    grid-template-rows: 280px auto !important; 
    height: auto !important; 
    min-height: 0 !important; 
} 


/* Image */ 
.explore .explore-image { 
    height: 280px !important; 
} 


/* Content */ 
.explore .explore-body { 
    height: auto !important; 
    min-height: 270px !important; 
    padding: 23px 26px 22px !important; 
    box-sizing: border-box !important; 
    overflow: visible !important; 
} 


/* Heading */ 
.explore .explore-heading { 
    margin: 0 0 16px !important; 
} 


/* Main description — MOVE TEXT TO THE RIGHT */ 
.explore .explore-body .explore-description { 
    display: block !important; 

    width: calc(100% - 45px) !important; 
    max-width: calc(100% - 45px) !important; 

    margin: 0 0 0 45px !important; 
    padding: 0 !important; 

    position: static !important; 
    left: auto !important; 
    right: auto !important; 
    transform: none !important; 

    text-align: left !important; 

    font-family: Georgia, "Times New Roman", serif !important; 
    font-size: 15px !important; 
    line-height: 1.55 !important; 

    color: #55524b !important; 
} 


/* Divider */ 
.explore .explore-divider { 
    width: 38px !important; 
    height: 1px !important; 

    margin: 17px 0 12px !important; 

    background: #b99362 !important; 
} 


/* Location */ 
/* Location */ 
.explore .explore-location {  
    display: block !important;  

    width: auto !important;  
    max-width: 100% !important;  

    margin: 0 0 18px !important; 
    padding: 0 !important;  

    position: static !important;  
    left: auto !important;  
    right: auto !important;  
    transform: none !important;  

    text-align: left !important;  

    font-family: Georgia, "Times New Roman", serif !important;  
    font-size: 14px !important;  
    line-height: 1.4 !important;  

    color: #77736b !important;  
}

/* Button */ 
.explore .explore-button { 
    width: 100% !important; 
    min-height: 46px !important; 

    margin-top: auto !important; 

    box-sizing: border-box !important; 

    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
} 


/* In-person image crop */ 
.explore .local-class-image img { 
    object-position: center 25% !important; 
} 


/* Online image crop */ 
.explore .online-class-image img { 
    object-position: center 60% !important; 
} 


/* ========================================================= 
   MOBILE 
   ========================================================= */ 

@media (max-width: 700px) { 

    .explore .explore-card { 
        grid-template-rows: 220px auto !important; 
        height: auto !important; 
        min-height: 0 !important; 
    } 

    .explore .explore-image { 
        height: 220px !important; 
    } 

    .explore .explore-body { 
        min-height: 0 !important; 
        padding: 20px !important; 
        overflow: visible !important; 
    } 

    .explore .explore-heading { 
        margin-bottom: 15px !important; 
    } 

    .explore .explore-heading h3 { 
        font-size: 21px !important; 
    } 

    .explore .explore-body .explore-description { 
        margin-left: 25px !important;
        width: calc(100% - 25px) !important;
        max-width: calc(100% - 25px) !important;
        font-size: 15px !important; 
        line-height: 1.5 !important; 
    } 

    .explore .explore-location { 
        font-size: 14px !important; 
    } 

}
/* =========================================================
   HOMEPAGE STRUCTURE UPDATE
   Trust Signals -> Our Approach -> Three Programs ->
   existing Sugato / testimonials / Rishikesh / footer
   ========================================================= */

/* ---------- OUR APPROACH ---------- */
.home-approach{
  position:relative;
  overflow:hidden;
  padding:30px 0 48px;
  background:var(--paper);
  border-top:1px solid rgba(38,52,44,.035);
}

.home-approach .site-container{
  position:relative;
  z-index:2;
}

.home-approach-heading{
  max-width:860px;
  margin:0 auto;
  text-align:center;
}

.home-section-label{
 font-size: 17px;
    line-height: 1.35;
    color: #9a7045;
    font-family: Arial, sans-serif;
    text-transform: uppercase;
    font-weight: bold;
}



.home-accent-line{
  display:block;
  width:34px;
  height:1px;
  margin:13px auto 16px;
  background:#a98052;
}

.home-approach-intro{
  max-width:790px;
  margin:0 auto;
  color:#4f4b44;
}

.home-approach-principles{
  max-width:980px;
  margin:38px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
}

.home-approach-principle{
  min-height:122px;
  padding:0 42px;
  text-align:center;
  border-right:1px solid var(--line);
}

.home-approach-principle:last-child{
  border-right:0;
}

.home-principle-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0 auto 9px;
  color:#26342c;
}

.home-principle-icon svg{
  display:block;
  width:40px;
  height:40px;
}

.home-approach-principle h3{
  margin:0 0 8px;
  color:#3f463f;
  font:700 12px/1.2 Arial,sans-serif;
  letter-spacing:.22em;
}

.home-approach-principle p{
  max-width:225px;
  margin:0 auto;
  color:#5b5851;
}

.home-approach-footer{
  max-width:620px;
  margin:25px auto 0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
}

.home-approach-footer span{
  height:1px;
  background:#bcb4a7;
}

.home-approach-footer strong{
  color:#4c554e;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.25em;
  white-space:nowrap;
}



/* ---------- THREE PROGRAMS ---------- */
.home-programs{
  padding:30px 0 58px;
  background:#f7f1e8;
}

.home-programs-heading{
  max-width:100%;
  margin:0 auto 30px;
  text-align:center;
}

.home-programs-heading > p:last-child{
  margin:0;
  color:#625e56;
}

.home-program-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.home-program-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fffaf2;
  border:1px solid #dfd5c6;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 5px rgba(38,52,44,.025);
}

.home-program-image{
  height:255px;
  overflow:hidden;
  background:#e8dfd2;
}

.home-program-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.home-program-body{
  min-height:265px;
  padding:19px 21px 20px;
  display:flex;
  flex-direction:column;
}

.home-program-number{
  display:block;
  margin-bottom:6px;
  color:#6d746d;
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:.18em;
}

.home-program-body h3{
  margin:0 0 10px;
  color:#2b2924;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1.08;
  font-weight:400;
}

.home-program-subtitle{
  margin:0 0 13px;
  color:#8a6947;
  font:700 11px/1.45 Arial,sans-serif;
  letter-spacing:.14em;
}

.home-program-body > p:not(.home-program-subtitle){
  margin:0;
  color:#555149;
}

.home-program-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin-top:auto;
  color:#526257;
  border-bottom:1px solid currentColor;
  font:700 12px/1.4 Arial,sans-serif;
  letter-spacing:.14em;
}

.home-program-link span{
  font-size:15px;
  line-height:1;
  letter-spacing:0;
}

/* Keep the existing lower homepage section visually continuous. */
.home-programs + .teacher-reviews{
  border-top:0;
}
.teacher-reviews.home-sugato{
  margin: 40px 0 !important;
  
}

/* ---------- NAV / HERO CTA TARGETS ---------- */
.home-nav .nav-cta{
  min-width:140px;
  text-align:center;
}

/* ---------- TABLET ---------- */
@media (max-width:900px){
  .home-approach{
    padding:48px 0 42px;
  }

  .home-approach-intro,
  .home-programs-heading > p:last-child{
    font-size:14px;
  }

  .home-approach-principle{
    padding:0 20px;
  }

  .home-program-grid{
    gap:14px;
  }

  .home-program-image{
    height:180px;
  }

  .home-program-body{
    min-height:245px;
    padding:17px 17px 18px;
  }

  .home-program-body h3{
    font-size:21px;
  }

  .home-program-body > p:not(.home-program-subtitle){
    font-size:13px;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width:600px){
  .home-approach{
    padding:43px 0 36px;
  }

  .home-approach-heading h2,
  .home-programs-heading h2{
    font-size:29px;
  }

  .home-approach-intro{
    padding:0 8px;
    font-size:14px;
    line-height:1.6;
  }

  .home-approach-principles{
    grid-template-columns:1fr;
    gap:0;
    margin-top:28px;
  }

  .home-approach-principle{
    min-height:0;
    padding:20px 12px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .home-approach-principle:last-child{
    border-bottom:0;
  }

  .home-approach-principle p{
    font-size:14px;
  }

  .home-approach-footer{
    gap:10px;
    margin-top:18px;
  }

  .home-approach-footer strong{
    font-size:8px;
    letter-spacing:.16em;
  }

  .home-approach-leaf{
    opacity:.13;
    transform:scale(.75);
  }

  .home-approach-leaf-left{
    left:-75px;
  }

  .home-approach-leaf-right{
    right:-75px;
  }

  .home-programs{
    padding:42px 0 44px;
  }

  .home-programs-heading{
    margin-bottom:23px;
  }

  .home-programs-heading > p:last-child{
    font-size:14px;
  }

  .home-program-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .home-program-image{
    height:210px;
  }

  .home-program-body{
    min-height:0;
    padding:18px 20px 20px;
  }

  .home-program-body h3{
    font-size:24px;
  }

  .home-program-body > p:not(.home-program-subtitle){
    font-size:14px;
  }

  .home-program-link{
    margin-top:20px;
  }
}




/*  =============================   AMIT CSS START FROM HERE ============================================== */
:root {
      --shanti-ink: #9a7045;
      --shanti-muted: #5d6268;
      --shanti-paper: #f8f7f2;
      --shanti-line: #d8d7d0;
      --shanti-green: #9a7045;
      --shanti-copper: #8a5b3d;
      --shanti-sand: #e9e3d8;
       --twprog-ink: #18304b;
            --twprog-muted: #626c78;
            --twprog-paper: #f8f7f3;
            --twprog-cream: #f2f0e9;
            --twprog-line: #d9d8d2;
            --twprog-green: #263c31;
            --twprog-copper: #b77b3f;
            --twprog-white: #ffffff;
    }

:root {
    --medprog-ink: #18304b;
    --medprog-muted: #5c6672;
    --medprog-paper: #f8f7f3;
    --medprog-cream: #f2f0e9;
    --medprog-line: #d8d7d1;
    --medprog-copper: #a96e40;
    --medprog-green: #9a7045;
    --medprog-white: #ffffff;
}




.eyebrow { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--shanti-muted); }
    .section-title { display:flex; align-items:center; justify-content:center; gap: 1rem; text-align:center; margin-bottom:.2rem; }
    .section-title:before,.section-title:after { content:""; width:36px; height:2px; background:#9a7045; }
    .section-subtitle { color:var(--shanti-muted);  font-style:italic; text-align:center; font-size:1.05rem; }
    .btn-shanti { background:var(--shanti-green); color:#fff; border:1px solid var(--shanti-green); border-radius:3px; padding:.72rem 1.2rem; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
    .btn-shanti:hover { background:#17291f; color:#fff; }
    .btn-outline-shanti { background:transparent; color:var(--shanti-ink); border:1px solid #8d918f; border-radius:3px; padding:.72rem 1.2rem; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
    .btn-outline-shanti:hover { background:#ebe9e1; color:var(--shanti-ink); }
    .hero {
      min-height: 460px; display:flex; align-items:stretch; position:relative; overflow:hidden;
      background:linear-gradient(90deg, var(--shanti-paper) 0%, var(--shanti-paper) 40%, rgba(248,247,242,.88) 48%, rgba(248,247,242,0) 68%),
        url("") center/cover no-repeat;
      border-top:1px solid var(--shanti-line);
    }
    .hero-content { width:min(100%, 100%); padding:clamp(0rem,5vw,0rem) 0; position:relative; z-index:1; }
    .hero h1 span { display:block; }
    .hero .lead { max-width:490px; color:#555d64;  font-size:1.15rem; line-height:1.35; }
    .hero-meta { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin:1.2rem 0; }
    .meta-item { display:flex; gap:.65rem; align-items:flex-start; font-size:14px; letter-spacing:.07em;  }
    .meta-item strong sub { top:-4px }
    .meta-icon { font-size:1.2rem; color:var(--shanti-ink); line-height:1; }
    .hero-note { position:absolute; right:5%; top:9%; max-width:230px; text-align:center; font:italic 1.2rem/1.25 "Playfair Display",Georgia,serif; color:#353b3b; }
    .hero-note:after { content:""; display:block; width:35px; height:1px; background:#a39c90; margin:1rem auto 0; }
    .section-pad { padding:2rem 0; }
    .vision-card { text-align:center; padding:1.2rem 1rem .8rem; height:100%; }
    .vision-card + .vision-card { border-left:1px solid var(--shanti-line); }
    .symbol { color:var(--shanti-copper); font-size:80px; height:auto; margin-bottom:3.4rem; line-height:0px }
    .symbol.symbol2 { color:var(--shanti-copper); font-size:60px; height:auto; margin-bottom:3.4rem; line-height:0px }
    .vision-card p { color:var(--shanti-muted);  font-size:1rem; }
    .journey { background:#f2f1eb; border-top:none; border-bottom:none; }
    .journey-image { min-height:300px; background:url("../images/tantra2.jpg") center/cover no-repeat; }
    .step { padding:1rem 1.2rem; border-right:1px solid var(--shanti-line); height:100%; }
    .step:last-child { border-right:0; }
    .step-num { font:2rem "Playfair Display",Georgia,serif; color:var(--shanti-copper); border-bottom:1px solid #c7c1b5; display:inline-block; padding-bottom:.3rem; margin-bottom:.7rem; }
    .step p { color:var(--shanti-muted);  font-size:1rem; }
    .approach { position:relative; overflow:hidden; background:#fbfaf6; border-bottom:none; }
    
    .number-12 { font:5.8rem/.85 "Playfair Display",Georgia,serif; color:var(--shanti-green); }
    .dharanas { font:italic 1.6rem "Playfair Display",Georgia,serif; }
    .approach-copy {  padding-left:1.5rem; }
    .tiny-label { font-size:.67rem; letter-spacing:.16em; text-transform:uppercase; color:var(--shanti-muted); }
    .explore-item { display:flex; align-items:center; gap:1rem; padding:1rem; min-height:125px; }
    .explore-item + .explore-item { border-left:1px solid var(--shanti-line); }
    .circle-img { width:105px; height:105px; flex:0 0 105px; border-radius:50%; object-fit:cover; border:1px solid #d4cfc4; }
    .explore-item p { color:var(--shanti-muted);  font-size:.95rem; }
    .day-strip { background:#f1f0e9; border-top:1px solid var(--shanti-line); }
    .day-item { text-align:center; padding:1rem .5rem; border-right:1px solid var(--shanti-line); }
    .day-item:last-child { border-right:0; }
    .day-icon { font-size:2rem; color:var(--shanti-copper); display:block; margin-bottom:.45rem; }
    .day-label { font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; }
    .cta {
      text-align:center; padding:1.6rem 1rem; color:var(--shanti-ink);
      background:linear-gradient(rgba(248,247,242,.7),rgba(248,247,242,.7)),url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1800&q=80") center/cover;
      
    }
    .cta h3{ margin-bottom: 12px;
    font-size: 17px;
    line-height: 1.35;
    color: #9a7045;
    font-family: Arial, sans-serif;
 }




 .bhg-page {color: var(--bhg-ink);background: var(--bhg-paper);font-family: "DM Sans", Arial, sans-serif;font-size: 14px;line-height: 1.42;overflow: hidden;}
.bhg-page *,.bhg-page *::before,.bhg-page *::after {box-sizing: border-box;}

        .bhg-page h1,
        .bhg-page h2,
        .bhg-page h3,
        .bhg-page h4,
        .bhg-serif {
              
            font-weight: 400;
        }

        .bhg-page h2 {
            font-size: clamp(26px, 3vw, 34px);
            line-height: 1.15;
            margin-bottom: 6px;
        }

        .bhg-page h3 {
            font-size: 20px;
            line-height: 1.2;
            margin-bottom: 6px;
        }

        .bhg-page p {
            margin-bottom: 7px;
        }

        .bhg-eyebrow {
            font-size: 10px;
            letter-spacing: 1.6px;
            text-transform: uppercase;
            color: var(--bhg-muted);
        }

        /* =========================================
           SECTION HEADING
        ========================================= */

        .bhg-section {
            padding: 25px 0;
        }

        .bhg-section-heading {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            text-align: center;
            margin-bottom: 5px;
        }

        .bhg-section-heading::before,
        .bhg-section-heading::after {
            content: "";
            width: 35px;
            height: 1px;
            background: #b9b4a9;
            flex-shrink: 0;
        }

        .bhg-section-subtitle {
            text-align: center;
            color: var(--bhg-muted);
            font: italic 16px/1.4 "Playfair Display", Georgia, serif;
            margin-bottom: 20px;
        }

        /* =========================================
           SECTION 1: GITA'S VISION
        ========================================= */

        .bhg-vision {
            background: var(--bhg-paper);
        }

        .bhg-vision-card {
            height: 100%;
            padding: 15px 20px;
            text-align: center;
        }

        .bhg-vision-card + .bhg-vision-card {
            border-left: 1px solid var(--bhg-line);
        }

        .bhg-vision-icon {
            min-height: 45px;
            color: var(--bhg-ink);
            font-size: 36px;
            line-height: 1.2;
            margin-bottom: 5px;
        }

        .bhg-vision-kicker {
            font-size: 10px;
            letter-spacing: 1.7px;
            text-transform: uppercase;
        }

        .bhg-vision-card h3 {
            font-size: 22px;
            margin-bottom: 10px;
        }

        .bhg-vision-card p {
            color: var(--bhg-muted);
            font: 15px/1.4 "Playfair Display", Georgia, serif;
        }

        /* =========================================
           SECTION 2: WHY THIS JOURNEY
        ========================================= */

        .bhg-why {
            background: #f2f1eb;
            border-top: 1px solid #eeece5;
            border-bottom: 1px solid #e3e1d9;
        }

        .bhg-question {
            text-align: center;
            padding: 12px 18px;
            height: 100%;
            font: 19px/1.35 "Playfair Display", Georgia, serif;
        }

        .bhg-question + .bhg-question {
            border-left: 1px solid var(--bhg-line);
        }

        .bhg-question::after {
            content: "";
            display: block;
            width: 30px;
            height: 1px;
            background: #c4bdb1;
            margin: 12px auto 0;
        }

        .bhg-question-answer {
            text-align: center;
            padding: 5px 22px;
            font: 15px/1.4 "Playfair Display", Georgia, serif;
        }

        /* =========================================
           SECTION 3: A TEACHING FOR LIFE
        ========================================= */

        .bhg-teaching {
            background: #fbfaf6;
        }

        .bhg-teaching-image {
            min-height: 260px;

            background:
                linear-gradient(
                    rgba(24, 37, 54, 0.08),
                    rgba(24, 37, 54, 0.08)
                ),
                url("../images/gita-walking.jpg")
                center / cover no-repeat;
        }

        .bhg-teaching-copy {
            padding: 30px clamp(20px, 4vw, 50px);
            align-self: center;
        }

        .bhg-teaching-heading {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 10px;
        }

        .bhg-teaching-heading::after {
            content: "";
            width: 35px;
            height: 1px;
            background: #b9b4a9;
        }

        .bhg-teaching-copy p {
            color: #50565d;
            font: 15px/1.5 "Playfair Display", Georgia, serif;
        }

        /* =========================================
           SECTION 4: WHAT YOU WILL EXPLORE
        ========================================= */

        .bhg-explore {
            background: var(--bhg-paper);
        }

        .bhg-explore-card {
            text-align: center;
            padding: 15px 22px;
            height: 100%;
        }

        .bhg-explore-card + .bhg-explore-card {
            border-left: 1px solid var(--bhg-line);
        }

        .bhg-explore-icon {
            height: 45px;
            font-size: 35px;
            line-height: 1.2;
            margin-bottom: 8px;
        }

        .bhg-explore-card h3 {
            font-size: 22px;
        }

        .bhg-explore-card p {
            color: var(--bhg-muted);
            font: 15px/1.4 "Playfair Display", Georgia, serif;
        }

        /* =========================================
           SECTION 5: A TYPICAL DAY
        ========================================= */

        .bhg-day-scene {
            position: relative;
            padding: 22px 0 18px;
            color: #fff;
            text-align: center;

            background:
                linear-gradient(
                rgba(23, 36, 49, 0.35),
                rgba(23, 36, 49, 0.48)
                ),
                url("../images/gita4.jpg")
                center 58% / cover no-repeat;
                }
.bhg-day-scene .bhg-section-heading::before, .bhg-day-scene .bhg-section-heading::after {background: rgba(255, 255, 255, 0.7);}
.bhg-day-scene .bhg-section-subtitle {color: rgba(255, 255, 255, 0.95);margin-bottom: 10px;}
.bhg-day-item {padding: 15px 8px 8px;height: 100%;}
.bhg-day-icon {display: block;font-size: 34px;line-height: 1.3;margin-bottom: 8px; color: #fff}
.bhg-day-label {font-size: 10px;letter-spacing: 1.3px;text-transform: uppercase; color: #fff;}
.bhg-verse {background: #f6f4ee;border-bottom: 1px solid var(--bhg-line);text-align: center;padding: 20px 15px;}
.bhg-verse-intro {font: 15px "Playfair Display", Georgia, serif;margin-bottom: 8px;}
.bhg-verse-sanskrit {font: 25px/1.5 "Playfair Display", Georgia, serif;}
.bhg-verse-translation {font: italic 15px/1.5 "Playfair Display", Georgia, serif;}
.bhg-verse-source {font-size: 10px;letter-spacing: 1.7px;text-transform: uppercase;color: var(--bhg-muted);margin-top: 8px;}

        /* =========================================
           SECTION 7: PROGRAM DETAILS
        ========================================= */

.bhg-details {padding: 25px 0;background: #fbfaf6;border-bottom: 1px solid var(--bhg-line);}
.bhg-detail-box {padding: 5px 20px;height: 100%;}
.bhg-detail-box + .bhg-detail-box {border-left: 1px solid var(--bhg-line);}
.bhg-detail-title {font: 25px "Playfair Display", Georgia, serif;margin-bottom: 12px;}
.bhg-detail-row {display: flex;gap: 12px;align-items: flex-start;margin-bottom: 12px;   }
.bhg-detail-icon { line-height: 1;min-width: 28px;}
.bhg-audience-list {padding-left: 18px;margin-bottom: 0;font: 15px/1.5 "Playfair Display", Georgia, serif; }

        /* =========================================
           SECTION 8: BOTTOM CTA
        ========================================= */

.bhg-cta {padding: 20px 0;background:linear-gradient(rgba(248, 247, 242, 0.78), rgba(248, 247, 242, 0.78) ),url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1800&q=85")center / cover no-repeat;}
.bhg-cta-line {display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 15px;}
.bhg-cta-message {font: 17px "Playfair Display", Georgia, serif;text-align: center;}
.bhg-btn {display: inline-block;padding: 12px 22px;border: 1px solid var(--bhg-green);border-radius: 30px;background: var(--bhg-green);color: #fff;text-decoration: none;text-transform: uppercase;font-size: 10px;letter-spacing: 1px;transition: background 0.2s ease;}
.bhg-btn:hover {background: #17291f;color: #fff;}
.bhg-btn-outline {background: transparent;color: var(--bhg-ink);border-color: #8d918f;}
.bhg-btn-outline:hover {background: #ebe9e1;color: var(--bhg-ink);}


.twprog-page {
            width: 100%;
            overflow: hidden;
            background: var(--twprog-paper);
            color: var(--twprog-ink);
            font-family: "DM Sans", sans-serif;
            font-size: 14px;
            line-height: 1.5;
        }

        .twprog-page *,
        .twprog-page *::before,
        .twprog-page *::after {
            box-sizing: border-box;
        }

        .twprog-page h1,
        .twprog-page h2,
        .twprog-page h3,
        .twprog-page h4,
        .twprog-serif {
              
            font-weight: 400;
        }

        .twprog-page p {
            margin-bottom: 10px;
        }

        .twprog-page p.ssss {
            margin-bottom: 10px;
            width: 50%;
            margin: 15px auto 0 auto !important;
        }

        .twprog-page a {
            text-decoration: none;
        }

        .twprog-section {
            position: relative;
            width: 100%;
            padding: 0px 100px;
        }
        .program-title-3 h2{ font-size:40px; }
        .program-title-3{margin-bottom: 0px;}

        /* =========================================
           1. PROGRAM INTRODUCTION
        ========================================= */

        .twprog-intro {
            position: relative;
            min-height: auto;
            padding: 60px 0 0px 0;
            text-align: center
           /* background:
                linear-gradient(
                    90deg,
                    rgba(248,247,243,1) 0%,
                    rgba(248,247,243,.98) 36%,
                    rgba(248,247,243,.76) 54%,
                    rgba(248,247,243,.08) 57%
                ),
                url("../images/program-inner.jpg")
                center 48% / cover no-repeat;
        */
      }

        .twprog-intro-content {
            position: relative;
            z-index: 2;
            max-width: 100%;
            padding: 0 15px;
            padding-bottom: 20px;
        }

        .twprog-eyebrow {
            display: inline-block;
            margin-bottom: 10px;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 1.8px;
            text-transform: uppercase;
            color: var(--twprog-ink);
        }

        .twprog-intro-title {
            max-width: 100%;
            margin: 0 0 12px;
            font-size: clamp(36px, 5vw, 58px);
            line-height: 1.08;
            letter-spacing: -1.8px;
            color: var(--twprog-ink);
        }
        .twprog-intro-title2 {
            max-width: 100%;
            margin: 0 0 12px;
            font-size: clamp(36px, 5vw, 48px);
            line-height: 1.08;
            letter-spacing: -1.8px;
            color: var(--twprog-ink);
        }

        .twprog-intro-description {
            max-width: 100%;
              
            font-size: 17px;
            line-height: 1.55;
            color: #303c4a;
        }

        /* =========================================
           2. PROGRAM TIMELINE
        ========================================= */

        .twprog-timeline {
            position: relative;
            z-index: 3;
            padding: 0 0 25px;
            background: transparent;
        }

        .twprog-timeline-inner {
            position: relative;
            max-width: 1050px;
            margin: 0 auto;
        }

        .twprog-timeline-line {
            position: absolute;
            top: 38px;
            left: 5%;
            width: 90%;
            height: 1px;
            background: #b9b8b1;
        }

        .twprog-timeline-item {
            position: relative;
            z-index: 1;
            text-align: center;
            padding: 0 15px;
        }

        .twprog-timeline-days {
            display: block;
              
            font-size: 19px;
            line-height: 1.4;
            color: var(--twprog-ink);
            margin-bottom: 3px;
        }
        .twprog-timeline-days sub{ bottom:auto; top:-7px }

        .twprog-timeline-dot {
            display: block;
            width: 11px;
            height: 11px;
            margin: 0 auto 10px;
            border-radius: 50%;
            background: var(--twprog-copper);
            border: 1px solid #e4c39b;
        }

        .twprog-timeline-item:nth-child(3) .twprog-timeline-dot {
            background: #a97a69;
        }

        .twprog-timeline-title {
            display: block;
            max-width: 220px;
            margin: 0 auto;
              
            font-size: 16px;
            line-height: 1.35;
            color: var(--twprog-ink);
        }

        /* =========================================
           3. PROGRAM CARDS
        ========================================= */

        .twprog-program-card {
            display: grid;
            grid-template-columns: 1fr 1fr;
            min-height: 240px;
            background: var(--twprog-paper);
            border-top: none;
        }

        .twprog-program-card:last-child {
            border-bottom: 1px solid var(--twprog-line);
        }

        .twprog-program-image {
            width: 100%;
            overflow: hidden;
            background-color: #e5e2d9;
            height: 240px;
        }

        .twprog-program-image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease;
        }

       

        .twprog-program-content {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 25px 7%;
            overflow: hidden;
        }

        .twprog-program-content::after {
            content: attr(data-number);
            position: absolute;
            top: 8px;
            right: 20px;
            z-index: 0;
              
            font-size: 60px;
            line-height: 1;
            color: rgba(24,48,75,.055);
            pointer-events: none;
        }

        .twprog-program-content > * {
            position: relative;
            z-index: 1;
        }

        .twprog-program-meta {
            margin-bottom: 7px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1.7px;
            text-transform: uppercase;
            color: var(--twprog-ink);
        }

        .twprog-program-meta sub {top: -4px;}

        .twprog-program-title {
            margin: 0 0 3px;
            font-size: clamp(23px, 2.7vw, 31px);
            line-height: 1.2;
            color: var(--twprog-ink);
        }

        .twprog-program-subtitle {
            margin-bottom: 12px;
              
            font-size: 17px;
            line-height: 1.35;
            color: #9a7045;
        }

        .twprog-program-description {
            max-width: 500px;
            margin-bottom: 12px;
               
            line-height: 1.55;
            color: #4f5b67;
        }

        .twprog-learn-link {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            width: fit-content;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: var(--twprog-ink);
            transition: color .2s ease;
        }

        .twprog-learn-link span {
            font-size: 20px;
            font-weight: 400;
            line-height: 1;
        }

        .twprog-learn-link:hover {
            color: var(--twprog-copper);
        }

        /* Alternate image and text positions */

        .twprog-program-card.twprog-reverse .twprog-program-image {
            order: 2;
        }

        .twprog-program-card.twprog-reverse .twprog-program-content {
            order: 1;
        }

        /* =========================================
           4. DEEPER EXPLORATION
        ========================================= */

        .twprog-exploration {
            position: relative;
            padding: 45px 15px 30px;
            text-align: center;
            background:
                #f7f1e8
        }

        .twprog-exploration-title {
            margin-bottom: 5px;
            font-size: clamp(32px, 4vw, 42px);
            line-height: 1.2;
        }

        .twprog-exploration-description {
            max-width: 720px;
            margin: 0 auto 25px;
              
            font-size: 18px;
            line-height: 1.5;
        }

        .twprog-exploration-divider {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            margin: 15px 0 25px;
        }

        .twprog-exploration-divider::before,
        .twprog-exploration-divider::after {
            content: "";
            width: 50px;
            height: 1px;
            background: #bcb8ad;
        }

        .twprog-exploration-divider span {
            width: 7px;
            height: 7px;
            border: 1px solid var(--twprog-copper);
            border-radius: 50%;
        }

        .twprog-exploration-label {
            margin-bottom: 10px;
            font-size: 13px;
            font-weight: ;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .twprog-join-title {
            margin-bottom: 28px;
            font-size: clamp(25px, 3vw, 34px);
        }

        /* =========================================
           5. PRICING / PROGRAM SELECTION
        ========================================= */

        .twprog-pricing {
            padding: 0 0 35px;
            background: var(--twprog-paper);
        }

        .twprog-pricing-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            max-width: 1100px;
            margin: 0 auto;
        }

        .twprog-price-card {
            position: relative;
            min-width: 0;
            padding: 15px 18px 20px;
            text-align: center;
            border-right: 1px solid var(--twprog-line);
            transition: background .25s ease;
        }

        .twprog-price-card:last-child {
            border-right: 0;
        }

        .twprog-price-card.twprog-featured {
            background: #f0e8de;
            border: 1px solid #d9c8b4;
            border-radius: 4px;
        }

        .twprog-price-title {
            margin-bottom: 5px;
            font-size: 21px;
            line-height: 1.3;
        }

        .twprog-price-duration {
            margin-bottom: 2px;
              
            font-size: 15px;
            color: var(--twprog-muted);
        }

        .twprog-price-amount {
            margin-bottom: 10px;
            font-size: 19px;
            font-weight: 500;
            color: var(--twprog-ink);
        }

        .twprog-price-amount span {
            font-family: "DM Sans", sans-serif;
            font-size: 14px;
        }

        .twprog-select-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            padding: 5px 0;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: var(--twprog-ink);
        }

        .twprog-select-link span {
            font-size: 19px;
            font-weight: 400;
        }

        .twprog-select-link:hover {
            color: var(--twprog-copper);
        }

        /* =========================================
           6. ENQUIRY
        ========================================= */

        .twprog-enquiry {
            padding: 0 15px 35px;
            text-align: center;
            background: var(--twprog-paper);
        }

        .twprog-enquiry-text {
              
            font-size: 15px;
            color: var(--twprog-muted);
        }

        .twprog-enquiry-link {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            margin-left: 8px;
            padding: 5px 0;
               
            color: var(--twprog-ink);
            border-bottom: 1px solid #bcb8ad;
        }

        .twprog-enquiry-link span {
            font-size: 20px;
        }

        .twprog-enquiry-link:hover {
            color: var(--twprog-copper);
        }





.medprog-page {
    width: 100%;
    overflow: hidden;
    background: var(--medprog-paper);
    color: var(--medprog-ink);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.medprog-page *,
.medprog-page *::before,
.medprog-page *::after {
    box-sizing: border-box;
}

.medprog-page h1,
.medprog-page h2,
.medprog-page h3,
.medprog-page h4 {
      
    font-weight: 400;
    color: var(--medprog-ink);
}

.medprog-page p {
    margin-bottom: 0;
}

.medprog-page a {
    text-decoration: none;
}
.medprog-page svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.medprog-icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.medprog-detail-icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.medprog-eyebrow {
    display: block;
    margin-bottom: 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
    line-height: 1.5;
    text-transform: uppercase;
    color: var(--medprog-ink);
}

.medprog-section-heading {
    text-align: center;
}

.medprog-heading-title {
    margin: 0;
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: 1.2;
}


/* =========================================
   1. THE PROGRAM
========================================= */

.medprog-program-section {
    padding: 28px 0 18px;
    background: var(--medprog-paper);
}

.medprog-program-section .medprog-section-heading {
    margin-bottom: 20px;
}

.medprog-pillars-row {
    align-items: stretch;
}

.medprog-pillar {
    height: 100%;
    padding: 0 15px 15px;
    text-align: center;
    border-right: 1px solid var(--medprog-line);
}

.medprog-pillars-row > div:last-child .medprog-pillar {
    border-right: 0;
}

.medprog-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 8px;
    color: var(--medprog-copper);
}

.medprog-pillar-label {
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.8px;
    line-height: 1.4;
    text-transform: uppercase;
}

.medprog-pillar-title {
    margin: 0;
    font-family: "DM Sans", sans-serif;
       
    line-height: 1.45;
    font-weight: 400;
    color: #374555;
}

.medprog-program-summary {
    margin-top: 7px;
    text-align: center;
      
    font-size: 16px;
    line-height: 1.5;
    color: #374555;
}


/* =========================================
   2. WHY THIS JOURNEY
========================================= */

.medprog-journey-section {
    background: var(--medprog-cream);
}

.medprog-journey-image {
    width: 100%;
    height: 100%;
    min-height: 290px;
    overflow: hidden;
    background: #e6e1d7;
}

.medprog-journey-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 290px;
    object-fit: cover;
}

.medprog-journey-content {
    padding: 30px 6%;
}

.medprog-journey-title {
    max-width: 540px;
    margin: 0 0 25px;
    font-size: clamp(31px, 4vw, 42px);
    line-height: 1.12;
    letter-spacing: -1px;
}

.medprog-questions-row {
    margin-top: 5px;
}

.medprog-question {
    height: 100%;
    padding: 0 14px;
    border-right: 1px solid #d2d0c8;
}

.medprog-questions-row > div:first-child .medprog-question {
    padding-left: 0;
}

.medprog-questions-row > div:last-child .medprog-question {
    padding-right: 0;
    border-right: 0;
}

.medprog-question h3 {
    margin: 0 0 8px;
    font-family: "DM Sans", sans-serif;
     
    font-weight: 500;
    line-height: 1.45;
}

.medprog-question p {
     
    line-height: 1.55;
    color: #4c5967;
}


/* =========================================
   3. YOGA SUTRAS PATHWAY
========================================= */

.medprog-pathway-section {
    padding: 28px 0 25px;
    background:
        linear-gradient(
            rgba(245, 247, 247, .9),
            rgba(248, 247, 243, .95)
        ),
        url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1800&q=85")
        center / cover no-repeat;
}

.medprog-pathway-heading {
    text-align: center;
    margin-bottom: 20px;
}

.medprog-pathway-heading .medprog-eyebrow {
    margin-bottom: 0;
    font-size: 11px;
    letter-spacing: 2px;
}

.medprog-pathway {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
    max-width: 90%;
    margin: 0 auto 22px;
}

.medprog-pathway-item {
    min-width: 100px;
}

.medprog-pathway-item h3 {
    margin: 0 0 3px;
    font-size: 19px;
    line-height: 1.3;
}

.medprog-pathway-item p {
     
    color: var(--medprog-muted);
}

.medprog-pathway-arrow {
    font-size: 30px;
    line-height: 1;
    color: var(--medprog-ink);
}

.medprog-pathway-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    max-width: 620px;
    margin: 0 auto;
    padding: 10px 20px;
    background: rgba(245, 244, 239, .85);
    border: 1px solid rgba(216, 215, 209, .6);
}

.medprog-note-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding-right: 12px;
    color: var(--medprog-copper);
    border-right: 1px solid #c9c6bd;
}

.medprog-pathway-note p {
      
    font-size: 14px;
    line-height: 1.45;
}


/* =========================================
   4. WHAT YOU WILL EXPLORE
========================================= */

.medprog-explore-section {
    padding: 22px 0 25px;
    background: var(--medprog-paper);
}

.medprog-explore-section > .container > .medprog-eyebrow {
    margin-bottom: 12px;
}

.medprog-explore-row {
    align-items: stretch;
}

.medprog-explore-card {
    height: 100%;
    padding: 5px 12px 10px;
    text-align: center;
    border-right: 1px solid var(--medprog-line);
}

.medprog-explore-row > div:last-child .medprog-explore-card {
    border-right: 0;
}

.medprog-explore-card .medprog-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
}

.medprog-meditation-icon {
    width: 48px !important;
    height: 48px !important;
}

.medprog-explore-card h3 {
    margin: 0 0 4px;
    font-size: 16px;
    line-height: 1.35;
}

.medprog-explore-card p {
     
    line-height: 1.45;
    color: #4f5c69;
}


/* =========================================
   5. A TYPICAL DAY
========================================= */

.medprog-day-section {
    padding: 28px 0 22px;
    text-align: center;
    background: var(--medprog-cream);
}

.medprog-day-heading {
    margin-bottom: 20px;
}

.medprog-day-heading .medprog-eyebrow {
    margin-bottom: 8px;
}

.medprog-day-heading .medprog-heading-title {
    font-size: clamp(25px, 3vw, 34px);
}

.medprog-day-grid {
    align-items: stretch;
    max-width: 1050px;
    margin: 0 auto;
}

.medprog-day-item {
    padding: 0 15px 12px;
    border-right: 1px solid #d1cfc7;
}

.medprog-day-grid > div:last-child .medprog-day-item {
    border-right: 0;
}

.medprog-day-item .medprog-icon {
    width: 43px;
    height: 43px;
    margin-bottom: 8px;
}

.medprog-day-item h3 {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.medprog-day-silence {
    margin: 5px 0 7px;
    font-size: 10px;
    font-weight: ;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.medprog-day-description {
      
       
    color: var(--medprog-muted);
}


/* =========================================
   6. PROGRAM DETAILS
========================================= */

.medprog-details-section {
    padding: 22px 0 25px;
    background: var(--medprog-paper);
}

.medprog-details-block {
    padding-right: 30px;
    border-right: 1px solid var(--medprog-line);
}

.medprog-detail-item {
    display: inline-block;
    align-items: flex-start;
    gap: 13px;
    padding: 8px 0;
    width: 33%;
    vertical-align: top;

}
.medprog-detail-item2 {
    padding-left: 80px;

}

.medprog-detail-icon {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    color: var(--medprog-ink);
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
}
.medprog-detail-icon2{ display:inline-block; vertical-align:top; }
.medprog-detail-item sub{ top:-4px; }
.medprog-detail-item h3 {
    margin: 0 0 2px;
    font-family: "DM Sans", sans-serif;
     
    font-weight: 600;
}

.medprog-detail-item p {
     
    color: var(--medprog-muted);
}

.medprog-detail-item a {
    display: inline-block;
    margin-top: 3px;
    font-size: 11px;
    color: var(--medprog-ink);
    border-bottom: 1px solid #aaa79e;
}

.medprog-detail-item a:hover {
    color: var(--medprog-copper);
}

.medprog-audience-block {
    padding-left: 30px;
}

.medprog-audience-block ul {
    margin: 0;
    padding-left: 18px;
}

.medprog-audience-block li {
    padding: 2px 0;
     
    line-height: 1.5;
    color: #465463;
    position: relative;
}
.medprog-audience-block li:before{ content:''; position:absolute; top :9px; left:-13px; width:7px; height:7px; border-radius:100%; background:#555; list-style:none; }


/* =========================================
   7. SUTRA QUOTE
========================================= */

.medprog-quote-section {
    position: relative;
    padding: 50px 0;
    text-align: center;
    background:
        linear-gradient(
            rgba(243, 245, 243, .68),
            rgba(243, 245, 243, .72)
        ),
        url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1800&q=85")
        center 55% / cover no-repeat;
}

.medprog-quote-section.sunrise-bg {
    position: relative;
    padding: 50px 0;
    text-align: center;
    background:
        linear-gradient(
            rgba(243, 245, 243, .68),
            rgba(243, 245, 243, .72)
        ),
        url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1800&q=80")
        center 55% / cover no-repeat;
}

.medprog-quote-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
}

.medprog-quote-symbol {
    font-size: 43px;
    line-height: 1;
    color: var(--medprog-ink);
}

.medprog-quote-content h2 {
    margin: 0 0 5px;
    font-size: 22px;
    line-height: 1.4;
}

.medprog-quote-translation {
      
    font-size: 17px;
    font-style: italic;
    line-height: 1.45;
}

.medprog-quote-reference {
    display: inline-block;
    margin-top: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}


/* =========================================
   8. CLOSING ENQUIRY
========================================= */

.medprog-cta-section {
    padding: 18px 0;
    background: var(--medprog-paper);
}

.medprog-cta-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}

.medprog-cta-content h2 {
    margin: 0;
    font-size: 19px;
    line-height: 1.4;
}

.medprog-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 25px;
    background: var(--medprog-green);
    border: 1px solid var(--medprog-green);
    border-radius: 3px;
    color: var(--medprog-white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: all .25s ease;
}

.medprog-cta-button span {
    font-size: 18px;
    font-weight: 400;
}

.medprog-cta-button:hover {
    background: transparent;
    color: var(--medprog-green);
}

.medprog-dates-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
     
    color: var(--medprog-ink);
}

.medprog-calendar-symbol {
    font-size: 23px;
}

.medprog-dates-link:hover {
    color: var(--medprog-copper);
}



.shanti-about-page {
    --shanti-about-navy: #18304b;
    --shanti-about-red: #9a7045;
    --shanti-about-green: #233d32;
    --shanti-about-cream: #f7f6f1;
    --shanti-about-white: #ffffff;
    --shanti-about-muted: #596575;
    --shanti-about-border: #deddd7;
    --shanti-about-soft: #f0eee7;
}



/* =========================================
   2. BASE STYLES
========================================= */

.shanti-about-page {
    width: 100%;
    overflow: hidden;
    background: var(--shanti-about-cream);
    color: var(--shanti-about-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.shanti-about-page *,
.shanti-about-page *::before,
.shanti-about-page *::after {
    box-sizing: border-box;
}

.shanti-about-page h1,
.shanti-about-page h2,
.shanti-about-page h3,
.shanti-about-page h4 {
      
    font-weight: 400;
}

.shanti-about-page p {
    margin-bottom: 8px;
}

.shanti-about-page a {
    text-decoration: none;
}

.shanti-about-page img {
    display: block;
    max-width: 100%;
}

.shanti-about-page svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shanti-about-container {
    max-width: 1140px;
}


/* =========================================
   3. ABOUT BANNER
========================================= */

.shanti-about-banner {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 350px;
/*    background-image: url("../images/about-inner.jpg");*/
    background-position: center 52%;
    background-size: cover;
    background-repeat: no-repeat;
}

/*.shanti-about-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(20, 29, 35, 0.66) 0%,
        rgba(20, 29, 35, 0.35) 50%,
        rgba(20, 29, 35, 0.12) 100%
    );
}*/

.shanti-about-banner-content {
    position: relative;
    z-index: 1;
    padding: 25px 0;
}

.shanti-about-banner-content h1 {
    margin: 0 0 3px;
    color: var(--shanti-about-white);
    font-size: clamp(38px, 5vw, 52px);
    line-height: 1.15;
    letter-spacing: -1px;
}

.shanti-about-banner-content p {
    margin: 0;
    color: var(--shanti-about-white);
      
    font-size: 19px;
    line-height: 1.4;
}


/* =========================================
   4. INTRO SECTION
========================================= */

.shanti-about-intro {
    padding: 12px 0;
    background: var(--shanti-about-cream);
}

.shanti-about-intro-content {
    padding-right: 20px;
}


.shanti-about-intro-content p {
    margin-bottom: 6px;
      
       
    line-height: 1.45;
}

.shanti-about-intro-image {
    height: 280px;
    overflow: hidden;
    background: var(--shanti-about-soft);
}

.shanti-about-intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* =========================================
   5. WHY SHANTI EXISTS
========================================= */

.shanti-about-why {
    padding: 12px 0;
    background: var(--shanti-about-white);
}

.shanti-about-why-content {
    padding-right: 35px;
}



.shanti-about-why-content p {
    margin-bottom: 6px;
      
       
    line-height: 1.5;
}

.shanti-about-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 125px;
    padding: 15px 20px;
    border-left: 1px solid #c9a5a2;
}

.shanti-about-quote-mark {
    display: none;
}

.shanti-about-quote blockquote {
    margin: 0;
    color: var(--shanti-about-red);
      
    font-size: 22px;
    line-height: 1.4;
}


/* =========================================
   6. AT THE HEART OF SHANTI
========================================= */

.shanti-about-heart {
    padding: 14px 0 12px;
    background: var(--shanti-about-cream);
}

.shanti-about-section-heading {
    margin-bottom: 10px;
}

.shanti-about-section-heading h2 {
    margin: 0 0 2px;
     
    line-height: 1.3;
}

.shanti-about-section-heading p {
    margin: 0;
      
       
}

.shanti-about-heart-row {
    align-items: stretch;
}

.shanti-about-heart-card {
    height: 100%;
    padding: 0 20px 5px;
    text-align: center;
    border-right: 1px solid var(--shanti-about-border);
}

.shanti-about-heart-row > div:first-child .shanti-about-heart-card {
    padding-left: 0;
}

.shanti-about-heart-row > div:last-child .shanti-about-heart-card {
    padding-right: 0;
    border-right: 0;
}

.shanti-about-heart-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 5px;
    padding: 7px;
    border-radius: 50%;
    background: #f0eee8;
    color: var(--shanti-about-red);
}

.shanti-about-heart-card h3 {
    margin: 0 0 4px;
    color: var(--shanti-about-red);
    font-size: 19px;
    line-height: 1.3;
}

.shanti-about-heart-card p {
    max-width: 230px;
    margin: 0 auto;
      
     
    line-height: 1.45;
}


/* =========================================
   7. GUIDED BY SUGATO
========================================= */

.shanti-about-teacher {
    padding: 12px 0;
    background: var(--shanti-about-white);
}

.shanti-about-teacher-content {
    padding-right: 25px;
}

.shanti-about-teacher-content h2 {
    margin: 0 0 3px;
     
    line-height: 1.3;
}

.shanti-about-teacher-label {
    display: block;
    margin-bottom: 8px;
    color: #777c80;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.7px;
    line-height: 1.5;
    text-transform: uppercase;
}

.shanti-about-teacher-content p {
    margin-bottom: 7px;
      
       
    line-height: 1.5;
}

.shanti-about-text-link {
    display: inline-block;
    color: var(--shanti-about-red);
       
    font-weight: 500;
    transition: color 0.2s ease;
}

.shanti-about-text-link span {
    margin-left: 5px;
    font-size: 17px;
}

.shanti-about-text-link:hover {
    color: var(--shanti-about-navy);
}

.shanti-about-teacher-image {
    height: 240px;
    overflow: hidden;
    background: var(--shanti-about-soft);
}

.shanti-about-teacher-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* =========================================
   8. WHAT WE EXPLORE
========================================= */

.shanti-about-explore {
    padding: 14px 0 16px;
    background: var(--shanti-about-cream);
}

.shanti-about-explore-heading {
    margin-bottom: 12px;
}

.shanti-about-explore-heading h2 {
    margin: 0 0 3px;
     
    line-height: 1.3;
}

.shanti-about-explore-heading p {
    margin: 0;
      
       
    line-height: 1.45;
}

.shanti-about-explore-row {
    align-items: stretch;
}

.shanti-about-explore-card {
    height: 100%;
    padding: 0 8px;
    text-align: center;
    border-right: 1px solid var(--shanti-about-border);
}

.shanti-about-explore-row > div:last-child .shanti-about-explore-card {
    border-right: 0;
}

.shanti-about-explore-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 6px;
    padding: 9px;
    border-radius: 50%;
    background: #f0eee8;
    color: var(--shanti-about-red);
}

.shanti-about-explore-card p {
    margin: 0;
      
     
    line-height: 1.45;
}


/* =========================================
   9. WHY THE NAME SHANTI
========================================= */

.shanti-about-name {
    padding: 12px 0;
    background: var(--shanti-about-white);
}

.shanti-about-name-content {
    padding-right: 25px;
}

.shanti-about-name-content h2 {
    margin: 0 0 4px;
     
    line-height: 1.3;
}

.shanti-about-name-content p {
    margin: 0;
      
       
    line-height: 1.5;
}

.shanti-about-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 95px;
    padding: 8px 10px;
    border-left: 1px solid var(--shanti-about-border);
}

.shanti-about-brand-symbol {
    flex: 0 0 75px;
    width: 75px;
    height: 85px;
    color: #52674c;
}

.shanti-about-brand-text h3 {
    margin: 0;
    color: var(--shanti-about-red);
    font-family: Georgia, serif;
    font-size: 31px;
    font-weight: 600;
    line-height: 1;
}

.shanti-about-brand-text span {
    display: block;
    margin-top: 4px;
    color: #777c80;
    font-size: 9px;
    letter-spacing: 2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.shanti-about-brand-text p {
    margin: 6px 0 0;
      
     
}

.shanti-about-brand-text small {
    display: block;
    margin-top: 2px;
    color: var(--shanti-about-muted);
      
    font-size: 10px;
}


/* =========================================
   10. BEGIN YOUR EXPLORATION
========================================= */

.shanti-about-cta {
    position: relative;
    padding: 17px 0;
    background-image: url("../images/shanti-riverside-banner.jpg");
    background-position: center 60%;
    background-size: cover;
    background-repeat: no-repeat;
}

.shanti-about-cta-overlay {
    position: absolute;
    inset: 0;
    background: rgba(24, 36, 43, 0.58);
}

.shanti-about-cta-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.shanti-about-cta-content h2 {
    margin: 0 0 3px;
    color: var(--shanti-about-white);
     
    line-height: 1.3;
}

.shanti-about-cta-content p {
    margin: 0;
    color: var(--shanti-about-white);
      
    font-size: 14px;
}

.shanti-about-cta-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.shanti-about-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 20px;
    background: var(--shanti-about-green);
    border: 1px solid var(--shanti-about-green);
    color: var(--shanti-about-white);
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 500;
    transition: all 0.25s ease;
}

.shanti-about-cta-button:hover {
    background: #365444;
    border-color: #365444;
    color: var(--shanti-about-white);
}

.shanti-about-cta-button-outline {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.7);
}

.shanti-about-cta-button-outline:hover {
    background: var(--shanti-about-white);
    border-color: var(--shanti-about-white);
    color: var(--shanti-about-navy);
}





.shanti-sugato-page {
    --shanti-sugato-navy: #18304b;
    --shanti-sugato-dark: #20292d;
    --shanti-sugato-red: #a32e32;
    --shanti-sugato-green: #263d30;
    --shanti-sugato-cream: #f7f5ef;
    --shanti-sugato-white: #ffffff;
    --shanti-sugato-border: #dedbd3;
    --shanti-sugato-muted: #68717b;
    --shanti-sugato-soft: #f0eee7;
}


.shanti-sugato-page {
    width: 100%;
    overflow: hidden;
    background: var(--shanti-sugato-cream);
    color: var(--shanti-sugato-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.shanti-sugato-page *,
.shanti-sugato-page *::before,
.shanti-sugato-page *::after {
    box-sizing: border-box;
}

.shanti-sugato-page h1,
.shanti-sugato-page h2,
.shanti-sugato-page h3,
.shanti-sugato-page h4 {
    color: var(--shanti-sugato-navy);
      
    font-weight: 400;
}

.shanti-sugato-page p {
    margin-top: 0;
    margin-bottom: 8px;
}

.shanti-sugato-page img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.shanti-sugato-page a {
    text-decoration: none;
}

.shanti-sugato-page svg {
    max-width: 100%;
}

.shanti-sugato-container {
    max-width: 1140px;
}


/* ==========================================
   3. EYEBROW LABEL
=========================================== */

.shanti-sugato-eyebrow {
    display: block;
    color: var(--shanti-sugato-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.8px;
    line-height: 1.5;
    text-transform: uppercase;
}


/* ==========================================
   4. HERO SECTION
=========================================== */

.shanti-sugato-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 380px;
    background-color: var(--shanti-sugato-cream);
    background-image: url("../images/sugato-inner.jpg");
    background-position: center right;
    background-size: cover;
    background-repeat: no-repeat;
}

.shanti-sugato-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #f7f5ef 0%,
        rgba(247, 245, 239, 0.98) 35%,
        rgba(247, 245, 239, 0.80) 48%,
        rgba(247, 245, 239, 0.10) 72%,
        rgba(247, 245, 239, 0) 100%
    );
}

.shanti-sugato-hero-content {
    position: relative;
    z-index: 1;
    max-width: 460px;
    padding: 22px 0;
}

.shanti-sugato-hero-content .shanti-sugato-eyebrow {
    position: relative;
    margin-bottom: 8px;
    padding-bottom: 7px;
}

.shanti-sugato-hero-content .shanti-sugato-eyebrow::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 1px;
    background: var(--shanti-sugato-navy);
    content: "";
}

.shanti-sugato-hero-content h1 {
    margin: 0 0 4px;
    color: var(--shanti-sugato-dark);
    font-size: clamp(42px, 5vw, 58px);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.shanti-sugato-hero-content h2 {
    margin: 0 0 8px;
    color: var(--shanti-sugato-dark);
    font-size: 20px;
    line-height: 1.35;
}

.shanti-sugato-hero-content p {
    max-width: 360px;
    margin: 0;
    color: var(--shanti-sugato-dark);
      
    font-size: 15px;
    line-height: 1.45;
}


/* ==========================================
   5. INTRO SECTION
=========================================== */

.shanti-sugato-intro {
    padding: 12px 0 14px;
    background: #f4eee4;
    text-align: center;
}

.shanti-sugato-intro-content {
    max-width: 850px;
    margin: 0 auto;
}

.shanti-sugato-intro-content h2 {
    margin: 0 0 10px;
    color: var(--shanti-sugato-dark);
    font-size: 22px;
    line-height: 1.4;
}

.shanti-sugato-intro-content p {
    max-width: 820px;
    margin: 0 auto;
    color: var(--shanti-sugato-dark);
      
     
    line-height: 1.5;
}


/* ==========================================
   6. SECTION HEADING
=========================================== */

.shanti-sugato-section-heading {
    margin-bottom: 14px;
    text-align: center;
}

.shanti-sugato-section-heading .shanti-sugato-eyebrow {
    margin-bottom: 4px;
}

.shanti-sugato-section-heading h2 {
    margin: 0 0 6px;
     
    line-height: 1.35;
}

.shanti-sugato-section-heading p {
    max-width: 700px;
    margin: 0 auto;
      
     
    line-height: 1.5;
}


/* ==========================================
   7. APPROACH SECTION
=========================================== */

.shanti-sugato-approach {
    padding: 12px 0 18px;
    background: var(--shanti-sugato-cream);
}

.shanti-sugato-approach-row {
    align-items: stretch;
}

.shanti-sugato-approach-card {
    height: 100%;
    padding: 0 10px 8px;
    text-align: center;
    border-right: 1px solid var(--shanti-sugato-border);
}

.shanti-sugato-approach-row > div:last-child .shanti-sugato-approach-card {
    border-right: 0;
}

.shanti-sugato-approach-image {
    height: 220px;
    overflow: hidden;
    background: var(--shanti-sugato-soft);
}

.shanti-sugato-approach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shanti-sugato-approach-body {
    padding: 8px 5px 0;
}

.shanti-sugato-approach-body h3 {
    margin: 0;
    color: var(--shanti-sugato-dark);
    font-size: 14px;
    line-height: 1.4;
    text-transform: uppercase;
}

.shanti-sugato-small-line {
    width: 28px;
    height: 1px;
    margin: 5px auto 7px;
    background: #c9b9a5;
}

.shanti-sugato-approach-body p {
    max-width: 250px;
    margin: 0 auto;
    color: var(--shanti-sugato-dark);
      
     
    line-height: 1.45;
}


/* ==========================================
   8. JOURNEY SECTION
=========================================== */

.shanti-sugato-journey {
    padding: 12px 0;
    background: var(--shanti-sugato-white);
}

.shanti-sugato-journey-image {
    height: 255px;
    overflow: hidden;
    background: var(--shanti-sugato-soft);
}

.shanti-sugato-journey-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shanti-sugato-journey-content {
    padding: 4px 0 4px 15px;
}

.shanti-sugato-journey-content h2 {
    margin: 0 0 8px;
    color: var(--shanti-sugato-dark);
     
    line-height: 1.35;
}

.shanti-sugato-journey-content p {
    margin-bottom: 8px;
    color: var(--shanti-sugato-dark);
      
     
    line-height: 1.5;
}


/* ==========================================
   9. EXPERIENCE SECTION
=========================================== */

.shanti-sugato-experience {
    padding: 12px 0;
    background: #f4eee4;
}

.shanti-sugato-experience-years {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 55px;
    border-right: 1px solid #cfc7bb;
}

.shanti-sugato-experience-years span {
    color: var(--shanti-sugato-navy);
      
    font-size: 30px;
    line-height: 1;
}

.shanti-sugato-experience-years h3 {
    margin: 0;
    color: var(--shanti-sugato-dark);
    font-size: 22px;
    line-height: 1.2;
    text-transform: uppercase;
}

.shanti-sugato-experience-details {
    padding: 5px 20px;
}

.shanti-sugato-experience-details h3 {
    margin: 0 0 8px;
    color: var(--shanti-sugato-dark);
      
    font-size: 14px;
    line-height: 1.4;
}

.shanti-sugato-experience-locations {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
}

.shanti-sugato-experience-locations span {
    padding: 0 12px;
    color: var(--shanti-sugato-muted);
      
     
    border-right: 1px solid #cfc7bb;
}

.shanti-sugato-experience-locations span:first-child {
    padding-left: 0;
}

.shanti-sugato-experience-locations span:last-child {
    border-right: 0;
}


/* ==========================================
   10. VIDEO SECTION
=========================================== */

.shanti-sugato-video {
    padding: 14px 0 20px;
    background: var(--shanti-sugato-cream);
}

.shanti-sugato-video .shanti-sugato-section-heading {
    margin-bottom: 8px;
}

.shanti-sugato-video .shanti-sugato-section-heading h2 {
    margin: 0;
    font-size: 22px;
}

.shanti-sugato-video-wrapper {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    overflow: hidden;
    background: #111111;
}

.shanti-sugato-video-player {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #111111;
    object-fit: contain;
}


/* ==========================================
   11. CTA SECTION
=========================================== */

.shanti-sugato-cta {
    position: relative;
    padding: 24px 0;
    background-color: var(--shanti-sugato-navy);
    background-image: url("images/shanti-riverside-banner.jpg");
    background-position: center 60%;
    background-size: cover;
    background-repeat: no-repeat;
}

.shanti-sugato-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(21, 40, 52, 0.48),
        rgba(21, 40, 52, 0.25)
    );
}

.shanti-sugato-cta-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.shanti-sugato-cta-text {
    max-width: 650px;
    text-align: center;
    margin: 0 auto;
}

.shanti-sugato-cta-text h2 {
    margin: 0 0 6px;
    color: var(--shanti-sugato-white);
     
    line-height: 1.35;
}

.shanti-sugato-cta-text p {
    margin: 0 0 12px;
    color: var(--shanti-sugato-white);
      
     
    line-height: 1.5;
}

.shanti-sugato-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 24px;
    border: 1px solid var(--shanti-sugato-green);
    border-radius: 30px;
    background: var(--shanti-sugato-green);
    color: var(--shanti-sugato-white);
    font-family: "DM Sans", sans-serif;
     
    font-weight: 500;
    transition: all 0.25s ease;
}

.shanti-sugato-cta-button:hover {
    border-color: var(--shanti-sugato-white);
    background: var(--shanti-sugato-white);
    color: var(--shanti-sugato-navy);
}

.shanti-sugato-cta-button span {
    font-size: 17px;
    line-height: 1;
}

.shanti-sugato-cta-quote {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 120px;
    color: var(--shanti-sugato-white);
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 1.8;
    text-align: right;
    text-transform: uppercase;
}

.shanti-sugato-cta-quote p {
    margin: 5px 0 0;
    color: var(--shanti-sugato-white);
      
    font-size: 11px;
    letter-spacing: 0;
    line-height: 1.5;
    text-transform: none;
}





.shanti-approach-page {
    --shanti-approach-navy: #18334e;
    --shanti-approach-dark: #20292d;
    --shanti-approach-cream: #f8f5ef;
    --shanti-approach-warm: #f4eee5;
    --shanti-approach-white: #ffffff;
    --shanti-approach-brown: #8b5a35;
    --shanti-approach-gold: #c6b58b;
    --shanti-approach-border: #d9d6cf;
    --shanti-approach-muted: #6c747b;
}




.shanti-approach-page {
    width: 100%;
    overflow: hidden;
    background: var(--shanti-approach-cream);
    color: var(--shanti-approach-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
.shanti-approach-life-content{  padding:0  6em; }

.shanti-approach-page *,
.shanti-approach-page *::before,
.shanti-approach-page *::after {
    box-sizing: border-box;
}

.shanti-approach-page h1,
.shanti-approach-page h2,
.shanti-approach-page h3,
.shanti-approach-page h4 {
    margin-top: 0;
    color: var(--shanti-approach-navy);
      
    font-weight: 400;
}

.shanti-approach-page p {
    margin-top: 0;
    margin-bottom: 8px;
}

.shanti-approach-page img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.shanti-approach-page a {
    text-decoration: none;
}

.shanti-approach-container {
    max-width: 1140px;
}


/* ==========================================
   3. EYEBROW LABEL
=========================================== */

.shanti-approach-eyebrow {
    display: block;
    color: var(--shanti-approach-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.6;
    text-transform: uppercase;
}


/* ==========================================
   4. INTRO SECTION
=========================================== */

.shanti-approach-intro {
    position: relative;
    padding: 10em 0 6em;
    background-color: var(--shanti-approach-cream);
    background-image: url("../images/our-approch-inner.jpg");
    background-position: center right;
    background-size: cover;
    background-repeat: no-repeat;
}

.shanti-approach-intro::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(248, 245, 239, 1) 0%,
        rgba(248, 245, 239, 0.98) 42%,
        rgba(248, 245, 239, 0.85) 58%,
        rgba(248, 245, 239, 0.10) 100%
    );
    content: "";
}

.shanti-approach-intro-content {
    position: relative;
    z-index: 1;
    max-width: 490px;
    padding-left: 35px;
}

.shanti-approach-intro-content .shanti-approach-eyebrow {
    margin-bottom: 4px;
}

.shanti-approach-intro-content h1 {
    margin-bottom: 4px;
    color: var(--shanti-approach-dark);
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.15;
    letter-spacing: -1px;
}

.shanti-approach-intro-content p {
    max-width: 450px;
    margin-bottom: 7px;
    color: var(--shanti-approach-dark);
}


/* ==========================================
   5. SEEING CLEARLY SECTION
=========================================== */

.shanti-approach-seeing {
    background: var(--shanti-approach-warm);
}

.shanti-approach-seeing-image {
    width: 100%;
    height:295px;
    overflow: hidden;
    background: #e8e2d8;
}

.shanti-approach-seeing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shanti-approach-seeing-content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: stretch;
    min-height: 175px;
    padding: 15px 30px;
}

.shanti-approach-seeing-main {
    padding: 6px 25px 6px 10px;
}

.shanti-approach-seeing-main .shanti-approach-eyebrow {
    margin-bottom: 8px;
}

.shanti-approach-sanskrit {
    margin-bottom: 5px;
    color: var(--shanti-approach-dark);
    font-family: "Noto Serif Devanagari", "Noto Serif", serif;
     
    line-height: 1.6;
    font-size: 30px;
}

.shanti-approach-transliteration {
    margin-bottom: 5px;
    color: var(--shanti-approach-muted);
      
       
    font-style: italic;
    line-height: 1.5;
}

.shanti-approach-quote {
    margin: 5px 0;
    color: var(--shanti-approach-dark);
      
    font-size: 19px;
    line-height: 1.4;
}

.shanti-approach-quote-source {
    display: block;
    color: var(--shanti-approach-muted);
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    letter-spacing: 1.4px;
    line-height: 1.5;
    text-transform: uppercase;
}

.shanti-approach-seeing-aside {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 0 0 25px;
    border-left: 1px solid #c9c1b5;
}

.shanti-approach-seeing-aside p {
    margin-bottom: 8px;
    color: var(--shanti-approach-dark);
}

.shanti-approach-seeing-aside ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.shanti-approach-seeing-aside li {
    position: relative;
    margin-bottom: 4px;
    padding-left: 20px;
    color: var(--shanti-approach-dark);
    line-height: 1.4;
}

.shanti-approach-seeing-aside li::before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--shanti-approach-gold);
    content: "";
}


/* ==========================================
   6. THREE MOVEMENTS
=========================================== */

.shanti-approach-movements {
    padding: 18px 0 22px;
    background: var(--shanti-approach-cream);
}

.shanti-approach-movements-heading {
    margin-bottom: 16px;
}

.shanti-approach-movements-heading .shanti-approach-eyebrow {
    margin-bottom: 3px;
}

.shanti-approach-movements-heading h2 {
    margin-bottom: 4px;
    color: var(--shanti-approach-dark);
    font-size: 29px;
    line-height: 1.3;
}

.shanti-approach-movements-heading p {
    margin-bottom: 0;
    color: var(--shanti-approach-dark);
      
       
}

.shanti-approach-movement-card {
    height: 100%;
    padding: 0 18px 0 0;
}

.shanti-approach-movement-row > div {
    padding: 0 18px;
    border-right: 1px solid var(--shanti-approach-border);
}

.shanti-approach-movement-row > div:first-child {
    padding-left: 0;
}

.shanti-approach-movement-row > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.shanti-approach-movement-top {
    display: flex;
    align-items: center;
    gap: 25px;
    min-height: 35px;
}

.shanti-approach-number {
    color: #b7aa92;
      
    font-size: 27px;
    line-height: 1;
}

.shanti-approach-movement-top h3 {
    margin: 0;
    color: var(--shanti-approach-dark);
    font-size: 20px;
    line-height: 1.3;
}

.shanti-approach-short-line {
    width: 30px;
    height: 1px;
    margin: 8px 0 10px 55px;
    background: #b7aa92;
}

.shanti-approach-movement-card p {
    margin-bottom: 9px;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.5;
}


/* ==========================================
   7. THE QUESTION
=========================================== */

.shanti-approach-question {
    background: var(--shanti-approach-warm);
}

.shanti-approach-question-image {
    width: 100%;
    height: 290px;
    overflow: hidden;
    background: #d8cbbd;
}

.shanti-approach-question-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shanti-approach-question-content {
    padding: 12px 35px 14px;
}

.shanti-approach-question-content h2 {
    margin-bottom: 5px;
    color: var(--shanti-approach-dark);
    font-size: 26px;
    line-height: 1.3;
}

.shanti-approach-question-content > p {
    margin-bottom: 7px;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.45;
}

.shanti-approach-sanskrit-block {
    margin-bottom: 6px;
}

.shanti-approach-sanskrit-block .shanti-approach-sanskrit {
    margin-bottom: 1px;
    font-size: 17px;
    line-height: 1.6;
}

.shanti-approach-sanskrit-block .shanti-approach-transliteration {
    margin-bottom: 1px;
    font-size: 11px;
}

.shanti-approach-sanskrit-block .shanti-approach-translation {
    margin-bottom: 2px;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.4;
}

.shanti-approach-question-ending {
    margin-top: 5px;
    margin-bottom: 0;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.5;
}


/* ==========================================
   8. BRINGING UNDERSTANDING INTO LIFE
=========================================== */

.shanti-approach-life {
    padding: 16px 0 12px;
    background: var(--shanti-approach-cream);
}

.shanti-approach-life-content h2 {
    margin-bottom: 5px;
    color: var(--shanti-approach-dark);
    font-size: 30px;
    line-height: 1.3;
}

.shanti-approach-life-content p {
    margin-bottom: 3px;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.45;
}

.shanti-approach-life-content .shanti-approach-life-emphasis {
    margin-top: 4px;
    margin-bottom: 10px;
    font-weight: 500;
}

.shanti-approach-life-banner {
    width: 100%;
    height: auto;
    overflow: hidden;
    background: #d8d2c7;
}

.shanti-approach-life-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
}


/* ==========================================
   9. DIRECT EXPERIENCE
=========================================== */

.shanti-approach-experience {
    padding: 18px 0 20px;
    background: var(--shanti-approach-warm);
    text-align: center;
}

.shanti-approach-experience-heading {
    margin-bottom: 14px;
}

.shanti-approach-experience-heading .shanti-approach-eyebrow {
    margin-bottom: 3px;
}

.shanti-approach-experience-heading h2 {
    margin-bottom: 3px;
    color: var(--shanti-approach-dark);
    font-size: 30px;
    line-height: 1.3;
}

.shanti-approach-experience-heading p {
    margin-bottom: 0;
    color: var(--shanti-approach-dark);
      
     
}

.shanti-approach-experience-row {
    max-width: 850px;
    margin: 0 auto;
}

.shanti-approach-experience-row > div {
    padding: 0 18px;
    border-right: 1px solid var(--shanti-approach-border);
}

.shanti-approach-experience-row > div:last-child {
    border-right: 0;
}

.shanti-approach-experience-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    padding: 5px 10px;
}

.shanti-approach-experience-card p {
    max-width: 230px;
    margin: 0;
    color: var(--shanti-approach-dark);
      
     
    line-height: 1.45;
}

.shanti-approach-experience-conclusion {
    margin-top: 12px;
}

.shanti-approach-experience-conclusion p {
    margin-bottom: 3px;
    color: var(--shanti-approach-dark);
      
     
}

.shanti-approach-experience-conclusion h3 {
    margin-bottom: 0;
    color: var(--shanti-approach-dark);
    font-size: 17px;
    line-height: 1.4;
}


/* ==========================================
   10. FINAL CTA
=========================================== */

.shanti-approach-cta {
    padding: 18px 0 25px;
    background: var(--shanti-approach-cream);
    text-align: center;
}

.shanti-approach-cta-content h2 {
    margin-bottom: 2px;
    color: var(--shanti-approach-dark);
    font-size: 20px;
    line-height: 1.4;
}

.shanti-approach-cta-content p {
    margin-bottom: 12px;
    color: var(--shanti-approach-dark);
      
       
}

.shanti-approach-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 9px 22px;
    border: 1px solid #9a7045;
    border-radius: 2px;
    background: #9a7045;
    color: var(--shanti-approach-white);
     
    transition: all 0.25s ease;
}

.shanti-approach-cta-button:hover {
    border-color: var(--shanti-approach-navy);
    background: var(--shanti-approach-navy);
    color: var(--shanti-approach-white);
}

.shanti-approach-cta-button span {
    font-size: 17px;
    line-height: 1;
}






.shanti-contact-page {
    background: #faf8f2;
    color: #182b3b;
    font-family: Georgia, "Times New Roman", serif;
    overflow: hidden;
}

.shanti-contact-container {
    max-width: 1180px;
}


/* =========================================================
   HERO
   ========================================================= */

.shanti-contact-hero {
    position: relative;
    min-height: 385px;
    background-image: url("../images/contact-banner.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.shanti-enroll-hero {
    position: relative;
    min-height: 285px;
    background-image: url("../images/enroll-banner.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.shanti-contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(250, 248, 242, 0.98) 0%,
        rgba(250, 248, 242, 0.92) 35%,
        rgba(250, 248, 242, 0.35) 68%,
        rgba(250, 248, 242, 0.05) 100%
    );
}

.shanti-contact-hero-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    padding: 48px 0;
}

.shanti-contact-eyebrow {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    letter-spacing: 3px;
    color: #4f493f;
    margin-bottom: 12px;
}

.shanti-contact-hero h1 {
    margin: 0 0 10px;
    color: #172b3b;
    font-size: 46px;
    line-height: 1.05;
    font-weight: 400;
}

.shanti-contact-hero p {
    max-width: 610px;
    margin: 3px 0;
    color: #293b49;
    font-size: 17px;
    line-height: 1.45;
}


/* =========================================================
   MAIN CONTACT AREA
   ========================================================= */

.shanti-contact-main {
    background: #faf8f2;
    padding: 32px 0 42px;
}

.shanti-contact-form-wrapper {
    padding: 0 55px 0 0;
    border-right: 1px solid #d8d4ca;
}

.shanti-contact-connect-wrapper {
    padding: 0 0 0 55px;
}

.shanti-contact-section-label {
    color: #4d493f;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 3px;
    margin-bottom: 10px;
}

.shanti-contact-label-line {
    width: 100%;
    height: 1px;
    background: #d8d4ca;
    margin-bottom: 13px;
}


/* =========================================================
   FORM
   ========================================================= */

.shanti-contact-form-group {
    margin-bottom: 12px;
}

.shanti-contact-form-group label {
    display: block;
    margin-bottom: 5px;
    color: #283744;
    font-size: 14px;
    line-height: 1.4;
}

.shanti-contact-input {
    width: 100%;
    height: 38px;
    padding: 8px 11px;
    border: 1px solid #d8d5cd;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.25);
    color: #283744;
    font-family: Georgia, "Times New Roman", serif;
       
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease;
}

.shanti-contact-input:focus {
    border-color: #8a8378;
    outline: none;
    box-shadow: none;
    background: #fffdf9;
}

.shanti-contact-input::placeholder {
    color: #8d8a83;
    opacity: 1;
}

.shanti-contact-select {
    appearance: auto;
    cursor: pointer;
}

.shanti-contact-textarea {
    height: 96px;
    resize: vertical;
    line-height: 1.5;
}

.shanti-contact-submit {
    margin-top: 3px;
    padding: 10px 22px;
    border: 1px solid #9a7045;
    border-radius: 2px;
    background: #9a7045;
    color: #ffffff;
       
    transition: all 0.25s ease;
}

.shanti-contact-submit span {
    margin-left: 7px;
}

.shanti-contact-submit:hover {
    background: #394837;
    border-color: #394837;
}


/* =========================================================
   OTHER WAYS TO CONNECT
   ========================================================= */

.shanti-contact-connect-item {
    display: flex;
    gap: 18px;
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid #ddd;
}

.shanti-contact-connect-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}

.shanti-contact-whatsapp-icon {
    background: #697660;
    color: #ffffff;
}

.shanti-contact-mail-icon {
    background: #9b7c6b;
    color: #ffffff;
}

.shanti-contact-location-icon {
    background: #ebe6d9;
    color: #665c4e;
}

.shanti-contact-connect-content {
    padding-top: 1px;
}

.shanti-contact-connect-content h3 {
    margin: 0 0 4px;
    color: #253543;
    font-size: 16px;
    font-weight: 400;
}

.shanti-contact-connect-content p {
    max-width: 315px;
    margin: 0 0 10px;
    color: #3e4240;
       
    line-height: 1.45;
}

.shanti-contact-small-button {
    display: inline-block;
    padding: 7px 11px;
    background: #eee9df;
    color: #303a3c;
    text-decoration: none;
     
    line-height: 1.2;
    transition: all 0.2s ease;
}

.shanti-contact-small-button span {
    margin-left: 5px;
}

.shanti-contact-small-button:hover {
    background: #e1dbcf;
    color: #172b3b;
}


/* =========================================================
   FAQ
   ========================================================= */

.shanti-contact-faq {
    padding: 18px 0 60px;
    background: #faf8f2;
}

.shanti-contact-faq-heading {
    text-align: center;
    margin-bottom: 14px;
}

.shanti-contact-faq-heading .shanti-contact-eyebrow {
    margin-bottom: 6px;
}

.shanti-contact-faq-heading h2 {
    margin: 0;
    color: #1c3040;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.2;
}

.shanti-contact-faq-list {
    max-width: 850px;
    margin: 0 auto;
    border-top: 1px solid #d8d4ca;
}

.shanti-contact-faq-item {
    border-bottom: 1px solid #d8d4ca;
}

.shanti-contact-faq-question {
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    color: #283640;
    font-family: Georgia, "Times New Roman", serif;
       
    line-height: 1.4;
}

.shanti-contact-faq-question:hover {
    color: #8a4539;
}

.shanti-contact-faq-question i {
    flex: 0 0 auto;
    margin-left: 20px;
       
    transition: transform 0.25s ease;
}

.shanti-contact-faq-question:not(.collapsed) i {
    transform: rotate(45deg);
}

.shanti-contact-faq-answer {
    padding: 0 35px 15px 10px;
    color: #51514c;
       
    line-height: 1.6;
}


/* =========================================================
   QUOTE / BOTTOM
   ========================================================= */

.shanti-contact-quote {
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #f2efe7;
}

.shanti-contact-quote-image {
    position: absolute;
    inset: 0;
    background-image: url("images/contact-mountains.jpg");
    background-size: cover;
    background-position: center bottom;
    opacity: 0.72;
}

.shanti-contact-quote::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(250, 248, 242, 0.95) 0%,
        rgba(250, 248, 242, 0.55) 40%,
        rgba(250, 248, 242, 0.05) 100%
    );
}

.shanti-contact-quote-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 35px 0 32px;
    text-align: center;
}

.shanti-contact-quote blockquote {
    max-width: 700px;
    margin: 0 auto 24px;
    color: #51483e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-style: italic;
    line-height: 1.45;
}

.shanti-contact-quote-subtitle {
    color: #555047;
    font-size: 10px;
    letter-spacing: 3px;
}






.shanti-retreats-page {
    background: #f8f5ed;
    color: #172b3b;
    overflow: hidden;
}

.shanti-retreats-container {
    max-width: 1180px;
}


/* =========================================================
   COMMON EYEBROW
   ========================================================= */

.shanti-retreats-eyebrow {
    color: #555047;

    font-weight: 400;
    letter-spacing: 3px;
    line-height: 1.4;
    margin-bottom: 13px;
}


/* =========================================================
   INTRO
   ========================================================= */

.shanti-retreats-intro {
    padding: 18px 0 26px;
    background: #f8f5ed;
}

.shanti-retreats-intro-row {
    min-height: 335px;
}

.shanti-retreats-intro-content {
    padding: 30px 45px 30px 0;
}

.shanti-retreats-intro-content h1 {
    margin: 0 0 18px;
    color: #172b3b;
    font-size: 52px;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1.5px;
}

.shanti-retreats-intro-content p {
    max-width: 520px;
    margin: 0;
    color: #293944;

}

.shanti-retreats-intro-image {
    height: 335px;
    overflow: hidden;
}

.shanti-retreats-intro-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}


/* =========================================================
   MONTHLY ONLINE SECTION
   ========================================================= */

.shanti-retreats-online {
    padding: 0 0 40px;
    background: #f8f5ed;
}

.shanti-retreats-online-row {
    min-height: auto;
}

.shanti-retreats-online-image {
    height: 560px;
    padding-right: 55px;
}

.shanti-retreats-online-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.shanti-retreats-online-content {
    padding: 25px 0 25px 0;
}



.shanti-retreats-online-content > p {
    max-width: 570px;
    margin: 0 0 6px;
    color: #303b40;

}
.shanti-retreats-upcoming sub{ top:-4px; }

/* =========================================================
   SESSION DETAILS
   ========================================================= */

.shanti-retreats-session-details {
    display: flex;
    margin-top: 15px;
    margin-bottom: 18px;
    border-top: 1px solid #d4d0c5;
    border-bottom: 1px solid #d4d0c5;
}

.shanti-retreats-session-time {
    width: 58%;
    padding: 10px 25px 10px 0;
    display: flex;
    flex-direction: column;
    color: #303a3d;

}

.shanti-retreats-session-time strong {
    margin-bottom: 2px;
    font-weight: 600;
}

.shanti-retreats-session-time em {
    margin-top: 4px;
    color: #66645e;

}

.shanti-retreats-upcoming {
    width: 42%;
    padding: 10px 0 10px 25px;
    border-left: 1px solid #d4d0c5;
    display: flex;
    flex-direction: column;
    color: #303a3d;

}

.shanti-retreats-upcoming strong {
    margin-bottom: 3px;
    font-weight: 600;
}


/* =========================================================
   ONLINE UPDATE
   ========================================================= */

.shanti-retreats-update-text {
    margin-top: 0 !important;
    margin-bottom: 7px !important;
}

.shanti-retreats-links {
    display: flex;
    gap: 35px;
}

.shanti-retreats-links a {
    color: #4e5542;

    text-decoration: none;
    text-underline-offset: 0;
}

.shanti-retreats-links a span {
    margin-left: 4px;
}

.shanti-retreats-links a:hover {
    color: #26362b;
}


/* =========================================================
   TASTE OF SILENCE
   ========================================================= */

.shanti-retreats-silence {
    background: #f8f5ed;
}

.shanti-retreats-silence-image {
    width: 100%;
    height: 545px;
    overflow: hidden;
    padding-right: 55px;
}

.shanti-retreats-silence-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.shanti-retreats-silence-content {
    height: 100%;
    padding: 15px 55px 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}




.shanti-retreats-silence-content p {
    max-width: 480px;
    margin: 0 0 9px;
    color: #303b40;

}

.shanti-retreats-location {
    margin-top: 8px !important;
    margin-bottom: 12px !important;

}


/* =========================================================
   NEXT RETREATS
   ========================================================= */

.shanti-retreats-next {
    max-width: 470px;
    padding-top: 12px;
    border-top: 1px solid #d3cec2;
    color: #303b40;
    
}

.shanti-retreats-next-title {
    margin-bottom: 3px;
    color: #44473f;
}

.shanti-retreats-coming {
    margin-top: 15px !important;
    color: #53544e !important;
}
.shanti-retreats-next sub{ top:-4px; }

/* =========================================================
   EXPLORE PROGRAMS
   ========================================================= */

.shanti-retreats-explore {
    padding: 0px 0 78px;
    background: #f8f5ed;
}

.shanti-retreats-explore-content {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
}

.shanti-retreats-explore-content .shanti-retreats-eyebrow {
    margin-bottom: 8px;
}



.shanti-retreats-explore-content p {
    max-width: 680px;
    margin: 0 auto 22px;
    color: #303b40;
    line-height: 1.55;
}

.shanti-retreats-explore-link {
    display: inline-block;
    color: #555b43;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.shanti-retreats-explore-link span {
    margin-left: 5px;
}

.shanti-retreats-explore-link:hover {
    color: #26362b;
}




.shanti-about-page {
    --shanti-about-cream: #f8f5ed;
    --shanti-about-cream-dark: #f1ece1;
    --shanti-about-white: #fcfbf7;
    --shanti-about-text: #20252a;
    --shanti-about-brown: #604326;
    --shanti-about-muted: #5d5e5d;
    --shanti-about-border: #d9d2c5;
    --shanti-about-green: #9a7045;

    color: var(--shanti-about-text);
    background: var(--shanti-about-white);

    

    overflow: hidden;
}


/* =========================================================
   GLOBAL CONTAINER
   ========================================================= */

.shanti-about-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.shanti-about-eyebrow {
    margin-bottom: 12px;

    color: var(--shanti-about-brown);

    

    font-weight: 600;

    letter-spacing: 3px;
    line-height: 1.5;

    text-transform: uppercase;
}


.shanti-about-title,
.shanti-about-section-title,
.shanti-about-card-title,
.shanti-about-name-title,
.shanti-about-cta-title,
.shanti-about-question-list {
    

    font-weight: 400;
}


/* =========================================================
   INTRO
   ========================================================= */

.shanti-about-intro {
    padding: 58px 0 62px;

    background: var(--shanti-about-white);
}


.shanti-about-intro-inner {
    max-width: 800px;
}


.shanti-about-title {
    margin: 0 0 18px;

    color: #151a1e;

    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.04;

    letter-spacing: -1.5px;
}


.shanti-about-intro-text {
    max-width: 760px;

    margin: 0 0 13px;

    color: #555b60;

    line-height: 1.48;
}


.shanti-about-intro-text-last {
    margin-bottom: 0;
}


/* =========================================================
   WHY SHANTI
   ========================================================= */

.shanti-about-why {
    padding: 50px 0 52px;

    background: var(--shanti-about-cream);
}


.shanti-about-why-row {
    min-height: 175px;
}


.shanti-about-section-title {
    margin: 0 0 10px;

    color: #171c20;

    font-size: clamp(31px, 3.3vw, 43px);
    line-height: 1.12;

    letter-spacing: -0.7px;
}


.shanti-about-body-text {
    max-width: 690px;

    margin: 0 0 12px;

    color: #555a5e;

    font-size: 15px;
    line-height: 1.55;
}


.shanti-about-quote-box {
    display: flex;
    align-items: stretch;

    margin-left: 40px;
}


.shanti-about-quote-line {
    width: 1px;

    margin-right: 42px;

    background: #bdb4a5;
}


.shanti-about-quote-box blockquote {
    max-width: 360px;

    margin: 0;

    color: var(--shanti-about-brown);

    

    font-size: clamp(25px, 2.7vw, 38px);
    font-style: normal;

    line-height: 1.25;
}


/* =========================================================
   THREE DIMENSIONS
   ========================================================= */

.shanti-about-dimensions {
    padding: 54px 0 62px;

    background: var(--shanti-about-white);
}


.shanti-about-dimensions-heading {
    margin-bottom: 28px;
}


.shanti-about-dimensions-heading .shanti-about-section-title span {
    margin: 0 7px;

    color: #777064;
}


.shanti-about-dimension-row {
    margin-left: 0;
    margin-right: 0;
}


.shanti-about-dimension-card {
    height: 100%;
}


.shanti-about-image-wrap {
    width: 100%;
    overflow: hidden;
}


.shanti-about-dimension-image {
    display: block;

    width: 100%;
    height: 185px;

    object-fit: cover;

    transition: transform 0.5s ease;
}


.shanti-about-dimension-card:hover
.shanti-about-dimension-image {
    transform: scale(1.025);
}


.shanti-about-card-title {
    margin: 10px 0 3px;

    color: #171c20;

    font-size: 25px;
    line-height: 1.1;
}


.shanti-about-card-text {
    max-width: 320px;

    margin: 0;

    color: #5c6062;

    font-size: 15px;
    line-height: 1.45;
}


/* =========================================================
   QUESTIONS / MOUNTAIN SECTION
   ========================================================= */

.shanti-about-questions {
    position: relative;

    min-height: 340px;

    display: flex;
    align-items: center;

    background-image:
        url("../images/shanti-bg.jpg");

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}


.shanti-about-questions-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(250, 245, 234, 0.94) 0%,
            rgba(250, 245, 234, 0.78) 43%,
            rgba(250, 245, 234, 0.18) 100%
        );
}


.shanti-about-questions .shanti-about-container {
    position: relative;
    z-index: 2;
}


.shanti-about-questions-content {
    max-width: 730px;

    padding: 56px 0;
}


.shanti-about-question-list {
    margin: 0;

    color: #513a22;

    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.18;

    letter-spacing: -0.4px;
}


.shanti-about-question-divider {
    width: 30px;
    height: 1px;

    margin: 20px 0 12px;

    background: #6d5033;
}


.shanti-about-question-description {
    max-width: 590px;

    margin: 0;

    color: #555a5b;

    line-height: 1.5;
}


/* =========================================================
   SUGATO
   ========================================================= */

.shanti-about-sugato {
    padding: 58px 0;

    background: var(--shanti-about-white);
}


.shanti-about-sugato-row {
    min-height: 300px;
}


.shanti-about-sugato-subtitle {
    margin-top: -4px;
    margin-bottom: 12px;

    color: var(--shanti-about-brown);

    

}


.shanti-about-outline-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: 17px;

    padding: 11px 23px;

    border: 1px solid #806c55;
    border-radius: 2px;

    color: #4d3c29;

    

    font-weight: 500;

    text-decoration: none;

    transition:
        background 0.25s ease,
        color 0.25s ease;
}


.shanti-about-outline-button:hover {
    color: #ffffff;

    background: var(--shanti-about-green);
}


.shanti-about-sugato-image-wrap {
    margin-left: 30px;

    overflow: hidden;
}


.shanti-about-sugato-image {
    display: block;

    width: 100%;
    height: 300px;

    object-fit: cover;
}


/* =========================================================
   NAME SECTION
   ========================================================= */

.shanti-about-name {
    padding: 48px 0 52px;

    background: var(--shanti-about-cream);
}


.shanti-about-name-title {
    margin: 0;

    color: #171c20;

    line-height: 1.05;
}


.shanti-about-name-subtitle {
    margin: 2px 0 9px;

    color: var(--shanti-about-brown);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

}


.shanti-about-name .shanti-about-body-text {
    max-width: 670px;

    margin-bottom: 7px;
}


.shanti-about-name-bold {
    color: #333b39;

}


.shanti-about-name-logo {
    display: flex;
    justify-content: center;
    align-items: center;

    padding-left: 30px;
}


.shanti-about-name-logo img {
    display: block;

    width: 245px;
    max-width: 100%;
    height: auto;
}


/* =========================================================
   CTA
   ========================================================= */

.shanti-about-cta {
    position: relative;

    padding: 35px 0 40px;

    overflow: hidden;

    background:
        #ded7c9;
}


.shanti-about-cta-background {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            90deg,
            rgba(226, 220, 208, 0.82),
            rgba(226, 220, 208, 0.42)
        ),
        url("images/about-cta-mountains.jpg");

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    opacity: 0.95;
}


.shanti-about-cta .shanti-about-container {
    position: relative;
    z-index: 2;
}


.shanti-about-cta .shanti-about-eyebrow {
    margin-bottom: 2px;
}


.shanti-about-cta-title {
    max-width: 700px;

    margin: 0;

    color: #4e3923;

    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.2;
}


.shanti-about-cta-buttons {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;

    margin-top: 10px;
}


.shanti-about-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 43px;

    padding: 10px 19px;

    border-radius: 2px;


    text-decoration: none;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}


.shanti-about-cta-primary {
    border: 1px solid #9a7045;

    background: #9a7045;
    color: #ffffff;
}


.shanti-about-cta-primary:hover {
    border-color: #424a3a;

    background: #424a3a;
    color: #ffffff;
}


.shanti-about-cta-secondary {
    border: 1px solid #806e58;

    background: rgba(255, 255, 255, 0.22);
    color: #4c3925;
}


.shanti-about-cta-secondary:hover {
    background: #ffffff;
    color: #4c3925;
}



.enroll-section {
    padding: 80px 0;
    background-color: #fff;
}

.enroll-form-container {
    background: #f4ece1;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(142, 121, 62, 0.1);
}

```css
/* Services Multi-Select Dropdown */
.enroll-dropdown-wrapper {
    width: 100%;
}

.enroll-dropdown-label {
    display: block;
    color: #49331f;
    font-size: 15px;
    font-weight: 600;
}

.enroll-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 12px 14px;
    background: #faf7f0;
    border: 1px solid #d8d0c4;
    border-radius: 0;
    color: #49443d;
    font-size: 14px;
    text-align: left;
}

.enroll-dropdown-toggle:hover,
.enroll-dropdown-toggle:focus {
    background: #faf7f0;
    border-color: #777b61;
    color: #302b23;
    box-shadow: none;
}

.enroll-dropdown-toggle.enroll-invalid {
    border-color: #b5473c;
}

.enroll-dropdown-arrow {
    font-size: 20px;
    line-height: 1;
}

.enroll-dropdown-menu {
    max-height: 260px;
    overflow-y: auto;
    padding: 6px 0;
    background: #fffdf8;
    border: 1px solid #d8d0c4;
    border-radius: 0;
    box-shadow: 0 6px 16px rgba(40, 30, 20, 0.08);
}

.enroll-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    margin: 0;
    color: #49443d;
    font-size: 14px;
    cursor: pointer;
}

.enroll-dropdown-item:hover {
    background: #f2eee5;
}

.enroll-dropdown-item input {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin: 0;
    accent-color: #525941;
    cursor: pointer;
}

.enroll-dropdown-item input:checked + span {
    color: #49331f;
    font-weight: 600;
}

.enroll-dropdown-item.enroll-option-disabled {
    opacity: 0.5;
}

.enroll-services-help {
    display: block;
    margin-top: 8px;
    color: #77746e;
    font-size: 12px;
}

.enroll-services-error {
    margin-top: 6px;
    color: #b5473c;
    font-size: 13px;
}
```

.shanti-booking .section-header {
    /* text-align: center; */
    margin-bottom: 50px;
}

.shanti-booking .form-group {
    margin-bottom: 20px;
}

.shanti-booking  .form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 7px;
}


.shanti-fee-section {
    background: #fdfbf6;
    color: #242321;
    font-family: Georgia, "Times New Roman", serif;
    padding: 30px 0 70px;
}

.shanti-fee-container {
    max-width: 1250px;
}


/* =========================================
   TOP FEE AREA
========================================= */

.shanti-fee-top-row {
    border-bottom: 1px solid #cfc9bd;
    padding-bottom: 38px;
    margin-bottom: 28px;
}

.shanti-fee-price-column {
    padding: 0 45px 10px 25px;
    border-right: 1px solid #cfc9bd;
}

.shanti-fee-selected-column {
    padding: 0 30px 10px 65px;
}


/* =========================================
   HEADINGS
========================================= */

.shanti-fee-heading {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 6px;
    color: #202124;
    margin-bottom: 6px;
}

.shanti-fee-subtitle {
    font-size: 22px;
    color: #77736d;
    margin: 0 0 28px;
}


/* =========================================
   PRICE LIST
========================================= */

.shanti-fee-price-list {
    background: #faf7ef;
    padding: 25px 38px;
}

.shanti-fee-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 25px;
    line-height: 1.8;
    color: #272522;
}

.shanti-fee-price-item strong {
    font-weight: 400;
    font-size: 27px;
}


/* =========================================
   SELECTED PROGRAM
========================================= */

.shanti-fee-selected-price {
    font-size: 60px;
    line-height: 1.05;
    color: #74451f;
    margin-top: 18px;
    margin-bottom: 4px;
}

.shanti-fee-selected-program {
    font-size: 27px;
    color: #242321;
}

.shanti-fee-small-line {
    width: 55px;
    height: 1px;
    background: #a18e7b;
    margin: 25px 0;
}

.shanti-fee-description {
    max-width: 570px;
    font-size: 20px;
    line-height: 1.55;
    color: #77736d;
    margin-bottom: 12px;
}


/* =========================================
   DROP-IN AREA
========================================= */

.shanti-fee-dropin {
    background: #f7f1e7;
    padding: 30px 28px;
}

.shanti-fee-dropin-text {
    max-width: 650px;
    font-size: 23px;
    line-height: 1.55;
    color: #77736d;
    margin: 0;
}

.shanti-fee-dropin-line {
    width: 55px;
    height: 1px;
    background: #8c7662;
    margin: 20px 0 18px;
}


/* =========================================
   DROP-IN RIGHT SIDE
========================================= */

.shanti-fee-dropin-right {
    padding-left: 35px;
    border-left: 1px solid #cfc9bd;
}

.shanti-fee-dropin-prices {
    margin-bottom: 18px;
}

.shanti-fee-dropin-price {
    display: flex;
    justify-content: space-between;
    max-width: 360px;
    font-size: 25px;
    line-height: 1.6;
}

.shanti-fee-dropin-price strong {
    font-weight: 400;
}


/* =========================================
   WHATSAPP BUTTON
========================================= */

.shanti-fee-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 255px;
    padding: 13px 22px;
    border: 1px solid #8d9c91;
    background: #fdfcf8;
    color: #222;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    letter-spacing: 3px;
    transition: all 0.25s ease;
}

.shanti-fee-whatsapp-btn:hover {
    background: #eee9df;
    color: #222;
    text-decoration: none;
}

.shanti-fee-whatsapp-icon {
    font-size: 26px;
    letter-spacing: 0;
}

.shanti-fee-arrow {
    margin-left: auto;
    font-size: 22px;
    letter-spacing: 0;
}


  .sugato-page {
            background: #faf6ef;
            color: #20201f;

            overflow: hidden;
        }

        .sugato-page * {
            box-sizing: border-box;
        }

        .sugato-page img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .sugato-page h1,
        .sugato-page h2,
        .sugato-page h3,
        .sugato-page p {
            margin-top: 0;
        }

        .sugato-page h1,
        .sugato-page h2,
        .sugato-page h3 {
            font-weight: 400;
            line-height: 1.18;
        }

        .sugato-page p {
            margin-bottom: 12px;
        }

        .sugato-page .sugato-container {
            width: 100%;
            max-width: 1240px;
            margin: 0 auto;
            padding-left: 35px;
            padding-right: 35px;
        }

        .sugato-page .sugato-eyebrow {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #69441f;
            margin-bottom: 12px;
        }

        .sugato-page .sugato-heading {
            margin-bottom: 12px;
        }

        .sugato-page .sugato-rule {
            width: 35px;
            height: 1px;
            background: #97744b;
            margin: 15px 0 20px;
        }

        /* =====================================
           HERO SECTION
        ===================================== */

        .sugato-hero {
            min-height: 345px;
            display: flex;
            align-items: center;
            position: relative;
            background: #f7f0e5;
            overflow: hidden;
        }

        .sugato-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg,
                #faf6ef 0%,
                rgba(250,246,239,.98) 41%,
                rgba(250,246,239,.78) 45%,
                rgba(250,246,239,0) 65%);
            z-index: 1;
        }

        .sugato-hero-image {
            position: absolute;
            inset: 0 0 0 37%;
            background-image: url(../images/sugato-heero.jpg);
            background-size: cover;
            background-position: center 45%;
        }

        .sugato-hero-image.review-hero-image {
            position: absolute;
            inset: 0 0 0 37%;
            background-image: url(../images/review-heero.jpg);
            background-size: cover;
            background-position: center 45%;
        }

        .sugato-hero-image.enroll-h-img {
            position: absolute;
            inset: 0 0 0 37%;
            background-image: url(../images/enroll-banner.jpg);
            background-size: cover;
            background-position: center 45%;
        }

        .sugato-hero-content {
            position: relative;
            z-index: 2;
            width: 100%;
            padding-top: 32px;
            padding-bottom: 32px;
        }

        .sugato-hero h1 {
            margin-bottom: 4px;
            color: #111a20;
        }

        .sugato-hero-subtitle {
            font-size: clamp(18px, 2vw, 23px);
            margin-bottom: 8px;
        }

        .sugato-hero-description {
            max-width: 370px;
            line-height: 1.5;
            margin-bottom: 0;
        }

        /* =====================================
           INTRODUCTION
        ===================================== */

        .sugato-intro {
            text-align: center;
            background: #f5ede1;
            padding: 25px 20px 27px;
        }

        .sugato-intro h2 {
            font-size: clamp(23px, 2.5vw, 30px);
            margin-bottom: 0;
        }

        .sugato-intro .sugato-rule {
            margin: 12px auto 15px;
        }

        .sugato-intro p {
            max-width: 800px;
            margin: 0 auto;
        }

        /* =====================================
           JOURNEY SECTION
        ===================================== */

        .sugato-journey {
            padding: 25px 0 18px;
        }

        .sugato-journey-row {
            align-items: center;
            --bs-gutter-x: 42px;
            --bs-gutter-y: 25px;
        }

        .sugato-journey-image {
            height: auto;
            overflow: hidden;
        }

        .sugato-journey-image img {
            transition: transform .5s ease;
        }

        .sugato-journey-image:hover img {
            transform: scale(1.025);
        }

        .sugato-journey-copy {
            padding: 10px 0;
        }

        .sugato-journey-copy h2 {
            margin-bottom: 0;
        }

        .sugato-journey-copy p {
            line-height: 1.55;
            margin-bottom: 12px;
        }

        /* =====================================
           TRADITIONS STUDIED / EXPERIENCE
        ===================================== */

        .sugato-traditions {
            background: #f4ecdf;
            padding: 24px 42px;
            margin-top: 0;
            margin-bottom: 22px;
        }

        .sugato-traditions-row {
            align-items: center;
        }

        .sugato-traditions-copy {
            padding-right: 35px;
        }

        .sugato-traditions-copy p {
            margin-bottom: 8px;
        }

        .sugato-traditions-list {
            columns: 2;
            column-gap: 30px;
            padding-left: 20px;
            margin: 8px 0 0;
        }

        .sugato-traditions-list li {
            padding-left: 3px;
            margin-bottom: 2px;
            break-inside: avoid;
        }

        .sugato-experience {
            border-left: 1px solid #d3c4ae;
            padding: 18px 0 18px 55px;
        }

        .sugato-experience-years {
            line-height: 1.2;
            margin-bottom: 12px;
            white-space: nowrap;
        }

        .sugato-experience .sugato-rule {
            margin: 12px 0;
        }

        .sugato-experience-text {
            font-size: 16px;
        }

        .sugato-experience-locations {
            font-size: 15px;
            letter-spacing: 1px;
            word-spacing: 5px;
            margin-bottom: 0;
        }

        /* =====================================
           VIDEO SECTION
        ===================================== */

        .sugato-video-section {
            padding: 0 0 25px;
        }

        .sugato-video-row {
            align-items: center;
            --bs-gutter-x: 45px;
            --bs-gutter-y: 22px;
        }

        .sugato-video-copy {
            padding: 12px 10px;
        }

        .sugato-video-copy h2 {
            font-size: clamp(30px, 3.5vw, 40px);
            max-width: 380px;
            margin-bottom: 15px;
        }

        .sugato-video-copy p {
            line-height: 1.6;
            max-width: 380px;
        }

        .sugato-video-frame {
            width: 100%;
            aspect-ratio: 16 / 9;
            background: #28241f;
            overflow: hidden;
        }

        .sugato-video-frame video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .sugato-video-placeholder {
            position: relative;
            width: 100%;
            height: 100%;
            background: #d8cbb8;
            background-image: url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=85');
            background-position: center;
            background-size: cover;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .sugato-video-placeholder::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,.14);
        }

        .sugato-video-play {
            position: relative;
            z-index: 1;
            width: 62px;
            height: 62px;
            border-radius: 50%;
            background: rgba(20,20,20,.8);
            color: white;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        /* =====================================
           FINAL CALL TO ACTION
        ===================================== */

        .sugato-cta {
            position: relative;
            min-height: 225px;
            background-image:
                linear-gradient(rgba(54,42,28,.12), rgba(54,42,28,.12)),
                url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2000&q=90');
            background-position: center 53%;
            background-size: cover;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 35px 20px;
        }

        .sugato-cta-content {
            max-width: 650px;
            color: #211d17;
        }

        .sugato-cta h2 {
            font-size: clamp(28px, 3vw, 36px);
            margin-bottom: 10px;
        }

        .sugato-cta p {
            font-size: 15px;
            line-height: 1.6;
            margin-bottom: 16px;
        }

        .sugato-cta-button {
            display: inline-block;
            padding: 11px 28px;
            background: #6d5017;
            border: 1px solid #6d5017;
            border-radius: 30px;
            color: #fffaf0;
            text-decoration: none;
            transition: all .25s ease;
        }

        .sugato-cta-button:hover {
            background: #493712;
            border-color: #493712;
            color: #fff;
        }





 .shanti-upcoming-page {
            background-color: #f8f5ed;
            color: #103747;
            padding: 12px 0 45px;
        }

        .shanti-upcoming-page *,
        .shanti-upcoming-page *::before,
        .shanti-upcoming-page *::after {
            box-sizing: border-box;
        }

        .shanti-upcoming-container {
            max-width: 1240px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Page Introduction */

        .shanti-upcoming-intro {
            margin-bottom: 14px;
        }

        .shanti-upcoming-title {
            color: #103747;
       
            font-weight: 500;
            line-height: 1.02;
            margin: 0;
        }

        .shanti-upcoming-subtitle {
            color: #103747;
         
            font-weight: 400;
            line-height: 1.15;
            margin: 0;
        }

        .shanti-upcoming-description {
            color: #263f4c;
        
            line-height: 1.4;
            margin: 2px 0 0;
        }

        /* Month Headings */

        .shanti-upcoming-month {
            margin-top: 14px;
        }

        .shanti-upcoming-month-heading {
            align-items: center;
            gap: 20px;
            margin-bottom: 3px;
            text-align: center;
            position: relative;
        }

        .shanti-upcoming-month-title {
            color: #103747;
            flex-shrink: 0;
            font-size: 30px ;
            font-weight: 500;
            line-height: 1.2;
            margin: 0;
            display: inline-block;
            padding: 5px 18px;
            background: #f7f5ed;
            position: relative;
            z-index: 9;
        }

        .shanti-upcoming-month-line {
            background-color: #bdc5bb;
            flex-grow: 1;
            height: 1px;
            position: absolute;
            left: 0px;
            top: 25px;
            width: 100%;
        }

        /* Program Row */

        .shanti-upcoming-program {
            align-items: center;
            border-bottom: 1px solid #e4e0d6;
            display: grid;
            gap: 16px;
            grid-template-columns:
                105px
                minmax(190px, 1.35fr)
                minmax(165px, 0.9fr)
                minmax(230px, 1fr);
            min-height: 60px;
            padding: 15px 0;
        }

        .shanti-upcoming-program:last-child {
            border-bottom: none;
        }

        /* Program Image */

        .shanti-upcoming-image {
            border-radius: 4px;
            display: block;
            height: 100%;
            object-fit: cover;
            width: 103px;
        }

        /* Program Information */

        .shanti-upcoming-info {
            min-width: 0;
        }

        .shanti-upcoming-info p.upcoming-event1-p {
           margin: 0px;
          font-size: 12px;
          text-transform: uppercase;
          color: #9a7045;
          font-weight: 600;
        }

        .shanti-upcoming-program-title {
            color: #103747;

            font-weight: 500;
            line-height: 1.1;
            margin: 0 0 2px;
        }
        .shanti-upcoming-program-title a {
            color: #103747;
          }

        .shanti-upcoming-program-description {
            color: #5c6470;
            line-height: 1.08;
            margin: 0;
            font-size: 14px;
        }

        /* Dates and Fees */

        .shanti-upcoming-details {
            align-self: stretch;
            border-left: 1px solid #cbd0c8;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding-left: 33px;
        }

        .shanti-upcoming-date {
            color: #596372;
            line-height: 1.25;
            margin: 0;
            font-size: 16px;
        }

        .shanti-upcoming-price {
            color: #103747;
            font-weight: 600;
            line-height: 1.25;
            margin: 1px 0 0;
        }

        .shanti-upcoming-online {
            color: #596372;
            line-height: 1.25;
            margin: 3px 0 0;
        }

        .shanti-upcoming-note {
            color: #68717b;
          
            margin: 3px 0 0;
        }

        /* Action Buttons */

        .shanti-upcoming-actions {
            align-items: center;
            gap: 10px;
            justify-content: flex-end;
            text-align: right;
        }

        .shanti-upcoming-btn {
            align-items: center;
            border: 1px solid #b7c1b5;
            border-radius: 3px;
            color: #173746;
            display: inline-flex;
            font-size: 14px;
            justify-content: center;
            line-height: 1.2;
            min-height: 32px;
            padding: 7px 12px;
            text-align: center;
            text-decoration: none;
            transition: background-color 0.2s ease, color 0.2s ease;
            white-space: nowrap;
        }

        .shanti-upcoming-btn:hover {
            background-color: #e8e9df;
            border-color: #73816f;
            color: #103747;
        }

        .shanti-upcoming-btn-explore {
            min-width: 150px;
        }

        .shanti-upcoming-btn-book {
            background-color: #9a7045;
            border-color: #9a7045;
            color: #ffffff;
            min-width: 150px;
            margin-top: 8px;
        }

        .shanti-upcoming-btn-book:hover {
            background-color: #304537;
            border-color: #304537;
            color: #ffffff;
        }

        .shanti-upcoming-arrow {
            margin-left: 5px;
        }

.shanti-booking-page {
            background: #fcfbf8;
            color: #172d43;
            font-family: 'Crimson Pro', Georgia, serif;
            font-size: 16px;
            line-height: 1.4;
            padding: 22px 0 40px;
        }

        .shanti-booking-page *,
        .shanti-booking-page *::before,
        .shanti-booking-page *::after {
            box-sizing: border-box;
        }

        .shanti-booking-container {
            max-width: 1240px;
            margin: 0 auto;
            padding: 0 24px;
        }

        .shanti-booking-page h1,
        .shanti-booking-page h2,
        .shanti-booking-page h3,
        .shanti-booking-page p {
            font-family: 'EB Garamond', Georgia, serif;
        }

        /* Section Cards */

        .shanti-booking-section {
            background: rgba(255, 255, 255, 0.38);
            border: 1px solid #e9e5dd;
            border-radius: 4px;
            margin-bottom: 12px;
            padding: 12px 20px 16px;
        }

        .shanti-booking-section-heading {
            color: #172d43;
            font-family: 'EB Garamond', Georgia, serif;
            font-size: 31px;
            font-weight: 500;
            line-height: 1.05;
            margin: 0;
        }

        .shanti-booking-section-description {
            color: #7b8da6;
            font-size: 17px;
            line-height: 1.2;
            margin: 2px 0 8px;
        }

        /* Booking Information Notice */

        .shanti-booking-notice {
            align-items: flex-start;
            background: #f0f2eb;
            border: 1px solid #edf0e7;
            border-radius: 4px;
            display: flex;
            gap: 18px;
            margin-bottom: 12px;
            padding: 12px 22px;
        }

        .shanti-booking-notice-icon {
            align-items: center;
            border: 2px solid #316568;
            border-radius: 50%;
            color: #316568;
            display: flex;
            flex: 0 0 29px;
            font-family: Georgia, serif;
            font-size: 21px;
            font-weight: 600;
            height: 29px;
            justify-content: center;
            line-height: 1;
            margin-top: 1px;
            width: 29px;
        }

        .shanti-booking-notice-title {
            color: #245255;
            font-size: 21px;
            line-height: 1.1;
            margin: 0 0 3px;
        }

        .shanti-booking-notice-text {
            color: #4f6065;
            font-size: 15px;
            line-height: 1.35;
            margin: 0;
        }

        /* Program Selector */

        .shanti-booking-program-label {
            color: #172d43;
            display: block;
            font-size: 15px;
            margin: 7px 0;
        }

        .shanti-booking-program-selector {
            position: relative;
        }

        .shanti-booking-select-toggle {
            align-items: center;
            background: #fff;
            border: 1px solid #c8d0d9;
            border-radius: 4px;
            color: #7b8da6;
            cursor: pointer;
            display: flex;
            font-family: 'Crimson Pro', Georgia, serif;
            font-size: 15px;
            justify-content: space-between;
            min-height: 37px;
            padding: 7px 12px;
            text-align: left;
            width: 100%;
        }

        .shanti-booking-select-toggle:hover,
        .shanti-booking-select-toggle:focus {
            border-color: #a17a4b;
            outline: none;
        }

        .shanti-booking-select-arrow {
            color: #526477;
            font-size: 15px;
            margin-left: 10px;
        }

        .shanti-booking-program-list {
            background: #fff;
            border: 1px solid #dcdfe3;
            border-radius: 0 0 4px 4px;
            box-shadow: 0 5px 12px rgba(30, 40, 50, 0.08);
            display: none;
            max-height: 320px;
            overflow-y: auto;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            z-index: 20;
        }

        .shanti-booking-program-selector.shanti-booking-open
        .shanti-booking-program-list {
            display: block;
        }

        .shanti-booking-program-option {
            align-items: center;
            border-bottom: 1px solid #eeeae4;
            color: #273a4d;
            cursor: pointer;
            display: grid;
            gap: 10px;
            grid-template-columns: minmax(150px, 1.2fr) minmax(150px, 1fr) auto 22px;
            margin: 0;
            min-height: 27px;
            padding: 4px 12px;
            transition: background-color 0.15s ease;
        }

        .shanti-booking-program-option:last-child {
            border-bottom: none;
        }

        .shanti-booking-program-option:hover {
            background: #f8f6f0;
        }

        .shanti-booking-option-name {
            font-size: 15px;
            line-height: 1.2;
        }

        .shanti-booking-option-date {
            color: #7b8da6;
            font-size: 14px;
            line-height: 1.2;
        }

        .shanti-booking-option-price {
            color: #273a4d;
            font-size: 14px;
            white-space: nowrap;
        }

        .shanti-booking-page input[type="checkbox"] {
            accent-color: #9b6734;
            cursor: pointer;
            height: 16px;
            margin: 0;
            width: 16px;
        }

        .shanti-booking-program-option input {
            justify-self: center;
        }

        /* Residential Retreat Cards */

        .shanti-booking-retreat-grid {
            display: grid;
            gap: 12px;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .shanti-booking-retreat-card {
            align-items: center;
            background: #fff;
            border: 1px solid #e9e5dd;
            border-radius: 4px;
            display: grid;
            gap: 12px;
            grid-template-columns: 22px 100px minmax(0, 1fr);
            min-height: 105px;
            padding: 10px 12px;
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .shanti-booking-retreat-card.shanti-booking-selected {
            background: #f8f5ed;
            border-color: #a17a4b;
        }

        .shanti-booking-retreat-checkbox {
            align-self: start;
            margin-top: 9px !important;
        }

        .shanti-booking-retreat-image {
            border-radius: 4px;
            height: 80px;
            object-fit: cover;
            width: 100px;
        }

        .shanti-booking-retreat-content {
            min-width: 0;
        }

        .shanti-booking-retreat-link {
            color: #96622f;
            display: inline-block;
            font-size: 18px;
            line-height: 1.15;
            margin-bottom: 4px;
            text-decoration: underline;
            text-decoration-color: #c9b49c;
            text-underline-offset: 2px;
        }

        .shanti-booking-retreat-link:hover {
            color: #67401f;
        }

        .shanti-booking-retreat-date {
            color: #7b8da6;
            font-size: 15px;
            line-height: 1.2;
            margin: 0 0 8px;
        }

        .shanti-booking-retreat-price {
            color: #172d43;
            font-size: 19px;
            margin: 0;
        }

        /* Booking Summary */

        .shanti-booking-summary-heading-row {
            align-items: center;
            display: flex;
            justify-content: space-between;
            gap: 15px;
        }

        .shanti-booking-clear {
            background: none;
            border: none;
            color: #316568;
            cursor: pointer;
            font-size: 15px;
            padding: 3px 0;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .shanti-booking-clear:hover {
            color: #96622f;
        }

        .shanti-booking-summary-box {
            background: #fff;
            border: 1px solid #e9e5dd;
            border-radius: 4px;
            min-height: 120px;
            padding: 15px;
        }

        .shanti-booking-empty {
            align-items: center;
            color: #888b8d;
            display: flex;
            font-size: 16px;
            font-style: italic;
            justify-content: center;
            min-height: 88px;
            text-align: center;
        }

        .shanti-booking-summary-item {
            align-items: center;
            border-bottom: 1px solid #eeeae4;
            display: flex;
            gap: 12px;
            justify-content: space-between;
            padding: 10px 0;
        }

        .shanti-booking-summary-item:first-child {
            padding-top: 0;
        }

        .shanti-booking-summary-item:last-of-type {
            border-bottom: none;
        }

        .shanti-booking-summary-name {
            color: #263d50;
            font-size: 16px;
            line-height: 1.25;
        }

        .shanti-booking-summary-meta {
            color: #7b8da6;
            display: block;
            font-size: 14px;
            margin-top: 2px;
        }

        .shanti-booking-summary-cost {
            color: #172d43;
            flex-shrink: 0;
            font-size: 16px;
            white-space: nowrap;
        }

        .shanti-booking-summary-total {
            align-items: center;
            border-top: 1px solid #cfc8bc;
            color: #172d43;
            display: flex;
            font-size: 21px;
            font-weight: 600;
            justify-content: space-between;
            margin-top: 5px;
            padding-top: 12px;
        }

        .shanti-booking-summary-note {
            color: #7b8da6;
            font-size: 13px;
            margin: 8px 0 0;
        }

        /* Form Fields */

        .shanti-booking-form-grid {
            display: grid;
            gap: 13px 30px;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .shanti-booking-field {
            min-width: 0;
        }

        .shanti-booking-field-label {
            color: #263d50;
            display: block;
            font-size: 15px;
            line-height: 1.2;
            margin-bottom: 4px;
        }

        .shanti-booking-required {
            color: #b43838;
            font-weight: 600;
        }

        .shanti-booking-input,
        .shanti-booking-select,
        .shanti-booking-textarea {
            background-color: #fff;
            border: 1px solid #d4dce4;
            border-radius: 3px;
            color: #273a4d;
            font-size: 15px;
            min-height: 35px;
            padding: 6px 10px;
            width: 100%;
        }

        .shanti-booking-input::placeholder,
        .shanti-booking-textarea::placeholder {
            color: #8a9bb0;
            opacity: 1;
        }

        .shanti-booking-input:focus,
        .shanti-booking-select:focus,
        .shanti-booking-textarea:focus {
            border-color: #a17a4b;
            box-shadow: 0 0 0 2px rgba(161, 122, 75, 0.1);
            outline: none;
        }

        .shanti-booking-textarea {
            min-height: 76px;
            resize: vertical;
        }

        .shanti-booking-phone-group {
            display: grid;
            gap: 10px;
            grid-template-columns: 105px minmax(0, 1fr);
        }

        /* Terms */

        .shanti-booking-terms {
            margin-top: 18px;
        }

        .shanti-booking-terms-title {
            color: #263d50;
            font-size: 16px;
            margin: 0 0 5px;
        }

        .shanti-booking-terms-row {
            align-items: flex-start;
            color: #5f6e7c;
            display: flex;
            gap: 9px;
            font-size: 15px;
            line-height: 1.35;
            margin-bottom: 4px;
        }

        .shanti-booking-terms-row input {
            flex-shrink: 0;
            margin-top: 3px !important;
        }

        .shanti-booking-terms-row a {
            color: #58849c;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .shanti-booking-terms-row a:hover {
            color: #96622f;
        }

        /* Payment Button */

        .shanti-booking-submit-wrap {
            display: flex;
            justify-content: center;
            margin-top: 24px;
        }

        .shanti-booking-submit {
            align-items: center;
            background: #a16e3d;
            border: 1px solid #a16e3d;
            border-radius: 3px;
            color: #fff;
            cursor: pointer;
            display: flex;
            font-size: 19px;
            gap: 20px;
            justify-content: center;
            max-width: 510px;
            min-height: 43px;
            padding: 9px 25px;
            transition: background-color 0.2s ease;
            width: 100%;
        }

        .shanti-booking-submit:hover {
            background: #85552d;
            border-color: #85552d;
        }

        .shanti-booking-submit:focus-visible {
            outline: 2px solid #316568;
            outline-offset: 3px;
        }

        .shanti-booking-submit-arrow {
            font-family: Arial, sans-serif;
            font-size: 20px;
        }

        .shanti-booking-error {
            color: #b43838;
            display: none;
            font-size: 14px;
            margin: 8px 0 0;
        }

        .shanti-booking-error.shanti-booking-error-visible {
            display: block;
        }




.shanti-review-page {
    --shanti-review-bg: #fbf2e7;
    --shanti-review-card: #fff7ed;
    --shanti-review-text: #291b17;
    --shanti-review-muted: #675b53;
    --shanti-review-accent: #8f241a;
    --shanti-review-border: #e9d8c8;

    background: var(--shanti-review-bg);
    color: var(--shanti-review-text);
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    line-height: 1.65;
    overflow: hidden;
}

.shanti-review-page * {
    box-sizing: border-box;
}

.shanti-review-page img {
    max-width: 100%;
}



.shanti-review-page p {
    margin-bottom: 0;
   
}
.shanti-review-page p.shanti-review-card-text {
    margin-bottom: 0;
    height: 120px;
    overflow-y: scroll;
}


.shanti-review-page a {
    color: var(--shanti-review-accent);
}

.shanti-review-page button {
    font-family: inherit;
    display: none;
}







/* Review Card Scrollbar - Always Visible */



.shanti-review-card-text {
    overflow-y: scroll !important;
    scrollbar-width: thin;
    scrollbar-color: #8b5e3c #e9dfd2;
}

.shanti-review-card-text::-webkit-scrollbar {
    width: 7px;
    -webkit-appearance: none;
}

.shanti-review-card-text::-webkit-scrollbar-track {
    background: #e9dfd2;
    border-radius: 10px;
}

.shanti-review-card-text::-webkit-scrollbar-thumb {
    background: #8b5e3c;
    border-radius: 10px;
    min-height: 30px;
}








/* SECTION SPACING */

.shanti-review-videos,
.shanti-review-written,
.shanti-review-google {
    padding: 24px 0 12px;
}


/* SECTION HEADING */

.shanti-review-section-heading {
    margin-bottom: 16px;
}

.shanti-review-section-heading h2 {
    font-size: 29px;
    line-height: 1.3;
    margin: 0 0 5px;
}

.shanti-review-heading-line {
    display: block;
    width: 58px;
    height: 2px;
    background: var(--shanti-review-accent);
}


/* VIDEO TESTIMONIALS */

.shanti-review-video-card {
    height: 100%;
}

.shanti-review-video-thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    padding: 0;
    overflow: hidden;
    border: none;
    border-radius: 8px;
    background: #e8d7c5;
    cursor: pointer;
    text-align: left;
}

.shanti-review-video-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.shanti-review-video-thumb:hover img {
    transform: scale(1.04);
}

.shanti-review-play {
    position: absolute;
    top: 50%;
    left: 10%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    transform: translateY(-50%);
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(32, 25, 19, 0.15);
    font-size: 25px;
    transition: background 0.2s ease;
}

.shanti-review-video-thumb:hover .shanti-review-play {
    background: rgba(143, 36, 26, 0.85);
}

.shanti-review-duration {
    position: absolute;
    right: 9px;
    bottom: 8px;
    padding: 1px 7px;
    color: #fff;
    background: rgba(0, 0, 0, 0.82);
    border-radius: 3px;
    font-size: 12px;
}

.shanti-review-video-card h3 {
    font-size: 17px;
    line-height: 1.4;
    margin: 8px 0 2px;
}

.shanti-review-meta {
    font-size: 12px;
    color: var(--shanti-review-muted);
    line-height: 1.6;
}

.shanti-review-meta span {
    padding: 0 3px;
    color: #9b806d;
}


/* VIDEO MODAL */

.shanti-review-modal .modal-content {
    background: var(--shanti-review-bg);
    border: 1px solid var(--shanti-review-border);
    border-radius: 8px;
    overflow: hidden;
}

.shanti-review-modal .modal-title {
    font-size: 20px;
}

.shanti-review-modal .modal-body {
    padding: 0;
}


/* FEATURED WRITTEN REVIEW */

.shanti-review-featured {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 25px;
    padding: 12px;
    margin-bottom: 15px;
    border: 1px solid var(--shanti-review-border);
    border-radius: 12px;
    background: linear-gradient(110deg, #fff8ef, #f9e9d8);
}

.shanti-review-featured-image {
    min-height: 155px;
    overflow: hidden;
    border-radius: 8px;
}

.shanti-review-featured-image img {
    width: 100%;
    height: 100%;
    min-height: 155px;
    object-fit: cover;
    display: block;
}

.shanti-review-featured-content {
    padding: 3px 8px 4px 0;
}

.shanti-review-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--shanti-review-accent);
    font-size: 12px;
    font-weight: 700;
}

.shanti-review-featured-content h3 {
    font-size: 21px;
    font-style: italic;
    line-height: 1.45;
    margin: 0 0 5px;
}

.shanti-review-quote-mark {
    color: var(--shanti-review-accent);
    font-size: 38px;
    font-style: normal;
    line-height: 0;
    vertical-align: -9px;
    margin-right: 3px;
}

.shanti-review-featured-content > p {
    font-size: 15px;
    line-height: 1.65;
}

.shanti-review-author {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
    font-size: 124x;
    color: var(--shanti-review-muted);
}

.shanti-review-author strong {
    color: var(--shanti-review-text);
}

.shanti-review-featured-extra {
    display: none;
}

.shanti-review-featured.shanti-review-expanded
.shanti-review-featured-extra {
    display: inline;
}

.shanti-review-text-toggle {
    display: none;
    padding: 5px 0 0;
    color: var(--shanti-review-accent);
    border: none;
    background: transparent;
    font-size: 12px;
    font-weight: 600;
}


/* STUDENT REVIEW CARDS */

.shanti-review-grid {
    margin-top: 0;
}

.shanti-review-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 15px;
    border: 1px solid var(--shanti-review-border);
    border-radius: 12px;
    background: rgba(255, 249, 241, 0.58);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.shanti-review-card:hover {
    border-color: #c8a88d;
    transform: translateY(-2px);
}

.shanti-review-person {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 68px;
}

.shanti-review-person img {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
}

.shanti-review-person h3 {
    margin: 0 0 1px;
    font-size: 19px;
    line-height: 1.35;
}

.shanti-review-person p {
    font-size: 13px;
    line-height: 1.5;
    color: var(--shanti-review-muted);
}

.shanti-review-person span {
    display: block;
    font-size: 12px;
    line-height: 1.5;
    color: var(--shanti-review-muted);
}

.shanti-review-card-divider {
    width: 100%;
    height: 1px;
    margin: 12px 0 8px;
    background: var(--shanti-review-border);
}

.shanti-review-card h4 {
    margin: 0 0 5px;
    color: var(--shanti-review-accent);
    font-size: 17px;
    font-style: italic;
    line-height: 1.45;
}

.shanti-review-card-text {
    font-size: 14px;
    line-height: 1.7;
}

.shanti-review-card-extra {
    display: none;
}

.shanti-review-card.shanti-review-expanded
.shanti-review-card-extra {
    display: inline;
}

.shanti-review-readmore {
    align-self: flex-start;
    margin-top: auto;
    padding: 8px 0 0;
    color: var(--shanti-review-accent);
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.shanti-review-readmore i,
.shanti-review-text-toggle i {
    margin-left: 3px;
    transition: transform 0.2s ease;
}

.shanti-review-readmore:hover i,
.shanti-review-text-toggle:hover i {
    transform: translateX(4px);
}


/* GOOGLE REVIEWS */

.shanti-review-google {
    padding-top: 25px;
    padding-bottom: 20px;
}

.shanti-review-google-heading {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 12px;
}

.shanti-review-google-heading .shanti-review-section-heading {
    margin: 0;
    padding-right: 30px;
    border-right: 1px solid #d8c5b5;
}

.shanti-review-google-score {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.shanti-review-google-g {
    font-size: 30px;
    font-weight: 700;
    background: conic-gradient(
        #4285f4 0deg 90deg,
        #34a853 90deg 180deg,
        #fbbc05 180deg 270deg,
        #ea4335 270deg 360deg
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.shanti-review-google-score strong {
    font-size: 20px;
}

.shanti-review-stars {
    color: #f4ad12;
    font-size: 21px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.shanti-review-google-score small {
    font-size: 12px;
    color: var(--shanti-review-muted);
}

.shanti-review-google-card {
    height: 100%;
    padding: 13px 17px;
    border: 1px solid var(--shanti-review-border);
    border-radius: 12px;
    background: rgba(255, 249, 241, 0.65);
}

.shanti-review-google-card .shanti-review-stars {
    font-size: 19px;
    letter-spacing: 0;
}

.shanti-review-google-card > p {
    margin: 3px 0 8px;
    font-size: 14px;
    line-height: 1.55;
}

.shanti-review-google-author {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    font-size: 12px;
}

.shanti-review-google-author strong {
    font-weight: 600;
}

.shanti-review-google-author a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.shanti-review-google-author a:hover {
    color: #64150f;
}

.shanti-review-google-link {
    text-align: center;
    margin-top: 13px;
}

.shanti-review-google-link a {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
    font-weight: 600;
}


/* CALL TO ACTION */

.shanti-review-cta {
    position: relative;
    padding: 34px 20px 38px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    isolation: isolate;
}

.shanti-review-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(255, 244, 229, 0.48);
}

.shanti-review-cta h2 {
    margin: 0 0 5px;
    font-size: 31px;
    line-height: 1.35;
}

.shanti-review-cta p {
    margin-bottom: 17px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 15px;
    line-height: 1.65;
}

.shanti-review-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 25px;
    color: #fff !important;
    background: #a92d16;
    border: 1px solid #a92d16;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s ease, transform 0.25s ease;
}

.shanti-review-cta-button:hover {
    background: #7e2112;
    border-color: #7e2112;
    transform: translateY(-2px);
}



































































































/* =======strat mobile css=====   */

 @media (max-width: 767.98px) {
      .hero { background:linear-gradient(90deg,rgba(248,247,242,.94),rgba(248,247,242,.78)),url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80") center/cover; min-height:unset; }
      .hero-content { padding:2.5rem 0; }
      .hero-note { display:none; }
      .vision-card + .vision-card,.step,.explore-item + .explore-item,.day-item { border-left:0; border-right:0; border-top:1px solid var(--shanti-line); }
      .journey-image { min-height:240px; }
      .approach-copy { border-left:0; padding-left:0; margin-top:1.5rem; }
      .explore-item { padding:1rem 0; }
      .section-pad { padding:1.6rem 0; }
    }

@media (max-width: 767.98px) {
      .bhg-section {padding: 22px 0;}
      .bhg-section-heading {gap: 10px;}
      .bhg-section-heading::before, .bhg-section-heading::after {width: 22px;flex-basis: 22px;}
      .bhg-section-subtitle {font-size: 14px;padding: 0 12px;}
      .bhg-vision-card + .bhg-vision-card, .bhg-question + .bhg-question, .bhg-explore-card + .bhg-explore-card, .bhg-detail-box + .bhg-detail-box { border-left: 0; border-top: 1px solid var(--bhg-line); }
      .bhg-vision-card {padding: 20px 15px;}
      .bhg-question {padding: 15px 10px;}
      .bhg-question-answer {padding: 5px 15px;}
      .bhg-teaching-image {min-height: 240px;}
      .bhg-teaching-copy {padding: 25px 20px;}
      .bhg-explore-card {padding: 20px 15px;}
      .bhg-day-item {flex: 0 0 50%;max-width: 50%;}
      .bhg-detail-box {padding: 15px 10px;}
      .bhg-cta-line {gap: 10px;}
      .bhg-cta-message {flex: 0 0 100%;}
        }


@media (max-width: 991.98px) {

            .twprog-intro {
                min-height: 290px;
            }

            .twprog-intro-title {
                font-size: 43px;
            }

            .twprog-program-card {
                min-height: 220px;
            }

            .twprog-program-image,
            .twprog-program-image img {
                min-height: 220px;
            }

            .twprog-program-content {
                padding: 22px 25px;
            }

            .twprog-program-content::after {
                font-size: 48px;
            }

            .twprog-program-title {
                 
            }

            .twprog-program-subtitle {
                font-size: 15px;
            }

            .twprog-pricing-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 0;
            }

            .twprog-price-card:nth-child(2) {
                border-right: 0;
            }

            .twprog-price-card:nth-child(3),
            .twprog-price-card:nth-child(4) {
                border-top: 1px solid var(--twprog-line);
            }
             .shanti-header-inner {
        min-height: 65px;
        padding: 0 25px;
    }

    .shanti-logo img {
        width: 120px;
    }

    .shanti-nav {
        margin-right: 20px;
    }

    .shanti-menu {
        gap: 18px;
    }

    .shanti-menu > li > a {
           
    }

    .shanti-enquire-btn {
        min-width: 90px;
        padding: 9px 14px;
         
    }

    .shanti-contact-hero {
        min-height: 270px;
    }

    .shanti-contact-hero h1 {
        font-size: 40px;
    }

    .shanti-contact-form-wrapper {
        padding-right: 30px;
    }

    .shanti-contact-connect-wrapper {
        padding-left: 30px;
    }

        }

@media (max-width: 767.98px) {

            .twprog-intro {
                min-height: auto;
                padding: 35px 0 30px;
                
            }

            .twprog-intro-title {
                font-size: 36px;
                letter-spacing: -1px;
            }

            .twprog-intro-description {
                font-size: 16px;
            }

            .twprog-timeline {
                padding: 15px 0 25px;
                background: var(--twprog-paper);
            }

            .twprog-timeline-line {
                top: 35px;
                left: 12%;
                width: 76%;
            }

            .twprog-timeline-item {
                padding: 0 5px;
            }

            .twprog-timeline-days {
                font-size: 16px;
            }

            .twprog-timeline-title {
                   
            }

            .twprog-program-card {
                display: flex;
                flex-direction: column;
                min-height: auto;
            }

            .twprog-program-card.twprog-reverse .twprog-program-image,
            .twprog-program-card.twprog-reverse .twprog-program-content {
                order: initial;
            }

            .twprog-program-image,
            .twprog-program-image img {
                min-height: 240px;
                height: 240px;
            }

            .twprog-program-content {
                min-height: 235px;
                padding: 25px 22px;
            }

            .twprog-program-title {
                font-size: 28px;
            }

            .twprog-program-description {
                   
            }

            .twprog-exploration {
                padding: 35px 15px 25px;
            }

            .twprog-exploration-title {
                font-size: 32px;
            }

            .twprog-exploration-description {
                font-size: 16px;
            }

            .twprog-join-title {
                font-size: 27px;
                margin-bottom: 20px;
            }

            .twprog-pricing-grid {
                grid-template-columns: repeat(2, 1fr);
                padding: 0 10px;
            }

            .twprog-price-card {
                padding: 18px 10px;
            }

            .twprog-price-title {
                font-size: 19px;
            }

            .twprog-price-amount {
                font-size: 18px;
            }

            .twprog-price-card.twprog-featured {
                border-radius: 0;
            }
                .shanti-header-inner {
        flex-wrap: wrap;
        padding: 15px 20px;
    }

    .shanti-logo {
        width: 100%;
        justify-content: center;
        margin-bottom: 15px;
    }

    .shanti-nav {
        width: 100%;
        margin: 0;
        justify-content: center;
        overflow-x: auto;
    }

    .shanti-menu {
        gap: 20px;
        white-space: nowrap;
    }

    .shanti-menu > li > a {
         
    }

    .shanti-enquire-btn {
        display: none;
    }

    .shanti-dropdown-menu {
        position: absolute;
        margin-top: 10px !important;
    }
.shanti-contact-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .shanti-contact-hero {
        min-height: 300px;
        background-position: center;
    }

    .shanti-contact-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(250, 248, 242, 0.97) 0%,
            rgba(250, 248, 242, 0.80) 70%,
            rgba(250, 248, 242, 0.35) 100%
        );
    }

    .shanti-contact-hero-content {
        padding: 40px 0;
    }

    .shanti-contact-hero h1 {
        font-size: 36px;
    }

    .shanti-contact-hero p {
        font-size: 15px;
    }

    .shanti-contact-main {
        padding-top: 30px;
    }

    .shanti-contact-form-wrapper {
        padding-right: 0;
        padding-bottom: 35px;
        border-right: 0;
        border-bottom: 1px solid #d8d4ca;
    }

    .shanti-contact-connect-wrapper {
        padding: 35px 0 0;
    }

    .shanti-contact-connect-item {
        margin-bottom: 25px;
    }

    .shanti-contact-faq {
        padding-top: 15px;
        padding-bottom: 45px;
    }

    .shanti-contact-faq-heading h2 {
        font-size: 24px;
    }

    .shanti-contact-quote {
        min-height: 230px;
    }

    .shanti-contact-quote blockquote {
        padding: 0 15px;
        font-size: 18px;
    }
        }

@media (max-width: 420px) {

            .twprog-intro-title {
                font-size: 32px;
            }

            .twprog-timeline-title {
                 
            }

            .twprog-program-image,
            .twprog-program-image img {
                height: 210px;
                min-height: 210px;
            }

            .twprog-program-content {
                padding: 22px 18px;
            }

            .twprog-program-title {
                 
            }

            .twprog-price-title {
                font-size: 17px;
            }
        }        




@media (max-width: 991.98px) {

    .medprog-journey-image {
        min-height: 260px;
    }

    .medprog-journey-content {
        padding: 25px 5%;
    }

    .medprog-journey-title {
        font-size: 34px;
    }

    .medprog-question {
        padding: 0 10px;
    }

    .medprog-question h3,
    .medprog-question p {
        font-size: 11px;
    }

    .medprog-pathway {
        gap: 25px;
    }

    .medprog-details-block {
        padding-right: 20px;
    }

    .medprog-audience-block {
        padding-left: 20px;
    }

    .medprog-cta-content {
        gap: 18px;
    }

}


/* =========================================
   10. MOBILE RESPONSIVE
========================================= */

@media (max-width: 767.98px) {

    .medprog-program-section {
        padding: 30px 0 20px;
    }

    .medprog-heading-title {
        font-size: 30px;
    }

    .medprog-pillars-row > div {
        margin-bottom: 20px;
    }

    .medprog-pillar {
        padding: 0 8px 15px;
    }

    .medprog-pillar-title {
         
    }

    .medprog-program-summary {
        padding: 0 12px;
        font-size: 14px;
    }


    /* Journey */

    .medprog-journey-image,
    .medprog-journey-image img {
        height: 240px;
        min-height: 240px;
    }

    .medprog-journey-content {
        padding: 25px 20px 30px;
    }

    .medprog-journey-title {
        font-size: 34px;
        margin-bottom: 22px;
    }

    .medprog-questions-row > div {
        margin-bottom: 15px;
    }

    .medprog-question {
        padding: 0 10px;
    }

    .medprog-question h3 {
         
    }

    .medprog-question p {
         
    }


    /* Pathway */

    .medprog-pathway-section {
        padding: 25px 0;
    }

    .medprog-pathway-heading .medprog-eyebrow {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .medprog-pathway {
        gap: 10px;
        justify-content: space-around;
    }

    .medprog-pathway-item {
        min-width: 0;
        text-align: center;
    }

    .medprog-pathway-item h3 {
        font-size: 17px;
    }

    .medprog-pathway-item p {
        font-size: 11px;
    }

    .medprog-pathway-arrow {
        font-size: 23px;
    }

    .medprog-pathway-note {
        gap: 12px;
        padding: 12px;
    }

    .medprog-pathway-note p {
         
    }


    /* Explore */

    .medprog-explore-section {
        padding: 25px 0;
    }

    .medprog-explore-row > div {
        margin-bottom: 15px;
    }

    .medprog-explore-card {
        padding: 8px 5px;
    }

    .medprog-explore-card h3 {
        font-size: 14px;
    }

    .medprog-explore-card p {
        font-size: 11px;
    }


    /* Typical day */

    .medprog-day-section {
        padding: 28px 0;
    }

    .medprog-day-heading .medprog-heading-title {
        font-size: 26px;
    }

    .medprog-day-grid > div {
        margin-bottom: 18px;
    }

    .medprog-day-item {
        padding: 0 5px 10px;
    }

    .medprog-day-silence {
        font-size: 9px;
        letter-spacing: 1px;
        line-height: 1.6;
    }

    .medprog-day-description {
        padding: 0 10px;
         
    }


    /* Details */

    .medprog-details-block {
        padding-right: 0;
        padding-bottom: 20px;
        border-right: 0;
        border-bottom: 1px solid var(--medprog-line);
    }

    .medprog-audience-block {
        padding: 20px 0 0;
    }


    /* Quote */

    .medprog-quote-content {
        gap: 12px;
    }

    .medprog-quote-symbol {
        font-size: 32px;
    }

    .medprog-quote-content h2 {
        font-size: 19px;
    }

    .medprog-quote-translation {
        font-size: 15px;
    }


    /* Enquiry */

    .medprog-cta-content {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .medprog-cta-content h2 {
        font-size: 20px;
    }

}


/* =========================================
   11. SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .medprog-heading-title {
        font-size: 27px;
    }

    .medprog-journey-title {
        font-size: 30px;
    }

    .medprog-pathway {
        gap: 6px;
    }

    .medprog-pathway-item h3 {
        font-size: 15px;
    }

    .medprog-pathway-item p {
        font-size: 10px;
    }

    .medprog-pathway-arrow {
        font-size: 19px;
    }

    .medprog-pathway-note {
        align-items: flex-start;
    }

    .medprog-explore-card h3 {
           
    }

    .medprog-day-heading .medprog-heading-title {
        font-size: 24px;
    }

    .medprog-quote-content h2 {
        font-size: 17px;
    }

    .medprog-cta-content h2 {
        font-size: 18px;
    }

}



/* =========================================
   11. TABLET RESPONSIVE
========================================= */

@media (max-width: 991.98px) {

    .shanti-about-container {
        padding-right: 25px;
        padding-left: 25px;
    }

    .shanti-about-banner {
        min-height: 140px;
    }

    .shanti-about-why-content {
        padding-right: 10px;
    }

    .shanti-about-quote {
        padding: 15px;
    }

    .shanti-about-quote blockquote {
        font-size: 20px;
    }

    .shanti-about-heart-card {
        padding-right: 12px;
        padding-left: 12px;
    }

    .shanti-about-heart-card p {
        font-size: 11px;
    }

    .shanti-about-teacher-content {
        padding-right: 10px;
    }

    .shanti-about-explore-card p {
        font-size: 11px;
    }

    .shanti-about-cta-content {
        gap: 15px;
    }

    .shanti-about-cta-button {
        padding: 10px 14px;
    }

}


/* =========================================
   12. MOBILE RESPONSIVE
========================================= */

@media (max-width: 767.98px) {

    .shanti-about-container {
        padding-right: 20px;
        padding-left: 20px;
    }


    /* Banner */

    .shanti-about-banner {
        min-height: 135px;
        background-position: center;
    }

    .shanti-about-banner-content {
        padding: 25px 0;
    }

    .shanti-about-banner-content h1 {
        font-size: 37px;
    }

    .shanti-about-banner-content p {
        font-size: 16px;
    }


    /* Intro */

    .shanti-about-intro {
        padding: 20px 0;
    }

    .shanti-about-intro-content {
        padding-right: 0;
    }

    .shanti-about-intro-content h2 {
        font-size: 24px;
    }

    .shanti-about-intro-content p {
           
    }

    .shanti-about-intro-image {
        height: 210px;
    }


    /* Why Shanti */

    .shanti-about-why {
        padding: 20px 0;
    }

    .shanti-about-why-content {
        padding-right: 0;
    }

    .shanti-about-why-content h2 {
        font-size: 24px;
    }

    .shanti-about-why-content p {
           
    }

    .shanti-about-quote {
        min-height: auto;
        justify-content: flex-start;
        padding: 12px 20px;
        border-left: 2px solid #c9a5a2;
    }

    .shanti-about-quote blockquote {
        font-size: 22px;
    }


    /* Heart */

    .shanti-about-heart {
        padding: 22px 0;
    }

    .shanti-about-section-heading {
        margin-bottom: 18px;
    }

    .shanti-about-section-heading h2 {
        font-size: 24px;
    }

    .shanti-about-heart-row > div {
        margin-bottom: 18px;
    }

    .shanti-about-heart-card {
        padding: 0 8px 12px;
    }

    .shanti-about-heart-row > div:first-child .shanti-about-heart-card {
        padding-left: 8px;
    }

    .shanti-about-heart-row > div:last-child .shanti-about-heart-card {
        padding-right: 8px;
    }

    .shanti-about-heart-icon {
        width: 45px;
        height: 45px;
    }

    .shanti-about-heart-card h3 {
        font-size: 18px;
    }

    .shanti-about-heart-card p {
         
    }


    /* Teacher */

    .shanti-about-teacher {
        padding: 20px 0;
    }

    .shanti-about-teacher-content {
        padding-right: 0;
    }

    .shanti-about-teacher-content h2 {
        font-size: 24px;
    }

    .shanti-about-teacher-image {
        height: 230px;
    }


    /* Explore */

    .shanti-about-explore {
        padding: 22px 0;
    }

    .shanti-about-explore-heading {
        margin-bottom: 18px;
    }

    .shanti-about-explore-heading h2 {
        font-size: 24px;
    }

    .shanti-about-explore-heading p {
         
    }

    .shanti-about-explore-row > div {
        margin-bottom: 20px;
    }

    .shanti-about-explore-card {
        padding: 0 5px;
    }

    .shanti-about-explore-icon {
        width: 43px;
        height: 43px;
    }

    .shanti-about-explore-card p {
         
    }


    /* Name */

    .shanti-about-name {
        padding: 20px 0;
    }

    .shanti-about-name-content {
        padding-right: 0;
    }

    .shanti-about-name-content h2 {
        font-size: 24px;
    }

    .shanti-about-name-content p {
           
    }

    .shanti-about-brand {
        justify-content: flex-start;
        padding: 15px 0;
        border-top: 1px solid var(--shanti-about-border);
        border-left: 0;
    }


    /* CTA */

    .shanti-about-cta {
        padding: 25px 0;
    }

    .shanti-about-cta-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .shanti-about-cta-content h2 {
         
    }

    .shanti-about-cta-content p {
           
    }

    .shanti-about-cta-buttons {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .shanti-about-cta-button {
        width: 100%;
        min-height: 44px;
        padding: 12px 15px;
    }

}


/* =========================================
   13. SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .shanti-about-banner-content h1 {
        font-size: 33px;
    }

    .shanti-about-banner-content p {
        font-size: 14px;
    }

    .shanti-about-intro-image {
        height: 180px;
    }

    .shanti-about-quote blockquote {
        font-size: 20px;
    }

    .shanti-about-heart-card p {
        font-size: 11px;
    }

    .shanti-about-explore-card p {
        font-size: 11px;
    }

    .shanti-about-brand-symbol {
        flex-basis: 65px;
        width: 65px;
        height: 75px;
    }

    .shanti-about-brand-text h3 {
        font-size: 28px;
    }

}


@media (max-width: 991.98px) {

    .shanti-sugato-container {
        padding-right: 25px;
        padding-left: 25px;
    }

    .shanti-sugato-hero {
        min-height: 200px;
        background-position: 60% center;
    }

    .shanti-sugato-hero-content {
        max-width: 400px;
    }

    .shanti-sugato-hero-content h1 {
        font-size: 48px;
    }

    .shanti-sugato-journey-image {
        height: 280px;
    }

    .shanti-sugato-journey-content {
        padding-left: 5px;
    }

    .shanti-sugato-journey-content h2 {
        font-size: 23px;
    }

    .shanti-sugato-journey-content p {
         
    }

    .shanti-sugato-cta-quote {
        min-width: 100px;
    }

}


/* ==========================================
   13. MOBILE RESPONSIVE
=========================================== */

@media (max-width: 767.98px) {

    .shanti-sugato-container {
        padding-right: 20px;
        padding-left: 20px;
    }


    /* Hero */

    .shanti-sugato-hero {
        min-height: 340px;
        align-items: flex-end;
        background-position: 65% top;
    }

    .shanti-sugato-hero-overlay {
        background: linear-gradient(
            0deg,
            rgba(247, 245, 239, 1) 0%,
            rgba(247, 245, 239, 0.97) 38%,
            rgba(247, 245, 239, 0.45) 68%,
            rgba(247, 245, 239, 0.05) 100%
        );
    }

    .shanti-sugato-hero-content {
        max-width: 100%;
        padding: 20px 0;
    }

    .shanti-sugato-hero-content h1 {
        font-size: 44px;
    }

    .shanti-sugato-hero-content h2 {
        font-size: 19px;
    }

    .shanti-sugato-hero-content p {
        max-width: 350px;
        font-size: 14px;
    }


    /* Intro */

    .shanti-sugato-intro {
        padding: 22px 0;
    }

    .shanti-sugato-intro-content h2 {
        font-size: 21px;
    }

    .shanti-sugato-intro-content p {
         
    }


    /* Approach */

    .shanti-sugato-approach {
        padding: 24px 0;
    }

    .shanti-sugato-section-heading {
        margin-bottom: 18px;
    }

    .shanti-sugato-section-heading h2 {
        font-size: 24px;
    }

    .shanti-sugato-approach-row > div {
        margin-bottom: 18px;
    }

    .shanti-sugato-approach-card {
        padding: 0 5px 12px;
        border-right: 0;
        border-bottom: 1px solid var(--shanti-sugato-border);
    }

    .shanti-sugato-approach-image {
        height: 150px;
    }

    .shanti-sugato-approach-body h3 {
        font-size: 15px;
    }

    .shanti-sugato-approach-body p {
           
    }


    /* Journey */

    .shanti-sugato-journey {
        padding: 22px 0;
    }

    .shanti-sugato-journey-image {
        height: 260px;
    }

    .shanti-sugato-journey-content {
        padding: 5px 0 0;
    }

    .shanti-sugato-journey-content h2 {
        font-size: 24px;
    }

    .shanti-sugato-journey-content p {
           
    }


    /* Experience */

    .shanti-sugato-experience {
        padding: 20px 0;
    }

    .shanti-sugato-experience-years {
        min-height: 65px;
        border-right: 0;
        border-bottom: 1px solid #cfc7bb;
    }

    .shanti-sugato-experience-years span {
        font-size: 32px;
    }

    .shanti-sugato-experience-details {
        padding: 15px 0 0;
        text-align: center;
    }

    .shanti-sugato-experience-locations {
        justify-content: center;
    }

    .shanti-sugato-experience-locations span {
        padding: 0 10px;
    }


    /* Video */

    .shanti-sugato-video {
        padding: 24px 0;
    }

    .shanti-sugato-video .shanti-sugato-section-heading h2 {
        font-size: 21px;
    }


    /* CTA */

    .shanti-sugato-cta {
        padding: 28px 0;
    }

    .shanti-sugato-cta-content {
        flex-direction: column;
        gap: 20px;
    }

    .shanti-sugato-cta-text h2 {
         
    }

    .shanti-sugato-cta-text p {
           
    }

    .shanti-sugato-cta-quote {
        align-items: center;
        min-width: auto;
        text-align: center;
    }

}


/* ==========================================
   14. SMALL MOBILE
=========================================== */

@media (max-width: 420px) {

    .shanti-sugato-hero {
        min-height: 320px;
    }

    .shanti-sugato-hero-content h1 {
        font-size: 39px;
    }

    .shanti-sugato-hero-content h2 {
        font-size: 17px;
    }

    .shanti-sugato-intro-content h2 {
        font-size: 19px;
    }

    .shanti-sugato-section-heading h2 {
        font-size: 22px;
    }

    .shanti-sugato-journey-content h2 {
        font-size: 22px;
    }

    .shanti-sugato-experience-years span {
        font-size: 29px;
    }

    .shanti-sugato-experience-years h3 {
        font-size: 19px;
    }

    .shanti-sugato-experience-locations span {
        padding: 0 7px;
        font-size: 11px;
    }

    .shanti-sugato-video .shanti-sugato-section-heading h2 {
        font-size: 19px;
    }

}


@media (max-width: 991.98px) {

    .shanti-approach-container {
        padding-right: 25px;
        padding-left: 25px;
    }

    .shanti-approach-intro-content {
        padding-left: 0;
    }

    .shanti-approach-intro-content h1 {
        font-size: 38px;
    }

    .shanti-approach-seeing-content {
        grid-template-columns: 1fr;
        padding: 20px 25px;
    }

    .shanti-approach-seeing-main {
        padding: 0 0 15px;
    }

    .shanti-approach-seeing-aside {
        padding: 15px 0 0;
        border-top: 1px solid #c9c1b5;
        border-left: 0;
    }

    .shanti-approach-movement-row > div {
        padding-right: 12px;
        padding-left: 12px;
    }

    .shanti-approach-movement-top {
        gap: 15px;
    }

    .shanti-approach-number {
        font-size: 23px;
    }

    .shanti-approach-movement-top h3 {
        font-size: 18px;
    }

    .shanti-approach-question-content {
        padding: 18px 25px;
    }

    .shanti-approach-question-image {
        height: 100%;
        min-height: 260px;
    }

    .shanti-approach-question-content h2 {
        font-size: 24px;
    }

}


/* ==========================================
   12. MOBILE RESPONSIVE
=========================================== */

@media (max-width: 767.98px) {

    .shanti-approach-container {
        padding-right: 20px;
        padding-left: 20px;
    }


    /* Intro */

    .shanti-approach-intro {
        padding: 25px 0;
        background-position: 65% center;
    }

    .shanti-approach-intro::before {
        background: rgba(248, 245, 239, 0.88);
    }

    .shanti-approach-intro-content h1 {
        font-size: 34px;
    }

    .shanti-approach-intro-content p {
           
    }


    /* Seeing Clearly */

    .shanti-approach-seeing-image {
        height: 220px;
    }

    .shanti-approach-seeing-content {
        padding: 20px;
    }

    .shanti-approach-sanskrit {
        font-size: 22px;
    }

    .shanti-approach-quote {
        font-size: 18px;
    }


    /* Three Movements */

    .shanti-approach-movements {
        padding: 25px 0;
    }

    .shanti-approach-movements-heading h2 {
        font-size: 26px;
    }

    .shanti-approach-movement-row > div {
        padding: 15px 0;
        border-right: 0;
        border-bottom: 1px solid var(--shanti-approach-border);
    }

    .shanti-approach-movement-row > div:last-child {
        border-bottom: 0;
    }

    .shanti-approach-movement-card {
        padding: 0;
    }

    .shanti-approach-movement-top {
        gap: 22px;
    }

    .shanti-approach-movement-top h3 {
        font-size: 21px;
    }

    .shanti-approach-short-line {
        margin-left: 50px;
    }

    .shanti-approach-movement-card p {
           
    }


    /* Question */

    .shanti-approach-question-image {
        height: 230px;
        min-height: 0;
    }

    .shanti-approach-question-content {
        padding: 22px 20px;
    }

    .shanti-approach-question-content h2 {
         
    }

    .shanti-approach-question-content > p {
           
    }

    .shanti-approach-sanskrit-block .shanti-approach-sanskrit {
        font-size: 16px;
    }


    /* Life */

    .shanti-approach-life {
        padding: 25px 0;
    }

    .shanti-approach-life-content h2 {
        font-size: 27px;
    }

    .shanti-approach-life-content p {
           
    }

    .shanti-approach-life-banner {
        height: 160px;
    }


    /* Experience */

    .shanti-approach-experience {
        padding: 25px 0;
    }

    .shanti-approach-experience-heading h2 {
        font-size: 27px;
    }

    .shanti-approach-experience-row > div {
        padding: 8px 0;
        border-right: 0;
        border-bottom: 1px solid var(--shanti-approach-border);
    }

    .shanti-approach-experience-row > div:last-child {
        border-bottom: 0;
    }

    .shanti-approach-experience-card {
        min-height: 50px;
    }

    .shanti-approach-experience-card p {
           
    }

    .shanti-approach-experience-conclusion p {
         
    }


    /* CTA */

    .shanti-approach-cta {
        padding: 25px 0;
    }

    .shanti-approach-cta-content h2 {
        font-size: 21px;
    }

}


/* ==========================================
   13. SMALL MOBILE
=========================================== */

@media (max-width: 420px) {

    .shanti-approach-intro-content h1 {
        font-size: 30px;
    }

    .shanti-approach-movements-heading h2 {
        font-size: 23px;
    }

    .shanti-approach-question-content h2 {
        font-size: 23px;
    }

    .shanti-approach-sanskrit {
        font-size: 19px;
    }

    .shanti-approach-life-content h2 {
        font-size: 24px;
    }

    .shanti-approach-experience-heading h2 {
         
    }

}



/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .shanti-retreats-container {
        max-width: 100%;
    }

    .shanti-retreats-intro-content {
        padding-right: 25px;
    }

    .shanti-retreats-intro-content h1 {
        font-size: 45px;
    }

    .shanti-retreats-intro-image {
        height: 300px;
    }

    .shanti-retreats-online-image {
        height: 380px;
        padding-right: 25px;
    }

    .shanti-retreats-online-content {
        padding-left: 10px;
    }

    .shanti-retreats-silence-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .shanti-retreats-silence-content h2 {
        font-size: 34px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .shanti-retreats-page {
        overflow-x: hidden;
    }

    .shanti-retreats-container {
        padding-left: 20px;
        padding-right: 20px;
    }


    /* Intro */

    .shanti-retreats-intro {
        padding: 0 0 30px;
    }

    .shanti-retreats-intro-row {
        min-height: auto;
    }

    .shanti-retreats-intro-content {
        padding: 35px 0 25px;
    }

    .shanti-retreats-intro-content h1 {
        font-size: 40px;
        letter-spacing: -1px;
    }

    .shanti-retreats-intro-content p {
        font-size: 15px;
    }

    .shanti-retreats-intro-image {
        height: 270px;
    }


    /* Online */

    .shanti-retreats-online {
        padding-bottom: 35px;
    }

    .shanti-retreats-online-row {
        min-height: auto;
    }

    .shanti-retreats-online-image {
        height: 300px;
        padding-right: 0;
        margin-bottom: 25px;
    }

    .shanti-retreats-online-content {
        padding: 0;
    }

    .shanti-retreats-online-content h2 {
        font-size: 34px;
    }

    .shanti-retreats-online-content > p {
        font-size: 14px;
    }


    /* Session Details */

    .shanti-retreats-session-details {
        display: block;
    }

    .shanti-retreats-session-time {
        width: 100%;
        padding-right: 0;
        padding-bottom: 12px;
    }

    .shanti-retreats-upcoming {
        width: 100%;
        padding: 12px 0 10px;
        border-left: 0;
        border-top: 1px solid #d4d0c5;
    }

    .shanti-retreats-links {
        display: flex;
        flex-direction: column;
        gap: 9px;
    }


    /* Silence */

    .shanti-retreats-silence-image {
        height: 330px;
    }

    .shanti-retreats-silence-content {
        padding: 35px 20px 45px;
    }

    .shanti-retreats-silence-content h2 {
        font-size: 34px;
    }

    .shanti-retreats-silence-content h3 {
        font-size: 22px;
    }


    /* Explore */

    .shanti-retreats-explore {
        padding: 55px 0 60px;
    }

    .shanti-retreats-explore-content h2 {
        font-size: 34px;
    }

    .shanti-retreats-explore-content p {
        font-size: 14px;
    }
    .place-copy{
  padding:15px 28px;
  width: 100%;
}
.shanti-retreats-online-image {
    height: auto;
    padding-right: 0px;
}

}



@media (min-width: 992px) {

    .shanti-nav-hover:hover > .shanti-nav-dropdown {
        display: block;
        animation: shantiNavDropdownShow 0.2s ease forwards;
    }

    .shanti-nav-hover > .shanti-nav-dropdown {
        margin-top: 0;
    }

}


/* =========================================================
   DROPDOWN ANIMATION
   ========================================================= */

@keyframes shantiNavDropdownShow {

    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   MOBILE TOGGLE
   ========================================================= */

.shanti-nav-toggler {
    width: 43px;
    height: 43px;

    padding: 8px;

    border: 1px solid #d3cec3;
    border-radius: 0;

    background: #a27a4d;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.shanti-nav-toggler:focus {
    box-shadow: none;
}

.shanti-nav-toggler-line {
    display: block;

    width: 21px;
    height: 1px;

    background: #fff;
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media (max-width: 991px) {

    .shanti-nav-navbar {
        min-height: 68px;
    }

    .shanti-nav-container {
        min-height: 68px;
        padding-left: 20px;
        padding-right: 20px;
    }


    /* Logo */

    .shanti-nav-logo {
        height: 68px;
        margin-right: 0;
    }

    .shanti-nav-logo img {
        width: 135px;
    }


    /* Menu */

    .shanti-nav-menu {
        padding: 15px 0 20px;
    }

    .shanti-nav-list {
        align-items: stretch !important;
        gap: 0;
    }


    /* Links */

    .shanti-nav-link {
        min-height: 45px;
        padding: 10px 5px !important;

        justify-content: space-between;

        border-bottom: 1px solid #e5e1d8;

        font-size: 14px;
    }


    /* Dropdown */

    .shanti-nav-dropdown {
        position: static !important;

        width: 100%;

        min-width: 0;

        margin: 0 !important;

        padding: 5px 0;

        border: 0;

        border-left: 1px solid #ddd8ce;

        box-shadow: none;

        background: #f5f2ea;
    }

    .shanti-nav-dropdown-link {
        padding: 9px 15px !important;
        font-size: 13px;
    }

    .shanti-nav-dropdown-link:hover {
        padding-left: 20px !important;
    }


    /* Enquire */

    .shanti-nav-enquire-item {
        margin: 15px 0 0;
    }

    .shanti-nav-enquire {
        width: 100%;
        height: 43px;
    }


    .shanti-approach-life-content{  padding:0  0px; }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575px) {

    .shanti-nav-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .shanti-nav-logo img {
        width: 125px;
    }

}



/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .shanti-about-container {
        max-width: 92%;
    }


    .shanti-about-intro {
        padding: 48px 0;
    }


    .shanti-about-why {
        padding: 45px 0;
    }


    .shanti-about-quote-box {
        margin-top: 30px;
        margin-left: 0;
    }


    .shanti-about-dimensions {
        padding: 45px 0;
    }


    .shanti-about-dimension-image {
        height: 200px;
    }


    .shanti-about-sugato {
        padding: 48px 0;
    }


    .shanti-about-sugato-image-wrap {
        margin-top: 35px;
        margin-left: 0;
    }


    .shanti-about-name-logo {
        margin-top: 35px;
        padding-left: 0;
    }


    .shanti-about-cta-buttons {
        justify-content: flex-start;
        margin-top: 25px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .shanti-about-container {
        max-width: 90%;
    }


    .shanti-about-intro {
        padding: 40px 0 42px;
    }


    .shanti-about-title {
        font-size: 42px;
    }


    .shanti-about-intro-text {
        font-size: 15px;
    }


    .shanti-about-why {
        padding: 40px 0;
    }


    .shanti-about-section-title {
        font-size: 31px;
    }


    .shanti-about-quote-box {
        margin-top: 30px;
    }


    .shanti-about-quote-line {
        margin-right: 22px;
    }


    .shanti-about-quote-box blockquote {
        font-size: 27px;
    }


    .shanti-about-dimensions {
        padding: 42px 0;
    }


    .shanti-about-dimensions-heading {
        margin-bottom: 22px;
    }


    .shanti-about-dimensions-heading
    .shanti-about-section-title span {
        margin: 0 3px;
    }


    .shanti-about-dimension-card {
        margin-bottom: 12px;
    }


    .shanti-about-dimension-image {
        height: 210px;
    }


    .shanti-about-card-title {
        font-size: 24px;
    }


    .shanti-about-questions {
        min-height: 460px;

        background-position: 65% center;
    }


    .shanti-about-questions-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(250, 245, 234, 0.95) 0%,
                rgba(250, 245, 234, 0.82) 70%,
                rgba(250, 245, 234, 0.25) 100%
            );
    }


    .shanti-about-questions-content {
        padding: 50px 0;
    }


    .shanti-about-question-list {
        font-size: 27px;
    }


    .shanti-about-sugato {
        padding: 42px 0;
    }


    .shanti-about-sugato-image {
        height: 260px;
    }


    .shanti-about-name {
        padding: 42px 0;
    }


    .shanti-about-name-title {
        font-size: 35px;
    }


    .shanti-about-name-logo img {
        width: 210px;
    }


    .shanti-about-cta {
        padding: 35px 0;
    }


    .shanti-about-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }


    .shanti-about-cta-button {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .shanti-about-container {
        max-width: 91%;
    }


    .shanti-about-eyebrow {
        font-size: 10px;
        letter-spacing: 2.5px;
    }


    .shanti-about-title {
        font-size: 37px;
    }


    .shanti-about-section-title {
        font-size: 28px;
    }


    .shanti-about-question-list {
        font-size: 24px;
    }


    .shanti-about-quote-box blockquote {
        font-size: 24px;
    }

}


@media (max-width: 991px) {

    .shanti-fee-price-column {
        border-right: 0;
        border-bottom: 1px solid #cfc9bd;
        padding: 0 20px 35px;
        margin-bottom: 35px;
    }

    .shanti-fee-selected-column {
        padding: 0 20px;
    }

    .shanti-fee-dropin {
        padding: 30px 20px;
    }

    .shanti-fee-dropin-right {
        border-left: 0;
        border-top: 1px solid #cfc9bd;
        padding-left: 0;
        padding-top: 30px;
        margin-top: 30px;
    }

}


@media (max-width: 575px) {

    .shanti-fee-section {
        padding: 25px 0 45px;
    }

    .shanti-fee-heading {
        font-size: 15px;
        letter-spacing: 4px;
    }

    .shanti-fee-subtitle {
        font-size: 18px;
    }

    .shanti-fee-price-list {
        padding: 18px 20px;
    }

    .shanti-fee-price-item {
        font-size: 19px;
    }

    .shanti-fee-price-item strong {
        font-size: 20px;
    }

    .shanti-fee-selected-price {
        font-size: 45px;
    }

    .shanti-fee-selected-program {
        font-size: 21px;
    }

    .shanti-fee-description {
        font-size: 17px;
    }

    .shanti-fee-dropin-text {
        font-size: 18px;
    }

    .shanti-fee-dropin-price {
        font-size: 20px;
    }

    .shanti-fee-whatsapp-btn {
        width: 100%;
        min-width: auto;
        font-size: 14px;
    }

}



/* Tablet Layout */

        @media (max-width: 991.98px) {
            .shanti-upcoming-container {
                padding: 0 22px;
            }

            .shanti-upcoming-program {
                gap: 12px;
                grid-template-columns:
                    90px
                    minmax(160px, 1.3fr)
                    minmax(140px, 0.9fr);
                padding: 9px 0;
            }

            .shanti-upcoming-image {
                height: 58px;
                width: 88px;
            }

            .shanti-upcoming-details {
                padding-left: 15px;
            }

            .shanti-upcoming-actions {
                grid-column: 2 / -1;
                justify-content: flex-start;
                padding-bottom: 3px;
            }

            .shanti-upcoming-program-title {
                font-size: 17px;
            }

            .shanti-upcoming-program-description {
                font-size: 14px;
            }
        }

        /* Mobile Layout */

        @media (max-width: 575.98px) {
            .shanti-upcoming-page {
                padding-top: 15px;
            }

            .shanti-upcoming-container {
                padding: 0 15px;
            }

            .shanti-upcoming-title {
                font-size: 39px;
            }

            .shanti-upcoming-subtitle {
                font-size: 24px;
                margin-top: 4px;
            }

            .shanti-upcoming-description {
                font-size: 15px;
                margin-top: 5px;
            }

            .shanti-upcoming-month {
                margin-top: 22px;
            }

            .shanti-upcoming-month-heading {
                gap: 12px;
                margin-bottom: 8px;
            }

            .shanti-upcoming-month-title {
                font-size: 27px;
            }

            .shanti-upcoming-program {
                align-items: start;
                gap: 8px 12px;
                grid-template-columns: 86px minmax(0, 1fr);
                padding: 12px 0;
            }

            .shanti-upcoming-image {
                height: 66px;
                width: 86px;
            }

            .shanti-upcoming-info {
                padding-top: 1px;
            }

            .shanti-upcoming-program-title {
                font-size: 18px;
                line-height: 1.1;
            }

            .shanti-upcoming-program-description {
                font-size: 14px;
                line-height: 1.2;
            }

            .shanti-upcoming-details {
                border-left: none;
                grid-column: 2;
                padding: 0;
            }

            .shanti-upcoming-date {
                font-size: 14px;
            }

            .shanti-upcoming-price {
                font-size: 15px;
            }

            .shanti-upcoming-actions {
                align-items: stretch;
                flex-wrap: wrap;
                gap: 8px;
                grid-column: 2;
                justify-content: flex-start;
                padding: 0;
            }

            .shanti-upcoming-btn {
                font-size: 12px;
                min-height: 33px;
                padding: 7px 10px;
            }

            .shanti-upcoming-btn-explore {
                min-width: 125px;
            }

            .shanti-upcoming-btn-book {
                min-width: 90px;
            }
        }

        /* Very Small Screens */

        @media (max-width: 360px) {
            .shanti-upcoming-title {
                font-size: 34px;
            }

            .shanti-upcoming-month-title {
                font-size: 24px;
            }

            .shanti-upcoming-program {
                gap: 8px;
                grid-template-columns: 76px minmax(0, 1fr);
            }

            .shanti-upcoming-image {
                height: 60px;
                width: 76px;
            }

            .shanti-upcoming-actions {
                flex-direction: column;
                align-items: flex-start;
            }

            .shanti-upcoming-btn {
                width: 100%;
                max-width: 190px;
            }
        }

@media (max-width: 991.98px) {
            .shanti-booking-container {
                padding: 0 18px;
            }

            .shanti-booking-program-option {
                gap: 8px;
                grid-template-columns: minmax(125px, 1fr) minmax(125px, 1fr) auto 22px;
            }

            .shanti-booking-retreat-card {
                gap: 9px;
                grid-template-columns: 20px 75px minmax(0, 1fr);
                padding: 10px;
            }

            .shanti-booking-retreat-image {
                height: 72px;
                width: 75px;
            }

            .shanti-booking-retreat-link {
                font-size: 16px;
            }

            .shanti-booking-form-grid {
                gap: 12px 20px;
            }
        }

        /* Mobile */

        @media (max-width: 767.98px) {
            .shanti-booking-page {
                padding-top: 15px;
            }

            .shanti-booking-container {
                padding: 0 12px;
            }

            .shanti-booking-section {
                padding: 13px 12px;
            }

            .shanti-booking-section-heading {
                font-size: 28px;
            }

            .shanti-booking-section-description {
                font-size: 16px;
                line-height: 1.3;
            }

            .shanti-booking-notice {
                gap: 12px;
                padding: 12px;
            }

            .shanti-booking-notice-title {
                font-size: 19px;
            }

            .shanti-booking-notice-text {
                font-size: 14px;
            }

            .shanti-booking-program-option {
                align-items: start;
                gap: 4px 8px;
                grid-template-columns: minmax(0, 1fr) auto 22px;
                padding: 8px 10px;
            }

            .shanti-booking-option-name {
                grid-column: 1;
                font-size: 15px;
            }

            .shanti-booking-option-date {
                grid-column: 1;
                grid-row: 2;
                font-size: 13px;
            }

            .shanti-booking-option-price {
                align-self: center;
                grid-column: 2;
                grid-row: 1 / 3;
                font-size: 14px;
            }

            .shanti-booking-program-option input {
                align-self: center;
                grid-column: 3;
                grid-row: 1 / 3;
            }

            .shanti-booking-retreat-grid {
                grid-template-columns: 1fr;
            }

            .shanti-booking-retreat-card {
                grid-template-columns: 22px 85px minmax(0, 1fr);
            }

            .shanti-booking-retreat-image {
                height: 75px;
                width: 85px;
            }

            .shanti-booking-form-grid {
                gap: 12px;
                grid-template-columns: 1fr;
            }

            .shanti-booking-summary-box {
                min-height: 105px;
                padding: 12px;
            }

            .shanti-booking-empty {
                min-height: 75px;
            }

            .shanti-booking-submit-wrap {
                margin-top: 20px;
            }

            .shanti-booking-submit {
                font-size: 18px;
                padding: 10px 14px;
            }
        }

        @media (max-width: 360px) {
            .shanti-booking-container {
                padding: 0 8px;
            }

            .shanti-booking-section {
                padding: 11px 9px;
            }

            .shanti-booking-section-heading {
                font-size: 26px;
            }

            .shanti-booking-retreat-card {
                gap: 7px;
                grid-template-columns: 18px 70px minmax(0, 1fr);
                padding: 8px;
            }

            .shanti-booking-retreat-image {
                height: 65px;
                width: 70px;
            }

            .shanti-booking-retreat-link {
                font-size: 15px;
            }

            .shanti-booking-phone-group {
                gap: 6px;
                grid-template-columns: 90px minmax(0, 1fr);
            }

            .shanti-booking-summary-item {
                align-items: flex-start;
                gap: 6px;
            }

            .shanti-booking-summary-cost {
                font-size: 14px;
            }
        }


        /* TABLET */

@media (max-width: 991px) {

    .shanti-review-section-heading h2 {
        font-size: 26px;
    }

    .shanti-review-featured {
        grid-template-columns: 35% 1fr;
        gap: 18px;
    }

    .shanti-review-featured-content h3 {
        font-size: 18px;
    }

    .shanti-review-google-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .shanti-review-google-heading .shanti-review-section-heading {
        padding-right: 0;
        border-right: none;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .shanti-review-videos,
    .shanti-review-written,
    .shanti-review-google {
        padding-top: 22px;
        padding-bottom: 12px;
    }

    .shanti-review-section-heading h2 {
        font-size: 25px;
    }

    .shanti-review-video-card h3 {
        font-size: 17px;
    }

    .shanti-review-featured {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 12px;
    }

    .shanti-review-featured-image {
        height: 220px;
        min-height: 0;
    }

    .shanti-review-featured-image img {
        height: 220px;
        min-height: 0;
    }

    .shanti-review-featured-content {
        padding: 0 3px 5px;
    }

    .shanti-review-featured-content h3 {
        font-size: 19px;
    }

    .shanti-review-text-toggle {
        display: inline-block;
    }

    .shanti-review-card {
        padding: 14px;
    }

    .shanti-review-google-heading {
        gap: 12px;
    }

    .shanti-review-google-score {
        gap: 7px;
    }

    .shanti-review-google-g {
        font-size: 25px;
    }

    .shanti-review-google-score strong {
        font-size: 18px;
    }

    .shanti-review-stars {
        font-size: 19px;
    }

    .shanti-review-cta {
        padding: 30px 15px;
    }

    .shanti-review-cta h2 {
        font-size: 27px;
    }

    .shanti-review-cta p {
        font-size: 14px;
    }

}


/* SMALL MOBILE */

@media (max-width: 400px) {

    .shanti-review-person img {
        width: 58px;
        height: 58px;
    }

    .shanti-review-person h3 {
        font-size: 17px;
    }

    .shanti-review-google-score {
        gap: 5px;
    }

    .shanti-review-google-score small {
        width: 100%;
    }

    .shanti-review-cta-button {
        padding: 11px 17px;
        font-size: 12px;
    }

}











@media (max-width: 768px) {
        
        .place-copy {
    padding: 15px 28px;
    width: 100%;
}
  
  .place-cta-grid { display:block; }
  .place-image img {
    width: 100%;
  }
.hero h1 {
    font-size: 52px !important;
}

    .hero {
        height: 470px;
        min-height: 200px;
        max-height: none;
    }

        .trust-grid {
        grid-template-columns: repeat(5, 1fr);
        padding: 10px 0;
    }

        .home-approach-intro, .home-programs-heading > p:last-child {
        font-size: 16px;
    }

    p{ font-size:16px; }

    .home-program-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.home-program-image {
        height: 470px;
    }


.home-program-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    margin-top: auto;
    color: #526257;
    border-bottom: 1px solid currentColor;
    font: 700 12px / 1.4 Arial, sans-serif;
    letter-spacing: .14em;
    margin: 20px 0 0 0;
}
    .home-program-body {
        min-height: auto;
        padding: 17px 17px 18px;
    }

    .sugato-preview {
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
    display: block;
    grid-template-columns: none;
}
    .footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }

.twprog-section {
    position: relative;
    width: 100%;
    padding: 0px 20px;
}
.twprog-page p.ssss {
    margin-bottom: 10px;
    width: 80%;
    margin: 15px auto 0 auto !important;
}
.twprog-intro-content {
    position: relative;
    z-index: 2;
    max-width: 100%;
    padding: 70px 15px;
    padding-bottom: 20px;
}

.heero-p .hero-content {
    width: min(1280px, calc(100% - 96px));
    margin: 85px auto 0 0;
}
.hero.heero-p {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
    max-height: 390px;
}
.medprog-pillar .medprog-pillar-title{ font-size:16px; }

.medprog-question h3 {
        font-size: 17px;
    }

.medprog-question p { font-size: 15px;}
.medprog-pathway {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
    max-width: 100%;
    margin: 0 auto 22px;
}
.medprog-detail-item2 {
    padding-left: 0px;
}
.medprog-detail-item {
    display: inline-block;
    align-items: flex-start;
    gap: 13px;
    padding: 8px 0;
    width: 32%;
    vertical-align: top;
}
.medprog-detail-item h3 {
    margin: 0 0 2px;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
}
.medprog-detail-item p {
    color: var(--medprog-muted);
    font-size: 14px;
}
.medprog-detail-item a {
    display: inline-block;
    margin-top: 3px;
    font-size: 10px;
    color: var(--medprog-ink);
    border-bottom: 1px solid #aaa79e;
}
.col-md-4.explore-item{ width:100%; max-width:100%; flex:100%; }
.shanti-upcoming-program {
    align-items: center;
    border-bottom: 1px solid #e4e0d6;
    display: block;
  }
  .shanti-upcoming-program a{ display:inline-block; }
  .shanti-upcoming-info {
    min-width: 0;
    display: inline-block;
    width: 76%;
    vertical-align: top;
    margin-left: 20px;
}
    .shanti-upcoming-details {
        padding-left: 0px;
        display: inline-block;
        width: 48%;
        border: none;
        margin-top: 20px;
    }

        .shanti-upcoming-actions {
        grid-column: 2 / -1;
        justify-content: flex-start;
        padding-bottom: 3px;
        display: inline-block;
        width: 48%;
    }

    .shanti-upcoming-program {
        gap: 12px;
        grid-template-columns: 90px minmax(160px, 1.3fr) minmax(140px, 0.9fr);
        padding: 20px 0;
    }
}







@media (max-width: 576px) {
      .hero h1 {
        font-size: 44px !important;
    }

    .hero-content {
        width: calc(100% - 30px);
        margin-top: 10px;
    }
    .home-program-body > p:not(.home-program-subtitle) {
        font-size: 16px;
    }

        .sugato-preview {
        height: auto !important;
        min-height: auto !important;
        max-height: 570px !important;
        display: block;
        grid-template-columns: none;
    }
    .whatspp-btn .button{margin-top: 10px;}
    .footer-box { margin-top:20px; }
.home-footer p, .home-footer a {
    font-size: 15px;
    line-height: 1.6;
}
.footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

        .twprog-intro-title {
        font-size: 27px;
        letter-spacing: -1px;
    }

        .twprog-intro-content {
        position: relative;
        z-index: 2;
        max-width: 100%;
        padding: 36px 15px;
        padding-bottom: 20px;
    }
    .program-title-3 h2 {
    font-size: 32px;
}
    .heero-p .hero-content {
        width: min(1280px, calc(100% - 96px));
        margin: 25px auto 0 0;
    }
    .medprog-pillar {
    height: 100%;
    padding: 0 15px 15px;
    text-align: center;
    border-right: none;
}
.medprog-question {
        padding: 0 0px;
    }
       .medprog-question h3 {
        color: #a27a4d;
        font-weight: bold;
    }

    .medprog-question {

    border-right: none;
}
    .medprog-pathway {
        display: block;
        align-items: center;
        justify-content: center;
        gap: 35px;
        max-width: 100%;
        margin: 0 auto 22px;
    }

        .medprog-pathway-arrow {
        font-size: 28px;
        transform: rotate(90deg);
        display: inline-block;
        text-align: center;
        margin: 20px auto;
        width: 100%;
    }

        .medprog-pathway-item p {
        font-size: 15px;
    }
        .medprog-explore-card h3 {
        font-size: 16px;
    }
        .medprog-explore-card p {
        font-size: 15px;
    }
    .medprog-day-grid .col-md-4{ width:100%; max-width:100%; flex:100%; }
    .medprog-day-item {
    padding: 0 15px 12px;
    border-right: none;
    border-bottom: 1px solid #d1cfc7;
}
.medprog-day-item h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
    .medprog-detail-item {
        display: inline-block;
        align-items: flex-start;
        gap: 13px;
        padding: 8px 0;
        width: 48%;
        vertical-align: top;
    }

    .medprog-details-block .medprog-detail-item:last-child{ width:100%; text-align:center; }

    .shanti-about-title {
        font-size: 29px;
    }
}







@media (max-width: 400px) {

    .footer-grid {
        grid-template-columns: repeat(1, 1fr);
        text-align: center;
    }
.footer-logo {
    filter: none;
    margin: 0 auto;
    margin-bottom: 10px;
    width: 50%;
}
.home-footer h4 {
    font-size: 16px;
}
    .hero h1 {
        font-size: 38px !important;
    }

    .hero-actions {
    display: block;
    align-items: center;
    gap: 25px;
}

.hero-actions .button{
    margin-top: 10px;
}
.home-approach-principle h3 {
    margin: 0 0 8px;
    color: #3f463f;
    font: 700 14px / 1.2 Arial, sans-serif;
    letter-spacing: .22em;
}
    .sugato-preview {

        max-height: 620px !important;

    }

        .twprog-page p.ssss {
        margin-bottom: 10px;
        width: 100%;
        margin: 15px auto 0 auto !important;
    }

        .twprog-intro-title {
        font-size: 21px;
        letter-spacing: -1px;
    }
    .twprog-intro-description {
        font-size: 16px;
        line-height: 1.4;
    }

        .twprog-intro-content {
        position: relative;
        z-index: 2;
        max-width: 100%;
        padding: 36px 0px;
        padding-bottom: 20px;
    }

        .program-title-3 h2 {
        font-size: 27px;
    }

    .heero-p .hero-content {
        width: min(1280px, calc(100% - 96px));
        margin: 0px auto 0 0;
    }

        .hero.heero-p {
        width: 100%;
        aspect-ratio: 16 / 9;
        height: 280px;
        min-height: 0;
        max-height: 480px;
    }
    .hero .lead {
    max-width: 490px;
    color: #555d64;
    font-size: 17px;
    line-height: 1.35;
}
    .hero.heero-p {
        width: 100%;
        aspect-ratio: 16 / 9;
        height: 320px;
        min-height: 0;
        max-height: 520px;
    }

        .approach-copy {
        border-left: 0;
        padding-left: 15px;
        margin-top: 1.5rem;
    }

    .shanti-upcoming-info {
        min-width: 0;
        display: inline-block;
        width: 65%;
        vertical-align: top;
        margin-left: 20px;
    }
        .shanti-upcoming-image {
        height: 86px;
        width: 96px;
    }
        .shanti-upcoming-btn-book {
        min-width: 125px;
    }
}

























