/*
 * Muttworks whimsy layer.
 * Sits on top of Divi: playful type, a tennis-ball palette, wavy section
 * edges, bouncy buttons, wiggly cards, and paw prints everywhere.
 */
:root {
  --mw-cream: #fff7ea;
  --mw-peach: #ffe3d3;
  --mw-mint: #dff5ee;
  --mw-ink: #2b2140;
  --mw-body: #4a4458;
  --mw-coral: #ff6b57;
  --mw-coral-dark: #e24f3c;
  --mw-teal: #1f9e8f;
  --mw-teal-dark: #146f65;
  --mw-ball: #ffd23f;
  --mw-lilac: #b9a6ff;
  --mw-radius: 28px;
  --mw-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --mw-heading-font: "Fredoka", "Nunito", system-ui, sans-serif;
  --mw-body-font: "Nunito", system-ui, sans-serif;
  --mw-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='%23000'%3E%3Cellipse cx='32' cy='42' rx='14' ry='12'/%3E%3Cellipse cx='14' cy='26' rx='6' ry='8'/%3E%3Cellipse cx='26' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='38' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='50' cy='26' rx='6' ry='8'/%3E%3C/g%3E%3C/svg%3E");
  --mw-paws-faint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='%232b2140' fill-opacity='.045'%3E%3Cg transform='translate(20 24) rotate(-18) scale(.45)'%3E%3Cellipse cx='32' cy='42' rx='14' ry='12'/%3E%3Cellipse cx='14' cy='26' rx='6' ry='8'/%3E%3Cellipse cx='26' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='38' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='50' cy='26' rx='6' ry='8'/%3E%3C/g%3E%3Cg transform='translate(110 100) rotate(20) scale(.45)'%3E%3Cellipse cx='32' cy='42' rx='14' ry='12'/%3E%3Cellipse cx='14' cy='26' rx='6' ry='8'/%3E%3Cellipse cx='26' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='38' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='50' cy='26' rx='6' ry='8'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --mw-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C150 0 300 60 450 30 S750 0 900 30 S1125 55 1200 25 V60 H0Z'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body,
#page-container,
#main-content,
.et-l--post .et_pb_section:not(.et_pb_with_background) {
  background-color: var(--mw-cream);
}

body,
.et_pb_text,
.et_pb_blurb_description,
.et_pb_testimonial_description,
input,
textarea,
select {
  font-family: var(--mw-body-font) !important;
  color: var(--mw-body);
}

h1, h2, h3, h4, h5, h6,
#page-container h1, #page-container h2, #page-container h3,
#page-container h4, #page-container h5, #page-container h6,
.et_pb_heading_container *,
.et_pb_module_header,
.et_pb_module_header a,
.et-menu a,
.et_pb_menu__menu a {
  font-family: var(--mw-heading-font) !important;
  letter-spacing: 0 !important;
}

h1, h2, h3,
.et_pb_heading_container h1,
.et_pb_heading_container h2,
.et_pb_heading_container h3 {
  color: var(--mw-ink);
  font-weight: 700 !important;
  line-height: 1.12 !important;
}

/* Section headings (everything but the hero) get one confident size. */
#page-container .et-l--post .et_pb_section:not(.et_pb_section_0) .et_pb_heading h2,
#page-container .et-l--post .et_pb_section:not(.et_pb_section_0) .et_pb_promo h2 {
  font-size: clamp(34px, 3.6vw, 50px) !important;
}

a { color: var(--mw-teal-dark); }

::selection { background: var(--mw-ball); color: var(--mw-ink); }

/* A faint scatter of paw prints on the cream sections. */
body,
.home .et-l--post .et_pb_section_1,
.home .et-l--post .et_pb_section_3 {
  background-image: var(--mw-paws-faint) !important;
  background-size: 180px 180px !important;
}

