/*
 * Portal Vitrine Cultural — sistema visual editorial.
 */
:root {
	--vl-ink: #111827;
	--vl-ink-soft: #263244;
	--vl-paper: #f7f1e7;
	--vl-paper-deep: #eee3d2;
	--vl-white: #fffdf8;
	--vl-coral: #c2382f;
	--vl-coral-dark: #a72f28;
	--vl-coral-light: #ff9f93;
	--vl-teal: #0f766e;
	--vl-gold: #d6a84f;
	--vl-gold-light: #f1ce84;
	--vl-night: #08111f;
	--vl-night-soft: #142238;
	--vl-muted: #5f665f;
	--vl-line: rgba(17, 24, 39, .16);
	--vl-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
	--vl-sans: Inter, "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
	--vl-max: 1240px;
	--vl-shadow: 0 28px 70px rgba(17, 24, 39, .13);
}

.vl-portal,
.vl-site-header,
.vl-site-footer,
.vl-page-intro,
.vl-section,
.vl-submission-cta,
.vl-advertiser-cta,
.vl-wide-visual {
	box-sizing: border-box;
}

.vl-portal *,
.vl-site-header *,
.vl-site-footer *,
.vl-page-intro *,
.vl-section *,
.vl-submission-cta *,
.vl-advertiser-cta *,
.vl-wide-visual * {
	box-sizing: border-box;
}

.vl-portal,
.vl-page-intro,
.vl-wide-visual {
	color: var(--vl-ink);
	font-family: var(--vl-sans);
}

.vl-portal {
	background: var(--vl-paper);
	overflow: hidden;
	width: 100%;
}

.vl-demo-banner {
	align-items: center;
	background: var(--vl-gold);
	color: var(--vl-ink);
	display: flex;
	font-family: var(--vl-sans);
	font-size: 12px;
	gap: 18px;
	justify-content: center;
	line-height: 1.45;
	padding: 10px 22px;
	text-align: center;
}

.vl-demo-banner strong {
	font-size: 10px;
	letter-spacing: .11em;
	text-transform: uppercase;
}

body.vl-designed-page,
body.vl-designed-page .jfm-main,
body.vl-designed-page .jfm-page,
body.vl-designed-page .jfm-entry-content,
body.vl-literary-single,
body.vl-literary-single .jfm-site-content {
	background: var(--vl-paper) !important;
	color: var(--vl-ink);
	color-scheme: light;
}

.vl-designed-page .jfm-main.jfm-container {
	max-width: none;
	padding: 0;
	width: 100%;
}

.vl-designed-page .jfm-breadcrumbs,
.vl-designed-page .jfm-page-header {
	display: none;
}

