:root{
  --ph-blue: #003661;
  --ph-turq: #00a7b5;
}

.ph-logo-fallback{
  font-weight:900;
  color:var(--ph-blue);
  text-align:center;
}

/* Partner Circle */
.ph-partner-circle{
  position: relative !important;
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  max-width: var(--ph-maxw, 980px);
  overflow: visible !important;
  background: radial-gradient(circle at center, rgba(0,167,181,0.10) 0%, rgba(0,167,181,0.28) 41%, transparent 50%);
  border-radius: 999px;
  z-index: 1 !important;
}
.ph-partner-center{
  position:absolute !important;
  left:50%;
  top:50%;
  width: calc(var(--ph-center-pct, 56) * 1%);
  height: calc(var(--ph-center-pct, 56) * 1%);
  transform: translate(-50%,-50%);
  border-radius: 999px;
  background: var(--ph-blue);
  box-shadow: 0 18px 60px rgba(0,0,0,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10%;
  color: #fff;
  z-index: 2 !important;
  box-sizing: border-box;
}
.ph-center-stack{ position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; }
.ph-center-logo{ max-width:46%; max-height:46%; width:auto; height:auto; display:block; opacity:1; transition: opacity .15s ease; }
.ph-center-info{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:8%; opacity:0; transform:translateY(4px); transition: opacity .15s ease, transform .15s ease; box-sizing:border-box; }
.ph-center-title{ font-weight:800; letter-spacing:.2px; font-size:clamp(16px,2vw,24px); line-height:1.1; }
.ph-center-text{ font-size:clamp(12px,1.2vw,14px); line-height:1.35; opacity:.95; }
.ph-center-cta{ margin-top:4px; font-weight:800; font-size:12px; padding:9px 12px; border-radius:999px; border:1px solid rgba(0,167,181,.9); background:rgba(0,167,181,.14); color:#fff; cursor:pointer; display:none; }
.ph-partner-circle.is-active .ph-center-logo{ opacity:0; }
.ph-partner-circle.is-active .ph-center-info{ opacity:1; transform:translateY(0); }
.ph-partner-circle.is-active .ph-center-cta{ display:inline-flex; }
.ph-orbit{ position:absolute !important; left:50% !important; top:50% !important; width:0; height:0; z-index:3 !important; }
.ph-orbit-item{ --n:1; --i:0; --start:-90; position:absolute; left:0; top:0; transform: rotate(calc((var(--start) * 1deg) + (360deg / var(--n) * var(--i)))) translateY(calc(var(--ph-orbit-r, 260px) * -1)) rotate(calc((var(--start) * -1deg) + (-360deg / var(--n) * var(--i)))); transform-origin:0 0; }
.ph-orbit-link{ position:relative; display:block; width:0; height:0; text-decoration:none; outline:none; }
.ph-orbit-badge{ position:absolute; left:0; top:0; transform:translate(-50%,-50%); width:var(--ph-badge-d,110px); height:var(--ph-badge-d,110px); border-radius:999px; background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)), #676767; box-shadow:0 14px 46px rgba(0,167,181,.14); border:3px solid rgba(0,167,181,.45); display:flex; align-items:center; justify-content:center; padding:24%; box-sizing:border-box; overflow:hidden; transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease; z-index:1 !important; }
.ph-orbit-link:hover .ph-orbit-badge,
.ph-orbit-link:focus-visible .ph-orbit-badge{ border-color:rgba(0,54,97,.95); transform:translate(-50%,-50%) scale(1.06); box-shadow:0 18px 60px rgba(0,0,0,.18); }
.ph-orbit-logo{ width:100%; height:100%; object-fit:contain; display:block; transform:scale(.69); }
.ph-orbit-name{ display:none !important; }

/* Partner Carousel */
.ph-partner-carousel{ --ph-c-perview:4; --ph-c-gap:22px; --ph-c-badge:110px; position:relative; width:100%; max-width:var(--ph-c-maxw,1200px); margin:0 auto; overflow:hidden; padding:8px 0; }
.ph-partner-carousel::before,
.ph-partner-carousel::after{ content:""; position:absolute; top:0; bottom:0; width:70px; pointer-events:none; z-index:5; background:linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0)); }
.ph-partner-carousel::before{ left:0; }
.ph-partner-carousel::after{ right:0; left:auto; transform:scaleX(-1); }
.ph-partner-carousel-viewport{ overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scroll-behavior:auto; scrollbar-width:none; touch-action:pan-y; }
.ph-partner-carousel-viewport::-webkit-scrollbar{ display:none; }
.ph-partner-carousel-track{ display:flex; align-items:center; gap:var(--ph-c-gap); width:max-content; padding:6px 70px; }
.ph-partner-carousel-item{ flex:0 0 auto; width:calc((var(--ph-c-vw, 1000px) - 140px - (var(--ph-c-gap) * (var(--ph-c-perview) - 1))) / var(--ph-c-perview)); min-width:calc(var(--ph-c-badge) + 18px); max-width:none; }
.ph-partner-carousel-link{ display:flex; align-items:center; justify-content:center; text-decoration:none; outline:none; cursor:pointer; }
.ph-carousel-badge{ width:var(--ph-c-badge); height:var(--ph-c-badge); border-radius:999px; background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)), #676767; border:3px solid rgba(0,167,181,.45); box-shadow:0 14px 46px rgba(0,167,181,.14); display:flex; align-items:center; justify-content:center; padding:2%; box-sizing:border-box; overflow:hidden; transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease; }
.ph-partner-carousel-link:hover .ph-carousel-badge,
.ph-partner-carousel-link:focus-visible .ph-carousel-badge{ border-color:rgba(0,54,97,.95); transform:scale(1.05); box-shadow:0 18px 60px rgba(0,0,0,.18); }
.ph-carousel-logo{ width:100%; height:100%; object-fit:contain; display:block; transform:scale(.75); }
.ph-partner-carousel.is-paused .ph-partner-carousel-viewport{ cursor:grab; }
.ph-partner-carousel.is-dragging .ph-partner-carousel-viewport{ cursor:grabbing; }

@media (max-width:900px){
  .ph-partner-carousel{ --ph-c-perview:3 !important; --ph-c-badge:76px !important; --ph-c-gap:16px !important; }
}
@media (max-width:640px){
  .ph-center-text{ font-size:8px; }
  .ph-center-logo{ max-width:58%; max-height:58%; }
  .ph-orbit-logo{ transform:scale(.80); }
  .ph-orbit-badge{ min-width:56px; min-height:56px; padding:24%; }
  .ph-partner-carousel{ --ph-c-perview:2 !important; --ph-c-badge:66px !important; --ph-c-gap:14px !important; --ph-c-speed:45 !important; }
  .ph-partner-carousel::before,
  .ph-partner-carousel::after{ width:40px; }
  .ph-partner-carousel-track{ padding:6px 40px; }
}
