:root {
	--font-inter: "Inter", "Inter Fallback", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--ro-shell: 1180px;
	--ro-header-shell: 1280px;
	--ro-border: #e6e8ef;
	--ro-muted: #667085;
	--ro-subtle: #f7f8fb;
	--ro-card: #ffffff;
	--ro-radius: 8px;
	--ro-shadow: 0 18px 45px rgba(16, 24, 40, .08);
	--ro-dropdown-speed: 360ms;
	--ro-dropdown-closed-transform: translate3d(0, -14px, 0);
	--ro-dropdown-open-transform: none;
	--ro-dropdown-inner-closed-transform: none;
	--ro-dropdown-inner-open-transform: none;
	--ro-dropdown-closed-clip: inset(0 0 0 0);
	--ro-dropdown-open-clip: inset(0 0 0 0);
	--ro-dropdown-panel-padding-top: 28px;
	--ro-dropdown-closed-opacity: 0;
	--ro-dropdown-position: absolute;
	--ro-dropdown-top: 66px;
	--ro-dropdown-z: 4;
	--ro-dropdown-transition-property: opacity, transform, visibility;
	--ro-dropdown-transition-duration: var(--ro-dropdown-speed), var(--ro-dropdown-speed), 0s;
	--ro-dropdown-transition-delay: 0s, 0s, var(--ro-dropdown-speed);

	/* Fonts */
	--font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--font-icons: 'Font Awesome 6 Free', 'Font Awesome 7 Pro', sans-serif;

	/* Brand palette */
	--blue-50: #E8ECFF;
	--blue-100: #D2DAFF;
	--blue-200: #B6C1FF;
	--blue-300: #77AFFD;
	--blue-400: #1F41FF;
	--blue-500: #001DBB;
	--blue-600: #001088;
	--white: #FFFFFF;

	/* Neutral palette */
	--neutral-50: #F5F5F5;
	--neutral-100: #E6E6E6;
	--neutral-150: #DCDFE4;
	--neutral-200: #C8C8C8;
	--neutral-300: #B8B8B8;
	--neutral-400: #A3A3A3;
	--neutral-500: #8C8C8C;
	--neutral-600: #727272;
	--neutral-700: #666666;
	--neutral-800: #292929;
	--neutral-900: #1A1A1A;
	--black: #000000;

	/* Semantic colors */
	--success-fg: #09A536;
	--success-bg: #C1FFD3;
	--warning-fg: #292929;
	--warning-bg: #FFDA59;
	--warning-solid: #F2C500;
	--danger-fg: #E01F2A;
	--danger-bg: #FFEAEB;
	--danger-solid: #FF381C;
	--danger-stroke: #FF8F95;
	--info-fg: #1F41FF;
	--info-bg: #E8ECFF;
	--accent-orange: #EF5533;
	--accent-purple: #9747FF;
	--accent-pink: #EA7EFF;

	/* Foreground tokens */
	--fg-primary: var(--neutral-800);
	--fg-secondary: var(--neutral-700);
	--fg-tertiary: var(--white);
	--fg-muted: var(--neutral-500);
	--fg-disabled: var(--neutral-300);
	--fg-brand: var(--blue-400);
	--fg-on-brand: var(--white);
	--fg-success: var(--success-fg);
	--fg-danger: var(--danger-fg);

	/* Background tokens */
	--bg-page: var(--white);
	--bg-surface: var(--white);
	--bg-subtle: var(--neutral-50);
	--bg-brand: var(--blue-400);
	--bg-brand-hover: var(--blue-500);
	--bg-brand-soft: var(--blue-50);
	--bg-success: var(--success-bg);
	--bg-warning: var(--warning-bg);
	--bg-danger: var(--danger-bg);
	--bg-info: var(--info-bg);

	/* Border tokens */
	--border-default: var(--neutral-100);
	--border-subtle: var(--neutral-150);
	--border-strong: var(--neutral-300);
	--border-focus: var(--blue-400);
	--border-danger: var(--danger-stroke);

	/* Font size / line-height scale */
	--fs-xxs: 10px; --lh-xxs: 15px;
	--fs-xs: 12px;  --lh-xs: 18px;
	--fs-sm: 14px;  --lh-sm: 20px;
	--fs-md: 16px;  --lh-md: 24px;
	--fs-lg: 18px;  --lh-lg: 27px;
	--fs-xl: 20px;  --lh-xl: 30px;
	--fs-xxl: 24px; --lh-xxl: 36px;
	--fs-display-sm: 24px; --lh-display-sm: 32px;
	--fs-display-md: 32px; --lh-display-md: 40px;
	--fs-display-lg: 48px; --lh-display-lg: 64px;

	/* Font weight scale */
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;

	/* Spacing scale */
	--space-0: 0px;
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-7: 28px;
	--space-8: 32px;
	--space-9: 40px;
	--space-10: 48px;
	--space-11: 56px;
	--space-12: 64px;
	--space-14: 80px;
	--space-16: 96px;

	/* Border radius scale */
	--radius-xs: 4px;
	--radius-sm: 5px;
	--radius-md: 8px;
	--radius-lg: 16px;
	--radius-xl: 24px;
	--radius-2xl: 32px;
	--radius-pill: 9999px;

	/* Elevation / shadow */
	--elev-1: 0 1px 2px rgba(0, 0, 0, 0.04);
	--elev-2: 0 4px 12px rgba(116, 125, 134, 0.08);
	--elev-3: 0 8px 24px rgba(0, 0, 0, 0.08);
	--elev-modal: 0 16px 48px rgba(0, 0, 0, 0.16);

	/* Easing & duration */
	--ease-out: cubic-bezier(.2, .8, .2, 1);
	--ease-in-out: cubic-bezier(.4, 0, .2, 1);
	--dur-fast: 120ms;
	--dur-base: 200ms;
	--dur-slow: 320ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--ro-body-bg);
	color: var(--ro-p-color);
	font-family: var(--ro-p-family);
	font-size: var(--ro-p-size);
	line-height: var(--ro-p-line);
	font-weight: var(--ro-p-weight);
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ro-brand); }

h1, h2, h3, h4, h5, h6, p, ul { margin-top: 0; }
h1 { color: var(--ro-h1-color); font-family: var(--ro-h1-family); font-size: var(--ro-h1-size); font-weight: var(--ro-h1-weight); line-height: var(--ro-h1-line); }
h2 { color: var(--ro-h2-color); font-family: var(--ro-h2-family); font-size: var(--ro-h2-size); font-weight: var(--ro-h2-weight); line-height: var(--ro-h2-line); }
h3 { color: var(--ro-h3-color); font-family: var(--ro-h3-family); font-size: var(--ro-h3-size); font-weight: var(--ro-h3-weight); line-height: var(--ro-h3-line); }
h4 { color: var(--ro-h4-color); font-family: var(--ro-h4-family); font-size: var(--ro-h4-size); font-weight: var(--ro-h4-weight); line-height: var(--ro-h4-line); }
h5 { color: var(--ro-h5-color); font-family: var(--ro-h5-family); font-size: var(--ro-h5-size); font-weight: var(--ro-h5-weight); line-height: var(--ro-h5-line); }
h6 { color: var(--ro-h6-color); font-family: var(--ro-h6-family); font-size: var(--ro-h6-size); font-weight: var(--ro-h6-weight); line-height: var(--ro-h6-line); }
p { color: var(--ro-p-color); font-family: var(--ro-p-family); font-size: var(--ro-p-size); font-weight: var(--ro-p-weight); line-height: var(--ro-p-line); }
ul { color: var(--ro-ul-color); font-family: var(--ro-ul-family); font-size: var(--ro-ul-size); font-weight: var(--ro-ul-weight); line-height: var(--ro-ul-line); }
li { color: var(--ro-li-color); font-family: var(--ro-li-family); font-size: var(--ro-li-size); font-weight: var(--ro-li-weight); line-height: var(--ro-li-line); }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus {
	position: fixed;
	left: 16px;
	top: 16px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	background: #fff;
	z-index: 1000;
}

.shell {
	width: min(var(--ro-shell), calc(100% - 40px));
	margin: 0 auto;
}
.masthead .shell {
	width: min(var(--ro-header-shell), calc(100% - 40px));
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	font-family: var(--font-sans);
	font-weight: var(--fw-semibold);
	font-size: 14px;
	border-radius: var(--radius-md);
	padding: 10px 18px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}
