/* Shared usability improvements; brand typography and colors remain site-owned. */
html{scroll-padding-top:110px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,input,select,textarea,summary{touch-action:manipulation}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid currentColor;outline-offset:4px}
.mobile-menu-button,.mobile-sub-toggle{display:none}
@media(max-width:1120px){
 body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select,body textarea{font-size:16px!important;line-height:1.5;min-height:48px;min-width:0;max-width:100%;box-sizing:border-box}
 body textarea{min-height:128px;resize:vertical}
 form{min-width:0}form>*{min-width:0}
 input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0}
 label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;align-items:flex-start;padding-block:10px;line-height:1.6}
 button:not(.close),input[type=submit],summary{min-height:44px}
 header a,header button,nav#main-nav a,nav#main-nav .has-dropdown{min-height:44px}
 footer a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
 a[href^="mailto:"],.info-row .v,.fact-list dd{overflow-wrap:anywhere}
 img,video,iframe{max-width:100%}
 body:has(input:focus,textarea:focus,select:focus) :is(.mobile-contact,.mobile-actions,.mobilebar,.jb-mobile-contact){display:none!important}
 :is(.mobile-contact,.mobile-actions,.mobilebar,.jb-mobile-contact) a{min-height:48px}
 .nav-center.active,header nav.open,header .menu.open{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
 header .sub-toggle{min-width:44px!important;min-height:44px!important}
}
@media(max-width:760px){
 body{overflow-wrap:break-word}
 .section,.wrap,main,article,section{min-width:0}
 .editorial-hero{grid-template-columns:minmax(0,1fr)}
 .editorial-hero-copy,.hero-bottom{min-width:0;max-width:100%;box-sizing:border-box}
 .editorial-hero h1 em{white-space:normal;font-size:clamp(30px,8.5vw,36px)}
 .editorial-hero .hero-actions,.hero-bottom{flex-wrap:wrap}
 .editorial-hero .hero-phone{display:inline-flex;align-items:center;min-height:44px}
 .practice-rows p,.approach-grid p,.editorial-contact .consultation-layout p,.practice p{font-size:15px;line-height:1.75}
 .editorial-faq .faq details p{font-size:14px}
 .formcard .fine,form .fine,form small,.form-note,.consent{font-size:12px!important;line-height:1.65}
 .formcard label,.editorial-contact form label{font-size:13px!important;line-height:1.5}
 .burger,.hamburger,.menu-toggle,header .menu{min-width:44px}
 .menu-toggle{min-height:44px}
 .menu-toggle:focus-visible,.burger:focus-visible{outline-offset:3px}
 .related-guides a,.footer-links a,.direct-contact a,.resource-sources a{display:inline-flex;align-items:center;min-height:44px}
 .resource-sources a,.reading-page a{overflow-wrap:anywhere}
 .fact-list{grid-template-columns:minmax(70px,.65fr) minmax(0,1.35fr)}
 .contact h2,.reading-page h1,.document h1{overflow-wrap:break-word}
 .contact,.formcard,form{scroll-margin-top:110px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
}

header .mobile-only-link{display:none}@media(max-width:760px){header{position:relative;z-index:30;display:flex;gap:8px;padding-left:5%;padding-right:5%}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:12px;padding:8px}.nav-cta{margin-left:0!important;min-width:74px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px}header .brand{margin-right:auto}header nav[data-mobile-menu]{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid currentColor;padding:16px 6%;max-height:calc(100dvh - 100px);overflow-y:auto}header nav[data-mobile-menu].mobile-open{display:flex;flex-direction:column;align-items:stretch;gap:0}header nav[data-mobile-menu] a{display:flex;align-items:center;padding:10px 0;min-height:48px;font-size:15px}header nav[data-mobile-menu] .mobile-only-link{display:flex}body:has(header nav.mobile-open) .mobile-contact{display:none}}@media(max-width:350px){header .brand-lemon{width:34px;height:34px}header .brand-wordmark{font-size:31px}.nav-cta span{display:none}.nav-cta{min-width:64px}.mobile-menu-button{min-width:48px}}
@media(max-width:760px){footer p,footer .legal,footer .footer-bottom,.article-note,.article-meta,.concept-note,.fine-print{font-size:12px;line-height:1.7}details summary{font-size:14px;line-height:1.5}.reading-page .source-list li{font-size:13px}}
