/* Source cascade repair: legacy-shell's scoped h2 rule otherwise wins over
   the imported corp-franch.css and collapses the production statistics gap. */
@font-face {
  font-family: 'Code-Pro-Black-LC';
  src: url('/static/site-fonts/Code-Pro-Black.woff') format('woff');
  font-display: swap;
}

/* The booted production cascade uses the Code Pro display face here.  Keep
   this narrow override after the generic inner-shell h2 rule, which otherwise
   replaces the source headings and statistics with a serif fallback. */
.legacy-public:has(.legacy-franchise-source) .page-top--franchise h1,
.legacy-franchise-source .franchise-stats__title,
.legacy-franchise-source .franchise-stats-item__number,
.legacy-franchise-source .franchise-benefits__title,
.legacy-franchise-source .franchise-case h2 {
  font-family: 'Code Pro Black', 'Arial Black', sans-serif;
  font-weight: 400;
}

.legacy-franchise-source .franchise-stats-item__title {
  font-family: 'Myriad Pro', Arial, sans-serif;
}

/* `legacy-shell.css` colours its scoped h2 headings white. The source
   callback is white, so restore the intended dark request-form title. */
.legacy-franchise-source .callback__title { color:#2f2e42; }

/* Match the gutters of the neighbouring columns inside the negative row. */
.legacy-franchise-source .franchise-calc-column {
  box-sizing: border-box;
  padding: 0 20px;
}

/* `home_games.css`, loaded by site_franchise.php, supplies the red logo rule
   for each franchise heading.  Keep it in this landing scope so the static
   corporate bundle cannot suppress the source separator. */
.legacy-franchise-source .franchise-benefits-top .homegames-promo-top {
  position: relative;
}

.legacy-franchise-source .franchise-benefits-top .homegames-promo-top::before {
  position: absolute;
  z-index: 0;
  top: 6px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #e20913;
  content: '';
}

.legacy-franchise-source .franchise-benefits-top .homegames-promo__logo {
  z-index: 1;
}

@media (min-width: 640px) {
.legacy-franchise-source .franchise-stats__title {
  margin-bottom: 40px;
}
}

@media (max-width: 639px) {
  .legacy-public:has(.legacy-franchise-source) .page-top--franchise {
    padding-bottom: 28px;
  }

  .legacy-franchise-source .franchise-stats {
    padding: 70px 0;
  }

  .legacy-franchise-source .franchise-stats__title {
    margin-bottom: 24px;
  }

  .legacy-franchise-source .franchise-stats-row {
    display: block;
  }

  .legacy-franchise-source .franchise-stats-column {
    padding: 0 20px;
  }
}

/* Literal inner.php/style2.css mobile page-top cascade. */
@media (max-width: 767px) {
  .legacy-public:has(.legacy-franchise-source) .page-top--franchise {
    padding: 80px 0 30px;
  }

  .legacy-public:has(.legacy-franchise-source) .page-top--franchise h1 {
    font-family: 'Code-Pro-Black-LC', sans-serif;
    font-size: 30px;
    line-height: 45px;
  }

  /* `corp-franch.css` retains full-width case content and 18px copy at this
     breakpoint.  The previous adapter desktop-to-mobile normalization
     narrowed and shrank this source block. */
  .legacy-franchise-source .franchise-benefits {
    padding: 75px 0 85px;
  }

  .legacy-franchise-source .franchise-case p,
  .legacy-franchise-source .franchise-case table {
    font-size: 18px;
    line-height: 20.7px;
  }

  .legacy-franchise-source .homegames-promo__logo {
    display: block;
    margin: 0;
    padding: 0;
    background: transparent;
  }

  .legacy-franchise-source .franchise-benefits__title {
    font-size: 32px;
    line-height: 36px;
  }

  .legacy-franchise-source .franchise-benefits-row {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }

  .legacy-franchise-source .franchise-benefits-item,
  .legacy-franchise-source .franchise-benefits-item_1,
  .legacy-franchise-source .franchise-benefits-item_2,
  .legacy-franchise-source .franchise-benefits-item_3,
  .legacy-franchise-source .franchise-benefits-item_4,
  .legacy-franchise-source .franchise-benefits-item_5 {
    flex: 1 1 50% !important;
    max-width: 50% !important;
    margin: 0 0 50px !important;
    padding: 0 20px;
  }

  .legacy-franchise-source .franchise-benefits-item-body {
    display: inline-block;
  }

  .legacy-franchise-source .callback {
    padding: 70px 0 55px;
  }

  .legacy-franchise-source .callback-form-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    gap: 0;
  }

  .legacy-franchise-source .callback-form-column {
    max-width: 50%;
    margin-bottom: 20px;
    padding: 0 10px;
  }
}

@media (max-width: 639px) {
  .legacy-franchise-source .franchise-video {
    padding: 70px 0 30px;
  }

  .legacy-franchise-source .franchise-video-row {
    display: block;
    margin: 0 -20px;
    gap: 0;
  }

  .legacy-franchise-source .franchise-video-column {
    max-width: 100%;
    padding: 0 20px;
  }

  .legacy-franchise-source .franchise-video-column:first-child {
    margin-bottom: 50px;
  }
}

@media (max-width: 479px) {
  .legacy-franchise-source .callback-form-row {
    display: block;
  }

  .legacy-franchise-source .callback-form-column {
    display: block;
    max-width: 100%;
  }

  .legacy-franchise-source .franchise-video-item {
    height: 200px;
  }
}

