/*
Theme Name: Megan V Walker
Theme URI: https://meganvwalker.com/
Author: Megan V Walker
Description: A clean editorial block theme for Megan V Walker.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: megan-v-walker
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Syne:wght@400..800&display=swap');

:root {
  --mvw-berry: #B84663;
  --mvw-coral: #E56B52;
  --mvw-charcoal: #29242A;
  --mvw-cream: #FAF7F4;
  --mvw-blush: #E8D7D5;
  --mvw-white: #FFFFFF;
  --mvw-border: #EEE7E3;
}
:root :where(.wp-block-navigation) {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.wp-site-blocks {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
}
/* Archive subscription callout */

.mvw-subscribe-callout {
	margin: 28px 0 0;
	padding: 14px 18px;

	background: #f7f2ef;
	border: 0;
	border-left: 3px solid #742774;
	border-radius: 4px;

	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	line-height: 1.6;
}

.mvw-subscribe-callout p {
	margin: 0;
}

.mvw-subscribe-callout a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* ============================================================
   COMMENTS SECTION
   ============================================================ */

.mvw-comments {
	max-width: 880px;
	margin: 72px auto 0;
	padding-top: 48px;
	border-top: 1px solid #e7ded9;
}

/* Comments heading */
.mvw-comments .wp-block-comments-title {
	margin: 0 0 36px;
	color: #2f2926;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	line-height: 1.15;
	letter-spacing: -0.03em;
}

/* Main comment list */
.mvw-comments .wp-block-comment-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Comment list items control spacing only */
.mvw-comments .wp-block-comment-template li {
	margin: 0 0 24px;
	padding: 0;
	background: transparent;
	border: 0;
	list-style: none;
	box-shadow: none;
}

/* The actual comment card */
.mvw-comments .wp-block-comment-template li > .wp-block-columns {
	position: relative;
	margin: 0;
	padding: 28px;
	background: #ffffff;
	border: 1px solid #eee7e3;
	border-radius: 16px;
	box-shadow: 0 8px 30px rgba(47, 41, 38, 0.05);
}

/* Nested replies */
.mvw-comments .wp-block-comment-template ol {
	margin: 24px 0 0 32px;
	padding-left: 20px;
	border-left: 2px solid #eee7e3;
}


/* ============================================================
   COMMENT HEADER
   ============================================================ */

/* Comment author */
.mvw-comments .wp-block-comment-author-name {
	margin: 0;
	color: #2f2926;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.mvw-comments .wp-block-comment-author-name a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.mvw-comments .wp-block-comment-author-name a:hover {
	color: #b84663;
}

/* Avatar */
.mvw-comments .wp-block-avatar img,
.mvw-comments img.avatar {
	display: block;
	width: 40px;
	height: 40px;
	aspect-ratio: 1;
	border-radius: 50% !important;
	object-fit: cover;
}

/* Megan's avatar highlight */
.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns
.wp-block-avatar img {
	outline: none;
	box-shadow:
		0 0 0 3px #ffffff,
		0 0 0 6px rgba(184, 70, 99, 0.3);
}

/* Comment date */
.mvw-comments .wp-block-comment-date {
	margin-top: 3px;
	color: #857a74;
	font-size: 0.78rem;
}

.mvw-comments .wp-block-comment-date a {
	color: inherit;
	text-decoration: none;
}

.mvw-comments .wp-block-comment-date a:hover {
	color: #b84663;
}


/* ============================================================
   COMMENT CONTENT
   ============================================================ */

.mvw-comments .wp-block-comment-content {
	margin-top: 20px;
	color: #4f4743;
	font-size: 1rem;
	line-height: 1.75;
}

.mvw-comments .wp-block-comment-content p {
	margin-top: 0;
	margin-bottom: 1em;
}

.mvw-comments .wp-block-comment-content p:last-child {
	margin-bottom: 0;
}

/* Links inside comments */
.mvw-comments .wp-block-comment-content a {
	color: #b84663;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.mvw-comments .wp-block-comment-content a:hover {
	color: #742774;
}


/* ============================================================
   REPLY LINK
   ============================================================ */

.mvw-comments .wp-block-comment-reply-link {
	margin-top: 18px;
}

.mvw-comments .wp-block-comment-reply-link a {
	display: inline-flex;
	align-items: center;
	padding: 7px 13px;
	color: #b84663;
	background: #f9f1f3;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.mvw-comments .wp-block-comment-reply-link a:hover {
	color: #ffffff;
	background: #b84663;
	transform: translateY(-1px);
}


/* ============================================================
   MEGAN'S COMMENTS
   ============================================================ */

/*
 * WordPress adds .bypostauthor to comments left by the author
 * of the post.
 *
 * Styling the immediate .wp-block-columns prevents nested
 * replies from inheriting Megan's highlighted appearance.
 */

.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns {
	padding-top: 52px;
	background:
		linear-gradient(
			135deg,
			rgba(184, 70, 99, 0.09),
			rgba(116, 39, 116, 0.05)
		),
		#ffffff;
	border-color: rgba(184, 70, 99, 0.35);
	box-shadow: 0 12px 36px rgba(116, 39, 116, 0.1);
}

/* Post author badge */
.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns::before {
	content: "Post author";
	position: absolute;
	top: 18px;
	right: 20px;
	z-index: 1;
	padding: 6px 11px;
	color: #ffffff;
	background: #b84663;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

/* Megan's name */
.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns
.wp-block-comment-author-name,
.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns
.wp-block-comment-author-name a {
	color: #742774;
	font-size: 1.08rem;
	font-weight: 800;
}

/* Megan's avatar */
.mvw-comments
.wp-block-comment-template
li.bypostauthor
> .wp-block-columns
.wp-block-avatar img {
	outline: 3px solid rgba(184, 70, 99, 0.25);
	outline-offset: 3px;
}


/* ============================================================
   COMMENT FORM
   ============================================================ */

.mvw-comments .wp-block-post-comments-form {
	margin-top: 56px;
	padding: clamp(24px, 5vw, 40px);
	background: #f6f1ed;
	border: 1px solid #eee7e3;
	border-radius: 18px;
}

/* Form heading */
.mvw-comments .comment-reply-title {
	margin: 0 0 10px;
	color: #2f2926;
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

/* Logged-in and guidance text */
.mvw-comments .logged-in-as,
.mvw-comments .comment-notes {
	margin-bottom: 24px;
	color: #756b66;
	font-size: 0.88rem;
	line-height: 1.6;
}

.mvw-comments .logged-in-as a {
	color: #b84663;
	text-decoration: none;
}

.mvw-comments .logged-in-as a:hover {
	color: #742774;
}

/* Form field spacing */
.mvw-comments .comment-form-comment,
.mvw-comments .comment-form-author,
.mvw-comments .comment-form-email,
.mvw-comments .comment-form-url {
	margin: 0 0 20px;
}

/* Labels */
.mvw-comments label {
	display: block;
	margin-bottom: 7px;
	color: #4f4743;
	font-size: 0.82rem;
	font-weight: 700;
}

/* Inputs */
.mvw-comments input[type="text"],
.mvw-comments input[type="email"],
.mvw-comments input[type="url"],
.mvw-comments textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 13px 15px;
	color: #2f2926;
	background: #ffffff;
	border: 1px solid #ded4ce;
	border-radius: 9px;
	font: inherit;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.mvw-comments textarea {
	min-height: 160px;
	resize: vertical;
}

.mvw-comments input[type="text"]:focus,
.mvw-comments input[type="email"]:focus,
.mvw-comments input[type="url"]:focus,
.mvw-comments textarea:focus {
	outline: none;
	border-color: #b84663;
	box-shadow: 0 0 0 3px rgba(184, 70, 99, 0.12);
}

/* Comment cookies checkbox */
.mvw-comments .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 20px 0;
}

.mvw-comments .comment-form-cookies-consent input {
	flex: 0 0 auto;
	margin-top: 4px;
}

.mvw-comments .comment-form-cookies-consent label {
	margin: 0;
	color: #756b66;
	font-size: 0.82rem;
	font-weight: 400;
	line-height: 1.5;
}


/* Submit button */
.mvw-comments input[type="submit"],
.mvw-comments .form-submit .submit {
	padding: 12px 22px;
	color: #ffffff;
	background: #b84663;
	border: 0;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.mvw-comments input[type="submit"]:hover,
.mvw-comments .form-submit .submit:hover {
	background: #742774;
	box-shadow: 0 7px 20px rgba(116, 39, 116, 0.18);
	transform: translateY(-1px);
}


/* ============================================================
   PAGINATION
   ============================================================ */

.mvw-comments .wp-block-comments-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 32px;
}

.mvw-comments .wp-block-comments-pagination a {
	color: #b84663;
	font-weight: 700;
	text-decoration: none;
}

.mvw-comments .wp-block-comments-pagination a:hover {
	color: #742774;
}


/* ============================================================
   MOBILE
   ============================================================ */


/* Webinar video */
.mvw-webinar-video {
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.mvw-webinar-video iframe,
.mvw-webinar-video .wp-block-embed__wrapper {
    width: 100%;
}

.mvw-webinar-video iframe {
    display: block;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    border: 0;
    border-radius: 10px;
}
/* ==========================================================
   Webinar archive
   ========================================================== */

/* Webinar date */
.mvw-webinar-date {
    margin: 0 0 8px !important;

    color: #786f73;
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
	padding-left: 4px;
}


/* Webinar title */
.mvw-webinar-title {
    display: inline-block;
    width: fit-content;
    max-width: 100%;

    margin: 0 0 16px !important;
    padding: 8px 11px;

    background: #e56b6c;
    border-radius: 4px;

    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 0.8em;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mvw-webinar-title a {
    color: inherit;
    text-decoration: none;
}

.mvw-webinar-title a:hover {
    color: #b84663;
}
/* Webinar archive grid */
.mvw-webinar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: start;

    width: min(1300px, calc(100vw - 48px)) !important;
    max-width: none !important;

    margin: 48px auto !important;
    padding: 32px;

    background: #faf7f4;
    border: 1px solid #eee7e3;
    border-radius: 14px;
}
.mvw-webinar-grid .wp-block-embed {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}
.mvw-webinar-grid > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: start;
}

.mvw-webinar-card .wp-block-embed,
.mvw-webinar-card .wp-block-embed__wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.mvw-webinar-card {
    min-width: 0;
}

.mvw-webinar-card iframe,
.mvw-webinar-card .wp-block-embed__wrapper iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
    border-radius: 10px;
}
.mvw-main {
    flex: 1;
}
.mvw-post-hero .wp-block-post-title.has-display-font-size {
    font-size: clamp(2.2rem, 3.5vw, 4.5rem) !important;
}

