@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap');

/* =====================================================================
   Mantra Yogshala - Modernization layer (loaded last, overrides template)
   Brand preserved: clay/terracotta accent + Jost/Roboto. Warm, calm, premium.
   ===================================================================== */

:root{
  --clay:#b9735a;           /* primary brand accent */
  --clay-deep:#a05c43;      /* hover / pressed */
  --clay-soft:#e3a995;      /* light accent */
  --clay-pale:#f5e9e2;      /* tint chips, circles */
  --ink:#2c2722;            /* body text (warm near-black) */
  --ink-soft:#6a6157;       /* muted text */
  --heading:#2a2520;        /* headings */
  --cream:#faf6f1;          /* base warm surface */
  --sand:#f3ebe1;           /* alt warm surface */
  --line:#ece3d8;           /* hairline */
  --dark:#211c19;           /* footer / deep sections */
  --white:#ffffff;
  --radius:18px;
  --radius-sm:12px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(70,45,30,.05), 0 4px 14px rgba(70,45,30,.05);
  --shadow-md:0 14px 36px rgba(122,74,57,.12), 0 4px 12px rgba(122,74,57,.07);
  --shadow-lg:0 30px 70px rgba(122,74,57,.18);
  --ease:cubic-bezier(.16,1,.3,1);
  --maxw:1200px;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  font-family:'Roboto',system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  font-size:16.5px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.section-title h2,.counter-tittle h2{
  font-family:'Jost',sans-serif;
  color:var(--heading);
  letter-spacing:-.01em;
  line-height:1.18;
}
p{color:var(--ink);}
a{transition:color .2s var(--ease);}
a:hover{color:var(--clay-deep);}
img{max-width:100%;height:auto;}
::selection{background:var(--clay-pale);color:var(--clay-deep);}
.container{max-width:var(--maxw);}

/* Focus visibility (a11y) */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,.btn:focus-visible{
  outline:3px solid var(--clay);
  outline-offset:2px;
  border-radius:6px;
}

/* ---------- Section rhythm + warm surfaces ---------- */
.about-area,.class-area,#work,.team-area2,.contact-area,
.testimonial-area,.blog-area,.pricing-area{
  padding-top:84px;
  padding-bottom:84px;
}
.class-area{background:var(--sand) !important;}
/* Warm every cool-grey template background (overrides inline styles) */
[style*="f6f8fc"],[style*="f8f9fe"],[style*="#f6f8fc"],[style*="#f8f9fe"]{background:var(--sand) !important;}
#work{background:var(--cream);padding-bottom:44px;}
.team-area2{background:var(--cream);padding-top:18px;padding-bottom:64px;}
.about-area{background:var(--white);}
.contact-area{background:var(--sand);}

/* Section titles */
.section-title h2,.counter-tittle h2,.about-title h2{
  font-size:clamp(1.9rem,3.4vw,2.9rem);
  font-weight:600;
}
.section-title{position:relative;}
.section-title.center-align h2:after,
#work .section-title h2:after,
.about-title h2:after{
  content:"";
  display:block;
  width:64px;height:3px;
  margin:18px 0 0;
  border-radius:3px;
  background:linear-gradient(90deg,var(--clay),var(--clay-soft));
}
.section-title.center-align h2:after{margin-left:auto;margin-right:auto;}

/* ---------- Buttons ---------- */
.btn,a.btn,.ss-btn,.form-submit-btn,.theme-btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'Jost',sans-serif;font-weight:600;
  font-size:.92rem;letter-spacing:.02em;text-transform:uppercase;
  background:var(--clay);color:#fff;
  border:1.5px solid var(--clay);
  padding:14px 30px;border-radius:var(--radius-pill);
  box-shadow:0 8px 20px rgba(122,74,57,.22);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
  cursor:pointer;
}
.btn:hover,a.btn:hover,.ss-btn:hover,.form-submit-btn:hover{
  background:var(--clay-deep);border-color:var(--clay-deep);color:#fff;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(122,74,57,.30);
}
.btn:active,a.btn:active{transform:translateY(-1px) scale(.99);}
.btn::before{display:none !important;}
/* Ghost / secondary button */
.btn-ghost{
  background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.7);
  box-shadow:none;
}
.btn-ghost:hover{background:#fff;color:var(--clay-deep);border-color:#fff;}
.btn-ink{background:var(--heading);border-color:var(--heading);}
.btn-ink:hover{background:#000;border-color:#000;}

/* ---------- Header ---------- */
.header-area{position:relative;z-index:50;}
.header-top.second-header{
  background:var(--heading);
  padding:7px 0;font-size:.86rem;
}
.header-top.second-header,.header-top.second-header a,
.header-top .header-cta span,.header-top .header-social a{color:#efe7df !important;}
.header-top .header-social a{
  width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;margin-left:6px;transition:background .2s var(--ease),color .2s var(--ease);
}
.header-top .header-social a:hover{background:var(--clay);color:#fff !important;}
.header-top .header-cta .icon{color:var(--clay-soft);}
/* clickable email / phone in the top bar: no underline, clay hover */
.header-top .header-cta a.hdr-contact-link{text-decoration:none;transition:color .2s var(--ease);}
.header-top .header-cta a.hdr-contact-link:hover,
.header-top .header-cta a.hdr-contact-link:hover span{color:var(--clay-soft) !important;}

.menu-area{
  position:sticky;top:0;z-index:200;
  background:rgba(252,249,245,.96);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
  box-shadow:0 6px 28px rgba(70,45,30,.07);
}
.second-menu{padding:8px 0;}
/* header-two (e.g. teacher pages) has a centered nav with a CTA button — tighten item
   spacing so all 5 links fit without colliding with the button */
.header-two .second-menu .main-menu ul li{margin:0 15px;}
.logo img{max-height:60px;width:auto;transition:transform .25s var(--ease);}
.logo a:hover img{transform:scale(1.03);}

/* Nav links */
@media (min-width:992px){
  .main-menu nav>ul{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;white-space:nowrap;}
  .main-menu nav>ul>li{white-space:nowrap;}
}
.main-menu nav>ul>li{margin:0 1px;}
.main-menu nav>ul>li>a,.main-menu ul li a{
  font-family:'Jost',sans-serif;font-weight:500;
  font-size:.9rem;letter-spacing:.035em;color:var(--heading);
  text-transform:uppercase;padding:28px 12px;position:relative;
  display:inline-flex;align-items:center;transition:color .2s var(--ease);
}
/* animated hover underline */
.main-menu nav>ul>li>a::before{
  content:"";position:absolute;left:12px;right:12px;bottom:21px;height:2px;
  background:linear-gradient(90deg,var(--clay),var(--clay-soft));border-radius:2px;
  transform:scaleX(0);transform-origin:center;transition:transform .28s var(--ease);
}
.main-menu nav>ul>li:hover>a,
.main-menu nav>ul>li.active>a{color:var(--clay-deep);}
.main-menu nav>ul>li:hover>a::before{transform:scaleX(1);}
/* down caret only on items that actually have a dropdown */
.main-menu nav>ul>li.has-sub:has(>ul)>a::after{
  content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.7;
  transition:transform .28s var(--ease),opacity .2s var(--ease);
}
.main-menu nav>ul>li.has-sub:has(>ul):hover>a::after{
  transform:rotate(-135deg) translateY(1px);opacity:1;
}

/* Dropdown submenu - clean, animated, no separators */
.main-menu nav>ul>li.has-sub>ul{
  background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:0 24px 52px rgba(70,45,30,.20);
  padding:10px;min-width:360px;
  display:block !important;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);
  transform-origin:top center;
  transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;
  pointer-events:none;
}
.main-menu nav>ul>li.has-sub:hover>ul{
  opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;
}
.main-menu nav ul li.has-sub ul li{margin:2px 0;border:none !important;}
.main-menu nav ul li.has-sub ul li a{
  display:flex;align-items:center;gap:10px;white-space:nowrap;
  padding:11px 16px;border-radius:12px;border:none !important;text-transform:none;
  letter-spacing:.01em;font-size:.9rem;color:var(--ink);font-weight:400;position:relative;line-height:1.4;
  transition:background .22s var(--ease),color .22s var(--ease),padding-left .22s var(--ease);
}
/* small clay dot that appears on hover */
.main-menu nav ul li.has-sub ul li a::before{
  content:"" !important;display:inline-block !important;flex:none;width:6px;height:6px;border-radius:50%;
  background:var(--clay);opacity:0;transform:scale(.3);position:static;
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.main-menu nav ul li.has-sub ul li a::after{display:none !important;}
.main-menu nav ul li.has-sub ul li a:hover{
  background:var(--clay-pale);color:var(--clay-deep);padding-left:18px;
}
.main-menu nav ul li.has-sub ul li a:hover::before{opacity:1;transform:scale(1);}

/* Header CTA button */
.header-btn .btn,.second-header-btn .btn{padding:12px 26px;font-size:.85rem;}

/* ===================== MOBILE MENU — right slide-in drawer ===================== */
@media (max-width:991px){
  /* neutralize transforms/filters on header ancestors so position:fixed anchors to the viewport */
  .header-area,.header-area .menu-area,.header-area .second-menu,.header-area .container,
  .header-area .mobile-menu,.header-area .mean-bar{
    backdrop-filter:none !important;-webkit-backdrop-filter:none !important;filter:none !important;transform:none !important;
  }
  .logo img{max-height:52px;}
  body.menu-locked{overflow:hidden !important;}

  /* --- Top utility bar (mobile): decluttered to email + phone + language;
     hours moved off (it lives in the footer), Instagram dropped (it's in the footer/menu) --- */
  .header-top.second-header{display:block !important;padding:11px 0 !important;}
  .header-top.second-header .container{max-width:100% !important;}
  .header-top.second-header .row{margin:0 !important;flex-direction:column-reverse;align-items:center;gap:9px;}
  .header-top.second-header .row > div{display:block !important;flex:0 0 auto !important;max-width:100% !important;width:100% !important;text-align:center !important;padding:0 14px !important;}
  /* contact: drop the working-hours item, keep a clean email + phone row */
  .header-top.second-header .header-cta ul{display:flex !important;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0 14px;margin:0 !important;padding:0 !important;list-style:none;}
  .header-top.second-header .header-cta ul li:first-child{display:none !important;}
  .header-top.second-header .header-cta ul li{display:inline-flex;align-items:center;margin:0 !important;font-size:.68rem;letter-spacing:0;white-space:nowrap;}
  .header-top.second-header .header-cta ul li .icon{margin-right:5px;color:var(--clay-soft);font-size:.72rem;}
  .header-top.second-header .header-cta ul li span,.header-top.second-header .header-cta ul li a{color:#ece2d9 !important;}
  /* language: compact, centered; hide the Instagram icon up here */
  .header-top.second-header .header-social{display:flex !important;align-items:center;justify-content:center;margin:0 !important;}
  .header-top.second-header .header-social > span{display:none !important;}
  .header-top.second-header .header-social #google_translate_element{display:inline-block;}

  /* --- Toggle button (hamburger / X) — centered in the logo row, above the drawer --- */
  /* position:relative (not !important) so the template's .sticky-menu (position:fixed on
     scroll) can take over and keep the header pinned; still a positioned ancestor for the toggle */
  .header-area #header-sticky.menu-area{position:relative;}
  /* sticky (scrolled) header on mobile: on-brand cream bg + soft shadow */
  .header-area #header-sticky.sticky-menu{background:#faf7f2 !important;box-shadow:0 8px 26px rgba(70,45,30,.12) !important;}
  .header-area .mobile-menu,.header-area .mean-bar{position:static !important;}
  .header-area a.meanmenu-reveal{
    display:flex !important;align-items:center;justify-content:center;
    visibility:visible !important;opacity:1 !important;
    position:absolute !important;top:50% !important;right:14px !important;left:auto !important;bottom:auto !important;
    transform:translateY(-50%);
    margin:0 !important;width:48px !important;height:48px !important;padding:0 !important;
    background:var(--clay) !important;border:none !important;border-radius:14px !important;
    box-shadow:0 10px 24px rgba(122,74,57,.40) !important;
    color:#fff !important;font-size:19px !important;font-weight:700 !important;line-height:1 !important;
    text-indent:0 !important;text-decoration:none !important;z-index:100002 !important;
    transition:background .2s var(--ease),transform .2s var(--ease);
  }
  .header-area a.meanmenu-reveal:hover{background:var(--clay-deep) !important;}
  .header-area a.meanmenu-reveal:active{transform:translateY(-50%) scale(.92);}
  .header-area a.meanmenu-reveal > span{
    display:block !important;width:22px !important;height:2.5px !important;
    background:#fff !important;border:none !important;border-radius:3px !important;margin:0 !important;
    box-shadow:0 -7px 0 #fff, 0 7px 0 #fff !important;
  }
  .header-area a.meanmenu-reveal span span{display:none !important;}
  /* swap to a single clean X when the drawer is open. font-size:0 hides meanmenu's own
     "X" text (its swap is unreliable here); we draw the X with ::after instead. */
  body.menu-open .header-area a.meanmenu-reveal{font-size:0 !important;}
  body.menu-open .header-area a.meanmenu-reveal > span{display:none !important;}
  body.menu-open .header-area a.meanmenu-reveal::after{content:"\2715";color:#fff;font-size:21px;font-weight:300;line-height:1;}

  /* --- Backdrop --- */
  .menu-backdrop{
    position:fixed;inset:0;z-index:100000;
    background:rgba(28,18,12,.5);
    opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease);
  }
  body.menu-open .menu-backdrop{opacity:1;visibility:visible;}
  /* lift the header (and its drawer) above the backdrop when open, so the dim
     overlay only darkens the page — not the menu itself */
  body.menu-open .header-area{z-index:100001 !important;}

  /* --- Drawer (mean-nav slides in from the right) --- */
  .header-area .mean-nav{
    display:block !important;
    position:fixed !important;top:0 !important;right:-360px !important;left:auto !important;bottom:0 !important;
    width:min(84vw,330px) !important;height:100vh !important;max-height:100vh !important;
    margin:0 !important;border:none !important;border-radius:0 !important;
    background:linear-gradient(165deg,#ffffff 0%,#fffbf7 60%,#fdf6ef 100%) !important;
    box-shadow:-24px 0 70px rgba(40,24,14,.34) !important;
    overflow-y:auto !important;overflow-x:hidden;-webkit-overflow-scrolling:touch;
    padding:92px 0 30px !important;z-index:100001 !important;
    transition:right .44s cubic-bezier(.65,.02,.25,1) !important;
  }
  body.menu-open .header-area .mean-nav{right:0 !important;}
  .header-area .mean-nav::before{
    content:"Menu";position:absolute;top:36px;left:30px;
    font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
    font-size:.72rem;color:var(--clay);
  }
  .header-area .mean-nav::after{
    content:"";position:absolute;top:62px;left:30px;width:34px;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--clay),var(--clay-soft));
  }
  /* border-box so the list padding doesn't push content (and the +/- buttons) past the drawer edge */
  .header-area .mean-nav,.header-area .mean-nav *{box-sizing:border-box !important;}
  .header-area .mean-nav > ul{display:block !important;padding:6px 16px !important;overflow:visible !important;}
  .header-area .mean-nav ul li{float:none !important;width:100% !important;position:relative;opacity:1 !important;}
  .header-area .mean-nav>ul>li{display:block !important;}
  .header-area .mean-nav>ul>li:not(:last-child){border-bottom:1px solid rgba(120,80,55,.10);}

  /* items */
  .header-area .mean-nav ul li a{
    font-family:'Jost',sans-serif !important;font-weight:600 !important;
    font-size:1.02rem !important;letter-spacing:.04em;text-transform:uppercase !important;
    color:var(--heading) !important;border:none !important;float:none !important;width:auto !important;
    padding:16px 14px !important;margin:0 !important;border-radius:10px !important;display:block !important;position:relative;
    transition:background .25s var(--ease),color .25s var(--ease),padding .25s var(--ease);
  }
  .header-area .mean-nav>ul>li>a:not(.mean-expand)::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);
    width:3px;height:54%;border-radius:3px;background:var(--clay);transition:transform .25s var(--ease);transform-origin:center;
  }
  .header-area .mean-nav ul li a:not(.mean-expand):hover,.header-area .mean-nav ul li a:not(.mean-expand):active{
    background:var(--clay-pale) !important;color:var(--clay-deep) !important;padding-left:22px !important;
  }
  .header-area .mean-nav>ul>li>a:not(.mean-expand):hover::before{transform:translateY(-50%) scaleY(1);}

  /* +/- expand toggle — collapsed by default; meanmenu slides the submenu open */
  .header-area .mean-nav a.mean-expand{
    position:absolute !important;right:10px !important;top:8px !important;left:auto !important;
    width:40px !important;height:40px !important;padding:0 !important;margin:0 !important;
    display:flex !important;align-items:center;justify-content:center;
    background:var(--clay-pale) !important;border:1px solid rgba(185,115,90,.32) !important;border-radius:11px !important;
    color:var(--clay-deep) !important;font-size:22px !important;font-weight:400 !important;line-height:1 !important;
    box-shadow:0 4px 12px rgba(122,74,57,.12);text-indent:0 !important;
    transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);z-index:3;
  }
  .header-area .mean-nav a.mean-expand:hover,
  .header-area .mean-nav a.mean-expand.mean-clicked{background:var(--clay) !important;color:#fff !important;border-color:var(--clay) !important;}

  /* submenu (revealed on +) */
  .header-area .mean-nav ul li ul{background:rgba(185,115,90,.07) !important;border-radius:12px !important;margin:2px 4px 8px !important;padding:6px !important;}
  .header-area .mean-nav ul li li a{
    font-size:.86rem !important;font-weight:500 !important;text-transform:none !important;letter-spacing:0;
    color:var(--ink-soft) !important;opacity:1 !important;display:block !important;
    padding:11px 14px 11px 28px !important;width:auto !important;position:relative;
  }
  .header-area .mean-nav ul li li a::before{
    content:"" !important;position:absolute;left:12px;top:50%;transform:translateY(-50%);
    width:6px;height:6px;border-radius:50%;background:var(--clay-soft);
  }
  .header-area .mean-nav ul li li a:hover{background:#fff !important;color:var(--clay-deep) !important;padding-left:32px !important;}

  /* slim, smooth drawer scrollbar */
  .header-area .mean-nav{scrollbar-width:thin;scrollbar-color:rgba(185,115,90,.45) transparent;scroll-behavior:smooth;}
  .header-area .mean-nav::-webkit-scrollbar{width:6px;}
  .header-area .mean-nav::-webkit-scrollbar-track{background:transparent;margin:8px 0;}
  .header-area .mean-nav::-webkit-scrollbar-thumb{background:rgba(185,115,90,.45);border-radius:8px;}
  .header-area .mean-nav::-webkit-scrollbar-thumb:hover{background:rgba(185,115,90,.7);}
}

/* ---------- Hero (homepage) ---------- */
.hero{position:relative;overflow:hidden;background:#1c1714;}
.hero__media{position:relative;width:100%;height:min(88vh,760px);}
.hero__video{width:100%;height:100%;object-fit:cover;display:block;background:#1c1714;}
.hero__scrim{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(28,20,16,.78) 0%,rgba(28,20,16,.42) 42%,rgba(28,20,16,.12) 70%,transparent 100%),
             linear-gradient(0deg,rgba(28,20,16,.55),transparent 45%);
}
.hero,.hero__media{max-width:100vw;overflow:hidden;}
.hero,.hero *{box-sizing:border-box;}
.hero__content{
  position:absolute;left:0;right:auto;bottom:0;top:0;
  width:100vw;max-width:100vw;
  display:flex;flex-direction:column;justify-content:center;
  pointer-events:none;
}
.hero__inner{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 24px;box-sizing:border-box;}
.hero__box{max-width:620px;box-sizing:border-box;}
.hero__eyebrow{
  display:inline-block;font-family:'Jost',sans-serif;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;font-size:.74rem;
  color:#fff;background:rgba(185,115,90,.85);
  padding:6px 16px;border-radius:var(--radius-pill);margin-bottom:20px;
  pointer-events:auto;
}
.hero__title{
  color:#fff;font-weight:600;
  font-size:clamp(2.3rem,5.2vw,4rem);line-height:1.08;
  margin:0 0 16px;text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.hero__text{
  color:#f3ece4;font-size:clamp(1rem,1.6vw,1.18rem);
  max-width:34ch;margin:0 0 28px;text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;pointer-events:auto;}
/* Sound toggle for the autoplaying muted hero video */
.hero__sound{
  position:absolute;right:24px;bottom:104px;z-index:6;pointer-events:auto;
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(28,20,16,.5);color:#fff;border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;font-size:1rem;
  transition:background .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease);
}
.hero__sound:hover{background:var(--clay);border-color:var(--clay);transform:translateY(-2px);}
.hero__sound.is-on{background:var(--clay);border-color:var(--clay);}
.hero__sound:focus-visible{outline:3px solid #fff;outline-offset:2px;}
@media (max-width:768px){.hero__sound{right:14px;bottom:92px;width:44px;height:44px;}}
.hero__scroll{
  position:absolute;right:28px;bottom:22px;z-index:3;pointer-events:auto;
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);
  color:#fff;backdrop-filter:blur(4px);transition:background .2s var(--ease);
}
.hero__scroll:hover{background:var(--clay);color:#fff;border-color:var(--clay);}
/* MOBILE ONLY: stack the hero so the animation logo isn't covered by the text —
   the video sits on top (unobstructed) and the text moves below it on cream. */
@media (max-width:768px){
  .hero{background:var(--cream);}
  .hero__media{position:relative;height:auto !important;min-height:0 !important;display:block;background:var(--cream);}
  .hero__video{position:relative;width:100%;height:52vh !important;min-height:360px;max-height:520px;object-fit:cover;background:#1c1714;}
  .hero__scrim{display:none !important;}
  .hero__content{
    position:static !important;inset:auto !important;
    width:100% !important;max-width:100% !important;background:var(--cream) !important;
    display:block;padding:26px 20px 8px !important;pointer-events:auto;justify-content:flex-start;
  }
  .hero__inner{padding:0 !important;max-width:100% !important;margin:0 !important;}
  .hero__box{max-width:100% !important;padding:0 !important;}
  .hero__eyebrow{margin-bottom:14px;}
  .hero__title{color:var(--heading) !important;text-shadow:none !important;font-size:1.74rem;line-height:1.16;margin:0 0 12px;max-width:100% !important;overflow-wrap:break-word;}
  .hero__text{color:var(--ink-soft) !important;text-shadow:none !important;font-size:.98rem;margin:0 0 22px;max-width:100% !important;overflow-wrap:break-word;}
  .hero__cta{gap:10px;}
  .hero__cta .btn{padding:12px 22px;font-size:.84rem;}
  .hero__cta .btn-ghost{color:var(--clay-deep) !important;background:transparent !important;border-color:var(--clay) !important;box-shadow:none !important;}
  .hero__cta .btn-ghost:hover{background:var(--clay) !important;border-color:var(--clay) !important;color:#fff !important;}
  .hero__sound{top:12px !important;right:12px !important;bottom:auto !important;width:44px;height:44px;}
}
@media (max-width:360px){
  .hero__title{font-size:1.56rem;}
  .hero__content{padding:20px 16px 4px !important;}
}

/* ---------- About ---------- */
.s-about-img img{
  border-radius:var(--radius);box-shadow:var(--shadow-md);
  width:100%;object-fit:cover;
}
.about-content p{color:var(--ink-soft);}
.about-area .login .btn{margin-top:10px;}

/* ---------- Values / counter ---------- */
.counter-area{
  background:linear-gradient(135deg,#2c2520,#211c19) !important;
  border-radius:0;
}
/* Replace the clipped clay-ribbon title with a clean centered heading */
.counter-area .counter-tittle{background:transparent !important;padding:0 !important;top:0 !important;display:inline-block !important;}
.counter-area .counter-tittle::before,
.counter-area .counter-tittle::after{display:none !important;}
.counter-area .counter-tittle h2{
  color:#fff !important;font-size:clamp(1.9rem,3.4vw,2.9rem) !important;font-weight:600;
  display:inline-block;margin:0 0 6px;
}
.counter-area .counter-tittle h2:after{
  content:"";display:block;width:64px;height:3px;margin:16px auto 0;border-radius:3px;
  background:linear-gradient(90deg,var(--clay),var(--clay-soft));
}
.counter-bg{padding-top:30px;}
.single-counter{
  text-align:center;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);
  padding:30px 18px;height:100%;
  transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);
}
.single-counter:hover{transform:translateY(-6px);background:rgba(185,115,90,.12);border-color:rgba(185,115,90,.4);}
.single-counter .icon{
  width:74px;height:74px;margin:0 auto 16px;border-radius:50%;
  background:var(--clay-pale);display:flex;align-items:center;justify-content:center;
}
.single-counter .icon img{max-width:38px;height:auto;}
.single-counter .counter p{color:#f1e8e0;font-family:'Jost',sans-serif;font-weight:500;font-size:1.04rem;margin:0;}

/* ---------- Our Values: slider ---------- */
.values-active .slick-list{margin:0 -10px;}
/* flex track => equal-height slides; the slide is a flex container so the
   card stretches, but the card itself stays a normal centered block */
.values-active .slick-track{display:flex !important;}
.values-active .slick-slide{height:auto !important;display:flex !important;padding:6px 10px;box-sizing:border-box;}
.values-active .slick-slide .single-counter{width:100%;margin:0 !important;}
/* dots */
.values-active .slick-dots{position:static;display:flex !important;justify-content:center;align-items:center;gap:8px;margin:32px 0 4px;padding:0;list-style:none;}
.values-active .slick-dots li{display:inline-flex;width:auto;height:auto;margin:0;padding:0;}
.values-active .slick-dots li button{display:block;width:10px;height:10px;padding:0;margin:0;border:0;border-radius:50%;background:rgba(255,255,255,.4) !important;font-size:0;line-height:0;color:transparent;cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease);}
.values-active .slick-dots li button:before{display:none !important;content:none !important;}
.values-active .slick-dots li.slick-active button{background:var(--clay) !important;width:28px !important;border-radius:6px;}
/* arrows (tablet) */
.values-active .slick-arrow{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.08) !important;border:1px solid rgba(255,255,255,.22) !important;
  z-index:6;transition:background .2s var(--ease),border-color .2s var(--ease);
}
.values-active .slick-arrow:hover{background:var(--clay) !important;border-color:var(--clay) !important;}
.values-active .slick-prev{left:-4px;}
.values-active .slick-next{right:-4px;}
.values-active .slick-arrow:before{display:none !important;}
.values-active .slick-arrow i{color:#fff;font-size:17px;line-height:1;}
/* controls per breakpoint: desktop = static 4-up (no controls); mobile = dots only */
@media (min-width:992px){.values-active .slick-dots,.values-active .slick-arrow{display:none !important;}}
@media (max-width:575px){.values-active .slick-arrow{display:none !important;}}

/* ---------- Retreat / class cards ---------- */
.class-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;height:100%;box-shadow:var(--shadow-sm);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}
.class-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:var(--clay-soft);}
.class-img,.class-img-outer{overflow:hidden;}
.class-img-outer img{
  width:100%;height:240px;object-fit:cover;display:block;
  transition:transform .5s var(--ease);
}
.class-item:hover .class-img-outer img{transform:scale(1.07);}
/* Founders: show the full portrait (keeps natural headroom) instead of cropping the head */
.about-founders .class-img-outer img{height:auto;aspect-ratio:3 / 2;object-fit:contain;}
.class-content{padding:24px 24px 28px;position:relative;}
.class-tech{
  position:absolute;top:-20px;left:24px;display:inline-flex;align-items:center;gap:6px;
  background:var(--clay);color:#fff;border-radius:var(--radius-pill);
  padding:7px 16px;font-family:'Jost',sans-serif;font-weight:600;font-size:.82rem;
  letter-spacing:.04em;box-shadow:0 8px 18px rgba(122,74,57,.28);
}
.class-tech .img,.class-tech img{display:none;}
.class-tech .text{color:#fff;}
.class-content .title{margin:14px 0 10px;}
.class-content .title a{font-family:'Jost',sans-serif;font-weight:600;font-size:1.22rem;color:var(--heading);}
.class-content .title a:hover{color:var(--clay-deep);}
.class-content p{color:var(--ink-soft);font-size:.96rem;}
/* Equal-height retreat cards with even spacing (slick carousel) */
.class-active.slick-initialized .slick-track{display:flex !important;align-items:stretch !important;}
.class-active .slick-slide{
  height:auto !important;box-sizing:border-box !important;
  padding-left:15px !important;padding-right:15px !important;
}
.class-active .slick-slide>div{display:flex;height:100%;width:100%;}
.class-item{height:100%;width:100%;display:flex;flex-direction:column;}
.class-img,.class-img-outer{flex:0 0 auto;}
.class-content{flex:1 1 auto;display:flex;flex-direction:column;}
/* Retreat slider — proper clay arrows */
.class-active{position:relative;}
.class-active .slick-arrow{
  width:48px;height:48px;border-radius:50%;
  background:var(--clay) !important;border:none !important;
  box-shadow:0 10px 24px rgba(122,74,57,.32);
  display:flex !important;align-items:center;justify-content:center;
  z-index:7;transition:background .2s var(--ease),transform .2s var(--ease);
}
.class-active .slick-arrow:hover{background:var(--clay-deep) !important;}
.class-active .slick-arrow:before{display:none !important;}
.class-active .slick-arrow i{color:#fff;font-size:18px;line-height:1;}
.class-active .slick-prev{left:-12px;}
.class-active .slick-next{right:-12px;}
.class-active .slick-prev.slick-disabled,
.class-active .slick-next.slick-disabled{opacity:.35;cursor:default;}
@media (max-width:991px){
  .class-active .slick-prev{left:6px;}
  .class-active .slick-next{right:6px;}
}

/* ---------- Gallery / Key Highlights ---------- */
/* Even 2-column gallery grid (CSS-driven, independent of the isotope script).
   First image spans full width; the rest form a tidy 2x2. */
/* Key Highlights — slider */
.gallery-active{position:relative;}
.gallery-active .slick-track{display:flex !important;}
.gallery-active .slick-slide{height:auto !important;padding:0 8px;box-sizing:border-box;}
.gallery-active .slick-slide .gallery-image{margin:0;}
.gallery-active .gallery-image img{width:100%;height:340px;object-fit:cover;display:block;}
@media (max-width:991px){.gallery-active .gallery-image img{height:300px;}}
@media (max-width:575px){.gallery-active .gallery-image img{height:260px;}}
/* arrows */
.gallery-active .slick-arrow{
  width:48px;height:48px;border-radius:50%;
  background:var(--clay) !important;border:none !important;
  box-shadow:0 10px 24px rgba(122,74,57,.32);
  display:flex !important;align-items:center;justify-content:center;
  z-index:7;transition:background .2s var(--ease);
}
.gallery-active .slick-arrow:hover{background:var(--clay-deep) !important;}
.gallery-active .slick-arrow:before{display:none !important;}
.gallery-active .slick-arrow i{color:#fff;font-size:18px;line-height:1;}
.gallery-active .slick-prev{left:22px;}
.gallery-active .slick-next{right:22px;}
/* dots */
.gallery-active .slick-dots{position:static;display:flex !important;justify-content:center;align-items:center;gap:8px;margin:26px 0 2px;padding:0;list-style:none;}
.gallery-active .slick-dots li{display:inline-flex;width:auto;height:auto;margin:0;}
.gallery-active .slick-dots li button{display:block;width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(44,37,32,.22) !important;font-size:0;line-height:0;color:transparent;cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease);}
.gallery-active .slick-dots li button:before{display:none !important;content:none !important;}
.gallery-active .slick-dots li.slick-active button{background:var(--clay) !important;width:28px !important;border-radius:6px;}
.gallery-image{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);margin:0;
}
.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.gallery-image:hover img{transform:scale(1.06);}
.gallery-image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(33,28,25,.72),transparent 55%);
  opacity:.9;transition:opacity .3s var(--ease);
}
.gallery-image figcaption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;
}
.gallery-image figcaption h4{
  color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:1.18rem;margin:0;
  transform:translateY(4px);transition:transform .3s var(--ease);
}
.gallery-image:hover figcaption h4{transform:translateY(0);}

/* ---------- Team ---------- */
.team-active{justify-content:center;}
.single-team{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);
}
.single-team:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.team-thumb .brd{border-radius:14px;overflow:hidden;}
.team-thumb .brd img{width:100%;height:340px;object-fit:cover;display:block;border-radius:14px;}
.team-info{padding-top:18px;}
.team-info h4 a{font-family:'Jost',sans-serif;font-weight:600;font-size:1.3rem;color:var(--heading);}
.team-info h4 a:hover{color:var(--clay-deep);}
.team-info>p{color:var(--clay-deep);font-weight:500;margin-bottom:12px;}
.team-social ul{display:flex;gap:10px;justify-content:center;padding:0;margin:0;list-style:none;}
.team-social a{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--clay-pale);color:var(--clay-deep);transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.team-social a:hover{background:var(--clay);color:#fff;transform:translateY(-3px);}

/* Featured single-instructor card (horizontal, avoids a lonely tall card) */
.team-feature{
  display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);
  max-width:860px;margin-left:auto;margin-right:auto;
}
.team-feature__img{flex:0 0 40%;max-width:40%;}
.team-feature__img img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:top center;display:block;}
.team-feature__info{flex:1 1 auto;padding:40px 44px;display:flex;flex-direction:column;justify-content:center;}
.team-feature__info h4{margin:0 0 6px;}
.team-feature__info h4 a{font-family:'Jost',sans-serif;font-weight:600;font-size:1.8rem;color:var(--heading);}
.team-feature__info h4 a:hover{color:var(--clay-deep);}
.team-feature__role{color:var(--clay-deep);font-weight:600;font-family:'Jost',sans-serif;margin-bottom:14px;}
.team-feature__bio{color:var(--ink-soft);margin-bottom:24px;max-width:48ch;}
.team-feature__actions{display:flex;align-items:center;gap:16px;}
.team-feature__ig{
  width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--clay-pale);color:var(--clay-deep);font-size:1.05rem;
  transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.team-feature__ig:hover{background:var(--clay);color:#fff;transform:translateY(-3px);}
@media (max-width:991px){
  .team-feature{flex-direction:column;max-width:460px;}
  .team-feature__img{flex:none;max-width:100%;}
  .team-feature__img img{width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-position:top center;}
  .team-feature__info{padding:28px 24px;text-align:center;align-items:center;}
  .team-feature__bio{max-width:100%;}
  .team-feature__actions{justify-content:center;}
}

/* ---------- Contact: unified split card ---------- */
.contact-split{
  display:flex;align-items:stretch;max-width:1140px;margin:0 auto;
  border-radius:24px;overflow:hidden;box-shadow:0 34px 80px rgba(70,45,30,.18);
  background:#fff;
}
.contact-split__info{
  flex:0 0 42%;max-width:42%;
  background:linear-gradient(160deg,#bd7860 0%,#965338 100%);
  color:#fff;padding:48px 42px;display:flex;flex-direction:column;
}
.contact-split__info .contact-info-title{font-family:'Jost',sans-serif;font-weight:600;font-size:1.7rem;margin:0 0 8px;color:#fff;}
.contact-split__info .contact-info-intro{color:rgba(255,255,255,.85);margin:0 0 30px;}
.contact-split__info .contact-info-single{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.contact-split__info .contact-info-single i{
  flex:none;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.contact-split__info .contact-info-single h5{margin:0 0 3px;font-family:'Jost',sans-serif;font-weight:600;color:#fff;font-size:1rem;}
.contact-split__info .contact-info-single p,
.contact-split__info .contact-info-single a{color:rgba(255,255,255,.84);font-size:.92rem;line-height:1.5;}
.contact-split__info .contact-info-single a:hover{color:#fff;text-decoration:underline;}
.contact-split__social{display:flex;gap:10px;margin-top:auto;padding-top:24px;}
.contact-split__social a{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.contact-split__social a:hover{background:#fff;color:var(--clay-deep);transform:translateY(-3px);}
.contact-split__form{flex:1 1 58%;max-width:58%;background:#fff;display:flex;}
.contact-split__form iframe{width:100%;height:100%;min-height:700px;border:0;display:block;}
/* Native (Supabase-backed) registration form */
.contact-split__form{display:block;align-self:stretch;}
.reg-form{width:100%;padding:44px 42px;display:flex;flex-direction:column;gap:16px;}
.reg-form__title{font-family:'Jost',sans-serif;font-weight:600;font-size:1.6rem;color:var(--heading);margin:0 0 8px;}
.reg-form input,
.reg-form select,
.reg-form textarea{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:8px;
  font-family:inherit;font-size:.95rem;color:var(--ink);background:#fff;
  transition:border-color .2s,box-shadow .2s;
}
.reg-form select{cursor:pointer;}
.reg-form input:focus,
.reg-form select:focus,
.reg-form textarea:focus{
  outline:none;border-color:var(--clay);box-shadow:0 0 0 3px var(--clay-pale);
}
.reg-form textarea{resize:vertical;min-height:110px;}
.reg-form__hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.reg-form button[type="submit"]{
  width:100%;padding:14px;border:none;border-radius:8px;background:var(--clay);
  color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:1rem;cursor:pointer;
  transition:background .2s,transform .15s;margin-top:2px;
}
.reg-form button[type="submit"]:hover{background:var(--clay-deep);}
.reg-form button[type="submit"]:disabled{opacity:.65;cursor:not-allowed;}
.reg-form__status{margin:2px 0 0;font-size:.92rem;line-height:1.5;min-height:1.2em;}
.reg-form__status--success{color:#1f7a3d;}
.reg-form__status--error{color:#c0392b;}
@media (max-width:860px){
  .contact-split{flex-direction:column;max-width:100%;}
  /* min-width:0 lets the flex children shrink below the embedded form's
     intrinsic width instead of overflowing the screen */
  .contact-split__info,.contact-split__form{flex:none;max-width:100%;min-width:0;width:100%;}
  /* display:block (not flex) so the iframe isn't a flex item that shrinks to the
     container; it keeps its 500px width and is only scaled down by the transform. */
  .contact-split__form{overflow:hidden;display:block;}
  .contact-split__form iframe{min-height:720px;margin:0 auto;}
}
/* Contact page extras */
.contact-page-intro{max-width:620px;margin:0 auto 46px;text-align:center;color:var(--ink-soft);font-size:1.06rem;line-height:1.7;}
.map-section{background:var(--cream);padding:34px 0 84px;}
.map-frame{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line);line-height:0;}
.map-frame iframe{width:100%;height:430px;border:0;display:block;}
@media (max-width:767px){
  .contact-page-intro{font-size:.98rem;margin-bottom:32px;}
  .map-section{padding:20px 0 50px;}
  .map-frame iframe{height:300px;}
}

/* ---------- Mission & Vision (About) ---------- */
.mv-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;
  max-width:1120px;margin:0 auto;
}
/* tighten the large vertical gap between Mission/Vision and Our Founders */
.about-mv{padding-bottom:30px !important;}
.about-founders{padding-top:22px !important;}
.mv-card{
  position:relative;overflow:hidden;border-radius:24px;
  display:flex;flex-direction:column;background:#fff;box-shadow:0 26px 60px rgba(70,45,30,.16);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.mv-card:hover{transform:translateY(-6px);box-shadow:0 36px 76px rgba(70,45,30,.22);}
.mv-card--vision{border:1px solid var(--line);}
.mv-media{overflow:hidden;}
.mv-media img{width:100%;height:auto;display:block;transition:transform .5s var(--ease);}
.mv-card:hover .mv-media img{transform:scale(1.05);}
.mv-content{
  position:relative;flex:1 1 auto;padding:0 40px 44px;display:flex;flex-direction:column;
}
.mv-card--mission .mv-content{background:linear-gradient(160deg,#bd7860 0%,#965338 100%);color:#fff;}
.mv-card--vision .mv-content{background:#fff;}
/* faint watermark icon in the corner */
.mv-content::before{
  position:absolute;right:-16px;bottom:-32px;font-size:158px;line-height:1;pointer-events:none;
  font-family:"Font Awesome 5 Free";font-weight:900;
}
.mv-card--mission .mv-content::before{content:"\f140";color:rgba(255,255,255,.10);}
.mv-card--vision .mv-content::before{content:"\f06e";color:var(--clay);opacity:.07;}
/* icon floats over the image / content seam */
.mv-icon{
  position:relative;z-index:2;width:62px;height:62px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  margin:-31px 0 22px;box-shadow:0 12px 26px rgba(70,45,30,.24);
}
.mv-card--mission .mv-icon{background:#fff;color:var(--clay-deep);}
.mv-card--vision .mv-icon{background:var(--clay);color:#fff;}
.mv-label{
  position:relative;z-index:1;display:inline-block;font-family:'Jost',sans-serif;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;margin-bottom:16px;
}
.mv-card--mission .mv-label{color:rgba(255,255,255,.82);}
.mv-card--vision .mv-label{color:var(--clay-deep);}
.mv-lead{
  position:relative;z-index:1;font-family:'Jost',sans-serif;font-weight:500;
  font-size:1.42rem;line-height:1.36;margin:0 0 18px;
}
.mv-card--mission .mv-lead{color:#fff;}
.mv-card--vision .mv-lead{color:var(--heading);}
.mv-body{position:relative;z-index:1;font-size:1.02rem;line-height:1.8;margin:0;}
.mv-card--mission .mv-body{color:rgba(255,255,255,.86);}
.mv-card--vision .mv-body{color:var(--ink-soft);}
@media (max-width:768px){
  .mv-grid{grid-template-columns:1fr;gap:20px;}
  .mv-content{padding:0 26px 34px;}
  .mv-lead{font-size:1.2rem;}
}
/* ---------- About: Mission/Vision + Our Founders as swipe sliders (MOBILE ONLY) ----------
   Pure CSS scroll-snap so desktop (>=768px) stays exactly as it is. */
@media (max-width:767px){
  .mv-grid{
    display:flex !important;gap:12px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding:6px 2px 16px;scrollbar-width:none;
  }
  .mv-grid::-webkit-scrollbar{display:none;}
  .mv-grid>.mv-card{flex:0 0 85% !important;scroll-snap-align:center;}

  .founders-row{
    display:flex !important;flex-wrap:nowrap !important;justify-content:flex-start !important;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin-left:0 !important;margin-right:0 !important;padding:6px 0 10px;scrollbar-width:none;
  }
  .founders-row::-webkit-scrollbar{display:none;}
  .founders-row>div{flex:0 0 85% !important;max-width:85% !important;scroll-snap-align:center;padding:0 6px !important;}
  .founders-row>div .class-item{margin-bottom:0 !important;}
}

/* ---------- Forms (inline forms on inner pages) ---------- */
.contact-form-style input,.contact-form-style textarea,.contact-form-style select,
input[type=text],input[type=email],textarea,select.form-select-style{
  width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:13px 16px;margin-bottom:14px;font-family:'Roboto',sans-serif;color:var(--ink);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.contact-form-style input:focus,.contact-form-style textarea:focus,.contact-form-style select:focus{
  border-color:var(--clay);box-shadow:0 0 0 3px rgba(185,115,90,.15);outline:none;
}
::placeholder{color:#b6ab9f;}

/* ---------- Breadcrumb (inner page banner) ---------- */
.breadcrumb-area{
  position:relative;min-height:340px;
  background-color:var(--dark);background-size:cover;background-position:center;
}
.breadcrumb-area:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(33,28,25,.82),rgba(160,92,67,.55));
}
.breadcrumb-area .container{position:relative;z-index:2;}
.breadcrumb-title h2,.breadcrumb-title h1{color:#fff;font-weight:600;font-size:clamp(2rem,4vw,3.1rem);}
.breadcrumb-title p{color:#f0e7df;}
.breadcrumb .breadcrumb-item,.breadcrumb .breadcrumb-item a{color:#f3ece4;}
.breadcrumb .breadcrumb-item.active{color:var(--clay-soft);}

/* ---------- Teacher profile card (teacher-nitish) ---------- */
.profile-area{padding:74px 0 96px;background:var(--cream);}
.profile-grid{
  display:grid;grid-template-columns:336px 1fr;gap:42px;
  max-width:1140px;margin:0 auto;align-items:start;
}
/* sidebar card */
.profile-card{
  position:sticky;top:104px;background:#fff;border:1px solid var(--line);
  border-radius:22px;overflow:hidden;box-shadow:var(--shadow-md);
}
.profile-card__photo{aspect-ratio:1/1.04;overflow:hidden;background:var(--sand);}
.profile-card__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.profile-card__body{padding:26px 26px 28px;}
.profile-card__name{font-family:'Jost',sans-serif;font-weight:700;font-size:1.5rem;color:var(--heading);margin:0 0 5px;line-height:1.2;}
.profile-card__role{font-size:.82rem;font-weight:600;letter-spacing:.01em;color:var(--clay-deep);margin:0 0 18px;}
.profile-card__facts{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid var(--line);}
.profile-card__facts li{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--ink-soft);}
.profile-card__facts i{color:var(--clay);width:18px;text-align:center;font-size:.95rem;flex:none;}
.profile-card__cta{
  display:block;text-align:center;background:var(--clay);color:#fff;
  font-family:'Jost',sans-serif;font-weight:600;font-size:.98rem;padding:14px;border-radius:999px;
  text-decoration:none;box-shadow:0 12px 26px rgba(122,74,57,.22);
  transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.profile-card__cta:hover{background:var(--clay-deep);color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px rgba(122,74,57,.3);}
.profile-card__social{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:12px;font-size:.86rem;font-weight:600;color:var(--ink-soft);text-decoration:none;
}
.profile-card__social i{color:var(--clay);font-size:1rem;}
.profile-card__social:hover{color:var(--clay-deep);}
/* main column */
.profile-block{margin-bottom:40px;}
.profile-block:last-child{margin-bottom:0;}
.profile-block__title{
  font-family:'Jost',sans-serif;font-weight:700;font-size:1.4rem;color:var(--heading);
  margin:0 0 20px;padding-bottom:13px;position:relative;
}
.profile-block__title::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--clay);border-radius:2px;}
.profile-block>p{font-size:1.04rem;line-height:1.8;color:var(--ink-soft);margin:0;}
/* experience timeline */
.xp{display:flex;flex-direction:column;gap:20px;}
.xp__item{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--clay);
  border-radius:14px;padding:22px 26px;box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.xp__item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.xp__head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;}
.xp__role{font-family:'Jost',sans-serif;font-weight:700;font-size:1.1rem;color:var(--heading);margin:0;}
.xp__date{font-size:.78rem;font-weight:600;color:var(--clay-deep);background:var(--clay-pale);padding:5px 13px;border-radius:999px;white-space:nowrap;}
.xp__org{font-size:.92rem;font-weight:600;color:var(--clay);margin:5px 0 12px;}
.xp__desc{font-size:.98rem;line-height:1.76;color:var(--ink-soft);margin:0;}
/* specialization chips */
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:11px;}
.chips li{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:9px 18px;font-size:.92rem;font-weight:500;color:var(--heading);
  display:flex;align-items:center;gap:9px;box-shadow:var(--shadow-sm);
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.chips li:hover{border-color:var(--clay-soft);transform:translateY(-2px);}
.chips li::before{content:"\f06c";font-family:"Font Awesome 5 Free";font-weight:900;color:var(--clay);font-size:.74rem;}
@media (max-width:991px){
  .profile-grid{grid-template-columns:1fr;gap:30px;}
  .profile-card{position:static;max-width:400px;margin:0 auto;}
}
@media (max-width:767px){
  .profile-area{padding:40px 0 60px;}
  .profile-block{margin-bottom:32px;}
  .profile-block__title{font-size:1.24rem;}
  .xp__item{padding:18px 20px;}
  .xp__head{flex-direction:column;align-items:flex-start;gap:7px;}
}

/* ---------- Footer ---------- */
.footer-bg .footer-top{background:var(--dark) !important;background-image:none !important;}
.footer-bg{background:var(--dark);}
.footer-link ul{display:flex;flex-wrap:wrap;gap:8px 30px;align-items:center;justify-content:flex-end;margin:0;padding:0;list-style:none;min-height:64px;}
@media (max-width:575px){.footer-link ul{justify-content:flex-start;min-height:0;margin-top:14px;}}
.footer-link ul li a{color:#e7ddd3;font-family:'Jost',sans-serif;font-weight:500;letter-spacing:.03em;}
.footer-link ul li a:hover{color:var(--clay-soft);}
.f-widget-title img{max-height:64px;width:auto;}
.copyright-wrap{background:var(--dark);color:#bdb2a6;padding:0 0 18px;font-size:.9rem;border-top:none !important;}
/* divider line separating the nav row from the copyright + social row */
.copyright-wrap .container{border-top:1px solid rgba(255,255,255,.14) !important;padding-top:22px;}
.footer-bg .footer-top{border-bottom:none !important;}
.footer-bg hr,.copyright-wrap hr{display:none !important;}
.copyright-wrap .footer-social a,.footer-social a{
  width:42px;height:42px;border-radius:10px !important;display:inline-flex;align-items:center;justify-content:center;
  color:#fff !important;margin-left:10px;font-size:1.05rem;
  transition:transform .2s var(--ease),filter .2s var(--ease),box-shadow .2s var(--ease);
}
.footer-social a:nth-child(1){background:#1877f2 !important;}   /* Facebook */
.footer-social a:nth-child(2){background:#e4405f !important;}   /* Instagram */
.footer-social a:nth-child(3){background:#1da1f2 !important;}   /* Twitter */
.copyright-wrap .footer-social a:hover,.footer-social a:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 8px 18px rgba(0,0,0,.28);color:#fff !important;}

/* ---------- Misc template polish ---------- */
.slick-dots li button{background:transparent !important;background-image:none !important;}
.slick-dots li button:before{
  content:"\2022" !important;color:var(--clay) !important;opacity:.4;font-size:12px;
}
.slick-dots li.slick-active button:before{opacity:1;color:var(--clay) !important;}
/* neutralize other template bg images that 404 */
.testimonial-area .single-testimonial,.qt-img{background-image:none !important;}
/* Scroll-to-top button removed at owner request */
#scrollUp,.scroll-up,.scroll-top,#scroll-up,.scrollup,.back-to-top,#back-top{display:none !important;}
/* Google Translate widget: compact language selector inline in the top bar */
.header-top .header-social{display:flex;align-items:center;gap:14px;}
#google_translate_element{font-family:'Roboto',sans-serif;display:inline-flex;align-items:center;line-height:0;}
#google_translate_element .goog-te-gadget{font-size:0 !important;line-height:0 !important;color:transparent !important;margin:0 !important;}
#google_translate_element .goog-te-gadget>span,
#google_translate_element .goog-logo-link,
.goog-te-gadget img,.goog-te-banner-frame{display:none !important;}
#google_translate_element .goog-te-combo{
  font-family:'Roboto',sans-serif !important;font-size:12.5px !important;font-weight:500 !important;
  color:#efe7df !important;background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.28) !important;border-radius:8px !important;
  padding:5px 10px !important;margin:0 !important;line-height:1.2 !important;cursor:pointer;outline:none;max-width:150px;
  transition:border-color .2s ease,background .2s ease;
}
#google_translate_element .goog-te-combo option{color:var(--ink);background:#fff;}
#google_translate_element .goog-te-combo:hover{border-color:var(--clay-soft) !important;background:rgba(255,255,255,.16) !important;}
body{top:0 !important;}

/* Content must never depend on JS to be visible: keep WOW elements shown.
   Hover/transition micro-interactions still provide motion. */
.wow,.wow.animated,[data-animation]{visibility:visible !important;opacity:1 !important;animation:none !important;}
.about-content,.s-about-img,.single-counter,.section-title,
.class-item,.single-team,.gallery-image,.contact-info-single{opacity:1 !important;visibility:visible !important;}
.counter-area .single-counter .icon,.counter-area .single-counter .counter p{opacity:1 !important;visibility:visible !important;}

/* ---------- Motion / reduced-motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  html{scroll-behavior:auto;}
}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .about-area,.class-area,#work,.team-area2,.contact-area{padding-top:56px;padding-bottom:56px;}
  .team-thumb .brd img{height:300px;}
  .contact-info-wrap{margin-bottom:24px;}
}
@media (max-width:767px){
  body{font-size:16px;}
  .class-img-outer img{height:210px;}
  .single-counter{margin-bottom:16px;}
  .menu-area{position:relative;}
}

/* ====================== MOBILE POLISH ====================== */
@media (max-width:767px){
  /* consistent, tighter section rhythm */
  .about-area,.class-area,#work,.team-area2,.contact-area{padding-top:50px !important;padding-bottom:50px !important;}
  #work{padding-bottom:36px !important;}
  .team-area2{padding-top:10px !important;padding-bottom:46px !important;}
  .counter-area{padding-top:46px !important;padding-bottom:38px !important;}
  .container{padding-left:20px;padding-right:20px;}

  /* section titles sized for phones */
  .section-title h2,.counter-tittle h2,.about-title h2{font-size:1.7rem !important;line-height:1.2;}
  .section-title.center-align{margin-bottom:30px !important;}

  /* justified text looks gappy on narrow screens -> left align */
  [style*="text-align:justify"],[style*="text-align: justify"]{text-align:left !important;}
  .about-content p,.class-content p,.mv-body{text-align:left !important;}

  /* gallery slider caption size on mobile */
  .masonry-gallery-huge .gallery-image figcaption h4{font-size:1.05rem;}

  /* about image breathing room */
  .s-about-img img{margin-bottom:26px;}

  /* values cards */
  .single-counter{padding:26px 20px;}
  .single-counter .icon{width:64px;height:64px;}

  /* retreat cards: comfy padding */
  .class-content{padding:22px 22px 26px;}
  .class-img-outer img{height:200px;}

  /* contact split spacing on stack */
  .contact-split{border-radius:20px;}
  .contact-split__info{padding:34px 26px;}

  /* founders + mv cards spacing */
  .team-feature__info{padding:26px 22px;}

  /* contact panel intro wraps cleanly */
  .contact-split{max-width:100% !important;}
  .contact-split__info .contact-info-intro{font-size:.92rem;overflow-wrap:break-word;}
  .contact-split__info p,.contact-split__info h5{overflow-wrap:break-word;}
  /* buttons comfy tap targets */
  .btn,a.btn{padding:13px 24px;}
}
@media (max-width:380px){
  .section-title h2,.counter-tittle h2,.about-title h2{font-size:1.5rem !important;}
  .hero__title{font-size:1.6rem !important;}
}
