@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Outfit:wght@300;400;500&display=swap');

:root {
  --bg:          #0d0a06;
  --bg2:         #120e08;
  --bg3:         #1a1208;
  --surface:     #1e1608;
  --surface2:    #261c0a;
  --border:      #3a2c10;
  --border2:     #52400f;
  --gold:        #c8922a;
  --gold2:       #e8b84b;
  --gold3:       #f5d680;
  --saffron:     #e8601a;
  --saffron2:    #f07d35;
  --text:        #f0e4c8;
  --text2:       #b89a6a;
  --text3:       #7a6040;
  --font-title:  'Cinzel', serif;
  --font-body:   'Crimson Pro', serif;
  --font-ui:     'Outfit', sans-serif;
  --r:           .5rem;
  --r2:          1rem;
  --t:           .3s ease;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--font-body); font-size:1.05rem; line-height:1.7; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4 { font-family:var(--font-title); line-height:1.2; }
a { color:inherit; text-decoration:none; }
.container { max-width:1180px; margin:0 auto; padding:0 1.5rem; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }

/* ── PAGE TOGGLE ── */
.page { display:none; }
.page.active { display:block; }

/* ── WHATSAPP FLOAT ── */
.wa-float { position:fixed; bottom:26px; right:26px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.4); z-index:9999; transition:var(--t); }
.wa-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.6); }

/* ── NAVBAR ── */
.navbar { position:sticky; top:0; z-index:999; display:flex; align-items:center; justify-content:space-between; padding:.9rem 2.5rem; background:rgba(13,10,6,.95); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.nav-logo { display:flex; align-items:center; gap:.6rem; font-family:var(--font-title); font-size:1.35rem; font-weight:700; color:var(--gold2); cursor:pointer; letter-spacing:.05em; }
.om-symbol { font-size:1.6rem; color:var(--saffron); }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a { font-family:var(--font-ui); font-size:.82rem; text-transform:uppercase; letter-spacing:2px; color:var(--text2); cursor:pointer; transition:var(--t); padding-bottom:3px; border-bottom:2px solid transparent; }
.nav-links a:hover, .nav-links a.active { color:var(--gold2); border-bottom-color:var(--gold); }
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--text); border-radius:2px; transition:var(--t); }
.mobile-menu { display:none; flex-direction:column; background:var(--bg2); border-bottom:1px solid var(--border); padding:1rem 1.5rem; gap:1rem; }
.mobile-menu a { font-family:var(--font-ui); font-size:.9rem; text-transform:uppercase; letter-spacing:2px; color:var(--text2); cursor:pointer; }
.mobile-menu.open { display:flex; }

