/* Talerum 1.6: camada editorial/institucional. O design da landing permanece na folha principal. */
.hero-note a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.film-text-link { display: block; width: fit-content; margin: 8px auto 0; font-size: 10px; line-height: 1.6; color: #776252; text-decoration: underline; text-underline-offset: 3px; }
.institutional-footer { border-top: 1px solid var(--line); background: #fff; }
.institutional-footer .footer-main { padding-bottom: 24px; }
.institutional-footer .footer-main p { font-size: 12px; line-height: 1.7; color: var(--muted); }
.footer-mail { margin-left: auto; font-size: 13px; color: var(--brand); overflow-wrap: anywhere; }
.footer-links { display: flex; flex-wrap: wrap; gap: 12px 29px; padding-bottom: 26px; font-size: 12px; line-height: 1.75; color: #695c52; }
.footer-links a:hover, .footer-mail:hover { text-decoration: underline; text-underline-offset: 4px; }
.institutional-footer .footer-bottom { font-size: 10px; }
.institutional-footer .footer-bottom a { color: var(--brand); margin-left: auto; }
.document-nav { display: flex; gap: 30px; margin-left: auto; margin-right: 24px; font-size: 13px; color: #5f5954; }
.document-nav a:hover { color: var(--brand); }
.document-hero { padding-top: 49px; padding-bottom: 46px; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 34px; font-size: 12px; line-height: 1.7; color: #847266; }
.breadcrumb a { color: var(--brand); }
.document-hero h1 { max-width: 1000px; font-size: clamp(40px,4.2vw,62px); line-height: 1.1; letter-spacing: -.05em; font-weight: 530; }
.document-lead { margin-top: 22px; max-width: 770px; font-size: 18px; line-height: 1.8; color: var(--muted); }
.document-date { margin-top: 20px; font-size: 12px; color: #877466; }
.document-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); align-items: start; gap: clamp(36px,6vw,100px); padding-bottom: 85px; border-top: 1px solid var(--line); padding-top: 43px; }
.document-sidebar { position: sticky; top: 117px; padding-right: 23px; border-right: 1px solid var(--line); }
.document-sidebar nav > p { color: var(--brand); font-size: 10px; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 15px; }
.document-sidebar ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
.document-sidebar li a { display: block; font-size: 12px; line-height: 1.7; color: #75685e; transition: color .15s; }
.document-sidebar li a:hover { color: var(--brand); }
.sidebar-contact { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin-top: 28px; padding-top: 19px; border-top: 1px solid var(--line); font-size: 12px; color: var(--brand); }
.sidebar-contact .icon, .back-home .icon { width: 15px; height: 15px; }
.document-body { min-width: 0; max-width: 850px; font-size: 15px; line-height: 1.95; color: #5e5751; }
.document-section { scroll-margin-top: 15px; padding-bottom: 36px; margin-bottom: 31px; border-bottom: 1px solid var(--line); }
.document-section h2 { margin-bottom: 22px; font-size: clamp(24px,2.1vw,30px); font-weight: 550; line-height: 1.28; letter-spacing: -.035em; color: var(--ink); }
.document-section h3 { margin-top: 25px; margin-bottom: 12px; font-size: 20px; font-weight: 550; line-height: 1.4; letter-spacing: -.02em; color: var(--ink); }
.document-section p + p, .document-section p + ul, .document-section p + ol { margin-top: 16px; }
.document-section p + .table-scroll { margin-top: 24px; }
.document-section strong { color: #342a22; font-weight: 600; }
.document-section a, .document-end a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.document-section .button { text-decoration: none; color: #fff; font-size: 13px; margin-block: 20px 8px; white-space: normal; max-width: 100%; }
.document-section li + li { margin-top: 10px; }
.document-section ul, .document-section ol { padding-left: 23px; margin-bottom: 20px; }
.identity-panel { background: #f8f7f5; border: 1px solid var(--line); border-radius: 9px; padding: 22px; margin-block: 24px; font-size: 14px; }
.document-section .source-note { font-size: 12px; line-height: 1.9; color: #887567; margin-top: 20px; }
.document-section .table-scroll { width: 100%; overflow-x: auto; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 9px; }
.document-section table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.8; text-align: left; }
.document-section caption { padding: 16px 18px; text-align: left; font-size: 12px; color: #7b695c; background: #fbfaf9; }
.document-section th, .document-section td { padding: 16px 18px; vertical-align: top; border-top: 1px solid var(--line); }
.document-section th { color: #453429; font-weight: 550; }
.document-section thead th { background: #f6efe9; }
.document-section tbody th { width: 28%; background: #fdfcfb; }
.document-section td { color: #675e56; }
.document-end { padding: 0 0 10px; font-size: 14px; }
.document-end > p { color: #8c796b; font-size: 12px; }
.document-end > a:not(.back-home) { display: inline-block; font-size: 22px; margin-top: 5px; letter-spacing: -.025em; }
.document-end .back-home { display: flex; gap: 15px; align-items: center; font-size: 12px; margin-top: 26px; text-decoration: none; }
@media (max-width:950px) {
  .document-layout { grid-template-columns: 190px minmax(0,1fr); gap: 29px; }
  .document-sidebar { top: 103px; padding-right: 19px; }
  .document-nav { display: none; }
  .document-cta { margin-left: auto; }
  .document-page .menu-toggle { display: grid; }
  .document-lead { font-size: 16px; }
  .document-sidebar li a { font-size: 11px; }
}
@media (max-width:680px) {
  .institutional-footer .footer-main { gap: 17px; }
  .institutional-footer .footer-main p { width: auto; flex: 1; order: initial; font-size: 11px; }
  .footer-mail { width: 100%; margin-left: 0; font-size: 13px; }
  .footer-links { gap: 12px 20px; font-size: 11px; padding-bottom: 22px; }
  .institutional-footer .footer-bottom { font-size: 9px; gap: 10px; }
  .institutional-footer .footer-bottom > span:nth-child(2) { order: 3; width: 100%; }
  .document-page .document-cta { display: none; }
  .document-hero { padding-top: 27px; padding-bottom: 29px; }
  .breadcrumb { margin-bottom: 25px; font-size: 11px; }
  .document-hero h1 { font-size: clamp(33px,8.2vw,43px); line-height: 1.13; }
  .document-lead { font-size: 15px; line-height: 1.8; margin-top: 18px; }
  .document-date { font-size: 11px; margin-top: 15px; }
  .document-notice { margin-top: 24px; padding: 17px 18px; font-size: 12px; }
  .document-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 27px; padding-bottom: 48px; }
  .document-sidebar { position: static; padding-right: 0; padding-bottom: 25px; border-right: 0; border-bottom: 1px solid var(--line); }
  .document-sidebar ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 22px; }
  .document-sidebar li a { font-size: 11px; }
  .sidebar-contact { display: none; }
  .document-body { font-size: 14px; line-height: 1.9; }
  .document-section { padding-bottom: 27px; margin-bottom: 27px; }
  .document-section h2 { font-size: 25px; margin-bottom: 18px; }
  .document-section h3 { font-size: 19px; }
  .identity-panel { font-size: 13px; padding: 16px; margin-block: 21px; }
  .document-section th, .document-section td { padding: 12px; }
  .document-section table { font-size: 12px; line-height: 1.75; }
  .document-section caption { padding: 13px; font-size: 11px; }
  .document-section tbody th { width: 30%; }
  .document-section .source-note { font-size: 11px; }
  .document-end > a:not(.back-home) { font-size: 20px; }
  .film-text-link { font-size: 9px; }
}
@media print {
  .document-sidebar, .document-nav, .document-cta, .footer-links { display:none; }
  .document-layout { display:block; padding-top: 20px; }
  .document-body { max-width:none; color:#000; }
  .document-hero { padding-top: 20px; padding-bottom: 20px; }
  .document-hero h1 { font-size:34px; }
  .document-section h2 { break-after:avoid; }
}

.contact-address { margin-bottom: 25px; }
.contact-address > span { display: block; font-size: 11px; color: #8b7565; margin-bottom: 8px; }
.contact-address > a { display: block; font-size: clamp(23px,2.6vw,34px); line-height: 1.4; letter-spacing: -.035em; text-decoration: none; }
.document-section .fine-print { font-size: 12px; color: #857365; }

.identity-panel address { font-style: normal; line-height: 1.85; margin-block: 15px; }
.identity-panel .identity-label { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--brand); margin: 0 0 12px; font-weight: 600; }
