/* Refinamento editorial e de legibilidade — outubro de 2026. */
body {
  font-size: 17px;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
}

.shell { width: min(1280px, calc(100% - 96px)); }
.section { padding-block: 88px; }
.topbar { font-size: 11px; letter-spacing: 1.25px; }
.topbar .shell { height: 38px; }
.topbar a { font-size: 12px; }
.nav { height: 96px; }
nav { font-size: 14px; }
.eyebrow { font-size: 11px; line-height: 1.5; letter-spacing: 1.7px; }
.section-marker {
  margin-bottom: 38px;
  padding-top: 15px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 1.25px;
}

.hero-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  overflow: hidden;
}
.hero-grid > * { min-width: 0; }
.hero-text {
  position: relative;
  z-index: 2;
  padding-top: 38px;
  padding-bottom: 32px;
  overflow-wrap: normal;
  word-break: normal;
}
.hero h1 {
  font-size: clamp(44px, 3.8vw, 58px);
  margin-top: 22px;
  margin-bottom: 18px;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.hero-copy {
  max-width: 500px;
  margin-bottom: 20px;
  font-size: 17px;
  line-height: 1.58;
}
.hero-foot {
  margin-top: 24px;
  padding-top: 16px;
  font-size: 12px;
  line-height: 1.5;
}
.hero-foot > span { font-size: 10px; line-height: 1.55; }
.hero-image-caption { font-size: 10px; line-height: 1.45; }
.hero-image {
  z-index: 1;
  min-height: 470px;
  background-position: center 46%;
}
.anniversary small { font-size: 12px; }
.facts { padding-block: 28px; }
.facts strong { font-size: 30px; }
.facts span { margin-top: 5px; font-size: 13px; line-height: 1.5; }

.institutional-grid { gap: 72px; }
.institutional-grid h2 { font-size: 50px; }
.institutional-grid p { font-size: 17px; line-height: 1.72; }
.institutional-grid .lead { font-size: 28px; line-height: 1.42; }
.text-link { font-size: 14px; line-height: 1.45; }

.section-intro { gap: 64px; margin-bottom: 40px; }
.section-intro > p { font-size: 17px; line-height: 1.68; }
.service-workspace { grid-template-columns: minmax(250px, .82fr) minmax(0, 1.5fr); }
.service-tabs { padding-right: 24px; }
.service-tabs button {
  min-height: 82px;
  font-size: 16px;
  line-height: 1.35;
}
.service-tabs button > span { font-size: 11px; }
.service-panel { min-height: 540px; padding: 38px 42px; }
.panel-kicker { font-size: 10px; line-height: 1.5; }
.service-panel h3 { font-size: 39px; margin: 18px 0 20px; }
.service-panel > p { font-size: 16px; line-height: 1.72; }
.service-panel li { font-size: 15px; line-height: 1.5; padding-block: 10px; }
.service-outcome > span { font-size: 10px; }
.service-outcome p { font-size: 22px; }
.service-panel .text-link { font-size: 14px; }
.scope-note { margin-top: 18px; font-size: 13px; line-height: 1.55; }

.editorial-band { padding-block: 40px; }
.band-grid { grid-template-columns: .72fr 1.8fr 58px; }
.band-grid .eyebrow { font-size: 10px; line-height: 1.7; }
.band-grid > p { font-size: 32px; }

.principles-grid { gap: 68px; }
.principle-image > span { font-size: 11px; line-height: 1.75; }
.purpose p { font-size: 17px; line-height: 1.7; }
.vision > p { font-size: 27px; }
.values-heading { margin-top: 58px; }
.values-heading p { font-size: 16px; line-height: 1.65; }
.values-grid { margin-top: 28px; }
.values-grid article { padding-block: 24px; }
.values-grid article > span { font-size: 11px; }
.values-grid h4 { margin: 15px 0 9px; font-size: 27px; }
.values-grid p { font-size: 15px; line-height: 1.58; }
.values-grid h4,
.values-grid p {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.method .steps { margin-top: 42px; gap: 44px; }
.method .steps article > span { font-size: 11px; }
.method .steps h3 { margin: 22px 0 14px; font-size: 32px; }
.method .steps p { font-size: 16px; line-height: 1.65; }

.faq { padding-top: 76px; gap: 70px; }
.faq h2 { font-size: 47px; }
.faq-intro { max-width: 430px; font-size: 16px; line-height: 1.65; color: var(--muted); }
.faq summary { padding-block: 22px; font-size: 17px; line-height: 1.45; }
.faq details p { padding: 0 36px 20px 0; font-size: 16px; line-height: 1.65; }

.contact-grid { gap: 80px; }
.contact-grid > div > p:not(.eyebrow) { font-size: 17px; line-height: 1.7; }
.location { font-size: 15px; line-height: 1.55; }
#contact-channels { font-size: 15px; }
form label { margin-bottom: 8px; font-size: 14px; }
form label span { font-size: 12px; }
input, select, textarea { margin-bottom: 20px; padding: 11px 0 13px; font-size: 16px; }
.form-note { font-size: 12px; line-height: 1.55; }
#result-text, #prepared-message { font-size: 14px; }
.copy-button { font-size: 13px; }

.footer-top { padding-block: 38px; }
.footer-top p { font-size: 24px; }
.social-links { font-size: 13px; }
.footer-bottom { font-size: 12px; line-height: 1.6; }
.footer-bottom > a { font-size: 11px; }
.whatsapp-float { width: 58px; height: 58px; }

@media (max-width: 1100px) {
  .shell { width: calc(100% - 64px); }
  .section { padding-block: 76px; }
  .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); }
  .hero-image { min-height: 460px; }
  .institutional-grid, .principles-grid, .contact-grid { gap: 48px; }
  .service-panel { padding: 34px 30px; }
}

