body.auth-dialog-open{overflow:hidden}
body:not(.account-authenticated) #student-nav,
body:not(.account-authenticated) #top-profile,
body:not(.account-authenticated) #home-dashboard{display:none!important}
.top-login-cta{justify-self:end;min-height:44px;padding:10px 18px;border:0;border-radius:12px;background:#101827;color:#fff;font-weight:900;cursor:pointer}
body.account-authenticated .top-login-cta{display:none}
.hero{grid-template-columns:1fr;min-height:620px;padding:54px 0}
.hero-copy{max-width:800px}
.hero-actions{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.hero-actions .trial-cta,.hero-login-cta{min-height:52px;margin:0;padding:14px 22px;border-radius:14px;font-weight:900;cursor:pointer}
.hero-actions .trial-cta{border:0;background:#ff5a3d;color:#fff;box-shadow:0 12px 26px rgba(255,90,61,.2)}
.hero-login-cta{border:1px solid #b8c1cc;background:#fff;color:#101827}
.auth-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(16,24,39,.62);overflow:auto}
.auth-modal.hidden{display:none!important}
.auth-card{width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;margin:auto;padding:28px}
.auth-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.auth-dialog-head .eyebrow{margin-bottom:6px}
.auth-dialog-head h2{margin:0;font-size:28px;letter-spacing:-.035em}
.auth-dialog-head p:not(.eyebrow){margin:7px 0 0;color:#667085;font-size:13px;line-height:1.6}
.auth-dialog-head button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #d5dbe2;border-radius:10px;background:#fff;color:#4b5563;font-weight:800;cursor:pointer}
#role-tabs{display:none}
body.account-authenticated #role-tabs{display:grid}
body:not(.account-authenticated) .booking-shortcuts{display:none}
@media(max-width:760px){
  .app-topbar{display:grid;grid-template-columns:1fr auto;padding:10px 12px}
  body:not(.account-authenticated) .app-topbar>.brand{display:flex}
  .top-login-cta{padding:9px 12px;font-size:12px}
  .hero{min-height:auto;padding:64px 0 42px}
  .hero h1{font-size:clamp(48px,15vw,68px)}
  .hero-actions{display:grid;grid-template-columns:1fr;max-width:420px}
  .hero-actions .trial-cta,.hero-login-cta{width:100%}
  .auth-modal{align-items:end;padding:0}
  .auth-card{width:100%;max-height:92vh;border-radius:26px 26px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}
  .auth-dialog-head h2{font-size:24px}
}
