/* Signature edit: one complete portrait and a quiet editorial index. */
.nv-signature { padding-block:clamp(3.5rem,6vw,5.5rem); background:var(--nv-paper); color:var(--nv-ink); }
.nv-signature__spread { max-width:1360px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,540px); grid-template-rows:auto 1fr auto; column-gap:clamp(3rem,8vw,8rem); align-items:start; }
.nv-signature__opening { grid-column:1; grid-row:1; padding-top:2rem; }
.nv-signature__eyebrow { margin:0 0 1.5rem; color:var(--nv-muted); font-size:.64rem; font-weight:600; letter-spacing:.16em; line-height:1.5; text-transform:uppercase; }
.nv-signature h2 { max-width:9ch; margin:0; font-family:var(--nv-font-sans); color:var(--nv-ink); font-size:clamp(2.7rem,4.5vw,4rem); font-weight:500; letter-spacing:-.055em; line-height:1.04; text-wrap:balance; }
.nv-signature__intro { max-width:29ch; margin:1.4rem 0 0; color:var(--nv-muted); font-size:.9rem; line-height:1.8; }
.nv-signature__stories { grid-column:1; grid-row:2; display:grid; align-content:center; min-height:185px; padding-block:1.7rem; }
.nv-signature__story[hidden],.nv-signature__scene[hidden] { display:none!important; }
.nv-signature__story { animation:nvSignatureFade 320ms ease both; }
.nv-signature__piece-label { margin:0 0 .45rem; color:var(--nv-muted); font-size:.62rem; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
.nv-signature h3 { margin:0; font-family:var(--nv-font-sans); color:var(--nv-ink); font-size:1.3rem; font-weight:500; letter-spacing:-.025em; line-height:1.4; }
.nv-signature__note { max-width:33ch; min-height:2.8em; margin:.55rem 0 0; color:var(--nv-muted); font-size:.82rem; line-height:1.7; }
.nv-signature__link { display:inline-flex; align-items:center; justify-content:space-between; gap:2.5rem; min-height:44px; margin-top:.8rem; border-bottom:1px solid var(--nv-ink); color:var(--nv-ink); font-size:.78rem; font-weight:600; text-decoration:none; }
.nv-signature__link svg { transition:transform 220ms ease; }
.nv-signature__link:hover svg { transform:translateX(4px); }
.nv-signature__visual { position:relative; grid-column:2; grid-row:1 / 4; width:100%; aspect-ratio:4 / 5; margin:0; overflow:hidden; border-radius:24px; isolation:isolate; background:var(--nv-well); }
.nv-signature__scene { position:absolute; inset:0; display:block; animation:nvSignatureFade 380ms ease both; }
.nv-signature__scene img { display:block; width:100%; height:100%; object-fit:contain; }
.nv-signature__index { grid-column:1; grid-row:3; padding-bottom:.15rem; }
.nv-signature__index button { display:flex; align-items:center; gap:1rem; width:100%; min-height:52px; padding:.75rem 0; border:0; border-top:1px solid var(--nv-line); border-radius:0; background:transparent; color:var(--nv-muted); font-family:inherit; font-size:.78rem; text-align:left; cursor:pointer; transition:color 180ms ease; }
.nv-signature__index button.is-active,.nv-signature__index button:hover { color:var(--nv-ink); }
.nv-signature__index button.is-active { border-top-color:var(--nv-ink); }
.nv-signature__number { width:1.3rem; font-size:.6rem; font-variant-numeric:tabular-nums; }
.nv-signature__index-arrow { margin-left:auto; font-size:1.05rem; opacity:0; transition:opacity 180ms ease,transform 180ms ease; }
.nv-signature__index button.is-active .nv-signature__index-arrow { opacity:1; }
.nv-signature__index button:hover .nv-signature__index-arrow { opacity:1; transform:translate(2px,-2px); }
.nv-signature a:focus-visible,.nv-signature button:focus-visible { outline:2px solid var(--nv-action); outline-offset:5px; }
@keyframes nvSignatureFade { from {opacity:.25} to {opacity:1} }
@media(min-width:768px) and (max-width:1023px) {
 .nv-signature__spread { grid-template-columns:minmax(0,1fr) minmax(0,43%); gap:2rem; }
 .nv-signature__opening { padding-top:0; }
 .nv-signature h2 { font-size:2.7rem; }
 .nv-signature__eyebrow { margin-bottom:1rem; }
 .nv-signature__stories { min-height:180px; padding-block:1rem; }
 .nv-signature__visual { align-self:center; }
 .nv-signature__index button { min-height:46px; }
}
@media(max-width:767px) {
 .nv-signature { padding-block:2.8rem 3.4rem; }
 .nv-signature__spread { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto; column-gap:0; }
 .nv-signature__opening { grid-column:1; grid-row:1; padding:0; margin-bottom:1.5rem; }
 .nv-signature__eyebrow { margin-bottom:.85rem; font-size:.6rem; }
 .nv-signature h2 { max-width:15ch; font-size:2.65rem; }
 .nv-signature__intro { max-width:30ch; margin-top:.85rem; font-size:.82rem; }
 .nv-signature__visual { grid-column:1; grid-row:2; aspect-ratio:4 / 5; max-width:440px; border-radius:18px; justify-self:center; touch-action:pan-y pinch-zoom; }
 .nv-signature__stories { grid-column:1; grid-row:3; min-height:168px; padding-block:1.3rem; }
 .nv-signature__piece-label { display:none; }
 .nv-signature h3 { font-size:1.25rem; }
 .nv-signature__note { max-width:none; min-height:1.7em; margin-top:.35rem; font-size:.78rem; }
 .nv-signature__link { margin-top:.45rem; font-size:.75rem; }
 .nv-signature__index { grid-column:1; grid-row:4; display:flex; gap:.85rem; }
 .nv-signature__index button { flex:1; align-items:flex-start; gap:.4rem; min-height:58px; padding-top:.8rem; font-size:.65rem; line-height:1.6; }
 .nv-signature__number { width:auto; flex-shrink:0; font-size:.5rem; line-height:2.1; }
 .nv-signature__index-arrow { display:none; }
}
@media(prefers-reduced-motion:reduce) { .nv-signature__story,.nv-signature__scene { animation:none; } .nv-signature__link svg,.nv-signature__index button,.nv-signature__index-arrow { transition:none; } }
