/* MeetNow article reading layout (mnr-). Tokens are set per site in the :root block below. */
:root {
  --mnr-ink: #121116;
  --mnr-text: #2a2832;
  --mnr-muted: #5c5966;
  --mnr-line: #e4e2e9;
  --mnr-surface: #f4f3f6;
  --mnr-accent: #ff2e74;
  --mnr-accent-strong: #d6195b;
  --mnr-soft: #ffe3ec;
  --mnr-soft-line: #ffc6d8;
  --mnr-underline: #ff9dbd;
  --mnr-rail: linear-gradient(90deg, #ff2e74 0%, #ff6f9c 55%, #d6195b 100%);
  --mnr-btn-bg: #d6195b;
  --mnr-btn-fg: #ffffff;
  --mnr-btn-hover-bg: #121116;
  --mnr-btn-hover-fg: #ffffff;
  --mnr-updated-prefix: "· Updated ";
  --mnr-radius: 20px;
  --mnr-shadow: 0 18px 40px -28px rgba(18, 17, 22, .38);
  --mnr-max: 1200px;
}

/* ---- header CTA ---- */
.mnr-header-right { gap: 18px; align-items: center; }
a.mnr-top-cta { display: inline-flex; align-items: center; padding: 10px 18px; border-radius: 999px; background: var(--mnr-btn-bg); color: var(--mnr-btn-fg) !important; font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none !important; white-space: nowrap; transition: background .18s ease, color .18s ease; }
a.mnr-top-cta:hover, a.mnr-top-cta:focus-visible { background: var(--mnr-btn-hover-bg); color: var(--mnr-btn-hover-fg) !important; }
.mnr-top-cta-short { display: none; }

/* ---- buttons ---- */
a.mnr-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; border-radius: 999px; font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none !important; background: var(--mnr-btn-bg); color: var(--mnr-btn-fg) !important; transition: background .18s ease, color .18s ease, transform .18s ease; }
a.mnr-btn:hover, a.mnr-btn:focus-visible { background: var(--mnr-btn-hover-bg); color: var(--mnr-btn-hover-fg) !important; transform: translateY(-1px); }
a.mnr-btn.mnr-btn-block { display: flex; width: 100%; font-size: 15px; padding: 13px 16px; }

.mnr-eyebrow, .mnr-kicker { font-size: 12.5px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mnr-accent-strong) !important; line-height: 1.4; }

/* ---- page frame ---- */
main.mnr-read { padding: 0; }
main.mnr-read > * { margin-block-start: 0 !important; }
.mnr-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 70; background: var(--mnr-rail); transform-origin: 0 50%; transform: scaleX(0); animation: mnr-read-progress linear both; animation-timeline: scroll(root); pointer-events: none; }
@keyframes mnr-read-progress { to { transform: scaleX(1); } }
@supports not (animation-timeline: scroll()) { .mnr-progress { display: none; } }

/* ---- head ---- */
.mnr-read-head { box-sizing: content-box; max-width: var(--mnr-max); margin: 0 auto !important; padding: 56px 24px 28px; }
.mnr-read-head > * { margin-block-start: 0 !important; }
.mnr-kicker { margin: 0 0 14px !important; }
.mnr-kicker a { color: inherit !important; text-decoration: none; }
.mnr-kicker a:hover { text-decoration: underline; text-underline-offset: 3px; }
h1.mnr-read-title { font-size: clamp(32px, 4.4vw, 50px) !important; line-height: 1.08 !important; font-weight: 800 !important; letter-spacing: -.025em !important; max-width: 900px; margin: 0 !important; color: var(--mnr-ink) !important; text-wrap: balance; }
.mnr-read-meta { margin-top: 18px !important; gap: 6px 18px; color: var(--mnr-muted); font-size: 15px; }
.mnr-read-meta .wp-block-post-date { color: var(--mnr-muted); }
.mnr-read-meta .mnr-updated::before { content: var(--mnr-updated-prefix); }

