/* ==========================================================================
   Vigtig Viden — layout
   ========================================================================== */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ---- Header ------------------------------------------------------------ */
.vv-site-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: var(--vv-shadow-sm);
	position: sticky;
	top: 0;
	z-index: 40;
}

.vv-site-header__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vv-gap);
	padding-block: 1rem;
}

.vv-site-header__brand { display: flex; flex-direction: column; }

.vv-site-header__logo {
	font-family: var(--vv-font-display);
	font-size: 1.5rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: -0.01em;
}

.vv-site-header__tagline {
	margin: 0;
	font-family: var(--vv-font-mono);
	font-size: 0.72rem;
	color: var(--vv-color-ink-soft);
	letter-spacing: 0.03em;
}

.vv-primary-nav {
	display: flex;
	align-items: center;
	gap: var(--vv-gap);
}

.vv-primary-nav__list {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--vv-font-display);
	font-weight: 500;
	font-size: 0.95rem;
}

.vv-primary-nav__list a {
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	border-radius: var(--vv-radius-pill);
	transition: background-color 0.15s ease;
}
.vv-primary-nav__list a:hover,
.vv-primary-nav__list .current-menu-item > a {
	background: var(--vv-color-red-soft);
	color: var(--vv-color-red);
}

.vv-search-form {
	display: flex;
	align-items: center;
	border: 1px solid var(--vv-color-line);
	border-radius: 999px;
	padding: 0.35rem 0.9rem;
}
.vv-search-form input {
	border: 0;
	background: transparent;
	font-family: var(--vv-font-body);
	font-size: 0.9rem;
	width: 11rem;
}
.vv-search-form input:focus { outline: none; }
.vv-search-form button {
	border: 0;
	background: transparent;
	font-family: var(--vv-font-mono);
	font-size: 0.75rem;
	cursor: pointer;
}

.vv-menu-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--vv-color-line);
	border-radius: var(--vv-radius-sm);
	padding: 0.5rem 0.9rem;
	font-family: var(--vv-font-mono);
	font-size: 0.8rem;
	cursor: pointer;
}

/* ---- Breadcrumbs --------------------------------------------------------- */
.vv-breadcrumbs {
	font-family: var(--vv-font-mono);
	font-size: 0.75rem;
	color: var(--vv-color-ink-soft);
	padding-block: 1rem 0;
}
.vv-breadcrumbs a { text-decoration: none; color: var(--vv-color-red); }

/* ---- Ad zones ------------------------------------------------------------ */
.vv-ad-zone-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	margin-block: var(--vv-gap);
}
.vv-ad-zone-wrap__label {
	font-family: var(--vv-font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vv-color-ink-soft);
}
.vv-ad-slot { min-height: 1px; }
.vv-ad-slot__label { display: none; } /* "Annonce" label comes from vv_ad_zone(), not the widget title */

.vv-ad-zone--header { padding-block: 0.5rem; border-top: 1px solid var(--vv-color-line); }
.vv-ad-zone--sidebar {
	position: relative;
	background: var(--vv-color-paper-raised);
	border-radius: var(--vv-radius);
	box-shadow: var(--vv-shadow-sm);
	padding: 1rem 1.1rem;
}
.vv-ad-zone--in-content,
.vv-ad-zone--in-feed { margin-block: 2rem; }
.vv-ad-zone--footer { padding-block: 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.12); }
.vv-card-grid__ad { grid-column: 1 / -1; }

/* ---- Hero / featured card ------------------------------------------------- */
.vv-front { padding-block: var(--vv-gap) 3rem; }

.vv-hero {
	margin-block-start: var(--vv-gap);
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: var(--vv-gap);
	align-items: stretch;
}
.vv-hero__secondary { display: flex; flex-direction: column; gap: 1rem; }
.vv-hero__secondary .vv-card--compact .vv-card__media { width: 84px; height: 84px; }

.vv-card--featured {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: var(--vv-gap);
	align-items: center;
	background: var(--vv-color-paper-raised);
	border-radius: var(--vv-radius);
	box-shadow: var(--vv-shadow-lg);
	overflow: hidden;
}
.vv-card--featured .vv-card__media { grid-row: 1; border-radius: 0; }
.vv-card--featured .vv-card__media img { height: 100%; object-fit: cover; }
.vv-card--featured .vv-card__body { padding: var(--vv-gap) var(--vv-gap) var(--vv-gap) 0.25rem; }
.vv-card--featured .vv-card__title { font-size: clamp(1.9rem, 3.4vw, 2.75rem); }
.vv-card--featured .vv-card__title a { text-decoration: none; }
.vv-card--featured .vv-card__excerpt { font-size: 1.05rem; color: var(--vv-color-ink-soft); }