.btn-primary { background: var(--bg-brand); color: var(--fg-on-brand); }
.btn-primary:hover { color: var(--fg-on-brand); filter: brightness(.92); }
.btn-ghost { background: #eef2ff; color: var(--ro-brand); }

.masthead {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--ro-header-bg);
	border-bottom: 1px solid var(--ro-border);
	color: var(--ro-header-text);
}
.masthead::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 80px;
	height: 0;
	background: transparent;
	box-shadow: none;
	opacity: 0;
	transition: opacity var(--ro-dropdown-speed) ease;
	pointer-events: none;
	z-index: 1;
}
.masthead:has(.nav-menu > .menu-item-has-children:hover)::after,
.masthead:has(.nav-menu > .menu-item-has-children:focus-within)::after,
.masthead:has(.nav-menu > .menu-item-has-children.is-panel-open)::after {
	height: 0;
	opacity: 0;
}
@media (min-width: 721px) {
	.ro-header-main .ro-header-row-inner {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 24px;
		height: 80px;
		min-height: 80px;
		position: relative;
	}
}
.ro-header-main {
	background: var(--ro-header-bg);
	position: relative;
	z-index: 3;
}
.ro-header-categories {
	background: #eef2ff;
	border-top: 1px solid var(--ro-border);
}
.ro-header-categories .ro-header-row-inner {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	min-height: 78px;
	padding: 10px 0;
}
.ro-header-zone {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.ro-header-left { justify-content: flex-start; }
.ro-header-center { justify-content: flex-start; }
.ro-header-right { justify-content: flex-end; gap: 8px; }
.ro-header-categories .ro-header-left,
.ro-header-categories .ro-header-right {
	display: none;
}
.ro-header-categories .ro-header-center {
	justify-content: center;
	width: 100%;
}
/* Wrapper de botões e do toggle: transparentes no desktop, para não contarem no gap da zona */
.ro-header-btn-group,
.ro-header-toggle-group { display: contents; }

/* Garante estilo do botão ghost no header independente de sobreposições globais */
.ro-header-btn-group .btn-ghost {
	background: #eef2ff;
	color: var(--ro-brand);
}

.ro-header-btn-group .btn {
	align-items: center;
	border-radius: 8px;
	display: flex;
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	line-height: 16px;
	min-width: 124px;
	padding: 8px 24px;
	text-align: center;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 34px;
	font-weight: 800;
	color: var(--ro-header-text);
}
.brand img {
	align-self: flex-start;
	width: 115px;
	height: 32px;
	max-height: 32px;
	max-height: 32px;
	object-fit: contain;
}
.brand-fallback { font-size: 18px; }
.brand img.brand-logo-mobile { display: none; }
.nav-menu,
.nav-primary ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-menu {
	align-self: stretch;
	gap: 16px;
	overflow-x: auto;
	position: relative;
}
.nav-primary {
	position: static;
	z-index: 3;
}
.nav-menu > li {
	position: static;
	color: var(--rods-color-text-body);
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}
.nav-primary a {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--ro-header-text);
	white-space: nowrap;
}
.ro-menu-item-title {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--ro-header-text);
	white-space: nowrap;
	cursor: pointer;
	min-height: 36px;
	padding: 8px;
	border-radius: 8px;
	gap: 8px;
}
.nav-menu > .menu-item-has-children:hover > .ro-menu-item-title,
.nav-menu > .menu-item-has-children:focus-within > .ro-menu-item-title,
.nav-menu > .menu-item-has-children.is-panel-open > .ro-menu-item-title {
	background: #eef2ff;
	color: var(--ro-header-text);
}
.ro-menu-arrow-container {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 18px;
	color: var(--ro-brand);
	transition: transform .2s ease;
	transition-delay: .12s;
}
.ro-menu-arrow-icon {
	display: block;
	width: 12px;
	height: 16px;
	fill: currentColor;
}
.nav-menu > .menu-item-has-children:hover > .ro-menu-item-title .ro-menu-arrow-container,
.nav-menu > .menu-item-has-children:focus-within > .ro-menu-item-title .ro-menu-arrow-container,
.nav-menu > .menu-item-has-children.is-panel-open > .ro-menu-item-title .ro-menu-arrow-container {
	transform: rotate(180deg);
}
.nav-menu > li > a::after {
	content: none;
	display: none;
}
.nav-primary .sub-menu {
	position: var(--ro-dropdown-position);
	left: 0;
	top: var(--ro-dropdown-top);
	z-index: var(--ro-dropdown-z);
	display: grid;
	grid-template-columns: repeat(2, minmax(180px, 280px));
	column-gap: 86px;
	row-gap: 0;
	width: 100%;
	min-height: 310px;
	margin: 0;
	padding: 30px 20px 34px;
	list-style: none;
	background: transparent;
	opacity: var(--ro-dropdown-closed-opacity);
	visibility: hidden;
	transform: var(--ro-dropdown-closed-transform);
	clip-path: var(--ro-dropdown-closed-clip);
	transition-property: var(--ro-dropdown-transition-property);
	transition-duration: var(--ro-dropdown-transition-duration);
	transition-timing-function: ease;
	transition-delay: var(--ro-dropdown-transition-delay);
	pointer-events: none;
}
.nav-menu > .menu-item-has-children:hover > .sub-menu,
.nav-menu > .menu-item-has-children:focus-within > .sub-menu {
	z-index: 6;
	opacity: 1;
	visibility: visible;
	transform: var(--ro-dropdown-open-transform);
	clip-path: var(--ro-dropdown-open-clip);
	transition-delay: 0s;
	pointer-events: auto;
}
.nav-primary .sub-menu li {
	display: block;
}
.nav-primary .sub-menu a {
	display: block;
	padding: 8px 0;
	color: #666;
	font-size: 1rem;
	font-weight: 500;
	line-height: 24px;
}
.nav-primary .sub-menu a::after {
	content: none;
}
.nav-primary .sub-menu a:hover {
	color: var(--ro-brand);
}
.ro-submenu-panel {
	position: var(--ro-dropdown-position);
	left: 50%;
	top: var(--ro-dropdown-top);
	z-index: var(--ro-dropdown-z);
	width: 100vw;
	margin-left: -50vw;
	overflow: hidden;
	background: transparent;
	box-shadow: none;
	padding: 0;
	opacity: var(--ro-dropdown-closed-opacity);
	visibility: hidden;
	transform: var(--ro-dropdown-closed-transform);
	clip-path: var(--ro-dropdown-closed-clip);
	transition-property: var(--ro-dropdown-transition-property);
	transition-duration: var(--ro-dropdown-transition-duration);
	transition-timing-function: ease;
	transition-delay: var(--ro-dropdown-transition-delay);
	pointer-events: none;
}
.ro-submenu-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #fff;
	box-shadow: 0 16px 28px rgba(16, 24, 40, .08);
	transform: var(--ro-dropdown-inner-closed-transform);
	transition: transform var(--ro-dropdown-speed) ease;
	pointer-events: none;
}
.nav-menu > .menu-item-has-children:hover > .ro-submenu-panel,
.nav-menu > .menu-item-has-children:focus-within > .ro-submenu-panel,
.nav-menu > .menu-item-has-children.is-panel-open > .ro-submenu-panel {
	z-index: 6;
	opacity: 1;
	visibility: visible;
	transform: var(--ro-dropdown-open-transform);
	clip-path: var(--ro-dropdown-open-clip);
	transition-delay: 0s;
	pointer-events: auto;
}
.ro-submenu-panel-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(260px, 350px) minmax(180px, 250px);
	justify-content: flex-start;
	align-items: center;
	gap: 72px;
	width: min(var(--ro-header-shell), calc(100vw - 48px));
	min-height: 0;
	margin: 0 auto;
	padding: 28px 24px 64px;
	transform: var(--ro-dropdown-inner-closed-transform);
	transition: transform var(--ro-dropdown-speed) ease;
}
.nav-menu > .menu-item-has-children:hover > .ro-submenu-panel::before,
.nav-menu > .menu-item-has-children:focus-within > .ro-submenu-panel::before,
.nav-menu > .menu-item-has-children.is-panel-open > .ro-submenu-panel::before,
.nav-menu > .menu-item-has-children:hover > .ro-submenu-panel .ro-submenu-panel-inner,
.nav-menu > .menu-item-has-children:focus-within > .ro-submenu-panel .ro-submenu-panel-inner,
.nav-menu > .menu-item-has-children.is-panel-open > .ro-submenu-panel .ro-submenu-panel-inner {
	transform: var(--ro-dropdown-inner-open-transform);
	transition-delay: 0s;
}
.ro-submenu-content {
	width: 350px;
	min-width: 0;
}
.ro-submenu-panel-title {
	margin: 0 0 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #d7dce8;
	color: #000;
	font-family: var(--ro-p-family);
	font-size: 1rem;
	font-weight: 700;
	line-height: 16px;
	letter-spacing: .1px;
	text-transform: uppercase;
}
.ro-submenu-panel-links {
	display: grid;
	gap: 16px;
}
.ro-submenu-panel.has-many-links .ro-submenu-panel-inner {
	grid-template-columns: calc(var(--ro-submenu-cols, 2) * 350px + (var(--ro-submenu-cols, 2) - 1) * 72px) minmax(180px, 250px);
}
.ro-submenu-panel.has-many-links.no-media .ro-submenu-panel-inner {
	grid-template-columns: calc(var(--ro-submenu-cols, 2) * 350px + (var(--ro-submenu-cols, 2) - 1) * 72px);
}
.ro-submenu-panel.has-many-links .ro-submenu-content {
	width: 100%;
}
.ro-submenu-panel.has-many-links .ro-submenu-panel-links {
	grid-template-columns: repeat(var(--ro-submenu-cols, 2), 350px);
	grid-auto-flow: column;
	grid-template-rows: repeat(8, auto);
	column-gap: 72px;
}
.ro-submenu-panel-links a {
	display: block;
	padding: 0;
	color: #666;
	font-size: 1rem;
	font-weight: 500;
	line-height: 24px;
	white-space: normal;
}
.ro-submenu-panel-links a::after {
	content: none;
}
.ro-submenu-panel-links a:hover {
	color: var(--ro-brand);
}
.ro-submenu-panel-media {
	align-self: start;
	margin: auto;
	width: 255px;
	height: 257px;
	max-width: 255px;
	overflow: hidden;
	border-radius: 8px;
}
.ro-submenu-panel-media img,
.ro-submenu-panel-media iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
}
.ro-submenu-panel-media img {
	height: 255px;
	object-fit: cover;
	object-position: top;
}
.masthead-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.ro-nav-mobile-btns { display: none; }
.ro-nav-mobile-head,
.ro-nav-close { display: none; }

.hamburger {
	display: none;
	background: none;
	border: none;
	padding: 6px;
	cursor: pointer;
	color: var(--ro-header-text);
	line-height: 0;
}
.hamburger .hamburger-icon-close { display: none; }
body.menu-open .hamburger .hamburger-icon-open { display: none; }
body.menu-open .hamburger .hamburger-icon-close { display: inline-block; }
.hamburger span {
	display: none;
	height: 2px;
	margin: 4px 0;
	background: var(--ro-header-text);
}

.ro-header-categories .ro-category-menu {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 16px;
	width: 100%;
}
.ro-header-categories .ro-category-menu-list {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	column-gap: 4px;
	row-gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
.ro-header-categories .ro-category-menu-list li {
	display: flex;
	align-items: center;
}
.ro-header-categories .ro-category-menu-list .ro-category-search-item {
	margin-left: auto;
}
.ro-header-categories .ro-category-menu-list a {
	flex: 0 0 auto;
	padding: 6px 11px;
	border-radius: 4px;
	font-size: 13.5px;
	line-height: 24px;
	font-weight: 700;
	color: #1839b8;
	background: transparent;
	white-space: nowrap;
}
.ro-header-categories .ro-category-menu-list a:not(.active):hover {
	padding: 6px 11px;
	background: #ffffff;
	color: var(--ro-brand);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ro-header-categories .ro-category-menu-list a.active {
	border-radius: 4px;
	background: var(--ro-brand);
	padding: 6px 11px;
	color: #ffffff;
}
.ro-header-categories .ro-category-menu-list a.active:hover {
	padding: 6px 11px;
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ro-header-categories .ro-category-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	flex: none;
	padding: 7px 14px;
	border-radius: 999px;
	color: #1839b8;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}
.ro-header-categories .ro-category-search .fa-magnifying-glass {
	font-size: 13px;
}
.ro-header-categories .ro-category-search:hover {
	color: var(--ro-brand);
	background: rgba(255, 255, 255, .6);
}

.ro-catmenu-toggle {
	display: none;
}

.ro-catmenu-label {
	display: none;
}

@media (max-width: 960px) {
	.ro-header-categories .ro-category-menu {
		position: relative;
	}

	.ro-header-categories .ro-category-menu-list {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		row-gap: 5px;
		padding-right: 40px;
	}

	.ro-header-categories .ro-category-menu-list a,
	.ro-header-categories .ro-category-menu-list a:not(.active):hover,
	.ro-header-categories .ro-category-menu-list a.active,
	.ro-header-categories .ro-category-menu-list a.active:hover {
		padding: 3px 5.5px;
		font-size: 12px;
		line-height: 18px;
	}

	/* Colapsado: mostra apenas o rótulo "Todas as categorias", a lista fica oculta */
	.ro-header-categories .ro-category-menu.has-overflow:not(.is-expanded) .ro-category-menu-list {
		display: none;
	}

	.ro-header-categories .ro-category-menu.has-overflow:not(.is-expanded) .ro-catmenu-label {
		display: inline-flex;
		align-items: center;
		min-height: 30px;
		padding-right: 40px;
		font-size: 13px;
		font-weight: 700;
		color: #1839b8;
	}

	/* Expandido: o rótulo some e a lista completa volta a aparecer */
	.ro-header-categories .ro-category-menu.is-expanded .ro-catmenu-label {
		display: none;
	}

	/* Seta redonda alinhada à direita, igual o hamburguer do menu principal */
	.ro-header-categories .ro-category-menu.has-overflow .ro-catmenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 0;
		right: 0;
		width: 30px;
		height: 30px;
		margin: 0;
		padding: 0;
		background: transparent;
		border: 1.5px solid #1839b8;
		border-radius: 50%;
		color: #1839b8;
		font-size: 12px;
		cursor: pointer;
		transition: background .2s, color .2s, transform .2s;
	}

	.ro-header-categories .ro-category-menu.has-overflow .ro-catmenu-toggle:hover {
		background: #1839b8;
		color: #fff;
	}

	/* Expandido: a seta desce para o rodapé da lista em vez de ficar no meio */
	.ro-header-categories .ro-category-menu.is-expanded .ro-catmenu-toggle {
		top: auto;
		bottom: 0;
		transform: rotate(180deg);
	}
}

.layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 56px;
	padding: 45px 0 72px;
}
.post-layout {
	display: grid;
	grid-template-columns: minmax(0, 740px) 320px;
	gap: 64px;
	padding: 48px 0 80px;
	align-items: start;
}
.page-shell { padding: 56px 0 80px; }
.sticky { position: sticky; top: 150px; }

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
	color: #8c8c8c;
	font-size: 12px;
	font-weight: 600;
}
.breadcrumb a { color: var(--ro-brand); text-decoration: underline; text-underline-offset: 2px; }
.breadcrumb span { color: #8c8c8c; }
.breadcrumb-sep { font-size: 10px; color: #8c8c8c; }

.featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44%;
	overflow: hidden;
	border-radius: var(--ro-radius);
	background: linear-gradient(135deg, var(--ro-brand), #1021d9);
	box-shadow: var(--ro-shadow);
	margin-bottom: 44px;
}
.featured-body {
	padding: 38px;
	color: #fff;
}
.featured h2,
.featured h2 a,
.featured p { color: #fff; }
.featured h2 { margin-bottom: 14px; }
.f-cat,
.cat-line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 800;
	color: var(--ro-brand);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.cat-line a { color: inherit; }
.cat-line .sep {
	background: #b6c1ff;
	opacity: 1;
}
.cat-line a.cat-line-child {
	color: #8c8c8c;
	font-weight: 500;
}
.f-excerpt { opacity: .9; }
.pin-flag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 16px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	font-size: 12px;
	font-weight: 800;
	color: #fff;
}
.featured-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.byline {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}
.avatar {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 999px;
	object-fit: cover;
}
.byline .meta {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.author { font-size: 14px; font-weight: 800; }
.sub { color: var(--ro-muted); font-size: 13px; font-weight: 600; }
.featured .sub { color: rgba(255, 255, 255, .74); }
.sep::before { content: "."; margin: 0 6px; }

.list-head,
.cat-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}
.list-head h3,
.cat-title-row h1 { margin: 0; }
.cat-head {
	padding-bottom: 24px;
	border-bottom: 1px solid var(--ro-border);
	margin-bottom: 26px;
}
.cat-count {
	font-size: 17px;
	font-weight: 500;
	color: var(--ro-muted);
	white-space: nowrap;
	flex-shrink: 0;
}

.post-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.post-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 28px;
	padding: 28px 0;
	border-bottom: 1px solid var(--ro-border);
}
.post-row.no-image { grid-template-columns: 1fr; }
.r-title { margin: 0 0 10px; }
.r-title a { color: inherit; }
.r-excerpt { color: var(--ro-muted); margin-bottom: 0; }
.r-thumb img {
	width: 190px;
	height: 138px;
	border-radius: var(--ro-radius);
	object-fit: cover;
}
.compact { margin-top: 16px; }
.compact .avatar { width: 34px; height: 34px; }

.navigation.pagination { margin-top: 36px; }
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	border: 1px solid var(--ro-border);
	border-radius: var(--ro-radius);
	padding: 0 12px;
	font-size: 14px;
	font-weight: 800;
}
.page-numbers.current {
	background: var(--ro-brand);
	border-color: var(--ro-brand);
	color: #fff;
}

