/* Legacy in-canvas geometry stays intact; new native bands follow below. */
.deck-presidents .presidents-package-polish {
  --package-footer-height: 104px;
}

/* Keep the supplied hospitality groups column-major in both the DOM and
   desktop layout; each list retains its own bullet order when stacked. */
.deck-presidents .presidents-package-polish .package-hospitality-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1cqw;
  align-items: start;
}

.deck-presidents .presidents-package-polish .package-hospitality-columns .package-bullets {
  grid-template-columns: minmax(0, 1fr);
}

.deck-presidents .presidents-package-polish .package-readable-footer {
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 4.7cqw 12px;
  border-top: 2px solid #3227ff;
  background: #082718;
  color: #fff8eb;
  font-family: Arial, sans-serif;
  font-size: clamp(15px, .95cqw, 18px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  text-align: left;
  text-shadow: none;
}

.deck-presidents .presidents-package-polish .package-footer-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 20px;
  font-weight: 700;
}

.deck-presidents .presidents-package-polish .package-readable-footer span,
.deck-presidents .presidents-package-polish .package-readable-footer small {
  text-align: left;
}

.deck-presidents .presidents-package-polish .package-footer-disclaimers {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}

.deck-presidents .presidents-package-polish .package-readable-footer .package-legal,
.deck-presidents .presidents-package-polish .package-readable-footer small {
  position: static;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-shadow: none;
}

@media (min-width: 801px) and (min-height: 501px), (min-width: 951px) {
  .deck-presidents .presidents-package-polish h2 {
    max-width: 100%;
  }

  .deck-presidents .presidents-package-polish .package-editorial-field {
    padding-bottom: calc(var(--package-footer-height) + 12px);
    grid-template-rows: auto auto auto minmax(0, 1fr);
    grid-template-areas: "meta ledger" "title ledger" "intro ledger" "investment ledger";
  }

  .deck-presidents .presidents-package-polish .package-investment {
    margin-bottom: .5cqw;
  }

  .deck-presidents .presidents-package-polish .package-ledger {
    grid-template-rows: minmax(min-content, .95fr) minmax(min-content, 1.7fr) minmax(min-content, 1.35fr) minmax(min-content, 1fr);
  }

  .deck-presidents .presidents-package-polish .package-hospitality-popouts {
    bottom: max(11.2%, calc(var(--package-footer-height) + 16px));
  }
}

@container (max-width: 1100px) {
  @media (min-width: 801px) and (min-height: 501px), (min-width: 951px) {
    .deck-presidents .presidents-package-polish .package-hospitality-popouts {
      --package-compact-photo-width: clamp(12cqw, calc(28cqw - 124px), 15.5cqw);
      left: calc(39.6% - var(--package-compact-photo-width));
      width: var(--package-compact-photo-width);
      height: calc(var(--package-compact-photo-width) * 1.013);
    }
  }
}

