/* =========================================================
   CONSULTIUM — page-specific styles (loaded after styles.css)
   ========================================================= */

/* ---------- Hero ---------- */
.consultium-hero{
  position:relative; min-height:88vh; display:flex; align-items:center;
  background:radial-gradient(ellipse at top, var(--purple-700), var(--purple-950) 68%);
  overflow:hidden; padding:170px 0 60px;
}
.hero-orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:0.55; pointer-events:none; will-change:transform; }
.hero-orb-a{
  width:440px; height:440px; background:radial-gradient(circle, var(--gold-400), transparent 70%);
  top:-140px; right:-100px; animation:orbFloat 9s ease-in-out infinite;
}
.hero-orb-b{
  width:340px; height:340px; background:radial-gradient(circle, var(--purple-600), transparent 70%);
  bottom:-120px; left:-80px; animation:orbFloat 12s ease-in-out infinite reverse;
}
@keyframes orbFloat{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(28px,-22px); } }

.consultium-hero-content{ position:relative; z-index:2; max-width:780px; }
.consultium-hero .section-eyebrow{ color:var(--gold-400); }
.consultium-hero h1{ color:#fff; font-size:clamp(2.5rem,6vw,4.4rem); line-height:1.08; margin-bottom:22px; }

.rotating-tagline{ position:relative; min-height:2.4em; margin-bottom:26px; }
.rotating-tagline span{
  position:absolute; left:0; top:0; width:100%;
  font-family:var(--font-display); font-style:italic; color:var(--gold-200);
  font-size:clamp(1.1rem,2.2vw,1.5rem);
  opacity:0; transform:translateY(14px);
  transition:opacity .6s ease, transform .6s ease;
}
.rotating-tagline span.active{ opacity:1; transform:translateY(0); position:relative; }

.consultium-hero .hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* ---------- Pillars ticker ---------- */
.pillars-ticker span{ font-weight:600; }

/* ---------- Stat / manifesto band ---------- */
.consultium-stat-band{ background:var(--purple-950); padding:80px 0; text-align:center; }
.stat-huge{
  font-family:var(--font-display); font-size:clamp(3.2rem,9vw,6.4rem); color:var(--gold-400);
  line-height:1; display:inline-block;
}
.consultium-stat-band .stat-lead{
  color:#e3d9f5; font-size:1.15rem; max-width:660px; margin:20px auto 0;
  font-family:var(--font-display); font-style:italic;
}

/* ---------- About / GWIS ---------- */
.consultium-about{ background:var(--cream); }
.gwis-badge{
  display:inline-flex; align-items:center; gap:8px; padding:8px 18px;
  border:1px solid var(--gold-500); border-radius:999px; color:var(--gold-700);
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:600;
  margin-top:18px;
}
.gwis-badge .dot-pulse{
  width:7px; height:7px; border-radius:50%; background:var(--gold-500);
  animation:dotPulse 1.6s ease-in-out infinite;
}
@keyframes dotPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:0.35; transform:scale(1.5); } }

/* ---------- Structure tree ---------- */
.consultium-structure{ background:var(--purple-950); }
.consultium-structure .section-eyebrow{ color:var(--gold-400); }
.consultium-structure h2{ color:#fff; }
.structure-tree{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.structure-node{
  background:rgba(255,255,255,0.04); border:1px solid rgba(234,200,115,0.18);
  border-radius:var(--radius); padding:28px 20px; text-align:center;
  transition:transform .4s ease, background .4s ease, border-color .4s ease;
}
.structure-node:hover{ transform:translateY(-8px); background:rgba(234,200,115,0.08); border-color:var(--gold-400); }
.structure-num{
  width:42px; height:42px; margin:0 auto 14px; border-radius:50%;
  border:1px solid var(--gold-400); color:var(--gold-400);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.1rem;
  animation:nodePulse 2.4s ease-in-out infinite;
}
.structure-node:nth-child(2) .structure-num{ animation-delay:.2s; }
.structure-node:nth-child(3) .structure-num{ animation-delay:.4s; }
.structure-node:nth-child(4) .structure-num{ animation-delay:.6s; }
.structure-node:nth-child(5) .structure-num{ animation-delay:.8s; }
@keyframes nodePulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(234,200,115,0.35); } 50%{ box-shadow:0 0 0 8px rgba(234,200,115,0); } }
.structure-node h4{ color:#fff; font-size:1.02rem; margin-bottom:8px; }
.structure-node p{ color:var(--gold-200); font-size:0.86rem; font-style:italic; margin:0; }

/* ---------- Reflection quote ---------- */
.consultium-reflection{ background:var(--cream); text-align:center; }
.reflection-quote{
  max-width:760px; margin:0 auto; font-family:var(--font-display); font-style:italic;
  font-size:clamp(1.2rem,2.6vw,1.7rem); color:var(--purple-900); line-height:1.5;
}
.reflection-quote::before, .reflection-quote::after{ color:var(--gold-500); }

/* ---------- Services ---------- */
.consultium-services{ background:var(--purple-950); }
.consultium-services .section-eyebrow{ color:var(--gold-400); }
.consultium-services h2{ color:#fff; }
.consultium-services .section-lead{ color:#d9cdec; }
.services-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; }
.service-card{
  background:#fff; border-radius:var(--radius); padding:30px 26px;
  box-shadow:0 16px 34px -22px rgba(23,4,48,0.4);
  transform-style:preserve-3d; transition:box-shadow .3s ease;
  will-change:transform;
}
.service-card:hover{ box-shadow:0 22px 46px -18px rgba(23,4,48,0.55); }
.service-num{ font-family:var(--font-display); font-size:1.7rem; color:var(--gold-500); opacity:0.55; }
.service-card h3{ font-size:1.12rem; color:var(--purple-900); margin:10px 0 8px; }
.service-card p{ font-size:0.9rem; margin:0; }

/* ---------- Advisory note ---------- */
.consultium-note-section{ background:var(--cream); }
.consultium-note{
  background:linear-gradient(135deg,var(--purple-800),var(--purple-950));
  color:#f1eaf9; border-radius:var(--radius); padding:40px 36px; text-align:center;
  box-shadow:var(--shadow-lg); max-width:820px; margin:0 auto;
}
.consultium-note p{ color:#e3d9f5; font-size:1.02rem; margin-bottom:14px; }
.consultium-note p:last-child{
  margin-bottom:0; font-family:var(--font-display); font-style:italic;
  color:var(--gold-200); font-size:1.2rem;
}

/* ---------- CTA band ---------- */
.consultium-cta-band{ background:var(--purple-950); padding:100px 0; text-align:center; position:relative; overflow:hidden; }
.consultium-cta-band h2{ color:#fff; margin-bottom:16px; }
.consultium-cta-band p{ color:#d9cdec; max-width:520px; margin:0 auto 34px; }
.pulse-btn{ position:relative; display:inline-block; }
.pulse-btn::after{
  content:""; position:absolute; inset:-8px; border-radius:999px;
  border:2px solid var(--gold-400); opacity:0.6; animation:pulseRing 2.2s ease-out infinite;
  pointer-events:none;
}
@keyframes pulseRing{ 0%{ transform:scale(1); opacity:0.6; } 100%{ transform:scale(1.4); opacity:0; } }

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .structure-tree{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .consultium-hero{ padding:130px 0 50px; min-height:auto; }
  .consultium-stat-band{ padding:60px 0; }
  .structure-tree{ grid-template-columns:1fr 1fr; }
  .consultium-cta-band{ padding:70px 0; }
}
