:root{
  --bg:#0f1116;
  --panel:#151821;
  --text:#f4f6fb;
  --muted:#c9cfdb;

  --brand:#7C3AED;      /* purple */
  --brand-dark:#5B21B6;
  --brand-light:#A78BFA;

  --accent:#F59E0B;     /* amber */
  --accent-2:#FBBF24;
  --secondary:#10B981;  /* emerald */

  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--text);
  background:radial-gradient(1200px 800px at 80% -10%, rgba(124,58,237,.25), transparent 60%), var(--bg);
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
a,button{font-family:inherit}

/* Nav */
nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(8px);background:rgba(15,17,22,.7);border-bottom:1px solid rgba(255,255,255,.06)}
nav .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--text);text-decoration:none}
.brand img{width:42px;height:42px;border-radius:12px;box-shadow:var(--shadow)}
.navlinks{display:flex;align-items:center;gap:18px}
.navlinks a{color:var(--muted);text-decoration:none;font-weight:700;font-size:14px}
.navlinks a:hover{color:var(--text)}

/* Buttons */
.btn{appearance:none;border:none;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;transition:all .18s ease}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(124,58,237,.35)}
.btn-secondary{background:linear-gradient(135deg,var(--secondary),#34D399);color:#0b1722}
.btn-secondary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text)}
.btn-ghost:hover{background:rgba(255,255,255,.05)}
.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#111}
.btn-accent.underline{text-decoration:underline;text-underline-offset:3px}
.no-underline{text-decoration:none!important}

/* Hero */
.hero{
  padding:22px 0 8px;
  background:linear-gradient(to bottom, rgba(15,17,22,1) 80%, rgba(21,24,33,0.95) 90%, rgba(21,24,33,0) 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.hero-title{font-size:42px;line-height:1.1;text-align:center;margin:0 0 10px}
.hero-sub{text-align:center;color:var(--muted);font-size:18px;margin:0 0 16px}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Bull visual — scaled, with soft glow */
.visual{width:min(15.75vw, 212px); max-width:100%;}
.visual img{
  width:100%; height:auto; object-fit:contain; display:block; border-radius:12px;
  filter: drop-shadow(0 20px 40px rgba(124,58,237,.25));
}

/* Section titles (pencil banners) */
.section-title{
  width:100%; text-align:center; font-size:30px; padding:10px 18px; color:#fff;
  background:linear-gradient(90deg,var(--brand-dark),var(--brand),var(--brand-dark));
  box-shadow:inset 0 1px 2px rgba(255,255,255,.15),inset 0 -2px 6px rgba(0,0,0,.25),0 6px 16px rgba(124,58,237,.25),0 0 12px rgba(124,58,237,.2);
}
.section-title + .container .sub,
.section-title + .sub{margin:10px auto 20px;max-width:900px;text-align:center}

/* Grid */
.grid-3x2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03)),var(--panel);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  padding:20px;
  text-align:center;
  min-height:190px;
  box-shadow:0 6px 18px rgba(0,0,0,.25)
}
.card h3{color:var(--brand);margin:0 0 6px;font-size:18px;font-weight:900}
.card .tagline{color:var(--text);font-weight:800}
.card .card-copy{color:var(--muted)}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.kpi{text-align:center;padding:20px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
.kpi .num{font-size:30px;font-weight:900}
.kpi-note{text-align:center;margin-top:18px;margin-bottom:60px;font-size:20px;font-weight:900;text-shadow:0 0 14px rgba(245,158,11,.35)}

/* About (narrow + justified) */
.about-copy{
  max-width:840px; margin:18px auto 0;
  text-align:justify; text-justify:inter-word; hyphens:auto;
}
.about p{color:var(--muted);font-size:17px;line-height:1.65}

/* Contact (logo left) */
.contact-wrap{
  display:grid; grid-template-columns:240px 1fr; gap:18px; align-items:start; margin-top:14px;
}
.contact-brand{
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px; padding:18px;
}
.contact-brand img {
  width:100%;
  max-width:360px;
  height:auto;
  display:block;
  border-radius:12px;
  filter: drop-shadow(0 15px 35px rgba(124,58,237,.35)) drop-shadow(0 0 25px rgba(124,58,237,.25));
}

/* Forms */
.audit{background:linear-gradient(145deg, rgba(34,211,238,.06), rgba(124,58,237,.08));border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid .full{grid-column:1 / -1}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:800}
input,select,textarea{width:100%;background:#0f1219;border:1px solid rgba(255,255,255,.14);color:var(--text);border-radius:10px;padding:12px 12px;font-size:15px}
textarea{min-height:110px;resize:vertical}
.form-hint{color:#FBBF24;margin-top:8px}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:1000}
.modal-backdrop[aria-hidden="false"]{display:flex}
.modal{width:min(680px,92vw);background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:var(--shadow)}
.modal header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
.modal header h3{margin:0;font-size:18px}
.modal .content{padding:18px}

/* Sticky CTA */
.sticky-cta{position:sticky;bottom:0;z-index:60;backdrop-filter:blur(6px);background:rgba(15,17,22,.88);border-top:1px solid rgba(255,255,255,.10)}
.sticky-cta .inner{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px;flex-wrap:wrap}

/* Footer */
footer{text-align:center;color:var(--muted);padding:40px 0}
footer .sep{margin:10px auto;height:1px;background:rgba(255,255,255,.08);width:100%;max-width:720px}
.mailto{color:var(--text);text-decoration:none}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
  .btn-primary:hover,.btn-secondary:hover{transform:none}
}

/* Responsive */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .visual{width:min(23vw,240px);margin:0 auto}
  .contact-wrap{grid-template-columns:1fr}
  .contact-brand{order:-1;margin-bottom:12px}
}
@media(max-width:580px){
  .hero-title{font-size:32px}
  .visual{width:62vw}
  .section-title{font-size:26px;padding:8px 14px}
}
/* Popup visibility safety (keeps your current look, just ensures show/hide works) */
.modal-backdrop[aria-hidden="true"] { display: none !important; }
.modal-backdrop[aria-hidden="false"],
.modal-backdrop.is-open { display: flex !important; }

/* Optional: ensure backdrop centers the modal if not already */
.modal-backdrop { align-items: center; justify-content: center; }