.article {
	max-width: 760px;
}
.post-title { margin-bottom: 18px; }
.post-lead {
	margin-bottom: 26px;
	color: var(--ro-muted);
	font-size: 21px;
	line-height: 1.55;
}
.post-meta {
	padding: 18px 0 26px;
	border-top: 1px solid var(--ro-border);
}
.post-hero {
	margin: 0 0 32px;
}
.post-hero img {
	width: 100%;
	border-radius: var(--ro-radius);
}
figcaption {
	margin-top: 10px;
	color: var(--ro-muted);
	font-size: 13px;
}
.article > p,
.article > ul,
.article > ol,
.article > blockquote,
.article > h2,
.article > h3 {
	margin-bottom: 24px;
}
.article ul,
.article ol { padding-left: 1.4em; }
.article blockquote {
	margin-left: 0;
	padding: 22px 26px;
	border-left: 4px solid var(--ro-brand);
	background: var(--ro-subtle);
	border-radius: var(--ro-radius);
}

.widget {
	margin-bottom: 28px;
}
.widget-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
.widget-head h4 { margin: 0; }
.ic {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ro-accent);
}
.box,
.promo,
.author-card {
	border: 1px solid var(--ro-border);
	border-radius: var(--ro-radius);
	background: var(--ro-card);
	padding: 20px;
}
.cat-grid {
	display: grid;
	gap: 8px;
}
.cat-grid a {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 12px;
	border-radius: var(--ro-radius);
	background: var(--ro-subtle);
	font-size: 14px;
	font-weight: 800;
}
.count { color: var(--ro-muted); }
.promo {
	background: linear-gradient(135deg, var(--ro-brand), #1021d9);
	color: #fff;
}
.promo h4,
.promo p { color: #fff; }
.promo p { opacity: .85; margin-bottom: 0; }
.a-top {
	display: flex;
	gap: 12px;
	align-items: center;
}
.a-avatar {
	width: 56px;
	height: 56px;
	border-radius: 999px;
}
.a-name { font-weight: 800; }
.a-role { color: var(--ro-muted); font-size: 13px; line-height: 1.45; }

.footer {
	border-top: 1px solid var(--ro-border);
	background: var(--ro-footer-bg);
	color: var(--ro-footer-text);
}
.footer-in {
	display: flex;
	justify-content: space-between;
	gap: 42px;
	padding: 48px 0;
}
.f-brand { max-width: 360px; }
.f-brand img { max-height: 32px; width: auto; margin-bottom: 14px; }
.f-brand p { color: var(--ro-footer-text); font-size: 14px; }
.f-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
}
.f-col h5 {
	margin-bottom: 14px;
	color: var(--ro-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.f-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.f-col a {
	display: block;
	margin-bottom: 10px;
	color: var(--ro-footer-text);
	font-size: 14px;
	font-weight: 700;
}
.footer-bottom {
	border-top: 1px solid var(--ro-border);
}
.footer-bottom .shell {
	padding: 18px 0;
	color: var(--ro-muted);
	font-size: 13px;
	font-weight: 700;
}

@media (max-width: 1080px) {
	.layout,
	.post-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 42px;
	}
	.col-side,
	.post-side { max-width: 680px; }
	.sticky { position: static; }
	body.menu-open .masthead { z-index: 56; }
	.ro-menu-overlay {
		display: block;
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.4);
		z-index: 55;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	body.menu-open .ro-menu-overlay {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.nav-primary {
		position: fixed;
		top: 80px;
		left: 0;
		width: 80%;
		max-width: 80%;
		height: stretch;
		max-height: calc(100vh - 80px);
		padding: 24px 0 16px 16px;
		display: flex;
		flex-direction: column;
		background: #fff;
		overflow-y: auto;
		z-index: 56;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateX(-100%);
		transition: transform .3s ease-in-out;
	}
	body.menu-open .nav-primary {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0);
	}
	.ro-nav-mobile-head { display: none; }
	.ro-nav-close {
		display: flex;
		align-items: center;
		justify-content: center;
		background: none;
		border: none;
		cursor: pointer;
		color: var(--ro-header-text);
		padding: 8px;
		width: 40px;
		height: 40px;
	}
	.ro-nav-mobile-btns {
		display: flex;
		align-items: center;
		gap: 8px;
		padding-bottom: 32px;
		padding-right: 16px;
		border-bottom: 1px solid #ced1d5;
		margin-bottom: 32px;
		flex-shrink: 0;
	}
	.ro-nav-mobile-btns .btn-primary { order: 1; }
	.ro-nav-mobile-btns .btn-ghost   { order: 2; }
	.ro-nav-mobile-btns .btn {
		border: none;
		border-radius: 8px;
		display: flex;
		font-size: 14px;
		font-weight: 600;
		justify-content: center;
		letter-spacing: .4px;
		line-height: 16px;
		min-width: 65px;
		padding: 8px 16px;
		height: auto;
		white-space: nowrap;
	}
	.ro-nav-mobile-btns .btn-ghost {
		background: #eef2ff;
		color: #1f41ff;
		border-color: transparent;
	}
	.nav-primary .btn-primary {
		padding: 8px 24px;
		border: 1px solid #2244ff;
		border-left: 0px;
		border-right: 0px;
		padding-top: 7px;
		padding-right: 24px;
		padding-bottom: 9px;
		padding-left: 24px;
		border-radius: 8px;
		display: flex;
		font-size: 14px;
		font-weight: 600;
		justify-content: center;
		letter-spacing: .4px;
		line-height: 16px;
		text-transform: none;
		background-color: var(--theme-main);
		color: #fff;
	}
	.nav-primary .btn-ghost {
		padding: 8px 24px;
		background-color: #ebeeff;
		border: 1px solid #ebeeff;
		color: var(--theme-main);
		border-radius: 8px;
		display: flex;
		font-size: 14px;
		font-weight: 600;
		justify-content: center;
		letter-spacing: .4px;
		line-height: 16px;
		text-transform: none;
	}
	.nav-menu,
	.nav-primary ul {
		flex-direction: column;
		align-items: stretch;
		padding: 12px 16px;
		gap: 0;
	}
	.nav-primary .nav-menu {
		padding: 0px;
		padding-right: 16px;
	}
	.nav-primary .nav-menu > li {
		margin-bottom: 0px;
	}
	.nav-primary a { display: block; padding: 12px 0; }
	.ro-menu-item-title {
		color: #333;
		font-size: 20px;
		font-weight: 600;
		line-height: 32px;
		display: inline-flex;
		align-items: center;
		width: fit-content;
		min-height: 0;
		padding: 4px 8px;
		border-radius: 8px;
		gap: 8px;
		margin-bottom: 16px;
	}
	/* No touch, o toque no gatilho deixa foco preso — :focus-within/:hover não podem
	   manter o destaque/rotação depois que o item foi fechado via clique. */
	.nav-menu > .menu-item-has-children:hover:not(.is-panel-open) > .ro-menu-item-title,
	.nav-menu > .menu-item-has-children:focus-within:not(.is-panel-open) > .ro-menu-item-title {
		background: transparent;
	}
	.nav-menu > .menu-item-has-children:hover:not(.is-panel-open) > .ro-menu-item-title .ro-menu-arrow-container,
	.nav-menu > .menu-item-has-children:focus-within:not(.is-panel-open) > .ro-menu-item-title .ro-menu-arrow-container {
		transform: none;
	}
	.ro-menu-arrow-icon { fill: #333; margin-bottom: 2px; }
	.ro-submenu-panel {
		position: static !important;
		left: auto !important;
		margin-left: 0 !important;
		display: block;
		width: 100% !important;
		min-height: 0;
		opacity: 1 !important;
		visibility: visible;
		transform: none !important;
		box-shadow: none;
		pointer-events: auto;
	}
	.ro-submenu-panel::before {
		display: none;
	}
	.ro-submenu-panel-collapse {
		height: 0;
		overflow: hidden;
		transition: height .3s ease;
	}
	.ro-submenu-panel-inner {
		display: block;
		width: 100%;
		margin: 0;
		min-height: 0;
		padding: 0px;
		transform: none;
	}
	.ro-submenu-content {
		padding: 16px;
		padding-top: 0px;
		margin-bottom: 0px;
	}
	.ro-submenu-panel-title {
		margin: 0 0 8px;
		border-bottom: 1px solid #ced1d5;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0px;
		line-height: 20px;
		padding-bottom: 8px;
		text-transform: uppercase;
	}
	.ro-submenu-panel-links {
		gap: 8px;
	}
	.nav-primary .ro-submenu-panel-links a {
		padding: 0px;
		color: #676c72;
		font-size: 14px;
		font-weight: 500;
		line-height: 24px;
	}
	.ro-submenu-panel.has-many-links .ro-submenu-panel-links {
		grid-template-columns: 1fr;
		grid-auto-flow: row;
		grid-template-rows: none;
	}
	.ro-submenu-panel-media {
		margin: 0;
		width: 100%;
		max-width: 100%;
	}
	.ro-submenu-panel-media img {
		width: 250px;
		height: auto;
	}
	.hamburger { display: inline-block; }
}

@media (max-width: 720px) {
	.shell { width: min(100% - 28px, var(--ro-shell)); }
	/* Header row: uma única linha flex — logo, botões e hambúrguer como 3 itens diretos do mesmo container (igual ao original) */
	.ro-header-main .shell.ro-header-row-inner {
		align-items: center;
		background-color: #fff;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		min-height: 80px;
		padding: 0 24px;
		width: 100%;
		position: relative;
		z-index: 100;
	}

	/* Left zone: sem caixa própria — o link da logo vira item direto do row-inner */
	.ro-header-main .ro-header-left { display: contents; }

	/* Center zone: NÃO usar display:none — bloqueia o nav-primary fixo do hamburger.
	   Deixar colapsada (vazia, 0×0) já que nav-primary tem position:fixed. */
	.ro-header-main .ro-header-center { flex: 0; overflow: hidden; width: 0; }

	/* Logo mobile: símbolo 25×28 */
	.brand { height: 30px; }
	.brand img.brand-logo-desktop { display: none; }
	.brand img.brand-logo-mobile  { display: block; width: 25px; height: 28px; }
	.brand .brand-fallback.brand-logo-desktop { display: none; }

	/* Right zone: sem caixa própria — botões e hambúrguer viram itens diretos do row-inner, como os 3 elementos do original */
	.ro-header-main .ro-header-right { display: contents; }

	/* No mobile o toggle-group volta a ter caixa própria (é o 3º item direto do row-inner) */
	.ro-header-main .ro-header-toggle-group { display: flex; align-items: center; }

	/* Hambúrguer empurrado para a ponta direita; botões ficam colados ao logo */
	.ro-header-main .ro-header-row-inner .hamburger {
		margin-left: auto;
		margin-bottom: 2px;
		padding: 0px;
		padding-left: 12px;
	}

	.ro-header-btn-group {
		display: flex;
		align-items: center;
		gap: 16px;
	}
	/* Some enquanto o nav-primary estiver aberto */
	body.menu-open .ro-header-btn-group { display: none; }
	/* Ordem garantida: Cadastrar (primary) → Entrar (ghost) */
	.ro-header-btn-group .btn-primary { order: 1; }
	.ro-header-btn-group .btn-ghost   { order: 2; }

	.ro-header-btn-group .btn {
		border: none;
		border-radius: 8px;
		display: flex;
		font-size: 14px;
		font-weight: 600;
		justify-content: center;
		letter-spacing: .4px;
		line-height: 16px;
		min-width: 65px;
		padding: 8px 16px;
		height: auto;
		white-space: nowrap;
	}
	.ro-header-btn-group .btn-ghost {
		background: #eef2ff;
		color: #1f41ff;
		border-color: transparent;
	}
	.ro-header-categories { position: static; z-index: 0; }
	.ro-header-categories .ro-header-row-inner {
		display: block;
		min-height: 0;
		padding: 10px 20px;
		margin: 0px;
		width: auto;
	}
	.masthead-actions .btn { display: none; }
	.layout,
	.post-layout { padding-top: 32px; }
	.featured { grid-template-columns: 1fr; }
	.featured-media { order: -1; min-height: 220px; }
	.featured-body { padding: 26px; }
	.post-row {
		grid-template-columns: 1fr 112px;
		gap: 18px;
	}
	.r-thumb img {
		width: 112px;
		height: 92px;
	}
	.footer-in { flex-direction: column; }
	.f-cols { gap: 28px; }
}

/* Model alignment: blog reference package */
:root {
	--ro-shell: 1280px;
	--ro-header-shell: 1280px;
	--theme-lighter: #EBEEFF;
	--theme-light: #CCD4FF;
	--theme-semi-light: #90A1FF;
	--theme-main: #2244FF;
	--theme-dark: #00158A;
	--ro-brand: #1f41ff;
	--ro-accent: #1f41ff;
	--ro-border: #e6e6e6;
	--ro-muted: #666666;
	--ro-subtle: #f5f5f5;
	--ro-card: #ffffff;
	--ro-radius: 8px;
	--ro-blue-soft: #e8ecff;
	--ro-blue-soft-2: #d2daff;
	--ro-blue-deep: #001088;
	--font-article: Georgia, "Times New Roman", serif;
}

body {
	background: #ffffff;
	color: #292929;
	overflow-x: hidden;
}

.shell {
	width: min(var(--ro-shell), calc(100% - clamp(40px, 10vw, 112px)));
}

.masthead {
	z-index: 60;
	box-shadow: none;
}

@media (min-width: 721px) {
	.ro-header-main .ro-header-row-inner {
		min-height: 80px;
		height: auto;
		gap: 24px;
	}
}

.ro-header-categories {
	background: var(--ro-blue-soft);
	border-top: 0;
	border-bottom: 1px solid var(--ro-blue-soft-2);
}

.ro-header-categories .ro-header-row-inner {
	justify-items: start;
	min-height: 96px;
	padding: 12px 0;
}

.ro-category-menu {
	justify-content: flex-start;
	gap: 4px 18px;
}

.ro-category-menu a {
	border-radius: 4px;
	color: #001088;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 0;
}

.ro-category-menu a:hover,
.ro-category-menu .current-menu-item > a,
.ro-category-menu .current-cat > a {
	background: #1f41ff;
	color: #ffffff;
	padding-inline: 12px;
}

.nav-primary a {
	font-size: 15px;
	font-weight: 500;
}

.nav-menu > li > a {
	font-size: 16px;
}

.ro-submenu-panel-links a {
	font-size: 16px;
}

.btn-primary {
	background: var(--bg-brand);
}

.btn-ghost {
	background: transparent;
	color: #001088;
}

.layout {
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 56px;
	padding-top: 45px;
	padding-bottom: 96px;
}

.home-head {
	max-width: 720px;
	margin: 0 0 30px;
}

.home-eyebrow {
	margin: 0 0 12px;
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.home-title {
	max-width: 780px;
	margin: 0;
	color: #292929;
	font-size: clamp(38px, 5vw, 56px);
	font-weight: 900;
	line-height: 1.02;
}

.home-sub {
	max-width: 62ch;
	margin: 18px 0 0;
	color: #666666;
	font-family: var(--font-article);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.55;
}

.featured {
	grid-template-columns: 1.05fr .95fr;
	border-radius: 24px;
	background: var(--ro-blue-deep);
	box-shadow: 0 4px 12px rgba(116, 125, 134, .08);
}

.featured-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(30px, 4vw, 48px);
}

.pin-flag {
	align-self: flex-start;
	border-radius: 4px;
	background: rgba(255, 255, 255, .14);
	padding: 8px 18px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.featured h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 900;
	line-height: 1.08;
}

.featured .f-cat {
	margin-bottom: 14px;
	color: #b6c1ff;
}

.featured .f-excerpt,
.post-row .r-excerpt {
	font-family: var(--font-article);
	font-weight: 400;
}

.featured .f-excerpt {
	margin-top: 18px;
	color: rgba(255, 255, 255, .82);
	font-size: 17px;
	line-height: 1.58;
}

.featured-media {
	position: relative;
	min-height: 340px;
	background: #001dbb;
}

.featured-media img {
	position: absolute;
	inset: 0;
	height: 100%;
}

.list-head {
	align-items: baseline;
	margin-bottom: 8px;
	padding-bottom: 14px;
	border-bottom: 2px solid #292929;
}

.list-head h3 {
	font-size: 20px;
	font-weight: 900;
}

.post-row {
	grid-template-columns: minmax(0, 1fr) 188px;
	align-items: start;
	padding: 28px 0;
}

.post-row:hover .r-title {
	color: #1f41ff;
}

.r-title {
	font-size: 23px;
	font-weight: 800;
	line-height: 1.22;
}

.r-excerpt {
	max-width: 62ch;
	margin-top: 12px;
	color: #666666;
	font-size: 16px;
	line-height: 1.6;
}

.r-thumb {
	width: 188px;
	height: 140px;
	overflow: hidden;
	border: 1px solid var(--ro-border);
	border-radius: 16px;
	background: var(--ro-subtle);
}

.r-thumb img {
	width: 100%;
	height: 100%;
	border-radius: 0;
}

.post-row.no-image .r-body {
	padding-left: 18px;
	border-left: 3px solid var(--ro-blue-soft-2);
}

.byline .author {
	color: inherit;
	font-weight: 700;
}

.byline .sub {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px 8px;
}

.sep::before {
	content: none;
}

.sep {
	display: inline-block;
	vertical-align: middle;
	width: 3px;
	height: 3px;
	margin-left: 5px;
	margin-right: 5px;
	border-radius: 50%;
	background: currentColor;
	opacity: .6;
}

.sticky {
	top: 190px;
}

.widget-head {
	margin-bottom: 16px;
}

.widget-head h4 {
	color: #292929;
	font-size: 20px;
	font-weight: 600;
}

.ic {
	width: 24px;
	height: 24px;
	border-radius: 8px;
	background: var(--ro-blue-soft);
}

.box,
.promo,
.author-card {
	border-radius: 24px;
	padding: 26px;
	box-shadow: none;
}

.latest-box {
	padding: 0;
	overflow: hidden;
}

.latest-link {
	display: grid;
	gap: 8px;
	padding: 26px;
	border-bottom: 1px solid var(--ro-border);
}

.latest-link:last-child {
	border-bottom: 0;
}

.latest-link:hover {
	background: #fbfbff;
	color: inherit;
}

.latest-cat {
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.latest-title {
	color: #292929;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
}

.latest-date {
	color: #8c8c8c;
	font-size: 13px;
	font-weight: 500;
}

.cat-grid a {
	border-radius: 8px;
	background: var(--ro-subtle);
	padding: 12px 14px;
}

.post-layout {
	grid-template-columns: minmax(0, 760px) 320px;
	gap: 72px;
	padding-top: 54px;
}

.breadcrumb {
	margin-bottom: 28px;
}

.article {
	max-width: 760px;
}

.post-title {
	max-width: 760px;
	margin-bottom: 22px;
	color: #292929;
	font-size: clamp(42px, 5vw, 64px);
	font-weight: 900;
	line-height: 1.04;
}

.post-lead {
	max-width: 720px;
	color: #666666;
	font-family: var(--font-article);
	font-size: clamp(20px, 2vw, 23px);
	font-weight: 400;
	line-height: 1.55;
}

.post-meta {
	margin-top: 34px;
	padding: 28px 0;
	border-top: 1px solid var(--ro-border);
}

.post-hero img {
	border-radius: 24px;
}

.article > p,
.article li {
	color: #444444;
	font-family: var(--font-article);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.72;
}

.article > h2 {
	margin-top: 44px;
	color: #292929;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.2;
}

.article > h3 {
	margin-top: 34px;
	color: #292929;
	font-size: 23px;
	font-weight: 850;
	line-height: 1.28;
}

.article blockquote {
	border-left-color: #1f41ff;
	border-radius: 8px;
	background: var(--ro-blue-soft);
}

.cat-head,
.serp-top {
	margin-bottom: 28px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--ro-border);
}

.cat-title-row h1,
.search-title-row h1 {
	font-size: clamp(27px, 2.9vw, 38px);
	font-weight: 900;
	line-height: 1.08;
}

.cat-title-row {
	justify-content: flex-start;
	align-items: baseline;
}

/* Círculo separador dentro do cat-count */
.cat-count .sep {
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #b6c1ff;
	vertical-align: middle;
	margin: 0 16px 1px 0;
}

.cat-count .sep::before {
	content: none;
}

/* Cat-head sem borda quando seguido do subfilter */
.cat-head.has-subfilter {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 16px;
}

/* Subfilter sticky — lives outside the two-column grid, full-width */
.cat-subfilter-wrap {
	position: sticky;
	top: 191px;
	z-index: 50;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #edf0ff;
	background: #ffffff;
}

.cat-header-shell {
	padding-top: 45px;
}

.cat-layout {
	align-items: start;
}

.cat-subfilter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin-bottom: 24px;
}

.cat-subfilter a {
	padding: 8px 14px;
	border: 1px solid var(--ro-border);
	border-radius: 4px;
	background: #ffffff;
	color: #666666;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	transition: all 120ms cubic-bezier(.2, .8, .2, 1);
}

.cat-subfilter a:hover {
	border-color: #b6c1ff;
	background: var(--ro-blue-soft);
	color: #1f41ff;
}

.cat-subfilter a.active {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}

/* ── Search Landing ─────────────────────────────────────────── */
.search-landing {
	padding: 64px 0 80px;
}
.search-landing-hero {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 56px;
}
.search-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ro-brand);
	margin: 0 0 16px;
}
.search-hero-title {
	font-weight: 800;
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #101828;
	margin: 0;
}
.search-hero-desc {
	font-family: var(--font-article);
	font-weight: 400;
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.55;
	color: var(--fg-secondary);
	margin: 16px auto 0;
	max-width: 52ch;
}

.search-hero-copy {
	margin-bottom: var(--space-8);
}

.search-head {
	margin-bottom: 32px;
}

.authors-head {
	text-align: center;
	max-width: 600px;
	margin: 0 auto 48px;
}
.search-hero-box {
	max-width: 680px;
	margin: 0 auto;
}
.search-shortcuts {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	justify-content: center;
}
.search-shortcuts-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #999;
}
.search-shortcuts a {
	font-size: 14px;
	font-weight: 500;
	color: var(--ro-brand);
	text-decoration: none;
}
.search-shortcuts a:hover {
	text-decoration: underline;
}

/* Discovery grid */
.search-discovery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-7) var(--space-10);
	align-items: start;
}
.search-disc-col > h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: 700;
	color: #101828;
	margin: 0 0 20px;
}
.search-disc-ic {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--ro-blue-soft);
	color: var(--ro-brand);
	font-size: 13px;
	flex-shrink: 0;
}

/* Category list */
.search-cat-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.search-cat-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 11px 0;
	border-bottom: 1px solid var(--ro-border);
	text-decoration: none;
	color: #292929;
	font-size: 15px;
	font-weight: 500;
	transition: color 120ms ease;
}
.search-cat-item:hover { color: var(--ro-brand); }
.search-cat-list li:last-child .search-cat-item { border-bottom: 0; }
.search-cat-count {
	color: #999;
	font-size: 14px;
	font-weight: 600;
	flex-shrink: 0;
}

