/* ============================================================
   VAULTEX — Dark / Light Mode Support
   Fonts: Cormorant Garamond (display) + Space Grotesk (UI)
   Theme controlled via data-theme="dark"|"light" on <html>
   Default: dark
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

/* ── DARK THEME (default) ── */
:root,
html[data-theme="dark"] {
  --bg:        #080A0F;
  --surface:   #0E1117;
  --surface2:  #141820;
  --surface3:  #1C2130;
  --border:    #1E2736;
  --border2:   rgba(255,255,255,.05);
  --gold:      #C9A84C;
  --gold-l:    #E8C96A;
  --gold-d:    #8B6E30;
  --gold-glow: rgba(201,168,76,.18);
  --silver:    #8A95A3;
  --muted:     #5A6478;
  --ash:       #2A3140;
  --text:      #F0EDE8;
  --text2:     #8A95A3;
  --green:     #2DD4A8;
  --red:       #F05C6A;
  --border-gold: rgba(201,168,76,.2);
  --nav-bg:    rgba(8,10,15,.95);
  --card-bg:   #0E1117;
  --input-bg:  rgba(255,255,255,.04);
  --shadow:    0 8px 40px rgba(0,0,0,.5);
}

/* ── LIGHT THEME ── */
html[data-theme="light"] {
  --bg:        #F5F3EF;
  --surface:   #FFFFFF;
  --surface2:  #F0EDE8;
  --surface3:  #E8E4DC;
  --border:    #DDD9D0;
  --border2:   rgba(0,0,0,.06);
  --gold:      #9A6F28;
  --gold-l:    #B8882F;
  --gold-d:    #7A5520;
  --gold-glow: rgba(154,111,40,.12);
  --silver:    #6B6B6B;
  --muted:     #9A9A9A;
  --ash:       #CCCCCC;
  --text:      #1A1612;
  --text2:     #6B6B6B;
  --green:     #1A9A7A;
  --red:       #C0392B;
  --border-gold: rgba(154,111,40,.25);
  --nav-bg:    rgba(245,243,239,.96);
  --card-bg:   #FFFFFF;
  --input-bg:  rgba(0,0,0,.03);
  --shadow:    0 4px 24px rgba(0,0,0,.1);
}

/* ── TRANSITIONS ── */
*, *::before, *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  transition: background-color .25s ease, border-color .25s ease, color .2s ease;
}
html { scroll-behavior: smooth; }

body {
  font-family: 'Space Grotesk', sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: 'Cormorant Garamond', serif; color: var(--text); line-height: 1.1; }
h4, h5, h6 { font-family: 'Space Grotesk', sans-serif; color: var(--text); }
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-l); }
img { max-width: 100%; }

/* ── SPINNER ── */
#spinner { opacity:0; visibility:hidden; transition:opacity .4s,visibility 0s linear .4s; z-index:99999; background:var(--bg)!important; }
#spinner.show { visibility:visible; opacity:1; }
.spinner-border { border-color: var(--gold) transparent transparent transparent; }

/* ── TOPBAR ── */
.topbar { background: var(--surface); border-bottom: 1px solid var(--border-gold); position: relative; }
.topbar::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent 0%,var(--gold) 30%,var(--gold) 70%,transparent 100%); opacity:.4; }
.topbar a { color: var(--silver); font-size:.72rem; font-weight:500; letter-spacing:.04em; }
.topbar a:hover { color: var(--gold-l); }
.topbar .fa { color: var(--gold)!important; }

