@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --cream: #F5F0E8;
  --warm: #FDFAF5;
  --forest: #1A3528;
  --sage: #4A7060;
  --gold: #C49A4A;
  --gold-light: #E0C07A;
  --rust: #B85C38;
  --charcoal: #242424;
  --muted: #7A7268;
  --border: rgba(196,154,74,0.18);
  --shadow: 0 4px 40px rgba(26,53,40,0.08);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--charcoal); overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { font-family: 'DM Sans', sans-serif; cursor: pointer; border: none; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4,h5 { font-family: 'Cormorant Garamond', serif; font-weight: 600; line-height: 1.1; }
.label { font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: 10px; }
.label::before { content:''; width:28px; height:1px; background:var(--gold); flex-shrink:0; }

/* ── NAV ── */
#nav {
  position: fixed; top:0; left:0; right:0; z-index:200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 64px; height: 72px;
  background: rgba(245,240,232,0.97); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow 0.3s;
}
#nav.scrolled { box-shadow: var(--shadow); }
.nav-brand { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.2rem; color:var(--forest); line-height:1.2; }
.nav-brand small { display:block; font-size:0.58rem; font-family:'DM Sans',sans-serif; font-weight:400; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-top:2px; }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--charcoal); transition:color .3s; position:relative; padding-bottom:3px; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .3s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-book { background:var(--forest); color:#fff; padding:10px 24px; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; transition:background .3s; }
.nav-book:hover { background:var(--gold); }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-hamburger span { width:24px; height:2px; background:var(--charcoal); transition:all .3s; }

/* ── HERO ── */
.hero {
  min-height: 100vh; padding-top: 72px;
  display: grid; grid-template-columns: 55% 45%;
  position: relative; overflow: hidden;
}
.hero-left { display:flex; flex-direction:column; justify-content:center; padding: 80px 64px; position:relative; z-index:2; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:10px; background:rgba(196,154,74,0.1); border:1px solid var(--border); padding:7px 16px; border-radius:100px; font-size:0.65rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold); margin-bottom:32px; width:fit-content; animation: fadeUp .8s ease both; }
.hero-title { font-size:clamp(3.5rem,5.5vw,6.5rem); line-height:1; color:var(--forest); margin-bottom:28px; animation: fadeUp .8s .12s ease both; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:1rem; font-weight:300; line-height:1.85; color:var(--muted); max-width:520px; margin-bottom:48px; animation: fadeUp .8s .22s ease both; }
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; animation: fadeUp .8s .32s ease both; }
.btn-primary { background:var(--forest); color:#fff; padding:15px 36px; font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase; border:2px solid var(--forest); transition:all .3s; display:inline-block; }
.btn-primary:hover { background:transparent; color:var(--forest); }
.btn-outline { background:transparent; color:var(--charcoal); padding:15px 36px; font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase; border:2px solid rgba(36,36,36,.2); transition:all .3s; display:inline-block; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.hero-stats { display:flex; gap:48px; margin-top:56px; padding-top:40px; border-top:1px solid var(--border); animation: fadeUp .8s .42s ease both; }
.hero-stat-num { font-family:'Cormorant Garamond',serif; font-size:2.8rem; color:var(--forest); line-height:1; font-weight:600; }
.hero-stat-num span { color:var(--gold); }
.hero-stat-lbl { font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.hero-right { background:var(--forest); position:relative; overflow:hidden; min-height:100%; }
.hero-right-pattern { position:absolute; inset:0; z-index:3; pointer-events:none; background: linear-gradient(to right, var(--forest) 0%, rgba(26,53,40,0.18) 20%, transparent 50%), repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 1px,transparent 50px); }
.hero-right-glow { position:absolute; width:500px; height:500px; background:radial-gradient(circle,rgba(196,154,74,.15) 0%,transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); z-index:4; pointer-events:none; }
.hero-img-frame { position:absolute; inset:0; width:100%; height:100%; z-index:2; }
.hero-img-box { width:100%; height:100%; overflow:hidden; display:block; background:var(--forest); }
.hero-img-box img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.hero-badge-float { position:absolute; top:40px; right:20px; background:var(--gold); color:#fff; padding:20px 24px; text-align:center; z-index:5; animation: fadeIn 0.8s 3.1s both; }
.hero-badge-float strong { display:block; font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700; line-height:1; }
.hero-badge-float span { font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; }

/* ── MARQUEE ── */
/* marquee — see updated rules below */

/* ── SECTION BASE ── */
section { padding: 100px 64px; }
.section-head { margin-bottom:60px; }
.section-title { font-size:clamp(2.2rem,3.5vw,3.8rem); color:var(--forest); margin-top:14px; }
.section-title em { font-style:italic; color:var(--gold); }
.section-title-center { text-align:center; }
.section-title-center .label { justify-content:center; }

/* ── CARDS ── */
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.card-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.service-card { background:var(--warm); padding:44px 36px; border:1px solid var(--border); position:relative; overflow:hidden; transition:background .4s, color .4s; cursor:pointer; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--gold),var(--rust)); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.service-card:hover::after { transform:scaleX(1); }
.service-card:hover { background:var(--forest); }
.service-card:hover .sc-icon, .service-card:hover .sc-name { color:#fff; }
.service-card:hover .sc-desc { color:rgba(255,255,255,.55); }
.sc-num { position:absolute; top:16px; right:20px; font-family:'Cormorant Garamond',serif; font-size:3.5rem; color:rgba(196,154,74,.1); font-weight:700; line-height:1; }
.sc-icon { font-size:2rem; color:var(--sage); margin-bottom:22px; transition:color .4s; }
.sc-name { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--forest); margin-bottom:10px; font-weight:600; transition:color .4s; }
.sc-desc { font-size:0.85rem; font-weight:300; line-height:1.8; color:var(--muted); transition:color .4s; }

/* ── ABOUT SPLIT ── */
.split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.split.reverse { direction:rtl; }
.split.reverse > * { direction:ltr; }
.img-box { position:relative; }
.img-placeholder { width:100%; aspect-ratio:4/5; background:linear-gradient(135deg,var(--sage) 0%,var(--forest) 100%); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.35); font-size:.85rem; letter-spacing:.1em; border-radius:4px; }
.img-accent { position:absolute; top:-20px; right:-20px; width:110px; height:110px; border:2px solid var(--gold); border-radius:50%; background:var(--warm); display:flex; align-items:center; justify-content:center; text-align:center; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); line-height:1.5; }
.text-content p { font-size:0.95rem; font-weight:300; line-height:1.9; color:var(--muted); margin-bottom:18px; }
.tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.tag { background:rgba(26,53,40,.06); border:1px solid var(--border); padding:7px 14px; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--forest); border-radius:2px; }

