/* =========================================================
   VibrantGateways Media Homepage V1
   ========================================================= */

body.page-template-page-vibrant-media {
	--vg-ink: #13231f;
	--vg-muted: #66746f;
	--vg-surface: #f5f7f4;
	--vg-line: rgba(19, 35, 31, 0.12);
	--vg-dark: #10231d;
	--vg-accent: #dca85a;
	--vg-white: #ffffff;
	background: #fff;
	color: var(--vg-ink);
}

body.page-template-page-vibrant-media #inner-wrap {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

body.page-template-page-vibrant-media .content-area {
	margin: 0;
}

body.page-template-page-vibrant-media .vg-media-page,
body.page-template-page-vibrant-media .vg-media-footer {
	font-family: inherit;
}

.vg-shell {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}


/* HERO */

.vg-hero {
	position: relative;
	overflow: hidden;
	min-height: 620px;
	display: flex;
	align-items: center;
	background:
		radial-gradient(circle at 80% 25%, rgba(220,168,90,.18), transparent 31%),
		radial-gradient(circle at 18% 85%, rgba(92,144,124,.16), transparent 35%),
		linear-gradient(135deg, #10231d 0%, #17342b 52%, #0d1d19 100%);
	color: #fff;
}

.vg-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(115deg, transparent 0 55%, rgba(255,255,255,.04) 55% 56%, transparent 56%),
		linear-gradient(25deg, transparent 0 68%, rgba(255,255,255,.025) 68% 69%, transparent 69%);
	pointer-events: none;
}

.vg-hero-inner {
	position: relative;
	z-index: 1;
	padding-top: 110px;
	padding-bottom: 110px;
}

.vg-kicker,
.vg-eyebrow {
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.vg-kicker {
	color: #e8c68d;
}

.vg-hero h1 {
	max-width: 880px;
	margin: 0;
	font-size: clamp(48px, 7vw, 88px);
	line-height: .98;
	letter-spacing: -.045em;
	color: #fff;
}

.vg-hero-copy {
	max-width: 660px;
	margin: 28px 0 0;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
	color: rgba(255,255,255,.78);
}

.vg-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

.vg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 25px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 750;
	text-decoration: none;
	transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.vg-button:hover {
	transform: translateY(-2px);
}

.vg-button-primary {
	background: var(--vg-accent);
	color: #17251f;
}

.vg-button-primary:hover {
	background: #e8bb76;
	color: #17251f;
}

.vg-button-secondary {
	border: 1px solid rgba(255,255,255,.35);
	color: #fff;
	background: rgba(255,255,255,.05);
	backdrop-filter: blur(10px);
}

.vg-button-secondary:hover {
	border-color: rgba(255,255,255,.65);
	color: #fff;
}


/* COMMON SECTIONS */

.vg-section {
	padding: 96px 0;
}

.vg-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 42px;
}

.vg-section-heading h2 {
	margin: 0;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.05;
	letter-spacing: -.035em;
	color: var(--vg-ink);
}

.vg-section-heading p:not(.vg-eyebrow) {
	max-width: 680px;
	margin: 15px 0 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--vg-muted);
}

.vg-eyebrow {
	color: #8a6c3d;
}

.vg-text-link,
.vg-card-link {
	color: var(--vg-ink);
	text-decoration: none;
	font-weight: 750;
}

.vg-text-link:hover,
.vg-card-link:hover {
	color: #8a6c3d;
}


/* NEWS */

.vg-news-section {
	background: #fff;
}

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

.vg-news-card {
	overflow: hidden;
	border: 1px solid var(--vg-line);
	border-radius: 18px;
	background: #fff;
	transition: transform .22s ease, box-shadow .22s ease;
}

.vg-news-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 55px rgba(18,35,31,.10);
}

.vg-card-image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e8ece8;
}

.vg-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.vg-news-card:hover .vg-card-image img {
	transform: scale(1.035);
}

