/* =========================================================================
   GROOVE PROTOCOL - NIGHT EDITION FRONT PAGE
   Loaded only on the front page, after night-edition.css. Every rule is
   scoped to .ne-home so the composition never leaks into other templates.
   The footer signature is global and lives in night-edition.css.

   Separation comes from proportion, space, type and photography, not from
   frames: the only rules left are functional (active tab, entry timer,
   colophon). Pacing down the page:
     hero (feature) > now (dense) > archive (pause + index, stone)
     > signal (feature, bleeds left) > labels (index + current release)
     > nights (media, bleeds right) > bookings (interactive index)
     > footer (signature)
   ========================================================================= */

.ne-home{
  --ne-grade:grayscale(1) contrast(1.06) brightness(.95);
  --ne-head:72px;
  --ne-sec-y:clamp(88px,8.6vw,136px);   /* one section rhythm */
  --ne-col2:104px;                      /* shared second-column axis */
  /* Distance from the content edge to the right-column line, which is where
     the SIGNAL lead text starts (50vw + its inset). Two-column modules snap to it. */
  --ne-content-left:max(var(--ne-gutter),calc((100vw - var(--ne-wrap)) / 2 + var(--ne-gutter)));
  --ne-split:calc(50vw + clamp(32px,5vw,96px) - var(--ne-content-left));
  --ne-split-gap:48px;
  /* Archive mode: cold stone, same ink family as the rest of the system */
  --ne-stone:#d6d9d7;
  --ne-stone-2:#c9cdcb;
  --ne-stone-ink:#121416;
  --ne-stone-ink-2:#3d4245;
  --ne-stone-ink-3:#52585c;            /* 5.1:1 on stone */
  --ne-stone-red:#9b1e18;              /* 5.9:1 on stone */
  --ne-stone-line:rgba(18,20,22,.14);
  color:var(--ne-text);
  font-variant-numeric:tabular-nums;
}
.ne-home *,.ne-home *::before,.ne-home *::after{box-sizing:border-box;}
.ne-home h1,.ne-home h2,.ne-home h3,.ne-home h4,.ne-home p,.ne-home ol,.ne-home ul,.ne-home figure,.ne-home blockquote{margin:0;}
.ne-home ol,.ne-home ul{padding:0;list-style:none;}
.ne-home h1,.ne-home h2,.ne-home h3,.ne-home h4{color:inherit;letter-spacing:0;}
/* One headline voice at 500; ":root" outranks the legacy body:not(...) h1-h3 weights. */
:root .ne-home h1,:root .ne-home h2,:root .ne-home h3,:root .ne-home h4{font-weight:500;}
.ne-home img{display:block;max-width:100%;height:auto;}
.ne-home a{color:inherit;text-decoration:none;}
.ne-home button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left;}
.ne-home .ne-wrap{max-width:var(--ne-wrap);margin:0 auto;padding:0 var(--ne-gutter);}
.ne-home .ne-red{color:var(--ne-red-text);}

