@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #fff; color: #000; }
h1,h2,h3,h4,h5,h6 { font-family: 'Cormorant Garamond', serif; font-weight: 600; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul,ol { list-style:none; }
button, input, textarea, select { font-family: inherit; }
.page-offset { height: 88px; }
.container { width:100%; margin-left:auto; margin-right:auto; padding-left:1rem; padding-right:1rem; }
@media (min-width:640px){ .container{ max-width:640px; } }
@media (min-width:768px){ .container{ max-width:768px; } }
@media (min-width:1024px){ .container{ max-width:1024px; } }
@media (min-width:1280px){ .container{ max-width:1280px; } }
@media (min-width:1536px){ .container{ max-width:1536px; } }
.separator-line { height:1px; background: linear-gradient(to right, transparent, #e5e5e5 20%, #e5e5e5 80%, transparent); }
.review-indicator.active { background:#000; transform:scale(1.15); }
.review-indicator { height:.55rem; width:.55rem; background:#d1d5db; border-radius:9999px; transition:all .3s; display:inline-block; }
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:#f5f5f5; }
::-webkit-scrollbar-thumb { background:#000; border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:#333; }
@media (max-width: 767px) {
  .page-offset { height: 80px; }
}


/* Ajustes finos sobre a versão faithful */
#site-nav { will-change: background-color, box-shadow, padding; }
.review-slide { min-height: 240px; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 767px) { .review-slide { min-height: 280px; } }

#site-nav a[aria-label="Mais"]{display:none!important;}


/* v3 fixes */
.review-slide{min-height:auto;}
.review-slides-wrap{min-height:230px;}
@media (max-width:767px){.review-slides-wrap{min-height:290px;}}


/* v4 refinements */
#site-nav { background:#fff !important; box-shadow:0 1px 0 rgba(0,0,0,.06) !important; border-bottom:1px solid rgba(0,0,0,.06) !important; padding-top:.9rem !important; padding-bottom:.9rem !important; }
#site-nav a, #site-nav i { color:#374151 !important; }
#site-nav a[href]:hover, #site-nav a.active { color:#111827 !important; }

.review-slides-wrap{min-height:180px;display:block;}
.review-slide{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:180px;}
.review-slide.hidden{display:none !important;}
.review-indicator{width:10px;height:10px;border-radius:9999px;background:#d1d5db;border:none;cursor:pointer;}
.review-indicator.active{background:#111827;transform:scale(1.15);}
@media (max-width:767px){.review-slides-wrap,.review-slide{min-height:240px;}}

.form-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media (max-width:767px){.form-two-cols{grid-template-columns:1fr;}}



/* v5 refinements */
.home-services-grid{gap:0.875rem !important;}
@media (min-width:768px){.home-services-grid{gap:1rem !important;}}
.home-services-section{padding-top:3.5rem !important;padding-bottom:3.5rem !important;}
@media (min-width:768px){.home-services-section{padding-top:4rem !important;padding-bottom:4rem !important;}}
.home-intro-section{padding-top:2.5rem !important;padding-bottom:3rem !important;}
.internal-first-section{padding-top:2.5rem !important;}
@media (min-width:768px){.internal-first-section{padding-top:3rem !important;}}
.compact-cta{padding-top:3.5rem !important;padding-bottom:3.75rem !important; margin-top:0 !important;}
@media (min-width:768px){.compact-cta{padding-top:4rem !important;padding-bottom:4.25rem !important;}}
.about-middle-section{padding-top:3.5rem !important;padding-bottom:3.75rem !important;}
@media (min-width:768px){.about-middle-section{padding-top:4rem !important;padding-bottom:4rem !important;}}
.about-values-section{padding-top:4rem !important;padding-bottom:4.5rem !important;}
@media (min-width:768px){.about-values-section{padding-top:4.5rem !important;padding-bottom:5rem !important;}}
.review-slides-wrap{max-width: 820px; margin:0 auto; min-height:200px;}
.review-slide{min-height:200px;}
@media (max-width:767px){.review-slides-wrap,.review-slide{min-height:220px;}}
.home-final-title br{display:block;}
.about-photo-box img{width:100%; height:100%; object-fit:cover; object-position:center center; display:block;}


/* v8 header logo fix */
.site-logo-image{transform:scale(1.28);transform-origin:left center;display:block;}
@media (max-width:767px){.site-logo-image{transform:scale(1.16);}}


/* v10 mobile + tablet responsiveness */
html, body { overflow-x: hidden; }
iframe { max-width: 100%; }

@media (max-width: 1023px) {
  .container { padding-left: 1.25rem; padding-right: 1.25rem; }

  #site-nav { padding-top: .8rem !important; padding-bottom: .8rem !important; }
  .site-logo-image { transform: scale(1.16); }
  #mobile-menu { max-height: calc(100vh - 72px); overflow-y: auto; }

  .review-slide p br,
  .home-final-title br { display: none; }

  .about-photo-box { min-height: 340px; }
}

@media (max-width: 767px) {
  .page-offset { height: 74px; }
  .container { padding-left: 1rem; padding-right: 1rem; }

  #site-nav { padding-top: .7rem !important; padding-bottom: .7rem !important; }
  #site-nav .container > div { min-height: 50px; }
  .site-logo-image { transform: scale(1.12); max-height: 42px; }

  main section[style*="background-attachment:fixed"] { background-attachment: scroll !important; }

  .home-intro-section,
  .home-services-section,
  .about-middle-section,
  .about-values-section,
  .compact-cta,
  .internal-first-section { padding-top: 2.5rem !important; padding-bottom: 2.75rem !important; }

  .home-services-grid { gap: 1rem !important; }
  .home-services-grid > a,
  .grid > .group.bg-white.border,
  .grid > .bg-gray-50,
  .grid > .bg-white.border { min-width: 0; }

  .home-services-grid .p-10 { padding: 1.5rem !important; }
  .home-services-grid h3 { font-size: 1.8rem !important; line-height: 1.1 !important; }
  .home-services-grid p { font-size: .98rem !important; }

  h1.text-7xl, h1.text-6xl { font-size: clamp(3rem, 12vw, 4.2rem) !important; line-height: 0.95 !important; }
  h2.text-5xl { font-size: clamp(2.35rem, 9vw, 3.4rem) !important; line-height: 1 !important; }
  h2.text-4xl, .text-4xl.md\:text-6xl { font-size: clamp(2.1rem, 8vw, 3rem) !important; line-height: 1.05 !important; }
  .text-xl.md\:text-2xl, .text-xl { font-size: 1.05rem !important; }

  .relative.min-h-screen.flex.items-center.justify-center.overflow-hidden { min-height: calc(100svh - 74px); }
  .relative.h-\[46vh\].md\:h-\[56vh\].flex.items-center.justify-center.overflow-hidden { height: 42svh !important; min-height: 330px; }

  .flex.flex-col.sm\:flex-row.gap-4.justify-center,
  .text-center.mt-10,
  .relative.z-10.container.mx-auto.px-4.sm\:px-6.lg\:px-8.text-center { width: 100%; }
  .flex.flex-col.sm\:flex-row.gap-4.justify-center > a,
  .text-center.mt-10 > a,
  .relative.z-10.container.mx-auto.px-4.sm\:px-6.lg\:px-8.text-center > a { width: 100%; max-width: 22rem; justify-content: center; }

  .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-7.max-w-7xl.mx-auto { gap: 1rem !important; }
  .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-7.max-w-7xl.mx-auto .p-8 { padding: 1.25rem !important; }
  .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-7.max-w-7xl.mx-auto h3 { font-size: 1.75rem !important; line-height: 1.08 !important; }

  .review-slides-wrap { min-height: 290px; }
  .review-slide { min-height: 290px; }

  .form-two-cols { gap: .875rem; }
  input, textarea, select { font-size: 16px; }

  footer .grid { gap: 2rem !important; }
  footer .container.py-16 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  footer .border-t .container { padding-top: 1rem !important; padding-bottom: 1rem !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .page-offset { height: 82px; }

  .relative.min-h-screen.flex.items-center.justify-center.overflow-hidden { min-height: calc(88vh - 82px); }
  .relative.h-\[46vh\].md\:h-\[56vh\].flex.items-center.justify-center.overflow-hidden { height: 50vh !important; }

  .home-services-grid { gap: 1.25rem !important; }
  .home-services-grid .p-10 { padding: 1.75rem !important; }

  .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-7.max-w-7xl.mx-auto { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.25rem !important; }
  .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-7.max-w-7xl.mx-auto .p-8 { padding: 1.5rem !important; }

  .compact-cta .max-w-4xl,
  .home-intro-section .max-w-4xl,
  .about-middle-section .max-w-4xl { max-width: 46rem; }

  footer .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
