/* ============================================================================
 * Everrow blog post templates — Owner Insights & Guest Guides.
 * Recreates the design at /tmp/design-extract/everrow-website/project/Blog Post Templates.html
 * Tokens mirror blog-page-final.jsx.
 * ============================================================================ */

:root {
	--evp-gold:        #b8956a;
	--evp-gold-dark:   #9b7b52;
	--evp-green:       #5a6b52;
	--evp-green-dark:  #2f4b3b;
	--evp-sage-50:     #f3f6f1;
	--evp-cream:       #f4f0e8;
	--evp-cream-light: #faf9f6;
	--evp-offwhite:    #f7f5f0;
	--evp-ink:         #1f2a21;
	--evp-text:        #2c2c2c;
	--evp-text-light:  #666;
	--evp-line:        rgba(31, 42, 33, 0.12);
	--evp-line-soft:   rgba(31, 42, 33, 0.07);
	--evp-heading:     'Playfair Display', Georgia, serif;
	--evp-body:        'DM Sans', system-ui, sans-serif;
	--evp-mono:        'JetBrains Mono', ui-monospace, Menlo, monospace;
}

.evp-post {
	font-family: var(--evp-body);
	color: var(--evp-ink);
	background: var(--evp-cream-light);
	-webkit-font-smoothing: antialiased;
}
.evp-post * { box-sizing: border-box; }

.evp-post--owner { --evp-accent: var(--evp-green-dark); --evp-tint: var(--evp-sage-50); }
.evp-post--guest { --evp-accent: var(--evp-gold-dark); --evp-tint: var(--evp-cream); background: var(--evp-offwhite); }

/* ── Header / hero ─────────────────────────────────────────── */
.evp-post__header { padding: 64px 56px 48px; }
.evp-post__header-inner { max-width: 980px; margin: 0 auto; }
.evp-post__header--guest { background: var(--evp-cream-light); border-bottom: 1px solid var(--evp-line); padding-top: 56px; padding-bottom: 48px; }

.evp-post__meta-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }

.evp-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 11px;
	font-family: var(--evp-body); font-size: 11px; font-weight: 600;
	letter-spacing: 0.12em; text-transform: uppercase;
}
.evp-pill__dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; }
.evp-pill--owner { background: var(--evp-green-dark); color: #fff; }
.evp-pill--owner .evp-pill__dot { background: #fff; }
.evp-pill--guest { background: var(--evp-cream); color: var(--evp-gold-dark); }
.evp-pill--guest .evp-pill__dot { background: var(--evp-gold-dark); }

.evp-breadcrumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.evp-breadcrumb__sep { color: var(--evp-text-light); font-size: 11px; }
.evp-breadcrumb__item {
	font-family: var(--evp-body); font-size: 11.5px; font-weight: 500;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--evp-text-light); text-decoration: none;
}
.evp-breadcrumb__item.is-current { color: var(--evp-accent); }

.evp-post__title {
	font-family: var(--evp-heading);
	font-size: 60px; font-weight: 500; line-height: 1.04; letter-spacing: -0.015em;
	margin: 0 0 22px; color: var(--evp-ink); text-wrap: balance;
}
.evp-post__deck {
	font-family: var(--evp-heading); font-style: italic;
	font-size: 24px; line-height: 1.4; font-weight: 400;
	color: var(--evp-text); margin: 0 0 36px; max-width: 820px; text-wrap: balance;
}

.evp-post__byline {
	display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
	padding-top: 22px; border-top: 1px solid var(--evp-line);
}
.evp-post__byline-author { display: flex; align-items: center; gap: 12px; }
.evp-post__byline-name { font-size: 14px; font-weight: 600; color: var(--evp-ink); }
.evp-post__byline-role { font-size: 12px; color: var(--evp-text-light); }
.evp-post__byline-meta {
	font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--evp-text-light);
}

/* Owner hero: 16/9 inside content box */
.evp-post__hero { max-width: 1240px; margin: 0 auto; padding: 0 56px 48px; }
.evp-post__hero img, .evp-post__hero .evp-pho {
	display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover;
}

/* Guest hero: full-bleed 21/9 */
.evp-post__fullhero { width: 100%; }
.evp-post__fullhero img, .evp-post__fullhero .evp-pho {
	display: block; width: 100%; height: auto; aspect-ratio: 21/9; object-fit: cover;
}