.vg-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 75% 20%, rgba(220,168,90,.28), transparent 30%),
		linear-gradient(135deg, #dfe8e3, #b9ccc2);
}

.vg-card-body {
	padding: 26px;
}

.vg-card-meta {
	margin: 0 0 12px;
	color: #8a6c3d;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vg-card-body h3 {
	margin: 0;
	font-size: 23px;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.vg-card-body h3 a {
	color: var(--vg-ink);
	text-decoration: none;
}

.vg-card-body > p:not(.vg-card-meta) {
	margin: 15px 0 20px;
	line-height: 1.65;
	color: var(--vg-muted);
}

.vg-empty-state {
	grid-column: 1 / -1;
	padding: 52px;
	border-radius: 18px;
	background: var(--vg-surface);
	text-align: center;
}

.vg-empty-state strong {
	font-size: 24px;
}

.vg-empty-state p {
	margin: 10px 0 0;
	color: var(--vg-muted);
}


/* GUIDES */

.vg-guides-section {
	background: var(--vg-surface);
}

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

.vg-feature-card {
	position: relative;
	min-height: 330px;
	display: flex;
	flex-direction: column;
	padding: 34px;
	border: 1px solid rgba(19,35,31,.1);
	border-radius: 20px;
	background: #fff;
	color: var(--vg-ink);
	text-decoration: none;
	transition: transform .22s ease, box-shadow .22s ease;
}

.vg-feature-card:hover {
	color: var(--vg-ink);
	transform: translateY(-5px);
	box-shadow: 0 22px 55px rgba(18,35,31,.09);
}

.vg-feature-number {
	margin-bottom: auto;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	color: #9b7740;
}

.vg-feature-card h3 {
	margin: 45px 0 12px;
	font-size: 29px;
	line-height: 1.12;
	letter-spacing: -.025em;
}

.vg-feature-card p {
	margin: 0 0 25px;
	line-height: 1.65;
	color: var(--vg-muted);
}

.vg-feature-card > span:last-child {
	font-weight: 750;
}


/* REGIONS */

.vg-regions-section {
	background: #fff;
}

.vg-region-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--vg-line);
	border-left: 1px solid var(--vg-line);
}

.vg-region-card {
	min-height: 138px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding: 27px;
	border-right: 1px solid var(--vg-line);
	border-bottom: 1px solid var(--vg-line);
	background: #fff;
	color: var(--vg-ink);
	text-decoration: none;
	font-size: 20px;
	font-weight: 750;
	transition: background .2s ease, color .2s ease;
}

.vg-region-card:hover {
	background: var(--vg-dark);
	color: #fff;
}

.vg-region-card strong {
	font-size: 22px;
	font-weight: 400;
}


/* PLANNING CTA */

.vg-planning-section {
	padding-top: 34px;
	background: #fff;
}

.vg-planning-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	padding: 58px 64px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 90% 10%, rgba(220,168,90,.2), transparent 30%),
		var(--vg-dark);
	color: #fff;
}

.vg-planning-box h2 {
	max-width: 700px;
	margin: 0;
	font-size: clamp(34px, 4vw, 50px);
	line-height: 1.07;
	letter-spacing: -.035em;
	color: #fff;
}

.vg-planning-box > div > p:last-child {
	max-width: 660px;
	margin: 18px 0 0;
	color: rgba(255,255,255,.72);
	font-size: 17px;
	line-height: 1.7;
}

.vg-planning-box .vg-eyebrow {
	color: #e8c68d;
}

.vg-button-light {
	flex: 0 0 auto;
	background: #fff;
	color: var(--vg-dark);
}

.vg-button-light:hover {
	color: var(--vg-dark);
	background: #f3e8d3;
}


/* MEDIA FOOTER */

.vg-media-footer {
	margin-top: 96px;
	padding: 78px 0 24px;
	background: #0a1713;
	color: rgba(255,255,255,.72);
}

.vg-footer-grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 60px;
}

