@font-face{font-family:Montreal;src:url(font.otf)}*{box-sizing:border-box}body{margin:0;background:white;color:#000;font-family:Montreal,Arial,sans-serif}#canvas{width:1920px;height:1080px;position:absolute;transform-origin:top left}h1{position:absolute;left:37px;top:28px;margin:0;font-size:80px;font-weight:400;letter-spacing:-3px;line-height:1.15}.school,.application,.download{position:absolute;top:145px;font-size:26px;line-height:31px;letter-spacing:-.7px}.school{left:37px;width:400px}.school span{display:block;text-align:right}.application{left:521px}.download{left:1421px;text-decoration:none;color:inherit;white-space:nowrap}#book{position:absolute;left:521px;top:318px;width:898px;height:636px;perspective:2400px}.page{position:absolute;top:0;width:50%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}.left{left:0}.right{right:0}.page img,#leaf img{width:100%;height:100%;object-fit:fill;display:block}.page:disabled{cursor:default}.page:focus-visible{outline:2px solid #777;outline-offset:5px}#leaf{display:none;position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;pointer-events:none;z-index:3}.front,.back{position:absolute;inset:0;backface-visibility:hidden}.back{transform:rotateY(180deg)}.front:after,.back:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 25px #0002}nav{position:absolute;left:521px;top:978px;width:898px;display:flex;align-items:center;justify-content:center;gap:22px;font-size:14px;color:#777}button{font:inherit;color:inherit}nav button,#close{border:0;background:none;cursor:pointer;padding:8px}nav button:disabled{opacity:.25;cursor:default}#zoom{position:absolute;right:0}dialog{border:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:65px 24px 24px;background:#eee}#close{position:fixed;right:25px;top:16px;background:white;z-index:4;font-size:18px}#large{display:flex;justify-content:center;align-items:flex-start;min-width:100%;gap:0}#large img{width:50%;max-width:1000px;height:auto}#large img:only-child{width:min(90%,1000px)}@media(prefers-reduced-motion:reduce){#leaf{transition:none}}

/* Soft ambient shadow follows occupied pages, including the covers. */
.page:not(:empty){box-shadow:0 7px 22px rgba(0,0,0,.075),0 1px 4px rgba(0,0,0,.065);background:#fff}
.page:not(:empty):after{content:'';position:absolute;inset:0;pointer-events:none}
.page.left:not(:empty):after{background:linear-gradient(to left,rgba(0,0,0,.045),transparent 5%)}
.page.right:not(:empty):after{background:linear-gradient(to right,rgba(0,0,0,.035),transparent 5%)}
#leaf{transform-style:preserve-3d;box-shadow:none}
.paper-strip{position:absolute;top:0;left:0;height:100%;transform-origin:left center;transform-style:preserve-3d}
.strip-face{position:absolute;inset:0;background-color:white;background-size:449px 636px;background-repeat:no-repeat;backface-visibility:hidden}
.strip-face:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,calc(var(--shade,0) + var(--spine,0)))}
.strip-face.reverse{transform:rotateY(180deg)}

#toc{position:absolute;left:50%;top:0;width:50%;height:100%;pointer-events:none;z-index:2}#toc button{position:absolute;left:69.5%;width:23%;height:2.8%;background:transparent;border:0;cursor:pointer;pointer-events:auto;padding:0;border-radius:2px}#toc button:hover{background:rgba(0,0,0,.04)}#toc button:focus-visible{outline:1px solid #555}#cover{position:absolute;left:0}#cover[hidden]{display:none}

#book.closed-cover .page:not(:empty){box-shadow:0 5px 12px rgba(0,0,0,.075),0 1px 3px rgba(0,0,0,.065)}
/* Narrow spine shading on the front and back covers. */
#book.closed-cover .page.left:not(:empty):after{background:linear-gradient(to left,rgba(0,0,0,.045),transparent 3%)}
#book.closed-cover .page.right:not(:empty):after{background:linear-gradient(to right,rgba(0,0,0,.035),transparent 3%)}
