/* Zilakou theme · mobile-first · no frameworks · self-hosted fonts */

:root {
	--mz-teal-900: #08373d;
	--mz-teal-700: #0b6e75;
	--mz-teal-600: #0e8189;
	--mz-teal-500: #17a3a3;
	--mz-mint-300: #8fd6c9;
	--mz-mint-200: #cdebe6;
	--mz-mint-100: #e6f5f2;
	--mz-cream: #f8f5ee;
	--mz-sand: #efe9dc;
	--mz-ecru: #faf6ec;
	--mz-ink: #0b1f26;
	--mz-muted: #3a4d54;
	--mz-line: #dfe7e4;
	--mz-white: #fff;
	--mz-radius: 20px;
	--mz-radius-lg: 32px;
	--mz-shadow: 0 10px 30px rgba(10, 74, 80, .08);
	--mz-shadow-sm: 0 4px 14px rgba(10, 74, 80, .07);
	--mz-wrap: 1180px;
	--mz-head: "EB Garamond", "Georgia", "Times New Roman", serif;
	--mz-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--mz-header-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--mz-header-h) + 12px); -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--mz-body);
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--mz-ink);
	font-weight: 500;
	background: var(--mz-cream);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--mz-teal-700); text-underline-offset: 3px; }
a:hover { color: var(--mz-teal-900); }
:focus-visible { outline: 3px solid var(--mz-teal-500); outline-offset: 3px; border-radius: 6px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mz-skip { position: absolute; left: -9999px; top: 8px; background: #fff; padding: 10px 16px; border-radius: 8px; z-index: 1000; }
.mz-skip:focus { left: 8px; }

h1, h2, h3, h4 { font-family: var(--mz-head); font-weight: 500; line-height: 1.15; color: var(--mz-teal-900); margin: 0 0 .5em; letter-spacing: -.005em; }
h1 { font-size: clamp(2.5rem, 6.2vw, 4.2rem); }
h2 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); }
h3 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
p { margin: 0 0 1.1em; }

/* ---- layout helpers (used by Elementor containers) ------------------------ */
.elementor .mz-sec { padding: clamp(56px, 8vw, 104px) clamp(20px, 5vw, 48px); width: 100%; }
.elementor .mz-wrap { width: 100%; max-width: var(--mz-wrap); margin-inline: auto; }
.elementor .mz-sec--white { background: var(--mz-ecru); }
.elementor .mz-sec--sand { background: var(--mz-sand); }
.elementor .mz-sec--mint { background: var(--mz-mint-100); }
.elementor .mz-sec--deep { background: var(--mz-teal-900); color: #e8f4f2; }
.elementor .mz-sec--deep h2, .elementor .mz-sec--deep h3 { color: #fff; }
.elementor .mz-center { text-align: center; }
.elementor .mz-narrow { max-width: 760px; margin-inline: auto; }
.elementor .mz-eyebrow { font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mz-teal-600); margin: 0 0 .9em; }
.elementor .mz-sec--deep .mz-eyebrow { color: var(--mz-mint-300); }
.elementor .mz-lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--mz-muted); }
.elementor .mz-sec-head { margin-bottom: clamp(28px, 4vw, 48px); }

.elementor .e-con.mz-stack { display: flex; flex-direction: column; gap: 16px; --gap: 16px; }
.elementor .e-con.mz-sec, .elementor .e-con.mz-wrap, .elementor .e-con.mz-two, .elementor .e-con.mz-cards,
.elementor .e-con.mz-how, .elementor .e-con.mz-timeline, .elementor .e-con.mz-areas-stack { --gap: 0px; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.elementor .e-con.mz-sec { padding-inline: clamp(20px, 5vw, 48px); }
.elementor .mz-sec--tight { padding-block: clamp(36px, 5vw, 64px); }
.elementor .mz-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.elementor .mz-actions--c { justify-content: center; margin-top: 36px; }
.elementor .mz-hero__inner { width: 100%; }
.elementor .mz-icon--xs img { width: 36px; height: 36px; }
.elementor .mz-pillars { display: grid; gap: 12px; margin-top: 12px; }
.elementor .mz-contact-note { color: var(--mz-muted); margin: 8px 0 0; }
.elementor .mz-how__item h3 { font-size: 1.3rem; margin-bottom: .35em; }
.elementor .mz-icon { flex: none; }

/* ---- illustrations of people ----------------------------------------------- */
.elementor .mz-art img { display: block; width: 100%; max-width: 520px; height: auto; margin-inline: auto; }
.elementor .mz-art--sm img { max-width: 360px; margin-inline: 0; }
.elementor .mz-art--dark img { max-width: 480px; margin-inline: 0; opacity: .96; }
.elementor .mz-cards__art { display: none; align-items: center; justify-content: center; }
@media (min-width: 1000px) { .elementor .mz-cards__art { display: flex; } }
.elementor .mz-two--art { align-items: center; }
.elementor .mz-sec--mint:not(.mz-has-bg) { position: relative; overflow: hidden; }
.elementor .mz-sec--mint::before { content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(143, 214, 201, .45), transparent 68%); pointer-events: none; }
.elementor .mz-sec--mint::after { content: ""; position: absolute; width: 380px; height: 380px; left: -140px; bottom: -160px; border-radius: 50%; border: 3px solid rgba(23, 163, 163, .18); pointer-events: none; }
.elementor .mz-sec--mint > * { position: relative; z-index: 1; }