/* ── TESTIMONIALS ── */
.tcard { background:var(--warm); padding:36px 28px; border:1px solid var(--border); position:relative; }
.tcard::before { content:'"'; position:absolute; top:12px; right:20px; font-family:'Cormorant Garamond',serif; font-size:5rem; color:rgba(196,154,74,.1); line-height:1; }
.stars { color:var(--gold); font-size:.8rem; letter-spacing:2px; margin-bottom:16px; }
.tcard-text { font-size:.88rem; font-weight:300; line-height:1.85; color:var(--muted); margin-bottom:24px; font-style:italic; }
.tcard-author { display:flex; align-items:center; gap:12px; }
.tcard-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--sage),var(--forest)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Cormorant Garamond',serif; font-size:.95rem; font-weight:600; }
.tcard-name { font-weight:500; font-size:.85rem; }
.tcard-loc { font-size:.7rem; color:var(--muted); margin-top:2px; }

/* ── CTA BAND ── */
.cta-band { background:var(--forest); padding:80px 64px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:40px; }
.cta-band h2 { font-size:clamp(2rem,3vw,3.2rem); color:#fff; line-height:1.2; margin-bottom:10px; }
.cta-band p { color:rgba(255,255,255,.6); font-size:.95rem; font-weight:300; }
.btn-gold { background:var(--gold); color:#fff; padding:16px 40px; font-size:.75rem; letter-spacing:0.18em; text-transform:uppercase; border:2px solid var(--gold); transition:all .3s; display:inline-block; }
.btn-gold:hover { background:transparent; color:var(--gold); }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid var(--border); }
.faq-q { width:100%; display:flex; justify-content:space-between; align-items:center; padding:22px 0; background:transparent; font-family:'DM Sans',sans-serif; font-size:.95rem; font-weight:500; color:var(--charcoal); cursor:pointer; text-align:left; gap:16px; }
.faq-q span { color:var(--gold); font-size:1.2rem; transition:transform .3s; }
.faq-q.open span { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-a p { padding:0 0 20px; font-size:.88rem; font-weight:300; line-height:1.8; color:var(--muted); }

/* ── CONTACT FORM ── */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.form-group input, .form-group select, .form-group textarea { padding:13px 15px; background:var(--cream); border:1px solid var(--border); font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--charcoal); outline:none; transition:border-color .3s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { height:110px; resize:none; }

/* ── FOOTER ── */
footer { background:var(--charcoal); color:rgba(255,255,255,.55); padding:64px 64px 28px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:48px; }
.footer-brand-name { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.2rem; color:#fff; margin-bottom:14px; }
.footer-brand-name small { display:block; font-size:.58rem; font-family:'DM Sans',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-top:3px; }
footer p.small { font-size:.82rem; font-weight:300; line-height:1.8; }
.footer-col h4 { font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.footer-col a { display:block; color:rgba(255,255,255,.45); font-size:.82rem; font-weight:300; margin-bottom:9px; transition:color .3s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:.72rem; }
.disclaimer { font-size:.65rem; color:rgba(255,255,255,.25); max-width:500px; line-height:1.6; }

/* ── PAGE HERO (inner pages) ── */
.page-hero { background:var(--forest); padding:140px 64px 80px; position:relative; overflow:hidden; }
.page-hero-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 50px); }
.page-hero-glow { position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:radial-gradient(circle,rgba(196,154,74,.15) 0%,transparent 70%); }
.page-hero h1 { font-size:clamp(2.8rem,5vw,5rem); color:#fff; position:relative; z-index:2; margin-top:14px; }
.page-hero .label { color:var(--gold-light); position:relative; z-index:2; }
.page-hero p { font-size:1rem; font-weight:300; color:rgba(255,255,255,.65); line-height:1.8; max-width:640px; margin-top:20px; position:relative; z-index:2; }
.breadcrumb { font-size:.7rem; letter-spacing:.1em; color:rgba(255,255,255,.4); margin-bottom:24px; position:relative; z-index:2; }
.breadcrumb a { color:var(--gold-light); }
.breadcrumb a:hover { text-decoration:underline; }

/* ── KEYWORD BOXES (SEO blocks) ── */
.kw-area { background:var(--warm); padding:48px 64px; border-top:3px solid var(--gold); }
.kw-area p { font-size:.82rem; font-weight:300; line-height:1.9; color:var(--muted); }
.kw-area strong { color:var(--forest); }

/* ── REVEAL ANIMATION ── */


/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }
@keyframes riseUp { from{opacity:0;transform:translateX(-50%) translateY(40px)} to{opacity:1;transform:translateX(-50%) translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* ── MOBILE ── */
@media(max-width:900px){
  #nav{ padding:0 24px; }
  .nav-links,.nav-book{ display:none; }
  .nav-hamburger{ display:flex; }
  .mobile-menu{ display:none; position:fixed; top:72px; left:0; right:0; bottom:0; background:var(--cream); z-index:190; flex-direction:column; align-items:center; justify-content:center; gap:32px; }
  .mobile-menu.open{ display:flex; }
  .mobile-menu a{ font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600; color:var(--forest); }
  section{ padding:64px 24px; }
  .hero{ grid-template-columns:1fr; min-height:auto; }
  .hero-left{ padding:60px 24px 48px; }
  .hero-right{ height:380px; }
  .split{ grid-template-columns:1fr; gap:40px; }
  .split.reverse{ direction:ltr; }
  .card-grid-3,.card-grid-4{ grid-template-columns:1fr; }
  .card-grid-2{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .cta-band{ padding:56px 24px; }
  .page-hero{ padding:120px 24px 60px; }
  .form-grid{ grid-template-columns:1fr; }
  footer{ padding:48px 24px 24px; }
  .kw-area{ padding:40px 24px; }
  .hero-stats{ flex-wrap:wrap; gap:28px; }
}


/* ── REVEAL ANIMATION ── */
.reveal { opacity:0; transform:translateY(32px); transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1); }
.reveal.vis { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:0.12s; }
.reveal-d2 { transition-delay:0.24s; }
.reveal-d3 { transition-delay:0.36s; }

/* ══════════════════════════════════════════
   PAGE LOADER — TAROT CARD ANIMATION (GSAP)
   ══════════════════════════════════════════ */
#page-loader {
  position: fixed; inset: 0; z-index: 9999;
  background: #06080f;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(196,154,74,0.07) 0%, transparent 70%),
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(60,40,140,0.12) 0%, transparent 60%);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.ldr-stars-bg { position: absolute; inset: 0; pointer-events: none; }
.ldr-star {
  position: absolute; background: #fff; border-radius: 50%;
  opacity: 0;
  animation: ldrTwinkle 2.5s ease-in-out infinite alternate;
}
@keyframes ldrTwinkle { 0%{opacity:.1} 100%{opacity:.75} }
.ldr-glow {
  position: absolute;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(196,154,74,.18) 0%, transparent 70%);
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  pointer-events: none;
}
.ldr-content {
  display: flex; flex-direction: column;
  align-items: center; gap: 36px;
  position: relative; z-index: 2;
}
/* CARDS ROW */
.ldr-cards { display: flex; align-items: flex-end; gap: 18px; }
.ldr-card {
  width: 88px; height: 144px;
  perspective: 900px;
  opacity: 0;
}
.ldr-card-center { width: 104px; height: 168px; }
.ldr-card-inner {
  width: 100%; height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transform: rotateY(0deg);
}
.ldr-card-back,
.ldr-card-front {
  position: absolute; inset: 0;
  border-radius: 6px;
  backface-visibility: hidden;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 8px;
}
/* BACK of card */
.ldr-card-back {
  background: linear-gradient(145deg, #0e2218, #1a3528);
  border: 1.5px solid rgba(196,154,74,.45);
  background-image:
    repeating-linear-gradient(45deg, rgba(196,154,74,.06) 0, rgba(196,154,74,.06) 1px, transparent 1px, transparent 12px),
    repeating-linear-gradient(-45deg, rgba(196,154,74,.06) 0, rgba(196,154,74,.06) 1px, transparent 1px, transparent 12px);
}
.ldr-card-back::before {
  content: '✦';
  color: rgba(196,154,74,.35);
  font-size: 1.6rem;
}
.ldr-card-back::after {
  content: '';
  position: absolute; inset: 6px;
  border: 1px solid rgba(196,154,74,.18);
  border-radius: 4px;
}
/* FRONT of card */
.ldr-card-front {
  transform: rotateY(180deg);
  background: linear-gradient(160deg, #fdfaf5, #f0e8d8);
  border: 1.5px solid var(--gold);
}
.ldr-card-symbol { font-size: 2rem; line-height: 1; }
.ldr-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.58rem; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--forest); font-weight: 600;
  text-align: center; padding: 0 6px;
}
.ldr-card-front.ldr-card-gold {
  background: linear-gradient(160deg, #c49a4a, #e0c07a);
  border-color: #fff3;
}
.ldr-card-front.ldr-card-gold .ldr-card-title { color: #fff; }
/* DIVIDER */
.ldr-divider {
  width: 260px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform-origin: center; transform: scaleX(0);
}
/* BRAND */
.ldr-brand { text-align: center; opacity: 0; transform: translateY(16px); }
.ldr-brand-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem; font-weight: 600;
  color: #fff; letter-spacing: 0.08em;
}
.ldr-brand-tagline {
  font-size: 0.6rem; letter-spacing: 0.38em;
  text-transform: uppercase; color: var(--gold-light);
  margin-top: 6px;
}

/* ── MOBILE NAV FIX ── */
.mobile-menu { display: none; }


/* ══════════════════════════════════════════════════════
   AUVIEPHY BRAND LOGO
   ══════════════════════════════════════════════════════ */
.nav-brand { display:flex; align-items:center; text-decoration:none; }
.nav-logo-svg { height:46px; width:auto; display:block; }
.nav-brand small { display:none; }

/* ══════════════════════════════════════════════════════
   LOADER — RW TAROT CARDS STYLING
   ══════════════════════════════════════════════════════ */
/* RW-style card back — deep indigo with diamond grid */
.ldr-card-back {
  background: #160d50;
  border: 2px solid #e8e0d8 !important;
  background-image:
    repeating-linear-gradient(45deg,  rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 12px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 12px) !important;
}
.ldr-card-back::before { content:'' !important; position:absolute; inset:5px; border:1px solid rgba(255,255,255,0.18); border-radius:3px; }
.ldr-card-back::after { display:none; }
/* Card front: full SVG art, no padding */
.ldr-card-front { padding:8px 4px !important; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.ldr-card-front svg { width:100%; height:100%; display:block; }
/* Loader brand uses logo SVG */
.ldr-brand { flex-direction:column; align-items:center; }
.ldr-brand-icon { opacity:0; transform:translateY(16px); }
.ldr-logo-svg { filter:brightness(1.3); }
.ldr-brand-tagline { font-size:0.55rem; letter-spacing:0.34em; text-transform:uppercase; color:var(--gold-light); margin-top:8px; }
.ldr-brand-name { font-family:'Cormorant Garamond', serif; font-size:1.8rem; font-weight:600; color:#fff; letter-spacing:0.08em; text-align:center; opacity:0; transform:translateY(16px); }

/* ══════════════════════════════════════════════════════
   CUSTOM CURSOR
   ══════════════════════════════════════════════════════ */
@media (pointer:fine) {
  * { cursor: none !important; }
  .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:width .2s, height .2s, background .2s;
  }
  .cursor-ring {
    width:34px; height:34px;
    border:1.5px solid rgba(196,154,74,0.5);
    border-radius:50%; position:fixed; top:0; left:0;
    pointer-events:none; z-index:99998;
    transform:translate(-50%,-50%);
  }
  a:hover ~ .cursor-dot, button:hover ~ .cursor-dot { width:12px; height:12px; background:var(--gold-light); }
}

/* ══════════════════════════════════════════════════════
   HERO — STAGGERED TEXT ENTRY
   ══════════════════════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(32px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
.hero-eyebrow  { animation: fadeUp 0.8s 2.6s both ease-out; }
.hero-title    { animation: fadeUp 0.9s 2.8s both ease-out; }
.hero-sub      { animation: fadeUp 0.8s 3.0s both ease-out; }
.hero-btns     { animation: fadeUp 0.8s 3.15s both ease-out; }
.hero-stats    { animation: fadeUp 0.8s 3.3s both ease-out; }

/* ══════════════════════════════════════════════════════
   PAGE HERO — TEXT REVEAL
   ══════════════════════════════════════════════════════ */
.page-hero .breadcrumb { animation: fadeUp 0.6s 2.7s both ease-out; opacity:0; }
.page-hero .label      { animation: fadeUp 0.7s 2.75s both ease-out; opacity:0; }
.page-hero h1          { animation: fadeUp 0.85s 2.85s both ease-out; opacity:0; }
.page-hero p           { animation: fadeUp 0.8s 3.05s both ease-out; opacity:0; }

/* ══════════════════════════════════════════════════════
   SERVICE CARDS — 3D TILT & GLOW
   ══════════════════════════════════════════════════════ */
.service-card {
  transform-style: preserve-3d;
  transition: box-shadow 0.4s, border-color 0.3s;
  will-change: transform;
}
.service-card:hover {
  box-shadow: 0 20px 60px rgba(196,154,74,0.18), 0 0 0 1px rgba(196,154,74,0.3);
}

/* ══════════════════════════════════════════════════════
   REVEAL — ENHANCED
   ══════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════
   FLOATING PARTICLES
   ══════════════════════════════════════════════════════ */
@keyframes floatDrift {
  0%   { transform:translateY(0)   translateX(0)    scale(1);   opacity:0; }
  15%  { opacity:1; }
  50%  { transform:translateY(-28px) translateX(12px)  scale(1.1); }
  85%  { opacity:0.6; }
  100% { transform:translateY(-55px) translateX(-8px)  scale(0.8); opacity:0; }
}
.avy-particle {
  position:absolute; border-radius:50%; pointer-events:none;
  background: radial-gradient(circle, rgba(196,154,74,0.7) 0%, transparent 70%);
  animation: floatDrift linear infinite;
}

/* ══════════════════════════════════════════════════════
   STAT COUNTER SHIMMER
   ══════════════════════════════════════════════════════ */
.hero-stat-num {
  background: linear-gradient(90deg, var(--forest) 0%, var(--gold) 50%, var(--forest) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: statShimmer 3s 2s infinite ease-in-out;
}
@keyframes statShimmer {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* ══════════════════════════════════════════════════════
   BUTTONS — MAGNETIC CONTAINER
   ══════════════════════════════════════════════════════ */
.btn-primary, .btn-gold, .btn-outline, .btn-nav {
  display:inline-block;
  will-change: transform;
  transform-origin: center;
}

/* ══════════════════════════════════════════════════════
   MARQUEE — ENHANCED
   ══════════════════════════════════════════════════════ */
.marquee { overflow:hidden; background:var(--forest); padding:14px 0; }
.marquee-track {
  display:flex; gap:48px; white-space:nowrap;
  animation: marqueeScroll 28s linear infinite;
}
.marquee-track span { font-size:0.62rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold-light); opacity:0.8; }
.marquee-track span::before { content:'✦'; margin-right:20px; color:var(--gold); opacity:0.5; font-size:0.5rem; }
@keyframes marqueeScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }

/* ══════════════════════════════════════════════════════
   HERO IMAGE FLOAT
   ══════════════════════════════════════════════════════ */

@keyframes heroImgReveal {
  from { opacity:0; transform:scale(1.06); }
  to   { opacity:1; transform:scale(1); }
}

@keyframes heroFloat {
  0%,100% { transform:translateY(0px); }
  50%     { transform:translateY(-12px); }
}
.hero-img-frame { animation: heroImgReveal 1.2s 2.6s ease both; }
.hero-badge-float { animation: fadeIn 0.8s 3.1s ease both, heroFloat 6s 4.0s ease-in-out infinite; }

/* ══════════════════════════════════════════════════════
   TESTIMONIALS — SCROLL MARQUEE
   ══════════════════════════════════════════════════════ */
.tcard {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.tcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(26,53,40,0.14);
}

/* ══════════════════════════════════════════════════════
   NAV GLASS EFFECT
   ══════════════════════════════════════════════════════ */
#nav.scrolled {
  background: rgba(245,240,232,0.92);
  backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: 0 2px 40px rgba(26,53,40,0.1);
}

/* ══════════════════════════════════════════════════════
   SECTION HEAD DIVIDER ANIMATION
   ══════════════════════════════════════════════════════ */
.label { position:relative; overflow:hidden; }

/* ══════════════════════════════════════════════════════
   CTA BAND — PULSE GLOW
   ══════════════════════════════════════════════════════ */
.cta-band {
  position: relative; overflow:hidden;
}
.cta-band::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(196,154,74,0.12) 0%, transparent 70%);
  animation: ctaPulse 4s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%,100% { opacity:0.6; transform:scale(1); }
  50%     { opacity:1;   transform:scale(1.05); }
}

/* ══════════════════════════════════════════════════════
   IMG BOX — PARALLAX PREPARE
   ══════════════════════════════════════════════════════ */
.img-box { overflow:hidden; }
.img-box img { transition:transform 0.6s cubic-bezier(.22,1,.36,1); }
.img-box:hover img { transform:scale(1.04); }

/* ══════════════════════════════════
   BLOG INDEX & ARTICLE STYLES
   ══════════════════════════════════ */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:8px; }