.vg-footer-logo {
	display: inline-block;
	margin-bottom: 18px;
	color: #fff;
	text-decoration: none;
	font-size: 27px;
	font-weight: 850;
	letter-spacing: -.025em;
}

.vg-footer-logo:hover {
	color: #fff;
}

.vg-footer-brand p {
	max-width: 360px;
	margin: 0;
	line-height: 1.7;
}

.vg-footer-column {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.vg-footer-column h3 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.vg-footer-column a {
	color: rgba(255,255,255,.68);
	text-decoration: none;
}

.vg-footer-column a:hover {
	color: #fff;
}

.vg-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	margin-top: 62px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.1);
	font-size: 13px;
	color: rgba(255,255,255,.48);
}


/* RESPONSIVE */

@media (max-width: 1024px) {
	.vg-news-grid,
	.vg-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vg-region-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vg-footer-grid {
		grid-template-columns: 2fr 1fr 1fr;
	}

	.vg-footer-column:last-child {
		grid-column: 2;
	}
}

@media (max-width: 767px) {
	.vg-shell {
		width: min(100% - 30px, 1180px);
	}

	.vg-hero {
		min-height: 570px;
	}

	.vg-hero-inner {
		padding-top: 85px;
		padding-bottom: 85px;
	}

	.vg-hero h1 {
		font-size: clamp(44px, 13vw, 62px);
	}

	.vg-section {
		padding: 68px 0;
	}

	.vg-section-heading {
		display: block;
		margin-bottom: 30px;
	}

	.vg-text-link {
		display: inline-block;
		margin-top: 20px;
	}

	.vg-news-grid,
	.vg-feature-grid {
		grid-template-columns: 1fr;
	}

	.vg-feature-card {
		min-height: 280px;
	}

	.vg-region-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vg-region-card {
		min-height: 112px;
		padding: 20px;
		font-size: 17px;
	}

	.vg-planning-box {
		display: block;
		padding: 40px 28px;
	}

	.vg-planning-box .vg-button {
		margin-top: 30px;
	}

	.vg-media-footer {
		margin-top: 68px;
		padding-top: 58px;
	}

	.vg-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 38px 25px;
	}

	.vg-footer-brand {
		grid-column: 1 / -1;
	}

	.vg-footer-column:last-child {
		grid-column: auto;
	}

	.vg-footer-bottom {
		display: block;
	}

	.vg-footer-bottom span {
		display: block;
		margin-top: 5px;
	}
}

@media (max-width: 430px) {
	.vg-actions {
		display: grid;
	}

	.vg-button {
		width: 100%;
	}

	.vg-region-grid {
		grid-template-columns: 1fr;
	}

	.vg-footer-grid {
		grid-template-columns: 1fr;
	}

	.vg-footer-column:last-child {
		grid-column: auto;
	}
}


/* =========================================================
   VG MEDIA HEADER V2
   ========================================================= */

.page-template-page-vibrant-media .vg-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: rgba(10, 27, 22, .78);
	border-bottom: 1px solid rgba(255,255,255,.08);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.admin-bar.page-template-page-vibrant-media .vg-site-header {
	top: 32px;
}

.vg-header-inner {
	height: 78px;
	display: flex;
	align-items: center;
	gap: 34px;
}

.vg-header-brand {
	flex: 0 0 auto;
	color: #fff;
	text-decoration: none;
	font-size: 22px;
	font-weight: 850;
	letter-spacing: -.035em;
}

.vg-header-brand:hover {
	color: #fff;
}

.vg-desktop-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	margin-left: auto;
}

.vg-desktop-nav a {
	position: relative;
	color: rgba(255,255,255,.76);
	text-decoration: none;
	font-size: 14px;
	font-weight: 650;
}

.vg-desktop-nav a:hover {
	color: #fff;
}

.vg-desktop-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -8px;
	height: 1px;
	background: #dca85a;
	transition: right .2s ease;
}

.vg-desktop-nav a:hover::after {
	right: 0;
}

