.portal-card-stage-card[data-card-presentation-host] figcaption { z-index: 2; }
.card-presentation-video {
  position: absolute;
  inset: calc(var(--portal-card-frame, 5px) + 1px);
  width: calc(100% - 2 * (var(--portal-card-frame, 5px) + 1px));
  height: calc(100% - 2 * (var(--portal-card-frame, 5px) + 1px));
  object-fit: cover;
  object-position: 50% 20%;
  border-radius: 5px;
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
  z-index: 1;
}
.card-presentation-video.is-visible { opacity: 1; }
.card-presentation-controls {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  z-index: 4;
  font-size: 11px;
}
.card-presentation-controls button {
  font: inherit;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 12px;
  background: #10231e;
  color: #d8cba9;
  cursor: pointer;
}
.card-presentation-controls a { color: #cab78b; text-decoration: underline; text-underline-offset: 3px; }
.card-presentation-controls button[hidden] { display: none; }
.card-mobile-review { display: none; }
.card-presentation-controls button:focus-visible { outline: 2px solid #dcad68; outline-offset: 3px; }
.public-portal main > .presentation-review {
  --presentation-height: clamp(160px, calc(100svh - 400px), 460px);
  box-sizing: border-box;
  inline-size: 100%;
  max-width: none;
  margin: 0;
  padding: 24px max(24px, calc((100% - 1100px) / 2));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.presentation-review h1 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; margin: 12px 0 8px; }
.presentation-review .portal-kicker { margin: 0; }
.presentation-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.presentation-review article { inline-size: min(100%, 350px); margin-inline: auto; text-align: center; }
.presentation-review video,
.presentation-review article img { display: block; width: min(100%, calc(var(--presentation-height) * 2 / 3)); margin-inline: auto; height: auto; aspect-ratio: 2 / 3; object-fit: cover; background: #0b1916; border: 1px solid #947344; border-radius: 10px; }
.presentation-review h2 { font-size: clamp(18px, 1.7vw, 24px); line-height: 1.2; margin: 0 0 8px; }
.presentation-review p { color: #a7b6ac; font-size: 13px; margin: 8px 0; }
@media(max-width:680px) {
  .card-mobile-review { display: inline-flex; }
  .public-portal main > .presentation-review { padding: 25px 20px 36px; justify-content: flex-start; }
  .presentation-review-grid { grid-template-columns: 1fr; gap: 32px; }
  .presentation-review article { inline-size: min(100%, 350px); }
  .presentation-review video, .presentation-review article img { width: 100%; }
}
@media(prefers-reduced-motion:reduce) { .card-presentation-video { transition: none; } }
