
/* Local, accessible refinements to the original website. */
body { opacity:1; }
html { scroll-padding-top:100px; }
:focus-visible { outline:3px solid var(--primary, #00a8cc); outline-offset:5px; }
.ui-icon { width:1.15em; height:1.15em; vertical-align:-.15em; flex-shrink:0; }
h1.hero-brand-title { margin-bottom:0; }
.footer-contact p, .footer-contact a { overflow-wrap:anywhere; min-width:0; }
.footer-content > * { min-width:0; }
.skip-link { position:fixed; top:-100px; left:12px; z-index:2000; padding:12px; background:#fff; color:#111; }
.skip-link:focus { top:12px; }
.unavailable { cursor:default; opacity:.75; }
@media(max-width:768px) {
 header { position:relative; }
 .header-content { gap:12px; }
 .header-actions { flex-direction:row; flex-wrap:wrap; justify-content:center; }
 .download-btn { margin-left:0; }
 .hero { padding:42px 0 56px; min-height:auto; }
 .hero-banner-wrapper { min-height:290px; padding:32px 18px; }
 .features, .screenshots, .download { padding:60px 0; }
 .section-title { margin-bottom:32px; }
 .features-grid { grid-template-columns:1fr; }
 .screenshot-container { display:flex; overflow-x:auto; justify-content:flex-start; gap:16px; scroll-snap-type:x mandatory; padding:12px 4px 24px; }
 .screenshot { flex:0 0 70%; width:70%; max-width:260px; scroll-snap-align:center; }
 .screenshot:hover { transform:none; }
 html { scroll-padding-top:16px; }
 .footer-content { grid-template-columns:1fr; gap:30px; }
}
@media(prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