/* ---- real photographs ----------------------------------------------------- */
.elementor .mz-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--mz-radius-lg); box-shadow: var(--mz-shadow); }
.elementor .mz-photo--cell { height: 100%; }
.elementor .mz-photo--cell img { height: 100%; min-height: 240px; aspect-ratio: auto; }
.elementor .mz-cards__art { display: none; }
@media (min-width: 1000px) { .elementor .mz-cards__art { display: block; } }

/* sections with a photo background: the photo is a normal <img> placed behind the content */
.elementor .mz-has-bg { position: relative; overflow: hidden; isolation: isolate; }
.elementor .mz-bgimg { position: absolute !important; inset: 0; z-index: -2; margin: 0; width: 100%; height: 100%; }
.elementor .mz-bgimg .elementor-widget-container, .elementor .mz-bgimg img { width: 100%; height: 100%; display: block; }
.elementor .mz-bgimg img { object-fit: cover; border-radius: 0; box-shadow: none; }
.elementor .mz-has-bg::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mz-overlay, rgba(230, 245, 242, .9)); }
.elementor .mz-has-bg::after { content: none; }
.elementor .mz-has-bg--mint { --mz-overlay: linear-gradient(180deg, rgba(230, 245, 242, .90) 0%, rgba(230, 245, 242, .58) 38%, rgba(230, 245, 242, .66) 100%); background: var(--mz-mint-100); }
.elementor .mz-has-bg--deep { --mz-overlay: linear-gradient(135deg, rgba(10, 74, 80, .90), rgba(10, 74, 80, .66)); background: var(--mz-teal-900); }

/* ---- buttons -------------------------------------------------------------- */
.mz-btn,
.elementor .mz-btn-wrap .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	padding: 15px 30px; border-radius: 999px; border: 2px solid var(--mz-teal-700);
	background: var(--mz-teal-700); color: #fff; font-family: var(--mz-body); font-weight: 700; font-size: 1rem;
	line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s, transform .2s, box-shadow .2s;
	box-shadow: 0 6px 18px rgba(11, 110, 117, .25);
}
.mz-btn:hover,
.elementor .mz-btn-wrap .elementor-button:hover { background: var(--mz-teal-900); border-color: var(--mz-teal-900); color: #fff; transform: translateY(-1px); }
.mz-btn--ghost,
.elementor .mz-btn-wrap--ghost .elementor-button { background: transparent; color: var(--mz-teal-700); box-shadow: none; }
.mz-btn--ghost:hover,
.elementor .mz-btn-wrap--ghost .elementor-button:hover { background: var(--mz-teal-700); color: #fff; }
.elementor .mz-sec--deep .mz-btn-wrap .elementor-button { background: #fff; border-color: #fff; color: var(--mz-teal-900); }
.elementor .mz-sec--deep .mz-btn-wrap .elementor-button:hover { background: var(--mz-mint-200); border-color: var(--mz-mint-200); }

/* ---- header --------------------------------------------------------------- */
.mz-header { position: sticky; top: 0; z-index: 100; background: rgba(248, 245, 238, .92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); transition: box-shadow .2s; }
.mz-header.is-stuck { box-shadow: 0 2px 18px rgba(10, 74, 80, .10); }
.mz-header__in { max-width: 1320px; margin-inline: auto; padding: 10px clamp(16px, 4vw, 32px); min-height: var(--mz-header-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.mz-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--mz-teal-900); }
.mz-brand__mark { display: inline-flex; width: 42px; height: 42px; flex: none; }
.mz-brand__mark svg { width: 100%; height: 100%; }
.mz-brand .custom-logo { max-height: 48px; width: auto; }
.mz-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.mz-brand__name { font-family: var(--mz-head); font-size: 1.45rem; font-weight: 600; color: var(--mz-teal-900); }
.mz-brand__role { font-size: .72rem; letter-spacing: .06em; color: var(--mz-muted); text-transform: none; }
.mz-burger { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; background: transparent; border: 0; border-radius: 12px; cursor: pointer; }
.mz-burger__bars, .mz-burger__bars::before, .mz-burger__bars::after { display: block; width: 24px; height: 2.5px; border-radius: 2px; background: var(--mz-teal-900); content: ""; position: relative; transition: transform .2s, opacity .2s; }
.mz-burger__bars::before { position: absolute; top: -8px; left: 0; }
.mz-burger__bars::after { position: absolute; top: 8px; left: 0; }
.mz-nav-open .mz-burger__bars { background: transparent; }
.mz-nav-open .mz-burger__bars::before { transform: translateY(8px) rotate(45deg); }
.mz-nav-open .mz-burger__bars::after { transform: translateY(-8px) rotate(-45deg); }
.mz-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--mz-cream); padding: 8px 20px 24px; box-shadow: 0 18px 30px rgba(10, 74, 80, .12); display: none; }
.mz-nav-open .mz-nav { display: block; }
.mz-nav__list { list-style: none; margin: 0; padding: 0; }
.mz-nav__list a { display: block; padding: 14px 4px; border-bottom: 1px solid var(--mz-line); color: var(--mz-ink); text-decoration: none; font-weight: 600; }
.mz-nav__list a:hover { color: var(--mz-teal-700); }
.mz-nav__cta { margin-top: 18px; width: 100%; }

@media (min-width: 1140px) {
	.mz-burger { display: none; }
	.mz-nav { position: static; display: flex !important; align-items: center; gap: 26px; background: none; padding: 0; box-shadow: none; }
	.mz-nav__list { display: flex; gap: 20px; }
	.mz-nav__list a { padding: 6px 0; border: 0; font-size: .92rem; position: relative; white-space: nowrap; }
	.mz-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--mz-teal-500); transform: scaleX(0); transition: transform .2s; }
	.mz-nav__list a:hover::after { transform: scaleX(1); }
	.mz-nav__cta { margin: 0; width: auto; padding: 12px 24px; white-space: nowrap; }
}

