/* ============================================================
   rey_ — archivio / events
   ============================================================ */
.arc{position:relative;z-index:2;}

/* hero */
.arc-hero{padding-top:clamp(120px,17vh,200px);padding-bottom:clamp(28px,5vh,56px);}
.arc-hero__title{margin:.18em 0 .5em;}
.arc-hero__title .u{color:var(--fg-dim);}
.arc-hero__lead{max-width:40ch;font-size:clamp(1.05rem,2.2vw,1.5rem);font-weight:300;line-height:1.5;color:var(--fg-dim);}
.arc-hero__lead b{color:var(--fg);font-weight:600;}
.arc-hero__hint{display:block;margin-top:1em;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute);}

/* controls */
.arc-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-block:clamp(14px,2vw,24px);}
.arc-filters{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);
  padding:8px 14px;border:1px solid var(--hair);border-radius:100px;
  transition:color .3s,border-color .3s,background .3s,transform .3s var(--ease);
}
.chip:hover{color:var(--fg);border-color:var(--line);}
.chip.is-on{background:var(--fg);color:#000;border-color:var(--fg);}
.chip--sm{padding:5px 10px;font-size:.64rem;cursor:default;}
.arc-sort{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);display:inline-flex;gap:8px;align-items:center;padding:8px 4px;}
.arc-sort:hover{color:var(--fg);}
.arc-sort__ar{color:var(--fg-mute);}

/* list / terminal table */
.arc-list{padding-bottom:clamp(60px,12vh,140px);}
.arc-list__head,.ev-row{
  display:grid;
  grid-template-columns:46px 62px minmax(0,1.1fr) 120px minmax(0,1.2fr) 28px;
  gap:clamp(10px,2vw,32px);align-items:center;
}
.arc-list__head{
  padding:14px var(--pad);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute);
  border-bottom:1px solid var(--line);
}
.arc-list__rows{list-style:none;}
.ev-row{
  position:relative;padding:clamp(18px,2.2vw,26px) var(--pad);border-bottom:1px solid var(--hair);
  isolation:isolate;color:var(--fg);
  animation:arcIn .7s var(--ease) both;animation-delay:calc(var(--k) * .045s);
}
@keyframes arcIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ev-row{animation:none;}}
.ev-row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.ev-row:hover::before,.ev-row:focus-visible::before{transform:scaleX(1);}
.ev-row:focus-visible{outline:none;}
.ev-row>*{transition:color .4s var(--ease),transform .5s var(--ease);}
.ev-row:hover>*,.ev-row:focus-visible>*{color:#000;}
.ev-row__n{font-size:.74rem;color:var(--fg-mute);}
.ev-row__y{font-size:.78rem;color:var(--fg-dim);}
.ev-row__p{min-width:0;}
.ev-row__t{display:block;font-size:clamp(1.15rem,2.4vw,1.7rem);font-weight:400;letter-spacing:-.01em;line-height:1.1;}
.ev-row__t .u{color:var(--fg-dim);}
.ev-row:hover .ev-row__t .u{color:#000;}
.ev-row__tags{display:block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);margin-top:.5em;}
.ev-row__c{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);}
.ev-row__v{font-size:.74rem;letter-spacing:.04em;color:var(--fg-mute);text-transform:uppercase;}
.ev-row__go{font-size:1.1rem;color:var(--fg-dim);justify-self:end;}
.ev-row:hover .ev-row__go,.ev-row:focus-visible .ev-row__go{color:#000;transform:translateX(6px);}
.arc-list__empty{padding:40px var(--pad);color:var(--fg-mute);letter-spacing:.1em;}

@media (max-width:860px){
  .arc-list__head{display:none;}
  .arc-list__head,.ev-row{grid-template-columns:40px 1fr 26px;}
  .ev-row__y{display:none;}
  .ev-row__c{display:none;}
  .ev-row__v{display:none;}
}
@media (max-width:480px){
  .arc-list__head,.ev-row{grid-template-columns:34px 1fr;}
  .ev-row__go{display:none;}
}

/* ============================================================
   event detail overlay
   ============================================================ */
.ev{
  position:fixed;inset:0;z-index:70;background:#000;color:var(--fg);
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
  transform:translateY(100%);transition:transform .6s var(--ease-io);
  will-change:transform;
}
.ev.is-open{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.ev{transition:none;}}

.ev__bar{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);padding-inline:var(--pad);
  background:linear-gradient(180deg,#000 60%,transparent);
  backdrop-filter:blur(2px);
}
.ev__close{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);}
.ev__close .u{color:var(--fg-dim);}
.ev__close:hover{opacity:.65;}
.ev__counter{font-size:.74rem;letter-spacing:.16em;color:var(--fg-mute);}

