:root {
	/* Type families */
	--font-display: 'Domaine Display', Georgia, 'Times New Roman', serif;
	--font-body:    'Soehne', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	--font-meta:    'Soehne', system-ui, sans-serif;

	/* Type scale */
	--t-display:   clamp(48px, 6vw, 72px);   /* magazine hero */
	--t-h1:        clamp(36px, 4vw, 52px);   /* article title */
	--t-h2:        clamp(28px, 3vw, 38px);   /* section / card lead */
	--t-h3:        clamp(22px, 2.4vw, 28px); /* card title */
	--t-h4:        18px;
	--t-h5:        16px;
	--t-h6:        14px;
	--t-body:      17px;
	--t-body-s:    15px;
	--t-meta:      13px;
	--t-nav:       15px;
	--t-footer:    14px;
	--t-tag:       11px;

	/* Line heights */
	--lh-tight:    1.15;
	--lh-snug:     1.3;
	--lh-normal:   1.55;
	--lh-loose:    1.7;

	/* Spacing scale */
	--sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
	--sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
	--sp-9: 96px; --sp-10: 128px;

	/* Colours */
	--cream:        #FAF7F0;
	--cream-warm:   #F5EFE3;
	--ink:          #1E1E1B;
	--ink-soft:     #4A4A45;
	--ink-muted:    #7A7A72;
	--rule:         #D8D2C4;
	--sage:         #5C7B57;
	--terracotta:   #A85A2D;
	--slate:        #3A4A5E;
	--pale-sage:        #E7EFE3;
	--pale-terracotta:  #F5E4D0;
	--pale-slate:       #DDE4EE;
}

