/*
 * Portal Editorial News — estilos do tema.
 *
 * Todos os valores configuráveis vêm de variáveis --pen-* geradas pelo Personalizar
 * (inc/css-vars.php). Mobile-first: celular e tablet compartilham o layout de uma
 * coluna (como na referência); desktop a partir de 1016 px.
 */

/* ------------------------------------------------------------------ Fontes (Lato, OFL) */
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/lato-300-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/lato-300-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lato-400-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lato-400-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/lato-400-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/lato-400-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lato-700-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lato-700-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 700; font-display: swap; src: url("../fonts/lato-700-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 700; font-display: swap; src: url("../fonts/lato-700-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/lato-900-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/lato-900-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ------------------------------------------------------------------ Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--pen-bg);
	color: var(--pen-text);
	font-family: var(--pen-ff-body);
	font-weight: var(--pen-fw-body);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4, h5, h6, p, figure { margin: 0; }
:where(.pen-header, .pen-footer, .pen-drawer, .pen-main) :where(ul, ol):not(.pen-content *) { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 2px; }
.pen-icon { display: inline-block; flex: none; vertical-align: middle; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap; border: 0;
}
.pen-skip {
	position: absolute; left: 8px; top: -60px; z-index: 2000;
	background: #fff; color: #000; padding: 12px 16px; border-radius: 3px; font-weight: 700;
}
.pen-skip:focus { top: 8px; }

.pen-container {
	width: calc(100% - 2 * var(--pen-side));
	max-width: var(--pen-container);
	margin-left: auto;
	margin-right: auto;
}

/* Visibilidade por dispositivo (utilitários). */
@media (min-width: 1016px) { .pen-hide-d { display: none !important; } }
@media (min-width: 768px) and (max-width: 1015px) { .pen-hide-t { display: none !important; } }
@media (max-width: 767px) { .pen-hide-m { display: none !important; } }

.pen-notice {
	border: 1px dashed #c3c4c7; background: #fff8e5; color: #50575e;
	font: 400 14px/1.4 system-ui, sans-serif; padding: 12px 16px;
}

/* ------------------------------------------------------------------ Cabeçalho */
.pen-header { position: relative; z-index: 40; }
.pen-topbar { background: var(--pen-header-bg); color: var(--pen-header-text); }
.pen-topbar__inner {
	height: var(--pen-header-h);
	max-width: var(--pen-header-maxw);
	margin: 0 auto;
	padding: 0 var(--pen-header-padr) 0 var(--pen-header-padl);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 8px;
}
.pen-topbar__left { display: none; }
.pen-logo { display: flex; align-items: center; justify-content: center; grid-column: 2; color: var(--pen-header-text); }
.pen-logo__d { display: none; }
.pen-logo__m, .pen-logo__d { align-items: center; justify-content: center; }
.pen-logo__m { display: flex; }
.pen-logo .pen-logo__img {
	max-width: var(--pen-logo-w);
	max-height: var(--pen-logo-h);
	width: auto;
	height: auto;
	object-fit: contain;
}
.pen-header--logo-m-esquerda .pen-logo { grid-column: 1; justify-content: flex-start; }
.pen-topbar__right { grid-column: 3; display: flex; flex-direction: column; align-items: flex-end; min-width: 0; }
.pen-topbar__row { display: flex; align-items: flex-start; }
.pen-search-toggle {
	grid-column: 4;
	width: 41px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	background: transparent; border: 0; border-radius: 50px; padding: 0;
	color: var(--pen-header-text); cursor: pointer;
}
.pen-search-panel { background: var(--pen-header-bg); padding: 0 16px 12px; }
.pen-search-panel[hidden] { display: none; }

