/* Acabamento opt-in: Centro Educacional Emanuel.
   Ativado apenas neste projeto via assets/site-refinements.css.
   Preserva a identidade visual e o layout estrutural original. */
html { scroll-padding-top: 98px; }
section[id], .mission-band[id], .custom-banner[id] { scroll-margin-top: 98px; }

.hero { min-height: clamp(550px, 79vh, 790px); }
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(4,12,46,.94) 0%, rgba(6,22,78,.77) 51%, rgba(10,27,79,.24) 100%),
    linear-gradient(0deg, rgba(3,13,42,.38), transparent 48%);
}
.hero-content { padding-top: 140px; padding-bottom: 68px; }
.hero h1 { max-width: 760px; font-size: clamp(2.9rem, 6vw, 5.8rem); line-height: 1.01; text-wrap: balance; }
.hero-lead { max-width: 670px; text-shadow: 0 1px 14px rgba(4,12,46,.32); }
.section { padding-top: 54px; padding-bottom: 54px; }
.section-heading { margin-bottom: 24px; }
.section-heading h2 { text-wrap: balance; }
.mission-band { margin-top: 18px; padding: 42px 40px; }
.story-layout { gap: 34px; }

.custom-banner#portal-escolar { min-height: 275px; margin-top: 34px; margin-bottom: 42px; }
#portal-escolar .custom-banner-content { max-width: 730px; padding: 38px 44px; }
#portal-escolar .custom-banner-content h2 {
  max-width: 680px;
  font-size: clamp(2.1rem, 3.65vw, 3.25rem);
  line-height: 1.1;
}
#portal-escolar .custom-banner-content p { max-width: 650px; font-size: 1rem; line-height: 1.6; }

:where(.site-nav a, .button, .menu-button):focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}
@media (max-width: 920px) {
  html { scroll-padding-top: 88px; }
  section[id], .mission-band[id], .custom-banner[id] { scroll-margin-top: 88px; }
  .mission-band { padding: 34px 30px; }
}
@media (max-width: 620px) {
  html { scroll-padding-top: 84px; }
  section[id], .mission-band[id], .custom-banner[id] { scroll-margin-top: 84px; }
  .hero { min-height: min(82svh, 730px); }
  .hero-content { padding-top: 130px; padding-bottom: 52px; }
  .hero h1 { font-size: clamp(2.55rem, 11vw, 4rem); line-height: 1.03; }
  .hero-overlay {
    background:
      linear-gradient(90deg, rgba(3,12,43,.94), rgba(6,19,73,.77) 64%, rgba(5,21,71,.44)),
      linear-gradient(0deg, rgba(3,13,42,.42), transparent 52%);
  }
  .section { padding-top: 42px; padding-bottom: 42px; }
  .section-heading { margin-bottom: 20px; }
  .mission-band { margin-top: 8px; padding: 28px 24px; }
  .custom-banner#portal-escolar { min-height: 0; margin-top: 26px; margin-bottom: 34px; }
  #portal-escolar .custom-banner-content { padding: 30px 26px; }
  #portal-escolar .custom-banner-content h2 { font-size: clamp(2rem, 9vw, 2.55rem); }
  #portal-escolar .custom-banner-content p { font-size: .98rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


/* Rodapé institucional centralizado | Centro Educacional Emanuel */
.site-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding-top: 36px;
  padding-bottom: 46px;
  text-align: center;
}
.site-footer > img {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  margin: 0 auto 3px;
}
.site-footer .footer-identity {
  display: grid;
  justify-items: center;
  gap: 3px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}
.site-footer .footer-identity span,
.site-footer .footer-identity small {
  max-width: 700px;
  line-height: 1.55;
}
.site-footer .footer-links {
  margin: 12px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 18px;
  text-align: center;
}
.site-footer .agency-credit {
  width: 100%;
  flex: 0 0 auto;
  align-self: stretch;
  margin-top: 18px;
  padding-top: 20px;
  text-align: center;
}
@media (max-width: 620px) {
  .site-footer { align-items: center; padding-top: 28px; padding-bottom: 40px; }
  .site-footer .footer-identity { justify-items: center; text-align: center; }
  .site-footer .footer-links { justify-content: center; margin-top: 14px; gap: 11px 16px; }
}
