/* Compact editorial hierarchy; preserve readable body text and natural word wrapping. */
.principles-section .principle { transition:background-color .25s ease,color .25s ease; min-width:0; min-height:0; padding:28px 24px; gap:24px; justify-content:flex-start; }
.principles-section .principle h2 { font-size:clamp(1.5rem,2vw,2rem); line-height:1.1; margin:18px 0 10px; }
.principles-section .principle p { font-size:1rem; line-height:1.5; }
.principles-section .principle.is-touched { background:#145548; color:#fff; }
.principles-section .principle.is-touched small { color:#f0d28e; }
@media(hover:hover) {
  .principles-section .principle:hover { background:#145548; color:#fff; }
  .principles-section .principle:hover small { color:#f0d28e; }
}
@media(prefers-reduced-motion:reduce) {
  .principles-section .principle { transition:none; }
}
#contato .contact-row.address-row {
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  padding:28px 0; min-width:0;
}
#contato .contact-row.address-row strong {
  font-size:1.0625rem; line-height:1.75; font-weight:600; letter-spacing:normal;
  white-space:normal; max-width:100%;
}
#contato .contact-row.address-row small { line-height:1.65; }
.footer-legal { min-width:0; }
.footer-legal p { line-height:1.75; margin-block:0 16px; overflow-wrap:anywhere; }
.hero-main .eyebrow {
  width:100%; max-width:none; text-align:center; font-size:.875rem;
  letter-spacing:.1em; line-height:1.6; margin:0 0 24px; text-wrap:balance;
}
.hero-aside { min-width:0; padding-left:clamp(20px,3vw,42px); gap:28px; }
.hero-aside .aside-statement {
  font-size:clamp(1.5rem,2.4vw,2.5rem); line-height:1.24; letter-spacing:-.02em;
  max-width:22ch; text-align:left; word-break:normal; overflow-wrap:normal;
  hyphens:none; text-wrap:balance;
}
#atuacao, #contato { padding-block:clamp(34px,4vw,52px); }
#atuacao .section-heading { grid-template-columns:1fr; gap:12px; margin-bottom:22px; }
#atuacao .section-heading h2, #cliente .client-copy h2, #contato .contact-copy h2 {
  font-size:clamp(1.75rem,3vw,2.625rem); line-height:1.16;
  letter-spacing:-.025em; word-break:normal; hyphens:none; text-wrap:balance;
}
#atuacao .section-heading h2 { max-width:32ch; }
#atuacao .section-heading>p {
  max-width:76ch; font-size:1rem; line-height:1.6; color:#484b47; margin:0;
}
#atuacao .section-heading>p strong { color:#242c27; font-weight:700; }
#atuacao .eyebrow { color:#75551e; font-size:.875rem; margin-bottom:12px; }
#atuacao .practice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
#atuacao .practice-card { min-height:0 !important; padding:14px 16px !important; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:start; justify-content:initial; gap:12px; }
#atuacao .practice-card>div:last-child { min-width:0; }
#atuacao .practice-card h3 { font-size:clamp(1.2rem,1.5vw,1.48rem) !important; line-height:1.1 !important; margin:0 0 7px !important; }
#atuacao .practice-card p { font-size:.84rem !important; line-height:1.42 !important; color:#50534f; }
#atuacao .practice-top { display:flex; flex-direction:column; justify-content:flex-start; align-items:center; gap:9px; }
#atuacao .practice-top span { font-size:.68rem !important; }
#atuacao .practice-icon { width:27px !important; height:27px !important; font-size:.78rem !important; }
.practice-network { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:13px; align-items:center; margin-top:10px; padding:11px 14px; border:1px solid rgba(20,20,20,.16); background:#e8e2d6; color:#222019; }
.practice-network-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#18584b; color:#fff; font:600 1rem Georgia,serif; }
.practice-network strong { display:block; font:600 1rem/1.2 Georgia,serif; }
.practice-network p { max-width:72ch; margin:3px 0 0; color:#625d53; font-size:.76rem; line-height:1.4; }
.practice-network a { color:#674b1b; font-size:.78rem; font-weight:800; white-space:nowrap; }
#licitapara.licitapara-section { padding-block:40px !important; }
#licitapara .licitapara-grid { min-height:0 !important; row-gap:18px !important; }
#licitapara .licitapara-copy h2 { font-size:clamp(2rem,3.4vw,3.5rem) !important; line-height:1.06 !important; margin-bottom:16px !important; }
#licitapara .licitapara-copy p { font-size:1rem; line-height:1.55 !important; }
#licitapara .lp-signature { max-width:340px !important; }
#licitapara .licitapara-link { max-width:340px !important; min-height:56px; }
#cliente .client-grid { min-height:0; padding-block:38px; gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
#cliente .client-copy>p:not(.eyebrow), #contato .contact-copy>p:not(.eyebrow) {
  font-size:1rem; line-height:1.6; margin:16px 0 0; color:#c2c6c5; max-width:60ch;
}
#cliente .client-copy .eyebrow, #contato .eyebrow { font-size:.875rem; line-height:1.5; color:var(--gold); margin:0 0 12px; }
#cliente .client-access { padding-left:28px; }
#cliente .client-access strong { font-size:1.375rem; line-height:1.3; }
#cliente .client-access p { font-size:1rem; margin:12px 0 18px; color:#bec3c2; }
#contato .contact-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
#contato .contact-row { grid-template-columns:90px minmax(0,1fr); gap:8px 16px; padding-block:16px; }
#contato .contact-row small { grid-column:2; text-align:left; max-width:none; color:#b5bab9; font-size:.875rem; }
#contato .contact-row>span { font-size:.875rem; letter-spacing:.06em; }
#contato .contact-row strong { overflow-wrap:anywhere; }
#contato .contact-cta { margin-top:20px; }
@media(max-width:900px) {
  #cliente .client-grid, #contato .contact-grid { grid-template-columns:1fr; gap:24px; }
  #atuacao .practice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .practice-network { grid-template-columns:38px minmax(0,1fr); }
  .practice-network a { grid-column:2; }
  #cliente .client-access { border-left:0; border-top:1px solid rgba(255,255,255,.18); padding:24px 0 0; }
}
@media(max-width:520px) {
  .practice-network { grid-template-columns:1fr; gap:10px; padding:16px; }
  .practice-network a { grid-column:auto; }
}
@media(max-width:760px) {
  .hero-aside { padding:30px 0; }
  .hero-aside .aside-statement { max-width:30ch; font-size:clamp(1.5rem,5vw,2rem); }
  #atuacao .practice-grid { grid-template-columns:1fr; }
  #atuacao .practice-card { padding:14px !important; }
  .principles-section .principle { padding:24px 20px; min-height:0; }
}
@media(max-width:420px) {
  #contato .contact-row { grid-template-columns:1fr; }
  #contato .contact-row small { grid-column:auto; }
}
