/* Eight original logos move over one upright, convex glass surface. */
.partner-logo-svg{display:block;width:100%;height:100%;overflow:hidden}
.home-partners{position:relative;isolation:isolate;overflow:hidden;background:#f1f4f4;padding-block:70px 34px;border-block:1px solid #e0e6e6;scroll-margin-top:104px}
.home-partners::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#fff 0%,#ffffffbb 38%,transparent 75%)}
.partner-city{position:absolute;inset:12% -2% 5%;z-index:-1;pointer-events:none;background:url('assets/partner-city-wireframe.png') center bottom/cover no-repeat;opacity:.38;mask-image:linear-gradient(transparent,#000 35%,#000 80%,transparent)}
.home-partners h2{font-size:clamp(34px,4vw,48px)}
.partner-section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:10px}
.partner-section-head .eyebrow{margin-bottom:14px;color:#77858b}
.partner-motion-button{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-height:44px;padding:9px 15px;background:#ffffff90;border:1px solid #ccd6d8;border-radius:3px;font-size:14px;color:#53656d;transition:border-color .2s,color .2s}
.partner-motion-button:hover{border-color:var(--accent);color:var(--accent)}
.partner-motion-button:disabled{opacity:.65;cursor:default}
.motion-symbol{font-size:15px;font-weight:600;line-height:1;width:14px;text-align:center}
.partner-display{position:relative;overflow:hidden;margin-inline:-48px;padding-inline:48px}
.partner-floor{display:none;position:absolute;left:8%;right:8%;bottom:5px;height:60px;border-radius:50%;background:radial-gradient(ellipse,#5a7e8f20,transparent 68%);filter:blur(10px);pointer-events:none}
.partner-stage{position:relative;overflow-x:auto;outline-offset:-5px;touch-action:auto;user-select:none;-webkit-user-select:none}
.partner-glass{display:none}
.partner-wall{display:grid;grid-auto-flow:column;grid-auto-columns:284px;gap:28px;padding-block:30px}
.partner-card{position:relative;min-width:0;background:#fff;padding:20px 23px;border:1px solid #fffffffa;border-radius:3px;box-shadow:0 8px 25px #50687209}
.partner-card-index{display:block;color:#8f9fa6;font-size:10px;letter-spacing:2px;line-height:1.4}
.partner-card-logo{position:relative;width:100%;height:98px;max-width:210px;margin:20px auto 16px;background:#fff;pointer-events:none}
.partner-card-caption{position:relative;min-height:44px;text-align:center}
.partner-card-caption h3{font-size:15px;line-height:1.45;font-weight:650;letter-spacing:.03em;color:#293b43}
.partner-card-caption p{font-size:13px;line-height:1.5;color:#809199;margin-top:3px}
.curtain-ready .partner-stage{height:430px;overflow:visible;touch-action:pan-y;perspective:1600px;perspective-origin:50% 50%;transform-style:preserve-3d;cursor:grab}
.curtain-ready .partner-floor{display:block}
.curtain-ready .partner-wall,.curtain-ready .partner-glass{display:block;position:absolute;inset:0;padding:0;transform-style:preserve-3d;pointer-events:none}
.curtain-ready .partner-card{position:absolute;left:50%;top:50%;width:var(--curtain-card-width);height:var(--curtain-card-height);padding:19px 25px;background:linear-gradient(120deg,#fffffffa,#fffffff2);border:1px solid #ffffff;box-shadow:0 14px 25px #637c8b10,0 0 0 8px #ffffff38,inset 0 0 0 1px #d1e0e340;backface-visibility:hidden;will-change:transform,opacity;pointer-events:auto}
.curtain-ready .partner-card::before{content:"";position:absolute;inset:-8px;border:1px solid #ffffffc9;box-shadow:0 0 0 1px #c2d9dd3b;pointer-events:none;border-radius:3px}
.curtain-ready .partner-card::after{content:"";position:absolute;left:20px;right:20px;bottom:12px;height:1px;background:linear-gradient(90deg,transparent,#9ebbc655,transparent);pointer-events:none}
.partner-glass-segment{position:absolute;left:50%;top:50%;border-top:2px solid #97c3ca9c;border-bottom:2px solid #97c3ca9c;border-left:1px solid #ffffff7a;background:linear-gradient(135deg,#ffffff50,#b8cdd21b 40%,#ffffff26 65%,#b5ced22e);box-shadow:inset 0 7px 0 #ffffff9a,inset 0 9px 0 #b9d2d544,inset 0 -7px 0 #ffffff9a,inset 0 -9px 0 #b9d2d544;backface-visibility:hidden;pointer-events:none}
.partner-glass-segment::after{content:"";position:absolute;inset:12px 0;background:linear-gradient(115deg,transparent 5%,#ffffffad 42%,#ffffff10 52%,transparent 72%);opacity:var(--glass-light,.2);animation:partner-glass-reflection 14s ease-in-out infinite;animation-play-state:paused}
.motion-active[data-motion=running] .partner-glass-segment::after{animation-play-state:running}
.partner-stage.is-dragging{cursor:grabbing}
.partner-display-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #cfdbdf88;padding-top:21px;color:#7e9199;font-size:10px;letter-spacing:1.7px}
.partner-display-footer p{font-size:12px;letter-spacing:.06em;color:#71858d}
.company-partner-note{margin-top:30px;max-width:950px;border-left:2px solid var(--accent);padding:4px 0 4px 22px}
.company-partner-note h2{font-size:18px;line-height:1.5;letter-spacing:0;margin-bottom:9px}
.company-partner-note p{font-size:16px;line-height:1.95;color:var(--muted)}
.company-partner-note .text-link{display:inline-block;font-size:14px;margin-top:14px}
@keyframes partner-glass-reflection{50%{opacity:.1}}
@media(max-width:1000px){.partner-display{margin-inline:-24px;padding-inline:24px}.partner-wall{grid-auto-columns:284px}}
@media(max-width:700px){.home-partners{padding-block:48px 28px;scroll-margin-top:120px}.home-partners h2{font-size:34px}.partner-section-head{align-items:center;gap:14px;margin-bottom:6px}.partner-section-head .eyebrow{font-size:11px;letter-spacing:1.7px}.partner-motion-button{padding:9px 11px;font-size:13px;gap:7px}.curtain-ready .partner-stage{height:366px;perspective:1300px}.curtain-ready .partner-card{padding:16px 21px}.partner-card-logo{height:90px;margin-block:18px 12px}.partner-card-caption h3{font-size:14px;letter-spacing:.01em}.partner-city{inset:18% -55% 5%;opacity:.32}.partner-display-footer{gap:14px;flex-wrap:wrap;padding-top:18px}.partner-display-footer p{order:3;width:100%;font-size:11px}.partner-wall{grid-auto-columns:232px;gap:20px}.partner-card{padding:15px 13px}.company-partner-note{margin-top:24px;padding-left:17px}.company-partner-note p{font-size:15px}.company-partner-note h2{font-size:17px}}
@media(max-width:390px){.home-partners h2{font-size:29px}.partner-display{margin-inline:-16px;padding-inline:16px}.partner-motion-button{font-size:12px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.partner-glass-segment::after{animation:none!important}.partner-card{will-change:auto}.partner-stage{cursor:default}.partner-display-footer p{letter-spacing:.04em}}