figure.alignfull.wp-block-post-featured-image {
    aspect-ratio: 30 / 8 !important;
}


.wp-block-search.aligncenter .wp-block-search__inside-wrapper {
	margin-left: 0;
	margin-right: auto;
	width: 50%;
}

.has-cream-background-color {
    background-color: var(--wp--preset--color--cream) !important;
    border-bottom: 1px #E8D7D5 dotted;
}
.mvw-article-note {
	margin: 0 0 32px;
	padding: 14px 8px;

	background: #f8f1ee;
	border-left: 3px solid #b84663;
	border-radius: 0 8px 8px 0;

	color: #5f5559;
	font-family: "DM Sans", sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* Remove unwanted WordPress outer page spacing */
:root :where(.is-layout-flow) > * {
    margin-block-start: 0.5rem;
    margin-block-end: 0;
}
:where(.wp-site-blocks) > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}
html :where([style*=border-color]) {
    border-style: none;
}


footer.wp-block-template-part,
.mvw-footer {
    margin-bottom: 0 !important;
}


a {
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}

a:hover { color: var(--mvw-berry); }

.mvw-site-header {
  border-bottom: 1px solid var(--mvw-border);
}

.mvw-logo {
    display: inline-flex;
    align-items: baseline;
    gap: 0.08em;

    font-family: "DM Sans", cursive;
    font-size: 3.7rem;
    font-weight: 400;
    line-height: 1;

    color: #4e464b;
    text-decoration: none;
}

.mvw-logo-v {
    color: #B84663;
}

.mvw-logo-line {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
}

.mvw-logo-line::before,
.mvw-logo-line::after {
  content: "";
  height: 1px;
  background: var(--mvw-coral);
  flex: 1;
}

.mvw-logo-line i {
  display: block;
  width: 5px;
  height: 5px;
  background: var(--mvw-coral);
  border-radius: 50%;
}

