.idx-nav { overflow: visible; background: transparent; }
.idx-nav a { left: 7vw; right: auto; top: 24vh; width: max-content; text-align: left; max-width: none; }
html.nav-open main,
html.nav-open .site-footer { transform: none; filter: none; }
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.2rem;
}
.brand {
    display: block;
    line-height: 0;
}
.brand img {
    display: block;
    height: 34px;
    width: auto;
    max-width: 42vw;
    object-fit: contain;
}
.deck {
    position: fixed;
    z-index: 80;
    top: 4.2rem;
    right: 1rem;
    width: min(28rem, calc(100vw - 2rem));
    padding: 1rem 1rem 0.8rem;
    background: rgba(8, 8, 8, 0.92);
    color: #f4f1ea;
    border: 1px solid rgba(244, 241, 234, 0.18);
}
.deck[hidden] { display: none; }
.deck__title { margin: 0; font-size: 1rem; letter-spacing: 0.04em; }
.deck__artist { margin: 0.2rem 0 0; font-size: 0.78rem; opacity: 0.7; }
.deck__transport, .deck__time, .deck__vol {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.7rem;
}
.deck button, .deck__list button {
    background: transparent;
    color: inherit;
    border: 0;
    cursor: pointer;
    font: inherit;
}
.deck__time input, .deck__vol input { flex: 1; }
.deck__viz { display: block; width: 100%; height: 36px; margin-top: 0.6rem; }
.deck__list {
    list-style: none;
    margin: 0.6rem 0 0;
    padding: 0;
    max-height: 9rem;
    overflow: auto;
}
.deck__list button { display: block; width: 100%; text-align: left; padding: 0.28rem 0; font-size: 0.78rem; }
.deck__list button[aria-current="true"] { color: #fff; }

.folio, .matter, .practice {
    position: relative;
    z-index: 2;
    background: #070707;
    color: #f4f1ea;
    padding: 12vh 6vw 10vh;
}
.folio__head p, .practice__kicker {
    margin: 0 0 0.6rem;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
}
.folio__head h2, .practice h2 {
    margin: 0 0 2.5rem;
    font-size: clamp(2.4rem, 6vw, 5.5rem);
    line-height: 0.92;
    font-weight: 500;
}
.folio__list { list-style: none; margin: 0; padding: 0; }
.folio__item a {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: 0.2rem 1rem;
    padding: 1.4rem 0;
    border-top: 1px solid rgba(244, 241, 234, 0.16);
    color: inherit;
    text-decoration: none;
}
.folio__item--wide a { padding: 2.4rem 0; }
.folio__item strong { font-size: clamp(1.4rem, 3vw, 2.4rem); font-weight: 500; }
.folio__item em { grid-column: 2; font-style: normal; opacity: 0.72; max-width: 38rem; }
.folio__go { grid-column: 2; letter-spacing: 0.14em; font-size: 0.72rem; margin-top: 0.4rem; }
.folio__index { opacity: 0.45; }

.matter__film { margin: 0 0 4rem; }
.matter__film video, .matter__film img {
    display: block;
    width: 100%;
    height: auto;
    background: #000;
}
.matter__film--wide video { max-height: 78vh; object-fit: cover; }
.matter__pair {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 1.2rem;
    align-items: end;
}
.matter__film h3 { margin: 0.8rem 0 0.2rem; font-weight: 500; }
.matter__film p { margin: 0; max-width: 36rem; opacity: 0.75; }
.matter__film--equus { max-width: 46rem; margin-left: auto; }

.practice__cross {
    list-style: none;
    margin: 0 0 3rem;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 3rem;
}
.practice__cross span { display: block; letter-spacing: 0.14em; font-size: 0.72rem; margin-bottom: 0.4rem; }
.practice__cross p { margin: 0; max-width: 28rem; }
.practice__line { margin: 0.2rem 0; letter-spacing: 0.04em; }

@media (max-width: 899px) {
    .matter__pair, .practice__cross { grid-template-columns: 1fr; }
    .brand img { height: 26px; }
    .deck { top: 3.6rem; left: 0.6rem; right: 0.6rem; width: auto; }
}
