/* Escala de leitura. Preserva os tamanhos dos títulos principais. */
:root {
  --text-size: 16px;
  --support-size: 14px;
  --label-size: 12px;
  --text-on-white: #343434;
  --text-on-black: #e2e2e2;
  --text-on-orange: #21160e;
}

body { font-size: var(--text-size); }

.hero-description {
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-on-black);
  max-width: 490px;
}

.section-heading > div > p,
.situation-panel > p:not(.panel-label),
.reading > p,
.advisory.section-orange .advisory-intro > p:not(.eyebrow),
.advisory.section-orange .process-step p,
.about-copy > p,
.education > p,
.continuity-copy p,
.autonomy-note,
.corporate-grid > div > p,
.contact-copy > p:not(.eyebrow),
details > p {
  font-size: var(--text-size);
  line-height: 1.75;
  letter-spacing: 0;
}

.section-heading > div > p,
.situation-panel > p:not(.panel-label),
.reading > p,
.about-copy > p,
.education > p,
details > p { color: var(--text-on-white); }

.advisory.section-orange .advisory-intro > p:not(.eyebrow),
.advisory.section-orange .process-step p,
.continuity-copy p,
.autonomy-note,
.contact-copy > p:not(.eyebrow) { color: var(--text-on-orange); }

.corporate-grid > div > p { color: var(--text-on-black); }
.advisory.section-orange .process-step h3 { font-size: 20px; line-height: 1.5; font-weight: 600; letter-spacing: -.25px; }
.about-copy > .about-lead { font-size: 18px; line-height: 1.65; color: #1a1a1a; }
.about-role { font-size: 16px; line-height: 1.7; color: var(--text-on-white); max-width: 390px; }
.about-statement { font-size: 17px; line-height: 1.7; color: #242424; max-width: 390px; }
.education > p { font-size: 16px; }
.quote-section.section-dark .quote-wrap > p { font-size: 16px; line-height: 1.7; color: var(--text-on-black); }

.eyebrow,
.hero .eyebrow,
.corporate .eyebrow,
.contact .eyebrow.with-icon {
  font-size: var(--label-size);
  line-height: 1.6;
  letter-spacing: 1.3px;
}
.eyebrow, .hero .eyebrow { color: #e2e2e2; }
.dark-label { color: #474747; }
.section-orange .eyebrow, .contact .eyebrow.with-icon { color: #352012; }
.panel-label, .reading > span, .education > span {
  font-size: var(--label-size);
  line-height: 1.6;
  letter-spacing: 1px;
  color: #474747;
}

.situation-tab { color: #444; }
.situation-tab > span:nth-child(2) { font-size: 16px; line-height: 1.6; }
.situation-panel > p:not(.panel-label) { min-height: 0; }
.text-link,
.advisory-intro .text-link,
.about-copy .text-link,
.corporate .text-link { font-size: 15px; line-height: 1.65; gap: 16px; }
.text-link { color: #252525; }
.light-link { color: #f5f5f5; }
.advisory.section-orange .advisory-intro .text-link { color: #17120e; }

.hero-note { font-size: 13px; line-height: 1.7; color: #d0d0d0; }
.portrait-caption { font-size: 12px; line-height: 1.65; color: #d2d2d2; flex-wrap: wrap; gap: 8px 18px; }
.portrait-caption > span:first-child { color: #ececec; letter-spacing: 1px; }
.experience-note > span { font-size: 13px; line-height: 1.6; color: #252525; }
.experience-stats span { font-size: var(--support-size); line-height: 1.65; color: #404040; max-width: 205px; }
.situations-footnote { font-size: 13px; line-height: 1.75; color: #4a4a4a; }
.advisory.section-orange .process-meta { font-size: 13px; line-height: 1.7; color: #352012; }
.dimension { min-height: 185px; padding: 20px 16px; }
.dimension > strong { font-size: 16px; line-height: 1.6; }
.dimension > span { font-size: 14px; line-height: 1.65; color: #2b1a10; }
.context-diagram figcaption { font-size: 15px; line-height: 1.6; }
.continuity-track > div { gap: 16px; }
.continuity-track > div > span { font-size: 15px; line-height: 1.65; }
.hero-bottom { font-size: 12px; line-height: 1.7; letter-spacing: .7px; color: #d0d0d0; flex-wrap: wrap; }
.hero-bottom > a { font-size: 14px; line-height: 1.6; color: #ededed; gap: 18px; }

.header nav { font-size: 14px; gap: 27px; }
.header nav > a:not(.nav-contact) { font-size: 14px; color: #e5e5e5; }
.nav-contact { font-size: 14px; gap: 20px; }
.header .brand-link > small, .footer .brand-link > small { font-size: 9px; letter-spacing: 1.6px; line-height: 1.6; }
.faq summary { font-size: 16px; line-height: 1.65; color: #242424; }

.button, .contact-form .button { font-size: 16px; line-height: 1.5; min-height: 60px; gap: 20px; }
.contact-form label { font-size: 15px; line-height: 1.6; color: #21160e; }
.contact-form input, .contact-form select { font-size: 16px; min-height: 56px; height: auto; padding: 14px 16px; color: #1a1a1a; }
.contact-form input::placeholder { color: #3d281a; }
.contact-email { font-size: 16px; line-height: 1.6; gap: 16px; max-width: 100%; overflow-wrap: anywhere; }
.form-note { font-size: 13px; line-height: 1.75; color: #302013; }
.direct-contact { font-size: 14px; line-height: 1.7; flex-wrap: wrap; gap: 10px; }
.footer-social { font-size: 15px; line-height: 1.7; color: #ededed; flex-wrap: wrap; }
.footer-bottom { font-size: 13px; line-height: 1.7; color: #d0d0d0; flex-wrap: wrap; }
.footer-bottom > a { color: #eee; }

@media (max-width: 1000px) {
  :root { --text-size: 16px; }
  .advisory-grid, .about-grid, .faq-grid, .contact-grid { gap: 45px; }
  .hero-description { font-size: 17px; }
  .hero-note { max-width: 390px; }
  .hero-bottom { gap: 20px; }
  .continuity-track { gap: 15px; }
  .continuity-track > div { flex-direction: column; align-items: flex-start; gap: 12px; }
  .experience-note { padding: 13px 17px; }
  .experience-note > span { font-size: 13px; }
}

@media (max-width: 900px) {
  .nav-wrap { min-height: 88px; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 43px; height: 43px; padding: 8px; border: 1px solid #777; background: transparent; color: #fff; }
  .menu-toggle > span { height: 1px; background: #fff; width: 100%; transition: transform .2s; }
  .menu-toggle[aria-expanded=true] > span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] > span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .header nav { position: absolute; top: 88px; left: 0; right: 0; background: #191919; border-top: 1px solid #555; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 24px; }
  .header nav.open { display: flex; }
  .header nav > a:not(.nav-contact) { padding: 15px 0; font-size: 17px; }
  .header .nav-contact { font-size: 16px; padding: 13px 16px; margin-top: 10px; justify-content: space-between; }
  .context-diagram { grid-template-columns: 1fr; }
  .dimension { min-height: 0; padding: 20px; }
  .dimension > span { font-size: 15px; }
  .diagram-plus { line-height: 1; padding: 12px 0; }
}

@media (max-width: 650px) {
  .advisory.section-orange .process-step h3 { font-size: 19px; }
  .hero-description { font-size: 17px; line-height: 1.75; }
  .eyebrow, .hero .eyebrow, .corporate .eyebrow, .contact .eyebrow.with-icon { font-size: 12px; letter-spacing: 1px; }
  .hero-bottom { gap: 15px; align-items: flex-start; }
  .hero-bottom > span { max-width: none; flex: 1 1 100%; }
  .hero-bottom > a { font-size: 14px; }
  .portrait-caption { font-size: 12px; }
  .experience-note > span { font-size: 13px; }
  .about-copy > .about-lead { font-size: 18px; }
  .about-role { font-size: 16px; }
  .about-statement { font-size: 17px; }
  .experience-stats span { font-size: 14px; }
  .continuity-track > div { flex-direction: row; align-items: center; gap: 18px; }
  .footer-social { gap: 20px; }
  .footer-bottom { gap: 18px; }
  .footer-bottom > a { margin-left: 0; }
  .contact-email { font-size: 16px; }
}

/* As duas tarjas compartilham a mesma linha no computador. */
.hero-grid { row-gap: 26px; }
.hero-copy { grid-column: 1; grid-row: 1; }
.hero-visual { grid-column: 2; grid-row: 1 / 3; }
.hero-contact { grid-column: 1; grid-row: 2; align-self: start; }
.hero-credentials { position: relative; z-index: 3; grid-column: 2; grid-row: 2; align-self: start; justify-self: end; width: 100%; max-width: 500px; padding-left: 16px; }
.hero-credentials .experience-note { position: static; width: fit-content; max-width: 100%; min-height: 60px; padding: 10px 20px; gap: 15px; background: var(--orange); color: #101010; }
.hero-credentials .experience-note > span { font-size: 13px; line-height: 1.5; color: #101010; }
@media (min-width: 1500px) { .hero-credentials { max-width: 540px; } }
@media (max-width: 850px) { .hero-credentials { padding-left: 8px; } }
@media (max-width: 650px) {
  .hero-grid { gap: 26px; }
  .hero-copy { order: 0; }
  .hero-contact { order: 1; width: 100%; }
  .hero-visual { order: 2; }
  .hero-credentials { order: 3; max-width: 440px; padding-left: 15px; align-self: center; }
}
