:root {
  --brand: #0ea5e9;
}

* {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.gradient-hero {
  background: radial-gradient(1200px 600px at 20% -10%, rgba(14, 165, 233, .35), transparent), radial-gradient(900px 480px at 80% -20%, rgba(34, 211, 238, .25), transparent), linear-gradient(180deg, #0b1220, #0b1220 60%, #0b1220);
}

.card {
  background: linear-gradient(180deg, rgba(148, 163, 184, .08), rgba(2, 6, 23, .3));
  border: 1px solid rgba(148, 163, 184, .15);
}

.prose p {
  color: #CBD5E1;
}


/* --- Graphic enhancements (dark, modern) --- */
.gradient-hero {
  position: relative;
  isolation: isolate;
}

.gradient-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: .20;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><defs><pattern id='grid' width='64' height='64' patternUnits='userSpaceOnUse'><path d='M64 0H0v64' fill='none' stroke='%234b5563' stroke-opacity='.35'/><path d='M16 0v64M32 0v64M48 0v64M0 16h64M0 32h64M0 48h64' fill='none' stroke='%234b5563' stroke-opacity='.15'/></pattern></defs><rect width='100%' height='100%' fill='url(%23grid)'/></svg>");
  background-size: cover;
  z-index: 0;
}

.gradient-hero>* {
  position: relative;
  z-index: 1;
}

/* soft orbs/glows */
.orb {
  position: absolute;
  filter: blur(40px);
  opacity: .35;
  pointer-events: none;
  border-radius: 9999px;
}

.orb-sky {
  background: radial-gradient(circle at 30% 30%, rgba(14, 165, 233, .8), transparent 60%);
}

.orb-cyan {
  background: radial-gradient(circle at 70% 70%, rgba(34, 211, 238, .8), transparent 60%);
}

.orb-emerald {
  background: radial-gradient(circle at 50% 50%, rgba(16, 185, 129, .7), transparent 60%);
}

/* corner accents for cards */
.card {
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  inset: -1px auto auto -1px;
  width: 80px;
  height: 80px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(14, 165, 233, .35), transparent 60%);
  filter: blur(16px);
  opacity: .6;
}

.card::after {
  content: "";
  position: absolute;
  inset: auto -1px -1px auto;
  width: 64px;
  height: 64px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(34, 211, 238, .25), transparent 60%);
  filter: blur(12px);
  opacity: .5;
}

/* wave divider */
.wave-divider {
  width: 100%;
  height: 80px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0,64 C240,112 480,0 720,32 C960,64 1200,144 1440,32 L1440,100 L0,100 Z' fill='%230b1220' stroke='none' /></svg>") bottom center / cover no-repeat;
}

/* accent buttons */
.btn-gradient {
  background-image: linear-gradient(135deg, rgba(14, 165, 233, 1), rgba(34, 211, 238, 1));
  color: white;
}

.btn-gradient:hover {
  filter: brightness(1.05);
}

/* subtle animated underline for nav links */
header nav a {
  position: relative;
}

header nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--brand);
  transition: width .25s ease;
}

header nav a:hover::after {
  width: 100%;
}

/* ===== Parceiros ===== */
.logo-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width:768px) {
  .logo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.logo-tile {
  height: 3.5rem;
  /* h-14 */
  border-radius: 0.75rem;
  /* rounded-xl */
  background: rgba(30, 41, 59, .4);
  /* bg-slate-800/40 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .75rem;
  /* px-3 + um pouco de py */
  overflow: hidden;
  /* corta sobras */
}

.logo-img {
  display: block;
  /* remove linha de base */
  max-height: 2.5rem;
  /* ~ max-h-10 */
  width: auto;
  object-fit: contain;
  object-position: center;
  /* garante centro mesmo com “espaço” no arquivo */
  opacity: .85;
  transition: opacity .2s ease;
}

.logo-img:hover {
  opacity: 1;
}