/* ---- grid ---- */
.mnr-read-grid { box-sizing: content-box; max-width: var(--mnr-max); margin: 0 auto !important; padding: 0 24px 72px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.mnr-read-grid > * { margin: 0 !important; }
.mnr-read-main { min-width: 0; }
.mnr-read-main > * { margin-block-start: 0 !important; }
.mnr-read-cover { margin: 0 0 36px !important; }
.mnr-read-cover img { width: 100%; height: auto !important; border-radius: var(--mnr-radius); display: block; }
.mnr-read-aside { align-self: stretch; }

/* ---- aside ---- */
.mnr-side-sticky { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 18px; }
.mnr-side-card { box-sizing: border-box; background: var(--mnr-surface); border: 1px solid var(--mnr-line); border-radius: var(--mnr-radius); padding: 24px; }
.mnr-side-card > :first-child { margin-top: 0; }
.mnr-side-app { background: #fff; box-shadow: var(--mnr-shadow); position: relative; overflow: hidden; }
.mnr-side-app::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--mnr-rail); }
img.mnr-side-icon { width: 48px; height: 48px; border-radius: 12px; display: block; margin: 4px 0 14px !important; }
.mnr-side-card .mnr-eyebrow { margin: 0 0 6px; }
.mnr-side-app h2 { font-size: 22px !important; line-height: 1.2 !important; margin: 0 0 14px !important; color: var(--mnr-ink); }
.mnr-side-app ul { list-style: none; margin: 0 0 20px; padding: 0; }
.mnr-side-app li { position: relative; padding-left: 26px; margin: 0 0 9px; font-size: 15px; line-height: 1.45; color: var(--mnr-text); }
.mnr-side-app li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; border-radius: 50%; background: var(--mnr-soft); }
.mnr-side-app li::after { content: ""; position: absolute; left: 5px; top: calc(.2em + 3px); width: 4px; height: 8px; border: solid var(--mnr-accent-strong); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.mnr-side-small { margin: 10px 0 0 !important; font-size: 13px !important; line-height: 1.45; color: var(--mnr-muted); text-align: center; }
.mnr-side-related .mnr-eyebrow { margin-bottom: 12px; }
.mnr-side-related ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mnr-side-related li { margin: 0; }
.mnr-side-related a { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; padding: 6px; margin: 0 -6px; border-radius: 12px; text-decoration: none !important; color: var(--mnr-ink) !important; transition: background .15s ease; }
.mnr-side-related a:hover { background: #fff; }
.mnr-rel-thumb { width: 56px !important; height: 56px !important; object-fit: cover; border-radius: 10px; display: block; }
.mnr-rel-thumb-empty { background: var(--mnr-soft); }
.mnr-rel-title { font-size: 14.5px; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mnr-side-related a:hover .mnr-rel-title { color: var(--mnr-accent-strong); }

/* ---- prose ---- */
.mnr-prose { font-size: 18px; line-height: 1.72; color: var(--mnr-text); }
.mnr-prose > *, .mnr-prose article > * { max-width: 100%; }
.mnr-prose article { margin: 0; }
.mnr-prose article > :first-child { margin-top: 0 !important; }
.mnr-prose p { margin: 0 0 1.15em; }
.mnr-prose h2 { font-size: clamp(25px, 2.6vw, 31px) !important; line-height: 1.2 !important; margin: 2.1em 0 .6em !important; }
.mnr-prose h3 { font-size: 22px !important; line-height: 1.3 !important; margin: 1.7em 0 .5em !important; }
.mnr-prose h4 { font-size: 19px !important; line-height: 1.3 !important; margin: 1.4em 0 .4em !important; }
.mnr-prose h2, .mnr-prose h3 { scroll-margin-top: 100px; }
.mnr-prose a:not(.wp-element-button):not([style*="background"]) { color: var(--mnr-accent-strong); text-decoration: underline; text-decoration-color: var(--mnr-underline); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.mnr-prose a:not(.wp-element-button):not([style*="background"]):hover { text-decoration-color: var(--mnr-accent-strong); }
.mnr-prose strong { color: var(--mnr-ink); }
.mnr-prose ul, .mnr-prose ol { padding-left: 1.35em; margin: 0 0 1.3em; }
.mnr-prose li { margin: 0 0 .45em; padding-left: .2em; }
.mnr-prose li::marker { color: var(--mnr-accent-strong); font-weight: 700; }
.mnr-prose img { max-width: 100%; height: auto !important; border-radius: 14px; }
.mnr-prose figure { margin: 32px 0 !important; }
.mnr-prose figcaption { font-size: 14px; color: var(--mnr-muted); margin-top: 10px; text-align: left; }
.mnr-prose table { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: 16px; line-height: 1.5; border: 1px solid var(--mnr-line); border-radius: 14px; overflow: hidden; }
.mnr-prose th, .mnr-prose td { padding: 12px 14px; border-bottom: 1px solid var(--mnr-line); text-align: left; vertical-align: top; color: var(--mnr-text); }
.mnr-prose th { background: var(--mnr-surface); color: var(--mnr-ink); font-weight: 700; }
.mnr-prose caption { caption-side: top; text-align: left; font-size: 14px; color: var(--mnr-muted); padding: 0 0 8px; }
.mnr-prose blockquote { margin: 28px 0; padding: 18px 22px; border-left: 4px solid var(--mnr-accent); background: var(--mnr-surface); border-radius: 0 14px 14px 0; color: var(--mnr-ink); }
.mnr-prose blockquote > :last-child { margin-bottom: 0; }
.mnr-prose details { border: 1px solid var(--mnr-line); border-radius: 12px; padding: 14px 18px; margin: 0 0 12px; }
.mnr-prose summary { font-weight: 700; color: var(--mnr-ink); cursor: pointer; }
.mnr-prose hr { border: 0; height: 1px; background: var(--mnr-line); margin: 40px 0; }
.mnr-prose code { font-size: .9em; background: var(--mnr-surface); padding: .1em .35em; border-radius: 5px; }
.mnr-prose pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.mnr-prose iframe { max-width: 100%; }
.mnr-prose nav { font-size: 16px; }
.mnr-prose nav a { text-decoration: none !important; }
.mnr-prose nav a:hover { text-decoration: underline !important; }
.mnr-prose [style*="background"] > :first-child { margin-top: 0 !important; }
.mnr-prose div[style*="background"] p:last-child { margin-bottom: 0; }
.mnr-prose .meetnow-cta, .mnr-prose .meetnow-safety { box-sizing: border-box; margin: 32px 0; padding: 20px 22px; border-radius: 16px; font-size: 17px; }
.mnr-prose .meetnow-cta { background: var(--mnr-soft); border: 1px solid var(--mnr-soft-line); }
.mnr-prose .meetnow-safety { background: var(--mnr-surface); border: 1px solid var(--mnr-line); }
.mnr-prose .meetnow-cta > :last-child, .mnr-prose .meetnow-safety > :last-child { margin-bottom: 0; }

/* ---- keep reading ---- */
.mnr-more { box-sizing: content-box; max-width: var(--mnr-max); margin: 0 auto !important; padding: 56px 24px 48px; border-top: 1px solid var(--mnr-line); }
.mnr-more > h2 { font-size: 28px !important; line-height: 1.2 !important; margin: 0 0 24px !important; color: var(--mnr-ink); }
.mnr-more-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mnr-more-card { margin: 0; }
.mnr-more-card > a { box-sizing: border-box; height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mnr-line); border-radius: var(--mnr-radius); overflow: hidden; text-decoration: none !important; color: var(--mnr-ink) !important; transition: border-color .15s ease, transform .15s ease; }
.mnr-more-card > a:hover { border-color: var(--mnr-accent); transform: translateY(-2px); }
.mnr-more-media { display: block; aspect-ratio: 16 / 9; background: var(--mnr-soft); overflow: hidden; }
.mnr-more-img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.mnr-more-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px 20px; }
.mnr-more-title { font-weight: 700; font-size: 18px; line-height: 1.3; }
.mnr-more-card > a:hover .mnr-more-title { color: var(--mnr-accent-strong); }

/* ---- bottom band ---- */
.mnr-band { padding: 0 24px 88px; }
.mnr-band-box { box-sizing: border-box; max-width: var(--mnr-max); margin: 0 auto; background: var(--mnr-soft); border-radius: 28px; padding: 48px 56px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; position: relative; overflow: hidden; }
.mnr-band-box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--mnr-rail); }
img.mnr-band-icon { width: 64px; height: 64px; border-radius: 16px; display: block; }
.mnr-band-copy h2 { font-size: clamp(24px, 2.6vw, 32px) !important; line-height: 1.15 !important; margin: 0 0 8px !important; color: var(--mnr-ink); }
.mnr-band-copy p { margin: 0; color: var(--mnr-text); font-size: 17px; line-height: 1.55; max-width: 620px; }
.mnr-band-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.mnr-band-small { margin: 0 !important; font-size: 13px !important; color: var(--mnr-muted); text-align: center; }