/* ---- Section titles ------------------------------------------------------- */
.vv-section-title {
	position: relative;
	font-size: 1.4rem;
	padding-left: 1rem;
	margin-block: 2.75rem 1.5rem;
	display: inline-block;
}
.vv-section-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 4px;
	border-radius: var(--vv-radius-pill);
	background: var(--vv-color-signal);
}

/* ---- Card grid -------------------------------------------------------- */
.vv-front__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: calc(var(--vv-gap) * 1.5);
	align-items: start;
}

.vv-front__stream {}

.vv-card-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--vv-gap);
}
.vv-card-grid--three { grid-template-columns: repeat(3, 1fr); }

.vv-card {
	display: flex;
	flex-direction: column;
	background: var(--vv-color-paper-raised);
	border: 1px solid var(--vv-color-line);
	border-radius: var(--vv-radius);
	box-shadow: var(--vv-shadow-sm);
	padding: 0.85rem 0.85rem 1.1rem;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.vv-card:hover { box-shadow: var(--vv-shadow-md); transform: translateY(-2px); }
.vv-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--vv-radius-sm);
	background: var(--vv-color-line);
	border-bottom: 4px solid var(--vv-cat-text, var(--vv-color-red));
}
.vv-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.vv-card:hover .vv-card__media img { transform: scale(1.035); }

