/* ==========================================================================
   My Mailing Room – Christmas Landing Page
   Colours come from Christmas Landing → Page Setup & Colours (CSS variables).
   ========================================================================== */

:root {
	--mmr-red: #D71E34;
	--mmr-red-dk: #B5162A;
	--mmr-navy: #10294B;
	--mmr-heading: #000000;
	--mmr-text: #000000;
	--mmr-soft: #F5F7FA;
	--mmr-muted: #5B6577;
	--mmr-line: #E6E9EF;
	--mmr-logo-h: 54px;
	--mmr-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
	--mmr-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--mmr-gutter: 24px;
	--mmr-header-h: 76px;
}

/* ---------- Base / reset (scoped) ---------- */
body.mmr-xl { margin: 0; background: #fff; color: var(--mmr-text); font-family: var(--mmr-sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.mmr-xl) *, :where(.mmr-xl) *::before, :where(.mmr-xl) *::after { box-sizing: border-box; }
:where(.mmr-xl) img { max-width: 100%; height: auto; display: block; }
:where(.mmr-xl) :where(h1, h2, h3, p, ul, ol, fieldset, legend) { margin: 0; padding: 0; }
:where(.mmr-xl) :where(ul, ol) { list-style: none; }
:where(.mmr-xl) fieldset { border: 0; min-width: 0; }
:where(.mmr-xl) a { color: inherit; text-decoration: none; }
:where(.mmr-xl) :where(button, input, select, textarea) { font: inherit; color: inherit; }
.mmr-xl section[id] { scroll-margin-top: calc(var(--mmr-header-h) + 8px); }
html:has(body.mmr-xl) { scroll-behavior: smooth; }

.mmr-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mmr-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--mmr-navy); color: #fff !important; padding: 10px 16px; border-radius: 4px; }
.mmr-skip:focus { top: 12px; }

.mmr-container { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 var(--mmr-gutter); position: relative; }
.mmr-center { text-align: center; }

.mmr-icon, .mmr-xl svg { flex-shrink: 0; }

/* ---------- Buttons ---------- */
.mmr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--mmr-red); color: #fff !important; border: 0; border-radius: 3px; padding: 15px 26px; font-weight: 600; font-size: 15px; line-height: 1.2; cursor: pointer; transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; box-shadow: 0 6px 16px -8px rgba(215, 30, 52, .7); }
.mmr-btn:hover, .mmr-btn:focus-visible { background: var(--mmr-red-dk); transform: translateY(-1px); }
.mmr-btn:focus-visible { outline: 3px solid rgba(215, 30, 52, .35); outline-offset: 2px; }
.mmr-btn__arrow { width: 17px; height: 17px; transition: transform .2s ease; }
.mmr-btn:hover .mmr-btn__arrow { transform: translateX(3px); }
.mmr-btn--sm { padding: 11px 20px; font-size: 14px; }
.mmr-btn--block { width: 100%; }
.mmr-btn[disabled] { opacity: .7; cursor: progress; transform: none; }

/* ---------- Snowflakes ---------- */
.mmr-flake { position: absolute; color: #C9D2DE; opacity: .55; pointer-events: none; z-index: 0; }
.mmr-flake__svg { width: 100%; height: 100%; display: block; }
.mmr-flake--h1 { width: 28px; height: 28px; left: 0; top: 26px; }
.mmr-flake--h2 { width: 26px; height: 26px; left: 42%; top: 12px; }
.mmr-flake--h3 { width: 24px; height: 24px; left: 34%; bottom: 36px; }

/* ==========================================================================
   Header
   ========================================================================== */
.mmr-header { background: #fff; border-bottom: 1px solid var(--mmr-line); position: relative; z-index: 100; }
.mmr-header.is-sticky { position: sticky; top: 0; }
.admin-bar .mmr-header.is-sticky { top: 32px; }
.mmr-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--mmr-header-h); padding-top: 8px; padding-bottom: 8px; }
.mmr-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.mmr-logo img { height: var(--mmr-logo-h); width: auto; max-width: 260px; object-fit: contain; }

