/* ==============================================
   PRANADARSHAN — LUXURY WELLNESS WEBSITE
   Pure CSS | No Framework
   ============================================== */

/* === FONTS loaded in HTML === */

/* === CSS VARIABLES === */
:root {
  --dark:          #0D0208;
  --garnet:        #6B1F3A;
  --garnet-light:  #8B2750;
  --gold:          #C9922A;
  --gold-light:    #E8B84B;
  --teal:          #1A5C5A;
  --cream:         #FDF8F0;
  --parchment:     #F5EDD8;
  --text-dark:     #2D1B12;
  --text-muted:    #7A5C45;
  --glass:         rgba(255,255,255,0.07);
  --glass-border:  rgba(201,146,42,0.22);
  --shadow-gold:   0 16px 48px rgba(201,146,42,0.28);
  --f-head:   'Cinzel', serif;
  --f-serif:  'Cormorant Garamond', Georgia, serif;
  --f-sans:   'Lato', sans-serif;
  --ease:     cubic-bezier(0.4,0,0.2,1);
  --trans:    all 0.4s cubic-bezier(0.4,0,0.2,1);
}

/* === RESET === */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--f-sans);
  background: var(--cream);
  color: var(--text-dark);
  overflow-x: hidden;
  cursor: none;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }

/* === SCROLLBAR === */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius:3px; }

/* === CUSTOM CURSOR === */
.cursor-dot {
  width:8px; height:8px;
  background: var(--gold);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%);
  transition:transform 0.08s, opacity 0.3s;
  mix-blend-mode: difference;
}
.cursor-ring {
  width:36px; height:36px;
  border:1.5px solid rgba(201,146,42,0.55);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99998;
  transform:translate(-50%,-50%);
  transition:all 0.16s var(--ease), width 0.3s, height 0.3s;
}
.cursor-ring.hover { width:52px; height:52px; border-color:var(--gold); background:rgba(201,146,42,0.06); }

/* === PAGE LOADER === */
#page-loader {
  position:fixed; inset:0;
  background:var(--dark);
  display:flex; align-items:center; justify-content:center;
  z-index:99997;
  transition:opacity 0.7s ease, visibility 0.7s ease;
}
#page-loader.out { opacity:0; visibility:hidden; }
.loader-inner { display:flex; flex-direction:column; align-items:center; gap:20px; }
.loader-icon {
  width:72px; height:72px;
  animation:spin 3s linear infinite, pulse 1.5s ease-in-out infinite;
  color: var(--gold);
}
.loader-word {
  font-family:var(--f-head);
  font-size:13px;
  letter-spacing:7px;
  color:var(--gold);
  animation:pulse 1.5s ease-in-out infinite;
}
.loader-track { width:180px; height:1px; background:rgba(201,146,42,0.15); overflow:hidden; }
.loader-fill {
  height:100%;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  animation:scan 1.5s ease-in-out infinite;
}

/* === KEYFRAMES === */
@keyframes spin   { to { transform:rotate(360deg); } }
@keyframes pulse  { 0%,100%{opacity:.5} 50%{opacity:1} }
@keyframes scan   { 0%{transform:translateX(-200px)} 100%{transform:translateX(200px)} }
@keyframes floatUp {
  0%   { transform:translateY(0) translateX(0); opacity:0; }
  15%  { opacity:1; }
  85%  { opacity:.4; }
  100% { transform:translateY(-100vh) translateX(25px); opacity:0; }
}
@keyframes rotateSlow   { to { transform:rotate(360deg); } }
@keyframes rotateRev    { to { transform:rotate(-360deg); } }
@keyframes shimmerBtn   { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes pulseGlow    {
  0%,100%{ box-shadow:0 0 20px rgba(37,211,102,.35); }
  50%    { box-shadow:0 0 40px rgba(37,211,102,.7); }
}
@keyframes scrollDrop {
  0%   { height:0; opacity:1; top:0; }
  100% { height:52px; opacity:0; top:52px; }
}
@keyframes ripple {
  to { transform:scale(1); opacity:0; }
}
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes goldShimmer {
  0%,100% { background-position:0% 50%; }
  50%     { background-position:100% 50%; }
}
@keyframes flyAway {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        opacity: 1;
    }
    30% {
        transform: translate(8px, -4px) rotate(-15deg) scale(1.1);
        opacity: 1;
        text-shadow: 
            -6px 4px 0 rgba(201, 146, 42, 0.6),
            -12px 8px 0 rgba(201, 146, 42, 0.3),
            -18px 12px 0 rgba(201, 146, 42, 0.15);
    }
    60% {
        transform: translate(20px, -10px) rotate(-25deg) scale(0.9);
        opacity: 0.7;
        text-shadow: 
            -8px 5px 0 rgba(201, 146, 42, 0.4),
            -16px 10px 0 rgba(201, 146, 42, 0.2),
            -24px 15px 0 rgba(201, 146, 42, 0.08);
    }
    100% {
        transform: translate(40px, -20px) rotate(-35deg) scale(0.5);
        opacity: 0;
        text-shadow: none;
    }
}
@keyframes dotTrail {
    0% {
        opacity: 0;
        box-shadow: none;
    }
    25% {
        opacity: 1;
        box-shadow: 
            -8px 2px 0 0 var(--gold, #C9922A),
            -16px 4px 0 0 rgba(201, 146, 42, 0.7);
    }
    50% {
        opacity: 0.8;
        box-shadow: 
            -12px 3px 0 0 var(--gold, #C9922A),
            -24px 6px 0 0 rgba(201, 146, 42, 0.6),
            -36px 9px 0 0 rgba(201, 146, 42, 0.3);
    }
    75% {
        opacity: 0.4;
        box-shadow: 
            -16px 4px 0 0 rgba(201, 146, 42, 0.5),
            -32px 8px 0 0 rgba(201, 146, 42, 0.3),
            -48px 12px 0 0 rgba(201, 146, 42, 0.15);
    }
    100% {
        opacity: 0;
        box-shadow: none;
    }
}
@keyframes glassShimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* === UTILITY === */
.reveal { opacity:0; transform:translateY(40px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-50px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(50px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal-right.visible { opacity:1; transform:translateX(0); }

.section-eyebrow {
  font-family:var(--f-sans);
  font-size:11px; font-weight:300;
  letter-spacing:5px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:14px;
}
.section-title {
  font-family:var(--f-head);
  font-size:clamp(1.9rem,3.8vw,3rem);
  line-height:1.2; color:var(--text-dark);
}
.section-title.light { color:var(--cream); }
.section-title.gold-grad {
  background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:goldShimmer 4s ease infinite;
}
.section-desc {
  font-family:var(--f-serif);
  font-size:1.12rem; line-height:1.85;
  color:var(--text-muted); max-width:640px;
  margin-top:14px;
}
.section-desc.light { color:rgba(253,248,240,.72); }
.gold-line {
  width:56px; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:18px auto;
}
.gold-line.left { margin-left:0; }

/* Buttons */
.btn-gold {
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));
  background-size:200% auto;
  color:var(--dark);
  font-family:var(--f-sans); font-size:11px; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  padding:15px 36px; border-radius:2px;
  transition:var(--trans); border:none; cursor:none;
  animation:shimmerBtn 3s linear infinite;
  position:relative;
  overflow:visible;
}
.btn-gold:hover { transform:translateY(-3px); box-shadow:var(--shadow-gold); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:10px;
  background:transparent;
  color:var(--cream);
  font-family:var(--f-sans); font-size:11px; font-weight:300;
  letter-spacing:2.5px; text-transform:uppercase;
  padding:14px 34px; border-radius:2px;
  border:1px solid rgba(253,248,240,.35);
  transition:var(--trans); cursor:none;
}
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,146,42,.07); transform:translateY(-3px); }
.btn-garnet {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--garnet); color:var(--cream);
  font-family:var(--f-sans); font-size:11px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:14px 32px; border-radius:2px;
  border:1px solid var(--garnet); transition:var(--trans); cursor:none;
}
.btn-garnet:hover { background:transparent; color:var(--garnet); transform:translateY(-2px); }

/* ================================================
   SKIP TO CONTENT
   ================================================ */
