/* --- container & media --- */
.pm {
  position: relative;
  min-height: 70vh;
  overflow: hidden;   /* fallback */
  overflow: clip;     /* primary */
  isolation: isolate;
}

.pm__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* IMAGE layer that moves: give it vertical bleed so edges never show */
.pm__fit   {
  position: absolute;
  left: 0; right: 0;
  top: calc(var(--pm-cap, 0px) * -1);
  bottom: calc(var(--pm-cap, 0px) * -1);
  background-size: cover;
  background-position: center;
  will-change: transform;
  backface-visibility: hidden;
}

/* Ensure the moving media sits at z-index 0 */
.pm__fit { z-index: 0; }

/* Add a dark veil only when overlay style is 'none' */
.pm--none .pm__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;                    /* above media, below overlay content */
}
.pm--none { --pm-veil: .25; }

.pm--none .pm__media::after {
  background: rgba(0,0,0,var(--pm-veil, .25));
}

.pm__media iframe,
.pm__media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: translateZ(0);
  will-change: transform; /* harmless here, keeps consistency */
}

/* --- overlay: boxed by default --- */
.pm .pm__overlay {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: inherit;

} /* <-- this closing brace was missing */

.pm .pm__inner {
  padding: clamp(1rem, 3vw, 2rem);
  margin-inline: auto;
  /* backdrop-filter: saturate(115%) blur(0.25rem);
  transition: transform 150ms linear;
  will-change: transform; */
}

/* readable links in the overlay */
.pm__overlay a:not(.btn-tulane):not(.btn-green) {
  color: #B9D7E8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pm__overlay a:not(.btn-tulane):not(.btn-green):visited {
  color: #c7d2fe;
}

.pm__overlay a:not(.btn-tulane):not(.btn-green):hover {
  filter: brightness(1.1);
}

/* overlay themes */
.pm--none .pm__inner {
  background: transparent;
  color: #fff;
  text-shadow:
    -1px 1px 0px rgba(0,0,0,1),
    -1.5px 1.5px 5px rgba(0,0,0,0.5),
     0px 0px 1.5rem rgba(0,0,0,0.325);
}

.pm--dark .pm__inner {
  background: rgba(0,0,0,.425);
  color: #fff;
  text-shadow: -1px 1px 0px rgba(0,0,0,1);
}

.pm--light .pm__inner {
  background: rgba(255,255,255,.385);
  color: #122;
  text-shadow: none;
}

/* Brand Guide——Options for setting specific colors for gradient content overlay */
:root {
  --pm-grad-start: rgba(0,0,0,.55);
  --pm-grad-end:   rgba(0,0,0,.20);
  --pm-grad-text:  #fff;
}
.pm--gradient .pm__inner {
  background: linear-gradient(
    180deg,
    var(--pm-grad-start, rgba(0,0,0,.55)),
    var(--pm-grad-end,   rgba(0,0,0,.20))
  );
  color: var(--pm-grad-text, #fff);
}

.pm .pm__overlay .pm__inner a.btn-tulane {
  border-color: white;
  color: white;
  background-color: #255C4E;
  text-shadow: none;
  text-decoration: none;
}
.pm .pm__overlay .pm__inner a.btn-tulane:hover {
  border-color: #255C4E;
  background-color: white;
  color: #255C4E;
}

.pm--dark .pm__inner a:not(.btn-tulane):not(.btn-green) {
  color: #B9D7E8;
  text-decoration: underline;
  text-underline-offset: 2.5px;
}
.pm--dark .pm__inner a:not(.btn-tulane):not(.btn-green):hover {
  filter: brightness(1.375);
}

.pm--dark .pm__inner a.btn-tulane,
.pm--dark .pm__inner a.btn-green,
.pm--none .pm__inner a.btn-tulane,
.pm--none .pm__inner a.btn-green {
  color: inherit; /* or your button palette */
  text-decoration: none;
}

/* Dark/None overlays: any anchor with a class starting with "btn-" */
:is(.pm--dark, .pm--none, .pm--gradient) .pm__inner :is(a[class^="btn-"], a[class*=" btn-"]),
.pm .pm__overlay .pm__inner .has-bg {
  box-shadow:
    -1px 1px 0 0 rgba(0,0,0,.125),
     0   0   .5rem .1rem rgba(0,0,0,.325);
}

/* OVERRIDES */
/* Site-wide override — same fix: split :not()s, drop the complex selector */
.pm .pm__inner a:not(.btn-tulane):not(.btn-green) {
  color: #B9D7E8!important;
  font-weight: 600!important;
  padding: 0;
  margin: 0;
  text-decoration: underline;
}

.pm.pm--light .pm__inner a:not(.btn-tulane):not(.btn-green) { color: #00558C!important; }

/* honor reduce motion */
@media (prefers-reduced-motion: reduce) {
  [data-parallax] .pm__inner,
  [data-parallax] .pm__fit { transform: none !important; }
}

.pm h2 {
  font-family: "Bookmania", serif;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  font-size: 36px;
  line-height: 42px;
}