.ev__head{padding-top:clamp(30px,8vh,90px);padding-bottom:clamp(20px,4vh,40px);}
.ev__idx{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:1.4em;}
.ev__title{font-size:clamp(2.6rem,10vw,8rem);font-weight:300;line-height:.9;letter-spacing:-.035em;text-transform:lowercase;}
.ev__title .u{color:var(--fg-dim);}
.ev__sub{margin-top:.5em;font-size:clamp(1.05rem,2.4vw,1.6rem);font-weight:300;color:var(--fg-dim);}
.ev__meta{margin-top:1.5em;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);}
.ev__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.4em;}

.ev__body{margin-top:clamp(20px,4vh,46px);}
.ev__p{max-width:62ch;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.62;color:var(--fg-dim);margin-bottom:1.1em;}
.ev__p b{color:var(--fg);font-weight:700;}

.ev__lines{margin-block:clamp(50px,12vh,150px);text-align:center;}
.ev__line{font-size:clamp(1.6rem,6vw,4.4rem);font-weight:700;line-height:1.05;letter-spacing:-.01em;color:var(--fg);text-transform:uppercase;}
.ev__line:nth-child(even){color:var(--fg-mute);}

/* gallery */
.ev__gallery{
  max-width:1500px;margin:clamp(30px,6vh,70px) auto 0;padding:0 var(--pad) clamp(40px,8vh,90px);
  display:flex;flex-direction:column;gap:clamp(40px,9vh,120px);align-items:center;
}
.gfig{position:relative;width:100%;margin:0;overflow:hidden;background:#0a0a0b;}
.gfig img{
  display:block;width:100%;height:auto;
  transform:translate(var(--px,0),var(--py,0)) scale(var(--s,1));
  transition:transform .35s var(--ease);will-change:transform;
}
.gfig:hover img{--s:1.035;}
.gfig figcaption{
  position:absolute;left:12px;bottom:10px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.7);mix-blend-mode:difference;pointer-events:none;
}
.g--wide{width:100%;}
.g--med{width:min(74%,900px);}
.g--port{width:min(48%,500px);}
.g--left{align-self:flex-start;}
.g--right{align-self:flex-end;}
.g--contain{background:#0c0c0d;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,60px);}
.g--contain img{width:auto;max-width:100%;max-height:70vh;}
@media (max-width:720px){
  .g--med,.g--port{width:100%;align-self:stretch;}
}

/* prev / next */
.ev__more{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--hair);padding-block:clamp(40px,8vh,90px);}
.ev__navlink{display:flex;flex-direction:column;gap:.6em;padding:10px 0;}
.ev__navlink--next{text-align:right;align-items:flex-end;}
.ev__navdir{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);transition:color .3s;}
.ev__navtitle{font-size:clamp(1.4rem,4vw,2.6rem);font-weight:300;letter-spacing:-.02em;text-transform:lowercase;color:var(--fg-dim);transition:color .3s,transform .4s var(--ease);}
.ev__navtitle .u{color:var(--fg-mute);}
.ev__navlink:hover .ev__navtitle{color:var(--fg);}
.ev__navlink:hover .ev__navdir{color:var(--fg-dim);}
.ev__navlink--prev:hover .ev__navtitle{transform:translateX(-6px);}
.ev__navlink--next:hover .ev__navtitle{transform:translateX(6px);}