/* ── BUTTONS ── */
.cta-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.6rem; background:linear-gradient(135deg, var(--saffron), var(--gold)); color:#0d0a06; font-family:var(--font-ui); font-weight:600; font-size:.88rem; letter-spacing:.5px; border:none; border-radius:var(--r); cursor:pointer; transition:var(--t); text-decoration:none; white-space:nowrap; }
.cta-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,96,26,.35); filter:brightness(1.08); }
.outline-btn { display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.6rem; border:1.5px solid var(--gold); color:var(--gold2); background:transparent; font-family:var(--font-ui); font-size:.88rem; letter-spacing:.5px; border-radius:var(--r); cursor:pointer; transition:var(--t); text-decoration:none; white-space:nowrap; }
.outline-btn:hover { background:var(--gold); color:#0d0a06; transform:translateY(-2px); }
.ghost-btn { display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.6rem; border:1.5px solid rgba(248,220,120,.3); color:var(--gold3); background:transparent; font-family:var(--font-ui); font-size:.88rem; letter-spacing:.5px; border-radius:var(--r); cursor:pointer; transition:var(--t); }
.ghost-btn:hover { border-color:var(--gold3); background:rgba(248,220,120,.08); }
.btn-full { width:100%; }

/* ── HERO ── */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.mandala-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 0%, rgba(200,146,42,.15) 0%, transparent 65%), radial-gradient(ellipse at 30% 60%, rgba(232,96,26,.08) 0%, transparent 50%), radial-gradient(ellipse at 70% 80%, rgba(200,146,42,.06) 0%, transparent 50%), var(--bg); }
.mandala-bg::before { content:''; position:absolute; top:50%; left:50%; width:700px; height:700px; transform:translate(-50%,-55%); background: conic-gradient(from 0deg, transparent 0deg 20deg, rgba(200,146,42,.04) 20deg 40deg, transparent 40deg 60deg, rgba(200,146,42,.04) 60deg 80deg, transparent 80deg 100deg, rgba(200,146,42,.04) 100deg 120deg, transparent 120deg 140deg, rgba(200,146,42,.04) 140deg 160deg, transparent 160deg 180deg, rgba(200,146,42,.04) 180deg 200deg, transparent 200deg 220deg, rgba(200,146,42,.04) 220deg 240deg, transparent 240deg 260deg, rgba(200,146,42,.04) 260deg 280deg, transparent 280deg 300deg, rgba(200,146,42,.04) 300deg 320deg, transparent 320deg 340deg, rgba(200,146,42,.04) 340deg 360deg); border-radius:50%; animation:mandala-spin 60s linear infinite; }
@keyframes mandala-spin { to { transform:translate(-50%,-55%) rotate(360deg); } }
.hero-inner { position:relative; z-index:2; max-width:820px; padding:4rem 1.5rem; }
.hero-tag { font-family:var(--font-ui); font-size:.78rem; letter-spacing:3px; text-transform:uppercase; color:var(--saffron2); margin-bottom:1.5rem; }
.hero h1 { font-size:clamp(2.8rem,6vw,5.5rem); font-weight:900; color:var(--text); margin-bottom:1.2rem; letter-spacing:-.01em; }
.hero h1 span { color:var(--gold2); }
.hero p { font-size:1.2rem; color:var(--text2); max-width:600px; margin:0 auto 2.5rem; font-weight:300; }
.hero-btns { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }
.hero-scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); color:var(--text3); font-size:1.5rem; animation:bounce .2s infinite alternate; z-index:2; }
@keyframes bounce { to { transform:translateX(-50%) translateY(6px); } }

/* ── CHAKRA STRIP ── */
.chakra-strip { display:flex; justify-content:center; gap:3rem; padding:1.5rem 1.5rem; background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.chakra-strip span { font-family:var(--font-ui); font-size:.78rem; text-transform:uppercase; letter-spacing:2px; color:var(--text3); }

/* ── SECTIONS ── */
.section { padding:6rem 0; }
.dark-section { background:var(--bg2); }
.section-header { text-align:center; margin-bottom:4rem; }
.section-eyebrow { font-family:var(--font-ui); font-size:.72rem; text-transform:uppercase; letter-spacing:3px; color:var(--saffron); margin-bottom:.6rem; }
.section-header h2 { font-size:clamp(2rem,3.5vw,2.8rem); color:var(--gold2); margin-bottom:.5rem; }
.section-header p { color:var(--text2); }

/* ── TWO COL ── */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.text-col { }
.text-col .section-eyebrow { display:block; margin-bottom:.5rem; }
.text-col h2 { font-size:clamp(1.8rem,3vw,2.5rem); color:var(--gold2); margin-bottom:1.2rem; }
.text-col p { color:var(--text2); margin-bottom:1rem; font-size:1.08rem; }
.text-col .outline-btn, .text-col .cta-btn { margin-top:.5rem; }
.img-col { }
.mandala-frame { border-radius:var(--r2); overflow:hidden; border:1px solid var(--border2); box-shadow:0 0 60px rgba(200,146,42,.1); position:relative; }
.mandala-frame::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(200,146,42,.12) 0%, transparent 60%); z-index:1; pointer-events:none; }
.mandala-frame img { width:100%; display:block; filter:sepia(.2) saturate(.9); }

/* ── SERVICES GRID ── */
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1.5rem; }
.service-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r2); padding:2rem; transition:var(--t); display:flex; flex-direction:column; }
.service-card:hover { border-color:var(--gold); box-shadow:0 8px 32px rgba(200,146,42,.12); transform:translateY(-4px); }
.scard-icon { font-size:2.2rem; margin-bottom:1rem; }
.service-card h3 { font-size:1.3rem; color:var(--gold2); margin-bottom:.5rem; }
.service-card p { color:var(--text2); font-size:1rem; flex:1; margin-bottom:1.2rem; }
.card-link { background:none; border:none; color:var(--saffron2); font-family:var(--font-ui); font-size:.82rem; letter-spacing:1px; cursor:pointer; transition:var(--t); padding:0; text-transform:uppercase; }
.card-link:hover { color:var(--gold2); }
.card-link-anchor { color:var(--saffron2); font-family:var(--font-ui); font-size:.82rem; letter-spacing:1px; text-transform:uppercase; transition:var(--t); }
.card-link-anchor:hover { color:var(--gold2); }

