/* Layout resilience for narrow screens, large text and short landscape viewports. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(main,section,article,figure,nav,form,fieldset,details,summary,div){min-width:0}
:where(h1,h2,h3,h4,p,li,dd,a,label,summary){overflow-wrap:anywhere}
input,textarea,select{max-width:100%;min-width:0;font-size:16px}
.stage{white-space:normal}.pill,.line-link{max-width:100%}.pill svg,.line-link svg{flex-shrink:0}
.mobile-nav nav{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.desktop-nav{white-space:nowrap}.site-brand img{aspect-ratio:1880/852}
.footer-columns a,.return-top{min-height:44px;display:flex;align-items:center}
.zoom-image{color:inherit}.zoom-label{pointer-events:none}
dialog{max-height:94vh;max-height:94dvh;overscroll-behavior:contain}dialog form{background:var(--ink);padding-bottom:8px}dialog a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.content-main .content-actions>*{max-width:100%}.content-main .research-definitions dd{min-width:0}
@media(max-width:1024px){
 .desktop-nav{display:none}.mobile-nav{display:block}
 .mobile-nav>summary{font-size:14px;list-style:none;display:flex;align-items:center;gap:18px;padding:12px 2px;min-height:44px;min-width:74px}
 .mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav>summary>span{font-size:20px}.mobile-nav[open]>summary>span{transform:rotate(45deg)}
 .mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:15px var(--gutter) 25px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #0005}
 .mobile-nav nav>a{padding:12px 0;min-height:44px;font-size:16px;border-top:1px solid var(--line)}
}
@media(max-width:800px){
 .section-heading,.purpose-layout,.vital-feature,.dows-layout,.contact-layout,.workflow-layout,.product-intro{grid-template-columns:minmax(0,1fr)}
 .site-header{gap:16px}.product-sections{scrollbar-width:thin;overscroll-behavior-x:contain}
 .zoom-label{font-size:12px}.opening-bottom .micro,.chapter,.feature-lines .micro,.journal-row .micro{font-size:11px}
 .chapter>span:last-child{max-width:50%}.art-caption{flex-wrap:wrap}.form-row{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:380px){
 :root{--gutter:20px}.chapter{flex-wrap:wrap;gap:12px}.chapter>span:last-child{max-width:100%;text-align:left}
 .opening-bottom{flex-wrap:wrap}.opening-bottom .visual-caption{text-align:left;max-width:100%}
 .art-caption{left:14px;right:14px;bottom:12px;gap:8px}.art-caption>span{font-size:10px}.motion-toggle{font-size:11px}
 .content-main .programme-feature{padding:22px 16px}.content-main .programme-feature .button{letter-spacing:0;font-size:13px}
}
@media(pointer:coarse){.line-link,.content-main .text-link,.breadcrumbs a{min-height:44px}}