/* ---------- Header ---------- */
#page-container .et-l--header .et_pb_row_0_tb_header {
  background-color: var(--mw-ball) !important;
  border-radius: 0 0 18px 18px;
}
#page-container .et-l--header .et_pb_row_0_tb_header .et_pb_heading_container * {
  color: var(--mw-ink) !important;
  font-weight: 600 !important;
}
.et-l--header .et_pb_section {
  background: var(--mw-cream) !important;
  box-shadow: 0 2px 0 rgba(43, 33, 64, 0.06);
}
.et-l--header .et_pb_heading_container *,
.et-l--header .et_pb_menu__logo + *,
.et-l--header a {
  color: var(--mw-ink) !important;
}
.et-l--header .et-menu > li > a {
  position: relative;
  font-weight: 600 !important;
  font-size: 17px !important;
  padding-bottom: 6px !important;
}
/* A squiggle draws in under the menu link on hover. */
.et-l--header .et-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4 T30 4 T40 4' fill='none' stroke='%23ff6b57' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 0 / 20px 8px;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.35s ease;
}
.et-l--header .et-menu > li > a:hover::after,
.et-l--header .et-menu > li.current-menu-item > a::after {
  clip-path: inset(0 0 0 0);
}
.et-l--header .et_pb_menu__logo img {
  max-height: 56px;
  width: auto;
}
.et-l--header .et_pb_menu__logo img,
.et-l--header .et_pb_heading_container {
  transition: transform 0.5s var(--mw-bounce);
  transform-origin: 50% 80%;
}
.et-l--header .et_pb_menu__logo:hover img,
.et-l--header .et_pb_heading:hover .et_pb_heading_container {
  animation: mw-wag 0.6s ease-in-out 2;
}

/* ---------- Hero (first section of every page) ---------- */
#page-container .et-l--post div.et_pb_section.et_pb_section_0,
.error404 #page-container .et-l--body div.et_pb_section.et_pb_section_0_tb_body {
  position: relative;
  overflow: visible !important;
  background-color: var(--mw-peach) !important;
  background-image:
    radial-gradient(circle at 12% 20%, rgba(255, 210, 63, 0.55) 0 110px, transparent 111px),
    radial-gradient(circle at 88% 82%, rgba(185, 166, 255, 0.45) 0 160px, transparent 161px),
    radial-gradient(circle at 70% 10%, rgba(31, 158, 143, 0.18) 0 70px, transparent 71px),
    linear-gradient(160deg, var(--mw-peach), #ffd1c2) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  padding-bottom: 9vw !important;
}
.et-l--post .et_pb_section_0 > .et_pb_background_mask,
.et-l--post .et_pb_section_0 > .et_pb_background_pattern,
.et-l--post .et_pb_section_0 > .et_pb_bottom_inside_divider,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body > .et_pb_background_mask,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body > .et_pb_background_pattern { display: none !important; }
#page-container .et-l--post .et_pb_section_0 .et_pb_heading_container *,
#page-container .et-l--post .et_pb_section_0 .et_pb_text,
#page-container .et-l--post .et_pb_section_0 .et_pb_text p,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body .et_pb_heading_container *,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body .et_pb_text p {
  color: var(--mw-ink) !important;
  text-shadow: none !important;
}
#page-container .et-l--post .et_pb_section_0 .et_pb_heading_0 .et_pb_heading_container *,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body .et_pb_heading_0_tb_body .et_pb_heading_container * {
  color: var(--mw-coral-dark) !important;
  font-size: clamp(20px, 2vw, 26px) !important;
}
#page-container .et-l--post .et_pb_section_0 .et_pb_heading_1 .et_pb_heading_container *,
.error404 #page-container .et-l--body .et_pb_section_0_tb_body .et_pb_heading_1_tb_body .et_pb_heading_container * {
  font-size: clamp(40px, 4.6vw, 64px) !important;
}
.home #page-container .et-l--post .et_pb_section_0 .et_pb_heading_1 .et_pb_heading_container * {
  font-size: clamp(42px, 5.8vw, 76px) !important;
}
/* Wavy bottom edge that melts into the next section. */
.et-l--post .et_pb_section_0::after,
.et-l--post .mw-wave-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 60px;
  background: var(--mw-cream);
  -webkit-mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
          mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}

/* ---------- Buttons ---------- */
.et_pb_button,
.et_pb_newsletter_button,
.et_pb_contact_submit,
.et_pb_signup_button {
  font-family: var(--mw-heading-font) !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: var(--mw-ink) !important;
  background: var(--mw-coral) !important;
  border: 3px solid var(--mw-ink) !important;
  border-radius: 999px !important;
  padding: 0.55em 1.5em !important;
  box-shadow: 0 6px 0 var(--mw-ink) !important;
  transform: translateY(0) rotate(-1deg);
  transition: transform 0.25s var(--mw-bounce), box-shadow 0.25s var(--mw-bounce), background 0.2s !important;
}
body #page-container .et_pb_section .et_pb_button.et_pb_button {
  color: var(--mw-ink) !important;
  font-size: 18px !important;
  padding: 0.55em 1.5em !important;
}
.et_pb_button::after { display: none !important; }
.et_pb_button:hover,
.et_pb_newsletter_button:hover,
.et_pb_contact_submit:hover,
.et_pb_signup_button:hover {
  background: var(--mw-ball) !important;
  color: var(--mw-ink) !important;
  padding: 0.55em 1.5em !important;
  transform: translateY(-3px) rotate(1deg);
  box-shadow: 0 9px 0 var(--mw-ink) !important;
}
.et_pb_button:active,
.et_pb_newsletter_button:active {
  transform: translateY(5px) rotate(0);
  box-shadow: 0 1px 0 var(--mw-ink) !important;
}
.et_pb_button:focus-visible {
  outline: 3px dashed var(--mw-teal);
  outline-offset: 5px;
}

/* ---------- Cards (blurbs) ----------
   The tilted frame is a pseudo-element, so the words inside stay level. */
.et_pb_blurb {
  --mw-tilt: -1.2deg;
  --mw-card-shadow: var(--mw-ball);
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  padding: 32px 26px !important;
  transition: transform 0.35s var(--mw-bounce);
}
.et_pb_blurb::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: var(--mw-radius);
  box-shadow: 8px 8px 0 var(--mw-card-shadow);
  transform: rotate(var(--mw-tilt));
  transition: transform 0.35s var(--mw-bounce), box-shadow 0.35s var(--mw-bounce);
}
.et_pb_column:nth-child(3n+2) .et_pb_blurb { --mw-tilt: 1deg; --mw-card-shadow: var(--mw-lilac); }
.et_pb_column:nth-child(3n+3) .et_pb_blurb { --mw-tilt: -0.4deg; --mw-card-shadow: #9fe3d4; }
.et_pb_blurb:hover { transform: translateY(-6px); }
.et_pb_blurb:hover::before {
  transform: rotate(0deg) scale(1.02);
  box-shadow: 12px 14px 0 var(--mw-coral);
}
#page-container .et_pb_blurb .et_pb_main_blurb_image .et-pb-icon {
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--mw-ball);
  color: var(--mw-ink) !important;
  font-size: 38px !important;
  box-shadow: inset 0 -6px 0 rgba(0, 0, 0, 0.08);
}
.et_pb_blurb:hover .et-pb-icon { animation: mw-boing 0.7s var(--mw-bounce); }
#page-container .et_pb_blurb .et_pb_blurb_description,
#page-container .et_pb_blurb .et_pb_blurb_description p { color: var(--mw-body) !important; }
#page-container .et_pb_blurb .et_pb_module_header,
#page-container .et_pb_blurb .et_pb_module_header a {
  color: var(--mw-ink) !important;
  font-size: 24px !important;
}

/* Testimonials and other "card-ish" modules get the same friendly frame. */
.et_pb_testimonial,
.et_pb_pricing_table,
.et_pb_team_member {
  background: #fff !important;
  border: 3px solid var(--mw-ink) !important;
  border-radius: var(--mw-radius) !important;
  box-shadow: 8px 8px 0 var(--mw-ball) !important;
}