/* ---- Shared type ---- */
.ne-home .ne-meta{font-size:var(--ne-fs-meta);line-height:1.45;letter-spacing:var(--ne-track-meta);text-transform:uppercase;color:rgba(241,239,233,.64);}
.ne-home .ne-link{
  display:inline-flex;align-items:center;gap:6px;min-height:44px;
  font-size:var(--ne-fs-small);color:var(--ne-text);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;
  text-decoration-color:rgba(241,239,233,.3);
  transition:text-decoration-color var(--ne-t-fast) var(--ne-ease),color var(--ne-t-fast) var(--ne-ease);
}
.ne-home .ne-link:hover{text-decoration-color:currentColor;}
.ne-home .ne-link span[aria-hidden]{transition:transform var(--ne-t) var(--ne-ease);}
.ne-home .ne-link:hover span[aria-hidden]{transform:translateX(3px);}
.ne-home .ne-link--quiet{color:var(--ne-text-2);}
.ne-home .ne-btn{
  display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 20px;
  border-radius:2px;background:var(--ne-text);color:var(--ne-ink);
  font-size:var(--ne-fs-small);font-weight:500;
  transition:background var(--ne-t-fast) var(--ne-ease);
}
.ne-home .ne-btn:hover{background:#fff;}
.ne-home .ne-btn span[aria-hidden]{transition:transform var(--ne-t) var(--ne-ease);}
.ne-home .ne-btn:hover span[aria-hidden]{transform:translateX(3px);}

/* ---- Running head: number / section / link. Type only, no rule. ---- */
.ne-home .ne-sec{padding:var(--ne-sec-y) 0 0;}
.ne-home .ne-rh{
  display:grid;grid-template-columns:var(--ne-col2) minmax(0,1fr) auto;gap:0;align-items:baseline;
  margin-bottom:clamp(36px,4vw,56px);
}
.ne-home .ne-rh__n{grid-column:1;font-size:var(--ne-fs-meta);color:rgba(241,239,233,.5);}
.ne-home .ne-rh__t{grid-column:2;font-size:var(--ne-fs-meta);letter-spacing:.14em;text-transform:uppercase;line-height:1.4;}
.ne-home .ne-rh__t img{height:22px;width:auto;margin-top:-3px;}
.ne-home .ne-rh__a{grid-column:3;justify-self:end;min-height:0;}

/* =========================================================================
   HERO (feature)
   ========================================================================= */
.ne-home .ne-hero{
  position:relative;overflow:hidden;background:#000;
  height:clamp(560px,calc(100svh - var(--ne-head)),880px);
}
.ne-home .ne-hero__media{position:absolute;inset:0;}
.ne-home .ne-hero__slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:var(--ne-focus,50% 40%);
  filter:var(--ne-grade);
  opacity:0;transform:scale(1.02);
  transition:opacity 1.4s var(--ne-ease),transform 9s linear;
}
.ne-home .ne-hero__slide.is-on{opacity:1;transform:scale(1.06);}
.ne-home .ne-hero__shade{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.16) 44%,rgba(0,0,0,0) 66%),
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 50%,rgba(11,11,11,.95) 100%);
}
.ne-home .ne-hero__inner{
  position:absolute;left:0;right:0;bottom:0;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;
  padding-bottom:clamp(36px,4.6vw,68px);
}
.ne-home .ne-hero h1{font-size:clamp(38px,4vw,56px);line-height:1;letter-spacing:-.03em;max-width:12.5ch;color:var(--ne-text);}
.ne-home .ne-hero__lede{margin-top:20px;font-size:var(--ne-fs-lead);line-height:1.5;color:rgba(241,239,233,.86);max-width:38ch;}
.ne-home .ne-hero__cta{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap;}
.ne-home .ne-hero__side{text-align:right;min-width:240px;max-width:320px;padding-bottom:4px;}
.ne-home .ne-hero__count{font-size:var(--ne-fs-meta);color:rgba(241,239,233,.7);letter-spacing:.04em;}
.ne-home .ne-hero__caption{margin-top:6px;font-size:13px;line-height:1.4;min-height:19px;}
.ne-home .ne-hero__caption a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color var(--ne-t-fast) var(--ne-ease);}
.ne-home .ne-hero__caption a:hover{text-decoration-color:currentColor;}
.ne-home .ne-hero__bars{display:flex;justify-content:flex-end;align-items:center;margin-top:6px;}
.ne-home .ne-hero__bar{min-width:38px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}
.ne-home .ne-hero__bar i{display:block;position:relative;width:30px;height:2px;background:rgba(241,239,233,.26);overflow:hidden;}
.ne-home .ne-hero__bar i::after{content:"";position:absolute;inset:0;background:var(--ne-text);transform:scaleX(0);transform-origin:left;}
.ne-home .ne-hero__bar[aria-current="true"] i::after{animation:ne-fill var(--ne-dur,7000ms) linear forwards;}
.ne-home .ne-hero__bar.is-done i::after{transform:scaleX(1);}
.ne-home .ne-hero.is-paused .ne-hero__bar i::after{animation-play-state:paused;}
.ne-home .ne-hero__pause{min-width:54px;min-height:40px;text-align:right;font-size:var(--ne-fs-meta);color:rgba(241,239,233,.72);letter-spacing:.04em;}
.ne-home .ne-hero__pause:hover{color:var(--ne-text);}
@keyframes ne-fill{to{transform:scaleX(1);}}

/* =========================================================================
   NOW (dense) - a ticker set in type, no cells
   ========================================================================= */
.ne-home .ne-strip{padding:26px 0 30px;}
.ne-home .ne-strip__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 40px;}
.ne-home .ne-strip__list li{min-width:0;}
.ne-home .ne-strip__v{display:block;margin-top:6px;font-size:15px;line-height:1.35;}
.ne-home a.ne-strip__v{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color var(--ne-t-fast) var(--ne-ease);}
.ne-home a.ne-strip__v:hover{text-decoration-color:currentColor;}
.ne-home .ne-strip__v time{color:var(--ne-text-2);}

/* =========================================================================
   01 ARCHIVE - Archive mode on cold stone (pause, then index)
   ========================================================================= */
