/* Growth page: horizontal leaderboard, moving student gallery, and visible stages. */
.growth-page{background:radial-gradient(circle at 95% 8%,#dffbff 0,transparent 26%),radial-gradient(circle at 8% 45%,#ebe3ff 0,transparent 30%)}
.growth-page .page-hero{margin-bottom:20px}
.growth-page .page-title{color:#27215f}
.growth-page .page-lead{max-width:760px;font-size:18px;line-height:1.75}
.growth-page .section-label{margin-top:42px;margin-bottom:17px}
.growth-page .section-label h2{font-size:31px;color:#2c236b}
.growth-page .section-label p{font-size:15px;line-height:1.6}
.growth-page .eyebrow{color:#7160d8}
.growth-page .eyebrow:before{background:#7160d8}
.growth-page .demo-tag{background:#eee8ff;border-color:#cbbdff;color:#604bcc;font-size:13px}

.growth-page .leaderboard{border:3px solid #73cafa;border-radius:18px;background:#102fac;box-shadow:0 18px 34px #4e70d12c;overflow:hidden}
.growth-page .leaderboard:before{height:5px;background:linear-gradient(90deg,#19e5ef,#7ac6ff,#ffcd6b,#fb805a)}
.growth-page .leaderboard-title{min-height:76px;background:linear-gradient(100deg,#0c49cc,#166ce3 58%,#594ed1);padding:14px 24px}
.growth-page .leaderboard-title strong{font-size:25px}
.growth-page .board-signal{font-size:12px;color:#e8ffff;padding:8px 11px}
.board-head,.board-columns{display:grid;grid-template-columns:15% repeat(3,minmax(0,1fr))}
.board-head{background:#102ca7;color:#e7f7ff;font-size:16px;font-weight:800;text-align:center;letter-spacing:.05em;border-top:1px solid #8ce9ff70;border-bottom:1px solid #8ce9ff70}
.board-head span{padding:14px 8px;border-left:1px solid #b1d5ff3d}
.board-head span:first-child{text-align:left;padding-left:20px;border-left:0}
.board-rail,.board-contender{display:grid;grid-template-rows:76px 76px 76px 76px 74px;min-width:0}
.board-rail{background:#0a3ab8;color:#c8ebff;font-size:15px;font-weight:800}
.board-rail span{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #b5dcff46}
.board-contender{color:white;border-left:1px solid #cbe6ff4c;background:linear-gradient(180deg,#1657d2,#1042bb);transition:filter .2s,transform .2s}
.board-contender:nth-child(odd){background:linear-gradient(180deg,#1e67dc,#1650c6)}
.board-contender:hover{filter:brightness(1.15);transform:translateY(-2px)}
.board-person,.board-metric{display:flex;align-items:center;gap:12px;padding:10px 15px;border-bottom:1px solid #b5dcff46;min-width:0}
.board-person strong{display:block;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-person small{display:block;margin-top:2px;font-size:12px;color:#c4e4ff}
.board-person .medal{width:44px;height:44px;flex:none;font-size:20px}
.board-metric{justify-content:center;flex-direction:column;align-items:flex-start;gap:3px}
.board-metric span{font-size:11px;color:#c3e9ff;display:none}
.board-metric strong{font-size:15px;line-height:1.35;font-weight:700}
.board-metric em{font-size:12px;font-style:normal}
.board-minutes strong{font-size:27px;color:#fff}
.board-points strong{font-size:24px;color:#ffe7a3}
.growth-page .data-caption{font-size:13px;color:#66768e}

.growth-page .roster-gallery{background:linear-gradient(150deg,#b9eaff,#e4f9ff 65%,#eee8ff);border:2px solid #91c1f0;border-radius:20px;box-shadow:0 16px 34px #6e7cde24}
.growth-page .roster-gallery-top{background:linear-gradient(100deg,#318bd8,#63b9ee 60%,#827be7);min-height:72px;padding:16px 25px;font-size:15px;letter-spacing:.06em}
.roster-gallery-top strong{font-size:25px;letter-spacing:.08em}
.growth-page .roster-window{padding:26px 0 30px}
.growth-page .roster-set{gap:16px;padding-right:16px}
.growth-page .roster-poster{width:235px;height:226px;border:3px solid #4f8bd7;border-radius:10px;background:#fff;box-shadow:0 6px 0 #8fbee7,0 12px 24px #386ca938}
.growth-page .roster-poster:nth-child(3n+2){border-color:#9b7ee8}
.growth-page .roster-poster:nth-child(3n){border-color:#f2a066}
.growth-page .poster-top{height:162px;background:linear-gradient(135deg,#c6f6ff,#a9d7fb 55%,#d6c3ff);display:flex;flex-direction:column;align-items:center;justify-content:center}
.growth-page .roster-poster:nth-child(3n+2) .poster-top{background:linear-gradient(135deg,#e3cfff,#c3e8ff)}
.growth-page .roster-poster:nth-child(3n) .poster-top{background:linear-gradient(135deg,#ffe1bf,#d7daff)}
.growth-page .poster-number{top:10px;left:12px;color:#557a9b;font-size:10px}
.poster-placeholder{font-size:36px;font-weight:800;letter-spacing:.08em;color:#2369a1;position:relative;z-index:1}
.poster-image-note{font-size:11px;color:#52799e;position:relative;z-index:1;margin-top:8px}
.growth-page .poster-bottom{height:62px;padding:8px 12px}
.growth-page .poster-bottom strong{font-size:17px}
.growth-page .poster-bottom small{font-size:12px}
.growth-page .roster-gallery-bottom{background:#ffffff8f;padding:13px 20px;color:#376b91;font-size:13px}
.growth-page .roster-gallery-bottom button{background:#705de1;font-size:13px}
.growth-page .marquee-control{background:#eee9ff;border-color:#c9baff;color:#5846ca;font-size:13px}

.growth-page .ladder{gap:12px;align-items:end;margin-top:30px}
.growth-page .step{display:flex;flex-direction:column;min-height:270px;padding:20px 17px;border:2px solid #b9a8eb;border-radius:16px 16px 6px 6px;background:linear-gradient(160deg,#f4edff,#e8f7ff);box-shadow:0 8px 0 #a9b7ed,0 15px 25px #746bc42c;overflow:visible}
.growth-page .step:nth-child(1){min-height:270px;border-color:#abdef2}
.growth-page .step:nth-child(2){min-height:305px;border-color:#9cccf0}
.growth-page .step:nth-child(3){min-height:340px;border-color:#b5b5ef}
.growth-page .step:nth-child(4){min-height:375px;border-color:#c4a3ed}
.growth-page .step:nth-child(5){min-height:410px;border-color:#ddaddf;background:linear-gradient(160deg,#fbeafa,#eee9ff)}
.growth-page .step:before{height:6px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#35cbd4,#7968e9,#ffaf73)}
.growth-page .step-no{font-size:13px;color:#6652c7;font-weight:800;letter-spacing:.11em}
.growth-page .step h3{font-size:21px;color:#2a397c;margin:14px 0 9px}
.growth-page .step p{font-size:13px;color:#546987;min-height:0;line-height:1.7}
.growth-page .step-members{margin-top:auto;padding-top:15px;border-color:#bdc8e9}
.growth-page .step-members a{font-size:13px;font-weight:700;color:#5142a7;background:#fff;border-color:#c8b9ed;padding:7px 9px;margin:0 5px 7px 0}
.growth-page .step-members a:hover{background:#ede7ff;border-color:#725ce0}
.growth-page .step-empty{font-size:13px;color:#7b8fa6}
.growth-page .step-foot{position:static;align-self:flex-end;color:#8f86ba;font-size:11px;margin-top:8px}
.growth-page .ladder-caption{font-size:13px}

@media(max-width:1050px){.board-head,.board-columns{grid-template-columns:13% repeat(3,minmax(0,1fr))}.board-person,.board-metric{padding:9px}.board-rail span{padding:8px;font-size:13px}.board-person strong{font-size:16px}.board-metric strong{font-size:13px}.board-minutes strong{font-size:22px}.board-points strong{font-size:20px}.growth-page .step{padding:17px 12px}.growth-page .step h3{font-size:18px}.growth-page .step p{font-size:11px}.growth-page .step-members a{font-size:11px}}
@media(max-width:760px){.growth-page .page-lead{font-size:16px}.growth-page .section-label h2{font-size:25px}.growth-page .section-label p{font-size:14px}.growth-page .leaderboard-title strong{font-size:19px}.growth-page .board-head,.growth-page .board-rail{display:none}.growth-page .board-columns{display:grid;grid-template-columns:1fr}.growth-page .board-contender{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;background:#1453d1;padding:10px 14px;border-left:0;border-bottom:1px solid #90cdff}.growth-page .board-contender:nth-child(odd){background:#1b66db}.growth-page .board-person{grid-column:1 / -1;padding:7px 0 13px}.growth-page .board-metric{min-height:62px;padding:8px 4px;border-bottom:1px solid #aad9ff4f}.growth-page .board-metric span{display:block}.growth-page .board-metric strong{font-size:13px}.growth-page .board-minutes strong{font-size:23px}.growth-page .board-points strong{font-size:19px}.growth-page .roster-gallery-top{min-height:58px}.roster-gallery-top strong{font-size:19px}.growth-page .roster-poster{width:190px;height:194px}.growth-page .poster-top{height:132px}.poster-placeholder{font-size:29px}.growth-page .ladder{display:flex;flex-direction:column;align-items:stretch;gap:12px}.growth-page .step,.growth-page .step:nth-child(n){min-height:0;margin-left:0;padding:18px 20px}.growth-page .step:nth-child(2){margin-left:7px}.growth-page .step:nth-child(3){margin-left:14px}.growth-page .step:nth-child(4){margin-left:21px}.growth-page .step:nth-child(5){margin-left:28px}.growth-page .step p{font-size:13px}.growth-page .step-members{margin-top:15px}.growth-page .step-members a{font-size:13px}}
@media(max-width:470px){.growth-page .leaderboard-title{padding:13px}.growth-page .board-signal{font-size:10px}.growth-page .leaderboard-title strong{font-size:17px}.growth-page .roster-gallery-top span{font-size:11px}.growth-page .roster-gallery-bottom{gap:7px;font-size:11px}.growth-page .roster-gallery-bottom button{font-size:11px;padding:8px}.growth-page .section-label{display:block}.growth-page .section-label>.demo-tag,.growth-page .section-label>.marquee-control{margin-top:12px}.growth-page .eyebrow{font-size:11px;letter-spacing:1px}.growth-page .marquee-control{white-space:nowrap;font-size:11px;padding:7px}}
