/* ══════════════════════════════════════════════════════
   SOULCODES — styles.css
   Palette: pastel mint, sky, peach, pink, lavender
   (extracted from Instagram Highlight Covers image)
   Background: unchanged deep dark #0d0820
══════════════════════════════════════════════════════ */
:root {
  /* ── Pastel palette ── */
  --mint:       #a8e6cf;
  --sky:        #a8d8ea;
  --peach:      #ffcba4;
  --pink:       #ffb3c6;
  --lavender:   #c9b8e8;
  --lemon:      #fff0a0;
  --mint-d:     #5ab99a;   /* darker mint for icons on white */
  --sky-d:      #5ba8c4;   /* darker sky for icons on white  */
  --peach-d:    #d4856a;   /* darker peach                   */
  --pink-d:     #d97fa0;   /* darker pink                    */
  --lav-d:      #9b7ec8;   /* darker lavender                */
  --teal-d:     #4aaa9e;   /* deeper teal                    */

  /* Reassign semantic names → pastels */
  --crown:      #c9b8e8;
  --third-eye:  #a8d8ea;
  --throat:     #a8e6cf;
  --heart:      #a8e6cf;
  --solar:      #fff0a0;
  --sacral:     #ffcba4;
  --root:       #ffb3c6;
  --gold:       #c9b8e8;
  --gold-light: #e8ddff;

  /* Dark background — unchanged */
  --bg-deep:    #0d0820;
  --bg-mid:     #1a1035;

  /* Service card (light / white) */
  --card-bg:    rgba(255,255,255,0.94);
  --card-text:  #1a1035;
  --card-sub:   #3d2f6e;

  /* Glass for dark-bg elements */
  --glass:      rgba(255,255,255,.07);
  --glass-b:    rgba(201,184,232,.35);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Cormorant Garamond',serif; background:var(--bg-deep); color:#f0eaff; overflow-x:hidden; cursor:none; }

/* ── Custom cursor ─────────────────────────────── */
.cursor { position:fixed; width:18px; height:18px; border-radius:50%; background:radial-gradient(circle,#e8ddff,#a8e6cf); pointer-events:none; z-index:99999; transform:translate(-50%,-50%); mix-blend-mode:screen; box-shadow:0 0 20px rgba(201,184,232,.85); }
.cursor-trail { position:fixed; width:8px; height:8px; border-radius:50%; background:var(--pink); pointer-events:none; z-index:99998; transform:translate(-50%,-50%); opacity:.55; transition:left .15s,top .15s; }

/* ── Stars & particles ─────────────────────────── */
.stars,.particles { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.star { position:absolute; border-radius:50%; background:#fff; animation:twinkle var(--d) ease-in-out infinite alternate; }
.particle { position:absolute; border-radius:50%; animation:floatUp var(--d) linear infinite; opacity:0; }
@keyframes twinkle { from{opacity:.1;transform:scale(1)} to{opacity:.9;transform:scale(1.4)} }
@keyframes floatUp { 0%{transform:translateY(100vh) scale(0);opacity:0} 10%{opacity:.6} 90%{opacity:.3} 100%{transform:translateY(-20vh) scale(1);opacity:0} }

/* ── MODAL ─────────────────────────────────────── */
.modal-overlay { position:fixed; inset:0; z-index:5000; background:rgba(5,2,18,.9); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-box { position:relative; background:linear-gradient(160deg,#1e1240,#0d0820); border:1px solid var(--glass-b); border-radius:24px; width:100%; max-width:640px; max-height:90vh; overflow-y:auto; padding:36px 28px; box-shadow:0 30px 80px rgba(0,0,0,.75),0 0 60px rgba(201,184,232,.12); transform:translateY(28px) scale(.96); transition:transform .3s ease; scrollbar-width:thin; scrollbar-color:var(--lavender) transparent; }
.modal-overlay.open .modal-box { transform:translateY(0) scale(1); }
.modal-box::-webkit-scrollbar { width:4px; }
.modal-box::-webkit-scrollbar-thumb { background:var(--lavender); border-radius:2px; }
.modal-close { position:absolute; top:14px; right:14px; background:rgba(255,255,255,.08); border:1px solid var(--glass-b); border-radius:20px; padding:5px 14px; cursor:pointer; color:rgba(255,255,255,.7); font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:1px; transition:all .3s; }
.modal-close:hover { background:rgba(255,255,255,.15); color:#fff; border-color:var(--lavender); }
.modal-header-block { text-align:center; margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid rgba(201,184,232,.2); }
.modal-eyebrow { font-family:'Raleway',sans-serif; font-size:9px; letter-spacing:5px; text-transform:uppercase; color:var(--lavender); margin:10px 0 8px; }
.modal-title { font-family:'Cinzel Decorative',serif; font-size:clamp(18px,4vw,26px); background:linear-gradient(135deg,#e8ddff,#a8e6cf,#ffb3c6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1.3; margin-bottom:8px; }
.modal-desc { font-size:15px; color:rgba(240,234,255,.5); font-style:italic; line-height:1.6; }

/* ── NAV ───────────────────────────────────────── */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; background:rgba(13,8,32,.85); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-b); transition:padding .3s; }
nav.scrolled { padding:10px 24px; background:rgba(13,8,32,.97); }
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo-circle { width:60px; height:60px; border-radius:50%; border:2px solid var(--lavender); padding:2px; box-shadow:0 0 15px rgba(201,184,232,.5); overflow:hidden; flex-shrink:0; }
.nav-logo-circle img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.nav-logo-text { font-family:'Cinzel Decorative',serif; font-size:14px; color:var(--gold-light); letter-spacing:2px; }
.nav-logo-sub { font-family:'Raleway',sans-serif; font-size:9px; letter-spacing:3px; color:var(--mint); text-transform:uppercase; }
.nav-links { display:flex; gap:6px; align-items:center; list-style:none; }
.nav-links a { font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:rgba(240,234,255,.8); text-decoration:none; padding:6px 10px; border-radius:20px; transition:all .3s; }
.nav-links a:hover { color:var(--gold-light); background:rgba(201,184,232,.1); }
.nav-cta { background:linear-gradient(135deg,var(--lavender),var(--mint)) !important; color:#1a1035 !important; padding:8px 18px !important; border-radius:25px !important; font-weight:700 !important; box-shadow:0 4px 20px rgba(201,184,232,.4); }
.nav-dropdown { position:relative; }
.nav-dropdown-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px); background:rgba(13,8,32,.97); border:1px solid var(--glass-b); border-radius:12px; padding:12px; min-width:220px; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; backdrop-filter:blur(20px); }
/* Invisible bridge fills gap between trigger and menu so cursor can travel across */
.nav-dropdown-menu::before { content:''; position:absolute; top:-14px; left:0; right:0; height:14px; }
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0); }
.nav-dropdown-menu a { display:block; padding:8px 14px; font-size:12px; border-radius:8px; letter-spacing:1.5px; color:rgba(240,234,255,.8); }
.nav-dropdown-menu a:hover { color:var(--lavender); background:rgba(201,184,232,.1); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--gold-light); border-radius:2px; transition:all .3s; }
.mobile-menu { display:none; position:fixed; top:70px; left:0; right:0; background:rgba(13,8,32,.98); border-bottom:1px solid var(--glass-b); padding:20px 24px; z-index:999; backdrop-filter:blur(20px); flex-direction:column; gap:4px; max-height:80vh; overflow-y:auto; }
.mobile-menu.open { display:flex; }
.mobile-menu a { display:flex; align-items:center; gap:10px; font-family:'Raleway',sans-serif; font-size:14px; letter-spacing:2px; text-transform:uppercase; color:rgba(240,234,255,.85); text-decoration:none; padding:12px 16px; border-radius:10px; border:1px solid transparent; transition:all .3s; }
.mobile-menu a:hover { border-color:var(--glass-b); color:var(--gold-light); }
.mobile-menu-section { color:var(--lavender); font-size:11px; letter-spacing:3px; padding:8px 16px 4px; font-family:'Raleway',sans-serif; }
.mobile-book-btn { background:linear-gradient(135deg,var(--lavender),var(--mint)) !important; color:#1a1035 !important; border-color:transparent !important; justify-content:center; margin-top:8px; font-weight:700 !important; }

/* ── Buttons ───────────────────────────────────── */
.btn-primary { display:inline-flex; align-items:center; gap:6px; padding:14px 32px; background:linear-gradient(135deg,var(--lavender),var(--sky),var(--mint)); color:#1a1035; font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:3px; text-transform:uppercase; font-weight:700; text-decoration:none; border-radius:40px; border:none; cursor:pointer; box-shadow:0 8px 30px rgba(201,184,232,.45); transition:all .3s; position:relative; overflow:hidden; }
.btn-primary::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,transparent,rgba(255,255,255,.35),transparent); transform:translateX(-100%); transition:transform .4s; }
.btn-primary:hover::after { transform:translateX(100%); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(201,184,232,.65); }
.btn-secondary { display:inline-block; padding:13px 30px; background:transparent; color:var(--gold-light); font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:3px; text-transform:uppercase; font-weight:500; text-decoration:none; border-radius:40px; border:1.5px solid var(--lavender); transition:all .3s; }
.btn-secondary:hover { background:rgba(201,184,232,.12); transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,184,232,.25); }

/* ── Form fields ───────────────────────────────── */
.fg { margin-bottom:16px; }
.fg label { display:block; font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:var(--lavender); margin-bottom:7px; }
.fg input,.fg select,.fg textarea { width:100%; background:rgba(255,255,255,.06); border:1px solid var(--glass-b); border-radius:12px; padding:11px 15px; font-family:'Cormorant Garamond',serif; font-size:16px; color:#f0eaff; outline:none; transition:all .3s; -webkit-appearance:none; appearance:none; }
.fg input::placeholder,.fg textarea::placeholder { color:rgba(240,234,255,.3); }
.fg select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9b8e8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
.fg select option { background:var(--bg-deep); }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--lavender); background:rgba(201,184,232,.07); box-shadow:0 0 20px rgba(201,184,232,.15); }
.fg textarea { resize:vertical; min-height:90px; }

/* ── Hero ──────────────────────────────────────── */
.hero { position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:100px 24px 60px; z-index:1; overflow:hidden; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.hero-glow-1 { width:500px; height:500px; background:radial-gradient(circle,rgba(201,184,232,.22),transparent 70%); top:-100px; left:50%; transform:translateX(-50%); animation:gPulse 4s ease-in-out infinite alternate; }
.hero-glow-2 { width:300px; height:300px; background:radial-gradient(circle,rgba(168,230,207,.18),transparent 70%); bottom:0; left:10%; animation:gPulse 5s ease-in-out infinite alternate-reverse; }
.hero-glow-3 { width:250px; height:250px; background:radial-gradient(circle,rgba(255,179,198,.15),transparent 70%); bottom:50px; right:5%; animation:gPulse 6s ease-in-out infinite alternate; }
@keyframes gPulse { from{opacity:.5} to{opacity:1} }
.lotus-float { position:absolute; pointer-events:none; opacity:.13; animation:floatAround 8s ease-in-out infinite alternate; }
@keyframes floatAround { 0%{transform:translateY(0) rotate(0deg)} 100%{transform:translateY(-20px) rotate(8deg)} }
.hero-logo-wrap { margin-bottom:30px; animation:logoReveal 1.5s ease forwards; opacity:0; }
@keyframes logoReveal { from{opacity:0;transform:scale(.7) translateY(30px);filter:blur(10px)} to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)} }
.hero-logo-circle { width:140px; height:140px; border-radius:50%; border:3px solid var(--lavender); padding:4px; overflow:hidden; animation:chakraShift 8s linear infinite; }
@keyframes chakraShift {
  0%   { box-shadow:0 0 40px rgba(201,184,232,.7),0 0 80px rgba(168,230,207,.3); }
  25%  { box-shadow:0 0 40px rgba(168,216,234,.7),0 0 80px rgba(168,216,234,.3); }
  50%  { box-shadow:0 0 40px rgba(255,179,198,.65),0 0 80px rgba(255,179,198,.25); }
  75%  { box-shadow:0 0 40px rgba(255,203,164,.65),0 0 80px rgba(255,203,164,.25); }
  100% { box-shadow:0 0 40px rgba(201,184,232,.7),0 0 80px rgba(168,230,207,.3); }
}
.hero-logo-circle img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.hero-eyebrow   { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--lavender); margin-bottom:16px; opacity:0; animation:fadeUp .8s ease .8s forwards; }
.hero-title     { font-family:'Cinzel Decorative',serif; font-size:clamp(26px,7vw,52px); font-weight:700; line-height:1.15; margin-bottom:16px; background:linear-gradient(135deg,#e8ddff,#a8e6cf,#ffb3c6,#a8d8ea); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; background-size:200%; opacity:0; animation:fadeUp .8s ease 1s forwards,shimmer 5s linear 2s infinite; }
.hero-subtitle  { font-size:clamp(18px,3.5vw,25px); font-style:italic; color:rgba(240,234,255,.8); max-width:540px; line-height:1.75; margin:0 auto 12px; opacity:0; animation:fadeUp .8s ease 1.2s forwards; }
.hero-tagline   { font-family:'Raleway',sans-serif; font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--mint); margin-bottom:32px; opacity:0; animation:fadeUp .8s ease 1.4s forwards; }
.hero-quote     { font-size:clamp(16px,3vw,19px); font-style:italic; color:rgba(232,221,255,.9); max-width:500px; margin:0 auto 36px; line-height:1.85; padding:16px 24px; border-left:2px solid var(--lavender); border-right:2px solid var(--lavender); opacity:0; animation:fadeUp .8s ease 1.6s forwards; }
.hero-btns      { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; opacity:0; animation:fadeUp .8s ease 1.8s forwards; }
@keyframes fadeUp  { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes shimmer { 0%{background-position:0 50%} 50%{background-position:100% 50%} 100%{background-position:0 50%} }
.scroll-indicator { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; opacity:0; animation:fadeUp .8s ease 2.2s forwards; }
.scroll-indicator span { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:rgba(240,234,255,.4); }
.scroll-dot { width:6px; height:20px; border:1.5px solid rgba(240,234,255,.3); border-radius:3px; position:relative; }
.scroll-dot::after { content:''; position:absolute; top:3px; left:50%; transform:translateX(-50%); width:2px; height:5px; border-radius:1px; background:var(--lavender); animation:scrollB 1.5s ease-in-out infinite; }
@keyframes scrollB { 0%,100%{opacity:1;transform:translateX(-50%) translateY(0)} 50%{opacity:0;transform:translateX(-50%) translateY(8px)} }

/* ── Section shared ────────────────────────────── */
section { position:relative; z-index:1; }
.section-header { text-align:center; margin-bottom:48px; }
.section-eyebrow { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--lavender); margin-bottom:10px; display:block; }
.section-title { font-family:'Cinzel Decorative',serif; font-size:clamp(20px,5vw,36px); background:linear-gradient(135deg,var(--gold-light),var(--mint),var(--pink)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:12px; }
.section-sub { font-size:clamp(17px,3vw,20px); color:rgba(240,234,255,.65); font-style:italic; max-width:520px; margin:0 auto; line-height:1.75; }
.divider { display:flex; align-items:center; justify-content:center; gap:12px; margin:16px 0; }
.divider-line { width:60px; height:1px; background:linear-gradient(90deg,transparent,var(--lavender)); }
.divider-line:last-child { background:linear-gradient(90deg,var(--lavender),transparent); }
.divider-star { color:var(--lavender); font-size:10px; }
.glass-card { background:var(--glass); border:1px solid var(--glass-b); border-radius:20px; backdrop-filter:blur(20px); padding:28px 24px; transition:all .4s; position:relative; overflow:hidden; }
.glass-card:hover { transform:translateY(-6px); border-color:rgba(201,184,232,.6); box-shadow:0 20px 60px rgba(0,0,0,.4); }

/* ── Chakra strip ──────────────────────────────── */
.chakra-strip { padding:40px 24px; display:flex; justify-content:center; position:relative; z-index:1; }
.chakra-item  { display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 10px; }
.chakra-dot   { width:14px; height:14px; border-radius:50%; animation:chakraPulse 2s ease-in-out infinite alternate; }
.chakra-name  { font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(240,234,255,.45); }
@keyframes chakraPulse { from{transform:scale(1);opacity:.7} to{transform:scale(1.4);opacity:1} }

/* ── About section ─────────────────────────────── */
.about-section { padding:80px 24px; max-width:900px; margin:0 auto; }
.about-grid { display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
@media(min-width:700px) { .about-grid { grid-template-columns:1fr 1fr; } }
.about-img-wrap { display:flex; justify-content:center; }
.about-mandala { width:220px; height:220px; border-radius:50%; border:3px solid var(--lavender); padding:6px; overflow:hidden; box-shadow:0 0 50px rgba(201,184,232,.4),0 0 100px rgba(168,216,234,.15); animation:chakraShift 10s linear infinite; }
.about-mandala img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.about-text p { font-size:clamp(16px,3vw,19px); color:rgba(240,234,255,.82); line-height:1.95; margin-bottom:16px; }
.about-text p:first-child { font-size:clamp(17px,3.5vw,21px); font-style:italic; color:var(--gold-light); }
.about-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.badge { font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:6px 14px; border-radius:20px; border:1px solid; }
.badge-crown  { border-color:var(--lavender); color:var(--lavender); }
.badge-throat { border-color:var(--mint);     color:var(--mint);     }
.badge-heart  { border-color:var(--sky);      color:var(--sky);      }
.badge-solar  { border-color:var(--peach);    color:var(--peach);    }

/* ── SERVICE CARDS (white bg, pastel icons) ─────── */
.services-section { padding:80px 24px; max-width:960px; margin:0 auto; }
.services-grid { display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:600px) { .services-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .services-grid { grid-template-columns:1fr 1fr 1fr; } }
.service-card {
  padding:28px 22px; border-radius:20px;
  background: rgba(255,255,255,0.94);       /* white card bg */
  border:1px solid rgba(201,184,232,.4);
  backdrop-filter:blur(20px); overflow:hidden; transition:all .4s; cursor:pointer; position:relative;
}
.service-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent,linear-gradient(90deg,var(--lavender),var(--mint))); opacity:1; }
.service-card:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,.2),0 0 30px rgba(201,184,232,.25); border-color:rgba(201,184,232,.7); }
.service-card h3 { font-family:'Cinzel Decorative',serif; font-size:14px; color:#1a1035; margin-bottom:10px; line-height:1.4; }
.service-card p  { font-size:15px; color:#3d2f6e; line-height:1.75; }
.service-tag { display:inline-block; margin-top:14px; font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:#5b4a8a; border:1px solid rgba(160,140,220,.4); padding:4px 12px; border-radius:20px; background:rgba(201,184,232,.18); }
/* Icon box — white bg, pastel-tinted icon */
.svc-icon-box { width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; border:1px solid; background:rgba(255,255,255,.92); }
.svc-icon-box svg { animation:floatIcon 3s ease-in-out infinite alternate; }
@keyframes floatIcon { from{transform:translateY(0)} to{transform:translateY(-5px)} }

/* ── Testimonials ──────────────────────────────── */
.testimonials-section { padding:80px 24px; max-width:960px; margin:0 auto; }
.testimonials-tabs { display:flex; gap:10px; justify-content:center; margin-bottom:36px; flex-wrap:wrap; }
.tab-btn { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; padding:8px 20px; border-radius:25px; border:1px solid var(--glass-b); background:transparent; color:rgba(240,234,255,.6); cursor:pointer; transition:all .3s; }
.tab-btn.active,.tab-btn:hover { background:linear-gradient(135deg,var(--lavender),var(--mint)); color:#1a1035; border-color:transparent; font-weight:600; }
.testimonials-grid { display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:640px) { .testimonials-grid { grid-template-columns:1fr 1fr; } }
.testi-card { background:var(--glass); border:1px solid var(--glass-b); border-radius:20px; padding:24px; backdrop-filter:blur(20px); transition:all .4s; }
.testi-card:hover { transform:translateY(-4px); border-color:rgba(201,184,232,.5); }
.testi-stars { color:var(--lemon); font-size:15px; margin-bottom:10px; letter-spacing:2px; }
.testi-text  { font-size:17px; font-style:italic; color:rgba(240,234,255,.84); line-height:1.85; margin-bottom:16px; }
.testi-name  { font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--lavender); }
.testi-role  { font-family:'Raleway',sans-serif; font-size:11px; color:rgba(240,234,255,.42); margin-top:2px; }
.video-testimonials { display:grid; gap:16px; grid-template-columns:1fr; }
@media(min-width:640px) { .video-testimonials { grid-template-columns:1fr 1fr; } }
.video-placeholder { border-radius:16px; background:rgba(0,0,0,.4); border:1px solid var(--glass-b); aspect-ratio:16/9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; cursor:pointer; transition:all .3s; position:relative; overflow:hidden; }
.video-placeholder::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(201,184,232,.12),rgba(168,230,207,.1)); }
.video-placeholder:hover { transform:scale(1.02); border-color:var(--lavender); }
.video-placeholder span { font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:rgba(240,234,255,.6); z-index:1; }
.play-btn { z-index:1; filter:drop-shadow(0 0 10px rgba(201,184,232,.6)); animation:playPulse 2s ease-in-out infinite; }
@keyframes playPulse { 0%,100%{filter:drop-shadow(0 0 10px rgba(201,184,232,.5))} 50%{filter:drop-shadow(0 0 24px rgba(201,184,232,.9))} }

/* ── About page ────────────────────────────────── */
.about-page-content { padding:100px 24px 80px; max-width:900px; margin:0 auto; }
.about-long p { font-size:clamp(16px,3vw,19px); color:rgba(240,234,255,.78); line-height:2; margin-bottom:20px; }
.highlight-block { background:rgba(201,184,232,.08); border-left:3px solid var(--lavender); border-radius:0 16px 16px 0; padding:20px 24px; margin:28px 0; font-size:clamp(17px,3.5vw,21px); font-style:italic; color:var(--gold-light); line-height:1.8; }
.certifications { display:grid; grid-template-columns:1fr; gap:14px; margin-top:36px; }
@media(min-width:500px) { .certifications { grid-template-columns:1fr 1fr; } }
.cert-item { background:var(--glass); border:1px solid var(--glass-b); border-radius:14px; padding:18px 16px; display:flex; align-items:center; gap:14px; }
.cert-text h4 { font-family:'Raleway',sans-serif; font-size:12px; font-weight:600; color:var(--gold-light); letter-spacing:1px; margin-bottom:3px; }
.cert-text p  { font-size:14px; color:rgba(240,234,255,.5); }

/* ── Services page ─────────────────────────────── */
.services-page-content { padding:100px 24px 80px; max-width:960px; margin:0 auto; }
.service-detail { background:var(--glass); border:1px solid var(--glass-b); border-radius:20px; padding:28px 24px; margin-bottom:20px; backdrop-filter:blur(20px); transition:all .4s; }
.service-detail:hover { border-color:rgba(201,184,232,.5); transform:translateX(4px); }
.svc-detail-hdr { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.svc-detail-title { font-family:'Cinzel Decorative',serif; font-size:15px; color:var(--gold-light); line-height:1.4; flex:1; }
.svc-detail-price { font-family:'Raleway',sans-serif; font-size:13px; letter-spacing:1px; color:var(--mint); white-space:nowrap; cursor:pointer; transition:color .3s; }
.svc-detail-price:hover { color:var(--lavender); }
.service-detail p  { font-size:16px; color:rgba(240,234,255,.72); line-height:1.85; }
.service-detail ul { margin:12px 0 0 0; }
.service-detail li { font-size:16px; color:rgba(240,234,255,.65); line-height:1.85; list-style:none; padding-left:20px; position:relative; }
.service-detail li::before { content:'✦'; position:absolute; left:0; color:var(--lavender); font-size:8px; top:6px; }

/* ── Contact ───────────────────────────────────── */
.contact-cards { display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:36px; }
@media(min-width:500px) { .contact-cards { grid-template-columns:1fr 1fr; } }
.contact-card { background:var(--glass); border:1px solid var(--glass-b); border-radius:16px; padding:22px 18px; text-align:center; backdrop-filter:blur(20px); transition:all .3s; text-decoration:none; display:block; }
.contact-card:hover { transform:translateY(-4px); border-color:var(--lavender); box-shadow:0 10px 30px rgba(201,184,232,.15); }
.contact-card h4 { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--lavender); margin-bottom:6px; }
.contact-card p  { font-size:15px; color:rgba(240,234,255,.72); }

/* ── Footer ────────────────────────────────────── */
footer { position:relative; z-index:1; border-top:1px solid var(--glass-b); padding:48px 24px 30px; text-align:center; background:rgba(0,0,0,.3); backdrop-filter:blur(20px); }
.footer-logo { font-family:'Cinzel Decorative',serif; font-size:18px; background:linear-gradient(135deg,var(--gold-light),var(--lavender),var(--mint)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:6px; }
.footer-tag  { font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--mint); margin-bottom:24px; }
.social-row  { display:flex; gap:14px; justify-content:center; margin-bottom:24px; }
.social-btn  { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid var(--glass-b); cursor:pointer; transition:all .3s; text-decoration:none; }
.social-btn:hover { border-color:var(--lavender); background:rgba(201,184,232,.1); transform:translateY(-3px); }
.footer-links { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
.footer-links a { font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:rgba(240,234,255,.5); text-decoration:none; transition:color .3s; cursor:pointer; }
.footer-links a:hover { color:var(--lavender); }
.footer-copy { font-size:14px; color:rgba(240,234,255,.3); font-style:italic; }

/* ── Reveal / pages ────────────────────────────── */
.reveal { opacity:0; transform:translateY(40px); transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.page { display:none; } .page.active { display:block; } #page-home { display:block; }

/* ── Responsive ────────────────────────────────── */
@media(max-width:640px) {
  .nav-links { display:none; } .hamburger { display:flex; }
  .hero { padding:90px 20px 60px; }
  .modal-box { padding:24px 16px; }
  .chakra-name { display:none; }
  .chakra-item { padding:0 6px; }
}
@media(min-width:641px) { .hamburger { display:none; } .mobile-menu { display:none !important; } }

/* ══════════════════════════════════
   MENTOR SECTION
══════════════════════════════════ */
.mentor-section { position:relative; padding:90px 24px; max-width:1000px; margin:0 auto; z-index:1; overflow:hidden; }
.mentor-bg-geo { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:0; }
.mentor-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:48px; align-items:center; }
@media(min-width:720px) { .mentor-inner { grid-template-columns:320px 1fr; gap:60px; } }
.mentor-photo-col { display:flex; flex-direction:column; align-items:center; gap:22px; }
.mentor-photo-frame { position:relative; width:220px; height:220px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
@media(min-width:720px) { .mentor-photo-frame { width:280px; height:280px; } }
.mentor-ring { position:absolute; inset:-10px; width:calc(100% + 20px); height:calc(100% + 20px); animation:spinRing 25s linear infinite; }
@keyframes spinRing { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.mentor-photo-circle { width:190px; height:190px; border-radius:50%; overflow:hidden; border:3px solid rgba(201,184,232,.6); box-shadow:0 0 40px rgba(201,184,232,.4),0 0 80px rgba(168,216,234,.2); background:radial-gradient(circle,#2a1550,#0d0820); animation:photoGlow 6s ease-in-out infinite alternate; }
@media(min-width:720px) { .mentor-photo-circle { width:240px; height:240px; } }
@keyframes photoGlow {
  0%   { box-shadow:0 0 40px rgba(201,184,232,.45),0 0 80px rgba(168,216,234,.2); }
  33%  { box-shadow:0 0 40px rgba(168,230,207,.45),0 0 80px rgba(168,230,207,.2); }
  66%  { box-shadow:0 0 40px rgba(255,179,198,.4), 0 0 80px rgba(255,179,198,.2); }
  100% { box-shadow:0 0 40px rgba(201,184,232,.45),0 0 80px rgba(168,216,234,.2); }
}
.mentor-photo-circle img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.m-chakra-dot { position:absolute; width:10px; height:10px; border-radius:50%; animation:mDotPulse 2.5s ease-in-out infinite alternate; }
@keyframes mDotPulse { from{transform:scale(1);opacity:.6} to{transform:scale(1.5);opacity:1} }
.mentor-name-block { text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; }
.mentor-name { font-family:'Cinzel Decorative',serif; font-size:clamp(18px,4vw,26px); background:linear-gradient(135deg,#e8ddff,#a8e6cf,#ffb3c6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; letter-spacing:1px; line-height:1.3; }
.mentor-title-badges { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.mentor-ig-link { display:inline-flex; align-items:center; gap:7px; font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--peach); text-decoration:none; padding:7px 16px; border-radius:25px; border:1px solid rgba(255,203,164,.4); background:rgba(255,203,164,.07); transition:all .3s; margin-top:4px; }
.mentor-ig-link:hover { background:rgba(255,203,164,.15); border-color:rgba(255,203,164,.7); transform:translateY(-2px); box-shadow:0 6px 20px rgba(255,203,164,.2); }
.mentor-bio-col { display:flex; flex-direction:column; gap:0; }
.mentor-bio-title { font-family:'Cinzel Decorative',serif; font-size:clamp(20px,4.5vw,34px); background:linear-gradient(135deg,#e8ddff,#a8e6cf,#ffb3c6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1.25; margin:8px 0 14px; }
.mentor-bio-para { font-size:clamp(16px,2.8vw,19px); color:rgba(240,234,255,.82); line-height:1.95; margin-bottom:16px; }
.mentor-pullquote { background:rgba(201,184,232,.09); border-left:3px solid var(--lavender); border-radius:0 16px 16px 0; padding:18px 22px; margin:8px 0 20px; }
.mentor-pullquote p { font-size:clamp(17px,3vw,21px); font-style:italic; color:var(--gold-light); line-height:1.8; margin:0; }
.mentor-bio-closing { font-style:italic; color:rgba(201,184,232,.9) !important; }
.mentor-cta-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:8px; }

/* ══════════════════════════════════
   MODAL FORM — Intake Styles
══════════════════════════════════ */
.form-section-label { display:flex; align-items:center; gap:9px; font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--lavender); margin:26px 0 14px; padding-bottom:8px; border-bottom:1px solid rgba(201,184,232,.2); }
.form-section-label.consent-label { color:var(--peach); border-bottom-color:rgba(255,203,164,.2); }
.form-section-label svg { flex-shrink:0; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:500px) { .fg-row { grid-template-columns:1fr; } }
.fg-opt { font-family:'Raleway',sans-serif; font-size:9px; letter-spacing:1px; color:rgba(240,234,255,.35); text-transform:none; font-style:italic; font-weight:400; }
.req { color:var(--mint); }
.checkbox-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-bottom:6px; }
@media(max-width:480px) { .checkbox-grid { grid-template-columns:1fr; } }
.cb-item { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:15px; color:rgba(240,234,255,.84); line-height:1.5; user-select:none; padding:6px 10px; border-radius:10px; border:1px solid transparent; transition:all .25s; }
.cb-item:hover { border-color:rgba(201,184,232,.35); background:rgba(201,184,232,.07); }
.cb-item input[type="checkbox"],.cb-item input[type="radio"] { position:absolute; opacity:0; width:0; height:0; }
.cb-box { width:18px; height:18px; flex-shrink:0; border-radius:5px; border:1.5px solid rgba(201,184,232,.5); background:rgba(255,255,255,.04); display:flex; align-items:center; justify-content:center; transition:all .2s; position:relative; }
.cb-item input[type="checkbox"]:checked ~ .cb-box,
.cb-item input[type="radio"]:checked ~ .cb-box { background:linear-gradient(135deg,var(--lavender),var(--mint)); border-color:var(--lavender); box-shadow:0 0 10px rgba(201,184,232,.4); }
.cb-item input[type="checkbox"]:checked ~ .cb-box::after { content:''; position:absolute; width:5px; height:9px; border:2px solid #1a1035; border-top:none; border-left:none; transform:rotate(42deg) translate(-1px,-1px); }
.rb-box { border-radius:50%; }
.cb-item input[type="radio"]:checked ~ .cb-box::after { content:''; position:absolute; width:8px; height:8px; border-radius:50%; background:#1a1035; }
.cb-item:has(input:checked) { border-color:rgba(201,184,232,.35); background:rgba(201,184,232,.08); color:#fff; }
.cb-other-wrap { flex-wrap:wrap; align-items:center; }
.cb-other-input { flex:1; min-width:100px; background:rgba(255,255,255,.06); border:none; border-bottom:1px solid rgba(201,184,232,.4); padding:2px 6px; color:#f0eaff; font-size:15px; font-family:'Cormorant Garamond',serif; outline:none; border-radius:0; }
.cb-other-input:focus { border-bottom-color:var(--lavender); }
.radio-row { display:flex; gap:20px; flex-wrap:wrap; margin-bottom:6px; }
.questions-list { display:flex; flex-direction:column; gap:10px; }
.question-fg { display:grid !important; grid-template-columns:24px 1fr !important; align-items:center; gap:10px; margin-bottom:0 !important; }
.question-fg label { font-family:'Cinzel Decorative',serif; font-size:13px; color:rgba(201,184,232,.6); text-align:right; margin-bottom:0 !important; letter-spacing:0; }
.question-fg input { margin:0; }
.consent-block { background:rgba(255,203,164,.04); border:1px solid rgba(255,203,164,.2); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:10px; }
.consent-cb { border-color:transparent !important; font-size:14px !important; line-height:1.65; }
.consent-cb:hover { background:rgba(255,203,164,.06) !important; border-color:rgba(255,203,164,.25) !important; }
.consent-cb:has(input:checked) { background:rgba(255,203,164,.09) !important; }
.modal-submit-btn { width:100%; justify-content:center; font-size:13px; padding:16px; border-radius:14px; margin-top:10px; letter-spacing:3px; box-shadow:0 8px 30px rgba(201,184,232,.4),0 0 60px rgba(168,230,207,.15); }
.modal-submit-btn:hover { box-shadow:0 12px 40px rgba(201,184,232,.6),0 0 80px rgba(168,230,207,.2); transform:translateY(-3px); }
.form-note-footer { text-align:center; margin-top:16px; font-family:'Raleway',sans-serif; font-size:12px; letter-spacing:1.5px; color:rgba(240,234,255,.4); line-height:1.8; }

/* ── Service detail icon boxes ─────────────────── */
.cert-icon-wrap { width:42px; height:42px; flex-shrink:0; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.07); border:1px solid var(--glass-b); }
.svc-icon { width:46px; height:46px; border-radius:12px; }

/* ══════════════════════════════════════════════════
   SERVICE DETAIL PAGES
══════════════════════════════════════════════════ */

.svc-page-wrap { padding-top: 70px; }

/* ── Service hero ─────────────────────────────── */
.svc-hero {
  position: relative;
  min-height: 60vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 80px 24px 70px;
  overflow: hidden;
  z-index: 1;
}
.svc-hero-glow {
  position: absolute; border-radius: 50%;
  filter: blur(90px); pointer-events: none;
  width: 420px; height: 420px;
  top: 50%; left: 50%; transform: translate(-50%,-50%);
  animation: gPulse 5s ease-in-out infinite alternate;
}
.svc-hero-glow2 {
  width: 260px; height: 260px;
  top: 20%; left: 70%;
  animation: gPulse 6s ease-in-out infinite alternate-reverse;
}
.svc-hero-geo {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none; z-index: 0;
}
.svc-geo-spin {
  width: 400px; height: 400px;
  animation: spinRing 60s linear infinite;
  opacity: 0.8;
}
.svc-eyebrow {
  font-family: 'Raleway', sans-serif;
  font-size: 11px; letter-spacing: 5px;
  text-transform: uppercase; color: var(--lavender);
  margin-bottom: 14px; position: relative; z-index: 1;
  animation: fadeUp .8s ease .3s both;
}
.svc-hero-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: clamp(28px, 7vw, 56px);
  font-weight: 700; line-height: 1.15;
  background: linear-gradient(135deg, var(--h1,#e8ddff), var(--h2,#a8e6cf), #ffb3c6);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; background-size: 200%;
  margin-bottom: 18px; position: relative; z-index: 1;
  animation: fadeUp .8s ease .5s both, shimmer 5s linear 1.5s infinite;
}
.svc-hero-sub {
  font-size: clamp(16px, 3vw, 20px);
  font-style: italic; color: rgba(240,234,255,.8);
  max-width: 560px; line-height: 1.8;
  margin: 0 auto 32px; position: relative; z-index: 1;
  animation: fadeUp .8s ease .7s both;
}
.svc-book-btn {
  animation: fadeUp .8s ease .9s both;
  position: relative; z-index: 1;
}

/* ── Section layout ───────────────────────────── */
.svc-section {
  padding: 80px 24px;
  max-width: 1020px; margin: 0 auto;
}
.svc-section-alt {
  background: rgba(255,255,255,.025);
  border-radius: 0;
  max-width: 100%; padding: 80px 24px;
}
.svc-section-alt > * { max-width: 1020px; margin-left: auto; margin-right: auto; }
.svc-two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: 52px; align-items: center;
}
@media(min-width: 720px) {
  .svc-two-col { grid-template-columns: 1fr 1fr; gap: 64px; }
  .svc-two-col-rev .svc-img-col { order: -1; }
}
.svc-text-col, .svc-img-col { display: flex; flex-direction: column; gap: 0; }

/* ── Typography ───────────────────────────────── */
.svc-section-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: clamp(20px, 4vw, 32px);
  background: linear-gradient(135deg, var(--gold-light), var(--lavender), var(--mint));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; margin-bottom: 16px; line-height: 1.3;
}
.svc-body {
  font-size: clamp(16px, 2.5vw, 18px);
  color: rgba(240,234,255,.8);
  line-height: 2; margin-bottom: 18px;
}
.svc-sub-heading {
  font-family: 'Cinzel Decorative', serif;
  font-size: 17px; color: var(--gold-light);
  margin: 26px 0 14px;
}
.svc-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.svc-list li {
  font-size: 16px; color: rgba(240,234,255,.78);
  line-height: 1.7; padding-left: 22px; position: relative;
}
.svc-list li::before {
  content: '✦'; position: absolute; left: 0;
  color: var(--lavender); font-size: 8px; top: 7px;
}

/* ── Benefits grid ────────────────────────────── */
.svc-benefits-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px; margin-top: 12px;
}
@media(min-width: 480px) { .svc-benefits-grid { grid-template-columns: 1fr 1fr; } }
@media(min-width: 800px) { .svc-benefits-grid { grid-template-columns: 1fr 1fr 1fr; } }
.svc-benefit-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid var(--bc, var(--lavender));
  border-radius: 16px; padding: 22px 18px;
  transition: all .4s;
}
.svc-benefit-card:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
  border-color: var(--bc, var(--lavender));
}
.svc-benefit-icon {
  width: 46px; height: 46px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  margin-bottom: 14px;
}
.svc-benefit-card h4 {
  font-family: 'Cinzel Decorative', serif;
  font-size: 13px; color: var(--gold-light);
  margin-bottom: 8px; line-height: 1.4;
}
.svc-benefit-card p {
  font-size: 14px; color: rgba(240,234,255,.68);
  line-height: 1.75;
}

/* ── Pull quote ───────────────────────────────── */
.svc-pullquote {
  background: rgba(201,184,232,.07);
  border-radius: 0 20px 20px 0;
  border-left: 3px solid var(--lavender);
  padding: 22px 22px 18px;
  margin-bottom: 28px; position: relative;
}
.svc-pq-deco {
  position: absolute; top: -8px; left: -12px;
  width: 50px; height: 38px; pointer-events: none;
}
.svc-pullquote p {
  font-size: clamp(15px, 2.5vw, 18px);
  font-style: italic; color: var(--gold-light);
  line-height: 1.8; margin: 0 0 12px;
}
.svc-pq-attr {
  font-family: 'Raleway', sans-serif;
  font-size: 11px; letter-spacing: 2px;
  color: rgba(201,184,232,.7); text-transform: uppercase;
}

/* ── Testimonials on service page ────────────── */
.svc-testi-grid {
  display: grid; gap: 20px;
  grid-template-columns: 1fr;
}
@media(min-width: 600px) { .svc-testi-grid { grid-template-columns: repeat(3,1fr); } }
.svc-testi-card {
  background: var(--glass); border: 1px solid var(--glass-b);
  border-radius: 20px; padding: 24px;
  backdrop-filter: blur(20px); transition: all .4s;
}
.svc-testi-card:hover { transform: translateY(-4px); border-color: rgba(201,184,232,.5); }

/* ── CTA section ──────────────────────────────── */
.svc-cta-section {
  position: relative; text-align: center;
  padding: 90px 24px 100px; overflow: hidden;
}
.svc-cta-geo {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(201,184,232,.1) 0%, transparent 70%);
  pointer-events: none;
}
.svc-cta-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: clamp(22px, 5vw, 38px);
  background: linear-gradient(135deg, var(--gold-light), var(--mint), var(--lavender));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; margin-bottom: 16px; position: relative; z-index: 1;
}
.svc-cta-sub {
  font-size: 18px; font-style: italic;
  color: rgba(240,234,255,.65); max-width: 480px;
  margin: 0 auto 32px; line-height: 1.75; position: relative; z-index: 1;
}

/* ── Course curriculum ────────────────────────── */
.svc-curriculum-list {
  display: flex; flex-direction: column; gap: 16px;
}
.svc-curriculum-item {
  display: flex; gap: 20px; align-items: flex-start;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px; padding: 20px 22px;
  transition: all .35s;
}
.svc-curriculum-item:hover {
  background: rgba(201,184,232,.07);
  border-color: rgba(201,184,232,.25);
  transform: translateX(6px);
}
.svc-ci-num {
  font-family: 'Cinzel Decorative', serif;
  font-size: 22px; color: rgba(201,184,232,.35);
  flex-shrink: 0; line-height: 1;
  margin-top: 2px;
}
.svc-curriculum-item h4 {
  font-family: 'Cinzel Decorative', serif;
  font-size: 14px; color: var(--gold-light);
  margin-bottom: 6px;
}
.svc-curriculum-item p {
  font-size: 15px; color: rgba(240,234,255,.68); line-height: 1.7;
}
.svc-course-badges {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px;
}
.svc-course-badge {
  font-family: 'Raleway', sans-serif;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  padding: 6px 14px; border-radius: 20px;
  border: 1px solid var(--cb, var(--lavender));
  color: var(--cb, var(--lavender));
  background: rgba(255,255,255,.04);
}

/* ══════════════════════════════════════════════════
   INK / BRUSH FRAME STYLES — Image Placeholders
══════════════════════════════════════════════════ */
.ink-frame {
  position: relative;
  width: 100%; aspect-ratio: 4/5;
  max-width: 400px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
}
.ink-frame-inner {
  position: absolute; inset: 18px;
  background: rgba(255,255,255,.04);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.ink-frame-inner img {
  width: 100%; height: 100%; object-fit: cover;
}
.ink-placeholder-text {
  font-family: 'Raleway', sans-serif; font-size: 11px;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(255,255,255,.25);
}

/* SVG border — each variant is an SVG clip path drawn with path strokes */
.ink-frame::before {
  content: ''; position: absolute; inset: 0;
  background: none; pointer-events: none;
  z-index: 2;
}
/* ── Variant 1: Lotus drip ──────────── */
.ink-frame-lotus::after {
  content: '';
  position: absolute; inset: -4px;
  border: 0;
  background: none;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 500'%3E%3Cpath d='M20 60 Q10 10 60 10 L340 10 Q390 10 380 60 L380 420 Q390 480 340 490 L200 498 Q120 505 80 490 L20 440 Q5 400 20 360 Z' fill='none' stroke='%23c9b8e8' stroke-width='1.5' stroke-dasharray='8 4' opacity='0.45'/%3E%3Cpath d='M200 2 C200 2 180 15 200 25 C220 15 200 2 200 2 Z' fill='%23c9b8e8' opacity='0.4'/%3E%3Cpath d='M200 498 C200 498 185 488 200 480 C215 488 200 498 200 498 Z' fill='%23c9b8e8' opacity='0.35'/%3E%3Ccircle cx='20' cy='250' r='4' fill='%23a8e6cf' opacity='0.35'/%3E%3Ccircle cx='380' cy='250' r='4' fill='%23a8e6cf' opacity='0.35'/%3E%3Cpath d='M8 100 Q-5 140 8 180' stroke='%23c9b8e8' stroke-width='1.2' fill='none' opacity='0.3'/%3E%3Cpath d='M392 300 Q405 340 392 380' stroke='%23c9b8e8' stroke-width='1.2' fill='none' opacity='0.3'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* ── Variant 2: Ink splash ──────────── */
.ink-frame-splash::after {
  content: '';
  position: absolute; inset: -6px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Cpath d='M30 80 Q-10 20 50 15 L370 8 Q420 5 415 70 L418 430 Q425 500 360 510 L60 515 Q5 518 10 450 L15 100 Z' fill='none' stroke='%23a8d8ea' stroke-width='2' opacity='0.4'/%3E%3Cpath d='M10 80 Q-8 50 5 30 Q15 10 30 15' stroke='%23a8d8ea' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M410 430 Q430 460 415 490 Q402 510 385 508' stroke='%23a8d8ea' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Ccircle cx='380' cy='30' r='6' fill='%23ffb3c6' opacity='0.4'/%3E%3Ccircle cx='40' cy='490' r='4' fill='%23a8e6cf' opacity='0.4'/%3E%3Ccircle cx='395' cy='260' r='3' fill='%23c9b8e8' opacity='0.4'/%3E%3Cellipse cx='210' cy='512' rx='40' ry='5' fill='%23a8d8ea' opacity='0.15'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* ── Variant 3: Wave/brush ──────────── */
.ink-frame-wave::after {
  content: '';
  position: absolute; inset: -5px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Cpath d='M15 40 Q5 10 40 8 L380 5 Q415 3 415 38 L418 480 Q420 512 385 514 L35 516 Q2 517 5 482 Z' fill='none' stroke='%23a8e6cf' stroke-width='1.8' stroke-dasharray='12 3 4 3' opacity='0.4'/%3E%3Cpath d='M5 40 Q-5 70 8 100 Q20 130 5 160' stroke='%23a8e6cf' stroke-width='2.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cpath d='M415 360 Q428 390 415 420 Q403 450 418 480' stroke='%23a8e6cf' stroke-width='2.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cpath d='M40 2 Q100 -5 160 5' stroke='%23c9b8e8' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M260 514 Q320 522 380 515' stroke='%23c9b8e8' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* ── Variant 4: Cloud/brushstroke ──── */
.ink-frame-cloud::after {
  content: '';
  position: absolute; inset: -5px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Cpath d='M35 12 Q10 2 8 30 L5 490 Q3 515 30 516 L390 518 Q415 517 416 490 L418 30 Q420 5 390 8 Z' fill='none' stroke='%23ffcba4' stroke-width='1.5' opacity='0.38'/%3E%3Cpath d='M8 100 Q-10 130 8 160 Q25 190 5 220' stroke='%23ffcba4' stroke-width='2' stroke-linecap='round' fill='none' opacity='0.28'/%3E%3Cpath d='M415 300 Q432 330 415 360 Q398 390 418 420' stroke='%23ffcba4' stroke-width='2' stroke-linecap='round' fill='none' opacity='0.28'/%3E%3Ccircle cx='25' cy='25' r='8' fill='none' stroke='%23ffcba4' stroke-width='1.2' opacity='0.35'/%3E%3Ccircle cx='395' cy='495' r='8' fill='none' stroke='%23ffcba4' stroke-width='1.2' opacity='0.35'/%3E%3Cpath d='M45 2 Q80 -8 115 4' stroke='%23ffb3c6' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cpath d='M305 516 Q340 526 375 514' stroke='%23ffb3c6' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* ── Variant 5: Spiral/sacred ──────── */
.ink-frame-spiral::after {
  content: '';
  position: absolute; inset: -5px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Crect x='8' y='8' width='404' height='504' rx='12' fill='none' stroke='%23ffb3c6' stroke-width='1.5' stroke-dasharray='6 3' opacity='0.38'/%3E%3Cpath d='M8 8 L50 8 L8 50 Z' fill='%23ffb3c6' opacity='0.2'/%3E%3Cpath d='M412 8 L370 8 L412 50 Z' fill='%23c9b8e8' opacity='0.2'/%3E%3Cpath d='M8 512 L50 512 L8 470 Z' fill='%23c9b8e8' opacity='0.2'/%3E%3Cpath d='M412 512 L370 512 L412 470 Z' fill='%23ffb3c6' opacity='0.2'/%3E%3Ccircle cx='210' cy='8' r='4' fill='%23ffb3c6' opacity='0.4'/%3E%3Ccircle cx='210' cy='512' r='4' fill='%23ffb3c6' opacity='0.4'/%3E%3Ccircle cx='8' cy='260' r='4' fill='%23c9b8e8' opacity='0.4'/%3E%3Ccircle cx='412' cy='260' r='4' fill='%23c9b8e8' opacity='0.4'/%3E%3Cpath d='M200 2 C200 2 190 12 200 18 C210 12 200 2 200 2Z' fill='%23ffb3c6' opacity='0.45'/%3E%3Cpath d='M200 518 C200 518 190 508 200 502 C210 508 200 518 200 518Z' fill='%23ffb3c6' opacity='0.45'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* ── Variant 6: Petal/organic ───────── */
.ink-frame-petal::after {
  content: '';
  position: absolute; inset: -5px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Cpath d='M40 10 Q200 -5 360 10 Q415 15 415 60 L418 460 Q420 510 370 514 L200 519 Q50 524 15 500 L8 80 Q5 20 40 10 Z' fill='none' stroke='%23fff0a0' stroke-width='1.5' opacity='0.35'/%3E%3Cpath d='M5 200 Q-12 230 5 260' stroke='%23fff0a0' stroke-width='2.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cpath d='M416 250 Q432 280 416 310' stroke='%23fff0a0' stroke-width='2.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cellipse cx='210' cy='8' rx='50' ry='8' fill='%23fff0a0' opacity='0.1'/%3E%3Cellipse cx='210' cy='516' rx='50' ry='8' fill='%23fff0a0' opacity='0.1'/%3E%3Ccircle cx='15' cy='60' r='5' fill='%23ffcba4' opacity='0.35'/%3E%3Ccircle cx='405' cy='460' r='5' fill='%23ffcba4' opacity='0.35'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* ── Drip variant ───────────────────── */
.ink-frame-drip::after {
  content: '';
  position: absolute; inset: -5px;
  pointer-events: none; z-index: 3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520'%3E%3Cpath d='M10 50 Q10 5 55 5 L365 5 Q410 5 410 50 L410 470 Q410 516 365 516 L55 516 Q10 516 10 470 Z' fill='none' stroke='%23a8e6cf' stroke-width='1.8' opacity='0.38'/%3E%3Cpath d='M55 5 Q30 -10 15 10' stroke='%23a8e6cf' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M365 5 Q388 -10 405 10' stroke='%23a8e6cf' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M55 516 Q35 530 15 510' stroke='%23a8e6cf' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M365 516 Q388 530 405 510' stroke='%23a8e6cf' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.35'/%3E%3Cpath d='M100 516 Q110 535 108 545 Q106 552 112 558 Q108 562 104 555 Q98 548 100 536Z' fill='%23a8e6cf' opacity='0.25'/%3E%3Cpath d='M200 516 Q208 540 206 552 Q204 560 210 566' stroke='%23a8e6cf' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.3'/%3E%3Cpath d='M300 5 Q308 -20 306 -32' stroke='%23a8d8ea' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.28'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* ── Reveal animation (reuse existing) ─────────── */
[data-reveal] {
  opacity: 0; transform: translateY(36px);
  transition: opacity .85s ease, transform .85s ease;
}
[data-reveal].visible {
  opacity: 1; transform: translateY(0);
}

/* ═══════════════════════════════════════════════════════
   SERVICES GRID — 4-card layout (nav services only)
═══════════════════════════════════════════════════════ */
.services-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

@media (max-width: 1024px) {
  .services-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .services-grid-4 { grid-template-columns: 1fr; }
}

/* "Explore →" link on each service card */
.svc-card-link {
  display: inline-block;
  margin-top: 14px;
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: black;
  text-decoration: none;
  opacity: .75;
  transition: opacity .25s, letter-spacing .25s;
}
.svc-card-link:hover {
  opacity: 1;
  letter-spacing: 3px;
}

/* ═══════════════════════════════════════════════════════
   VIDEO TESTIMONIALS — Portrait 9:16 (1080×1920)
═══════════════════════════════════════════════════════ */
.video-testimonials {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  justify-content: center;
  padding: 20px 0 10px;
}

.video-testi-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

/* Frame sized at 9:16 ratio — 270px wide × 480px tall */
.video-portrait-frame {
  position: relative;
  width: 270px;
  height: 480px;            /* 270 × (1920/1080) ≈ 480 */
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,76,.25);
  box-shadow: 0 8px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.04);
}

.video-portrait-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* fills the 9:16 frame perfectly */
  border-radius: 18px;
  display: block;
  background: #0d0820;
}

/* Shown when src is empty */
.video-empty-state {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: linear-gradient(160deg, rgba(30,15,60,.95), rgba(13,8,32,.98));
  pointer-events: none;
}

.video-empty-state p {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(201,168,76,.55);
}

.video-testi-name {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(240,234,255,.55);
  text-align: center;
}

/* Responsive: stack on mobile */
@media (max-width: 640px) {
  .video-portrait-frame {
    width: 85vw;
    height: calc(85vw * 1920 / 1080);
  }
}

/* ═══════════════════════════════════════════════════════
   TESTIMONIAL IMAGE AUTO-SCROLL CAROUSEL
═══════════════════════════════════════════════════════ */
.testi-img-carousel-wrap {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 12px 0;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}

.testi-img-track {
  display: flex;
  gap: 20px;
  width: max-content;
  will-change: transform;
}

/* Each image slide */
.testi-img-slide {
  flex: 0 0 420px;
  width: 420px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(201, 184, 232, 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  background: rgba(20, 12, 45, 0.6);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.testi-img-slide:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55), 0 0 20px rgba(201, 168, 76, 0.15);
}

.testi-img-slide img {
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: contain;
  display: block;
  border-radius: 16px;
}

/* Pause when hovered */
.testi-img-track.paused {
  animation-play-state: paused !important;
}

/* Dot indicators */
.testi-img-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.testi-img-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(201, 184, 232, 0.22);
  border: 1px solid rgba(201, 184, 232, 0.32);
  transition: background 0.3s, transform 0.3s;
  cursor: pointer;
}
.testi-img-dot.active {
  background: #c9a84c;
  border-color: #c9a84c;
  transform: scale(1.35);
}

/* Scroll animation — distance injected by JS */
@keyframes testiImgScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(var(--testi-img-dist)); }
}

/* Mobile: one image at a time */
@media (max-width: 700px) {
  .testi-img-slide {
    flex: 0 0 82vw;
    width: 82vw;
  }
  .testi-img-slide img {
    max-height: 400px;
  }
}

/* ══════════════════════════════════════════════════
   ANGEL BACKGROUND LAYER
   Canvas sits fixed behind everything, above stars,
   fully non-interactive. Each angel is a Canvas-drawn
   glowing dove with halo that floats diagonally across
   the viewport in a seamless infinite loop.
══════════════════════════════════════════════════ */
#angelCanvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
}