.ncm-sumario-rules-link {
	margin-top: 28px;
}

.ncm-gnews-card {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: #292929;
	transition: border-color 120ms ease;
}
.ncm-gnews-card:hover {
	border-color: var(--ro-brand);
}
.ncm-gnews-logo {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}
.ncm-gnews-text {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.setor-body {
	padding: 45px 0 72px;
}

.archive-description {
	margin-top: 10px;
	color: var(--ro-muted);
	font-size: 16px;
}

.acoes-filter-group {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.acoes-filter-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	color: #666;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}
.acoes-filter-option input {
	accent-color: var(--ro-brand);
}
.acoes-filter-option.is-active {
	color: var(--ro-brand);
	font-weight: 700;
}

.acao-body {
	margin: 0 auto;
	padding: 45px 0 72px;
}
.acao-body .post-title {
	max-width: none;
	margin-top: 16px;
}

.acoes-bolsas-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 900px;
	margin: 0 auto;
}
.acoes-bolsa-title {
	margin: 0 0 16px;
	font-size: 22px;
	line-height: 30px;
}
.acoes-bolsa-title a {
	color: #292929;
	text-decoration: none;
}
.acoes-bolsa-title a:hover {
	color: var(--ro-brand);
}
.acoes-setores-lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
	margin: 0;
	padding: 0;
}
.acoes-setores-lista li {
	list-style: none;
}
.acoes-setores-lista a {
	color: var(--ro-brand);
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
}
.acoes-setores-lista a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 600px) {
	.acoes-setores-lista {
		grid-template-columns: 1fr;
	}
}

/* ── NCM taxonomy pages ─────────────────────────────────────── */
.ncm-term-detail {
	display: block;
	margin-top: 6px;
	color: var(--ro-brand);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
.ncm-copy-btn {
	flex-shrink: 0;
}
.ncm-notes {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 32px;
}
.ncm-note {
	border: 1px solid var(--ro-border);
	border-radius: var(--ro-radius);
	background: var(--ro-card);
	padding: 16px 20px;
}
.ncm-note summary {
	cursor: pointer;
	list-style: none;
	color: var(--ro-brand);
	font-weight: 700;
	font-size: 15px;
}
.ncm-note summary::-webkit-details-marker {
	display: none;
}
.ncm-note summary::before {
	content: "\f105";
	display: inline-block;
	margin-right: 8px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	transition: transform 150ms ease;
}
.ncm-note[open] summary::before {
	transform: rotate(90deg);
}
.ncm-note p {
	margin: 12px 0 0;
	color: var(--ro-muted);
	font-size: 15px;
	line-height: 1.6;
}
.ncm-section-title {
	margin: 0 0 16px;
	color: #292929;
	font-size: 20px;
	font-weight: 700;
}
.ncm-hierarchy-trail {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 32px;
}
.ncm-hierarchy-item {
	color: var(--ro-muted);
	font-size: 14px;
}
.ncm-hierarchy-item a {
	color: var(--ro-brand);
	font-weight: 600;
	text-decoration: none;
}
.ncm-hierarchy-item a:hover {
	text-decoration: underline;
}
.ncm-related-list li {
	border-bottom: 1px solid var(--ro-border);
}
.ncm-related-list li:last-child {
	border-bottom: 0;
}
.ncm-related-list a {
	display: flex;
	padding: 11px 0;
	color: #292929;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: color 120ms ease;
}
.ncm-related-list a:hover {
	color: var(--ro-brand);
}

.ncm-result-type {
	color: var(--ro-brand);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.ncm-info-table {
	display: flex;
	flex-direction: column;
	margin-bottom: 32px;
	border: 1px solid var(--ro-border);
	border-radius: var(--ro-radius);
	overflow: hidden;
}
.ncm-info-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ro-border);
	font-size: 14px;
}
.ncm-info-row:last-child {
	border-bottom: 0;
}
.ncm-info-label {
	color: #666;
	font-weight: 600;
}
.ncm-info-value {
	color: #292929;
	font-weight: 500;
	text-align: right;
}
.ncm-status-badge {
	display: inline-flex;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}
.ncm-status-badge.is-active {
	background: #caf4d6;
	color: #124f23;
}

.ncm-attr-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 32px;
}
.ncm-attr-item {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ro-border);
	font-size: 14px;
}
.ncm-attr-item:last-child {
	border-bottom: 0;
}
.ncm-attr-label {
	color: #666;
}
.ncm-attr-value {
	color: #292929;
	font-weight: 600;
	text-align: right;
}

.ncm-post-content {
	margin: 8px 0 32px;
}

/* Format list */
.search-format-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.search-format-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--ro-border);
	text-decoration: none;
	transition: opacity 120ms ease;
}
.search-format-item:hover { opacity: .75; }
.search-format-list li:last-child .search-format-item { border-bottom: 0; }
.search-format-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	font-size: 15px;
	flex-shrink: 0;
}
.search-format-icon.is-blue   { background: var(--ro-blue-soft); color: var(--ro-brand); }
.search-format-icon.is-orange { background: #fff3e0; color: #e65100; }
.search-format-icon.is-teal   { background: #e0f7f1; color: #00796b; }
.search-format-name {
	flex: 1;
	font-size: 15px;
	font-weight: 600;
	color: #292929;
}
.search-format-count {
	font-size: 14px;
	font-weight: 700;
	color: #999;
	flex-shrink: 0;
}

/* Trending pills */
.search-trending {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.search-trending a {
	font-size: 11.5px;
	font-weight: var(--fw-semibold);
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--fg-brand);
	background: var(--bg-surface);
	border: 1px solid var(--blue-100);
	border-radius: var(--radius-xs);
	padding: 8px 11px;
	line-height: 1.1;
	white-space: nowrap;
	text-decoration: none;
	transition: all var(--dur-fast) var(--ease-out);
}
.search-trending a:hover {
	border-color: var(--ro-brand);
	color: var(--ro-brand);
	background: var(--ro-blue-soft);
}

.search-box {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 26px;
	background: var(--bg-surface);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-lg);
	padding: 8px 8px 8px 20px;
	transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.search-box:focus-within {
	border-color: var(--border-focus);
	box-shadow: 0 0 0 3px var(--bg-brand-soft);
}

.search-box > i {
	color: var(--fg-muted);
	font-size: 16px;
	flex: none;
}

.search-box input {
	flex: 1;
	min-width: 0;
	height: 44px;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: var(--font-sans);
	font-size: 17px;
	font-weight: var(--fw-medium);
	color: var(--fg-primary);
}

.search-box .btn {
	flex: none;
}

.search-icon {
	position: relative;
	width: 18px;
	height: 18px;
	flex: none;
	align-self: center;
}

.search-icon::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 1px;
	width: 11px;
	height: 11px;
	border: 2px solid #8c8c8c;
	border-radius: 50%;
}

.search-icon::after {
	content: "";
	position: absolute;
	right: 2px;
	bottom: 2px;
	width: 8px;
	height: 2px;
	border-radius: 2px;
	background: #8c8c8c;
	transform: rotate(45deg);
	transform-origin: center;
}

.search-box.compact {
	border-radius: 8px;
}

.authors-page {
	padding-top: 64px;
	padding-bottom: 112px;
}

.authors-page .authors-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 48px;
}

.authors-page .authors-head .eyebrow {
	margin: 0 0 12px;
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.authors-page .authors-head h1 {
	margin: 0;
	color: #292929;
	font-family: "Inter Display", var(--font-inter);
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.authors-page .authors-head .sub {
	max-width: 52ch;
	margin: 16px auto 0;
	color: #666666;
	font-size: clamp(17px, 1.4vw, 19px);
	font-weight: 400;
	line-height: 1.55;
}

.authors-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.author-tile {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 1px solid var(--ro-border);
	border-radius: 8px;
	background: #ffffff;
	padding: 21px;
	color: inherit;
	text-decoration: none;
	transition: border-color 120ms cubic-bezier(.2, .8, .2, 1), box-shadow 120ms cubic-bezier(.2, .8, .2, 1);
}

.author-tile:hover {
	border-color: #b6c1ff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

.tile-top {
	display: flex;
	align-items: center;
	gap: 15px;
}

.tile-avatar {
	display: block;
	flex: none;
	width: 66px;
	height: 66px;
	border: 1px solid #edf0ff;
	border-radius: 50%;
	background: #f4f6ff;
	object-fit: cover;
}

.tile-meta {
	min-width: 0;
}

.tile-name {
	margin: 0;
	color: #292929;
	font-family: var(--font-inter);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

.tile-topics {
	margin: 4px 0 0;
	color: #4f4f4f;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

.tile-exp {
	margin: 5px 0 0;
	color: #8c8c8c;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.4;
}

.tile-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: auto;
	padding: 11px;
	border-radius: 4px;
	background: var(--ro-blue-soft);
	color: #1f41ff;
	font-family: var(--font-inter);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	transition: background 120ms cubic-bezier(.2, .8, .2, 1), color 120ms cubic-bezier(.2, .8, .2, 1);
}

.tile-cta i {
	font-size: 11px;
	transition: transform 120ms cubic-bezier(.2, .8, .2, 1);
}

.author-tile:hover .tile-cta {
	background: #1f41ff;
	color: #ffffff;
}

.author-tile:hover .tile-cta i {
	transform: translateX(3px);
}

html[data-theme="dark"] .authors-page .authors-head h1,
html[data-theme="dark"] .tile-name {
	color: #f1f2f4;
}

html[data-theme="dark"] .authors-page .authors-head .sub,
html[data-theme="dark"] .tile-topics,
html[data-theme="dark"] .tile-exp {
	color: #b8becf;
}

html[data-theme="dark"] .author-tile {
	border-color: #272b35;
	background: #15171b;
}

html[data-theme="dark"] .author-tile:hover {
	border-color: rgba(147, 165, 255, .42);
	box-shadow: none;
}

html[data-theme="dark"] .tile-cta {
	background: #1a2140;
	color: #93A5FF;
}

html[data-theme="dark"] .author-tile:hover .tile-cta {
	background: #93A5FF;
	color: #101218;
}
.navigation.pagination {
	display: flex;
	justify-content: center;
}

.nav-links {
	justify-content: center;
}

.page-numbers {
	border-radius: 4px;
}

.page-numbers.current {
	background: #1f41ff;
	border-color: #1f41ff;
}

@media (max-width: 1080px) {
	.authors-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.layout,
	.post-layout {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.col-side,
	.post-side {
		max-width: 680px;
	}

	.sticky {
		position: static;
	}
}

@media (max-width: 720px) {
	.shell {
		width: min(100% - 28px, var(--ro-shell));
	}

	.layout,
	.post-layout,
	.authors-page {
		padding-top: 36px;
	}

	.home-title,
	.post-title {
		font-size: clamp(34px, 12vw, 44px);
	}

	.home-sub,
	.post-lead {
		font-size: 18px;
	}

	.featured {
		grid-template-columns: 1fr;
	}

	.featured-media {
		order: -1;
		min-height: 220px;
		aspect-ratio: 16 / 9;
	}

	.post-row {
		grid-template-columns: 1fr 120px;
		gap: 18px;
	}

	.post-row.no-image {
		grid-template-columns: 1fr;
	}

	.r-title {
		font-size: 15px;
	}

	.r-excerpt {
		display: none;
	}

	.r-thumb {
		width: 120px;
		height: 96px;
	}

	.box,
	.promo,
	.author-card,
	.latest-link {
		padding: 20px;
	}
	.authors-grid {
		grid-template-columns: 1fr;
	}

	.authors-page .authors-head {
		margin-bottom: 34px;
	}

	.author-tile {
		min-height: 0;
	}

	.search-box {
		align-items: center;
		flex-wrap: wrap;
		padding: 10px;
	}

	.search-box .btn {
		width: 100%;
		margin-top: 4px;
	}

	.search-title-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.search-discovery {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* Single post refinement */
.single-post .post-layout {
	width: min(var(--ro-single-shell, 1128px), calc(100% - 96px));
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 66px;
	align-items: stretch;
	padding-top: 45px;
	padding-bottom: 80px;
}

.single-post .article {
	max-width: none;
}

.single-post .breadcrumb {
	margin-bottom: 18px;
}

.single-post .post-title {
	max-width: none;
	margin-bottom: 8px;
	font-size: var(--ro-post-title-size, 32px);
	font-weight: var(--ro-post-title-weight, 700);
	line-height: 1.03;
	letter-spacing: -0.02em;
}

.single-post .post-lead {
	max-width: 94%;
	margin-bottom: 0;
	color: #292929;
	font-family: var(--font-inter);
	font-size: calc(17px * var(--ro-reader-scale, 1));
	line-height: 1.55;
}

.single-post .post-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 30px;
	padding: 22px 0 28px;
	border-top: none;
	position: relative;
}

.single-post .post-meta.is-share-open {
	padding-bottom: 82px;
}

.single-post .post-meta .byline {
	margin-top: 0;
}

.single-post .post-meta .avatar {
	width: 48px;
	height: 48px;
}

.single-post .post-meta .author {
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-post .post-meta .sub {
	display: block;
	color: #666666;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 18px;
}

.post-tools {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: none;
	position: relative;
}

.post-tool,
.post-tools .share-panel a,
.post-tools .share-panel button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--ro-border);
	border-radius: 4px;
	background: #ffffff;
	color: #292929;
	font: 700 12px/1 var(--font-inter);
	cursor: pointer;
	text-decoration: none;
}

.post-tool:hover,
.post-tools .share-panel a:hover,
.post-tools .share-panel button:hover,
.post-tool[aria-expanded="true"],
.post-tool[aria-pressed="true"] {
	background: var(--ro-blue-soft);
	border-color: var(--ro-blue-soft-2);
	color: #1f41ff;
}

.post-tool-wrap {
	position: relative;
	display: inline-flex;
}

.reader-panel[hidden],
.share-panel[hidden] {
	display: none !important;
}

.post-tool-dark::before {
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #292929;
	box-shadow: inset -5px 0 0 #ffffff;
}

.post-tool-dark[aria-pressed="true"]::before {
	background: #ffffff;
	box-shadow: 0 0 0 2px #1f41ff, inset 0 0 0 4px #1f41ff;
}

.post-tool-reader {
	font-weight: 800;
}

.post-tool-share::before,
.post-tool-share::after {
	content: "";
	position: absolute;
}

.post-tool-share::before {
	width: 11px;
	height: 11px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translate(-1px, 1px);
}

.post-tool-share::after {
	width: 13px;
	height: 2px;
	background: currentColor;
	transform: rotate(-45deg) translate(-1px, 1px);
	transform-origin: center;
}

.reader-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 80;
	width: 272px;
	border: 1px solid var(--ro-border);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
	padding: 22px;
	color: #292929;
}

.reader-panel::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 52px;
	width: 12px;
	height: 12px;
	border-top: 1px solid var(--ro-border);
	border-left: 1px solid var(--ro-border);
	background: inherit;
	transform: rotate(45deg);
}

.reader-label {
	margin: 0 0 12px;
	color: #8c8c8c;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.reader-size {
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.reader-size button {
	width: 40px;
	height: 40px;
	border: 1px solid var(--ro-border);
	border-radius: 6px;
	background: #ffffff;
	color: #292929;
	font: 800 18px/1 var(--font-inter);
	cursor: pointer;
}

.reader-size button:hover {
	background: var(--ro-blue-soft);
	border-color: #b6c1ff;
	color: #1f41ff;
}

.reader-size span {
	text-align: center;
	font-size: 15px;
	font-weight: 800;
}

.reader-fonts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-bottom: 22px;
	border-radius: 8px;
	background: #f5f5f5;
	padding: 4px;
}

.reader-fonts button {
	height: 40px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #292929;
	font: 700 13px/1 var(--font-inter);
	cursor: pointer;
}

.reader-fonts button.is-active {
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .08);
}

.reader-reset {
	display: block;
	width: 100%;
	border: 0;
	background: transparent;
	color: #1f41ff;
	font: 700 13px/1 var(--font-inter);
	cursor: pointer;
}

.share-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 75;
	display: flex;
	gap: 8px;
	padding: 0;
}

.single-post .post-meta.is-share-open .share-panel {
	right: 0;
	top: 46px;
}

.post-tools .share-panel a,
.post-tools .share-panel button {
	width: 42px;
	height: 42px;
	font-size: 12px;
	text-transform: uppercase;
}

.post-tools .share-panel .share-native {
	background: #1f41ff;
	border-color: #1f41ff;
	color: #ffffff;
}

.post-tools .share-panel .share-native:hover {
	background: #001dbb;
	color: #ffffff;
}

.share-native::before,
.share-native::after {
	content: "";
	position: absolute;
}

.share-native::before {
	width: 12px;
	height: 12px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translate(-1px, 1px);
}

.share-native::after {
	width: 14px;
	height: 2px;
	background: currentColor;
	transform: rotate(-45deg) translate(-1px, 1px);
	transform-origin: center;
}

.share-panel button.is-copied::after {
	content: "OK";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: inherit;
	background: #1f41ff;
	color: #ffffff;
	font-size: 11px;
}

.single-post .post-hero {
	margin: 0 0 14px;
}

.single-post .post-hero img {
	width: 100%;
	height: auto;
	aspect-ratio: 1280 / 720;
	object-fit: cover;
	border-radius: 14px;
}

.single-post .post-hero figcaption {
	margin-top: 9px;
	color: #666666;
	font-size: 11px;
	line-height: 1.4;
}

.follow-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 22px 0 24px;
}

.follow-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.follow-row span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #8c8c8c;
	margin-right: 2px;
}

.follow-row a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 32px;
	border: 1px solid var(--ro-border);
	border-radius: 999px;
	background: #ffffff;
	padding: 0 13px;
	color: #292929;
	font-size: 12px;
	font-weight: 600;
}

.follow-row a svg {
	width: 16px;
	height: 16px;
	flex: none;
}

.follow-row a:hover {
	background: var(--ro-blue-soft);
	color: #1f41ff;
}

.post-nav {
	margin-top: 44px;
}

.post-nav-head {
	position: relative;
	text-align: center;
	margin-bottom: 24px;
}

.post-nav-head::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--ro-border);
}

.post-nav-head-label {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	padding: 0 16px;
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.post-nav-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid var(--ro-border);
	border-radius: var(--ro-radius);
	overflow: hidden;
}

.post-nav-item {
	display: block;
	padding: 28px 32px;
	color: inherit;
	text-decoration: none;
	background: transparent;
	transition: background-color .15s ease;
}

.post-nav-item:hover {
	background: var(--ro-blue-soft);
}

.post-nav-prev {
	border-right: 1px solid var(--ro-border);
}

.post-nav-next {
	text-align: right;
}

.post-nav-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.post-nav-cat {
	display: block;
	margin-bottom: 8px;
	color: #8c8c8c;
	font-size: 13px;
	font-weight: 600;
}

.post-nav-title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
	color: #101828;
}

.post-nav-item:hover .post-nav-title {
	color: #1f41ff;
}

.post-nav-byline {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #666666;
	font-size: 13px;
	font-weight: 500;
}

.post-nav-next .post-nav-byline {
	justify-content: flex-end;
}

.post-nav-byline .avatar {
	width: 26px;
	height: 26px;
}

@media (max-width: 640px) {
	.post-nav-grid {
		grid-template-columns: 1fr;
	}

	.post-nav-prev {
		border-right: 0;
		border-bottom: 1px solid var(--ro-border);
	}

	.post-nav-next {
		text-align: left;
	}

	.post-nav-next .post-nav-byline {
		justify-content: flex-start;
	}
}

html[data-theme="dark"] .post-nav-head-label {
	background: #111214;
}

html[data-theme="dark"] .post-nav-head::before,
html[data-theme="dark"] .post-nav-grid,
html[data-theme="dark"] .post-nav-prev {
	border-color: #2b2e34;
}

html[data-theme="dark"] .post-nav-title {
	color: #f1f2f4;
}

html[data-theme="dark"] .post-nav-cat,
html[data-theme="dark"] .post-nav-byline {
	color: #a6abb4;
}

html[data-theme="dark"] .post-nav-item:hover {
	background: #1a2140;
}

.single-post .post-content > p,
.single-post .post-content li {
	color: #292929;
	font-family: var(--font-inter);
	font-size: calc(19px * var(--ro-reader-scale, 1));
	font-weight: 400;
	line-height: 1.68;
}

html[data-reader-font="serif"] .single-post .post-content > p,
html[data-reader-font="serif"] .single-post .post-content li,
html[data-reader-font="serif"] .single-post .post-lead {
	font-family: var(--font-article);
}

html[data-reader-font="sans"] .single-post .post-content > p,
html[data-reader-font="sans"] .single-post .post-content li,
html[data-reader-font="sans"] .single-post .post-lead {
	font-family: var(--font-inter);
}

.single-post .post-content > p:first-of-type::first-letter {
	float: left;
	margin: 7px 10px 0 0;
	color: #292929;
	font-size: 76px;
	font-weight: 800;
	line-height: .82;
}

.single-post .post-content > h2 {
	margin-top: 42px;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.18;
}

.single-post .post-content > h3 {
	margin-top: 32px;
	font-size: 23px;
	font-weight: 850;
	line-height: 1.28;
}

.single-post .post-side {
	min-width: 0;
}

.single-post .post-side .sticky,
.col-side .sticky {
	top: 191px;
}

.single-post .author-card {
	border-radius: 16px;
	background: #f7f7f7;
	padding: 28px;
}

.single-post .author-card .a-top {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 22px;
}

.single-post .author-card .a-avatar {
	width: 64px;
	height: 64px;
	min-width: 64px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--ro-blue-soft);
}

.single-post .author-card .a-headline {
	min-width: 0;
	padding-top: 4px;
}

.single-post .author-card .a-name {
	margin-bottom: 6px;
	color: #292929;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.2;
}

.single-post .author-card .a-title {
	color: #666666;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}

.single-post .author-card .a-role {
	color: #292929;
	font-size: 15px;
	line-height: 1.55;
}

.a-social {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
}

.a-social a {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--ro-border);
	border-radius: 8px;
	background: #ffffff;
	color: #292929;
	padding: 0;
	font-size: 14px;
}

.a-social a:hover {
	background: var(--ro-blue-soft);
	border-color: #b6c1ff;
	color: #1f41ff;
}

.side-related {
	margin-top: 28px;
}

.single-post .side-related .widget-head {
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.single-post .side-related .widget-head h4 {
	font-size: 17px;
	font-weight: 900;
}

.single-post .side-related .ic {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: var(--ro-blue-soft);
	color: #1f41ff;
	font-size: 13px;
}

.side-related-list {
	display: grid;
}

.side-related-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px;
	gap: 12px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--ro-border);
	color: inherit;
}

.side-related-item:hover .side-related-title {
	color: #1f41ff;
}

.side-related-text {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.side-related-title {
	color: #292929;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.005em;
}

.side-related-meta {
	color: #8c8c8c;
	font-size: 12px;
	font-weight: 500;
}

.side-related-thumb {
	width: 54px;
	height: 54px;
	overflow: hidden;
	border-radius: 8px;
	background: var(--ro-subtle);
}

.side-related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-newsletter {
	margin-top: 30px;
	border: 0;
	border-radius: 12px;
	background: #1f41ff;
	padding: 28px;
	color: #ffffff;
}

.post-newsletter h4 {
	font-family: "Inter Display", var(--font-inter);
	font-weight: 800;
	font-size: 21px;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
	color: #fff;
}

.post-newsletter p {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .85);
	margin: 0 0 18px;
	font-weight: 500;
}

.post-newsletter form {
	display: flex;
	gap: 8px;
}