/* #page has overflow-x: hidden in parent theme which breaks position: sticky.
   clip does the same visual job but does not create a scroll container. */
#page { overflow-x: clip; }

/* ── Body + sidebar grid ──────────────────────────────────── */
.evp-post__grid {
	max-width: 1240px; margin: 0 auto;
	padding: 0 56px 96px;
	display: grid; grid-template-columns: minmax(0, 1fr) 320px;
	gap: 72px; align-items: start;
}
.evp-post--guest .evp-post__grid { padding-top: 64px; }
.evp-post__body { min-width: 0; }
.evp-post__sidebar {
	position: sticky; top: 24px; align-self: start;
	display: grid; gap: 28px;
	max-height: calc(100vh - 48px); overflow-y: auto;
	scrollbar-width: none; -ms-overflow-style: none;
}
.evp-post__sidebar::-webkit-scrollbar { display: none; }

/* ── Body typography ──────────────────────────────────────── */
.evp-post__body > p {
	font-family: var(--evp-body); font-size: 17px; line-height: 1.7;
	color: var(--evp-text); margin: 0 0 24px;
}
.evp-post__body > p:first-of-type { font-size: 18.5px; line-height: 1.65; }
.evp-post__body > p:first-of-type::first-letter {
	float: left; font-family: var(--evp-heading); font-size: 72px;
	line-height: 0.85; padding-right: 12px; padding-top: 8px;
	color: var(--evp-accent); font-weight: 500;
}
.evp-post__body h2 {
	font-family: var(--evp-heading); font-size: 32px; font-weight: 500;
	line-height: 1.15; letter-spacing: -0.01em; color: var(--evp-ink);
	margin: 40px 0 18px; padding-top: 28px; border-top: 1px solid var(--evp-line);
}
.evp-post__body h3 {
	font-family: var(--evp-heading); font-size: 24px; font-weight: 500;
	line-height: 1.2; letter-spacing: -0.005em; color: var(--evp-ink);
	margin: 32px 0 14px;
}
.evp-post__body a { color: var(--evp-accent); text-decoration: underline; text-underline-offset: 3px; }
.evp-post__body ul, .evp-post__body ol { padding-left: 22px; margin: 0 0 24px; }
.evp-post__body ul li, .evp-post__body ol li {
	font-size: 16.5px; line-height: 1.65; color: var(--evp-text); margin-bottom: 8px;
}
.evp-post__body img { max-width: 100%; height: auto; }

/* ── Author card at end of body ───────────────────────────── */
.evp-post__author-card {
	margin-top: 56px; padding-top: 28px;
	border-top: 1px solid var(--evp-line);
	display: flex; gap: 18px; align-items: center;
}
.evp-post__author-name { font-family: var(--evp-heading); font-size: 20px; font-weight: 500; color: var(--evp-ink); }
.evp-post__author-blurb { font-size: 13px; color: var(--evp-text-light); margin-top: 4px; max-width: 480px; line-height: 1.55; }

/* ── Avatar (initials disc) ──────────────────────────────── */
.evp-avatar {
	display: inline-flex; align-items: center; justify-content: center;
	background: oklch(0.72 0.04 110); color: #fff;
	font-family: var(--evp-heading); font-weight: 500; flex-shrink: 0;
}
.evp-post--guest .evp-avatar { background: oklch(0.72 0.04 70); }
.evp-avatar__img { display: none; }

/* ── Sidebar — TOC ───────────────────────────────────────── */
.evp-toc__label, .evp-sidebar-author__label, .evp-sidebar-more__label {
	font-family: var(--evp-body); font-size: 11px; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--evp-text-light); margin-bottom: 16px; font-weight: 500;
}
.evp-toc__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.evp-toc__list li { display: flex; gap: 14px; align-items: baseline; }
.evp-toc__num {
	font-family: var(--evp-mono); font-size: 11px; color: var(--evp-text-light);
	font-weight: 400; min-width: 18px;
}
.evp-toc__link {
	font-family: var(--evp-body); font-size: 14px; line-height: 1.4;
	color: var(--evp-text); text-decoration: none; font-weight: 400;
}
.evp-toc__list li.is-active .evp-toc__num { color: var(--evp-accent); font-weight: 600; }
.evp-toc__list li.is-active .evp-toc__link {
	color: var(--evp-ink); font-weight: 600;
	border-bottom: 1px solid var(--evp-accent); padding-bottom: 2px;
}