.vl-designed-page .jfm-page,
.vl-designed-page .jfm-entry-content {
	color: var(--vl-ink);
	font-family: var(--vl-sans);
	font-size: 16px;
	line-height: normal;
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.vl-designed-page .jfm-entry-content > * {
	max-width: none;
}

.vl-vitrine-site.jfm-composer-header-active .wpcm-tpg-zone--header > .wpcm-tpg-zone__inner {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.vl-vitrine-site.jfm-composer-footer-active .wpcm-tpg-zone--footer {
	background: transparent !important;
	border-top: 0 !important;
}

.vl-vitrine-site.jfm-composer-footer-active .wpcm-tpg-zone--footer > .wpcm-tpg-zone__inner {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.vl-vitrine-site .wpcm-tpg-zone--header :is(.wpcm-vc-document, .wpcm-vc-html),
.vl-vitrine-site .wpcm-tpg-zone--footer :is(.wpcm-vc-document, .wpcm-vc-html) {
	background: transparent !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.vl-portal h1,
.vl-portal h2,
.vl-portal h3,
.vl-page-intro h1,
.vl-section h2,
.vl-section h3,
.vl-submission-cta h2,
.vl-advertiser-cta h2 {
	font-family: var(--vl-serif);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1;
	margin: 0;
}

.vl-portal p,
.vl-page-intro p,
.vl-section p,
.vl-submission-cta p,
.vl-advertiser-cta p {
	line-height: 1.65;
}

.vl-site-header {
	background: rgba(255, 253, 248, .94);
	border-bottom: 1px solid rgba(17, 24, 39, .1);
	color: var(--vl-ink);
	font-family: var(--vl-sans);
	position: relative;
	width: 100%;
	z-index: 100;
}

.vl-header-placeholder {
	height: 0;
}

.vl-site-header.is-sticky {
	animation: vl-header-in .28s ease-out;
	box-shadow: 0 10px 35px rgba(17, 24, 39, .08);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
}

body.admin-bar .vl-site-header.is-sticky {
	top: 32px;
}

.vl-header-inner {
	align-items: center;
	display: grid;
	gap: 26px;
	grid-template-columns: auto 1fr auto;
	height: 88px;
	margin: 0 auto;
	max-width: var(--vl-max);
	padding: 0 28px;
}

.vl-brand {
	align-items: center;
	color: var(--vl-ink) !important;
	display: inline-flex;
	gap: 12px;
	text-decoration: none !important;
}

.vl-brand-mark {
	align-items: end;
	display: flex;
	gap: 3px;
	height: 34px;
	justify-content: center;
	position: relative;
	width: 35px;
}

.vl-brand-mark::after {
	background: var(--vl-coral);
	border-radius: 50%;
	content: "";
	height: 6px;
	position: absolute;
	right: 1px;
	top: 1px;
	width: 6px;
}

.vl-brand-mark i {
	background: var(--vl-ink);
	border-radius: 10px 10px 2px 2px;
	display: block;
	height: 25px;
	transform: skewY(-10deg);
	width: 8px;
}

.vl-brand-mark i:nth-child(2) {
	height: 32px;
}

.vl-brand-mark i:nth-child(3) {
	height: 21px;
}

.vl-brand-copy {
	display: flex;
	flex-direction: column;
	font-family: var(--vl-serif);
	font-size: 16px;
	letter-spacing: -.02em;
	line-height: .88;
}

.vl-brand-copy strong {
	font-weight: 700;
	text-transform: uppercase;
}

.vl-brand-copy em {
	color: var(--vl-coral);
	font-size: 17px;
	font-weight: 500;
}

.vl-primary-nav {
	justify-self: center;
}

.vl-menu {
	align-items: center;
	display: flex;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vl-menu li {
	margin: 0;
	padding: 0;
}

.vl-menu a {
	color: var(--vl-ink) !important;
	font-size: 13px;
	font-weight: 650;
	letter-spacing: .015em;
	position: relative;
	text-decoration: none !important;
}

.vl-menu a::after {
	background: var(--vl-coral);
	bottom: -8px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
	width: 100%;
}

.vl-menu a:hover::after,
.vl-menu .current-menu-item > a::after {
	transform: scaleX(1);
}

.vl-header-cta {
	align-items: center;
	background: var(--vl-ink);
	border-radius: 2px;
	color: var(--vl-white) !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 750;
	gap: 12px;
	letter-spacing: .045em;
	padding: 14px 17px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background .2s ease, transform .2s ease;
}

.vl-header-cta:hover {
	background: var(--vl-coral);
	transform: translateY(-2px);
}

.vl-menu-toggle {
	background: transparent;
	border: 0;
	display: none;
	height: 42px;
	padding: 8px;
	width: 44px;
}

.vl-menu-toggle span {
	background: var(--vl-ink);
	display: block;
	height: 2px;
	margin: 5px 0;
	transition: .2s ease;
	width: 25px;
}

.vl-hero {
	align-items: end;
	background: var(--vl-ink);
	display: grid;
	min-height: 735px;
	overflow: hidden;
	padding: 90px max(28px, calc((100vw - var(--vl-max)) / 2));
	position: relative;
}

.vl-hero-art,
.vl-hero-wash {
	inset: 0;
	position: absolute;
}

.vl-hero-art {
	filter: saturate(.88) contrast(1.03);
	transform: scale(1.015);
}

.vl-hero-art img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vl-hero-wash {
	background:
		linear-gradient(90deg, rgba(11, 20, 33, .96) 0%, rgba(11, 20, 33, .76) 42%, rgba(11, 20, 33, .18) 74%, rgba(11, 20, 33, .38) 100%),
		linear-gradient(0deg, rgba(11, 20, 33, .78) 0%, transparent 45%);
}

.vl-hero-content {
	color: var(--vl-white);
	max-width: 830px;
	position: relative;
	z-index: 2;
}

.vl-eyebrow,
.vl-kicker {
	align-items: center;
	color: var(--vl-coral);
	display: inline-flex;
	font-family: var(--vl-sans);
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	gap: 10px;
	letter-spacing: .16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.vl-eyebrow {
	color: var(--vl-white);
	margin-bottom: 28px;
}

.vl-eyebrow i {
	background: var(--vl-coral);
	height: 2px;
	width: 36px;
}

.vl-kicker--light {
	color: #ffe8e2;
}

.vl-hero h1 {
	font-size: clamp(60px, 7.3vw, 108px);
	line-height: .89;
	max-width: 900px;
	text-wrap: balance;
}

.vl-hero h1 em,
.vl-section-heading h2 em,
.vl-submission-cta h2 em {
	color: var(--vl-coral);
	font-weight: 400;
}

.vl-hero-content > p {
	color: rgba(255, 253, 248, .82);
	font-size: 17px;
	margin: 30px 0 34px;
	max-width: 590px;
}

.vl-hero-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
}

.vl-button {
	align-items: center;
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--vl-sans);
	font-size: 12px;
	font-weight: 800;
	gap: 28px;
	justify-content: center;
	letter-spacing: .09em;
	min-height: 52px;
	padding: 15px 22px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.vl-button:hover {
	box-shadow: 0 12px 28px rgba(17, 24, 39, .18);
	transform: translateY(-2px);
}

.vl-button--light {
	background: var(--vl-white);
	color: var(--vl-ink) !important;
}

.vl-button--primary {
	background: var(--vl-ink);
	color: var(--vl-white) !important;
}

.vl-button--coral {
	background: var(--vl-coral);
	color: var(--vl-white) !important;
}

.vl-button--coral:hover {
	background: var(--vl-coral-dark);
}

.vl-text-link {
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	color: var(--vl-white) !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 9px 0;
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-text-link span {
	color: var(--vl-coral);
	margin-left: 9px;
}

.vl-text-link--dark {
	border-color: var(--vl-line);
	color: var(--vl-ink) !important;
}

.vl-hero-side-note {
	border-left: 1px solid rgba(255, 255, 255, .4);
	bottom: 96px;
	color: var(--vl-white);
	padding-left: 20px;
	position: absolute;
	right: max(28px, calc((100vw - var(--vl-max)) / 2));
	z-index: 2;
}

.vl-hero-side-note span {
	display: block;
	font-size: 9px;
	letter-spacing: .16em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.vl-hero-side-note b {
	font-family: var(--vl-serif);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.15;
}

.vl-hero-scroll {
	align-items: center;
	bottom: 22px;
	color: rgba(255, 255, 255, .65) !important;
	display: flex;
	font-size: 9px;
	gap: 12px;
	letter-spacing: .16em;
	position: absolute;
	right: max(28px, calc((100vw - var(--vl-max)) / 2));
	text-decoration: none !important;
	text-transform: uppercase;
	z-index: 2;
}

.vl-hero-scroll span {
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	height: 30px;
	position: relative;
	width: 30px;
}

.vl-hero-scroll span::after {
	border-bottom: 1px solid white;
	border-right: 1px solid white;
	content: "";
	height: 6px;
	left: 11px;
	position: absolute;
	top: 9px;
	transform: rotate(45deg);
	width: 6px;
}

.vl-marquee {
	background: var(--vl-coral);
	color: var(--vl-white);
	overflow: hidden;
	padding: 14px 0;
	white-space: nowrap;
}

.vl-marquee div {
	align-items: center;
	display: flex;
	gap: 34px;
	justify-content: center;
	min-width: max-content;
}

.vl-marquee span {
	font-family: var(--vl-serif);
	font-size: 17px;
	font-style: italic;
}

.vl-marquee i {
	font-size: 9px;
	font-style: normal;
}

.vl-marquee:hover div,
.vl-marquee:focus div,
.vl-marquee:focus-within div {
	animation-play-state: paused;
}

.vl-section {
	margin: 0 auto;
	max-width: var(--vl-max);
	padding: 112px 28px;
}

.vl-section-heading {
	margin-bottom: 54px;
}

.vl-section-heading .vl-kicker {
	margin-bottom: 18px;
}

.vl-section-heading h2 {
	font-size: clamp(44px, 5.1vw, 72px);
}

.vl-section-heading--split {
	align-items: end;
	display: grid;
	gap: 70px;
	grid-template-columns: 1.4fr .6fr;
}

.vl-heading-aside {
	border-left: 1px solid var(--vl-line);
	padding-left: 25px;
}

.vl-heading-aside p {
	color: var(--vl-muted);
	font-size: 14px;
	margin: 0 0 20px;
}

.vl-heading-aside a,
.vl-read-link {
	color: var(--vl-ink) !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .07em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-heading-aside a span,
.vl-read-link span {
	color: var(--vl-coral);
	margin-left: 9px;
}

.vl-book-grid {
	display: grid;
	gap: 46px 26px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vl-book-card {
	min-width: 0;
}

.vl-book-cover {
	background: var(--vl-paper-deep);
	box-shadow: 0 16px 32px rgba(17, 24, 39, .12);
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none !important;
}

.vl-book-card:nth-child(even) .vl-book-cover {
	margin-top: 34px;
}

.vl-book-cover img {
	aspect-ratio: 2 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2, .75, .3, 1);
	width: 100%;
}

.vl-book-cover:hover img {
	transform: scale(1.035);
}

.vl-book-arrow {
	align-items: center;
	background: var(--vl-white);
	border-radius: 50%;
	bottom: 16px;
	color: var(--vl-ink);
	display: flex;
	font-size: 16px;
	height: 40px;
	justify-content: center;
	opacity: 0;
	position: absolute;
	right: 16px;
	transform: translateY(8px);
	transition: .25s ease;
	width: 40px;
}

.vl-book-cover:hover .vl-book-arrow {
	opacity: 1;
	transform: translateY(0);
}

.vl-placeholder-art {
	align-items: center;
	aspect-ratio: 2 / 3;
	background: linear-gradient(145deg, var(--vl-teal), var(--vl-ink));
	color: rgba(255, 255, 255, .8);
	display: flex;
	font-family: var(--vl-serif);
	font-size: 100px;
	justify-content: center;
}

.vl-book-meta {
	padding: 20px 3px 0;
}

.vl-book-meta > span {
	color: var(--vl-coral);
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .13em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.vl-book-meta h3 {
	font-size: clamp(22px, 2vw, 29px);
	line-height: 1.05;
}

.vl-book-meta h3 a,
.vl-author-meta h3 a,
.vl-post-card h3 a,
.vl-interview-layout h3 a {
	color: inherit !important;
	text-decoration: none !important;
}

.vl-book-meta p {
	color: var(--vl-muted);
	font-size: 12px;
	margin: 8px 0 0;
}

.vl-ad-slot {
	align-items: center;
	background: var(--vl-white);
	border: 1px solid var(--vl-line);
	display: flex;
	font-family: var(--vl-sans);
	justify-content: space-between;
	margin: 12px auto 104px;
	max-width: calc(var(--vl-max) - 56px);
	min-height: 126px;
	padding: 28px 36px;
	position: relative;
}

.vl-ad-slot::before {
	background: var(--vl-gold);
	content: "";
	inset: 0 auto 0 0;
	position: absolute;
	width: 5px;
}

.vl-ad-slot__copy {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.vl-ad-slot__eyebrow,
.vl-ad-slot > .vl-ad-label {
	color: var(--vl-muted);
	font-size: 9px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.vl-ad-slot__copy strong {
	font-family: var(--vl-serif);
	font-size: 28px;
	font-weight: 500;
}

.vl-ad-slot > a {
	color: var(--vl-ink) !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-ad-slot > a i {
	color: var(--vl-coral);
	font-style: normal;
	margin-left: 10px;
}

.vl-ad-slot--live {
	display: block;
	padding: 24px;
}

.vl-ad-slot--live.is-runtime-empty,
.vl-ad-slot--live:has(.wpcm-ad-slot--runtime-empty) {
	display: none;
}

.vl-ad-slot--live > .vl-ad-label {
	display: block;
	margin-bottom: 12px;
}

.vl-authors-section {
	background: var(--vl-ink);
	color: var(--vl-white);
	max-width: none;
	padding-left: max(28px, calc((100vw - var(--vl-max)) / 2));
	padding-right: max(28px, calc((100vw - var(--vl-max)) / 2));
}

.vl-authors-section .vl-heading-aside {
	border-color: rgba(255, 255, 255, .18);
}

.vl-authors-section .vl-heading-aside p {
	color: rgba(255, 255, 255, .62);
}

.vl-authors-section .vl-heading-aside a {
	color: var(--vl-white) !important;
}

.vl-author-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vl-author-photo {
	background: var(--vl-ink-soft);
	display: block;
	overflow: hidden;
	position: relative;
}

.vl-author-photo::after {
	background: linear-gradient(0deg, rgba(17, 24, 39, .7), transparent 45%);
	content: "";
	inset: 0;
	opacity: .55;
	position: absolute;
	transition: opacity .3s ease;
}

.vl-author-photo img {
	aspect-ratio: .82;
	display: block;
	filter: saturate(.82);
	height: auto;
	object-fit: cover;
	transition: transform .5s ease, filter .4s ease;
	width: 100%;
}

.vl-author-photo > span {
	bottom: 17px;
	color: white;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	opacity: 0;
	position: absolute;
	right: 17px;
	text-transform: uppercase;
	transform: translateY(8px);
	transition: .25s ease;
	z-index: 2;
}

.vl-author-photo > span i {
	color: #ff8f83;
	font-style: normal;
	margin-left: 7px;
}

.vl-author-photo:hover::after {
	opacity: .8;
}

.vl-author-photo:hover img {
	filter: saturate(1);
	transform: scale(1.035);
}

.vl-author-photo:hover > span {
	opacity: 1;
	transform: translateY(0);
}

.vl-author-meta {
	border-top: 1px solid rgba(255, 255, 255, .2);
	margin-top: 16px;
	padding-top: 13px;
}

.vl-author-meta h3 {
	font-size: 25px;
}

.vl-author-meta p {
	color: rgba(255, 255, 255, .54);
	font-size: 10px;
	letter-spacing: .04em;
	margin: 7px 0 0;
	text-transform: uppercase;
}

.vl-authors-page .vl-author-meta {
	border-color: var(--vl-line);
	color: var(--vl-ink);
}

.vl-authors-page .vl-author-meta p {
	color: var(--vl-muted);
}

.vl-interviews-section {
	padding-bottom: 128px;
}

.vl-interview-layout {
	display: grid;
	gap: 30px;
	grid-template-columns: 1.45fr .55fr;
}

.vl-interview-feature {
	background: var(--vl-white);
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	min-height: 460px;
}

.vl-interview-image {
	min-height: 460px;
	overflow: hidden;
	position: relative;
}

.vl-interview-image img {
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
	width: 100%;
}

.vl-interview-image:hover img {
	transform: scale(1.03);
}

.vl-interview-feature > div {
	align-self: center;
	padding: 42px;
}

.vl-interview-feature h3 {
	font-size: clamp(34px, 3.3vw, 50px);
	line-height: 1;
	margin: 15px 0 21px;
}

.vl-interview-feature p {
	color: var(--vl-muted);
	font-size: 14px;
	margin: 0 0 25px;
}

.vl-interview-minor {
	border-top: 1px solid var(--vl-line);
	display: flex;
	flex-direction: column;
}

.vl-interview-minor article {
	align-items: center;
	border-bottom: 1px solid var(--vl-line);
	display: grid;
	flex: 1;
	gap: 18px;
	grid-template-columns: 126px 1fr;
	padding: 18px 0;
}

.vl-interview-thumb {
	display: block;
	height: 120px;
	overflow: hidden;
	position: relative;
}

.vl-interview-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vl-interview-minor span {
	color: var(--vl-coral);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.vl-interview-minor h3 {
	font-size: 23px;
	line-height: 1.08;
	margin: 6px 0 12px;
}

.vl-interview-minor article > div > a {
	color: var(--vl-ink) !important;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-interview-minor article > div > a i {
	color: var(--vl-coral);
	font-style: normal;
	margin-left: 5px;
}

.vl-submission-cta {
	background: var(--vl-teal);
	color: var(--vl-white);
	display: grid;
	gap: 90px;
	grid-template-columns: 1.05fr .95fr;
	overflow: hidden;
	padding: 116px max(28px, calc((100vw - var(--vl-max)) / 2));
	position: relative;
}

.vl-submit-copy,
.vl-submit-steps {
	position: relative;
	z-index: 2;
}

.vl-submit-copy h2 {
	font-size: clamp(52px, 5.9vw, 84px);
	margin: 19px 0 28px;
}

.vl-submit-copy h2 em {
	color: #ffe8e2;
}

.vl-submit-copy > p {
	color: var(--vl-white);
	font-size: 15px;
	margin: 0 0 32px;
	max-width: 540px;
}

.vl-submit-steps {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.vl-submit-steps li {
	align-items: start;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
	display: grid;
	gap: 22px;
	grid-template-columns: 48px 1fr;
	padding: 24px 0;
}

.vl-submit-steps li > span {
	color: #ffe8e2;
	font-family: var(--vl-serif);
	font-size: 23px;
}

.vl-submit-steps strong {
	font-family: var(--vl-serif);
	font-size: 25px;
	font-weight: 500;
}

.vl-submit-steps p {
	color: var(--vl-white);
	font-size: 12px;
	margin: 5px 0 0;
}

.vl-submit-orbit {
	height: 620px;
	left: -190px;
	opacity: .16;
	position: absolute;
	top: -190px;
	width: 620px;
}

.vl-submit-orbit i {
	border: 1px solid white;
	border-radius: 50%;
	inset: 0;
	position: absolute;
}

.vl-submit-orbit i:nth-child(2) {
	inset: 90px;
}

.vl-submit-orbit i:nth-child(3) {
	inset: 180px;
}

.vl-culture-section {
	padding-bottom: 130px;
}

.vl-post-grid {
	display: grid;
	gap: 46px 25px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vl-post-image {
	background: var(--vl-paper-deep);
	display: block;
	overflow: hidden;
	position: relative;
}

.vl-post-image img {
	aspect-ratio: 1.25;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform .5s ease;
	width: 100%;
}

.vl-post-image:hover img {
	transform: scale(1.04);
}

.vl-post-image span {
	background: var(--vl-coral);
	bottom: 0;
	color: white;
	font-size: 8px;
	font-weight: 800;
	left: 0;
	letter-spacing: .12em;
	padding: 8px 10px;
	position: absolute;
	text-transform: uppercase;
}

.vl-post-meta {
	padding-top: 18px;
}

.vl-post-meta small {
	color: var(--vl-muted);
	font-size: 9px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.vl-post-card h3 {
	font-size: 27px;
	line-height: 1.08;
	margin: 11px 0 12px;
}

.vl-post-card p {
	color: var(--vl-muted);
	font-size: 12px;
	margin: 0 0 15px;
}

.vl-advertiser-cta {
	align-items: end;
	background: var(--vl-gold);
	display: grid;
	gap: 35px;
	grid-template-columns: .5fr 1.5fr auto;
	padding: 75px max(28px, calc((100vw - var(--vl-max)) / 2));
}

.vl-advertiser-cta .vl-kicker {
	color: var(--vl-ink);
}

.vl-advertiser-cta h2 {
	font-size: clamp(35px, 4vw, 57px);
	line-height: 1.03;
}

.vl-page-intro {
	align-items: end;
	background: var(--vl-ink);
	color: var(--vl-white);
	display: grid;
	gap: 70px;
	grid-template-columns: 1.1fr .75fr;
	min-height: 430px;
	overflow: hidden;
	padding: 100px max(28px, calc((100vw - var(--vl-max)) / 2)) 72px;
	position: relative;
	width: 100%;
}

.vl-page-intro h1 {
	font-size: clamp(53px, 6vw, 86px);
	margin-top: 18px;
	max-width: 780px;
}

.vl-page-intro > p {
	border-left: 1px solid rgba(255, 255, 255, .3);
	color: rgba(255, 255, 255, .7);
	font-size: 16px;
	margin: 0;
	padding-left: 28px;
	position: relative;
	z-index: 2;
}

.vl-page-intro-mark {
	color: rgba(255, 255, 255, .035);
	font-family: var(--vl-serif);
	font-size: 390px;
	line-height: 1;
	position: absolute;
	right: -10px;
	top: -30px;
}

.vl-catalog,
.vl-authors-page,
.vl-editorial-list {
	padding-bottom: 140px;
}

.vl-wide-visual {
	background: var(--vl-ink);
	height: clamp(280px, 43vw, 590px);
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.vl-wide-visual img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vl-writer-area {
	align-items: start;
	display: grid;
	gap: 50px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vl-form-column {
	background: var(--vl-white);
	border-top: 4px solid var(--vl-coral);
	box-shadow: 0 20px 60px rgba(17, 24, 39, .08);
	padding: 42px;
}

.vl-form-column .vl-section-heading {
	margin-bottom: 25px;
}

.vl-form-column .vl-section-heading h2 {
	font-size: 38px;
}

.vl-form {
	color: var(--vl-ink);
	font-family: var(--vl-sans);
}

.vl-form-grid {
	display: grid;
	gap: 17px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vl-field {
	margin: 0;
}

.vl-field--full {
	grid-column: 1 / -1;
}

.vl-field label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .035em;
	margin-bottom: 7px;
}

.vl-field input,
.vl-field select,
.vl-field textarea {
	background: #fff;
	border: 1px solid rgba(17, 24, 39, .22);
	border-radius: 2px;
	color: var(--vl-ink);
	font: 14px/1.4 var(--vl-sans);
	min-height: 48px;
	padding: 11px 12px;
	width: 100%;
}

.vl-field textarea {
	resize: vertical;
}

.vl-field input:focus,
.vl-field select:focus,
.vl-field textarea:focus {
	border-color: var(--vl-teal);
	box-shadow: 0 0 0 4px rgba(15, 118, 110, .16);
	outline: 2px solid var(--vl-teal);
	outline-offset: 2px;
}

.vl-field input[type="file"] {
	background: var(--vl-paper);
	font-size: 14px;
	padding: 8px;
}

.vl-field small {
	color: var(--vl-muted);
	display: block;
	font-size: 14px;
	line-height: 1.45;
	margin-top: 6px;
}

.vl-check {
	align-items: start;
	color: var(--vl-muted);
	display: flex;
	font-size: 14px;
	gap: 8px;
	line-height: 1.5;
	margin: 20px 0;
}

.vl-check input {
	flex: 0 0 auto;
	margin-top: 3px;
}

.vl-form-help {
	color: var(--vl-muted);
	font-size: 14px;
	margin: 15px 0 0;
}

.vl-form-help a {
	color: var(--vl-teal) !important;
	font-weight: 700;
}

.vl-honeypot {
	left: -9999px !important;
	position: absolute !important;
}

.vl-form-state {
	background: var(--vl-paper);
	border-left: 3px solid var(--vl-gold);
	font-family: var(--vl-sans);
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 22px;
	padding: 16px 18px;
}

.vl-form-state p {
	margin: 5px 0 0;
}

.vl-form-state--success {
	border-color: var(--vl-teal);
}

.vl-form-state--error {
	border-color: var(--vl-coral);
}

.vl-dashboard {
	grid-column: 1 / -1;
	margin-top: 20px;
	width: 100%;
}

.vl-dashboard-list {
	background: var(--vl-white);
	border: 1px solid var(--vl-line);
}

.vl-dashboard-item {
	align-items: center;
	border-bottom: 1px solid var(--vl-line);
	display: flex;
	justify-content: space-between;
	padding: 17px 20px;
}

.vl-dashboard-item:last-child {
	border-bottom: 0;
}

.vl-dashboard-item small {
	color: var(--vl-muted);
	display: block;
	font-size: 13px;
	margin-top: 4px;
}

.vl-status {
	background: var(--vl-paper-deep);
	border-radius: 20px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 7px 10px;
	text-transform: uppercase;
}

.vl-status--publish {
	background: rgba(15, 118, 110, .12);
	color: var(--vl-teal);
}

.vl-status--pending {
	background: rgba(214, 168, 79, .2);
	color: #795817;
}

.vl-ad-product-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 60px;
}

.vl-ad-product-grid article {
	background: var(--vl-white);
	border-top: 3px solid var(--vl-gold);
	min-height: 260px;
	padding: 34px;
}

.vl-ad-product-grid article > span {
	color: var(--vl-coral);
	font-family: var(--vl-serif);
	font-size: 23px;
}

.vl-ad-product-grid h3 {
	font-size: 32px;
	margin: 38px 0 14px;
}

.vl-ad-product-grid p {
	color: var(--vl-muted);
	font-size: 13px;
	margin: 0;
}

.vl-commercial-box {
	background: var(--vl-ink);
	color: var(--vl-white);
	padding: 70px;
}

.vl-commercial-box h2 {
	font-size: clamp(44px, 5vw, 72px);
	margin: 18px 0;
}

.vl-commercial-box p {
	color: rgba(255, 255, 255, .67);
	margin: 0 0 27px;
}

.vl-about-copy {
	display: grid;
	gap: 80px;
	grid-template-columns: .8fr 1.2fr;
}

.vl-about-copy h2 {
	font-size: clamp(44px, 5vw, 70px);
	margin-top: 18px;
}

.vl-about-copy > div:last-child {
	border-left: 1px solid var(--vl-line);
	padding-left: 35px;
}

.vl-about-copy p {
	font-size: 16px;
	margin: 0 0 20px;
}

.vl-empty {
	align-items: center;
	border: 1px dashed var(--vl-line);
	display: flex;
	gap: 15px;
	grid-column: 1 / -1;
	justify-content: center;
	min-height: 180px;
	padding: 30px;
}

.vl-empty span {
	color: var(--vl-coral);
}

.vl-empty p {
	margin: 0;
}

.vl-site-footer {
	background: #0c1421;
	color: var(--vl-white);
	font-family: var(--vl-sans);
	overflow: hidden;
	position: relative;
}

.vl-footer-glow {
	background: radial-gradient(circle, rgba(15, 118, 110, .3), transparent 65%);
	height: 550px;
	position: absolute;
	right: -180px;
	top: -260px;
	width: 550px;
}

.vl-footer-inner {
	display: grid;
	gap: 55px;
	grid-template-columns: 1.2fr .55fr .55fr 1fr;
	margin: 0 auto;
	max-width: var(--vl-max);
	padding: 85px 28px 65px;
	position: relative;
}

.vl-brand--light {
	color: var(--vl-white) !important;
}

.vl-brand--light .vl-brand-mark i {
	background: var(--vl-white);
}

.vl-footer-intro p {
	color: rgba(255, 255, 255, .74);
	font-family: var(--vl-serif);
	font-size: 18px;
	font-style: italic;
	margin: 20px 0 0;
}

.vl-footer-nav {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.vl-footer-menu {
	display: flex;
	flex-direction: column;
	gap: 11px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vl-footer-menu li {
	margin: 0;
	padding: 0;
}

.vl-footer-nav strong,
.vl-footer-note > span {
	color: #ff8f83;
	font-size: 11px;
	letter-spacing: .15em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.vl-footer-nav a {
	color: rgba(255, 255, 255, .72) !important;
	font-size: 14px;
	text-decoration: none !important;
}

.vl-footer-nav a:hover {
	color: white !important;
}

.vl-footer-note {
	border-left: 1px solid rgba(255, 255, 255, .16);
	padding-left: 25px;
}

.vl-footer-note p {
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
	line-height: 1.65;
	margin: 12px 0 0;
}

.vl-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .11);
	color: rgba(255, 255, 255, .72);
	display: flex;
	font-size: 11px;
	justify-content: space-between;
	letter-spacing: .09em;
	margin: 0 auto;
	max-width: var(--vl-max);
	padding: 22px 28px;
	text-transform: uppercase;
}

.vl-site-header a:focus-visible,
.vl-site-header button:focus-visible,
.vl-site-footer a:focus-visible,
.vl-portal a:focus-visible,
.vl-portal button:focus-visible,
.vl-form a:focus-visible,
.vl-form button:focus-visible {
	border-radius: 3px;
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

.vl-book-facts {
	background: var(--vl-paper);
	border-left: 4px solid var(--vl-coral);
	color: var(--vl-ink);
	float: right;
	font-family: var(--vl-sans);
	margin: 0 0 28px 34px;
	max-width: 280px;
	padding: 24px;
}

.vl-book-facts p {
	font-size: 12px;
	line-height: 1.55;
	margin: 13px 0 0;
}

.vl-demo-note {
	background: rgba(214, 168, 79, .15);
	border-left: 3px solid var(--vl-gold);
	color: var(--vl-ink-soft);
	display: block;
	font-family: var(--vl-sans);
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 25px;
	padding: 13px 16px;
}

.vl-demo-badge {
	background: var(--vl-gold);
	color: var(--vl-ink);
	font-family: var(--vl-sans);
	font-size: 10px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: .1em;
	padding: 7px 9px;
	position: absolute;
	right: 10px;
	text-transform: uppercase;
	top: 10px;
	z-index: 4;
}

.vl-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s ease var(--vl-reveal-delay, 0ms), transform .6s ease var(--vl-reveal-delay, 0ms);
}

.vl-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.vl-article-lead {
	font-family: var(--vl-serif);
	font-size: 1.35em;
	line-height: 1.5;
}

.vl-pagination {
	border-top: 1px solid var(--vl-line);
	margin-top: 58px;
	padding-top: 28px;
}

.vl-pagination > ul.page-numbers {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vl-pagination .page-numbers li {
	margin: 0;
}

.vl-pagination a.page-numbers,
.vl-pagination span.page-numbers {
	align-items: center;
	border: 1px solid var(--vl-line);
	color: var(--vl-ink) !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 9px 13px;
	text-decoration: none !important;
}

.vl-pagination span.page-numbers.current,
.vl-pagination a.page-numbers:hover {
	background: var(--vl-ink);
	border-color: var(--vl-ink);
	color: var(--vl-white) !important;
}

/*
 * Acabamento cinematográfico e isolamento da paleta.
 * O tema oferece modo escuro e cores próprias para títulos; cada superfície do
 * portal declara aqui sua cor para manter contraste e direção de arte estáveis.
 */
body.vl-designed-page,
body.vl-literary-single {
	background: var(--vl-paper);
}

.vl-site-header {
	backdrop-filter: blur(18px) saturate(1.12);
	-webkit-backdrop-filter: blur(18px) saturate(1.12);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .55), 0 14px 45px rgba(8, 17, 31, .06);
}

.vl-header-inner {
	position: relative;
}

.vl-header-inner::after {
	background: linear-gradient(90deg, transparent, rgba(194, 56, 47, .55), transparent);
	bottom: -1px;
	content: "";
	height: 1px;
	left: 28px;
	opacity: .48;
	position: absolute;
	right: 28px;
}

.vl-brand-mark {
	filter: drop-shadow(0 6px 9px rgba(8, 17, 31, .13));
}

.vl-header-cta,
.vl-button {
	box-shadow: 0 10px 30px rgba(8, 17, 31, .13);
}

.vl-portal {
	background:
		radial-gradient(circle at 8% 24%, rgba(214, 168, 79, .10), transparent 22%),
		linear-gradient(180deg, var(--vl-paper) 0%, #fbf7ef 48%, var(--vl-paper) 100%);
	isolation: isolate;
}

.vl-hero {
	background: var(--vl-night);
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	min-height: min(860px, calc(100svh - 88px));
}

.vl-hero::before {
	background:
		radial-gradient(circle at 74% 28%, rgba(214, 168, 79, .18), transparent 24%),
		repeating-linear-gradient(115deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 7px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.vl-hero::after {
	border: 1px solid rgba(255, 255, 255, .13);
	content: "";
	inset: 18px;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.vl-hero-art {
	filter: saturate(.82) contrast(1.09) brightness(.84);
}

.vl-hero-art img {
	animation: vl-cinema-drift 20s ease-in-out infinite alternate;
	transform: scale(1.035);
}

.vl-hero-content {
	filter: drop-shadow(0 18px 40px rgba(0, 0, 0, .22));
}

:is(.vl-hero, .vl-authors-section, .vl-submission-cta, .vl-commercial-box, .vl-page-intro) :is(h1, h2, h3, h4),
.vl-authors-section .vl-author-meta h3 a {
	color: var(--vl-white) !important;
}

:is(.vl-hero, .vl-authors-section, .vl-submission-cta, .vl-commercial-box, .vl-page-intro) :is(.vl-kicker, .vl-kicker--light),
.vl-hero h1 em,
.vl-authors-section .vl-section-heading h2 em,
.vl-submission-cta .vl-submit-copy h2 em,
.vl-authors-section .vl-heading-aside a span,
.vl-hero .vl-text-link span,
.vl-commercial-box .vl-text-link span {
	color: var(--vl-coral-light) !important;
}

.vl-submission-cta :is(.vl-kicker, .vl-kicker--light),
.vl-submission-cta .vl-submit-copy h2 em,
.vl-submission-cta .vl-submit-steps li > span {
	color: #ffe8e2 !important;
}

.vl-books-section,
.vl-interviews-section,
.vl-culture-section {
	position: relative;
}

.vl-books-section::before,
.vl-culture-section::before {
	background: radial-gradient(circle, rgba(194, 56, 47, .055), transparent 69%);
	content: "";
	height: 520px;
	pointer-events: none;
	position: absolute;
	width: 520px;
	z-index: -1;
}

.vl-books-section::before {
	left: -250px;
	top: 80px;
}

.vl-culture-section::before {
	bottom: 30px;
	right: -270px;
}

:is(.vl-books-section, .vl-interviews-section, .vl-culture-section, .vl-form-column, .vl-ad-product-grid article, .vl-about-copy, .vl-catalog, .vl-authors-page, .vl-editorial-list, .vl-advertiser-cta, .vl-single-shell) :is(h1, h2, h3, h4),
.vl-book-meta h3,
.vl-post-card h3,
.vl-interview-feature h3,
.vl-interview-minor h3 {
	color: var(--vl-ink) !important;
}

:is(.vl-form-column, .vl-dashboard-list, .vl-ad-product-grid article, .vl-interview-feature, .vl-ad-slot) {
	color: var(--vl-ink);
	color-scheme: light;
}

.vl-book-card,
.vl-post-card,
.vl-author-card {
	transition: transform .45s cubic-bezier(.2, .75, .25, 1);
}

.vl-book-card:hover,
.vl-post-card:hover,
.vl-author-card:hover {
	transform: translateY(-8px);
}

.vl-book-cover,
.vl-post-image,
.vl-author-photo {
	border: 1px solid rgba(255, 255, 255, .28);
	box-shadow: 0 22px 55px rgba(8, 17, 31, .15);
}

.vl-book-cover::after,
.vl-post-image::after {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .20);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.vl-authors-section {
	background:
		radial-gradient(circle at 82% 12%, rgba(15, 118, 110, .35), transparent 28%),
		radial-gradient(circle at 13% 88%, rgba(194, 56, 47, .14), transparent 26%),
		linear-gradient(145deg, var(--vl-night) 0%, var(--vl-night-soft) 62%, #07101c 100%);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	border-top: 1px solid rgba(255, 255, 255, .10);
	isolation: isolate;
	position: relative;
}

.vl-authors-section::before {
	background: repeating-linear-gradient(115deg, transparent 0 42px, rgba(255, 255, 255, .018) 42px 43px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.vl-authors-section .vl-author-meta p {
	color: rgba(255, 253, 248, .72);
}

.vl-interview-feature {
	border: 1px solid rgba(17, 24, 39, .09);
	box-shadow: 0 35px 85px rgba(8, 17, 31, .12);
	overflow: hidden;
}

.vl-interview-minor article {
	transition: background .25s ease, padding .25s ease;
}

.vl-interview-minor article:hover {
	background: rgba(255, 253, 248, .72);
	padding-left: 12px;
	padding-right: 12px;
}

.vl-submission-cta {
	background:
		radial-gradient(circle at 11% 18%, rgba(214, 168, 79, .23), transparent 25%),
		linear-gradient(125deg, #084f4c 0%, var(--vl-teal) 48%, #08202d 118%);
	border-bottom: 1px solid rgba(255, 255, 255, .16);
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.vl-submit-steps strong {
	color: var(--vl-white) !important;
}

.vl-submit-steps li > span {
	color: var(--vl-coral-light);
}

.vl-page-intro {
	background:
		radial-gradient(circle at 82% 20%, rgba(15, 118, 110, .30), transparent 28%),
		linear-gradient(130deg, var(--vl-night), var(--vl-night-soft));
	border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.vl-page-intro::after {
	background: repeating-linear-gradient(115deg, transparent 0 49px, rgba(255, 255, 255, .018) 49px 50px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.vl-page-intro > * {
	position: relative;
	z-index: 2;
}

.vl-form-column,
.vl-ad-product-grid article,
.vl-ad-slot,
.vl-dashboard-list {
	box-shadow: 0 24px 70px rgba(8, 17, 31, .10);
}

.vl-form-state,
.vl-demo-note {
	background: #fbf3df;
	color: var(--vl-ink-soft);
}

.vl-commercial-box {
	background:
		radial-gradient(circle at 88% 10%, rgba(15, 118, 110, .34), transparent 30%),
		linear-gradient(135deg, var(--vl-night), var(--vl-night-soft));
	box-shadow: 0 34px 90px rgba(8, 17, 31, .16);
}

.vl-advertiser-cta {
	background:
		radial-gradient(circle at 86% 18%, rgba(255, 253, 248, .30), transparent 24%),
		linear-gradient(120deg, #e2b85f, var(--vl-gold));
	border-bottom: 1px solid rgba(17, 24, 39, .16);
	border-top: 1px solid rgba(255, 255, 255, .45);
}

.vl-site-footer {
	background:
		radial-gradient(circle at 84% 8%, rgba(15, 118, 110, .30), transparent 28%),
		radial-gradient(circle at 12% 92%, rgba(194, 56, 47, .12), transparent 24%),
		linear-gradient(145deg, #07101c, #101d31 68%, #08111f);
	border-top: 1px solid rgba(255, 255, 255, .10);
}

.vl-site-footer .vl-brand-copy em,
.vl-footer-nav strong,
.vl-footer-note > span {
	color: var(--vl-coral-light);
}

.vl-footer-nav a {
	transition: color .2s ease, transform .2s ease;
}

.vl-footer-nav a:hover {
	transform: translateX(4px);
}

.vl-header-cta:focus-visible,
.vl-button--primary:focus-visible {
	box-shadow: 0 0 0 3px var(--vl-white), 0 0 0 6px var(--vl-ink);
	outline: 3px solid var(--vl-gold-light);
	outline-offset: 3px;
}

/* Artigos: canvas editorial claro e lateral curada pelo portal. */
body.vl-editorial-single {
	--jfm-accent: var(--vl-coral);
	--jfm-bg: var(--vl-paper-deep);
	--jfm-border: rgba(17, 24, 39, .16);
	--jfm-card-text: var(--vl-ink-soft);
	--jfm-entry-text: var(--vl-ink-soft);
	--jfm-input-surface: var(--vl-white);
	--jfm-muted: var(--vl-muted);
	--jfm-placeholder-middle: var(--vl-white);
	--jfm-placeholder-start: var(--vl-paper-deep);
	--jfm-surface: var(--vl-paper);
	--jfm-surface-soft: var(--vl-white);
	--jfm-text: var(--vl-ink);
	background: var(--vl-paper) !important;
	color: var(--vl-ink);
	color-scheme: light;
}

body.vl-editorial-single .jfm-site-content,
body.vl-editorial-single .jfm-main,
body.vl-editorial-single .jfm-article,
body.vl-editorial-single .jfm-sidebar {
	background: transparent;
	color: var(--vl-ink);
}

.vl-editorial-single .jfm-main {
	padding-bottom: 120px;
	padding-top: 70px;
}

.vl-editorial-single .jfm-content-layout {
	gap: clamp(46px, 6vw, 78px);
	grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
}

.vl-editorial-single .jfm-content-layout.vl-content-layout--solo {
	grid-template-columns: minmax(0, 920px);
	justify-content: center;
}

.vl-editorial-single .jfm-article-header {
	border-left: 4px solid var(--vl-coral);
	max-width: 920px;
	padding-left: clamp(20px, 3vw, 38px);
}

.vl-editorial-single .jfm-article-header h1,
.vl-editorial-single .jfm-entry-content :is(h2, h3, h4),
.vl-editorial-single .jfm-related > h2 {
	color: var(--vl-ink) !important;
}

.vl-editorial-single .jfm-featured {
	box-shadow: 0 30px 75px rgba(8, 17, 31, .14);
	overflow: hidden;
}

.vl-editorial-single .jfm-featured img {
	filter: saturate(.92) contrast(1.03);
}

.vl-editorial-single .jfm-entry-content {
	color: var(--vl-ink-soft);
}

.vl-editorial-single .jfm-sidebar {
	position: static;
	top: 116px;
}

.vl-editorial-single .jfm-sidebar > .jfm-widget {
	background: var(--vl-white);
	border: 1px solid rgba(17, 24, 39, .10);
	border-top: 4px solid var(--vl-coral);
	box-shadow: 0 25px 65px rgba(8, 17, 31, .10);
	margin-bottom: 28px;
	padding: 26px;
}

.vl-editorial-single .jfm-sidebar .jfm-widget__title {
	color: var(--vl-ink) !important;
	font-family: var(--vl-serif);
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1;
	margin: 10px 0 22px;
}

.vl-rail-posts {
	border-top: 1px solid var(--vl-line);
}

.vl-rail-post {
	align-items: center;
	border-bottom: 1px solid var(--vl-line);
	color: var(--vl-ink) !important;
	display: grid;
	gap: 14px;
	grid-template-columns: 82px minmax(0, 1fr);
	padding: 15px 0;
	text-decoration: none !important;
	transition: transform .24s ease;
}

.vl-rail-post:hover {
	transform: translateX(5px);
}

.vl-portal-rail a:focus-visible {
	border-radius: 2px;
	outline: 3px solid var(--vl-teal);
	outline-offset: 4px;
}

.vl-rail-post__image {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: linear-gradient(145deg, var(--vl-teal), var(--vl-night));
	display: flex;
	overflow: hidden;
}

.vl-rail-post__image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vl-rail-post__image i {
	color: var(--vl-white);
	font: 34px/1 var(--vl-serif);
	margin: auto;
}

.vl-rail-post__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.vl-rail-post__copy small {
	color: var(--vl-coral-dark);
	display: flex;
	flex-wrap: wrap;
	font-size: 9px;
	font-weight: 850;
	gap: 4px 7px;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.vl-rail-post__copy small b {
	color: var(--vl-muted);
	font: inherit;
	letter-spacing: .05em;
}

.vl-rail-post__copy strong {
	color: var(--vl-ink);
	font-family: var(--vl-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.15;
	margin: 5px 0 6px;
	overflow-wrap: anywhere;
}

.vl-rail-post__copy time {
	color: var(--vl-muted);
	font-size: 10px;
}

.vl-rail-all {
	color: var(--vl-ink) !important;
	display: inline-flex;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .08em;
	margin-top: 20px;
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-rail-links {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 20px;
}

.vl-rail-all span {
	color: var(--vl-coral-dark);
	margin-left: 10px;
}

.vl-rail-books {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vl-rail-books a {
	color: var(--vl-ink) !important;
	font-family: var(--vl-serif);
	font-size: 15px;
	line-height: 1.08;
	text-decoration: none !important;
}

.vl-rail-demo {
	color: var(--vl-coral-dark);
	display: block;
	font-family: var(--vl-sans);
	font-size: 8px;
	font-weight: 850;
	letter-spacing: .09em;
	margin-top: 6px;
	text-transform: uppercase;
}

.vl-rail-books img {
	aspect-ratio: 2 / 3;
	box-shadow: 0 14px 28px rgba(8, 17, 31, .14);
	display: block;
	margin-bottom: 10px;
	object-fit: cover;
	transition: transform .3s ease;
	width: 100%;
}

.vl-rail-books a:hover img {
	transform: translateY(-4px);
}

.vl-rail-cta {
	background:
		radial-gradient(circle at 92% 4%, rgba(15, 118, 110, .45), transparent 38%),
		linear-gradient(140deg, var(--vl-night), var(--vl-night-soft));
	box-shadow: 0 25px 65px rgba(8, 17, 31, .16);
	color: var(--vl-white) !important;
	display: grid;
	gap: 9px;
	grid-template-columns: 1fr auto;
	padding: 27px;
	position: relative;
	text-decoration: none !important;
}

.vl-rail-cta span {
	color: var(--vl-coral-light);
	font-size: 10px;
	font-weight: 850;
	grid-column: 1 / -1;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.vl-rail-cta strong {
	font-family: var(--vl-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.05;
}

.vl-rail-cta i {
	align-self: end;
	color: var(--vl-coral-light);
	font-style: normal;
}

.vl-privacy-copy > div:first-child {
	align-self: start;
	position: sticky;
	top: 120px;
}

.vl-privacy-copy h3 {
	color: var(--vl-ink) !important;
	font-family: var(--vl-serif);
	font-size: 30px;
	font-weight: 500;
	letter-spacing: -.02em;
	line-height: 1.1;
	margin: 1.75em 0 .55em;
}

@keyframes vl-cinema-drift {
	from { transform: scale(1.035) translate3d(0, 0, 0); }
	to { transform: scale(1.075) translate3d(-.65%, -.35%, 0); }
}

.vl-literary-single {
	background: var(--vl-paper);
}

.vl-single-shell {
	background:
		radial-gradient(circle at 86% 8%, rgba(214, 168, 79, .16), transparent 28%),
		var(--vl-paper);
	color: var(--vl-ink);
	font-family: var(--vl-sans);
	min-height: 70vh;
	padding: 68px 28px 120px;
}

.vl-single-shell > * {
	box-sizing: border-box;
}

.vl-single-back {
	color: var(--vl-teal) !important;
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 auto 40px;
	max-width: var(--vl-max);
	text-decoration: none !important;
	text-transform: uppercase;
}

.vl-single-book-grid,
.vl-single-author-grid {
	align-items: start;
	display: grid;
	gap: clamp(46px, 7vw, 105px);
	grid-template-columns: minmax(280px, 450px) minmax(0, 1fr);
	margin: 0 auto;
	max-width: var(--vl-max);
}

.vl-single-cover,
.vl-single-portrait {
	background: var(--vl-paper-deep);
	box-shadow: var(--vl-shadow);
	margin: 0;
	overflow: hidden;
	position: sticky;
	top: 120px;
}

.vl-single-cover {
	aspect-ratio: 2 / 3;
}

.vl-single-portrait {
	aspect-ratio: 7 / 8;
}

.vl-single-cover img,
.vl-single-portrait img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vl-single-image-placeholder,
.vl-related-placeholder {
	align-items: center;
	background: linear-gradient(145deg, var(--vl-teal), var(--vl-ink));
	color: rgba(255, 255, 255, .82);
	display: flex;
	font-family: var(--vl-serif);
	font-size: clamp(70px, 12vw, 160px);
	height: 100%;
	justify-content: center;
	width: 100%;
}

.vl-single-copy {
	padding-top: 25px;
}

.vl-single-labels {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
}

.vl-demo-chip {
	background: var(--vl-gold);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	padding: 7px 11px;
	text-transform: uppercase;
}

.vl-single-copy h1 {
	font-family: var(--vl-serif);
	font-size: clamp(52px, 7vw, 92px);
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: .94;
	margin: 28px 0 18px;
}

.vl-single-byline {
	color: var(--vl-muted);
	font-family: var(--vl-serif);
	font-size: 22px;
	font-style: italic;
	margin: 0 0 40px;
}

.vl-single-byline a {
	color: var(--vl-teal) !important;
}

.vl-single-facts {
	border-bottom: 1px solid var(--vl-line);
	border-top: 1px solid var(--vl-line);
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0 0 46px;
	padding: 21px 0;
}

.vl-single-facts li {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	gap: 4px;
}

.vl-single-facts strong {
	color: var(--vl-coral);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vl-single-prose {
	font-family: var(--vl-serif);
	font-size: 20px;
	line-height: 1.75;
	max-width: 760px;
}

.vl-single-prose p {
	margin: 0 0 1.3em;
}

.vl-single-prose h2,
.vl-single-prose h3 {
	font-family: var(--vl-serif);
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.1;
	margin: 1.8em 0 .7em;
}

.vl-single-prose h2 {
	font-size: 38px;
}

.vl-single-copy > .vl-demo-note {
	margin-top: 40px;
}

.vl-single-related {
	border-top: 1px solid var(--vl-line);
	margin: 100px auto 0;
	max-width: var(--vl-max);
	padding-top: 70px;
}

.vl-single-related-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 38px;
}

.vl-single-related-card {
	color: var(--vl-ink) !important;
	font-family: var(--vl-serif);
	font-size: 21px;
	line-height: 1.08;
	text-decoration: none !important;
}

.vl-single-related-card img,
.vl-related-placeholder {
	aspect-ratio: 2 / 3;
	display: flex;
	height: auto;
	margin-bottom: 15px;
	object-fit: cover;
	width: 100%;
}

@media (max-width: 900px) {
	.vl-single-book-grid,
	.vl-single-author-grid {
		gap: 44px;
		grid-template-columns: minmax(230px, 34vw) minmax(0, 1fr);
	}

	.vl-single-copy h1 {
		font-size: clamp(46px, 7vw, 68px);
	}

	.vl-single-related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	body.admin-bar .vl-site-header.is-sticky {
		top: 46px;
	}
}

@media (max-width: 600px) {
	body.admin-bar .vl-site-header.is-sticky {
		top: 0;
	}
}

@media (max-width: 680px) {
	.vl-single-shell {
		padding: 42px 20px 85px;
	}

	.vl-single-back {
		margin-bottom: 28px;
	}

	.vl-single-book-grid,
	.vl-single-author-grid {
		grid-template-columns: 1fr;
	}

	.vl-single-cover,
	.vl-single-portrait {
		max-width: 420px;
		position: relative;
		top: auto;
	}

	.vl-single-copy {
		padding-top: 8px;
	}

	.vl-single-copy h1 {
		font-size: clamp(48px, 15vw, 72px);
	}

	.vl-single-prose {
		font-size: 18px;
	}

	.vl-single-related {
		margin-top: 75px;
		padding-top: 55px;
	}

	.vl-single-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@keyframes vl-header-in {
	from { opacity: 0; transform: translateY(-12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1001px) {
	.vl-book-card:nth-child(1) { transform: rotate(-.25deg); }
	.vl-book-card:nth-child(3) { transform: rotate(.25deg); }
	.vl-book-card:nth-child(1):hover { transform: rotate(-.25deg) translateY(-8px); }
	.vl-book-card:nth-child(3):hover { transform: rotate(.25deg) translateY(-8px); }
}

@media (max-width: 1100px) {
	.vl-editorial-single .jfm-content-layout {
		grid-template-columns: 1fr;
	}

	.vl-editorial-single .jfm-sidebar {
		display: grid;
		gap: 24px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}

	.vl-editorial-single .jfm-sidebar > * {
		margin: 0;
	}

	.vl-editorial-single .vl-rail-cta {
		grid-column: 1 / -1;
	}

	.vl-header-inner {
		grid-template-columns: auto 1fr auto;
	}

	.vl-primary-nav {
		background: var(--vl-white);
		border-top: 1px solid var(--vl-line);
		box-shadow: 0 22px 35px rgba(17, 24, 39, .12);
		display: none;
		left: 0;
		padding: 18px 28px 28px;
		position: absolute;
		right: 0;
		top: 87px;
	}

	.vl-primary-nav.is-open {
		display: block;
	}

	.vl-menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
	}

	.vl-menu a {
		border-bottom: 1px solid var(--vl-line);
		display: block;
		font-size: 14px;
		padding: 13px 0;
	}

	.vl-menu-toggle {
		display: block;
		justify-self: end;
	}

	.vl-header-cta {
		display: none;
	}

	.vl-book-grid,
	.vl-author-grid,
	.vl-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vl-interview-layout {
		grid-template-columns: 1fr;
	}

	.vl-interview-minor {
		display: grid;
		gap: 24px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vl-submission-cta {
		gap: 50px;
	}

	.vl-advertiser-cta {
		grid-template-columns: 1fr 2fr;
	}

	.vl-advertiser-cta .vl-text-link {
		grid-column: 2;
		justify-self: start;
	}

	.vl-footer-inner {
		grid-template-columns: 1.3fr .7fr .7fr;
	}

	.vl-footer-note {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .16);
		grid-column: 1 / -1;
		padding: 25px 0 0;
	}
}

@media (max-width: 760px) {
	.vl-editorial-single .jfm-main {
		padding-bottom: 80px;
		padding-top: 46px;
	}

	.vl-editorial-single .jfm-sidebar {
		grid-template-columns: 1fr;
	}

	.vl-editorial-single .vl-rail-cta {
		grid-column: auto;
	}

	.vl-privacy-copy > div:first-child {
		position: static;
	}

	.vl-header-inner {
		height: 74px;
		padding: 0 18px;
	}

	.vl-primary-nav {
		top: 73px;
	}

	.vl-hero {
		min-height: 670px;
		padding: 78px 20px 70px;
	}

	.vl-hero-wash {
		background: linear-gradient(0deg, rgba(11, 20, 33, .96) 0%, rgba(11, 20, 33, .72) 70%, rgba(11, 20, 33, .35) 100%);
	}

	.vl-hero h1 {
		font-size: clamp(49px, 16vw, 72px);
	}

	.vl-hero-content > p {
		font-size: 15px;
	}

	.vl-hero-side-note,
	.vl-hero-scroll {
		display: none;
	}

	.vl-marquee div {
		animation: vl-marquee 18s linear infinite;
		justify-content: start;
		padding-left: 20px;
	}

	.vl-section {
		padding: 76px 20px;
	}

	.vl-section-heading--split {
		align-items: start;
		gap: 28px;
		grid-template-columns: 1fr;
	}

	.vl-section-heading h2 {
		font-size: 45px;
	}

	.vl-book-grid,
	.vl-author-grid,
	.vl-post-grid {
		gap: 38px 17px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vl-book-card:nth-child(even) .vl-book-cover {
		margin-top: 20px;
	}

	.vl-book-meta h3 {
		font-size: 21px;
	}

	.vl-ad-slot {
		align-items: start;
		flex-direction: column;
		gap: 20px;
		margin: 0 20px 70px;
		padding: 24px;
	}

	.vl-authors-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.vl-author-meta h3 {
		font-size: 20px;
	}

	.vl-interview-feature {
		grid-template-columns: 1fr;
	}

	.vl-interview-image {
		min-height: 300px;
	}

	.vl-interview-feature > div {
		padding: 28px;
	}

	.vl-interview-minor {
		grid-template-columns: 1fr;
	}

	.vl-submission-cta {
		gap: 40px;
		grid-template-columns: 1fr;
		padding: 78px 20px;
	}

	.vl-submit-copy h2 {
		font-size: 51px;
	}

	.vl-post-card h3 {
		font-size: 22px;
	}

	.vl-advertiser-cta {
		align-items: start;
		gap: 25px;
		grid-template-columns: 1fr;
		padding: 60px 20px;
	}

	.vl-advertiser-cta .vl-text-link {
		grid-column: auto;
	}

	.vl-page-intro {
		align-items: start;
		gap: 32px;
		grid-template-columns: 1fr;
		min-height: 390px;
		padding: 80px 20px 55px;
	}

	.vl-page-intro > p {
		font-size: 14px;
	}

	.vl-writer-area {
		grid-template-columns: 1fr;
	}

	.vl-form-column {
		padding: 27px 20px;
	}

	.vl-form-grid {
		grid-template-columns: 1fr;
	}

	.vl-field--full {
		grid-column: auto;
	}

	.vl-ad-product-grid,
	.vl-about-copy {
		grid-template-columns: 1fr;
	}

	.vl-commercial-box {
		padding: 45px 24px;
	}

	.vl-about-copy {
		gap: 35px;
	}

	.vl-about-copy > div:last-child {
		border-left: 0;
		border-top: 1px solid var(--vl-line);
		padding: 25px 0 0;
	}

	.vl-footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 65px 20px 45px;
	}

	.vl-footer-intro,
	.vl-footer-note {
		grid-column: 1 / -1;
	}

	.vl-footer-bottom {
		flex-direction: column;
		gap: 8px;
		padding: 20px;
	}

	.vl-book-facts {
		float: none;
		margin: 0 0 28px;
		max-width: none;
	}
}

@media (max-width: 460px) {
	.vl-book-grid,
	.vl-author-grid,
	.vl-post-grid {
		grid-template-columns: 1fr;
	}

	.vl-book-card:nth-child(even) .vl-book-cover {
		margin-top: 0;
	}

	.vl-author-grid {
		gap: 42px;
	}
}

@keyframes vl-marquee {
	to { transform: translateX(-45%); }
}

@media (prefers-reduced-motion: reduce) {
	.vl-site-header,
	.vl-portal *,
	.vl-site-header *,
	.vl-site-footer *,
	.vl-portal-rail * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	.vl-reveal {
		opacity: 1;
		transform: none;
	}

	.vl-marquee div {
		animation: none !important;
		transform: none !important;
	}
}