.post-newsletter input {
	flex: 1;
	min-width: 0;
	border: 0;
	border-radius: 8px;
	padding: 11px 14px;
	font-size: 14px;
	color: #292929;
}

.post-newsletter button {
	border: 0;
	background: #ffffff;
	color: #1f41ff;
	font-weight: 600;
	font-size: 14px;
	border-radius: 8px;
	padding: 10px 18px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

html[data-theme="dark"] body {
	background: #111214;
	color: #f1f2f4;
}


html[data-theme="dark"] .single-post .post-title,
html[data-theme="dark"] .single-post .post-lead,
html[data-theme="dark"] .single-post .post-content p,
html[data-theme="dark"] .single-post .post-content li,
html[data-theme="dark"] .single-post .post-content h2,
html[data-theme="dark"] .single-post .post-content h3,
html[data-theme="dark"] .single-post .post-content h4,
html[data-theme="dark"] .single-post .post-content h5,
html[data-theme="dark"] .single-post .post-content h6,
html[data-theme="dark"] .single-post .post-content strong,
html[data-theme="dark"] .single-post .post-content b,
html[data-theme="dark"] .single-post .post-content blockquote,
html[data-theme="dark"] .single-post .post-content > p:first-of-type::first-letter {
	color: #f1f2f4;
}

html[data-theme="dark"] .single-post .post-content blockquote {
	background: #191b1e;
}

html[data-theme="dark"] .single-post .breadcrumb,
html[data-theme="dark"] .single-post .post-meta .sub,
html[data-theme="dark"] .single-post .post-hero figcaption,
html[data-theme="dark"] .follow-row span {
	color: #a6abb4;
}

html[data-theme="dark"] .single-post .breadcrumb a,
html[data-theme="dark"] .single-post .post-content a,
html[data-theme="dark"] .post-nav-label,
html[data-theme="dark"] .post-nav-head-label {
	color: #93A5FF;
}

html[data-theme="dark"] .single-post .post-meta,
html[data-theme="dark"] .side-related-item {
	border-color: #2b2e34;
}

html[data-theme="dark"] .post-tool,
html[data-theme="dark"] .post-tools .share-panel a,
html[data-theme="dark"] .post-tools .share-panel button {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
}

html[data-theme="dark"] .post-tool:hover,
html[data-theme="dark"] .post-tool[aria-expanded="true"],
html[data-theme="dark"] .post-tool[aria-pressed="true"] {
	background: #1a2140;
	border-color: #6f83ff;
	color: #d8dfff;
}

html[data-theme="dark"] .post-tool-dark::before {
	background: #f1f2f4;
	box-shadow: inset -5px 0 0 #191b1e;
}

html[data-theme="dark"] .post-tool-dark[aria-pressed="true"]::before {
	background: #d8dfff;
	box-shadow: 0 0 0 2px #6f83ff, inset 0 0 0 4px #1f41ff;
}

html[data-theme="dark"] .reader-panel {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
}

html[data-theme="dark"] .reader-size button,
html[data-theme="dark"] .reader-fonts button {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
}

html[data-theme="dark"] .reader-fonts {
	background: #111214;
}

html[data-theme="dark"] .reader-fonts button.is-active {
	background: #2b2e34;
}

html[data-theme="dark"] .follow-row a,
html[data-theme="dark"] .single-post .author-card {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
}

html[data-theme="dark"] .single-post .author-card .a-name,
html[data-theme="dark"] .single-post .author-card .a-role,
html[data-theme="dark"] .widget-head h4,
html[data-theme="dark"] .single-post .side-related .widget-head h4,
html[data-theme="dark"] .side-related-title {
	color: #f1f2f4;
}

html[data-theme="dark"] .single-post .side-related .ic,
html[data-theme="dark"] .widget-head .ic {
	background: #d8dfff;
	color: #1f41ff;
}

html[data-theme="dark"] .single-post .author-card .a-title,
html[data-theme="dark"] .side-related-meta {
	color: #a6abb4;
}

html[data-theme="dark"] .side-related-thumb,
html[data-theme="dark"] .a-social a {
	background: #111214;
	border-color: #2b2e34;
	color: #f1f2f4;
}

html[data-theme="dark"] .post-hero img,
html[data-theme="dark"] .side-related-thumb img {
	filter: brightness(.88);
}

@media (max-width: 1080px) {
	.single-post .post-layout {
		width: min(100% - 48px, 760px);
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.single-post .post-side {
		max-width: 100%;
	}
}

@media (max-width: 720px) {
	.single-post .post-layout {
		width: min(100% - 28px, 680px);
		padding-top: 34px;
	}

	.single-post .post-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.single-post .post-meta .byline {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.post-tools {
		align-self: flex-end;
	}

	.post-newsletter form {
		flex-direction: column;
	}
}

/* Reader/share controls using the model markup */
.single-post .post-meta.is-share-open {
	padding-bottom: 28px;
}

.post-tools.share {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: none;
	position: relative;
}

.reader-tools {
	display: flex;
	align-items: center;
	gap: 8px;
}

.rt-wrap {
	position: relative;
	display: inline-flex;
}

.rt-btn,
.s-btn {
	position: relative;
	width: 42px;
	height: 42px;
	border: 1px solid var(--ro-border);
	border-radius: 6px;
	background: #ffffff;
	color: #292929;
	display: inline-grid;
	place-items: center;
	padding: 0;
	font: 800 13px/1 var(--font-inter);
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.rt-btn:hover,
.rt-btn[aria-expanded="true"],
.rt-btn[aria-pressed="true"],
.s-btn:hover,
.share-toggle[aria-expanded="true"] {
	background: var(--ro-blue-soft);
	border-color: #b6c1ff;
	color: #1f41ff;
}

.rt-btn svg {
	width: 18px;
	height: 18px;
	display: block;
}

.rt-aa {
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.rt-divider {
	width: 1px;
	height: 22px;
	background: var(--ro-border);
	flex: none;
}

.rt-pop[hidden],
.share-menu[hidden] {
	display: none !important;
}

.rt-pop {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 80;
	width: 272px;
	border: 1px solid var(--ro-border);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
	padding: 22px;
	color: #292929;
}

.rt-pop::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 52px;
	width: 12px;
	height: 12px;
	border-top: 1px solid var(--ro-border);
	border-left: 1px solid var(--ro-border);
	background: inherit;
	transform: rotate(45deg);
}

.rt-lbl {
	margin: 0 0 12px;
	color: #8c8c8c;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rt-size {
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.rt-step {
	width: 40px;
	height: 40px;
	border: 1px solid var(--ro-border);
	border-radius: 6px;
	background: #ffffff;
	color: #292929;
	font-size: 13px;
	cursor: pointer;
}

.rt-step:hover {
	background: var(--ro-blue-soft);
	border-color: #b6c1ff;
	color: #1f41ff;
}

.rt-val {
	text-align: center;
	font-size: 15px;
	font-weight: 800;
}

.rt-seg {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-bottom: 22px;
	border-radius: 8px;
	background: #f5f5f5;
	padding: 4px;
}

.rt-seg button {
	height: 40px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #292929;
	font: 700 13px/1 var(--font-inter);
	cursor: pointer;
}

.rt-seg button.active {
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .08);
}

.rt-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	color: #292929;
	font: 600 13px/1.3 var(--font-inter);
	cursor: pointer;
}

.rt-check input {
	width: 16px;
	height: 16px;
	accent-color: #1f41ff;
	cursor: pointer;
}

.rt-reset {
	display: block;
	width: 100%;
	border: 0;
	background: transparent;
	color: #1f41ff;
	font: 700 13px/1 var(--font-inter);
	cursor: pointer;
}

.share-menu {
	display: flex;
	align-items: center;
	gap: 8px;
}

.share-menu .s-btn.is-copied::after {
	content: "OK";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: inherit;
	background: #1f41ff;
	color: #ffffff;
	font-size: 11px;
}


html[data-theme="dark"] .rt-btn,
html[data-theme="dark"] .s-btn,
html[data-theme="dark"] .rt-step {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
}

html[data-theme="dark"] .rt-btn:hover,
html[data-theme="dark"] .rt-btn[aria-expanded="true"],
html[data-theme="dark"] .rt-btn[aria-pressed="true"],
html[data-theme="dark"] .s-btn:hover,
html[data-theme="dark"] .share-toggle[aria-expanded="true"] {
	background: #1a2140;
	border-color: #6f83ff;
	color: #d8dfff;
}

html[data-theme="dark"] .rt-divider {
	background: #2b2e34;
}

html[data-theme="dark"] .rt-pop {
	background: #191b1e;
	border-color: #2b2e34;
	color: #f1f2f4;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
}

html[data-theme="dark"] .rt-seg {
	background: #111214;
}

html[data-theme="dark"] .rt-seg button {
	color: #f1f2f4;
}

html[data-theme="dark"] .rt-seg button.active {
	background: #2b2e34;
}

html[data-theme="dark"] .rt-check {
	color: #f1f2f4;
}

@media (max-width: 720px) {
	.post-tools.share {
		align-self: stretch;
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.rt-pop {
		left: 0;
		right: auto;
		width: min(272px, calc(100vw - 40px));
	}
}

html[data-reader-dropcap="off"] .single-post .post-content > p:first-of-type::first-letter {
	float: none;
	margin: 0;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}












/* Author archive profile */
.author-hero {
	background: #f6f7fb;
	color: #292929;
	border-bottom: 1px solid #edf0ff;
}

.author-hero-in {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 44px;
	padding-bottom: 64px;
	text-align: center;
}

.author-topbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin-bottom: 48px;
}

.author-hero .breadcrumb {
	margin: 0;
}

.author-photo {
	width: 140px;
	height: 140px;
	margin-bottom: 24px;
	border: 4px solid #ffffff;
	border-radius: 50%;
	background: var(--ro-blue-soft);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	object-fit: cover;
	outline: 1.5px solid rgba(255, 255, 255, .08);
	outline-offset: 5px;
}

.author-info {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.author-info .a-kicker {
	margin: 0 0 10px;
	color: #1f41ff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.author-info h1 {
	margin: 0;
	color: #292929;
	font-family: "Inter Display", var(--font-inter);
	font-size: clamp(30px, 3.6vw, 44px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.author-info .a-role {
	margin: 8px 0 0;
	color: #666666;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

.author-info .a-bio {
	max-width: 60ch;
	margin: 16px auto 0;
	color: #666666;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
}

.author-info .a-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.author-info .a-social {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 0;
}

.author-info .a-social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	border: 1px solid var(--ro-border);
	border-radius: 10px;
	background: #ffffff;
	color: #666666;
	font-size: 15px;
	transition: background 120ms cubic-bezier(.2, .8, .2, 1), border-color 120ms cubic-bezier(.2, .8, .2, 1), color 120ms cubic-bezier(.2, .8, .2, 1);
}

.author-info .a-social a:hover {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}

.author-info .a-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 40px;
	line-height: 1;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid var(--ro-border);
	border-radius: 999px;
	background: #ffffff;
	color: #666666;
	font-size: 13px;
	font-weight: 600;
}

.author-info .a-count::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #1f41ff;
}

.author-info .a-count b {
	color: #292929;
	font-weight: 800;
}

.author-layout {
	padding-top: 45px;
}

.cat-layout.author-layout .subfilter-wrap {
	padding: 10px 0;
	background: #fff;
}

.author-layout .subfilter-wrap {
	position: sticky;
	top: var(--header-h, 191px);
	z-index: 50;
	margin: 0 0 20px;
	padding: 10px 0;
	border-bottom: 1px solid #edf0ff;
	background: #ffffff;
}

.author-layout .subfilter {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	overflow: hidden;
}

.author-layout .subfilter-wrap .subfilter {
	padding: 0;
	background: transparent;
}

.author-layout .subfilter a {
	padding: 8px 14px;
	border: 1px solid var(--ro-border);
	border-radius: 4px;
	background: #ffffff;
	color: #666666;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 120ms cubic-bezier(.2, .8, .2, 1);
}

.author-layout .subfilter a:hover {
	border-color: #b6c1ff;
	background: var(--ro-blue-soft);
	color: #1f41ff;
}

.author-layout .subfilter a.active {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}


.subfilter-toggle {
	display: none;
	align-items: center;
	gap: 5px;
	margin: 6px 0 12px;
	padding: 0;
	background: none;
	border: none;
	font-size: 13px;
	font-weight: 600;
	color: #1f41ff;
	cursor: pointer;
	line-height: 1.2;
}

.author-layout .subfilter-wrap.has-overflow .subfilter-toggle {
	display: flex;
}

.subfilter-toggle .sf-hide {
	display: none;
}

.author-layout .subfilter-wrap.is-expanded .sf-show {
	display: none;
}

.author-layout .subfilter-wrap.is-expanded .sf-hide {
	display: flex;
	align-items: center;
	gap: 5px;
}


.author-layout .list-head {
	padding-bottom: 14px;
	border-bottom: 2px solid #292929;
}

.author-layout .list-head h3 {
	font-size: 20px;
}

.list-sort {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #292929;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.list-sort:hover {
	color: var(--ro-brand);
}

.list-sort i {
	display: inline-block;
	transition: transform .15s ease;
}

.list-sort.is-asc i {
	transform: rotate(180deg);
}

.author-layout .post-row {
	grid-template-columns: 1fr 188px;
	gap: 28px;
	padding: 28px 0;
}

.author-layout .post-row.no-image {
	grid-template-columns: 1fr;
}

.author-layout .r-thumb {
	width: 188px;
	height: 140px;
}

.author-layout .side-latest.thumb-right .latest-item,
.col-side .side-latest.thumb-right .latest-item {
	display: grid;
	grid-template-columns: 1fr 54px;
	align-items: center;
	gap: 12px;
}

.author-layout .side-latest.thumb-right .latest-item .l-thumb,
.col-side .side-latest.thumb-right .latest-item .l-thumb {
	order: 2;
	width: 54px;
	height: 54px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--ro-blue-soft);
}

.author-layout .side-latest.thumb-right .latest-item .l-thumb img,
.author-layout .side-latest.thumb-right .latest-item .l-thumb .avatar,
.col-side .side-latest.thumb-right .latest-item .l-thumb img,
.col-side .side-latest.thumb-right .latest-item .l-thumb .avatar {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.author-layout .side-latest.thumb-right .latest-item .l-txt,
.col-side .side-latest.thumb-right .latest-item .l-txt {
	order: 1;
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.author-layout .widget-head .ic {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--ro-blue-soft);
	color: #1f41ff;
	font-size: 14px;
}

.author-layout .side-latest .latest,
.col-side .side-latest .latest {
	display: flex;
	flex-direction: column;
}

.author-layout .side-latest .latest-item,
.col-side .side-latest .latest-item {
	padding: 16px 0;
	border-bottom: 1px solid var(--ro-border);
	text-decoration: none;
	color: inherit;
}

.author-layout .side-latest .latest-item:first-child,
.col-side .side-latest .latest-item:first-child {
	padding-top: 0;
}

.author-layout .side-latest .latest-item:last-child,
.col-side .side-latest .latest-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.author-layout .side-latest .l-title,
.col-side .side-latest .l-title {
	display: block;
	font-size: 15px;
	font-weight: 800;
	color: #292929;
}

.author-layout .side-latest .latest-item:hover .l-title,
.col-side .side-latest .latest-item:hover .l-title {
	color: var(--ro-brand);
}

.author-layout .side-latest .l-date,
.col-side .side-latest .l-date {
	display: block;
	font-size: 13px;
	color: var(--ro-muted);
}

.author-follow-card {
	border: 0;
	border-radius: 12px;
	background: #1f41ff;
	padding: 28px;
}

.author-follow-card h4 {
	font-family: "Inter Display", var(--font-inter);
	font-weight: 800;
	font-size: 21px;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
	color: #fff;
}

.author-follow-card p {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .85);
	margin: 0 0 18px;
	font-weight: 500;
	opacity: 1;
}

.author-follow-card .field {
	display: flex;
	gap: 8px;
}

.author-follow-card input {
	flex: 1;
	min-width: 0;
	border: 0;
	border-radius: 8px;
	padding: 11px 14px;
	font-size: 14px;
	color: #292929;
}

.author-follow-card button {
	border: 0;
	background: #ffffff;
	color: #1f41ff;
	font-weight: 600;
	font-size: 14px;
	border-radius: 8px;
	padding: 10px 18px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

html[data-theme="dark"] .author-hero,
html[data-theme="dark"] .author-layout {
	color: #292929;
}

html[data-theme="dark"] .author-hero {
	background: #f6f7fb;
	border-color: #edf0ff;
}

html[data-theme="dark"] .author-info h1,
html[data-theme="dark"] .author-info .a-count b,
html[data-theme="dark"] .author-layout .list-head h3,
html[data-theme="dark"] .author-layout .r-title,
html[data-theme="dark"] .author-layout .r-title a,
html[data-theme="dark"] .author-layout .latest-item .l-title {
	color: #292929;
}

html[data-theme="dark"] .author-info .a-role,
html[data-theme="dark"] .author-info .a-bio,
html[data-theme="dark"] .author-info .a-count,
html[data-theme="dark"] .author-layout .r-excerpt,
html[data-theme="dark"] .author-layout .latest-item .l-date {
	color: #666666;
}

html[data-theme="dark"] .author-info .a-social a,
html[data-theme="dark"] .author-info .a-count,
html[data-theme="dark"] .author-layout .subfilter-wrap,
html[data-theme="dark"] .author-layout .subfilter a,
html[data-theme="dark"] .author-layout .box,
html[data-theme="dark"] .author-layout .post-row,
html[data-theme="dark"] .author-layout .latest-item {
	border-color: var(--ro-border);
	background: #ffffff;
}

html[data-theme="dark"] .author-layout .subfilter-wrap {
	border-bottom-color: #edf0ff;
}

html[data-theme="dark"] .author-layout .subfilter a {
	color: #666666;
}

html[data-theme="dark"] .author-layout .subfilter a.active {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}

html[data-theme="dark"] .author-layout .list-head {
	border-bottom-color: #292929;
}

html[data-theme="dark"] .author-layout .promo {
	background: #1f41ff;
	color: #ffffff;
}
@media (max-width: 720px) {
	.author-hero-in {
		padding-top: 42px;
		padding-bottom: 42px;
	}

	.author-topbar {
		margin-bottom: 32px;
	}

	.author-photo {
		width: 112px;
		height: 112px;
	}

	.author-layout .post-row {
		grid-template-columns: 1fr 120px;
		gap: 18px;
	}

	.author-layout .post-row.no-image {
		grid-template-columns: 1fr;
	}

	.author-layout .r-thumb {
		width: 120px;
		height: 96px;
	}

	.author-follow-card .field {
		flex-direction: column;
	}
}

@media (max-width: 420px) {
	.post-row,
	.author-layout .post-row {
		grid-template-columns: 1fr 92px;
		gap: 14px;
	}

	.r-thumb,
	.author-layout .r-thumb {
		width: 92px;
		height: 76px;
	}

	.r-title {
		font-size: 15px;
	}
}


.author-share.post-tools.share {
	position: relative;
	margin-left: auto;
}

.author-share .share-menu {
	right: 48px;
}





html[data-theme="dark"] .author-share .s-btn,
html[data-theme="dark"] .author-share .share-toggle {
	border-color: var(--ro-border);
	background: #ffffff;
	color: #666666;
}

html[data-theme="dark"] .author-share .s-btn:hover,
html[data-theme="dark"] .author-share .share-toggle:hover,
html[data-theme="dark"] .author-share .share-toggle[aria-expanded="true"] {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}

html[data-theme="dark"] .author-share .share-menu .s-btn {
	border-color: var(--ro-border);
	background: #ffffff;
	color: #666666;
}

html[data-theme="dark"] .author-share .share-menu .s-btn:hover {
	border-color: #1f41ff;
	background: #1f41ff;
	color: #ffffff;
}

/* ── Home sidebar widgets ─────────────────────────────────────────────────── */

.col-side .widget-head .ic {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--ro-blue-soft);
	color: #1f41ff;
	font-size: 13px;
	flex-shrink: 0;
}

.col-side .widget-head .ic.ic-yellow {
	background: #fff4d6;
	color: #d97706;
}

/* Links selecionados */
.side-link-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.side-link-pills a {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #1f41ff;
	background: #ffffff;
	border: 1px solid #d2daff;
	border-radius: 4px;
	padding: 8px 11px;
	line-height: 1.1;
	white-space: nowrap;
	text-decoration: none;
}

/* Web Stories */
.side-stories-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.side-story-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: inherit;
}

.side-story-thumb {
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: #d8d8d8;
}

.side-story-thumb img,
.side-story-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.side-story-placeholder {
	background: #2a2a5a;
}

.side-story-title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	color: #292929;
}

.side-story-card:hover .side-story-title {
	color: #1f41ff;
}

/* Newsletter — reset margin-top from single-post context */
.col-side .post-newsletter {
	margin-top: 0;
}

/* Publicidade placeholder */
.side-ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 1.5px dashed #d8d8d8;
	border-radius: 16px;
	min-height: 110px;
	padding: 20px;
	text-align: center;
	background: #fafafa;
}

