/* ========================================
   BRIEL STUDIO — STYLE
   WordPress-safe: !important on layout props
   ======================================== */

/* --- RESET & BASE --- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: #0d0d0d !important;
  color: #F2F0EB !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300;
  overflow-x: hidden;
  line-height: normal !important;
}

a {
  text-decoration: none !important;
  color: inherit;
}

button {
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}

img, figure, figcaption {
  margin: 0 !important;
  padding: 0 !important;
}

/* --- NAVBAR --- */
.navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: #0d0d0d !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  width: 100% !important;
}

.nav-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.nav-logo {
  display: flex !important;
  align-items: baseline !important;
}

.logo-briel {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #F2F0EB !important;
}

.nav-cta {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 8px 20px !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 4px !important;
  color: #F2F0EB !important;
  background: transparent !important;
  transition: background 0.3s ease, border-color 0.3s ease;
  display: inline-block !important;
}

.nav-cta:hover {
  background: #7B3FE4 !important;
  border-color: #7B3FE4 !important;
  color: #F2F0EB !important;
}

/* --- HERO --- */
.hero {
  min-height: calc(100vh - 56px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.hero-heading {
  text-align: center !important;
  width: 100% !important;
}

.hero-line {
  line-height: 1.05 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.h-fill {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 100px !important;
  text-transform: uppercase !important;
  color: #F2F0EB !important;
}

.h-outline {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 120px !important;
  text-transform: uppercase !important;
  color: transparent !important;
  -webkit-text-stroke: 2px #F2F0EB;
}

.h-italic-purple {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: 120px !important;
  text-transform: uppercase !important;
  color: #7B3FE4 !important;
  margin-left: 16px !important;
}

.hero-divider {
  width: 80px !important;
  height: 2px !important;
  background: #7B3FE4 !important;
  margin: 36px auto 28px auto !important;
}

.hero-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  color: rgba(242,240,235,0.45) !important;
  max-width: 460px !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* --- SECTIONS SHARED --- */
.section {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 80px 40px !important;
}

.section-heading {
  margin-bottom: 16px !important;
}

.section-heading.center {
  text-align: center !important;
}

.heading-white {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 64px !important;
  text-transform: uppercase !important;
  color: #F2F0EB !important;
  line-height: 1.05 !important;
}

.heading-purple {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: 64px !important;
  text-transform: uppercase !important;
  color: #7B3FE4 !important;
  line-height: 1.05 !important;
}

.heading-cta {
  font-size: 96px !important;
}

.section-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: rgba(242,240,235,0.45) !important;
  line-height: 1.7 !important;
  max-width: 440px !important;
}

.section-subtitle.center {
  text-align: center !important;
  margin: 0 auto !important;
}

/* --- PORTFÓLIO --- */
.portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin-top: 32px !important;
}

.portfolio-grid + .portfolio-grid {
  margin-top: 12px !important;
}

.portfolio-card {
  background: #1a1a1a !important;
  border-radius: 8px !important;
  aspect-ratio: 9 / 16 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  transition: border-color 0.3s ease;
  padding: 0 !important;
}

.portfolio-card:hover {
  border-color: rgba(123,63,228,0.45) !important;
}

/* --- DEPOIMENTOS --- */
.testimonials {
  background: #0d0d0d !important;
}

.testimonials-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin-top: 32px !important;
}

.testimonial-card {
  background: #131313 !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 6px !important;
  padding: 32px !important;
  position: relative !important;
  transition: border-color 0.3s ease;
}

.testimonial-card:hover {
  border-color: rgba(123,63,228,0.28) !important;
}

.testimonial-quote {
  position: absolute !important;
  top: 16px !important;
  right: 24px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 56px !important;
  color: #7B3FE4 !important;
  opacity: 0.45 !important;
  line-height: 1 !important;
  pointer-events: none;
}

.testimonial-text {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: #F2F0EB !important;
  line-height: 1.8 !important;
  padding-right: 40px !important;
}

.testimonial-name {
  display: block !important;
  margin-top: 24px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #F2F0EB !important;
}

/* --- SERVIÇOS (CARDS) --- */
.services-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 40px !important;
}