/* vo-cream-bg-fix */
html, body { background: #FAF7F0 !important; }
/* Common theme wrappers that may default to white */
.vo-site-main,
.site-main,
.main,
#main,
main,
.site-content,
#content,
.container-xl.main,
body > div:not(.vo-phasee-footer):not(.vo-magnav):not(.vo-magnav__menu) { background-color: transparent; }
/* Re-assert dark backgrounds where they matter */
.vo-phasee-footer { background: #1A1A17 !important; }
.vo-yt { background: #1A1A17 !important; }


/* === Reset noise from earlier CSS override === */
body, html { color: var(--ink); }

/* === BODY TYPE === */
body, p, ul, ol, li, td, th, label, input, textarea, select,
.page__content, .post-content, .article-content, .body-font, .body-copy {
	font-family: var(--font-body) !important;
	font-size: var(--t-body);
	line-height: var(--lh-normal);
	color: var(--ink);
	font-weight: 400;
}
p { line-height: var(--lh-loose); margin-bottom: var(--sp-4); }

/* === HEADINGS === */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.headline, .article-title, .post-title, .entry-title,
.page__content h1, .page__content h2, .page__content h3, .page__content h4, .page__content h5, .page__content h6,
.single__content h1, .single__content h2, .single__content h3,
.display, .display-font, .article-headline,
.lead-card-title, .card-title, .post__title {
	font-family: var(--font-display) !important;
	color: var(--ink);
	line-height: var(--lh-tight);
	letter-spacing: -0.01em;
	font-weight: 500;
}
h1, .h1 { font-size: var(--t-h1); font-weight: 600; }
h2, .h2 { font-size: var(--t-h2); font-weight: 500; }
h3, .h3 { font-size: var(--t-h3); }
h4, .h4 { font-size: var(--t-h4); font-weight: 600; }
h5, .h5 { font-size: var(--t-h5); font-weight: 600; }
h6, .h6 { font-size: var(--t-h6); font-weight: 600; }

/* === NAV (header) === */
header, .header, .site-header { background: white; padding: 16px 32px !important; }
header a, .nav a, .menu-item a, nav a, .nav-link {
	font-family: var(--font-meta) !important;
	font-size: var(--t-nav) !important;
	font-weight: 500 !important;
	color: var(--ink) !important;
	letter-spacing: 0;
	text-decoration: none;
	transition: color 0.15s ease;
}
header a:hover, .nav a:hover, .menu-item a:hover, nav a:hover {
	color: var(--terracotta) !important;
}
/* Don't shrink the wordmark inside the header */
header img, header svg, header picture, header .logo {
	max-height: 40px; width: auto;
}

/* === FOOTER === */
footer, .footer, .site-footer, .bg-accent {
	background: var(--cream-warm) !important;
	color: var(--ink) !important;
	padding: var(--sp-7) var(--sp-6) var(--sp-5) !important;
}
footer a, .footer a, .site-footer a {
	font-family: var(--font-meta) !important;
	font-size: var(--t-footer) !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	text-decoration: none !important;
	line-height: var(--lh-snug) !important;
	letter-spacing: 0;
}
footer a:hover, .footer a:hover {
	color: var(--terracotta) !important;
}
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.footer h1, .footer h2, .footer h3, .footer h4 {
	font-size: var(--t-h6) !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	font-family: var(--font-meta) !important;
	color: var(--ink-muted) !important;
	margin-bottom: var(--sp-3) !important;
}
/* Footer wordmark sizing */
footer img, footer svg, footer .logo {
	max-height: 48px; width: auto;
}
/* Footer newsletter inputs */
footer input[type="text"], footer input[type="email"] {
	font-size: var(--t-body-s) !important;
	padding: var(--sp-3) 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--rule) !important;
	background: transparent !important;
	border-radius: 0 !important;
}
footer button, footer .subscribe, footer [type="submit"] {
	font-family: var(--font-meta) !important;
	font-size: var(--t-meta) !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: var(--sp-3) var(--sp-5) !important;
	border: 1px solid var(--ink) !important;
	background: transparent !important;
	color: var(--ink) !important;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
footer button:hover { background: var(--ink) !important; color: var(--cream) !important; }

/* === CARDS (article cards on homepage + listing pages) === */
.card, .post-card, .article-card, .lead-card {
	background: white;
}
.card .byline, .card .meta, .post-card .meta, .article-card .byline,
.card-byline, .card .author, .card .post-meta {
	font-family: var(--font-meta) !important;
	font-size: var(--t-tag) !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
}
.card-title, .article-card-title, .lead-card-title {
	font-family: var(--font-display) !important;
	font-weight: 500 !important;
	line-height: var(--lh-snug) !important;
	color: var(--ink) !important;
}

/* === ARTICLE === */
.single__content h1, .article-content h1,
.post-title.single, .article-title {
	font-size: var(--t-h1) !important;
	font-weight: 600 !important;
	line-height: var(--lh-tight) !important;
	letter-spacing: -0.015em !important;
	margin-bottom: var(--sp-4) !important;
}
.dek, .subtitle, .article-dek, .lead-paragraph {
	font-family: var(--font-display) !important;
	font-style: italic;
	font-weight: 400;
	font-size: 22px;
	line-height: var(--lh-normal);
	color: var(--ink-soft);
	margin: 0 0 var(--sp-5) 0;
}
.byline, .article-byline, .post-meta, .author-name {
	font-family: var(--font-meta) !important;
	font-size: var(--t-tag) !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
}
/* Body type in article reading column */
.single__content p, .article-content p, .page__content p {
	font-size: var(--t-body) !important;
	line-height: var(--lh-loose) !important;
	color: var(--ink) !important;
}

/* === BLOCKQUOTES === */
blockquote, .pull-quote {
	font-family: var(--font-display) !important;
	font-style: italic;
	font-size: 24px;
	line-height: var(--lh-snug);
	color: var(--ink);
	border-left: 3px solid var(--terracotta);
	padding-left: var(--sp-5);
	margin: var(--sp-6) 0;
}

/* === Links inside body === */
.page__content a, .post-content a, .article-content a, .single__content a, p a {
	color: var(--terracotta);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.page__content a:hover, .post-content a:hover, p a:hover {
	color: var(--ink);
}

/* === Buttons === */
.button, .btn, button.cta, [class*="cta-button"] {
	font-family: var(--font-meta) !important;
	font-size: var(--t-meta) !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: var(--sp-3) var(--sp-5) !important;
	border-radius: 2px !important;
}

/* === Pillar tag styling (already injected by snippet 53) === */
.bbm-vo-pillar-tag {
	font-family: var(--font-meta) !important;
	font-size: var(--t-tag) !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
}

/* === Cleanup any link colour weirdness from prior overrides === */
a { color: inherit; }
a:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 2px; }

/* Domaine Display — 12 styles */
@font-face { font-family: 'Domaine Display'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-regular.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 400; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-regular-italic.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 500; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-medium.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 500; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-medium-italic.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 600; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-semibold.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 600; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-semibold-italic.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 700; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-bold.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 700; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-bold-italic.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 800; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-extrabold.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 800; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-extrabold-italic.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 900; font-style: normal; font-display: swap; src: url('../fonts/domaine-display-black.woff2') format('woff2'); }
@font-face { font-family: 'Domaine Display'; font-weight: 900; font-style: italic; font-display: swap; src: url('../fonts/domaine-display-black-italic.woff2') format('woff2'); }

/* Söhne — Klim's German weight names mapped to standard CSS weights */
@font-face { font-family: 'Soehne'; font-weight: 200; font-style: normal; font-display: swap; src: url('../fonts/soehne-extraleicht.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 200; font-style: italic; font-display: swap; src: url('../fonts/soehne-extraleicht-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 300; font-style: normal; font-display: swap; src: url('../fonts/soehne-leicht.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 300; font-style: italic; font-display: swap; src: url('../fonts/soehne-leicht-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/soehne-buch.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 400; font-style: italic; font-display: swap; src: url('../fonts/soehne-buch-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 500; font-style: normal; font-display: swap; src: url('../fonts/soehne-kraftig.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 500; font-style: italic; font-display: swap; src: url('../fonts/soehne-kraftig-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 600; font-style: normal; font-display: swap; src: url('../fonts/soehne-halbfett.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 600; font-style: italic; font-display: swap; src: url('../fonts/soehne-halbfett-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 700; font-style: normal; font-display: swap; src: url('../fonts/soehne-dreiviertelfett.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 700; font-style: italic; font-display: swap; src: url('../fonts/soehne-dreiviertelfett-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 800; font-style: normal; font-display: swap; src: url('../fonts/soehne-fett.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 800; font-style: italic; font-display: swap; src: url('../fonts/soehne-fett-kursiv.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 900; font-style: normal; font-display: swap; src: url('../fonts/soehne-extrafett.woff2') format('woff2'); }
@font-face { font-family: 'Soehne'; font-weight: 900; font-style: italic; font-display: swap; src: url('../fonts/soehne-extrafett-kursiv.woff2') format('woff2'); }

/* vo-homepage */
.vo-home { background: var(--cream, #FAF7F0); }
.vo-home-wrap { max-width: 1200px; margin: 0 auto; padding: 32px 24px 64px; }
.vo-section { margin: 80px 0; }
.vo-section__heading { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 32px 0; padding-bottom: 16px; border-bottom: 1px solid var(--rule, #D8D2C4); }
.vo-section__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; margin: 0; color: var(--ink, #1E1E1B); letter-spacing: -0.01em; }
.vo-section__see-all { font-family: 'Soehne', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted, #7A7A72); text-decoration: none; }
.vo-section__see-all:hover { color: var(--terracotta, #A85A2D); }

/* Magazine hero */
.vo-hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: center; padding: 48px 0; background: white; border-radius: 4px; margin-top: 24px; }
.vo-hero__img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.vo-hero__body { padding: 0 48px; }
.vo-hero__kicker { font-family: 'Soehne', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--terracotta, #A85A2D); margin: 0 0 16px 0; }
.vo-hero__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; letter-spacing: -0.015em; color: var(--ink, #1E1E1B); margin: 0 0 16px 0; }
.vo-hero__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 18px; color: var(--ink-soft, #4A4A45); margin: 0 0 28px 0; line-height: 1.5; }
.vo-hero__cta-row { display: flex; gap: 16px; }
.vo-hero__cta { font-family: 'Soehne', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 12px 20px; border: 1px solid var(--ink, #1E1E1B); color: var(--ink, #1E1E1B); text-decoration: none; transition: all 0.15s; }
.vo-hero__cta:hover { background: var(--ink, #1E1E1B); color: var(--cream, #FAF7F0); }
.vo-hero__cta--primary { background: var(--ink, #1E1E1B); color: var(--cream, #FAF7F0); }
.vo-hero__cta--primary:hover { background: var(--terracotta, #A85A2D); border-color: var(--terracotta, #A85A2D); }
@media (max-width: 900px) { .vo-hero { grid-template-columns: 1fr; } .vo-hero__body { padding: 24px; } }

/* Pillar lanes */
.vo-pillar-lane { padding: 32px 0; }
.vo-pillar-lane__header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid; }
.vo-pillar-lane--ll .vo-pillar-lane__header { border-color: var(--sage, #5C7B57); }
.vo-pillar-lane--eb .vo-pillar-lane__header { border-color: var(--terracotta, #A85A2D); }
.vo-pillar-lane--td .vo-pillar-lane__header { border-color: var(--slate, #3A4A5E); }
.vo-pillar-lane__name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 36px; margin: 0; letter-spacing: -0.015em; }
.vo-pillar-lane--ll .vo-pillar-lane__name { color: var(--sage, #5C7B57); }
.vo-pillar-lane--eb .vo-pillar-lane__name { color: var(--terracotta, #A85A2D); }
.vo-pillar-lane--td .vo-pillar-lane__name { color: var(--slate, #3A4A5E); }
.vo-pillar-lane__tagline { font-family: 'Soehne', sans-serif; font-style: italic; font-size: 14px; color: var(--ink-muted, #7A7A72); }
.vo-pillar-lane__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 900px) { .vo-pillar-lane__cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .vo-pillar-lane__cards { grid-template-columns: 1fr; } }

/* Card */
.vo-card { text-decoration: none; color: inherit; display: block; }
.vo-card__img-wrap { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: 2px; margin-bottom: 12px; }
.vo-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.vo-card:hover img { transform: scale(1.03); }
.vo-card__pillar-overlay { position: absolute; top: 12px; left: 12px; padding: 4px 10px; font-family: 'Soehne', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; }
.vo-card__pillar-overlay--live-lighter { background: var(--pale-sage, #E7EFE3); color: var(--sage, #5C7B57); }
.vo-card__pillar-overlay--eat-better { background: var(--pale-terracotta, #F5E4D0); color: var(--terracotta, #A85A2D); }
.vo-card__pillar-overlay--think-deeper { background: var(--pale-slate, #DDE4EE); color: var(--slate, #3A4A5E); }
.vo-card__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 18px; line-height: 1.3; color: var(--ink, #1E1E1B); margin: 0 0 6px 0; letter-spacing: -0.005em; }
.vo-card__meta { font-family: 'Soehne', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted, #7A7A72); }

/* YouTube module */
.vo-yt { background: #1A1A17; color: var(--cream, #FAF7F0); padding: 72px 48px 64px; border-radius: 4px; }
.vo-yt__head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.vo-yt__kicker { font-family: 'Soehne', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--terracotta, #C97A4F); margin: 0 0 16px; }
.vo-yt__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(36px, 4.6vw, 52px); line-height: 1.05; margin: 0 0 18px; color: var(--cream, #FAF7F0); letter-spacing: -0.015em; }
.vo-yt__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 18px; line-height: 1.5; margin: 0 0 26px; color: #B8B8AE; }
.vo-yt__cta-row { display: inline-flex; gap: 14px; align-items: center; flex-wrap: wrap; justify-content: center; }
.vo-yt__sub { display: inline-block; padding: 13px 24px; font-family: 'Soehne', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; background: var(--cream, #FAF7F0); color: var(--ink, #1E1E1B); text-decoration: none; border-radius: 2px; transition: background 0.15s; }
.vo-yt__sub:hover { background: var(--terracotta, #C97A4F); color: var(--cream, #FAF7F0); }
.vo-yt__viewall { font-family: 'Soehne', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: #B8B8AE; text-decoration: none; padding: 13px 8px; transition: color 0.15s; }
.vo-yt__viewall:hover { color: var(--cream, #FAF7F0); }
.vo-yt__videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1140px; margin: 0 auto; }
.vo-yt__video { display: block; text-decoration: none; color: var(--cream, #FAF7F0); }
.vo-yt__video__thumb { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #000; border-radius: 2px; }
.vo-yt__video__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.vo-yt__video:hover .vo-yt__video__thumb img { transform: scale(1.04); }
.vo-yt__video__play { position: absolute; bottom: 14px; left: 14px; width: 44px; height: 44px; background: rgba(0,0,0,0.6); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 16px; }
.vo-yt__video-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 19px; line-height: 1.3; margin-top: 16px; color: var(--cream, #FAF7F0); }
@media (max-width: 880px) { .vo-yt__videos { grid-template-columns: 1fr 1fr; } .vo-yt { padding: 56px 32px; } }
@media (max-width: 600px) { .vo-yt__videos { grid-template-columns: 1fr; gap: 28px; } .vo-yt { padding: 48px 24px; } }

/* City mapping */
.vo-cities { background: white; padding: 40px; border-radius: 4px; }
.vo-cities__grid { display: grid; grid-template-columns: 2fr 3fr; gap: 40px; align-items: start; }
.vo-cities__intro h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; margin: 0 0 12px 0; }
.vo-cities__intro p { font-family: 'Soehne', sans-serif; font-size: 15px; line-height: 1.5; color: var(--ink-soft, #4A4A45); margin: 0; }
.vo-cities__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.vo-cities__city { font-family: 'Soehne', sans-serif; font-size: 15px; color: var(--ink, #1E1E1B); text-decoration: none; padding: 8px 0; border-bottom: 1px solid var(--rule, #D8D2C4); display: flex; justify-content: space-between; }
.vo-cities__city:hover { color: var(--terracotta, #A85A2D); }
.vo-cities__count { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; color: var(--ink-muted, #7A7A72); }
@media (max-width: 900px) { .vo-cities__grid { grid-template-columns: 1fr; } }

/* Recipe row */
.vo-recipes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 900px) { .vo-recipes-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .vo-recipes-grid { grid-template-columns: 1fr; } }

/* Magazine archive */
.vo-issues { display: flex; gap: 24px; overflow-x: auto; padding-bottom: 16px; }
.vo-issues__card { flex: 0 0 200px; text-decoration: none; color: inherit; }
.vo-issues__card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.vo-issues__card-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 14px; margin: 12px 0 4px 0; line-height: 1.3; }
.vo-issues__card-date { font-family: 'Soehne', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted, #7A7A72); }

/* Newsletter */
.vo-newsletter { background: var(--cream-warm, #F5EFE3); padding: 56px 40px; text-align: center; border-radius: 4px; }
.vo-newsletter h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 32px; margin: 0 0 12px 0; }
.vo-newsletter p { font-family: 'Soehne', sans-serif; font-size: 16px; color: var(--ink-soft, #4A4A45); max-width: 520px; margin: 0 auto 24px; }
.vo-newsletter__form { display: flex; gap: 8px; max-width: 480px; margin: 0 auto; }
.vo-newsletter__form input { flex: 1; padding: 14px 16px; font-family: 'Soehne', sans-serif; font-size: 15px; border: 1px solid var(--ink, #1E1E1B); border-radius: 2px; background: white; }
.vo-newsletter__form button { padding: 14px 24px; font-family: 'Soehne', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; background: var(--ink, #1E1E1B); color: var(--cream, #FAF7F0); border: 1px solid var(--ink, #1E1E1B); cursor: pointer; }
.vo-newsletter__form button:hover { background: var(--terracotta, #A85A2D); border-color: var(--terracotta, #A85A2D); }

/* vo_phaseb_css */
.vo-phaseb-article { background: var(--cream); color: var(--ink); }
/* Defensive: theme styles <header> as sticky nav (height:104px). Override since hero is a <div> but keep belt-and-braces. */
.vo-phaseb-hero { position: static !important; height: auto !important; width: auto !important; padding: 56px 24px 32px; display: block; }
.vo-phaseb-footer { position: static !important; height: auto !important; display: block; }
.vo-phaseb-hero__inner { max-width: 760px; margin: 0 auto; text-align: left; }
.vo-phaseb-kicker { margin-bottom: 16px; }
.vo-phaseb-pillar { display: inline-block; padding: 6px 14px; font-family: 'Soehne', system-ui, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; border-radius: 2px; text-decoration: none; }
.vo-phaseb-pillar--live-lighter { background: var(--pale-sage); color: var(--sage); }
.vo-phaseb-pillar--eat-better   { background: var(--pale-terracotta); color: var(--terracotta); }
.vo-phaseb-pillar--think-deeper { background: var(--pale-slate); color: var(--slate); }
.vo-phaseb-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(34px, 4.2vw, 52px); line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 18px 0; color: var(--ink); }
.vo-phaseb-dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: clamp(19px, 1.7vw, 22px); line-height: 1.45; color: var(--ink-soft); margin: 0 0 28px 0; max-width: 660px; }
.vo-phaseb-meta { font-family: 'Soehne', system-ui, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.vo-phaseb-meta__byline { color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
.vo-phaseb-meta__byline:hover { border-bottom-color: var(--ink); }
.vo-phaseb-meta__sep { margin: 0 10px; color: var(--ink-muted); }
.vo-phaseb-coldesc { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 15px; color: var(--ink-soft); margin: 12px 0 0 0; padding-left: 14px; border-left: 3px solid var(--rule); max-width: 660px; }
.vo-phaseb-featured { max-width: 1100px; margin: 36px auto 0; padding: 0 24px; }
.vo-phaseb-featured img { width: 100%; height: auto; display: block; border-radius: 2px; }
/* Body wrap — 2-col grid on desktop (body + rail). Single col + rail hides under 1100px. */
.vo-phaseb-bodywrap { max-width: 1100px; margin: 48px auto 0; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 720px) 260px; gap: 56px; align-items: start; }
@media (max-width: 1100px) { .vo-phaseb-bodywrap { grid-template-columns: 1fr; max-width: 720px; } .vo-phaseb-rail { display: none; } }

/* Body wrapper — preserves theme + Mediavine compatibility (.article-content) */
.vo-phaseb-body, .article-content.vo-phaseb-body { font-family: 'Soehne', system-ui, sans-serif; min-width: 0; }
.vo-phaseb-body p, .vo-phaseb-body li { font-size: 18px; line-height: 1.72; color: var(--ink); margin: 0 0 22px 0; }
/* Lead paragraph + drop cap on the first paragraph of the article */
.vo-phaseb-body > p:first-of-type { font-size: 21px; line-height: 1.55; color: var(--ink); margin-bottom: 26px; }
.vo-phaseb-body > p:first-of-type::first-letter { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: 78px; line-height: 0.85; float: left; padding: 8px 12px 0 0; margin-top: 6px; color: var(--terracotta); }
.vo-phaseb-pillar-eat-better .vo-phaseb-body > p:first-of-type::first-letter { color: var(--terracotta); }
.vo-phaseb-pillar-live-lighter .vo-phaseb-body > p:first-of-type::first-letter { color: var(--sage); }
.vo-phaseb-pillar-think-deeper .vo-phaseb-body > p:first-of-type::first-letter { color: var(--slate); }
.vo-phaseb-body h2 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 30px; line-height: 1.2; letter-spacing: -0.01em; margin: 64px 0 20px 0; padding: 0 0 0 18px; border-left: 4px solid var(--terracotta); color: var(--ink); }
.vo-phaseb-pillar-eat-better .vo-phaseb-body h2 { border-left-color: var(--terracotta); }
.vo-phaseb-pillar-live-lighter .vo-phaseb-body h2 { border-left-color: var(--sage); }
.vo-phaseb-pillar-think-deeper .vo-phaseb-body h2 { border-left-color: var(--slate); }
.vo-phaseb-body h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.3; margin: 40px 0 14px 0; color: var(--ink); }
.vo-phaseb-body a { color: var(--terracotta); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.vo-phaseb-body a:hover { color: var(--ink); }
.vo-phaseb-body blockquote { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 24px; line-height: 1.4; margin: 48px 0; padding: 0 0 0 24px; border-left: 3px solid var(--terracotta); color: var(--ink); }
.vo-phaseb-body img { max-width: 100%; height: auto; display: block; margin: 36px auto; border-radius: 2px; }
.vo-phaseb-body figcaption { font-family: 'Soehne', system-ui, sans-serif; font-style: italic; font-size: 13px; color: var(--ink-muted); text-align: center; margin-top: 8px; }
.vo-phaseb-body .wp-caption-text { font-family: 'Soehne', system-ui, sans-serif; font-style: italic; font-size: 13px; color: var(--ink-muted); }
/* Mediavine ad slots — give them breathing room */
.vo-phaseb-body .mv-ad-wrapper,
.vo-phaseb-body .adthrive-ad,
.vo-phaseb-body [class*="adthrive"],
.vo-phaseb-body [id^="mv-"] { margin: 36px 0; }

/* Right rail — sits next to body on desktop */
.vo-phaseb-rail { position: sticky; top: 24px; font-family: 'Soehne', system-ui, sans-serif; }
.vo-phaseb-rail__pillar { display: inline-block; padding: 7px 14px; font-size: 10px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; border-radius: 2px; text-decoration: none; margin-bottom: 24px; }
.vo-phaseb-rail__pillar--eat-better   { background: var(--pale-terracotta); color: var(--terracotta); }
.vo-phaseb-rail__pillar--live-lighter { background: var(--pale-sage); color: var(--sage); }
.vo-phaseb-rail__pillar--think-deeper { background: var(--pale-slate); color: var(--slate); }
.vo-phaseb-rail__author { display: flex; gap: 12px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); margin-bottom: 22px; }
.vo-phaseb-rail__author img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.vo-phaseb-rail__author-meta { font-size: 12px; line-height: 1.4; color: var(--ink-muted); }
.vo-phaseb-rail__author-name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 16px; color: var(--ink); display: block; text-decoration: none; margin-bottom: 4px; line-height: 1.2; }
.vo-phaseb-rail__author-name:hover { color: var(--terracotta); }
.vo-phaseb-rail__share { margin-bottom: 28px; }
.vo-phaseb-rail__share-label { font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 10px; }
.vo-phaseb-rail__share-row { display: flex; gap: 8px; }
.vo-phaseb-rail__share a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--rule); border-radius: 2px; color: var(--ink); text-decoration: none; font-size: 11px; font-weight: 600; transition: all 0.15s; }
.vo-phaseb-rail__share a:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.vo-phaseb-rail__more-heading { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--rule); }
.vo-phaseb-rail__more-card { display: block; text-decoration: none; color: inherit; margin-bottom: 16px; }
.vo-phaseb-rail__more-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; margin-bottom: 8px; }
.vo-phaseb-rail__more-card-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 14px; line-height: 1.32; color: var(--ink); }

.vo-phaseb-footer { max-width: 760px; margin: 64px auto 32px; padding: 0 24px; font-family: 'Soehne', system-ui, sans-serif; }
.vo-phaseb-mag-teaser { margin: 0 0 48px; padding: 28px 24px; background: var(--pale-terracotta); border-left: 4px solid var(--terracotta); }
.vo-phaseb-mag-teaser__kicker { font-family: 'Soehne', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 8px; }
.vo-phaseb-mag-teaser__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.3; margin: 0 0 10px; color: var(--ink); }
.vo-phaseb-mag-teaser__cta { font-family: 'Soehne', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--terracotta); text-decoration: none; }
.vo-phaseb-editorial-strip { font-size: 13px; color: var(--ink-muted); padding: 20px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); margin-bottom: 36px; }
.vo-phaseb-editorial-strip a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.vo-phaseb-author-box { margin: 0 0 48px; padding: 28px; background: var(--cream-warm); border-radius: 4px; display: flex; gap: 24px; align-items: flex-start; }
.vo-phaseb-author-box img { width: 88px; height: 88px; border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.vo-phaseb-author-name { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: 22px; margin: 0 0 6px; }
.vo-phaseb-author-name a { color: var(--ink); text-decoration: none; }
.vo-phaseb-author-bio { font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0; }
.vo-phaseb-author-bio p { margin: 4px 0; }
@media (max-width: 600px) { .vo-phaseb-author-box { flex-direction: column; align-items: center; text-align: center; } }
.vo-phaseb-related { margin: 0 0 48px; }
.vo-phaseb-related__heading { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 24px; margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.vo-phaseb-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vo-phaseb-related__card { text-decoration: none; color: inherit; }
.vo-phaseb-related__card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 2px; }
.vo-phaseb-related__card-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 16px; line-height: 1.35; margin: 10px 0 4px; color: var(--ink); }
.vo-phaseb-related__card-meta { font-family: 'Soehne', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); }
@media (max-width: 720px) { .vo-phaseb-related__grid { grid-template-columns: 1fr; } }
.vo-phaseb-share { display: flex; gap: 16px; align-items: center; padding: 24px 0; flex-wrap: wrap; }
.vo-phaseb-share__label { font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-muted); }
.vo-phaseb-share a { font-size: 13px; color: var(--ink); text-decoration: none; padding: 7px 12px; border: 1px solid var(--rule); border-radius: 2px; transition: all 0.15s; }
.vo-phaseb-share a:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }


/* vo_phasec_css */
.vo-phasec-pillar { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; }

.vo-phasec-hero { padding: 80px 24px 56px; position: relative; }
.vo-phasec-hero__inner { max-width: 1100px; margin: 0 auto; }
.vo-phasec-kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 18px; }
.vo-phasec-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(48px, 8vw, 96px); line-height: 1; letter-spacing: -0.02em; margin: 0 0 18px; }
.vo-phasec-tagline { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: clamp(20px, 2vw, 26px); color: var(--ink-soft); margin: 0; max-width: 720px; }
.vo-phasec-pillar--eat-better .vo-phasec-title { color: var(--terracotta); }
.vo-phasec-pillar--live-lighter .vo-phasec-title { color: var(--sage); }
.vo-phasec-pillar--think-deeper .vo-phasec-title { color: var(--slate); }
.vo-phasec-pillar--eat-better .vo-phasec-hero { border-bottom: 4px solid var(--terracotta); }
.vo-phasec-pillar--live-lighter .vo-phasec-hero { border-bottom: 4px solid var(--sage); }
.vo-phasec-pillar--think-deeper .vo-phasec-hero { border-bottom: 4px solid var(--slate); }

.vo-phasec-section { max-width: 1100px; margin: 0 auto; padding: 64px 24px; }

.vo-phasec-editor-pick { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; max-width: 1100px; margin: 0 auto; padding: 64px 24px; border-bottom: 1px solid var(--rule); }
.vo-phasec-editor-pick__img img { width: 100%; height: auto; display: block; border-radius: 2px; }
.vo-phasec-editor-pick__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 12px; }
.vo-phasec-pillar--live-lighter .vo-phasec-editor-pick__kicker { color: var(--sage); }
.vo-phasec-pillar--think-deeper .vo-phasec-editor-pick__kicker { color: var(--slate); }
.vo-phasec-editor-pick__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.18; margin: 0 0 16px; }
.vo-phasec-editor-pick__title a { color: var(--ink); text-decoration: none; }
.vo-phasec-editor-pick__title a:hover { color: var(--terracotta); }
.vo-phasec-editor-pick__excerpt { font-size: 17px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 16px; }
.vo-phasec-editor-pick__meta { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
@media (max-width: 800px) { .vo-phasec-editor-pick { grid-template-columns: 1fr; } }

.vo-phasec-column-row { max-width: 1100px; margin: 0 auto; padding: 48px 24px; border-bottom: 1px solid var(--rule); }
.vo-phasec-column-row__head { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 28px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.vo-phasec-column-row__name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; margin: 0; }
.vo-phasec-column-row__name a { color: var(--ink); text-decoration: none; }
.vo-phasec-column-row__more { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); text-decoration: none; }
.vo-phasec-column-row__more:hover { color: var(--ink); }
.vo-phasec-column-row__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.vo-phasec-card { text-decoration: none; color: inherit; }
.vo-phasec-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; }
.vo-phasec-card__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 18px; line-height: 1.3; margin: 12px 0 0; color: var(--ink); }
@media (max-width: 720px) { .vo-phasec-column-row__grid { grid-template-columns: 1fr; } }

.vo-phasec-feed { max-width: 1100px; margin: 0 auto; padding: 64px 24px; }
.vo-phasec-feed__heading { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 32px; margin: 0 0 32px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
.vo-phasec-feed__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.vo-phasec-feedcard { text-decoration: none; color: inherit; }
.vo-phasec-feedcard__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; }
.vo-phasec-feedcard__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 19px; line-height: 1.3; margin: 14px 0 6px; color: var(--ink); }
.vo-phasec-feedcard__meta { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
@media (max-width: 760px) { .vo-phasec-feed__grid { grid-template-columns: 1fr; } }

.vo-phasec-pag { margin: 48px 0 0; text-align: center; }
.vo-phasec-pag ul { list-style: none; padding: 0; display: inline-flex; gap: 10px; }
.vo-phasec-pag a, .vo-phasec-pag span { display: inline-block; padding: 8px 14px; font-size: 13px; color: var(--ink); border: 1px solid var(--rule); border-radius: 2px; text-decoration: none; }
.vo-phasec-pag .current { background: var(--ink); color: var(--cream); border-color: var(--ink); }

.vo-phasec-newsletter { max-width: 720px; margin: 64px auto; padding: 40px 28px; background: var(--cream-warm); text-align: center; border-radius: 4px; }
.vo-phasec-newsletter h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 30px; margin: 0 0 12px; }
.vo-phasec-newsletter p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 22px; }
.vo-phasec-newsletter form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.vo-phasec-newsletter input[type="email"] { padding: 12px 14px; font-size: 14px; min-width: 260px; border: 1px solid var(--rule); border-radius: 2px; }
.vo-phasec-newsletter button { padding: 12px 22px; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; background: var(--ink); color: var(--cream); border: none; border-radius: 2px; cursor: pointer; }

/* vo-phasee-footer */
.vo-phasee-footer {
    background: #1A1A17; color: #FAF7F0;
    padding: 72px 24px 28px;
    font-family: 'Soehne', system-ui, -apple-system, sans-serif;
    margin-top: 0;
}
.vo-phasee-footer__top { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr 1.2fr; gap: 56px; padding-bottom: 56px; border-bottom: 1px solid #2F2F2A; }
.vo-phasee-footer__brand h2 { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: 38px; color: #FAF7F0; margin: 0 0 14px; letter-spacing: -0.015em; }
.vo-phasee-footer__brand p { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 16px; color: #B8B8AE; line-height: 1.5; margin: 0 0 18px; max-width: 320px; }
.vo-phasee-footer__brand small { font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #8A8A82; }

.vo-phasee-footer__col h4 { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: #B8B8AE; margin: 0 0 22px; }
.vo-phasee-footer__col ul { list-style: none; padding: 0; margin: 0; }
.vo-phasee-footer__col li { margin: 0 0 12px; }
.vo-phasee-footer__col a { color: #FAF7F0; text-decoration: none; font-size: 14px; line-height: 1.5; transition: color 0.15s; }
.vo-phasee-footer__col a:hover { color: #C97A4F; }

.vo-phasee-footer__col--pillars a { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 17px; }
.vo-phasee-footer__col--pillars a[href*="eat-better"]:hover { color: #C97A4F; }
.vo-phasee-footer__col--pillars a[href*="live-lighter"]:hover { color: #8FA889; }
.vo-phasee-footer__col--pillars a[href*="think-deeper"]:hover { color: #6E839C; }

.vo-phasee-footer__newsletter form { display: flex; flex-direction: column; gap: 10px; }
.vo-phasee-footer__newsletter input { padding: 12px 14px; font-size: 13px; background: #2A2A26; color: #FAF7F0; border: 1px solid #3A3A36; border-radius: 2px; font-family: inherit; }
.vo-phasee-footer__newsletter input:focus { outline: none; border-color: #FAF7F0; }
.vo-phasee-footer__newsletter button { padding: 12px; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; background: #FAF7F0; color: #1A1A17; border: none; border-radius: 2px; cursor: pointer; font-family: inherit; transition: background 0.15s; }
.vo-phasee-footer__newsletter button:hover { background: #C97A4F; color: #FAF7F0; }
.vo-phasee-footer__newsletter p { font-size: 12px; color: #8A8A82; margin: 8px 0 0; }

.vo-phasee-footer__bottom { max-width: 1140px; margin: 28px auto 0; display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #8A8A82; flex-wrap: wrap; gap: 16px; }
.vo-phasee-footer__bottom-links a { color: #B8B8AE; text-decoration: none; margin-right: 20px; font-size: 12px; }
.vo-phasee-footer__bottom-links a:hover { color: #FAF7F0; }
.vo-phasee-footer__bottom-meta a { color: #B8B8AE; text-decoration: none; }
.vo-phasee-footer__bottom-meta a:hover { color: #FAF7F0; }

@media (max-width: 900px) {
    .vo-phasee-footer__top { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
    .vo-phasee-footer__brand { grid-column: 1 / -1; }
    .vo-phasee-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 520px) {
    .vo-phasee-footer__top { grid-template-columns: 1fr; }
}

/* vo-phased-archive */
.vo-phased-archive { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; }
.vo-phased-hero { padding: 72px 24px 40px; max-width: 1140px; margin: 0 auto; border-bottom: 1px solid var(--rule); }
.vo-phased-kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; }
.vo-phased-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(40px, 6vw, 72px); line-height: 1.05; letter-spacing: -0.015em; margin: 0 0 14px; color: var(--ink); }
.vo-phased-dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 19px; color: var(--ink-soft); margin: 0; max-width: 660px; }

.vo-phased-feed { max-width: 1140px; margin: 0 auto; padding: 56px 24px; }
.vo-phased-feed__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.vo-phased-card { text-decoration: none; color: inherit; position: relative; }
.vo-phased-card__img { position: relative; }
.vo-phased-card__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; display: block; }
.vo-phased-card__pillar { position: absolute; top: 12px; left: 12px; display: inline-block; padding: 5px 11px; font-family: 'Soehne', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; border-radius: 2px; text-decoration: none; }
.vo-phased-card__pillar--live-lighter { background: var(--pale-sage); color: var(--sage); }
.vo-phased-card__pillar--eat-better   { background: var(--pale-terracotta); color: var(--terracotta); }
.vo-phased-card__pillar--think-deeper { background: var(--pale-slate); color: var(--slate); }
.vo-phased-card__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 21px; line-height: 1.28; margin: 14px 0 6px; color: var(--ink); }
.vo-phased-card__excerpt { font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vo-phased-card__meta { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
@media (max-width: 880px) { .vo-phased-feed__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .vo-phased-feed__grid { grid-template-columns: 1fr; } }

.vo-phased-pag { margin: 56px 0 0; text-align: center; }
.vo-phased-pag ul { list-style: none; padding: 0; display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.vo-phased-pag a, .vo-phased-pag span { display: inline-block; padding: 8px 14px; font-size: 13px; color: var(--ink); border: 1px solid var(--rule); border-radius: 2px; text-decoration: none; }
.vo-phased-pag .current { background: var(--ink); color: var(--cream); border-color: var(--ink); }

.vo-phased-empty { padding: 64px 24px; text-align: center; }
.vo-phased-empty p { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 20px; color: var(--ink-muted); }
.vo-phased-pageof { font-family: 'Soehne', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); text-align: center; margin: 56px 0 18px; }
.vo-phased-transition { max-width: 1140px; margin: 56px auto 0; padding: 48px 24px; background: var(--cream-warm); border-radius: 4px; text-align: center; }
.vo-phased-transition__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; }
.vo-phased-transition__heading { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; margin: 0 0 24px; color: var(--ink); }
.vo-phased-transition__pillars { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; }
.vo-phased-transition__pillars a { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 19px; text-decoration: none; padding-bottom: 2px; border-bottom: 1px solid currentColor; transition: color 0.15s; }
.vo-phased-transition__pillars a[href*="eat-better"] { color: var(--terracotta); }
.vo-phased-transition__pillars a[href*="live-lighter"] { color: var(--sage); }
.vo-phased-transition__pillars a[href*="think-deeper"] { color: var(--slate); }


/* vo-magnav-css */
body nav.vo-magnav, body nav.vo-magnav * {
	font-family: 'Soehne', system-ui, -apple-system, sans-serif;
	box-sizing: border-box;
}
body nav.vo-magnav {
	background: #FAF7F0;
	border-bottom: 1px solid #1E1E1B;
	padding-bottom: 0;
}

/* Utility row */
body nav.vo-magnav .vo-magnav__utility {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px 28px;
	border-bottom: 1px solid #E8E2D4;
}
body nav.vo-magnav .vo-magnav__util-left,
body nav.vo-magnav .vo-magnav__util-right {
	display: flex;
	gap: 28px;
	align-items: center;
}
body nav.vo-magnav .vo-magnav__util {
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #4A4A45 !important;
	text-decoration: none !important;
	transition: color 0.15s;
}
body nav.vo-magnav .vo-magnav__util:hover { color: #A85A2D !important; }
body nav.vo-magnav .vo-magnav__subscribe {
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #FAF7F0 !important;
	background: #1E1E1B;
	padding: 9px 18px;
	border-radius: 2px;
	text-decoration: none !important;
	transition: background 0.15s;
}
body nav.vo-magnav .vo-magnav__subscribe:hover { background: #A85A2D; color: #FAF7F0 !important; }
body nav.vo-magnav .vo-magnav__hamburger { display: none; background: none; border: none; cursor: pointer; padding: 6px; }
body nav.vo-magnav .vo-magnav__hamburger span { display: block; width: 24px; height: 2px; background: #1E1E1B; margin: 5px 0; transition: transform 0.2s; }

/* Masthead — the BIG nameplate */
body nav.vo-magnav .vo-magnav__masthead {
	text-align: center;
	padding: 38px 24px 28px;
	max-width: 1280px;
	margin: 0 auto;
}
body nav.vo-magnav .vo-magnav__decor {
	display: block;
	width: 60px;
	height: 1px;
	background: #1E1E1B;
	margin: 0 auto 22px;
}
body nav.vo-magnav a.vo-magnav__wordmark {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-weight: 600;
	font-size: clamp(56px, 7.2vw, 84px) !important;
	line-height: 1 !important;
	letter-spacing: -0.025em;
	color: #1E1E1B !important;
	text-decoration: none !important;
	display: inline-block;
	margin: 0;
}
body nav.vo-magnav .vo-magnav__tagline {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-style: italic;
	font-size: clamp(15px, 1.3vw, 17px) !important;
	color: #4A4A45;
	margin: 14px 0 14px;
}
body nav.vo-magnav .vo-magnav__dateline {
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #8A8A82;
	margin: 0;
}
body nav.vo-magnav .vo-magnav__dateline .vo-magnav__issue {
	color: #A85A2D;
}

/* Primary row */
body nav.vo-magnav .vo-magnav__primary-wrap {
	border-top: 1px solid #E8E2D4;
	background: #FAF7F0;
}
body nav.vo-magnav .vo-magnav__primary {
	max-width: 1280px;
	margin: 0 auto;
	padding: 18px 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
}
body nav.vo-magnav .vo-magnav__primary a {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-weight: 500;
	font-size: 22px !important;
	line-height: 1.1 !important;
	color: #1E1E1B !important;
	text-decoration: none !important;
	position: relative;
	padding-bottom: 4px;
	transition: color 0.15s;
}
body nav.vo-magnav .vo-magnav__primary a::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; right: 0; height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}
body nav.vo-magnav .vo-magnav__primary a:hover::after { transform: scaleX(1); }
body nav.vo-magnav .vo-magnav__primary a[href*="eat-better"]:hover { color: #A85A2D !important; }
body nav.vo-magnav .vo-magnav__primary a[href*="live-lighter"]:hover { color: #5C7B57 !important; }
body nav.vo-magnav .vo-magnav__primary a[href*="think-deeper"]:hover { color: #3A4A5E !important; }
body nav.vo-magnav .vo-magnav__primary .vo-magnav__pipe {
	display: inline-block; width: 1px; height: 22px; background: #D8D2C4;
}
/* Current pillar highlight */
body.term-eat-better nav.vo-magnav .vo-magnav__primary a[href*="eat-better"] { color: #A85A2D !important; }
body.term-eat-better nav.vo-magnav .vo-magnav__primary a[href*="eat-better"]::after { transform: scaleX(1); background: #A85A2D; }
body.term-live-lighter nav.vo-magnav .vo-magnav__primary a[href*="live-lighter"] { color: #5C7B57 !important; }
body.term-live-lighter nav.vo-magnav .vo-magnav__primary a[href*="live-lighter"]::after { transform: scaleX(1); background: #5C7B57; }
body.term-think-deeper nav.vo-magnav .vo-magnav__primary a[href*="think-deeper"] { color: #3A4A5E !important; }
body.term-think-deeper nav.vo-magnav .vo-magnav__primary a[href*="think-deeper"]::after { transform: scaleX(1); background: #3A4A5E; }

/* Mobile menu overlay */
body .vo-magnav__menu {
	display: none;
	position: fixed; inset: 0;
	background: #FAF7F0;
	z-index: 9999;
	padding: 80px 32px 32px;
	overflow-y: auto;
}
body .vo-magnav__menu.open { display: block; }
body .vo-magnav__menu-close { position: absolute; top: 20px; right: 24px; background: none; border: none; cursor: pointer; font-size: 28px; padding: 4px 10px; color: #1E1E1B; }
body .vo-magnav__menu h2 {
	font-family: 'Domaine Display', Georgia, serif;
	font-weight: 600;
	font-size: 32px;
	margin: 0 0 30px;
	color: #1E1E1B;
}
body .vo-magnav__menu a {
	display: block;
	font-family: 'Domaine Display', Georgia, serif !important;
	font-weight: 500;
	font-size: 28px !important;
	color: #1E1E1B !important;
	text-decoration: none !important;
	margin: 0 0 22px;
	line-height: 1.1;
}
body .vo-magnav__menu a[href*="eat-better"] { color: #A85A2D !important; }
body .vo-magnav__menu a[href*="live-lighter"] { color: #5C7B57 !important; }
body .vo-magnav__menu a[href*="think-deeper"] { color: #3A4A5E !important; }
body .vo-magnav__menu .vo-magnav__menu-divider {
	height: 1px; background: #D8D2C4; margin: 28px 0;
}
body .vo-magnav__menu .vo-magnav__menu-utility {
	margin-top: 32px;
}
body .vo-magnav__menu .vo-magnav__menu-utility a {
	font-family: 'Soehne', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #4A4A45 !important;
	margin: 0 0 16px;
}

/* ─── Mobile responsive ─── */
@media (max-width: 760px) {
	body nav.vo-magnav .vo-magnav__util-left,
	body nav.vo-magnav .vo-magnav__util-right {
		gap: 16px;
	}
	body nav.vo-magnav .vo-magnav__util:not(.vo-magnav__about-link) { display: none; }
	body nav.vo-magnav .vo-magnav__hamburger { display: block; }
	body nav.vo-magnav .vo-magnav__masthead { padding: 24px 20px 20px; }
	body nav.vo-magnav .vo-magnav__decor { display: none; }
	body nav.vo-magnav .vo-magnav__tagline { margin: 10px 0 8px; }
	body nav.vo-magnav .vo-magnav__primary-wrap { display: none; }
}
@media (max-width: 480px) {
	body nav.vo-magnav .vo-magnav__utility { padding: 10px 16px; }
	body nav.vo-magnav .vo-magnav__util,
	body nav.vo-magnav .vo-magnav__subscribe { font-size: 9px !important; padding: 7px 12px; }
}


/* vo-maglanding-css */
.vo-maglanding { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; }
.vo-maglanding__hero { padding: 80px 24px 56px; max-width: 1100px; margin: 0 auto; text-align: center; border-bottom: 1px solid var(--rule); }
.vo-maglanding__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; }
.vo-maglanding__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(56px, 8vw, 96px); line-height: 1; letter-spacing: -0.018em; margin: 0 0 18px; color: var(--ink); }
.vo-maglanding__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: clamp(20px, 1.8vw, 24px); color: var(--ink-soft); margin: 0 auto; max-width: 640px; line-height: 1.5; }
.vo-maglanding__feed { max-width: 1100px; margin: 0 auto; padding: 72px 24px; }
.vo-maglanding__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 56px 48px; }
.vo-maglanding__card { text-decoration: none; color: inherit; }
.vo-maglanding__card__cover { position: relative; overflow: hidden; background: #000; aspect-ratio: 3/4; }
.vo-maglanding__card__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.vo-maglanding__card:hover .vo-maglanding__card__cover img { transform: scale(1.03); }
.vo-maglanding__card__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terracotta); margin: 22px 0 10px; }
.vo-maglanding__card__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: clamp(22px, 2vw, 28px); line-height: 1.22; margin: 0 0 12px; color: var(--ink); }
.vo-maglanding__card__cta { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 2px; }
@media (max-width: 720px) { .vo-maglanding__grid { grid-template-columns: 1fr; gap: 56px; } }


/* vo-newsletter-css */
.vo-nl { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; padding: 64px 24px 96px; }
.vo-nl__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.vo-nl__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 16px; }
.vo-nl__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(48px, 6vw, 72px); line-height: 1.05; letter-spacing: -0.018em; margin: 0 0 22px; color: var(--ink); }
.vo-nl__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.45; color: var(--ink-soft); margin: 0 auto 36px; max-width: 580px; }
.vo-nl__form { max-width: 460px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.vo-nl__row { display: flex; gap: 10px; }
.vo-nl__row input[type="email"] { flex: 1; padding: 16px 18px; font-family: inherit; font-size: 16px; border: 1px solid var(--ink); background: #fff; border-radius: 2px; color: var(--ink); }
.vo-nl__row input:focus { outline: none; border-color: var(--terracotta); }
.vo-nl__row button { padding: 16px 26px; font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; background: var(--ink); color: var(--cream); border: none; border-radius: 2px; cursor: pointer; transition: background 0.15s; }
.vo-nl__row button:hover { background: var(--terracotta); }
.vo-nl__row button[disabled] { opacity: 0.5; cursor: wait; }
.vo-nl__small { font-size: 12px; color: var(--ink-muted); margin: 0; }
.vo-nl__message { display: none; padding: 16px; font-size: 15px; border-radius: 2px; margin-top: 8px; }
.vo-nl__message.ok { display: block; background: #E7EFE3; color: #2F4A28; border: 1px solid #B8C9B0; }
.vo-nl__message.err { display: block; background: #F5E4D0; color: #783E1E; border: 1px solid #D8B49A; }

.vo-nl__benefits { max-width: 720px; margin: 56px auto 0; padding: 40px 32px; background: var(--cream-warm); border-radius: 4px; }
.vo-nl__benefits h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; margin: 0 0 22px; text-align: center; }
.vo-nl__benefits ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; }
.vo-nl__benefits li { font-size: 15px; line-height: 1.55; color: var(--ink-soft); padding-left: 26px; position: relative; }
.vo-nl__benefits li::before { content: '·'; position: absolute; left: 8px; top: -4px; font-size: 26px; color: var(--terracotta); line-height: 1; }
@media (max-width: 600px) {
	.vo-nl__benefits ul { grid-template-columns: 1fr; }
	.vo-nl__row { flex-direction: column; }
}


/* vo-map-css */
.vo-map-page { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; }
.vo-map-page__hero { padding: 56px 24px 36px; text-align: center; max-width: 880px; margin: 0 auto; border-bottom: 1px solid var(--rule); }
.vo-map-page__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 14px; }
.vo-map-page__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(40px, 5.6vw, 64px); line-height: 1.05; letter-spacing: -0.018em; margin: 0 0 18px; }
.vo-map-page__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: clamp(17px, 1.4vw, 20px); color: var(--ink-soft); margin: 0; max-width: 640px; margin: 0 auto; line-height: 1.45; }

.vo-map-page__stage { display: grid; grid-template-columns: 320px 1fr; max-width: 1400px; margin: 0 auto; min-height: 640px; }
@media (max-width: 880px) { .vo-map-page__stage { grid-template-columns: 1fr; } }
.vo-map-page__sidebar { background: var(--cream-warm); padding: 28px 24px; border-right: 1px solid var(--rule); overflow-y: auto; max-height: 78vh; }
@media (max-width: 880px) { .vo-map-page__sidebar { max-height: none; border-right: none; border-bottom: 1px solid var(--rule); } }
.vo-map-page__sb-h { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; margin: 0 0 18px; }
.vo-map-page__counter { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 24px; }
.vo-map-page__filter-label { font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 20px 0 8px; }
.vo-map-page__filter { display: flex; flex-direction: column; gap: 4px; }
.vo-map-page__filter button { font-family: inherit; font-size: 14px; padding: 7px 10px; border: none; background: transparent; color: var(--ink); text-align: left; cursor: pointer; border-radius: 2px; transition: background 0.12s; }
.vo-map-page__filter button:hover { background: rgba(168, 90, 45, 0.08); }
.vo-map-page__filter button.active { background: var(--ink); color: var(--cream); font-weight: 500; }
.vo-map-page__filter button .count { float: right; font-size: 11px; color: var(--ink-muted); }
.vo-map-page__filter button.active .count { color: rgba(250, 247, 240, 0.7); }

#vo-map { width: 100%; min-height: 640px; background: #DDD; }
.leaflet-popup-content-wrapper { border-radius: 2px; }
.leaflet-popup-content { font-family: 'Soehne', system-ui, sans-serif; margin: 14px 16px; max-width: 280px; }
.vo-popup__kicker { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 6px; }
.vo-popup__name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 19px; line-height: 1.2; margin: 0 0 6px; color: var(--ink); }
.vo-popup__meta { font-size: 12px; color: var(--ink-muted); margin: 0 0 12px; }
.vo-popup__pieces { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin: 8px 0 6px; }
.vo-popup__piece-list { list-style: none; padding: 0; margin: 0; }
.vo-popup__piece-list li { margin: 4px 0; }
.vo-popup__piece-list a { color: var(--terracotta); text-decoration: none; font-size: 13px; line-height: 1.35; border-bottom: 1px solid transparent; transition: border-color 0.15s; }
.vo-popup__piece-list a:hover { border-bottom-color: var(--terracotta); }

.vo-marker { width: 14px; height: 14px; border-radius: 50%; background: var(--terracotta); border: 2px solid var(--cream); box-shadow: 0 1px 4px rgba(0,0,0,0.3); }
.vo-marker-cluster { background: rgba(168, 90, 45, 0.85); border: 3px solid var(--cream); border-radius: 50%; color: var(--cream); font-family: 'Soehne', sans-serif; font-weight: 600; font-size: 13px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,0.25); }

.vo-map-page__below { max-width: 1100px; margin: 56px auto; padding: 0 24px; }
.vo-map-page__below h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; margin: 0 0 18px; }
.vo-map-page__below p { font-size: 16px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 14px; }


/* vo-phasef-pillarbar-css */
.vo-phasef-pillarbar {
	background: #FAF7F0;
	border-top: 1px solid #E8E2D4;
	border-bottom: 1px solid #E8E2D4;
	padding: 14px 24px;
	font-family: 'Soehne', system-ui, -apple-system, sans-serif;
}
.vo-phasef-pillarbar__inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
}
.vo-phasef-pillarbar__label {
	font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
	color: #8A8A82; margin-right: 8px;
}
.vo-phasef-pillarbar a {
	font-family: 'Domaine Display', Georgia, serif;
	font-weight: 500; font-size: 17px;
	color: #1E1E1B;
	text-decoration: none;
	position: relative;
	padding-bottom: 2px;
	transition: color 0.15s;
}
.vo-phasef-pillarbar a::after {
	content: '';
	position: absolute;
	bottom: -2px; left: 0; right: 0; height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}
.vo-phasef-pillarbar a:hover::after { transform: scaleX(1); }
.vo-phasef-pillarbar a[href*="eat-better"]:hover { color: #A85A2D; }
.vo-phasef-pillarbar a[href*="live-lighter"]:hover { color: #5C7B57; }
.vo-phasef-pillarbar a[href*="think-deeper"]:hover { color: #3A4A5E; }
/* On pillar landing pages, highlight the current pillar */
body.term-eat-better .vo-phasef-pillarbar a[href*="eat-better"] { color: #A85A2D; }
body.term-eat-better .vo-phasef-pillarbar a[href*="eat-better"]::after { transform: scaleX(1); background: #A85A2D; }
body.term-live-lighter .vo-phasef-pillarbar a[href*="live-lighter"] { color: #5C7B57; }
body.term-live-lighter .vo-phasef-pillarbar a[href*="live-lighter"]::after { transform: scaleX(1); background: #5C7B57; }
body.term-think-deeper .vo-phasef-pillarbar a[href*="think-deeper"] { color: #3A4A5E; }
body.term-think-deeper .vo-phasef-pillarbar a[href*="think-deeper"]::after { transform: scaleX(1); background: #3A4A5E; }
@media (max-width: 600px) {
	.vo-phasef-pillarbar { padding: 10px 16px; }
	.vo-phasef-pillarbar__inner { gap: 20px; }
	.vo-phasef-pillarbar a { font-size: 15px; }
	.vo-phasef-pillarbar__label { display: none; }
}


/* vo-team-css */
.vo-team { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; }

/* Hero */
.vo-team__hero { text-align: center; padding: 64px 24px 40px; max-width: 880px; margin: 0 auto; border-bottom: 1px solid var(--rule); }
.vo-team__kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 14px; }
.vo-team__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(40px, 5.6vw, 64px); line-height: 1.05; letter-spacing: -0.018em; margin: 0 0 18px; }
.vo-team__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: clamp(17px, 1.4vw, 20px); color: var(--ink-soft); margin: 0 auto; max-width: 640px; line-height: 1.5; }

/* Section */
.vo-team__section { max-width: 1140px; margin: 0 auto; padding: 56px 24px; border-bottom: 1px solid var(--rule); }
.vo-team__section-head { margin-bottom: 32px; }
.vo-team__section-kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 8px; }
.vo-team__section--eat-better .vo-team__section-kicker { color: var(--terracotta); }
.vo-team__section--live-lighter .vo-team__section-kicker { color: var(--sage); }
.vo-team__section--think-deeper .vo-team__section-kicker { color: var(--slate); }
.vo-team__section-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 36px; line-height: 1.1; margin: 0 0 8px; }
.vo-team__section-tagline { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 17px; color: var(--ink-soft); margin: 0; max-width: 640px; line-height: 1.4; }

/* Card grid */
.vo-team__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 880px) { .vo-team__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .vo-team__grid { grid-template-columns: 1fr; } }

/* Card */
.vo-team__card { display: block; text-decoration: none; color: inherit; padding: 24px; background: var(--cream-warm); border-radius: 4px; transition: transform 0.15s ease, box-shadow 0.15s ease; }
.vo-team__card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.vo-team__card-photo { width: 88px; height: 88px; margin: 0 0 18px; border-radius: 50%; overflow: hidden; background: var(--rule); }
.vo-team__card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vo-team__card-photo--placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family: 'Domaine Display', Georgia, serif; font-size: 36px; color: var(--ink-muted); }
.vo-team__card-name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.2; margin: 0 0 8px; color: var(--ink); }
.vo-team__card-bio { font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 14px; }
.vo-team__card-link { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.vo-team__card--terracotta .vo-team__card-link { color: var(--terracotta); }
.vo-team__card--sage .vo-team__card-link { color: var(--sage); }
.vo-team__card--slate .vo-team__card-link { color: var(--slate); }
.vo-team__card--terracotta { background: var(--pale-terracotta); }
.vo-team__card--sage { background: var(--pale-sage); }
.vo-team__card--slate { background: var(--pale-slate); }

/* Editorial leadership block */
.vo-team__leadership { display: grid; grid-template-columns: 2fr 3fr; gap: 48px; align-items: start; }
@media (max-width: 760px) { .vo-team__leadership { grid-template-columns: 1fr; } }
.vo-team__leadership-text h3 { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 30px; margin: 0 0 12px; }
.vo-team__leadership-text p { font-size: 16px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 14px; }
.vo-team__leadership-text a { color: var(--terracotta); text-decoration: none; border-bottom: 1px solid currentColor; }

/* vo-page-polish */
/* Override the theme's italic-uppercase H1 — applies on pages + writer profiles */
h1.title-large,
body.page h1,
body.page .title-large,
body.single-writer h1.title-large {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-style: normal !important;
	font-weight: 600 !important;
	font-size: clamp(40px, 5.6vw, 64px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.018em !important;
	text-transform: none !important;
	text-align: left !important;
	margin: 56px 0 28px !important;
	color: #1E1E1B !important;
}
body.page .title-large::before,
.title-large::before { display: none !important; }

/* Improve body typography on content pages */
body.page .entry-content,
body.page .single-post-content,
body.page .page-content,
body.page article {
	font-family: 'Soehne', system-ui, sans-serif;
	font-size: 18px;
	line-height: 1.72;
	color: #1E1E1B;
	max-width: 720px;
	margin: 0 auto;
	padding: 0 24px;
}
body.page .entry-content h2,
body.page article h2 {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-weight: 500;
	font-size: 30px;
	line-height: 1.2;
	margin: 48px 0 18px !important;
	padding: 0 0 0 18px !important;
	border-left: 4px solid #A85A2D;
	color: #1E1E1B;
}
body.page .entry-content h3,
body.page article h3 {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-weight: 500;
	font-size: 22px;
	margin: 36px 0 12px !important;
}
body.page .entry-content a,
body.page article a { color: #A85A2D; text-decoration: underline; text-underline-offset: 3px; }
body.page .entry-content a:hover,
body.page article a:hover { color: #1E1E1B; }
body.page .entry-content blockquote,
body.page article blockquote {
	font-family: 'Domaine Display', Georgia, serif !important;
	font-style: italic !important;
	font-size: 24px !important;
	line-height: 1.4 !important;
	margin: 36px 0 !important;
	padding: 0 0 0 24px !important;
	border-left: 3px solid #A85A2D !important;
}

/* vo-404-css */
.vo-404 { background: var(--cream); color: var(--ink); font-family: 'Soehne', system-ui, sans-serif; min-height: 60vh; }
.vo-404__hero { text-align: center; padding: 80px 24px 56px; max-width: 720px; margin: 0 auto; border-bottom: 1px solid var(--rule); }
.vo-404__code { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(96px, 16vw, 180px); line-height: 1; color: var(--terracotta); letter-spacing: -0.02em; margin: 0 0 12px; }
.vo-404__title { font-family: 'Domaine Display', Georgia, serif; font-weight: 600; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; margin: 0 0 18px; color: var(--ink); }
.vo-404__dek { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 19px; line-height: 1.5; color: var(--ink-soft); margin: 0; max-width: 560px; margin: 0 auto; }
.vo-404__cta-row { margin-top: 28px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.vo-404__cta { display: inline-block; padding: 13px 22px; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; border-radius: 2px; transition: all 0.15s; }
.vo-404__cta--primary { background: var(--ink); color: var(--cream); }
.vo-404__cta--primary:hover { background: var(--terracotta); }
.vo-404__cta--secondary { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.vo-404__cta--secondary:hover { background: var(--ink); color: var(--cream); }

.vo-404__suggest { max-width: 1100px; margin: 0 auto; padding: 56px 24px; }
.vo-404__suggest-h { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 8px; text-align: center; }
.vo-404__suggest-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 28px; text-align: center; margin: 0 0 36px; }
.vo-404__pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }
@media (max-width: 720px) { .vo-404__pillars { grid-template-columns: 1fr; } }
.vo-404__pillar { padding: 28px 24px; background: var(--cream-warm); border-radius: 4px; text-decoration: none; color: inherit; transition: transform 0.15s; }
.vo-404__pillar:hover { transform: translateY(-2px); }
.vo-404__pillar--eat-better { background: #F5E4D0; }
.vo-404__pillar--live-lighter { background: #E7EFE3; }
.vo-404__pillar--think-deeper { background: #DDE4EE; }
.vo-404__pillar-name { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; margin: 0 0 8px; color: var(--ink); }
.vo-404__pillar--eat-better .vo-404__pillar-name { color: var(--terracotta); }
.vo-404__pillar--live-lighter .vo-404__pillar-name { color: var(--sage); }
.vo-404__pillar--think-deeper .vo-404__pillar-name { color: var(--slate); }
.vo-404__pillar-tagline { font-family: 'Domaine Display', Georgia, serif; font-style: italic; font-size: 14px; color: var(--ink-soft); margin: 0; line-height: 1.4; }

.vo-404__recent-h { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 22px; margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.vo-404__recent { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 720px) { .vo-404__recent { grid-template-columns: 1fr; } }
.vo-404__recent-card { text-decoration: none; color: inherit; }
.vo-404__recent-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 2px; }
.vo-404__recent-card-title { font-family: 'Domaine Display', Georgia, serif; font-weight: 500; font-size: 17px; line-height: 1.3; margin: 12px 0 4px; color: var(--ink); }
.vo-404__recent-card-meta { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }