:root {
  --mvn-green: #2f7d32;
  --mvn-deep: #173b2a;
  --mvn-ink: #1e2d26;
  --mvn-paper: #fffdf8;
  --mvn-wash: #eef3ed;
  --mvn-line: #d7e1d5;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--mvn-wash); color: var(--mvn-ink); font-family: system-ui, sans-serif; line-height: 1.7; }
#boxed-wrapper, #wrapper { min-height: 100vh; }
.fusion-secondary-header { background: var(--mvn-green); color: #fff; font-family: system-ui, sans-serif; font-size: .615rem; }
.fusion-secondary-header .fusion-row { max-width: none; width: 100%; margin: auto; padding: .25rem 2.5rem; line-height: 1.2; }
.fusion-contact-info { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.fusion-contact-info a { color: #fff; text-decoration: none; }
.fusion-header { color: #fff; background: linear-gradient(90deg, rgba(23,59,42,.92), rgba(23,59,42,.56)), url('/wp-content/uploads/2026/10/header-bg-light.jpg') center 44% / cover; }
.fusion-header .fusion-row { max-width: none; width: 100%; min-height: 78px; margin: auto; padding: .7rem 2.5rem; display: flex; align-items: center; gap: 2rem; }
.fusion-logo { margin-right: auto; }
.fusion-logo img { display: block; width: 228px; max-width: 100%; height: auto; }
.fusion-sticky-logo { display: none !important; }
.fusion-main-menu { margin-left: auto; }
.fusion-main-menu .fusion-menu { display: flex; flex-wrap: nowrap !important; align-items: center; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.fusion-main-menu .fusion-menu a { display: block; padding: .7rem .75rem; color: #fff; font: 700 .75rem/1.2 system-ui, sans-serif; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; border-radius: 0; white-space: nowrap; }
.fusion-main-menu .fusion-menu a:hover, .fusion-main-menu .current-menu-item a { background: rgba(255,255,255,.18); }
.fusion-mobile-menu-icons { display: none; }
#main #content { max-width: 1180px; margin: 0 auto; padding: 0 1.5rem 5rem; }
.post-content { max-width: 100%; }
.fusion-fullwidth { background: transparent !important; }
.fusion-builder-row { max-width: 1144px !important; margin: 0 -2% !important; padding: 0 !important; display: flex; flex-wrap: wrap !important; gap: 0; align-items: flex-start; }
.fusion-layout-column { float: none !important; width: auto !important; margin: 0 0 20px !important; }
.fusion-builder-column-0 { flex: 0 0 33.333333%; min-width: 0; padding-inline: 0 !important; }
.fusion-builder-column-1 { flex: 0 0 66.666667%; min-width: 0; padding-inline: 0 !important; }
.fusion-column-wrapper { height: auto !important; }
.fusion-image-element { margin: 0 0 1.1rem !important; }
.fusion-imageframe { display: block; width: 224px; max-width: 100%; padding: 0; background: var(--mvn-paper); border: 4px solid #fff !important; border-radius: 4px !important; box-shadow: 12px 12px 16px rgba(91,91,91,.3) !important; }
.fusion-imageframe img { display: block; width: 100%; height: auto; border-radius: 0; }
.fusion-button { display: inline-flex; justify-content: center; width: 100%; padding: .95rem 1.2rem; background: var(--mvn-green) !important; color: #fff !important; border-radius: .2rem !important; font: 700 .95rem system-ui, sans-serif; text-decoration: none; white-space: nowrap; box-shadow: 0 .5rem 1rem rgba(47,125,50,.2); }
.fusion-button:hover { background: var(--mvn-deep) !important; }
.fusion-title-heading { color: var(--mvn-green) !important; }

.fusion-title-3 .fusion-title-heading { color: var(--mvn-ink) !important; }


.fusion-footer { background: var(--mvn-deep); min-height: 7rem; }
.wpcf7-form, .post-content > .fusion-builder-row > .fusion-layout-column { max-width: 100%; }
input, select, textarea { max-width: 100%; border: 1px solid var(--mvn-line); border-radius: .45rem; padding: .75rem .85rem; background: #fff; font: inherit; }
input[type='submit'] { border: 0; background: var(--mvn-green); color: #fff; font: 700 1rem system-ui, sans-serif; cursor: pointer; }

@media (max-width: 900px) {
  .fusion-header .fusion-row { min-height: 76px; }
  .fusion-main-menu .fusion-menu a { padding-inline: .55rem; font-size: .68rem; }
}

@media (max-width: 800px) {
  .fusion-header .fusion-row { min-height: 64px; padding: .7rem 1rem; }
  .fusion-main-menu { display: none; }
  .fusion-mobile-menu-icons { display: block; margin-left: auto; }
  .fusion-mobile-menu-icons a { color: #fff; font-size: 1.55rem; text-decoration: none; }
  #main #content { padding: 2.5rem 1rem; }
  .fusion-builder-row { display: block !important; margin-inline: 0 !important; }
  .fusion-layout-column, .fusion-builder-column-0, .fusion-builder-column-1 { flex: none !important; width: 100% !important; padding-inline: 1.92%; }
  .fusion-builder-column-0 { margin-bottom: 2.5rem !important; }
  .fusion-imageframe { width: 100%; max-width: 25rem; margin-inline: auto; }
  .fusion-button { width: 100%; max-width: 25rem; margin-inline: auto; }
  
}


/* Match the supplied gold MVN layout at desktop widths. */
:root { --mvn-green: #4c812d; }
.fusion-secondary-header .fusion-row {
  min-height: 38px !important;
  padding: 0 1.15rem !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
.fusion-contact-info {
  margin-right: auto;
  font: 700 .8625rem/1.25 system-ui, sans-serif;
  gap: .6rem;
}
.fusion-header {
  background-image: url('/wp-content/uploads/2026/10/header-bg-light.jpg') !important;
  background-position: center 44% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.fusion-header .fusion-row {
  max-width: none !important;
  width: 100% !important;
  min-height: 100px !important;
  padding: .8rem 1.15rem !important;
  justify-content: space-between;
}
.fusion-logo { margin-left: 0 !important; }
.fusion-main-menu { width: 73.2%; flex: 0 0 73.2%; margin-left: auto !important; margin-right: 0 !important; transform: translateY(.6rem); }
.fusion-main-menu .fusion-menu { width: 100%; justify-content: space-between !important; gap: 0; }
.fusion-main-menu .fusion-menu a {
  padding: 1.05rem 2.4rem;
  font: 700 1.65rem/1.2 system-ui, sans-serif;
  letter-spacing: .02em;
}
.fusion-main-menu .fusion-menu a:hover,
.fusion-main-menu .fusion-menu .current-menu-item a {
  background: rgba(30, 45, 38, .42);
}
#main #content {
  width: 100% !important;
  max-width: none !important;
  padding: 1rem 1.15rem 5rem !important;
}
#main .fusion-row { max-width: none !important; width: 100% !important; }
.fusion-builder-row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}
.fusion-builder-column-0 { flex-basis: 31% !important; }
.fusion-builder-column-1 { flex-basis: 69% !important; padding-left: 2.2rem !important; }

/* Ad Prices and Sizes page (#post-20): its two columns are natively 50/50 —
   exempt them from the global 31/69 column squeeze so the layout is half & half. */
#post-20 .fusion-builder-column-0 { flex: 1 1 50% !important; flex-basis: 50% !important; padding-inline: 1.92% !important; }
#post-20 .fusion-builder-column-1 { flex: 1 1 50% !important; flex-basis: 50% !important; padding-inline: 1.92% !important; }

/* Ad Prices and Sizes (2026-10 draft): let the size graphic fill the column. */
#post-20 .fusion-imageframe { width: 100% !important; max-width: none !important; }
#post-20 .fusion-imageframe img { width: 100%; height: auto; }
#post-20 .fusion-image-element { width: 100% !important; }

/* Ad Prices and Sizes (2026-10 draft): trim excess vertical spacing between
   the stacked heading/table blocks (theme defaults were 30px/20px each). */
#post-20 .fusion-image-element { margin-bottom: .6rem !important; }
#post-20 .fusion-builder-column, #post-20 .fusion-builder-column .fusion-column-wrapper { margin-bottom: .6rem !important; }
#post-20 .table-1, #post-20 .fusion-title, #post-20 .fusion-text { margin-bottom: .6rem !important; }
#post-20 .fusion-text p:last-child { margin-bottom: 0 !important; }

/* Ad Prices and Sizes (2026-10 draft): top-align the two columns' content so
   the heading text starts level with the image, not pushed down by old
   margin-top values. */
#post-20 .fusion-builder-row { align-items: flex-start !important; }
#post-20 .fusion-builder-column { margin-top: 0 !important; }
#post-20 .fusion-column-wrapper { padding-top: 0 !important; }
#post-20 .fusion-title-heading { margin-top: 0 !important; }
#post-20 .fusion-title { margin-top: 0 !important; }

/* Ad Prices and Sizes (2026-10 draft): "shrink to fit" — the page's own
   blocks take only the height they need; the tall fixed min-heights and
   stretched column heights come out. */
#post-20 .fusion-fullwidth { min-height: 0 !important; height: auto !important; }
#post-20 .fusion-builder-column, #post-20 .fusion-builder-column .fusion-column-wrapper { height: auto !important; min-height: 0 !important; }
#post-20 .fusion-column-inner-bg, #post-20 .fusion-column-inner-bg-image { height: auto !important; min-height: 0 !important; }
#post-20 .fusion-title, #post-20 .fusion-text, #post-20 .table-1 { height: auto !important; min-height: 0 !important; }

/* Ad Prices and Sizes (2026-10 draft): squash the headline block vertically so
   it matches the height of its text (kills the old 1.33em top/bottom margins
   and the theme's tall line-height). */
#post-20 .fusion-title h4 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.25 !important;
}
#post-20 .fusion-title { line-height: 1.25 !important; }
.fusion-image-element { margin-left: 0 !important; }
.fusion-imageframe { width: 100% !important; max-width: 25rem; }

/* Ad Prices and Sizes tables (2026-10 draft): centre cell content both ways. */
.table-1 table { text-align: center; }
.table-1 th, .table-1 td {
  text-align: center !important;
  vertical-align: middle !important;
}
.table-1 .title-row { text-align: center; }
.fusion-button {
  width: 100% !important;
  max-width: 25rem !important;
  transform: none !important;
  padding: 1.35rem 1.2rem;
  font-size: 1.45rem;
}
.fusion-title-heading {
  font-size: clamp(3rem, 3.3vw, 3.75rem) !important;
  line-height: 1.2 !important;
  margin-top: .5rem !important;
  letter-spacing: -.025em;
}
.fusion-title-2 .fusion-title-heading {
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  line-height: 1.22 !important;
}
.fusion-title-3 .fusion-title-heading {
  font-size: clamp(1.9rem, 2vw, 2.3rem) !important;
  line-height: 1.2 !important;
}


.mobile-menu { display: none !important; }
.fusion-title-2 .fusion-title-heading { margin-top: .8rem !important; }
.fusion-title-3 .fusion-title-heading { margin-top: .25rem !important; }
.fusion-title-3 + .fusion-text { margin-top: -1rem; }
.site-content { background: #fff; }

/* Keep the desktop navigation inside the panoramic header without changing
   the width of the active tab. */
@media (min-width: 1451px) {
  .fusion-main-menu { display: block !important; visibility: visible !important; opacity: 1 !important; }
  .fusion-main-menu .fusion-menu { display: flex !important; visibility: visible !important; }
  .fusion-main-menu .fusion-menu a { padding-inline: 1rem; }
  .fusion-main-menu .fusion-menu li:first-child a { padding-inline: 2.4rem; }
}
.fusion-text { font-size: 14px; line-height: 1.6; }
.fusion-text p { margin: .9rem 0 .8rem; }

@media (min-width: 801px) and (max-width: 1450px) {
  .fusion-header .fusion-row { min-height: 100px !important; }
  .fusion-main-menu { width: auto; flex: 1 1 auto; min-width: 0; }
  .fusion-main-menu .fusion-menu { justify-content: space-between !important; }
  .fusion-main-menu .fusion-menu a {
    padding: 1rem clamp(.35rem, 1.2vw, 1rem);
    font-size: clamp(1rem, 1.45vw, 1.3rem);
  }
  .fusion-main-menu .fusion-menu li:first-child a {
    padding-inline: clamp(.8rem, 2vw, 1.5rem);
  }
}
@media (max-width: 800px) {
  .fusion-main-menu { display: none !important; }
  .mobile-menu { display: block !important; position: relative; margin-left: auto; color: #fff; font: 700 1.6rem/1 system-ui, sans-serif; }
  .mobile-menu summary { cursor: pointer; list-style: none; }
  .mobile-menu summary::marker { content: ''; }
  .mobile-menu summary::-webkit-details-marker { display: none !important; }
  .mobile-menu nav { position: absolute; z-index: 10; top: calc(100% + .8rem); right: 0; width: min(19rem, calc(100vw - 2rem)); padding: .5rem 0; background: var(--mvn-deep); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.2); }
  .mobile-menu ul { margin: 0; padding: 0; list-style: none; }
  .mobile-menu a { display: block; padding: .8rem 1rem; color: #fff; font: 700 .85rem/1.3 system-ui, sans-serif; text-decoration: none; text-transform: uppercase; }
  #main #content { padding-top: 1rem !important; }
}
@media (max-width: 800px) {
  .fusion-secondary-header .fusion-row { min-height: 28px !important; padding-inline: 1rem !important; }
  .fusion-contact-info { font-size: .9rem; }
  .fusion-header .fusion-row { min-height: 76px !important; }
  .fusion-main-menu { transform: none; }
  .fusion-builder-column-0 { flex-basis: auto !important; }
  .fusion-builder-column-1 { flex-basis: auto !important; padding-left: 1.92% !important; }
  #main #content { padding: 2.5rem 1rem 4rem !important; }
  .fusion-image-element, .fusion-button { margin-left: 0 !important; }
  .fusion-imageframe, .fusion-button { width: 100% !important; max-width: 25rem !important; }
  .fusion-button { transform: none !important; }

  /* Paragraph text on mobile: 16px globally (2026-10 draft). */
  .mvn-site-frame #main p { font-size: 16px !important; }
  .fusion-text { font-size: 16px !important; }
}

/* Match the original site's centred 1100px boxed layout. */
.mvn-site-frame { width: 100%; max-width: 1100px; margin-inline: auto; background: #fff; }
.mvn-site-frame #main #content { padding: 0 !important; }
.mvn-site-frame .fusion-builder-row { width: auto !important; max-width: 1144px !important; margin-inline: -2% !important; }
@media (max-width: 800px) { .mvn-site-frame .fusion-builder-row { margin-inline: 0 !important; } }
@media (min-width: 801px) {
  .mvn-site-frame .fusion-header .fusion-row { padding-inline: 0 !important; gap: 1rem; }
  .mvn-site-frame .fusion-logo { margin-left: 0 !important; }
  .mvn-site-frame .fusion-main-menu { width: auto !important; flex: 1 1 auto !important; min-width: 0; }
  .mvn-site-frame .fusion-main-menu .fusion-menu a { padding-inline: .6rem !important; font-size: 1rem !important; }
}

/* Header menu: grouped items, aligned right, 20px apart (2026-10 draft). */
.mvn-site-frame .fusion-logo { margin-left: 0 !important; margin-right: auto !important; }
.mvn-site-frame .fusion-main-menu {
  width: auto !important;
  flex: 0 1 auto !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  transform: none !important;
  align-self: flex-end !important;
}
.mvn-site-frame .fusion-main-menu .fusion-menu {
  width: auto !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 0 !important;
}
.mvn-site-frame .fusion-main-menu .fusion-menu li {
  margin: 0 !important;
  padding: 0 !important;
}
.mvn-site-frame .fusion-main-menu .fusion-menu a { padding: 10px 10px 5px !important; }
@media (min-width: 1451px) {
  .mvn-site-frame .fusion-main-menu .fusion-menu a { padding: 10px 10px 5px !important; }
}

/* Vertically centre the logo in the header bar (2026-10 draft). */
.mvn-site-frame .fusion-header .fusion-row {
  align-items: center !important;
  padding-bottom: 0 !important;
}
.mvn-site-frame .fusion-logo,
.mvn-site-frame .fusion-logo img {
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
}
.mvn-site-frame .fusion-logo img { max-width: 100% !important; width: 228px !important; height: auto !important; }

/* Top contact strip (2026-10 draft): centre the "Call Us Today!" row. */
.fusion-secondary-header .fusion-row {
  justify-content: center !important;
  text-align: center !important;
}
.fusion-secondary-header .fusion-contact-info {
  margin-right: 0 !important;
  justify-content: center !important;
}

/* Get in Touch form (2026-10 draft): the theme styled the Submit button blue
   (#198fd9) — make it the site green with white text, matching .fusion-button. */
.mvn-site-frame #post-22 .wpcf7-submit,
.wpcf7-submit {
  background: var(--mvn-green) !important;
  background-image: none !important;
  color: #fff !important;
  border-color: var(--mvn-deep) !important;
  font-weight: 700;
}
.mvn-site-frame #post-22 .wpcf7-submit:hover,
.wpcf7-submit:hover {
  background: var(--mvn-deep) !important;
}

/* Header drop shadow (2026-10 draft): soft shadow under the menu header. */
.mvn-site-frame .fusion-header,
.fusion-header {
  box-shadow: 0 .4rem .9rem rgba(0,0,0,.28) !important;
  position: relative;
  z-index: 20;
}

/* Advertise with us illustration (2026-10 draft): no drop shadow on this
   specific image (#post-18), others keep theirs. */
#post-18 .fusion-imageframe {
  box-shadow: none !important;
}

/* Ad Prices and Sizes size graphic (2026-10 draft): no drop shadow on this
   image (wp-image-59) only. */
#post-20 .fusion-imageframe span:has(> img.wp-image-59),
#post-20 .fusion-imageframe:has(> img.wp-image-59) {
  box-shadow: none !important;
}

/* Title style 1 (lead headings, e.g. "Our little magazine...") at a fixed
   32px, operator-set 2026-10 draft. */
.mvn-site-frame .fusion-title-1 .fusion-title-heading,
.fusion-title-1 .fusion-title-heading {
  font-size: 32px !important;
}

/* Section headings (title style 2, e.g. "10,000 copies...") match the lead
   style: same weight, colour already shared, size 24px. Operator-set 2026-10. */
.mvn-site-frame .fusion-title-2 .fusion-title-heading,
.fusion-title-2 .fusion-title-heading {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.03em !important;
  margin-top: 1rem !important;
}

/* Get in Touch (2026-10 draft): the page's question headings use title styles
   3, 4 and 5, which previously had no shared sizing (theme fell back to 48px).
   Give them the same section-heading look as style 2 so all questions match. */
.mvn-site-frame .fusion-title-3 .fusion-title-heading,
.fusion-title-3 .fusion-title-heading,
.mvn-site-frame .fusion-title-4 .fusion-title-heading,
.fusion-title-4 .fusion-title-heading,
.mvn-site-frame .fusion-title-5 .fusion-title-heading,
.fusion-title-5 .fusion-title-heading {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.03em !important;
  margin-top: 1rem !important;
  color: var(--mvn-green) !important;
}

/* Get in Touch (2026-10 draft): tighten the gap between the page's lead
   headline ("Some of the most common questions answered…") and the contact
   cards below it. */
.mvn-site-frame #post-22 .fusion-title-1.fusion-title {
  margin-bottom: .4rem !important;
}
.mvn-site-frame #post-22 .fusion-title-1.fusion-title .fusion-title-heading {
  margin-bottom: .4rem !important;
}