/* ── Sidebar CTA (owner only) ────────────────────────────── */
.evp-sidebar-cta {
	padding: 28px 28px 30px;
	background: var(--evp-green-dark); color: #fff;
	border-top: 3px solid var(--evp-gold);
}
.evp-sidebar-cta__title {
	font-family: var(--evp-heading); font-size: 22px; font-weight: 500;
	line-height: 1.2; margin-bottom: 10px; letter-spacing: -0.005em;
}
.evp-sidebar-cta__body { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.78); margin: 0 0 22px; }
.evp-sidebar-cta__list { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 10px; font-size: 12px; color: rgba(255,255,255,0.86); }
.evp-sidebar-cta__list li { display: flex; gap: 10px; align-items: center; }
.evp-sidebar-cta__list li::before { content: ''; display: inline-block; width: 14px; height: 1.5px; background: rgba(255,255,255,0.6); }

/* ── Sidebar author ──────────────────────────────────────── */
.evp-sidebar-author { border-top: 1px solid var(--evp-line); padding-top: 28px; }
.evp-sidebar-author__head { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.evp-sidebar-author__name { font-family: var(--evp-heading); font-size: 18px; font-weight: 500; color: var(--evp-ink); }
.evp-sidebar-author__role { font-size: 12px; color: var(--evp-text-light); margin-top: 2px; }
.evp-sidebar-author__blurb { font-size: 13.5px; line-height: 1.55; color: var(--evp-text); margin: 0; }

/* ── Sidebar — more from owner ───────────────────────────── */
.evp-sidebar-more { border-top: 1px solid var(--evp-line); padding-top: 28px; }
.evp-sidebar-more__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.evp-sidebar-more__list li { padding-bottom: 18px; border-bottom: 1px solid var(--evp-line-soft); }
.evp-sidebar-more__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.evp-sidebar-more__list a { text-decoration: none; color: inherit; display: block; }
.evp-sidebar-more__cat {
	font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--evp-accent); margin-bottom: 8px; font-weight: 500;
}
.evp-sidebar-more__title { font-family: var(--evp-heading); font-size: 16px; line-height: 1.3; font-weight: 500; color: var(--evp-ink); margin: 0; text-wrap: balance; }
.evp-sidebar-more__read { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--evp-text-light); margin-top: 10px; }

/* ── Sidebar — guest stays list ──────────────────────────── */
.evp-stays { background: #fff; border: 1px solid var(--evp-line); padding: 24px 24px 8px; }
.evp-stays__title { font-family: var(--evp-heading); font-size: 18px; font-weight: 500; color: var(--evp-ink); letter-spacing: -0.005em; }
.evp-stays__sub { font-size: 12px; color: var(--evp-text-light); margin: 6px 0 18px; }
.evp-stays__list { list-style: none; padding: 0; margin: 0; }
.evp-stays__list li + li a { border-top: 1px solid var(--evp-line-soft); }
.evp-stays__list a {
	display: grid; grid-template-columns: 76px 1fr; gap: 14px;
	padding: 14px 0; text-decoration: none; color: inherit;
}
.evp-stays__media { aspect-ratio: 1/1; overflow: hidden; }
.evp-stays__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.evp-stays__name { font-family: var(--evp-heading); font-size: 14.5px; font-weight: 500; color: var(--evp-ink); line-height: 1.3; margin-bottom: 4px; }
.evp-stays__meta { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--evp-text-light); margin-bottom: 6px; }
.evp-stays__rate { font-size: 12.5px; color: var(--evp-gold-dark); font-weight: 600; }
.evp-stays__foot { border-top: 1px solid var(--evp-line-soft); padding: 18px 0 6px; margin-top: 4px; }

/* ── Editorial link (em-dash prefix) ─────────────────────── */
.evp-editorial-link {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--evp-body); font-size: 11.25px; font-weight: 600;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--evp-accent); text-decoration: none;
	background: transparent; border: 0; padding: 0; cursor: pointer;
}
.evp-editorial-link__rule { display: inline-block; width: 22px; height: 1.5px; background: currentColor; }

