/* ==========================================================================
   iAdvizors Nexoium LLP — Custom Styles
   Brand: Deep Purple · Gold · Magenta · Off-white
   ========================================================================== */

:root {
  --ia-primary:     #2E1664;   /* Deep royal purple — brand core */
  --ia-primary-2:   #2F1D59;   /* Title purple */
  --ia-purple-lt:   #542374;   /* Secondary purple */
  --ia-magenta:     #BE479B;   /* IMPACT accent */
  --ia-gold:        #BBA144;   /* INTELLIGENCE accent */
  --ia-gold-dk:     #8E7A2E;   /* Hover gold */
  --ia-ivory:       #F4F3F9;   /* Page background */
  --ia-ivory-2:     #EDEAF3;   /* Card tint */
  --ia-ink:         #1A1033;   /* Body text */
  --ia-muted:       #6B6580;   /* Secondary text */
  --ia-line:        #E3DEEF;   /* Divider */
}

/* Typography — Big 4 restraint, modern pairing */
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-feature-settings: "cv02","cv03","cv04","cv11";
  color: var(--ia-ink);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.font-serif { font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; }
.font-display { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; letter-spacing: -0.01em; }
.eyebrow {
  font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase;
  font-weight: 600; color: var(--ia-gold);
}

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:0.5rem; padding:0.85rem 1.5rem;
  font-weight:600; font-size:0.92rem; letter-spacing:0.02em; border-radius:2px;
  transition: all .2s ease; border:1.5px solid transparent; white-space:nowrap; }
.btn-primary { background: var(--ia-primary); color:#fff; }
.btn-primary:hover { background: var(--ia-purple-lt); transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(46,22,100,.55); }
.btn-gold { background: var(--ia-gold); color: var(--ia-primary); }
.btn-gold:hover { background: var(--ia-gold-dk); color:#fff; }
.btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn-ghost:hover { background:#fff; color: var(--ia-primary); border-color:#fff; }
.btn-outline { background:transparent; color: var(--ia-primary); border-color: var(--ia-primary); }
.btn-outline:hover { background: var(--ia-primary); color:#fff; }

/* Navbar */
.ia-nav { transition: all .25s ease; }
.ia-nav.scrolled { background: rgba(255,255,255,.97); box-shadow: 0 2px 14px rgba(26,16,51,.06); backdrop-filter: saturate(140%) blur(6px); }
.nav-link { position:relative; color: var(--ia-ink); font-weight:500; font-size:0.93rem; padding:0.25rem 0; transition: color .15s; }
.nav-link:hover, .nav-link.active { color: var(--ia-primary); }
.nav-link.active::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background: var(--ia-gold); }

/* Hero — deep-purple gradient, paper-matte feel */
.hero-bg {
  background:
    radial-gradient(1200px 600px at 85% 10%, rgba(190,71,155,.18), transparent 60%),
    radial-gradient(900px 500px at 10% 90%, rgba(187,161,68,.14), transparent 60%),
    linear-gradient(135deg, #2E1664 0%, #3A1A78 55%, #542374 100%);
}
.hero-grid {
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px;
}

/* Pillar accent bars */
.pillar-impact       { border-top: 3px solid var(--ia-magenta); }
.pillar-intelligence { border-top: 3px solid var(--ia-gold); }
.pillar-integrity    { border-top: 3px solid var(--ia-primary); }
.tag-impact       { background: var(--ia-magenta); color:#fff; }
.tag-intelligence { background: var(--ia-gold);   color: var(--ia-primary); }
.tag-integrity    { background: var(--ia-primary); color:#fff; }

/* Cards */
.ia-card { background:#fff; border:1px solid var(--ia-line); border-radius: 4px; transition: all .25s ease; }
.ia-card:hover { border-color: var(--ia-primary); box-shadow: 0 14px 40px -20px rgba(46,22,100,.35); transform: translateY(-2px); }

/* Section heading pattern */
.section-heading { position:relative; display:inline-block; }
.section-heading::before {
  content:""; position:absolute; left:0; top:-18px; width:48px; height:3px;
  background: var(--ia-gold);
}

/* Stats */
.stat-num { font-family:'Cormorant Garamond',Georgia,serif; font-size:3.25rem; font-weight:600; line-height:1; color: var(--ia-primary); }

/* Footer */
.footer-dark { background: var(--ia-primary); color:#E4DEF4; }
.footer-dark a { color:#E4DEF4; }
.footer-dark a:hover { color: var(--ia-gold); }

/* WhatsApp FAB */
.whatsapp-fab { position: fixed; right: 22px; bottom: 22px; z-index: 60;
  width: 58px; height: 58px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 8px 28px rgba(37,211,102,.4); transition: transform .2s; }
.whatsapp-fab:hover { transform: scale(1.06); }

/* Tasteful scroll-in animation (respects reduced-motion) */
.reveal { opacity:0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  html { scroll-behavior:auto; }
}

/* Forms */
.ia-input { width:100%; background:#fff; border:1px solid var(--ia-line); border-radius:3px;
  padding:0.8rem 0.95rem; font-size:0.95rem; color: var(--ia-ink); transition: border-color .15s, box-shadow .15s; }
.ia-input:focus { outline:none; border-color: var(--ia-primary); box-shadow: 0 0 0 3px rgba(46,22,100,.12); }
.ia-label { display:block; font-size:0.78rem; font-weight:600; letter-spacing:0.06em;
  text-transform:uppercase; color: var(--ia-muted); margin-bottom:0.35rem; }

/* Insight card */
.insight-card img { aspect-ratio: 16/9; object-fit: cover; }

/* Utility */
.divider-gold { height: 2px; width: 56px; background: var(--ia-gold); }
.container-tight { max-width: 1180px; }