.side-ad-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #9c9c9c;
	margin-bottom: 4px;
}

.side-ad-text {
	font-size: 14px;
	color: #8c8c8c;
}

.side-ad-size {
	font-size: 13px;
	color: #b8b8b8;
}

/* ── Category sidebar — Explorar categorias ── */
.side-cat-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border: 1px solid var(--ro-border);
	border-radius: 12px;
	overflow: hidden;
}

.side-cat-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	font-size: 14.5px;
	font-weight: 600;
	color: #333333;
	text-decoration: none;
	border-bottom: 1px solid var(--ro-border);
	transition: color 120ms;
}

.side-cat-item:last-child {
	border-bottom: 0;
}

.side-cat-item:hover {
	color: var(--ro-brand);
}

.side-cat-item.active {
	color: var(--ro-brand);
}

.side-cat-count {
	font-size: 11.5px;
	font-weight: 700;
	color: #aaaaaa;
	flex-shrink: 0;
	margin-left: 8px;
}

.side-cat-item.active .side-cat-count {
	color: #7b8fff;
}

/* Re-aplica overrides mobile cancelados pelo bloco model-alignment (sem media query) que vem antes no arquivo */
@media (max-width: 1080px) {
	.layout,
	.post-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 42px;
	}
}

@media (max-width: 720px) {
	.ro-header-categories .ro-header-row-inner {
		min-height: 0;
		padding: 10px 20px;
		margin: 0px;
		width: auto;
	}

	.layout,
	.post-layout {
		padding-top: 32px;
	}

	.featured {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 16px;
	}

	.featured-body {
		padding: 26px;
	}

	.featured-media {
		min-height: 220px;
	}
}

/* ── Anúncios GAM (Google Ad Manager) ── */
:root {
	--ro-overlay-bg: rgba(0, 0, 0, .55);
	--ro-z: 2147483640;
	--ro-close-size: 36px;
}

.gam-sidebar {
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

#div-gpt-ad-1750243510879-0 {
	width: 300px !important;
	height: 250px !important;
	overflow: hidden;
	margin: 0 auto;
}

body.ro-no-scroll {
	overflow: hidden !important;
	touch-action: none !important;
}

/* Começa escondido; só abre quando o ad renderizar */
#ro-interstitial-overlay {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	background: var(--ro-overlay-bg);
	z-index: var(--ro-z);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: roFadeIn .25s ease-out;
}

#ro-interstitial-overlay.ro-visible {
	display: flex !important;
}

#ro-interstitial-wrap {
	position: relative;
	width: 320px;
	max-width: 92vw;
}

#div-gpt-ad-1773158878864-0 {
	width: 320px;
	height: 320px;
	margin: 0 auto;
}

/* Botão blindado contra CSS global */
#ro-close {
	all: unset;
	position: absolute !important;
	top: -14px !important;
	right: -14px !important;
	width: 36px !important;
	height: 36px !important;
	display: none;
	place-items: center;
	border-radius: 999px !important;
	background: #fff !important;
	color: #111 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .35) !important;
	cursor: pointer !important;
	z-index: 2147483647 !important;
	font-family: Arial, sans-serif !important;
	line-height: 1 !important;
	text-align: center !important;
	user-select: none !important;
	-webkit-user-select: none !important;
}

#ro-close.ro-visible {
	display: grid !important;
}

#ro-close span {
	display: block;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

@keyframes roFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