/* ---------- Section rhythm on the homepage ---------- */
.home .et-l--post .et_pb_section_1 { background: var(--mw-cream) !important; }
.home .et-l--post .et_pb_section_2 { background: var(--mw-mint) !important; }
.home .et-l--post .et_pb_section_3 { background: var(--mw-cream) !important; }
.et-l--post .mw-cta { background: var(--mw-teal-dark) !important; }

/* Wavy top edges: each section pokes up into the one above it. */
.home .et-l--post .et_pb_section_2,
.et-l--post .mw-cta,
.et-l--post .mw-sec-mint { position: relative; }
.home .et-l--post .et_pb_section_2::before,
.et-l--post .mw-cta::before,
.et-l--post .mw-sec-mint::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -59px;
  height: 60px;
  background: inherit;
  -webkit-mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
          mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
.home .et-l--post .et_pb_section_2::before { background: var(--mw-mint); transform: scaleX(-1); }
.home .et-l--post .et_pb_section_3 { position: relative; }
.home .et-l--post .et_pb_section_3::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -59px;
  height: 60px;
  background: var(--mw-cream);
  -webkit-mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
          mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
.et-l--post .mw-cta::before { background: var(--mw-teal-dark); }
.et-l--post .mw-sec-mint { background: var(--mw-mint) !important; }
.et-l--post .mw-sec-mint::before { background: var(--mw-mint); transform: scaleX(-1); }
/* In memory of Ninja and Zoe: a quieter lilac, no card wiggles. */
.et-l--post .mw-memory { position: relative; background: #f1ecfb !important; }
.et-l--post .mw-memory::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -59px;
  height: 60px;
  background: #f1ecfb;
  -webkit-mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
          mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
.mw-memory .polaroids { --polaroid-width: 400px; --polaroid-tape: rgba(185, 166, 255, 0.55); }
.mw-memory h3 {
  font-family: var(--mw-heading-font) !important;
  font-weight: 700;
  font-size: 28px !important;
  color: var(--mw-ink);
  text-align: center;
  padding-bottom: 6px;
}
.mw-memory .et_pb_row:last-child .et_pb_text p { text-align: center; max-width: 440px; margin: 0 auto; }

/* Straight after the hero, the hero's own wave does the job. */
.et-l--post .et_pb_section_0:has(+ .mw-sec-mint)::after { background: var(--mw-mint); }
.et-l--post .et_pb_section_0 + .mw-sec-mint::before { display: none; }

/* Call to action on teal: light text, yellow button. */
.et-l--post .mw-cta .et_pb_heading_container *,
.et-l--post .mw-cta .et_pb_text,
.et-l--post .mw-cta .et_pb_text p { color: #fff !important; }
.et-l--post .mw-cta .et_pb_button,
.et-l--footer .et_pb_button {
  background: var(--mw-ball) !important;
  color: var(--mw-ink) !important;
}

/* "Meet the pack" section. */
.mw-pack .mw-kicker,
.mw-kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 14px;
  border-radius: 999px;
  background: var(--mw-ball);
  color: var(--mw-ink);
  font-family: var(--mw-heading-font);
  font-weight: 600;
  font-size: 15px;
  transform: rotate(-2deg);
}
.mw-pack-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
}
.mw-pack-list li {
  position: relative;
  padding: 0 0 12px 38px !important;
  font-size: 17px;
}
.mw-pack-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  background: var(--mw-coral);
  -webkit-mask: var(--mw-paw) center / contain no-repeat;
          mask: var(--mw-paw) center / contain no-repeat;
  transform: rotate(-12deg);
}
.mw-pack-list li:nth-child(even)::before { background: var(--mw-teal); transform: rotate(14deg); }

/* ---------- Offer, pricing, FAQ, contact form ---------- */
.mw-offer .et_pb_button_module_wrapper { text-align: center; margin-top: 8px; }
.mw-offer strong { color: var(--mw-ink); }