/* ── Buttons ─────────────────────────────────────────────── */
.evp-btn {
	display: inline-flex; align-items: center; gap: 14px;
	padding: 16px 26px;
	font-family: var(--evp-body); font-size: 12px; font-weight: 600;
	letter-spacing: 0.18em; text-transform: uppercase;
	text-decoration: none; white-space: nowrap; cursor: pointer; border: 0;
}
.evp-btn::before { content: ''; display: inline-block; width: 18px; height: 1.5px; background: currentColor; opacity: 0.9; }
.evp-btn--lg { padding: 20px 32px; font-size: 13px; }
.evp-btn--solid { color: #fff; background: var(--evp-accent); }
.evp-btn--owner-invert { background: #fff; color: var(--evp-green-dark); }
.evp-btn--guest-dark { background: var(--evp-green-dark); color: #fff; }
.evp-btn--outline {
	background: transparent;
	color: var(--evp-accent); border: 1px solid var(--evp-accent);
	padding: 15px 24px; font-size: 11.5px; letter-spacing: 0.16em;
}

/* ── Inline mid-article CTA (utility class) ──────────────── */
.evp-inline-cta {
	background: var(--evp-tint); padding: 28px 32px; margin: 40px 0;
	display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
	border: 1px solid var(--evp-line);
}
.evp-inline-cta > div > strong {
	display: block; font-family: var(--evp-heading); font-size: 20px; font-weight: 500;
	color: var(--evp-ink); margin-bottom: 6px; letter-spacing: -0.005em;
}
.evp-inline-cta > div > p { font-size: 14px; line-height: 1.5; color: var(--evp-text); margin: 0; }

/* ── Data band (utility class) ───────────────────────────── */
.evp-databand {
	background: var(--evp-tint); border: 1px solid var(--evp-line);
	padding: 36px 40px; margin: 32px 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; position: relative;
}
.evp-databand::before { content: ''; position: absolute; top: 0; left: 0; width: 56px; height: 3px; background: var(--evp-accent); }
.evp-databand__stat { padding-left: 32px; border-left: 1px solid var(--evp-line); }
.evp-databand__stat:first-child { padding-left: 0; border-left: 0; }
.evp-databand__value {
	font-family: var(--evp-heading); font-size: 44px; font-weight: 500;
	color: var(--evp-accent); line-height: 1; letter-spacing: -0.01em; margin-bottom: 12px;
}
.evp-databand__label { font-size: 13px; line-height: 1.45; color: var(--evp-text); max-width: 220px; }

/* ── Owner checklist (utility class) ─────────────────────── */
.evp-checklist {
	list-style: none; padding: 32px 36px !important; margin: 32px 0 !important;
	background: #fff; border: 1px solid var(--evp-line);
	border-left: 3px solid var(--evp-accent);
	display: grid; gap: 14px;
	counter-reset: evp-check;
}
.evp-checklist > li {
	counter-increment: evp-check;
	display: flex; gap: 16px; align-items: flex-start;
	font-size: 15.5px; line-height: 1.55; color: var(--evp-text); margin: 0 !important;
}
.evp-checklist > li::before {
	content: counter(evp-check, decimal-leading-zero);
	flex-shrink: 0; width: 22px; height: 22px;
	border: 1.5px solid var(--evp-accent);
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--evp-mono); font-size: 11px; font-weight: 600; color: var(--evp-accent);
	margin-top: 1px;
}

/* ── Pull quote (utility class) ──────────────────────────── */
.evp-pullquote {
	margin: 40px 0; padding: 0 0 0 28px;
	border-left: 2px solid var(--evp-accent);
	font-family: var(--evp-heading); font-style: italic;
	font-size: 26px; line-height: 1.35; color: var(--evp-ink); font-weight: 400;
	text-wrap: balance;
}
.evp-pullquote p { margin: 0 0 16px; }
.evp-pullquote p:last-child { margin: 0; }
.evp-pullquote[cite]::after {
	content: '— ' attr(cite);
	display: block;
	font-family: var(--evp-body); font-style: normal; font-size: 12px;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--evp-text-light);
	margin-top: 16px;
}

/* ── Guest plan card (utility class) ─────────────────────── */
.evp-plan-card {
	background: var(--evp-cream); padding: 32px 36px; margin: 40px 0;
	border-top: 3px solid var(--evp-gold-dark);
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px;
}
.evp-plan-card h4 {
	grid-column: 1 / -1; margin: 0 0 -8px;
	font-family: var(--evp-heading); font-size: 22px; font-weight: 500;
	color: var(--evp-ink); letter-spacing: -0.005em;
}
.evp-plan-card dl { margin: 0; display: contents; }
.evp-plan-card dt {
	font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--evp-gold-dark); font-weight: 600; margin-bottom: 8px;
}
.evp-plan-card dd { margin: 0 0 16px; font-size: 14.5px; line-height: 1.5; color: var(--evp-text); }