.vg-header-cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 19px;
	border-radius: 999px;
	background: #dca85a;
	color: #13231f;
	text-decoration: none;
	font-size: 13px;
	font-weight: 800;
}

.vg-header-cta:hover {
	background: #e8bb76;
	color: #13231f;
}

.vg-mobile-menu {
	display: none;
	position: relative;
	margin-left: auto;
}

.vg-mobile-menu summary {
	cursor: pointer;
	list-style: none;
	padding: 8px 13px;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.vg-mobile-menu summary::-webkit-details-marker {
	display: none;
}

.vg-mobile-menu-panel {
	position: absolute;
	top: calc(100% + 15px);
	right: 0;
	width: 220px;
	padding: 12px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 16px;
	background: #10231d;
	box-shadow: 0 22px 60px rgba(0,0,0,.28);
}

.vg-mobile-menu-panel a {
	display: block;
	padding: 11px 12px;
	border-radius: 9px;
	color: rgba(255,255,255,.82);
	text-decoration: none;
	font-size: 14px;
}

.vg-mobile-menu-panel a:hover {
	background: rgba(255,255,255,.07);
	color: #fff;
}

@media (max-width: 850px) {

	.vg-desktop-nav,
	.vg-header-cta {
		display: none;
	}

	.vg-mobile-menu {
		display: block;
	}

	.vg-header-inner {
		height: 68px;
	}

	.vg-header-brand {
		font-size: 20px;
	}
}

@media (max-width: 782px) {
	.admin-bar.page-template-page-vibrant-media .vg-site-header {
		top: 46px;
	}
}

/* =========================================================
   HERO V3 — EDITORIAL TRAVEL VISUAL
   ========================================================= */

.vg-hero {
	min-height: 590px;
}

.vg-hero-inner {
	padding-top: 132px;
	padding-bottom: 82px;
}

.vg-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
	align-items: center;
	gap: 68px;
}

.vg-hero-content {
	position: relative;
	z-index: 3;
}

.vg-hero-content h1 {
	max-width: 760px;
}

.vg-hero-visual {
	position: relative;
	min-height: 430px;
}

.vg-hero-main-photo {
	position: absolute;
	top: 0;
	right: 0;
	width: 88%;
	height: 390px;
	overflow: hidden;
	border-radius: 26px;
	box-shadow: 0 28px 75px rgba(0,0,0,.28);
}

.vg-hero-main-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vg-hero-main-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		transparent 55%,
		rgba(8,24,19,.45) 100%
	);
	pointer-events: none;
}

.vg-photo-label {
	position: absolute;
	left: 22px;
	bottom: 20px;
	z-index: 2;
	color: #fff;
}

.vg-photo-label span {
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: #e8c68d;
}

.vg-photo-label strong {
	display: block;
	margin-top: 3px;
	font-size: 22px;
	line-height: 1;
}

.vg-hero-secondary-photo {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 3;
	width: 43%;
	height: 175px;
	overflow: hidden;
	border: 5px solid #17342b;
	border-radius: 20px;
	background: #17342b;
	box-shadow: 0 22px 55px rgba(0,0,0,.32);
}

.vg-hero-secondary-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vg-hero-secondary-photo span {
	position: absolute;
	left: 14px;
	bottom: 11px;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(8,24,19,.72);
	color: #fff;
	font-size: 10px;
	font-weight: 750;
	backdrop-filter: blur(7px);
}

.vg-hero-stamp {
	position: absolute;
	right: -22px;
	bottom: 24px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 112px;
	height: 112px;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%;
	background: rgba(13,36,29,.76);
	color: #fff;
	text-align: center;
	backdrop-filter: blur(12px);
	transform: rotate(7deg);
}

.vg-hero-stamp span {
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
	color: #e8c68d;
}

.vg-hero-stamp strong {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.1;
	letter-spacing: .04em;
}

