/* utilities.css - reset and helpers */
:root{--color-primary:#0b6efd;--color-accent:#ff6b6b;--bg:#f7f8fb;--text:#0f1724}
*{box-sizing:border-box}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0}
html,body{height:100%}
body{line-height:1.4;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.6rem 1rem;border-radius:8px;border:0;cursor:pointer}
.btn.primary{background:var(--color-primary);color:#fff}
.grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr)}}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:0;top:0;width:auto;height:auto;padding:0.5rem;background:#000;color:#fff}

/* focus outline for interactive elements */
:focus{outline:3px solid rgba(11,110,253,0.2);outline-offset:2px}
img{max-width:100%;height:auto;display:block}