.vv-card__body { padding-block-start: 0.85rem; display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.vv-card__eyebrow { text-decoration: none; }
.vv-card__title { font-size: 1.15rem; margin: 0; line-height: 1.2; }
.vv-card__title a { text-decoration: none; }
.vv-card__excerpt { margin: 0; color: var(--vv-color-ink-soft); font-size: 0.95rem; }
.vv-card__meta { display: flex; gap: 0.5rem; }

.vv-card--compact { flex-direction: row; gap: 0.75rem; align-items: center; }
.vv-card--compact .vv-card__media { width: 72px; height: 72px; flex-shrink: 0; aspect-ratio: 1; border-radius: var(--vv-radius-sm); }
.vv-card--compact .vv-card__body { padding-block-start: 0; align-items: flex-start; }
.vv-card--compact .vv-card__title { font-size: 0.95rem; }

.vv-front__more { text-align: center; margin-block-start: 2.5rem; }
.vv-button {
	display: inline-block;
	font-family: var(--vv-font-display);
	font-weight: 700;
	text-decoration: none;
	border: 2px solid var(--vv-color-ink);
	background: var(--vv-color-ink);
	color: var(--vv-color-paper);
	border-radius: var(--vv-radius-pill);
	padding: 0.65rem 1.75rem;
	box-shadow: var(--vv-shadow-sm);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.vv-button:hover { background: var(--vv-color-paper); color: var(--vv-color-ink); transform: translateY(-1px); box-shadow: var(--vv-shadow-md); }

/* ---- Sidebar ------------------------------------------------------------ */
.vv-sidebar__sticky { position: sticky; top: 5.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
.vv-widget { border-top: 1px solid var(--vv-color-line); padding-top: 1rem; }
.vv-sidebar .vv-widget:first-child { border-top: none; padding-top: 0; }
.vv-sidebar .vv-widget {
	background: var(--vv-color-paper-raised);
	border-radius: var(--vv-radius);
	box-shadow: var(--vv-shadow-sm);
	padding: 1.1rem 1.25rem 1.25rem;
	border-top: none !important;
}
.vv-widget__title { font-size: 0.95rem; }
.vv-widget__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.9rem; }

.vv-most-read {
	background: var(--vv-color-paper-raised);
	border-radius: var(--vv-radius);
	box-shadow: var(--vv-shadow-sm);
	padding: 1.1rem 1.25rem 1.25rem;
	border-top: none !important;
}
.vv-most-read__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.vv-most-read__item { display: flex; gap: 0.75rem; align-items: baseline; }
.vv-most-read__rank { font-family: var(--vv-font-mono); font-weight: 600; font-size: 1.1rem; color: var(--vv-color-red); width: 1.5rem; flex-shrink: 0; }
.vv-most-read__link { font-family: var(--vv-font-display); font-weight: 700; font-size: 0.92rem; line-height: 1.3; text-decoration: none; }
.vv-most-read__link:hover { text-decoration: underline; }

/* ---- Indholdsfortegnelse (TOC) ------------------------------------------ */
.vv-toc {
	background: var(--vv-color-paper-raised);
	border: 1px solid var(--vv-color-line);
	border-radius: var(--vv-radius);
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}
.vv-toc__title {
	display: block;
	font-family: var(--vv-font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vv-color-red);
	margin-bottom: 0.6rem;
}
.vv-toc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.vv-toc__item a { text-decoration: none; font-size: 0.95rem; }
.vv-toc__item a:hover { text-decoration: underline; }
.vv-toc__item--sub { margin-inline-start: 1.25rem; font-size: 0.9rem; }

/* ---- Article ------------------------------------------------------------ */
.vv-article__head { padding-block: 1.5rem 1rem; max-width: 760px; }
.vv-article__title { font-size: clamp(1.9rem, 4vw, 2.75rem); }
.vv-article__lede { font-size: 1.2rem; color: var(--vv-color-ink-soft); }
.vv-article__media { margin-bottom: 2rem; }
.vv-article__media img { border-radius: var(--vv-radius); }
.vv-article__media figcaption { margin-top: 0.5rem; }

.vv-article__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: calc(var(--vv-gap) * 1.5); align-items: start; }

.vv-content { max-width: 760px; font-size: 1.1rem; }
.vv-content > * { margin-bottom: 1.4em; }
.vv-content h2 { font-size: 1.5rem; margin-top: 2em; }
.vv-content h3 { font-size: 1.2rem; margin-top: 1.6em; }
.vv-content blockquote {
	margin: 0;
	padding-left: 1.25rem;
	border-left: 3px solid var(--vv-color-red);
	font-family: var(--vv-font-display);
	font-size: 1.3rem;
}
.vv-content figure img { border-radius: var(--vv-radius); }
.vv-content a { color: var(--vv-color-red); }
.vv-content a.vv-glossary-term {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-color: var(--vv-color-red);
	text-underline-offset: 3px;
}
.vv-content a.vv-glossary-term:hover {
	color: var(--vv-color-red);
	text-decoration-style: solid;
}

.vv-article__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.vv-tag {
	font-family: var(--vv-font-mono);
	font-size: 0.78rem;
	text-decoration: none;
	background: var(--vv-color-red-soft);
	color: var(--vv-color-red);
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
}

.vv-related { padding-block: 2rem; border-top: 1px solid var(--vv-color-line); }

/* ---- Archive / search / 404 ------------------------------------------- */
.vv-archive__head { padding-block: 2rem 0.5rem; max-width: 760px; }
.vv-archive__title { font-size: clamp(1.6rem, 3.5vw, 2.25rem); }
.vv-archive__description { color: var(--vv-color-ink-soft); }
.vv-pagination { display: flex; gap: 1rem; margin-block: 2rem; font-family: var(--vv-font-mono); font-size: 0.85rem; }
.vv-pagination a, .vv-pagination span { text-decoration: none; }
.vv-404 { padding-block: 3rem 4rem; }
.vv-404__hero { text-align: center; max-width: 560px; margin-inline: auto; padding-block: 1rem 2.5rem; }
.vv-404__hero .vv-search-form { margin-inline: auto; margin-top: 1.5rem; max-width: 360px; }
.vv-404__popular {}

/* ---- Footer -------------------------------------------------------------- */
.vv-site-footer { background: var(--vv-color-ink); color: var(--vv-color-paper); margin-top: 3rem; }
.vv-site-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: var(--vv-gap);
	padding-block: 2.5rem;
	border-top: 1px solid rgba(255,255,255,0.12);
}
.vv-site-footer__name { font-size: 1.3rem; margin-bottom: 0.4rem; }
.vv-site-footer__about p:last-child { color: rgba(247,246,242,0.7); }
.vv-site-footer .vv-widget { border-top: 1px solid rgba(255,255,255,0.15); }
.vv-site-footer__widgets { display: flex; flex-direction: column; gap: 1.25rem; }
.vv-site-footer .vv-widget__title { color: var(--vv-color-paper); }
.vv-site-footer__nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.vv-site-footer__nav-list a { text-decoration: none; color: rgba(247,246,242,0.85); }
.vv-site-footer__legal {
	font-family: var(--vv-font-mono);
	font-size: 0.75rem;
	color: rgba(247,246,242,0.55);
	padding-block: 1.25rem;
	border-top: 1px solid rgba(255,255,255,0.12);
}

