/* Interactive feedback remains available independently of WebGL. */
header a[href="#rfp-form"],main a[href="#rfp-form"],main button[type="submit"]{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){header a[href="#rfp-form"]:hover,main a[href="#rfp-form"]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #a94e1b30}}
@media (prefers-reduced-motion:no-preference){button:active,main a[href="#rfp-form"]:active{transform:scale(.97)}}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #a94e1b24}
main picture{isolation:isolate;overflow:hidden}
main picture canvas{z-index:1}
[id^="scenario-card-"]:focus-within{border-color:#df9b64}
[id^="scenario-card-"] .material-symbols-outlined{transition:transform .22s ease,color .22s ease}
@media (prefers-reduced-motion:no-preference){[id^="scenario-card-"]:hover .material-symbols-outlined{transform:translateX(3px)}}
/* Contacts are touch targets too; keep the complete menu scrollable on short screens. */
#mobile-nav-drawer{height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#mobile-nav-drawer a[href^="tel:"],#mobile-nav-drawer a[href^="mailto:"]{display:flex;align-items:center;min-height:44px}
