/* Shared supporter carousel. Source logos and labels remain individual links. */
#partners.partners-section{
  padding:76px 0 64px;margin:0;border-top:1px solid #e6ddeb;border-bottom:1px solid #e6ddeb;
  background:linear-gradient(140deg,#f9f4fc 0%,#f4fbfa 100%);color:#332056;
  font-family:"Noto Sans CJK HK","PingFang HK","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
}
#partners .partners-container{width:min(1320px,calc(100% - 80px));margin:0 auto;min-width:0}
#partners .partners-heading{max-width:1140px;margin:0 0 32px;padding:0;text-align:left}
#partners .partners-eyebrow{margin:0 0 14px;color:#00798b;font-size:.9rem;font-weight:800;letter-spacing:.04em;line-height:1.6}
#partners .partners-heading h2{margin:0 0 20px;font-size:clamp(1.65rem,2.9vw,2.15rem);font-weight:800;line-height:1.4;letter-spacing:-.025em;text-wrap:balance;color:#332056}
#partners .partners-intro{margin:0;max-width:1080px;color:#665674;font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
#partners .partners-track{
  position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);
  align-items:stretch;gap:20px;min-width:0;width:100%;margin:0;padding:4px 0 14px;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#b0c9c9 transparent;
  touch-action:pan-x pan-y pinch-zoom;cursor:grab;-webkit-overflow-scrolling:touch;
}
#partners .partner-logo-card{
  display:grid;grid-template-rows:96px 1fr;align-items:start;gap:18px;min-width:0;min-height:230px;
  height:100%;margin:0;padding:24px 20px;border:1px solid #ded5e7;border-radius:22px;
  background:#fff;color:#332056;text-align:center;text-decoration:none;scroll-snap-align:start;
  box-shadow:0 6px 20px #33205606;user-select:none;-webkit-user-select:none;
  transition:border-color .18s,box-shadow .18s;
}
#partners .partner-logo-card>img{display:block;align-self:center;width:100%;height:96px;max-width:100%;min-width:0;margin:0;padding:0;aspect-ratio:3/1;object-fit:contain;object-position:center;border:0;border-radius:0;pointer-events:none}
#partners .partner-logo-card>span{display:block;width:100%;margin:0;padding:0;align-self:start;color:#514260;font-size:.9rem;font-weight:650;line-height:1.65;letter-spacing:0;overflow-wrap:anywhere}
#partners .partner-logo-card:hover{border-color:#00798b;box-shadow:0 8px 24px #00798b13;text-decoration:none}
#partners .partners-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
#partners .partners-track.is-dragging .partner-logo-card{cursor:grabbing;transition:none}
#partners .partners-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px auto 0;padding:0}
#partners [hidden]{display:none!important}
#partners .partners-arrow,#partners .partners-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;padding:0;border:1px solid #c5b8d1;border-radius:50%;background:#fff;color:#332056;font:inherit;font-size:.9rem;font-weight:750;line-height:1.4;cursor:pointer}
#partners .partners-arrow{font-size:1.25rem}
#partners .partners-arrow:hover,#partners .partners-toggle:hover{background:#332056;color:#fff;border-color:#332056}
#partners .partners-toggle [data-partners-toggle-label]{display:none}
#partners .partners-toggle::before{content:"Ⅱ";font-size:1rem;line-height:1}
#partners .partners-toggle[aria-pressed=true]::before{content:"▶";font-size:.75rem}
#partners .partners-counter{min-width:92px;padding:0 4px;text-align:center;font-size:.85rem;font-weight:750;line-height:1.5;color:#665674;font-variant-numeric:tabular-nums}
#partners .partners-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
#partners :focus-visible{outline:3px solid #00798b;outline-offset:3px}
#partners .partners-track:focus-visible{outline-offset:4px;border-radius:8px}
#partners .partner-logo-card:focus-visible{outline-offset:-4px;border-color:#00798b}
@media(max-width:1160px){#partners .partners-container{width:calc(100% - 56px)}#partners .partners-track{grid-auto-columns:calc((100% - 40px)/3)}}
@media(max-width:850px){#partners.partners-section{padding:56px 0 48px}#partners .partners-container{width:calc(100% - 40px)}#partners .partners-track{grid-auto-columns:calc((100% - 20px)/2)}#partners .partners-heading{margin-bottom:26px}}
@media(max-width:540px){#partners.partners-section{padding:46px 0 40px}#partners .partners-container{width:calc(100% - 36px)}#partners .partners-track{grid-auto-columns:86%;gap:16px}#partners .partner-logo-card{padding:24px 18px;min-height:226px}#partners .partners-controls{gap:8px;margin-top:20px}#partners .partners-counter{min-width:70px;font-size:.8rem}}
@media(max-width:360px){#partners .partners-container{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){#partners .partner-logo-card{transition:none}#partners .partners-track{scroll-behavior:auto}}
@media(forced-colors:active){#partners.partners-section,#partners .partner-logo-card{background:Canvas;color:CanvasText}#partners .partner-logo-card,#partners .partners-arrow,#partners .partners-toggle{border:1px solid ButtonText}#partners .partners-eyebrow,#partners .partners-intro,#partners .partners-heading h2,#partners .partner-logo-card>span{color:CanvasText}}
@media print{#partners.partners-section{background:#fff;padding:30px 0}#partners .partners-container{width:100%}#partners .partners-track{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;gap:12px}#partners .partner-logo-card{break-inside:avoid;min-height:0;padding:14px;grid-template-rows:65px 1fr}#partners .partner-logo-card>img{height:65px}#partners .partners-controls{display:none!important}}