/* ---- Static pages ------------------------------------------------------ */
.vv-page__head { padding-block: 2rem 1rem; max-width: 760px; }
.vv-page__title { font-size: clamp(1.9rem, 4vw, 2.75rem); }
.vv-page__body { display: block; max-width: 760px; }

/* ---- Author archive ------------------------------------------------------ */
.vv-author-head { display: flex; gap: 1.25rem; align-items: center; padding-block: 2rem 1rem; }
.vv-author-head__avatar { border-radius: 999px; }
.vv-author-head__bio { color: var(--vv-color-ink-soft); max-width: 620px; }

/* ---- Comments -------------------------------------------------------- */
.vv-comments { max-width: 760px; padding-block: 2rem; }
.vv-comments-inner .vv-section-title { margin-block-start: 0; }

.vv-comment-list,
.vv-comment-list ul.children {
	list-style: none;
	margin: 0;
	padding: 0;
}
.vv-comment-list ul.children { margin-inline-start: 2rem; }

.vv-comment-list .comment,
.vv-comment-list .pingback {
	padding-block: 1.25rem;
	border-top: 1px solid var(--vv-color-line);
}
.vv-comment-list > li:first-child .comment { border-top: none; }

.comment-author { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; }
.comment-author .avatar { border-radius: 999px; }
.comment-author .fn { font-family: var(--vv-font-display); font-weight: 700; font-style: normal; }
.comment-metadata { font-family: var(--vv-font-mono); font-size: 0.75rem; color: var(--vv-color-ink-soft); }
.comment-metadata a { text-decoration: none; }
.comment-content p { margin: 0.5em 0 0; }
.comment-reply-link {
	font-family: var(--vv-font-mono);
	font-size: 0.75rem;
	text-decoration: none;
	color: var(--vv-color-red);
}
.comment-awaiting-moderation { font-size: 0.85rem; color: var(--vv-color-ink-soft); }

#respond { margin-block-start: 2rem; }
.comment-reply-title { font-size: 1.2rem; }
.comment-form p { margin: 0 0 1rem; }
.comment-form label { display: block; font-family: var(--vv-font-mono); font-size: 0.8rem; margin-bottom: 0.3rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	border: 1px solid var(--vv-color-line);
	border-radius: var(--vv-radius-sm);
	padding: 0.6rem 0.8rem;
	font-family: var(--vv-font-body);
	font-size: 1rem;
	background: var(--vv-color-paper-raised);
}
.comment-form textarea { min-height: 8rem; }
.comment-form .form-submit { margin-bottom: 0; }
.comment-form .submit {
	font-family: var(--vv-font-display);
	font-weight: 700;
	border: 2px solid var(--vv-color-ink);
	border-radius: 999px;
	padding: 0.65rem 1.75rem;
	background: var(--vv-color-ink);
	color: var(--vv-color-paper);
	cursor: pointer;
}

/* ---- Ordbog (glossary) --------------------------------------------------- */
.vv-ordbog { padding-block: 0 3rem; }

.vv-ordbog__search { margin-block: 1.5rem; }
.vv-ordbog__search input {
	width: 100%;
	max-width: 420px;
	border: 1px solid var(--vv-color-line);
	border-radius: 999px;
	padding: 0.7rem 1.1rem;
	font-family: var(--vv-font-body);
	font-size: 1rem;
	background: var(--vv-color-paper-raised);
}
.vv-ordbog__search input:focus { outline: none; border-color: var(--vv-color-red); }