/* ── Guest numbered place (utility class) ────────────────── */
.evp-place {
	display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px;
	align-items: start; margin: 56px 0;
}
.evp-place__media img,
.evp-place__media .evp-pho { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.evp-place__body { padding-top: 12px; }
.evp-place__num {
	font-family: var(--evp-heading); font-size: 44px; font-weight: 500;
	color: var(--evp-gold-dark); line-height: 1; letter-spacing: -0.01em;
	display: flex; align-items: baseline; gap: 16px; margin-bottom: 12px;
}
.evp-place__num::after { content: ''; flex: 1; height: 1px; background: var(--evp-line); }
.evp-place__body h3 {
	font-family: var(--evp-heading); font-size: 32px; font-weight: 500;
	line-height: 1.1; letter-spacing: -0.01em; color: var(--evp-ink);
	margin: 0 0 12px; text-wrap: balance;
}
.evp-place__meta {
	display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px;
	font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--evp-text-light);
}
.evp-place__price { color: var(--evp-gold-dark); font-weight: 600; }
.evp-place__body p { font-size: 16px; line-height: 1.65; color: var(--evp-text); margin: 0; }

/* ── End-of-article CTAs ─────────────────────────────────── */
.evp-endcta--owner {
	max-width: 1240px; margin: 0 auto 80px;
	background: var(--evp-green-dark); color: #fff;
	position: relative; overflow: hidden;
}
.evp-endcta--owner::before { content: ''; position: absolute; top: 0; left: 0; width: 80px; height: 3px; background: var(--evp-gold); }
.evp-endcta--owner .evp-endcta__inner {
	max-width: none; padding: 64px;
	display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center;
}
.evp-endcta__title {
	font-family: var(--evp-heading); font-size: 40px; font-weight: 500;
	line-height: 1.1; margin: 0 0 18px; letter-spacing: -0.01em; text-wrap: balance;
}
.evp-endcta--owner .evp-endcta__body { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.8); margin: 0; max-width: 540px; }
.evp-endcta__action { display: flex; justify-content: flex-end; }

.evp-endcta--guest {
	max-width: 1240px; margin: 0 auto 80px;
	background: var(--evp-cream);
	display: grid; grid-template-columns: 1fr 1fr; align-items: stretch;
	border: 1px solid var(--evp-line);
}
.evp-endcta--guest .evp-endcta__media { position: relative; }
.evp-endcta--guest .evp-endcta__media img,
.evp-endcta--guest .evp-endcta__media .evp-pho { width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.evp-endcta--guest .evp-endcta__content {
	padding: 52px 56px; display: flex; flex-direction: column; justify-content: center;
}
.evp-endcta--guest .evp-endcta__title { font-size: 36px; color: var(--evp-ink); }
.evp-endcta--guest .evp-endcta__body { font-size: 15.5px; line-height: 1.6; color: var(--evp-text); margin: 0 0 28px; max-width: 480px; }

/* ── Related grid ─────────────────────────────────────────── */
.evp-related { padding: 72px 56px; }
.evp-related--owner { background: var(--evp-cream-light); }
.evp-related--guest { background: var(--evp-offwhite); border-top: 1px solid var(--evp-line); }
.evp-related__inner { max-width: 1240px; margin: 0 auto; }
.evp-related__head {
	display: flex; justify-content: space-between; align-items: end;
	padding-bottom: 22px; margin-bottom: 32px;
	border-bottom: 1px solid var(--evp-accent);
}
.evp-related__title { font-family: var(--evp-heading); font-size: 32px; font-weight: 500; margin: 0; letter-spacing: -0.01em; color: var(--evp-ink); }
.evp-related__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
.evp-related__card {
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--evp-line);
	text-decoration: none; color: inherit;
}
.evp-related__media { width: 100%; }
.evp-related__media img,
.evp-related__media .evp-pho { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; display: block; }
.evp-related__body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.evp-related__cat { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--evp-accent); font-weight: 500; margin-bottom: 10px; }
.evp-related__cardtitle { font-family: var(--evp-heading); font-size: 19px; font-weight: 500; line-height: 1.25; margin: 0 0 12px; color: var(--evp-ink); text-wrap: balance; }
.evp-related__metarow {
	margin-top: auto; padding-top: 14px; border-top: 1px solid var(--evp-line-soft);
	font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--evp-text-light);
	display: flex; justify-content: space-between;
}