.mvw-eyebrow {
  color: var(--mvw-coral);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.mvw-hero {
  min-height: 620px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}


.mvw-hero > .wp-block-group__inner-container,
.mvw-hero > * {
  position: relative;
  z-index: 1;
}

.mvw-hero-copy { max-width: 700px; }

.mvw-accent-rule {
  width: 48px;
  height: 2px;
  background: var(--mvw-coral);
  margin: 1.4rem 0;
}

.mvw-button .wp-block-button__link,
.wp-block-button.mvw-button .wp-block-button__link {
  transition: transform .2s ease, background-color .2s ease;
}

.mvw-button .wp-block-button__link:hover,
.wp-block-button.mvw-button .wp-block-button__link:hover {
  transform: translateY(-1px);
  background: #A33D56 !important;
  color: #fff !important;
}
/* Latest / featured article */

.mvw-featured {
	position: relative;
	background: #fff;
	border: 1px solid #eee7e3;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(41, 36, 42, 0.07);
}

.mvw-featured .wp-block-columns {
	margin: 0;
	align-items: stretch;
}

.mvw-featured .wp-block-column {
	margin: 0;
}
/* ============================================================
   FEATURED ARTICLE
   ============================================================ */

/* Image column provides the positioning context for the category */
.mvw-featured > .wp-block-columns > .wp-block-column:first-child {
	position: relative;
}


/* ============================================================
   FEATURED CATEGORY
   ============================================================ */

p.featured-latest-visual.wp-block-paragraph {
    position: static;
    display: block;
    width: fit-content;
    margin: 0px 0 16px;
    padding: 7px 60px;
    border-radius: 4px;
    background: #E8D7D5;
    color: #6a6464;
    font-family: "DM Sans", sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 1px solid #c9bfbf;
}
.mvw-featured .mvw-featured-category {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;

	display: flex;
	flex-wrap: wrap;
	gap: 6px;

	width: auto;
	max-width: calc(100% - 32px);
	margin: 0;

	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mvw-featured .mvw-featured-category a {
	display: inline-block;
	padding: 8px 11px;

	border-radius: 4px;
	background: #b84663;

	color: #fff;
	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


/* ============================================================
   FEATURED DATE
   ============================================================ */

.mvw-featured .mvw-featured-date {
	position: static;
	display: block;
	width: fit-content;

	margin: 16px 0 12px;
	padding: 7px 10px;

	border-radius: 4px;
	background: #746d71;

	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mvw-featured .mvw-featured-date time {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}


/* ============================================================
   FEATURED TAGS
   ============================================================ */

.mvw-featured .mvw-featured-tags {
	position: static;
	inset: auto;
	z-index: auto;

	display: flex;
	flex-wrap: wrap;
	gap: 6px;

	width: auto;
	max-width: none;
	margin: 0 0 16px;
	transform: none;

	font-family: "DM Sans", sans-serif;
}

.mvw-featured .mvw-featured-tags a {
	display: inline-flex;
	align-items: center;
	padding: 4px 9px;

	border: 1px solid #d9a6b3;
	border-radius: 999px;
	background: #f4e3e8;

	color: #82334a;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.mvw-featured .mvw-featured-tags a:hover,
.mvw-featured .mvw-featured-tags a:focus-visible {
	border-color: #b84663;
	background: #b84663;
	color: #fff;
}




/* ============================================================
   SINGLE ARTICLE CATEGORY
   ============================================================ */

.mvw-post-hero {
	position: relative;
}

.mvw-post-hero-category {
	position: absolute;
	top: 24px;
	left: clamp(24px, 5vw, 72px);
	z-index: 3;

	width: max-content;
	max-width: calc(100% - 48px);
	margin: 0;
}

.mvw-post-hero-category a {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	padding: 7px 13px;

	border-radius: 999px;
	background: #b84663;

	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.mvw-post-hero-category a:hover,
.mvw-post-hero-category a:focus-visible {
	background: #82334a;
	color: #fff;
}


/* ============================================================
   SINGLE ARTICLE TAGS
   ============================================================ */

.mvw-single-tags-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;

	margin-top: 0;
	margin-bottom: 14px;
	padding: 0;

	border: 0;
}

.mvw-single-tags-label {
	margin: 0;

	color: #746d71;
	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mvw-single-tags {
	position: static;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;

	margin: 0;
}

.mvw-single-tags a {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;

	border: 1px solid #d9a6b3;
	border-radius: 999px;
	background: #f4e3e8;

	color: #82334a;
	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.mvw-single-tags a:hover,
.mvw-single-tags a:focus-visible {
	border-color: #b84663;
	background: #b84663;
	color: #fff;
}


/* ============================================================
   SINGLE ARTICLE META SPACING
   ============================================================ */

.mvw-single-date {
	margin-top: 0;
	margin-bottom: 14px;
}



/* ============================================================
   SINGLE ARTICLE – MOBILE
   ============================================================ */


/* ============================================================
   SCROLL TO TOP
   ============================================================ */

.mvw-scroll-top {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 999;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;

    background: #fff;
    color: #222;

    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);

    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.mvw-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mvw-scroll-top:hover {
    background: #222;
    color: #fff;
    transform: translateY(-2px);
}

.mvw-scroll-top svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.75;
}
/* =========================================================
   SINGLE POST SUBSCRIPTION CTA
   ========================================================= */

.mvw-subscribe-cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;

	margin-top: clamp(48px, 7vw, 72px);
	padding: clamp(24px, 5vw, 40px);

	background: #f8f5f2;
	border: 1px solid #eee7e3;
	border-left: 4px solid #b84663;
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(55, 38, 45, 0.06);
}

.mvw-subscribe-cta-content {
	flex: 1 1 440px;
	margin: 0 !important;
}

.mvw-subscribe-cta-eyebrow {
	margin: 0 0 8px;

	color: #b84663;

	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mvw-subscribe-cta-title {
	margin: 0 0 8px;

	color: #332c30;

	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	line-height: 1.2;
}

.mvw-subscribe-cta-text {
	max-width: 580px;
	margin: 0;

	color: #655a60;

	font-family: "DM Sans", sans-serif;
	font-size: 0.95rem;
	line-height: 1.6;
}

.mvw-subscribe-cta-buttons {
	flex: 0 0 auto;
	margin: 0 !important;
}

.mvw-subscribe-cta-button .wp-block-button__link {
	padding: 12px 22px;

	color: #ffffff;
	background: #b84663;
	border: 1px solid #b84663;
	border-radius: 8px;

	font-family: "DM Sans", sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;

	box-shadow: 0 7px 18px rgba(184, 70, 99, 0.18);

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.mvw-subscribe-cta-button .wp-block-button__link:hover {
	color: #ffffff;
	background: #9d3852;
	border-color: #9d3852;

	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(184, 70, 99, 0.24);
}

.mvw-subscribe-cta-button .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(184, 70, 99, 0.24);
	outline-offset: 3px;
}






/* =========================================================
   MAILSTER NEWSLETTER SIGN-UP FORM
   ========================================================= */

.mailster-block-form {
	max-width: 760px;
padding-bottom: 4em;
	font-family: "DM Sans", sans-serif;
}


/* =========================================================
   FORM LAYOUT
   ========================================================= */

.mailster-block-form-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

/* Override Mailster's inline widths */

.mailster-block-form .mailster-wrapper {
	width: 100% !important;
	margin: 0;
}

/* Full-width form elements */

.mailster-block-form-info,
.wp-block-mailster-field-email,
.wp-block-mailster-lists,
.wp-block-mailster-gdpr,
.wp-block-mailster-field-submit {
	grid-column: 1 / -1;
}


/* =========================================================
   TEXT AND EMAIL FIELDS
   ========================================================= */

.mailster-block-form .mailster-wrapper-type-text,
.mailster-block-form .mailster-wrapper-type-email {
	position: relative;
}

.mailster-block-form input[type="text"],
.mailster-block-form input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 58px;
	padding: 22px 16px 8px;

	color: #332c30;
	background: #ffffff;

	border: 1px solid #d8ceca;
	border-radius: 10px;
	outline: none;

	font-family: inherit;
	font-size: 1rem;
	line-height: 1.3;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.mailster-block-form input[type="text"]:hover,
.mailster-block-form input[type="email"]:hover {
	border-color: #bdaead;
}

.mailster-block-form input[type="text"]:focus,
.mailster-block-form input[type="email"]:focus {
	background: #ffffff;
	border-color: #b84663;
	box-shadow: 0 0 0 3px rgba(184, 70, 99, 0.13);
}


/* =========================================================
   FLOATING FIELD LABELS
   ========================================================= */

.mailster-block-form .mailster-wrapper-type-text > .mailster-label,
.mailster-block-form .mailster-wrapper-type-email > .mailster-label {
	position: absolute;
	top: 19px;
	left: 16px;

	margin: 0;
	color: #70666b;
	pointer-events: none;

	font-size: 0.95rem;
	line-height: 1;
	transform-origin: left top;

	transition:
		top 0.18s ease,
		font-size 0.18s ease,
		color 0.18s ease;
}

.mailster-block-form input[type="text"]:focus + .mailster-label,
.mailster-block-form input[type="email"]:focus + .mailster-label,
.mailster-block-form input[type="text"]:not(:placeholder-shown) + .mailster-label,
.mailster-block-form input[type="email"]:not(:placeholder-shown) + .mailster-label {
	top: 9px;

	color: #b84663;

	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}


/* =========================================================
   TOPIC CHECKBOXES
   ========================================================= */

.wp-block-mailster-lists {
	margin-top: 6px !important;
}

.wp-block-mailster-lists fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
	margin: 0;
	padding: 0;
	border: 0;
}

.wp-block-mailster-lists legend {
	margin: 0 0 14px;
	padding: 0;

	color: #332c30;

	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	grid-column: 1 / -1;
}

/* Individual topic */

.wp-block-mailster-lists .mailster-group {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
}
.mailster-block-form .mailster-group .mailster-label {
    cursor: pointer;
    display: flex;
    margin: 0;
    padding-left: 1.5rem;
    padding-right: 0.5rem;
    vertical-align: baseline;
}

/* Visually hide the original checkbox */

.wp-block-mailster-lists input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;

	opacity: 0;
	overflow: hidden;
	pointer-events: none;
}

/* Checkbox label */

.wp-block-mailster-lists .mailster-label {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 32px;
	margin: 0;
	padding-left: 30px;

	color: #554b50;
	cursor: pointer;

	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.35;

	transition: color 0.2s ease;
}

/* Checkbox square */

.wp-block-mailster-lists .mailster-label::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 0;

	box-sizing: border-box;
	width: 19px;
	height: 19px;

	background: #ffffff;
	border: 1.5px solid #b9acab;
	border-radius: 4px;

	transform: translateY(-50%);

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Checkbox tick */

.wp-block-mailster-lists .mailster-label::after {
	content: "";

	position: absolute;
	top: 50%;
	left: 6px;

	width: 6px;
	height: 10px;

	border: solid #ffffff;
	border-width: 0 2px 2px 0;

	opacity: 0;
	transform: translateY(-62%) rotate(45deg);
	transition: opacity 0.15s ease;
}

.wp-block-mailster-lists .mailster-label:hover {
	color: #b84663;
}

.wp-block-mailster-lists .mailster-label:hover::before {
	border-color: #b84663;
}

/* Checked topic */

.wp-block-mailster-lists input[type="checkbox"]:checked + .mailster-label {
	color: #332c30;
	font-weight: 600;
}

.wp-block-mailster-lists input[type="checkbox"]:checked + .mailster-label::before {
	background: #b84663;
	border-color: #b84663;
}

.wp-block-mailster-lists input[type="checkbox"]:checked + .mailster-label::after {
	opacity: 1;
}

/* Keyboard focus */

.wp-block-mailster-lists input[type="checkbox"]:focus-visible + .mailster-label::before {
	border-color: #b84663;
	box-shadow: 0 0 0 3px rgba(184, 70, 99, 0.18);
}


/* =========================================================
   GDPR CHECKBOX
   ========================================================= */

.wp-block-mailster-gdpr {
	margin-top: 4px !important;
	padding-top: 17px;
	border-top: 1px solid #e5dcd8;
}

.wp-block-mailster-gdpr .mailster-group {
	position: relative;
	display: flex;
	align-items: flex-start;
	margin: 0;
}

.wp-block-mailster-gdpr input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;

	opacity: 0;
	overflow: hidden;
	pointer-events: none;
}

.wp-block-mailster-gdpr .mailster-label {
	position: relative;
	display: block;
	margin: 0;
	padding-left: 30px;

	color: #6b6065;
	cursor: pointer;

	font-size: 0.84rem;
	line-height: 1.5;
}

.wp-block-mailster-gdpr .mailster-label::before {
	content: "";

	position: absolute;
	top: 1px;
	left: 0;

	box-sizing: border-box;
	width: 19px;
	height: 19px;

	background: #ffffff;
	border: 1.5px solid #b9acab;
	border-radius: 4px;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.wp-block-mailster-gdpr .mailster-label::after {
	content: "";

	position: absolute;
	top: 4px;
	left: 6px;

	width: 6px;
	height: 10px;

	border: solid #ffffff;
	border-width: 0 2px 2px 0;

	opacity: 0;
	transform: rotate(45deg);
	transition: opacity 0.15s ease;
}

.wp-block-mailster-gdpr .mailster-label:hover::before {
	border-color: #b84663;
}

.wp-block-mailster-gdpr input[type="checkbox"]:checked + .mailster-label::before {
	background: #b84663;
	border-color: #b84663;
}

.wp-block-mailster-gdpr input[type="checkbox"]:checked + .mailster-label::after {
	opacity: 1;
}

.wp-block-mailster-gdpr input[type="checkbox"]:focus-visible + .mailster-label::before {
	border-color: #b84663;
	box-shadow: 0 0 0 3px rgba(184, 70, 99, 0.18);
}


/* =========================================================
   SUBMIT BUTTON
   ========================================================= */
   /* Submit button wrapper — left aligned */

.mailster-block-form.wp-block-mailster-form-wrapper
.mailster-block-form-inner
.wp-block-mailster-field-submit {
	display: flex;
	justify-content: flex-start;
	text-align: left;
}


/* Submit button */

.mailster-block-form.wp-block-mailster-form-wrapper
.mailster-block-form-inner
.mailster-wrapper
input[type="submit"] {
	width: auto !important;
	min-width: 0;
	margin: 0;
	padding: 13px 24px;

	color: #ffffff;
	background: #b84663;
	border: 1px solid #b84663;
	border-radius: 8px;
	cursor: pointer;

	/* Overrides Mailster's font: inherit */
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;

	box-shadow: 0 7px 18px rgba(184, 70, 99, 0.2);

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.mailster-block-form.wp-block-mailster-form-wrapper
.mailster-block-form-inner
.mailster-wrapper
input[type="submit"]:hover {
	background: #9d3852;
	border-color: #9d3852;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(184, 70, 99, 0.25);
}

.mailster-block-form.wp-block-mailster-form-wrapper
.mailster-block-form-inner
.mailster-wrapper
input[type="submit"]:focus-visible {
	outline: 3px solid rgba(184, 70, 99, 0.24);
	outline-offset: 3px;
}

.mailster-block-form .wp-block-mailster-field-submit {
	display: flex;
	justify-content: center;
	margin-top: 4px;
	text-align: center;
}

.mailster-block-form input[type="submit"] {
display: inline-block;
    width: auto !important;
    min-width: 0;
    margin: 0;
    padding: 13px 24px;
    color: #ffffff;
    background: #b84663;
    border: 1px solid #b84663;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.mailster-block-form input[type="submit"]:hover {
	background: #9d3852;
	border-color: #9d3852;

	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(184, 70, 99, 0.25);
}

.mailster-block-form input[type="submit"]:active {
	transform: translateY(0);
}

.mailster-block-form input[type="submit"]:focus-visible {
	outline: 3px solid rgba(184, 70, 99, 0.24);
	outline-offset: 3px;
}
.mailster-block-form input[type="text"], .mailster-block-form input[type="email"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 8px 16px 8px;
    color: #332c30;
    background: #ffffff;
    border: 1px solid #d8ceca;
    border-radius: 10px;
    outline: none;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.3;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}


/* =========================================================
   SUCCESS AND ERROR MESSAGES
   ========================================================= */

.mailster-block-form-info-success,
.mailster-block-form-info-error {
	box-sizing: border-box;
	padding: 14px 16px;
	border-radius: 10px;

	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
}

.mailster-block-form-info-success {
	color: #315c2c !important;
	background: #e5f3e2 !important;
	border: 1px solid #bdddb7;
}

.mailster-block-form-info-error {
	color: #8c2941 !important;
	background: #f8e5e8 !important;
	border: 1px solid #ecc4cc;
}


/* =========================================================
   CLOSE BUTTON
   ========================================================= */

.mailster-block-form .mailster-block-form-close {
	color: #6b6065;
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.mailster-block-form .mailster-block-form-close:hover {
	color: #b84663;
}


/* =========================================================
   MOBILE
   ========================================================= */



/* ============================================================
   ALL TOPICS PAGE
   ============================================================ */
.mvw-all-topics {
    padding-top: 2em;
}
.mvw-topics-section {
	margin-bottom: 80px;
}

.mvw-topics-section:last-child {
	margin-bottom: 0;
}

.mvw-topics-section-header {
	margin-bottom: 36px;
	text-align: center;
}

.mvw-topics-section-header .mvw-eyebrow {
	margin-bottom: 12px;
}

.mvw-topics-section-header h2 {
	margin-top: 0;
	margin-bottom: 0;
}

.mvw-archived-topics {
	padding-top: 72px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
/* =========================================================
   ALL TOPICS - SECTION SPACING
   ========================================================= */

.mvw-all-topics .mvw-topics-section + .mvw-topics-section {
	margin-top: 96px;
}

.mvw-topics-intro {
max-width: 650px;
	margin: 12px auto 0;
	text-align: center;
}


/* =========================================================
   TAG DIRECTORY
   ========================================================= */

.mvw-tags-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.mvw-tag-item {
	display: flex;
	flex-direction: column;
	min-width: 0;

	padding: 22px;

	border: 1px solid #eee7e3;
	border-radius: 10px;

	background: #fff;
}

.mvw-tag-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.mvw-tag-name {
	margin: 0;

	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.mvw-tag-name a {
	color: inherit;
	text-decoration: none;
}

.mvw-tag-name a:hover {
	color: #B84663;
}

.mvw-tag-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 10px 10px;
    border-radius: 999px;
    background: #f4efec;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
}

.mvw-tag-description {
	margin-top: 0px;

	font-size: 0.9rem;
	line-height: 1.55;
	color: #666;
}

.mvw-tag-description p {
	margin: 0;
}

.mvw-tag-view {
	display: inline-block;
	align-self: flex-start;

	margin-top: auto;
	padding-top: 0px;

	color: #B84663;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.mvw-tag-view:hover {
	text-decoration: underline;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */





/* Image column */

.mvw-featured .wp-block-column:first-child {
	display: flex;
}

.mvw-featured .wp-block-post-featured-image {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	display: flex;
	overflow: hidden;
}

.mvw-featured .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.mvw-featured .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 380px;
	object-fit: cover;

	transition: transform 0.3s ease;
}

.mvw-featured:hover .wp-block-post-featured-image img {
	transform: scale(1.02);
}


/* Category overlay */

.mvw-featured .mvw-featured-category {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;

	display: flex;
	flex-wrap: wrap;
	gap: 6px;

	max-width: calc(50% - 40px);
	margin: 0;

	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mvw-featured .mvw-featured-category a {
	display: inline-block;
	padding: 8px 11px;

	background: #b84663;
	border-radius: 4px;

	color: #fff;
	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.mvw-featured .mvw-featured-category a:hover {
	background: #e56b52;
	color: #fff;
}

.mvw-featured .mvw-featured-category__separator {
	display: none;
}


/* Text side */

.mvw-featured .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mvw-featured .wp-block-post-title {
	margin-top: 0;
	margin-bottom: 16px;

	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.6rem, 2.4vw, 2.2rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.mvw-featured .wp-block-post-title a {
	color: #29242a;
	text-decoration: none;
	font-size: 0.7em;
}

.mvw-featured .wp-block-post-title a:hover {
	color: #b84663;
}

.mvw-featured .wp-block-post-excerpt {
	color: #625b5f;
	line-height: 1.65;
}

.mvw-featured .wp-block-read-more {
	display: inline-block;
	margin-top: 10px;

	color: #b84663;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.mvw-featured .wp-block-read-more:hover {
	color: #e56b52;
}


.mvw-view-all a {
    color: #B84663;
    text-decoration: none;

    font-family: "DM Sans", sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition: color 0.2s ease;
}

.mvw-view-all a:hover {
    color: #E56B52;
}

/* Homepage profile photo */
.mvw-home-photo {
    width: 360px !important;
    max-width: 100%;

    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 50%;
    overflow: hidden;
}

.mvw-home-photo a {
    display: block;
}

.mvw-home-photo img {
    display: block;
    width: 100% !important;
    height: auto !important;

    border-radius: 50%;
}
/* ==========================================================
   Explore by topic
   ========================================================== */

.mvw-topics-grid {
    display: flex !important;
    flex-wrap: wrap;
	align-items: stretch;
    justify-content: center;
    gap: 16px;

    width: 100%;
    max-width: none;
    margin-top: 32px;
}


/* ----------------------------------------------------------
   Topic card
   ---------------------------------------------------------- */

.mvw-topic-card {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;

	/* Maximum of 3 cards per row */
	flex: 0 1 calc((100% - 64px) / 3);

	padding: 22px 20px;

	background: #fff;
	border: 1px solid #eee7e3;
	border-radius: 12px;
	color: #29242a;
}

.mvw-topic-card:hover {
    transform: translateY(-3px);
    border-color: transparent;
    box-shadow: 0 14px 35px rgba(41, 36, 42, 0.09);
}


/* ----------------------------------------------------------
   Icon
   ---------------------------------------------------------- */

.mvw-topic-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;
    margin-bottom: 2px;

    background: rgba(184, 70, 99, 0.08);
    border-radius: 10px;

    color: #B84663;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.mvw-topic-icon svg {
    width: 24px;
    height: 24px;

    stroke-width: 1.7;
}

.mvw-topic-card:hover .mvw-topic-icon {
    background: rgba(184, 70, 99, 0.13);
    transform: scale(1.04);
}


/* ----------------------------------------------------------
   Title
   ---------------------------------------------------------- */

.mvw-topic-card h3 {
    margin: 0 0 8px;

    font-family: "DM Sans", sans-serif;
    font-size: 1.1rem;
    font-weight: 600;

    letter-spacing: -0.02em;

    color: #29242A;
		line-height: 1.25;
	min-height: calc(2 * 1.25em);
}

.mvw-topic-card h3 a {
    color: inherit;
    text-decoration: none;
}

.mvw-topic-card h3 a:hover {
    color: #B84663;
}


/* ----------------------------------------------------------
   Description
   ---------------------------------------------------------- */

.mvw-topic-description {
	margin-bottom: 0;
	height: calc(5 * 1.5em);
	overflow: hidden;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;

	font-family: "DM Sans", sans-serif;
	font-size: 1.1rem;
	line-height: 1.5;
}


/* ----------------------------------------------------------
   View posts link
   ---------------------------------------------------------- */

.mvw-topic-link {
	display: inline-block;
	height: calc(1 * 1.5em);
	align-self: flex-start;
	margin-top: auto;
	padding-top: 0px;

	color: #b84663;
	text-decoration: none;

	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.07em;
	text-transform: uppercase;

	transition: color 0.2s ease;
	
}


.mvw-topic-link:hover,
.mvw-topic-card:hover .mvw-topic-link {
    color: #E56B52;
}


/* ----------------------------------------------------------
   Responsive layout
   ---------------------------------------------------------- */


.mvw-card {
	position: relative;
	background: #fff;
	border: 1px solid #eee7e3;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: none;

	height: 100%;
	display: flex;
	flex-direction: column;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}
.mvw-card .wp-block-post-date {
	align-self: flex-start;
	display: inline-block;
	width: fit-content;

	margin: 0 0 16px;
	padding: 7px 10px;

	background-color: #746d71;
	border-radius: 4px;

	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
}

.mvw-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 18px 45px rgba(41, 36, 42, 0.10);
}
.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright {
    display: table;
    border: 1px solid #E8D7D5;
}
/* Remove the global aligned-image border from the About photo */

.wp-block-image.alignright.mvw-about-float-image {
	display: block;
	border: 0;
}

/* Featured image */

.mvw-card .wp-block-post-featured-image {
	margin: 0 !important;
	flex-shrink: 0;
	overflow: hidden;
	background: #faf7f4;
	aspect-ratio: 4 / 3;
}

.mvw-card .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.mvw-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transition: transform 0.25s ease;
}

.mvw-card:hover .wp-block-post-featured-image img {
	transform: scale(1.025);
}


/* Card content */

.mvw-card-content,
.mvw-card > .wp-block-group {
	padding: 26px 28px 30px !important;

	display: flex;
	flex-direction: column;
	flex-grow: 1;
}


/* Category overlay */
/* Blog card tags */
/* Only position the category over the card image */
.mvw-card .taxonomy-category.mvw-eyebrow {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
}

/* Tags remain within the normal card content */
.mvw-card .taxonomy-post_tag.mvw-card-tags {
	position: static;
	inset: auto;
	z-index: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	transform: none;
}

.mvw-card .mvw-card-tags a {
	display: inline-flex;
	align-items: center;
	padding: 4px 9px;

	/* Stronger tag colours */
	border: 1px solid #d9a6b3;
	background: #f4e3e8;
	color: #82334a;

	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.mvw-card .mvw-card-tags a:hover,
.mvw-card .mvw-card-tags a:focus-visible {
	border-color: #b84663;
	background: #b84663;
	color: #fff;
}

/* ============================================================
   BLOG CARD CATEGORY
   ============================================================ */

.mvw-card .taxonomy-category {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;

	display: flex;
	flex-wrap: wrap;
	gap: 6px;

	max-width: calc(100% - 32px);
	margin: 0;

	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mvw-card .taxonomy-category a {
	display: inline-block;
	padding: 8px 11px;

	background: #b84663;
	border-radius: 4px;

	color: #fff;
	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.mvw-card .taxonomy-category a:hover {
	background: #e56b52;
	color: #fff;
}

.mvw-card .wp-block-post-terms__separator {
	display: none;
}


/* Post title */

.mvw-card .wp-block-post-title {
	margin: 0 0 12px;

	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.1rem, 1.4vw, 1.5rem) !important;
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.025em;
}

.mvw-card .wp-block-post-title a {
	color: #29242a;
	text-decoration: none;
}

.mvw-card .wp-block-post-title a:hover {
	color: #b84663;
}


/* Post excerpt */

.mvw-card .wp-block-post-excerpt {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.mvw-card .wp-block-post-excerpt__excerpt {
	margin-bottom: 18px;
}

.mvw-card .wp-block-post-excerpt__more-text {
	margin-top: auto;
	padding-top: 18px;
}

.mvw-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: auto;

	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;

	color: #b84663;
	text-decoration: none;
}

.mvw-card .wp-block-post-excerpt__more-link:hover {
	color: #e56b52;
}


/* Query grid */

.wp-block-post-template.is-layout-grid {
	align-items: stretch;
}

.wp-block-post-template.is-layout-grid > li {
	height: 100%;
}



.mvw-meta {
  color: #786F73;
  font-size: .84rem;
}

.mvw-featured {
  box-shadow: 0 12px 40px rgba(41,36,42,.08);
}

.mvw-feature-image-placeholder {
  min-height: 360px;
  background:
    linear-gradient(135deg, rgba(184,70,99,.10), rgba(229,107,82,.08)),
    var(--mvw-cream);
}
/* =========================================================
   HOMEPAGE NEWSLETTER CTA
   ========================================================= */

.mvw-newsletter {
	color: #ffffff;
	background: #503545;
}

.mvw-newsletter-inner {
	margin-top: 0;
	margin-bottom: 0;
}

.mvw-newsletter-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 56px;
	height: 56px;

	color: #ffffff;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
}

.mvw-newsletter-icon svg {
	width: 25px;
	height: 25px;
	stroke-width: 1.7;
}

.mvw-newsletter-eyebrow {
	margin: 0 0 7px;

	color: #e6a5b5;

	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mvw-newsletter h3 {
	margin: 0 0 8px;

	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	line-height: 1.25;
}

.mvw-newsletter-text {
	max-width: 620px;
	margin: 0;

	color: rgba(255, 255, 255, 0.75);

	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	line-height: 1.55;
}

.mvw-newsletter-action .wp-block-buttons {
	justify-content: flex-end;
	margin: 0;
}

.mvw-newsletter-button .wp-block-button__link {
	padding: 13px 22px;

	color: #ffffff;
	background: #b84663;
	border: 1px solid #b84663;
	border-radius: 8px;

	font-family: "DM Sans", sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;

	box-shadow: 0 7px 18px rgba(0, 0, 0, 0.16);

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.mvw-newsletter-button .wp-block-button__link:hover {
	color: #ffffff;
	background: #d05a76;
	border-color: #d05a76;

	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}

.mvw-newsletter-button .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.35);
	outline-offset: 3px;
}






/* Full-width single-post hero */

.mvw-post-hero {
	position: relative;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
	background: #29242a;
}

.mvw-post-hero .wp-block-post-featured-image {
	position: relative;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	aspect-ratio: 21 / 8;
	overflow: hidden;
}

.mvw-post-hero .wp-block-post-featured-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;

	background:
		linear-gradient(
			to top,
			rgba(41, 36, 42, 0.9) 0%,
			rgba(41, 36, 42, 0.45) 55%,
			rgba(41, 36, 42, 0.08) 100%
		);
}

.mvw-post-hero .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 540px;
	object-fit: cover;
}


/* Hero title */

.mvw-post-hero-overlay {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;

	width: 100%;
	max-width: none !important;
	padding: clamp(32px, 5vw, 72px) max(24px, calc((100vw - 1200px) / 2));
	box-sizing: border-box;
}

.mvw-post-hero .wp-block-post-title {
	max-width: 1000px;
	margin: 0;

	font-family: "DM Sans", sans-serif;
	font-size: clamp(2.2rem, 3.5vw, 4.5rem);
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.04em;

	color: #fff;
	text-wrap: balance;
}
/* =========================================================
   ABOUT PAGE INTRO
   ========================================================= */

.mvw-about-intro {
	display: flow-root;
}

.mvw-about-intro p {
	color: #554b50;
	font-size: 1rem;
	line-height: 1.75;
}

.mvw-about-intro-lead {
	margin-top: 0;

	color: #332c30 !important;
	font-size: clamp(1.2rem, 2vw, 1.4rem) !important;
	font-weight: 500;
	line-height: 1.55 !important;
}

.mvw-about-float-image {
	float: right !important;
	width: clamp(260px, 36%, 380px);
	margin: 0 0 28px 48px !important;
}

.mvw-about-float-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center;
	border-radius: 16px;

	box-shadow: 0 16px 38px rgba(55, 38, 45, 0.12);
}










/* ============================================================
   SINGLE ARTICLE CATEGORY HELPERS
   ============================================================ */

.mvw-post-hero-category .wp-block-post-terms__separator {
	display: none;
}


/* ============================================================
   SINGLE ARTICLE DATE
   ============================================================ */

.mvw-single-date {
	display: block;
	width: max-content;
	margin: 0 0 14px;
	padding: 8px 11px;

	border-radius: 4px;
	background: #742774;

	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.mvw-article-shell > .mvw-single-date {
	display: block;
	width: 100%;
	max-width: var(--wp--style--global--content-size);

	margin-top: 0;
	margin-right: auto !important;
	margin-bottom: 14px;
	margin-left: auto !important;

	padding: 0;
	background: transparent;
}

.mvw-single-date time {
	display: inline-block;
	padding: 8px 11px;

	border-radius: 4px;
	background: #742774;

	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
/* Post content */

.mvw-post-content {
	color: #29242a;
}

.mvw-post-content > * {
	max-width: 760px;
}

.mvw-post-content > .alignwide {
	max-width: 1100px;
}

.mvw-post-content > .alignfull {
	max-width: none;
}

.mvw-post-content p,
.mvw-post-content li {
	line-height: 1.75;
}


/* Tags */

.mvw-post-tags {
	font-family: "DM Sans", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.mvw-post-tags a {
	color: #b84663;
	text-decoration: none;
}

.mvw-post-tags a:hover {
	color: #e56b52;
}


/* Previous and next article navigation */

.mvw-post-navigation {
	--navigation-width: min(1040px, calc(100vw - 48px));

	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;

	width: var(--navigation-width) !important;
	max-width: none !important;

	/* Centre the wider navigation within the narrower article */
	margin-top: 56px;
	margin-right: calc((100% - var(--navigation-width)) / 2) !important;
	margin-left: calc((100% - var(--navigation-width)) / 2) !important;

	padding-top: 32px;
	border-top: 1px solid #eee7e3;
}


/* Navigation cards */

.mvw-navigation-card {
	position: relative;
	display: block;
	min-height: 280px;
	overflow: hidden;

	background: #29242a;
	border-radius: 10px;

	color: #fff;
	text-decoration: none;

	isolation: isolate;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.mvw-navigation-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(41, 36, 42, 0.16);
	color: #fff;
}


/* Keep a lone next card on the right */

.mvw-navigation-next {
	grid-column: 2;
}

.mvw-navigation-previous + .mvw-navigation-next {
	grid-column: auto;
}


/* Featured image */

.mvw-navigation-image {
	position: absolute;
	inset: 0;
	z-index: -2;

	background:
		linear-gradient(
			135deg,
			#742774,
			#b84663
		);
}

.mvw-navigation-thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transition: transform 0.4s ease;
}

.mvw-navigation-card:hover .mvw-navigation-thumbnail {
	transform: scale(1.04);
}


/* Dark image overlay */

.mvw-navigation-overlay {
	position: absolute;
	inset: 0;
	z-index: -1;

	background:
		linear-gradient(
			to top,
			rgba(41, 36, 42, 0.94) 0%,
			rgba(41, 36, 42, 0.58) 58%,
			rgba(41, 36, 42, 0.16) 100%
		);

	transition: background 0.25s ease;
}

.mvw-navigation-card:hover .mvw-navigation-overlay {
	background:
		linear-gradient(
			to top,
			rgba(41, 36, 42, 0.96) 0%,
			rgba(41, 36, 42, 0.68) 62%,
			rgba(41, 36, 42, 0.22) 100%
		);
}


/* Card content */

.mvw-navigation-content {
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;

	padding: 24px;
}


/* Previous/next label */

.mvw-navigation-label {
	margin-bottom: auto;

	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
}

.mvw-navigation-label span {
	display: inline-block;
	margin: 0 4px;
}


/* Category */

.mvw-navigation-category {
	display: inline-block;
	width: fit-content;
	margin-bottom: 12px;
	padding: 7px 10px;

	background: #b84663;
	border-radius: 4px;

	font-family: "DM Sans", sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}


/* Article title */

.mvw-navigation-link,
.mvw-navigation-link:hover,
.mvw-navigation-link:focus,
.mvw-navigation-link:visited {
	color: #fff;
	text-decoration: none !important;
}

.mvw-navigation-title {
	display: block;
	max-width: 95%;

	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.02em;

	color: #fff;
	text-decoration: none !important;
}


/* Align next post content to the right */

.mvw-navigation-next .mvw-navigation-content {
	align-items: flex-end;
	text-align: right;
}


/* ==========================================================
   Footer
   ========================================================== */

/* Break the template part itself out of any constrained layout */
footer.wp-block-template-part {
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box;
}
.mvw-footer .mvw-logo {
    color: #fff;
	font-size: 2em;
}

.mvw-footer .mvw-logo-v {
    color: #B84663;
}

/* Full-width footer background */
.mvw-footer {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    box-sizing: border-box;

    background: #29242A;
    color: rgba(255, 255, 255, 0.78);
}


/* Keep the actual footer contents aligned with the site */
.mvw-footer > .wp-block-columns,
.mvw-footer > .wp-block-separator,
.mvw-footer > p {
    width: 100%;
    max-width: 1240px;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* ==========================================================
   Footer columns
   ========================================================== */

.mvw-footer-columns {
    margin-top: 0;
}

.mvw-footer-intro {
    max-width: 420px;
    margin-top: 16px;
    margin-bottom: 20px;
}


/* ==========================================================
   Footer headings
   ========================================================== */

.mvw-footer h3,
.mvw-footer h5 {
    margin-top: 0;
}

.mvw-footer h3 {
    font-family: "DM Sans", sans-serif;
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.mvw-footer h5 {
    margin: 6px 0 18px;

    font-family: "DM Sans", sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


/* ==========================================================
   Footer body text
   ========================================================== */

.mvw-footer p {
    font-size: 0.9rem;
    line-height: 1.6;
}


/* ==========================================================
   Social icons
   ========================================================== */

.mvw-footer-socials {
    margin-top: 20px !important;
    gap: 14px;
}

.mvw-footer-socials .wp-social-link a {
    color: rgba(255, 255, 255, 0.78);
}

.mvw-footer-socials .wp-social-link:hover a {
    color: #fff;
}
.wp-block-social-links .wp-social-link svg {
    height: 2em;
    width: 2em;
}

/* ==========================================================
   Explore navigation
   ========================================================== */

.mvw-footer-navigation {
    gap: 0 !important;
}

.mvw-footer-navigation .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.mvw-footer-navigation .wp-block-navigation-item {
    margin: 0 0 6px !important;
    padding: 0 !important;
}

.mvw-footer-navigation .wp-block-navigation-item:last-child {
    margin-bottom: 0 !important;
}

.mvw-footer-navigation .wp-block-navigation-item__content {
    display: block;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.76);

    font-family: "DM Sans", sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 0.04em;
    text-transform: uppercase;

    text-decoration: none;
}

.mvw-footer-navigation .wp-block-navigation-item__content:hover {
    color: #fff;
}

/* ==========================================================
   Top Topics
   Match Explore navigation exactly
   ========================================================== */

/* Remove WordPress block spacing around shortcode */
.mvw-footer .wp-block-shortcode {
    margin: 0 !important;
    padding: 0 !important;
}

/* List container */
.mvw-footer .mvw-footer-topics {
    display: grid !important;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 0px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Individual items */
.mvw-footer .mvw-footer-topics li {
display: block;
    margin: 0 0 0px !important;
    padding: 0 !important;
    list-style: none !important;
    font-size: inherit;
    line-height: 1.4;
}

.mvw-footer .mvw-footer-topics li:last-child {
    margin-bottom: 0 !important;
}

.mvw-footer .mvw-footer-topics li::marker {
    content: none;
}

/* Links - mirror the WordPress Navigation block */
.mvw-footer .mvw-footer-topics a {
display: block;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.76);
    font-family: "DM Sans", sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
}

.mvw-footer .mvw-footer-topics a:hover {
    color: #fff;
}

/* Same hover behaviour for both menus */

.mvw-footer-navigation .wp-block-navigation-item__content:hover,
.mvw-footer-topics a:hover {
    color: #fff;
}


/* ==========================================================
   Let's Connect
   ========================================================== */

.mvw-footer-connect {
    margin: 0 0 16px;

    font-size: 0.88rem;
    line-height: 1.55;
}

.mvw-footer-contact-link {
    color: #E56B52 !important;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    text-decoration: none;
}

.mvw-footer-contact-link:hover {
    color: #fff !important;
}


/* ==========================================================
   General footer links
   ========================================================== */

.mvw-footer a {
    text-decoration: none;
}


/* ==========================================================
   Responsive
   ========================================================== */


/* Separator */
.mvw-footer .wp-block-separator {
    margin-top: 40px !important;
    margin-bottom: 24px !important;

    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}


/* Copyright */
.mvw-footer > p:last-child {
    max-width: 1240px;
    text-align: center;
}


.mvw-article-shell {
  max-width: 820px;
  margin-inline: auto;
}

.mvw-article-shell .wp-block-post-content {
  font-size: 1.06rem;
  line-height: 1.8;
}

.mvw-article-shell .wp-block-post-content > p,
.mvw-article-shell .wp-block-post-content > ul,
.mvw-article-shell .wp-block-post-content > ol {
  max-width: 760px;
  margin-inline: auto;
}

.mvw-article-shell pre {
  border-radius: 10px;
  overflow-x: auto;
}

.mvw-archive-title { max-width: 850px; }



/* ----------------------------------------------------------
   Tablet / smaller desktop
   ---------------------------------------------------------- */






/* ----------------------------------------------------------
   Mobile / WordPress column stacking breakpoint
   ---------------------------------------------------------- */




/* ----------------------------------------------------------
   Small mobile
   ---------------------------------------------------------- */

/* Native WordPress content safeguards */
.wp-block-post-content img,
.wp-block-post-content video,
.wp-block-post-content iframe,
.wp-block-post-content svg {
    max-width: 100%;
}

.wp-block-post-content img,
.wp-block-post-content video {
    height: auto;
}

.wp-block-post-content pre,
.wp-block-post-content table {
    max-width: 100%;
}

.wp-block-post-content pre {
    overflow-x: auto;
    white-space: pre;
    -webkit-overflow-scrolling: touch;
}

.wp-block-post-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wp-block-post-content figure,
.wp-block-post-content .wp-block-embed,
.wp-block-post-content .wp-block-image {
    max-width: 100%;
}

.wp-block-post-content input,
.wp-block-post-content select,
.wp-block-post-content textarea,
.wp-block-post-content button {
    max-width: 100%;
    box-sizing: border-box;
}

/* ============================================================
   RESPONSIVE STYLES
   All breakpoint-specific rules are kept at the end of the file.
   ============================================================ */

@media (max-width: 1100px) {

.mvw-topic-card {
        flex-basis: calc((100% - 32px) / 3);
    }
}

@media (max-width: 900px) {

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

.mvw-newsletter-inner {
        gap: 20px;
    }

    .mvw-newsletter-form {
        max-width: none;
        margin-left: 0;
    }

    .mvw-footer-columns {
        flex-wrap: wrap !important;
    }

    .mvw-footer-columns > .wp-block-column {
        flex-basis: calc(50% - 24px) !important;
    }
}

@media (max-width: 781px) {

.mvw-featured .wp-block-columns {
		gap: 0;
	}

	.mvw-featured .wp-block-column {
		flex-basis: 100% !important;
	}

	.mvw-featured .wp-block-post-featured-image {
		aspect-ratio: 16 / 9 !important;
		margin: 0;
		overflow: hidden;
	}

	.mvw-featured .wp-block-post-featured-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Override the inline 48px desktop padding */
	.mvw-featured .wp-block-column:last-child {
		padding: 28px 24px 32px !important;
	}

	/* Reduce the title without making it too small */
	.mvw-featured .wp-block-post-title {
		font-size: clamp(1.65rem, 7vw, 2.1rem) !important;
		line-height: 1.12;
		margin-top: 12px;
		margin-bottom: 14px;
	}

	/* Keep the latest-post eyebrow compact */
	.mvw-featured .featured-latest-visual {
		margin-top: 0;
		margin-bottom: 10px;
	}

	/* Tidy the date and tags */
	.mvw-featured-date {
		margin-bottom: 12px;
	}

	.mvw-featured-tags {
		margin-bottom: 18px;
	}

	/* Prevent an unnecessarily long excerpt */
	.mvw-featured .wp-block-post-excerpt__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		line-clamp: 4;
		margin-bottom: 20px;
	}

	.mvw-featured .wp-block-read-more {
		display: inline-block;
	}
		.mvw-featured-category {
		width: max-content;
		max-width: calc(100% - 32px);
	}
		.mvw-featured-category a {
		display: inline-flex;
		width: auto !important;
		min-width: max-content;
		white-space: nowrap;
	}

.mvw-post-hero-category {
		top: 16px;
		left: 16px;

		max-width: calc(100% - 32px);
	}

	.mvw-post-hero-category a {
		width: auto;
		max-width: 100%;
		padding: 6px 11px;

		font-size: 0.68rem;
		white-space: nowrap;
	}

	.mvw-single-tags-row {
		align-items: flex-start;
		margin-bottom: 14px;
	}

	.mvw-single-tags-label {
		padding-top: 6px;
	}

.mvw-newsletter-inner {
		gap: 20px;
	}

	.mvw-newsletter-icon {
		width: 50px;
		height: 50px;
	}

	.mvw-newsletter-action .wp-block-buttons {
		justify-content: flex-start;
	}

	.mvw-newsletter-button .wp-block-button__link {
		white-space: normal;
	}

.mvw-about-float-image {
		width: clamp(220px, 42%, 300px);
		margin-left: 28px !important;
		margin-bottom: 20px !important;
	}

/* Mobile navigation */
/* Webinar archive */
    .mvw-webinar-grid {
        grid-template-columns: 1fr;
        width: 100% !important;
    }
.wp-container-core-cover-is-layout-ec89f9d2 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Homepage profile photo */
.mvw-home-photo {
    width: 230px !important;
}
.mvw-site-header .wp-block-navigation__responsive-container-close {
    top: 20px;
    right: 20px;
}
.mvw-site-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;

    padding: 24px !important;

    overflow-x: hidden;
    overflow-y: auto;
}

.mvw-site-header .wp-block-navigation__responsive-container-content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.mvw-site-header .wp-block-navigation__container {
    width: 100%;
    max-width: 100%;
}

.mvw-site-header .wp-block-navigation-item {
    width: 100%;
}

.mvw-site-header .wp-block-navigation-item__content {
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.mvw-footer .mvw-footer-topics {
    display: grid !important;
    grid-template-rows: repeat(8, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    column-gap: 32px;
    row-gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

    /* Global safeguards */
    img,
    video,
    iframe {
        max-width: 100%;
    }

    .mvw-post-hero .wp-block-post-title,
    .mvw-navigation-title,
    .mvw-topic-card h3 {
        overflow-wrap: anywhere;
    }

    /* Header / logo */
    .mvw-logo {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }

    /* Homepage hero */
    .mvw-hero {
        min-height: auto;
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .mvw-hero-copy {
        max-width: 100%;
    }

    /* Search */
    .wp-block-search.aligncenter .wp-block-search__inside-wrapper {
        width: 100%;
        margin-inline: auto;
    }

    /* Scroll to top */
    .mvw-scroll-top {
        right: 18px;
        bottom: 18px;
        width: 44px;
        height: 44px;
    }

  

    /* Topic cards */
    .mvw-topics-grid {
        gap: 14px;
    }

    .mvw-topic-card {
        flex-basis: calc((100% - 14px) / 2);
    }

    /* Article cards */
    .mvw-card-content,
    .mvw-card > .wp-block-group {
        padding: 22px 22px 26px !important;
    }

    .mvw-card .wp-block-post-title {
        font-size: 1.15rem !important;
    }

    .mvw-card .wp-block-post-terms {
        top: 12px;
        left: 12px;
        max-width: calc(100% - 24px);
    }

    /* Newsletter */
    .mvw-newsletter-icon {
        margin-bottom: 6px;
    }

    .mvw-newsletter-form {
        margin-top: 10px;
    }

    /* Single article hero */
    .mvw-post-hero .wp-block-post-featured-image,
    figure.alignfull.wp-block-post-featured-image {
        aspect-ratio: 4 / 3 !important;
    }

    .mvw-post-hero .wp-block-post-featured-image img {
        min-height: 0;
        height: 100%;
    }

    .mvw-post-hero-overlay {
        padding: 24px;
    }

    .mvw-post-hero .wp-block-post-title,
    .mvw-post-hero .wp-block-post-title.has-display-font-size {
        font-size: clamp(1.9rem, 8vw, 2.6rem) !important;
        line-height: 1.08;
        letter-spacing: -0.03em;
    }

    /* Article meta */
    .mvw-single-meta {
        flex-wrap: wrap;
        align-items: flex-start;
        margin-bottom: 36px;
        gap: 8px;
    }

    /* Article body */
    .mvw-article-shell,
    .mvw-post-content > *,
    .mvw-article-shell .wp-block-post-content > p,
    .mvw-article-shell .wp-block-post-content > ul,
    .mvw-article-shell .wp-block-post-content > ol {
        max-width: 100%;
    }

    .mvw-article-shell .wp-block-post-content {
        font-size: 1rem;
        line-height: 1.75;
    }

    .mvw-post-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mvw-article-shell pre {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Previous / next article navigation */
    .mvw-post-navigation {
        --navigation-width: calc(100vw - 32px);

        grid-template-columns: 1fr;
        gap: 14px;

        margin-top: 40px;
        padding-top: 24px;
    }

    .mvw-navigation-next,
    .mvw-navigation-previous + .mvw-navigation-next {
        grid-column: 1;
    }

    .mvw-navigation-card {
        min-height: 220px;
    }

    .mvw-navigation-content {
        padding: 20px;
    }

    .mvw-navigation-title {
        max-width: 100%;
        font-size: 1.1rem;
    }

    /* Footer */
    .mvw-footer .wp-block-columns {
        gap: 32px;
    }
}

@media (max-width: 600px) {

.mvw-comments {
		margin-top: 48px;
		padding-top: 36px;
	}

	.mvw-comments .wp-block-comments-title {
		margin-bottom: 28px;
	}

	.mvw-comments .wp-block-comment-template li {
		margin-bottom: 18px;
	}

	.mvw-comments .wp-block-comment-template li > .wp-block-columns {
		padding: 22px 18px;
		border-radius: 12px;
	}

	/* Nested comments */
	.mvw-comments .wp-block-comment-template ol {
		margin: 18px 0 0 8px;
		padding-left: 12px;
	}

	/* Megan's comment card */
	.mvw-comments
	.wp-block-comment-template
	li.bypostauthor
	> .wp-block-columns {
		padding-top: 58px;
	}

	/* Megan badge */
	.mvw-comments
	.wp-block-comment-template
	li.bypostauthor
	> .wp-block-columns::before {
		top: 18px;
		right: auto;
		left: 18px;
	}

	.mvw-comments .wp-block-post-comments-form {
		margin-top: 40px;
		padding: 24px 18px;
		border-radius: 14px;
	}

.mvw-subscribe-cta {
		align-items: flex-start;
		gap: 20px;

		margin-top: 48px;
		padding: 24px 20px;
	}

	.mvw-subscribe-cta-content {
		flex-basis: 100%;
	}

	.mvw-subscribe-cta-buttons {
		width: 100%;
	}

	.mvw-subscribe-cta-button .wp-block-button__link {
		width: auto;
	}

	.mailster-block-form {
    margin: 0 auto;
	margin-bottom: 4em;
    padding: 0;
}

	.mailster-block-form-inner {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.mailster-block-form-inner > * {
		grid-column: 1 !important;
	}

	.wp-block-mailster-lists fieldset {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.wp-block-mailster-lists legend {
		grid-column: 1;
	}

	/* Keep the button compact on mobile */

	.mailster-block-form input[type="submit"] {
		width: auto !important;
		padding-right: 20px;
		padding-left: 20px;
		font-size: 0.7rem;
	}

.mvw-about-float-image {
		float: none !important;
		width: min(100%, 320px);
		margin: 0 auto 28px !important;
	}

	.mvw-about-intro-lead {
		font-size: 1.15rem !important;
	}

	.mvw-about-intro p {
		line-height: 1.7;
	}

.mvw-footer-columns > .wp-block-column {
        flex-basis: 100% !important;
    }
}

@media (max-width: 560px) {

.mvw-tags-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {

.wp-container-core-cover-is-layout-ec89f9d2 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

    /* Homepage / archive */
.mvw-home-photo {
    width: 230px !important;
}
    .mvw-hero {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }
.mvw-footer .mvw-footer-topics {
    display: grid !important;
    grid-template-rows: repeat(8, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    column-gap: 32px;
    row-gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
    /* Topic cards become a comfortable single column */
    .mvw-topic-card {
        flex-basis: 100%;
        min-height: auto;
    }

    .mvw-topic-card h3 {
        min-height: 0;
    }

    .mvw-topic-description {
        display: block;
        height: auto;
        overflow: visible;
        -webkit-line-clamp: unset;
    }

    /* Newsletter form stacks instead of squeezing */
    .mvw-newsletter-form {
        flex-direction: column;
    }

    .mvw-newsletter-form input[type="email"],
    .mvw-newsletter-form button {
        width: 100%;
        box-sizing: border-box;
    }

    /* Meta labels are easier to scan when allowed to wrap naturally */
    .mvw-single-meta {
        gap: 8px;
    }

    /* Slightly smaller navigation cards on narrow phones */
    .mvw-navigation-card {
        min-height: 200px;
    }

    .mvw-navigation-content {
        padding: 18px;
    }

    /* Keep floating button away from screen edge */
    .mvw-scroll-top {
        right: 14px;
        bottom: 14px;
    }
}