.skip-to-content {
position: absolute;
top: -40px;
left: 0;
background: var(--gold, #C9922A);
color: var(--dark, #0D0208);
padding: 8px 16px;
text-decoration: none;
font-family: var(--f-b, 'Lato', sans-serif);
font-size: 14px;
font-weight: bold;
z-index: 99999;
transition: top 0.2s ease;
}
.skip-to-content:focus {
top: 10px;
outline: none;
}

/* ================================================
   TOAST NOTIFICATIONS
   ================================================ */
.toast-notify {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
min-width: 280px;
max-width: 400px;
background: rgba(13, 2, 8, 0.95);
backdrop-filter: blur(12px);
border-left: 4px solid var(--gold, #C9922A);
border-radius: 8px;
padding: 16px 20px;
box-shadow: 0 20px 35px -12px rgba(0,0,0,0.4);
transform: translateX(400px);
transition: transform 0.3s ease;
font-family: var(--f-b, 'Lato', sans-serif);
color: var(--cream, #FDF8F0);
display: flex;
align-items: center;
gap: 12px;
}
.toast-notify.show {
transform: translateX(0);
}
.toast-icon.success { color: #a3c9a8; }
.toast-icon.error { color: #e0a1a5; }
.toast-content { flex: 1; font-size: 14px; line-height: 1.4; }
.toast-close {
background: none;
border: none;
color: rgba(253,248,240,0.5);
cursor: pointer;
font-size: 16px;
transition: color 0.2s;
}
.toast-close:hover { color: var(--gold, #C9922A); }
@media (max-width: 600px) {
.toast-notify { left: 20px; right: 20px; bottom: 20px; min-width: auto; }
}

/* ================================================
   HONEYPOT & FORM MESSAGES
   ================================================ */
.honeypot-field {
position: absolute;
left: -9999px;
opacity: 0;
height: 0;
width: 0;
overflow: hidden;
}
.form-message {
padding: 12px 16px;
border-radius: 8px;
font-size: 14px;
margin-bottom: 20px;
display: none;
}
.form-message.success {
background: rgba(212, 237, 218, 0.15);
border-left: 3px solid #a3c9a8;
color: #a3c9a8;
}
.form-message.error {
background: rgba(248, 215, 218, 0.15);
border-left: 3px solid #e0a1a5;
color: #e0a1a5;
}
.form-message.loading {
background: rgba(201, 146, 42, 0.12);
border-left: 3px solid #C9922A;
color: #C9922A;
}
.form-loading {
opacity: 0.7;
pointer-events: none;
}
.btn-gold.form-loading i {
    animation: flyAway 1.2s ease-out forwards;
}
.btn-gold.form-loading::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold, #C9922A);
    opacity: 0;
    animation: dotTrail 1.2s ease-out forwards;
    pointer-events: none;
}

/* ================================================
   TIMING SCHEDULE SECTION
   ================================================ */
.timing-schedule {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 40px;
max-width: 1200px;
margin: 0 auto;
}
.timing-card {
background: white;
border: 1px solid rgba(201,146,42,0.2);
border-radius: 4px;
padding: 40px;
transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.timing-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 50px rgba(107,31,58,0.12);
border-color: rgba(201,146,42,0.5);
}
.timing-header {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(201,146,42,0.2);
}
.timing-icon {
width: 54px;
height: 54px;
background: linear-gradient(135deg, var(--garnet), var(--garnet-light));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--gold);
font-size: 22px;
}
.timing-header h3 {
font-family: var(--f-head);
font-size: 1.3rem;
color: var(--garnet);
}
.timing-header p {
font-family: var(--f-sans);
font-size: 11px;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--gold);
margin-top: 4px;
}
.timing-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
}
.timing-item {
font-family: var(--f-serif);
font-size: 1rem;
color: var(--text-dark);
padding: 8px 12px;
background: rgba(107,31,58,0.04);
border-radius: 3px;
display: flex;
align-items: center;
gap: 10px;
}
.timing-item i {
color: var(--gold);
font-size: 12px;
}
.timing-badge {
background: var(--garnet);
color: var(--cream);
padding: 2px 8px;
border-radius: 2px;
font-size: 10px;
margin-left: auto;
}
.instruction-list {
margin-top: 20px;
}
.instruction-item {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid rgba(201,146,42,0.1);
font-family: var(--f-serif);
color: var(--text-muted);
}
.instruction-item i {
width: 28px;
color: var(--gold);
}
@media (max-width: 768px) {
.timing-schedule { grid-template-columns: 1fr; }
.timing-list { grid-template-columns: 1fr; }
}

/* ================================================
   LOCATION SECTION
   ================================================ */
.location-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
align-items: stretch;
max-width: 1200px;
margin: 0 auto;
}
.location-info {
background: rgba(255,255,255,0.05);
backdrop-filter: blur(10px);
border: 1px solid rgba(201,146,42,0.25);
border-radius: 8px;
padding: 40px;
transition: all 0.4s ease;
}
.location-info:hover {
border-color: rgba(201,146,42,0.5);
transform: translateY(-4px);
}
.location-info h3 {
font-family: var(--f-head);
font-size: 1.4rem;
color: var(--gold);
margin-bottom: 25px;
letter-spacing: 2px;
}
.address-box {
margin: 25px 0;
padding: 25px;
background: rgba(201,146,42,0.08);
border-radius: 8px;
border-left: 3px solid var(--gold);
}
.address-box p {
font-family: var(--f-serif);
font-size: 1.05rem;
line-height: 1.8;
color: var(--cream);
margin-bottom: 8px;
}
.address-box p i {
color: var(--gold);
width: 24px;
margin-right: 8px;
}
.contact-detail-row {
display: flex;
align-items: center;
gap: 16px;
margin: 22px 0;
padding: 12px 0;
border-bottom: 1px solid rgba(201,146,42,0.15);
}
.contact-detail-row i {
width: 42px;
height: 42px;
background: rgba(201,146,42,0.12);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--gold);
font-size: 18px;
transition: all 0.3s ease;
}
.contact-detail-row:hover i {
background: var(--gold);
color: var(--dark);
transform: scale(1.05);
}
.contact-detail-row div {
flex: 1;
}
.contact-detail-row div div:first-child {
font-family: var(--f-sans);
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
color: rgba(253,248,240,0.45);
margin-bottom: 4px;
}
.contact-detail-row div div:last-child {
font-family: var(--f-serif);
font-size: 1.05rem;
color: var(--cream);
font-weight: 500;
}
.map-wrapper {
width: 100%;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
border: 1px solid rgba(201,146,42,0.3);
transition: all 0.4s ease;
}
.map-wrapper:hover {
transform: scale(1.01);
box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}
.map-wrapper iframe {
width: 100%;
height: 400px;
display: block;
}
.directions-btn {
display: inline-flex;
align-items: center;
gap: 12px;
background: var(--gold);
color: var(--dark);
padding: 12px 28px;
border-radius: 40px;
font-family: var(--f-sans);
font-size: 11px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
text-decoration: none;
margin-top: 20px;
transition: all 0.3s ease;
}
.directions-btn:hover {
background: var(--gold-light);
transform: translateY(-2px);
gap: 16px;
}
@media (max-width: 900px) {
.location-grid { grid-template-columns: 1fr; }
}

/* ================================================
   CERTIFICATE GALLERY
   ================================================ */
.certificates-gallery {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 25px;
max-width: 1200px;
margin: 0 auto 50px;
}
.cert-card {
background: white;
border: 1px solid rgba(201,146,42,0.2);
border-radius: 8px;
padding: 20px;
text-align: center;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
position: relative;
overflow: hidden;
}
.cert-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(201,146,42,0.1), transparent);
transition: left 0.5s ease;
}
.cert-card:hover::before {
left: 100%;
}
.cert-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(107,31,58,0.15);
border-color: rgba(201,146,42,0.5);
}
.cert-img {
width: 100%;
height: 220px;
object-fit: contain;
border-radius: 4px;
margin-bottom: 15px;
transition: transform 0.3s ease;
}
.cert-card:hover .cert-img {
transform: scale(1.02);
}
.cert-card h4 {
font-family: var(--f-head);
font-size: 0.95rem;
color: var(--garnet);
margin-bottom: 8px;
}
.cert-card p {
font-family: var(--f-serif);
font-size: 0.8rem;
color: var(--text-muted);
line-height: 1.5;
}
.cert-view-badge {
display: inline-block;
margin-top: 12px;
font-family: var(--f-sans);
font-size: 9px;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--gold);
border: 1px solid rgba(201,146,42,0.3);
padding: 5px 12px;
border-radius: 20px;
transition: all 0.3s ease;
}
.cert-card:hover .cert-view-badge {
background: var(--gold);
color: var(--dark);
border-color: var(--gold);
}
.doctorate-card {
max-width: 550px;
margin: 0 auto;
background: linear-gradient(135deg, var(--garnet) 0%, var(--garnet-light) 100%);
padding: 40px;
text-align: center;
border-radius: 12px;
position: relative;
overflow: hidden;
cursor: pointer;
transition: all 0.4s ease;
}
.doctorate-card::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(201,146,42,0.15), transparent);
opacity: 0;
transition: opacity 0.5s ease;
}
.doctorate-card:hover::before {
opacity: 1;
}
.doctorate-card:hover {
transform: translateY(-6px);
box-shadow: 0 25px 50px rgba(107,31,58,0.4);
}
.doctorate-img {
width: 130px;
height: 130px;
margin: 0 auto 20px;
border-radius: 50%;
overflow: hidden;
border: 3px solid var(--gold);
box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
.doctorate-img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.doctorate-card h4 {
font-family: var(--f-head);
font-size: 1.4rem;
color: var(--gold);
margin-bottom: 15px;
letter-spacing: 2px;
}
.doctorate-card .doctorate-desc {
font-family: var(--f-serif);
font-size: 1rem;
line-height: 1.7;
color: rgba(253,248,240,0.9);
margin-bottom: 20px;
}
.doctorate-meta {
display: flex;
justify-content: center;
gap: 25px;
flex-wrap: wrap;
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid rgba(201,146,42,0.3);
}
.doctorate-meta span {
font-family: var(--f-sans);
font-size: 11px;
color: rgba(253,248,240,0.7);
display: flex;
align-items: center;
gap: 8px;
}
.doctorate-meta i {
color: var(--gold);
}
.gst-card {
max-width: 450px;
margin: 0 auto 50px;
background: white;
border: 1px solid rgba(201,146,42,0.2);
border-radius: 12px;
padding: 30px;
text-align: center;
transition: all 0.3s ease;
}
.gst-card:hover {
transform: translateY(-4px);
box-shadow: 0 15px 35px rgba(107,31,58,0.1);
border-color: rgba(201,146,42,0.4);
}
.gst-img {
width: 80px;
height: 80px;
margin: 0 auto 15px;
}
.gst-img img {
width: 100%;
height: 100%;
object-fit: contain;
}
.gst-card h4 {
font-family: var(--f-head);
font-size: 1.1rem;
color: var(--garnet);
margin-bottom: 10px;
}
.gst-number {
font-family: var(--f-serif);
font-size: 1.2rem;
color: var(--gold);
font-weight: bold;
letter-spacing: 1px;
margin: 10px 0;
}
.cert-modal {
position: fixed;
inset: 0;
background: rgba(13,2,8,0.95);
backdrop-filter: blur(15px);
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.cert-modal.open {
opacity: 1;
visibility: visible;
}
.cert-modal-content {
max-width: 90vw;
max-height: 90vh;
position: relative;
transform: scale(0.9);
transition: transform 0.3s ease;
}
.cert-modal.open .cert-modal-content {
transform: scale(1);
}
.cert-modal-img {
max-width: 100%;
max-height: 85vh;
object-fit: contain;
border: 2px solid var(--gold);
border-radius: 8px;
box-shadow: 0 30px 60px rgba(0,0,0,0.5);
}
.cert-modal-close {
position: absolute;
top: -40px;
right: -40px;
width: 40px;
height: 40px;
background: var(--gold);
border: none;
border-radius: 50%;
color: var(--dark);
font-size: 18px;
cursor: pointer;
transition: all 0.3s ease;
}
.cert-modal-close:hover {
transform: rotate(90deg);
background: var(--gold-light);
}
.cert-caption {
text-align: center;
margin-top: 15px;
font-family: var(--f-serif);
color: var(--cream);
font-size: 0.9rem;
}
@media (max-width: 900px) {
.certificates-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
.certificates-gallery { grid-template-columns: 1fr; }
.cert-modal-close { top: -35px; right: -5px; }
}

/* ================================================
   NAVBAR BASE (Scrolled & Desktop)
   ================================================ */
.nav-links {
display: flex;
align-items: center;
gap: 4px;
}
.nav-item {
position: relative;
}
.nav-link {
font-family: var(--f-sans, 'Lato', sans-serif);
font-size: 11px;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--cream, #FDF8F0);
text-decoration: none;
padding: 10px 14px;
transition: color 0.3s ease;
display: flex;
align-items: center;
gap: 6px;
cursor: pointer;
background: none;
border: none;
white-space: nowrap;
}
#navbar.scrolled .nav-link {
color: var(--gold, #C9922A);
text-shadow: 0 1px 2px rgba(13, 2, 8, 0.3);
}
#navbar.scrolled .nav-link:hover,
#navbar.scrolled .nav-item:hover .nav-link,
#navbar.scrolled .nav-item.active .nav-link {
color: var(--gold-light, #E8B84B);
text-shadow: 0 1px 3px rgba(13, 2, 8, 0.4);
}
#navbar.scrolled .nav-logo {
color: var(--gold, #C9922A);
text-shadow: 0 1px 2px rgba(13, 2, 8, 0.3);
}
#navbar.scrolled .hamburger-line {
background: var(--gold, #C9922A);
box-shadow: 0 0 6px rgba(201, 146, 42, 0.4);
}
#navbar.scrolled .nav-arrow {
color: var(--gold, #C9922A);
}
#navbar.scrolled .nav-link::after {
background: var(--gold-light, #E8B84B);
box-shadow: 0 0 8px rgba(201, 146, 42, 0.5);
}

/* ================================================
   LIQUID GLASS NAVBAR — Apple iOS 26 Style
   ================================================ */
#liquid-glass-nav { display: none; position: absolute; width: 0; height: 0; }

.nav-glass-container {
--glass-bg: rgba(255, 255, 255, 0.04);
--glass-highlight: rgba(255, 255, 255, 0.45);
--glass-rim: rgba(201, 146, 42, 0.2);
--glass-shadow: rgba(13, 2, 8, 0.3);
position: relative;
width: 100%;
border-radius: 0;
overflow: visible;
background: transparent;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
#navbar.scrolled .nav-glass-container {
--glass-bg: rgba(255, 255, 255, 0.06);
--glass-highlight: rgba(255, 255, 255, 0.45);
--glass-rim: rgba(201, 146, 42, 0.3);
max-width: 94% !important;
margin: 16px auto 0;
border-radius: 50px;
box-shadow:
0 8px 32px rgba(0, 0, 0, 0.3),
0 0 0 1px rgba(201, 146, 42, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.15);
/* REMOVED overflow: hidden so mega menus can spill out */
}
.nav-glass-filter,
.nav-glass-overlay,
.nav-glass-specular,
.nav-glass-rim {
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-glass-filter {
z-index: 1;
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
filter: url(#liquid-glass-nav) brightness(1.1);
opacity: 0;
transition: opacity 0.5s ease;
}
#navbar.scrolled .nav-glass-filter {
opacity: 1;
}
.nav-glass-overlay {
z-index: 2;
background: var(--glass-bg);
opacity: 0;
transition: opacity 0.5s ease;
}
#navbar.scrolled .nav-glass-overlay {
opacity: 0.7;
}
.nav-glass-specular {
z-index: 3;
box-shadow:
inset 0 1px 1px var(--glass-highlight),
inset 0 -1px 1px rgba(0, 0, 0, 0.1);
opacity: 0;
transition: opacity 0.5s ease;
}
#navbar.scrolled .nav-glass-specular {
opacity: 1;
}
.nav-glass-rim {
z-index: 4;
border: 1px solid transparent;
border-radius: inherit;
transition: all 0.5s ease;
}
#navbar.scrolled .nav-glass-rim {
border-color: var(--glass-rim);
}
.nav-glass-content {
position: relative;
z-index: 100;
}
#navbar {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
padding: 0;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
#navbar.scrolled {
padding: 0 4%;
}
.nav-wrap {
display: flex;
align-items: center;
justify-content: space-between;
padding: 18px 4%;
max-width: 1400px;
margin: 0 auto;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
#navbar.scrolled .nav-wrap {
padding: 12px 28px !important; /* Increased from 10px to 12px for more height */
}
.nav-logo {
display: flex !important;
align-items: center !important;
gap: 10px !important;
font-family: var(--f-head);
font-size: 15px;
color: var(--cream);
letter-spacing: 2.5px;
text-decoration: none;
flex-shrink: 0;
transition: all 0.3s ease;
}
.nav-logo-text-wrap {
display: flex;
flex-direction: column;
justify-content: center;
line-height: 1.2;
}
.nav-logo-text {
white-space: nowrap;
font-family: var(--f-head);
font-size: 15px;
font-weight: 600;
letter-spacing: 2.5px;
text-transform: uppercase;
color: var(--cream, #FDF8F0);
position: relative;
display: inline-block;
}
#navbar.scrolled .nav-logo-text {
font-size: 14px !important; /* Increased from 13px */
letter-spacing: 2px !important;
}
.shimmer-gold {
background-image: linear-gradient(
100deg,
var(--cream, #FDF8F0) 0%,
var(--cream, #FDF8F0) 30%,
#D4A84B 40%,
#FFF8E7 48%,
#FFF8E7 52%,
#D4A84B 60%,
var(--cream, #FDF8F0) 70%,
var(--cream, #FDF8F0) 100%
);
background-size: 400% 100%;
background-position: 100% center;
-webkit-background-clip: text;
background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
animation: goldShimmer 8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
#navbar.scrolled .shimmer-gold {
background-image: linear-gradient(
100deg,
var(--dark, #0D0208) 0%,
var(--dark, #0D0208) 30%,
#D4A84B 40%,
#FFF8E7 48%,
#FFF8E7 52%,
#D4A84B 60%,
var(--dark, #0D0208) 70%,
var(--dark, #0D0208) 100%
);
background-size: 400% 100%;
-webkit-background-clip: text;
background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}
.nav-tagline {
font-family: var(--f-sans, 'Lato', sans-serif);
font-size: 8.5px;
font-weight: 400;
letter-spacing: 1.8px;
text-transform: uppercase;
color: rgba(253, 248, 240, 0.55);
margin-top: 2px;
white-space: nowrap;
transition: all 0.3s ease;
display: block;
}
#navbar.scrolled .nav-tagline {
font-size: 8px !important; /* Increased from 7.5px */
letter-spacing: 1.5px !important;
opacity: 0.8;
color: rgba(13, 2, 8, 0.5);
}
.nav-logo svg {
width: 26px;
height: 26px;
flex-shrink: 0;
color: var(--gold);
transition: color 0.3s ease;
}
#navbar.scrolled .nav-logo svg {
color: var(--gold, #C9922A);
filter: drop-shadow(0 1px 2px rgba(13, 2, 8, 0.3));
}
.nav-logo-img {
height: 68px !important;
width: auto;
object-fit: contain;
flex-shrink: 0;
transition: all 0.3s ease;
}
#navbar.scrolled .nav-logo-img {
height: 52px !important; /* Increased from 48px */
}

/* ===== MEGA MENU ===== */
.mega-menu {
position: absolute;
top: calc(100% + 12px);
left: 50%;
transform: translateX(-50%) translateY(8px);
min-width: 220px;
background: rgba(13, 2, 8, 0.85);
backdrop-filter: blur(24px) saturate(150%);
-webkit-backdrop-filter: blur(24px) saturate(150%);
border: 1px solid rgba(201, 146, 42, 0.15);
border-top: 2px solid var(--gold);
border-radius: 16px;
padding: 10px 0;
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(201, 146, 42, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.08);
opacity: 0;
visibility: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s !important;
z-index: 1000;
pointer-events: none;
overflow: hidden;
}
.mega-menu::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(201, 146, 42, 0.03) 0%, transparent 50%, rgba(201, 146, 42, 0.03) 100%);
pointer-events: none;
z-index: 0;
}
.mega-menu::after {
content: '';
position: absolute;
top: -70px !important;
left: -40px !important;
right: -40px !important;
height: 80px !important;
z-index: -1;
}
.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu,
.mega-menu:hover {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
pointer-events: auto;
transition-delay: 0s !important;
}
.mega-menu-inner {
padding: 0;
position: relative;
z-index: 1;
}
.mega-menu-item {
display: flex;
align-items: center;
gap: 12px;
padding: 11px 20px;
color: rgba(253, 248, 240, 0.9);
text-decoration: none;
font-family: var(--f-serif);
font-size: 0.95rem;
font-weight: 500;
transition: all 0.3s ease;
cursor: pointer;
background: none;
border: none;
width: 100%;
text-align: left;
white-space: nowrap;
position: relative;
}
.mega-menu-item:hover {
background: rgba(201, 146, 42, 0.1);
color: var(--gold);
padding-left: 26px;
}
.mega-menu-item i {
color: var(--gold);
font-size: 12px;
width: 18px;
text-align: center;
transition: transform 0.3s ease;
filter: drop-shadow(0 0 4px rgba(201, 146, 42, 0.4));
}
.mega-menu-item:hover i {
transform: scale(1.15);
filter: drop-shadow(0 0 8px rgba(201, 146, 42, 0.6));
}
.mega-menu-divider {
height: 1px;
background: linear-gradient(90deg, transparent, rgba(201, 146, 42, 0.2), transparent);
margin: 6px 16px;
}
.nav-right {
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0;
}
.nav-cta {
font-family: var(--f-sans);
font-size: 10px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--dark);
background: linear-gradient(135deg, var(--gold), var(--gold-light));
padding: 8px 18px;
border-radius: 50px;
transition: all 0.3s ease;
text-decoration: none;
white-space: nowrap;
position: relative;
overflow: hidden;
border: none;
box-shadow:
0 4px 15px rgba(201, 146, 42, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.nav-cta::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(255,255,255,0.2), transparent);
opacity: 0.5;
transition: opacity 0.3s ease;
}
.nav-cta:hover {
transform: translateY(-2px);
box-shadow:
0 8px 25px rgba(201, 146, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.4);
background: linear-gradient(135deg, var(--gold-light), var(--gold));
}
.nav-cta:hover::before {
opacity: 0.8;
}
#navbar.scrolled .nav-cta {
padding: 8px 16px !important; /* Increased from 6px 14px */
font-size: 9.5px !important; /* Increased from 9px */
letter-spacing: 1.5px !important;
}
#navbar.scrolled .nav-links {
gap: 2px !important;
}

@media (min-width: 1101px) {
  #navbar.scrolled .nav-link {
    font-size: 10px !important; /* Increased from 9.5px */
    padding: 8px 12px !important; /* Increased from 8px 10px */
    letter-spacing: 1px !important;
  }
}

