/* main.css — base reset & primitives only */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
:root{
  --container:clamp(960px, 92vw, 1240px);
  --gap: clamp(.8rem, 1.4vw, 1.2rem);
  --radius: 16px;
}
.container{width:min(var(--container), 100%);margin-inline:auto;padding-inline:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.grid{display:grid;gap:var(--gap)}
.flex{display:flex;gap:var(--gap)}