@media (max-width: 1050px) {
	.vg-hero-grid {
		grid-template-columns: 1fr 420px;
		gap: 40px;
	}

	.vg-hero-main-photo {
		width: 94%;
	}

	.vg-hero-stamp {
		right: -5px;
	}
}

@media (max-width: 900px) {
	.vg-hero-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.vg-hero-visual {
		min-height: 390px;
		max-width: 640px;
	}

	.vg-hero-main-photo {
		left: 7%;
		right: auto;
		width: 86%;
		height: 350px;
	}

	.vg-hero-secondary-photo {
		width: 38%;
		height: 155px;
	}

	.vg-hero-stamp {
		right: 0;
	}
}

@media (max-width: 600px) {
	.vg-hero-inner {
		padding-top: 112px;
		padding-bottom: 65px;
	}

	.vg-hero-visual {
		min-height: 310px;
	}

	.vg-hero-main-photo {
		left: 4%;
		width: 92%;
		height: 280px;
		border-radius: 20px;
	}

	.vg-hero-secondary-photo {
		width: 45%;
		height: 125px;
		border-width: 4px;
	}

	.vg-hero-stamp {
		width: 88px;
		height: 88px;
		right: -2px;
		bottom: 10px;
	}

	.vg-hero-stamp strong {
		font-size: 10px;
	}
}

/* =========================================================
   LATEST TRAVEL NEWS V2
   ========================================================= */

.vg-news-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
	gap: 26px;
	align-items: stretch;
}

.vg-news-lead {
	overflow: hidden;
	border: 1px solid var(--vg-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(18,35,31,.06);
}

.vg-news-lead-image {
	display: block;
	position: relative;
	height: 390px;
	overflow: hidden;
	background: #e8ece8;
}

.vg-news-lead-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.vg-news-lead:hover .vg-news-lead-image img {
	transform: scale(1.025);
}

.vg-news-lead-body {
	padding: 32px 34px 34px;
}

.vg-news-lead-body h3 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.1;
	letter-spacing: -.035em;
}

.vg-news-lead-body h3 a,
.vg-news-side-body h3 a {
	color: var(--vg-ink);
	text-decoration: none;
}

.vg-news-lead-body > p:not(.vg-card-meta) {
	max-width: 720px;
	margin: 18px 0 22px;
	color: var(--vg-muted);
	font-size: 16px;
	line-height: 1.7;
}


/* RIGHT STACK */

.vg-news-stack {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.vg-news-side {
	display: grid;
	grid-template-columns: 44% 56%;
	overflow: hidden;
	min-height: 0;
	border: 1px solid var(--vg-line);
	border-radius: 18px;
	background: #fff;
	transition: transform .22s ease, box-shadow .22s ease;
}

.vg-news-side:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 45px rgba(18,35,31,.08);
}

.vg-news-side-image {
	display: block;
	position: relative;
	min-height: 100%;
	overflow: hidden;
	background: #e8ece8;
}

.vg-news-side-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.vg-news-side:hover .vg-news-side-image img {
	transform: scale(1.035);
}

.vg-news-side-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px;
}

.vg-news-side-body h3 {
	margin: 0 0 18px;
	font-size: 21px;
	line-height: 1.22;
	letter-spacing: -.02em;
}

.vg-news-side-body .vg-card-link {
	margin-top: auto;
	font-size: 13px;
}


/* EMPTY IMAGE PLACEHOLDER */

.vg-news-lead-image .vg-image-placeholder,
.vg-news-side-image .vg-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	background:
		radial-gradient(circle at 80% 20%, rgba(220,168,90,.28), transparent 30%),
		linear-gradient(135deg, #dfe8e3, #b9ccc2);
}


/* RESPONSIVE */

@media (max-width: 1000px) {
	.vg-news-layout {
		grid-template-columns: 1fr;
	}

	.vg-news-stack {
		grid-template-columns: repeat(2, minmax(0,1fr));
		grid-template-rows: none;
	}

	.vg-news-side {
		display: block;
	}

	.vg-news-side-image {
		height: 220px;
	}

	.vg-news-side-body {
		min-height: 210px;
	}
}