.hamburger {
display: none;
flex-direction: column;
gap: 5px;
width: 26px;
padding: 4px 0;
background: none;
border: none;
cursor: pointer;
position: fixed;
top: 24px;
right: 4%;
z-index: 100001;
pointer-events: auto;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
.hamburger-line {
display: block;
height: 2px;
background: var(--cream);
transition: all 0.3s ease;
transform-origin: center;
border-radius: 1px;
box-shadow: 0 0 6px rgba(201, 146, 42, 0.4);
width: 100%;
}
.hamburger.open .hamburger-line:nth-child(1) {
transform: translateY(6.5px) rotate(45deg);
}
.hamburger.open .hamburger-line:nth-child(2) {
opacity: 0;
transform: scaleX(0);
}
.hamburger.open .hamburger-line:nth-child(3) {
transform: translateY(-6.5px) rotate(-45deg);
}
.mobile-menu.open ~ .hamburger,
.mobile-menu.open + .hamburger {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* ================================================
   MOBILE MENU — Full Screen
   ================================================ */
.mobile-menu {
position: fixed;
inset: 0;
background: rgba(13, 2, 8, 0.95);
backdrop-filter: blur(30px) saturate(150%);
-webkit-backdrop-filter: blur(30px) saturate(150%);
z-index: 99999;
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
overflow-y: auto;
padding-top: 80px;
opacity: 0;
visibility: hidden;
transition: opacity 0.4s ease, visibility 0.4s ease;
}
.mobile-menu.open {
opacity: 1;
visibility: visible;
}
.mobile-menu::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(201, 146, 42, 0.03) 0%, transparent 50%, rgba(201, 146, 42, 0.03) 100%);
pointer-events: none;
}
.mobile-close {
position: absolute;
top: 28px;
right: 28px;
font-size: 24px;
color: rgba(253, 248, 240, 0.5);
cursor: pointer;
background: none;
border: none;
transition: all 0.3s ease;
z-index: 100002;
pointer-events: auto;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
.mobile-close:hover {
color: var(--gold);
transform: rotate(90deg);
}
.mobile-nav-item {
border-bottom: 1px solid rgba(201, 146, 42, 0.08);
position: relative;
}
.mobile-nav-link {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 28px;
color: var(--cream);
text-decoration: none;
font-family: var(--f-sans);
font-size: 13px;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
cursor: pointer;
background: none;
border: none;
width: 100%;
text-align: left;
transition: color 0.3s ease;
}
.mobile-nav-link:hover {
color: var(--gold);
background: rgba(201, 146, 42, 0.05);
}
.mobile-nav-link i.fa-chevron-down {
font-size: 10px;
transition: transform 0.3s ease;
color: var(--gold);
}
.mobile-nav-item.open .mobile-nav-link i.fa-chevron-down {
transform: rotate(180deg);
}
.mobile-sub-menu {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
background: rgba(0, 0, 0, 0.2);
}
.mobile-nav-item.open .mobile-sub-menu {
max-height: 600px;
}
.mobile-sub-menu a,
.mobile-sub-menu button {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 28px 14px 48px;
color: rgba(253, 248, 240, 0.7);
text-decoration: none;
font-family: var(--f-serif);
font-size: 1.05rem;
font-weight: 500;
border: none;
background: none;
width: 100%;
text-align: left;
cursor: pointer;
transition: all 0.3s ease;
}
.mobile-sub-menu a:hover,
.mobile-sub-menu button:hover {
color: var(--gold);
background: rgba(201, 146, 42, 0.08);
padding-left: 56px;
}
.mobile-sub-menu i {
color: var(--gold);
font-size: 13px;
width: 18px;
text-align: center;
}

/* ================================================
   NAVBAR RESPONSIVE
   ================================================ */
@media (max-width: 1100px) {
.nav-link {
font-size: 10px;
padding: 10px 10px;
letter-spacing: 1px;
}
}
@media (max-width: 1024px) {
.nav-links { display: none !important; }
.hamburger { display: flex !important; }
.nav-cta { display: none; }
#navbar.scrolled .nav-glass-container {
max-width: 100%;
margin: 0;
border-radius: 0;
box-shadow: none;
}
}
@media (max-width: 1024px) {
.nav-wrap { padding: 14px 5%; }
#navbar.scrolled { padding: 0; }
#navbar.scrolled .nav-wrap { padding: 12px 5%; }
}
@media (max-width: 768px) {
.nav-logo-text { font-size: 16px !important; letter-spacing: 2.5px !important; }
.nav-tagline { font-size: 9px !important; letter-spacing: 1.5px !important; margin-top: 2px !important; }
.nav-logo-img { height: 64px !important; }
#navbar.scrolled .nav-logo-img { height: 48px !important; }
}
@media (max-width: 480px) {
.nav-logo-text { font-size: 14px !important; letter-spacing: 2px !important; }
.nav-tagline { font-size: 8px !important; letter-spacing: 1.2px !important; }
.nav-logo-img { height: 58px !important; }
}
@media (max-width: 360px) {
.nav-logo-text { font-size: 12px !important; letter-spacing: 1.5px !important; }
.nav-tagline { font-size: 7px !important; letter-spacing: 1px !important; }
}
@media (min-width: 1101px) {
.nav-link { padding: 10px 12px !important; letter-spacing: 1.3px !important; }
}
@media (min-width: 901px) and (max-width: 1100px) {
.nav-link { padding: 10px 8px !important; letter-spacing: 1px !important; font-size: 9.5px !important; }
.nav-cta { padding: 8px 16px !important; font-size: 9px !important; letter-spacing: 1.5px !important; }
}
.nav-links { gap: 0px !important; }
@media (max-width: 1024px) {
#navbar.scrolled .nav-glass-container { max-width: 100% !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
#navbar.scrolled { padding: 0 !important; }
#navbar.scrolled .nav-wrap { padding: 10px 4% !important; }
}
@media (max-width: 480px) {
#navbar.scrolled .nav-wrap { padding: 10px 3% !important; }
}