.service-card {
  background: #131313 !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 10px !important;
  padding: 36px 28px !important;
  text-align: center !important;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.service-card:hover {
  border-color: rgba(123,63,228,0.35) !important;
  transform: translateY(-4px);
}

.service-icon {
  display: block !important;
  font-size: 28px !important;
  color: #7B3FE4 !important;
  margin-bottom: 20px !important;
}

.service-card-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 24px !important;
  text-transform: uppercase !important;
  color: #F2F0EB !important;
  margin-bottom: 12px !important;
}

.service-card-desc {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: rgba(242,240,235,0.45) !important;
  line-height: 1.7 !important;
}

/* --- FAQ --- */
.faq-list {
  max-width: 760px !important;
  margin: 32px auto 0 auto !important;
}

.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.faq-item:first-child {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.faq-question {
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 22px 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 17px !important;
  color: #F2F0EB !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
}

.faq-chevron {
  font-size: 18px !important;
  color: rgba(255,255,255,0.3) !important;
  transition: transform 0.3s ease, color 0.3s ease;
  display: inline-block !important;
  flex-shrink: 0 !important;
  margin-left: 16px !important;
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg) !important;
  color: #7B3FE4 !important;
}

.faq-answer {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease;
}

.faq-item.open .faq-answer {
  max-height: none !important;
}

.faq-answer p {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: rgba(242,240,235,0.5) !important;
  line-height: 1.7 !important;
  padding-bottom: 20px !important;
}

/* --- CTA FINAL --- */
.cta-final {
  text-align: center !important;
  padding-bottom: 80px !important;
}

.cta-final .section-subtitle {
  font-size: 16px !important;
  max-width: 500px !important;
}

.cta-button {
  display: inline-block !important;
  margin-top: 40px !important;
  background: #7B3FE4 !important;
  color: #F2F0EB !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 18px 48px !important;
  border-radius: 9999px !important;
  transition: filter 0.3s ease;
  border: none !important;
}

.cta-button:hover {
  filter: brightness(1.12);
  color: #F2F0EB !important;
}

/* --- FOOTER --- */
.footer {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  text-align: center !important;
  padding: 40px 40px !important;
  background: #0d0d0d !important;
}

.footer-copy {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  color: rgba(242,240,235,0.28) !important;
  letter-spacing: 0.08em !important;
}

/* --- ANIMATIONS --- */
.anim-item {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease-out, transform 0.65s ease-out;
}

.anim-item.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* --- MOBILE (max 768px) --- */
@media (max-width: 768px) {
  .nav-inner {
    padding: 0 20px !important;
    height: 50px !important;
  }

  .nav-cta {
    font-size: 10px !important;
    padding: 7px 14px !important;
  }

  .hero {
    padding: 40px 20px !important;
    min-height: unset !important;
    height: auto !important;
    justify-content: flex-start !important;
  }

  .h-fill {
    font-size: 42px !important;
  }

  .h-outline {
    font-size: 50px !important;
  }

  .h-italic-purple {
    font-size: 50px !important;
    margin-left: 8px !important;
  }

  .hero-divider {
    margin: 20px auto 16px auto !important;
  }

  .hero-subtitle {
    font-size: 13px !important;
  }

  .section {
    padding: 60px 20px !important;
  }

  .heading-white,
  .heading-purple {
    font-size: 38px !important;
  }

  .heading-cta {
    font-size: 56px !important;
  }

  .section-heading {
    margin-bottom: 12px !important;
  }

  /* Portfolio: 2 colunas fluidas */
  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    overflow-x: unset !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }

  .portfolio-grid + .portfolio-grid {
    margin-top: 10px !important;
  }

  .portfolio-card:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  /* Testimonials: single column */
  .testimonials-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 24px !important;
  }

  .testimonial-text {
    font-size: 14px !important;
  }

  /* Services: stack vertical */
  .services-cards {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 24px !important;
  }

  .service-card {
    padding: 28px 24px !important;
  }

  .service-card-title {
    font-size: 20px !important;
  }

  .service-card-desc {
    font-size: 13px !important;
  }

  .faq-list {
    margin-top: 24px !important;
  }

  .faq-question {
    font-size: 15px !important;
    padding: 18px 0 !important;
  }

  .cta-button {
    padding: 16px 32px !important;
    font-size: 13px !important;
  }

  .footer {
    padding: 32px 20px !important;
  }
}

/* Scrollbar hide */
.portfolio-grid::-webkit-scrollbar { display: none; }
.portfolio-grid { scrollbar-width: none; }
