.academy-testimonials{padding:74px 24px 60px;background:#fffdf8;color:#10283e;text-align:center;overflow:hidden}
.at-stage{max-width:1020px;margin:0 auto;display:grid}
.at-slide{margin:0 0 50px;display:flex;align-items:center;flex-direction:column}
.at-enhanced .at-slide{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transform:translateX(28px);transition:opacity 550ms ease,transform 650ms cubic-bezier(.22,.7,.2,1),visibility 550ms}
.at-enhanced .at-slide.is-active{opacity:1;visibility:visible;transform:none}
.at-portrait{display:block;width:120px;height:120px;padding:5px;border-radius:34% 30% 33% 28%;margin-bottom:30px;box-shadow:0 9px 24px #162b3c13;background:#152d46;transform:rotate(-3deg)}
.at-portrait--gold{background:linear-gradient(140deg,#efcf82,#aa7e30)}
.at-portrait img{display:block;width:100%;height:100%;object-fit:cover;border-radius:30% 27% 29% 25%;transform:rotate(3deg)}
.at-slide figcaption{display:flex;flex-direction:column;gap:8px}.at-slide figcaption strong{font:600 20px/1.3 Inter,sans-serif;letter-spacing:-.02em}.at-slide figcaption span{font:400 14px/1.5 Inter,sans-serif;color:#6b747c}
.at-slide blockquote{font:400 clamp(25px,2.65vw,34px)/1.3 'Instrument Serif',Georgia,serif;letter-spacing:-.012em;margin:24px 0 0;max-width:970px;text-wrap:pretty}
.at-dots{display:flex;justify-content:center;margin-top:66px;gap:0}.at-dots[hidden]{display:none}.at-dots button{width:24px;height:32px;padding:0 4px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.at-dots button span{display:block;width:12px;height:4px;border-radius:3px;background:#d5d5d2;transition:width 200ms,background 200ms}.at-dots button[aria-pressed=true] span{width:18px;background:#ad812b}.at-dots button:focus-visible{outline:2px solid #1b3b57;outline-offset:2px;border-radius:5px}
@media(max-width:700px){.academy-testimonials{padding:48px 25px 40px}.at-portrait{width:92px;height:92px;margin-bottom:22px;padding:4px}.at-slide figcaption strong{font-size:18px}.at-slide figcaption span{font-size:12px}.at-slide blockquote{font-size:26px;line-height:1.3;margin-top:20px}.at-dots{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.at-enhanced .at-slide,.at-dots button span{transition:none;transform:none}}
/* Ponte: gallery cards fly into a fan behind the portrait (academy-resources.js).
   The section sits above the gallery, so cards crossing the seam stay on top. */
.academy-testimonials{position:relative;z-index:2;overflow:visible;overflow-x:clip}
.at-bridge{position:absolute;left:0;top:0;width:100%;height:0;z-index:1;pointer-events:none;--am-width:304px;--am-height:228px}
.at-stage{position:relative;z-index:2}
.at-fly{position:absolute;left:0;top:0;transform-origin:50% 50%;will-change:transform}
.at-fly>.am-card{width:100%;height:100%;margin:0}
.at-fly .am-art,.at-fly .am-face{box-shadow:0 10px 22px -14px #0b263a8c,0 2px 6px #142f4414}
.at-bridge.is-landed .at-fly>.am-card{animation:at-settle .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes at-settle{0%{transform:translateY(-4px) rotate(-1.4deg)}100%{transform:none}}
.am-card--away{opacity:0;transition:opacity .18s ease}
@media(max-width:700px){.at-bridge{--am-width:220px;--am-height:165px}}
@media(prefers-reduced-motion:reduce){.at-bridge.is-landed .at-fly>.am-card{animation:none}}
/* Dots and the pause control share one row; every target is 44px. */
.at-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:58px}
.at-controls .at-dots{margin-top:0}
.at-dots button{width:36px;height:44px}
.at-pause{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #dcd2c1;border-radius:50%;background:transparent;color:#1b3b57;cursor:pointer;transition:border-color 200ms,background 200ms}
.at-pause:hover{border-color:#ad812b;background:#fbf6ea}
.at-pause[hidden]{display:none}
.at-pause svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.at-pause .at-pause-play{display:none;fill:currentColor;stroke:none}
.at-pause[data-state=paused] .at-pause-bars{display:none}
.at-pause[data-state=paused] .at-pause-play{display:block}
.at-pause:focus-visible{outline:2px solid #1b3b57;outline-offset:2px}
.at-stage{touch-action:pan-y}
@media(max-width:700px){.at-controls{margin-top:26px}}