.blog-card { background:var(--warm); overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--border); transition:box-shadow .3s, transform .3s; cursor:pointer; }
.blog-card:hover { box-shadow:0 16px 48px rgba(26,53,40,.12); transform:translateY(-4px); }
.blog-card-img { aspect-ratio:16/9; overflow:hidden; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; display:block; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:28px 24px 32px; flex:1; display:flex; flex-direction:column; }
.blog-card-cat { font-size:.58rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.blog-card-title { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:600; color:var(--forest); line-height:1.3; margin-bottom:10px; }
.blog-card-excerpt { font-size:.82rem; font-weight:300; line-height:1.8; color:var(--muted); flex:1; margin-bottom:20px; }
.blog-card-meta { display:flex; align-items:center; gap:14px; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border-top:1px solid var(--border); padding-top:14px; margin-top:auto; }
.blog-card-read { margin-left:auto; color:var(--gold); font-weight:500; }
/* Article page */
.article-hero { background:var(--forest); position:relative; overflow:hidden; }
.article-hero-img { width:100%; height:480px; object-fit:cover; opacity:.45; display:block; }
.article-hero-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:60px 80px; background:linear-gradient(to top, rgba(26,53,40,.95) 0%, rgba(26,53,40,.4) 60%, transparent 100%); z-index:2; }
.article-cat { font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-light); margin-bottom:14px; }
.article-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.6rem); color:#fff; font-weight:600; line-height:1.1; max-width:800px; margin-bottom:18px; }
.article-meta { display:flex; gap:24px; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.article-body { max-width:780px; margin:0 auto; padding:72px 40px; }
.article-body p { font-size:1rem; font-weight:300; line-height:1.95; color:#3a3832; margin-bottom:24px; }
.article-body h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--forest); font-weight:600; margin:48px 0 18px; line-height:1.2; }
.article-body h2::before { content:''; display:block; width:40px; height:2px; background:var(--gold); margin-bottom:12px; }
.article-body strong { color:var(--forest); font-weight:500; }
.article-body em { color:var(--gold); font-style:italic; }
.article-body a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.article-related { background:var(--warm); padding:80px 64px; }
@media(max-width:900px){
  .blog-grid { grid-template-columns:1fr; }
  .article-hero-overlay { padding:40px 24px; }
  .article-body { padding:48px 24px; }
  .article-related { padding:48px 24px; }
}