.mw-price-card {
  position: relative;
  isolation: isolate;
  padding: 34px 32px 26px;
}
.mw-price-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: var(--mw-radius);
  box-shadow: 10px 10px 0 var(--mw-ball);
  transform: rotate(1deg);
}
.mw-price-label {
  font-family: var(--mw-heading-font);
  font-weight: 600;
  color: var(--mw-teal-dark);
  text-transform: uppercase;
  letter-spacing: 0.06em !important;
  font-size: 15px;
}
.mw-price {
  font-family: var(--mw-heading-font);
  font-size: 22px;
  color: var(--mw-ink);
  padding-bottom: 0 !important;
}
.mw-price strong { font-size: 64px; line-height: 1; font-weight: 700; }
.mw-price-then { font-size: 18px; color: var(--mw-ink); }
.mw-pricing .et_pb_button_module_wrapper { margin-top: 28px; }

.mw-faq details {
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: 20px;
  margin-bottom: 14px;
  padding: 0 22px;
}
.mw-faq summary {
  cursor: pointer;
  padding: 16px 0;
  font-family: var(--mw-heading-font);
  font-weight: 600;
  font-size: 19px;
  color: var(--mw-ink);
}
.mw-faq summary:focus-visible { outline: 3px dashed var(--mw-teal); outline-offset: 4px; }
.mw-faq details p { padding-bottom: 18px !important; }

#page-container .mw-form-card {
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: var(--mw-radius);
  box-shadow: 10px 10px 0 var(--mw-ball);
  padding: 30px 28px 20px;
}
.mw-form-card input,
.mw-form-card select,
.mw-form-card textarea {
  background: var(--mw-cream) !important;
  border: 2px solid rgba(43, 33, 64, 0.35) !important;
  border-radius: 14px !important;
  color: var(--mw-ink) !important;
}
.mw-form-card input:focus,
.mw-form-card select:focus,
.mw-form-card textarea:focus { border-color: var(--mw-teal-dark) !important; outline: 2px solid var(--mw-teal-dark); }
.mw-form-card ::placeholder { color: #6b6478 !important; }
/* Every Divi form (Contact, homepage waitlist, rescue application): the labels are hidden on screen but still read by
   screen readers, so the placeholders do the visible job. #6b6478 on the cream fields is 5.3:1. */
.et_pb_contact_form .et_pb_contact_form_label {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important;
}
.et_pb_contact_form ::placeholder { color: #6b6478 !important; opacity: 1; }
/* Without visible labels the old label spacing looks gappy; the form's own 30px gap is enough. */
.et_pb_section .et_pb_contact_form .et_pb_contact_field { margin-bottom: 0 !important; } /* beats the Divi preset rule */
.mw-form-card .et-pb-contact-message { color: var(--mw-ink); font-weight: 600; }
/* Honeypot field (build_pages.py contact_form): display:none keeps it from people and screen readers alike. */
.et_pb_contact_form [data-id="ref"] { display: none !important; }

/* ---------- Polaroids, muttworks-style ---------- */
.polaroids {
  --polaroid-caption-font: "Caveat", "Fredoka", cursive;
  --polaroid-caption: var(--mw-ink);
  --polaroid-tape: rgba(255, 210, 63, 0.7);
  margin-top: 16px;
}
.polaroid figcaption {
  font-style: normal !important;
  font-size: 23px !important;
}
.polaroids.is-pile .polaroid figcaption { font-size: 20px !important; }
.et_pb_section_0 .polaroids { --polaroid-width: 460px; }
.et_pb_section_0 .mw-form-card ~ * .polaroids,
.page-id-63 .et_pb_section_0 .polaroids { --polaroid-width: 340px; justify-content: flex-start; }

/* ---------- Footer ---------- */
.et-l--footer .et_pb_section {
  position: relative;
  background: var(--mw-ink) !important;
  padding-top: 90px !important;
  overflow: visible !important;
}
.et-l--footer .et_pb_section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 60px;
  background: var(--mw-cream);
  -webkit-mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
          mask: var(--mw-wave) 0 0 / 100% 100% no-repeat;
  transform: rotate(180deg);
}
body:has(.et-l--post .et_pb_section.mw-cta:last-child) .et-l--footer .et_pb_section::before { background: var(--mw-teal-dark); }
body:has(.et-l--post .et_pb_section.mw-sec-mint:last-child) .et-l--footer .et_pb_section::before { background: var(--mw-mint); }
#page-container .et-l--footer,
#page-container .et-l--footer .et_pb_text,
#page-container .et-l--footer .et_pb_text p,
#page-container .et-l--footer .et_pb_text a,
#page-container .et-l--footer .et_pb_menu ul li a {
  color: #efe9fb !important;
}
#page-container .et-l--footer .et_pb_text a:hover,
#page-container .et-l--footer .et_pb_menu ul li a:hover,
#page-container .et-l--footer .et_pb_menu ul li.current-menu-item a { color: var(--mw-ball) !important; }
#page-container .et-l--footer .et_pb_heading_container *,
#page-container .et-l--footer .et_pb_text h5 {
  color: var(--mw-ball) !important;
  font-family: var(--mw-heading-font) !important;
  font-weight: 600 !important;
}
.mw-footer-logo img { width: 240px; height: auto; }
.mw-footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.mw-footer-links li { padding: 0 0 8px !important; }
.mw-copyright { font-size: 14px; opacity: 0.8; }

