/* Real school photographs, course benefits, and Mission Code. */
body{overflow-x:clip}
@media(max-width:760px){.hero-world .orbit{display:none}}
.photo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.photo-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#183556;min-height:245px}.photo-grid img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-grid .photo-feature{grid-column:span 2;min-height:360px}.photo-grid .photo-portrait{grid-row:span 2}.photo-grid .photo-portrait img{object-position:50% 40%}.photo-grid figcaption{position:absolute;inset:auto 0 0;padding:55px 22px 22px;background:linear-gradient(transparent,#091d36e8);color:#fff}.photo-grid figcaption span{display:block;font-size:9px;letter-spacing:.15em;margin-bottom:7px;color:#d4e8fa}.photo-grid figcaption strong{font:500 19px var(--display);line-height:1.3}.photo-note{font-size:11px;margin-top:16px}.school-life{padding-bottom:30px}.location-section{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;border-top:1px solid var(--line)}.location-photos{display:grid;grid-template-columns:1fr .55fr;gap:12px;align-items:center}.location-photos img{width:100%;object-fit:cover;border-radius:18px}.location-photos img:first-child{height:360px}.location-photos img:last-child{height:440px}.location-copy address{font-style:normal;font-size:16px;margin:26px 0 12px;color:#536a80}.location-copy address strong{font-size:20px;color:var(--ink)}.location-copy>p:not(.eyebrow){font-size:14px;margin:24px 0 14px}.phone-link{display:block;font:600 23px var(--display);color:var(--blue)}.location-label{font-size:11px;color:#617087}.contact-phone{display:block;margin-top:25px;font:600 23px var(--display)}.contact-address{margin-top:15px;font-size:13px}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.benefit-grid article{border:1px solid var(--line);padding:20px;border-radius:12px;background:#f0f5fc}.benefit-grid article>span{color:#9961ae;font:12px var(--display)}.benefit-grid h3{font-size:19px;line-height:1.25;letter-spacing:-.025em;margin:9px 0}.benefit-grid p{font-size:13px;margin:0;line-height:1.75}dialog{max-width:800px;max-height:90dvh}dialog>div>p{max-width:650px}.challenge-grid{grid-template-columns:.85fr 1.15fr;gap:65px}.challenge-copy h2{font-size:48px}.mission-instructions{padding-left:20px;color:#c5d8ed;font-size:13px;line-height:2}.game{padding:25px}.game-top{font-size:9px;margin-bottom:15px}.level-progress{list-style:none;padding:0;display:flex;gap:8px;margin:0 0 18px}.level-progress li{flex:1;text-align:center;border-radius:6px;border:1px solid #536980;color:#b2bfd1;font:12px var(--display);padding:7px;background:#16324e}.level-progress li.current{background:#ffdc73;color:#18324e;border-color:#ffdc73;font-weight:700}.level-progress li.complete{background:#40675d;border-color:#79b19b;color:#e5ffef}.game h3{font-size:23px;letter-spacing:-.035em}.level-hint{color:#c0d2e8;font-size:12px;min-height:40px;line-height:1.6;margin:8px 0 17px}.game-board{max-width:360px;gap:6px;margin-bottom:12px}.game-cell{min-width:0;border-radius:7px}.game-cell.obstacle{background:repeating-linear-gradient(135deg,#415e7b,#415e7b 6px,#3b5670 6px,#3b5670 12px);border:2px solid #8099b1;color:#b1c3d7;font-size:22px}.game-cell.goal{background:#705d32;color:#ffe28b;border-color:#cfaf61;font-size:30px}.crystal{color:#dd9bf3;font-size:25px;text-shadow:0 0 15px #c479ef88}.code-token{position:absolute;width:94%;height:85%;background:#c7e8f6;border-radius:12px;overflow:hidden;border:2px solid #91d4f8;box-shadow:0 2px 8px #061e39;z-index:2}.code-portrait{width:100%;height:100%;display:block}.code-token.won{border-color:#ffdc73;animation:bounce .5s 2}.board-legend{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#b5cce2;margin:12px 0 20px}.board-legend span:last-child{color:#ffe28b}.board-legend span:nth-child(2){color:#e0b4f3}.command-slots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.command-slot{width:auto;height:33px}.game-controls{gap:7px}.direction-controls button,.undo{width:37px;height:39px}.run{padding:12px 17px;font-size:12px}.game-status-row p{font-size:12px}.game-status-row button{font-size:11px}.next-level{display:block;border:0;background:#c0e6fc;color:#123252;font-weight:700;font-size:13px;border-radius:8px;padding:12px;width:100%;margin-top:15px}.next-level[hidden]{display:none}.keyboard-note{font-size:9px;color:#a5bad1;margin:12px 0 0}.game button:disabled{cursor:default}.game:focus-visible{outline:3px solid #deb6f1;outline-offset:6px}
@media(max-width:1050px){.challenge-grid{gap:30px}.game{padding:18px}.direction-controls button,.undo{width:29px}.run{padding:10px;font-size:11px}.location-section{gap:35px}.photo-grid figcaption{padding:50px 16px 16px}.photo-grid figcaption strong{font-size:17px}}
@media(max-width:760px){.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.photo-grid .photo-feature{min-height:280px}.photo-grid .photo-portrait{grid-row:span 2}.photo-grid figure{min-height:215px}.photo-grid figcaption strong{font-size:15px}.photo-grid figcaption span{font-size:8px}.photo-note{font-size:10px}.location-section{grid-template-columns:1fr;gap:30px}.location-photos img:first-child{height:240px}.location-photos img:last-child{height:290px}.location-copy address strong{font-size:21px}.contact-address{font-size:11px}.contact-phone{font-size:22px}.benefit-grid{grid-template-columns:1fr;gap:9px}.benefit-grid article{padding:17px}.challenge-grid{grid-template-columns:1fr}.challenge-copy h2{font-size:39px}.game{max-width:520px;padding:16px}.game h3{font-size:22px}.game-controls{gap:6px}.direction-controls button,.undo{width:32px}.command-slot{height:31px}.board-legend{font-size:9px}.game-status-row p{font-size:11px}.game-status-row{gap:7px}.game-status-row button{font-size:10px}.keyboard-note{display:none}}
@media(max-width:360px){.direction-controls button,.undo{width:26px}.run{padding:10px 8px;font-size:10px}.game-controls{gap:4px}.direction-controls{gap:3px}.photo-grid{grid-template-columns:1fr}.photo-grid .photo-feature{grid-column:auto}.photo-grid .photo-portrait{grid-row:auto;min-height:330px}}

/* Keep decorative orbits inside the viewport without changing their artwork. */
body{overflow-x:clip}
