/* A full-height menu and the shared modal scroll lock. */
.header .site-menu-toggle{width:44px;height:44px;flex:0 0 44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;margin-left:-6px}
.site-menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}
.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}
.site-tools-open{overflow:hidden}
.site-tools-open body{position:fixed;top:var(--tools-scroll-top);left:0;right:0;overflow:hidden;padding-right:var(--tools-scrollbar)}
.site-menu{position:fixed;inset:0 auto 0 0;margin:0;padding:0;border:0;width:min(480px,90vw);height:100vh;height:100dvh;max-width:none;max-height:none;background:var(--ink);color:#fff;overflow:hidden}
.site-menu::backdrop{background:rgb(7 12 25 / .62);backdrop-filter:blur(5px)}
.site-menu-shell{height:100%;position:relative;overflow-y:auto;overscroll-behavior:contain;padding:max(28px,env(safe-area-inset-top)) 94px max(28px,env(safe-area-inset-bottom)) 34px;display:flex;flex-direction:column;gap:28px}
.site-menu-graphic{position:absolute;top:18px;bottom:18px;right:10px;width:62px;pointer-events:none}
.site-menu-graphic svg{width:100%;height:100%;display:block}
.site-menu-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.site-menu-top p{font-size:10px;letter-spacing:.12em;line-height:1.7;color:#bfc8dd}
.site-menu-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#fff;color:var(--ink);font-size:28px;line-height:1}
.site-menu h2{font-size:clamp(33px,4.6vw,54px);line-height:1;letter-spacing:-.065em;font-weight:900}
.site-menu h2 span{color:#7d9cff}
.site-menu-nav{display:flex;flex-direction:column;gap:0;margin-top:4px}
.site-menu-nav>a,.site-menu-nav>button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;text-align:left;border-bottom:1px solid #373b46;color:#fff;font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.5}
.site-menu-nav .site-menu-calculator{display:grid;grid-template-columns:1fr auto;gap:3px 12px;border-top:2px solid #7d9cff;border-bottom:1px solid #7d9cff;padding:22px 0;margin-bottom:13px;color:#a9bcff;font-size:27px}
.site-menu-calculator small{grid-column:1/-1;color:#c8cbd5;font-size:12px;font-weight:400;letter-spacing:-.02em}
.site-menu-calculator b{font-size:13px;letter-spacing:.08em;font-weight:500;display:block;margin-bottom:7px;color:#7d9cff}
.site-menu-nav>a span,.site-menu-calculator>span:last-child{font-size:25px;transition:transform .25s}
.site-menu-nav>a:hover span,.site-menu-calculator:hover>span:last-child{transform:translate(3px,-3px)}
.site-menu-end{margin-top:auto;padding-top:18px;font-size:10px;line-height:1.9;letter-spacing:.09em;color:#a7adbc}
.site-menu :focus-visible{outline-color:#9eb4ff;outline-offset:4px}
@media(max-width:1100px){.header{gap:18px}.header nav>a:not(.nav-inquiry){display:none}.header nav{margin-left:auto}}
@media(max-width:700px){.header{gap:12px}.header .brand{width:clamp(156px,44vw,210px)}.header nav{display:none}.header .motion-toggle{margin-left:auto}.site-menu-shell{padding-left:24px;padding-right:68px;gap:24px}.site-menu-graphic{right:8px;width:42px}.site-menu h2{font-size:40px}.site-menu-nav>a{font-size:17px;padding:15px 0}.site-menu-nav .site-menu-calculator{font-size:24px}.site-menu-top p{font-size:9px}}
@media(max-height:650px){.site-menu-shell{gap:19px}.site-menu h2{font-size:34px}.site-menu-nav>a{padding:11px 0}.site-menu-nav .site-menu-calculator{padding:16px 0}.site-menu-end{padding-top:0}}
.motion-paused .site-menu-toggle span,.motion-paused .site-menu-nav span{transition:none}
@media(prefers-reduced-motion:reduce){.site-menu-toggle span,.site-menu-nav span{transition:none}}

.site-menu-nav .site-menu-student{border-top:0;margin-top:-13px;padding-top:20px}

/* Password gate shares the portfolio's blue, white and black palette. */
.admission-access{border:0;border-top:6px solid #1447ff;background:#fff;color:#101114;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:32px;margin:auto;box-sizing:border-box;overflow:auto}
.admission-access::backdrop{background:rgb(7 12 25 / .62);backdrop-filter:blur(5px)}
.admission-access header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px}
.admission-access header p{color:#1447ff;font-size:11px;font-weight:700;letter-spacing:.12em}
.admission-access header button{width:40px;height:40px;background:#101114;color:#fff;font-size:26px}
.admission-access h2{font-size:clamp(25px,6vw,34px);font-weight:800;letter-spacing:-.06em;line-height:1.35}
.admission-access-help{color:#626573;font-size:15px;line-height:1.6;margin:16px 0 30px}
.admission-access label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
.admission-access input{width:100%;box-sizing:border-box;border:1px solid #cbd0df;border-radius:0;padding:15px;background:#f7f8fc;font:inherit;font-size:18px;color:#101114}
.admission-access input:focus-visible{outline:2px solid #1447ff;outline-offset:2px}
#admission-access-status{min-height:3em;line-height:1.5;font-size:13px;color:#535968;margin:12px 0}
.admission-access-submit{width:100%;padding:18px;background:#1447ff;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;font-weight:700}
.admission-access-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:400px){.admission-access{padding:24px}.admission-access-help{font-size:14px}}

.site-menu-top .site-menu-admin-trigger{text-align:left;font-size:10px;letter-spacing:.12em;line-height:1.7;color:#bfc8dd;padding:0;min-height:44px;background:none;flex:1}
.site-menu-admin-trigger:hover{color:white}.site-admin-login input{margin-bottom:20px}.site-admin-login-status{min-height:3em;font-size:13px;line-height:1.6;color:#535968}.interview-empty{padding:100px 20px;text-align:center;color:#c5ccdf;font-size:17px;line-height:1.7}