/* Assinatura gerada (sem logo enviado): SVG 133×91 que escala para a caixa do logo. */
.pen-wordmark { display: block; overflow: visible; font-family: var(--pen-ff-titles); font-weight: 900; }
.pen-wordmark__box { fill: currentColor; }
.pen-wordmark__initial { fill: var(--pen-header-bg); }
.pen-wordmark__text { fill: currentColor; }
.pen-wordmark--dark .pen-wordmark__box { fill: var(--pen-accent); }
.pen-wordmark--dark .pen-wordmark__initial { fill: #fff; }
.pen-wordmark--dark .pen-wordmark__text { fill: var(--pen-text); }
.pen-wordmark--placeholder { width: 30%; max-width: 160px; height: auto; aspect-ratio: 133 / 91; color: rgba(var(--pen-accent-rgb), .2); }
.pen-wordmark--placeholder .pen-wordmark__initial { fill: var(--pen-img-fallback); }
.pen-logo .pen-wordmark { width: var(--pen-logo-w); height: var(--pen-logo-h); }

/* Busca. */
.pen-search { display: flex; align-items: stretch; gap: var(--pen-search-gap); }
.pen-search__input {
	min-width: 0; height: var(--pen-search-h); flex: 1;
	border: 0; border-radius: var(--pen-search-radius);
	background: var(--pen-search-bg); color: var(--pen-search-color);
	font: 400 var(--pen-search-fs)/1.2 var(--pen-ff-body);
	padding: 1px 8px;
	-webkit-appearance: none; appearance: none;
}
.pen-search__input::placeholder { color: #757575; opacity: 1; }
.pen-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.pen-search__btn {
	flex: none; width: var(--pen-search-h); height: var(--pen-search-h);
	border: 0; border-radius: var(--pen-search-radius);
	background: var(--pen-search-btn); color: var(--pen-search-btn-icon);
	display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.pen-search__btn .pen-icon { width: 20px; height: 20px; }
.pen-search--panel .pen-search__input { flex: 1; }

/* Redes sociais. */
.pen-social { display: flex; flex-wrap: wrap; gap: var(--pen-social-gap); }
.pen-social__btn {
	width: var(--pen-social-size); height: var(--pen-social-size);
	display: flex; align-items: center; justify-content: center;
	background: var(--pen-social-bg); color: var(--pen-social-color);
	border-radius: var(--pen-social-radius);
}
.pen-social__btn .pen-icon { width: var(--pen-social-icon); height: var(--pen-social-icon); }
.pen-topbar .pen-social { flex-wrap: nowrap; padding-right: 16px; }

/* Edição digital. */
.pen-digital {
	width: var(--pen-digital-w);
	font: 700 var(--pen-digital-fs)/1 var(--pen-ff-nav);
	color: var(--pen-header-text);
	padding-top: 4px;
}
.pen-digital a:hover, .pen-digital a:focus-visible { text-decoration: underline; }

/* Contatos. */
.pen-contacts {
	font: 400 var(--pen-contacts-fs)/1 var(--pen-ff-meta);
	color: var(--pen-header-text);
	display: flex; flex-direction: column; gap: 8px; width: var(--pen-contacts-wm); text-align: left;
}
.pen-contacts__sep { display: none; }
.pen-contacts a:hover { text-decoration: underline; }

@media (min-width: 1016px) {
	.pen-topbar__inner { display: flex; justify-content: space-between; column-gap: var(--pen-header-gap); }
	.pen-topbar__left { display: block; margin-left: 8px; }
	.pen-search--header .pen-search__input { width: var(--pen-search-w); flex: none; }
	.pen-logo__d { display: flex; height: 100%; }
	.pen-logo__m { display: none; }
	.pen-logo { height: 100%; }
	.pen-header--logo-esquerda .pen-logo { order: -1; }
	.pen-topbar__right { align-items: flex-start; }
	.pen-topbar__row { height: 45px; margin-bottom: 0; }
	.pen-digital { margin-bottom: 0; padding-bottom: 0; }
	.pen-contacts { margin-bottom: 8px; }
	.pen-contacts { flex-direction: row; gap: 0; width: auto; display: block; white-space: nowrap; }
	.pen-contacts__sep { display: inline; white-space: pre; }
	.pen-search-toggle, .pen-search-panel { display: none !important; }
}

/* Navegação (chips). */
.pen-navbar {
	position: relative;
	background: var(--pen-nav-bg);
	border: 1px solid var(--pen-nav-border);
	box-shadow: 0 var(--pen-nav-shadow-y) var(--pen-nav-shadow-blur) 0 rgba(0, 0, 0, var(--pen-nav-shadow-op));
	padding: 0 var(--pen-nav-padx);
}
.pen-navbar__inner {
	max-width: var(--pen-container);
	margin: 0 auto;
	height: calc(var(--pen-nav-h) - 2px);
	display: flex;
	align-items: center;
}
.pen-menu-btn {
	flex: none;
	display: inline-flex; align-items: center; gap: 8px;
	height: var(--pen-menubtn-h);
	min-width: var(--pen-menubtn-h);
	margin-bottom: 6px;
	padding: 1px var(--pen-menubtn-padx);
	background: var(--pen-menubtn-bg);
	border: 1px solid var(--pen-menubtn-color);
	border-radius: var(--pen-menubtn-radius);
	color: var(--pen-menubtn-color);
	cursor: pointer;
}
.pen-menu-btn .pen-icon { width: 24px; height: 24px; }
.pen-menu-btn__label { font: var(--pen-fw-nav) var(--pen-menubtn-fs)/1 var(--pen-ff-nav); text-transform: uppercase; }
.pen-chips {
	flex: 1; min-width: 0;
	height: calc(var(--pen-nav-h) - 6px);
	margin: 0 0 4px 16px;
	padding-right: 16px;
	overflow-x: auto; overflow-y: hidden;
	display: flex; align-items: center;
	scrollbar-width: none;
}
.pen-chips::-webkit-scrollbar { display: none; }
.pen-chips--scrollbar { scrollbar-width: thin; scrollbar-color: var(--pen-chip-thumb) var(--pen-chip-track); }
.pen-chips--scrollbar::-webkit-scrollbar { display: block; height: 4px; border-radius: 99px; }
.pen-chips--scrollbar::-webkit-scrollbar-track { background: var(--pen-chip-track); border-radius: 99px; }
.pen-chips--scrollbar::-webkit-scrollbar-thumb { background: var(--pen-chip-thumb); border-radius: 99px; }
.pen-chips__list { display: flex; gap: var(--pen-chip-gap); padding-top: 2px; }
.pen-chips__list > li { flex: none; }
.pen-chips__list a {
	display: flex; align-items: center;
	height: var(--pen-chip-h);
	padding: 0 var(--pen-chip-padx);
	border: 1px solid var(--pen-chip-border);
	border-radius: var(--pen-chip-radius);
	background: var(--pen-chip-bg);
	color: var(--pen-chip-color);
	font: var(--pen-fw-nav) var(--pen-fs-nav)/var(--pen-lh-nav) var(--pen-ff-nav);
	white-space: nowrap;
	transition: border-color .15s, color .15s;
}
.pen-chips__list a:hover, .pen-chips__list a:focus-visible { border-color: var(--pen-chip-hover-border); color: var(--pen-chip-hover-color); }
.pen-chips__list .current-menu-item > a, .pen-chips__list .current-menu-ancestor > a, .pen-chips__list .current-post-ancestor > a {
	background: var(--pen-chip-active-bg); border-color: var(--pen-chip-active-border); color: var(--pen-chip-active-color);
}

/* Cabeçalho fixo (opcional; desligado na referência). */
@media (min-width: 1016px) { .pen-sticky-sim .pen-header, .pen-sticky-desktop .pen-header { position: sticky; top: 0; } }
@media (max-width: 1015px) { .pen-sticky-sim .pen-header, .pen-sticky-celular .pen-header { position: sticky; top: 0; } }
.admin-bar.pen-sticky-sim .pen-header, .admin-bar.pen-sticky-desktop .pen-header, .admin-bar.pen-sticky-celular .pen-header { top: var(--wp-admin--admin-bar--height, 32px); }

/* ------------------------------------------------------------------ Gaveta */
.pen-drawer { position: fixed; inset: 0; z-index: 1000; }
.pen-drawer[hidden] { display: none; }
.pen-drawer__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, var(--pen-drawer-overlay)); }
.pen-drawer__panel {
	position: absolute; top: 0; bottom: 0; left: 0;
	width: min(var(--pen-drawer-w), 100vw);
	background: var(--pen-drawer-bg);
	padding: var(--pen-drawer-pad);
	overflow-y: auto;
	scrollbar-width: thin; scrollbar-color: #B5B5B5 #D7D7D7;
}
.pen-drawer__panel:focus { outline: none; }
.pen-drawer__panel::-webkit-scrollbar { width: 8px; }
.pen-drawer__panel::-webkit-scrollbar-track { background: #D7D7D7; border-radius: 99px; }
.pen-drawer__panel::-webkit-scrollbar-thumb { background: #B5B5B5; border-radius: 99px; }
.pen-drawer--direita .pen-drawer__panel { left: auto; right: 0; }
.admin-bar .pen-drawer__panel { top: var(--wp-admin--admin-bar--height, 0px); }
.pen-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 31px; }
.pen-drawer__logo { display: flex; align-items: center; color: var(--pen-accent); }
.pen-drawer__logo img { max-width: var(--pen-dlogo-w); max-height: var(--pen-dlogo-h); width: auto; height: auto; }
.pen-drawer__logo .pen-wordmark { width: var(--pen-dlogo-w); height: var(--pen-dlogo-h); }
.pen-drawer__close { width: 24px; height: 32px; border: 0; background: none; padding: 0; cursor: pointer; color: var(--pen-drawer-color); display: flex; align-items: center; justify-content: center; }
.pen-drawer__menu > li {
	position: relative;
	border-bottom: 1px solid var(--pen-drawer-divider);
	padding-bottom: 8px; margin-bottom: 8px;
}
.pen-drawer__menu a {
	display: flex; align-items: center;
	min-height: var(--pen-drawer-lh);
	padding-right: 32px;
	font: var(--pen-drawer-weight) var(--pen-drawer-fs)/1.2 var(--pen-ff-nav);
	color: var(--pen-drawer-color);
}
.pen-drawer__menu a:hover, .pen-drawer__menu a:focus-visible { color: var(--pen-accent); }
.pen-drawer--chevron .pen-drawer__menu > li:not(.menu-item-has-children) > a::after {
	content: ""; position: absolute; right: 8px; top: 15px;
	width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
.pen-sub-toggle {
	position: absolute; right: 0; top: 0;
	width: 32px; height: var(--pen-drawer-lh);
	border: 0; background: none; cursor: pointer; padding: 0;
	display: flex; align-items: center; justify-content: center;
}
.pen-sub-toggle::before {
	content: ""; width: 8px; height: 8px;
	border-right: 2px solid var(--pen-drawer-color); border-bottom: 2px solid var(--pen-drawer-color);
	transform: translateY(-2px) rotate(45deg); transition: transform .15s;
}
.pen-sub-toggle[aria-expanded="true"]::before { transform: translateY(2px) rotate(-135deg); }
.pen-drawer__menu .sub-menu { display: none; padding: 4px 0 0 16px; }
.pen-drawer__menu .is-open > .sub-menu { display: block; }
.pen-drawer__menu .sub-menu a { font-weight: 400; font-size: 16px; color: var(--pen-drawer-sub); min-height: 36px; }
html.pen-locked, html.pen-locked body { overflow: hidden; }

/* ------------------------------------------------------------------ Conteúdo principal */
.pen-main { display: block; padding-top: var(--pen-content-top); }
.pen-main:focus { outline: none; }

/* ------------------------------------------------------------------ Publicidade */
.pen-ad {
	display: block;
	width: calc(100% - 2 * var(--pen-side));
	max-width: calc(var(--pen-container) + 2px);
	margin: 0 auto var(--pen-ad-gap);
	min-height: var(--pen-ad-h);
	border: 1px solid var(--pen-ad-border);
	background: var(--pen-ad-bg);
	text-align: center;
}
.pen-ad--conteudo { max-width: calc(var(--pen-single-w) + 2px); }
.pen-home + .pen-ad { margin-top: var(--pen-module-gap); }
.pen-ad--tela { width: 100%; max-width: none; border-left: 0; border-right: 0; }
.pen-ad--lateral, .pen-ad--coluna { width: 100%; max-width: none; margin-bottom: 0; }
.pen-ad__inner { display: flex; flex-direction: column; align-items: center; }
.pen-ad__label {
	display: block; margin: 8px 0;
	font: 700 var(--pen-ad-label-fs)/1 var(--pen-ff-nav);
	color: var(--pen-ad-label);
}
.pen-ad__slot { display: flex; justify-content: center; max-width: 100%; }
.pen-ad__slot img, .pen-ad__img { display: block; max-width: 100%; height: auto; }
.pen-ad__link { display: block; }
.pen-ad--ancora { border: 0; min-height: 0; margin: 0; width: auto; max-width: none; background: transparent; }
.pen-ad--ancora .pen-ad__label { display: none; }
.pen-anchor {
	position: fixed; left: 50%; bottom: 0; z-index: 900;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, .95); box-shadow: 0 -2px 8px rgba(0, 0, 0, .15);
	padding: 4px;
}
.pen-anchor__close {
	position: absolute; top: -20px; right: 4px; width: 20px; height: 20px;
	background: var(--pen-surface); border: 1px solid var(--pen-border); border-radius: 3px 3px 0 0; padding: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
}
.pen-has-anchor { padding-bottom: 98px; }

/* ------------------------------------------------------------------ Títulos de seção */
.pen-stitle {
	display: flex; align-items: center; gap: 8px;
	color: var(--pen-cell-accent, var(--pen-text));
}
.pen-stitle__link { display: flex; align-items: center; gap: 8px; color: inherit; }
.pen-stitle__link:hover .pen-stitle__text { text-decoration: underline; }
.pen-stitle__text {
	font: var(--pen-fw-titles) var(--pen-fs-section)/var(--pen-lh-section) var(--pen-ff-titles);
	text-transform: var(--pen-box-title-tt);
	color: inherit;
}
.pen-stitle__icon { width: 24px; height: 24px; color: inherit; }
.pen-stitle--accent { color: var(--pen-cell-accent, var(--pen-accent)); }
.pen-stitle--cell, .pen-stitle--spacer { margin-bottom: var(--pen-box-title-gap); }
.pen-stitle--spacer { height: calc(var(--pen-fs-section) * var(--pen-lh-section)); display: none; }
.pen-stitle--list { margin-bottom: 24px; }
.pen-rank .pen-stitle { margin-bottom: 24px; }

/* ------------------------------------------------------------------ Home: módulos e células */
.pen-home { display: flow-root; }
.pen-mod { margin-bottom: var(--pen-mod-gap, var(--pen-module-gap)); }
.pen-mod__grid { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--pen-module-gap); align-items: start; }
.pen-cell { min-width: 0; }
.pen-cell--boxed { display: flex; flex-direction: column; }
.pen-cell--boxed .pen-cell__box { flex: 1 0 auto; }
@media (max-width: 1015px) {
	/* Celular e tablet: caixas coloridas de borda a borda, como na referência. */
	.pen-cell--boxed .pen-cell__box { margin-left: calc(-1 * var(--pen-side)); margin-right: calc(-1 * var(--pen-side)); border-radius: 0; }
}
.pen-cell--boxed .pen-cell__box { background: var(--pen-cell-bg); padding: var(--pen-box-pad); border-radius: var(--pen-radius); }
.pen-stack { display: flex; flex-direction: column; gap: var(--pen-item-gap); }
.pen-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--pen-item-gap); }