.ne-home .ne-archive{background:var(--ne-stone);color:var(--ne-stone-ink);padding:var(--ne-sec-y) 0;}
.ne-home .ne-archive .ne-rh__n,
.ne-home .ne-archive .ne-meta{color:var(--ne-stone-ink-3);}
.ne-home .ne-archive .ne-link{color:var(--ne-stone-ink);text-decoration-color:rgba(18,20,22,.3);}
.ne-home .ne-archive .ne-link:hover{text-decoration-color:var(--ne-stone-ink);}
.ne-home .ne-archive :focus-visible{outline-color:var(--ne-stone-red);}
.ne-home .ne-archive__intro{margin:0 0 clamp(56px,6vw,96px) var(--ne-col2);}
.ne-home .ne-archive__mission{font-size:clamp(28px,3vw,42px);line-height:1.1;letter-spacing:-.026em;max-width:23ch;}
.ne-home .ne-archive__count{margin-top:18px;}

.ne-home .ne-archive__tabs{display:flex;flex-wrap:wrap;gap:4px 30px;margin:0 0 32px var(--ne-col2);}
.ne-home .ne-archive__tabs [role="tab"]{
  position:relative;min-height:44px;padding:0 0 2px;
  font-size:15px;color:var(--ne-stone-ink-2);
  transition:color var(--ne-t-fast) var(--ne-ease);
}
.ne-home .ne-archive__tabs [role="tab"]::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--ne-stone-ink);transform:scaleX(0);transform-origin:left;transition:transform var(--ne-t) var(--ne-ease);}
.ne-home .ne-archive__tabs [role="tab"]:hover{color:var(--ne-stone-ink);}
.ne-home .ne-archive__tabs [role="tab"][aria-selected="true"]{color:var(--ne-stone-ink);}
.ne-home .ne-archive__tabs [role="tab"][aria-selected="true"]::after{transform:scaleX(1);}
.ne-home .ne-archive__n{margin-left:5px;font-size:11px;color:var(--ne-stone-ink-3);vertical-align:2px;}

/* The ledger is a typeset index: era in the margin, name, place. */
.ne-home .ne-ledger{columns:3;column-gap:40px;margin-left:var(--ne-col2);}
.ne-home .ne-ledger li{break-inside:avoid;}
.ne-home .ne-ledger a{display:block;padding:6px 0 8px;}
.ne-home .ne-ledger__nm{display:block;font-size:20px;line-height:1.2;letter-spacing:-.016em;transition:color var(--ne-t-fast) var(--ne-ease);}
.ne-home .ne-ledger__pl{display:block;margin-top:1px;font-size:13px;line-height:1.35;color:var(--ne-stone-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ne-home .ne-ledger a:hover .ne-ledger__nm,
.ne-home .ne-ledger a.is-on .ne-ledger__nm{color:var(--ne-stone-red);}
.ne-home .ne-archive__more{display:none;margin:14px 0 0 var(--ne-col2);}
.ne-home .ne-archive__more.has-more{display:block;}

.ne-home .ne-detail{
  position:relative;
  display:grid;grid-template-columns:var(--ne-col2) minmax(0,4fr) minmax(0,6fr) auto;gap:0;align-items:start;
  margin-top:clamp(56px,6vw,88px);padding-top:24px;
}
/* The only rule here is the entry timer itself. */
.ne-home .ne-detail::before{content:"";position:absolute;left:var(--ne-col2);right:0;top:0;height:1px;background:var(--ne-stone-ink);transform:scaleX(0);transform-origin:left;}
.ne-home .ne-detail.is-running::before{animation:ne-fill var(--ne-detail-dur,6000ms) linear forwards;}
.ne-home .ne-detail.is-paused::before{animation-play-state:paused;}
.ne-home .ne-detail.has-image{grid-template-columns:var(--ne-col2) minmax(0,2fr) minmax(0,3fr) minmax(0,5fr) auto;}
.ne-home .ne-detail__img{display:none;aspect-ratio:4/3;background:var(--ne-stone-2);overflow:hidden;}
.ne-home .ne-detail.has-image .ne-detail__img{display:block;grid-column:2;}
.ne-home .ne-detail__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);mix-blend-mode:multiply;}
.ne-home .ne-detail__head{grid-column:2;padding-right:32px;}
.ne-home .ne-detail.has-image .ne-detail__head{grid-column:3;}
.ne-home .ne-detail__label{display:flex;align-items:baseline;gap:14px;}
.ne-home .ne-detail__pause{min-height:28px;font-size:var(--ne-fs-meta);color:var(--ne-stone-ink-3);letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(18,20,22,.25);}
.ne-home .ne-detail__name{margin-top:6px;font-size:24px;line-height:1.15;letter-spacing:-.02em;}
.ne-home .ne-detail__meta{margin-top:6px;text-transform:none;letter-spacing:.01em;font-size:13px;}
.ne-home .ne-detail__note{font-size:16px;line-height:1.55;color:var(--ne-stone-ink-2);max-width:54ch;padding-right:32px;}
.ne-home .ne-detail__act{display:flex;justify-content:flex-end;}
.ne-home .ne-detail [data-ne-d-name],
.ne-home .ne-detail [data-ne-d-note],
.ne-home .ne-detail [data-ne-d-meta]{transition:opacity var(--ne-t) var(--ne-ease);}
.ne-home .ne-detail.is-swapping [data-ne-d-name],
.ne-home .ne-detail.is-swapping [data-ne-d-note],
.ne-home .ne-detail.is-swapping [data-ne-d-meta]{opacity:0;}