/* ---- responsive ---- */
@media (max-width: 1024px) {
  .mnr-read-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .mnr-side-sticky { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .mnr-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mnr-band-box { grid-template-columns: auto minmax(0, 1fr); padding: 40px 32px; }
  .mnr-band-actions { grid-column: 1 / -1; align-items: flex-start; }
}
@media (max-width: 781px) {
  .mnr-read-head { padding: 36px 20px 20px; }
  .mnr-read-grid { padding: 0 20px 56px; }
  .mnr-read-cover { margin-bottom: 28px !important; }
  .mnr-prose { font-size: 17px; }
  .mnr-prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 15px; }
  .mnr-prose th, .mnr-prose td { min-width: 130px; padding: 10px 12px; }
  .mnr-side-sticky { grid-template-columns: minmax(0, 1fr); }
  .mnr-more { padding: 40px 20px 40px; }
  .mnr-more-grid { grid-template-columns: minmax(0, 1fr); }
  .mnr-band { padding: 0 20px 56px; }
  .mnr-band-box { grid-template-columns: minmax(0, 1fr); padding: 36px 24px; border-radius: 24px; }
  .mnr-band-actions { align-items: stretch; }
}
@media (max-width: 599px) {
  .mnr-header-right { gap: 10px; }
  .mnr-header-right .wp-block-navigation { order: 2; }
  a.mnr-top-cta { padding: 8px 14px; font-size: 14px; }
  .mnr-top-cta-full { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .mnr-top-cta-short { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .mnr-progress { display: none !important; }
  a.mnr-btn, .mnr-more-card > a { transition: none; transform: none !important; }
}
/* nav collapses to the menu button where links + CTA no longer fit on one line */
@media (min-width: 600px) and (max-width: 859px) {
  .mnr-header-right { gap: 12px; }
  .mnr-header-right .wp-block-navigation { order: 2; }
  .mnr-header-right .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .mnr-header-right .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* the sticky header backdrop-filter traps the fixed menu overlay: drop it while the menu is open */
.mn-site-header:has(.is-menu-open) { backdrop-filter: none; -webkit-backdrop-filter: none; }

