/* Shared layout and input behaviour across small screens and browser engines. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;--page-gutter:48px}
body{overflow-wrap:break-word;overflow-wrap:anywhere}
.wrap,.section.wrap{padding-left:max(var(--page-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--page-gutter),env(safe-area-inset-right,0px))}
main :where(section,article,aside,figure,div,li),.nav>*{min-width:0}
:where(h1,h2,h3,h4){overflow-wrap:anywhere;hyphens:auto}
input,select,textarea{min-width:0;max-width:100%}
input[type=search]{-webkit-appearance:none;appearance:none}
/* Native WebKit select labels can paint outside their box with enlarged text. */
.field select,.blog-controls select,.aql-inputs select{-webkit-appearance:none;appearance:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%2360645e' stroke-width='2'/%3E%3C/svg%3E");background-position:right 13px center;background-size:14px 10px;background-repeat:no-repeat}
.button,.menu-button{min-height:44px}
.language-switch .language{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 5px}
.article-toc a{min-height:44px;display:flex;align-items:center}
.tts-contact{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px))}
.tts-contact-panel{max-height:calc(100vh - 124px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 124px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
.tts-contact-head{position:sticky;top:0;z-index:1}
.tts-contact-close{width:44px;height:44px;top:7px;right:5px}
.tts-contact-enquiry{min-height:44px}
.tts-contact-channel .tts-channel-number{white-space:normal}
@media(max-width:1200px){
 .nav{position:relative}
 .navlinks{position:absolute;left:0;right:0;top:100%;z-index:60;width:auto;background:var(--paper);padding:12px var(--page-gutter);border-bottom:1px solid var(--line);box-shadow:0 8px 16px #252a2618;max-height:calc(100vh - var(--nav-bottom,145px) - 16px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - var(--nav-bottom,145px) - 16px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .navlinks a{min-height:44px;display:flex;align-items:center;white-space:normal;padding:12px 0}
 body.menu-open .tts-contact{visibility:hidden;pointer-events:none}
}
@media(max-width:1050px){html{--page-gutter:32px}}
@media(max-width:760px){
 html{--page-gutter:22px}
 .nav{gap:6px}
 .navlinks{align-items:stretch}
 .tts-contact{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .tts-contact-panel{max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100vh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 body.editing-field .tts-contact{visibility:hidden;pointer-events:none}
 .footer-grid a{min-height:44px;display:flex;align-items:center;margin:3px 0}
 .field input,.field select,.field textarea,.blog-controls input,.blog-controls select,.aql-inputs input,.aql-inputs select{font-size:max(16px,1rem)}
 .article-toc{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}
@media(max-width:380px){
 html{--page-gutter:18px}
 .brand img{width:76px}
 .nav .menu-button{font-size:14px;padding:8px}
 .guide-method,.steps{grid-template-columns:1fr}
 .aql-inputs,.aql-output,.aside{padding:20px}
}
@media(max-height:500px) and (max-width:1200px){
 .tts-contact.is-open .tts-contact-trigger{visibility:hidden}
 .tts-contact-panel{bottom:0;max-height:calc(100vh - 44px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 44px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@media print{.navlinks,.menu-button,.language-switch{display:none!important}}