@media (max-width: 800px), (max-width: 950px) and (max-height: 500px) {
  .deck-presidents .presidents-package-polish .package-hospitality-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  /* Natural flow accounts for actual wrapped copy, not a fixed slide height.
     Absolute placement previously let the ledger shrink into footer padding. */
  .pilot-page.deck-presidents .presidents-package-polish,
  .pilot-page.deck-presidents .presidents-package-polish.is-active {
    display: block;
    height: auto;
    min-height: 0;
    padding: 225px 0 0;
  }

  .deck-presidents .presidents-package-polish .package-editorial-field {
    position: relative;
    inset: auto;
    height: auto;
    padding-bottom: 24px;
  }

  .deck-presidents .presidents-package-polish .package-readable-footer {
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 800px) and (max-height: 650px), (max-width: 950px) and (max-height: 650px) and (max-height: 500px) {
  .pilot-page.deck-presidents .presidents-package-polish,
  .pilot-page.deck-presidents .presidents-package-polish.is-active {
    padding-top: 112px;
  }
}

/* Footer bands are OUTSIDE each original stage. Frames deliberately remain
   position:static, preserving slide.offsetTop for the existing Story controls. */
.pilot-page.deck-presidents:has(.has-readable-footer-frames) .pilot-shell {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
}

.pilot-page.deck-presidents .pilot-deck.has-readable-footer-frames {
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.deck-presidents .presidents-slide-frame {
  position: static;
  overflow: hidden;
  border-radius: clamp(10px, 1.25vw, 24px);
  background: #082718;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.pilot-page.deck-presidents:not(.is-story) .presidents-slide-frame {
  display: none;
}

.pilot-page.deck-presidents:not(.is-story) .presidents-slide-frame.is-current {
  display: block;
}

.pilot-page.deck-presidents .presidents-slide-frame > .pilot-slide {
  position: relative;
  inset: auto;
  width: 100%;
  overflow: hidden;
}

.deck-presidents .presidents-legacy-footer {
  visibility: hidden !important;
  pointer-events: none !important;
}

.deck-presidents .presidents-readable-band {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px 28px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 18px 4.7%;
  border: 0;
  border-top: 2px solid #3227ff;
  background: #082718;
  color: #fff;
  font-family: 'ISM Sans', Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: left;
  text-shadow: none;
  overflow-wrap: anywhere;
}

.deck-presidents .presidents-readable-band > span,
.deck-presidents .presidents-readable-band > small {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-shadow: none;
}

/* The approved footer contact line keeps its resting appearance while its
   website and email become real, keyboard-focusable destinations. */
.deck-presidents .presidents-readable-band a,
.deck-presidents .deck-contact-footer a {
  color: inherit;
  text-decoration: none;
}

.deck-presidents .presidents-readable-band a:hover,
.deck-presidents .presidents-readable-band a:focus-visible,
.deck-presidents .deck-contact-footer a:hover,
.deck-presidents .deck-contact-footer a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .16em;
}

.deck-presidents .presidents-readable-band > span:first-child { font-weight: 700; }
.deck-presidents .presidents-readable-band > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.deck-presidents .presidents-readable-band > span:nth-child(3) { grid-column: 2; grid-row: 1; }
.deck-presidents .presidents-readable-band > small {
  grid-column: 1 / -1;
  font-size: clamp(12px, .7vw, 14px);
  font-style: italic;
  line-height: 1.3;
}

/* Match the native band while the no-JS/initial legacy footer is visible. */
.deck-presidents .deck-contact-footer small[data-presidents-disclaimer],
.deck-presidents .package-footer-disclaimers small[data-presidents-disclaimer],
.deck-presidents .legal-line[data-presidents-disclaimer] {
  font-size: clamp(12px, .7vw, 14px);
  font-style: italic;
  line-height: 1.3;
}

@media (min-width: 801px) and (min-height: 501px), (min-width: 951px) {
  .pilot-page.deck-presidents .presidents-slide-frame > .pilot-slide {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 1100px) {
  .deck-presidents .presidents-readable-band { font-size: 18px; }
}

@container (max-width: 950px) {
  .deck-presidents .presidents-readable-band {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 20px;
  }
}

@media (max-width: 800px), (max-width: 950px) and (max-height: 500px) {
  .deck-presidents .presidents-slide-frame { border-radius: 0; }
  .pilot-page.deck-presidents.is-story .presidents-slide-frame + .presidents-slide-frame { margin-top: 20px; }
}

@media print {
  .pilot-page.deck-presidents .presidents-slide-frame {
    display: block !important;
    break-inside: avoid;
    box-shadow: none;
  }
}

/* Selection: Current approved decks — Terry final six changes (757cb11).
   Desktop Slides fits the existing 16:9 canvas AND its readable native band
   inside the shell. Story and mobile keep their approved document flow. */
@media (min-width: 801px) and (min-height: 501px), (min-width: 951px) {
  .pilot-page.deck-presidents:not(.is-story):has(.has-readable-footer-frames) {
    grid-template-rows: 34px minmax(0, 1fr) 52px;
  }

  .pilot-page.deck-presidents:not(.is-story):has(.has-readable-footer-frames) .pilot-nav {
    padding-top: 3px;
    padding-bottom: 3px;
  }

  .pilot-page.deck-presidents:not(.is-story):has(.has-readable-footer-frames) .pilot-shell {
    display: grid;
    place-items: center;
    overflow: hidden;
    padding-top: 3px;
    padding-bottom: 3px;
  }

  /* Short landscape windows retain readable full-width artwork and a reachable
     footer; no zero-width or microscopic fit when the native band cannot fit. */
  .pilot-page.deck-presidents.has-scrollable-presidents-frame:not(.is-story):has(.has-readable-footer-frames) .pilot-shell {
    display: block;
    overflow-y: auto;
  }

  .pilot-page.deck-presidents:not(.is-story) .pilot-deck.has-readable-footer-frames {
    width: var(--presidents-fit-width, min(calc((100dvh - 260px) * 16 / 9), calc(100vw - 48px)));
  }

  .pilot-page.deck-presidents:not(.is-story) .presidents-readable-band {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 4px 16px;
    padding: 6px 4.7%;
    font-size: clamp(16px, .95vw, 18px);
    line-height: 1.3;
  }

  .pilot-page.deck-presidents:not(.is-story) .presidents-readable-band > span {
    font-size: clamp(14px, .83vw, 16px);
    line-height: 1.25;
  }
}