/* ── Striped placeholder for missing imagery ──────────────── */
.evp-pho {
	position: relative; overflow: hidden;
	background: repeating-linear-gradient(135deg, oklch(0.80 0.05 90) 0 14px, oklch(0.72 0.06 90) 14px 28px);
}
.evp-pho--owner { background: repeating-linear-gradient(135deg, oklch(0.74 0.04 110) 0 14px, oklch(0.66 0.05 110) 14px 28px); }
.evp-pho__label {
	position: absolute; bottom: 12px; left: 12px;
	font-family: var(--evp-mono); font-size: 10px; letter-spacing: 0.05em;
	background: rgba(255,255,255,0.82); color: var(--evp-ink);
	padding: 4px 8px; text-transform: uppercase;
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 900px) {
	.evp-post__header { padding: 36px 20px 28px; }
	.evp-post__header--guest { padding-top: 36px; padding-bottom: 28px; }
	.evp-post__title { font-size: 36px; }
	.evp-post__deck { font-size: 19px; margin-bottom: 32px; }

	.evp-post__hero { padding: 0 20px 32px; }
	.evp-post__hero img, .evp-post__hero .evp-pho { aspect-ratio: 4/3; }
	.evp-post__fullhero img, .evp-post__fullhero .evp-pho { aspect-ratio: 4/3; }

	.evp-post__grid {
		grid-template-columns: 1fr; gap: 32px;
		padding: 0 20px 56px;
	}
	.evp-post--guest .evp-post__grid { padding-top: 40px; }

	/* Sidebar before body, only TOC visible */
	.evp-post__body { order: 2; }
	.evp-post__sidebar {
		order: 1; position: static; top: auto;
		max-height: none; overflow-y: visible;
		gap: 0;
	}
	.evp-sidebar-cta,
	.evp-sidebar-author,
	.evp-sidebar-more,
	.evp-stays { display: none; }

	.evp-post__body > p:first-of-type { font-size: 17px; }
	.evp-post__body > p { font-size: 16px; line-height: 1.7; }
	.evp-post__body h2 { font-size: 26px; }

	.evp-databand { grid-template-columns: 1fr; gap: 20px; padding: 28px; }
	.evp-databand__stat { padding-left: 0; border-left: 0; }
	.evp-databand__stat + .evp-databand__stat { border-top: 1px solid var(--evp-line); padding-top: 20px; }

	.evp-plan-card { grid-template-columns: 1fr; gap: 18px; padding: 24px 28px; }

	.evp-place { grid-template-columns: 1fr; gap: 22px; margin: 40px 0; }
	.evp-place__body { padding-top: 0; }
	.evp-place__num { font-size: 32px; }
	.evp-place__body h3 { font-size: 26px; }

	.evp-inline-cta { grid-template-columns: 1fr; gap: 18px; padding: 24px; }

	.evp-endcta--owner { margin: 0 20px 48px; }
	.evp-endcta--owner .evp-endcta__inner { grid-template-columns: 1fr; gap: 24px; padding: 36px 28px; }
	.evp-endcta__title { font-size: 28px; }
	.evp-endcta__action { justify-content: flex-start; }
	.evp-endcta--guest { grid-template-columns: 1fr; margin: 0 20px 48px; }
	.evp-endcta--guest .evp-endcta__content { padding: 36px 28px; }

	.evp-related { padding: 48px 20px; }
	.evp-related__head { flex-direction: column; align-items: flex-start; gap: 14px; }
	.evp-related__title { font-size: 26px; }
	.evp-related__grid { grid-template-columns: 1fr; }
}
