/* layout.css - estructuras responsivas */
.container { width:100%; margin:0 auto; padding:0 1rem; max-width:1200px; }
.header { position:relative; }
.sticky-header { position:sticky; top:0; z-index:900; background:rgba(34,34,34,.92); backdrop-filter:saturate(150%) blur(6px); }
.site-nav { display:flex; align-items:center; justify-content:space-between; }
.site-nav__menu { display:flex; gap:1rem; }
.site-nav__menu a { padding:.75rem .9rem; font-weight:500; }
.site-nav__toggle { display:none; background:none; border:0; cursor:pointer; }
main { display:block; }
.section { padding:4rem 0; }
.footer { background:#0d4641; color:#fff; padding:3rem 0; font-size:.9375rem; }
.footer a { color:#fff; }
.grid { display:grid; gap:1.5rem; }
@media (max-width:900px){
  .site-nav__toggle { display:inline-flex; }
  .site-nav__menu { position:fixed; inset:0 0 0 40%; background:#222; flex-direction:column; padding:5rem 1.5rem; transform:translateX(100%); transition:transform .35s ease; overflow-y:auto; }
  .site-nav__menu[aria-hidden="false"] { transform:translateX(0); }
  .site-nav__menu a { color:#fff; }
}
@media (max-width:580px){
  .site-nav__menu { inset:0 0 0 25%; }
}
/* Responsive helpers */
.responsive-media { width:100%; aspect-ratio:16/9; }