@media (max-width: 800px) {
  body { font-size: 16px; }
  .shell { width: calc(100% - 40px); }
  .section { padding-block: 64px; }
  .topbar { font-size: 10px; }
  .nav { height: 82px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-image { min-height: 350px; }
  .section-marker { margin-bottom: 28px; font-size: 10px; }
  .hero-text { padding: 42px 25px; }
  .hero-copy { font-size: 17px; }
  .facts span { font-size: 12px; }
  .institutional-grid p, .section-intro > p, .purpose p { font-size: 16px; }
  .service-tabs { padding: 0; }
  .service-workspace { grid-template-columns: minmax(0, 1fr); }
  .service-tabs button { min-height: 70px; font-size: 15px; }
  .service-panel { padding: 32px 26px; }
  .service-panel > p { font-size: 16px; }
  .service-panel li { font-size: 14px; }
  .values-heading { margin-top: 48px; }
  .method .steps p { font-size: 15px; }
  .faq { padding-top: 58px; gap: 22px; }
  .contact-grid { gap: 42px; }
  .footer-top { padding-block: 34px; }
}

@media (max-width: 520px) {
  .shell { width: calc(100% - 32px); }
  .section { padding-block: 54px; }
  .eyebrow { font-size: 10px; }
  .hero-text { padding: 36px 20px 38px; }
  .hero h1 { font-size: 43px; }
  .hero-image { min-height: 290px; }
  .hero-copy { font-size: 16px; }
  .hero-foot { font-size: 11px; }
  .facts { gap: 16px; }
  .facts strong { font-size: 27px; }
  .institutional-grid h2, .section-intro h2, .purpose h2, .faq h2 { font-size: 38px; }
  .institutional-grid .lead { font-size: 25px; }
  .service-tabs { display: flex; flex-direction: column; gap: 1px; }
  .service-tabs button, .service-tabs button:last-child { grid-column: auto; min-height: 58px; }
  .service-panel { padding: 28px 20px; }
  .service-panel h3 { font-size: 31px; }
  .service-outcome p { font-size: 20px; }
  .band-grid > p { font-size: 25px; }
  .principle-image { min-height: 300px; }
  .values-heading { margin-top: 42px; }
  .values-grid { grid-template-columns: 1fr; }
  .values-grid article,
  .values-grid article:nth-child(even),
  .values-grid article:nth-child(3n+2),
  .values-grid article:nth-child(3n) {
    padding: 22px 0;
    border-left: 0;
  }
  .values-grid h4 { font-size: 26px; }
  .values-grid p { max-width: none; font-size: 15px; }
  .method .steps h3 { font-size: 29px; }
  .faq summary { font-size: 16px; }
  .faq details p { padding-right: 12px; font-size: 15px; }
  .contact h2 { font-size: 40px; }
  .contact-grid > div > p:not(.eyebrow) { font-size: 16px; }
  .footer-top { align-items: flex-start; }
  .footer-top p { font-size: 20px; }
  .footer-bottom { font-size: 11px; }
}
