:root{--navy:#072866;--blue:#086bed;--red:#ed0925;--muted:#385c91;--line:#e7edf5}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;color:var(--navy);background:#f0f5fb;font-family:Arial,Helvetica,sans-serif}
button,a{font:inherit}
.page-shell{min-height:100svh;display:grid;place-items:center;padding:32px 20px}
.app-panel{width:min(480px,100%);padding:26px 22px 24px;background:linear-gradient(#fff 65%,#fbfdff);border:1px solid #e5ebf3;border-radius:24px;box-shadow:0 20px 65px #123b701a}
.brand-header{text-align:center;margin-bottom:28px}
.cec-logo{display:block;width:102px;height:65px;object-fit:contain;margin:0 auto}
.school-name{margin:7px 0 0;font-size:.875rem;line-height:1.4;color:var(--muted)}
.intro{margin-bottom:22px;text-align:center}
h1{margin:0;font-size:clamp(1.25rem,5.55vw,1.75rem);font-weight:800;letter-spacing:-.055em;line-height:1.2}
h1 span{color:var(--red)}
.lead{margin:7px 0 0;font-size:1rem;line-height:1.4;color:var(--muted)}
.apps{display:grid;gap:12px}
.app-card{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 20px;align-items:center;gap:15px;min-height:88px;padding:14px 17px;text-align:left;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 9px #1537620c;cursor:pointer;transition:border-color .15s,box-shadow .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.app-card:hover,.app-card:focus-visible{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:0;box-shadow:0 4px 14px #086bed18}
.app-card:active{background:#f6faff}
.icon-box{width:58px;height:55px;display:grid;place-items:center}
.icon-box img{display:block;width:55px;height:51px;object-fit:contain}
.app-copy strong{display:block;font-size:1.1875rem;line-height:1.25;font-weight:800;letter-spacing:-.035em}
.app-copy small{display:block;margin-top:4px;font-size:.9375rem;line-height:1.35;color:var(--muted)}
.arrow{font-size:2rem;color:#275ea4;font-weight:400;text-align:right;line-height:1}
.device-note{margin:20px 0 0;padding:19px 15px;display:flex;gap:15px;align-items:center;background:#eef5fd;border-radius:13px;color:var(--muted);font-size:.875rem;line-height:1.5}
.device-note strong{font-weight:500;color:var(--navy)}
.platforms{display:flex;align-items:center;gap:10px;flex-shrink:0}
.platforms svg{width:26px;height:30px;fill:#12355e}
.divider{display:none}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:20;padding:20px;display:grid;place-items:center}
.modal-backdrop{position:absolute;inset:0;background:#071d42b3;backdrop-filter:blur(4px)}
.modal-card{position:relative;width:min(420px,100%);max-height:90svh;overflow:auto;padding:32px 24px 24px;text-align:center;background:white;border-radius:20px;box-shadow:0 20px 60px #0003}
.modal-close{position:absolute;right:10px;top:10px;border:0;border-radius:50%;width:40px;height:40px;background:#eff5fc;color:var(--navy);font-size:1.75rem;cursor:pointer}
.modal-app-icon{display:block;width:76px;height:76px;object-fit:contain;margin:0 auto 18px}
.modal-kicker{font-size:.875rem;color:var(--muted);letter-spacing:.06em}
.modal-card h2{font-size:1.5rem;margin:8px 0}
.modal-text{font-size:1rem;color:var(--muted);line-height:1.5}
.store-options{display:grid;gap:12px;margin-top:20px}
.store-link{display:flex;justify-content:center;align-items:center;gap:14px;padding:14px;min-height:68px;background:#10151e;color:white;border-radius:12px;text-decoration:none}
.store-link.android{background:var(--navy)}
.store-link svg{width:30px;height:30px;fill:currentColor}
.store-link span{display:grid;text-align:left;gap:3px}
.store-link small{font-size:.875rem}
.store-link strong{font-size:1.1875rem}
a:focus-visible,.modal-close:focus-visible{outline:3px solid #086bed;outline-offset:4px}
@media(max-width:520px){
body{background:white}
.page-shell{display:block;padding:0}
.app-panel{width:100%;min-height:100svh;border:0;border-radius:0;box-shadow:none;padding:22px 18px 24px}
.brand-header{margin-bottom:26px}
.cec-logo{width:96px;height:60px}
.school-name{font-size:.8125rem}
.app-card{grid-template-columns:50px minmax(0,1fr) 16px;gap:13px;min-height:82px;padding:12px 14px}
.icon-box{width:50px;height:50px}
.icon-box img{width:49px;height:47px}
.app-copy strong{font-size:1.125rem}
.app-copy small{font-size:.875rem}
.lead{font-size:.9375rem}
.device-note{padding:16px 13px;gap:12px;font-size:.875rem}
.platforms{gap:7px}
.platforms svg{width:24px;height:28px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
