/* =========================================================
   Main — Estilos globais e de seções
   ========================================================= */

/* ─── Scroll offset para navbar fixa ─────────────────────── */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  overflow-x: hidden;
  width: 100%;
  position: relative;
}

/* ─── Seções ──────────────────────────────────────────────── */
.section-white {
  background-color: var(--color-bg);
  padding: var(--section-py) 0;
}

.section-alt {
  background-color: var(--color-bg-alt);
  padding: var(--section-py) 0;
}

.section-dark {
  background-color: var(--color-bg-dark);
  padding: var(--section-py) 0;
}

.section-dark-2 {
  background-color: var(--color-bg-dark-2);
  padding: var(--section-py) 0;
}

/* ─── Case highlight image ────────────────────────────────── */
.case-img {
  max-height: 480px;
  width: auto;
  margin: 0 auto;
  display: block;
  border-radius: var(--radius-lg);
}

/* ─── Project screens grid ────────────────────────────────── */
.project-screen {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: transform var(--transition), box-shadow var(--transition);
}

.project-screen:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.project-screen img {
  width: 100%;
  height: auto;
  display: block;
}

/* ─── Sobre page ──────────────────────────────────────────── */
.sobre-photo {
  width: 85%;
  height: 400px;
  /* border-radius: 50%; */
  object-fit: cover;
  object-position: center center;
  /* border: 4px solid var(--color-accent); */
  display: block;
}

.processo-img {
  max-width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

/* ─── Contato page ────────────────────────────────────────── */
.contato-page-wrap {
  max-width: 560px;
  margin: 0 auto;
}

/* ─── More projects CTA box ───────────────────────────────── */
.more-projects-box {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 220px;
  display: flex;
  align-items: flex-end;
}

.more-projects-box img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
}

.more-projects-box .more-projects-content {
  position: relative;
  z-index: 1;
  padding: 2rem;
  color: var(--color-white);
}

.more-projects-content h3 {
  font-size: 1.375rem;
  font-weight: var(--fw-bold);
  margin-bottom: 1rem;
}

/* ─── Responsive adjustments ──────────────────────────────── */
@media (max-width: 767.98px) {
  :root {
    --section-py: 3.5rem;
    --section-py-sm: 2rem;
  }

  .hero-content {
    text-align: center;
  }

  .case-img {
    max-height: 320px;
  }

  .sobre-photo {
    height: 280px;
    width: 70%;
  }
}
