
/* --- Mobile fixes injected --- */
*,
*::before,
*::after { box-sizing: border-box; }
html, body { margin:0; padding:0; overflow-x:hidden; }
img, video { max-width:100%; height:auto; display:block; }
.container { width: min(100%, 1100px); margin-inline:auto; padding-inline:16px; }
h1 { font-size: clamp(28px, 6vw, 48px); line-height:1.2; }
h2 { font-size: clamp(22px, 4.8vw, 36px); line-height:1.25; }
p, li, a, button, input { font-size: clamp(14px, 3.6vw, 18px); }
.btn { display:inline-block; padding:12px 16px; border-radius:12px; text-decoration:none; }
@media (max-width: 420px){ .btn { width:100%; text-align:center; } }
.nav { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.nav-links { display:flex; gap:14px; flex-wrap:wrap; }
.nav-toggle { display:none; }
@media (max-width:780px){
  .nav-toggle { display:block; background:none; border:0; font-size:28px; }
  .nav-links { display:none; flex-direction:column; gap:12px; width:100%; margin-top:10px; }
  .nav-links.open { display:flex; }
}
.grid { display:grid; gap:16px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width:900px){ .grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width:600px){ .grid-3 { grid-template-columns: 1fr; } }
.gallery img { width:100%; height:auto; border-radius:12px; }
.footer .badge { max-width: 180px; height:auto; }