/* ================================================
   FLOATING BUTTONS
   ================================================ */
.wa-float {
position: fixed; bottom: 100px; right: 24px;
width: 56px; height: 56px;
background: #25D366; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
color: white; font-size: 24px; z-index: 9990;
box-shadow: 0 8px 28px rgba(37,211,102,.45);
transition: var(--trans);
animation: pulseGlow 3.5s ease-in-out infinite;
}
.wa-float:hover { transform: scale(1.1) translateY(-3px); }
#scrollTop {
position: fixed; bottom: 170px; right: 24px;
width: 44px; height: 44px;
background: var(--garnet);
border: 1px solid rgba(201,146,42,.32); border-radius: 50%;
display: flex; align-items: center; justify-content: center;
color: var(--gold); font-size: 16px; z-index: 9989;
opacity: 0; transform: translateY(18px);
transition: var(--trans); cursor: none;
pointer-events: none;
}
#scrollTop.show { opacity: 1; transform: translateY(0); pointer-events: all; }
#scrollTop:hover { background: var(--gold); color: var(--dark); transform: translateY(-3px); }

/* ================================================
   HERO SECTION
   ================================================ */
.hero {
position:relative; width:100%; height:100vh; min-height:680px;
display:flex; align-items:center; overflow:hidden;
}
.hero-bg {
position:absolute; inset:0;
background-size:cover; background-position:center 25%;
will-change:transform; transform:scale(1.06);
transition:transform 0.3s ease;
}
.hero-overlay {
position:absolute; inset:0;
background:
linear-gradient(110deg, rgba(13,2,8,.93) 0%, rgba(13,2,8,.65) 55%, rgba(13,2,8,.3) 100%),
linear-gradient(to top, rgba(13,2,8,.97) 0%, rgba(13,2,8,.4) 40%, rgba(107,31,58,.15) 100%);
}
.hero-particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.p-dot {
position:absolute;
width:3px; height:3px;
border-radius:50%;
background:var(--gold);
animation:floatUp linear infinite;
opacity:0;
}
.mandala-wrap { position:absolute; pointer-events:none; }
.mandala-wrap.m1 { right:-8%; top:-15%; width:60vmin; opacity:.12; color:var(--gold); }
.mandala-wrap.m2 { left:2%; bottom:3%; width:22vmin; opacity:.1; color:var(--gold); }
.mandala-wrap.m3 { right:22%; top:10%; width:12vmin; opacity:.07; color:var(--gold); }
.mandala-wrap.m1 svg { animation:rotateSlow 80s linear infinite; width:100%; height:100%; }
.mandala-wrap.m2 svg { animation:rotateRev 45s linear infinite; width:100%; height:100%; }
.mandala-wrap.m3 svg { animation:rotateSlow 28s linear infinite; width:100%; height:100%; }
.hero-content {
position:relative; z-index:3;
width:100%; max-width:680px;
padding:0 6%; padding-top:90px;
}
.hero-eyebrow {
font-family:var(--f-sans); font-size:10.5px; font-weight:300;
letter-spacing:6px; text-transform:uppercase;
color:var(--gold); display:block; margin-bottom:26px;
opacity:0; animation:fadeInUp .9s var(--ease) .4s forwards;
}
.hero-title {
font-family:var(--f-head);
font-size:clamp(3rem,7.5vw,6.4rem);
line-height:1.08; color:var(--cream);
margin-bottom:16px;
opacity:0; animation:fadeInUp .9s var(--ease) .7s forwards;
}
.hero-tagline {
font-family: var(--f-head, 'Cinzel', serif);
font-size: 1.05rem;
font-weight: 400;
letter-spacing: 3.5px;
text-transform: uppercase;
color: var(--gold, #C9922A);
margin: 14px 0 10px 0;
text-align: center;
opacity: 0;
animation: fadeInUp 1.2s ease 0.8s forwards;
text-shadow: 0 2px 10px rgba(201, 146, 42, 0.25);
}
.hero-typed-line {
font-family:var(--f-serif); font-style:italic;
font-size:clamp(1.9rem,4.8vw,3.8rem);
color:var(--gold); min-height:1.3em;
margin-bottom:28px;
opacity:0; animation:fadeInUp .9s var(--ease) 1s forwards;
}
.typed-cursor { color:var(--gold); }
.hero-desc {
font-family:var(--f-serif); font-size:1.1rem; line-height:1.95;
color:rgba(253,248,240,.72); max-width:500px;
margin-bottom:44px;
opacity:0; animation:fadeInUp .9s var(--ease) 1.2s forwards;
}
.hero-ctas {
display:flex; align-items:center; gap:20px; flex-wrap:wrap;
opacity:0; animation:fadeInUp .9s var(--ease) 1.4s forwards;
}
.hero-scroll {
position:absolute; bottom:36px; left:50%;
transform:translateX(-50%);
display:flex; flex-direction:column; align-items:center; gap:10px;
z-index:3; opacity:.7;
}
.hero-scroll-label {
font-family:var(--f-sans); font-size:9px;
letter-spacing:4px; text-transform:uppercase;
color:var(--gold);
}
.hero-scroll-line {
position:relative; width:1px; height:52px;
background:rgba(201,146,42,.2); overflow:hidden;
}
.hero-scroll-line::after {
content:''; position:absolute;
top:0; width:100%;
background:var(--gold);
animation:scrollDrop 2.2s ease-in-out infinite;
}
@media (min-width: 769px) {
.hero-content { padding-top: 100px !important; }
.hero-eyebrow { margin-top: 0 !important; padding-top: 0 !important; }
}
@media (min-width: 1200px) {
.hero-content { padding-top: 120px !important; }
}
@media (max-width: 768px) {
.hero-content { padding-top: 20px !important; }
.hero-eyebrow { margin-top: 0 !important; padding-top: 0 !important; }
.hero-tagline { font-size: 0.78rem; letter-spacing: 2.5px; margin: 10px 0 6px 0; }
}
@media (max-width: 480px) {
.hero-tagline { font-size: 0.7rem; letter-spacing: 2px; margin: 8px 0 5px 0; }
}

/* ================================================
   STATS BAR
   ================================================ */
.stats-bar {
background:var(--garnet);
padding:52px 6%; position:relative; overflow:hidden;
}
.stats-bar::before {
content:''; position:absolute; inset:0;
background:linear-gradient(135deg,rgba(201,146,42,.12) 0%,transparent 60%);
}
.stats-grid {
display:grid; grid-template-columns:repeat(4,1fr);
max-width:1100px; margin:0 auto;
position:relative; z-index:1;
}
.stat-item { text-align:center; padding:16px 20px; position:relative; }
.stat-item:not(:last-child)::after {
content:''; position:absolute; right:0; top:15%; bottom:15%;
width:1px; background:rgba(201,146,42,.3);
}
.stat-num {
font-family:var(--f-head); font-size:2.7rem;
color:var(--gold); line-height:1; margin-bottom:8px; display:block;
}
.stat-lbl {
font-family:var(--f-sans); font-size:10.5px;
letter-spacing:2.5px; text-transform:uppercase;
color:rgba(253,248,240,.65);
}

/* ================================================
   PACKAGES SECTION
   ================================================ */
.packages-section {
padding:120px 6%;
background:var(--cream); position:relative; overflow:hidden;
}
.packages-section::after {
content:''; position:absolute; bottom:0; right:0;
width:500px; height:500px; pointer-events:none;
background:radial-gradient(circle,rgba(107,31,58,.04) 0%,transparent 70%);
}
.section-header { text-align:center; margin-bottom:72px; }
.packages-grid {
display:grid;
grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
gap:26px; max-width:1240px; margin:0 auto;
}
.pkg-card {
background:rgba(255,255,255,.75);
backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
border:1px solid rgba(201,146,42,.18);
border-radius:3px; padding:38px 30px;
transition:var(--trans); position:relative; overflow:hidden;
}
.pkg-card::before {
content:''; position:absolute; inset:0;
background:linear-gradient(135deg,rgba(201,146,42,.06) 0%,transparent 55%);
opacity:0; transition:opacity .4s;
}
.pkg-card::after {
content:''; position:absolute;
bottom:0; left:0; right:0; height:2px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
transform:scaleX(0); transition:transform .4s var(--ease);
}
.pkg-card:hover { transform:translateY(-9px); border-color:rgba(201,146,42,.55); box-shadow:0 24px 56px rgba(107,31,58,.12); }
.pkg-card:hover::before { opacity:1; }
.pkg-card:hover::after { transform:scaleX(1); }
.pkg-icon {
width:54px; height:54px;
background:linear-gradient(135deg,var(--garnet),var(--garnet-light));
border-radius:50%; display:flex; align-items:center; justify-content:center;
color:var(--gold); font-size:20px;
margin-bottom:20px; transition:var(--trans);
}
.pkg-card:hover .pkg-icon {
background:linear-gradient(135deg,var(--gold),var(--gold-light));
color:var(--dark); transform:scale(1.12) rotate(6deg);
}
.pkg-title {
font-family:var(--f-head); font-size:1.05rem;
color:var(--garnet); margin-bottom:10px; letter-spacing:.5px;
}
.pkg-desc {
font-family:var(--f-serif); font-size:1rem;
line-height:1.78; color:var(--text-muted);
}

/* ================================================
   ABOUT SECTION
   ================================================ */
.about-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.about-section::before {
content:''; position:absolute; top:-200px; right:-200px;
width:700px; height:700px; pointer-events:none;
background:radial-gradient(circle,rgba(107,31,58,.35) 0%,transparent 68%);
}
.about-section::after {
content:''; position:absolute; bottom:-200px; left:-100px;
width:500px; height:500px; pointer-events:none;
background:radial-gradient(circle,rgba(26,92,90,.18) 0%,transparent 70%);
}
.about-grid {
display:grid; grid-template-columns:1fr 1fr;
gap:80px; align-items:center;
max-width:1200px; margin:0 auto;
position:relative; z-index:1;
}
.about-img-wrap {
position:relative; display:flex; align-items:center; justify-content:center;
}
.about-ring1 {
position:absolute; inset:-18px;
border:1px solid rgba(201,146,42,.2); border-radius:50%;
animation:rotateSlow 35s linear infinite; pointer-events:none;
}
.about-ring2 {
position:absolute; inset:-38px;
border:1px solid rgba(201,146,42,.1); border-radius:50%;
animation:rotateRev 50s linear infinite; pointer-events:none;
}
.about-img {
width:100%; border-radius:4px;
position:relative; z-index:1;
box-shadow:0 30px 80px rgba(13,2,8,.6);
}
.about-mandala-bg {
position:absolute; inset:-60px; opacity:.06;
color:var(--gold); pointer-events:none; z-index:0;
}
.about-mandala-bg svg { width:100%; height:100%; animation:rotateRev 120s linear infinite; }
.about-content .section-title { color:var(--cream); margin-bottom:20px; }
.about-text {
font-family:var(--f-serif); font-size:1.1rem; line-height:1.92;
color:rgba(253,248,240,.72); margin-bottom:30px;
}
.about-text-full {
display: none;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid rgba(201,146,42,0.15);
animation: fadeInUp 0.4s ease;
}
.about-text-full.show {
display: block;
}
.about-quote {
border-left:3px solid var(--gold);
padding:18px 24px; margin-bottom:40px;
background:rgba(201,146,42,.06);
border-radius:0 3px 3px 0;
}
.about-quote p {
font-family:var(--f-serif); font-style:italic;
font-size:1.08rem; line-height:1.82;
color:rgba(253,248,240,.82);
}
.about-stats-row {
display:grid; grid-template-columns:repeat(2,1fr); gap:22px;
}
.about-stat {
border-top:1px solid rgba(201,146,42,.22); padding-top:16px;
}
.astat-num {
font-family:var(--f-head); font-size:2.1rem;
color:var(--gold); line-height:1; margin-bottom:6px; display:block;
}
.astat-lbl {
font-family:var(--f-sans); font-size:10.5px;
letter-spacing:2px; text-transform:uppercase;
color:rgba(253,248,240,.45);
}

/* ================================================
   SPECIALTIES SECTION
   ================================================ */
.specialties-section {
padding:120px 6%;
background:var(--parchment); position:relative; overflow:hidden;
}
.specialties-section::before {
content:''; position:absolute; inset:0; pointer-events:none;
background:radial-gradient(circle at 50% 50%,rgba(26,92,90,.06) 0%,transparent 65%);
}
.spec-layout {
display:grid; grid-template-columns:1fr 1.15fr 1fr;
gap:36px; align-items:center;
max-width:1200px; margin:0 auto;
}
.spec-col { display:flex; flex-direction:column; gap:18px; }
.treatment-card {
background:white;
border:1px solid rgba(201,146,42,.14);
border-left:3px solid var(--garnet);
border-radius:0 3px 3px 0; padding:20px 22px;
transition:var(--trans); cursor:pointer;
}
.treatment-card:hover { border-left-color:var(--gold); transform:translateX(7px); box-shadow:0 8px 26px rgba(107,31,58,.1); }
.spec-col-right .treatment-card {
border-left:none; border-right:3px solid var(--garnet);
border-radius:3px 0 0 3px; text-align:right;
}
.spec-col-right .treatment-card:hover { border-right-color:var(--gold); transform:translateX(-7px); }
.spec-col-right .treatment-icon { margin-left:auto; margin-right:0; }
.treatment-icon {
width:36px; height:36px; border-radius:50%;
background:rgba(107,31,58,.08);
display:flex; align-items:center; justify-content:center;
color:var(--garnet); font-size:15px; margin-bottom:10px;
transition:var(--trans);
}
.treatment-card:hover .treatment-icon { background:var(--garnet); color:var(--gold); }
.treat-name { font-family:var(--f-head); font-size:.98rem; color:var(--garnet); margin-bottom:5px; }
.treat-desc { font-family:var(--f-serif); font-size:.88rem; color:var(--text-muted); line-height:1.65; margin-bottom:8px; }
.treat-link { font-family:var(--f-sans); font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); transition:var(--trans); }
.treatment-card:hover .treat-link { letter-spacing:3px; }
.spec-center { position:relative; }
.spec-img { width:100%; border-radius:4px; box-shadow:0 24px 60px rgba(13,2,8,.3); }
.spec-center::before {
content:''; position:absolute; inset:-10px;
border:1px solid rgba(201,146,42,.25); border-radius:4px; z-index:-1;
}

