/* =====================================================================
   Base. Layout desenhado em 1440px: U(n) = n px do Figma, escalado pela
   largura (var --u, ver enqueue.php/main.js). Verticais em px fixos.
   Abaixo de 1024px entra o layout de tablet/celular (99-mobile.css).
   ===================================================================== */
:root {
	--u: 1px;
	--gold: #cc975d;
	--gold-l: #e2c79f;
	--gold-ll: #e4cba5;
	--ink: #2a2a2a;
	--ink2: #333;
	--dark: #272727;
	--grey: #909090;
	--grey2: #a6a6a6;
	--grey3: #c2c2c2;
	--grey4: #575757;
	--paper: #ededed;
	--paper2: #f4f4f4;
	--fj: "Jost", "Helvetica Neue", Arial, sans-serif;
	--fa: "Alexandria", "Helvetica Neue", Arial, sans-serif;
	--ff: "Funnel Sans", "Helvetica Neue", Arial, sans-serif;
	--slope: 0.4324; /* inclinação das diagonais do layout (dx/dy) */
	--ease: cubic-bezier(.25, .7, .25, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--fa); font-weight: 300; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
strong, b { font-weight: 700; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; background: var(--gold); color: #fff; padding: 10px 16px; }
.skip-link:focus { left: 16px; top: 16px; }
.hp { position: absolute; left: -9999px; }
.center { text-align: center; }

.wrap { position: relative; width: calc(1440 * var(--u)); margin: 0 auto; }
.site-main { position: relative; display: flow-root; }

/* Hover: negrito sem "pular" a largura — o rótulo reserva a largura do bold. */
[data-label] { display: inline-flex; flex-direction: column; }
[data-label]::after { content: attr(data-label); height: 0; overflow: hidden; visibility: hidden; font-weight: 700; user-select: none; pointer-events: none; }

/* ---------- Título de seção "// nossa EXPERTISE" ---------- */
.sec-title { display: flex; align-items: center; gap: calc(23 * var(--u)); margin-left: calc(var(--sx, 96) * var(--u)); font: 500 20px/36px var(--fj); letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }
.sec-title strong { color: var(--gold); font-weight: 700; }
.sec-title .ic-slash { flex: none; width: 25px; height: 20px; }
.ic-slash__a { fill: var(--gold); opacity: .9; }
.ic-slash__b { fill: #575757; opacity: .9; }
.sec-title--light { color: #fff; }
.sec-title--light .ic-slash__b { fill: #575757; }
.sec-title--dark .ic-slash__b { fill: #3c3c3c; }
.sec-title--bold { font-weight: 700; }
.sec-title--plain { font-weight: 500; }
.sec-title--center { justify-content: center; margin-left: 0; }
.team-sec .sec-title .ic-slash__b { fill: #d3d3d3; }

/* Títulos grandes das páginas */
.page-h { font: 400 36px/45px var(--fj); letter-spacing: .05em; text-transform: uppercase; color: var(--ink2); }
.page-h--32 { font-size: 32px; line-height: 39.5px; }

/* Texto corrido */
.txt p + p, .rich p + p { margin-top: 1.55em; }
.rich ul { margin: .4em 0; }
.rich ul li { position: relative; padding-left: 18px; }
.rich ul li::before { content: "•"; position: absolute; left: 6px; top: 0; }
.rich ol { list-style: decimal; padding-left: 1.4em; }
.rich a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.rich h2, .rich h3, .rich h4 { font-weight: 700; margin: 1.4em 0 .6em; line-height: 1.3; }
.rich img { max-width: 100%; height: auto; margin: 1.2em 0; }
.rich table { width: 100%; margin: 1.4em 0; border-collapse: collapse; font-size: .92em; line-height: 1.4; }
.rich th, .rich td { padding: 10px 12px; border: 1px solid rgba(87,87,87,.25); text-align: left; vertical-align: top; }
.rich th, .rich thead td { background: var(--ink); color: #fff; font-weight: 500; }
.rich figure.wp-block-table, .rich .table-wrap { overflow-x: auto; }
.rich blockquote { border-left: 2px solid var(--gold); padding-left: 1em; margin: 1.2em 0; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; height: 35px; padding: 0 23px; border: 1px solid var(--ink); font: 400 12px/15px var(--fa); letter-spacing: .31em; text-transform: uppercase; color: var(--ink); transition: background .3s, color .3s, border-color .3s; }
.btn:hover, .btn:focus-visible { background: var(--gold); }
.btn--light { border-color: #fff; color: #fff; }
.btn--light:hover { background: var(--gold); border-color: var(--gold); }

/* Link com seta (">ENVIAR", "> CONHEÇA NOSSA EQUIPE"): hover = negrito dourado, seta maior */
.link-btn { display: inline-flex; align-items: center; gap: 7px; font: 400 12px/15px var(--fj); letter-spacing: .31em; text-transform: uppercase; color: var(--ink); transition: color .25s; }
.link-btn .ic-arrow { width: 5px; height: 10px; transition: transform .25s, width .25s, height .25s; }
.link-btn:hover, .link-btn:focus-visible { color: var(--gold); font-weight: 700; }
.link-btn:hover .ic-arrow { width: 7px; height: 14px; }
.link-btn--light { color: #fff; }

/* Voltar */
.back { display: inline-flex; align-items: center; gap: 4px; font: 400 15px/15px var(--fj); letter-spacing: .13em; text-transform: uppercase; color: var(--ink); transition: color .25s; }
.back .ic-arrow { width: 5px; height: 10px; }
.back:hover { color: var(--gold); font-weight: 700; }

/* Cabeça de página interna com "voltar" à direita */
.page-head { display: flex; align-items: flex-start; justify-content: space-between; padding-right: calc(96 * var(--u)); }

/* Lista de áreas com seta (Home escura, página de áreas clara) */
.area-list { columns: 2; column-gap: calc(67 * var(--u)); }
.area-list li { break-inside: avoid; line-height: 15px; }
.area-list a { white-space: nowrap; display: inline-flex; align-items: center; gap: calc(10 * var(--u)); font: 400 17px/15px var(--fj); letter-spacing: .13em; text-transform: uppercase; transition: color .25s; }
.area-list .ic-arrow { width: 6px; height: 10px; flex: none; transition: transform .25s; }
.area-list a:hover, .area-list a:focus-visible { color: var(--gold); font-weight: 700; }
.area-list a:hover .ic-arrow { transform: scale(1.2, 1.4) translateX(2px); }
.area-list--light a { color: #fff; }
.area-list--dark a { color: var(--ink); }

/* Fundo cinza diagonal bem suave das páginas internas (sob o topo) */
.bg-diag { position: absolute; top: 0; left: calc(573 * var(--u)); width: calc(1341 * var(--u)); height: 513px; pointer-events: none; z-index: 0;
	background: linear-gradient(180deg, rgba(144,144,144,.16) 0%, rgba(255,255,255,0) 95%);
	clip-path: polygon(16.53% 0, 100% 0, 73.87% 100%, 0 100%); }

/* Revelação ao rolar (fade). Sem JS ou com movimento reduzido: tudo visível. */
.js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js [data-reveal] { opacity: 1; transform: none; transition: none; } }

/* =====================================================================
   Cabeçalho, barra fixa, menu sobre a página, topo das internas, rodapé
   ===================================================================== */

/* ---------- Cabeçalho (sobre o banner / topo interno) ---------- */
.site-head { position: absolute; top: 0; left: 0; right: 0; z-index: 40; height: 0; }
.site-head__in { height: 0; }
.site-head__toggle { position: absolute; left: calc(97 * var(--u)); top: 52px; width: 26px; height: 18px; color: #fff; display: flex; transition: color .25s; }
.site-head__toggle:hover { color: var(--gold); }
.site-head__brand { position: absolute; left: calc(145.5 * var(--u)); top: 145px; width: calc(241 * var(--u)); min-width: 180px; }
.site-head__brand img { width: 100%; height: auto; }
.site-head__util { position: absolute; left: calc(1193 * var(--u)); top: 53px; display: flex; align-items: center; gap: calc(44 * var(--u)); }
.site-head__util:not(:has(.lang)) { padding-left: calc(76 * var(--u)); }
body:not(.home) .site-head__util:not(:has(.lang)) { padding-left: calc(83 * var(--u)); }
.site-head__line { position: absolute; top: 0; left: calc(50% + calc(338 * var(--u))); width: calc(42 * var(--u)); height: 94px; background: var(--gold); opacity: .9; clip-path: polygon(100% 0, 97.58% 0, 0 100%, 2.94% 100%); }

.lang { display: flex; gap: 7px; font: 500 9px/15px var(--fj); letter-spacing: .15em; text-transform: uppercase; padding-top: 5px; }
.lang a, .lang span { color: var(--grey4); transition: color .25s; }
.lang .is-active { color: var(--gold-ll); }
.lang a:hover { color: var(--gold-l); }

.social { display: flex; align-items: center; gap: 11px; color: var(--gold-l); }
.social a { display: flex; transition: color .25s, opacity .25s; }
.social a:hover { color: #fff; }
.social svg { width: 16.6px; height: 16.6px; }
.social--dark { color: var(--ink); }
.social--dark a:hover { color: var(--gold); }

/* Páginas internas: cabeçalho menor */
body:not(.home) .site-head__toggle { top: 33px; }
body:not(.home) .site-head__brand { left: calc(144 * var(--u)); top: 76px; width: calc(200 * var(--u)); min-width: 160px; }
body:not(.home) .site-head__util { left: calc(1203 * var(--u)); top: 38px; gap: calc(51 * var(--u)); }
body:not(.home) .social { gap: 8px; }
body:not(.home) .social svg { width: 12.8px; height: 12.8px; }
body:not(.home) .lang { padding-top: 1px; }
body:not(.home) .site-head__line { left: calc(50% + calc(130 * var(--u))); }

/* ---------- Topo escuro das páginas internas ---------- */
.page-top { position: relative; height: 220px; overflow: hidden; background: #0b0b0b; z-index: 2; }
.page-top__img { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; min-height: 100%; object-fit: cover; object-position: center bottom; }
.page-top__lens { position: absolute; inset: 0; background: #1f1f1f; opacity: .81; }
.page-top__right { position: absolute; top: 0; left: calc(50% - calc(-76 * var(--u))); right: 0; height: 223px; background: #141414; opacity: .16; clip-path: polygon(calc(96px) 0, 100% 0, 100% 100%, 0 100%); }
.page-top__c1 { position: absolute; left: calc(50% - calc(789 * var(--u))); top: -20px; width: calc(161 * var(--u)); height: 191px; background: #000; opacity: .64; clip-path: polygon(100% 0, 48.6% 100%, 0 100%, 0 0); }
.page-top__c2 { position: absolute; left: calc(50% - calc(720 * var(--u))); top: -39px; width: calc(181 * var(--u)); height: 215px; background: #2e2e2e; opacity: .81; clip-path: polygon(100% 0, 48.6% 100%, 0 100%, 0 0); }
.page-top__grad { position: absolute; left: 0; right: 0; top: 0; height: 105px; opacity: .6; background: linear-gradient(to top, rgba(0,0,0,0) 24.85%, #000 85.44%); }
.page-top__mono { position: absolute; left: calc(50% + calc(3 * var(--u))); top: -15px; width: calc(624 * var(--u)); max-width: none; opacity: .5; }
.page-top__bar { position: absolute; left: 0; bottom: 0; width: calc(50% + calc(83 * var(--u))); height: 17px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 7.5px) 100%, 0 100%); }

/* ---------- Barra fixa ao rolar ---------- */
.fixbar { position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 136px; transform: translateY(-110%); transition: transform .45s var(--ease); pointer-events: none; }
.fixbar.is-on { transform: none; pointer-events: auto; }
.fixbar::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 130px; background: #2a2a2a; }
.fixbar::after { content: ""; position: absolute; left: 0; top: 124px; width: calc(50% + calc(326 * var(--u))); height: 12px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 5.3px) 100%, 0 100%); }
.fixbar__in { position: relative; width: calc(1440 * var(--u)); height: 130px; margin: 0 auto; display: flex; align-items: center; }
.fixbar__in::after { content: ""; position: absolute; top: 0; right: calc(-1 * (100vw - 100%) / 2); left: calc(1044 * var(--u)); height: 130px; background: #141414; opacity: .4; clip-path: polygon(55.3px 0, 100% 0, 100% 100%, 0 100%); pointer-events: none; }
.fixbar__toggle { display: none; color: #fff; }
.fixbar__brand { position: absolute; left: calc(95.3 * var(--u)); top: 31px; width: 79px; }
.fixbar__brand img { width: 79px; height: auto; }
.fixbar__nav { position: absolute; left: calc(229 * var(--u)); top: 58px; }
.fixbar__list { display: flex; gap: calc(32 * var(--u)); }
.fixbar__list a { font: 400 12.75px/26px var(--fj); letter-spacing: .13em; text-transform: uppercase; color: var(--gold); transition: color .2s; }
.fixbar__list a:hover, .fixbar__list .is-active a, .fixbar__list li.is-active > a { font-weight: 700; }
.fixbar__tel { position: absolute; left: calc(1112 * var(--u)); top: 57px; font: 300 14px/28px var(--fa); color: var(--grey4); z-index: 1; }
.fixbar__tel:hover { color: var(--gold-l); }
.fixbar .social { position: absolute; left: calc(1269.7 * var(--u)); top: 58px; z-index: 1; }

/* ---------- Menu que abre sobre a página ---------- */
.omenu { position: fixed; inset: 0; z-index: 100; }
.omenu[hidden] { display: block; visibility: hidden; pointer-events: none; }
.omenu__shade { position: absolute; inset: 0; background: rgba(28,28,28,.92); opacity: 0; transition: opacity .45s var(--ease); }
.omenu__panel { position: absolute; z-index: 1; left: 0; top: 0; bottom: 0; width: calc(895 * var(--u)); min-width: 520px; background: #fff; overflow-y: auto;
	clip-path: polygon(0 0, 100% 0, calc(100% - var(--slope) * 100vh) 100%, 0 100%);
	transform: translateX(-102%); transition: transform .55s var(--ease); padding: 53px 0 40px calc(368 * var(--u)); }
.omenu.is-open { visibility: visible; pointer-events: auto; }
.omenu.is-open .omenu__shade { opacity: 1; }
.omenu.is-open .omenu__panel { transform: none; }
.omenu__close { display: flex; width: 26px; height: 18px; color: var(--ink); margin-left: 1px; transition: color .25s; }
.omenu__close:hover { color: var(--gold); }
.omenu__nav { margin-top: 100px; }
.omenu__list li + li { margin-top: 30px; }
.omenu__list a { font: 400 15px/15px var(--fj); letter-spacing: .13em; text-transform: uppercase; color: var(--gold); }
.omenu__list a:hover, .omenu__list .is-active > a { font-weight: 700; }
.omenu__info { margin-top: 70px; font: 300 12px/16px var(--fa); color: var(--ink); }
.omenu__info p + p { margin-top: 16px; }
.omenu__info a:hover { color: var(--gold); }
.omenu__dash { display: block; width: 16.5px; height: 2px; background: var(--ink); margin: 29px 0 47px; }
.omenu .social svg { width: 15.5px; height: 15.5px; }
body.menu-open { overflow: hidden; }

/* ---------- Rodapé ---------- */
.site-foot { position: relative; z-index: 3; }
.site-foot__gold { display: block; width: calc(773.5 * var(--u)); height: 17px; background: var(--gold-l); clip-path: polygon(0 0, 100% 0, calc(100% - 7.4px) 100%, 0 100%); }
.site-foot__body { position: relative; background: var(--dark); overflow: hidden; }
.site-foot__shade { position: absolute; left: calc(-6 * var(--u)); top: 0; width: calc(771 * var(--u)); height: 281px; opacity: .2; background: linear-gradient(105deg, #000 0%, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 83.6% 100%); }
.site-foot__in { height: 226px; }
.site-foot__brand { position: absolute; left: calc(96 * var(--u)); top: 80px; width: calc(244 * var(--u)); min-width: 190px; }
.site-foot__brand img { width: 100%; }
.site-foot__tel, .site-foot__end, .site-foot__mail { position: absolute; top: 125px; font: 300 16px/28px var(--fa); color: var(--grey2); }
.site-foot__tel { left: calc(419 * var(--u)); }
.site-foot__end { left: calc(626 * var(--u)); top: 129px; line-height: 20px; }
.site-foot__mail { left: calc(1050 * var(--u)); display: flex; align-items: center; gap: calc(11 * var(--u)); }
.site-foot__mail .ic-mail { color: var(--gold); width: 17px; height: 13.2px; flex: none; }
.site-foot a:hover { color: var(--gold-l); }
.site-foot__social { position: absolute; left: calc(1269.4 * var(--u)); top: 40px; }
.site-foot__unitri { position: absolute; left: calc(1329 * var(--u)); top: 168px; width: 15.3px; display: block; opacity: .9; }
.site-foot__unitri svg { width: 15.3px; height: 20px; }
.site-foot__bottom { border-top: 1px solid #575757; }
.site-foot__bin { display: flex; gap: calc(30 * var(--u)); height: 54px; padding: 14px 0 0 calc(96 * var(--u)); font: 400 11px/28px var(--ff); color: var(--grey4); }
.site-foot__bin p { width: calc(428 * var(--u)); }
.site-foot__bin a:hover { color: var(--gold-l); }

/* ---------- WhatsApp flutuante ---------- */
.wa-float { position: fixed; right: calc(105 * var(--u)); bottom: 60px; z-index: 50; width: 77px; height: 77px; border-radius: 50%; background: #000; border: 1px solid #585858; display: flex; align-items: center; justify-content: center; color: var(--gold); transition: transform .3s var(--ease), background .3s; }
.wa-float svg { width: 36px; height: 36px; }
.wa-float:hover { transform: scale(1.06); background: #151515; }

/* =====================================================================
   Home
   ===================================================================== */

/* ---------- Banner ---------- */
.hero { position: relative; height: 832px; overflow: hidden; background: #121212; color: #fff; z-index: 2; }
.hero__media { position: absolute; inset: 0; }
.hero__poster, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__video { opacity: 0; transition: opacity 1.2s; }
.hero__video.is-playing { opacity: 1; }
.hero__s1, .hero__s2, .hero__s3, .hero__s4 { position: absolute; pointer-events: none; }
.hero__s1 { left: calc(50% - calc(910 * var(--u))); top: -1px; width: calc(2248 * var(--u)); height: 833px; background: #1f1f1f; opacity: .765; clip-path: polygon(100% 0, 16.02% 0, 0 100%, 79.98% 100%); }
.hero__s2 { left: calc(50% + calc(20 * var(--u))); top: -1px; width: calc(2214 * var(--u)); height: 833px; background: #141414; opacity: .16; clip-path: polygon(100% 0, 16.27% 0, 0 100%, 79.67% 100%); }
.hero__s3 { left: calc(50% - calc(1247 * var(--u))); top: -20px; width: calc(619 * var(--u)); height: 736px; background: #000; opacity: .64; clip-path: polygon(100% 0, 48.6% 100%, 0 100%, 0 0); }
.hero__s4 { left: calc(50% - calc(1158 * var(--u))); top: -20px; width: calc(619 * var(--u)); height: 736px; background: #2e2e2e; opacity: .81; clip-path: polygon(100% 0, 48.6% 100%, 0 100%, 0 0); }
.hero__grad { position: absolute; left: 0; right: 0; top: 0; height: 147px; opacity: .6; background: linear-gradient(to top, rgba(0,0,0,0) 24.85%, #000 85.44%); }
.hero__mono { position: absolute; left: calc(50% + calc(20 * var(--u))); top: 322px; width: calc(786 * var(--u)); max-width: none; pointer-events: none; }
.hero__in { position: relative; z-index: 2; padding-top: 379px; }
.hero__eyebrow { margin-left: calc(146 * var(--u)); font: 700 12px/15px var(--fa); letter-spacing: .31em; text-transform: uppercase; color: var(--gold); }
.hero__title { margin: 39px 0 0 calc(144 * var(--u)); max-width: max(calc(560 * var(--u)), 480px); font: 400 48px/56px var(--fj); letter-spacing: .05em; text-transform: uppercase; color: #fff; }
.hero__word { display: inline-flex; align-items: flex-end; color: var(--gold); white-space: nowrap; }
.hero__word-txt { display: inline-block; transition: opacity .35s, transform .35s; }
.hero__word.is-out .hero__word-txt { opacity: 0; transform: translateY(10px); }
.hero__cursor { display: inline-block; width: 16.5px; height: 2px; margin: 0 0 11px 5px; background: var(--gold); animation: blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .hero__cursor { animation: none; } }
.hero__btn { margin: 40px 0 0 calc(144 * var(--u)); }
.hero__bar { position: absolute; left: calc(50% - calc(978 * var(--u))); top: 815px; width: calc(1004 * var(--u)); height: 17px; background: var(--gold); clip-path: polygon(0.73% 0, 100% 0, 99.25% 100%, 0 100%); z-index: 3; }
.hero__line { display: none; }

/* ---------- Institucional ---------- */
.inst { position: relative; height: 837px; background: #fff; }
.inst::before { /* linha dourada que desce do banner */ content: ""; position: absolute; z-index: 3; top: -17px; left: calc(50% - calc(18.5 * var(--u))); width: calc(44.5 * var(--u)); height: 96.5px; background: var(--gold); opacity: .9; clip-path: polygon(100% 0, 96.08% 0, 0 100%, 4.75% 100%); }
.inst__shade1 { position: absolute; top: 0; left: calc(50% - calc(1238 * var(--u))); width: calc(1257 * var(--u)); height: 747px; opacity: .15; background: linear-gradient(180deg, #909090 0%, #fff 95%); clip-path: polygon(25.68% 0, 100% 0, 73.87% 100%, 0 100%); }
.inst__shade2 { position: absolute; top: 10px; left: calc(50% + calc(589 * var(--u))); width: calc(1341 * var(--u)); height: 797px; opacity: .15; background: linear-gradient(180deg, #909090 0%, #fff 95%); clip-path: polygon(25.68% 0, 100% 0, 73.87% 100%, 0 100%); }
.inst__in { height: 100%; }
.inst__left { position: absolute; left: 0; top: 0; width: calc(700 * var(--u)); height: 100%; }
.inst__title { position: absolute; left: calc(96 * var(--u)); top: 131px; display: flex; gap: calc(23 * var(--u)); width: calc(418 * var(--u)); font: 400 28px/32px var(--fj); letter-spacing: .01em; text-transform: uppercase; color: var(--ink); }
.inst__title .ic-slash { flex: none; margin-top: 7px; }
.inst__title .ic-slash__b { fill: var(--ink); }
.inst__title strong { color: var(--gold); }
.inst__img { position: absolute; left: calc(-257 * var(--u)); top: 299px; width: calc(1049 * var(--u)); }
.inst__img img { width: 100%; }
.inst__right { position: absolute; left: calc(800 * var(--u)); top: 134px; width: calc(491 * var(--u)); }
.inst__lead { font: 500 18px/28px var(--fa); color: var(--ink); }
.dif { margin-top: 72px; }
.dif + .dif { margin-top: 47px; }
.dif__title { position: relative; font: 500 18px/15px var(--fj); text-transform: uppercase; color: var(--gold); }
.dif__title::before { content: ""; position: absolute; left: calc(-24.5 * var(--u)); top: 11.5px; width: 16.5px; height: 2px; background: var(--gold); }
.dif__text { margin-top: 14px; width: calc(484 * var(--u)); font: 300 16px/24px var(--fa); color: var(--ink); }
.dif__text strong { font-weight: 500; }

/* ---------- Expertise + Newsletter (mesma foto de fundo) ---------- */
.exp-wrap { position: relative; background: #1a1a1a; color: #fff; z-index: 1; }
.exp-wrap__gold { position: absolute; z-index: 2; top: -17px; left: 0; width: calc(50% + calc(83 * var(--u))); height: 17px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 7.4px) 100%, 0 100%); }
.exp-wrap__bg { position: absolute; inset: 0; overflow: hidden; }
.exp-wrap__bg img { position: absolute; left: 50%; top: -8%; width: max(calc(1852 * var(--u)), 100%); max-width: none; height: 116%; object-fit: cover; transform: translateX(-50%); will-change: transform; }
.exp-wrap__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.exp { position: relative; height: 711px; }
.exp__lens { position: absolute; inset: 0; background: var(--dark); opacity: .9; }
.exp__shade { position: absolute; left: calc(50% - calc(725 * var(--u))); top: 0; width: calc(800 * var(--u)); height: 802px; opacity: .45; background: linear-gradient(100deg, #000 0%, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 57% 99.3%); pointer-events: none; z-index: 1; }
.exp__in { height: 100%; z-index: 2; }
.exp .sec-title { position: absolute; top: 100px; margin: 0; left: calc(96 * var(--u)); }
.exp__text { position: absolute; left: calc(144 * var(--u)); top: 204px; width: calc(504 * var(--u)); font: 300 18px/26px var(--fa); color: var(--grey); }
.exp__text p + p { margin-top: 26px; }
.exp__text strong { color: #fff; font-weight: 500; }
.exp__right { position: absolute; left: calc(770 * var(--u)); top: 210px; }
.exp .area-list li + li, .exp .area-list li { margin-bottom: 29px; }
.exp .area-list { column-gap: 0; width: calc(694 * var(--u)); }
.exp__btn { position: absolute; top: 341px; left: 0; white-space: nowrap; }

/* ---------- Newsletter ---------- */
.nl { position: relative; height: 377px; color: #fff; overflow: hidden; }
.nl__bg { position: absolute; inset: 0; }
.nl__bg img { position: absolute; left: 50%; top: -12%; width: max(calc(1852 * var(--u)), 100%); max-width: none; height: 124%; object-fit: cover; transform: translateX(-50%); will-change: transform; }
.nl__lens { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.nl:not(.nl--bg) .nl__lens { background: rgba(0,0,0,.6); }
.nl__in { height: 100%; z-index: 2; }
.nl .sec-title { position: absolute; top: 79px; left: calc(96 * var(--u)); margin: 0; }
.nl__lead { position: absolute; left: calc(144 * var(--u)); top: 167px; width: calc(470 * var(--u)); font: 400 28px/32px var(--fj); letter-spacing: .01em; text-transform: uppercase; color: var(--gold-l); }
.nl__form { position: absolute; left: calc(770 * var(--u)); top: 164px; width: calc(574 * var(--u)); }
.nl__bar { position: absolute; z-index: 3; left: 0; bottom: 0; width: calc(50% - calc(172 * var(--u))); height: 17px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 7.5px) 100%, 0 100%); }

/* ---------- Formulários ---------- */
.form .field { display: block; }
.form .field + .field, .form .field + .form__row, .form .form__row + .field { margin-top: 8px; }
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=url], .form textarea {
	display: block; width: 100%; height: 44px; padding: 0 16px; border-radius: 7px; border: 1px solid rgba(144,144,144,.5); background: rgba(0,0,0,.2);
	font: 300 12px/28px var(--fa); color: #fff; outline: none; transition: border-color .25s, background .25s; }
.form textarea { height: 144px; padding-top: 8px; resize: vertical; }
.form ::placeholder { color: var(--grey2); opacity: 1; }
.form input:focus, .form textarea:focus { border-color: var(--gold); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form__row .field + .field { margin-top: 0; }
.form__foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 43px; }
.check { display: flex; align-items: center; gap: 10px; font: 300 11px/28px var(--fa); color: var(--grey2); cursor: pointer; }
.check input { appearance: none; -webkit-appearance: none; flex: none; width: 16px; height: 16px; margin: 0; border: 1px solid var(--grey2); border-radius: 3px; background: transparent; cursor: pointer; display: grid; place-content: center; }
.check input:checked::before { content: ""; width: 8px; height: 8px; border-radius: 1px; background: var(--gold); }
.check a { text-decoration: underline; text-underline-offset: 2px; }
.form .link-btn { color: #fff; flex: none; }
.form-msg { margin-top: 14px; font: 400 13px/1.4 var(--fa); }
.form-msg.is-ok { color: var(--gold-l); }
.form-msg.is-err { color: #ff9b8a; }

/* Formulário claro (Contato / Trabalhe) */
.form--light input[type=text], .form--light input[type=email], .form--light input[type=tel], .form--light input[type=url], .form--light textarea { background: transparent; border-color: rgba(87,87,87,.5); color: var(--ink); padding-left: 19px; }
.form--light ::placeholder { color: var(--ink); }
.form--light .check { color: var(--ink); }
.form--light .check input { border-color: var(--ink); }
.form--light .link-btn { color: var(--ink); }
.form--light .link-btn:hover { color: var(--gold); }
.form--light .form-msg.is-ok { color: #8a5a22; }
.form--light .form-msg.is-err { color: #b3261e; }

/* ---------- Equipe (carrossel) ---------- */
.team-sec { position: relative; height: 861px; background: #fff; overflow: hidden; }
.team-sec__shade1 { position: absolute; left: calc(50% - calc(828 * var(--u))); top: -159px; width: calc(649 * var(--u)); height: 1020px; opacity: .1; background: linear-gradient(110deg, rgba(0,0,0,.44) 0%, rgba(0,0,0,0) 99%); clip-path: polygon(100% 0, 0 0, 0 100%, 35.6% 100%); }
.team-sec__shade2 { position: absolute; left: calc(50% + calc(421 * var(--u))); right: 0; top: 0; bottom: 0; background: rgba(0,0,0,.035); clip-path: polygon(calc(339 * var(--u)) 0, 100% 0, 100% 100%, 0 100%); }
.team-sec__head { height: 0; }
.team-sec .sec-title { position: absolute; top: 108px; left: calc(96 * var(--u)); margin: 0; }
.carousel-nav { display: flex; gap: calc(86 * var(--u)); }
.team-sec .carousel-nav { position: absolute; left: calc(1216 * var(--u)); top: 95px; }
.carousel-nav__btn { display: flex; width: 20px; height: 49px; color: var(--gold); transition: opacity .25s, transform .25s; }
.carousel-nav__btn svg { width: 20px; height: 49px; }
.carousel-nav__btn:hover { transform: scale(1.12); }
.carousel-nav__btn[disabled] { opacity: .3; cursor: default; transform: none; }
.team-track { position: absolute; top: 224px; left: calc(50% - calc(624 * var(--u))); right: 0; display: flex; gap: calc(22 * var(--u)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; padding-right: calc(96 * var(--u)); }
.team-track::-webkit-scrollbar { display: none; }
.team-track .pcard { flex: none; scroll-snap-align: start; }
.team-sec__more { position: absolute; top: 731px; left: 0; right: 0; }

/* ---------- Card de profissional ---------- */
.pcard { position: relative; width: calc(297 * var(--u)); min-width: 230px; }
.pcard__link { display: block; }
.pcard__media { position: relative; display: block; width: calc(290 * var(--u)); min-width: 225px; aspect-ratio: 290 / 381; margin-left: 1px; overflow: hidden; background: #000; }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .6s var(--ease), transform .8s var(--ease); }
.pcard__glow { position: absolute; left: 0; bottom: 0; width: 46.2%; height: 77.2%; background: linear-gradient(to top, var(--gold) 0%, rgba(204,151,93,0) 100%); opacity: 0; transition: opacity .5s, width .5s var(--ease); }
.pcard__bar { position: absolute; left: 0; bottom: 0; width: 84.1%; height: 13px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 5.6px) 100%, 0 100%); }
.pcard__name { display: block; margin-top: 15px; font: 500 18px/15px var(--fj); letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }
.pcard__role { display: block; margin-top: 8px; font: 500 14px/15px var(--fj); letter-spacing: .07em; text-transform: uppercase; color: var(--gold); }
.pcard__li { position: absolute; top: 0; left: 0; width: calc(290 * var(--u)); min-width: 225px; aspect-ratio: 290 / 381; pointer-events: none; }
.pcard__li svg { position: absolute; right: 13px; bottom: 15px; width: 17px; height: 17px; color: var(--gold); pointer-events: auto; transition: color .25s; }
.pcard__li:hover svg { color: #fff; }
.pcard__ph { display: block; width: 100%; height: 100%; background: #1d1d1d; }
.pcard:hover .pcard__media img, .pcard:focus-within .pcard__media img { filter: none; transform: scale(1.03); }
.pcard:hover .pcard__glow, .pcard:focus-within .pcard__glow { opacity: .7; width: 100%; }

/* ---------- Atualizações (faixa dourada) ---------- */
.news-sec { position: relative; height: 760px; margin-top: -17px; color: #fff; z-index: 2; }
.news-sec__strip { position: absolute; top: 0; right: 0; left: calc(50% + calc(365 * var(--u))); height: 17px; background: var(--gold); clip-path: polygon(7.3px 0, 100% 0, 100% 100%, 0 100%); }
.news-sec__bg { position: absolute; left: 0; right: 0; top: 17px; bottom: 0; overflow: hidden; background: var(--gold) var(--tex, none) center / cover no-repeat; }
.news-sec__bg::before { content: ""; position: absolute; inset: 0; background: rgba(204,151,93,.9); }
.news-sec__shade { position: absolute; left: calc(50% - calc(860 * var(--u))); top: 0; width: calc(1226 * var(--u)); height: 802px; opacity: .2; background: linear-gradient(100deg, #000 0%, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 71.9% 99.3%); }
.news-sec__in { height: 100%; }
.news-sec .sec-title { position: absolute; top: 85px; left: calc(96 * var(--u)); margin: 0; }
.news-sec .sec-title .ic-slash__b { fill: #3c3c3c; }
.news-sec .news-grid { position: absolute; top: 177px; left: calc(97 * var(--u)); }
.news-sec .center { position: absolute; top: 663px; left: 0; right: 0; }
.news-sec .btn { border-color: var(--ink); color: var(--ink); }
.news-sec .btn:hover { background: var(--ink); color: var(--gold); }

.news-grid { display: grid; grid-template-columns: repeat(3, calc(389 * var(--u))); column-gap: calc(40 * var(--u)); row-gap: 47px; }

/* ---------- Card de notícia ---------- */
.ncard { position: relative; }
.ncard__link { position: relative; display: block; height: 421px; }
.ncard__link::before { content: ""; position: absolute; left: 0; right: 1px; top: 1px; bottom: 0; background: #fff; }
.ncard__media { position: absolute; top: 0; right: 0; width: 92.8%; aspect-ratio: 361 / 257; overflow: hidden; background: #d9d9d9; }
.ncard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ncard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.87) 0%, rgba(102,102,102,0) 60.7%); transition: opacity .5s; }
.ncard__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(204,151,93,.87) 0%, rgba(204,151,93,0) 60.7%); opacity: 0; transition: opacity .5s; }
.ncard__ph { display: block; width: 100%; height: 100%; background: #cfcfcf; }
.ncard__plus { position: absolute; z-index: 2; right: 3.1%; bottom: 5%; width: 36.8px; height: 32.4px; color: var(--gold-l); transition: transform .4s var(--ease), color .3s; }
.ncard__plus svg { width: 36.8px; height: 32.4px; display: block; }
.ncard__body { position: absolute; left: calc(27.6 * var(--u)); right: calc(13 * var(--u)); top: 292.7px; bottom: 0; }
.ncard__title { width: calc(308 * var(--u)); font: 600 17px/19px var(--fa); color: var(--ink2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ncard__meta { position: absolute; left: 0; right: 0; top: 91px; display: flex; justify-content: space-between; gap: 10px; font: 400 12px/20px var(--fa); letter-spacing: -.04em; text-transform: uppercase; color: var(--grey3); }
.ncard__link:hover .ncard__media img { transform: scale(1.06); }
.ncard__link:hover .ncard__media::before { opacity: 1; }
.ncard__link:hover .ncard__media::after { opacity: 0; }
.ncard__link:hover .ncard__plus { transform: rotate(90deg); color: #fff; }

/* Variante lateral (miniatura à esquerda) */
.ncard--side .ncard__link { height: 185px; }
.ncard--side .ncard__link::before { left: 0; right: 0; top: 0; }
.ncard--side .ncard__media { left: 0; right: auto; top: 1px; width: calc(222 * var(--u)); min-width: 160px; aspect-ratio: 222 / 158; }
.ncard--side .ncard__media::after { display: none; }
.ncard--side .ncard__plus { right: 14px; bottom: 12.6px; }
.ncard--side .ncard__body { left: calc(calc(222 * var(--u)) + 30px); right: 20px; top: 11px; }
.ncard--side .ncard__date { display: block; font: 700 12px/20px var(--fa); letter-spacing: -.04em; color: var(--grey3); }
.ncard--side .ncard__title { width: auto; max-width: 209px; margin-top: 18px; -webkit-line-clamp: 4; }
.ncard--side .ncard__meta { top: 133px; font-weight: 700; }

/* ---------- Mapa ---------- */
.map { position: relative; height: var(--map-h, 550px); margin-bottom: -17px; background: #e5e3df; }
.map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.15); }

/* =====================================================================
   Páginas internas (medidas a partir do fim do topo escuro, y=220 no Figma)
   ===================================================================== */

/* ---------- Sobre: apresentação ---------- */
.about { position: relative; padding: 81px 0 108px; --sx: 144; }
.about__in { z-index: 1; }
.about__grid { display: grid; grid-template-columns: calc(608 * var(--u)) calc(688 * var(--u)); margin: 95px 0 0 calc(144 * var(--u)); }
.about__title { width: calc(570 * var(--u)); min-width: 420px; }
.about__text { margin-top: 50px; width: calc(556 * var(--u)); min-width: 400px; font: 300 18px/28px var(--fa); color: var(--ink); }
.about__text p + p { margin-top: 28px; }
.about__lead { width: calc(622 * var(--u)); font: 500 18px/24px var(--fa); color: var(--gold); }
.about__slider { margin-top: 98px; margin-left: calc(1 * var(--u)); width: calc(100% + max(0px, (100vw - 1440px) / 2)); max-width: none; }

/* Carrossel simples (fade) com bolinhas */
.slider { position: relative; aspect-ratio: 687 / 418; overflow: hidden; background: #ddd; }
.slider__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s var(--ease); }
.slider__slide.is-active { opacity: 1; }
.slider__slide img { width: 100%; height: 100%; object-fit: cover; }
.slider__slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.25), rgba(102,102,102,.02)); }
.slider__dots { position: absolute; z-index: 2; left: 0; right: 0; bottom: 20px; display: flex; justify-content: center; gap: 5px; }
.slider__dots button { width: 10.5px; height: 10.5px; border-radius: 50%; background: rgba(255,255,255,.55); transition: background .3s; }
.slider__dots button.is-active { background: var(--gold); }

/* ---------- Seções escuras e cinzas ---------- */
.dark-sec { position: relative; background: #2a2a2a; color: #fff; overflow: hidden; }
.dark-sec__shade { position: absolute; left: calc(50% - calc(1401 * var(--u))); top: 0; width: calc(1437 * var(--u)); height: 1149px; opacity: .3; background: linear-gradient(100deg, #000 0%, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 65.5% 99.7%); pointer-events: none; }
.grey-sec { position: relative; background: var(--paper2); }

/* ---------- Sobre: essência ---------- */
.ess { padding: 99px 0 124px; --sx: 98; }
.ess__grid { display: grid; grid-template-columns: calc(445 * var(--u)) calc(754 * var(--u)); margin: 77px 0 0 calc(144 * var(--u)); }
.ess__title { font: 400 32px/39.5px var(--fj); letter-spacing: .05em; text-transform: uppercase; }
.ess__text { margin-top: 45px; width: calc(392 * var(--u)); min-width: 300px; font: 300 18px/28px var(--fa); }
.ess__text p + p { margin-top: 28px; }
.ess__cards { display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(30 * var(--u)); row-gap: 43px; }
.ess-card { min-height: 374px; padding: 24px calc(39 * var(--u)) 30px calc(46 * var(--u)); border: 1px solid var(--gold); font: 300 18px/24px var(--fa); color: var(--gold); }
.ess-card h4 { font-weight: 700; }
.ess-card p + p { margin-top: 24px; }
.ess-card--full { grid-column: 1 / -1; min-height: 272px; line-height: 28px; }
.ess-card--full p + p { margin-top: 28px; }

/* ---------- Sobre: linha do tempo ---------- */
.tl { padding: 106px 0 130px; }
.tl__title { margin-top: 76px; text-align: center; font-size: 32px; line-height: 39.5px; color: #000; }
.tl__list { position: relative; margin-top: 83px; }
.tl__list::before { content: ""; position: absolute; left: calc(50% - .5px); top: -6px; bottom: -60px; width: 1px; opacity: .3; background: linear-gradient(to bottom, #000 0%, #666 90%, rgba(102,102,102,0) 100%); }
.tl__item { position: relative; width: 50%; }
.tl__item + .tl__item { margin-top: 12px; }
.tl__item--l { padding-right: calc(49 * var(--u)); text-align: right; }
.tl__item--r { margin-left: 50%; padding-left: calc(57 * var(--u)); }
.tl__item::before { content: ""; position: absolute; top: 6.4px; width: 12px; height: 12.7px; border-radius: 50%; background: var(--gold); box-shadow: inset 0 0 0 3px var(--gold), inset 0 0 0 9px #2a2a2a; }
.tl__item--l::before { right: -6px; }
.tl__item--r::before { left: -6px; }
.tl__item::after { content: ""; position: absolute; top: 12.2px; width: calc(51 * var(--u)); height: 1px; background: #2a2a2a; }
.tl__item--l::after { right: 0; }
.tl__item--r::after { left: 0; }
.tl__year { display: block; font: 700 18px/28px var(--fa); color: var(--gold); }
.tl__item--l .tl__year { margin-right: 8px; }
.tl__item--r .tl__year { margin-left: -3px; }
.tl__h { margin-top: 23px; display: inline-block; max-width: calc(252 * var(--u)); min-width: 200px; font: 400 20px/23px var(--fj); letter-spacing: .05em; text-transform: uppercase; color: #000; }
.tl__p { margin: 12px 0 0 auto; max-width: calc(334 * var(--u)); min-width: 260px; font: 300 14px/20px var(--fa); color: var(--ink); }
.tl__item--r .tl__p { margin-left: 0; }

/* ---------- Sobre: valores e sócios ---------- */
.vals { padding: 99px 0 94px; --sx: 144; }
.vals__strip { position: absolute; z-index: 2; top: 0; left: 0; width: calc(50% - calc(172 * var(--u))); height: 17px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 7.5px) 100%, 0 100%); }
.vals__head { display: grid; grid-template-columns: calc(603 * var(--u)) 1fr; align-items: start; }
.vals__head .sec-title { margin-left: calc(144 * var(--u)); }
.vals__intro { padding-top: 5px; font: 300 18px/28px var(--fa); }
.vals__list { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: calc(601 * var(--u)) calc(500 * var(--u)); row-gap: 42px; margin: 70px 0 0 calc(146 * var(--u)); }
.val__t { position: relative; padding-left: 24.5px; font: 700 18px/15px var(--fj); text-transform: uppercase; color: var(--gold); }
.val__t::before { content: ""; position: absolute; left: 0; top: 11.5px; width: 16.5px; height: 2px; background: var(--gold); }
.val__p { margin-top: 15px; padding-left: 25px; max-width: 460px; font: 300 16px/24px var(--fa); color: var(--grey); }

.partners { margin-top: 108px; }
.partners__head { display: flex; align-items: center; justify-content: space-between; padding-right: calc(97 * var(--u)); }
.partners__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc(375 * var(--u)); gap: calc(36 * var(--u)); margin: 31px 0 0 calc(146 * var(--u)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-right: calc(97 * var(--u)); }
.partners__track::-webkit-scrollbar { display: none; }
.quote { position: relative; min-height: 394px; padding: 28px calc(40 * var(--u)) 30px calc(33 * var(--u)); border: 1px solid var(--gold); scroll-snap-align: start; }
.quote__mark { position: absolute; top: 20px; right: calc(18 * var(--u)); width: 60px; height: 46px; opacity: .2; }
.quote__who { display: flex; align-items: center; gap: 14px; font: 700 18px/24px var(--fa); color: var(--gold); }
.quote__img { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--gold); object-fit: cover; flex: none; }
.quote__txt { margin: 29px 0 0 calc(18 * var(--u)); max-width: calc(290 * var(--u)); min-width: 240px; font: 300 18px/24px var(--fa); color: #fff; }

/* ---------- Sobre: ações institucionais (abas) ---------- */
.acts { padding: 107px 0 97px; --sx: 144; }
.acts__title { margin: 66px 0 0 calc(144 * var(--u)); font-size: 32px; line-height: 39.5px; color: #000; }
.acts__text { margin: 34px 0 0 calc(146 * var(--u)); width: calc(940 * var(--u)); font: 300 18px/28px var(--fa); }
.tabs { display: grid; grid-template-columns: calc(386 * var(--u)) calc(815 * var(--u)); margin: 60px 0 0 calc(141 * var(--u)); min-height: 504px; }
.tabs__list { display: flex; flex-direction: column; padding-top: 0; }
.tabs__tab { position: relative; display: flex; align-items: center; width: 100%; min-height: 84px; padding: 0 20px 0 51.5px; text-align: left; border-bottom: 1px solid rgba(87,87,87,.4); font: 700 16px/19px var(--fj); text-transform: uppercase; color: var(--grey4); transition: color .25s, background .25s; }
.tabs__tab span { max-width: 175px; }
.tabs__tab::before { content: ""; position: absolute; left: 27px; top: 50%; width: 16.5px; height: 2px; margin-top: -1px; background: currentColor; }
.tabs__tab:hover { color: var(--gold); }
.tabs__tab.is-active { background: #fff; color: var(--gold); border-bottom-color: transparent; margin-right: -1px; }
.tabs__panel { position: relative; background: #fff; padding: 82px calc(83 * var(--u)) 60px calc(125 * var(--u)); min-height: 504px; }
.tabs__h { font: 700 24px/19px var(--fj); text-transform: uppercase; color: var(--gold); }
.tabs__txt { margin-top: 32px; max-width: calc(605 * var(--u)); font: 300 18px/28px var(--fa); color: var(--ink); }
.tabs__txt p + p { margin-top: 28px; }
.tabs__img { margin-top: 42px; width: calc(417 * var(--u)); aspect-ratio: 417 / 141; overflow: hidden; }
.tabs__img img { width: 100%; height: 100%; object-fit: cover; }
.tabs__go { position: absolute; right: calc(52 * var(--u)); bottom: 51px; }
.tabs__panel[hidden] { display: none; }

/* ---------- Áreas de atuação (página) ---------- */
.areas-intro { position: relative; min-height: 783px; padding: 65px 0 80px; --sx: 145; }
.areas-intro__in { display: grid; grid-template-columns: calc(636 * var(--u)) 1fr; }
.areas-intro__text { margin: 38px 0 0 calc(145 * var(--u)); width: calc(516 * var(--u)); min-width: 380px; font: 300 18px/24px var(--fa); }
.areas-intro__text p + p { margin-top: 24px; }
.areas-intro__list { margin: 84px 0 0 calc(145 * var(--u)); width: calc(678 * var(--u)); column-gap: 0; }
.areas-intro__list li { margin-bottom: 44px; }
.areas-more { position: relative; background: #fff; padding: 78px 0 60px; }
.areas-more__in { padding-left: calc(145 * var(--u)); font: 300 18px/24px var(--fa); }
.areas-more__intro { max-width: calc(1161 * var(--u)); }
.areas-more__intro p + p { margin-top: 24px; }
.areas-more__intro p + p > strong:only-child { display: block; margin-top: 6px; }
.areas-more p > strong:only-child { font-weight: 500; color: var(--ink); }
.areas-more__cols { display: grid; grid-template-columns: calc(494 * var(--u)) calc(614 * var(--u)); column-gap: calc(91 * var(--u)); margin-top: 36px; margin-left: -1px; }
.areas-more__cols strong { color: var(--gold); font-weight: 700; }

/* ---------- Área (página de cada área) ---------- */
.area-top { position: relative; padding: 65px 0 64px; --sx: 142; overflow: hidden; }
.area-top__in { z-index: 1; }
.area-top__grid { display: grid; grid-template-columns: calc(812 * var(--u)) 1fr; align-items: start; margin-top: 70px; }
.area-top__text { padding-left: calc(144 * var(--u)); }
.area-top__text .page-h { max-width: calc(400 * var(--u)); min-width: 300px; }
.area-top__intro { margin-top: 48px; width: calc(536 * var(--u)); min-width: 400px; font: 300 18px/28px var(--fa); }
.area-top__intro p + p { margin-top: 28px; }
.area-top__lead { font-weight: 700; text-transform: uppercase; }
.area-top__img { position: relative; width: calc(661 * var(--u)); margin-top: 4px; }
.area-top__img img { width: 100%; aspect-ratio: 661 / 290; object-fit: cover; }
.area-top__bar { position: absolute; left: calc(1 * var(--u)); bottom: 0; width: calc(531 * var(--u)); height: 17px; background: var(--gold); clip-path: polygon(0 0, 100% 0, calc(100% - 7.4px) 100%, 0 100%); }
.area-blocks { position: relative; background: var(--paper2); padding: 90px 0 135px; overflow: hidden; }
.area-blocks__shade { position: absolute; left: calc(50% - calc(1582 * var(--u))); top: 0; width: calc(992 * var(--u)); height: 649px; opacity: .2; background: linear-gradient(100deg, #000, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 71.9% 99.3%); }
.area-blocks__in { display: grid; grid-template-columns: calc(696 * var(--u)) calc(560 * var(--u)); row-gap: 90px; padding-left: calc(117 * var(--u)); align-items: start; }
.ablock { padding-left: 29px; max-width: calc(586 * var(--u)); font: 300 18px/28px var(--fa); color: var(--ink); }
.ablock:nth-child(2n) { max-width: calc(531 * var(--u)); }
.ablock--full { grid-column: 1 / -1; max-width: calc(1180 * var(--u)); }
.ablock__t { position: relative; margin-bottom: 28px; font: 700 18px/28px var(--fa); color: var(--ink); }
.ablock__t .ic-tri { position: absolute; left: -29px; top: 6px; color: var(--gold); }
.ablock__txt p + p { margin-top: 28px; }
.ablock__txt p + ul { margin-top: 0; }
.ablock__txt ul + p { margin-top: 28px; }

/* ---------- Equipe (página) ---------- */
.team-page { position: relative; padding: 65px 0 93px; --sx: 97; overflow: hidden; }
.team-page__shade { position: absolute; left: calc(50% - calc(1582 * var(--u))); top: 522px; width: calc(992 * var(--u)); height: 649px; opacity: .2; background: linear-gradient(100deg, #000, rgba(0,0,0,0) 95%); clip-path: polygon(100% 0, 0 0, 0 100%, 71.9% 99.3%); }
.team-grid { display: grid; grid-template-columns: repeat(4, calc(297 * var(--u))); column-gap: calc(22 * var(--u)); row-gap: 42px; margin: 45px 0 0 calc(99 * var(--u)); }
.team-grid .pcard.is-more { display: none; }
.team-grid.is-all .pcard.is-more { display: block; }
.team-page .center { margin-top: 42px; }

/* ---------- Profissional ---------- */
.prof { position: relative; min-height: 769px; background: var(--dark); overflow: hidden; }
.prof::before { content: ""; position: absolute; left: calc(50% - calc(729.5 * var(--u))); top: -7px; width: calc(811 * var(--u)); height: 802px; background: linear-gradient(160deg, #060503 0%, #282423 100%); clip-path: polygon(100% 0, 0 0, 0 100%, 57.5% 99.3%); }
.prof__media { position: absolute; left: calc(50% - calc(629 * var(--u))); top: -63px; height: 830px; }
.prof__media img { height: 100%; width: auto; max-width: none; }
.prof__panel { position: absolute; top: -7px; bottom: 0; left: calc(50% - calc(265 * var(--u))); right: 0; background: #f9f9f9; clip-path: polygon(calc(342.6 * var(--u)) 0, 100% 0, 100% 100%, 0 100%); }
.prof__in { z-index: 2; min-height: 769px; padding: 166px 0 70px; }
.prof__back { position: absolute; top: 65px; right: calc(96 * var(--u)); }
.prof__info { position: relative; margin-left: calc(795 * var(--u)); width: calc(473 * var(--u)); min-width: 380px; }
.prof__name { font: 500 18px/15px var(--fj); letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }
.prof__role { margin-top: 8px; font: 500 14px/15px var(--fj); letter-spacing: .07em; text-transform: uppercase; color: var(--gold); }
.prof__icons { display: flex; align-items: center; gap: 15px; margin-top: 23px; color: var(--gold); }
.prof__icons a { display: flex; transition: color .25s, transform .25s; }
.prof__icons a:hover { color: var(--ink); }
.prof__icons svg { height: 17px; width: auto; }
.prof__bio { margin-top: 44px; font: 300 16px/24px var(--fa); color: var(--ink); }
.prof__bio p + p { margin-top: 24px; }
.js [data-fade] { opacity: 0; transition: opacity 1.4s var(--ease); }
.js [data-fade].is-in { opacity: 1; }

/* ---------- Atualizações (listagem) ---------- */
.bloglist { position: relative; background: var(--paper); padding: 65px 0 91px; --sx: 97; }
.bloglist__in { z-index: 1; }
.blog__top { display: grid; grid-template-columns: calc(716 * var(--u)) calc(504 * var(--u)); column-gap: calc(31 * var(--u)); margin: 66px 0 0 calc(93 * var(--u)); }
.feat__link { position: relative; display: block; height: 619px; overflow: hidden; background: #222; color: #fff; }
.feat__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.feat__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.87) 9.4%, rgba(102,102,102,0) 82.8%); }
.feat__body { position: absolute; z-index: 1; left: calc(30 * var(--u)); right: calc(21 * var(--u)); bottom: 24px; }
.feat__title { display: block; max-width: calc(605 * var(--u)); font: 600 28px/31px var(--fa); }
.feat__meta { display: flex; align-items: center; gap: 20px; margin-top: 46px; font: 700 12px/20px var(--fa); letter-spacing: -.04em; text-transform: uppercase; color: var(--grey3); }
.feat__meta time { margin-left: auto; margin-right: calc(30 * var(--u)); }
.feat__plus { display: flex; color: var(--gold-l); transition: transform .4s var(--ease); }
.feat__plus svg { width: 36.8px; height: 32.4px; }
.feat__link:hover .feat__img { transform: scale(1.05); }
.feat__link:hover .feat__plus { transform: rotate(90deg); }
.blog__side { display: grid; row-gap: 32px; align-content: start; }
.blog__h { font: 700 18px/28px var(--fa); text-transform: uppercase; color: var(--ink); }
.bloglist > .wrap > .blog__h { margin: 84px 0 0 calc(95 * var(--u)); }
.news-grid--blog { margin: 42px 0 0 calc(95 * var(--u)); }
.blog__empty { margin: 60px 0 0 calc(97 * var(--u)); }

/* Paginação */
.pager { display: flex; align-items: center; justify-content: center; gap: calc(113 * var(--u)); margin-top: 82px; }
.pager__arrow { display: flex; color: var(--gold); width: 20px; height: 49px; }
.pager__arrow svg { width: 20px; height: 49px; }
.pager__arrow.is-off { opacity: .3; }
.pager__list { display: flex; gap: 9.5px; }
.pager__list a, .pager__list span { display: flex; align-items: center; justify-content: center; width: 24.8px; height: 39px; background: var(--grey3); font: 500 14.2px/17.7px var(--fj); letter-spacing: .07em; color: var(--grey4); transition: background .25s, color .25s; }
.pager__list .is-current { background: var(--ink); color: var(--gold); }
.pager__list a:hover { background: var(--gold); color: #fff; }
.pager__list .pager__gap { background: none; }

/* ---------- Texto da atualização ---------- */
.post { position: relative; background: var(--paper); padding: 60px 0 67px; }
.post__in { z-index: 1; padding-left: calc(92 * var(--u)); }
.post__img { width: calc(1249 * var(--u)); margin-left: calc(1 * var(--u)); aspect-ratio: 1249 / 497; overflow: hidden; }
.post__img img { width: 100%; height: 100%; object-fit: cover; }
.post__meta { display: flex; gap: calc(37 * var(--u)); margin: 38px 0 0 calc(1 * var(--u)); font: 700 12px/20px var(--fa); letter-spacing: -.04em; text-transform: uppercase; color: var(--ink); }
.post__meta a:hover { color: var(--gold); }
.post__grid { display: grid; grid-template-columns: calc(605 * var(--u)) calc(504 * var(--u)); column-gap: calc(143 * var(--u)); margin-top: 39px; }
.post__title { font: 600 28px/31px var(--fa); color: var(--ink); }
.post__sub { margin-top: 37px; max-width: calc(481 * var(--u)); font: 400 24px/24px var(--fa); color: var(--ink); }
.post__content { margin-top: 38px; padding-right: 3px; font: 300 16px/24px var(--fa); color: var(--ink); }
.post__content p + p { margin-top: 24px; }
.post__side { padding-top: 2px; }
.post__side .blog__h { margin-bottom: 25px; }
.post__side .ncard + .ncard { margin-top: 32px; }
.share { margin-top: 32px; }
.share__t { font: 700 16px/28px var(--fa); text-transform: uppercase; color: var(--ink); }
.share__list { display: flex; gap: 14px; margin-top: 10px; color: var(--gold); }
.share__list a, .share__list button { display: flex; transition: color .25s; }
.share__list svg { width: 18px; height: 18px; }
.share__list a:hover, .share__list button:hover { color: var(--ink); }
.share__list .is-copied { color: var(--ink); }

/* ---------- Contato / Trabalhe conosco ---------- */
.contact { position: relative; background: var(--paper); min-height: 756px; padding: 65px 0 60px; --sx: 145; }
.top-img { position: absolute; z-index: 1; top: -37px; left: calc(50% - calc(27 * var(--u))); width: calc(779 * var(--u)); height: 276.5px; overflow: hidden; clip-path: polygon(15.13% 0, 100% 0, 100% 100%, 0 100%); }
.top-img img { width: 100%; height: 100%; object-fit: cover; }
.contact__in { z-index: 2; }
.contact__title { margin: 66px 0 0 calc(144 * var(--u)); line-height: 39.5px; }
.contact ~ .map { --map-h: 603px; }
.contact__grid { display: grid; grid-template-columns: calc(471 * var(--u)) calc(682 * var(--u)); margin: 79px 0 0 calc(145 * var(--u)); }
.contact__lead { width: calc(329 * var(--u)); min-width: 280px; font: 300 18px/28px var(--fa); }
.contact__dash { display: block; width: 16.5px; height: 2px; margin: 53px 0 0 calc(2 * var(--u)); background: var(--ink); }
.contact__tel { margin: 36px 0 0 calc(-3 * var(--u)); font: 300 16px/28px var(--fa); }
.contact__end { margin: 26px 0 0 calc(2 * var(--u)); font: 300 16px/20px var(--fa); }
.contact__mail { display: inline-flex; align-items: center; gap: 11px; margin-top: 44px; font: 300 16px/28px var(--fa); }
.contact__mail .ic-mail { width: 17px; height: 13.2px; color: var(--gold); }
.contact a:hover { color: var(--gold); }
.contact__form { margin-top: 8px; }
.form--light .form__foot { margin-top: 34px; }

.careers { padding-bottom: 90px; }
.careers__lead { margin: 30px 0 0 calc(145 * var(--u)); width: calc(682 * var(--u)); font: 300 18px/28px var(--fa); }
.careers__form { width: calc(682 * var(--u)); min-width: 520px; margin: 87px 0 0 calc(145 * var(--u)); }
.careers__vt { --sx: 97; margin-top: 34px; }
.careers__none { margin: 40px 0 0 calc(145 * var(--u)); max-width: 682px; }
.form__foot--cv { margin-top: 40px; }
.cv-form .check { margin-top: 18px; }
.file-btn { position: relative; display: inline-flex; align-items: center; gap: 12px; height: 35px; padding: 0 22px; border: 1px solid var(--ink); font: 400 12px/15px var(--fa); letter-spacing: .31em; text-transform: uppercase; color: var(--ink); cursor: pointer; transition: background .25s; }
.file-btn:hover, .file-btn:focus-within { background: var(--gold); }
.file-btn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.file-btn.has-file { background: var(--paper2); border-color: var(--gold); }
.jobs { display: grid; grid-template-columns: repeat(4, calc(274 * var(--u))); column-gap: calc(34 * var(--u)); row-gap: 22px; margin: 47px 0 0 calc(145 * var(--u)); }
.job { position: relative; display: flex; align-items: flex-start; width: 100%; height: 124px; padding: 33px 27px 0 27px; border: 1px solid var(--gold); text-align: left; font: 700 18px/24px var(--fa); color: var(--ink); transition: background .3s; }
.job__t { display: block; max-width: 199px; }
.job__plus { position: absolute; right: 11px; bottom: 11.6px; display: flex; color: var(--gold); transition: transform .4s var(--ease), color .3s; }
.job__plus svg { width: 36.8px; height: 32.4px; }
.job:hover { background: #fff; }
.job:hover .job__plus { transform: rotate(90deg); }

/* Modal da vaga */
.modal { position: fixed; inset: 0; z-index: 120; overflow-y: auto; padding: 60px 16px; }
.modal[hidden] { display: none; }
.modal__shade { position: fixed; inset: 0; background: rgba(0,0,0,.8); }
.modal__box { position: relative; width: 944px; max-width: 100%; margin: 0 auto; background: #fff; border: 1px solid #000; animation: modal-in .45s var(--ease); }
@keyframes modal-in { from { opacity: 0; transform: translateY(24px); } }
.modal__close { position: absolute; top: 33.5px; right: 30px; color: var(--gold); display: flex; transition: transform .3s; }
.modal__close:hover { transform: rotate(90deg); }
.modal__head { padding: 59px 113px 40px; border-bottom: 1px solid var(--grey2); }
.modal__head .sec-title { margin: 0; }
.modal__t { margin-top: 12px; max-width: 354px; font: 700 24px/24px var(--fa); color: var(--ink); }
.modal__body { padding: 33px 118px 40px; border-bottom: 1px solid var(--grey2); font: 300 18px/24px var(--fa); color: var(--grey4); }
.modal__body h3 { font: 700 18px/24px var(--fa); margin-bottom: 24px; }
.modal__body ul + h3, .modal__body ul + h3, .modal__body .rich + h3 { margin-top: 35px; }
.modal__body ul li { position: relative; padding-left: 12px; }
.modal__body ul li::before { content: "•"; position: absolute; left: 0; }
.modal__form { padding: 44px 131px 40px 123px; }
body.modal-open { overflow: hidden; }

/* ---------- Ações institucionais ---------- */
.act { position: relative; background: var(--paper); padding: 65px 0 101px; --sx: 97; overflow: hidden; }
.act__in { z-index: 1; }
.act__intro { margin: 101px 0 0 calc(102 * var(--u)); }
.act__intro .page-h { max-width: calc(600 * var(--u)); min-width: 440px; color: #000; }
.act__sub { margin-top: 18px; font: 400 24px/39.5px var(--fj); letter-spacing: .05em; color: #000; }
.act__text { margin-top: 37px; max-width: calc(761 * var(--u)); font: 300 20px/28px var(--fa); color: var(--ink); }
.act__text p + p { margin-top: 28px; }
.act__grid { margin: 89px 0 0 calc(95 * var(--u)); column-gap: calc(42 * var(--u)); row-gap: 37px; }
.ncard--act .ncard__link { height: 385px; }
.ncard--act .ncard__media { background: var(--paper2); }
.ncard--act .ncard__media img { object-fit: contain; }
.ncard--act .ncard__media::after { display: none; }
.ncard--act .ncard__title { -webkit-line-clamp: 2; }
.ncard--act .ncard__meta { top: 57px; }
.act .pager { margin-top: 96px; }

.act-item { display: grid; margin-top: 81px; }
.act-item--text { grid-template-columns: calc(661 * var(--u)) 1fr; padding-left: calc(92 * var(--u)); }
.act-item__t { font: 600 28px/31px var(--fa); color: var(--ink); max-width: calc(605 * var(--u)); }
.act-item__sub { margin-top: 21px; max-width: calc(481 * var(--u)); font: 400 24px/24px var(--fa); color: var(--ink); }
.act-item__h { margin-top: 27px; font: 600 20px/31px var(--fa); color: var(--ink); }
.act-item__txt { margin-top: 31px; max-width: calc(577 * var(--u)); font: 300 16px/24px var(--fa); color: var(--ink); }
.act-item--text .act-item__slider { width: calc(100% + max(0px, (100vw - 1440px) / 2)); max-width: none; }
.act-item--info { grid-template-columns: calc(687 * var(--u)) calc(559 * var(--u)); padding-left: calc(97 * var(--u)); }
.act-item--info .act-item__body { order: 2; background: rgba(0,0,0,.02); padding: 72px calc(40 * var(--u)) 40px calc(51 * var(--u)); }
.act-item--info .act-item__slider { order: 1; }
.act-item__infos { margin-top: 45px; font: 600 20px/31px var(--fa); }
.act-item__infos div { display: flex; gap: 22px; }
.act-item__infos div + div { margin-top: 19px; }
.act-item__infos dd { font-weight: 300; }

/* ---------- Página simples / 404 ---------- */
.plain { position: relative; padding: 70px 0 110px; }
.plain__in { z-index: 1; padding-left: calc(144 * var(--u)); max-width: calc(calc(144 * var(--u)) + 900px); }
.plain__content { margin-top: 40px; font: 300 17px/28px var(--fa); }
.plain__lead { margin: 30px 0; font: 300 18px/28px var(--fa); }

/* =====================================================================
   Tablet e celular (< 1024px): o layout absoluto vira fluxo.
   ===================================================================== */
@media (max-width: 1023px) {
	.wrap, .fixbar__in { width: 100%; padding-left: 32px; padding-right: 32px; }
	.sec-title { margin-left: 0; gap: 18px; font-size: 17px; line-height: 28px; }
	.page-h { font-size: 28px; line-height: 34px; }
	.page-h--32 { font-size: 26px; line-height: 32px; }
	.page-head { padding-right: 0; gap: 16px; }

	/* Cabeçalho */
	.site-head__toggle, body:not(.home) .site-head__toggle { left: 32px; top: 30px; }
	.site-head__brand, body:not(.home) .site-head__brand { left: 32px; top: 76px; width: 190px; min-width: 0; }
	body:not(.home) .site-head__brand { top: 70px; width: 160px; }
	.site-head__util, body:not(.home) .site-head__util { left: auto; right: 32px; top: 26px; gap: 22px; }
	.site-head__line { display: none; }
	.page-top { height: 180px; }
	.page-top__mono { left: auto; right: -60px; width: 420px; }
	.page-top__bar { width: 70%; }

	.fixbar { height: 76px; }
	.fixbar::before { height: 70px; }
	.fixbar::after { top: 70px; height: 6px; width: 70%; }
	.fixbar__in { height: 70px; justify-content: space-between; }
	.fixbar__in::after, .fixbar__nav, .fixbar__tel { display: none; }
	.fixbar__toggle { display: flex; }
	.fixbar__brand { position: static; width: 54px; }
	.fixbar__brand img { width: 54px; }
	.fixbar .social { position: static; }

	.omenu__panel { width: 88vw; min-width: 0; padding: 30px 24px 40px 32px; clip-path: polygon(0 0, 100% 0, calc(100% - 22vw) 100%, 0 100%); }
	.omenu__nav { margin-top: 60px; }
	.omenu__list li + li { margin-top: 24px; }
	.omenu__info { margin-top: 44px; }

	/* Banner */
	.hero { height: auto; min-height: 640px; padding-bottom: 120px; }
	.hero__in { padding-top: 250px; }
	.hero__eyebrow { margin-left: 0; }
	.hero__title { margin: 24px 0 0; max-width: 560px; font-size: 34px; line-height: 42px; }
	.hero__cursor { margin-bottom: 8px; width: 12px; }
	.hero__btn { margin-left: 0; }
	.hero__mono { left: auto; right: -120px; top: auto; bottom: 30px; width: 520px; }
	.hero__s1 { left: -40%; width: 200%; }
	.hero__bar { left: 0; width: 72%; top: auto; bottom: 0; }
	.inst::before { display: none; }

	/* Institucional */
	.inst { height: auto; padding: 70px 0 0; overflow: hidden; }
	.inst__in { display: flex; flex-direction: column; }
	.inst__left, .inst__right, .inst__title, .inst__img { position: static; width: auto; height: auto; }
	.inst__title { max-width: 520px; font-size: 24px; line-height: 30px; gap: 16px; }
	.inst__right { order: 2; margin-top: 36px; max-width: 640px; }
	.inst__img { order: 3; margin: 30px -32px 0; }
	.inst__left { display: contents; }
	.dif { margin-top: 40px; padding-left: 26px; }
	.dif + .dif { margin-top: 32px; }
	.dif__title { line-height: 22px; }
	.dif__title::before { left: -26px; top: 10px; }
	.dif__text { width: auto; }
	.inst__shade1, .inst__shade2 { display: none; }

	/* Expertise + newsletter */
	.exp { height: auto; padding: 80px 0 70px; }
	.exp__in { display: flex; flex-direction: column; gap: 36px; }
	.exp .sec-title, .exp__text, .exp__right, .exp__btn { position: static; width: auto; }
	.exp__text { margin-top: 26px; font-size: 16px; line-height: 24px; }
	.exp .area-list { width: auto; }
	.exp__btn { margin-top: 18px; }
	.area-list a { font-size: 15px; line-height: 20px; white-space: normal; }
	.area-list li { line-height: 20px; }
	.nl { height: auto; padding: 70px 0 90px; }
	.nl__in { display: flex; flex-direction: column; gap: 32px; }
	.nl .sec-title, .nl__lead, .nl__form { position: static; width: auto; }
	.nl__lead { margin-top: 26px; font-size: 22px; line-height: 27px; }
	.nl__bar { width: 70%; }

	/* Equipe (carrossel) */
	.team-sec { height: auto; padding: 70px 0 70px; }
	.team-sec__head { height: auto; display: flex; align-items: center; justify-content: space-between; }
	.team-sec .sec-title, .team-sec .carousel-nav { position: static; }
	.carousel-nav { gap: 30px; }
	.team-track { position: static; margin-top: 36px; padding: 0 32px; scroll-padding-left: 32px; gap: 18px; }
	.team-sec__more { position: static; margin-top: 40px; }
	.pcard { width: 240px; min-width: 0; }
	.pcard__media, .pcard__li { width: 233px; min-width: 0; }

	/* Atualizações (faixa dourada) */
	.news-sec { height: auto; padding: 17px 0 0; }
	.news-sec__bg { top: 17px; }
	.news-sec__in { height: auto; padding-top: 64px; padding-bottom: 70px; }
	.news-sec .sec-title, .news-sec .news-grid, .news-sec .center { position: static; }
	.news-sec .news-grid { margin-top: 36px; }
	.news-sec .center { margin-top: 40px; }
	.news-sec__strip { left: 55%; }
	.news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 28px; }
	.ncard__link { height: auto; padding-bottom: 20px; }
	.ncard__media { position: relative; display: block; margin-left: auto; }
	.ncard__body { position: relative; left: auto; right: auto; top: auto; display: block; padding: 22px 20px 0 7.2%; }
	.ncard__title { width: auto; }
	.ncard__meta { position: static; margin-top: 18px; }
	.ncard--side .ncard__link { height: auto; display: flex; padding-bottom: 0; }
	.ncard--side .ncard__media { position: relative; flex: none; width: 38%; min-width: 0; margin: 0; }
	.ncard--side .ncard__body { left: auto; right: auto; top: auto; padding: 10px 16px 14px 18px; flex: 1; min-width: 0; }
	.rich table { display: block; overflow-x: auto; }
	.ncard--side .ncard__title { margin-top: 6px; max-width: none; }
	.ncard--side .ncard__meta { margin-top: 10px; }

	.map { --map-h: 420px; }

	/* Rodapé */
	.site-foot__gold { width: 72%; }
	.site-foot__in { height: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 22px 40px; padding-top: 50px; padding-bottom: 40px; }
	.site-foot__brand, .site-foot__tel, .site-foot__end, .site-foot__mail, .site-foot__social, .site-foot__unitri { position: static; }
	.site-foot__brand { width: 200px; min-width: 0; flex-basis: 100%; }
	.site-foot__brand img { width: 200px; }
	.site-foot__social { order: 5; }
	.site-foot__unitri { order: 6; margin-left: auto; }
	.site-foot__bin { flex-wrap: wrap; height: auto; padding: 12px 32px 18px; gap: 4px 30px; line-height: 22px; }
	.site-foot__bin p { width: auto; }
	.wa-float { right: 20px; bottom: 20px; width: 60px; height: 60px; }
	.wa-float svg { width: 28px; height: 28px; }

	/* Sobre */
	.about { padding: 50px 0 70px; }
	.about__grid { display: flex; flex-direction: column; margin: 40px 0 0; }
	.about__title, .about__text, .about__lead { width: auto; min-width: 0; }
	.about__right { order: -1; margin-bottom: 30px; }
	.about__lead { order: 0; }
	.about__slider { width: auto; margin: 30px -32px 0; }
	.about__text { margin-top: 30px; font-size: 16px; line-height: 26px; }
	.ess { padding: 60px 0 70px; }
	.ess__grid { display: block; margin: 40px 0 0; }
	.ess__text { width: auto; min-width: 0; font-size: 16px; line-height: 26px; }
	.ess__cards { margin-top: 40px; column-gap: 20px; row-gap: 20px; }
	.ess-card { min-height: 0; padding: 22px 22px 26px; font-size: 16px; line-height: 22px; }
	.ess-card--full { min-height: 0; line-height: 24px; }
	.tl { padding: 60px 0 80px; }
	.tl__title { margin-top: 30px; font-size: 26px; line-height: 32px; }
	.tl__list { margin-top: 50px; }
	.vals { padding: 60px 0 70px; }
	.vals__head { display: block; }
	.vals__head .sec-title { margin-left: 0; }
	.vals__intro { margin-top: 20px; }
	.vals__list { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: 1fr 1fr; gap: 34px 30px; margin: 40px 0 0; }
	.partners { margin-top: 70px; }
	.partners__head { padding-right: 0; }
	.partners__track { grid-auto-columns: 320px; gap: 20px; margin: 30px -32px 0; padding: 0 32px; }
	.quote { min-height: 0; padding: 26px 26px 30px; }
	.quote__mark { right: 18px; }
	.quote__txt { margin-left: 0; max-width: none; min-width: 0; font-size: 16px; }
	.acts { padding: 60px 0 70px; }
	.acts__title, .acts__text { margin-left: 0; width: auto; }
	.acts__title { margin-top: 30px; font-size: 24px; line-height: 30px; }
	.tabs { display: block; margin: 40px 0 0; min-height: 0; }
	.tabs__list { flex-direction: row; overflow-x: auto; scrollbar-width: none; margin: 0 -32px; padding: 0 32px; }
	.tabs__list::-webkit-scrollbar { display: none; }
	.tabs__tab { flex: none; width: auto; min-height: 60px; padding: 0 22px 0 44px; border-bottom: 0; border-right: 1px solid rgba(87,87,87,.2); white-space: nowrap; }
	.tabs__tab::before { left: 18px; }
	.tabs__panel { min-height: 0; padding: 36px 26px 80px; }
	.tabs__txt, .tabs__img { max-width: none; width: auto; }
	.tabs__go { right: 26px; bottom: 30px; }

	/* Áreas */
	.areas-intro { min-height: 0; padding: 50px 0 60px; }
	.areas-intro__in { display: block; }
	.areas-intro__text { margin: 30px 0 0; width: auto; min-width: 0; font-size: 16px; }
	.areas-intro__list { margin: 40px 0 0; width: auto; }
	.areas-intro__list li { margin-bottom: 26px; }
	.areas-more { padding: 60px 0; }
	.areas-more__in { padding-left: 32px; font-size: 16px; }
	.areas-more__intro { max-width: none; }
	.areas-more__cols { grid-template-columns: 1fr; row-gap: 24px; }
	.area-top { padding: 50px 0 50px; }
	.area-top__grid { display: flex; flex-direction: column-reverse; gap: 30px; margin-top: 36px; }
	.area-top__text { padding-left: 0; }
	.area-top__intro { width: auto; min-width: 0; margin-top: 30px; font-size: 16px; line-height: 26px; }
	.area-top__img { width: auto; margin: 0 -32px 0 0; }
	.area-top__bar { width: 80%; }
	.area-blocks { padding: 60px 0 80px; }
	.area-blocks__in { grid-template-columns: 1fr 1fr; column-gap: 30px; row-gap: 40px; padding-left: 32px; }
	.ablock, .ablock:nth-child(2n), .ablock--full { max-width: none; font-size: 16px; line-height: 26px; }

	/* Equipe */
	.team-page { padding: 50px 0 70px; }
	.team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 18px; margin: 36px 0 0; }
	.team-grid .pcard, .team-grid .pcard__media, .team-grid .pcard__li { width: 100%; min-width: 0; }
	.team-grid .pcard__media { margin-left: 0; }

	/* Profissional */
	.prof { height: auto; display: flex; flex-direction: column; background: #f9f9f9; }
	.prof::before, .prof__panel { display: none; }
	.prof__media { position: relative; left: auto; top: auto; height: 460px; background: var(--dark); display: flex; justify-content: center; overflow: hidden; }
	.prof__media img { height: 115%; margin-top: -2%; }
	.prof__in { min-height: 0; padding-top: 40px; padding-bottom: 60px; }
	.prof__back { position: static; display: inline-flex; margin-bottom: 30px; }
	.prof__info { margin-left: 0; width: auto; min-width: 0; }

	/* Atualizações */
	.bloglist { padding: 50px 0 70px; }
	.blog__top { display: block; margin: 36px 0 0; }
	.feat__link { height: 460px; }
	.feat__body { left: 24px; right: 24px; }
	.feat__title { font-size: 22px; line-height: 27px; }
	.blog__side { margin-top: 20px; row-gap: 16px; }
	.bloglist > .wrap > .blog__h { margin: 50px 0 0; }
	.news-grid--blog { margin: 28px 0 0; }
	.pager { gap: 30px; margin-top: 50px; }
	.post { padding: 30px 0 60px; }
	.post__in { padding-left: 32px; }
	.post__img { width: auto; margin: 0 -32px 0 -32px; }
	.post__grid { display: block; }
	.post__title { font-size: 24px; line-height: 29px; }
	.post__sub { font-size: 19px; line-height: 24px; }
	.post__side { margin-top: 50px; }

	/* Contato / Trabalhe */
	.contact { min-height: 0; padding: 50px 0 60px; }
	.top-img { position: relative; top: auto; left: auto; width: 100%; height: 200px; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); margin: -50px 0 30px; }
	.contact__title { margin: 30px 0 0; }
	.contact__grid { display: flex; flex-direction: column-reverse; gap: 40px; margin: 36px 0 0; }
	.contact__lead { width: auto; min-width: 0; }
	.careers__lead, .careers__form, .careers__none { margin-left: 0; width: auto; min-width: 0; }
	.careers__form { margin-top: 40px; }
	.jobs { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; margin: 30px 0 0; }
	.modal__head { padding: 50px 28px 30px; }
	.modal__body { padding: 28px; font-size: 16px; }
	.modal__form { padding: 30px 28px 34px; }
	.modal__close { top: 20px; right: 20px; }

	/* Ações */
	.act { padding: 50px 0 70px; }
	.act__intro { margin: 40px 0 0; }
	.act__intro .page-h { min-width: 0; }
	.act__sub { font-size: 20px; line-height: 28px; }
	.act__text { font-size: 17px; line-height: 26px; }
	.act__grid { margin: 40px 0 0; }
	.act-item, .act-item--text, .act-item--info { display: flex; flex-direction: column; gap: 30px; padding-left: 0; margin-top: 40px; }
	.act-item--text .act-item__slider { width: auto; margin: 0 -32px; }
	.act-item--info .act-item__body { padding: 30px 24px; }
	.act-item__t { font-size: 24px; line-height: 29px; }
	.act-item__sub { font-size: 19px; line-height: 24px; }

	.plain__in { padding-left: 32px; max-width: none; }
	.bg-diag { display: none; }
}

@media (max-width: 640px) {
	.wrap { padding-left: 20px; padding-right: 20px; }
	.site-head__toggle, body:not(.home) .site-head__toggle { left: 20px; }
	.site-head__brand, body:not(.home) .site-head__brand { left: 20px; }
	.site-head__util, body:not(.home) .site-head__util { right: 20px; gap: 16px; }
	.hero__title { font-size: 28px; line-height: 35px; }
	.hero__in { padding-top: 230px; }
	.inst__img, .about__slider, .post__img, .act-item--text .act-item__slider { margin-left: -20px; margin-right: -20px; }
	.area-top__img { margin-right: -20px; }
	.news-grid, .jobs, .vals__list, .ess__cards, .area-blocks__in { grid-template-columns: 1fr; }
	.area-list { columns: 1; }
	.area-blocks__in { padding-left: 20px; }
	.ess-card--full { grid-column: auto; }
	.team-grid { grid-template-columns: 1fr 1fr; column-gap: 14px; }
	.pcard__name { font-size: 15px; line-height: 18px; }
	.pcard__role { font-size: 12px; }
	.team-track { padding: 0 20px; scroll-padding-left: 20px; }
	.tabs__list { margin: 0 -20px; padding: 0 20px; }
	.partners__track { margin: 30px -20px 0; padding: 0 20px; grid-auto-columns: 82vw; }
	.form__row { grid-template-columns: 1fr; gap: 8px; }
	.form__foot { flex-wrap: wrap; }
	.tl__list::before { left: 6px; }
	.tl__item, .tl__item--l, .tl__item--r { width: auto; margin-left: 0; padding: 0 0 0 34px; text-align: left; }
	.tl__item + .tl__item { margin-top: 30px; }
	.tl__item--l::before, .tl__item--r::before { left: 0; right: auto; }
	.tl__item::after { display: none; }
	.tl__item--l .tl__year, .tl__item--r .tl__year { margin: 0; }
	.tl__p { margin-left: 0; min-width: 0; max-width: none; }
	.tl__h { min-width: 0; max-width: none; }
	.feat__link { height: 380px; }
	.areas-more__in, .post__in, .plain__in { padding-left: 20px; }
	.site-foot__bin { padding-left: 20px; padding-right: 20px; }
	.top-img { height: 150px; }
}