.mmr-nav { display: flex; align-items: center; gap: 36px; }
.mmr-nav__list { display: flex; align-items: center; gap: 30px; }
.mmr-nav__list a { font-size: 14.5px; font-weight: 500; color: var(--mmr-text); padding: 6px 0; position: relative; transition: color .2s; }
.mmr-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--mmr-red); transform: scaleX(0); transition: transform .2s; }
.mmr-nav__list a:hover { color: var(--mmr-red); }
.mmr-nav__list a:hover::after { transform: scaleX(1); }

.mmr-nav-toggle { display: none; background: none; border: 1px solid var(--mmr-line); border-radius: 4px; width: 46px; height: 42px; padding: 0; cursor: pointer; align-items: center; justify-content: center; }
.mmr-nav-toggle__bars { display: grid; gap: 5px; width: 22px; }
.mmr-nav-toggle__bars span { display: block; height: 2px; background: var(--mmr-heading); border-radius: 2px; transition: transform .25s, opacity .2s; }
.mmr-nav-toggle[aria-expanded="true"] .mmr-nav-toggle__bars span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mmr-nav-toggle[aria-expanded="true"] .mmr-nav-toggle__bars span:nth-child(2) { opacity: 0; }
.mmr-nav-toggle[aria-expanded="true"] .mmr-nav-toggle__bars span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ==========================================================================
   Hero
   ========================================================================== */
.mmr-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #FBFCFD 0%, #F3F5F8 100%); min-height: 520px; display: flex; align-items: center; }
.mmr-hero > .mmr-container { z-index: 1; }
.mmr-hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: 56%; }
.mmr-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.55) 12%, #000 26%); mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.55) 12%, #000 26%); }
.mmr-hero__content { max-width: 600px; padding: 64px 0 68px; position: relative; }
.mmr-eyebrow { color: var(--mmr-red); font-family: var(--mmr-sans); font-size: 13.5px !important; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; line-height: 1.4; margin-bottom: 14px !important; }
.mmr-hero__title { font-family: var(--mmr-serif); color: var(--mmr-heading); font-size: clamp(34px, 3.4vw, 48px); line-height: 1.16; letter-spacing: -.01em; max-width: 12.6em; margin-bottom: 24px !important; }
.mmr-hero__text { max-width: 530px; }
.mmr-hero__text p { font-size: 15.5px; line-height: 1.7; color: var(--mmr-text); margin-bottom: 16px; }
.mmr-hero__text { margin-bottom: 28px; }
.mmr-hero__text p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Services strip
   ========================================================================== */
