:root {
  color-scheme: dark;
  font-family: "Segoe UI", Arial, sans-serif;
  background: #100f13;
  color: white;
  --naranja: #ff6900;
}
* { box-sizing: border-box; }
body { margin: 0; isolation: isolate; }
#fondo, body::before { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#fondo { z-index: -2; object-fit: cover; }
body::before { content: ""; z-index: -1; background: rgba(12,10,15,.62); }
.shell { display: grid; min-height: 100svh; grid-template-rows: 1fr auto; }
footer { text-align: center; padding: 0 16px 20px; color: #ded6d1; font-size: .875rem; }
main { display: grid; align-content: center; justify-items: center; gap: clamp(32px,6vh,64px); padding: 48px 5vw; }
.intro { text-align: center; width: 100%; }
.eyebrow { color: var(--naranja); text-transform: uppercase; font-size: .82rem; font-weight: 600; letter-spacing: .15em; margin: 0 0 22px; }
h1 { position: relative; overflow: hidden; margin: auto; width: min(570px,96%); aspect-ratio: 6 / 1; }
h1 img { position: absolute; width: 123%; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.instruccion { margin: 24px 0 0; font-size: 1.1rem; color: #eee9e6; }
nav { width: min(100%,960px); display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.proyecto svg { width: 25px; height: 25px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.proyecto { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 24px; min-height: 68px; text-decoration: none; text-align: center; font-size: 1.05rem; font-weight: 550; line-height: 1.35; color: var(--naranja); background: #181311ec; border: 1px solid var(--naranja); border-radius: 5px; }
.proyecto:hover, .proyecto:focus-visible { background: var(--naranja); color: #20150e; }
.proyecto:focus-visible { outline: 2px solid white; outline-offset: 4px; }
@media (max-width: 700px) { nav { max-width: 420px; grid-template-columns: 1fr; gap: 10px; } .proyecto { min-height: 58px; } }
