/* partners page */
.pt{padding:128px 0 26px;text-align:center}
.pt h1{font-family:var(--disp);font-weight:400;font-size:clamp(36px,6vw,64px);line-height:1.06;max-width:20ch;margin:14px auto 0}
.pt p{max-width:54ch;margin:22px auto 0;font-size:18px;color:var(--muted)}
.partners{padding:40px 0 70px}
.partner{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center;padding:44px 0;border-top:1px solid var(--line)}
.partner:last-child{border-bottom:1px solid var(--line)}
.partner>div{min-width:0}
.logo-slot{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--disp);font-weight:400;color:var(--sage-deep);font-size:22px;letter-spacing:.03em;line-height:1.15}
.logo-slot img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.logo-slot.stack{flex-direction:column;gap:14px}
.logo-slot.stack img{width:100%;max-width:198px;height:auto;max-height:none}
.logo-slot.stack .lname{font-size:15px;letter-spacing:.08em;line-height:1.2}
.rel{display:block;font-family:var(--disp);font-size:12px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:8px}
.partner h3{font-family:var(--disp);font-size:27px;font-weight:400;line-height:1.1}
.partner p{color:var(--muted);font-size:16px;margin-top:12px;max-width:60ch}
.partner .who{font-family:var(--disp);font-size:15.5px;color:var(--sage-deep);margin-top:6px}
.portrait{width:100%;max-width:230px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:var(--tint)}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.creds span{font-family:var(--disp);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);background:var(--tint);border:1px solid var(--line);border-radius:100px;padding:6px 12px}
.platform{padding:16px 0 40px}
.plat{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;background:var(--tint);border:1px solid var(--line);border-radius:18px;padding:42px}
.plat-logo{background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:22px}
.plat-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.plat-body h3{font-family:var(--disp);font-size:32px;font-weight:400}
.plat-body p{color:var(--muted);font-size:16.5px;margin-top:12px;max-width:62ch}
.plat-body .inuse{color:var(--sage-deep);font-weight:500;font-size:15px;margin-top:14px}
.plat-body .link{display:inline-block;margin-top:16px;font-size:14.5px;color:var(--sage);border-bottom:1px solid var(--sage);padding-bottom:1px}
.final{text-align:center;padding:86px 0 96px;border-top:1px solid var(--line)}
.final h2{font-family:var(--disp);font-size:clamp(26px,4vw,42px);font-weight:400;line-height:1.1;max-width:22ch;margin:14px auto 0}
.final p{color:var(--muted);margin:16px auto 28px;max-width:46ch}
@media (max-width:820px){
  .pt{padding-top:112px}
  .partner{grid-template-columns:1fr;gap:20px;align-items:start;justify-items:start;padding:34px 0}
  .plat{grid-template-columns:1fr;gap:26px;padding:28px}
  .portrait{max-width:180px}
  .logo-slot{aspect-ratio:auto;max-width:220px;justify-content:flex-start;text-align:left}
  .logo-slot img{width:auto;max-height:92px}
  .logo-slot.stack{align-items:flex-start;gap:10px}
  .partner h3{font-size:24px}
}

/* 3D auto carousel, each card carries the partner's bio and logo */
.ring-sec{padding:6px 0 30px;overflow-x:clip}
.ring-stage{--w:430px;--h:390px;--r:520px;position:relative;height:470px;perspective:1400px;perspective-origin:50% 40%;outline-offset:6px;touch-action:pan-y;cursor:grab}
.ring-stage:active{cursor:grabbing}
.ring-spin{position:absolute;left:50%;top:36px;width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);transform-style:preserve-3d;transform:translateZ(calc(var(--r) * -1)) rotateY(var(--a,0deg))}
.pc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:26px 28px;background:#fff;border:1.5px solid var(--ink);border-radius:20px;backface-visibility:hidden;transform:rotateY(calc(var(--n) * var(--s,51.4deg))) translateZ(var(--r));transition:border-color .4s;box-shadow:0 14px 34px rgba(26,26,26,.09);user-select:none}
.pc.on{opacity:1;border-color:var(--sage)}
.pc-k{font-family:var(--disp);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);line-height:1.4}
.pc-lg,.pc-ph{display:flex;align-items:center;height:84px;margin:16px 0 14px}
.pc-lg img{max-height:84px;max-width:210px;object-fit:contain;display:block}
.pc-ph{width:84px;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:var(--tint)}
.pc-ph img{width:100%;height:100%;object-fit:cover;display:block}
.pc-gap{display:block;height:30px;flex:none}
.pc-txt{font-family:var(--disp);font-size:30px;line-height:1.05;color:var(--sage-deep)}
.pc h3{font-family:var(--disp);font-weight:400;font-size:25px;line-height:1.1}
.pc-r{font-family:var(--disp);font-size:14.5px;color:var(--sage-deep);margin-top:4px}
.pc p{color:var(--muted);font-size:15px;line-height:1.55;margin-top:10px}
.ring-floor{position:absolute;left:50%;bottom:8px;width:640px;height:90px;margin-left:-320px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(90,107,72,.22),rgba(90,107,72,0) 68%)}
.ring-ctl{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.ring-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;line-height:1}
.ring-btn:hover{background:var(--sage);border-color:var(--sage);color:#fff}
.ring-pp{height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--ink);background:#fff;font-family:var(--body);font-size:14px;cursor:pointer;color:var(--ink)}
.ring-pp:hover{background:var(--sage);border-color:var(--sage);color:#fff}
.ring-dots{display:flex;gap:9px}
.ring-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:.4s}
.ring-dots i.on{background:var(--sage);width:24px;border-radius:6px}
.ring-now{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.platform{padding:26px 0 40px}
.plat{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;background:var(--tint);border:1px solid var(--line);border-radius:18px;padding:42px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.plat-logo{background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:22px}
.plat-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.plat-body h3{font-family:var(--disp);font-size:32px;font-weight:400}
.plat-body p{color:var(--muted);font-size:16.5px;margin-top:12px;max-width:62ch}
.plat-body .inuse{color:var(--sage-deep);font-weight:500;font-size:15px;margin-top:14px}
.plat-body .link{display:inline-block;margin-top:16px;font-size:14.5px;color:var(--sage);border-bottom:1px solid var(--sage);padding-bottom:1px}
.rel{display:block;font-family:var(--disp);font-size:12px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:8px}
.final{text-align:center;padding:86px 0 96px;border-top:1px solid var(--line)}
.final h2{font-family:var(--disp);font-size:clamp(26px,4vw,42px);font-weight:400;line-height:1.1;max-width:22ch;margin:14px auto 0}
.final p{color:var(--muted);margin:16px auto 28px;max-width:46ch}
@media (max-width:820px){
  .ring-stage{--w:288px;--h:430px;--r:360px;height:500px}
  .ring-spin{top:26px}
  .ring-floor{width:380px;margin-left:-190px}
  .plat{grid-template-columns:1fr;gap:26px;padding:28px}
}
@media (prefers-reduced-motion:reduce){.ring-spin{transition:none}}