.mmr-strip { background: #F1F4F8; border-top: 1px solid var(--mmr-line); border-bottom: 1px solid var(--mmr-line); }
.mmr-strip { padding: 44px 0; }
.mmr-strip__list { display: grid; grid-template-columns: repeat(var(--mmr-strip-count, 6), 1fr); gap: 18px; }
.mmr-strip__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 26px 14px 24px; background: #fff; border: 1px solid #E6EAF0; border-radius: 10px; box-shadow: 0 1px 2px rgba(16, 41, 75, .04), 0 8px 22px -16px rgba(16, 41, 75, .22); font-size: 14.5px; font-weight: 500; line-height: 1.35; color: var(--mmr-text); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mmr-strip__item:hover { transform: translateY(-3px); border-color: #F3C9CF; box-shadow: 0 2px 4px rgba(16, 41, 75, .05), 0 16px 30px -18px rgba(16, 41, 75, .35); }
.mmr-strip__badge { width: 60px; height: 60px; border-radius: 50%; background: #FDECEE; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background-color .25s ease; }
.mmr-strip__item:hover .mmr-strip__badge { background: #FBDDE1; }
.mmr-strip__icon { width: 28px; height: 28px; color: var(--mmr-red); object-fit: contain; }

/* ==========================================================================
   Section titles
   ========================================================================== */
.mmr-title { font-family: var(--mmr-serif); color: var(--mmr-heading); font-weight: 400; font-size: clamp(26px, 2.5vw, 33px); line-height: 1.25; text-align: center; margin-bottom: 30px !important; letter-spacing: -.005em; }

/* ==========================================================================
   What are you sending
   ========================================================================== */
.mmr-sending { position: relative; background: var(--mmr-soft); padding: 60px 0 64px; overflow: hidden; }
.mmr-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 32px; position: relative; z-index: 1; }
.mmr-card { background: #fff; border: 1px solid #ECEFF4; border-radius: 4px; padding: 28px 28px 30px; box-shadow: 0 1px 2px rgba(16, 41, 75, .04), 0 10px 26px -18px rgba(16, 41, 75, .25); transition: transform .25s ease, box-shadow .25s ease; }
.mmr-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(16, 41, 75, .05), 0 18px 34px -18px rgba(16, 41, 75, .35); }
.mmr-card__icon { width: 38px; height: 38px; color: var(--mmr-red); margin-bottom: 14px; object-fit: contain; }
.mmr-card__title { font-family: var(--mmr-serif); color: var(--mmr-heading); font-weight: 400; font-size: 18.5px; line-height: 1.3; margin-bottom: 10px !important; }
.mmr-card__text { font-size: 14.5px; line-height: 1.6; color: var(--mmr-text); }
.mmr-sending .mmr-center { position: relative; z-index: 1; }
.mmr-decor { position: absolute; bottom: 0; width: 120px; z-index: 0; mix-blend-mode: multiply; pointer-events: none; }
.mmr-decor--left { left: 0; }
.mmr-decor--right { right: 0; }

/* ==========================================================================
   Process
   ========================================================================== */
.mmr-process { background: #fff; padding: 54px 0 34px; }
.mmr-process .mmr-title { margin-bottom: 36px !important; }
.mmr-steps { display: grid; grid-template-columns: repeat(var(--mmr-steps-count, 6), 1fr); gap: 24px; }
.mmr-step { position: relative; text-align: center; }
.mmr-step__top { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 14px; }
.mmr-step__num { width: 36px; height: 36px; border-radius: 50%; background: var(--mmr-red); color: #fff; font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 14px -6px rgba(215, 30, 52, .7); }
.mmr-step__icon { width: 32px; height: 32px; color: var(--mmr-red); object-fit: contain; }
.mmr-step__text { font-size: 14.5px; line-height: 1.45; color: var(--mmr-text); max-width: 170px; margin: 0 auto !important; }
.mmr-step__arrow { position: absolute; top: 9px; right: -25px; width: 26px; height: 18px; color: #9AA5B5; display: flex; }
.mmr-step__arrow .mmr-icon { width: 26px; height: 18px; }
.mmr-process__tagline { text-align: center; color: var(--mmr-text); font-size: 15px; margin-top: 36px !important; padding-top: 4px; }

/* ==========================================================================
   Calculator
   ========================================================================== */
.mmr-calc { background: var(--mmr-soft); border-top: 1px solid var(--mmr-line); padding: 72px 0 80px; }
.mmr-calc__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: start; }

/* Red info panel */
.mmr-calc__panel { position: sticky; top: calc(var(--mmr-header-h) + 24px); overflow: hidden; border-radius: 14px; background: radial-gradient(130% 100% at 0% 0%, #E42B40 0%, var(--mmr-red) 45%, var(--mmr-red-dk) 100%); color: #fff; box-shadow: 0 24px 48px -28px rgba(181, 22, 42, .65); display: flex; flex-direction: column; }
.admin-bar .mmr-calc__panel { top: calc(var(--mmr-header-h) + 56px); }
.mmr-calc__panel-inner { position: relative; z-index: 1; padding: 44px 40px 8px; }
.mmr-calc__mail { width: 44px; height: 44px; color: #fff; margin-bottom: 22px; opacity: .95; }
.mmr-calc__title { font-family: var(--mmr-serif); font-weight: 400; font-size: clamp(28px, 2.5vw, 36px); line-height: 1.18; margin-bottom: 16px !important; color: #fff; }
.mmr-calc__text { font-size: 15.5px; line-height: 1.65; color: rgba(255,255,255,.95); max-width: 340px; }
.mmr-calc__media { position: relative; height: 300px; margin-top: 8px; }
.mmr-calc__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.7) 30%, #000 55%); mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.7) 30%, #000 55%); }
.mmr-calc .mmr-flake { color: #fff; opacity: .25; z-index: 1; }
.mmr-flake--c1 { width: 26px; height: 26px; right: 28px; top: 28px; }
.mmr-flake--c2 { width: 20px; height: 20px; right: 84px; top: 92px; }

/* Form card */
.mmr-calc__card { background: #fff; border: 1px solid #E6EAF0; border-radius: 14px; padding: 44px 48px 48px; box-shadow: 0 1px 2px rgba(16, 41, 75, .04), 0 24px 48px -32px rgba(16, 41, 75, .3); }
.mmr-form { width: 100%; }
.mmr-form__body { display: grid; gap: 22px; }
.mmr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; }
.mmr-field > label, .mmr-field > legend { display: block; font-size: 14px; font-weight: 600; color: var(--mmr-text); margin-bottom: 8px !important; }
.mmr-req { color: var(--mmr-red); }
.mmr-form input[type=text], .mmr-form input[type=email], .mmr-form input[type=tel], .mmr-form input[type=date], .mmr-form select { width: 100%; height: 50px; border: 1px solid #D6DCE5; border-radius: 8px; background: #fff; padding: 0 16px; font-size: 15px; color: var(--mmr-text); transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.mmr-form input:hover, .mmr-form select:hover { border-color: #B9C2CF; }
.mmr-form input:focus, .mmr-form select:focus { outline: none; border-color: var(--mmr-red); box-shadow: 0 0 0 4px rgba(215, 30, 52, .1); }
.mmr-select { position: relative; }
.mmr-select::after { content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; border-right: 1.8px solid #4B5565; border-bottom: 1.8px solid #4B5565; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.mmr-select select { padding-right: 44px; cursor: pointer; }
.mmr-select select.is-placeholder { color: #8C96A6; }
.mmr-select option { color: var(--mmr-text); }

.mmr-date { position: relative; }
.mmr-date input { cursor: pointer; }
.mmr-date__ph { position: absolute; left: 17px; top: 50%; transform: translateY(-50%); font-size: 15px; color: #8C96A6; pointer-events: none; background: #fff; padding-right: 10px; }
.mmr-date:not(.is-empty) .mmr-date__ph, .mmr-date:focus-within .mmr-date__ph { display: none; }

/* Yes / No toggle buttons */
.mmr-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mmr-toggle label { position: relative; cursor: pointer; }
.mmr-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mmr-toggle span { display: flex; align-items: center; justify-content: center; gap: 8px; height: 50px; border: 1px solid #D6DCE5; border-radius: 8px; font-size: 15px; font-weight: 500; color: var(--mmr-text); background: #fff; transition: border-color .2s, background-color .2s, color .2s, box-shadow .2s; }
.mmr-toggle label:hover span { border-color: #B9C2CF; }
.mmr-toggle__check { width: 16px; height: 16px; display: none; }
.mmr-toggle input:checked + span { border-color: var(--mmr-red); background: #FDF0F2; color: var(--mmr-red); box-shadow: inset 0 0 0 1px var(--mmr-red); }
.mmr-toggle input:checked + span .mmr-toggle__check { display: block; }
.mmr-toggle input:focus-visible + span { box-shadow: 0 0 0 4px rgba(215, 30, 52, .15); }

.mmr-form__heading { font-family: var(--mmr-serif); font-weight: 400; font-size: 21px; line-height: 1.3; color: var(--mmr-heading); padding-top: 26px !important; margin-top: 6px !important; border-top: 1px solid var(--mmr-line); }
.mmr-form__submit { height: 56px; font-size: 16px; margin-top: 6px; border-radius: 8px; }

.mmr-form .is-invalid, .mmr-form .is-invalid:focus { border-color: var(--mmr-red) !important; background: #FFF7F8 !important; }
.mmr-error { display: block; color: var(--mmr-red); font-size: 13px; margin-top: 6px; }
.mmr-form__notice { border-radius: 8px; padding: 14px 18px; font-size: 15px; margin-bottom: 24px; border: 1px solid; }
.mmr-form__notice.is-success { background: #EEF8F1; border-color: #BFE3CB; color: #17663A; }
.mmr-form__notice.is-error { background: #FFF2F3; border-color: #F5C2C8; color: #A3142A; }
.mmr-form.is-done .mmr-form__body { display: none; }
.mmr-form.is-done .mmr-form__notice { font-size: 17px; padding: 28px 24px; margin: 0; text-align: center; }
.mmr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ==========================================================================
   Bottom CTA
   ========================================================================== */
.mmr-cta { position: relative; overflow: hidden; background: radial-gradient(90% 140% at 15% 0%, #183764 0%, var(--mmr-navy) 55%, #0B1E38 100%); color: #fff; padding: 46px 0 44px; }
.mmr-cta .mmr-flake { color: #fff; opacity: .2; }
.mmr-flake--b1 { width: 42px; height: 42px; left: 3%; top: 32%; }
.mmr-flake--b2 { width: 18px; height: 18px; left: 1%; top: 10%; }
.mmr-flake--b3 { width: 26px; height: 26px; left: 76%; top: 12%; }
.mmr-flake--b4 { width: 20px; height: 20px; left: 69%; bottom: 14%; }
.mmr-cta__media { position: absolute; right: 0; top: 0; bottom: 0; width: 20%; }
.mmr-cta__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 40%); mask-image: linear-gradient(to right, transparent 0%, #000 40%); }
.mmr-cta__inner { display: flex; align-items: center; gap: 40px; z-index: 1; padding-left: calc(var(--mmr-gutter) + 40px); padding-right: 16%; }
.mmr-cta__copy { flex: 1 1 auto; }
.mmr-cta__title { font-family: var(--mmr-serif); font-weight: 400; font-size: clamp(23px, 2vw, 29px); line-height: 1.3; color: #fff; margin-bottom: 14px !important; }
.mmr-cta__text { font-size: 14.5px; color: rgba(255,255,255,.88); }
.mmr-cta__action { flex-shrink: 0; }

.mmr-footer { background: #0A1A31; color: rgba(255,255,255,.7); font-size: 13px; text-align: center; padding: 16px 0; }

/* ==========================================================================
   Responsive – small desktop
   ========================================================================== */
@media (min-width: 1181px) {
	.mmr-cta__title { white-space: nowrap; }
}

@media (max-width: 1180px) {
	.mmr-nav { gap: 24px; }
	.mmr-nav__list { gap: 22px; }
	.mmr-decor { width: 90px; }
	.mmr-cta__inner { padding-left: var(--mmr-gutter); }
}

/* ==========================================================================
   Tablet (≤ 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
	:root { --mmr-header-h: 68px; }
	.mmr-logo img { height: calc(var(--mmr-logo-h) * .85); }

	/* Mobile-style nav */
	.mmr-nav-toggle { display: inline-flex; }
	.mmr-nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--mmr-line); box-shadow: 0 18px 30px -18px rgba(16,41,75,.35); flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--mmr-gutter) 20px; display: none; }
	.mmr-nav.is-open { display: flex; }
	.mmr-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.mmr-nav__list a { display: block; padding: 14px 0; border-bottom: 1px solid var(--mmr-line); font-size: 16px; }
	.mmr-nav__list a::after { display: none; }
	.mmr-nav__btn { margin-top: 16px; }

	/* Hero: image on top, text below */
	.mmr-hero { flex-direction: column; align-items: stretch; min-height: 0; }
	.mmr-hero__media { position: relative; width: 100%; height: 360px; order: -1; }
	.mmr-hero__media img { -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); }
	.mmr-hero__content { max-width: 680px; padding: 18px 0 52px; }
	.mmr-flake--h1, .mmr-flake--h2 { display: none; }
	.mmr-flake--b1, .mmr-flake--b2 { display: none; }
	.mmr-flake--h3 { left: auto; right: 5%; }

	.mmr-strip { padding: 36px 0; }
	.mmr-strip__list { grid-template-columns: repeat(3, 1fr); gap: 16px; }

	.mmr-cards { grid-template-columns: repeat(2, 1fr); }
	.mmr-sending .mmr-decor { display: none; }

	.mmr-steps { grid-template-columns: repeat(3, 1fr); row-gap: 34px; }
	.mmr-step:nth-child(3n) .mmr-step__arrow { display: none; }

	.mmr-calc { padding: 56px 0 64px; }
	.mmr-calc__inner { grid-template-columns: 1fr; gap: 24px; }
	.mmr-calc__panel { position: relative; top: auto !important; flex-direction: row; min-height: 240px; }
	.mmr-calc__panel-inner { flex: 1 1 55%; padding: 36px 32px; align-self: center; }
	.mmr-calc__media { flex: 0 0 45%; height: auto; margin: 0; }
	.mmr-calc__media img { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.7) 30%, #000 55%); mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.7) 30%, #000 55%); }
	.mmr-flake--c1 { right: auto; left: 48%; }
	.mmr-flake--c2 { display: none; }
	.mmr-calc__card { padding: 36px 32px 40px; }

	.mmr-cta { padding: 44px 0 0; }
	.mmr-cta__inner { flex-direction: column; align-items: flex-start; gap: 24px; padding-right: var(--mmr-gutter); padding-left: var(--mmr-gutter); padding-bottom: 44px; }
	.mmr-cta__media { position: relative; width: 100%; height: 220px; }
	.mmr-cta__media img { object-position: center 30%; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 45%); mask-image: linear-gradient(to bottom, transparent 0%, #000 45%); }
	.mmr-cta { display: flex; flex-direction: column; }
	.mmr-cta__media { order: 2; }
}

@media (max-width: 782px) {
	.admin-bar .mmr-header.is-sticky { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .mmr-header.is-sticky { top: 0; }
}

/* ==========================================================================
   Mobile (≤ 640px)
   ========================================================================== */
@media (max-width: 640px) {
	:root { --mmr-gutter: 18px; --mmr-header-h: 62px; }
	body.mmr-xl { font-size: 15px; }
	.mmr-logo img { height: calc(var(--mmr-logo-h) * .74); max-width: 190px; }

	.mmr-hero__media { height: 250px; }
	.mmr-hero__content { padding: 10px 0 40px; }
	.mmr-eyebrow { font-size: 12px !important; }
	.mmr-hero__title { font-size: 31px; max-width: none; margin-bottom: 18px !important; }
	.mmr-hero__text p { font-size: 15px; }
	.mmr-hero .mmr-btn { width: 100%; }

	.mmr-strip { padding: 28px 0; }
	.mmr-strip__list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.mmr-strip__item { padding: 20px 10px 18px; gap: 10px; font-size: 13.5px; border-radius: 8px; }
	.mmr-strip__badge { width: 50px; height: 50px; }
	.mmr-strip__icon { width: 24px; height: 24px; }

	.mmr-sending { padding: 44px 0 46px; }
	.mmr-title { margin-bottom: 22px !important; }
	.mmr-cards { grid-template-columns: 1fr; gap: 14px; }
	.mmr-card { padding: 22px 20px 24px; display: grid; grid-template-columns: 38px 1fr; column-gap: 14px; }
	.mmr-card__icon { width: 32px; height: 32px; margin: 0; grid-row: span 2; }
	.mmr-sending .mmr-btn { width: 100%; }

	.mmr-process { padding: 44px 0 30px; }
	.mmr-steps { grid-template-columns: 1fr; gap: 0; max-width: 360px; margin: 0 auto; }
	.mmr-step { display: flex; align-items: center; gap: 14px; text-align: left; padding: 12px 0; border-bottom: 1px dashed #DCE1E8; }
	.mmr-step:last-child { border-bottom: 0; }
	.mmr-step__top { margin: 0; flex-shrink: 0; width: 84px; justify-content: flex-start; }
	.mmr-step__text { max-width: none; margin: 0 !important; }
	.mmr-step__arrow { display: none !important; }
	.mmr-process__tagline { margin-top: 22px !important; font-size: 14.5px; }

	.mmr-calc { padding: 40px 0 48px; }
	.mmr-calc__panel { flex-direction: column; min-height: 0; border-radius: 12px; }
	.mmr-calc__panel-inner { padding: 28px 24px 4px; }
	.mmr-calc__mail { width: 34px; height: 34px; margin-bottom: 14px; }
	.mmr-calc__title { font-size: 26px; }
	.mmr-calc__text { font-size: 14.5px; }
	.mmr-calc__media { flex: none; height: 170px; }
	.mmr-calc__media img { position: static; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 55%); mask-image: linear-gradient(to bottom, transparent 0%, #000 55%); }
	.mmr-calc__card { padding: 26px 20px 28px; border-radius: 12px; }
	.mmr-form__body { gap: 18px; }
	.mmr-row { grid-template-columns: 1fr; gap: 18px; }
	.mmr-form input[type=text], .mmr-form input[type=email], .mmr-form input[type=tel], .mmr-form input[type=date], .mmr-form select, .mmr-toggle span { font-size: 16px; }
	.mmr-date__ph { font-size: 16px; }
	.mmr-form__heading { font-size: 19px; padding-top: 20px !important; }

	.mmr-cta__title br { display: none; }
	.mmr-cta__title { font-size: 23px; }
	.mmr-cta__action, .mmr-cta__action .mmr-btn { width: 100%; }
	.mmr-cta__media { height: 180px; }
}

@media (max-width: 340px) {
	.mmr-strip__list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html:has(body.mmr-xl) { scroll-behavior: auto; }
	.mmr-xl * { transition: none !important; }
}

/* ==========================================================================
   Other pages (index.php)
   ========================================================================== */
.mmr-page { background: var(--mmr-soft); padding: 56px 0 72px; min-height: 50vh; }
.mmr-page__inner { max-width: 860px; }
.mmr-entry { background: #fff; border: 1px solid #ECEFF4; border-radius: 4px; padding: 36px 40px; margin-bottom: 24px; }
.mmr-entry__title { font-family: var(--mmr-serif); color: var(--mmr-heading); font-weight: 400; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; margin-bottom: 18px !important; }
.mmr-entry__title a:hover { color: var(--mmr-red); }
.mmr-entry__content p, .mmr-entry__content ul, .mmr-entry__content ol { margin: 0 0 1em; }
.mmr-entry__content ul { list-style: disc; padding-left: 1.4em; }
.mmr-entry__content ol { list-style: decimal; padding-left: 1.4em; }
.mmr-entry__content a, .mmr-page__inner > p a { color: var(--mmr-red); text-decoration: underline; }
.mmr-entry__content h2, .mmr-entry__content h3 { font-family: var(--mmr-serif); color: var(--mmr-heading); font-weight: 400; margin: 1.4em 0 .6em; }
@media (max-width: 640px) { .mmr-page { padding: 32px 0 48px; } .mmr-entry { padding: 24px 20px; } }