@media (max-width: 700px) {
	.vg-news-lead-image {
		height: 280px;
	}

	.vg-news-lead-body {
		padding: 25px;
	}

	.vg-news-stack {
		grid-template-columns: 1fr;
	}

	.vg-news-side {
		display: grid;
		grid-template-columns: 42% 58%;
	}

	.vg-news-side-image {
		height: auto;
		min-height: 185px;
	}

	.vg-news-side-body {
		min-height: 185px;
		padding: 20px;
	}
}

@media (max-width: 480px) {
	.vg-news-side {
		display: block;
	}

	.vg-news-side-image {
		height: 210px;
	}

	.vg-news-side-body {
		min-height: auto;
	}
}

/* NEWS V2 FINAL POLISH */

@media (min-width: 1001px) {

	.vg-news-layout {
		grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
		gap: 28px;
	}

	.vg-news-side {
		grid-template-columns: 40% 60%;
	}

	.vg-news-side-body {
		padding: 24px 26px;
	}

	.vg-news-side-body h3 {
		font-size: 19px;
		line-height: 1.24;
	}
}

/* =========================================================
   DESTINATION GUIDES V2 — 3 CARD FINAL GRID
   ========================================================= */

@media (min-width: 851px) {

	.vg-destination-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
	}

	.vg-destination-card,
	.vg-destination-card:nth-child(1),
	.vg-destination-card:nth-child(4) {
		min-height: 430px;
	}

	.vg-destination-content {
		padding: 30px;
	}

	.vg-destination-content h3 {
		font-size: clamp(30px, 3vw, 42px);
	}
}

/* =========================================================
   DESTINATION GUIDES — 3 CARD COMPLETE FIX
   ========================================================= */

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

.vg-destination-card,
.vg-destination-card:nth-child(1),
.vg-destination-card:nth-child(4) {
	position: relative;
	display: block;
	min-height: 340px;
	overflow: hidden;
	border-radius: 22px;
	background: #17342b;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 16px 42px rgba(18,35,31,.10);
}

.vg-destination-img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.vg-destination-card:hover .vg-destination-img {
	transform: scale(1.04);
}

.vg-destination-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(8,24,19,.03) 20%,
		rgba(8,24,19,.15) 48%,
		rgba(8,24,19,.82) 100%
	);
}

.vg-destination-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 26px;
	color: #fff;
}

.vg-destination-label {
	display: block;
	margin-bottom: 9px;
	color: #e8c68d;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .18em;
}

.vg-destination-content h3 {
	margin: 0;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	letter-spacing: -.035em;
}

.vg-destination-cta {
	display: inline-block;
	margin-top: 14px;
	color: rgba(255,255,255,.82);
	font-size: 13px;
	font-weight: 700;
}

.vg-destination-card:hover .vg-destination-cta {
	color: #fff;
}

@media (max-width: 850px) {
	.vg-destination-grid {
		grid-template-columns: 1fr;
	}

	.vg-destination-card,
	.vg-destination-card:nth-child(1),
	.vg-destination-card:nth-child(4) {
		min-height: 310px;
	}
}

@media (max-width: 520px) {
	.vg-destination-card,
	.vg-destination-card:nth-child(1),
	.vg-destination-card:nth-child(4) {
		min-height: 270px;
		border-radius: 18px;
	}

	.vg-destination-content {
		padding: 22px;
	}

	.vg-destination-content h3 {
		font-size: 30px;
	}
}

/* =========================================================
   EXPLORE BY REGION V2
   ========================================================= */

.vg-regions-section {
	background: #ffffff;
}

.vg-regions-section .vg-section-heading {
	margin-bottom: 34px;
}

.vg-region-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px;
	border: 0;
}