/* =========================================================================
   02 SIGNAL (feature) - lead story bleeds left, asymmetric set
   ========================================================================= */
.ne-home .ne-lead{display:grid;grid-template-columns:50vw minmax(0,1fr);align-items:center;}
.ne-home .ne-lead__media{display:block;height:clamp(440px,46vw,660px);overflow:hidden;background:var(--ne-surface);}
.ne-home .ne-lead__media img{width:100%;height:100%;object-fit:cover;object-position:45% 40%;filter:var(--ne-grade);transition:transform 1.2s var(--ne-ease);}
.ne-home .ne-lead:hover .ne-lead__media img{transform:scale(1.02);}
.ne-home .ne-lead__txt{padding:0 max(var(--ne-gutter),calc((100vw - var(--ne-wrap)) / 2 + var(--ne-gutter))) 0 clamp(32px,5vw,96px);}
.ne-home .ne-lead__title{margin-top:14px;font-size:clamp(28px,2.5vw,36px);line-height:1.08;letter-spacing:-.022em;max-width:15ch;}
.ne-home .ne-lead__title a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;}
.ne-home .ne-lead__who{margin-top:12px;font-size:16px;color:var(--ne-text-2);}
.ne-home .ne-lead__stand{margin-top:18px;font-size:16px;line-height:1.55;color:var(--ne-text-2);max-width:42ch;}
.ne-home .ne-pull{margin:32px 0 18px;}
.ne-home .ne-pull p{font-size:clamp(19px,1.6vw,22px);line-height:1.3;letter-spacing:-.012em;max-width:30ch;}
.ne-home .ne-pull p::before{content:"\201C";color:var(--ne-red-text);margin-right:2px;}
.ne-home .ne-pull p::after{content:"\201D";color:var(--ne-red-text);margin-left:1px;}

.ne-home .ne-signal__set{display:grid;grid-template-columns:calc(var(--ne-split) - var(--ne-split-gap)) minmax(0,1fr);gap:var(--ne-split-gap);margin-top:clamp(72px,8vw,112px);align-items:start;}
.ne-home .ne-issue__im{display:block;overflow:hidden;background:var(--ne-surface);}
.ne-home .ne-issue__im img{width:100%;height:100%;object-fit:cover;filter:var(--ne-grade);transition:transform 1s var(--ne-ease);}
.ne-home .ne-issue:hover .ne-issue__im img{transform:scale(1.03);}
.ne-home .ne-issue--major{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:end;}
.ne-home .ne-issue--major .ne-issue__im{aspect-ratio:4/5;}
.ne-home .ne-issue__t{margin-top:6px;font-size:20px;line-height:1.2;letter-spacing:-.014em;}
.ne-home .ne-issue--major .ne-issue__t{font-size:clamp(22px,1.9vw,26px);line-height:1.14;}
.ne-home .ne-issue--major .ne-link{margin-top:6px;}
.ne-home .ne-issue__t a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}
.ne-home .ne-issue__who{margin-top:4px;font-size:15px;color:var(--ne-text-2);}
.ne-home .ne-issue__stand{margin-top:10px;font-size:15px;line-height:1.55;color:rgba(241,239,233,.62);max-width:56ch;}
.ne-home .ne-signal__minor{display:grid;gap:36px;}
.ne-home .ne-issue--minor{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:start;}
.ne-home .ne-issue--minor .ne-issue__im{aspect-ratio:1/1;}
/* Head-and-shoulders crop for square portrait cards (keeps garment graphics out of a small frame). */
.ne-home .ne-issue--minor .ne-issue__im img{transform:scale(1.42);transform-origin:46% 8%;}
.ne-home .ne-issue--minor:hover .ne-issue__im img{transform:scale(1.46);}

.ne-home .ne-index-line{display:grid;grid-template-columns:var(--ne-col2) minmax(0,1fr);margin-top:56px;}
.ne-home .ne-index-line + .ne-index-line{margin-top:6px;}
.ne-home .ne-index-line .ne-meta{padding:11px 12px 0 0;white-space:nowrap;letter-spacing:.05em;}
.ne-home .ne-index-line ul{display:flex;flex-wrap:wrap;gap:0 28px;}
.ne-home .ne-index-line a{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:15px;color:var(--ne-text-2);transition:color var(--ne-t-fast) var(--ne-ease);}
.ne-home .ne-index-line a:hover{color:var(--ne-text);}
.ne-home .ne-index-line b{font-weight:400;color:rgba(241,239,233,.5);}

