/* 00-base.css */
/* Medidas em U() = px do Figma (1440). Abaixo de 1024 px vale 99-mobile.css. */
:root {
	--u: 1px;
	--azul: #9cbdc5;
	--azul2: #4b7681;
	--gelo: #d9e2e7;
	--graf: #1e1e1e;
	/* sobra lateral acima de 1440 (os fundos e cortes vão até a borda da tela) */
	--side: max(0px, calc((100vw - 1440 * var(--u)) / 2));
}
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font-family: 'Aptos', 'Segoe UI', Arial, sans-serif; font-weight: 300; color: #000; background: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
strong, b { font-weight: 700; }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 3px; }

.wrap { position: relative; width: calc(1440 * var(--u)); margin: 0 auto; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; left: 12px; top: -60px; z-index: 300; background: #fff; color: #000; padding: 10px 16px; transition: top .2s; }
.skip:focus { top: 12px; }

/* Fotos em preto e branco (o painel aceita imagem colorida). */
.bw { filter: grayscale(1); }
.cut { overflow: hidden; }
.cut img, .cut video { width: 100%; height: 100%; object-fit: cover; }

/* Chapéus de seção */
.kicker { font-size: max(calc(15 * var(--u)), 12px); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; line-height: 1.2; }
.kicker--g { color: #a3a3a3; }
.kicker--w { color: #fff; letter-spacing: 1em; }
.kicker--k { color: #000; letter-spacing: 1em; }

/* Texto corrido das internas: Aptos 20 / 35 */
.body { font-size: max(calc(20 * var(--u)), 16px); line-height: 1.75; font-weight: 300; }
.body p { margin: 0 0 calc(35 * var(--u)); }
.body > :last-child { margin-bottom: 0; }
.body--w { color: #fff; }
.body a { color: inherit; text-decoration-color: var(--azul); text-underline-offset: .2em; }
.body ul, .body ol { margin: 0 0 calc(35 * var(--u)); padding-left: 1.2em; }
.body ul { list-style: disc; }
.body h2, .body h3 { font-size: max(calc(24 * var(--u)), 19.2px); font-weight: 700; line-height: 1.4; margin: calc(45 * var(--u)) 0 calc(15 * var(--u)); }

/* "Conheça nossa história  ⟶" */
.more { display: inline-flex; align-items: center; gap: calc(9 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); font-weight: 700; letter-spacing: .5em; text-transform: uppercase; color: var(--azul); text-decoration: none; line-height: 1.2; }
.more .arrow { flex: none; width: calc(42 * var(--u)); height: auto; color: #767676; transition: transform .3s; }
.more:hover .arrow, .more:focus-visible .arrow { transform: translateX(calc(8 * var(--u))); }
.more--light { font-weight: 300; font-size: max(calc(15 * var(--u)), 12px); letter-spacing: .6em; }
.more--light .arrow { color: #666; }

/* Linhas diagonais finas (posição em px do Figma vinda do HTML) */
.ln { position: absolute; left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u)); width: calc(var(--w) * var(--u)); height: calc(var(--h) * var(--u)); overflow: visible; pointer-events: none; z-index: 3; }
.ln line { stroke: var(--azul); stroke-width: 1; }
.ln--w line { stroke: #fff; }

/* "+" fino */
.plus { position: relative; display: block; width: calc(32 * var(--u)); height: calc(32 * var(--u)); flex: none; }
.plus::before, .plus::after { content: ''; position: absolute; background: currentColor; }
.plus::before { left: 0; right: 0; top: 50%; height: 1px; }
.plus::after { top: 0; bottom: 0; left: 50%; width: 1px; }
.plus--lg { width: calc(48 * var(--u)); height: calc(48 * var(--u)); }

/* Hambúrguer (3 linhas de 33 px) */
.burger { position: relative; display: block; width: calc(33 * var(--u)); height: calc(28 * var(--u)); }
.burger span, .burger::before, .burger::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: currentColor; }
.burger::before { top: 0; }
.burger span { top: calc(13.5 * var(--u)); }
.burger::after { bottom: 0; }
button.burger { padding: 0; border: 0; background: none; cursor: pointer; }

/* Faixa azul com corte diagonal sob os topos pretos */
.band { position: absolute; left: calc(-1 * var(--side)); bottom: 0; height: calc(76 * var(--u)); width: calc(calc(673.5 * var(--u)) + var(--side)); background: var(--azul); clip-path: polygon(0 0, 100% 0, calc(100% - calc(33.5 * var(--u))) 100%, 0 100%); z-index: 2; }

/* Vídeo/imagem de fundo */
.bg-video, .hero__video, .ssust__video { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }

/* Seletor PT | EN */
.lang { display: flex; align-items: center; gap: .35em; text-transform: uppercase; }
.lang a { text-decoration: none; opacity: .75; transition: opacity .2s; }
.lang a:hover, .lang a.is-active { opacity: 1; }
.lang__sep { opacity: .9; }

/* 10-header.css */
/* ---------- Topo da página inicial: PT | EN + menu ---------- */
.topbar { position: absolute; top: calc(52 * var(--u)); right: calc(var(--side) + calc(50 * var(--u))); z-index: 20; display: flex; flex-direction: column; align-items: center; gap: calc(15 * var(--u)); color: #fff; }
.topbar__lang { font-size: max(calc(12 * var(--u)), 9.6px); font-weight: 300; }
.topbar__burger { color: #fff; }

/* Logo das internas */
.logo-top { position: absolute; top: calc(100 * var(--u)); left: calc(var(--side) + calc(48 * var(--u))); width: calc(272 * var(--u)); z-index: 5; }
.logo-top svg { width: 100%; height: auto; }

/* ---------- Menu fixo (canto superior direito) ---------- */
.fixbar { position: fixed; top: 0; right: 0; z-index: 60; display: flex; box-shadow: 0 4px 4px rgba(0, 0, 0, .25); transform: translateY(-110%); transition: transform .35s ease; }
.fixbar.is-on { transform: none; }
.fixbar__menu { width: calc(71 * var(--u)); height: calc(72 * var(--u)); min-width: 46px; min-height: 46px; display: grid; place-items: center; background: var(--azul); border: 0; padding: 0; cursor: pointer; color: #000; }
.fixbar__home { width: calc(79 * var(--u)); height: calc(72 * var(--u)); min-width: 50px; min-height: 46px; display: grid; place-items: center; background: #000; }
.fixbar__home svg { width: calc(46 * var(--u)); min-width: 30px; height: auto; }
.fixbar__menu:hover, .fixbar__menu:focus-visible { background: #b2ced5; }

/* ---------- Menu aberto (meia tela) ---------- */
.menu { position: fixed; inset: 0; z-index: 200; }
.menu[hidden] { display: none; }
.menu__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); opacity: 0; transition: opacity .35s; }
.menu__panel { position: absolute; top: 0; right: 0; bottom: 0; width: calc(calc(668 * var(--u)) + var(--side)); max-width: 100%; background: #fff; overflow-y: auto; transform: translateX(100%); transition: transform .4s cubic-bezier(.2, .7, .2, 1); outline: 0; }
.menu.is-open .menu__shade { opacity: 1; }
.menu.is-open .menu__panel { transform: none; }
.menu__in { position: relative; width: calc(668 * var(--u)); padding: max(calc(40 * var(--u)), calc((100vh - calc(661 * var(--u))) / 2)) 0 calc(40 * var(--u)) calc(77 * var(--u)); }
.menu__logo { display: block; width: calc(295.4 * var(--u)); }
.menu__logo svg { width: 100%; height: auto; }
.menu__close { position: absolute; top: calc(max(calc(40 * var(--u)), calc((100vh - calc(661 * var(--u))) / 2)) + calc(12 * var(--u))); left: calc(591 * var(--u)); width: calc(30 * var(--u)); height: calc(30 * var(--u)); min-width: 24px; min-height: 24px; border: 0; padding: 0; background: none; cursor: pointer; }
.menu__close::before, .menu__close::after { content: ''; position: absolute; left: 50%; top: 50%; width: 141%; height: 1px; background: #000; }
.menu__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.menu__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.menu__list { margin-top: calc(84 * var(--u)); }
.menu__list a { display: inline-block; font-size: max(calc(40 * var(--u)), 32px); line-height: calc(76 * var(--u)); font-weight: 300; letter-spacing: .2em; text-transform: uppercase; color: #000; text-decoration: none; transition: color .2s; }
.menu__list a:hover, .menu__list a:focus-visible, .menu__list a[aria-current] { color: var(--azul); }
.menu__lang { margin-top: calc(71 * var(--u)); padding-left: calc(4 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); letter-spacing: .5em; color: #000; gap: 0; }
.menu__lang .lang__sep { padding-right: .5em; }
.menu__social { display: block; width: calc(36 * var(--u)); margin-top: calc(15 * var(--u)); color: var(--azul); padding: calc(3.6 * var(--u)); }
.menu__social svg { width: 100%; height: auto; }
body.menu-open { overflow: hidden; }

/* 20-home.css */
/* ---------- Banner ---------- */
.hero { position: relative; height: calc(856 * var(--u)); background: #000; color: #fff; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; }
.hero__bg::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.hero__wrap { height: 100%; }
.hero__pat { position: absolute; top: calc(528 * var(--u)); right: calc(-1 * var(--side)); width: calc(768 * var(--u)); }
.hero__pat svg { width: 100%; height: auto; }
.hero__logo { position: absolute; left: calc(48 * var(--u)); top: calc(376 * var(--u)); width: calc(372 * var(--u)); }
.hero__logo svg { width: 100%; height: auto; }
.hero__frases { position: absolute; right: calc(51 * var(--u)); top: calc(338 * var(--u)); }
.hero__frase { position: absolute; right: 0; top: 0; text-align: right; white-space: nowrap; font-size: max(calc(55 * var(--u)), 44px); font-weight: 300; line-height: calc(77 * var(--u)); letter-spacing: .2em; text-transform: uppercase; opacity: 0; transition: opacity .9s ease; }
.hero__frase.is-on { opacity: 1; }
.hero__frase span { display: block; }

/* Cidades + parceria de New York */
.cid__list { font-size: max(calc(13 * var(--u)), 10.4px); font-weight: 300; letter-spacing: .6em; text-transform: uppercase; color: #8e8e8e; white-space: nowrap; line-height: 1.2; }
.cid__list i { font-style: normal; color: var(--azul); }
.cid__ny { display: inline-flex; align-items: center; background: none; border: 0; padding: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; cursor: pointer; }
.cid__mais { position: relative; display: inline-block; width: calc(8.4 * var(--u)); height: calc(8.4 * var(--u)); min-width: 7px; min-height: 7px; margin-left: -.35em; color: #767676; transition: transform .3s; }
.cid__mais::before, .cid__mais::after { content: ''; position: absolute; background: currentColor; }
.cid__mais::before { left: 0; right: 0; top: 50%; height: 1px; }
.cid__mais::after { top: 0; bottom: 0; left: 50%; width: 1px; }
.cid.is-open .cid__mais { transform: rotate(45deg); }
.cid__parc { font-size: max(calc(14 * var(--u)), 11.2px); line-height: calc(20 * var(--u)); font-weight: 400; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s, transform .35s; }
.cid__parc a, .cid__parc strong { font-weight: 700; color: inherit; text-decoration: none; border-bottom: 1px solid var(--azul); }
.cid.is-open .cid__parc { opacity: .8; visibility: visible; transform: none; }
.cid--hero { position: absolute; left: calc(51 * var(--u)); top: calc(780 * var(--u)); display: flex; align-items: center; gap: calc(14 * var(--u)); }
.cid--hero .cid__parc { color: #fff; transform: translateX(calc(-10 * var(--u))); }

/* ---------- Sobre nós (home) ---------- */
.hsobre { position: relative; z-index: 2; height: calc(862 * var(--u)); background: var(--gelo); }
.hsobre__wrap { height: 100%; }
.hsobre__pat { position: absolute; left: calc(-1 * var(--side)); top: 0; width: calc(746 * var(--u)); }
.hsobre__pat svg { width: 100%; height: auto; }
.hsobre__foto { position: absolute; top: 0; bottom: 0; left: calc(564 * var(--u)); right: calc(-1 * var(--side)); background: #000; clip-path: polygon(calc(376 * var(--u)) 0, 100% 0, 100% 100%, 0 100%); }
.hsobre__foto::after, .ptop__foto::after, .cv__foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, .12), rgba(0, 0, 0, .78)); }
/* Enquadramento do Figma: foto 1760 x 1320 a partir de x 150,9 (o corte diagonal esconde a esquerda). */
.hsobre__foto img { position: absolute; left: calc(-413.1 * var(--u)); top: calc(-228 * var(--u)); width: max(calc(1760 * var(--u)), calc(100% + calc(413.1 * var(--u)))); height: calc(1320 * var(--u)); max-width: none; }
.hsobre__white { position: absolute; left: calc(-1 * var(--side)); top: calc(616 * var(--u)); height: calc(246 * var(--u)); width: calc(calc(674 * var(--u)) + var(--side)); background: #fff; clip-path: polygon(0 0, 100% 0, calc(100% - calc(108 * var(--u))) 100%, 0 100%); }
.hsobre__intro { position: absolute; left: calc(48 * var(--u)); top: calc(284.6 * var(--u)); width: calc(516 * var(--u)); }
.hsobre__txt { font-size: max(calc(30 * var(--u)), 24px); line-height: 1.233; }
.hsobre__sub { margin: calc(28 * var(--u)) 0 0 calc(3.6 * var(--u)); width: calc(512 * var(--u)); font-size: max(calc(20 * var(--u)), 16px); line-height: 1.2; font-weight: 600; }
.hsobre__sub p + p, .hsobre__txt p + p { margin-top: .6em; }
.hsobre__rec { position: absolute; left: calc(48 * var(--u)); top: calc(670.5 * var(--u)); }
.hsobre__rec .kicker { font-size: max(calc(13 * var(--u)), 10.4px); font-weight: 400; letter-spacing: .3em; color: var(--azul); }
.hsobre__more { position: absolute; right: calc(50 * var(--u)); top: calc(751.3 * var(--u)); z-index: 4; }

/* Selos (carrossel de 3 em 3) */
.selos { position: relative; }
.selos__track { display: grid; }
.selos__page { grid-area: 1 / 1; display: flex; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.selos__page.is-on { opacity: 1; visibility: visible; }
.selo__logo { display: flex; text-decoration: none; }
.selo__img { display: block; width: auto; height: auto; }
.selo__nome { font-weight: 700; font-size: max(calc(18 * var(--u)), 14.4px); letter-spacing: .1em; text-transform: uppercase; color: var(--azul); }
.selos__dots { display: flex; gap: calc(7.5 * var(--u)); }
.selos__dots button { width: calc(32.4 * var(--u)); height: calc(2.7 * var(--u)); min-height: 2px; padding: 0; border: 0; background: #bcbcbc; cursor: pointer; transition: background .3s; }
.selos__dots button.is-on { background: #000; }
.selos--home { margin-top: calc(36.5 * var(--u)); }
.selos--home .selos__page { align-items: center; gap: calc(55 * var(--u)); height: calc(91 * var(--u)); }
.selos--home .selo__img { max-width: calc(140 * var(--u)); max-height: calc(91 * var(--u)); filter: brightness(0) invert(.27); }
.selos--home .selo__logo:hover .selo__img { filter: none; }
.selos--home .selos__dots { margin-top: calc(18 * var(--u)); }

/* ---------- Áreas (home) ---------- */
.hareas { position: relative; height: calc(901 * var(--u)); background: #000; color: #fff; overflow: hidden; }
.hareas__bg { position: absolute; inset: 0; opacity: 0; transition: opacity .6s; }
.hareas__bg.is-on { opacity: 1; }
.hareas__bg::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .8); }
.hareas__bg img { width: 100%; height: 100%; object-fit: cover; }
.hareas__wrap { height: 100%; }
/* Grafismo recortado pelo "Frame 6" do Figma (689, 524.6, 751 x 378). */
.hareas__pat { position: absolute; left: calc(689 * var(--u)); top: calc(524.6 * var(--u)); width: calc(751 * var(--u)); height: calc(378 * var(--u)); overflow: hidden; }
.hareas__pat svg { position: absolute; left: calc(-227 * var(--u)); top: calc(-17 * var(--u)); width: calc(978 * var(--u)); max-width: none; height: auto; }
/* Lista com um destaque só (retângulo azul + "+") que cresce de cima para
   baixo no primeiro hover e depois desliza até o item (Smart Animate 0,4 s). */
.hareas__menu { position: absolute; left: calc(43 * var(--u)); top: calc(369 * var(--u)); width: calc(360 * var(--u)); z-index: 2; --y: 0px; --h: calc(60 * var(--u)); --ease: cubic-bezier(.42, 0, .58, 1); }
.hareas__list { position: relative; border-top: 1px solid var(--azul); }
.hareas__list li { border-bottom: 1px solid var(--azul); }
.hareas__list a { position: relative; z-index: 1; display: flex; align-items: center; height: calc(59 * var(--u)); padding-left: calc(3 * var(--u)); font-size: max(calc(30 * var(--u)), 24px); font-weight: 300; color: #fff; text-decoration: none; white-space: nowrap; transition: padding .4s var(--ease); }
.hareas__list a.is-on { padding-left: calc(20 * var(--u)); }
.hareas__hl { position: absolute; left: 0; top: 0; width: 100%; height: var(--h); background: var(--azul); transform-origin: 50% 0; transform: translateY(var(--y)) scaleY(0); transition: transform .4s var(--ease); }
.hareas__plus { position: absolute; left: calc(100% + calc(22 * var(--u))); top: calc(var(--h) / 2 - calc(16 * var(--u))); color: var(--azul); opacity: 0; transform: translateY(var(--y)) rotate(var(--r, 0deg)); transition: transform .4s var(--ease), opacity .4s var(--ease); }
.hareas__menu.is-on .hareas__hl { transform: translateY(var(--y)) scaleY(1); }
.hareas__menu.is-on .hareas__plus { opacity: 1; }
.hareas__menu.no-move .hareas__hl, .hareas__menu.no-move .hareas__plus { transition-property: opacity; }

/* ---------- Frase com parallax ---------- */
.hpar { position: relative; z-index: 3; height: calc(480 * var(--u)); color: #fff; }
/* "Parallax" do layout: a imagem fica parada na tela e a faixa (máscara)
   passa por cima dela junto com a rolagem. clip-path recorta o filho fixo. */
.hpar__bg, .sveg { clip-path: inset(0); }
.hpar__bg { position: absolute; inset: 0; background: #000; }
.hpar__bg::after { content: ''; position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, .4); }
.hpar__img, .sveg__img { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; }
.hpar__img img, .sveg__img img { width: 100%; height: 100%; object-fit: cover; }
.hpar__wrap { height: 100%; }
.hpar__t { position: absolute; left: 0; right: 0; top: calc(217 * var(--u)); text-align: center; font-size: max(calc(22 * var(--u)), 17.6px); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; line-height: 1.25; }
.hpar__more { position: absolute; right: calc(148.5 * var(--u)); top: calc(305 * var(--u)); font-size: max(calc(20 * var(--u)), 16px); }
.hpar__more .arrow { color: #fff; }

/* ---------- Conteúdo (home) ---------- */
.hcont { position: relative; background: var(--graf); color: #fff; }
.hcont__wrap { height: calc(600 * var(--u)); padding: calc(97 * var(--u)) calc(51 * var(--u)) 0; }
.hcont .kicker { margin-left: calc(-3 * var(--u)); }
.hcont .cards { margin-top: calc(138 * var(--u)); }
.hcont__more { position: absolute; right: calc(51 * var(--u)); top: calc(476 * var(--u)); }

/* Cards de publicação */
.cards { display: grid; grid-template-columns: repeat(4, calc(320.3 * var(--u))); column-gap: calc(18.96 * var(--u)); row-gap: calc(92 * var(--u)); }
.card { display: block; color: inherit; text-decoration: none; }
.card__t { min-height: calc(71 * var(--u)); padding-bottom: calc(8 * var(--u)); border-bottom: 1px solid var(--azul); font-size: max(calc(20 * var(--u)), 16px); font-weight: 300; line-height: 1.2; transition: color .25s; }
.card:hover .card__t, .card:focus-visible .card__t { color: var(--azul2); }
.hcont .card:hover .card__t { color: var(--azul); }
.card__meta { display: flex; justify-content: space-between; gap: calc(10 * var(--u)); margin-top: calc(9 * var(--u)); font-size: max(calc(13 * var(--u)), 10.4px); font-weight: 300; color: #767676; text-transform: uppercase; }

/* Foto antes do rodapé */
.respiro { height: calc(452 * var(--u)); overflow: hidden; }
.respiro img { width: 100%; height: 100%; object-fit: cover; }

/* 30-pages.css */
/* ---------- Topo preto (Sobre nós, Áreas) ---------- */
.ptop { position: relative; z-index: 2; color: #fff; background: linear-gradient(to bottom, #000 calc(100% - calc(76 * var(--u))), #fff 0); }
.ptop__wrap { min-height: calc(863 * var(--u)); padding: calc(258 * var(--u)) 0 calc(148 * var(--u)) calc(48 * var(--u)); }
/* --cut (main.js) = altura x 0,4429: o corte fica sempre no ângulo da linha azul, qualquer que seja a altura do texto. */
.ptop__foto { position: absolute; top: 0; bottom: calc(75 * var(--u)); left: calc(673 * var(--u)); right: calc(-1 * var(--side)); background: #222; clip-path: polygon(var(--cut, calc(349 * var(--u))) 0, 100% 0, 100% 100%, 0 100%); }
.ptop__txt { position: relative; z-index: 2; width: calc(568 * var(--u)); }
.ptop__txt .body { margin-top: calc(44 * var(--u)); }
.ptop__row { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--u)); }
.voltar { display: inline-flex; align-items: center; gap: calc(12 * var(--u)); font-size: max(calc(13 * var(--u)), 10.4px); font-weight: 300; letter-spacing: .3em; text-transform: uppercase; color: var(--azul); text-decoration: none; line-height: 1.2; }
.voltar svg { width: calc(22 * var(--u)); min-width: 18px; height: auto; transition: transform .3s; }
.voltar:hover svg, .voltar:focus-visible svg { transform: translateX(calc(-6 * var(--u))); }
.cv__voltar { position: absolute; top: calc(-72 * var(--u)); left: 0; }
.ptop__t { margin-top: calc(84 * var(--u)); font-size: max(calc(40 * var(--u)), 32px); font-weight: 300; line-height: 1.2; }
.ptop__t + .body { margin-top: calc(40 * var(--u)); width: calc(553 * var(--u)); }
.ptop__selos { position: absolute; right: calc(80 * var(--u)); bottom: calc(159 * var(--u)); z-index: 3; display: flex; align-items: center; gap: calc(42 * var(--u)); }
.ptop__selos .selo__img { max-width: calc(129 * var(--u)); max-height: calc(80 * var(--u)); }
.ptop .ln, .cv .ln { top: auto; bottom: calc((var(--base) - var(--y) - var(--h)) * var(--u)); }
.ptop .ln { --base: 863; }
.cv .ln { --base: 851; }

/* ---------- Sobre nós ---------- */
.sesc { position: relative; overflow: hidden; padding: calc(180 * var(--u)) 0 calc(82 * var(--u)); }
.sesc__pat { position: absolute; top: calc(146 * var(--u)); left: calc(var(--side) + calc(650.1 * var(--u))); width: calc(1540.8 * var(--u)); pointer-events: none; }
.sesc__pat svg { width: 100%; height: auto; }
.sesc__txt { position: relative; width: calc(594 * var(--u)); margin-left: calc(48 * var(--u)); }
.sveg { position: relative; height: calc(529 * var(--u)); overflow: hidden; background: #2b3a2b; }
.srec { scroll-margin-top: calc(60 * var(--u)); }
.srec__wrap { min-height: calc(651 * var(--u)); padding: calc(220 * var(--u)) 0 calc(100 * var(--u)) calc(48 * var(--u)); }
.srec__txt { width: calc(474 * var(--u)); }
.srec .selos { position: absolute; left: calc(642 * var(--u)); top: calc(184 * var(--u)); width: calc(718.6 * var(--u)); }
.selos--sobre .selos__page { display: grid; grid-template-columns: repeat(3, calc(215 * var(--u))); column-gap: calc(36.8 * var(--u)); }
.selos--sobre .selo__logo { height: calc(126 * var(--u)); padding-bottom: calc(23 * var(--u)); align-items: flex-end; justify-content: center; border-bottom: 1px solid #d9d9d9; }
.selos--sobre .selo__img { max-width: calc(194 * var(--u)); max-height: calc(108 * var(--u)); }
.selos--sobre a.selo__logo:hover .selo__img { opacity: .8; }
.selo__txt { margin-top: calc(19 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); line-height: calc(25 * var(--u)); text-align: center; color: rgba(0, 0, 0, .5); }
.selos--sobre .selos__dots { position: absolute; right: calc(-0.3 * var(--u)); top: calc(307.5 * var(--u)); }
.ssust { position: relative; overflow: hidden; color: #fff; padding: calc(152 * var(--u)) 0 calc(120 * var(--u)); min-height: calc(921 * var(--u)); scroll-margin-top: 0; }
.ssust__bg { position: absolute; inset: 0; background: #000; }
.ssust__bg::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .8); }
.ssust__bg img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.ssust__txt { position: relative; width: calc(613 * var(--u)); margin-left: calc(764 * var(--u)); }

/* ---------- Área de atuação ---------- */
.asub { position: fixed; top: 0; left: 0; right: 0; z-index: 50; height: calc(72 * var(--u)); min-height: 46px; background: #000; box-shadow: 0 4px 4px rgba(0, 0, 0, .25); transform: translateY(-110%); transition: transform .35s ease; }
.asub.is-on { transform: none; }
.asub__list { display: flex; align-items: center; justify-content: space-between; height: 100%; width: calc(1440 * var(--u)); margin: 0 auto; padding: 0 calc(190 * var(--u)) 0 calc(127 * var(--u)); }
.asub__list a { font-size: max(calc(15 * var(--u)), 12px); line-height: calc(20 * var(--u)); font-weight: 300; text-transform: uppercase; color: #fff; text-decoration: none; transition: color .2s; }
.asub__list a:hover { color: var(--azul); }
.asub__list a[aria-current] { font-weight: 700; }
.abloco .wrap { padding: 0 calc(48 * var(--u)) 0 calc(47 * var(--u)); }
.abloco--meios { padding: calc(100.5 * var(--u)) 0 calc(66 * var(--u)); }
.abloco__h { font-size: max(calc(35 * var(--u)), 28px); font-weight: 400; line-height: 1.2; margin-bottom: calc(106 * var(--u)); }
.rule { display: flex; align-items: center; gap: calc(13 * var(--u)); font-size: max(calc(15 * var(--u)), 12px); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; line-height: 1.2; margin-bottom: calc(28 * var(--u)); }
.rule span { white-space: nowrap; }
.rule::after { content: ''; flex: 1; height: 1px; background: rgba(0, 0, 0, .5); }
.abloco__it h4 { font-size: max(calc(20 * var(--u)), 16px); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; line-height: 1.2; }
.abloco__it p { font-size: max(calc(20 * var(--u)), 16px); line-height: 1.75; font-weight: 300; }
.abloco--meios .abloco__grid { display: grid; grid-template-columns: repeat(2, calc(553 * var(--u))); column-gap: calc(119 * var(--u)); row-gap: calc(73 * var(--u)); }
.abloco--meios .abloco__it { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: calc(10 * var(--u)); }
.abloco--meios .abloco__it h4 { max-width: calc(430 * var(--u)); align-self: end; }
.abloco--principais { background: var(--gelo); padding: calc(74 * var(--u)) 0 calc(133 * var(--u)); }
.abloco--principais .rule { margin-bottom: calc(61 * var(--u)); }
.abloco--principais .abloco__grid { display: grid; grid-template-columns: calc(468 * var(--u)) calc(504 * var(--u)) calc(373 * var(--u)); row-gap: calc(64 * var(--u)); }
.abloco--principais .abloco__it { max-width: calc(370 * var(--u)); }
.abloco--principais .abloco__it h4 { max-width: calc(320 * var(--u)); margin-bottom: calc(8 * var(--u)); }

/* ---------- Equipe ---------- */
.eq { position: relative; background: var(--gelo); padding-bottom: calc(165 * var(--u)); }
.eq__top { position: absolute; left: 0; right: 0; top: 0; height: calc(262 * var(--u)); background: #000; }
.eq__wrap { padding-top: calc(489.3 * var(--u)); }
.eq__white { position: absolute; left: calc(-1 * var(--side)); top: calc(262 * var(--u)); height: calc(135 * var(--u)); width: calc(calc(893 * var(--u)) + var(--side)); background: #fff; clip-path: polygon(0 0, 100% 0, calc(100% - calc(60 * var(--u))) 100%, 0 100%); }
.eq__h { position: absolute; left: calc(51 * var(--u)); top: calc(318 * var(--u)); }
.eq__grid { display: flex; align-items: flex-start; padding-left: calc(48 * var(--u)); }
.eqd { position: relative; display: block; flex: none; width: calc(416 * var(--u)); height: calc(465 * var(--u)); margin: calc(12.7 * var(--u)) calc(61.6 * var(--u)) 0 0; overflow: hidden; background: #333; color: #fff; text-decoration: none; }
.eqd__img { position: absolute; inset: 0; }
/* Hover do Figma: zoom (1614 -> 1882 px) e "+" girando 90°, 0,3 s ease-out. */
.eqd__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transform-origin: 50% 25%; transition: transform .45s ease-out; }
a.eqd:hover .eqd__img img, a.eqd:focus-visible .eqd__img img { transform: scale(1.166); }
.eqd::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 58%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000); }
.eqd__nome { position: absolute; z-index: 2; left: calc(35 * var(--u)); top: calc(384 * var(--u)); font-size: max(calc(20 * var(--u)), 16px); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.eqd__cargo { position: absolute; z-index: 2; left: calc(35 * var(--u)); top: calc(417.8 * var(--u)); font-size: max(calc(12 * var(--u)), 9.6px); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; color: var(--azul); }
.eqd .plus { position: absolute; z-index: 2; left: calc(351.6 * var(--u)); top: calc(21.4 * var(--u)); color: var(--azul); transition: transform .3s ease-out; }
a.eqd:hover .plus, a.eqd:focus-visible .plus { transform: rotate(-90deg); }
.eq__rows { display: grid; grid-template-columns: calc(404.6 * var(--u)) calc(404.6 * var(--u)); column-gap: calc(52.3 * var(--u)); grid-auto-rows: auto; align-items: start; }
.pro--c1 { grid-column: 1; grid-row: var(--r); }
.pro--c2 { grid-column: 2; grid-row: var(--r); }
/* Linha sem cargo: 93,4 px; com cargo em alguma das colunas: 108,4 px (Figma). */
.pro { min-height: calc(93.4 * var(--u)); }
.pro.has-cargo { min-height: calc(108.4 * var(--u)); }
.pro__top { display: flex; align-items: center; justify-content: space-between; gap: calc(12 * var(--u)); height: calc(55 * var(--u)); padding-top: calc(10 * var(--u)); border-bottom: 1px solid var(--azul); }
.pro__nome { font-size: max(calc(20 * var(--u)), 16px); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #000; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.pro__nome:hover { color: var(--azul2); }
.pro__cargo { margin-top: calc(10 * var(--u)); font-size: max(calc(12 * var(--u)), 9.6px); line-height: calc(15 * var(--u)); font-weight: 400; letter-spacing: .5em; text-transform: uppercase; color: var(--azul2); }
.pro__ic { display: flex; flex: none; align-items: center; gap: calc(13 * var(--u)); color: var(--azul2); }
.pro__ic a { display: block; transition: opacity .2s; }
.pro__ic a:hover { opacity: .65; }
.pro__ic a:first-child svg { width: calc(18.8 * var(--u)); min-width: 15px; height: auto; }
.pro__ic a:last-child svg { width: calc(20.4 * var(--u)); min-width: 16px; height: auto; }
.pro--socio .pro__top { border-bottom-color: #000; }
.pro--socio .pro__nome { font-weight: 700; }
.pro--socio .pro__ic { color: #000; }
.pro--socio .pro__cargo { margin-top: calc(17 * var(--u)); font-weight: 700; color: #000; }

/* ---------- Currículo ---------- */
.cv { position: relative; z-index: 2; color: #fff; background: linear-gradient(to bottom, #000 calc(100% - calc(76 * var(--u))), #f6f6f6 0); }
.cv__wrap { min-height: calc(851 * var(--u)); padding: calc(286.9 * var(--u)) 0 calc(119 * var(--u)) calc(761 * var(--u)); }
.cv__foto { position: absolute; top: calc(262 * var(--u)); bottom: calc(75 * var(--u)); left: calc(-1 * var(--side)); width: calc(calc(711 * var(--u)) + var(--side)); background: #222; clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut, calc(217 * var(--u)))) 100%, 0 100%); }
.cv__foto img { object-position: 50% 25%; }
.cv__head { position: relative; z-index: 2; width: calc(600 * var(--u)); }
.cv__nome { max-width: calc(475 * var(--u)); font-size: max(calc(35 * var(--u)), 28px); font-weight: 300; line-height: 1.23; letter-spacing: .5em; text-transform: uppercase; color: var(--azul); }
.cv__cargo { margin: calc(3 * var(--u)) 0 calc(41 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; color: #777; }
.cv .pro__ic { margin-top: calc(32 * var(--u)); gap: calc(16 * var(--u)); color: var(--azul); }
.cv .pro__ic a:first-child svg { width: calc(24 * var(--u)); }
.cv .pro__ic a:last-child svg { width: calc(26 * var(--u)); }
.band--cv { width: calc(calc(494.5 * var(--u)) + var(--side)); }
.cv2 { background: #f6f6f6; }
.cv2__wrap { display: flex; padding: calc(4.5 * var(--u)) 0 calc(66 * var(--u)); }
.cv2__selos { flex: none; display: flex; align-items: center; align-self: flex-start; gap: calc(46 * var(--u)); width: calc(761 * var(--u)); padding: calc(37 * var(--u)) 0 0 calc(48 * var(--u)); }
.cv2__selos .selo__img { max-width: calc(129 * var(--u)); max-height: calc(80 * var(--u)); }
.cv2__txt { width: calc(594 * var(--u)); color: #000; }

/* 40-conteudo.css */
/* ---------- Topo preto curto (Conteúdo, publicação) ---------- */
.ctop { position: relative; overflow: hidden; background: #000; color: #fff; }
.ctop__wrap { min-height: calc(427 * var(--u)); padding: calc(258 * var(--u)) calc(48 * var(--u)) calc(40 * var(--u)); }
.ctop__pat { position: absolute; right: calc(-2 * var(--u)); bottom: 0; width: calc(768 * var(--u)); pointer-events: none; }
.ctop__pat svg { width: 100%; height: auto; }
.ctop__k, .post__t, .post__meta, .filtro { position: relative; z-index: 2; }
.filtro { display: flex; align-items: center; margin-top: calc(75 * var(--u)); }
.filtro__l { width: calc(142 * var(--u)); flex: none; font-size: max(calc(18 * var(--u)), 14.4px); line-height: calc(30 * var(--u)); font-weight: 300; letter-spacing: .5em; text-transform: uppercase; }
.filtro__tabs { display: flex; gap: calc(26 * var(--u)); }
.filtro__tabs a { display: block; width: calc(130 * var(--u)); font-size: max(calc(20 * var(--u)), 16px); line-height: calc(33 * var(--u)); font-weight: 300; color: #fff; text-decoration: none; border-bottom: 1px solid var(--azul); transition: color .2s; }
.filtro__tabs a:hover { color: var(--azul); }
.filtro__tabs a[aria-current] { font-weight: 700; border-bottom-width: 4px; margin-bottom: -3px; }
.busca { display: flex; align-items: center; margin-left: calc(25 * var(--u)); }
.busca__in { width: 0; padding: 0; opacity: 0; border: 0; border-bottom: 1px solid var(--azul); border-radius: 0; background: transparent; color: #fff; font: inherit; font-size: max(calc(18 * var(--u)), 14.4px); line-height: calc(32 * var(--u)); outline: 0; transition: width .35s, opacity .35s, margin .35s; -webkit-appearance: none; appearance: none; }
.busca__in::placeholder { color: #8e8e8e; }
.busca.is-open .busca__in { width: calc(280 * var(--u)); opacity: 1; margin-right: calc(14 * var(--u)); }
.busca__bt { width: calc(21 * var(--u)); height: calc(21 * var(--u)); min-width: 18px; min-height: 18px; padding: 0; border: 0; background: none; color: var(--azul); cursor: pointer; }
.busca__bt svg { width: 100%; height: auto; }

.lista { background: linear-gradient(to bottom, #fff, #d9d9d9); }
.lista .wrap { padding: calc(64 * var(--u)) calc(49 * var(--u)) calc(51 * var(--u)); min-height: calc(693 * var(--u)); }
.lista__busca { margin-bottom: calc(40 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); }
.lista__busca a { margin-left: calc(12 * var(--u)); color: var(--azul2); }
.lista__vazio { font-size: max(calc(20 * var(--u)), 16px); padding-top: calc(20 * var(--u)); }
.pag { display: flex; justify-content: center; align-items: center; gap: calc(31 * var(--u)); margin-top: calc(73 * var(--u)); }
.pag .page-numbers { display: grid; place-items: center; width: calc(32 * var(--u)); height: calc(32 * var(--u)); min-width: 28px; min-height: 28px; font-size: max(calc(20 * var(--u)), 16px); font-weight: 300; color: #767676; text-decoration: none; }
.pag a.page-numbers:hover { color: #000; }
.pag .current { color: #000; border: 1px solid var(--azul); }
.pag .prev, .pag .next { background: no-repeat center / calc(9 * var(--u)) calc(19 * var(--u)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 20'%3E%3Cpath d='M9.5.5L.7 10l8.8 9.5' fill='none' stroke='%23000'/%3E%3C/svg%3E"); }
.pag .next { transform: scaleX(-1); }
.pag .prev { margin-right: calc(8 * var(--u)); }
.pag .next { margin-left: calc(8 * var(--u)); }

/* ---------- Publicação ---------- */
.ctop--post .ctop__wrap { padding: calc(253 * var(--u)) calc(526 * var(--u)) calc(22 * var(--u)) calc(48 * var(--u)); }
.ctop--post .ctop__pat { right: calc(-295 * var(--u)); }
.post__t { font-size: max(calc(40 * var(--u)), 32px); font-weight: 300; line-height: 1.225; }
.post__meta { display: flex; gap: calc(23 * var(--u)); margin-top: calc(32 * var(--u)); font-size: max(calc(18 * var(--u)), 14.4px); font-weight: 300; color: var(--azul); }
.post__meta span:first-child { text-transform: uppercase; }
.post__autor { margin-left: auto; text-transform: uppercase; }
.post .wrap { padding: calc(64 * var(--u)) calc(494 * var(--u)) calc(64 * var(--u)) calc(50 * var(--u)); }
.post__body img { height: auto; }
.post__body p:has(> img:only-child), .post__body .wp-caption, .post__body figure { display: flex; margin: calc(24 * var(--u)) 0 calc(35 * var(--u)); width: calc(877 * var(--u)); max-width: none; }
.post__body p:has(> img:only-child)::after, .post__body .wp-caption::after, .post__body figure::after { content: ''; flex: none; width: calc(175 * var(--u)); background: var(--azul); }
.post__body p:has(> img:only-child) img, .post__body .wp-caption img, .post__body figure img { width: calc(702 * var(--u)); height: calc(442 * var(--u)); object-fit: cover; }
.post__body .wp-caption-text, .post__body figcaption { display: none; }
.share { display: flex; align-items: center; flex-wrap: wrap; gap: calc(14 * var(--u)); margin-top: calc(76 * var(--u)); }
.share__l { flex: 0 0 100%; margin-bottom: calc(10 * var(--u)); font-size: max(calc(15 * var(--u)), 12px); font-weight: 700; letter-spacing: 1em; text-transform: uppercase; color: var(--azul); }
.share a { display: block; color: #000; transition: color .2s; }
.share a:hover { color: var(--azul2); }
.share a:first-of-type svg { width: calc(25.6 * var(--u)); min-width: 22px; height: auto; margin: calc(3.2 * var(--u)); }
.share a:last-of-type svg { width: calc(22 * var(--u)); min-width: 19px; height: auto; }
.rel { background: #efefef; padding: calc(44 * var(--u)) 0 calc(79 * var(--u)); }
.rel .wrap { padding: 0 calc(49 * var(--u)) 0 calc(48 * var(--u)); }
.rel__h { margin-bottom: calc(60 * var(--u)); font-size: max(calc(15 * var(--u)), 12px); font-weight: 700; letter-spacing: 1em; text-transform: uppercase; }

/* 50-footer.css */
/* ---------- Rodapé (âncora #contato) ---------- */
.foot { position: relative; height: calc(737 * var(--u)); background: #fff; overflow: hidden; }
.foot__pat { position: absolute; top: calc(-217 * var(--u)); left: calc(var(--side) + calc(876.5 * var(--u))); width: calc(1495 * var(--u)); pointer-events: none; }
.foot__pat svg { width: 100%; height: auto; }
.foot__wrap { height: 100%; }
.foot__trap { position: absolute; top: calc(108 * var(--u)); left: calc(-1 * var(--side)); width: calc(calc(818.5 * var(--u)) + var(--side)); height: calc(498 * var(--u)); border-top: 1px solid var(--azul); border-bottom: 1px solid var(--azul); clip-path: polygon(0 0, 100% 0, calc(100% - calc(223.5 * var(--u))) 100%, 0 100%); }
.foot__logo { position: absolute; left: calc(203.5 * var(--u)); top: calc(315 * var(--u)); width: calc(341 * var(--u)); }
.foot__logo svg { width: 100%; height: auto; }
.foot__contact { position: absolute; right: calc(52.5 * var(--u)); top: calc(386 * var(--u)); text-align: right; }
.foot__contact a { display: block; font-size: max(calc(18 * var(--u)), 14.4px); line-height: calc(32 * var(--u)); font-weight: 700; letter-spacing: .5em; text-transform: uppercase; color: #000; text-decoration: none; transition: color .2s; }
.foot__contact a:hover { color: var(--azul2); }
.cid--foot { position: absolute; right: calc(50 * var(--u)); top: calc(584 * var(--u)); text-align: right; }
.cid--foot .cid__list { font-size: max(calc(15 * var(--u)), 12px); letter-spacing: .5em; color: var(--azul); }
.cid--foot .cid__ny { font-weight: 400; }
.cid--foot .cid__mais { width: calc(9.2 * var(--u)); height: calc(9.2 * var(--u)); color: var(--azul); }
.cid--foot .cid__parc { position: absolute; right: 0; top: calc(100% + calc(3 * var(--u))); color: #000; transform: translateY(calc(-6 * var(--u))); }
.cid--foot .cid__parc a { border-bottom-color: #000; }
.foot__copy { position: absolute; left: calc(45.5 * var(--u)); top: calc(675 * var(--u)); font-size: max(calc(10 * var(--u)), 8px); letter-spacing: .4em; color: #777; text-transform: uppercase; }
.foot__unitri { position: absolute; right: calc(52.5 * var(--u)); top: calc(671 * var(--u)); width: calc(15 * var(--u)); min-width: 13px; color: #d5d5d5; transition: color .2s; }
.foot__unitri:hover { color: #9a9a9a; }
.foot__unitri svg { width: 100%; height: auto; }

/* 99-mobile.css */
/* =====================================================================
 * Celular e tablet (< 1024 px). O Figma só tem desktop: aqui as medidas
 * são em px, com o mesmo vocabulário (cortes diagonais, faixa azul).
 * ===================================================================== */
@media (max-width: 1023px) {
	.wrap { width: auto; padding-left: 24px; padding-right: 24px; }
	.ln, .foot__trap { display: none; }
	.kicker { font-size: 12px; }
	.body { font-size: 16px; line-height: 1.7; }
	.body p, .body ul, .body ol { margin-bottom: 22px; }
	.more { font-size: 13px; letter-spacing: .35em; gap: 10px; }
	.more .arrow { width: 34px; }
	.band { height: 40px; width: 72%; left: 0; clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
	.burger { width: 30px; height: 22px; }
	.burger span { top: 10.5px; }

	/* Topo e menu */
	.topbar { top: 22px; right: 20px; gap: 12px; }
	.topbar__lang { font-size: 12px; }
	.logo-top { top: 26px; left: 24px; width: 168px; }
	.fixbar__menu { width: 50px; height: 50px; }
	.fixbar__home { width: 56px; height: 50px; }
	.fixbar__home svg { width: 32px; }
	.menu__panel { width: min(100%, 460px); }
	.menu__in { width: auto; padding: 34px 28px 40px; }
	.menu__logo { width: 190px; }
	.menu__close { top: 38px; left: auto; right: 26px; width: 24px; height: 24px; }
	.menu__list { margin-top: 56px; }
	.menu__list a { font-size: 24px; line-height: 54px; letter-spacing: .16em; }
	.menu__lang { margin-top: 36px; font-size: 15px; }
	.menu__social { width: 34px; margin-top: 16px; padding: 3px; }

	/* Banner */
	.hero { height: 100vh; height: 100svh; min-height: 560px; max-height: 820px; }
	.hero__pat { top: auto; bottom: 0; width: 360px; }
	.hero__logo { left: 24px; top: auto; bottom: calc(50% + 34px); width: 220px; }
	.hero__frases { right: 24px; top: calc(50% + 8px); }
	.hero__frase { font-size: 28px; line-height: 40px; letter-spacing: .16em; }
	.cid--hero { left: 24px; right: 24px; top: auto; bottom: 30px; flex-direction: column; align-items: flex-start; gap: 10px; }
	.cid__list { font-size: 10px; letter-spacing: .3em; white-space: normal; line-height: 1.8; }
	.cid__parc { font-size: 13px; line-height: 18px; white-space: normal; }
	.cid--hero .cid__parc { transform: none; }

	/* Sobre (home) */
	.hsobre { height: auto; }
	.hsobre__wrap { display: flex; flex-direction: column; height: auto; padding-top: 64px; }
	.hsobre__pat { width: 380px; left: 0; }
	.hsobre__white { display: none; }
	.hsobre__intro, .hsobre__rec, .hsobre__more { position: relative; left: auto; top: auto; right: auto; width: auto; }
	.hsobre__intro { order: 1; }
	.hsobre__txt { font-size: 22px; line-height: 1.3; }
	.hsobre__sub { width: auto; margin: 20px 0 0; font-size: 16px; line-height: 1.4; }
	.hsobre__rec { order: 3; margin-top: 44px; }
	.hsobre__rec .kicker { font-size: 11px; }
	.selos--home { margin-top: 20px; }
	.selos--home .selos__page { gap: 30px; height: 70px; }
	.selos--home .selo__img { max-width: 108px; max-height: 66px; }
	.hsobre__more { order: 4; align-self: flex-end; margin: 36px 0 0; }
	.hsobre__foto { order: 5; position: relative; left: auto; top: auto; right: auto; bottom: auto; height: 320px; margin: 36px -24px 0; clip-path: polygon(34% 0, 100% 0, 100% 100%, 0 100%); }
	.hsobre__foto img { position: static; width: 100%; height: 100%; object-fit: cover; }

	/* Áreas (home) */
	.hareas { height: auto; }
	.hareas__wrap { height: auto; padding-top: 72px; padding-bottom: 150px; }
	.hareas__pat { left: auto; right: 0; top: auto; bottom: 0; width: 330px; height: 166px; }
	.hareas__pat svg { left: -100px; top: -8px; width: 430px; }
	.hareas__menu { position: relative; left: auto; top: auto; width: 100%; --h: 54px; }
	.hareas__list a { height: 53px; font-size: 21px; white-space: normal; line-height: 1.2; }
	.hareas__list a.is-on { padding-left: 14px; }
	.hareas__plus { left: auto; right: 14px; width: 22px; height: 22px; top: 16px; color: #000; z-index: 2; }

	/* Frase com parallax */
	.hpar { height: 380px; }
	.hpar__t { top: 50%; transform: translateY(-70%); padding: 0 24px; font-size: 15px; letter-spacing: .28em; line-height: 1.6; }
	.hpar__more { right: 24px; top: auto; bottom: 48px; font-size: 14px; }

	/* Conteúdo (home) e cards */
	.hcont__wrap { height: auto; padding-top: 60px; padding-bottom: 64px; }
	.hcont .kicker { margin-left: 0; }
	.hcont .cards { margin-top: 36px; }
	.hcont__more { position: relative; right: auto; top: auto; margin-top: 40px; float: right; }
	.hcont__wrap::after { content: ''; display: block; clear: both; }
	.cards { grid-template-columns: 1fr; column-gap: 24px; row-gap: 36px; }
	.card__t { min-height: 0; padding-bottom: 14px; font-size: 18px; }
	.card__meta { margin-top: 8px; font-size: 11px; }
	.respiro { height: 240px; }

	/* Rodapé */
	.foot { height: auto; }
	.foot__wrap { display: flex; flex-direction: column; align-items: flex-start; height: auto; padding-top: 236px; padding-bottom: 28px; }
	.foot__pat { top: -60px; left: auto; right: -260px; width: 820px; }
	.foot__logo, .foot__contact, .cid--foot, .foot__copy, .foot__unitri { position: relative; left: auto; right: auto; top: auto; }
	.foot__logo { width: 200px; }
	.foot__contact { margin-top: 40px; text-align: left; }
	.foot__contact a { font-size: 14px; line-height: 30px; letter-spacing: .3em; }
	.cid--foot { margin-top: 30px; text-align: left; }
	.cid--foot .cid__list { font-size: 11px; letter-spacing: .3em; }
	.cid--foot .cid__parc { position: static; margin-top: 8px; transform: none; display: none; }
	.cid--foot.is-open .cid__parc { display: block; }
	.foot__copy { margin-top: 44px; font-size: 9px; letter-spacing: .3em; line-height: 1.7; padding-right: 40px; }
	.foot__unitri { position: absolute; right: 24px; bottom: 28px; }

	/* Topo preto (Sobre, Áreas) */
	.ptop { background: linear-gradient(to bottom, #000 calc(100% - 40px), #fff 0); }
	.ptop__wrap { display: flex; flex-direction: column; min-height: 0; padding: 120px 24px 40px; }
	.ptop__txt { order: 1; width: auto; }
	.ptop__t { margin-top: 36px; font-size: 30px; }
	.ptop__t + .body { width: auto; margin-top: 24px; }
	.ptop__txt .body { margin-top: 28px; }
	.ptop__foto { order: 2; position: relative; top: auto; bottom: auto; left: auto; right: auto; height: 280px; margin: 40px -24px 0; clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%); }
	.ptop__selos { order: 3; position: relative; right: auto; bottom: auto; margin-top: 28px; gap: 26px; }
	.ptop__selos .selo__img { max-width: 84px; max-height: 52px; }

	/* Sobre nós */
	.sesc { padding: 56px 0 64px; }
	.sesc__pat { top: auto; bottom: -40px; left: auto; right: -300px; width: 820px; opacity: .55; }
	.sesc__txt { width: auto; margin-left: 0; }
	.sveg { height: 260px; }
	.srec__wrap { min-height: 0; padding: 56px 24px 56px; }
	.srec__txt { width: auto; }
	.srec .selos { position: relative; left: auto; top: auto; width: auto; margin-top: 44px; }
	.selos--sobre .selos__page { grid-template-columns: repeat(3, 1fr); column-gap: 14px; }
	.selos--sobre .selo__logo { height: 84px; padding-bottom: 14px; }
	.selos--sobre .selo__img { max-width: 100%; max-height: 62px; }
	.selo__txt { margin-top: 12px; font-size: 12px; line-height: 17px; }
	.selos__dots { gap: 6px; }
	.selos__dots button { width: 26px; height: 2px; }
	.selos--sobre .selos__dots { position: static; justify-content: flex-end; margin-top: 22px; }
	.ssust { min-height: 0; padding: 72px 0; }
	.ssust__txt { width: auto; margin-left: 0; }

	/* Áreas */
	.asub { height: 50px; min-height: 0; }
	.asub__list { width: auto; justify-content: flex-start; gap: 22px; overflow-x: auto; padding: 0 130px 0 20px; scrollbar-width: none; }
	.asub__list::-webkit-scrollbar { display: none; }
	.asub__list a { font-size: 12px; white-space: nowrap; }
	.abloco .wrap { padding: 0 24px; }
	.abloco--meios { padding: 52px 0 40px; }
	.abloco__h { font-size: 24px; margin-bottom: 44px; }
	.rule { gap: 12px; font-size: 11px; letter-spacing: .35em; margin-bottom: 24px; }
	.abloco__it h4 { font-size: 15px; letter-spacing: .14em; }
	.abloco__it p { font-size: 16px; line-height: 1.7; }
	.abloco--meios .abloco__grid, .abloco--principais .abloco__grid { grid-template-columns: 1fr; row-gap: 30px; }
	.abloco--meios .abloco__it { display: block; }
	.abloco--meios .abloco__it h4, .abloco--principais .abloco__it h4 { max-width: none; margin-bottom: 8px; }
	.abloco--principais { padding: 48px 0 64px; }
	.abloco--principais .rule { margin-bottom: 30px; }
	.abloco--principais .abloco__it { max-width: none; }

	/* Equipe */
	.eq { padding-bottom: 64px; }
	.eq__top { height: 140px; }
	.eq__white { top: 140px; height: 86px; width: 84%; left: 0; clip-path: polygon(0 0, 100% 0, calc(100% - 38px) 100%, 0 100%); }
	.eq__h { top: 176px; left: 24px; }
	.eq__wrap { padding-top: 270px; }
	.eq__grid { flex-direction: column; align-items: stretch; padding-left: 0; }
	.eqd { width: 100%; max-width: 440px; height: 420px; margin: 0 0 40px; }
	.eqd__nome { left: 24px; top: auto; bottom: 52px; font-size: 17px; }
	.eqd__cargo { left: 24px; top: auto; bottom: 30px; font-size: 11px; }
	.eqd .plus { left: auto; right: 20px; top: 20px; width: 36px; height: 36px; }
	.eq__rows { display: block; }
	.pro, .pro.has-cargo { min-height: 0; margin-bottom: 22px; }
	.voltar { font-size: 11px; gap: 10px; }
	.cv__voltar { position: static; margin-bottom: 28px; }
	.pro__top { height: 50px; padding-top: 8px; }
	.pro__nome { font-size: 15px; }
	.pro__cargo { margin-top: 8px; font-size: 11px; line-height: 14px; letter-spacing: .35em; }
	.pro--socio .pro__cargo { margin-top: 10px; }
	.pro__ic { gap: 14px; }

	/* Currículo */
	.cv { background: linear-gradient(to bottom, #000 calc(100% - 40px), #f6f6f6 0); }
	.cv__wrap { display: flex; flex-direction: column; min-height: 0; padding: 120px 24px 40px; }
	.cv__head { order: 1; width: auto; }
	.cv__nome { max-width: none; font-size: 24px; letter-spacing: .3em; }
	.cv__cargo { margin: 6px 0 26px; font-size: 13px; letter-spacing: .35em; }
	.cv .pro__ic { margin-top: 22px; }
	.cv .pro__ic a:first-child svg { width: 22px; }
	.cv .pro__ic a:last-child svg { width: 24px; }
	.cv__foto { order: 2; position: relative; top: auto; bottom: auto; left: auto; width: auto; height: 300px; margin: 40px -24px 0; clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%); }
	.band--cv { width: 60%; }
	.cv2__wrap { flex-direction: column-reverse; padding: 28px 24px 56px; }
	.cv2__txt { width: auto; }
	.cv2__selos { width: auto; padding: 36px 0 0; gap: 28px; }
	.cv2__selos .selo__img { max-width: 92px; max-height: 58px; }

	/* Topo curto (Conteúdo, publicação) */
	.ctop__wrap, .ctop--post .ctop__wrap { min-height: 0; padding: 120px 24px 32px; }
	.ctop__pat { width: 380px; right: -40px; }
	.ctop--post .ctop__pat { right: -140px; }
	.filtro { flex-wrap: wrap; margin-top: 36px; row-gap: 18px; }
	.filtro__l { width: 100%; font-size: 13px; line-height: 1; }
	.filtro__tabs { flex-wrap: wrap; gap: 10px 18px; }
	.filtro__tabs a { width: auto; min-width: 84px; font-size: 16px; line-height: 30px; }
	.busca { margin-left: auto; }
	.busca.is-open { width: 100%; margin-left: 0; }
	.busca.is-open .busca__in { flex: 1; width: auto; font-size: 16px; }
	.lista .wrap { min-height: 0; padding: 40px 24px 56px; }
	.lista__busca, .lista__vazio { font-size: 16px; }
	.pag { gap: 10px; margin-top: 44px; }
	.pag .page-numbers { font-size: 16px; }
	.post__t { font-size: 26px; line-height: 1.25; }
	.post__meta { flex-wrap: wrap; gap: 6px 18px; margin-top: 18px; font-size: 13px; }
	.post__autor { margin-left: 0; width: 100%; }
	.post .wrap { padding: 40px 24px 48px; }
	.post__body p:has(> img:only-child), .post__body .wp-caption, .post__body figure { width: 100%; margin: 20px 0 24px; }
	.post__body p:has(> img:only-child)::after, .post__body .wp-caption::after, .post__body figure::after { width: 20%; }
	.post__body p:has(> img:only-child) img, .post__body .wp-caption img, .post__body figure img { width: 80%; height: auto; aspect-ratio: 702 / 442; }
	.share { margin-top: 44px; gap: 14px; }
	.share__l { font-size: 12px; letter-spacing: .6em; }
	.rel { padding: 44px 0 56px; }
	.rel .wrap { padding: 0 24px; }
	.rel__h { margin-bottom: 30px; font-size: 12px; letter-spacing: .6em; }
}

@media (min-width: 640px) and (max-width: 1023px) {
	.cards { grid-template-columns: repeat(2, 1fr); }
	.hero__frase { font-size: 40px; line-height: 56px; }
	.hero__logo { width: 300px; }
	.hsobre__foto, .ptop__foto, .cv__foto { height: 420px; }
	.abloco--principais .abloco__grid { grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
	.eq__grid { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
	.eqd { grid-column: 1 / -1; }
}