/* A little dog peeks over the footer's edge. */
.mw-peek {
  position: absolute;
  right: clamp(16px, 8vw, 120px);
  top: -54px;
  width: 92px;
  height: 92px;
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: 50%;
  overflow: hidden;
  z-index: 3;
  transform: translateY(40px);
  transition: transform 0.6s var(--mw-bounce);
  cursor: pointer;
}
.mw-peek img { width: 100%; height: 100%; object-fit: contain; }
.mw-peek.is-up { transform: translateY(0); }
.mw-peek:hover { animation: mw-wag 0.5s ease-in-out 3; }
.mw-peek-bubble {
  position: absolute;
  right: calc(clamp(16px, 8vw, 120px) + 100px);
  top: -60px;
  padding: 6px 14px;
  background: #fff;
  border: 3px solid var(--mw-ink);
  border-radius: 18px 18px 4px 18px;
  font-family: var(--mw-heading-font);
  font-weight: 600;
  color: var(--mw-ink);
  opacity: 0;
  transform: scale(0.6);
  transform-origin: 100% 100%;
  transition: opacity 0.2s, transform 0.3s var(--mw-bounce);
  z-index: 3;
  pointer-events: none;
}
.mw-peek-bubble.is-on { opacity: 1; transform: scale(1); }

/* ---------- Click confetti: paw prints ---------- */
.mw-paw-pop {
  position: fixed;
  width: 22px;
  height: 22px;
  pointer-events: none;
  z-index: 99999;
  background: var(--c, var(--mw-coral));
  -webkit-mask: var(--mw-paw) center / contain no-repeat;
          mask: var(--mw-paw) center / contain no-repeat;
  animation: mw-pop 0.9s cubic-bezier(0.2, 0.8, 0.3, 1) forwards;
}

/* ---------- Motion ---------- */
@keyframes mw-wag {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-8deg); }
  75% { transform: rotate(8deg); }
}
@keyframes mw-boing {
  0% { transform: scale(1); }
  30% { transform: scale(1.25, 0.8); }
  55% { transform: scale(0.9, 1.15); }
  75% { transform: scale(1.05, 0.95); }
  100% { transform: scale(1); }
}
@keyframes mw-pop {
  0% { opacity: 1; transform: translate(0, 0) rotate(0) scale(0.4); }
  100% { opacity: 0; transform: translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(1); }
}

@media (max-width: 767px) {
  #page-container .et-l--post .et_pb_section:not(.et_pb_section_0) .et_pb_heading .et_pb_heading_container > * {
    font-size: 32px !important;
  }
}
@media (max-width: 980px) {
  .et_pb_blurb { margin-bottom: 26px !important; }
  .mw-peek { width: 72px; height: 72px; top: -44px; }
  .mw-peek-bubble { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .mw-paw-pop { display: none; }
}
