.mobile-menu-trigger{gap:8px;width:auto;padding:0 14px;border:1px solid oklch(var(--primary-200));border-radius:16px;background:oklch(var(--background-50));color:oklch(var(--primary-700));box-shadow:0 3px 12px #13295008}
.mobile-menu-trigger span{font-size:12px;font-weight:700}
.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;width:min(400px,calc(100% - 20px));max-width:none;height:100%;height:100dvh;max-height:none;overflow:hidden;background:oklch(var(--background-50));color:oklch(var(--foreground-950));border-radius:28px 0 0 28px;box-shadow:-24px 0 90px #08182b33;text-align:right}
.mobile-menu[open]{display:flex;flex-direction:column;animation:menu-enter .32s cubic-bezier(.2,.8,.2,1)}
.mobile-menu::backdrop{background:#071a37a6;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:menu-backdrop .25s ease-out}
.mobile-menu__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 22px 18px;padding-top:max(24px,env(safe-area-inset-top));border-bottom:1px solid oklch(var(--background-200))}
.mobile-menu__brand{display:flex;align-items:center;gap:10px;min-width:0}
.mobile-menu__logo{display:block;width:64px;height:44px;object-fit:contain;flex:none}
.mobile-menu__brand strong{display:block;font-size:16px;font-weight:900}
.mobile-menu__brand small{display:block;margin-top:3px;color:oklch(var(--foreground-500));font-size:10px}
.mobile-menu__close{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:oklch(var(--background-100));color:oklch(var(--foreground-700));font-size:24px;cursor:pointer}
.mobile-menu__body{padding:22px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}
.mobile-menu__eyebrow{font-size:10px;font-weight:700;color:oklch(var(--foreground-500));margin-bottom:12px}
.mobile-menu__featured{display:flex;align-items:center;gap:12px;border:1px solid oklch(var(--primary-200));border-radius:20px;padding:16px;background:linear-gradient(120deg,oklch(var(--primary-100)),oklch(var(--primary-50)));color:oklch(var(--primary-800))}
.mobile-menu__featured>i:first-child{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:oklch(var(--primary-700));color:white;font-size:23px;flex:none}
.mobile-menu__featured strong{display:block;font-size:14px;font-weight:800}
.mobile-menu__featured small{display:block;margin-top:5px;font-size:10px;color:oklch(var(--primary-600))}
.mobile-menu__arrow{margin-inline-start:auto;font-size:20px;opacity:.6}
.mobile-menu__nav{display:grid;gap:6px;margin-top:18px}
.mobile-menu__link{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 10px;border-radius:16px;font-size:13px;font-weight:600;transition:background .18s,color .18s}
.mobile-menu__link>i:first-child{display:grid;place-items:center;width:38px;height:38px;border:1px solid oklch(var(--background-200));border-radius:12px;background:white;color:oklch(var(--primary-600));font-size:19px;flex:none}
.mobile-menu__link:hover,.mobile-menu__link[aria-current="location"]{background:oklch(var(--primary-50));color:oklch(var(--primary-700))}
.mobile-menu__student{display:flex;align-items:center;gap:10px;margin-top:18px;padding:16px 12px;border-top:1px solid oklch(var(--background-200));font-size:12px;font-weight:700;color:oklch(var(--primary-700))}
.mobile-menu__student>i:first-child{font-size:21px}
.mobile-menu__footer{padding:18px 22px 22px;padding-bottom:max(22px,env(safe-area-inset-bottom));border-top:1px solid oklch(var(--background-200));background:oklch(var(--background-50));flex:none}
.mobile-menu__consult{display:flex;justify-content:center;align-items:center;gap:9px;min-height:50px;border-radius:16px;background:oklch(var(--accent-500));color:oklch(var(--foreground-950));font-size:13px;font-weight:800;box-shadow:0 6px 20px oklch(var(--accent-500)/.18)}
.mobile-menu__consult i{font-size:21px}
.mobile-menu__phone{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;color:oklch(var(--foreground-500));font-size:11px}
.mobile-menu :focus-visible,.mobile-menu-trigger:focus-visible{outline:3px solid oklch(var(--primary-400));outline-offset:3px}
@keyframes menu-enter{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}
@keyframes menu-backdrop{from{opacity:0}to{opacity:1}}
@media(min-width:1024px){.mobile-menu-trigger{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-menu[open],.mobile-menu::backdrop{animation:none}.mobile-menu__link{transition:none}}