.vg-region-card {
	grid-column: span 3;
	position: relative;
	min-height: 145px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding: 25px 26px;
	overflow: hidden;
	border: 1px solid var(--vg-line);
	border-radius: 18px;
	background: #f7f8f5;
	color: var(--vg-ink);
	text-decoration: none;
	font-size: 20px;
	font-weight: 750;
	transition:
		transform .22s ease,
		background .22s ease,
		color .22s ease,
		box-shadow .22s ease;
}

.vg-region-card:nth-child(n+5) {
	grid-column: span 4;
}

.vg-region-card::before {
	content: "";
	position: absolute;
	top: -55px;
	right: -55px;
	width: 125px;
	height: 125px;
	border: 1px solid rgba(19,35,31,.08);
	border-radius: 50%;
	transition: transform .3s ease;
}

.vg-region-card span,
.vg-region-card strong {
	position: relative;
	z-index: 2;
}

.vg-region-card strong {
	font-size: 24px;
	font-weight: 400;
	transition: transform .22s ease;
}

.vg-region-card:hover {
	background: var(--vg-dark);
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 18px 42px rgba(18,35,31,.10);
}

.vg-region-card:hover::before {
	border-color: rgba(255,255,255,.12);
	transform: scale(1.2);
}

.vg-region-card:hover strong {
	transform: translateX(4px);
}

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

	.vg-region-card,
	.vg-region-card:nth-child(n+5) {
		grid-column: auto;
		min-height: 125px;
	}
}

@media (max-width: 520px) {
	.vg-region-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.vg-region-card,
	.vg-region-card:nth-child(n+5) {
		grid-column: auto;
		min-height: 82px;
		padding: 14px;
		gap: 8px;
		border-radius: 14px;
		font-size: 15px;
	}

	.vg-region-card strong {
		font-size: 18px;
	}

	.vg-region-card::before {
		width: 90px;
		height: 90px;
		top: -42px;
		right: -42px;
	}
}

/* =========================================================
   FOOTER FOLLOW
   ========================================================= */

/* VG FOOTER SOCIAL ICONS V2 */

.vg-footer-column.vg-footer-follow
.vg-footer-social-icons {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 5px;
}

.vg-footer-column.vg-footer-follow
.vg-footer-social-icons
.vg-social-icon {
        width: 38px;
        height: 38px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;

        border: 1px solid currentColor;
        border-radius: 999px;

        text-decoration: none;
        font-size: 18px;
        font-weight: 700;
        line-height: 1;

        opacity: .95;

        transition:
                transform .15s ease,
                opacity .15s ease,
                background-color .15s ease;
}

.vg-footer-column.vg-footer-follow
.vg-social-icon--facebook {
        color: #1877F2;
}

.vg-footer-column.vg-footer-follow
.vg-social-icon--instagram {
        color: #E4405F;
}

.vg-footer-column.vg-footer-follow
.vg-social-icon--youtube {
        color: #FF0000;
}

.vg-footer-column.vg-footer-follow
.vg-social-icon--pinterest {
        color: #E60023;
}

.vg-footer-column.vg-footer-follow
.vg-social-icon--tiktok {
        color: #25F4EE;
}

.vg-footer-column.vg-footer-follow
.vg-footer-social-icons
.vg-social-icon:hover,
.vg-footer-column.vg-footer-follow
.vg-footer-social-icons
.vg-social-icon:focus-visible {
        opacity: 1;
        transform: translateY(-2px);
}


@media (min-width: 1025px) {
	.vg-footer-grid {
		grid-template-columns: 2fr repeat(4, 1fr);
		gap: 46px;
	}
}

/* =========================================================
   LIVE COLOR UNIFICATION
   Hero intentionally unchanged.
   Footer intentionally remains dark.
   ========================================================= */

.vg-news-section,
.vg-guides-section,
.vg-regions-section,
.vg-planning-section {
    background: #ffffff;
}


/* =========================================================
   MOBILE REGION -> PLANNING SPACING
   ========================================================= */