/* =========================================================================
   03 LABELS (index) - one current release, then imprint identity,
   compact catalogue and context. Older artwork at index size only.
   ========================================================================= */
.ne-home .ne-labels__grid{display:grid;grid-template-columns:calc(var(--ne-split) - var(--ne-split-gap)) minmax(0,1fr);gap:var(--ne-split-gap);align-items:start;}
.ne-home .ne-current{padding-left:var(--ne-col2);}
.ne-home .ne-current__sleeve{display:block;aspect-ratio:1/1;max-width:440px;overflow:hidden;background:#121212;box-shadow:0 48px 90px -48px rgba(0,0,0,.95);}
.ne-home .ne-current__sleeve img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ne-ease);}
.ne-home .ne-current:hover .ne-current__sleeve img{transform:scale(1.02);}
.ne-home .ne-current__txt{margin-top:24px;max-width:440px;}
.ne-home .ne-current__t{margin-top:8px;font-size:clamp(22px,1.9vw,28px);line-height:1.08;letter-spacing:-.022em;}
.ne-home .ne-current__t a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;}
.ne-home .ne-current__who{margin-top:10px;font-size:15px;color:var(--ne-text-2);}
.ne-home .ne-current .ne-link{margin-top:8px;}

.ne-home .ne-imprints{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(56px,6vw,88px);padding-top:4px;min-width:0;}
.ne-home .ne-imprint__h{display:flex;align-items:center;gap:16px;}
.ne-home .ne-imprint__id{min-width:0;}
.ne-home .ne-imprint__h img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;}
.ne-home .ne-imprint{min-width:0;}
.ne-home .ne-imprint__h h3{min-width:0;font-size:clamp(28px,3vw,42px);line-height:1.04;letter-spacing:-.026em;}
.ne-home .ne-imprint__h h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}
.ne-home .ne-imprint__n{display:block;margin-top:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(241,239,233,.5);white-space:nowrap;}
.ne-home .ne-imprint__ctx{margin-top:18px;font-size:14px;line-height:1.55;color:rgba(241,239,233,.62);max-width:48ch;}
.ne-home .ne-cat{margin-top:20px;}
.ne-home .ne-cat a{display:grid;grid-template-columns:36px 72px minmax(0,1fr);gap:14px;align-items:center;min-height:48px;padding:4px 0;}
.ne-home .ne-cat__th{width:36px;height:36px;background:#141414;overflow:hidden;}
.ne-home .ne-cat__th img{width:100%;height:100%;object-fit:cover;}
.ne-home .ne-cat__no{font-size:12px;letter-spacing:.04em;color:rgba(241,239,233,.5);}
.ne-home .ne-cat__t{font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ne-home .ne-cat__who{color:rgba(241,239,233,.5);}
.ne-home .ne-cat a:hover .ne-cat__t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.ne-home .ne-imprint__links{display:flex;gap:24px;flex-wrap:wrap;margin-top:10px;}

/* =========================================================================
   04 NIGHTS (media) - club photograph breaks the grid to the right edge
   ========================================================================= */
.ne-home .ne-nights__stage{display:grid;grid-template-columns:minmax(0,1fr) 50vw;align-items:start;}
.ne-home .ne-nights__photo{grid-column:2;grid-row:1;margin-top:clamp(56px,6vw,96px);height:clamp(420px,42vw,620px);overflow:hidden;background:#000;}
.ne-home .ne-nights__photo img{width:100%;height:100%;object-fit:cover;object-position:46% 62%;}
.ne-home .ne-nights__txt{
  grid-column:1;grid-row:1;
  padding:0 clamp(32px,5vw,88px) 0 max(var(--ne-gutter),calc((100vw - var(--ne-wrap)) / 2 + var(--ne-gutter)));
}
.ne-home .ne-night__t{margin-top:10px;font-size:clamp(26px,2.4vw,34px);line-height:1.08;letter-spacing:-.022em;max-width:14ch;}
.ne-home .ne-night__t a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;}
.ne-home .ne-night__when{margin-top:12px;font-size:15px;color:var(--ne-text-2);}
.ne-home .ne-night__lineup{margin-top:8px;font-size:15px;color:rgba(241,239,233,.62);}
.ne-home .ne-night .ne-btn{margin-top:22px;}
.ne-home .ne-night__note{margin-top:16px;font-size:14px;color:rgba(241,239,233,.62);max-width:36ch;}
.ne-home .ne-past{margin-top:clamp(40px,4.5vw,64px);}
.ne-home .ne-past ol{margin-top:12px;}
.ne-home .ne-past a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 12px;align-items:baseline;padding:7px 0;}
.ne-home .ne-past__dt{grid-row:1 / 3;font-size:13px;color:rgba(241,239,233,.5);}
.ne-home .ne-past__t{font-size:16px;line-height:1.3;}
.ne-home .ne-past__w{font-size:13px;color:rgba(241,239,233,.5);}
.ne-home .ne-past a:hover .ne-past__t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.ne-home .ne-series{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 22px;margin-top:28px;}
.ne-home .ne-series .ne-meta{margin-right:2px;}
.ne-home .ne-series a{font-size:15px;color:var(--ne-text-2);min-height:40px;display:inline-flex;align-items:center;transition:color var(--ne-t-fast) var(--ne-ease);}
.ne-home .ne-series a:hover{color:var(--ne-text);}

/* =========================================================================
   05 BOOKINGS (interactive index) - names drive the portrait
   ========================================================================= */
.ne-home .ne-book{padding-bottom:var(--ne-sec-y);}
.ne-home .ne-book__grid{display:grid;grid-template-columns:calc(var(--ne-split) - var(--ne-split-gap)) minmax(0,1fr);gap:var(--ne-split-gap);align-items:start;}
.ne-home .ne-book__list{min-width:0;}
.ne-home .ne-book__intro{font-size:16px;color:var(--ne-text-2);max-width:46ch;margin:0 0 28px var(--ne-col2);}
.ne-home .ne-roster__item{
  position:relative;
  display:grid;grid-template-columns:calc(var(--ne-col2) - 16px) auto minmax(0,1fr);gap:16px;align-items:baseline;
  padding:2px 0;
}
.ne-home .ne-roster__img{display:none;}
.ne-home .ne-roster__no{font-size:12px;color:rgba(241,239,233,.5);transition:color var(--ne-t-fast) var(--ne-ease);}
.ne-home .ne-roster__nm{
  justify-self:start;
  font-size:clamp(28px,2.7vw,40px);line-height:1.16;letter-spacing:-.022em;
  color:rgba(241,239,233,.54);
  transition:color var(--ne-t) var(--ne-ease);
}
.ne-home .ne-roster__mt{display:none;}
.ne-home .ne-roster__bk{
  justify-self:start;
  font-size:14px;color:var(--ne-text);min-height:32px;display:inline-flex;align-items:center;gap:6px;
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(241,239,233,.35);
  opacity:0;transform:translateX(-6px);transition:opacity var(--ne-t) var(--ne-ease),transform var(--ne-t) var(--ne-ease);
}
.ne-home .ne-roster__item:hover .ne-roster__nm,
.ne-home .ne-roster__item:focus-within .ne-roster__nm,
.ne-home .ne-roster__item.is-on .ne-roster__nm{color:#fff;}
.ne-home .ne-roster__item.is-on .ne-roster__no{color:var(--ne-red-text);}
.ne-home .ne-roster__item:hover .ne-roster__bk,
.ne-home .ne-roster__item:focus-within .ne-roster__bk{opacity:1;transform:none;}
.ne-home .ne-roster__nm:focus-visible{outline-offset:4px;}
.ne-home .ne-panel [hidden]{display:none;}
.ne-home .ne-roster__hint{display:none;}

.ne-home .ne-panel{position:sticky;top:calc(var(--ne-head) + 32px);}
.ne-home .ne-panel__img{position:relative;aspect-ratio:4/5;background:var(--ne-surface);overflow:hidden;}
.ne-home .ne-panel__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:var(--ne-grade);opacity:0;transform:scale(1.015);transition:opacity 320ms var(--ne-ease),transform 320ms var(--ne-ease);}
.ne-home .ne-panel__img img.is-on{opacity:1;transform:scale(1);}
.ne-home .ne-panel__count{position:absolute;left:16px;bottom:14px;font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.82);text-shadow:0 1px 8px rgba(0,0,0,.5);}
.ne-home .ne-panel__body{margin-top:18px;}
.ne-home .ne-panel__name{font-size:26px;line-height:1.15;letter-spacing:-.02em;}
.ne-home .ne-panel__meta{margin-top:4px;font-size:14px;color:rgba(241,239,233,.62);min-height:21px;}
.ne-home .ne-panel__act{display:flex;align-items:center;gap:22px;margin-top:20px;flex-wrap:wrap;}

