:root {
  --cream: #FBF6EE;
  --cream-2: #F4EDDF;
  --orange: #E97B2C;
  --orange-dark: #B85211;
  --orange-soft: #FCEFD9;
  --ink: #1A1410;
}

body {
  font-family: 'Bricolage Grotesque', system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}

.bg-cream    { background: var(--cream) !important; }
.bg-cream-2  { background: var(--cream-2) !important; }
.bg-orange   { background: var(--orange) !important; }
.bg-orange-soft { background: var(--orange-soft) !important; }
.text-orange { color: var(--orange) !important; }
.text-orange-dark { color: var(--orange-dark) !important; }

a { color: var(--orange-dark); }
a:hover { color: var(--orange); }

/* Nav */
.brand-logo { font-size: 1.5rem; }
.navbar .nav-link.active { color: var(--orange) !important; font-weight: 600; }
.navbar .btn-dark { background: var(--ink); border-color: var(--ink); }

/* Hero */
.hero-section {
  background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  border-bottom: 2px solid var(--ink);
}
.hero-card .badge-floating {
  position: absolute;
  top: -10px; right: -10px;
  background: var(--orange);
  color: white;
  padding: .5rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(233,123,44,.4);
}

/* Feature cards */
.feature-card { transition: transform .15s ease; }
.feature-card:hover { transform: translateY(-4px); }
.feature-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--orange-soft);
  color: var(--orange);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
}

/* Prof avatar */
.prof-avatar {
  width: 56px; height: 56px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.prof-avatar-lg {
  width: 96px; height: 96px;
  border-radius: 50%;
  background: var(--orange-soft);
  color: var(--orange);
  display: flex; align-items: center; justify-content: center;
  font-size: 3rem;
}

/* Date block (castraciones) */
.date-block {
  background: var(--orange-soft);
  border-radius: 12px;
  padding: .5rem .75rem;
  min-width: 64px;
}

/* Testimonios */
.testimonial-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
}
.testimonial-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--orange);
  color: white;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}

/* Buttons */
.btn-dark { background: var(--ink); border-color: var(--ink); }
.btn-dark:hover { background: #2a201a; border-color: #2a201a; }
.btn-outline-dark { color: var(--ink); border-color: var(--ink); }
.btn-outline-dark:hover { background: var(--ink); color: white; }

/* Card variants */
.border-2.border-dark { border-color: var(--ink) !important; }

/* Post body */
.post-body p { margin-bottom: 1.25rem; }
.post-body h2, .post-body h3 { margin-top: 2rem; font-weight: 700; }
.post-body img { border-radius: 12px; margin: 1.5rem 0; max-width: 100%; }

/* Timeline */
.timeline-item { border-left: 4px solid var(--orange); }

/* Footer */
.footer h5, .footer h6 { color: white; }

/* Object-fit utility */
.object-fit-cover { object-fit: cover; width: 100%; height: 100%; }
