/* Banner da home: altura limitada e conteúdo alinhado ao mesmo container do menu. */
.hero {
  min-height: clamp(600px, 82svh, 760px) !important;
  padding-top: 64px;
  align-items: center;
}
.hero .hero-content { padding: 56px 40px !important; }
.hero .hero-ctas { margin-bottom: 0; flex-wrap: wrap; }
.hero .hero-stats { margin-top: 32px; }
.hero .hero-rider { top: 64px; width: 70% !important; opacity: 1; }
.hero .hero-rider img { object-position: center; }
.hero .hero-rider-grad {
  background: linear-gradient(90deg, #08070d 0%, rgba(8,7,13,.75) 18%, rgba(8,7,13,.12) 55%, transparent 100%) !important;
}
.hero .hero-redline { left: max(20px, calc((100% - 1280px) / 2 - 16px)); top: 96px; bottom: 32px; }
.hero .hero-tag { max-width: 480px; line-height: 1.7; letter-spacing: 2px; }
.hero .hero-tag::before { flex-shrink: 0; }
.hero .hero-title { font-size: clamp(44px, 4.8vw, 68px) !important; }

@media (max-width: 820px) {
  .hero {
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .hero .hero-rider {
    position: relative;
    width: 100% !important;
    top: auto;
    right: auto;
    bottom: auto;
    height: clamp(160px, 37vw, 280px);
    flex: 0 0 auto;
  }
  .hero .hero-rider img { object-position: center; filter: brightness(.9) saturate(.9); }
  .hero .hero-rider-grad {
    background: linear-gradient(0deg, #08070d 0%, transparent 45%) !important;
  }
  .hero .hero-content { padding: 16px 24px 40px !important; }
  .hero .hero-title { font-size: clamp(34px, 8vw, 52px) !important; letter-spacing: -1.5px !important; }
  .hero .hero-tag { font-size: 9px; letter-spacing: 1.4px; margin-bottom: 16px; }
  .hero .hero-subtitle { max-width: 440px !important; margin-bottom: 24px; }
  .hero .hero-redline { display: none; }
  .hero .hero-ctas { gap: 12px; margin-bottom: 0; }
  .hero .hero-ctas > a { justify-content: center; text-align: center; }
}
@media (max-width: 540px) {
  .hero .hero-ctas { flex-direction: column; align-items: stretch; }
  .hero .hero-ctas > a { width: 100%; }
}
@media (max-width: 820px) {
  .cat-section-inner .cat-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .cat-grid .cat-card { min-width: 0; }
}
@media (max-width: 820px) {
  .cat-grid .cat-card { width: 100%; max-width: 100%; aspect-ratio: auto; }
  .cta-inner { min-width: 0; flex-direction: column; align-items: stretch; gap: 24px; }
  .cta-inner > * { min-width: 0; }
  .cta-inner .btn-cta-dark { max-width: 100%; white-space: normal; text-align: center; }
}