/* Local source-equivalent AOS for site_franchise.php. */
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos] { opacity: 0; transition: opacity .4s ease, transform .4s ease; transition-delay: 0s; }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="fade-right"] { transform: translate3d(-100px, 0, 0); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="fade-down-left"] { transform: translate3d(100px, -100px, 0); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="fade-down-right"] { transform: translate3d(-100px, -100px, 0); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="fade-up-right"] { transform: translate3d(-100px, 100px, 0); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="fade-up-left"] { transform: translate3d(100px, 100px, 0); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="zoom-in"] { transform: scale(.6); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos="zoom-out-up"] { transform: translate3d(0, 100px, 0) scale(1.2); }
html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos].legacy-franchise-aos-animate { opacity: 1; transform: none; transition-delay: var(--legacy-franchise-aos-delay, 0ms); }
@media (prefers-reduced-motion: reduce) { html.legacy-franchise-motion-ready .legacy-franchise-source [data-legacy-franchise-aos], .legacy-franchise-source [data-legacy-franchise-aos] { opacity: 1; transform: none; transition: none; } }

.legacy-franchise-source .franchise-stats__map img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

/* The first request form starts a white band immediately after the counts.
 * Reserve a small gap inside the statistics section, including wrapped copy. */
.legacy-franchise-source .franchise-stats > .legacy-franchise-request { margin-top: 24px; }
@media (min-width: 768px) and (max-width: 1010px) {
  .legacy-franchise-source .franchise-stats-row { flex-wrap: wrap; row-gap: 24px; }
}

/* The shared wrapper is 1040px rather than the source 1300px. Scale this
 * connected diagram's dimensions together, keeping the original PNG paths
 * and the source compact layout at 1260px and below. */
@media (min-width: 1261px) {
  .legacy-franchise-source .franchise-benefits-row {
    --franchise-diagram-density: var(--public-followup-density, .8);
    --franchise-diagram-gutter: calc(150px * var(--franchise-diagram-density));
    --franchise-final-arrow-width: calc(107px * var(--franchise-diagram-density));
    position: relative;
    padding: 0 var(--franchise-diagram-gutter);
  }
  .legacy-franchise-source .franchise-benefits-item__title {
    margin-bottom: calc(20px * var(--franchise-diagram-density));
    font-size: calc(20px * var(--franchise-diagram-density));
    line-height: calc(24px * var(--franchise-diagram-density));
  }
  .legacy-franchise-source .franchise-benefits-item__icon img {
    width: calc(var(--franchise-icon-size, 135px) * var(--franchise-diagram-density));
    height: auto;
  }
  .legacy-franchise-source .franchise-benefits-item_1 { --franchise-icon-size: 139px; margin-top: calc(80px * var(--franchise-diagram-density)); }
  .legacy-franchise-source .franchise-benefits-item_2 { --franchise-icon-size: 137px; margin-top: calc(255px * var(--franchise-diagram-density)); }
  .legacy-franchise-source .franchise-benefits-item_3 { margin-top: calc(40px * var(--franchise-diagram-density)); }
  .legacy-franchise-source .franchise-benefits-item_4 { width: calc(280px * var(--franchise-diagram-density)); max-width: none; }
  .legacy-franchise-source .franchise-benefits-item_5 { margin-top: calc(255px * var(--franchise-diagram-density)); }
  .legacy-franchise-source .franchise-benefits-item::after {
    background-size: contain;
    background-position: left top;
    background-repeat: no-repeat;
    pointer-events: none;
  }
  .legacy-franchise-source .franchise-benefits-item_1::after {
    top: calc(10px * var(--franchise-diagram-density));
    left: calc(155px * var(--franchise-diagram-density));
    width: calc(195px * var(--franchise-diagram-density));
    height: calc(150px * var(--franchise-diagram-density));
  }
  .legacy-franchise-source .franchise-benefits-item_2::after {
    left: calc(95px * var(--franchise-diagram-density));
    width: calc(159px * var(--franchise-diagram-density));
    height: calc(248px * var(--franchise-diagram-density));
  }
  .legacy-franchise-source .franchise-benefits-item_3::after {
    top: calc(20px * var(--franchise-diagram-density));
    left: calc(200px * var(--franchise-diagram-density));
    width: calc(154px * var(--franchise-diagram-density));
    height: calc(101px * var(--franchise-diagram-density));
  }
  .legacy-franchise-source .franchise-benefits-item_4::after {
    top: calc(110px * var(--franchise-diagram-density));
    /* This PNG includes an opaque backing. Keep the whole image beyond the
     * final caption's column, with ten source pixels of clearance. */
    right: calc(var(--franchise-diagram-gutter) - var(--franchise-final-arrow-width) - 10px * var(--franchise-diagram-density));
    width: var(--franchise-final-arrow-width);
    height: calc(266px * var(--franchise-diagram-density));
  }
}
@media (min-width: 1261px) and (max-width: 1520px) {
  .legacy-franchise-source .franchise-benefits-row { --franchise-diagram-gutter: calc(50px * var(--franchise-diagram-density)); }
  .legacy-franchise-source .franchise-benefits-item_4 { width: calc(210px * var(--franchise-diagram-density)); }
}

/* Keep AOS entry opacity and transforms; its more specific visible-state
 * rule must not suppress the source .btn2 hover interaction afterwards. */
html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta {
  transition: opacity .4s ease, transform .3s ease, box-shadow .3s ease;
  transition-delay: 0s;
}
@media (hover: hover) {
  html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta:hover { transform: scale(1.1); }
}
html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta:focus-visible { transform: scale(1.1); outline: 3px solid #fcea1c; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta,
  html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta:hover,
  html .legacy-franchise-source .franchise-benefits-download .btn2.public-cta:focus-visible { transform: none; transition: none; }
}
