:is(.frame-facets, .frame-option) :is(.program-card, .founder-photo) {
  position: relative;
  isolation: isolate;
  padding: 1px;
  border: 0;
  background: var(--frame-outline);
  clip-path: var(--frame-shape);
}

:is(.frame-facets, .frame-option) :is(.program-card, .founder-photo)::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1px;
  background: #201b16;
  clip-path: var(--frame-shape);
}

:is(.frame-facets, .frame-option) .program-photo { clip-path: var(--frame-top); }
:is(.frame-facets, .frame-option) .founder-photo img { clip-path: var(--frame-shape); }

.frame-facets :is(.program-card, .founder-photo) {
  --cut: 19px;
  --frame-shape: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut),
    100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%,
    0 calc(100% - var(--cut)), 0 var(--cut));
  --frame-top: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 var(--cut));
  --frame-edge: #66462d;
  --frame-outline: radial-gradient(ellipse at top left, #f6a651, transparent 32%),
    radial-gradient(ellipse at top right, #bd752f, transparent 28%),
    radial-gradient(ellipse at bottom left, #bd752f, transparent 28%),
    radial-gradient(ellipse at bottom right, #f6a651, transparent 32%), var(--frame-edge);
}

.frame-facets .founder-photo { --cut: 34px; }

.frame-facets:not(.frame-option) :is(.program-card, .founder-photo) {
  background: linear-gradient(114deg, transparent 45%, #ffe0b6a8 50%, transparent 55%)
    100% 50% / 280% 100% no-repeat, var(--frame-outline);
}

.frame-facets:not(.frame-option) .program-card:focus-within {
  --frame-edge: #b4773e;
}

@media (max-width: 520px) {
  .frame-facets .founder-photo { --cut: 26px; }
}

@media (prefers-reduced-motion: no-preference) {
  .frame-facets:not(.frame-option) .program-card:is(.frame-intro, :focus-within) {
    animation: frame-glint 1.45s ease-out;
  }

  @media (hover: hover) {
    .frame-facets:not(.frame-option) :is(.program-card, .founder-photo):hover {
      animation: frame-glint 1.45s linear infinite;
    }
  }
}

@keyframes frame-glint {
  to { background-position: 0% 50%, center, center, center, center; }
}
