/* The official partner artwork is shown intact. Only its transparent canvas
   is cropped by a viewport, so the supplied PNG remains unmodified. */
.closing-partners,
.closing-partners .canvas {
  color: #f1eff0;
  background: #04080e;
}
.closing-partners .canvas {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}
/* A hairline glint follows the exact alpha edges of the original marks.
   Static SVG masks limit the light; only the highlight itself moves. */
.ending-topline,
.ending-partners,
.ending-copy,
.ending-footer { z-index: 1; }
.ending-edge {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-mode: alpha;
}
.ending-edge-sme {
  left: -.398406%;
  top: -.980392%;
  width: 100.796813%;
  height: 101.960784%;
  -webkit-mask-image: url('../assets/logos/logo-edge-mask.svg');
  mask-image: url('../assets/logos/logo-edge-mask.svg');
}
.ending-edge-talk4you {
  left: -.284293%;
  top: -1.860465%;
  width: 100.568586%;
  height: 103.720930%;
  -webkit-mask-image: url('../assets/logos/talk4you-edge-mask.svg');
  mask-image: url('../assets/logos/talk4you-edge-mask.svg');
}
.ending-edge::after {
  content: "";
  position: absolute;
  left: 0;
  top: -40%;
  width: 32%;
  height: 180%;
  background: linear-gradient(105deg, transparent 20%, #c8d7e950 40%, #ffffff 50%, #d7e1f095 59%, transparent 80%);
  transform: translate3d(-110%, 0, 0);
  opacity: 0;
  animation: ending-edge-glint 12s linear infinite both;
  animation-play-state: paused;
}
.ending-edge-talk4you::after { animation-delay: 3.8s; }
.closing-partners.is-visible .ending-edge::after { animation-play-state: running; }
.closing-partners.is-near .ending-edge::after { will-change: transform, opacity; }
@keyframes ending-edge-glint {
  0% { transform: translate3d(-110%, 0, 0); opacity: 0; }
  5% { opacity: .86; }
  36% { opacity: .86; }
  43%, 100% { transform: translate3d(325%, 0, 0); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ending-edge { display: none; }
  .ending-edge::after { animation: none; will-change: auto; }
}
@media print {
  .ending-edge { display: none; }
}
.ending-topline {
  position: absolute;
  top: 9%;
  left: 7%;
  right: 7%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #c0c4c9;
  font-size: clamp(9px, .72cqw, 13px);
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
}
.ending-topline span:first-child::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #ef5d0c;
  border-radius: 50%;
  margin: 0 10px 2px 0;
}
.ending-partners {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 49%;
  transform: translateY(-50%);
  display: grid;
  grid-template-columns: .8fr 8cqw 1.15fr;
  align-items: center;
  justify-items: center;
  gap: 2cqw;
}
.ending-mark {
  position: relative;
  width: 100%;
  min-width: 0;
}
.ending-sme {
  width: min(100%, 26cqw);
  justify-self: center;
}
.ending-sme img {
  width: 100%;
  height: auto;
}
.ending-separator {
  position: relative;
  width: 1px;
  height: 12cqw;
  max-height: 180px;
  background: linear-gradient(transparent, #f1eff040 30%, #f1eff040 70%, transparent);
}
.ending-talk4you {
  width: 100%;
  max-width: 43cqw;
}
.partner-talk4you-mark {
  position: relative;
  width: 100%;
  aspect-ratio: 1407 / 215;
  overflow: hidden;
}
.partner-talk4you-mark img {
  position: absolute;
  width: 106.609808%;
  height: auto;
  max-width: none;
  left: -3.198294%;
  top: -284.186047%;
}
.ending-copy {
  position: absolute;
  top: 72%;
  left: 12%;
  right: 12%;
  text-align: center;
}
.ending-copy p {
  font-size: clamp(12px, 1.02cqw, 19px);
  font-weight: 400;
  letter-spacing: .01em;
  color: #c0c4c9;
  line-height: 1.6;
}
.ending-copy .ending-edition {
  display: block;
  margin-top: 1.3cqw;
  font-size: clamp(8px, .58cqw, 11px);
  font-weight: 700;
  letter-spacing: .2em;
  color: #6c737e;
}
.ending-footer {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 6%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-top: 1.6cqw;
  border-top: 1px solid #ffffff12;
  color: #79818d;
  font-size: clamp(8px, .58cqw, 11px);
  letter-spacing: .12em;
  line-height: 1.5;
}
@media (max-width: 700px) and (orientation: portrait) {
  .ending-topline { top: 6%; font-size: 8px; letter-spacing: .09em; }
  .ending-topline span:last-child { text-align: right; }
  .ending-partners {
    left: 12%;
    right: 12%;
    top: 43%;
    grid-template-columns: 1fr;
    grid-template-rows: auto 34px auto;
    gap: 6cqw;
  }
  .ending-sme { width: 45cqw; }
  .ending-separator {
    width: 36cqw;
    height: 1px;
    align-self: center;
    background: linear-gradient(90deg, transparent, #f1eff040 30%, #f1eff040 70%, transparent);
  }
  .ending-talk4you { width: 74cqw; max-width: 100%; }
  .ending-copy { top: 75%; left: 8%; right: 8%; }
  .ending-copy p { font-size: 12px; }
  .ending-copy .ending-edition { margin-top: 4cqw; font-size: 8px; }
  .ending-footer { bottom: 5%; padding-top: 5cqw; font-size: 7px; letter-spacing: .06em; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .ending-topline { top: 7%; }
  .ending-partners { top: 47%; }
  .ending-sme { width: 22cqw; }
  .ending-copy { top: 72%; }
  .ending-copy .ending-edition { display: none; }
  .ending-footer { bottom: 4%; padding-top: 1cqw; }
}
