/* Shared device, input and browser hardening; loaded after page styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
.skip-link{position:fixed;top:8px;left:76px;z-index:20000;padding:12px 18px;background:#fff;color:#003b88;border:2px solid #ff3d00;transform:translateY(-160%);font:700 16px/1.4 system-ui,sans-serif}
.skip-link:focus{transform:none}
main:focus{outline:none}
.sidebar{height:100vh;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.sidebar .menu-toggle{display:flex;align-items:center;min-height:48px}
.sidebar .nav-icon{width:32px;height:32px;min-width:32px;margin:4px;color:#5c9dff;flex-shrink:0}
.sidebar a,.sidebar .menu-toggle{border-radius:4px}
.sidebar a:focus-visible,.sidebar .menu-toggle:focus-visible{outline:3px solid #ff7347;outline-offset:-3px}
.sidebar a:hover .nav-icon,.sidebar a[aria-current=page] .nav-icon{color:#ff7347}
/* Explicit buttons work for mouse, keyboard, touch and stylus at every width. */
.sidebar.collapsed,.sidebar.collapsed:hover,.sidebar.collapsed:focus-within{width:60px}
.sidebar.collapsed .label,.sidebar.collapsed:hover .label,.sidebar.collapsed:focus-within .label{opacity:0;transform:translateX(-10px)}
.sidebar:not(.collapsed){width:240px;width:min(240px,calc(100vw - 12px))}
.sidebar:not(.collapsed) .label{opacity:1;transform:none}
.sidebar.collapsed .sidebar-logo{opacity:0}
.sidebar:not(.collapsed) .sidebar-logo{opacity:1}
.sidebar-content{justify-content:flex-start;padding-top:8px}
.sidebar-links{flex-grow:0;justify-content:flex-start}
.sidebar a{min-height:44px;margin-block:7px}
.accordion-content:not([hidden]){max-height:none;padding:20px}
.accordion-content[hidden]{display:none}
.accordion-trigger:focus-visible{outline:3px solid #004aad;outline-offset:4px}
.two-column>div{min-width:0}
.home-intro nav a,.agent-footer a{display:inline-block;min-height:24px;padding-block:6px}
.agent-footer{max-width:calc(100% - 100px)}
.message-form input,.message-form textarea{max-width:100%;font-size:16px}
@media(max-width:899px){
 .sidebar .sidebar-logo{display:none}
 .two-column>div{flex-basis:auto}
 .hero-name{word-break:normal;overflow-wrap:break-word}
 #home-page .home-intro{margin-left:76px;margin-right:16px;padding:22px 18px;max-width:720px}
 .home-intro nav{gap:6px 18px}
 .home-intro nav a{min-height:32px}
 .accordion-content:not([hidden]){padding:16px 12px}
 .agent-footer{margin-left:76px;margin-right:16px;max-width:calc(100% - 92px)}
}
@media(max-height:600px){
 .sidebar a,.sidebar .menu-toggle{margin-block:2px}
 .sidebar .sidebar-logo{display:none}
}
@media(hover:none){html,body{background-attachment:scroll!important}}
@media(prefers-reduced-motion:reduce){.fade-in-opening,.opening-context,.opening-quote,.intro{opacity:1!important;transform:none!important}}
@media(forced-colors:active){.nav-icon{color:LinkText!important}.sidebar{border-right:1px solid CanvasText}.skip-link{border-color:Highlight}}
@media print{
 html,body{height:auto!important;background:white!important;color:black!important;overflow:visible!important}
 .sidebar,.skip-link,body::before,body::after,.rotating-text{display:none!important}
 .header-widget .hero-heading-wrapper{width:100%!important;margin:0!important;padding:12px 0!important}
 .hero-name,.hero-text-group{position:static!important;transform:none!important;white-space:normal!important;color:black!important;text-shadow:none!important;font-size:28pt!important}
 main.page-content,.home-intro,.agent-footer{margin:16px 0!important;padding:0!important;width:auto!important;max-width:100%!important;background:white!important;box-shadow:none!important;color:black!important}
 .accordion-content[hidden]{display:block!important;max-height:none!important;padding:12px!important}
 .accordion-container,.centered-tutoring-wrapper{padding:0!important;margin:0!important;left:0!important}
 p,li,.about-text-widget,.expertise-column{color:black!important}
 .about-image-widget{display:none!important}
}

/* Desktop mouse/trackpad: restore the original hover-expanding rail. */
@media (min-width:900px) and (hover:hover) and (pointer:fine){
 .sidebar .menu-toggle{display:none}
 .sidebar.collapsed:hover,.sidebar.collapsed:focus-within{width:240px}
 .sidebar.collapsed:hover .label,.sidebar.collapsed:focus-within .label{opacity:1;transform:none}
 .sidebar.collapsed:hover .sidebar-logo,.sidebar.collapsed:focus-within .sidebar-logo{opacity:1}
}
