/* Academic Intelligence: tablet and phone layer.
   Everything here sits inside max-width media queries, so the desktop design (above 1040px) is untouched. */
.m-menu-btn{display:none!important}
.m-menu{display:none}
.m-hint{display:none}
.m-menu-btn .m-close{display:none}
.m-menu-btn.is-open .m-open{display:none}
.m-menu-btn.is-open .m-close{display:block}

@media (max-width:1279px){
  [data-m~="w"]{width:auto!important;max-width:100%!important;box-sizing:border-box}
}
@media (max-width:1040px){
  [data-m~="h"]{height:auto!important}
  .m-menu-btn{display:inline-flex!important}
  .m-menu{display:block;position:absolute;top:100%;left:0;right:0;z-index:20;box-sizing:border-box;padding:8px 24px 20px;background:var(--surface-page);border-bottom:1px solid var(--border-subtle);box-shadow:0 12px 24px rgba(14,31,42,.18)}
  .m-menu[hidden]{display:none!important}
  .m-menu-links{display:flex;flex-direction:column;max-width:1248px;margin:0 auto}
  .m-menu-links a{display:flex;align-items:center;min-height:48px;font-size:16px;font-weight:500;color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-subtle)}
  .m-menu-links a[aria-current=page]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
  .m-menu-cta{display:none;align-items:center;justify-content:center;min-height:48px;margin:16px auto 0;max-width:1248px;box-sizing:border-box;border:2px solid var(--border-control);border-radius:4px;color:var(--text-primary);font-weight:600;text-decoration:none}
}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%}
  body{overflow-wrap:break-word}
  img,svg,video{max-width:100%}
  header > div{padding-left:16px!important;padding-right:16px!important;gap:12px!important}
  .m-hide-cta{display:none!important}
  .m-menu{padding-left:16px;padding-right:16px}
  .m-menu-cta{display:flex}
  h1{font-size:clamp(28px,8.6vw,38px)!important;line-height:1.15!important}
  main h2{font-size:clamp(22px,6.4vw,26px)!important;line-height:1.25!important}
  main h3{line-height:1.3}
  [data-m-scroll]{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .m-hint{display:block;margin:6px 0 0;font-size:13px;color:var(--text-secondary)}
  footer li a,footer nav a{display:inline-block;padding:8px 0}
  .m-zoomable{cursor:zoom-in}
}
