/* AssureUp shared styles */
@import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;600;700;800;900&display=swap');

:root {
  --amber: #ffbd59;
  --amber-deep: #e89c2a;
  --amber-glow: rgba(255, 189, 89, 0.35);
  --bg-0: #0a0a0a;
  --bg-1: #121212;
  --bg-2: #1a1a1a;
}

html { scroll-behavior: smooth; }

body, button, input, select, textarea {
  font-family: 'Maven Pro', system-ui, sans-serif;
  letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Maven Pro', system-ui, sans-serif;
  letter-spacing: -0.025em;
}

/* Mobile heading scale. Tailwind text-5xl/6xl/7xl can overflow on small phones */
@media (max-width: 640px) {
  h1.text-5xl, h1.md\:text-6xl, h1.md\:text-7xl { font-size: 2.25rem; line-height: 1.1; }
  h2.text-3xl, h2.text-4xl, h2.md\:text-5xl { font-size: 1.875rem; line-height: 1.15; }
  h3.text-2xl { font-size: 1.5rem; line-height: 1.2; }
  .hero-glow { padding-top: 7rem !important; padding-bottom: 4rem !important; }
  section.pt-44 { padding-top: 7rem !important; }
}

/* Gradient text */
.gradient-text {
  background: linear-gradient(135deg, #ffd98a 0%, #ffbd59 45%, #e89c2a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.gradient-text-white {
  background: linear-gradient(180deg, #ffffff 0%, #b8b8b8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Gradient CTA button */
.btn-gradient {
  background: linear-gradient(135deg, #ffd98a 0%, #ffbd59 50%, #e89c2a 100%);
  color: #121212;
  font-weight: 700;
  box-shadow: 0 8px 30px -8px rgba(255, 189, 89, 0.55), 0 0 0 1px rgba(255, 189, 89, 0.15) inset;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn-gradient:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 40px -8px rgba(255, 189, 89, 0.75), 0 0 0 1px rgba(255, 189, 89, 0.3) inset;
}

/* Gradient border card */
.card-gradient-border {
  position: relative;
  background: #131313;
  border-radius: 1rem;
  overflow: hidden;
}
.card-gradient-border::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1.5px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 189, 89, 0.4), rgba(255, 189, 89, 0.05) 40%, rgba(255, 255, 255, 0.06));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  transition: opacity 0.25s ease;
  opacity: 0.6;
}
.card-gradient-border:hover::before { opacity: 1; }

/* Hero radial glow */
.hero-glow {
  position: relative;
  overflow: hidden;
}
.hero-glow::before {
  content: '';
  position: absolute;
  top: -10%;
  left: -10%;
  width: 60%;
  height: 80%;
  background: radial-gradient(circle, var(--amber-glow) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.hero-glow::after {
  content: '';
  position: absolute;
  bottom: -20%;
  right: -10%;
  width: 50%;
  height: 70%;
  background: radial-gradient(circle, rgba(255, 189, 89, 0.18) 0%, transparent 60%);
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
.hero-glow > * { position: relative; z-index: 1; }

/* Subtle section glow (for problem / initiatives sections) */
.section-glow {
  position: relative;
  overflow: hidden;
}
.section-glow::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 189, 89, 0.08) 0%, transparent 70%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}
.section-glow > * { position: relative; z-index: 1; }

/* Amber pill chip with glow */
.chip-amber {
  background: linear-gradient(135deg, #ffd98a, #ffbd59);
  box-shadow: 0 4px 20px -4px rgba(255, 189, 89, 0.55);
  color: #121212;
}

/* Animated underline */
.link-amber {
  position: relative;
  color: var(--amber);
  font-weight: 600;
}
.link-amber::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1.5px;
  background: linear-gradient(90deg, var(--amber), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.link-amber:hover::after { transform: scaleX(1); }

/* Divider gradient */
.divider-gradient {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 189, 89, 0.5), transparent);
  border: 0;
}

/* Stat card glow */
.stat-card {
  background: linear-gradient(160deg, #1a1a1a 0%, #121212 100%);
  border: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
  overflow: hidden;
}
.stat-card::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255, 189, 89, 0.12) 0%, transparent 70%);
  pointer-events: none;
}