/* ── STATS STRIP ── */
.stats-strip { display:flex; justify-content:center; gap:4rem; padding:4rem 1.5rem; background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.stat { text-align:center; }
.stat-num { display:block; font-family:var(--font-title); font-size:clamp(2.5rem,4vw,3.5rem); color:var(--gold2); font-weight:700; line-height:1; }
.stat-label { display:block; font-family:var(--font-ui); font-size:.75rem; text-transform:uppercase; letter-spacing:2px; color:var(--text3); margin-top:.4rem; }

/* ── TESTIMONIALS ── */
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
.testi-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r2); padding:2rem; position:relative; }
.testi-card::before { content:'"'; font-family:var(--font-title); font-size:5rem; color:var(--border2); position:absolute; top:.5rem; left:1.2rem; line-height:1; }
.testi-stars { color:var(--gold); letter-spacing:3px; margin-bottom:1rem; font-size:1rem; }
.testi-card p { color:var(--text2); font-style:italic; font-size:1.02rem; line-height:1.7; margin-bottom:1.2rem; }
.testi-name { font-family:var(--font-title); font-size:.95rem; color:var(--gold3); }
.testi-loc { font-family:var(--font-ui); font-size:.8rem; color:var(--text3); }

/* ── CTA BANNER ── */
.cta-banner { padding:5rem 1.5rem; background: radial-gradient(ellipse at center, rgba(200,146,42,.12) 0%, transparent 70%), var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); text-align:center; }
.cta-banner-inner { max-width:600px; margin:0 auto; }
.cta-banner-inner h2 { font-size:clamp(1.8rem,3vw,2.8rem); color:var(--gold2); margin:.5rem 0 1rem; }
.cta-banner-inner p { color:var(--text2); margin-bottom:2rem; font-size:1.1rem; }

/* ── PAGE HERO ── */
.page-hero { background: radial-gradient(ellipse at top, rgba(200,146,42,.1) 0%, transparent 60%), var(--bg2); border-bottom:1px solid var(--border); padding:5rem 1.5rem; text-align:center; }
.page-hero-inner { max-width:640px; margin:0 auto; }
.page-hero h1 { font-size:clamp(2rem,4vw,3.2rem); color:var(--gold2); margin-bottom:1rem; }
.page-hero p { color:var(--text2); font-size:1.1rem; }
.breadcrumb { font-family:var(--font-ui); font-size:.78rem; letter-spacing:1px; color:var(--text3); margin-bottom:1rem; }
.breadcrumb a { color:var(--saffron2); cursor:pointer; }

/* ── VALUES ── */
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; }
.value-card { background:var(--surface2); border:1px solid var(--border); border-radius:var(--r2); padding:2rem; text-align:center; transition:var(--t); }
.value-card:hover { border-color:var(--gold); }
.v-icon { font-size:2.2rem; margin-bottom:1rem; }
.value-card h3 { font-size:1.15rem; color:var(--gold2); margin-bottom:.5rem; }
.value-card p { color:var(--text2); font-size:.97rem; }

/* ── PLANS ── */
.plans-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
.plan-card { background:var(--surface2); border:1px solid var(--border); border-radius:var(--r2); padding:2.5rem; display:flex; flex-direction:column; position:relative; transition:var(--t); }
.plan-card.featured { border-color:var(--gold); box-shadow:0 12px 40px rgba(200,146,42,.15); }
.plan-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--saffron),var(--gold)); color:#0d0a06; padding:3px 14px; border-radius:20px; font-family:var(--font-ui); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; white-space:nowrap; }
.plan-icon { font-size:2rem; margin-bottom:1rem; }
.plan-card h3 { font-size:1.5rem; color:var(--gold2); margin-bottom:.5rem; }
.plan-card>p { color:var(--text2); margin-bottom:1.5rem; font-size:.97rem; }
.plan-card ul { list-style:none; margin-bottom:1.5rem; flex:1; }
.plan-card ul li { color:var(--text2); font-size:.95rem; padding:.4rem 0 .4rem 1.4rem; border-bottom:1px solid var(--border); position:relative; }
.plan-card ul li:last-child { border-bottom:none; }
.plan-card ul li::before { content:'✦'; position:absolute; left:0; color:var(--gold); font-size:.6rem; top:50%; transform:translateY(-50%); }

