/* Shared readability, keyboard focus and small-screen refinements. */
:root{--focus-ink:#22382a}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ink);outline-offset:4px}
:is(.header,.hero,.footer,.intelligence,.service-demo,.workflow-lab) :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--gold)}
:is(.services-panel,.mobile-menu-panel) :is(a,summary):focus-visible{outline-color:var(--focus-ink);outline-offset:-3px}
:is(.work-package,.service-reference,.inquiry-additional)>summary:focus-visible{outline-color:var(--focus-ink);outline-offset:-3px}
:is(a,button,input,select,textarea,summary){scroll-margin-block:120px 24px}
.contact-grid>*,.engagement-grid>*,.form-grid>*,.inquiry-optional-grid>*{min-width:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#project-form .inquiry-optional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#project-form label{font-size:13px;line-height:1.6}
#project-form :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){min-width:0;max-width:100%;min-height:48px;font-size:16px;border-bottom-color:#657153}
#project-form textarea{min-height:130px}
#project-form ::placeholder{color:#596650;opacity:1}
#project-form .work-option{min-height:44px;font-size:14px}
#project-form .work-option:focus-within{outline-color:var(--focus-ink)}
#project-form :is(.form-note,.status){overflow-wrap:anywhere}
.form-note,.contact-info small{font-size:12px}
.contact-info a,.footer-contact a,.footer-bottom a{overflow-wrap:anywhere}
.service-reference .example-path p{color:#526149}
.service-reference .example-step{color:#526149}
.service-reference .workflow-lab{color:var(--paper)}
.service-reference .workflow-lab h3{color:var(--paper)}
.motion-toggle{min-width:44px;min-height:44px}
.service-jumps a{display:inline-flex;align-items:center;min-height:44px}
.analytics-settings{min-height:44px;font-size:12px}
.analytics-choice{bottom:max(16px,env(safe-area-inset-bottom));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-bottom) - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}
.analytics-choice button{min-height:44px}
.analytics-choice :is(button,a):focus-visible,.analytics-settings:focus-visible{outline-color:var(--focus-ink)}
.footer .analytics-settings:focus-visible{outline-color:var(--gold)}
.services-panel{overscroll-behavior:contain;max-height:calc(100dvh - 108px - env(safe-area-inset-bottom))}
.service-menu-heading>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:980px){
 .mobile-nav>.mobile-menu-panel{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:900px){
 .contact-grid,.engagement-grid{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media(max-width:650px){
 .motion-toggle{min-width:44px;min-height:44px}
 .footer-bottom{font-size:12px;line-height:1.7}
 .footer-bottom>div{gap:4px 20px}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 .form-note{font-size:12px}
 .service-jumps a{font-size:12px}
 .button{max-width:100%;gap:20px;white-space:normal}
}
@media(max-width:600px){
 .form-grid,#project-form .inquiry-optional-grid{grid-template-columns:minmax(0,1fr)}
 .form-grid>*{grid-column:1/-1}
}
@media(pointer:coarse){
 .text-link,.print-concept,.lab-footer a{min-height:44px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .button,.button>span,.text-link span,.services-nav>summary>span{transition:none}
 .button:hover,.button:hover>span,.text-link:hover span{transform:none}
}
.motion-paused .button,.motion-paused .button>span,.motion-paused .text-link span{transition:none}
.motion-paused .button:hover,.motion-paused .button:hover>span,.motion-paused .text-link:hover span{transform:none}
@media print{
 .service-reference .workflow-lab,.service-reference .workflow-lab h3{color:#111}
}