.vv-ordbog__alphabet {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	border-block: 1px solid var(--vv-color-line);
	padding-block: 0.75rem;
	margin-block-end: 1.5rem;
	font-family: var(--vv-font-mono);
	font-size: 0.85rem;
}
.vv-ordbog__alphabet a,
.vv-ordbog__alphabet span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	text-decoration: none;
}
.vv-ordbog__alphabet a { background: var(--vv-color-red-soft); color: var(--vv-color-red); }
.vv-ordbog__alphabet a:hover { background: var(--vv-color-red); color: #fff; }
.vv-ordbog__alphabet .is-disabled { color: var(--vv-color-line); }

.vv-ordbog__group { scroll-margin-top: 5.5rem; padding-block: 1.5rem; border-top: 1px solid var(--vv-color-line); }
.vv-ordbog__letter {
	font-family: var(--vv-font-display);
	font-size: 1.75rem;
	color: var(--vv-color-red);
	margin-bottom: 1rem;
}
.vv-ordbog__entries { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.vv-ordbog__entry dt { font-family: var(--vv-font-display); font-weight: 700; margin: 0 0 0.2rem; }
.vv-ordbog__entry dt a { text-decoration: none; }
.vv-ordbog__entry dd { margin: 0; color: var(--vv-color-ink-soft); font-size: 0.92rem; }
.vv-ordbog__empty { padding-block: 2rem; color: var(--vv-color-ink-soft); }

.vv-ordbog-nav { display: flex; justify-content: space-between; gap: var(--vv-gap); padding-block: 1.5rem; border-top: 1px solid var(--vv-color-line); max-width: 760px; }
.vv-ordbog-nav a { text-decoration: none; display: flex; flex-direction: column; gap: 0.25rem; font-family: var(--vv-font-display); font-weight: 700; }
.vv-ordbog-nav__next { text-align: right; margin-inline-start: auto; }

.vv-ordbog-related-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.vv-ordbog-related-list a {
	font-family: var(--vv-font-mono);
	font-size: 0.85rem;
	text-decoration: none;
	background: var(--vv-color-red-soft);
	color: var(--vv-color-red);
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
}

@media (max-width: 600px) {
	.vv-ordbog__entries { grid-template-columns: 1fr; }
}

/* ---- Affiliate disclosure ------------------------------------------------ */
.vv-affiliate-disclosure {
	background: var(--vv-color-red-soft);
	border-left: 3px solid var(--vv-color-red);
	border-radius: var(--vv-radius);
	padding: 1rem 1.25rem;
	margin-bottom: 1.75rem;
}
.vv-affiliate-disclosure__label {
	display: block;
	font-family: var(--vv-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vv-color-red);
	margin-bottom: 0.35rem;
}
.vv-affiliate-disclosure p { margin: 0; font-size: 0.95rem; color: var(--vv-color-ink); }

.vv-cookie-banner {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 100;
	background: var(--vv-color-ink);
	color: var(--vv-color-paper);
	border-top: 3px solid var(--vv-color-signal);
}
.vv-cookie-banner[hidden] { display: none; }
.vv-cookie-banner__inner {
	max-width: var(--vv-container);
	margin-inline: auto;
	padding: 1.1rem var(--vv-gap);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
}
.vv-cookie-banner__inner p { margin: 0; font-size: 0.9rem; max-width: 640px; }
.vv-cookie-banner__inner a { color: var(--vv-color-signal); }
.vv-cookie-banner__actions { display: flex; gap: 0.75rem; flex-shrink: 0; }
.vv-cookie-banner .vv-button { background: var(--vv-color-signal); border-color: var(--vv-color-signal); color: var(--vv-color-signal-ink); padding: 0.55rem 1.25rem; font-size: 0.85rem; }
.vv-cookie-banner .vv-button:hover { background: transparent; color: var(--vv-color-paper); border-color: var(--vv-color-paper); }
.vv-cookie-banner .vv-button--ghost { background: transparent; color: var(--vv-color-paper); border-color: rgba(247,246,242,0.4); }
.vv-cookie-banner .vv-button--ghost:hover { background: rgba(247,246,242,0.15); color: var(--vv-color-paper); }

/* ---- Responsive -------------------------------------------------------- */
@media (max-width: 960px) {
	.vv-front__body, .vv-article__body { grid-template-columns: 1fr; }
	.vv-sidebar__sticky { position: static; }
	.vv-hero { grid-template-columns: 1fr; }
	.vv-card--featured { grid-template-columns: 1fr; }
	.vv-card--featured .vv-card__body { padding: 0; padding-block-start: 1rem; }
	.vv-site-footer__grid { grid-template-columns: 1fr 1fr; }
	.vv-card-grid, .vv-card-grid--three { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	.vv-primary-nav {
		display: none;
		position: absolute;
		inset-inline: 0;
		top: 100%;
		background: var(--vv-color-paper-raised);
		border-bottom: 1px solid var(--vv-color-line);
		flex-direction: column;
		align-items: stretch;
		padding: var(--vv-gap);
	}
	.vv-primary-nav.is-open { display: flex; }
	.vv-primary-nav__list { flex-direction: column; gap: 1rem; }
	.vv-menu-toggle { display: block; }
	.vv-card-grid, .vv-card-grid--three { grid-template-columns: 1fr; }
	.vv-site-footer__grid { grid-template-columns: 1fr; }
	.vv-hero__secondary .vv-card--compact .vv-card__media { width: 72px; height: 72px; }
}