/* ── NAVBAR ── */
.navbar-light {
  background: var(--nav-bg)!important;
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border-bottom: 1px solid var(--border)!important;
  padding: 0 2rem;
  transition: all .35s;
}
.sticky-top.navbar-light {
  position: fixed!important;
  border-bottom-color: var(--border-gold)!important;
  box-shadow: 0 8px 40px rgba(0,0,0,.12), 0 1px 0 var(--border-gold);
}
.navbar-light .navbar-brand h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; font-weight: 600;
  color: var(--text); letter-spacing: .08em; margin: 0;
}
.navbar-light .navbar-brand h1 em { color: var(--gold); font-style: normal; }
.navbar-light .navbar-nav .nav-link {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
  color: var(--silver)!important;
  padding: 28px 0; margin: 0 16px; position: relative; transition: color .25s;
}
.navbar-light .navbar-nav .nav-link::after {
  content: ''; position: absolute; bottom: 20px; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width .3s cubic-bezier(.4,0,.2,1);
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active { color: var(--text)!important; }
.navbar-light .navbar-nav .nav-link:hover::after,
.navbar-light .navbar-nav .nav-link.active::after { width: 100%; }
.sticky-top.navbar-light .navbar-nav .nav-link { padding: 18px 0; }
.sticky-top.navbar-light .navbar-nav .nav-link::after { bottom: 12px; }
@media (max-width:991.98px) {
  .navbar-light { position:relative!important; background:var(--surface)!important; padding:0 1rem; }
  .navbar-light .navbar-nav .nav-link { padding:12px 0; margin:0; }
  .navbar-light .navbar-nav .nav-link::after { display:none; }
  .navbar-light .navbar-collapse { border-top:1px solid var(--border); padding-top:12px; }
  .navbar-light .navbar-toggler { border:1px solid var(--gold)!important; background:transparent!important; padding:6px 12px; }
}

/* ── THEME TOGGLE BUTTON (public nav) ── */
.theme-toggle-btn {
  width: 34px; height: 34px;
  border: 1px solid var(--border);
  background: transparent;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .25s, background .25s;
  flex-shrink: 0;
}
.theme-toggle-btn:hover { border-color: var(--gold); background: var(--input-bg); }
.theme-toggle-btn svg { width: 15px; height: 15px; stroke: var(--silver); fill: none; }
.theme-toggle-btn:hover svg { stroke: var(--gold); }

/* ── BUTTONS ── */
.btn { font-family:'Space Grotesk',sans-serif!important; border-radius:0!important; font-size:.72rem!important; font-weight:600!important; letter-spacing:.12em!important; text-transform:uppercase!important; transition:all .3s!important; }
.btn-accent, .btn-primary {
  background:transparent!important; border:1px solid var(--gold)!important;
  color:var(--gold)!important; padding:12px 32px!important;
  position:relative; overflow:hidden;
}
.btn-accent::before, .btn-primary::before {
  content:''; position:absolute; inset:0; background:var(--gold);
  transform:translateX(-101%); transition:transform .35s cubic-bezier(.4,0,.2,1); z-index:0;
}
.btn-accent:hover, .btn-primary:hover { color:var(--bg)!important; }
.btn-accent:hover::before, .btn-primary:hover::before { transform:translateX(0); }
.btn-accent *, .btn-primary * { position:relative; z-index:1; }
.btn-light { background:transparent!important; border:1px solid var(--border)!important; color:var(--silver)!important; padding:12px 28px!important; }
.btn-light:hover { border-color:var(--gold)!important; color:var(--gold)!important; }
.btn-outline-accent, .btn-outline-primary { background:transparent!important; border:1px solid var(--ash)!important; color:var(--silver)!important; padding:8px 18px!important; }
.btn-outline-accent:hover, .btn-outline-primary:hover { border-color:var(--gold)!important; color:var(--gold)!important; }
.btn-danger { background:rgba(240,92,106,.1)!important; border:1px solid rgba(240,92,106,.4)!important; color:var(--red)!important; }
.btn-danger:hover { background:rgba(240,92,106,.2)!important; }
.btn-link { color:var(--muted)!important; font-size:.82rem!important; display:block!important; padding:6px 0!important; text-decoration:none!important; text-transform:none!important; letter-spacing:0!important; border:none!important; }
.btn-link:hover { color:var(--text)!important; }
.btn-sm { padding:7px 18px!important; font-size:.65rem!important; }

/* ── HERO CAROUSEL ── */
.header-carousel .header-carousel-item,
.header-carousel .header-carousel-item img { height:100vh; object-fit:cover; }
.header-carousel .header-carousel-item .carousel-caption {
  position:absolute; width:100%; height:100%; left:0; bottom:0; padding-top:100px;
  background:linear-gradient(135deg,rgba(8,10,15,.94) 0%,rgba(8,10,15,.7) 55%,var(--gold-glow) 100%);
  display:flex; align-items:center;
}
html[data-theme="light"] .header-carousel .header-carousel-item .carousel-caption {
  background:linear-gradient(135deg,rgba(26,22,18,.88) 0%,rgba(26,22,18,.6) 55%,rgba(154,111,40,.08) 100%);
}
.header-carousel .header-carousel-item img { animation:imgZoom 14s ease-in-out infinite alternate; }
@keyframes imgZoom { 0%{transform:scale(1)} 100%{transform:scale(1.06)} }
.hero-grid-overlay {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(201,168,76,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.03) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,black 20%,transparent 80%);
}
.hero-eyebrow { display:inline-flex; align-items:center; gap:10px; border:1px solid var(--border-gold); padding:7px 18px; font-size:.65rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:28px; }
.hero-eyebrow .pulse-dot { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); animation:pulseLive 2s ease-in-out infinite; }
@keyframes pulseLive { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.6)} }
.hero-headline { font-family:'Cormorant Garamond',serif; font-size:clamp(3.5rem,8vw,6.5rem); font-weight:300; line-height:1; color:#F0EDE8; letter-spacing:-.02em; margin-bottom:28px; }
.hero-headline .italic-line { font-style:italic; font-weight:600; background:linear-gradient(135deg,var(--gold-d),var(--gold),var(--gold-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block; }
.hero-sub { font-size:.95rem; font-weight:300; color:#8A95A3; line-height:1.9; max-width:460px; margin-bottom:44px; }
.hero-card { background:var(--surface); border:1px solid var(--border); padding:28px; position:relative; animation:floatCard 7s ease-in-out 1.3s infinite; }
.hero-card::before { content:''; position:absolute; top:0; left:20px; right:20px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
@keyframes floatCard { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
.sparkbar { display:flex; align-items:flex-end; gap:3px; height:44px; margin:16px 0; }
.sparkbar span { flex:1; background:linear-gradient(180deg,var(--gold),var(--gold-d)); border-radius:1px 1px 0 0; opacity:.65; }
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next { position:absolute; width:50px; height:50px; background:transparent!important; border:1px solid var(--gold)!important; color:var(--gold)!important; font-size:18px; display:flex; align-items:center; justify-content:center; transition:all .3s; }
.header-carousel .owl-nav .owl-prev { bottom:40px; left:80px; }
.header-carousel .owl-nav .owl-next { bottom:40px; left:28px; }
.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover { background:var(--gold)!important; color:var(--bg)!important; }
@media (max-width:767px) {
  .header-carousel .header-carousel-item,
  .header-carousel .header-carousel-item img { height:100svh; }
}

/* ── TICKER ── */
.ticker-wrap { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:10px 0; overflow:hidden; position:relative; }
.ticker-wrap::before { content:''; position:absolute; top:0; bottom:0; left:0; width:80px; background:linear-gradient(90deg,var(--surface),transparent); z-index:2; }
.ticker-wrap::after  { content:''; position:absolute; top:0; bottom:0; right:0; width:80px; background:linear-gradient(-90deg,var(--surface),transparent); z-index:2; }
.ticker-tape { display:flex; gap:0; animation:tickerRun 40s linear infinite; width:max-content; }
@keyframes tickerRun { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ticker-item { display:flex; align-items:center; gap:10px; padding:0 28px; border-right:1px solid var(--border); font-size:.72rem; font-weight:500; letter-spacing:.04em; white-space:nowrap; }
.t-sym { color:var(--muted); font-weight:700; letter-spacing:.1em; font-size:.65rem; text-transform:uppercase; }
.t-price { color:var(--text); font-variant-numeric:tabular-nums; }
.t-up { color:var(--green); }
.t-dn { color:var(--red); }

/* ── STATS BAR ── */
.stats-bar { background:var(--surface); border-bottom:1px solid var(--border); border-top:1px solid var(--border-gold); }
.stat-item { padding:36px 28px; border-right:1px solid var(--border); position:relative; overflow:hidden; transition:background .3s; }
.stat-item:last-child { border-right:none; }
.stat-item::after { content:''; position:absolute; top:0; left:0; width:2px; height:0; background:var(--gold); transition:height .5s cubic-bezier(.4,0,.2,1); }
.stat-item:hover::after { height:100%; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:600; color:var(--text); line-height:1; }
.stat-label { font-size:.65rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

/* ── SECTIONS ── */
.section-surface { background:var(--bg); }
.section-dark { background:var(--surface); }
.section-badge { font-size:.65rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:12px; }
.section-badge::before,.section-badge::after { content:''; display:inline-block; width:36px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.section-badge::after { background:linear-gradient(-90deg,transparent,var(--gold)); }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,5vw,3.8rem); font-weight:300; color:var(--text); line-height:1.1; }
.section-title span { font-style:italic; font-weight:600; color:var(--gold); }

/* ── FEATURE CARDS ── */
.feature-card { background:var(--surface); border:1px solid var(--border); padding:40px 32px; position:relative; overflow:hidden; transition:border-color .3s,transform .35s; height:100%; }
.feature-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:scaleX(0); transition:transform .4s; }
.feature-card:hover { border-color:var(--border-gold); transform:translateY(-5px); }
.feature-card:hover::after { transform:scaleX(1); }
.feature-icon { width:50px; height:50px; border:1px solid var(--border-gold); display:flex; align-items:center; justify-content:center; margin-bottom:24px; font-size:1.3rem; color:var(--gold); }
.feature-card h5 { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:600; margin-bottom:12px; color:var(--text); }
.feature-card p { font-size:.88rem; color:var(--silver); line-height:1.85; }

/* ── STEP CARDS ── */
.step-card { background:var(--surface); border:1px solid var(--border); padding:36px 28px; position:relative; height:100%; transition:border-color .3s; }
.step-card:hover { border-color:var(--border-gold); }
.step-num { font-family:'Cormorant Garamond',serif; font-size:5rem; font-weight:700; color:var(--border); line-height:1; position:absolute; top:16px; right:20px; letter-spacing:-.05em; transition:color .3s; }
.step-card:hover .step-num { color:rgba(201,168,76,.2); }
.step-icon { font-size:1.5rem; margin-bottom:20px; display:block; }
.step-card h5 { font-size:.9rem; font-weight:600; letter-spacing:.06em; margin-bottom:10px; color:var(--text); }
.step-card p { font-size:.85rem; color:var(--silver); line-height:1.85; }

/* ── PLAN CARDS ── */
.plan-card { background:var(--surface); border:1px solid var(--border); padding:40px 32px; position:relative; overflow:hidden; transition:all .35s; height:100%; }
.plan-card.featured { border-color:var(--gold); background:var(--surface2); }
.plan-card.featured::before { content:'RECOMMENDED'; position:absolute; top:20px; right:-30px; background:var(--gold); color:var(--bg); font-size:.55rem; font-weight:700; letter-spacing:.15em; padding:5px 44px; transform:rotate(45deg); }
.plan-card:hover { border-color:var(--border-gold); transform:translateY(-6px); }
.plan-rate { font-family:'Cormorant Garamond',serif; font-size:4.2rem; font-weight:600; color:var(--gold); line-height:1; }
.plan-rate sup { font-size:2rem; }
.plan-feature { display:flex; justify-content:space-between; align-items:center; font-size:.8rem; color:var(--silver); padding:10px 0; border-bottom:1px solid var(--border2); }
.plan-feature strong { color:var(--text); font-weight:500; }

/* ── MARKET TABLE ── */
.market-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.market-table thead tr { border-bottom:1px solid var(--border); }
.market-table th { font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); padding:14px 20px; text-align:left; }
.market-table tbody tr { border-bottom:1px solid var(--border2); transition:background .2s; }
.market-table tbody tr:hover { background:rgba(201,168,76,.04); }
.market-table td { padding:16px 20px; color:var(--silver); font-variant-numeric:tabular-nums; }
.market-table td:first-child { color:var(--text); font-weight:600; letter-spacing:.04em; }
.market-table .up { color:var(--green); }
.market-table .dn { color:var(--red); }

/* ── TESTIMONIALS ── */
.testimonial-card { background:var(--surface); border:1px solid var(--border); border-left:2px solid var(--gold); padding:36px 32px; height:100%; transition:transform .3s; }
.testimonial-card:hover { transform:translateY(-4px); }
.testimonial-card .quote { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-style:italic; color:var(--silver); line-height:1.85; margin-bottom:20px; }
.testimonial-card .quote::before { content:'\201C'; font-size:3rem; color:var(--gold); opacity:.3; line-height:.5; display:block; margin-bottom:8px; }
.author-name { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }

/* ── CTA BANNER ── */
.cta-banner { background:var(--surface); border:1px solid var(--border); position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.cta-banner::after  { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.cta-banner h2 { font-size:clamp(2rem,4vw,3.2rem); font-weight:300; margin-bottom:12px; }
.cta-banner p { font-size:.9rem; color:var(--silver); margin-bottom:32px; }

/* ── ABOUT ── */
.check-list-v { list-style:none; padding:0; }
.check-list-v li { display:flex; align-items:center; gap:12px; font-size:.88rem; color:var(--silver); padding:10px 0; border-bottom:1px solid var(--border2); }
.check-list-v li::before { content:''; width:16px; height:16px; border:1px solid var(--gold); flex-shrink:0; background:url("data:image/svg+xml,%3Csvg width='8' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 3.5l2 2L7 1' stroke='%23C9A84C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat; }
html[data-theme="light"] .check-list-v li::before { background:url("data:image/svg+xml,%3Csvg width='8' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 3.5l2 2L7 1' stroke='%239A6F28' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat; }

/* ── PAGE HEADER ── */
.page-header { background:var(--surface); border-bottom:1px solid var(--border); padding:80px 0 60px; position:relative; overflow:hidden; }
.page-header::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.5; }
.page-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,5vw,4rem); font-weight:300; color:var(--text); }

/* ── FOOTER ── */
footer.footer { background:var(--surface)!important; border-top:1px solid var(--border); padding-top:80px!important; }
.footer { position:relative; }
.footer::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent 0%,var(--gold) 30%,var(--gold) 70%,transparent 100%); opacity:.5; }
.footer h4,.footer h5 { font-family:'Space Grotesk',sans-serif!important; font-size:.65rem!important; font-weight:700!important; letter-spacing:.2em!important; text-transform:uppercase!important; color:var(--gold)!important; margin-bottom:20px!important; }
.btn-social { width:36px; height:36px; border:1px solid var(--border)!important; border-radius:0!important; display:flex; align-items:center; justify-content:center; color:var(--silver)!important; transition:all .25s; font-size:.75rem; text-decoration:none; }
.btn-social:hover { border-color:var(--gold)!important; color:var(--gold)!important; }
.copyright { background:var(--bg)!important; border-top:1px solid var(--border); padding:20px 0; font-size:.72rem; color:var(--muted); letter-spacing:.04em; }

/* ── BACK TO TOP ── */
.back-to-top { width:42px; height:42px; border:1px solid var(--gold)!important; background:transparent!important; color:var(--gold)!important; border-radius:0!important; display:flex; align-items:center; justify-content:center; transition:all .3s!important; }
.back-to-top:hover { background:var(--gold)!important; color:var(--bg)!important; }

/* ── DROPDOWN OVERRIDE ── */
.dropdown-menu { background:var(--surface)!important; border:1px solid var(--border)!important; border-top:1px solid var(--gold)!important; border-radius:0!important; }
.dropdown-item { color:var(--silver)!important; background:transparent!important; font-size:.72rem!important; letter-spacing:.1em!important; text-transform:uppercase!important; padding:12px 18px!important; border-bottom:1px solid var(--border)!important; }
.dropdown-item:last-child { border-bottom:none!important; }
.dropdown-item:hover { color:var(--gold)!important; background:rgba(201,168,76,.05)!important; }

/* ── BOOTSTRAP OVERRIDES ── */
.text-primary { color:var(--gold)!important; }
.text-muted { color:var(--muted)!important; }
.bg-light { background:var(--surface)!important; }
.bg-dark { background:var(--surface)!important; }
.border { border-color:var(--border)!important; }
.rounded-4 { border-radius:0!important; }
.shadow-lg { box-shadow:var(--shadow)!important; }

/* ── ENTRANCE ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-30px); transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1); }
.reveal-right { opacity:0; transform:translateX(30px);  transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1); }
.reveal-left.visible, .reveal-right.visible { opacity:1; transform:translate(0); }
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}

/* Prevent WOW from hiding */
.wow,[data-wow-delay]{opacity:1!important;visibility:visible!important;}
.wow:not(.animated){animation:none!important;transform:none!important;}
#spinner:not(.show){display:none!important;}

/* ── RESPONSIVE ── */
@media (max-width:991px) {
  .section-surface,.section-dark{padding:70px 0!important;}
  .stat-item{padding:28px 20px;border-right:none;border-bottom:1px solid var(--border);}
}
@media (max-width:767px) { .hero-headline{font-size:clamp(2.8rem,10vw,4rem);} }

