/* Bounded platform showcase: oversized devices, black rounded stage, short white copy. */
.program-platform-section{background:#F7FAFF;padding:0 24px 86px;overflow:hidden;color:#030813}
.program-platform-shell{max-width:1200px;margin-inline:auto}
.program-platform-panel{position:relative;isolation:isolate;min-height:580px;aspect-ratio:1140/558;background:#000000;border-radius:42px;overflow:hidden}
.program-platform-art{position:absolute;direction:ltr;left:-2%;top:0;width:104%;aspect-ratio:16/9;z-index:0}
.program-platform-canvas{position:absolute;left:0;top:0;transform-origin:0 0}
.program-platform-base{position:absolute;left:0;top:0;max-width:none;display:block;pointer-events:none}
.program-platform-screen{position:absolute;left:0;top:0;display:block;width:960px;height:600px;overflow:hidden;background:#222222;transform-origin:0 0;visibility:hidden;z-index:1;transition:filter .4s,opacity .4s}
.program-platform-screen img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;max-width:none}
.platform-ready .program-platform-screen{visibility:visible}
.program-platform-screen:focus-visible{outline:6px solid #1E8BFF;outline-offset:-6px}
.program-platform-panel:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 15%,#0000000A 32%,#000000BA 58%,#000000 73%)}
.program-platform-panel[data-view=classroom] .program-platform-community{filter:brightness(.35)}
.program-platform-panel[data-view=community] .program-platform-classroom{filter:brightness(.35)}
.program-platform-copy{position:absolute;z-index:3;left:24px;right:24px;bottom:42px;text-align:center;pointer-events:none}
.program-platform-copy h2{max-width:670px;margin:0 auto 18px;font-size:55px;font-weight:700;line-height:1.3;letter-spacing:normal;color:#FFFFFF}
.program-platform-copy p{max-width:650px;margin:0 auto;font-size:20px;line-height:1.8;color:#BABEC5}
.program-platform-copy strong{font-weight:700;color:#FFFFFF}
.program-platform-controls{display:none;direction:rtl;align-items:center;justify-content:center;gap:10px;margin:27px auto 0;color:#030813}
.platform-ready .program-platform-controls{display:flex}
.program-platform-arrow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;padding:9px;border:1px solid #030813;border-radius:50%;background:transparent;color:inherit;flex-shrink:0}
.program-platform-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.program-platform-tabs{display:flex;gap:9px;align-items:center}
.program-platform-tabs button{width:74px;min-width:42px;height:48px;position:relative;border:0;background:transparent;padding:0}
.program-platform-tabs button:after{content:'';position:absolute;left:0;right:0;top:23px;height:4px;background:#D4D8DE;transition:background-color .2s}
.program-platform-tabs button[aria-current=true]:after{background:#030813}
.program-platform-fallback{display:flex;justify-content:center;gap:20px;padding:16px;font-size:18px}
@media(max-width:1050px) and (min-width:801px){.program-platform-panel{min-height:570px}.program-platform-copy h2{font-size:48px}.program-platform-copy p{font-size:19px}}
@media(max-width:800px){
 .program-platform-section{padding:0 22px 66px}
 .program-platform-panel{aspect-ratio:auto;min-height:545px;border-radius:28px}
 .program-platform-art{width:150%;left:-25%;top:0}
 .program-platform-panel:after{background:linear-gradient(180deg,transparent 10%,#00000020 28%,#000000D9 48%,#000000 63%)}
 .program-platform-copy{left:20px;right:20px;bottom:35px}
 .program-platform-copy h2{font-size:clamp(31px,7vw,39px);line-height:1.5;margin-bottom:17px}
 .program-platform-copy p{font-size:18px;line-height:1.9;max-width:410px}
 .program-platform-controls{gap:7px;margin-top:22px}
 .program-platform-tabs{gap:7px;flex:1;max-width:205px}
 .program-platform-tabs button{width:auto;flex:1;min-width:28px}
 .program-platform-arrow{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.program-platform-screen,.program-platform-tabs button:after{transition:none}}
