#partner .pt-top { text-align: center; } #partner .pt-top .lead { margin: 0 auto; }
#partner .pt-stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; margin-top: 56px; }
#partner .pt-half { position: relative; transition: transform 1.1s cubic-bezier(.5,0,.2,1.25), opacity .8s; }
#partner .pt-spd { transform: translateX(-90px); opacity: 0; z-index: 2; }
#partner .pt-you { transform: translateX(90px); opacity: 0; }
#partner .pt-inner { height: 100%; padding: 40px 120px 40px 44px; background: linear-gradient(135deg, rgba(14,165,233,.22), rgba(15,34,56,.85)); border: 1px solid rgba(34,211,238,.3); border-right: 0; border-radius: 24px 0 0 24px; }
#partner .pt-you .pt-inner { padding: 40px 44px 40px 124px; background: linear-gradient(225deg, rgba(34,211,238,.12), rgba(19,41,74,.9)); border: 1px solid var(--line); border-left: 0; border-radius: 0 24px 24px 0;
  -webkit-mask: radial-gradient(circle 41px at 0 50%, transparent 40px, #000 41px); mask: radial-gradient(circle 41px at 0 50%, transparent 40px, #000 41px); }
#partner .pt-tab { position: absolute; right: -39px; top: 50%; width: 40px; height: 80px; margin-top: -40px; fill: rgba(16,52,84,.95); stroke: rgba(34,211,238,.3); stroke-width: 1; }
#partner .pt-who { display: flex; align-items: center; gap: 12px; font: 700 13px/1 var(--body); letter-spacing: .22em; text-transform: uppercase; color: var(--white); margin: 0 0 22px; }
#partner .pt-badge { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--cyan); color: #04121f; font: 700 13px/1 var(--head); letter-spacing: .06em; }
#partner .pt-b2 { background: transparent; color: var(--cyan); border: 1.5px dashed var(--cyan); }
#partner ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
#partner li { display: flex; gap: 12px; align-items: flex-start; font-size: 16.5px; line-height: 1.45; color: var(--text); }
#partner li i { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(34,211,238,.14); color: var(--cyan); margin-top: 1px; }
#partner li i svg { width: 13px; height: 13px; }
#partner .pt-seal { position: absolute; left: 50%; top: 50%; width: 184px; height: 184px; margin: -92px 0 0 -92px; z-index: 3; opacity: 0; transform: scale(.4) rotate(-40deg); transition: opacity .5s, transform .8s cubic-bezier(.3,1.5,.5,1); transition-delay: 1.05s; }
#partner .pt-seal > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
#partner .pt-ring { fill: #06182b; stroke: var(--cyan); stroke-width: 1.5; filter: drop-shadow(0 0 18px rgba(34,211,238,.55)); }
#partner .pt-core { fill: rgba(34,211,238,.1); stroke: rgba(34,211,238,.5); stroke-dasharray: 3 5; }
#partner .pt-arc { font: 700 13.2px var(--body); letter-spacing: .2em; fill: var(--cyan); }
#partner.run .pt-seal > svg { animation: pt-spin 30s linear infinite; }
@keyframes pt-spin { to { transform: rotate(360deg); } }
#partner .pt-seal-t { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 4px; text-align: center; color: var(--white); }
#partner .pt-seal-t svg { width: 24px; height: 24px; color: var(--cyan); }
#partner .pt-seal-t b { font: 700 17px/1.1 var(--head); }
#partner .pt-stage::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px; border-radius: 50%; z-index: 1; opacity: 0; box-shadow: 0 0 0 0 rgba(34,211,238,.9); }
#partner.play .pt-half { transform: none; opacity: 1; }
#partner.play .pt-seal { opacity: 1; transform: none; }
#partner.play.run .pt-stage::after { animation: pt-flash 1s ease-out 1s 1 both; }
@keyframes pt-flash { 0% { opacity: 1; box-shadow: 0 0 0 0 rgba(34,211,238,.9); } 100% { opacity: 0; box-shadow: 0 0 0 340px rgba(34,211,238,0); } }
#partner.fin * { transition: none !important; animation: none !important; }
@media (max-width: 900px) {
  #partner .pt-stage { grid-template-columns: 1fr; margin-top: 40px; }
  #partner .pt-spd { order: 0; transform: translateY(-60px); } #partner .pt-seal { order: 1; } #partner .pt-you { order: 2; transform: translateY(60px); }
  #partner .pt-inner, #partner .pt-you .pt-inner { padding: 28px 22px; border: 1px solid rgba(34,211,238,.3); border-radius: 22px; -webkit-mask: none; mask: none; }
  #partner .pt-you .pt-inner { border-color: var(--line); }
  #partner .pt-tab { display: none; }
  #partner .pt-seal { position: relative; left: auto; top: auto; width: 132px; height: 132px; margin: 24px auto; }
  #partner .pt-seal-t b { font-size: 13px; } #partner .pt-arc { font-size: 13px; }
  #partner li { font-size: 15.5px; }
}
@media (prefers-reduced-motion: reduce) { #partner * { transition: none !important; animation: none !important; } #partner .pt-half, #partner .pt-seal { transform: none; opacity: 1; } }
