/* ---------- Navegación ---------- */
nav{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);border-bottom:2px solid var(--red)}
nav .w{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding-block:.7rem}
.brand{font:italic 500 1.6rem var(--display);text-decoration:none;margin-right:auto}
a.l{font:italic 700 1rem var(--tag);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--muted);padding:.3rem 1rem;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);transition:background .2s,color .2s}
a.l:hover,a.l[aria-current]{background:var(--red);color:#fff}
.lang{display:flex}
.lang button{background:none;clip-path:none;padding:.2rem .5rem;font-size:.9rem;color:var(--muted)}
.lang button:hover{background:none;color:var(--text)}
.lang button[aria-pressed="true"]{background:none;color:var(--red-l);text-decoration:underline;text-underline-offset:.35em}

#view>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
#view>:nth-child(2){animation-delay:.1s}#view>:nth-child(3){animation-delay:.2s}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:3rem;align-items:center;min-height:min(44rem,84vh);padding-block:3rem 6rem}
.hero h1{font:italic 500 clamp(3rem,7.6vw,6.5rem)/.98 var(--display);letter-spacing:-.025em;margin-bottom:1.5rem}
.hero p{max-width:34rem;font-size:1.2rem;color:var(--muted);margin:0 0 2.25rem}
.cta{display:inline-block;font:italic 800 1.15rem var(--tag);text-transform:uppercase;letter-spacing:.05em;background:var(--red);color:#fff;text-decoration:none;padding:.8rem 2.4rem;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);transition:background .2s,color .2s}
.cta:hover{background:#fff;color:#000}
.spot{display:block;background:var(--red);color:#fff;text-decoration:none;padding:2.75rem 2.25rem;clip-path:polygon(0 5%,100% 0,100% 95%,0 100%);transform:rotate(-1.5deg);transition:transform .35s,background .35s,color .35s}
.spot:hover{transform:rotate(0) scale(1.03);background:#fff;color:#000}
.spot .k{display:block;font:italic 700 .95rem var(--tag);text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.spot strong{display:block;font:italic 500 clamp(1.8rem,3.4vw,2.8rem)/1.05 var(--display);margin:.6rem 0}
.spot em{display:block;font-style:normal;opacity:.9}.spot small{display:block;margin-top:1rem;font-size:.95rem}

/* ---------- Manifiesto: banda blanca inclinada ---------- */
.manifesto{background:#fff;color:#000;clip-path:polygon(0 10%,100% 0,100% 90%,0 100%);padding-block:8rem}
.manifesto p{font:italic 500 clamp(1.8rem,4.2vw,3.3rem)/1.18 var(--display);max-width:54rem;margin:0}

/* ---------- Secciones ---------- */
section{padding-block:5rem}
h2{font:italic 500 clamp(2.4rem,5.5vw,4.2rem)/1 var(--display);letter-spacing:-.02em}
h2::after{content:"";display:block;width:5rem;height:6px;background:var(--red);margin-top:1rem;transform:skewX(-30deg)}
h2.mini{font-size:2rem;margin-bottom:1.5rem}h2.mini::after{height:4px;width:3rem}
.sub{color:var(--muted);max-width:34rem;margin:1.1rem 0 3rem}

/* ---------- Proyectos ---------- */
.pj{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem}
.pj a{display:block;height:100%;padding:2rem 2rem 2.25rem;background:var(--panel);border-left:6px solid var(--red);text-decoration:none;clip-path:polygon(0 0,100% 0,97% 100%,0 100%);transition:transform .25s,background .25s}
.pj a:hover{transform:translateX(.6rem);background:var(--red)}
.pj h3{font:italic 500 clamp(1.7rem,3vw,2.3rem)/1.05 var(--display);margin-bottom:.5rem}
.pj p{margin:0;color:var(--muted)}.pj a:hover p{color:#fff}.pj small{display:block;margin-top:1rem;color:var(--latte)}.pj a:hover small{color:#fff}

/* ---------- Equipo ---------- */
.band{background:var(--coffee);clip-path:polygon(0 6%,100% 0,100% 100%,0 100%);padding-top:8rem}
.band .sub{color:var(--latte)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));list-style:none;margin:0;padding:0;border-top:1px solid rgba(217,180,140,.35)}
.team>li{padding:1.75rem 1.5rem 2rem 0;border-bottom:1px solid rgba(217,180,140,.35)}
.team strong{display:block;font:italic 500 clamp(1.6rem,3vw,2.2rem)/1.1 var(--display)}
.team ul{list-style:none;margin:.75rem 0 0;padding:0;color:var(--latte);font-size:.98rem;line-height:1.55}

/* ---------- Página de proyecto ---------- */
.phead{padding-block:4rem 1rem}
.back{font:italic 700 1rem var(--tag);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-decoration:none}.back:hover{color:var(--red-l)}
.phead h1{font:italic 500 clamp(2.8rem,7vw,5.5rem)/1 var(--display);letter-spacing:-.025em;margin:1rem 0}
.phead p{max-width:36rem;color:var(--muted);font-size:1.2rem;margin:0 0 1.5rem}
.badge{display:inline-block;background:var(--red);color:#fff;font:italic 700 .95rem var(--tag);text-transform:uppercase;padding:.15rem 1.1rem;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}

/* ---------- Dev-log ---------- */
.tools{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem}
.tools .q{max-width:18rem;margin:0}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.filters button{padding:.25rem 1rem;font-size:.9rem}
.entry{display:grid;grid-template-columns:10.5rem 1fr;gap:3rem;padding:2.75rem 0;border-top:1px solid var(--line)}
.entry.latest{padding:2.5rem 2rem;background:var(--panel);border:0;border-left:6px solid var(--red);clip-path:polygon(0 0,100% 0,99% 100%,0 100%)}
.meta{position:sticky;top:5.5rem;align-self:start;font:600 .9rem/1.5 var(--sans);color:var(--muted)}
.meta time{display:block;font:italic 500 1.4rem/1.15 var(--display);color:var(--text)}
.ver{display:inline-block;margin-top:.6rem;padding:.1rem .9rem;background:var(--red);color:#fff;font:italic 700 .95rem var(--tag);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.plink{display:inline-block;margin-bottom:.4rem;font:italic 700 .95rem var(--tag);text-transform:uppercase;letter-spacing:.04em;color:var(--red-l);text-decoration:none}.plink:hover{text-decoration:underline}
h3.t{font:italic 500 clamp(1.9rem,4.2vw,3rem)/1.05 var(--display);margin-bottom:.9rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none}
.tags li{font:600 .8rem var(--sans);color:var(--latte);border:1px solid var(--mocha);padding:.05rem .65rem}
.body{max-width:40rem;color:#e8dfd6}.body p{margin:0 0 1rem}.body ul{padding-left:1.3rem}.body a{color:var(--red-l)}
.body img,video{max-width:100%;height:auto;display:block;margin:1.5rem 0;border:1px solid var(--edge)}
.body code{font-size:.9em;background:var(--line);padding:.1em .35em}
.acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
details.com{max-width:40rem;margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--line)}
summary{cursor:pointer;font:700 .95rem var(--sans)}summary:hover{color:var(--red-l)}
.clist{list-style:none;padding:0;margin:1rem 0}.clist li{padding:.8rem 0;border-top:1px solid var(--line)}
.clist p{margin:.2rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.clist time{color:var(--muted);font-size:.9rem}

/* ---------- Términos ---------- */
.terms{max-width:46rem;padding-block:4rem 2rem}
.terms h1{font:italic 500 clamp(2.6rem,6vw,4.5rem)/1 var(--display);margin-bottom:.75rem}
.terms h2{font-size:1.7rem;margin:2.5rem 0 .5rem}.terms h2::after{display:none}.terms p{color:#e8dfd6}

/* ---------- Pie ---------- */
footer{margin-top:4rem;padding-block:4rem 2rem;border-top:2px solid var(--red)}
.f-mark{font:italic 500 clamp(3.5rem,13vw,10rem)/.9 var(--display);color:transparent;-webkit-text-stroke:1.5px var(--red);margin:0 0 2.5rem}
.f-row{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;color:var(--muted);font-size:.9rem}

@media (max-width:760px){
  section{padding-block:3.5rem}
  .hero{grid-template-columns:1fr;min-height:0;padding-block:2rem 4rem}
  .manifesto{padding-block:5rem}
  .entry{grid-template-columns:1fr;gap:1rem}
  .meta{position:static;display:flex;align-items:baseline;gap:.9rem}.ver{margin-top:0}
}