@media (min-width: 768px) and (max-width: 1015px) {
	.pen-tablet-2col .pen-mod--3-col .pen-mod__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--pen-gap); }
}
@media (min-width: 1016px) {
	.pen-mod__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--pen-gap); row-gap: 0; align-items: stretch; }
	.pen-cell--span2 { grid-column: span 2; }
	.pen-cell--span3 { grid-column: span 3; }
	.pen-mod--titled .pen-stitle--spacer { display: block; }
	.pen-grid { grid-template-columns: repeat(var(--pen-cols, 4), minmax(0, 1fr)); column-gap: var(--pen-gap); }
}

/* ------------------------------------------------------------------ Cards */
.pen-card { position: relative; min-width: 0; }
.pen-card__link { display: block; color: inherit; }
.pen-card__media { display: block; position: relative; overflow: hidden; background: var(--pen-img-fallback); border-radius: var(--pen-radius); }
.pen-card__media .pen-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--pen-focal); }
.pen-img--placeholder {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; background: var(--pen-img-fallback);
}
.pen-card__body { display: block; }
.pen-card__kicker-row { display: flex; align-items: center; flex-wrap: wrap; margin-bottom: var(--pen-kicker-gap); }
.pen-kicker {
	display: inline-block;
	font: var(--pen-fw-kicker) var(--pen-fs-kicker)/var(--pen-lh-kicker) var(--pen-ff-kicker);
	text-transform: var(--pen-kicker-tt);
	color: var(--pen-cell-accent, var(--pen-accent));
}
.pen-tag {
	display: inline-block;
	background: var(--pen-cell-accent, var(--pen-accent));
	color: var(--pen-tag-color);
	font: var(--pen-fw-kicker) var(--pen-fs-tag)/var(--pen-lh-tag) var(--pen-ff-kicker);
	text-transform: var(--pen-kicker-tt);
	padding: var(--pen-tag-pady) var(--pen-tag-padx);
	border-radius: var(--pen-tag-radius);
}
.pen-video-badge { display: inline-flex; color: var(--pen-video-color); margin: -4px 8px 4px 0; }
.pen-video-badge svg { width: var(--pen-video-size); height: var(--pen-video-size); }
.pen-card__title {
	font-family: var(--pen-ff-titles);
	font-weight: var(--pen-fw-titles);
	color: var(--pen-text);
	overflow-wrap: anywhere;
	transition: color .15s;
}
.pen-card__link:hover .pen-card__title, .pen-card__link:focus-visible .pen-card__title { color: var(--pen-title-hover); }
.pen-card__excerpt { display: block; margin-top: 8px; font: 400 16px/1.4 var(--pen-ff-body); color: var(--pen-text-2); }
.pen-card__date { display: block; font: var(--pen-fw-meta) var(--pen-fs-meta)/var(--pen-lh-meta) var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-card__author { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font: 700 12px/1.2 var(--pen-ff-meta); color: var(--pen-text); }
.pen-card__author .pen-portrait { width: 24px; height: 24px; }
.pen-img-zoom .pen-card__media .pen-img { transition: transform .3s; }
.pen-img-zoom .pen-card__link:hover .pen-card__media .pen-img { transform: scale(1.04); }

/* Destaque sobreposto e manchete. */
.pen-card--overlay, .pen-card--lead { height: var(--pen-ov-h); overflow: hidden; border-radius: var(--pen-radius); background: #222; }
.pen-card--overlay .pen-card__link { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.pen-card--overlay .pen-card__media { position: absolute; inset: 0; border-radius: 0; }
.pen-card--overlay .pen-card__media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(rgba(var(--pen-ov-grad-rgb), 0) var(--pen-ov-grad-start), rgba(var(--pen-ov-grad-rgb), var(--pen-ov-grad-op)) 100%);
}
.pen-card--overlay .pen-card__body { position: relative; padding: 0 var(--pen-ov-pad) var(--pen-ov-pad); }
.pen-card--overlay .pen-card__kicker-row { margin-bottom: var(--pen-tag-gap); }
.pen-card--overlay .pen-card__title {
	color: var(--pen-ov-text);
	font-size: var(--pen-fs-overlay); line-height: var(--pen-lh-overlay);
	text-shadow: 2px 2px 3px rgba(0, 0, 0, var(--pen-ov-shadow-op));
	margin-bottom: 8px;
}
.pen-card--overlay .pen-card__excerpt { color: rgba(255, 255, 255, .9); margin: 0 0 8px; }
.pen-card--lead .pen-card__title { font-size: var(--pen-fs-lead); line-height: var(--pen-lh-lead); }
.pen-card--overlay .pen-card__link:hover .pen-card__title { color: var(--pen-ov-text); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Foto em cima e grade. */
.pen-card--top .pen-card__media, .pen-card--grid .pen-card__media { aspect-ratio: var(--pen-card-ratio, var(--pen-top-ratio)); }
.pen-card--top .pen-card__body, .pen-card--grid .pen-card__body { padding-top: var(--pen-top-gap); }
.pen-card--top .pen-card__title, .pen-card--grid .pen-card__title { font-size: var(--pen-fs-top); line-height: var(--pen-lh-top); }

/* Compacta (miniatura ao lado). */
.pen-card--compact .pen-card__link { display: flex; align-items: flex-start; gap: var(--pen-cmp-gap); }
.pen-card--compact .pen-card__media { flex: none; width: var(--pen-cmp-thumb); height: var(--pen-cmp-thumb); }
.pen-card--compact .pen-card__body { flex: 1; min-width: 0; }
.pen-card--compact .pen-card__title { font-size: var(--pen-fs-compact); line-height: var(--pen-lh-compact); }

@media (max-width: 1015px) {
	.pen-card--compact .pen-card__link { flex-direction: row-reverse; justify-content: space-between; }
	.pen-cmp-left-m .pen-card--compact .pen-card__link { flex-direction: row; }
	/* Células que viram lista compacta no celular/tablet (ex.: grade de 4). */
	.pen-cell--m-compact .pen-card--grid .pen-card__link,
	.pen-cell--m-compact .pen-card--top .pen-card__link { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; gap: var(--pen-cmp-gap); }
	.pen-cmp-left-m .pen-cell--m-compact .pen-card__link { flex-direction: row; }
	.pen-cell--m-compact .pen-card--grid .pen-card__media,
	.pen-cell--m-compact .pen-card--top .pen-card__media { flex: none; width: var(--pen-cmp-thumb); height: var(--pen-cmp-thumb); aspect-ratio: auto; }
	.pen-cell--m-compact .pen-card--grid .pen-card__body,
	.pen-cell--m-compact .pen-card--top .pen-card__body { flex: 1; min-width: 0; padding-top: 0; }
	.pen-cell--m-compact .pen-card--grid .pen-card__title,
	.pen-cell--m-compact .pen-card--top .pen-card__title { font-size: var(--pen-fs-compact); line-height: var(--pen-lh-compact); }
}

/* Item de lista (Últimas, editorias). */
.pen-list { display: flex; flex-direction: column; gap: var(--pen-list-gap); }
.pen-card--list {
	background: var(--pen-surface);
	border-radius: var(--pen-radius);
	box-shadow: inset 0 0 0 1px var(--pen-list-border), 0 2px 10px rgba(0, 0, 0, var(--pen-card-shadow-op));
}
.pen-card--list .pen-card__link { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; gap: var(--pen-list-inner-gap); padding: var(--pen-list-pad); }
.pen-card--list .pen-card__media { flex: none; width: var(--pen-list-thumb-w); height: var(--pen-list-thumb-h); }
.pen-card--list .pen-card__body { flex: 1; min-width: 0; }
.pen-card--list .pen-card__title { font-size: var(--pen-fs-list); line-height: var(--pen-lh-list); margin-bottom: 8px; }
.pen-list-pos-esquerda .pen-card--list .pen-card__link { flex-direction: row; }
.pen-list-pos-acima .pen-card--list .pen-card__link { flex-direction: column; }
.pen-list-pos-acima .pen-card--list .pen-card__media { width: 100%; height: auto; aspect-ratio: 2 / 1; }
@media (min-width: 1016px) {
	.pen-card--list .pen-card__link { flex-direction: row; justify-content: flex-start; }
	.pen-list-pos-acima .pen-card--list .pen-card__link { flex-direction: row; }
	.pen-list-pos-acima .pen-card--list .pen-card__media { width: var(--pen-list-thumb-w); height: var(--pen-list-thumb-h); aspect-ratio: auto; }
}

/* Botão Ver mais e paginação. */
.pen-more {
	display: flex; align-items: center; justify-content: center;
	height: var(--pen-more-h); margin-top: 24px;
	border: 1px solid var(--pen-more-border); border-radius: var(--pen-more-radius);
	background: var(--pen-more-bg); color: var(--pen-more-color);
	font: var(--pen-more-weight) var(--pen-more-fs)/1 var(--pen-ff-nav);
	text-transform: uppercase; letter-spacing: .01em;
	padding: 0 16px;
}
.pen-more:hover, .pen-more:focus-visible { border-color: var(--pen-accent); color: var(--pen-accent); }
.pen-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.pen-pagination .page-numbers {
	display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px;
	border: 1px solid var(--pen-more-border); border-radius: var(--pen-more-radius); color: var(--pen-more-color);
	font: 700 15px/1 var(--pen-ff-nav);
}
.pen-pagination .current { background: var(--pen-accent); border-color: var(--pen-accent); color: #fff; }

/* ------------------------------------------------------------------ Mais Lidas */
.pen-rank__list { display: flex; flex-direction: column; gap: 24px; }
.pen-rank__link { display: flex; align-items: flex-start; gap: var(--pen-ml-gap); }
.pen-rank__num {
	flex: none; width: var(--pen-ml-circle); height: var(--pen-ml-circle);
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--pen-ml-color); border-radius: 50%;
	background: var(--pen-ml-bg); color: var(--pen-ml-color);
	font: 700 var(--pen-ml-num-fs)/1.1 var(--pen-ff-titles);
}
.pen-rank__body { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.pen-rank__body .pen-kicker { margin-bottom: 4px; }
.pen-rank__title { font: var(--pen-fw-titles) var(--pen-fs-rank)/var(--pen-lh-rank) var(--pen-ff-titles); color: var(--pen-text); transition: color .15s; }
.pen-rank__link:hover .pen-rank__title { color: var(--pen-title-hover); }

/* ------------------------------------------------------------------ Colunistas */
.pen-colstrip { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--pen-item-gap); }
@media (min-width: 1016px) { .pen-colstrip { grid-template-columns: repeat(var(--pen-cols, 4), minmax(0, 1fr)); column-gap: var(--pen-gap); } }
.pen-colitem__link { display: flex; align-items: flex-start; gap: var(--pen-col-gap); }
.pen-colitem__portrait { flex: none; }
.pen-portrait {
	display: block; border-radius: 50%; object-fit: cover;
	width: var(--pen-col-portrait); height: var(--pen-col-portrait);
	box-shadow: 0 0 0 var(--pen-col-border) var(--pen-bg); background: var(--pen-img-fallback);
}
.pen-portrait--empty { display: block; }
.pen-colitem__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pen-colitem__title { font: var(--pen-fw-titles) var(--pen-fs-compact)/var(--pen-lh-compact) var(--pen-ff-titles); color: var(--pen-text); }
.pen-colitem--strip .pen-colitem__title, .pen-colitem--side .pen-colitem__title { margin-bottom: 16px; }
.pen-colitem__link:hover .pen-colitem__title { color: var(--pen-title-hover); }

/* ------------------------------------------------------------------ Vídeos */
.pen-video { position: relative; display: flex; flex-direction: column; height: var(--pen-video-h); background: var(--pen-video-bg); overflow: hidden; border-radius: var(--pen-radius); }
.pen-video__player { position: relative; flex: 1; min-height: 0; }
.pen-video__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pen-video__lite { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; padding: 0; background: #000; color: #fff; cursor: pointer; }
.pen-video__lite img, .pen-video__lite .pen-img--placeholder { width: 100%; height: 100%; object-fit: cover; }
.pen-video__title { position: absolute; left: 0; right: 0; top: 0; padding: 16px 16px 32px; background: linear-gradient(rgba(0, 0, 0, .6), transparent); color: #fff; font: 700 var(--pen-video-title-fs)/1.25 var(--pen-ff-titles); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pen-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: var(--pen-video-play); opacity: .9; transition: opacity .15s; }
.pen-video__lite:hover .pen-video__play, .pen-video__lite:focus-visible .pen-video__play { opacity: 1; }
.pen-video__footer { flex: none; height: var(--pen-video-footer-h); display: flex; align-items: center; padding: 0 8px; color: #fff; }
.pen-video__brand { max-height: 65px; width: auto; }
.pen-video__brand-text { font: 900 18px/1 var(--pen-ff-titles); letter-spacing: .02em; }

/* ------------------------------------------------------------------ Institucional */
.pen-inst { display: flex; flex-direction: column; gap: 16px; }
.pen-inst__text { font: 400 18px/1.5 var(--pen-ff-body); }
.pen-inst__text a { color: var(--pen-link); text-decoration: underline; }

/* ------------------------------------------------------------------ Listagens */
.pen-archive-title {
	font: var(--pen-fw-titles) var(--pen-fs-archive)/var(--pen-lh-archive) var(--pen-ff-titles);
	color: var(--pen-archive-h1);
	text-transform: var(--pen-archive-tt);
	margin-bottom: 24px;
}
.pen-listing__info { margin: 0 0 24px; font: 400 16px/22.4px var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-listing__info span { display: block; margin-bottom: 4px; }
.pen-listing__info b { font-weight: 700; }
.pen-listing { padding-bottom: 8px; }
.pen-split { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--pen-module-gap); align-items: start; margin-bottom: 64px; }
@media (min-width: 1016px) {
	.pen-split { grid-template-columns: minmax(0, 1fr) var(--pen-sidebar-w); column-gap: var(--pen-gap); row-gap: 0; }
	.pen-split--esquerda { grid-template-columns: var(--pen-sidebar-w) minmax(0, 1fr); }
	.pen-split--esquerda .pen-split__side { order: -1; }
	.pen-split--nenhuma { grid-template-columns: minmax(0, 1fr); }
}
.pen-empty { background: var(--pen-surface); padding: 24px; font: 400 18px/1.5 var(--pen-ff-body); }
.pen-empty .pen-search { margin-top: 16px; max-width: 560px; }
.pen-empty .pen-search__input { border: 1px solid #ccc; }

/* Barra lateral. */
.pen-side { display: flex; flex-direction: column; gap: var(--pen-sidebar-gap); }
.pen-side--sticky > :last-child { position: sticky; top: 16px; }
.pen-side-text { font: 400 16px/1.5 var(--pen-ff-body); }

/* Apresentação da coluna / autor. */
.pen-colbio { display: flex; align-items: center; gap: 24px; background: var(--pen-surface); padding: 24px; margin-bottom: 24px; border-radius: var(--pen-radius); }
.pen-colbio__portrait .pen-portrait { width: var(--pen-col-avatar); height: var(--pen-col-avatar); box-shadow: none; }
.pen-colbio__text { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pen-colbio__name { font: 700 18px/1 var(--pen-ff-titles); color: var(--pen-text); }
.pen-colbio__author { font: 700 14px/1 var(--pen-ff-meta); color: var(--pen-text); }
.pen-colbio__bio { font: 400 12px/1.4 var(--pen-ff-meta); color: var(--pen-text); }
.pen-colbio__social { display: flex; gap: 8px; }
.pen-colbio__social a { color: var(--pen-accent); }

/* Índice de colunistas. */
.pen-colindex { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 768px) { .pen-colindex { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; } }
.pen-colcard { background: var(--pen-surface); border-radius: var(--pen-radius); }
.pen-colcard__link { display: flex; align-items: flex-start; gap: 16px; padding: 16px; }
.pen-colcard__portrait .pen-portrait { width: 40px; height: 40px; box-shadow: none; }
.pen-colcard__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pen-colcard__name { font: 700 16px/1.2 var(--pen-ff-titles); color: var(--pen-text); }
.pen-colcard__desc { font: 400 12px/1.35 var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-colcard__link:hover .pen-colcard__name { color: var(--pen-title-hover); }

/* ------------------------------------------------------------------ Notícia */
.pen-single-w { width: calc(100% - 2 * var(--pen-side)); max-width: var(--pen-single-w); margin-left: auto; margin-right: auto; }
.pen-main > .pen-ad--tela:first-child { margin-bottom: 16px; }
.pen-single__head { display: flex; flex-direction: column; gap: var(--pen-single-head-gap); margin-bottom: 24px; }
.pen-single__kicker { display: flex; }
.pen-single__title { font: var(--pen-fw-titles) var(--pen-fs-single)/var(--pen-lh-single) var(--pen-ff-titles); color: var(--pen-text); overflow-wrap: anywhere; }
.pen-single__subtitle { font: 400 var(--pen-fs-subtitle)/var(--pen-lh-subtitle) var(--pen-ff-body); color: var(--pen-text-2); }
.pen-single__metarow { display: flex; flex-direction: column; align-items: flex-start; gap: calc(2 * var(--pen-single-head-gap)); }
.pen-single__meta { font: 400 14px/20px var(--pen-ff-meta); color: var(--pen-text); }
.pen-single__author { font-weight: 700; }
.pen-single__author a:hover { text-decoration: underline; }
.pen-single__updated { display: block; }
@media (min-width: 1016px) {
	.pen-single__metarow { flex-direction: row; justify-content: space-between; align-items: center; }
}
.pen-share { display: flex; flex-wrap: wrap; gap: var(--pen-share-gap); }
.pen-share__btn {
	width: var(--pen-share-size); height: var(--pen-share-size);
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%; color: #fff; border: 0; padding: 10px; cursor: pointer;
}
.pen-share__btn .pen-icon { width: 24px; height: 24px; }
.pen-share__btn:hover { filter: brightness(1.1); }
.pen-single__figure { margin-bottom: 24px; }
.pen-single__media { display: block; aspect-ratio: var(--pen-single-ratio); overflow: hidden; background: var(--pen-img-fallback); }
.pen-single__media .pen-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pen-single__caption { background: var(--pen-caption-bg); color: var(--pen-caption-color); font: 400 14px/1.3 var(--pen-ff-meta); padding: 16px 32px; }
@media (max-width: 767px) {
	.pen-single__figure--full-m { width: 100%; }
	.pen-single__caption { padding: 16px 24px; }
}
.pen-single > .pen-ad--conteudo { margin-bottom: 16px; }
.pen-single__cols { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 40px; align-items: start; margin-bottom: 64px; }
@media (min-width: 1016px) {
	.pen-single__cols--direita { grid-template-columns: minmax(0, var(--pen-single-body-w)) var(--pen-single-aside-w); justify-content: space-between; column-gap: 24px; }
	.pen-single__cols--esquerda { grid-template-columns: var(--pen-single-aside-w) minmax(0, var(--pen-single-body-w)); justify-content: space-between; column-gap: 24px; }
	.pen-single__cols--esquerda .pen-single__aside { order: -1; }
	.pen-single__cols--nenhuma { grid-template-columns: minmax(0, var(--pen-single-body-w)); }
}
.pen-single__aside .pen-side { gap: var(--pen-single-side-gap); }

/* Tipografia do corpo. */
.pen-content { font: 400 var(--pen-fs-body)/var(--pen-lh-body) var(--pen-ff-body); color: var(--pen-text); overflow-wrap: break-word; }
.pen-content > * { margin: 0 0 var(--pen-p-gap); }
.pen-content p { margin: 0 0 var(--pen-p-gap); }
.pen-content a { color: var(--pen-link); }
.pen-content a:hover { color: var(--pen-link-hover); text-decoration: underline; }
.pen-content h2 { font: var(--pen-fw-h2) var(--pen-fs-h2)/var(--pen-lh-h2) var(--pen-ff-titles); margin: var(--pen-h2-top) 0 var(--pen-h2-bottom); }
.pen-content h3 { font: 700 24px/1.2 var(--pen-ff-titles); margin: 24px 0 16px; }
.pen-content ul, .pen-content ol { padding-left: 1.4em; }
.pen-content blockquote { margin: 0 0 var(--pen-p-gap); padding: 0 0 0 20px; border-left: 4px solid var(--pen-accent); font-style: italic; }
.pen-content figure { margin: 0 0 var(--pen-p-gap); }
.pen-content figcaption, .pen-content .wp-element-caption { font: 400 14px/1.3 var(--pen-ff-meta); color: var(--pen-caption-color); margin-top: 8px; }
.pen-content img { height: auto; }
.pen-content iframe { width: 100%; }
.pen-content .wp-block-embed__wrapper { position: relative; }
.pen-content > .pen-readmore, .pen-content > .pen-integ { margin: 8px 0 var(--pen-p-gap); }
.pen-content > .pen-ad { width: calc(100% + 2px); max-width: none; margin: 8px -1px 16px; min-height: var(--pen-ad-h); }
@media (max-width: 1015px) {
	/* No celular e no tablet, as caixas de anúncio ficam 15 px recuadas das bordas, como na referência. */
	.pen-ad:not(.pen-ad--ancora) { width: calc(100% - 30px); max-width: none; border-left: 1px solid var(--pen-ad-border); border-right: 1px solid var(--pen-ad-border); }
	.pen-content > .pen-ad { width: calc(100% - 30px); margin-left: auto; margin-right: auto; }
	.pen-single > .pen-ad--conteudo { width: calc(100% - 2 * var(--pen-side) - 30px); }
}

/* Leia mais (card intercalado). */
.pen-readmore { max-width: 450px; margin-left: auto !important; margin-right: auto !important; }
.pen-readmore__link { position: relative; display: block; aspect-ratio: 450 / 252; overflow: hidden; color: #fff; text-decoration: none; }
.pen-content .pen-readmore__link, .pen-content .pen-readmore__link:hover { color: #fff; text-decoration: none; }
.pen-readmore__media { position: absolute; inset: 0; background: var(--pen-img-fallback); }
.pen-readmore__media .pen-img { width: 100%; height: 100%; object-fit: cover; }
.pen-readmore__btn { position: absolute; top: 12px; right: 12px; background: #ef4c4c; color: #fff; font: 400 15px/1 var(--pen-ff-nav); padding: 10px 12px; border-radius: 3px; }
.pen-readmore__bar {
	position: absolute; left: 0; right: 0; bottom: 20px; display: flex; align-items: center; gap: 10px;
	padding: 6px 10px; background: linear-gradient(90deg, rgba(255, 255, 255, .95) 0, rgba(255, 255, 255, .95) 54px, rgba(229, 35, 34, .55) 54px, rgba(229, 35, 34, .35) 100%);
}
.pen-readmore__brand { color: var(--pen-accent); flex: none; width: 40px; font-size: 7px; }
.pen-readmore__title { font: 700 14px/1.15 var(--pen-ff-titles); color: #fff; text-shadow: 1px 1px 2px rgba(0, 0, 0, .5); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Integrações externas. */
.pen-integ__label { font: 700 13px/1 var(--pen-ff-nav); color: var(--pen-ad-label); text-transform: uppercase; margin-bottom: 8px; text-align: center; }
.pen-main > .pen-integ--recs { width: calc(100% - 2 * var(--pen-side)); max-width: var(--pen-single-w); margin: 0 auto 48px; }

/* Leia também, tags e compartilhar ao fim. */
.pen-related { margin: 0 0 24px; }
.pen-related__title { font: 700 var(--pen-fs-body)/var(--pen-lh-body) var(--pen-ff-titles); color: var(--pen-text); margin-bottom: 24px; }
.pen-related__list { display: flex; flex-direction: column; gap: 24px; }
.pen-related__list li { padding: 20px 0; }
.pen-related__list a { font: 400 var(--pen-fs-body)/var(--pen-lh-body) var(--pen-ff-body); color: var(--pen-link); }
.pen-related__list a:hover { color: var(--pen-link-hover); text-decoration: underline; }
.pen-tags { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 40px; }
.pen-tags__item {
	display: inline-block; padding: 8px 16px;
	border: 1px solid var(--pen-tags-border); border-radius: var(--pen-tags-radius);
	font: 700 14px/18px var(--pen-ff-nav); color: var(--pen-accent);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
a.pen-tags__item:hover { background: var(--pen-accent); color: #fff; border-color: var(--pen-accent); }
.pen-share-end { padding-top: 24px; }
.pen-share-end__title { font: 700 20px/24px var(--pen-ff-titles); color: var(--pen-text); margin: 0 0 16px; }
.pen-pages { display: flex; gap: 8px; font-weight: 700; }

/* ------------------------------------------------------------------ Autor responsável (contato no fim da notícia) */
.pen-content > .pen-resp { margin: 40px 0 var(--pen-p-gap); }
.pen-resp {
	container-type: inline-size;
	padding: 20px 20px 6px 24px;
	background: var(--pen-surface); color: var(--pen-text);
	border: 1px solid var(--pen-border); border-left: 4px solid var(--pen-accent); border-radius: var(--pen-radius, 0);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
	font: 400 16px/1.4 var(--pen-ff-body);
}
.pen-resp .pen-resp__label {
	margin: 0 0 16px; color: var(--pen-accent); color: color-mix(in srgb, var(--pen-accent) 85%, #000);
	font: 700 12px/1 var(--pen-ff-nav); letter-spacing: .12em; text-transform: uppercase;
}
.pen-resp__id { display: flex; align-items: center; gap: 14px; }
.pen-resp__avatar {
	flex: none; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%;
	background: rgba(var(--pen-accent-rgb, 237, 27, 53), .1); color: var(--pen-accent); color: color-mix(in srgb, var(--pen-accent) 85%, #000);
	font: 700 18px/1 var(--pen-ff-titles); letter-spacing: .02em;
}
.pen-resp__who { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pen-resp__name { font: 700 22px/1.2 var(--pen-ff-titles); color: var(--pen-text); overflow-wrap: anywhere; }
.pen-resp__role { font: 400 15px/1.3 var(--pen-ff-meta); color: var(--pen-text-2); overflow-wrap: anywhere; }
.pen-resp .pen-resp__list { display: flex; flex-direction: column; margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--pen-border); }
.pen-resp .pen-resp__item + .pen-resp__item { border-top: 1px solid var(--pen-border); }
.pen-resp .pen-resp__link {
	display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 0;
	color: var(--pen-text); text-decoration: none; overflow-wrap: anywhere;
}
.pen-resp .pen-resp__link:hover, .pen-resp .pen-resp__link:focus-visible { color: var(--pen-accent); text-decoration: underline; }
.pen-resp .pen-resp__link .pen-icon { color: var(--pen-accent); }
@container (min-width: 560px) {
	.pen-resp__avatar { width: 60px; height: 60px; font-size: 20px; }
	.pen-resp__name { font-size: 24px; }
	.pen-resp .pen-resp__list { flex-direction: row; flex-wrap: wrap; column-gap: 32px; }
	.pen-resp .pen-resp__item + .pen-resp__item { border-top: 0; }
	.pen-resp .pen-resp__link { min-height: 52px; }
}

/* ------------------------------------------------------------------ Rodapé */
.pen-footer { background: var(--pen-footer-bg); color: var(--pen-footer-color); }
.pen-footer .pen-container { width: calc(100% - 2 * var(--pen-footer-side)); }
.pen-footer__main { padding: var(--pen-footer-pad) 0 var(--pen-footer-pad-b); }
.pen-footer__grid { display: flex; flex-direction: column; gap: 32px; min-height: var(--pen-footer-min-h); }
.pen-footer__logo { display: inline-flex; align-self: flex-start; color: var(--pen-accent); }
.pen-footer__logo img { max-width: var(--pen-flogo-w); max-height: var(--pen-flogo-h); width: auto; height: auto; }
.pen-footer__logo .pen-wordmark { width: var(--pen-flogo-w); height: var(--pen-flogo-h); }
.pen-footer__center { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pen-footer .pen-search__input { border: 1px solid #e0e0e0; }
.pen-footer__cols { display: flex; flex-direction: column; gap: 32px; }
.pen-footer__col { width: var(--pen-footer-col-w); max-width: 100%; }
.pen-footer__head { font: 700 var(--pen-footer-fs)/1 var(--pen-ff-nav); text-transform: var(--pen-footer-head-tt); margin-bottom: 16px; }
.pen-footer__menu { display: flex; flex-direction: column; gap: var(--pen-footer-link-gap); }
.pen-footer__menu li { display: flex; line-height: 1; }
.pen-footer__menu a { display: inline-block; font: 400 var(--pen-footer-fs)/1 var(--pen-ff-meta); color: var(--pen-footer-color); }
.pen-footer__menu a:hover { color: var(--pen-accent); text-decoration: underline; }
.pen-footer__bottom { background: var(--pen-footer-bottom-bg); padding: 24px 0 24px; }
.pen-footer__bottom-grid { display: flex; flex-direction: column; gap: 32px; }
.pen-footer__legal { margin-top: -2px; font: 400 var(--pen-footer-legal-fs)/16px var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-footer__credits { display: flex; flex-direction: column; gap: 24px; }
.pen-footer__credits li { display: flex; flex-direction: column; gap: 4px; }
.pen-footer__credit-label { font: 400 var(--pen-footer-legal-fs)/12px var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-footer__credit-name { font: 900 15px/1.1 var(--pen-ff-titles); color: #111; letter-spacing: -.01em; }
.pen-footer__credit-logo { max-height: 22px; width: auto; }
@media (min-width: 1016px) {
	.pen-footer__grid { flex-direction: row; align-items: flex-start; gap: 0; }
	.pen-footer__logo { flex: none; margin-right: var(--pen-footer-logo-gap); }
	/* A busca do rodapé encolhe entre 1016 e 1328 px (256 px em 1024, como na referência). */
	.pen-footer__center { flex: 0 1 calc(var(--pen-footer-search-w) + var(--pen-search-h) + 8px); min-width: 0; margin-right: var(--pen-footer-col-gap); }
	.pen-footer__center .pen-search__input { flex: 1 1 auto; width: auto; min-width: 0; }
	.pen-footer__cols { flex: none; flex-direction: row; gap: var(--pen-footer-col-gap); }
	.pen-single-w { width: 100%; }
	.pen-ad--container { width: 100%; }
	.pen-footer__bottom-grid { flex-direction: row; justify-content: space-between; align-items: flex-start; }
	.pen-footer__credits { flex-direction: row; gap: 40px; }
}

/* ------------------------------------------------------------------ Comentários e 404 */
.pen-comments { margin-top: 40px; }
.pen-comments__title { font: 700 24px/1.2 var(--pen-ff-titles); margin-bottom: 16px; }
.pen-404 .pen-split { margin-top: 0; }
.pen-404 .pen-empty { margin-bottom: 24px; }

/* ------------------------------------------------------------------ Formulário de contato (Contact Form 7) */
/* Cartão branco com filete na cor de destaque; campos em coluna única, nome/e-mail lado a lado
   quando há espaço (consulta ao contêiner, então também funciona fora da coluna principal). */
.wpcf7 { container-type: inline-size; }
.wpcf7 form.wpcf7-form {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px;
	margin: 0; padding: 24px 20px 28px;
	background: var(--pen-surface);
	border: 1px solid var(--pen-border); border-top: 4px solid var(--pen-accent);
	border-radius: var(--pen-more-radius, 3px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 14px 28px -18px rgba(0, 0, 0, .22);
	font: 400 16px/1.5 var(--pen-ff-body); color: var(--pen-text);
}
.wpcf7 form.wpcf7-form > p { grid-column: 1 / -1; position: relative; margin: 0; }
.wpcf7 form.wpcf7-form br { display: none; }
.wpcf7 .hidden-fields-container { display: none; }
.wpcf7 .screen-reader-response {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

.wpcf7 form.wpcf7-form label {
	display: block; font: 700 12px/1.2 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase; color: var(--pen-text-2);
}
.wpcf7 .wpcf7-form-control-wrap { position: relative; display: block; margin-top: 8px; }

.wpcf7 form.wpcf7-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], select, textarea) {
	display: block; width: 100%; max-width: 100%; height: 48px; margin: 0; padding: 0 14px;
	background: var(--pen-bg); color: var(--pen-text);
	border: 1px solid var(--pen-border); border: 1px solid color-mix(in srgb, var(--pen-text) 24%, var(--pen-bg));
	border-radius: var(--pen-more-radius, 3px);
	font: 400 16px/1.4 var(--pen-ff-body); letter-spacing: 0; text-transform: none;
	box-shadow: none; outline: 2px solid transparent; outline-offset: 0;
	-webkit-appearance: none; appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
.wpcf7 form.wpcf7-form textarea { height: 176px; min-height: 120px; padding: 12px 14px; resize: vertical; }
.wpcf7 form.wpcf7-form select {
	padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;
}
.wpcf7 form.wpcf7-form :is(input, select, textarea):hover { border-color: var(--pen-text-3); }
.wpcf7 form.wpcf7-form :is(input, select, textarea):focus {
	border-color: var(--pen-accent);
	box-shadow: 0 0 0 3px rgba(var(--pen-accent-rgb, 237, 27, 53), .18);
}
.wpcf7 form.wpcf7-form :is(input, select, textarea):-webkit-autofill { -webkit-text-fill-color: var(--pen-text); box-shadow: 0 0 0 1000px #fff inset; }
.wpcf7 form.wpcf7-form input[type="file"] { font: 400 14px/1.4 var(--pen-ff-body); color: var(--pen-text-2); }

/* Caixas de seleção, opções e aceite. */
.wpcf7 .wpcf7-list-item { display: block; margin: 0 0 8px; }
.wpcf7 .wpcf7-list-item label {
	display: flex; align-items: flex-start; gap: 10px;
	font: 400 15px/1.45 var(--pen-ff-body); letter-spacing: 0; text-transform: none; color: var(--pen-text);
}
.wpcf7 .wpcf7-list-item-label::before, .wpcf7 .wpcf7-list-item-label::after { content: none; }
.wpcf7 form.wpcf7-form :is(input[type="checkbox"], input[type="radio"]) {
	flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--pen-accent);
}

/* Validação por campo. */
.wpcf7 form.wpcf7-form .wpcf7-not-valid-tip {
	display: block; margin-top: 6px; color: #b3202e;
	font: 400 13px/1.35 var(--pen-ff-body); letter-spacing: 0; text-transform: none;
}
.wpcf7 form.wpcf7-form :is(input, select, textarea).wpcf7-not-valid { border-color: #b3202e; }
.wpcf7 form.wpcf7-form :is(input, select, textarea).wpcf7-not-valid:focus { box-shadow: 0 0 0 3px rgba(179, 32, 46, .18); }

/* Botão enviar (fundo levemente escurecido para manter contraste AA com texto branco). */
.wpcf7 form.wpcf7-form .wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; min-height: 52px; margin: 0; padding: 0 32px;
	background: var(--pen-accent); background: color-mix(in srgb, var(--pen-accent) 88%, #000);
	color: #fff; border: 0; border-radius: var(--pen-more-radius, 3px);
	font: 700 15px/1 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase;
	-webkit-appearance: none; appearance: none; cursor: pointer;
	transition: background-color .15s, transform .05s;
}
.wpcf7 form.wpcf7-form .wpcf7-submit:hover { background: color-mix(in srgb, var(--pen-accent) 76%, #000); }
.wpcf7 form.wpcf7-form .wpcf7-submit:active { transform: translateY(1px); }
.wpcf7 form.wpcf7-form .wpcf7-submit:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 3px; }
.wpcf7 form.wpcf7-form .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }
.wpcf7 .wpcf7-spinner { position: absolute; top: 50%; right: 16px; margin: -12px 0 0; }

/* Mensagem de retorno (some enquanto vazia ou antes do envio). */
.wpcf7 form.wpcf7-form .wpcf7-response-output {
	grid-column: 1 / -1; margin: 0; padding: 14px 16px;
	background: #f3f6fa; color: var(--pen-text);
	border: 1px solid #c9d4e2; border-left-width: 4px; border-radius: var(--pen-more-radius, 3px);
	font: 400 15px/1.45 var(--pen-ff-body);
}
.wpcf7 form.wpcf7-form .wpcf7-response-output:empty,
.wpcf7 form.wpcf7-form.init .wpcf7-response-output,
.wpcf7 form.wpcf7-form.resetting .wpcf7-response-output,
.wpcf7 form.wpcf7-form.submitting .wpcf7-response-output { display: none; }
.wpcf7 form.wpcf7-form.sent .wpcf7-response-output { background: #edf7ee; border-color: #2e7d32; color: #1b5e20; }
.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 form.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7 form.wpcf7-form.payment-required .wpcf7-response-output { background: #fff6dd; border-color: #d99a00; color: #6b4600; }
.wpcf7 form.wpcf7-form.failed .wpcf7-response-output,
.wpcf7 form.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7 form.wpcf7-form.spam .wpcf7-response-output { background: #fdecee; border-color: #b3202e; color: #8f1a25; }

@container (min-width: 520px) {
	.wpcf7 form.wpcf7-form { gap: 24px 20px; padding: 36px 40px 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpcf7 form.wpcf7-form > p:has([data-name="your-name"]),
	.wpcf7 form.wpcf7-form > p:has([data-name="your-email"]) { grid-column: auto; }
	.wpcf7 form.wpcf7-form > p:has(> .wpcf7-submit) { display: flex; align-items: center; gap: 14px; }
	.wpcf7 form.wpcf7-form .wpcf7-submit { width: auto; min-width: 220px; }
	.wpcf7 .wpcf7-spinner { position: relative; top: auto; right: auto; flex: none; margin: 0; }
}

/* ------------------------------------------------------------------ Formulários nativos (contato, busca refinada, senha, comentários) */
/* Mesma linguagem do Contact Form 7 acima: cartão branco com filete na cor de destaque. */
.pen-form-wrap { container-type: inline-size; margin: 32px 0; }
.pen-form__intro { margin: 0 0 20px; color: var(--pen-text-2); font: 400 18px/1.5 var(--pen-ff-body); }
.pen-form {
	position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px;
	margin: 0; padding: 24px 20px 28px;
	background: var(--pen-surface);
	border: 1px solid var(--pen-border); border-top: 4px solid var(--pen-accent);
	border-radius: var(--pen-more-radius, 3px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 14px 28px -18px rgba(0, 0, 0, .22);
	font: 400 16px/1.5 var(--pen-ff-body); color: var(--pen-text);
}
.pen-form[hidden] { display: none; }
.pen-form > * { grid-column: 1 / -1; min-width: 0; }
.pen-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pen-field > label {
	display: block; margin: 0 0 8px;
	font: 700 12px/1.2 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase; color: var(--pen-text-2);
}
.pen-field__req { color: var(--pen-accent); }
.pen-field :where(input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="password"], select, textarea) {
	display: block; width: 100%; max-width: 100%; height: 48px; margin: 0; padding: 0 14px;
	background: var(--pen-bg); color: var(--pen-text);
	border: 1px solid var(--pen-border); border: 1px solid color-mix(in srgb, var(--pen-text) 24%, var(--pen-bg));
	border-radius: var(--pen-more-radius, 3px);
	font: 400 16px/1.4 var(--pen-ff-body); letter-spacing: 0; text-transform: none;
	box-shadow: none; -webkit-appearance: none; appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
.pen-field textarea { height: 176px; min-height: 120px; padding: 12px 14px; resize: vertical; }
.pen-field select {
	padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;
}
.pen-field :is(input, select, textarea):hover { border-color: var(--pen-text-3); }
.pen-field :is(input, select, textarea):focus {
	outline: 2px solid transparent; border-color: var(--pen-accent);
	box-shadow: 0 0 0 3px rgba(var(--pen-accent-rgb, 237, 27, 53), .18);
}
.pen-field.has-error :is(input, select, textarea), .pen-field :is(input, select, textarea)[aria-invalid="true"] { border-color: #b3202e; }
.pen-field__error { margin: 6px 0 0; color: #b3202e; font: 400 13px/1.35 var(--pen-ff-body); }
.pen-field__error[hidden] { display: none; }
.pen-check { display: flex; align-items: flex-start; gap: 10px; font: 400 15px/1.45 var(--pen-ff-body); }
.pen-check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--pen-accent); }
.pen-field--checkbox > label.pen-check {
	display: flex; align-items: flex-start; gap: 10px; margin: 0;
	font: 400 15px/1.45 var(--pen-ff-body); letter-spacing: 0; text-transform: none; color: var(--pen-text);
}

.pen-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; min-height: 52px; margin: 0; padding: 0 32px;
	background: var(--pen-accent); background: color-mix(in srgb, var(--pen-accent) 88%, #000);
	color: #fff; border: 0; border-radius: var(--pen-more-radius, 3px);
	font: 700 15px/1 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase;
	-webkit-appearance: none; appearance: none; cursor: pointer;
	transition: background-color .15s, transform .05s;
}
.pen-btn:hover { background: color-mix(in srgb, var(--pen-accent) 76%, #000); }
.pen-btn:active { transform: translateY(1px); }
.pen-btn:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 3px; }
.pen-btn:disabled { opacity: .6; cursor: not-allowed; }
.pen-btn--sm { width: auto; min-height: 48px; padding: 0 24px; }

.pen-alert {
	margin: 0 0 20px; padding: 14px 16px;
	background: #f3f6fa; color: var(--pen-text);
	border: 1px solid #c9d4e2; border-left-width: 4px; border-radius: var(--pen-more-radius, 3px);
	font: 400 15px/1.45 var(--pen-ff-body);
}
.pen-alert[hidden] { display: none; }
.pen-alert--ok { background: #edf7ee; border-color: #2e7d32; color: #1b5e20; }
.pen-alert--erro { background: #fdecee; border-color: #b3202e; color: #8f1a25; }
.pen-form__again { margin: 16px 0 0; font: 700 15px/1.4 var(--pen-ff-nav); }
.pen-form__again a { color: var(--pen-accent); text-decoration: underline; }

@container (min-width: 520px) {
	.pen-form { gap: 24px 20px; padding: 36px 40px 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pen-form > .pen-field--nome, .pen-form > .pen-field--email, .pen-form > .pen-field--telefone, .pen-form > .pen-field--assunto { grid-column: auto; }
	.pen-btn { width: auto; min-width: 220px; }
}

/* Página “Fale conosco”: formulário + outros canais. */
.pen-single__cols--larga { --pen-single-body-w: 100%; }
.pen-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 24px; }
.pen-contact-grid__title { margin: 0 0 16px; font: 700 20px/1.2 var(--pen-ff-titles); }
.pen-contact-grid__info { align-self: start; padding: 24px; background: var(--pen-surface); border: 1px solid var(--pen-border); border-radius: var(--pen-more-radius, 3px); }
.pen-channels { margin: 0 0 16px; padding: 0; list-style: none; }
.pen-channels__item { display: flex; align-items: center; gap: 12px; min-height: 40px; overflow-wrap: anywhere; }
.pen-channels__item .pen-icon { color: var(--pen-accent); }
.pen-channels a:hover, .pen-channels a:focus-visible { color: var(--pen-accent); text-decoration: underline; }
.pen-social--contact .pen-social__btn { background: var(--pen-text); color: #fff; }
@media (min-width: 1016px) {
	.pen-contact-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; }
	.pen-contact-grid--solo { grid-template-columns: minmax(0, 1fr); }
}

/* Busca refinada. */
.pen-refine {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: end;
	margin: 0 0 24px; padding: 16px; background: #fff; border: 1px solid var(--pen-border); border-radius: var(--pen-more-radius, 3px);
}
.pen-refine label { display: block; margin: 0 0 6px; font: 700 12px/1.2 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase; color: var(--pen-text-2); }
.pen-refine :where(input, select) {
	width: 100%; height: 44px; padding: 0 12px; background: #fff; color: var(--pen-text);
	border: 1px solid #cfcfcf; border-radius: var(--pen-more-radius, 3px); font: 400 16px/1.4 var(--pen-ff-body);
}
@media (min-width: 768px) {
	.pen-refine { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) auto; }
}

/* Trilha de navegação. */
.pen-crumbs { margin: 16px 0; font: 400 14px/1.4 var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-crumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.pen-crumbs__item { display: inline-flex; align-items: center; min-width: 0; }
.pen-crumbs__item + .pen-crumbs__item::before { content: "›"; margin: 0 8px; color: var(--pen-text-3); }
.pen-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pen-crumbs a:hover, .pen-crumbs a:focus-visible { color: var(--pen-accent); }
.pen-crumbs [aria-current="page"] { max-width: 42ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--pen-text); }

/* Páginas internas: navegação da seção, largura total, tempo de leitura. */
.pen-subnav { margin: 40px 0 0; padding: 20px 24px; background: var(--pen-surface); border-left: 4px solid var(--pen-accent); }
.pen-subnav__title { margin: 0 0 12px; font: 700 18px/1.3 var(--pen-ff-titles); }
.pen-subnav__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.pen-subnav a { display: block; padding: 8px 0; font: 700 16px/1.3 var(--pen-ff-nav); }
.pen-subnav a:hover, .pen-subnav a:focus-visible, .pen-subnav a[aria-current="page"] { color: var(--pen-accent); }
.pen-page--larga .pen-single__head { margin: 24px 0; }
.pen-content--larga { max-width: none; margin-bottom: 64px; }
.pen-single__read { margin-top: 4px; font: 400 14px/20px var(--pen-ff-meta); color: var(--pen-text-2); }

/* Voltar ao topo. */
.pen-totop {
	position: fixed; right: 16px; bottom: 16px; z-index: 900;
	display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;
	background: var(--pen-accent); background: color-mix(in srgb, var(--pen-accent) 88%, #000);
	color: #fff; border: 0; border-radius: 50%; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); cursor: pointer;
}
.pen-totop[hidden] { display: none; }
.pen-totop:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 3px; }
.pen-has-anchor .pen-totop { bottom: 76px; }

/* Comentários (formulário e lista). */
.comment-form.pen-form p { margin: 0; }
.comment-form.pen-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; font: 400 14px/1.45 var(--pen-ff-body); }
.comment-form.pen-form .form-submit { margin-top: 4px; }
.pen-comments__list, .pen-comments__list .children { margin: 0; padding: 0; list-style: none; }
.pen-comments__list .comment-body { margin: 0 0 16px; padding: 16px; background: #fff; border: 1px solid var(--pen-border); border-radius: var(--pen-more-radius, 3px); }
.pen-comments__list .children { margin-left: 24px; }
.pen-comments__list .comment-meta { font: 400 13px/1.4 var(--pen-ff-meta); color: var(--pen-text-2); }
.pen-comments__list .reply a { font: 700 13px/1 var(--pen-ff-nav); color: var(--pen-accent); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---- Modo claro e noturno: botão no topo (ícone do modo de destino) ---- */
.pen-mode-toggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; padding: 0; border: 1px solid var(--pen-border); border-radius: 50%; background: var(--pen-surface); color: var(--pen-text); cursor: pointer; }
.pen-mode-toggle:hover { border-color: var(--pen-accent); color: var(--pen-accent); }
.pen-mode-toggle:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 2px; }
.pen-mode-toggle svg { width: 18px; height: 18px; }
.pen-mode-toggle__moon { display: none; }
html[data-theme="light"] .pen-mode-toggle__sun { display: none; }
html[data-theme="light"] .pen-mode-toggle__moon { display: block; }

/* ---- Navegação lateral (desktop; abaixo de 1024 px a gaveta faz esse papel) ---- */
.pen-sidenav { display: none; }
@media (min-width: 1024px) {
	body.pen-has-sidenav { padding-left: var(--pen-sidenav-w); }
	body.pen-has-sidenav .pen-sidenav { display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; left: 0; z-index: 60; width: var(--pen-sidenav-w); overflow-y: auto; background: var(--pen-sidenav-bg); color: var(--pen-sidenav-icon); }
}
.pen-sidenav__menu, .pen-sidenav__link { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; padding: 14px 6px; border: 0; background: none; color: inherit; font: 400 12px/1.2 var(--pen-ff-nav); text-align: center; text-decoration: none; cursor: pointer; }
.pen-sidenav__menu svg, .pen-sidenav__link svg { width: 24px; height: 24px; }
.pen-sidenav__list { list-style: none; margin: 0; padding: 0; }
.pen-sidenav__link:hover, .pen-sidenav__link[aria-current="page"] { color: var(--pen-sidenav-active); }
.pen-sidenav__menu:focus-visible, .pen-sidenav__link:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: -2px; }
.pen-sidenav__label { display: block; max-width: 100%; overflow-wrap: anywhere; }

/* ---- Corpo da notícia: parágrafos justificados (menus, metadados e botões seguem à esquerda) ---- */
.pen-content p { text-align: justify; hyphens: auto; }

/* ---- Editoria: destaques em mosaico (esquerda grande, centro duas empilhadas, direita lista) ---- */
.pen-cat-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--pen-gap); align-items: start; margin: 0 0 40px; }
.pen-cat-hero__lead, .pen-cat-hero__item { min-width: 0; }
.pen-cat-hero__stack { display: grid; gap: var(--pen-gap); min-width: 0; }
.pen-cat-hero__list { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; min-width: 0; }
.pen-cat-hero__list > li { min-width: 0; }
@media (max-width: 1015px) {
	.pen-cat-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pen-cat-hero__list { grid-column: 1 / -1; }
}
@media (max-width: 719px) {
	.pen-cat-hero { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Notícia: galeria (setas, contador, legenda e crédito; sem JavaScript mostra todas) ---- */
.pen-gallery { position: relative; margin-top: 0; margin-bottom: var(--pen-p-gap); }
.pen-gallery__viewport { position: relative; overflow: hidden; }
.pen-gallery__viewport:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 2px; }
.pen-gallery__track { list-style: none; margin: 0; padding: 0; }
.pen-gallery__slide { margin: 0; }
.pen-gallery__media { display: block; }
.pen-gallery__img { display: block; width: 100%; height: auto; }
.pen-gallery--ready .pen-gallery__slide:not(.is-active) { display: none; }
.pen-gallery__btn { display: none; position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; cursor: pointer; }
.pen-gallery--ready .pen-gallery__btn { display: flex; }
.pen-gallery__btn svg { width: 24px; height: 24px; }
.pen-gallery__prev { left: 12px; }
.pen-gallery__prev svg { transform: rotate(180deg); }
.pen-gallery__next { right: 12px; }
.pen-gallery__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pen-gallery__count { display: none; position: absolute; top: 12px; left: 12px; z-index: 2; margin: 0; padding: 4px 8px; border-radius: 3px; background: rgba(0, 0, 0, .6); color: #fff; font: 700 13px/1 var(--pen-ff-nav); }
.pen-gallery--ready .pen-gallery__count { display: block; }
.pen-gallery__caption { margin: 8px 0 0; font: 400 14px/1.4 var(--pen-ff-body); color: var(--pen-caption-color); }
.pen-gallery__credit { display: block; margin-top: 4px; color: var(--pen-text-3); }

/* ---- Notícia: fonte na linha de dados ---- */
.pen-single__source { margin: 4px 0 0; font: 400 14px/1.4 var(--pen-ff-body); color: var(--pen-text-2); }
.pen-single__source a { color: var(--pen-link); }

/* ---- Logos: versão clara e noturna (o modo ativo mostra a sua) ---- */
.pen-logo__variant--light { display: none; }
html[data-theme="light"] .pen-logo__variant--dark { display: none; }
html[data-theme="light"] .pen-logo__variant--light { display: block; }

/* ---- Logo do rodapé: alinhamento ---- */
.pen-footer__logo--centro { align-self: center; }
.pen-footer__logo--direita { align-self: flex-end; }

/* ---- Faixa de últimas notícias (ticker): da direita para a esquerda, pausa ao passar o mouse ---- */
.pen-ticker { display: flex; align-items: center; gap: 14px; min-height: 36px; padding: 0 var(--pen-side); background: var(--pen-ticker-bg); color: var(--pen-ticker-color); font: 400 14px/1.3 var(--pen-ff-nav); overflow: hidden; }
.pen-ticker__label { flex: none; margin: 0; font: 700 12px/1 var(--pen-ff-nav); letter-spacing: .08em; text-transform: uppercase; color: var(--pen-accent); }
.pen-ticker__viewport { position: relative; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.pen-ticker__track { display: flex; width: max-content; margin: 0; padding: 0; list-style: none; animation: pen-ticker-move var(--pen-ticker-dur, 60s) linear infinite; }
.pen-ticker__item { display: flex; align-items: center; gap: 8px; flex: none; padding-right: 36px; white-space: nowrap; }
.pen-ticker__cat { font-weight: 700; color: var(--pen-accent); }
.pen-ticker a { color: inherit; text-decoration: none; }
.pen-ticker a:hover, .pen-ticker a:focus-visible { text-decoration: underline; }
.pen-ticker--pausable:hover .pen-ticker__track, .pen-ticker--pausable:focus-within .pen-ticker__track { animation-play-state: paused; }
@keyframes pen-ticker-move { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.pen-ticker__track { animation: none; }
	.pen-ticker__viewport { overflow-x: auto; }
}

/* ---- Newsletter (barra lateral) ---- */
.pen-newsletter { padding: 20px; background: var(--pen-surface); border: 1px solid var(--pen-border); border-radius: var(--pen-more-radius, 3px); color: var(--pen-text); }
.pen-newsletter__head { display: flex; align-items: center; gap: 10px; color: var(--pen-accent); }
.pen-newsletter__title { margin: 0; font: 700 18px/1.2 var(--pen-ff-titles); color: var(--pen-text); }
.pen-newsletter__text { margin: 10px 0 0; font: 400 14px/1.45 var(--pen-ff-body); color: var(--pen-text-2); }
.pen-newsletter__label { display: block; margin: 14px 0 6px; font: 700 12px/1.2 var(--pen-ff-nav); letter-spacing: .06em; text-transform: uppercase; color: var(--pen-text-2); }
.pen-newsletter__row { display: flex; flex-wrap: wrap; gap: 8px; }
.pen-newsletter__input { flex: 1 1 160px; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--pen-border); border-radius: var(--pen-more-radius, 3px); background: var(--pen-bg); color: var(--pen-text); font: 400 15px/1.2 var(--pen-ff-body); }
.pen-newsletter__btn { height: 44px; padding: 0 16px; border: 0; border-radius: var(--pen-more-radius, 3px); background: var(--pen-accent); color: #FFFFFF; font: 700 14px/1 var(--pen-ff-nav); cursor: pointer; }
.pen-newsletter__input:focus-visible, .pen-newsletter__btn:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 2px; }
.pen-newsletter__privacy { margin: 12px 0 0; font: 400 12px/1.4 var(--pen-ff-body); color: var(--pen-text-2); }

/* ---- Notícia: salvar, seguir fonte e barra de tópicos ---- */
.pen-single__actions { display: none; flex-wrap: wrap; gap: 8px; margin: 16px auto 0; }
.pen-single__actions.is-ready { display: flex; }
.pen-single__save, .pen-single__follow { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid var(--pen-border); border-radius: 999px; background: var(--pen-surface); color: var(--pen-text); font: 700 13px/1 var(--pen-ff-nav); cursor: pointer; }
.pen-single__save[aria-pressed="true"], .pen-single__follow[aria-pressed="true"] { border-color: var(--pen-accent); color: var(--pen-accent); }
.pen-single__save:focus-visible, .pen-single__follow:focus-visible { outline: 2px solid var(--pen-focus); outline-offset: 2px; }
.pen-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 auto 16px; padding: 10px 0; border-bottom: 1px solid var(--pen-border); font: 400 14px/1.3 var(--pen-ff-nav); }
.pen-topics__label { margin: 0; font-weight: 700; color: var(--pen-accent); }
.pen-topics__list { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; }
.pen-topics__list a { color: var(--pen-text); text-decoration: none; }
.pen-topics__list a:hover, .pen-topics__list a:focus-visible { color: var(--pen-link-hover); text-decoration: underline; }