/* ── CONTACT ── */
.contact-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; align-items:start; }
.contact-info-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--r2); padding:2.5rem; }
.contact-info-box .section-eyebrow { display:block; margin-bottom:.4rem; }
.contact-info-box h2 { font-size:2rem; color:var(--gold2); margin-bottom:2rem; }
.cinfo-row { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
.cinfo-row:last-of-type { border-bottom:none; }
.cinfo-icon { font-size:1.4rem; flex-shrink:0; margin-top:.1rem; }
.cinfo-label { font-family:var(--font-ui); font-size:.72rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--text3); margin-bottom:.25rem; }
.cinfo-val { color:var(--text); font-size:1rem; }
.cinfo-val a { color:var(--gold2); }
.wa-big-btn { display:flex; align-items:center; justify-content:center; gap:.75rem; padding:1rem; background:#25D366; color:#fff; border-radius:var(--r); font-family:var(--font-ui); font-weight:600; font-size:1rem; margin-top:1.5rem; transition:var(--t); }
.wa-big-btn:hover { background:#1da851; transform:translateY(-2px); }
.contact-right { display:flex; flex-direction:column; gap:1.5rem; }
.form-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--r2); padding:2.5rem; }
.form-box .section-eyebrow { display:block; margin-bottom:.4rem; }
.form-box h2 { font-size:1.8rem; color:var(--gold2); margin-bottom:2rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fg { margin-bottom:1.2rem; }
.fg label { display:block; font-family:var(--font-ui); font-size:.75rem; text-transform:uppercase; letter-spacing:1px; color:var(--text3); margin-bottom:.4rem; }
.fg input, .fg select, .fg textarea { width:100%; padding:.7rem 1rem; background:var(--bg2); border:1px solid var(--border); border-radius:var(--r); color:var(--text); font-family:var(--font-body); font-size:1rem; transition:var(--t); }
.fg input:focus, .fg select:focus, .fg textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,146,42,.1); }
.fg select option { background:var(--bg2); }
.fg textarea { min-height:110px; resize:vertical; }
.map-box { border-radius:var(--r2); overflow:hidden; border:1px solid var(--border); min-height:300px; }
.map-box iframe { width:100%; height:300px; display:block; border:0; }

/* ── FOOTER ── */
footer { background:var(--bg2); border-top:1px solid var(--border); }
.footer-top { max-width:1180px; margin:0 auto; padding:4rem 1.5rem 3rem; display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:3rem; }
.footer-logo { font-family:var(--font-title); font-size:1.4rem; color:var(--gold2); margin-bottom:1rem; display:flex; align-items:center; gap:.5rem; }
.footer-brand p { color:var(--text3); font-size:.97rem; max-width:280px; line-height:1.7; }
.footer-col h4 { font-family:var(--font-ui); font-size:.72rem; text-transform:uppercase; letter-spacing:2.5px; color:var(--text3); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.8rem; }
.footer-col ul a { color:var(--text2); font-size:.97rem; cursor:pointer; transition:var(--t); }
.footer-col ul a:hover { color:var(--gold2); }
.footer-contact { list-style:none !important; display:flex; flex-direction:column; gap:.8rem; }
.footer-contact li { color:var(--text2); font-size:.95rem; }
.footer-contact a { color:var(--text2); transition:var(--t); }
.footer-contact a:hover { color:var(--gold2); }
.footer-bottom { max-width:1180px; margin:0 auto; padding:1.5rem; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border); font-family:var(--font-ui); font-size:.78rem; color:var(--text3); flex-wrap:wrap; gap:1rem; }
.footer-bottom span:first-child { color:var(--saffron); letter-spacing:1px; }

/* ── SCROLL ANIMATION ── */
.fade-up { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  .two-col { grid-template-columns:1fr; gap:3rem; }
  .img-col { order:-1; max-width:480px; margin:0 auto; }
  .contact-layout { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:768px) {
  .nav-links, .navbar .cta-btn { display:none; }
  .hamburger { display:flex; }
  .hero h1 { font-size:2.5rem; }
  .stats-strip { gap:2rem; }
  .chakra-strip { gap:1.5rem; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .form-row { grid-template-columns:1fr; }
}