/* ══════════════════════════════════════════════════════
   AUVIEPHY ANIMATION ADDITIONS
   ══════════════════════════════════════════════════════ */

/* Floating prana particles */
@keyframes floatDrift {
  0%   { transform:translateY(0) translateX(0) scale(1);    opacity:0; }
  15%  { opacity:1; }
  50%  { transform:translateY(-32px) translateX(14px) scale(1.15); }
  85%  { opacity:0.5; }
  100% { transform:translateY(-60px) translateX(-10px) scale(0.75); opacity:0; }
}
.avy-particle {
  position:absolute; border-radius:50%; pointer-events:none;
  animation: floatDrift linear infinite;
}

/* Sacred canvas in hero-right */
.hero-right canvas { mix-blend-mode: screen; }

/* Hero image frame — aura rings prep */
.hero-img-frame { position:relative; }

/* Scroll progress bar */
#scroll-progress {
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg,#C49A4A,#E0C07A,#C49A4A);
  z-index:9997; pointer-events:none;
}

/* Mobile menu open animation */
.mobile-menu.open { display:flex; }
.nav-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* Testimonial card pointer fix */
.tcard { cursor:default; }

/* Blog card + service card — no double cursor pointer */
.blog-card { cursor:pointer; }

/* Section labels animated */
.label { overflow:visible; }