/* =========================================================================
   Reveal (only once night-home.js has run; reduced motion shows at once)
   ========================================================================= */
.ne-home.ne-js [data-ne-reveal]{opacity:0;transform:translateY(12px);transition:opacity 600ms var(--ne-ease),transform 600ms var(--ne-ease);}
.ne-home.ne-js [data-ne-reveal].is-in{opacity:1;transform:none;}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:1100px){
  .ne-home .ne-ledger{columns:2;}
  .ne-home .ne-detail,.ne-home .ne-detail.has-image{grid-template-columns:var(--ne-col2) minmax(0,1fr);row-gap:12px;}
  .ne-home .ne-detail__head,.ne-home .ne-detail.has-image .ne-detail__head,
  .ne-home .ne-detail__note,.ne-home .ne-detail__act{grid-column:2;}
  .ne-home .ne-detail__img,.ne-home .ne-detail.has-image .ne-detail__img{display:none;}
  .ne-home .ne-detail__act{justify-content:flex-start;}
  .ne-home .ne-issue--major{grid-template-columns:1fr;gap:16px;}
  .ne-home .ne-issue--major .ne-issue__im{max-width:360px;}
}
@media (max-width:960px){
  .ne-home{--ne-head:60px;--ne-col2:88px;}
  .ne-home .ne-rh{grid-template-columns:auto minmax(0,1fr) auto;column-gap:14px;}
  .ne-home .ne-detail,.ne-home .ne-detail.has-image{grid-template-columns:minmax(0,1fr);}
  .ne-home .ne-detail::before{left:0;}
  .ne-home .ne-detail__head,.ne-home .ne-detail.has-image .ne-detail__head,
  .ne-home .ne-detail__note,.ne-home .ne-detail__act{grid-column:1;padding-right:0;}
  .ne-home .ne-index-line{grid-template-columns:minmax(0,1fr);}
  .ne-home .ne-index-line .ne-meta{padding-top:0;}
  .ne-home .ne-index-line + .ne-index-line{margin-top:20px;}
  .ne-home .ne-hero__inner{grid-template-columns:1fr;gap:20px;}
  .ne-home .ne-hero__side{
    text-align:left;min-width:0;max-width:none;
    display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"cap cap" "count bars";align-items:center;column-gap:14px;
  }
  .ne-home .ne-hero__caption{grid-area:cap;margin:0 0 2px;}
  .ne-home .ne-hero__count{grid-area:count;}
  .ne-home .ne-hero__bars{grid-area:bars;justify-content:flex-start;margin:0;}
  .ne-home .ne-strip__list{grid-template-columns:1fr 1fr;}
  .ne-home .ne-archive__intro,.ne-home .ne-archive__tabs,.ne-home .ne-archive__more,.ne-home .ne-ledger{margin-left:0;}
  .ne-home .ne-lead{grid-template-columns:1fr;}
  .ne-home .ne-lead__media{height:auto;aspect-ratio:16/10;}
  .ne-home .ne-lead__txt{padding:36px var(--ne-gutter) 0;}
  .ne-home .ne-signal__set{grid-template-columns:minmax(0,1fr);}
  .ne-home .ne-issue--major{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;}
  .ne-home .ne-issue--major .ne-issue__im{max-width:none;}
  .ne-home .ne-labels__grid{grid-template-columns:minmax(0,1fr);gap:72px;}
  .ne-home .ne-current{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:end;padding-left:0;}
  .ne-home .ne-current__txt{margin-top:0;}
  .ne-home .ne-imprints{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
  .ne-home .ne-imprint__h h3{white-space:normal;}
  .ne-home .ne-nights__stage{grid-template-columns:minmax(0,1fr);}
  .ne-home .ne-nights__photo{grid-column:1;grid-row:1;margin-top:0;height:auto;aspect-ratio:16/9;}
  .ne-home .ne-nights__txt{grid-column:1;grid-row:2;padding:40px var(--ne-gutter) 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .ne-home .ne-past{margin-top:0;}
  .ne-home .ne-series{grid-column:1 / -1;margin-top:0;}
  .ne-home .ne-book__grid{grid-template-columns:minmax(0,1fr);}
  .ne-home .ne-panel{display:none;}
  .ne-home .ne-book__intro{margin-left:0;}
  /* Bookings: from tablet down the roster is a swipeable portrait rail with a position counter */
  .ne-home .ne-roster{
    display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,40vw,320px);gap:16px;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--ne-gutter);
    margin:0 calc(var(--ne-gutter) * -1);padding:0 var(--ne-gutter) 4px;scrollbar-width:none;
  }
  .ne-home .ne-roster::-webkit-scrollbar{display:none;}
  .ne-home .ne-roster__item{display:block;padding:0;scroll-snap-align:start;}
  .ne-home .ne-roster__img{display:block;aspect-ratio:4/5;background:var(--ne-surface);overflow:hidden;margin-bottom:14px;}
  .ne-home .ne-roster__img img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:var(--ne-grade);}
  .ne-home .ne-roster__no{display:none;}
  .ne-home .ne-roster__nm{display:block;font-size:24px;color:var(--ne-text);}
  .ne-home .ne-roster__mt{display:block;margin:4px 0 0;font-size:14px;color:rgba(241,239,233,.55);}
  .ne-home .ne-roster__bk{opacity:1;transform:none;margin-top:4px;min-height:44px;}
  .ne-home .ne-roster__hint{display:block;margin-top:16px;font-size:12px;letter-spacing:.06em;color:rgba(241,239,233,.55);}
}
@media (max-width:640px){
  .ne-home{--ne-sec-y:72px;--ne-col2:76px;}
  .ne-home .ne-rh{gap:0 10px;margin-bottom:32px;}
  .ne-home .ne-hero{height:calc(100svh - var(--ne-head));min-height:540px;max-height:760px;}
  .ne-home .ne-hero__slide{object-position:var(--ne-focus-m,50% 40%);}
  .ne-home .ne-hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,0) 20%,rgba(11,11,11,.3) 40%,rgba(11,11,11,.92) 66%,rgba(11,11,11,.98) 100%);}
  .ne-home .ne-hero h1{font-size:clamp(34px,9.6vw,42px);}
  .ne-home .ne-hero__lede{font-size:16px;}
  .ne-home .ne-hero__cta{gap:18px;margin-top:24px;}
  .ne-home .ne-hero__bar{min-width:30px;}
  .ne-home .ne-hero__bar i{width:20px;}
  .ne-home .ne-hero__pause{min-width:44px;}
  .ne-home .ne-strip{padding:18px 0 8px;}
  .ne-home .ne-strip__list{grid-template-columns:1fr;gap:0;}
  .ne-home .ne-strip__list li{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:12px;align-items:baseline;padding:9px 0;}
  .ne-home .ne-strip__v{margin-top:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ne-home .ne-archive__tabs{
    flex-wrap:nowrap;overflow-x:auto;gap:0 22px;margin:0 calc(var(--ne-gutter) * -1) 20px;padding:0 var(--ne-gutter);scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);
  }
  .ne-home .ne-archive__tabs::-webkit-scrollbar{display:none;}
  .ne-home .ne-archive__tabs [role="tab"]{flex:none;}
  .ne-home .ne-ledger{columns:1;}
  .ne-home .ne-ledger li:nth-child(n+11){display:none;}
  .ne-home .ne-archive__more{display:block;}
  .ne-home .ne-ledger__nm{font-size:19px;}
  .ne-home .ne-detail,.ne-home .ne-detail.has-image{grid-template-columns:1fr;margin-top:48px;}
  .ne-home .ne-detail::before{left:0;}
  .ne-home .ne-detail__head,.ne-home .ne-detail.has-image .ne-detail__head,
  .ne-home .ne-detail__note,.ne-home .ne-detail__act{grid-column:1;}
  .ne-home .ne-lead__media{aspect-ratio:4/3;}
  .ne-home .ne-issue--major{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:start;}
  .ne-home .ne-issue--major .ne-issue__stand{display:none;}
  .ne-home .ne-issue--minor{grid-template-columns:88px minmax(0,1fr);gap:16px;}
  .ne-home .ne-signal__minor{gap:24px;}
  .ne-home .ne-index-line{grid-template-columns:1fr;margin-top:44px;}
  .ne-home .ne-index-line .ne-meta{padding-top:0;}
  .ne-home .ne-index-line + .ne-index-line{margin-top:20px;}
  .ne-home .ne-index-line ul{gap:0 20px;}
  /* Labels: the current release opens the section full width */
  .ne-home .ne-current{display:block;}
  .ne-home .ne-current__sleeve{max-width:74%;margin:0;}
  .ne-home .ne-current__txt{margin-top:22px;}
  .ne-home .ne-imprints{grid-template-columns:minmax(0,1fr);gap:56px;}
  .ne-home .ne-cat__t{white-space:normal;}
  /* Nights: the photograph leads full bleed, the night follows */
  .ne-home .ne-nights__photo{aspect-ratio:4/3;}
  .ne-home .ne-nights__txt{display:block;padding-top:32px;}
  .ne-home .ne-past{margin-top:40px;}
  .ne-home .ne-past a{grid-template-columns:88px minmax(0,1fr);}
  .ne-home .ne-roster{grid-auto-columns:72vw;gap:14px;}
}
@media print{
  .ne-home [data-ne-reveal]{opacity:1 !important;transform:none !important;}
}
@media (prefers-reduced-motion:reduce){
  .ne-home .ne-hero__slide{transition:opacity 1ms;transform:none !important;}
  .ne-home.ne-js [data-ne-reveal]{opacity:1;transform:none;}
  .ne-home .ne-detail::before{display:none;}
}