/* ================================================
   TESTIMONIALS SECTION
   ================================================ */
.testimonials-section {
padding:120px 6%;
background:var(--cream); position:relative; overflow:hidden;
}
.testimonials-section::before {
content:''; position:absolute; left:-80px; top:50%; transform:translateY(-50%);
width:280px; height:280px; pointer-events:none;
background:radial-gradient(circle,rgba(26,92,90,.07) 0%,transparent 70%);
}
.testimonials-section::after {
content:''; position:absolute; right:-80px; top:30%;
width:280px; height:280px; pointer-events:none;
background:radial-gradient(circle,rgba(107,31,58,.05) 0%,transparent 70%);
}
.swiper-wrap { max-width:860px; margin:0 auto; padding-bottom:64px; }
.testi-card {
background:white;
border:1px solid rgba(201,146,42,.15);
border-radius:3px; padding:52px 46px;
text-align:center; position:relative;
box-shadow:0 8px 32px rgba(107,31,58,.06);
max-width:900px;
margin:0 auto;
}
.testi-big-quote {
position:absolute; top:24px; left:32px;
font-family:var(--f-serif); font-size:96px;
color:rgba(201,146,42,.1); line-height:1;
pointer-events:none;
}
.testi-stars { color:var(--gold); font-size:13px; letter-spacing:5px; margin-bottom:24px; }
.testi-text {
font-family:var(--f-serif); font-style:italic;
font-size:1.1rem; line-height:1.92;
color:var(--text-dark); margin-bottom:24px; position:relative; z-index:1;
}
.testi-text.full { display:block; }
.testi-text.truncated {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
.read-more-testi {
background: none;
border: none;
color: var(--gold);
font-family: var(--f-sans);
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
cursor: pointer;
margin-top: 8px;
display: inline-flex;
align-items: center;
gap: 6px;
padding: 0;
transition: all 0.3s;
}
.read-more-testi:hover { gap: 10px; color: var(--gold-light); }
.testi-avatar {
width:80px; height:80px; border-radius:50%;
overflow:hidden; margin:20px auto 14px;
border:3px solid rgba(201,146,42,.28);
}
.testi-avatar img { width:100%; height:100%; object-fit:cover; }
.testi-name { font-family:var(--f-head); font-size:1.1rem; color:var(--garnet); margin-bottom:4px; }
.testi-role { font-family:var(--f-sans); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:20px; }
.testi-video-container {
margin-top:20px;
border-radius:8px;
overflow:hidden;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.testi-video-container iframe {
width:100%;
aspect-ratio:16/9;
border:none;
}
.watch-youtube-btn {
display:inline-flex;
align-items:center;
gap:8px;
background:#FF0000;
color:white;
padding:10px 20px;
border-radius:4px;
text-decoration:none;
font-family:var(--f-sans);
font-size:11px;
font-weight:600;
letter-spacing:1px;
text-transform:uppercase;
margin-top:16px;
transition:all 0.3s;
}
.watch-youtube-btn:hover { background:#cc0000; transform:translateY(-2px); }
.swiper-pagination-bullet { background:var(--garnet)!important; opacity:.3!important; }
.swiper-pagination-bullet-active { background:var(--gold)!important; opacity:1!important; }
.swiper-button-prev, .swiper-button-next { color:var(--garnet)!important; --swiper-navigation-size:20px; }

/* ================================================
   BLOG / SOCIAL FEED — Brand Gradients
   ================================================ */
.blog-section { padding:100px 6%; background:var(--parchment); }
.blog-grid {
display:grid; grid-template-columns:repeat(4,1fr);
gap:24px; max-width:1300px; margin:0 auto;
}
.blog-card {
position:relative; border-radius:12px; overflow:hidden;
min-height:300px; display:flex; align-items:flex-end;
transition:var(--trans); box-shadow:0 10px 30px rgba(0,0,0,0.15);
background:transparent !important;
}
/* Facebook Gradient - Blue */
.blog-card.blog-fb {
background: linear-gradient(145deg, #1877F2 0%, #0a3d8f 100%) !important;
}
/* YouTube Gradient - Red */
.blog-card.blog-yt {
background: linear-gradient(145deg, #FF0000 0%, #7a0000 100%) !important;
}
/* Instagram Gradient - Pink/Orange/Purple */
.blog-card.blog-insta {
background: linear-gradient(145deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}
/* WhatsApp Gradient - Green */
.blog-card.blog-wa {
background: linear-gradient(145deg, #25D366 0%, #128C7E 100%) !important;
}

.blog-overlay-grad {
position:absolute; inset:0;
background:linear-gradient(to top,rgba(13,2,8,.95) 0%,rgba(13,2,8,.6) 50%,transparent 100%);
transition:background .4s;
}
.blog-card:hover .blog-overlay-grad {
background:linear-gradient(to top,rgba(13,2,8,.98) 0%,rgba(13,2,8,.8) 60%,rgba(13,2,8,.3) 100%);
}
.blog-profile-pic {
position:absolute; top:16px; left:50%; transform:translateX(-50%);
width:48px; height:48px; border-radius:50%;
background:rgba(13,2,8,.85); backdrop-filter:blur(8px);
border:2px solid var(--gold,#C9922A);
display:flex; align-items:center; justify-content:center;
z-index:3; color:var(--gold,#C9922A); font-size:20px;
box-shadow:0 8px 16px rgba(0,0,0,0.3);
transition:transform 0.3s ease, background 0.3s ease;
}
.blog-card:hover .blog-profile-pic {
transform:translateX(-50%) scale(1.1);
background:var(--gold,#C9922A);
color:var(--gold,#C9922A);
text-shadow:0 1px 2px rgba(13,2,8,0.3);
}
.blog-card-content { position:relative; z-index:2; padding:28px 24px 24px; text-align:center; width:100%; }
.blog-platform {
display:inline-block;
font-family:var(--f-sans); font-size:9px; font-weight:700;
letter-spacing:2px; text-transform:uppercase;
color:var(--dark,#0D0208); background:var(--gold,#C9922A);
padding:4px 12px; border-radius:4px; margin-bottom:12px;
}
.blog-title {
font-family:var(--f-serif); font-size:1rem;
line-height:1.65; color:var(--cream,#FDF8F0); margin-bottom:16px; font-weight:500;
}
.blog-arrow-btn {
width:38px; height:38px;
border:1px solid rgba(201,146,42,.5); border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:var(--gold); font-size:13px; transition:var(--trans);
margin:0 auto; background:transparent;
}
.blog-card:hover .blog-arrow-btn { background:var(--gold); color:var(--dark); border-color:var(--gold); }
@media (max-width:1100px) { .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:650px) { .blog-grid { grid-template-columns:1fr; } .blog-card { min-height:260px; } }

/* ================================================
   6-STEP HEALING JOURNEY
   ================================================ */
.bbm-steps-6 {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
gap: 24px;
max-width: 1200px;
margin: 0 auto;
}
.bbm-steps-6 .bbm-step {
text-align: left;
background: rgba(255,255,255,0.04);
padding: 24px;
border-radius: 8px;
border: 1px solid rgba(201,146,42,0.15);
flex: 1 1 calc(33.333% - 24px);
max-width: calc(33.333% - 16px);
box-sizing: border-box;
transition: all 0.3s ease;
}
.bbm-steps-6 .bbm-step:hover {
transform: translateY(-5px);
border-color: rgba(201,146,42,0.4);
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.bbm-steps-6 .step-header {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 12px;
}
.bbm-steps-6 .step-num {
width: 48px;
height: 48px;
background: linear-gradient(135deg, var(--garnet), var(--garnet-light));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--f-head);
font-size: 0.85rem;
color: var(--gold);
margin: 0;
flex-shrink: 0;
border: 1px solid rgba(201,146,42,0.3);
}
.bbm-steps-6 .step-label {
font-family: var(--f-head);
font-size: 1rem;
color: var(--gold);
margin: 0;
}
.bbm-steps-6 .step-desc {
font-family: var(--f-serif);
font-size: 0.95rem;
color: rgba(253,248,240,0.6);
line-height: 1.65;
margin-bottom: 8px;
}
.bbm-steps-6 .step-full-content {
display: none;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid rgba(201,146,42,0.15);
font-family: var(--f-serif);
font-size: 0.9rem;
line-height: 1.7;
color: rgba(253,248,240,0.55);
}
.bbm-steps-6 .step-full-content.show { display:block; animation:fadeInUp 0.4s ease; }
.bbm-steps-6 .read-more-btn {
background: none;
border: none;
color: var(--gold);
font-family: var(--f-sans);
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
cursor: pointer;
margin-top: 8px;
display: inline-flex;
align-items: center;
gap: 6px;
padding: 0;
transition: all 0.3s;
}
.bbm-steps-6 .read-more-btn:hover { gap:10px; color:var(--gold-light); }
.bbm-steps-6 .read-more-btn i { transition:transform 0.3s; font-size:9px; }
.bbm-steps-6 .read-more-btn.active i { transform:rotate(180deg); }
@media (max-width:1024px) {
.bbm-steps-6 .bbm-step { flex:1 1 calc(50% - 24px); max-width:calc(50% - 12px); }
}
@media (max-width:768px) {
.bbm-steps-6 { flex-direction:column; gap:20px; }
.bbm-steps-6 .bbm-step { flex:1 1 100%; max-width:100%; }
}

/* ================================================
   BBM SCIENCE SECTION
   ================================================ */
.bbm-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.bbm-section::before {
content:''; position:absolute; inset:0; pointer-events:none;
background:
radial-gradient(circle at 15% 40%,rgba(107,31,58,.35) 0%,transparent 55%),
radial-gradient(circle at 85% 60%,rgba(26,92,90,.2) 0%,transparent 55%);
}
.bbm-pillars {
display:grid; grid-template-columns:repeat(3,1fr);
gap:22px; max-width:1200px; margin:0 auto 60px;
position:relative; z-index:1;
}
.bbm-card {
background:rgba(255,255,255,.06);
backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
border:1px solid rgba(201,146,42,.22);
border-radius:4px; padding:42px 30px;
transition:var(--trans); position:relative;
}
.bbm-card:hover { background:rgba(255,255,255,.1); transform:translateY(-6px); box-shadow:0 24px 55px rgba(13,2,8,.45); }
.bbm-card-center { border-color:rgba(201,146,42,.55); background:rgba(201,146,42,.07); transform:translateY(-12px); }
.bbm-card-center:hover { transform:translateY(-18px); }
.bbm-icon {
width:56px; height:56px;
background:linear-gradient(135deg,var(--garnet),var(--garnet-light));
border-radius:50%; display:flex; align-items:center; justify-content:center;
color:var(--gold); font-size:22px; margin-bottom:20px;
transition:var(--trans);
}
.bbm-card-center .bbm-icon { background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:var(--dark); }
.bbm-card:hover .bbm-icon { transform:scale(1.12) rotate(6deg); }
.bbm-title { font-family:var(--f-head); font-size:1.5rem; color:var(--cream); margin-bottom:12px; }
.bbm-card-content { display:flex; flex-direction:column; }
.bbm-text-wrap {
max-height:150px;
overflow:hidden;
position:relative;
transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1);
}
.bbm-text-wrap.expanded { max-height:800px; }
.bbm-text-wrap::after {
content:'';
position:absolute; bottom:0; left:0;
width:100%; height:70px;
background:linear-gradient(to bottom,transparent,var(--dark,#0D0208));
pointer-events:none;
transition:opacity 0.3s ease;
}
.bbm-text-wrap.expanded::after { opacity:0; }
.bbm-desc { font-family:var(--f-serif); font-size:1rem; line-height:1.82; color:rgba(253,248,240,.68); margin-bottom:20px; }
.bbm-read-more-btn {
background:transparent;
border:1px solid rgba(201,146,42,0.5);
color:var(--gold);
padding:8px 20px;
border-radius:30px;
cursor:pointer;
margin-top:16px;
font-family:var(--f-sans);
font-size:10px;
letter-spacing:2px;
text-transform:uppercase;
transition:all 0.3s ease;
align-self:center;
display:inline-flex;
align-items:center;
gap:6px;
}
.bbm-read-more-btn:hover { background:var(--gold); color:var(--dark); border-color:var(--gold); }
.bbm-read-more-btn i { transition:transform 0.3s ease; font-size:9px; }
.bbm-read-more-btn.active i { transform:rotate(180deg); }
.bbm-process {
max-width:1100px; margin:0 auto;
background:rgba(255,255,255,.04);
border:1px solid rgba(201,146,42,.15);
border-radius:4px; padding:44px;
position:relative; z-index:1;
}
.bbm-process-title { font-family:var(--f-head); font-size:1.3rem; color:var(--gold); text-align:center; margin-bottom:40px; }

/* ================================================
   HISTORY TIMELINE
   ================================================ */
.history-section {
padding:120px 6%;
background:var(--cream); position:relative; overflow:hidden;
}
.history-section::before {
content:''; position:absolute; inset:0; pointer-events:none;
background:radial-gradient(circle at 50% 50%,rgba(107,31,58,.04) 0%,transparent 70%);
}
.timeline {
position:relative; max-width:860px; margin:0 auto;
padding:20px 0;
}
.timeline::before {
content:''; position:absolute; left:50%; top:0; bottom:0;
width:1px; transform:translateX(-50%);
background:linear-gradient(to bottom, transparent, var(--gold) 10%, var(--gold) 90%, transparent);
}
.tl-item {
display:flex; align-items:flex-start;
margin-bottom:48px; position:relative;
}
.tl-item.tl-left { flex-direction:row; }
.tl-item.tl-right { flex-direction:row; }
.tl-item.tl-left .tl-content { text-align:right; }
.tl-item.tl-right .tl-content { text-align:left; }
.tl-content {
width:calc(50% - 36px);
background:white;
border:1px solid rgba(201,146,42,.18);
border-radius:3px; padding:24px 26px;
box-shadow:0 4px 20px rgba(107,31,58,.07);
transition:var(--trans);
}
.tl-content:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(107,31,58,.12); }
.tl-spacer { width:calc(50% - 36px); }
.tl-dot {
width:16px; height:16px; flex-shrink:0;
background:var(--garnet); border:3px solid var(--gold);
border-radius:50%; margin:18px 20px 0;
position:relative; z-index:1;
}
.tl-year {
font-family:var(--f-head); font-size:.85rem;
color:var(--gold); letter-spacing:2px; margin-bottom:6px;
}
.tl-title { font-family:var(--f-head); font-size:1rem; color:var(--garnet); margin-bottom:8px; }
.tl-desc { font-family:var(--f-serif); font-size:.96rem; line-height:1.78; color:var(--text-muted); }
@media (max-width:768px) {
.timeline { padding:0 20px !important; max-width:100% !important; position:relative; }
.timeline::before { left:8px !important; }
.tl-item { flex-direction:column !important; align-items:flex-start !important; margin-bottom:24px !important; position:relative !important; padding-left:24px !important; }
.tl-item.tl-left, .tl-item.tl-right { flex-direction:column !important; align-items:flex-start !important; }
.tl-content { width:100% !important; max-width:100% !important; padding:16px 14px !important; text-align:left !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important; }
.tl-content .tl-year { font-size:1.3rem !important; margin-bottom:6px !important; }
.tl-content .tl-title { font-size:1.05rem !important; line-height:1.4 !important; margin-bottom:8px !important; }
.tl-content .tl-desc { font-size:0.92rem !important; line-height:1.65 !important; }
.tl-dot { position:absolute !important; left:0 !important; top:20px !important; width:12px !important; height:12px !important; margin-left:0 !important; }
.tl-spacer { display:none !important; }
.history-section { padding:50px 4% !important; }
.history-section .section-title { font-size:1.7rem !important; }
.history-section .section-desc { font-size:0.92rem !important; line-height:1.65 !important; padding:0 8px !important; }
}
@media (max-width:480px) {
.timeline { padding:0 16px !important; }
.tl-item { padding-left:20px !important; margin-bottom:20px !important; }
.tl-content { padding:14px 12px !important; }
.tl-content .tl-year { font-size:1.15rem !important; }
.tl-content .tl-title { font-size:0.95rem !important; }
.tl-content .tl-desc { font-size:0.88rem !important; line-height:1.6 !important; }
.tl-dot { width:10px !important; height:10px !important; top:18px !important; }
}

/* ================================================
   TEAM SECTION
   ================================================ */
.team-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.team-section::before {
content:''; position:absolute; inset:0; pointer-events:none;
background:radial-gradient(circle at 50% 30%,rgba(107,31,58,.3) 0%,transparent 60%);
}
.team-leaders {
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:30px;
max-width:1100px;
margin:0 auto;
}
.team-card {
background:linear-gradient(160deg, rgba(107,31,58,0.22) 0%, rgba(13,2,8,0.55) 100%);
border:1px solid rgba(201,146,42,0.18);
border-radius:16px;
padding:0;
overflow:hidden;
position:relative;
transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
backdrop-filter:blur(8px);
}
.team-card:hover {
transform:translateY(-6px);
border-color:rgba(201,146,42,0.4);
box-shadow:0 20px 50px rgba(107,31,58,0.25), 0 0 0 1px rgba(201,146,42,0.1);
}
.team-card-accent {
position:absolute;
top:0; left:0; right:0;
height:3px;
background:linear-gradient(90deg, transparent, var(--gold), transparent);
opacity:0.7;
transition:opacity 0.3s ease;
}
.team-card:hover .team-card-accent { opacity:1; }
.team-card-inner { padding:32px 28px 20px; text-align:center; position:relative; z-index:1; }
.team-avatar-wrap {
width:120px; height:120px; margin:0 auto 18px;
position:relative; display:flex; align-items:center; justify-content:center;
}
.team-img {
width:110px; height:110px; border-radius:50%;
object-fit:cover; position:relative; z-index:2;
border:2px solid rgba(201,146,42,0.35);
transition:all 0.4s ease;
}
.team-card:hover .team-img { transform:scale(1.05); border-color:rgba(201,146,42,0.6); }
.team-avatar-ring {
position:absolute; inset:0; border-radius:50%;
border:1px solid rgba(201,146,42,0.12);
transition:all 0.4s ease;
}
.team-card:hover .team-avatar-ring { inset:-5px; border-color:rgba(201,146,42,0.25); }
.team-avatar-glow {
position:absolute; inset:-8px; border-radius:50%;
background:radial-gradient(circle, rgba(201,146,42,0.08), transparent 70%);
opacity:0; transition:opacity 0.4s ease;
}
.team-card:hover .team-avatar-glow { opacity:1; }
.team-name {
font-family:var(--f-head);
font-size:1.15rem;
color:var(--cream);
margin-bottom:6px;
letter-spacing:1px;
font-weight:500;
}
.team-role-badge {
font-family:var(--f-sans);
font-size:9px;
letter-spacing:2px;
text-transform:uppercase;
color:var(--gold);
margin-bottom:16px;
display:inline-block;
padding:4px 14px;
border:1px solid rgba(201,146,42,0.25);
border-radius:20px;
background:rgba(201,146,42,0.06);
}
.team-divider {
width:40px;
height:1px;
background:linear-gradient(90deg, transparent, rgba(201,146,42,0.4), transparent);
margin:0 auto 16px;
}
.team-card .team-bio {
font-family:var(--f-serif);
font-size:0.92rem;
line-height:1.7;
color:rgba(253,248,240,0.7);
margin:0;
}
.team-bio-wrap {
padding:0 28px 20px;
border-top:1px solid rgba(201,146,42,0.08);
margin-top:0;
position:relative;
}
.team-card .read-more-testi {
margin-top:0;
padding:12px 0;
width:100%;
text-align:center;
border-top:1px solid rgba(201,146,42,0.08);
}
.team-bio-full {
display:none;
margin-top:12px;
padding-top:12px;
border-top:1px solid rgba(201,146,42,0.15);
animation:fadeInUp 0.4s ease;
}
.team-bio-full.show { display:block; }
.team-meta-tags {
margin-top:18px;
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
}
.team-tag {
font-family:var(--f-sans);
font-size:8.5px;
letter-spacing:1.5px;
text-transform:uppercase;
color:rgba(253,248,240,0.4);
padding:3px 10px;
border-radius:12px;
background:rgba(255,255,255,0.04);
border:1px solid rgba(201,146,42,0.1);
}
.team-group-wrap {
margin-top:60px;
position:relative;
cursor:pointer;
border-radius:4px;
overflow:hidden;
}
.team-group-wrap .team-group-img {
width:100%;
display:block;
transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.team-group-overlay {
position:absolute; inset:0;
background:linear-gradient(to top,rgba(13,2,8,.95) 0%,rgba(13,2,8,.5) 50%,transparent 100%);
display:flex; flex-direction:column; justify-content:flex-end;
padding:44px;
}
.tg-title { font-family:var(--f-head); font-size:1.6rem; color:var(--cream); margin-bottom:10px; }
.tg-desc { font-family:var(--f-serif); font-size:1.05rem; color:rgba(253,248,240,.75); max-width:500px; }
.team-group-wrap::after {
content:'\f00e';
font-family:'Font Awesome 6 Free';
font-weight:900;
position:absolute; top:50%; left:50%;
transform:translate(-50%,-50%) scale(0.8);
width:50px; height:50px;
background:rgba(13,2,8,0.6); backdrop-filter:blur(8px);
border:1px solid rgba(201,146,42,0.4);
border-radius:50%;
color:var(--gold,#C9922A);
font-size:18px;
display:flex; align-items:center; justify-content:center;
opacity:0; transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
pointer-events:none; z-index:5;
}
.team-group-wrap:hover::after { opacity:1; transform:translate(-50%,-50%) scale(1); }
.team-group-wrap:hover .team-group-img { transform:scale(1.03); }
.team-lightbox {
position:fixed; inset:0;
background:rgba(13,2,8,0.92);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
z-index:100000;
display:flex; align-items:center; justify-content:center;
opacity:0; visibility:hidden;
transition:all 0.4s ease;
padding:40px;
}
.team-lightbox.open { opacity:1; visibility:visible; }
.team-lightbox-content {
position:relative;
max-width:90vw;
max-height:85vh;
transform:scale(0.92);
transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.team-lightbox.open .team-lightbox-content { transform:scale(1); }
.team-lightbox-img {
max-width:100%;
max-height:85vh;
object-fit:contain;
border-radius:8px;
box-shadow:0 30px 60px rgba(0,0,0,0.5);
border:1px solid rgba(201,146,42,0.2);
}
.team-lightbox-close {
position:absolute; top:-50px; right:0;
width:40px; height:40px;
background:var(--gold,#C9922A);
border:none; border-radius:50%;
color:var(--dark,#0D0208);
font-size:16px;
cursor:pointer;
transition:all 0.3s ease;
display:flex; align-items:center; justify-content:center;
z-index:10;
}
.team-lightbox-close:hover { transform:rotate(90deg) scale(1.1); background:var(--gold-light,#E8B84B); }
.team-lightbox-caption {
text-align:center; margin-top:16px;
font-family:var(--f-head); color:var(--cream,#FDF8F0);
font-size:0.95rem; letter-spacing:2px;
}
@media (min-width:1024px) {
.team-leaders { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:30px !important; max-width:1100px !important; margin:0 auto !important; }
.team-card { max-width:100% !important; width:100% !important; }
}
@media (min-width:768px) and (max-width:1023px) {
.team-leaders { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:24px !important; }
}
@media (max-width:767px) {
.team-leaders { display:flex !important; flex-direction:column !important; gap:24px !important; }
.team-group-overlay { position:absolute; bottom:0; left:0; right:0; top:auto; height:auto; padding:12px 16px; background:linear-gradient(to top, rgba(13,2,8,0.85), transparent); display:flex; align-items:flex-end; justify-content:center; }
.team-group-wrap .tg-title { font-size:0.9rem; letter-spacing:1.5px; margin:0; }
.team-lightbox { padding:20px; }
.team-lightbox-close { top:-45px; right:-5px; width:36px; height:36px; }
.team-lightbox-caption { font-size:0.8rem; }
}

/* ================================================
   TEAM MEMBERS LIST
   ================================================ */
.team-members-list-section { background:var(--dark); padding:60px 5%; }
.team-members-grid {
display:grid;
grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
gap:20px;
}
.team-member-item {
background:rgba(255,255,255,0.04);
border:1px solid rgba(201,146,42,0.15);
border-radius:8px;
padding:20px 24px;
transition:all 0.3s ease;
}
.team-member-item:hover {
background:rgba(255,255,255,0.07);
border-color:rgba(201,146,42,0.35);
transform:translateY(-3px);
box-shadow:0 8px 25px rgba(0,0,0,0.2);
}
.team-member-avatar {
width:44px; height:44px;
border-radius:50%;
background:linear-gradient(135deg, var(--garnet), var(--garnet-light));
display:flex; align-items:center; justify-content:center;
color:var(--gold);
font-family:var(--f-head); font-size:0.85rem;
flex-shrink:0;
}
.team-member-name {
font-family:var(--f-head);
font-size:1rem;
color:var(--cream);
margin-bottom:3px;
}
.team-member-role {
font-family:var(--f-sans);
font-size:10px;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--gold);
}
@media (max-width:768px) {
.team-members-grid { grid-template-columns:1fr; gap:14px; }
.team-member-item { padding:16px 18px; }
}
@media (max-width:480px) {
.team-member-item { padding:14px 16px; }
.team-member-avatar { width:38px; height:38px; font-size:0.75rem; }
.team-member-name { font-size:0.95rem; }
}

/* ================================================
   PROGRAMS CONDUCTED
   ================================================ */
.programs-section {
padding:120px 6%;
background:var(--parchment); position:relative;
}
.programs-grid {
display:grid; grid-template-columns:repeat(3,1fr);
gap:18px; max-width:1200px; margin:0 auto;
}
.prog-card {
position:relative; border-radius:4px; overflow:hidden;
min-height:240px; display:flex; align-items:flex-end;
background-size:cover; background-position:center;
transition:var(--trans); cursor:default;
}
.prog-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(13,2,8,.3); }
.prog-card:hover .prog-overlay { opacity:.85; }
.prog-overlay {
position:absolute; inset:0;
background:linear-gradient(to top,rgba(13,2,8,.92) 0%,rgba(13,2,8,.5) 60%,transparent 100%);
transition:opacity .4s;
}
.prog-body { position:relative; z-index:2; padding:22px; }
.prog-year {
font-family:var(--f-sans); font-size:10px; letter-spacing:3px; text-transform:uppercase;
color:var(--gold); display:block; margin-bottom:6px;
}
.prog-title { font-family:var(--f-head); font-size:1.05rem; color:var(--cream); margin-bottom:8px; }
.prog-meta { font-family:var(--f-sans); font-size:11px; color:rgba(253,248,240,.6); }
.prog-meta i { color:var(--gold); margin-right:4px; }

/* ================================================
   CHARITY SECTION
   ================================================ */
.charity-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.charity-section::before {
content:''; position:absolute; top:-150px; right:-150px;
width:500px; height:500px; pointer-events:none;
background:radial-gradient(circle,rgba(26,92,90,.25) 0%,transparent 70%);
}
.charity-grid {
display:grid; grid-template-columns:1fr 1fr;
gap:80px; align-items:center;
max-width:1200px; margin:0 auto;
position:relative; z-index:1;
}
.charity-img { width:100%; border-radius:4px; box-shadow:0 30px 80px rgba(13,2,8,.6); }
.charity-act {
font-family:var(--f-serif); font-size:1rem; line-height:1.7;
color:rgba(253,248,240,.72);
display:flex; align-items:center; gap:12px;
}
.charity-act i { color:var(--gold); width:16px; flex-shrink:0; }

/* ================================================
   EDUCATIONAL TRUST SECTION
   ================================================ */
.trust-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.trust-section::before {
content:''; position:absolute; bottom:-200px; left:-150px;
width:600px; height:600px; pointer-events:none;
background:radial-gradient(circle,rgba(107,31,58,.3) 0%,transparent 70%);
}
.vm-grid {
display:grid; grid-template-columns:1fr 1fr;
gap:26px; max-width:1100px; margin:0 auto 80px;
position:relative; z-index:1;
}
.vision-box, .mission-box {
border:1px solid rgba(201,146,42,.25);
border-radius:4px; padding:44px 40px;
transition:var(--trans);
}
.vision-box { background:rgba(201,146,42,.06); }
.mission-box { background:rgba(26,92,90,.08); }
.vision-box:hover, .mission-box:hover { transform:translateY(-4px); border-color:rgba(201,146,42,.5); }
.vm-icon {
width:50px; height:50px;
border:1px solid rgba(201,146,42,.35); border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:var(--gold); font-size:20px; margin-bottom:20px;
}
.vm-title { font-family:var(--f-head); font-size:1.3rem; color:var(--cream); margin-bottom:16px; }
.vm-text { font-family:var(--f-serif); font-style:italic; font-size:1.05rem; line-height:1.9; color:rgba(253,248,240,.75); }
.mission-list { list-style:none; display:flex; flex-direction:column; gap:14px; }
.mission-list li { font-family:var(--f-serif); font-size:1rem; line-height:1.7; color:rgba(253,248,240,.72); display:flex; align-items:flex-start; gap:12px; }
.mission-list li i { color:var(--gold); font-size:8px; margin-top:6px; flex-shrink:0; }
.trustees-heading {
font-family:var(--f-head); font-size:1.4rem; color:var(--cream);
text-align:center; margin-bottom:40px;
position:relative; z-index:1;
}
.trustees-heading::after { content:''; display:block; width:56px; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:14px auto 0; }
.trustees-grid {
display:grid; grid-template-columns:repeat(5,1fr);
gap:20px; max-width:1100px; margin:0 auto 70px;
position:relative; z-index:1;
}
.trustee-card { text-align:center; transition:var(--trans); }
.trustee-card:hover { transform:translateY(-6px); }
.trustee-avatar {
width:100px; height:100px; border-radius:50%;
margin:0 auto 14px; overflow:hidden;
border:2px solid rgba(201,146,42,.35);
transition:var(--trans);
}
.trustee-avatar img { width:100%; height:100%; object-fit:cover; }
.trustee-card:hover .trustee-avatar { border-color:var(--gold); }
.trustee-name { font-family:var(--f-head); font-size:.88rem; color:var(--cream); margin-bottom:4px; }
.trustee-title { font-family:var(--f-sans); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:8px; }
.trust-img-wrap { max-width:900px; margin:0 auto; position:relative; z-index:1; border-radius:4px; overflow:hidden; }
.trust-img { width:100%; display:block; }

/* ================================================
   CONTACT SECTION
   ================================================ */
.contact-section {
padding:120px 6%;
background:var(--dark); position:relative; overflow:hidden;
}
.contact-section::before {
content:''; position:absolute; bottom:-200px; left:-150px;
width:600px; height:600px; pointer-events:none;
background:radial-gradient(circle,rgba(26,92,90,.22) 0%,transparent 70%);
}
.contact-section::after {
content:''; position:absolute; top:-150px; right:-150px;
width:500px; height:500px; pointer-events:none;
background:radial-gradient(circle,rgba(107,31,58,.3) 0%,transparent 70%);
}
.contact-grid {
display:grid; grid-template-columns:1.2fr .8fr;
gap:80px; align-items:start;
max-width:1100px; margin:0 auto;
position:relative; z-index:1;
}
.contact-field { margin-bottom:18px; }
.c-input, .c-textarea {
width:100%;
background:rgba(255,255,255,.05);
border:1px solid rgba(201,146,42,.2);
border-radius:2px; padding:14px 18px;
color:var(--cream);
font-family:var(--f-serif); font-size:1rem;
outline:none; transition:var(--trans);
}
.c-input::placeholder, .c-textarea::placeholder { color:rgba(253,248,240,.28); }
.c-input:focus, .c-textarea:focus { border-color:var(--gold); background:rgba(201,146,42,.05); }
.c-textarea { height:120px; resize:none; }
.contact-info-list { margin-top:10px; }
.c-info-item {
display:flex; align-items:flex-start; gap:18px; margin-bottom:30px;
transition:all 0.3s ease;
border-radius:8px;
padding:8px 12px;
margin:-8px -12px;
text-decoration:none; color:inherit; cursor:pointer;
}
.c-info-item:hover { background:rgba(201,146,42,0.1); }
.c-info-item:hover .c-info-icon { background:var(--gold) !important; color:var(--dark) !important; transform:scale(1.05); }
.c-info-item:hover .c-info-val { color:var(--gold); }
.c-info-icon {
width:44px; height:44px; flex-shrink:0;
border:1px solid rgba(201,146,42,.3); border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:var(--gold); font-size:16px; transition:var(--trans);
}
.c-info-label { font-family:var(--f-sans); font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:rgba(253,248,240,.38); margin-bottom:4px; }
.c-info-val { font-family:var(--f-serif); font-size:1.02rem; color:var(--cream); }
.contact-lotus-deco { width:160px; margin:0 auto 32px; opacity:.12; animation:rotateSlow 90s linear infinite; color:var(--gold); }
.contact-lotus-deco svg { width:100%; height:100%; }

/* ================================================
   FOOTER
   ================================================ */
.footer {
background:#060004;
padding:80px 6% 40px;
position:relative;
}
.footer::before {
content:''; position:absolute; top:0; left:8%; right:8%; height:1px;
background:linear-gradient(90deg,transparent,rgba(201,146,42,.4),transparent);
}
.footer-grid {
display:grid; grid-template-columns:1.5fr 1fr 1fr;
gap:60px; max-width:1100px; margin:0 auto 60px;
}
.footer-logo {
display:flex; align-items:center; gap:12px;
font-family:var(--f-head); font-size:16px;
color:var(--cream); letter-spacing:3px; margin-bottom:18px;
}
.footer-tag {
font-family:var(--f-serif); font-size:.92rem; line-height:1.9;
color:rgba(253,248,240,.4); max-width:270px; margin-bottom:26px;
}
.footer-socials { display:flex; gap:12px; }
.footer-socials a {
width:37px; height:37px;
border:1px solid rgba(201,146,42,.22); border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:rgba(253,248,240,.45); font-size:13px; transition:var(--trans);
}
.footer-socials a:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-3px); }
.footer-col-title {
font-family:var(--f-head); font-size:.82rem;
color:var(--cream); letter-spacing:2px; margin-bottom:22px;
}
.footer-list { display:flex; flex-direction:column; gap:11px; }
.footer-list a {
font-family:var(--f-serif); font-size:.93rem;
color:rgba(253,248,240,.4); transition:var(--trans);
display:flex; align-items:center; gap:0;
}
.footer-list a:hover { color:var(--gold); padding-left:8px; }
.footer-bottom {
border-top:1px solid rgba(201,146,42,.1); padding-top:26px;
display:flex; align-items:center; justify-content:space-between;
max-width:1100px; margin:0 auto;
}
.footer-copy {
font-family:var(--f-sans); font-size:12px;
color:rgba(253,248,240,.28); letter-spacing:1px;
}

/* ================================================
   AYURVEDA MODALS
   ================================================ */
.ayur-overlay {
position:fixed; inset:0;
background:rgba(13,2,8,.88);
backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
z-index:9996;
display:flex; align-items:center; justify-content:center;
opacity:0; visibility:hidden;
transition:opacity .35s ease, visibility .35s ease;
}
.ayur-overlay.open { opacity:1; visibility:visible; }
.ayur-box {
background:var(--parchment);
border:1px solid rgba(201,146,42,.4);
border-radius:4px; padding:48px 44px;
max-width:640px; width:92%; max-height:80vh; overflow-y:auto;
position:relative;
transform:translateY(24px) scale(0.97);
transition:transform .35s var(--ease);
scrollbar-width:thin; scrollbar-color: var(--gold) var(--parchment);
}
.ayur-overlay.open .ayur-box { transform:translateY(0) scale(1); }
.ayur-close {
position:absolute; top:18px; right:18px;
width:36px; height:36px;
border:1px solid rgba(201,146,42,.4); border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:var(--garnet); font-size:14px;
cursor:none; transition:var(--trans); background:none;
}
.ayur-close:hover { background:var(--garnet); color:var(--cream); border-color:var(--garnet); }
.ayur-modal-eyebrow { font-family:var(--f-sans); font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.ayur-modal-title { font-family:var(--f-head); font-size:1.8rem; color:var(--garnet); margin-bottom:4px; }
.ayur-modal-subtitle { font-family:var(--f-serif); font-style:italic; font-size:1.05rem; color:var(--text-muted); margin-bottom:24px; }
.ayur-modal-divider { height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:24px; }
.ayur-modal-section-label { font-family:var(--f-sans); font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--garnet); margin:20px 0 8px; }
.ayur-modal-text { font-family:var(--f-serif); font-size:1.05rem; line-height:1.85; color:var(--text-dark); margin-bottom:14px; }
.ayur-modal-list { padding-left:0; list-style:none; margin-bottom:16px; }
.ayur-modal-list li { font-family:var(--f-serif); font-size:1rem; line-height:1.8; color:var(--text-muted); display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; }
.ayur-modal-list li::before { content:'✦'; color:var(--gold); font-size:10px; margin-top:5px; flex-shrink:0; }
.ayur-modal-meta { display:flex; gap:24px; flex-wrap:wrap; margin:20px 0; }
.ameta-item { display:flex; align-items:center; gap:8px; }
.ameta-icon { width:34px; height:34px; border-radius:50%; background:rgba(107,31,58,.1); display:flex; align-items:center; justify-content:center; color:var(--garnet); font-size:13px; }
.ameta-label { font-family:var(--f-sans); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
.ameta-val { font-family:var(--f-head); font-size:.88rem; color:var(--text-dark); }

/* ================================================
   RESPONSIVE OVERRIDES
   ================================================ */
@media (max-width:1100px) {
.about-grid { grid-template-columns:1fr; gap:50px; }
.about-img-wrap { max-width:420px; margin:0 auto; }
.spec-layout { grid-template-columns:1fr; }
.spec-col { flex-direction:row; flex-wrap:wrap; }
.treatment-card { flex:1 1 200px; }
.spec-center { max-width:480px; margin:0 auto; }
.contact-grid { grid-template-columns:1fr; gap:50px; }
.bbm-pillars { grid-template-columns:1fr; }
.bbm-card-center { transform:none; }
.programs-grid { grid-template-columns:repeat(2,1fr); }
.charity-grid { grid-template-columns:1fr; gap:50px; }
.trustees-grid { grid-template-columns:repeat(3,1fr); }
.vm-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
.stats-grid { grid-template-columns:repeat(2,1fr); }
.stat-item:nth-child(2)::after { display:none; }
.blog-grid { grid-template-columns:1fr; }
.footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:768px) {
.hero-title { font-size:2.6rem; }
.hero-typed-line { font-size:1.9rem; }
.hero-ctas { flex-direction:column; width:100%; }
.btn-gold, .btn-ghost { width:100%; justify-content:center; }
.packages-grid { grid-template-columns:1fr; }
.footer-grid { grid-template-columns:1fr; }
.footer-bottom { flex-direction:column; gap:14px; text-align:center; }
body { cursor:auto; }
.cursor-dot, .cursor-ring { display:none; }
.spec-col { flex-direction:column; }
.programs-grid { grid-template-columns:1fr; }
.trustees-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px) {
.hero-title { font-size:2.1rem; }
.testi-card { padding:36px 24px; }
.about-stats-row { grid-template-columns:1fr 1fr; }
.stat-item::after { display:none !important; }
}

/* ================================================
   CRISP CHAT VISIBILITY FIX
   ================================================ */
.crisp-client,
#crisp-chatbox,
[class*="crisp"],
[data-crisp-chat],
[data-crisp-chatbox] {
z-index: 2147483647 !important;
}
.crisp-1r, .crisp-1, .crisp-2, .crisp-3, .crisp-4, .crisp-5,
.crisp-6, .crisp-7, .crisp-8, .crisp-9, .crisp-10,
[id*="crisp"], [class*="crisp-"] {
z-index: 2147483647 !important;
position: fixed !important;
}
iframe[src*="crisp.chat"], iframe[src*="client.crisp"] {
z-index: 2147483647 !important;
position: fixed !important;
visibility: visible !important;
opacity: 1 !important;
}

/* ================================================
   MOBILE MENU SCROLL LOCK
   ================================================ */
body.menu-open {
overflow: hidden;
position: fixed;
width: 100%;
height: 100%;
}
@supports (-webkit-touch-callout: none) {
.mobile-menu { -webkit-overflow-scrolling: touch; }
}

/* ================================================
   SCROLL STORY
   ================================================ */
.scroll-story-wrap {
height:700vh; position:relative;
}
.scroll-story-pin {
position:sticky; top:0; height:100vh; overflow:hidden;
background:var(--dark);
}
.ss-frames { position:absolute; inset:0; z-index:0; }
.ss-frame { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; will-change:opacity; }
.ss-frame.ss-kb { animation:sKenBurns 14s ease-in-out forwards; }
@keyframes sKenBurns {
from { transform:scale(1.0) translate(0,0); }
to { transform:scale(1.1) translate(-1.2%,-1%); }
}
.ss-overlay {
position:absolute; inset:0; z-index:1;
background:linear-gradient(108deg, rgba(13,2,8,.85) 0%, rgba(13,2,8,.52) 52%, rgba(13,2,8,.28) 100%), linear-gradient(to top, rgba(13,2,8,.88) 0%, transparent 32%);
}
.ss-section-tag {
position:absolute; top:26px; left:50%; transform:translateX(-50%);
z-index:5; white-space:nowrap;
font-family:var(--f-sans); font-size:10px; letter-spacing:5px;
text-transform:uppercase; color:rgba(201,146,42,.55);
background:rgba(13,2,8,.5); padding:7px 22px;
border:1px solid rgba(201,146,42,.18); border-radius:20px;
backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.ss-chapters {
position:absolute; inset:0; z-index:3;
display:flex; align-items:center; padding:0 9%;
}
.ss-chapter {
position:absolute; left:9%; max-width:580px;
opacity:0; transform:translateY(40px);
transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
pointer-events:none;
}
.ss-chapter.ss-in { opacity:1; transform:translateY(0); pointer-events:auto; }
.ss-chapter.ss-out { opacity:0; transform:translateY(-30px); pointer-events:none; }
.ss-eyebrow { display:block; font-family:var(--f-sans); font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.ss-heading { font-family:var(--f-head); font-size:clamp(2.4rem,5.5vw,5rem); line-height:1.05; color:var(--cream); margin-bottom:18px; }
.ss-body { font-family:var(--f-serif); font-size:1.12rem; line-height:1.9; color:rgba(253,248,240,.74); max-width:450px; margin-bottom:24px; }
.ss-chapter .gold-line { margin:0 0 24px; }
.ss-progress {
position:absolute; right:4.5%; top:50%; transform:translateY(-50%);
z-index:5; display:flex; flex-direction:column; gap:12px;
}
.ss-dot {
width:7px; height:7px; border-radius:50%;
background:rgba(201,146,42,.28);
border:1px solid rgba(201,146,42,.4);
transition:all .4s ease; cursor:none;
}
.ss-dot.ss-dot-active { background:var(--gold); box-shadow:0 0 10px rgba(201,146,42,.6); transform:scale(1.6); }
.ss-counter { position:absolute; bottom:36px; right:5.5%; z-index:5; font-family:var(--f-head); line-height:1; }
.ss-counter-now { font-size:1.7rem; color:var(--gold); }
.ss-counter-total { font-size:.78rem; color:rgba(201,146,42,.38); letter-spacing:2px; }
.ss-bar-wrap { position:absolute; bottom:0; left:0; right:0; height:2px; z-index:5; background:rgba(201,146,42,.1); }
.ss-bar { height:100%; width:0%; background:linear-gradient(90deg,var(--gold),var(--gold-light)); }
.ss-scroll-hint {
position:absolute; bottom:38px; left:50%; transform:translateX(-50%);
z-index:5; text-align:center; transition:opacity .5s ease;
}
.ss-scroll-hint span { display:block; font-family:var(--f-sans); font-size:10px; letter-spacing:4px; text-transform:uppercase; color:rgba(201,146,42,.5); margin-bottom:8px; }
.ss-arrow-icon { color:rgba(201,146,42,.5); font-size:13px; animation:ssChevron 1.7s ease-in-out infinite; }
@keyframes ssChevron { 0%,100%{ transform:translateY(0); opacity:.5; } 50%{ transform:translateY(9px); opacity:1; } }
@media(max-width:900px){ .ss-heading { font-size:2.8rem; } .ss-chapter { left:6%; right:14%; max-width:none; } }
@media(max-width:600px){ .ss-heading { font-size:2rem; } .scroll-story-wrap { height:900vh; } .ss-section-tag { display:none; } .ss-scroll-hint { display:none; } .ss-progress { right:2%; } }

/* End of style.css */