/* ---- icons ---------------------------------------------------------------- */
.mz-i { display: inline-flex; flex: none; width: 24px; height: 24px; }
.mz-i svg { width: 100%; height: 100%; }
.mz-i--sm { width: 22px; height: 22px; }
.mz-i--md { width: 40px; height: 40px; }
.mz-i--lg { width: 64px; height: 64px; }
.elementor .mz-icon { margin-bottom: 14px; }
.elementor .mz-icon img { width: 64px; height: 64px; display: block; }
.elementor .mz-icon--sm img { width: 48px; height: 48px; }
.elementor .mz-center .mz-icon img, .elementor .mz-icon--c img { margin-inline: auto; }
.elementor .mz-sec--deep .mz-icon img { filter: brightness(0) invert(1) opacity(.92); }

/* ---- hero ----------------------------------------------------------------- */
.elementor .mz-hero { padding-block: clamp(36px, 6vw, 84px); background:
	radial-gradient(900px 500px at 92% 8%, var(--mz-mint-200) 0%, transparent 60%),
	var(--mz-cream); }
.elementor .mz-hero__grid { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: center; }
.elementor .mz-hero__name { font-size: clamp(2.6rem, 7vw, 4.6rem); margin-bottom: .15em; }
.elementor .mz-hero__role { font-family: var(--mz-body); font-weight: 600; font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--mz-teal-600); letter-spacing: .02em; margin-bottom: 1.2em; }
.elementor .mz-hero__lead { font-size: clamp(1.15rem, 1.8vw, 1.35rem); color: var(--mz-ink); max-width: 36ch; }
.elementor .mz-hero__tag { font-family: var(--mz-head); font-style: italic; font-size: clamp(1.25rem, 2vw, 1.55rem); color: var(--mz-teal-700); max-width: 30ch; margin-bottom: 1.4em; }
.elementor .mz-hero__media { position: relative; max-width: 460px; margin-inline: auto; width: 100%; }
.elementor .mz-hero__media::before { content: ""; position: absolute; inset: -4% -8% auto auto; width: 70%; aspect-ratio: 1; border-radius: 60% 40% 55% 45% / 45% 55% 45% 55%; background: var(--mz-mint-300); opacity: .55; z-index: 0; }
.elementor .mz-hero__media::after { content: ""; position: absolute; inset: auto auto -6% -8%; width: 46%; aspect-ratio: 1; border-radius: 50%; border: 3px solid var(--mz-teal-500); opacity: .55; z-index: 0; }
.elementor .mz-hero__media img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; border-radius: 220px 220px var(--mz-radius-lg) var(--mz-radius-lg); box-shadow: var(--mz-shadow); display: block; background: var(--mz-mint-200); }
@media (min-width: 900px) {
	.elementor .mz-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 64px; }
}

/* ---- trust strip ---------------------------------------------------------- */
.elementor .mz-strip { padding: 0 clamp(20px, 5vw, 48px); margin-top: -28px; position: relative; z-index: 2; }
.elementor .mz-strip__grid { display: grid; grid-template-columns: 1fr; gap: 14px; background: #fff; border-radius: var(--mz-radius); padding: 22px; box-shadow: var(--mz-shadow); }
.elementor .mz-strip__item { display: flex; gap: 14px; align-items: center; }
.elementor .mz-strip__item h3 { font-family: var(--mz-body); font-size: 1rem; font-weight: 700; margin: 0; color: var(--mz-teal-900); }
.elementor .mz-strip__item p { margin: 0; font-size: .92rem; color: var(--mz-muted); line-height: 1.45; }
@media (min-width: 820px) { .elementor .mz-strip__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; padding: 26px 34px; } }