@media (max-width: 520px) {
        .vg-regions-section {
                padding-bottom: 28px;
        }

        .vg-planning-section {
                padding-top: 12px;
        }
}

/* =========================================================
   HOMEPAGE CUSTOM LOGO
   ========================================================= */

.page-template-page-vibrant-media .vg-header-brand {
        display: flex;
        align-items: center;
        padding: 5px 10px;
        border-radius: 12px;
        background: rgba(255,255,255,.94);
        box-shadow: 0 3px 14px rgba(0,0,0,.12);
}

.page-template-page-vibrant-media .vg-header-logo {
        display: block;
        width: auto;
        max-width: 230px;
        height: 48px;
        object-fit: contain;
}

@media (max-width: 767px) {
        .page-template-page-vibrant-media .vg-header-brand {
                padding: 4px 7px;
                border-radius: 10px;
        }

        .page-template-page-vibrant-media .vg-header-logo {
                max-width: 165px;
                height: 38px;
        }
}

/* =========================================================
   HOMEPAGE LOGO — TRANSPARENT FINAL
   ========================================================= */

.page-template-page-vibrant-media .vg-header-brand {
        padding: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
}

.page-template-page-vibrant-media .vg-header-logo {
        width: auto;
        height: 58px;
        max-width: 100px;
        object-fit: contain;
        filter:
                drop-shadow(0 1px 1px rgba(255,255,255,.28))
                drop-shadow(0 3px 8px rgba(0,0,0,.28));
}

@media (max-width: 767px) {
        .page-template-page-vibrant-media .vg-header-logo {
                height: 42px;
                max-width: 74px;
        }
}

/* =========================================================
   FOOTER BRAND LOGO
   ========================================================= */

.vg-footer-logo {
        display: inline-flex;
        align-items: center;
}

.vg-footer-logo-img {
        display: block;
        width: auto;
        height: 76px;
        max-width: 130px;
        object-fit: contain;
        filter:
                drop-shadow(0 1px 1px rgba(255,255,255,.18))
                drop-shadow(0 4px 12px rgba(0,0,0,.28));
}

@media (max-width: 767px) {
        .vg-footer-logo-img {
                height: 62px;
                max-width: 105px;
        }
}

/* =========================================================
   MOBILE HERO FINAL FIX
   ========================================================= */

@media (max-width: 600px) {

    .page-template-page-vibrant-media .vg-hero {
        min-height: 0;
        height: auto;
    }

    .page-template-page-vibrant-media .vg-hero-inner {
        padding-top: 72px;
        padding-bottom: 42px;
    }

    .page-template-page-vibrant-media .vg-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .page-template-page-vibrant-media .vg-hero-content {
        width: 100%;
        max-width: none;
    }

    .page-template-page-vibrant-media .vg-hero-content h1 {
        max-width: none;
        margin-top: 10px;
        margin-bottom: 16px;
        font-size: clamp(38px, 11vw, 52px);
        line-height: 1.02;
        letter-spacing: -0.045em;
        overflow-wrap: normal;
        word-break: normal;
    }

    .page-template-page-vibrant-media .vg-hero-copy {
        max-width: 100%;
        margin-bottom: 22px;
        font-size: 16px;
        line-height: 1.6;
    }

    .page-template-page-vibrant-media .vg-actions {
        gap: 10px;
    }

    .page-template-page-vibrant-media .vg-actions .vg-button {
        width: 100%;
        justify-content: center;
    }

    .page-template-page-vibrant-media .vg-hero-visual {
        min-height: 285px;
        width: 100%;
    }

    .page-template-page-vibrant-media .vg-hero-main-photo {
        left: 0;
        right: auto;
        width: 100%;
        height: 255px;
        border-radius: 18px;
    }

    .page-template-page-vibrant-media .vg-hero-secondary-photo {
        width: 42%;
        height: 110px;
    }

    .page-template-page-vibrant-media .vg-hero-stamp {
        width: 78px;
        height: 78px;
        right: 8px;
        bottom: 0;
    }
}

