*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background var(--transition-normal),color var(--transition-normal);line-height:1.6;overflow-x:hidden}.hidden{display:none!important}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.section{padding:var(--spacing-3xl)0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.maintenance-banner{z-index:99;justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs)var(--spacing-xl);color:#fff;font-size:var(--text-sm);text-align:center;background:#ef4444b3;border-bottom:1px solid #ef44444d;display:flex;position:fixed;top:60px;left:0;right:0}.maintenance-banner-msg{flex:1;max-width:800px}.maintenance-banner-close{color:#fca5a5;font-size:var(--text-sm);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:2px 6px}.maintenance-banner-close:hover{opacity:1}