/* Article hero Ken Burns */
.article-hero { overflow:hidden; }

/* Gold shimmer on stat numbers */
.hero-stat-num {
  background: linear-gradient(90deg, var(--forest) 0%, var(--gold) 50%, var(--forest) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: statShimmer 4s 3.5s infinite ease-in-out;
}
@keyframes statShimmer {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position:100% 50%; }
}

/* Enhanced CTA band pulse */
.cta-band { position:relative; overflow:hidden; }
.cta-band::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%, rgba(196,154,74,0.1) 0%, transparent 70%);
  animation: ctaPulse 4s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%,100% { opacity:0.5; transform:scale(1); }
  50%     { opacity:1;   transform:scale(1.08); }
}

/* Image box hover zoom */
.img-box { overflow:hidden; }
.img-box img { transition:transform 0.6s cubic-bezier(.22,1,.36,1); }
.img-box:hover img { transform:scale(1.04); }

/* Nav glassmorphism on scroll */
#nav.scrolled {
  background:rgba(245,240,232,0.88);
  backdrop-filter: blur(24px) saturate(1.6);
  box-shadow:0 2px 40px rgba(26,53,40,0.10);
}

/* Marquee enhanced */
.marquee { overflow:hidden; }
.marquee-track {
  display:flex; gap:48px; white-space:nowrap;
  animation: marqueeRoll 30s linear infinite;
}
.marquee-track span {
  font-size:0.62rem; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold-light); opacity:0.85;
}
.marquee-track span::before {
  content:'✦'; margin-right:20px;
  color:var(--gold); opacity:0.6; font-size:0.5rem;
}
@keyframes marqueeRoll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* Cursor ring */
.cursor-ring { transition: none; }
