/* Apple Design audit: clear focus, immediate feedback and comfortable touch UI.
   Keep the established typography, photography and division colours. */
html{scroll-padding-top:calc(var(--site-header-height,100px) + 24px)}
body{--focus-ring:#a45b00}
body.drone,.footer{--focus-ring:#ffc66d}
:where(a,button,summary,input,textarea,select):focus-visible{outline:3px solid var(--focus-ring,#a45b00);outline-offset:4px}
:where(button,.button,.contact-option,.quick-contact>a,.mobile-nav summary){user-select:none;touch-action:manipulation}
.button,.contact-option,.quick-contact>a,.mobile-nav summary,.analytics-actions button{transition:transform 120ms ease-out,filter 120ms ease-out}
.button:active,.contact-option:active,.quick-contact>a:active,.mobile-nav summary:active,.analytics-actions button:active{transform:scale(.98);filter:brightness(.9);transition-duration:0s}
.gateway-choice:active{box-shadow:inset 0 0 0 2px var(--division-color)}
.image-button:active img{filter:brightness(.88)}
.text-link:active,.desktop-nav a:active,.mobile-nav nav>a:active{opacity:.7}
.gateway-choice:focus-visible{outline-offset:4px;outline-color:var(--division-color)}
.gateway-contact>div{flex-wrap:wrap;justify-content:center}
/* The disclosure fits its links, instead of filling the entire screen. */
.mobile-nav nav,.home-sidebar nav{height:auto;max-height:calc(100dvh - var(--site-header-height,100px) - 16px);padding-bottom:max(20px,env(safe-area-inset-bottom,0px));scroll-padding-block:12px}
.mobile-nav summary{min-width:64px;justify-content:center;border-radius:4px}
.analytics-choice summary{min-height:44px;padding-block:10px}
.analytics-settings{min-height:44px}
.analytics-choice{border-radius:8px;max-height:calc(100dvh - 32px - env(safe-area-inset-bottom,0px));bottom:max(16px,env(safe-area-inset-bottom,0px))}
.analytics-actions button{min-height:48px;border-radius:4px}
.contact .enquiry-link,.service-contact .enquiry-link{background:#3e5b4b;color:#fff;border-color:#3e5b4b}
.contact .contact-options:has(.enquiry-link) .contact-whatsapp{background:transparent;color:var(--architecture-green);border-color:var(--architecture-green)}
@media(max-width:760px){
  .analytics-choice{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));width:auto;padding:18px;max-height:70dvh}
  .analytics-choice h2{font-size:1.4rem}
  .analytics-choice details{margin-block:4px}
  .analytics-actions{gap:8px;margin-top:12px}
  .analytics-actions button{min-width:0;flex:1 1 0;padding:12px 8px;font-size:.9375rem}
  .contact-options:has(.enquiry-link) .contact-whatsapp{grid-column:auto}
  .contact-options .enquiry-link{grid-column:auto}
  .quick-contact{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
}
@media(hover:none){
  .button:hover{filter:none}
  .button:active{filter:brightness(.9)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button:active,.contact-option:active,.quick-contact>a:active,.mobile-nav summary:active,.analytics-actions button:active{transform:none}
}
@media(prefers-contrast:more){
  :where(.button,.contact-option,.quick-contact,.analytics-choice,.mobile-nav nav){border-width:2px}
}