/* ---- cards ---------------------------------------------------------------- */
.elementor .mz-cards { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .elementor .mz-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .elementor .mz-cards--3 { grid-template-columns: repeat(3, 1fr); } .elementor .mz-cards--5 { grid-template-columns: repeat(3, 1fr); } }
.elementor .mz-card { background: #fff; border-radius: var(--mz-radius); padding: 28px; box-shadow: var(--mz-shadow-sm); border: 1px solid var(--mz-line); transition: transform .2s, box-shadow .2s; display: block; text-decoration: none; }
.elementor a.mz-card:hover, .elementor .mz-card:hover { transform: translateY(-3px); box-shadow: var(--mz-shadow); }
.elementor .mz-card h3 { font-size: 1.35rem; margin-bottom: .4em; }
.elementor .mz-card p { color: var(--mz-muted); margin: 0; font-size: .98rem; }
.elementor .mz-card p + p { margin-top: 1em; }
.elementor .mz-card__n { font-family: var(--mz-head); font-size: 1rem; font-weight: 600; color: var(--mz-teal-500); letter-spacing: .08em; }

/* ---- timeline ------------------------------------------------------------- */
.elementor .mz-timeline { display: grid; gap: 18px; position: relative; padding-left: 30px; }
.elementor .mz-timeline::before { content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: linear-gradient(var(--mz-mint-300), var(--mz-teal-500)); }
.elementor .mz-step { position: relative; background: #fff; border-radius: var(--mz-radius); padding: 22px 24px; border: 1px solid var(--mz-line); box-shadow: var(--mz-shadow-sm); }
.elementor .mz-step::before { content: ""; position: absolute; left: -29px; top: 28px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--mz-teal-600); }
.elementor .mz-step p { margin: 0; }
.elementor .mz-badge { display: inline-block; background: var(--mz-mint-200); color: var(--mz-teal-900); font-weight: 700; font-size: .85rem; padding: 4px 12px; border-radius: 999px; }
.elementor .mz-two { display: grid; grid-template-columns: 1fr; gap: 36px; }
@media (min-width: 900px) { .elementor .mz-two { grid-template-columns: 1fr 1fr; gap: 56px; } }

/* ---- detailed areas ------------------------------------------------------- */
.elementor .mz-area { display: grid; grid-template-columns: 1fr; gap: 22px; background: #fff; border-radius: var(--mz-radius-lg); padding: clamp(24px, 4vw, 44px); box-shadow: var(--mz-shadow-sm); border: 1px solid var(--mz-line); }
@media (min-width: 900px) { .elementor .mz-area { grid-template-columns: 96px 1fr; gap: 36px; } }
.elementor .mz-area__side { display: flex; align-items: center; gap: 16px; }
@media (min-width: 900px) { .elementor .mz-area__side { flex-direction: column; align-items: flex-start; } }
.elementor .mz-area__num { font-family: var(--mz-head); font-size: 2.6rem; line-height: 1; color: var(--mz-mint-300); font-weight: 600; }
.elementor .mz-area h3 { margin-bottom: .2em; }
.elementor .mz-area__tag { font-family: var(--mz-head); font-style: italic; font-size: 1.3rem; color: var(--mz-teal-700); margin-bottom: 1em; }
.elementor .mz-axes-title { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mz-muted); margin: 1.4em 0 .6em; }
.elementor .mz-chips ul, .mz-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.elementor .mz-chips li { background: var(--mz-mint-100); color: var(--mz-teal-900); border: 1px solid var(--mz-mint-200); border-radius: 999px; padding: 6px 14px; font-size: .9rem; font-weight: 600; line-height: 1.4; }
.elementor .mz-areas-stack { display: grid; gap: 22px; }

/* ---- how it works --------------------------------------------------------- */
.elementor .mz-how { display: grid; grid-template-columns: 1fr; gap: 20px; counter-reset: how; }
@media (min-width: 820px) { .elementor .mz-how { grid-template-columns: repeat(3, 1fr); } }
.elementor .mz-how__item { position: relative; background: #fff; border-radius: var(--mz-radius); padding: 30px 26px 26px; border: 1px solid var(--mz-line); box-shadow: var(--mz-shadow-sm); }
.elementor .mz-how__item::before { counter-increment: how; content: counter(how); position: absolute; top: -18px; left: 24px; width: 40px; height: 40px; border-radius: 50%; background: var(--mz-teal-700); color: #fff; display: grid; place-items: center; font-weight: 800; box-shadow: 0 6px 14px rgba(11, 110, 117, .3); }
.elementor .mz-how__item p { margin: 0; color: var(--mz-muted); }

/* ---- philosophy ----------------------------------------------------------- */
.elementor .mz-quote { font-family: var(--mz-head); font-style: italic; font-size: clamp(1.7rem, 3.6vw, 2.6rem); line-height: 1.25; color: #fff; margin-bottom: .8em; }
.elementor .mz-pillars { display: grid; gap: 12px; margin-top: 8px; }
.elementor .mz-pillar { display: flex; gap: 14px; align-items: center; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 16px; padding: 16px 18px; font-weight: 600; }

/* ---- contact / CTA -------------------------------------------------------- */
.elementor .mz-cta { text-align: center; }
.elementor .mz-cta h2 { max-width: 20ch; margin-inline: auto; }
.elementor .mz-cta p { max-width: 54ch; margin-inline: auto; }
.mz-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mz-contact li { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; align-items: center; }
.mz-contact .mz-i { grid-row: span 2; }
.mz-contact__label { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mz-muted); font-weight: 700; }
.mz-contact a, .mz-contact__val { font-weight: 700; color: var(--mz-teal-900); text-decoration: none; font-size: 1.08rem; overflow-wrap: anywhere; }
.mz-contact a:hover { color: var(--mz-teal-600); text-decoration: underline; }
.elementor .mz-contact-card { background: #fff; border-radius: var(--mz-radius-lg); padding: clamp(24px, 4vw, 40px); box-shadow: var(--mz-shadow); border: 1px solid var(--mz-line); }

/* ---- booking -------------------------------------------------------------- */
.mz-booking { background: #fff; border-radius: var(--mz-radius-lg); padding: clamp(14px, 3vw, 28px); box-shadow: var(--mz-shadow); border: 1px solid var(--mz-line); }
.mz-booking__frame { width: 100%; min-height: 720px; border: 0; border-radius: var(--mz-radius); display: block; }
.mz-booking__alt, .mz-booking__note { text-align: center; font-size: .92rem; color: var(--mz-muted); margin: 14px 0 0; }
.mz-booking__fallback { text-align: center; padding: 28px 12px; }
.mz-booking__fallback .mz-i { margin-bottom: 8px; }
.mz-booking__btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.mz-booking__admin { background: #fff7e0; border: 1px solid #f0d58a; padding: 12px 14px; border-radius: 12px; font-size: .9rem; text-align: left; margin-top: 18px; }
.mz-link { font-weight: 700; }

/* ---- footer / sticky ------------------------------------------------------ */
.mz-footer { background: var(--mz-teal-900); color: #cfe6e3; padding: 56px clamp(20px, 5vw, 48px) 28px; margin-top: 0; }
.mz-footer a { color: #fff; }
.mz-footer__in { max-width: var(--mz-wrap); margin-inline: auto; display: grid; gap: 34px; grid-template-columns: 1fr; }
@media (min-width: 820px) { .mz-footer__in { grid-template-columns: 1.2fr 1.2fr .8fr; } }
.mz-footer__name { font-family: var(--mz-head); font-size: 1.7rem; color: #fff; margin: 0; }
.mz-footer__role { margin: 0 0 .6em; color: var(--mz-mint-300); font-weight: 600; }
.mz-footer__small { font-size: .92rem; opacity: .85; }
.mz-footer__h { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mz-mint-300); font-weight: 700; margin: 0 0 .9em; }
.mz-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mz-footer .mz-contact a, .mz-footer .mz-contact__val { color: #fff; }
.mz-footer .mz-contact__label { color: var(--mz-mint-300); }
.mz-footer .mz-i svg path, .mz-footer .mz-i svg circle, .mz-footer .mz-i svg rect { fill: none; stroke: #fff; stroke-width: 2.6; }
.mz-social { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mz-social a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .55); color: #fff; transition: background .2s, border-color .2s, transform .2s; }
.mz-social a:hover, .mz-social a:focus-visible { background: rgba(255, 255, 255, .16); border-color: #fff; transform: translateY(-2px); }
.mz-footer__copy { max-width: var(--mz-wrap); margin: 36px auto 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: .85rem; opacity: .8; }
body { padding-bottom: 68px; }
.mz-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(248, 245, 238, .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 -6px 20px rgba(10, 74, 80, .12); }
.mz-sticky__a { flex: 1; display: inline-flex; gap: 8px; align-items: center; justify-content: center; padding: 13px 10px; border-radius: 999px; border: 2px solid var(--mz-teal-700); color: var(--mz-teal-700); font-weight: 700; text-decoration: none; font-size: .96rem; background: #fff; }
.mz-sticky__a--primary { background: var(--mz-teal-700); color: #fff; }
@media (min-width: 900px) { .mz-sticky { display: none; } body { padding-bottom: 0; } }

/* ---- plain pages ---------------------------------------------------------- */
.mz-prose { max-width: 780px; margin: 0 auto; padding: clamp(40px, 6vw, 80px) 20px; }
.mz-prose h1 { font-size: clamp(2.2rem, 5vw, 3.2rem); }

/* ---- Elementor resets for our containers --------------------------------- */
.elementor .elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor .elementor-widget-heading .elementor-heading-title { font-family: inherit; color: inherit; }
.elementor .elementor-widget-text-editor { color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; }
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* ======================================================================
   Embellishments (v1.1)
   ====================================================================== */

/* About: photo | text, balanced columns, larger copy */
.elementor .mz-about { align-items: center; }
.elementor .mz-photo--about img { aspect-ratio: 4 / 3; }
.elementor .mz-about__text h2 { font-size: clamp(2rem, 3.4vw, 2.7rem); }
.elementor .mz-lead--lg { font-size: clamp(1.15rem, 1.5vw, 1.32rem); line-height: 1.85; color: var(--mz-ink); }

/* eyebrow with a small rule */
.elementor .mz-eyebrow { display: inline-flex; align-items: center; gap: 12px; }
.elementor .mz-eyebrow::before { content: ""; width: 30px; height: 2px; border-radius: 2px; background: currentColor; opacity: .7; }
.elementor .mz-center .mz-eyebrow::after { content: ""; width: 30px; height: 2px; border-radius: 2px; background: currentColor; opacity: .7; }

/* white cards sitting on dark photo sections keep dark text */
.elementor .mz-sec--deep .mz-card h3 { color: var(--mz-teal-900); }
.elementor .mz-sec--deep .mz-card p { color: var(--mz-muted); }
.elementor .mz-sec--deep .mz-card .mz-link { color: var(--mz-teal-700); }
.elementor .mz-sec--deep .mz-card .mz-icon img { filter: none; }
.elementor .mz-areas .mz-card { background: rgba(255, 255, 255, .97); }
.elementor .mz-areas .mz-sec-head h2 { color: #fff; }

/* hero */
.elementor .mz-hero { position: relative; overflow: hidden; }
.elementor .mz-hero__media { position: relative; }
.elementor .mz-float { position: absolute; z-index: 3; display: flex; flex-direction: row; align-items: center; gap: 10px; background: #fff; border-radius: 16px; padding: 10px 16px 10px 12px; box-shadow: var(--mz-shadow); }
.elementor .mz-float p { margin: 0; font-size: .82rem; line-height: 1.3; color: var(--mz-muted); }
.elementor .mz-float strong { color: var(--mz-teal-900); font-size: .9rem; }
.elementor .mz-float .mz-icon { margin: 0; }
.elementor .mz-float--a { left: -6%; bottom: 14%; }
.elementor .mz-float--b { right: -4%; top: 10%; }
@media (max-width: 899px) { .elementor .mz-float--a { left: 2%; } .elementor .mz-float--b { right: 2%; } }

/* quote band */
.elementor .mz-band { padding-block: clamp(72px, 10vw, 140px); }
.elementor .mz-band .mz-quote { font-size: clamp(1.9rem, 4.2vw, 3.2rem); }

/* FAQ */
.elementor .mz-faq { display: grid; gap: 12px; }
.elementor .mz-faq__item { background: var(--mz-cream); border: 1px solid var(--mz-line); border-radius: var(--mz-radius); padding: 0 22px; transition: box-shadow .2s; }
.elementor .mz-faq__item[open] { background: #fff; box-shadow: var(--mz-shadow-sm); border-color: var(--mz-mint-300); }
.elementor .mz-faq__item summary { list-style: none; cursor: pointer; padding: 20px 34px 20px 0; font-weight: 700; color: var(--mz-teal-900); position: relative; }
.elementor .mz-faq__item summary::-webkit-details-marker { display: none; }
.elementor .mz-faq__item summary::after { content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--mz-mint-200); color: var(--mz-teal-900); display: grid; place-items: center; font-size: 1.2rem; line-height: 1; transition: transform .2s; }
.elementor .mz-faq__item[open] summary::after { content: "−"; }
.elementor .mz-faq__a { padding: 0 0 20px; color: var(--mz-muted); }
.elementor .mz-faq__a p { margin: 0; }

/* stacked rounded sections (soft transitions between blocks) */
.elementor .mz-sec--sand, .elementor .mz-has-bg--deep { border-radius: 36px 36px 0 0; margin-top: -36px; position: relative; z-index: 1; }
.elementor .mz-sec--sand { padding-top: calc(clamp(56px, 8vw, 104px) + 36px); }
.elementor .mz-band.mz-has-bg--deep, .elementor .mz-areas.mz-has-bg--deep { padding-top: calc(clamp(56px, 8vw, 104px) + 36px); }

/* reveal on scroll (progressive enhancement, see nav.js) */
.mz-js .mz-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.mz-js .mz-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .mz-js .mz-reveal { opacity: 1; transform: none; transition: none; } }

/* ======================================================================
   Decorative details (v1.2): soft glows, rings, dot patches
   ====================================================================== */
.elementor .mz-sec { overflow-x: clip; }
.elementor .mz-deco > .mz-wrap { position: relative; isolation: isolate; }
.elementor .mz-deco > .mz-wrap::before,
.elementor .mz-deco > .mz-wrap::after { content: ""; position: absolute; pointer-events: none; z-index: -1; }

/* A: glow top-right + ring bottom-left */
.elementor .mz-deco--a > .mz-wrap::before { width: 560px; height: 560px; right: -190px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(143, 214, 201, .42), transparent 68%); }
.elementor .mz-deco--a > .mz-wrap::after  { width: 380px; height: 380px; left: -190px; bottom: -170px; border-radius: 50%; border: 3px solid rgba(23, 163, 163, .20); }
/* B: dotted patch + big ring on the right */
.elementor .mz-deco--b > .mz-wrap::after  { width: 460px; height: 460px; right: -230px; bottom: -200px; border-radius: 50%; border: 3px solid rgba(11, 110, 117, .14); }
/* C: small filled circle + dashed ring */
.elementor .mz-deco--c > .mz-wrap::after  { width: 160px; height: 160px; left: -70px; bottom: 8%; border-radius: 50%; border: 2px solid rgba(23, 163, 163, .22); }
/* D: soft glow on the left + arch outline */
.elementor .mz-deco--d > .mz-wrap::before { width: 680px; height: 680px; left: -280px; top: 6%; border-radius: 50%; background: radial-gradient(circle, rgba(205, 235, 230, .75), transparent 66%); }
.elementor .mz-deco--d > .mz-wrap::after  { width: 320px; height: 340px; right: -70px; top: -40px; border-radius: 50%; border: 3px solid rgba(23, 163, 163, .20); }
/* on dark sections */
.elementor .mz-sec--deep.mz-deco > .mz-wrap::before { background: radial-gradient(circle, rgba(143, 214, 201, .22), transparent 68%); }
.elementor .mz-sec--deep.mz-deco > .mz-wrap::after { border-color: rgba(143, 214, 201, .28); }

/* headings: short accent bar */
.elementor .mz-sec-head h2::after,
.elementor .mz-about__text h2::after { content: ""; display: block; width: 56px; height: 3px; border-radius: 3px; margin: 18px 0 0; background: linear-gradient(90deg, var(--mz-teal-500), var(--mz-mint-300)); }
.elementor .mz-center h2::after { margin-inline: auto; }

/* icons sit on soft tiles */
.elementor .mz-card .mz-icon img, .elementor .mz-how__item .mz-icon img, .elementor .mz-area .mz-icon img { width: 68px; height: 68px; padding: 12px; background: var(--mz-mint-100); border-radius: 20px; }
.elementor .mz-area .mz-icon img { background: var(--mz-mint-100); }
.elementor .mz-card:hover .mz-icon img { background: var(--mz-mint-200); }

/* photos get an offset outline frame */
.elementor .mz-photo { position: relative; isolation: isolate; }
.elementor .mz-photo:not(.mz-photo--cell)::before { content: ""; position: absolute; inset: 16px -16px -16px 16px; border: 2px solid var(--mz-mint-300); border-radius: var(--mz-radius-lg); z-index: -1; }
.elementor .mz-photo--about::before { inset: 16px 16px -16px -16px; }
@media (max-width: 899px) { .elementor .mz-photo:not(.mz-photo--cell) { margin-bottom: 56px; } }

/* buttons: little arrow */
.elementor .mz-btn-wrap .elementor-button-text::after { content: "→"; margin-left: .55em; display: inline-block; transition: transform .2s; }
.elementor .mz-btn-wrap .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }

/* footer ring */
.mz-footer { position: relative; overflow: hidden; }
.mz-footer::before { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -220px; border-radius: 50%; border: 3px solid rgba(143, 214, 201, .20); pointer-events: none; }
.mz-footer__in, .mz-footer__copy { position: relative; }


/* ======================================================================
   v1.3: real photographs of Maria
   ====================================================================== */
.elementor .mz-photo--about img { aspect-ratio: 4 / 5; object-position: 50% 30%; }
.elementor .mz-hero__media img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; }
.elementor .mz-hero__media::before, .elementor .mz-hero__media::after { z-index: 0; }
.elementor .mz-chips--hero ul, .elementor .mz-chips--hero { margin-top: 6px; }
.elementor .mz-chips--hero li { background: rgba(255, 255, 255, .8); }
.elementor .mz-contact-head { display: flex; flex-direction: row; align-items: center; gap: 16px; }
.elementor .mz-contact-head h3 { margin: 0 0 2px; }
.elementor .mz-contact-head p { margin: 0; color: var(--mz-muted); font-size: .95rem; line-height: 1.4; }
.elementor .mz-avatar { flex: none; width: 76px; }
.elementor .mz-avatar img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; border: 3px solid var(--mz-mint-200); box-shadow: var(--mz-shadow-sm); }

/* v1.5: legibility on dark sections (labels, small print, pillars) */
.elementor .mz-sec--deep .mz-axes-title { color: var(--mz-mint-300); opacity: 1; }
.elementor .mz-sec--deep .mz-lead,
.elementor .mz-sec--deep .mz-chips li { color: #e8f4f2; }
.elementor .mz-sec--deep .mz-chips li { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .25); }
.elementor .mz-sec--deep .mz-pillar p { color: #ffffff; }
.elementor .mz-sec--deep a:not(.elementor-button):not(.mz-link) { color: #ffffff; }

/* ---- blog ------------------------------------------------------------------ */
.mz-chip { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; background: var(--mz-mint-100); color: var(--mz-teal-700); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; line-height: 1.4; border: 1px solid var(--mz-mint-200); }
a.mz-chip:hover { background: var(--mz-mint-200); color: var(--mz-teal-900); }
.mz-chip--lg { font-size: .9rem; padding: 7px 16px; }
.mz-chip.is-on { background: var(--mz-teal-700); border-color: var(--mz-teal-700); color: #fff; }
.mz-btn--light { background: #fff; border-color: #fff; color: var(--mz-teal-900); }
.mz-btn--light:hover { background: var(--mz-mint-200); border-color: var(--mz-mint-200); color: var(--mz-teal-900); }
.mz-btn--sm { padding: 10px 22px; font-size: .94rem; }

.mz-bloghero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, var(--mz-teal-900) 0%, #0b5a61 62%, #0e7279 100%); color: #e8f4f2; padding: clamp(56px, 9vw, 112px) clamp(20px, 5vw, 48px) clamp(48px, 7vw, 88px); }
.mz-bloghero::before { content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; right: -200px; top: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(143, 214, 201, .30), transparent 68%); }
.mz-bloghero::after { content: ""; position: absolute; z-index: -1; width: 340px; height: 340px; right: 6%; bottom: -190px; border-radius: 50%; border: 3px solid rgba(143, 214, 201, .26); }
.mz-bloghero__in { max-width: var(--mz-wrap); margin-inline: auto; }
.mz-bloghero__eyebrow { font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mz-mint-300); margin: 0 0 .9em; }
.mz-bloghero h1 { color: #fff; margin: 0 0 .35em; max-width: 16ch; }
.mz-bloghero__intro { font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 56ch; margin: 0; color: #d6ebe8; }

.mz-blogwrap { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 48px); background: var(--mz-ecru); position: relative; overflow: hidden; }
.mz-blogwrap::before { content: ""; position: absolute; width: 520px; height: 520px; left: -220px; top: -140px; border-radius: 50%; background: radial-gradient(circle, rgba(205, 235, 230, .7), transparent 66%); pointer-events: none; }
.mz-blogwrap__in { position: relative; max-width: var(--mz-wrap); margin-inline: auto; }
.mz-blogwrap__h { margin-bottom: 1em; }
.mz-blogcats { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; }
.mz-postgrid { display: grid; gap: 28px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .mz-postgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .mz-postgrid { grid-template-columns: repeat(3, 1fr); } .mz-postgrid--2 { grid-template-columns: repeat(2, 1fr); } }
.mz-postcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mz-line); border-radius: var(--mz-radius); overflow: hidden; box-shadow: var(--mz-shadow-sm); transition: transform .25s, box-shadow .25s; }
.mz-postcard:hover { transform: translateY(-4px); box-shadow: var(--mz-shadow); }
.mz-postcard__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--mz-mint-100); }
.mz-postcard__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mz-postcard:hover .mz-postcard__img img { transform: scale(1.04); }
.mz-postcard__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; }
.mz-postcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 12px; font-size: .84rem; color: var(--mz-muted); }
.mz-postcard__title { font-size: 1.5rem; line-height: 1.22; margin: 0 0 .5em; }
.mz-postcard__title a { color: var(--mz-teal-900); text-decoration: none; }
.mz-postcard__title a:hover { color: var(--mz-teal-700); }
.mz-postcard__ex { color: var(--mz-muted); font-size: .98rem; margin: 0 0 1.1em; }
.mz-postcard__more { margin-top: auto; font-weight: 700; font-size: .95rem; text-decoration: none; color: var(--mz-teal-700); }
.mz-postcard__more:hover { color: var(--mz-teal-900); }
.mz-blogempty { text-align: center; color: var(--mz-muted); padding: 40px 0; }
.navigation.pagination { margin-top: 44px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.navigation.pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #fff; border: 1px solid var(--mz-line); text-decoration: none; font-weight: 700; color: var(--mz-teal-700); }
.navigation.pagination .page-numbers.current { background: var(--mz-teal-700); border-color: var(--mz-teal-700); color: #fff; }

.mz-blogcta { background: var(--mz-teal-900); color: #e8f4f2; text-align: center; padding: clamp(52px, 7vw, 92px) clamp(20px, 5vw, 48px); position: relative; overflow: hidden; }
.mz-blogcta::after { content: ""; position: absolute; width: 420px; height: 420px; left: -150px; bottom: -240px; border-radius: 50%; border: 3px solid rgba(143, 214, 201, .22); pointer-events: none; }
.mz-blogcta__in { position: relative; max-width: 640px; margin-inline: auto; }
.mz-blogcta h2 { color: #fff; }
.mz-blogcta p { color: #d6ebe8; margin-bottom: 1.6em; }

/* single article */
.mz-article { background: var(--mz-ecru); }
.mz-article__head { position: relative; overflow: hidden; padding: clamp(36px, 5vw, 64px) clamp(20px, 5vw, 48px) clamp(24px, 3vw, 36px); }
.mz-article__head::before { content: ""; position: absolute; width: 520px; height: 520px; right: -200px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(143, 214, 201, .40), transparent 68%); pointer-events: none; }
.mz-article__head::after { content: ""; position: absolute; width: 260px; height: 260px; left: -120px; bottom: -150px; border-radius: 50%; border: 3px solid rgba(23, 163, 163, .20); pointer-events: none; }
.mz-article__in { position: relative; max-width: 820px; margin-inline: auto; }
.mz-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .88rem; color: var(--mz-muted); margin-bottom: 22px; }
.mz-crumbs a { color: var(--mz-teal-700); text-decoration: none; font-weight: 600; }
.mz-article__cat { margin: 0 0 14px; }
.mz-article h1 { font-size: clamp(2.1rem, 4.8vw, 3.4rem); margin-bottom: .5em; }
.mz-article__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font-size: .92rem; color: var(--mz-muted); font-weight: 600; }
.mz-article__meta > span:first-child { color: var(--mz-teal-700); }
.mz-article__cover { margin: 0 auto; max-width: 980px; padding: 0 clamp(20px, 5vw, 48px); position: relative; isolation: isolate; }
.mz-article__cover img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; max-height: 540px; object-fit: cover; border-radius: var(--mz-radius-lg); box-shadow: var(--mz-shadow); }
.mz-article__cover::before { content: ""; position: absolute; inset: 16px calc(clamp(20px, 5vw, 48px) - 14px) -14px calc(clamp(20px, 5vw, 48px) + 14px); border: 2px solid var(--mz-mint-300); border-radius: var(--mz-radius-lg); z-index: -1; }
.mz-article__body { max-width: 720px; margin: 0 auto; padding: clamp(40px, 5vw, 64px) clamp(20px, 5vw, 24px) 24px; font-size: 1.12rem; line-height: 1.85; }
.mz-article__body > p:first-of-type { font-size: 1.28rem; line-height: 1.7; color: var(--mz-muted); }
.mz-article__body h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 1.7em 0 .55em; }
.mz-article__body h3 { margin: 1.5em 0 .5em; }
.mz-article__body ul, .mz-article__body ol { padding-left: 1.3em; margin: 0 0 1.4em; }
.mz-article__body li { margin-bottom: .55em; }
.mz-article__body li::marker { color: var(--mz-teal-500); font-weight: 700; }
.mz-article__body blockquote { margin: 1.8em 0; padding: 20px 26px; border-left: 4px solid var(--mz-mint-300); background: var(--mz-mint-100); border-radius: 0 var(--mz-radius) var(--mz-radius) 0; font-family: var(--mz-head); font-size: 1.45rem; line-height: 1.45; color: var(--mz-teal-900); }
.mz-article__body blockquote p { margin: 0; }
.mz-article__body strong { color: var(--mz-teal-900); }
.mz-article__note { margin-top: 2.2em; padding: 16px 20px; border-radius: var(--mz-radius); background: #fff; border: 1px solid var(--mz-line); font-size: .92rem; line-height: 1.6; color: var(--mz-muted); }
.mz-author { display: flex; gap: 20px; align-items: center; max-width: 720px; margin: 24px auto clamp(40px, 6vw, 72px); padding: 22px 24px; background: #fff; border: 1px solid var(--mz-line); border-radius: var(--mz-radius); box-shadow: var(--mz-shadow-sm); }
.mz-author img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex: none; }
.mz-author p { margin: 0; }
.mz-author__name { font-family: var(--mz-head); font-size: 1.45rem; color: var(--mz-teal-900); line-height: 1.2; }
.mz-author__role { font-size: .88rem; font-weight: 700; color: var(--mz-teal-600); margin-bottom: .4em !important; }
.mz-author__bio { font-size: .98rem; color: var(--mz-muted); margin-bottom: .9em !important; }
@media (max-width: 560px) { .mz-author { flex-direction: column; text-align: center; margin-inline: 20px; } }
.mz-blogwrap--more { background: var(--mz-cream); }
.mz-blogmore { text-align: center; margin: 36px 0 0; }
