:root {
    --mr-ochre: #d4a342;
    --mr-ochre-deep: #b98527;
    --mr-white: #fffef9;
    --mr-paper: #f8f4e9;
    --mr-ink: #171b22;
    --mr-blue: #174db7;
    --mr-red: #e13e31;
    --mr-green: #376a3c;
    --mr-line: rgba(23, 27, 34, .24);
    --mr-nav-height: 86px;
    --mr-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Black", sans-serif;
    --mr-sans: Arial, Helvetica, sans-serif;
    --mr-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* Studios, releases and news directories */

.directory-hero-studios::after {
    width: 310px;
    background: var(--mr-white);
    border-radius: 50% 50% 0 0;
    transform: rotate(-12deg);
}

.directory-hero-releases {
    background: var(--mr-white);
}

.directory-hero-releases::after {
    bottom: -145px;
    background: var(--mr-red);
    border-radius: 0;
    transform: rotate(24deg);
}

.directory-hero-news::after {
    width: 290px;
    background: var(--mr-blue);
    border-radius: 50% 0 50% 50%;
    transform: rotate(18deg);
}

.studios-directory,
.release-detail-body,
.news-directory {
    background: var(--mr-white);
}

.studio-directory-list,
.news-directory-list {
    margin-top: 64px;
    border-top: 2px solid var(--mr-ink);
}

.studio-list-card,
.news-list-card {
    display: grid;
    padding: 52px 0;
    border-bottom: 2px solid var(--mr-ink);
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 64px;
    align-items: center;
}

.studio-list-card:nth-child(even),
.news-list-card:nth-child(even) {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.studio-list-card:nth-child(even) .studio-list-image,
.news-list-card:nth-child(even) .news-list-image {
    grid-column: 2;
    grid-row: 1;
}

.studio-list-card:nth-child(even) .studio-list-copy,
.news-list-card:nth-child(even) .news-list-copy {
    grid-column: 1;
    grid-row: 1;
}

.studio-list-image,
.news-list-image {
    position: relative;
    display: block;
    min-height: 370px;
    overflow: hidden;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    box-shadow: 12px 12px 0 var(--mr-blue);
}

.studio-list-card:nth-child(2) .studio-list-image,
.news-list-card:nth-child(2n) .news-list-image {
    box-shadow: 12px 12px 0 var(--mr-red);
}

.studio-list-card:nth-child(3) .studio-list-image {
    box-shadow: 12px 12px 0 var(--mr-ochre);
}

.studio-list-card:nth-child(4n) .studio-list-image {
    box-shadow: 12px 12px 0 var(--mr-green);
}

.studio-list-image img,
.news-list-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 370px;
    object-fit: cover;
    transition: transform .45s cubic-bezier(.2, .8, .2, 1);
}

.studio-list-image:hover img,
.news-list-image:hover img {
    transform: scale(1.035);
}

.studio-list-copy h3,
.news-list-copy h2,
.record-card h3 {
    margin: 10px 0 16px;
    font-family: var(--mr-display);
    font-size: clamp(3rem, 5vw, 5rem);
    letter-spacing: -.02em;
    line-height: .86;
    text-transform: uppercase;
}

.studio-list-copy h3 a,
.news-list-copy h2 a,
.record-card h3 a {
    color: inherit;
    text-decoration: none;
}

.studio-list-copy h3 {
    max-width: 720px;
    margin-top: 14px;
    margin-bottom: 24px;
    font-size: clamp(2.65rem, 4.35vw, 4.45rem);
    line-height: .9;
}

.studio-list-copy h3 a {
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    color: var(--mr-ink);
}

.studio-list-copy h3 a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: clamp(82px, 24%, 150px);
    height: 8px;
    content: "";
    background: var(--mr-blue);
    transition: width .3s cubic-bezier(.2, .8, .2, 1), background-color .3s ease;
}

.studio-list-copy h3 a:hover,
.studio-list-copy h3 a:focus-visible {
    color: var(--mr-blue);
}

.studio-list-copy h3 a:hover::after,
.studio-list-copy h3 a:focus-visible::after {
    width: 100%;
    background: var(--mr-red);
}

.studio-list-copy > p:not(.item-index, .studio-location, .studio-service-line),
.news-list-copy > p:not(.news-meta) {
    max-width: 560px;
    margin: 0 0 24px;
    font-weight: 700;
    line-height: 1.65;
}

.item-index,
.studio-location,
.studio-service-line,
.news-meta {
    font-family: var(--mr-mono);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.item-index,
.news-meta span {
    color: var(--mr-blue);
}

.studio-location {
    margin: 0 0 22px;
    color: var(--mr-red);
}

.studio-service-line {
    margin: 0 0 30px;
    padding: 13px 15px;
    background: var(--mr-ochre);
    border-left: 8px solid var(--mr-ink);
}

.media-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: inherit;
    color: var(--mr-white);
    background:
        linear-gradient(90deg, transparent 49%, var(--mr-ink) 49% 51%, transparent 51%),
        linear-gradient(transparent 49%, var(--mr-ink) 49% 51%, transparent 51%),
        var(--mr-ochre);
    font-family: var(--mr-display);
    font-size: 4rem;
    place-items: center;
}

/* Studio detail */

.studio-detail-hero,
.release-detail-hero,
.news-detail-hero {
    background: var(--mr-ochre);
    border-bottom: 2px solid var(--mr-ink);
}

.studio-detail-hero > .container-xxl {
    padding-top: 72px;
    padding-bottom: 72px;
}

.studio-detail-image {
    min-height: 600px;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
}

.studio-detail-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
}

.studio-detail-heading {
    display: flex;
    min-height: 600px;
    padding: 50px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-left: 0;
    flex-direction: column;
    justify-content: center;
}

.studio-detail-heading h1,
.release-detail-heading h1,
.news-detail-hero h1 {
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(4.2rem, 7vw, 7.2rem);
    letter-spacing: -.025em;
    line-height: .84;
    text-transform: uppercase;
}

.studio-detail-heading h1 {
    text-wrap: balance;
}

.studio-detail-heading--long-title {
    padding-right: 36px;
    padding-left: 36px;
}

.studio-detail-heading h1.studio-title--long-word {
    font-size: clamp(4.15rem, 6vw, 6.5rem);
    letter-spacing: -.045em;
}

.studio-detail-heading .profile-role {
    color: var(--mr-ochre);
}

.studio-detail-heading > p:last-child {
    margin: 28px 0 0;
    padding-top: 20px;
    border-top: 8px solid var(--mr-red);
    font-family: var(--mr-mono);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.studio-detail-body {
    background: var(--mr-white);
}

.studio-service-badge {
    display: inline-block;
    margin-top: 28px;
    padding: 16px 20px;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    box-shadow: 7px 7px 0 var(--mr-red);
    font-family: var(--mr-mono);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Release directory and detail */

.release-directory {
    background: var(--mr-ochre);
}

.release-directory-grid .record-card:nth-child(3n + 2) {
    transform: translateY(60px);
}

.release-directory-grid {
    padding-bottom: 60px;
}

.record-card .release-cover {
    padding: 12px;
}

.record-card h3 {
    margin: 8px 0 13px;
    font-size: clamp(2.5rem, 3.8vw, 3.7rem);
    transition: color .22s ease, transform .32s cubic-bezier(.2, .75, .25, 1);
}

.record-excerpt {
    margin: 0;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.5;
    transition: color .22s ease, transform .32s cubic-bezier(.2, .75, .25, 1);
}

.record-card:hover .release-cover,
.record-card:focus-within .release-cover {
    box-shadow: 14px 15px 0 var(--mr-ink);
    transform: translate(-6px, -7px);
}

.record-card:hover .release-cover img,
.record-card:focus-within .release-cover img {
    filter: saturate(1.1) contrast(1.04);
    transform: scale(1.04);
}

.record-card:hover .release-action,
.record-card:focus-within .release-action {
    opacity: 1;
    transform: translateY(0);
}

.record-card:hover .release-artist,
.record-card:focus-within .release-artist {
    color: var(--mr-red);
    transform: translateX(6px);
}

.record-card:hover h3,
.record-card:focus-within h3 {
    color: var(--mr-blue);
    transform: translateX(10px);
}

.record-card:hover .record-excerpt,
.record-card:focus-within .record-excerpt {
    color: #343a3f;
    transform: translateX(6px);
}

.record-card h3 a:focus-visible {
    outline: 3px solid var(--mr-blue);
    outline-offset: 4px;
}

.release-detail-hero {
    min-height: calc(100svh - var(--mr-nav-height));
    padding: 62px 0;
    background: var(--mr-white);
}

.release-detail-cover {
    position: relative;
    width: min(100%, 575px);
    padding: 16px;
    background: var(--mr-red);
    border: 2px solid var(--mr-ink);
    box-shadow: 18px 18px 0 var(--mr-blue);
}

.release-detail-cover::before {
    position: absolute;
    z-index: -1;
    top: -34px;
    right: -34px;
    width: 118px;
    aspect-ratio: 1;
    content: "";
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
}

.release-detail-cover img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border: 2px solid var(--mr-ink);
}

.release-detail-artist {
    margin: 0 0 9px;
    color: var(--mr-blue);
    font-family: var(--mr-display);
    font-size: clamp(2.1rem, 3vw, 3.4rem);
    line-height: .9;
    text-transform: uppercase;
}

.release-detail-heading h1::after,
.news-detail-hero h1::after {
    display: block;
    width: 38%;
    height: 11px;
    margin-top: 28px;
    content: "";
    background: var(--mr-red);
}

.release-facts {
    display: flex;
    margin: 36px 0 0;
    border-top: 2px solid var(--mr-ink);
    gap: 0;
}

.release-facts > div {
    min-width: 145px;
    padding: 15px 24px 0 0;
}

.release-facts dt,
.release-facts dd {
    margin: 0;
    font-family: var(--mr-mono);
    font-size: .64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.release-facts dt {
    color: var(--mr-blue);
}

.streaming-links {
    display: flex;
    margin: 38px 0;
    flex-wrap: wrap;
    gap: 10px;
}

.streaming-links a {
    display: inline-flex;
    padding: 14px 18px;
    color: var(--mr-white);
    background: var(--mr-ink);
    border: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    gap: 20px;
}

.streaming-links a:hover {
    color: var(--mr-ink);
    background: var(--mr-ochre);
}

.track-list {
    margin-top: 54px;
}

.track-list h3 {
    margin: 0 0 18px;
    font-family: var(--mr-display);
    font-size: 3.2rem;
    text-transform: uppercase;
}

.majorana-player {
    position: relative;
    margin-top: 26px;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 13px 13px 0 var(--mr-blue);
}

.majorana-player audio {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.player-console {
    display: grid;
    min-height: 245px;
    padding: 26px;
    background: var(--mr-paper);
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 30px;
}

.player-cover {
    position: relative;
    align-self: stretch;
    min-height: 190px;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
}

.player-cover::after {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 42px;
    height: 42px;
    content: "";
    background: var(--mr-red);
    border-top: 2px solid var(--mr-ink);
    border-left: 2px solid var(--mr-ink);
}

.player-cover img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: contain;
}

.player-cover > span {
    display: grid;
    height: 100%;
    font-family: var(--mr-display);
    font-size: 4rem;
    place-items: center;
}

.player-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
}

.player-eyebrow {
    margin: 0 0 14px;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.player-now {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
}

.player-play {
    display: grid;
    width: 74px;
    height: 74px;
    padding: 0;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
    box-shadow: 5px 5px 0 var(--mr-ink);
    font-size: 1.45rem;
    place-items: center;
}

.player-play:hover,
.player-play:focus-visible {
    background: var(--mr-red);
    transform: translate(2px, 2px);
    box-shadow: 3px 3px 0 var(--mr-ink);
}

.player-play [data-stop-icon],
.majorana-player.is-playing .player-play [data-play-icon] {
    display: none;
}

.majorana-player.is-playing .player-play [data-stop-icon] {
    display: block;
    font-size: 1.15rem;
}

.player-now small,
.player-now strong {
    display: block;
}

.player-now small {
    margin-bottom: 5px;
    color: var(--mr-red);
    font-family: var(--mr-mono);
    font-size: .66rem;
    font-weight: 800;
}

.player-now strong {
    overflow: hidden;
    font-family: var(--mr-display);
    font-size: clamp(1.75rem, 3.2vw, 3rem);
    line-height: .9;
    text-overflow: ellipsis;
    text-transform: uppercase;
}

.player-progress-row {
    display: grid;
    margin-top: 22px;
    grid-template-columns: 43px minmax(0, 1fr) 43px;
    align-items: center;
    gap: 10px;
}

.player-progress-row span,
.player-volume span {
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.player-controls {
    display: flex;
    margin-top: 16px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.player-skip-controls {
    display: flex;
    gap: 7px;
}

.player-skip-controls button {
    width: 49px;
    height: 38px;
    color: var(--mr-white);
    background: var(--mr-ink);
    border: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-weight: 800;
}

.player-skip-controls button:hover:not(:disabled),
.player-skip-controls button:focus-visible:not(:disabled) {
    color: var(--mr-ink);
    background: var(--mr-ochre);
}

.player-skip-controls button:disabled {
    opacity: .28;
}

.player-volume {
    display: flex;
    min-width: 190px;
    margin: 0;
    align-items: center;
    gap: 12px;
}

.player-progress-row input,
.player-volume input {
    width: 100%;
    height: 6px;
    appearance: none;
    background: rgba(23, 27, 34, .2);
    border-radius: 0;
    accent-color: var(--mr-blue);
    cursor: pointer;
}

.player-progress-row input::-webkit-slider-thumb,
.player-volume input::-webkit-slider-thumb {
    width: 16px;
    height: 16px;
    appearance: none;
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
}

.player-progress-row input::-moz-range-thumb,
.player-volume input::-moz-range-thumb {
    width: 13px;
    height: 13px;
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
}

.player-playlist,
.track-list-static {
    margin: 0;
    padding: 0;
    list-style: none;
}

.player-playlist li,
.track-list-static li {
    border-top: 2px solid var(--mr-ink);
}

.player-playlist button,
.player-playlist li > div {
    display: grid;
    width: 100%;
    min-height: 66px;
    padding: 12px 18px;
    color: var(--mr-ink);
    background: transparent;
    border: 0;
    text-align: left;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.player-playlist button:hover,
.player-playlist button:focus-visible,
.player-playlist li.is-current button {
    background: var(--mr-ochre);
}

.player-playlist li.is-current {
    box-shadow: inset 9px 0 0 var(--mr-blue);
}

.player-playlist span,
.player-playlist small {
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.player-playlist strong {
    font-size: .94rem;
}

.player-playlist small {
    color: var(--mr-blue);
}

.player-playlist .is-unavailable {
    opacity: .48;
}

.track-list-static {
    counter-reset: tracks;
}

.track-list-static li {
    padding: 16px 4px;
    counter-increment: tracks;
    font-weight: 800;
}

.track-list-static li span::before {
    display: inline-block;
    width: 42px;
    color: var(--mr-blue);
    content: counter(tracks, decimal-leading-zero);
    font-family: var(--mr-mono);
    font-size: .66rem;
}

/* Studio equipment and gallery */

.studio-equipment-section {
    background: var(--mr-ochre);
}

.equipment-copy h2 {
    padding-bottom: 10px;
    border-bottom: 2px solid var(--mr-ink);
}

.studio-gallery-section {
    background: var(--mr-white);
}

.studio-gallery-section .section-split-heading {
    margin-bottom: 48px;
}

.studio-gallery-grid {
    --masonry-gap: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--masonry-gap);
    align-items: start;
}

.studio-gallery-grid.is-masonry {
    --masonry-row: 8px;
    grid-auto-rows: var(--masonry-row);
}

.studio-gallery-card {
    width: 100%;
    margin: 0;
    align-self: start;
}

.studio-gallery-card button {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    cursor: zoom-in;
}

.studio-gallery-card img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .35s ease;
}

.studio-gallery-card button:hover img,
.studio-gallery-card button:focus-visible img {
    transform: scale(1.025);
}

.studio-gallery-card button > span {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    width: 48px;
    height: 48px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border-top: 2px solid var(--mr-ink);
    border-left: 2px solid var(--mr-ink);
    font-weight: 900;
    place-items: center;
}

.studio-gallery-modal-caption b {
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .65rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.studio-gallery-modal .modal-content {
    color: var(--mr-white);
    background: #111312;
}

.studio-gallery-modal .modal-header {
    padding: 14px 22px;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.studio-gallery-modal .modal-title {
    margin: 0;
    font-family: var(--mr-mono);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.studio-gallery-modal .modal-body {
    display: grid;
    min-height: 0;
    padding: 0;
    place-items: center;
}

.studio-gallery-modal .carousel,
.studio-gallery-modal .carousel-inner,
.studio-gallery-modal .carousel-item {
    width: 100%;
    height: 100%;
}

.studio-gallery-modal .carousel {
    outline: 0;
    touch-action: pan-y pinch-zoom;
}

.studio-gallery-modal .carousel-item img {
    display: block;
    width: 100%;
    height: calc(100vh - 118px);
    padding: 24px 86px 70px;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

.studio-gallery-modal-caption {
    position: absolute;
    right: 86px;
    bottom: 20px;
    left: 86px;
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.studio-gallery-modal-caption span {
    font-size: .82rem;
}

@media (max-width: 991.98px) {
    .studio-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .studio-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479.98px) {
    .studio-gallery-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .studio-gallery-modal .carousel-item img {
        padding: 12px 18px 84px;
    }

    .studio-gallery-modal-caption {
        right: 20px;
        bottom: 24px;
        left: 20px;
        flex-direction: column;
    }
}

/* Shop */
.nav-cart-link { display:inline-flex;align-items:center;gap:7px;margin-left:18px;padding:8px 10px;border:2px solid var(--mr-ink);color:var(--mr-ink);font:700 .68rem/1 var(--mr-mono);text-transform:uppercase;text-decoration:none; }
.nav-cart-link svg { display:block;flex:0 0 auto; }
.nav-cart-link b { display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:var(--mr-red);color:var(--mr-white);border-radius:50%; }
.nav-cart-link-mobile{position:relative;justify-content:center;width:48px;height:48px;margin-right:6px;margin-left:auto;padding:0}.nav-cart-link-mobile b{position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 4px;font-size:.55rem}
@media(max-width:575.98px){.majorana-navbar .navbar-brand{width:min(170px,calc(100% - 104px))}.majorana-navbar .navbar-brand img{max-width:100%;height:auto}}
.shop-hero { position:relative;display:flex;align-items:center;min-height:min(790px,calc(100svh - 96px));overflow:hidden;padding:clamp(72px,8vw,118px) 0;background:var(--mr-ochre);border-bottom:2px solid var(--mr-ink);isolation:isolate; }
.shop-hero::before { position:absolute;z-index:-1;right:-7%;top:-34%;width:min(51vw,690px);aspect-ratio:1;content:"";border:clamp(38px,6vw,82px) solid var(--mr-blue);border-radius:50%;opacity:.95; }
.shop-hero::after { position:absolute;z-index:-1;right:0;bottom:0;width:36%;height:22px;content:"";background:var(--mr-red); }
.shop-hero-layout { display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);align-items:center;gap:clamp(10px,2vw,35px); }
.shop-hero-copy { position:relative;z-index:3; }
.shop-hero h1,.shop-minimal-hero h1,.product-detail h1,.order-success h1 { position:relative;z-index:1;margin:10px 0 20px;max-width:950px;color:var(--mr-ink);font:400 clamp(4.2rem,6.1vw,7rem)/.82 var(--mr-display);letter-spacing:-.025em;text-transform:uppercase; }
.shop-hero .inner-lead { position:relative;z-index:1;max-width:610px;margin:0;font-weight:700; }
.shop-hero-scene { position:relative;z-index:2;min-width:0;height:clamp(390px,42vw,555px); }
.shop-hero-scene::before { position:absolute;right:0;bottom:41px;left:3%;height:3px;content:"";background:var(--mr-ink); }
.shop-hero-scene::after { position:absolute;z-index:-1;right:3%;top:14%;width:17%;aspect-ratio:1;content:"";background:var(--mr-red); }
.shop-hero-static-art { position:absolute;right:-9%;bottom:41px;width:119%;max-width:none;height:auto;filter:drop-shadow(9px 12px 0 rgba(31,35,41,.16));animation:shop-static-art-enter .9s cubic-bezier(.22,.78,.3,1) .12s both; }
.shop-hero-stamp { position:absolute;right:1%;bottom:0;margin:0;color:var(--mr-ink);font:800 .66rem/1 var(--mr-mono);letter-spacing:.07em;text-transform:uppercase; }
@keyframes shop-static-art-enter { from{opacity:0;transform:translateX(52px)} to{opacity:1;transform:translateX(0)} }
.shop-catalog { background:var(--mr-white); }
.shop-filters { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px; }
.shop-filters a { padding:11px 17px;border:2px solid var(--mr-ink);color:var(--mr-ink);font:700 .72rem var(--mr-mono);text-decoration:none;text-transform:uppercase; }
.shop-filters a:hover,.shop-filters a.active { background:var(--mr-blue);color:var(--mr-white); }
.shop-product-media { position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:1;background:var(--mr-paper);border:2px solid var(--mr-ink); }
.shop-product-card:nth-child(3n+2) .shop-product-media { background:var(--mr-ochre); }
.shop-product-card:nth-child(3n) .shop-product-media { background:var(--mr-blue); }
.shop-product-media img { display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease; }
.shop-product-media:hover img { transform:scale(1.025); }
.shop-product-media>span { font:400 6rem var(--mr-display);color:var(--mr-ink); }
.shop-product-media>b { position:absolute;top:14px;right:14px;padding:8px 10px;background:var(--mr-red);color:#fff;font:700 .68rem var(--mr-mono);text-transform:uppercase; }
.shop-product-meta { display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:18px 2px 28px;border-bottom:2px solid var(--mr-ink); }
.shop-product-meta p,.shop-product-meta small { grid-column:1/-1;margin:0;color:var(--mr-blue);font:700 .68rem var(--mr-mono);text-transform:uppercase; }
.shop-product-meta h3 { grid-column:1/-1;min-width:0;margin:0;font:400 clamp(1.65rem,2.8vw,2.4rem)/.94 var(--mr-display);overflow-wrap:anywhere;text-transform:uppercase; }
.shop-product-meta h3 a { color:var(--mr-ink);text-decoration:none; }
.shop-product-author { grid-column:1;margin-top:2px;color:var(--mr-ink);font:800 .78rem/1.25 var(--mr-mono);letter-spacing:.02em;text-transform:uppercase; }
.shop-product-meta>strong { grid-column:1/-1;grid-row:auto;justify-self:start;margin-top:7px;color:var(--mr-red);font:400 clamp(1.5rem,2vw,1.9rem)/1 var(--mr-display);white-space:nowrap; }
.foreign-order-note { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;margin-top:75px;padding:24px 28px;background:var(--mr-paper);border:2px solid var(--mr-ink);box-shadow:8px 8px 0 var(--mr-ochre); }
.foreign-order-note strong { font:400 2rem var(--mr-display);text-transform:uppercase; }.foreign-order-note p{margin:0}.foreign-order-note a{color:var(--mr-blue);font:700 .75rem var(--mr-mono);text-transform:uppercase;}
.shop-minimal-hero { padding:70px 0 55px;background:var(--mr-ochre);border-bottom:2px solid var(--mr-ink); }.shop-minimal-hero h1{font-size:clamp(4rem,8vw,8rem)}.shop-minimal-hero p:last-child{font-size:1.1rem;font-weight:700}
.product-detail { background:var(--mr-white); }.product-detail-image{display:grid;place-items:center;min-height:520px;background:var(--mr-paper);border:2px solid var(--mr-ink);box-shadow:14px 14px 0 var(--mr-blue)}.product-detail-image img{width:100%;height:auto;max-height:720px;object-fit:contain}.product-detail-image>span{font:400 8rem var(--mr-display)}
.product-detail h1{font-size:clamp(4rem,7vw,7rem);overflow-wrap:anywhere}.product-author{margin:-4px 0 12px;color:var(--mr-ink);font:800 1rem var(--mr-mono);text-transform:uppercase}.product-subtitle{color:var(--mr-red);font:700 1rem var(--mr-mono);text-transform:uppercase}.product-price{margin:20px 0;font:400 3.5rem var(--mr-display);color:var(--mr-blue)}
.product-facts{margin:28px 0;border-top:2px solid var(--mr-ink)}.product-facts div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--mr-line)}.product-facts dt{font:700 .7rem var(--mr-mono);text-transform:uppercase}.product-facts dd{margin:0;font-weight:700}
.product-buy{display:flex;align-items:end;gap:14px;margin-top:30px}.quantity-control{display:grid;gap:7px}.quantity-control>label{font:700 .7rem var(--mr-mono);text-transform:uppercase}.quantity-stepper{display:grid;grid-template-columns:54px 68px 54px}.quantity-stepper button,.quantity-stepper input{height:54px;border:2px solid var(--mr-ink);background:var(--mr-white);color:var(--mr-ink)}.quantity-stepper button{display:grid;place-items:center;min-width:54px;padding:0;font:800 1.6rem/1 var(--mr-mono);touch-action:manipulation}.quantity-stepper button:hover{background:var(--mr-ochre)}.quantity-stepper button:focus-visible{position:relative;z-index:2;outline:3px solid var(--mr-blue);outline-offset:2px}.quantity-stepper button:disabled{cursor:not-allowed;opacity:.35}.quantity-stepper input{width:68px;margin:0 -2px;padding:8px;text-align:center;font-weight:800;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mr-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:14px 18px;border:2px solid var(--mr-ink);background:var(--mr-blue);color:#fff!important;font:700 .75rem var(--mr-mono);text-decoration:none;text-transform:uppercase;box-shadow:4px 4px 0 var(--mr-ink)}.mr-button:hover{background:var(--mr-red)}

.product-variant-purchase{margin-top:28px}.product-variants{margin:0 0 26px;padding:0;border:0}.product-variants legend{margin-bottom:12px;font:900 .72rem var(--mr-mono);letter-spacing:.05em;text-transform:uppercase}.product-variant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-variant-option{position:relative;cursor:pointer}.product-variant-option input{position:absolute;width:1px;height:1px;opacity:0}.product-variant-option>span{display:grid;min-height:126px;padding:17px;color:var(--mr-ink);background:var(--mr-white);border:2px solid var(--mr-ink);grid-template-columns:1fr auto;gap:5px 12px;transition:background-color .2s ease,box-shadow .22s ease,color .2s ease,transform .22s ease}.product-variant-option strong{font:400 1.75rem/.9 var(--mr-display);text-transform:uppercase}.product-variant-option small{grid-column:1/-1;font-weight:700}.product-variant-option b{color:var(--mr-blue);font-size:1.15rem}.product-variant-option em{grid-column:1/-1;font:800 .58rem var(--mr-mono);font-style:normal;text-transform:uppercase}.product-variant-option input:checked+span{color:var(--mr-white);background:var(--mr-blue);box-shadow:7px 7px 0 var(--mr-ink);transform:translate(-4px,-4px)}.product-variant-option input:checked+span b{color:var(--mr-ochre)}.product-variant-option input:focus-visible+span{outline:3px solid var(--mr-red);outline-offset:3px}.product-variant-option.is-unavailable{cursor:not-allowed}.product-variant-option.is-unavailable>span{opacity:.48}
.catalog-contact,.paypal-placeholder,.shop-notice{margin-top:28px;padding:24px;background:var(--mr-paper);border:2px solid var(--mr-ink)}.catalog-contact p{margin:5px 0}.catalog-contact a,.related-release-link{color:var(--mr-blue);font:700 .72rem var(--mr-mono);text-transform:uppercase}.related-release-link{display:grid;grid-template-columns:1fr auto;gap:5px 20px;margin-top:30px;padding:18px;border:2px solid var(--mr-ink);text-decoration:none}.related-release-link span{grid-column:1/-1}.related-release-link strong{color:var(--mr-ink)}.product-description{max-width:900px;margin:100px auto 0;padding-top:45px;border-top:2px solid var(--mr-ink)}.product-description h2,.release-products>h3{font:400 clamp(3rem,6vw,6rem)/.9 var(--mr-display);text-transform:uppercase}
.release-products{margin-top:70px;padding-top:35px;border-top:2px solid var(--mr-ink)}.release-products article>a{display:flex;align-items:center;gap:18px;padding:12px;border:2px solid var(--mr-ink);color:var(--mr-ink);text-decoration:none}.release-product-grid article>a>img{width:90px;height:90px;object-fit:contain;background:var(--mr-paper)}.release-products article>a>span{display:grid;gap:4px}.release-products small{font:700 .65rem var(--mr-mono);color:var(--mr-blue);text-transform:uppercase}.release-products b{color:var(--mr-red)}
.release-platforms{margin-top:34px;padding-top:25px;border-top:2px solid var(--mr-ink)}.release-platforms h4{margin:0 0 15px;font:800 .72rem/1.2 var(--mr-mono);letter-spacing:.04em;text-transform:uppercase}.release-platform-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.release-platform-link{display:inline-flex;align-items:center;justify-content:center;height:40px;color:var(--mr-ink);text-decoration:none;touch-action:manipulation}.release-platform-link-apple{width:140px}.release-platform-link-apple img{display:block;width:140px;height:40px;pointer-events:none}.release-platform-link-spotify{width:140px;padding:6px 15px;border:1px solid #a6a6a6;border-radius:7px;background:#fff}.release-platform-link-spotify img{display:block;width:108px;height:auto;pointer-events:none}.release-platform-link:focus-visible{outline:3px solid var(--mr-blue);outline-offset:4px}
.cart-section,.checkout-section,.payment-section,.account-section,.account-auth,.order-success{background:var(--mr-white)}.cart-line{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) 178px 115px;align-items:center;gap:20px;padding:20px 38px 20px 0;border-bottom:2px solid var(--mr-ink)}.cart-line img{width:120px;height:120px;object-fit:contain;background:var(--mr-paper)}.cart-line p{margin:0;color:var(--mr-blue);font:700 .68rem var(--mr-mono);text-transform:uppercase}.cart-line h2{margin:4px 0;font:400 2.2rem var(--mr-display);text-transform:uppercase}.cart-line h2 a{color:var(--mr-ink);text-decoration:none}.cart-line .quantity-control>label{font-size:.65rem}.quantity-stepper-compact{grid-template-columns:48px 58px 48px}.quantity-stepper-compact button,.quantity-stepper-compact input{height:48px}.quantity-stepper-compact button{min-width:48px}.quantity-stepper-compact input{width:58px}.cart-remove{position:absolute;right:0;top:50%;transform:translateY(-50%);min-width:48px;min-height:48px;border:0;background:none;font-size:2rem;touch-action:manipulation}.text-button{margin-top:20px;min-height:48px;border:0;border-bottom:2px solid;background:none;color:var(--mr-blue);font:700 .72rem var(--mr-mono);text-transform:uppercase}
.cart-live-status{min-height:1.4em;margin:12px 0 0;color:var(--mr-blue);font:700 .68rem var(--mr-mono);text-transform:uppercase}.cart-summary dd{transition:opacity .15s ease}.is-updating~* .cart-summary dd{opacity:.55}
.cart-summary{position:sticky;top:110px;padding:28px;background:var(--mr-paper);border:2px solid var(--mr-ink);box-shadow:9px 9px 0 var(--mr-ochre)}.cart-summary h2,.checkout-fields legend,.payment-panel h2,.account-section h2,.order-confirmation-grid h2{font:400 3rem/1 var(--mr-display);text-transform:uppercase}.cart-summary dl{margin:25px 0}.cart-summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--mr-line)}.cart-summary dd{margin:0}.cart-summary .cart-discount-row{color:var(--mr-blue);font-weight:800}.cart-summary .total{padding-top:18px;border-bottom:0;font-size:1.2rem;font-weight:700}.cart-summary>small{display:block;margin-top:18px}.shop-empty{padding:70px 0}.shop-empty h2,.shop-empty h3{font:400 4rem var(--mr-display);text-transform:uppercase}.coupon-box{margin:22px 0;padding:18px;border:2px solid var(--mr-ink);background:#fff}.coupon-box h3{margin:0 0 12px;font:700 .76rem var(--mr-mono);letter-spacing:.04em;text-transform:uppercase}.coupon-box p{margin:0 0 12px}.coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.coupon-form input{min-width:0;padding:12px;border:2px solid var(--mr-ink);border-right:0;font:700 .75rem var(--mr-mono);text-transform:uppercase}.coupon-form button{min-width:88px;padding:12px 14px;border:2px solid var(--mr-ink);background:var(--mr-blue);color:#fff;font:700 .72rem var(--mr-mono);text-transform:uppercase}.coupon-form button:hover,.coupon-form button:focus-visible{background:var(--mr-red)}
.checkout-login-note{display:flex;justify-content:space-between;gap:15px;margin-bottom:30px;padding:16px 20px;background:var(--mr-ochre);border:2px solid var(--mr-ink);font-weight:700}.checkout-fields{padding:0;border:0}.checkout-fields label,.account-auth-card form>label{display:block;margin-bottom:7px;font:700 .7rem var(--mr-mono);text-transform:uppercase}.checkout-fields input,.checkout-fields select,.checkout-fields textarea,.account-auth-card input{width:100%;padding:13px;border:2px solid var(--mr-ink);background:#fff}.checkout-item{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--mr-line)}.checkout-summary .form-check{display:grid;grid-template-columns:auto 1fr;gap:8px;margin:15px 0}.checkout-summary .form-check input{margin-top:3px}.checkout-summary .mr-button{margin-top:20px}
.payment-panel{min-height:340px;padding:35px;border:2px solid var(--mr-ink)}.payment-error{margin-top:20px;color:var(--mr-red);font-weight:700}.order-confirmation-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:60px 0;padding:40px;border-top:2px solid var(--mr-ink);border-bottom:2px solid var(--mr-ink)}.order-success>.container-xxl>h1{max-width:none}
.account-auth-card{max-width:640px;margin:auto;padding:clamp(25px,5vw,60px);border:2px solid var(--mr-ink);box-shadow:12px 12px 0 var(--mr-ochre)}.account-auth-card h1{font:400 clamp(4rem,9vw,7rem)/.85 var(--mr-display);text-transform:uppercase}.account-auth-card form{display:grid;gap:14px}.account-auth-card .row{margin-bottom:0}.account-auth-card .form-check{display:grid;grid-template-columns:auto 1fr;gap:8px}.account-switch{margin:28px 0 0;text-align:center}.account-orders>a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:20px 5px;border-bottom:2px solid var(--mr-ink);color:var(--mr-ink);text-decoration:none}.account-orders span{display:grid}.account-orders small{color:var(--mr-blue)}.account-orders b{margin-top:4px}.account-orders i{color:var(--mr-red);font-size:1.7rem}
.account-auth-card .form-check{display:flex;align-items:flex-start;gap:10px;padding-left:0}.account-auth-card .form-check-input{flex:0 0 24px;width:24px;height:24px;margin:0;padding:0;border:2px solid var(--mr-ink);border-radius:0}.account-auth-card .form-check-input:checked{background-color:var(--mr-blue);border-color:var(--mr-ink)}.account-auth-card .form-check-input:focus{box-shadow:0 0 0 .2rem rgba(23,77,183,.17)}.account-auth-card .form-check-label{padding-top:2px;line-height:1.45}
.cart-added-modal .modal-content{border:2px solid var(--mr-ink);border-radius:0;box-shadow:14px 14px 0 var(--mr-ochre)}.cart-added-modal .modal-header{align-items:center;padding:18px 22px;border-bottom:2px solid var(--mr-ink)}.cart-added-modal .modal-body{padding:34px}.cart-added-modal .modal-body h2{margin:18px 0 12px;font:400 clamp(3rem,7vw,5rem)/.88 var(--mr-display);text-transform:uppercase}.cart-added-modal .modal-body p{margin:0;font-size:1.05rem}.cart-added-symbol{display:grid;width:54px;height:54px;color:var(--mr-white);background:var(--mr-red);border:2px solid var(--mr-ink);font-size:1.5rem;font-weight:900;place-items:center}.cart-added-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 34px 34px;border:0}.cart-added-modal .modal-footer .mr-button{width:100%;margin:0}.cart-added-modal .cart-added-continue{background:var(--mr-white);color:var(--mr-ink)!important}.cart-added-modal .cart-added-continue:hover{background:var(--mr-ochre)}
@media(max-width:575.98px){.cart-added-modal .modal-body{padding:26px 22px}.cart-added-modal .modal-footer{grid-template-columns:1fr;padding:0 22px 26px}.cart-added-modal .modal-body h2{font-size:3.2rem}}
.account-forgot-link{justify-self:end;color:var(--mr-blue);font:700 .68rem var(--mr-mono);text-transform:uppercase}.account-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:52px;padding-bottom:20px;border-bottom:2px solid var(--mr-ink)}.account-nav a{min-height:46px;padding:13px 16px;border:2px solid var(--mr-ink);color:var(--mr-ink);font:800 .68rem var(--mr-mono);text-decoration:none;text-transform:uppercase}.account-nav a:hover,.account-nav a[aria-current="page"]{color:#fff;background:var(--mr-blue)}.account-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.account-summary-card,.account-address-card,.account-form-card{padding:28px;border:2px solid var(--mr-ink);background:var(--mr-paper)}.account-summary-card:nth-child(2){box-shadow:8px 8px 0 var(--mr-ochre)}.account-summary-card:nth-child(3){box-shadow:8px 8px 0 var(--mr-red)}.account-summary-card>p,.account-address-card>b{color:var(--mr-blue);font:800 .7rem var(--mr-mono);text-transform:uppercase}.account-summary-card h2,.account-address-card h2,.account-form-card h2,.account-block h2{font-size:clamp(2.2rem,4vw,3.5rem)}.account-summary-card>strong,.account-summary-card>span{display:block}.account-summary-card>a,.account-block-heading>a:not(.mr-button){display:inline-block;margin-top:24px;color:var(--mr-blue);font:800 .68rem var(--mr-mono);text-transform:uppercase}.account-block{margin-top:70px}.account-block-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.account-block-heading p{max-width:680px;margin:8px 0 0}.account-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.account-address-card{background:#fff;box-shadow:8px 8px 0 var(--mr-ochre)}.account-address-card address{font-style:normal;line-height:1.65}.account-address-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--mr-line)}.account-address-actions a,.account-address-actions button{padding:0;border:0;border-bottom:2px solid var(--mr-ink);background:transparent;color:var(--mr-ink);font:800 .66rem var(--mr-mono);text-decoration:none;text-transform:uppercase}.account-address-actions form{margin:0}.account-form-card{max-width:900px;margin:0 auto;background:#fff;box-shadow:10px 10px 0 var(--mr-ochre)}.account-form{margin:25px 0}.account-form label{display:block;margin-bottom:7px;font:800 .68rem var(--mr-mono);text-transform:uppercase}.account-form label small{font:inherit;color:#666;text-transform:none}.account-form input,.account-form select{width:100%;min-height:50px;padding:12px;border:2px solid var(--mr-ink);background:#fff}.account-form .form-check{display:flex;align-items:center;gap:10px}.account-form .form-check input{width:22px;min-height:22px}.account-form .mr-button{margin-top:24px}.account-version-note{padding:14px 16px;border-left:6px solid var(--mr-blue);background:var(--mr-paper)}.account-empty{padding:55px 0}.order-account-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);align-items:start;gap:34px}.order-account-grid .account-form-card{max-width:none;margin:0}.account-order-items article{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--mr-line)}.account-order-items img{width:80px;height:80px;object-fit:contain;background:var(--mr-paper)}.account-order-items div{display:grid}.account-order-items small{color:var(--mr-blue);font:700 .65rem var(--mr-mono);text-transform:uppercase}.account-order-totals{margin:25px 0 0}.account-order-totals>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--mr-line)}.account-order-totals dd{margin:0}.account-order-totals>div:last-child{font-size:1.15rem;font-weight:800}
@media(max-width:991.98px){.nav-cart-link{margin-left:auto;margin-right:8px}.shop-hero{min-height:auto}.shop-hero::before{right:-18%;top:-12%;width:74vw;opacity:.48}.shop-hero-layout{grid-template-columns:1fr}.shop-hero-copy{max-width:800px}.shop-hero-scene{justify-self:end;width:min(690px,92vw);height:clamp(355px,63vw,510px);margin-top:-15px}.shop-filters{justify-content:flex-start}.cart-summary{position:static}.foreign-order-note{grid-template-columns:1fr}.product-detail-image{min-height:360px}.order-confirmation-grid{grid-template-columns:1fr;gap:25px}.cart-line{grid-template-columns:90px 1fr 178px}.cart-line img{width:90px;height:90px}.cart-line>b{grid-column:2;text-align:left}}
@media(max-width:991.98px){.account-dashboard-grid,.account-address-grid,.order-account-grid{grid-template-columns:1fr}.account-block-heading{align-items:start;flex-direction:column}.footer-columns>div+div{padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}}
@media(max-width:575.98px){.nav-cart-link span{display:none}.shop-hero{padding:64px 0 38px}.shop-hero h1{font-size:clamp(3.6rem,18vw,5.2rem)}.shop-hero-scene{width:100%;height:300px;margin:24px 0 0}.shop-hero-static-art{right:0;bottom:40px;width:100%}.shop-hero-stamp{right:0}.shop-product-meta{grid-template-columns:1fr}.shop-product-meta>strong{grid-column:1;grid-row:auto;margin-top:7px}.product-buy{align-items:stretch;flex-direction:column}.product-buy .quantity-stepper{grid-template-columns:54px minmax(68px,1fr) 54px}.product-buy .quantity-stepper input{width:100%}.cart-line{grid-template-columns:70px 1fr;padding-right:48px}.cart-line img{width:70px;height:70px}.cart-line .quantity-control{grid-column:2}.cart-line>b{grid-column:2}.checkout-login-note{flex-direction:column}.order-confirmation-grid{padding:25px 0}.account-orders>a{grid-template-columns:1fr}.account-orders i{display:none}.account-nav{display:grid;grid-template-columns:1fr 1fr}.account-nav a{text-align:center}.account-order-items article{grid-template-columns:60px 1fr}.account-order-items img{width:60px;height:60px}.account-order-items article>b{grid-column:2}}
@media(max-width:575.98px){.product-variant-options{grid-template-columns:1fr}}

@media(max-width:575.98px){.account-auth-card h1{font-size:clamp(2.65rem,13vw,3.25rem);overflow-wrap:anywhere}}

@media (prefers-reduced-motion: reduce) {
    .shop-hero-static-art { opacity:1!important;animation:none; }
    .shop-hero-video { display:none; }
}

/* News directory and detail */

.filter-nav {
    display: flex;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 8px;
}

.filter-nav a {
    padding: 11px 16px;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.filter-nav a:hover,
.filter-nav a.active {
    color: var(--mr-white);
    background: var(--mr-blue);
}

.musician-filter {
    margin: 0 0 44px;
    padding: 22px;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    box-shadow: 9px 9px 0 var(--mr-blue);
}

.musician-filter a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.musician-filter a span {
    display: grid;
    min-width: 24px;
    height: 24px;
    padding: 0 5px;
    color: var(--mr-white);
    background: var(--mr-ink);
    border-radius: 50%;
    font-size: .58rem;
    place-items: center;
}

.musician-filter a.active span {
    color: var(--mr-ink);
    background: var(--mr-ochre);
}

.news-directory-list {
    margin-top: 0;
}

.news-list-image {
    min-height: 315px;
}

.news-list-image img {
    min-height: 315px;
    aspect-ratio: 1.6;
}

.news-list-copy h2 {
    font-size: clamp(2.7rem, 4.3vw, 4.4rem);
}

.news-meta {
    margin: 0 0 12px;
}

.empty-state {
    padding: 54px;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    font-family: var(--mr-display);
    font-size: 2.2rem;
    text-transform: uppercase;
}

.news-detail-hero {
    padding: 120px 0 135px;
}

.news-detail-hero h1 {
    max-width: 1050px;
}

.news-detail-hero .inner-lead {
    max-width: 760px;
}

.news-detail-media {
    position: relative;
    z-index: 2;
    width: min(1110px, calc(100% - 68px));
    margin: -70px auto 0;
    padding: 15px;
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    box-shadow: 14px 14px 0 var(--mr-red);
}

.news-detail-media img {
    display: block;
    width: 100%;
    max-height: 700px;
    object-fit: cover;
    border: 2px solid var(--mr-ink);
}

.news-detail-media + .news-detail-body {
    padding-top: 150px;
}

.news-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .studio-list-card,
    .studio-list-card:nth-child(even),
    .news-list-card,
    .news-list-card:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .studio-list-card:nth-child(even) .studio-list-image,
    .news-list-card:nth-child(even) .news-list-image,
    .studio-list-card:nth-child(even) .studio-list-copy,
    .news-list-card:nth-child(even) .news-list-copy {
        grid-column: auto;
        grid-row: auto;
    }

    .studio-detail-image,
    .studio-detail-image img {
        min-height: 500px;
    }

    .studio-detail-heading {
        min-height: 480px;
        border-top: 0;
        border-left: 2px solid var(--mr-ink);
    }

    .release-directory-grid .record-card:nth-child(3n + 2) {
        transform: none;
    }

    .release-detail-hero {
        min-height: auto;
        padding: 85px 0 100px;
    }

    .release-detail-heading {
        padding-top: 45px;
    }
}

@media (max-width: 575.98px) {
    .studio-directory-list,
    .news-directory-list {
        margin-top: 38px;
    }

    .studio-list-card,
    .news-list-card {
        padding: 38px 0;
    }

    .studio-list-image,
    .studio-list-image img,
    .news-list-image,
    .news-list-image img {
        min-height: 245px;
    }

    .studio-list-copy h3,
    .news-list-copy h2 {
        font-size: 3rem;
    }

    .studio-list-copy h3 a {
        padding-bottom: 11px;
    }

    .studio-list-copy h3 a::after {
        height: 6px;
    }

    .studio-detail-hero > .container-xxl {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .studio-detail-image,
    .studio-detail-image img {
        min-height: 330px;
    }

    .studio-detail-heading {
        min-height: 390px;
        padding: 32px 25px;
    }

    .studio-detail-heading h1,
    .release-detail-heading h1,
    .news-detail-hero h1 {
        font-size: clamp(3.5rem, 15vw, 5.2rem);
    }

    .studio-detail-heading h1.studio-title--long-word {
        font-size: clamp(3rem, 13.5vw, 4.5rem);
    }

    .studio-detail-heading--long-title {
        padding-right: 25px;
        padding-left: 25px;
    }

    .release-detail-cover {
        width: calc(100% - 14px);
        padding: 9px;
        box-shadow: 10px 10px 0 var(--mr-blue);
    }

    .release-detail-cover::before {
        top: -24px;
        right: -24px;
        width: 75px;
    }

    .majorana-player {
        box-shadow: 8px 8px 0 var(--mr-blue);
    }

    .player-console {
        padding: 16px;
        grid-template-columns: 1fr;
        gap: 19px;
    }

    .player-cover {
        width: 136px;
        min-height: 136px;
    }

    .player-cover img {
        min-height: 136px;
    }

    .player-now {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 15px;
    }

    .player-play {
        width: 62px;
        height: 62px;
    }

    .player-now strong {
        font-size: clamp(1.7rem, 9vw, 2.5rem);
    }

    .player-controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .player-volume {
        width: 100%;
        min-width: 0;
    }

    .player-playlist button,
    .player-playlist li > div {
        padding: 12px 13px;
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .player-playlist button small,
    .player-playlist li > div small {
        display: none;
    }

    .news-detail-hero {
        padding: 84px 0 105px;
    }

    .news-detail-media {
        width: calc(100% - 34px);
        margin-top: -55px;
        padding: 8px;
        box-shadow: 8px 8px 0 var(--mr-red);
    }

    .news-detail-media + .news-detail-body {
        padding-top: 110px;
    }
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--mr-nav-height);
    max-width: 100%;
    overflow-x: hidden;
}

body {
    max-width: 100%;
    min-width: 320px;
    color: var(--mr-ink);
    background: var(--mr-white);
    font-family: var(--mr-sans);
    font-size: 16px;
    line-height: 1.45;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

::selection {
    color: var(--mr-white);
    background: var(--mr-blue);
}

a,
button {
    text-underline-offset: 4px;
}

img {
    max-width: 100%;
}

.container-xxl {
    max-width: 1180px;
    padding-right: 34px;
    padding-left: 34px;
}

.skip-link {
    position: fixed;
    z-index: 2000;
    top: 12px;
    left: 12px;
    padding: 10px 15px;
    color: var(--mr-white);
    background: var(--mr-ink);
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

section {
    position: relative;
    isolation: isolate;
}

.section-pad {
    padding: 112px 0 118px;
}

/* Navigation */

.majorana-navbar {
    height: var(--mr-nav-height);
    min-height: var(--mr-nav-height);
    padding: 0;
    background: rgba(255, 254, 249, .96);
    border-bottom: 2px solid var(--mr-ink);
    backdrop-filter: blur(10px);
}

.majorana-navbar::after {
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 16%;
    height: 2px;
    content: "";
    background: var(--mr-blue);
}

.navbar-brand {
    display: flex;
    width: 210px;
    height: var(--mr-nav-height);
    padding: 8px 0;
    align-items: center;
}

.navbar-brand img {
    width: 202px;
    height: 68px;
    object-fit: contain;
    object-position: left center;
}

.navbar-nav {
    gap: 2px;
}

.majorana-navbar .nav-link {
    position: relative;
    padding: 34px 10px 31px !important;
    color: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.majorana-navbar .nav-link::after {
    position: absolute;
    right: 10px;
    bottom: 22px;
    left: 10px;
    height: 4px;
    content: "";
    background: var(--mr-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}

.majorana-navbar .nav-link:hover,
.majorana-navbar .nav-link.active {
    color: var(--mr-blue);
}

.majorana-navbar .nav-link:hover::after,
.majorana-navbar .nav-link.active::after {
    transform: scaleX(1);
}

.navbar-toggler {
    width: 48px;
    height: 48px;
    border-radius: 0;
}

.offcanvas {
    --bs-offcanvas-width: min(360px, calc(100vw - 24px));
    color: var(--mr-ink);
    background: var(--mr-ochre);
    border-left: 2px solid var(--mr-ink) !important;
}

.offcanvas-header {
    min-height: 70px;
    padding: calc(15px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 12px 18px;
}

.offcanvas-header .btn-close {
    width: 48px;
    height: 48px;
    margin: -8px -8px -8px auto;
    padding: 0;
    background-size: 22px;
    border-radius: 0;
}

.offcanvas-body {
    padding: 8px max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.offcanvas-title,
.mobile-nav .nav-link {
    font-family: var(--mr-display);
    text-transform: uppercase;
}

.mobile-nav .nav-link {
    display: flex;
    min-height: 52px;
    padding: 12px 0;
    align-items: center;
    color: var(--mr-ink);
    border-bottom: 2px solid var(--mr-ink);
    font-size: 2.1rem;
    line-height: 1;
}

.mobile-nav .nav-link.active {
    color: var(--mr-blue);
}

/* Hero */

.hero-section {
    min-height: calc(100svh - var(--mr-nav-height));
    background: var(--mr-white);
    border-bottom: 2px solid var(--mr-ink);
}

.hero-section > .container-xxl,
.hero-row {
    min-height: calc(100svh - var(--mr-nav-height));
}

.hero-grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .13;
    background-image:
        linear-gradient(to right, var(--mr-ink) 1px, transparent 1px),
        linear-gradient(to bottom, var(--mr-ink) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(90deg, #171b22 0 54%, transparent 80%);
}

.hero-section::before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 43%;
    height: 100%;
    content: "";
    background: var(--mr-ochre);
    border-left: 2px solid var(--mr-ink);
}

.hero-section::after {
    position: absolute;
    z-index: 0;
    top: 26px;
    right: 28px;
    width: 36px;
    height: 36px;
    content: "";
    background: var(--mr-red);
    border: 2px solid var(--mr-ink);
}

.hero-copy {
    position: relative;
    z-index: 3;
    padding: 52px 50px 90px 0;
}

.hero-index {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 20px;
    padding: 7px 10px 6px;
    color: var(--mr-white);
    background: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.hero-copy h1 {
    max-width: 660px;
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(4.8rem, 7.6vw, 7rem);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: .87;
    text-transform: uppercase;
}

.hero-copy h1::after {
    display: block;
    width: 68%;
    height: 12px;
    margin-top: 25px;
    content: "";
    background: var(--mr-red);
}

.hero-lead {
    max-width: 500px;
    margin: 22px 0 26px;
    font-size: .93rem;
    font-weight: 700;
    line-height: 1.55;
}

.btn-majorana {
    position: relative;
    padding: 14px 22px 13px;
    color: var(--mr-white);
    background: var(--mr-ink);
    border: 2px solid var(--mr-ink);
    border-radius: 0;
    font-family: var(--mr-mono);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.btn-majorana::after {
    margin-left: 18px;
    content: "↗";
    font-size: 1rem;
}

.btn-majorana:hover,
.btn-majorana:focus-visible {
    color: var(--mr-ink);
    background: var(--mr-ochre);
    border-color: var(--mr-ink);
    transform: translate(-3px, -3px);
    box-shadow: 5px 5px 0 var(--mr-blue);
}

.hero-media {
    position: relative;
    z-index: 2;
    align-self: stretch;
    min-height: 590px;
}

.hero-media img {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 49%;
    width: min(760px, 127%);
    height: auto;
    max-width: none;
    transform: translate(-50%, -48%);
    filter: drop-shadow(18px 24px 0 rgba(23, 27, 34, .13));
}

.bauhaus-stage {
    position: absolute;
    inset: 7% -7% 7% 2%;
    overflow: hidden;
    border: 2px solid var(--mr-ink);
}

.shape {
    position: absolute;
    display: block;
    border: 2px solid var(--mr-ink);
}

.shape-circle {
    top: 6%;
    right: 3%;
    width: 48%;
    aspect-ratio: 1;
    background: var(--mr-blue);
    border-radius: 50%;
}

.shape-square {
    bottom: 3%;
    left: 2%;
    width: 29%;
    aspect-ratio: 1;
    background: var(--mr-red);
}

.shape-bar {
    top: 11%;
    left: 7%;
    width: 12%;
    height: 58%;
    background: var(--mr-white);
}

.shape-dot {
    right: 7%;
    bottom: 7%;
    width: 50px;
    height: 50px;
    background: var(--mr-ink);
    border-radius: 50%;
}

.hero-art-caption {
    position: absolute;
    z-index: 6;
    right: 1px;
    bottom: 5%;
    margin: 0;
    padding: 8px 12px;
    color: var(--mr-white);
    background: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.scroll-cue {
    position: absolute;
    z-index: 8;
    bottom: 17px;
    left: 50%;
    display: flex;
    gap: 12px;
    color: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    align-items: center;
}

.scroll-cue i {
    display: grid;
    width: 30px;
    height: 30px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    font-size: 1rem;
    font-style: normal;
    place-items: center;
    animation: scroll-cue 1.6s ease-in-out infinite;
}

@keyframes scroll-cue {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}

/* Shared section language */

.build-section {
    overflow: hidden;
    border-bottom: 2px solid var(--mr-ink);
}

.build-section::before {
    position: absolute;
    z-index: 3;
    top: 70px;
    left: max(8px, calc((100vw - 1280px) / 2 + 8px));
    content: attr(data-side-title);
    font-family: var(--mr-display);
    font-size: 1.05rem;
    letter-spacing: .035em;
    line-height: 1;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.build-section::after {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    content: "";
    background: var(--mr-blue);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .9s cubic-bezier(.2, .8, .2, 1);
}

.build-section:nth-of-type(odd)::after {
    background: var(--mr-red);
    transform-origin: right;
}

.build-section.is-built::after {
    transform: scaleX(1);
}

.section-number {
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(3.4rem, 5.8vw, 5.8rem);
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: .88;
    text-transform: uppercase;
}

.section-number span {
    display: inline-block;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .05em;
    transform: translateY(-12px);
}

.section-number em {
    color: var(--mr-red);
    font-style: normal;
}

.section-kicker,
.contact-kicker {
    margin: 12px 0 0;
    color: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.text-link {
    display: inline-flex;
    gap: 14px;
    color: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
    align-items: center;
}

.text-link span {
    display: grid;
    width: 30px;
    height: 30px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    font-size: 1rem;
    line-height: 1;
    transition: transform .2s ease, background .2s ease;
    place-items: center;
}

.text-link:hover {
    color: var(--mr-red);
}

.text-link:hover span {
    background: var(--mr-red);
    transform: translateX(4px);
}

.mini-wave {
    width: 112px;
    height: 30px;
    background-image: linear-gradient(90deg, var(--mr-blue) 0 18%, transparent 18% 26%, var(--mr-red) 26% 47%, transparent 47% 55%, var(--mr-ink) 55% 100%);
}

.mini-wave-muted {
    width: 220px;
    opacity: .9;
}

/* Alternating bands */

.manifesto-section,
.team-section,
.news-section,
.contact-section {
    background: var(--mr-ochre);
}

.catalog-section,
.studios-section,
.shop-section {
    background: var(--mr-white);
}

/* Featured artists on the homepage */

.home-artists-section {
    color: var(--mr-white);
    background: var(--mr-blue);
}

.home-artists-section::before {
    color: var(--mr-white);
}

.home-artists-heading {
    margin-bottom: 48px;
    gap: 32px;
}

.home-artists-section .section-number span,
.home-artists-section .section-kicker {
    color: var(--mr-white);
}

.home-artists-all {
    flex: 0 0 auto;
    color: var(--mr-white);
    border-color: var(--mr-white);
}

.home-artists-all:hover,
.home-artists-all:focus-visible {
    color: var(--mr-ochre);
    border-color: var(--mr-ochre);
}

.home-artists-grid > article:nth-child(3n + 2) {
    margin-top: 54px;
}

.home-artist-card {
    display: block;
    color: var(--mr-white);
    text-decoration: none;
}

.home-artist-image {
    position: relative;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    background: var(--mr-paper);
    border: 2px solid var(--mr-ink);
    box-shadow: 8px 8px 0 var(--mr-ink);
    transition: box-shadow .3s cubic-bezier(.2,.75,.25,1), transform .3s cubic-bezier(.2,.75,.25,1);
}

.home-artist-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .3s ease, transform .45s cubic-bezier(.2,.75,.25,1);
}

.home-artist-image > b {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    width: 48px;
    height: 48px;
    color: var(--mr-white);
    background: var(--mr-red);
    border-top: 2px solid var(--mr-ink);
    border-left: 2px solid var(--mr-ink);
    place-items: center;
    transition: background-color .2s ease, transform .25s ease;
}

.home-artist-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    color: var(--mr-blue);
    font: 900 clamp(3rem, 8vw, 7rem) var(--mr-display);
    place-items: center;
}

.home-artist-card > p {
    margin: 20px 0 7px;
    color: var(--mr-ochre);
    font-family: var(--mr-mono);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-artist-card h3 {
    margin: 0;
    color: var(--mr-white);
    font-family: var(--mr-display);
    font-size: clamp(2.25rem, 4vw, 4rem);
    line-height: .88;
    text-transform: uppercase;
    transition: color .22s ease, transform .3s cubic-bezier(.2,.75,.25,1);
}

.home-artist-card:hover .home-artist-image,
.home-artist-card:focus-visible .home-artist-image {
    box-shadow: 14px 14px 0 var(--mr-ochre);
    transform: translate(-5px, -6px);
}

.home-artist-card:hover .home-artist-image img,
.home-artist-card:focus-visible .home-artist-image img {
    filter: saturate(1.12) contrast(1.04);
    transform: scale(1.055);
}

.home-artist-card:hover .home-artist-image > b,
.home-artist-card:focus-visible .home-artist-image > b {
    background: var(--mr-ink);
    transform: translate(-4px, -4px);
}

.home-artist-card:hover h3,
.home-artist-card:focus-visible h3 {
    color: var(--mr-ochre);
    transform: translateX(8px);
}

.home-artist-card:focus-visible {
    outline: 3px solid var(--mr-ochre);
    outline-offset: 7px;
}

.home-artists-footer {
    display: none;
    margin-top: 40px;
}

.home-artists-empty {
    padding: 30px;
    border: 2px solid var(--mr-white);
}

.home-artists-empty p {
    margin: 0 0 12px;
    font-weight: 800;
}

.home-artists-empty a {
    color: var(--mr-ochre);
    font-family: var(--mr-mono);
    font-weight: 800;
    text-transform: uppercase;
}

/* Manifesto */

.manifesto-section {
    min-height: 720px;
}

.manifesto-section::before {
    color: var(--mr-ink);
}

.manifesto-line {
    position: relative;
    width: 83%;
    height: 68px;
    margin: 58px auto 0;
    border-top: 3px solid var(--mr-ink);
}

.manifesto-line::after {
    position: absolute;
    top: -3px;
    left: 33.333%;
    width: 33.333%;
    height: 12px;
    content: "";
    background: var(--mr-red);
}

.manifesto-line i {
    position: absolute;
    z-index: 2;
    top: -13px;
    width: 24px;
    height: 24px;
    background: var(--mr-blue);
    border: 3px solid var(--mr-ink);
    border-radius: 50%;
}

.manifesto-line i::after {
    position: absolute;
    top: 21px;
    left: 8px;
    width: 3px;
    height: 46px;
    content: "";
    background: var(--mr-ink);
}

.manifesto-line i:nth-child(1) { left: 0; }
.manifesto-line i:nth-child(2) { left: calc(50% - 12px); background: var(--mr-white); }
.manifesto-line i:nth-child(3) { right: 0; background: var(--mr-red); }

.manifesto-statements {
    margin: 8px 0 46px;
}

.manifesto-statements > div {
    position: relative;
    padding-top: 26px;
}

.manifesto-statements > div::before {
    display: block;
    margin-bottom: 12px;
    content: "01";
    font-family: var(--mr-mono);
    font-size: .67rem;
    font-weight: 800;
}

.manifesto-statements > div:nth-child(2)::before { content: "02"; }
.manifesto-statements > div:nth-child(3)::before { content: "03"; }

.manifesto-statements p {
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(2.15rem, 3.1vw, 3.35rem);
    letter-spacing: -.015em;
    line-height: .94;
    text-transform: uppercase;
}

/* Releases */

.catalog-heading {
    margin-bottom: 48px;
}

.catalog-intro {
    padding-bottom: 6px;
}

.catalog-intro p {
    max-width: 220px;
    font-family: var(--mr-mono);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.release-grid {
    margin-bottom: 52px;
}

.release-grid-secondary {
    margin-bottom: 0;
}

.release-card:nth-child(4n + 1) { --card-accent: var(--mr-blue); }
.release-card:nth-child(4n + 2) { --card-accent: var(--mr-red); }
.release-card:nth-child(4n + 3) { --card-accent: var(--mr-ochre); }
.release-card:nth-child(4n + 4) { --card-accent: var(--mr-green); }

.release-cover {
    position: relative;
    display: block;
    padding: 10px;
    overflow: hidden;
    background: var(--card-accent);
    border: 2px solid var(--mr-ink);
    box-shadow: 8px 8px 0 var(--mr-ink);
    transition: box-shadow .32s cubic-bezier(.2,.75,.25,1), transform .32s cubic-bezier(.2,.75,.25,1);
}

.release-cover img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: filter .25s ease, transform .32s cubic-bezier(.2,.75,.25,1);
}

.release-action {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 8px 10px;
    color: var(--mr-white);
    background: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 700;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
    text-transform: uppercase;
}

.release-card:hover .release-cover,
.release-card:focus-within .release-cover {
    box-shadow: 13px 14px 0 var(--mr-ink);
    transform: translate(-5px,-6px);
}

.release-card:hover .release-cover img,
.release-card:focus-within .release-cover img {
    filter: saturate(1.08) contrast(1.02);
    transform: scale(1.025);
}

.release-card:hover .release-action,
.release-card:focus-within .release-action {
    opacity: 1;
    transform: translateY(0);
}

.release-artist {
    margin: 20px 0 2px;
    font-family: var(--mr-display);
    font-size: 1.45rem;
    letter-spacing: .01em;
    line-height: 1;
    transition: color .22s ease, transform .3s cubic-bezier(.2,.75,.25,1);
    text-transform: uppercase;
}

.release-title {
    margin: 0;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .67rem;
    font-weight: 800;
    line-height: 1.35;
    transition: color .22s ease, transform .3s cubic-bezier(.2,.75,.25,1);
    text-transform: uppercase;
}

.release-card:hover .release-artist,
.release-card:focus-within .release-artist {
    color: var(--mr-blue);
    transform: translateX(8px);
}

.release-card:hover .release-title,
.release-card:focus-within .release-title {
    color: var(--mr-red);
    transform: translateX(8px);
}

.release-cover:focus-visible {
    outline: 3px solid var(--mr-blue);
    outline-offset: 5px;
}

/* Team */

.team-heading {
    margin-bottom: 44px;
}

.team-card {
    position: relative;
}

.team-card-link {
    display: block;
    color: var(--mr-ink);
    text-decoration: none;
}

.team-card-link:hover,
.team-card-link:focus-visible {
    color: var(--mr-blue);
}

.team-card::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: calc(var(--bs-gutter-x) * .5);
    width: 34px;
    height: 34px;
    content: "";
    background: var(--mr-blue);
    border-right: 2px solid var(--mr-ink);
    border-bottom: 2px solid var(--mr-ink);
}

.team-card:nth-child(even)::before {
    background: var(--mr-red);
    border-radius: 50%;
}

.team-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: .94;
    object-fit: cover;
    object-position: center;
    border: 2px solid var(--mr-ink);
    filter: saturate(.88) contrast(1.04);
}

.team-card h3 {
    margin: 17px 0 4px;
    font-family: var(--mr-display);
    font-size: 1.8rem;
    letter-spacing: .01em;
    line-height: .95;
    text-transform: uppercase;
}

.team-card p {
    margin: 0;
    font-family: var(--mr-mono);
    font-size: .63rem;
    font-weight: 800;
    line-height: 1.4;
    text-transform: uppercase;
}

/* Studios */

.studios-row {
    margin-top: 54px;
}

.studio-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.3;
    object-fit: cover;
    border: 2px solid var(--mr-ink);
}

.studio-card:nth-child(2) img {
    border-radius: 50% 50% 0 0;
}

.studio-card:nth-child(3) img {
    clip-path: polygon(0 0, 100% 0, 100% 83%, 83% 100%, 0 100%);
}

.studio-card:nth-child(4) img {
    border-radius: 0 0 50% 50%;
}

.studio-card h3 {
    margin: 18px 0 3px;
    font-family: var(--mr-display);
    font-size: clamp(1.45rem, 2.1vw, 1.9rem);
    letter-spacing: .01em;
    line-height: .95;
    text-transform: uppercase;
}

.studio-card h3 span,
.studio-city {
    color: var(--mr-blue);
}

.studio-city,
.studio-services {
    margin: 0;
    font-family: var(--mr-mono);
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.studio-services {
    margin-top: 5px;
}

.studio-signal {
    position: relative;
    display: flex;
    width: 84%;
    margin: 62px auto 0;
    border-top: 3px solid var(--mr-ink);
    justify-content: space-between;
}

.studio-signal::after {
    position: absolute;
    top: -8px;
    right: -2px;
    width: 14px;
    height: 14px;
    content: "";
    border-top: 3px solid var(--mr-ink);
    border-right: 3px solid var(--mr-ink);
    transform: rotate(45deg);
}

.studio-signal span {
    display: grid;
    width: 42px;
    height: 42px;
    margin-top: -22px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 3px solid var(--mr-ink);
    border-radius: 50%;
    font-family: var(--mr-mono);
    font-size: .64rem;
    font-weight: 800;
    place-items: center;
}

.studio-signal span:nth-child(2) { background: var(--mr-red); }
.studio-signal span:nth-child(3) { color: var(--mr-ink); background: var(--mr-ochre); }
.studio-signal span:nth-child(4) { background: var(--mr-green); }

.studio-footer {
    margin-top: 48px;
}

.studio-footer small {
    font-family: var(--mr-mono);
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* News */

.news-grid {
    margin-top: 42px;
}

.news-card img,
.press-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 1.44;
    object-fit: cover;
    border: 2px solid var(--mr-ink);
}

.news-card:nth-child(1) img,
.news-card:nth-child(1) .press-placeholder { box-shadow: 9px 9px 0 var(--mr-blue); }
.news-card:nth-child(2) img,
.news-card:nth-child(2) .press-placeholder { box-shadow: 9px 9px 0 var(--mr-red); }
.news-card:nth-child(3) img,
.news-card:nth-child(3) .press-placeholder { box-shadow: 9px 9px 0 var(--mr-white); }

.news-card img,
.news-card .press-placeholder,
.news-card h3,
.news-card .news-category,
.news-card .news-status {
    transition: color .22s ease, transform .32s cubic-bezier(.2,.75,.25,1), filter .32s ease;
}

.news-card:hover img,
.news-card:hover .press-placeholder,
.news-card:focus-within img,
.news-card:focus-within .press-placeholder {
    filter: saturate(1.08) contrast(1.04);
    transform: translate(-6px,-7px) scale(1.015);
}

.news-card:hover h3,
.news-card:focus-within h3 {
    color: var(--mr-blue);
    transform: translateX(9px);
}

.news-card:hover .news-category,
.news-card:focus-within .news-category {
    color: var(--mr-red);
    transform: translateX(5px);
}

.news-card:hover .news-status,
.news-card:focus-within .news-status {
    transform: translateX(9px);
}

.news-card-link:focus-visible {
    outline: 3px solid var(--mr-blue);
    outline-offset: 5px;
}

.press-placeholder {
    padding: 34px;
    background: var(--mr-white);
}

.press-placeholder span,
.news-category {
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .63rem;
    font-weight: 800;
    text-transform: uppercase;
}

.press-placeholder strong {
    max-width: 280px;
    margin: 18px 0;
    font-family: var(--mr-display);
    font-size: 2.4rem;
    line-height: .95;
    text-transform: uppercase;
}

.press-placeholder b {
    color: var(--mr-red);
    font-size: 1.8rem;
}

.news-category {
    margin: 19px 0 4px;
}

.news-card h3 {
    margin: 0;
    font-family: var(--mr-display);
    font-size: 2rem;
    letter-spacing: .01em;
    line-height: .98;
    text-transform: uppercase;
}

.news-card h3 a {
    color: inherit;
    text-decoration: none;
}

.news-card h3 a:hover,
.news-card h3 a:focus-visible {
    color: var(--mr-blue);
}

.news-status {
    margin: 8px 0 0;
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Shop */

.shop-formats {
    margin: 35px 0 42px;
}

.shop-formats li {
    position: relative;
    padding: 12px 8px 11px 28px;
    border-bottom: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .67rem;
    font-weight: 800;
    text-transform: uppercase;
}

.shop-formats li::before {
    position: absolute;
    top: 14px;
    left: 4px;
    width: 10px;
    height: 10px;
    content: "";
    background: var(--mr-red);
}

.shop-formats li:nth-child(2)::before { background: var(--mr-blue); border-radius: 50%; }
.shop-formats li:nth-child(3)::before { background: var(--mr-ochre); }

.shop-image-wrap {
    padding: 14px;
    background: var(--mr-paper);
    border: 2px solid var(--mr-ink);
}

.shop-card:nth-child(2) .shop-image-wrap { background: var(--mr-ochre); }
.shop-card:nth-child(3) .shop-image-wrap { background: var(--mr-blue); }

.shop-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    box-shadow: 7px 7px 0 rgba(23, 27, 34, .9);
    transition: transform .25s ease;
}

.shop-card:hover img {
    transform: translate(-3px, -3px);
}

.shop-card > a {
    display: block;
    color: var(--mr-ink);
    text-decoration: none;
}

.shop-image-placeholder {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    font: 400 5rem var(--mr-display);
}

.home-shop-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    padding: 14px 2px 18px;
    border-bottom: 2px solid var(--mr-ink);
}

.home-shop-meta > span,
.home-shop-meta > small {
    grid-column: 1;
    color: var(--mr-blue);
    font: 800 .62rem/1.25 var(--mr-mono);
    text-transform: uppercase;
}

.home-shop-meta h3 {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 2px 0 0;
    font: 400 clamp(1.45rem, 2.6vw, 2.2rem)/.93 var(--mr-display);
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.home-shop-meta strong {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-self: start;
    margin-top: 6px;
    color: var(--mr-red);
    font: 400 clamp(1.25rem, 1.8vw, 1.7rem)/1 var(--mr-display);
    white-space: nowrap;
}

.home-shop-empty {
    padding: 35px;
    border: 2px solid var(--mr-ink);
    background: var(--mr-paper);
    box-shadow: 9px 9px 0 var(--mr-ochre);
}

.home-shop-empty strong {
    font: 400 2.4rem/1 var(--mr-display);
    text-transform: uppercase;
}

.home-shop-empty p {
    margin: 8px 0 16px;
}

.home-shop-empty a {
    color: var(--mr-blue);
    font: 800 .7rem var(--mr-mono);
    text-transform: uppercase;
}

@media (max-width: 575.98px) {
    .home-shop-meta { grid-template-columns: 1fr; }
    .home-shop-meta strong { grid-column: 1; grid-row: auto; margin-top: 6px; }
}

/* Contact */

.contact-section {
    min-height: 610px;
}

.contact-geometry {
    position: absolute;
    z-index: -1;
    inset: 0;
    overflow: hidden;
}

.contact-geometry i {
    position: absolute;
    display: block;
    border: 2px solid var(--mr-ink);
}

.contact-geometry i:nth-child(1) {
    top: 72px;
    right: 7%;
    width: 160px;
    height: 160px;
    background: var(--mr-red);
    border-radius: 50%;
}

.contact-geometry i:nth-child(2) {
    right: -35px;
    bottom: -50px;
    width: 310px;
    height: 310px;
    background: var(--mr-blue);
    border-radius: 50%;
}

.contact-geometry i:nth-child(3) {
    top: 45%;
    left: -35px;
    width: 170px;
    height: 74px;
    background: var(--mr-white);
    transform: rotate(-12deg);
}

.contact-options {
    margin-top: 54px;
}

.contact-card {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 24px;
    min-height: 230px;
    padding: 34px;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    border-radius: 0;
    box-shadow: 10px 10px 0 var(--mr-ink);
    transition: transform .2s ease, box-shadow .2s ease;
}

.contact-card:hover,
.contact-card:focus-visible {
    color: var(--mr-ink);
    background: var(--mr-white);
    transform: translate(5px, 5px);
    box-shadow: 5px 5px 0 var(--mr-blue);
}

.contact-icon {
    display: grid;
    width: 68px;
    height: 68px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
    font-size: 1.8rem;
    place-items: center;
}

.contact-options > div:nth-child(2) .contact-icon {
    background: var(--mr-red);
    border-radius: 0;
}

.contact-card strong {
    display: block;
    font-family: var(--mr-display);
    font-size: 2.25rem;
    letter-spacing: .01em;
    line-height: .92;
    text-transform: uppercase;
}

.contact-card small {
    display: block;
    margin-top: 22px;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.contact-card em {
    display: block;
    margin-top: 12px;
    font-size: .76rem;
    font-style: normal;
    font-weight: 700;
}

/* Footer and forms */

.site-footer {
    padding: 38px 0 24px;
    color: var(--mr-white);
    background: var(--mr-ink);
    border-top: 10px solid var(--mr-blue);
}

.footer-logo {
    width: 185px;
    height: 56px;
    object-fit: contain;
    object-position: left center;
    filter: invert(1);
    mix-blend-mode: screen;
}

.footer-column-nav a,
.footer-column-nav button,
.admin-link,
.footer-legal a,
.footer-legal button {
    color: var(--mr-white);
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.footer-column-nav a:hover,
.footer-column-nav button:hover,
.admin-link:hover,
.footer-legal a:hover,
.footer-legal button:hover {
    color: var(--mr-ochre);
}

.admin-link {
    opacity: .65;
}

.site-footer h2 {
    margin: 2px 0 18px;
    color: var(--mr-ochre);
    font: 400 1.65rem/1 var(--mr-display);
    text-transform: uppercase;
}

.footer-column-nav {
    display: grid;
    justify-items: start;
    gap: 11px;
}

.footer-column-nav form {
    margin: 0;
}

.footer-column-nav button {
    padding: 0;
    border: 0;
    background: transparent;
}

.footer-legal {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.25);
    color: var(--mr-white);
    font-family: var(--mr-mono);
    font-size: .58rem;
    text-transform: uppercase;
}

.footer-legal span {
    margin: 0 14px;
    opacity: .55;
}

.footer-legal p {
    margin: 8px 0 0;
}

.footer-business {
    display: grid;
    gap: 4px;
    margin: 18px 0 0;
    color: var(--mr-white);
    font: 700 .64rem/1.45 var(--mr-mono);
    font-style: normal;
    text-transform: uppercase;
}

.footer-business strong {
    color: var(--mr-ochre);
    font-size: .76rem;
}

.footer-business a {
    color: inherit;
}

.footer-legal button {
    padding: 0;
    border: 0;
    background: transparent;
}

/* Legal pages and consent management */
.legal-page {
    min-height: 70vh;
    background: var(--mr-white);
}

.legal-page-header {
    max-width: 1050px;
    padding-bottom: 45px;
    border-bottom: 2px solid var(--mr-ink);
}

.legal-page-header h1 {
    margin: 12px 0 24px;
    font: 400 clamp(4rem, 9vw, 8rem)/.84 var(--mr-display);
    text-transform: uppercase;
}

.legal-page-body {
    max-width: 920px;
    margin: 55px auto 0;
}

.legal-page-body h2 {
    margin: 56px 0 18px;
    color: var(--mr-blue);
    font: 400 clamp(2.3rem, 5vw, 4.5rem)/.92 var(--mr-display);
    text-transform: uppercase;
}

.legal-page-body h3 {
    margin: 32px 0 12px;
    font: 800 1rem/1.3 var(--mr-mono);
    text-transform: uppercase;
}

.legal-page-body p,
.legal-page-body li {
    font-size: 1rem;
    line-height: 1.75;
}

.legal-page-updated {
    max-width: 920px;
    margin: 55px auto 0;
    padding-top: 18px;
    border-top: 1px solid var(--mr-line);
    color: var(--mr-blue);
    font: 700 .68rem var(--mr-mono);
    text-transform: uppercase;
}

.legal-page-body a {
    color: var(--mr-blue);
    text-decoration-thickness: 2px;
    text-underline-offset: .2em;
}

.return-function-section {
    overflow: hidden;
    background: var(--mr-ochre);
    border-block: 2px solid var(--mr-ink);
}

.return-function-section h2,
.return-receipt h2 {
    margin: 12px 0 28px;
    font: 400 clamp(3.2rem, 7vw, 6.8rem)/.84 var(--mr-display);
    text-transform: uppercase;
}

.return-function-section .col-lg-4 > p:last-child {
    max-width: 34rem;
    font-size: 1.05rem;
    line-height: 1.65;
}

.return-request-form,
.return-review,
.return-receipt {
    padding: clamp(24px, 4vw, 52px);
    border: 2px solid var(--mr-ink);
    background: var(--mr-white);
    box-shadow: 10px 10px 0 var(--mr-ink);
}

.return-request-form label {
    display: block;
    margin-bottom: 8px;
    font: 800 .76rem/1.3 var(--mr-mono);
    letter-spacing: .03em;
    text-transform: uppercase;
}

.return-request-form input:not([type="checkbox"]),
.return-request-form select,
.return-request-form textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    border: 2px solid var(--mr-ink);
    border-radius: 0;
    background: #fff;
    color: var(--mr-ink);
}

.return-request-form textarea { min-height: 110px; }
.return-request-form .form-check { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; }
.return-request-form .form-check-input { width: 22px; height: 22px; margin: 0; border: 2px solid var(--mr-ink); border-radius: 0; }
.return-request-form .form-check-label { margin: 0; font-family: var(--mr-sans); font-weight: 600; text-transform: none; }
.return-request-form .form-text { margin: 8px 0 0; color: #555d68; font-size: .82rem; line-height: 1.45; }

.return-step {
    margin-bottom: 20px;
    color: var(--mr-blue);
    font: 800 .78rem/1.2 var(--mr-mono);
    letter-spacing: .04em;
}

.return-review h3 { margin-bottom: 28px; font: 400 clamp(2.5rem, 5vw, 4.6rem)/.9 var(--mr-display); text-transform: uppercase; }
.return-review dl { margin: 0; border-top: 2px solid var(--mr-ink); }
.return-review dl > div { display: grid; grid-template-columns: minmax(110px, 28%) 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--mr-line); }
.return-review dt { font: 800 .72rem/1.4 var(--mr-mono); text-transform: uppercase; }
.return-review dd { margin: 0; overflow-wrap: anywhere; }
.return-statement { margin: 26px 0; padding-left: 18px; border-left: 7px solid var(--mr-blue); font-weight: 700; }
.return-warning { margin: 24px 0; padding: 18px; border: 2px solid var(--mr-ink); background: #ffe49a; line-height: 1.55; }
.return-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 28px; }
.return-review-actions form { margin: 0; }
.return-receipt-section { background: var(--mr-blue); }
.return-receipt { max-width: 980px; margin-inline: auto; }
.return-receipt .mr-button { margin-top: 14px; }
.footer-withdrawal-link { color: #f5c354 !important; font-weight: 800; }

@media (max-width: 767.98px) {
    .return-function-section h2,
    .return-receipt h2 { font-size: clamp(3rem, 16vw, 5rem); }
    .return-request-form,
    .return-review,
    .return-receipt { padding: 22px 18px; box-shadow: 6px 6px 0 var(--mr-ink); }
    .return-review dl > div { grid-template-columns: 1fr; gap: 5px; }
    .return-review-actions { align-items: flex-start; flex-direction: column; }
}

.cookie-consent[hidden],
.cookie-consent-details[hidden] {
    display: none !important;
}

body.cookie-consent-open {
    overflow: hidden;
}

.cookie-consent {
    position: fixed;
    z-index: 11000;
    inset: 0;
    display: grid;
    align-items: end;
    padding: 22px;
    background: rgb(23 28 33 / .55);
    backdrop-filter: blur(3px);
}

.cookie-consent-panel {
    position: relative;
    width: min(100%, 1040px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 42px);
    border: 2px solid var(--mr-ink);
    background: var(--mr-white);
    box-shadow: 12px 12px 0 var(--mr-blue);
}

.cookie-consent-kicker {
    margin: 0 0 8px;
    color: var(--mr-red);
    font: 800 .7rem var(--mr-mono);
    text-transform: uppercase;
}

.cookie-consent h2 {
    max-width: 850px;
    margin: 0 45px 12px 0;
    font: 400 clamp(2.5rem, 5vw, 4.6rem)/.9 var(--mr-display);
    text-transform: uppercase;
}

.cookie-consent-panel > p:not(.cookie-consent-kicker, .cookie-consent-links) {
    max-width: 850px;
    margin-bottom: 12px;
    line-height: 1.55;
}

.cookie-consent-links {
    display: flex;
    gap: 18px;
    margin: 0;
}

.cookie-consent-links a {
    color: var(--mr-blue);
    font: 800 .68rem var(--mr-mono);
    text-transform: uppercase;
}

.cookie-consent-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 2px solid var(--mr-ink);
    background: var(--mr-white);
    font-size: 1.8rem;
}

.cookie-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.cookie-button {
    min-height: 50px;
    padding: 12px 18px;
    border: 2px solid var(--mr-ink);
    background: var(--mr-white);
    color: var(--mr-ink);
    font: 800 .7rem var(--mr-mono);
    text-transform: uppercase;
}

.cookie-button:hover,
.cookie-button:focus-visible {
    background: var(--mr-ochre);
}

.cookie-button-primary,
.cookie-button-save {
    background: var(--mr-blue);
    color: var(--mr-white);
}

.cookie-consent-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 24px;
}

.cookie-consent-details > div,
.cookie-consent-details > label {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    min-height: 90px;
    padding: 16px;
    border: 2px solid var(--mr-ink);
    cursor: pointer;
}

.cookie-consent-details span {
    display: grid;
    gap: 5px;
}

.cookie-consent-details strong {
    font: 800 .72rem var(--mr-mono);
    text-transform: uppercase;
}

.cookie-consent-details small {
    line-height: 1.4;
}

.cookie-consent-details input {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.cookie-consent-details .cookie-button-save {
    grid-column: 1 / -1;
}

@media (max-width: 767.98px) {
    .footer-business { text-align: left; }
    .cookie-consent { padding: 10px; }
    .cookie-consent-panel { max-height: calc(100vh - 20px); overflow-y: auto; box-shadow: 6px 6px 0 var(--mr-blue); }
    .cookie-consent-details { grid-template-columns: 1fr; }
    .cookie-consent-actions { display: grid; }
    .cookie-button { width: 100%; }
}

.modal-content {
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    border-radius: 0;
    box-shadow: 12px 12px 0 var(--mr-blue);
}

.modal-header,
.modal-footer {
    border-color: var(--mr-ink);
}

.modal-title {
    font-family: var(--mr-display);
    font-size: 2.3rem;
    text-transform: uppercase;
}

.form-label,
.form-check-label {
    font-family: var(--mr-mono);
    font-size: .7rem;
    font-weight: 700;
}

.form-control,
.form-select {
    border: 2px solid var(--mr-ink);
    border-radius: 0;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--mr-blue);
    box-shadow: 0 0 0 .2rem rgba(23, 77, 183, .17);
}

/* Scroll construction */

.motion-ready .hero-section .reveal,
.motion-ready .build-section .reveal {
    --reveal-x: 0px;
    --reveal-y: 42px;
    --reveal-rotate: 0deg;
    --reveal-scale-x: 1;
    opacity: 0;
    transform: translate3d(var(--reveal-x), var(--reveal-y), 0) rotate(var(--reveal-rotate)) scaleX(var(--reveal-scale-x));
    will-change: opacity, transform;
}

.motion-ready .hero-section .reveal {
    transition: opacity .8s ease, transform .8s cubic-bezier(.2, .8, .2, 1);
}

.motion-ready .build-section .reveal {
    transition: opacity .72s ease var(--build-delay, 0ms), transform .8s cubic-bezier(.2, .8, .2, 1) var(--build-delay, 0ms);
}

.motion-ready .hero-section .reveal.is-visible,
.motion-ready .build-section .reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0) scaleX(1);
    will-change: auto;
}

.motion-ready .hero-section .reveal-delay-1 {
    transition-delay: .16s;
}

/* Homepage: directional composition while scrolling */

.motion-ready .build-section::before {
    opacity: 0;
    transition: opacity .45s ease .12s, transform .75s cubic-bezier(.2, .8, .2, 1) .12s;
    transform: rotate(180deg) translateY(30px);
}

.motion-ready .build-section.is-built::before {
    opacity: 1;
    transform: rotate(180deg) translateY(0);
}

.motion-ready .build-section > .container-xxl > header.reveal,
.motion-ready .catalog-heading.reveal,
.motion-ready .team-heading.reveal {
    --reveal-x: -54px;
    --reveal-y: 0px;
}

.motion-ready .manifesto-line.reveal {
    --reveal-x: 0px;
    --reveal-y: 0px;
    --reveal-scale-x: .02;
    opacity: 1;
    transform-origin: left center;
    transition-duration: 1.05s;
}

.motion-ready .manifesto-statements > div:nth-child(3n + 1) {
    --reveal-x: -68px;
    --reveal-y: 0px;
}

.motion-ready .manifesto-statements > div:nth-child(3n + 2) {
    --reveal-y: 48px;
}

.motion-ready .manifesto-statements > div:nth-child(3n) {
    --reveal-x: 68px;
    --reveal-y: 0px;
}

.motion-ready .team-card:nth-child(odd),
.motion-ready .studio-card:nth-child(odd),
.motion-ready .contact-options > div:nth-child(odd) {
    --reveal-x: -82px;
    --reveal-y: 0px;
    --reveal-rotate: -1deg;
}

.motion-ready .team-card:nth-child(even),
.motion-ready .studio-card:nth-child(even),
.motion-ready .contact-options > div:nth-child(even) {
    --reveal-x: 82px;
    --reveal-y: 0px;
    --reveal-rotate: 1deg;
}

.motion-ready .people-grid > article:nth-child(odd) {
    --reveal-x: -96px;
    --reveal-y: 16px;
    --reveal-rotate: -1.2deg;
}

.motion-ready .people-grid > article:nth-child(even) {
    --reveal-x: 96px;
    --reveal-y: 16px;
    --reveal-rotate: 1.2deg;
}

.motion-ready .musician-grid > article:nth-child(4n + 1) {
    --reveal-x: -78px;
    --reveal-y: 22px;
    --reveal-rotate: -1.5deg;
}

.motion-ready .musician-grid > article:nth-child(4n + 2) {
    --reveal-x: 0px;
    --reveal-y: 68px;
    --reveal-rotate: .8deg;
}

.motion-ready .musician-grid > article:nth-child(4n + 3) {
    --reveal-x: 0px;
    --reveal-y: -44px;
    --reveal-rotate: -.8deg;
}

.motion-ready .musician-grid > article:nth-child(4n + 4) {
    --reveal-x: 78px;
    --reveal-y: 22px;
    --reveal-rotate: 1.5deg;
}

.motion-ready .release-card:nth-child(odd),
.motion-ready .news-card:nth-child(odd),
.motion-ready .shop-card:nth-child(odd) {
    --reveal-y: 58px;
    --reveal-rotate: -.65deg;
}

.motion-ready .release-card:nth-child(even),
.motion-ready .news-card:nth-child(even),
.motion-ready .shop-card:nth-child(even) {
    --reveal-y: 40px;
    --reveal-rotate: .65deg;
}

.motion-ready .home-artists-grid > article:nth-child(odd) {
    --reveal-x: -82px;
    --reveal-y: 20px;
    --reveal-rotate: -1deg;
}

.motion-ready .home-artists-grid > article:nth-child(even) {
    --reveal-x: 82px;
    --reveal-y: 20px;
    --reveal-rotate: 1deg;
}

@media (max-width: 991.98px) {
    .home-artists-heading > .home-artists-all {
        display: none;
    }

    .home-artists-grid > article:nth-child(3n + 2) {
        margin-top: 0;
    }

    .home-artists-footer {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .home-artists-heading {
        margin-bottom: 30px;
    }

    .home-artists-grid {
        --bs-gutter-x: 1.25rem;
        --bs-gutter-y: 2rem;
    }

    .home-artist-image {
        box-shadow: 5px 5px 0 var(--mr-ink);
    }

    .home-artist-image > b {
        width: 38px;
        height: 38px;
    }

    .home-artist-card > p {
        margin-top: 14px;
        font-size: .53rem;
    }

    .home-artist-card h3 {
        font-size: clamp(1.45rem, 7vw, 2.15rem);
        overflow-wrap: anywhere;
    }

    .motion-ready .home-artists-grid > article:nth-child(odd) {
        --reveal-x: -42px;
    }

    .motion-ready .home-artists-grid > article:nth-child(even) {
        --reveal-x: 42px;
    }
}

.motion-ready .patreon-section .row > div:first-child.reveal,
.motion-ready .shop-section .row > div:first-child.reveal {
    --reveal-x: -64px;
    --reveal-y: 0px;
}

.motion-ready .patreon-section .row > div:last-child.reveal {
    --reveal-x: 64px;
    --reveal-y: 0px;
}

.motion-ready .studio-signal.reveal {
    --reveal-x: 0px;
    --reveal-y: 0px;
    --reveal-scale-x: .02;
    transform-origin: left center;
}

@media (max-width: 1199.98px) {
    .container-xxl {
        max-width: 100%;
        padding-right: 40px;
        padding-left: 40px;
    }

    .majorana-navbar .nav-link {
        padding-right: 7px !important;
        padding-left: 7px !important;
        font-size: .62rem;
    }

    .build-section::before {
        display: none;
    }

    .hero-copy h1 {
        font-size: clamp(4.3rem, 8vw, 6.3rem);
    }

    .catalog-intro {
        margin-top: 25px;
    }
}

@media (max-width: 991.98px) {
    :root { --mr-nav-height: 74px; }

    .majorana-navbar,
    .navbar-brand {
        height: var(--mr-nav-height);
        min-height: var(--mr-nav-height);
    }

    .navbar-brand img {
        width: 176px;
        height: 58px;
    }

    .hero-section,
    .hero-section > .container-xxl,
    .hero-row {
        min-height: auto;
    }

    .hero-section::before {
        top: auto;
        bottom: 0;
        width: 100%;
        height: 47%;
        border-top: 2px solid var(--mr-ink);
        border-left: 0;
    }

    .hero-copy {
        min-height: calc(58svh - var(--mr-nav-height));
        padding: 70px 0 75px;
    }

    .hero-copy h1 {
        max-width: 760px;
        font-size: clamp(4.4rem, 12vw, 7rem);
    }

    .hero-lead {
        max-width: 620px;
    }

    .hero-media {
        min-height: 52svh;
        margin-right: -40px;
        margin-left: -40px;
    }

    .hero-media img {
        width: min(760px, 98%);
        left: 50%;
    }

    .bauhaus-stage {
        inset: 5% 4% 8%;
    }

    .hero-art-caption {
        right: 4%;
        bottom: 6%;
    }

    .scroll-cue {
        display: none;
    }

    .section-pad {
        padding: 86px 0 92px;
    }

    .manifesto-section {
        min-height: auto;
    }

    .manifesto-line,
    .studio-signal {
        display: none;
    }

    .manifesto-statements {
        margin-top: 42px;
        text-align: left !important;
    }

    .manifesto-statements > div {
        padding: 24px 0;
        border-top: 2px solid var(--mr-ink);
    }

    .manifesto-statements p br {
        display: none;
    }

    .manifesto-statements p {
        line-height: 1.02;
    }

    .catalog-intro {
        flex-wrap: wrap;
    }

    .team-card,
    .studio-card,
    .news-card {
        margin-bottom: 26px;
    }

    .studio-footer {
        margin-top: 12px;
    }

    .contact-card {
        min-height: 210px;
    }

    .footer-logo {
        object-position: center;
    }

    .site-footer {
        text-align: center;
    }

    .footer-nav {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .container-xxl {
        padding-right: 20px;
        padding-left: 20px;
    }

    .container-xxl > .row.g-5 {
        --bs-gutter-x: 2rem;
    }

    .section-pad {
        padding: 70px 0 76px;
    }

    .hero-copy {
        min-height: 520px;
        padding: 58px 0 76px;
    }

    .hero-copy h1 {
        font-size: clamp(3.45rem, 17vw, 5.3rem);
    }

    .hero-copy h1::after {
        height: 8px;
    }

    .hero-media {
        min-height: 410px;
        margin-right: -20px;
        margin-left: -20px;
    }

    .hero-media img {
        top: 49%;
        width: 116%;
    }

    .hero-art-caption {
        display: none;
    }

    .shape-dot {
        width: 32px;
        height: 32px;
    }

    .section-number {
        font-size: 3.5rem;
    }

    .section-number span {
        transform: translateY(-7px);
    }

    .catalog-heading {
        margin-bottom: 32px;
    }

    .catalog-intro .mini-wave {
        display: none;
    }

    .release-grid {
        --bs-gutter-x: 1.25rem;
    }

    .release-cover {
        padding: 6px;
        box-shadow: 5px 5px 0 var(--mr-ink);
    }

    .release-artist {
        margin-top: 14px;
        font-size: 1.08rem;
    }

    .release-title {
        font-size: .58rem;
    }

    .team-heading .mini-wave {
        display: none;
    }

    .team-card h3 {
        font-size: 1.25rem;
    }

    .team-card p {
        font-size: .55rem;
    }

    .studio-card:nth-child(2) img {
        border-radius: 0;
    }

    .studio-card:nth-child(4) img {
        border-radius: 0;
    }

    .shop-formats {
        margin-bottom: 34px;
    }

    .contact-card {
        grid-template-columns: 52px 1fr;
        gap: 15px;
        padding: 25px 20px;
        box-shadow: 7px 7px 0 var(--mr-ink);
    }

    .contact-icon {
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }

    .contact-card strong {
        font-size: 1.65rem;
    }

    .contact-geometry i:nth-child(1) {
        width: 90px;
        height: 90px;
    }

    .motion-ready .manifesto-statements > div:nth-child(n),
    .motion-ready .team-card:nth-child(n),
    .motion-ready .people-grid > article:nth-child(n),
    .motion-ready .musician-grid > article:nth-child(n),
    .motion-ready .studio-card:nth-child(n),
    .motion-ready .contact-options > div:nth-child(n),
    .motion-ready .patreon-section .row > div.reveal,
    .motion-ready .shop-section .row > div:first-child.reveal {
        --reveal-x: 0px;
        --reveal-y: 30px;
        --reveal-rotate: 0deg;
    }

    .motion-ready .patreon-section .row > div:first-child.reveal,
    .motion-ready .patreon-section .row > div:last-child.reveal,
    .motion-ready .shop-section .row > div:first-child.reveal {
        --reveal-x: 0px;
        --reveal-y: 30px;
        --reveal-rotate: 0deg;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .motion-ready .hero-section .reveal,
    .motion-ready .build-section .reveal {
        opacity: 1;
        clip-path: none;
        transform: none;
    }

    .build-section::after {
        transform: scaleX(1);
    }
}

/* Editorial pages */

.inner-page main {
    min-height: 70vh;
}

.inner-hero,
.directory-hero,
.profile-hero {
    position: relative;
    overflow: hidden;
    background: var(--mr-ochre);
    border-bottom: 2px solid var(--mr-ink);
}

.inner-hero-row {
    min-height: 660px;
    padding: 74px 0 82px;
}

.inner-grid {
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image:
        linear-gradient(to right, var(--mr-ink) 1px, transparent 1px),
        linear-gradient(to bottom, var(--mr-ink) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, #171b22 0 56%, transparent 76%);
}

.inner-eyebrow,
.profile-role {
    margin: 0 0 14px;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.inner-hero h1,
.directory-hero h1,
.profile-heading h1,
.not-found-section h1 {
    max-width: 880px;
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(4.9rem, 8.3vw, 8rem);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: .86;
    text-transform: uppercase;
}

.inner-hero h1::after,
.directory-hero h1::after,
.profile-heading h1::after {
    display: block;
    width: 124px;
    height: 10px;
    margin-top: 27px;
    content: "";
    background: var(--mr-red);
}

.inner-lead,
.profile-heading > p:last-child {
    max-width: 700px;
    margin: 28px 0 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.6;
}

.majorana-portrait {
    position: relative;
    width: min(100%, 430px);
    margin-left: auto;
    padding: 28px 28px 22px;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 16px 16px 0 var(--mr-blue);
}

.majorana-portrait::before {
    position: absolute;
    top: -28px;
    left: -28px;
    width: 62px;
    height: 62px;
    content: "";
    background: var(--mr-red);
    border: 2px solid var(--mr-ink);
}

.majorana-portrait img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    min-height: 270px;
    object-fit: cover;
    filter: grayscale(1) contrast(1.07);
    border: 2px solid var(--mr-ink);
}

.majorana-portrait p {
    margin: 17px 0 0;
    font-family: var(--mr-mono);
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.portrait-disc {
    position: absolute;
    z-index: 3;
    right: -26px;
    bottom: 45px;
    width: 52px;
    aspect-ratio: 1;
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
}

.editorial-section,
.people-section,
.artists-directory,
.musicians-directory,
.profile-body {
    background: var(--mr-white);
}

.editorial-mark {
    display: grid;
    width: 170px;
    height: 118px;
    margin-top: 52px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.editorial-mark i {
    display: block;
    border: 2px solid var(--mr-ink);
}

.editorial-mark i:first-child {
    grid-row: 1 / 3;
    background: var(--mr-blue);
    border-radius: 50% 0 0 50%;
}

.editorial-mark i:nth-child(2) {
    background: var(--mr-red);
}

.editorial-mark i:last-child {
    background: var(--mr-ochre);
    border-radius: 0 0 50% 0;
}

.editorial-copy {
    max-width: 790px;
    font-size: 1.02rem;
    line-height: 1.75;
}

.editorial-copy h2 {
    margin: 52px 0 15px;
    font-family: var(--mr-display);
    font-size: clamp(2.6rem, 4.1vw, 4.15rem);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: .9;
    text-transform: uppercase;
}

.editorial-copy h2:first-child {
    margin-top: 0;
}

.studio-intro-text {
    max-width: 790px;
    margin: 0 0 30px;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.65;
}

.editorial-copy h3 {
    margin: 48px 0 14px;
    font-family: var(--mr-display);
    font-size: clamp(2.2rem, 3.6vw, 3.7rem);
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: .92;
    text-transform: uppercase;
}

.editorial-copy h3:first-child {
    margin-top: 0;
}

.editorial-girana-figure {
    position: relative;
    float: right;
    width: min(43%, 340px);
    margin: 2px 0 30px 42px;
    padding: 10px;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 10px 10px 0 var(--mr-ochre);
}

.editorial-girana-figure::before {
    position: absolute;
    top: -12px;
    left: -12px;
    width: 54px;
    height: 12px;
    background: var(--mr-red);
    content: "";
}

.editorial-girana-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.editorial-girana-figure + p {
    padding-top: 10px;
}

.editorial-girana-figure ~ h3 {
    clear: both;
}

.editorial-copy h4 {
    margin: 34px 0 12px;
    font-family: var(--mr-display);
    font-size: clamp(1.45rem, 2.2vw, 2.15rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.editorial-copy p {
    margin: 0 0 22px;
}

.editorial-copy ul,
.editorial-copy ol {
    margin: 25px 0 34px;
    padding: 0;
    list-style: none;
}

.editorial-copy ol {
    counter-reset: editorial-list;
}

.editorial-copy li {
    position: relative;
    padding: 17px 14px 17px 48px;
    border-top: 2px solid var(--mr-ink);
    font-weight: 700;
}

.editorial-copy li:last-child {
    border-bottom: 2px solid var(--mr-ink);
}

.editorial-copy li::before {
    position: absolute;
    top: 16px;
    left: 13px;
    color: var(--mr-red);
    content: "■";
    font-size: .85rem;
}

.editorial-copy ol > li {
    counter-increment: editorial-list;
}

.editorial-copy ol > li::before {
    top: 13px;
    color: var(--mr-blue);
    content: counter(editorial-list, decimal-leading-zero) ".";
    font-family: var(--mr-mono);
    font-size: .95rem;
    font-weight: 800;
}

.principles-section {
    background: var(--mr-ochre);
}

.principles-grid {
    margin-top: 64px;
    border: 2px solid var(--mr-ink);
}

.principles-grid article {
    min-height: 330px;
    padding: 30px;
    background: var(--mr-white);
    border-right: 2px solid var(--mr-ink);
}

.principles-grid article:last-child {
    border-right: 0;
}

.principles-grid article:nth-child(2) {
    color: var(--mr-white);
    background: var(--mr-blue);
}

.principles-grid article > span,
.artist-card > p {
    font-family: var(--mr-mono);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.principles-grid h3 {
    margin: 112px 0 16px;
    font-family: var(--mr-display);
    font-size: 2.55rem;
    line-height: .94;
    text-transform: uppercase;
}

.principles-grid p {
    margin: 0;
    font-weight: 700;
}

.section-split-heading {
    display: flex;
    margin-bottom: 50px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.section-split-heading h2 {
    margin: 16px 0 0;
    font-family: var(--mr-display);
    font-size: clamp(2.9rem, 4.5vw, 4.8rem);
    line-height: .9;
    text-transform: uppercase;
}

.section-heading-lead {
    margin: 16px 0 0;
    font-family: var(--mr-display);
    font-size: clamp(2.4rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: .92;
    text-transform: uppercase;
}

.section-split-heading > p {
    max-width: 270px;
    margin: 0;
    padding-left: 20px;
    border-left: 8px solid var(--mr-red);
    font-family: var(--mr-mono);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.person-card,
.artist-card {
    display: block;
    color: var(--mr-ink);
    text-decoration: none;
}

.person-card {
    transition: color .22s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.person-image,
.artist-card-image,
.musician-image {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--mr-ink);
}

.person-image {
    aspect-ratio: .84;
    background: var(--mr-ochre);
    transition: box-shadow .3s cubic-bezier(.2, .8, .2, 1), transform .3s cubic-bezier(.2, .8, .2, 1);
}

.person-image img,
.artist-card-image img,
.musician-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.2, .8, .2, 1), filter .3s ease;
}

.person-image span,
.artist-card-image > b {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    width: 46px;
    height: 46px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border-top: 2px solid var(--mr-ink);
    border-left: 2px solid var(--mr-ink);
    place-items: center;
    transition: background-color .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1);
}

.person-card:hover img,
.person-card:focus-visible img,
.artist-card:hover img,
.artist-card:focus-visible img {
    filter: saturate(1.08);
    transform: scale(1.035);
}

.person-card:hover .person-image,
.person-card:focus-visible .person-image {
    box-shadow: 10px 10px 0 var(--mr-blue);
    transform: translate(-8px, -8px);
}

.person-card:hover .person-image img,
.person-card:focus-visible .person-image img {
    filter: saturate(1.12) contrast(1.04);
    transform: translate3d(7px, 0, 0) scale(1.09);
}

.person-card:hover .person-image span,
.person-card:focus-visible .person-image span {
    background: var(--mr-red);
    transform: translate(-4px, -4px);
}

.person-card > p {
    margin: 17px 0 5px;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.person-card h2,
.person-card h3 {
    margin: 0;
    font-family: var(--mr-display);
    font-size: 2rem;
    line-height: .92;
    text-transform: uppercase;
    transition: color .2s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}

.person-card:hover h2,
.person-card:hover h3,
.person-card:focus-visible h2,
.person-card:focus-visible h3 {
    color: var(--mr-blue);
    transform: translateX(8px);
}

.musicians-callout {
    padding: 76px 0;
    background: var(--mr-ochre);
    border-bottom: 2px solid var(--mr-ink);
}

.musicians-callout-link {
    display: grid;
    padding: 32px 38px;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 12px 12px 0 var(--mr-blue);
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 34px;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.musicians-callout-link:hover,
.musicians-callout-link:focus-visible {
    color: var(--mr-ink);
    box-shadow: 6px 6px 0 var(--mr-red);
    transform: translate(6px, 6px);
}

.callout-number {
    color: var(--mr-red);
    font-family: var(--mr-display);
    font-size: 5.2rem;
    line-height: .8;
}

.musicians-callout-link small {
    display: block;
    margin-bottom: 6px;
    font-family: var(--mr-mono);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.musicians-callout-link strong {
    font-family: var(--mr-display);
    font-size: clamp(2.3rem, 5vw, 5.2rem);
    line-height: .86;
    text-transform: uppercase;
}

.musicians-callout-link > b {
    font-size: 3rem;
}

.directory-hero {
    min-height: 560px;
    padding: 102px 0 110px;
}

.directory-hero::after {
    position: absolute;
    right: 7%;
    bottom: -120px;
    width: 340px;
    aspect-ratio: 1;
    content: "";
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
}

.directory-hero .container-xxl {
    z-index: 1;
}

.directory-hero-musicians::after {
    width: 290px;
    background: var(--mr-red);
    border-radius: 0;
    transform: rotate(20deg);
}

.artists-directory > .container-xxl > .section-number {
    margin-bottom: 54px;
}

.artist-grid > article:nth-child(3n + 2) {
    margin-top: 70px;
}

.artist-card-image {
    height: 390px;
    background: var(--mr-paper);
}

.artist-card > p {
    margin: 18px 0 7px;
    color: var(--mr-blue);
}

.artist-card h3 {
    margin: 0;
    font-family: var(--mr-display);
    font-size: clamp(2.2rem, 3.8vw, 3.5rem);
    line-height: .88;
    text-transform: uppercase;
    transition: color .2s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}

.artist-card:hover h3,
.artist-card:focus-visible h3 {
    color: var(--mr-blue);
    transform: translateX(7px);
}

.artist-card > span {
    display: block;
    margin-top: 14px;
    color: #414641;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.5;
}

.artist-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(90deg, transparent 48%, var(--mr-ink) 48% 52%, transparent 52%),
        linear-gradient(transparent 48%, var(--mr-ink) 48% 52%, transparent 52%),
        var(--mr-ochre);
    place-items: center;
}

.artist-placeholder span {
    display: grid;
    width: 118px;
    aspect-ratio: 1;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    border-radius: 50%;
    font-family: var(--mr-display);
    font-size: 3.4rem;
    place-items: center;
}

.profile-hero > .container-xxl {
    padding-top: 72px;
    padding-bottom: 72px;
}

.profile-image {
    min-height: 600px;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
}

.profile-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
}

.profile-heading {
    display: flex;
    min-height: 600px;
    padding: 56px;
    flex-direction: column;
    justify-content: center;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    border-left: 0;
}

.profile-heading h1 {
    font-size: clamp(4rem, 6vw, 6.7rem);
}

.profile-hero-artist .profile-heading {
    color: var(--mr-white);
    background: var(--mr-blue);
}

.profile-hero-artist .profile-role {
    color: var(--mr-ochre);
}

.profile-hero-artist .hero-index {
    color: var(--mr-ink);
    background: var(--mr-ochre);
}

.musician-grid {
    align-items: stretch;
}

.musician-card {
    height: 100%;
    padding: 10px 10px 22px;
    background: var(--mr-paper);
    border: 2px solid var(--mr-ink);
    transition: background-color .24s ease, box-shadow .3s cubic-bezier(.2, .8, .2, 1), transform .3s cubic-bezier(.2, .8, .2, 1);
}

.musician-grid > article:nth-child(4n + 2) .musician-card,
.musician-grid > article:nth-child(4n + 4) .musician-card {
    background: var(--mr-ochre);
}

.musician-image {
    aspect-ratio: 1;
    background: var(--mr-white);
}

.musician-image span {
    position: absolute;
    top: 0;
    left: 0;
    padding: 8px 10px;
    color: var(--mr-white);
    background: var(--mr-blue);
    border-right: 2px solid var(--mr-ink);
    border-bottom: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .62rem;
    font-weight: 800;
}

.musician-card h3 {
    margin: 19px 8px 7px;
    font-family: var(--mr-display);
    font-size: 1.8rem;
    line-height: .92;
    text-transform: uppercase;
    transition: color .2s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}

.musician-card > p {
    margin: 0 8px 8px;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.4;
}

.musician-card > small {
    margin: 0 8px;
    color: var(--mr-blue);
    font-family: var(--mr-mono);
    font-size: .6rem;
    font-weight: 800;
    text-transform: uppercase;
}

.musician-card:hover {
    background: var(--mr-white);
    box-shadow: 10px 10px 0 var(--mr-blue);
    transform: translate(-7px, -7px);
}

.musician-card:hover .musician-image img {
    filter: saturate(1.12) contrast(1.04);
    transform: scale(1.09) rotate(.7deg);
}

.musician-card:hover h3 {
    color: var(--mr-blue);
    transform: translateX(7px);
}

.musician-filter-enter {
    animation: musician-filter-enter .62s cubic-bezier(.16, .84, .24, 1) var(--filter-delay, 0ms) both;
}

@keyframes musician-filter-enter {
    0% {
        opacity: 0;
        transform: translate3d(0, 58px, 0) scale(.9) rotate(-1.2deg);
    }
    65% {
        opacity: 1;
        transform: translate3d(0, -7px, 0) scale(1.015) rotate(.35deg);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1) rotate(0);
    }
}

.not-found-section {
    min-height: 65vh;
    padding: 110px 0;
    background: var(--mr-ochre);
}

.not-found-section .text-link {
    display: inline-flex;
    margin-top: 34px;
}

/* Custom 404 */
.error-page {
    position: relative;
    min-height: calc(100svh - var(--mr-nav-height));
    overflow: hidden;
    background: var(--mr-ochre);
    border-bottom: 2px solid var(--mr-ink);
    isolation: isolate;
}

.error-page-grid {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: calc(100svh - var(--mr-nav-height));
    padding-top: clamp(54px, 7vh, 92px);
    padding-bottom: clamp(48px, 6vh, 80px);
    grid-template-columns: minmax(390px, .82fr) minmax(500px, 1.18fr);
    gap: clamp(20px, 4vw, 72px);
    align-items: center;
}

.error-page-copy {
    position: relative;
    z-index: 3;
    animation: error-copy-in .72s cubic-bezier(.16, .84, .24, 1) both;
}

.error-page .hero-index {
    display: inline-block;
    margin-bottom: 21px;
    padding: 10px 15px;
    color: var(--mr-white);
    background: var(--mr-blue);
}

.error-page-code {
    position: absolute;
    z-index: -1;
    top: 28px;
    left: -8px;
    margin: 0;
    color: transparent;
    font-family: var(--mr-display);
    font-size: clamp(10rem, 18vw, 18rem);
    line-height: .75;
    -webkit-text-stroke: 2px rgba(23, 27, 34, .13);
}

.error-page h1 {
    max-width: 680px;
    margin: 0;
    color: var(--mr-ink);
    font-family: var(--mr-display);
    font-size: clamp(4.9rem, 8.3vw, 8rem);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: .86;
    text-transform: uppercase;
}

.error-page-rule {
    display: block;
    width: clamp(126px, 12vw, 210px);
    height: 12px;
    margin: 34px 0 28px;
    background: var(--mr-red);
    border: 2px solid var(--mr-ink);
    transform: rotate(-2deg);
}

.error-page .inner-lead {
    max-width: 600px;
    margin: 0;
    color: var(--mr-ink);
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
    font-weight: 700;
    line-height: 1.45;
    transform: none;
}

.error-page-actions {
    display: flex;
    margin-top: 34px;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.error-page-actions .text-link {
    display: inline-flex;
    margin: 0;
}

.error-page-visual {
    position: relative;
    min-width: 0;
    margin: 0;
    animation: error-frog-in .9s .1s cubic-bezier(.16, .84, .24, 1) both;
}

.error-page-visual picture,
.error-page-visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%, 780px);
    height: auto;
    margin-inline: auto;
}

.error-page-visual-disc {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: min(43vw, 610px);
    aspect-ratio: 1;
    background: var(--mr-white);
    border: 3px solid var(--mr-ink);
    border-radius: 50%;
    transform: translate(-50%, -49%);
}

.error-page-visual figcaption {
    position: relative;
    z-index: 3;
    width: fit-content;
    max-width: 90%;
    margin: -26px auto 0;
    padding: 11px 15px;
    color: var(--mr-white);
    background: var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.error-page-shape {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
}

.error-page-shape-blue {
    top: -125px;
    right: -95px;
    width: 340px;
    height: 340px;
    background: var(--mr-blue);
    border: 3px solid var(--mr-ink);
    border-radius: 50%;
}

.error-page-shape-red {
    bottom: 8%;
    left: -85px;
    width: 260px;
    height: 32px;
    background: var(--mr-red);
    border: 3px solid var(--mr-ink);
    transform: rotate(-8deg);
}

@keyframes error-copy-in {
    from { opacity: 0; transform: translate3d(-48px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes error-frog-in {
    from { opacity: 0; transform: translate3d(70px, 18px, 0) rotate(2deg); }
    to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
}

@media (max-width: 991.98px) {
    .error-page-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .error-page-copy {
        max-width: 720px;
    }

    .error-page h1 {
        font-size: clamp(4.9rem, 8.3vw, 8rem);
    }

    .error-page-visual {
        width: min(82vw, 650px);
        margin: -36px auto 0;
    }

    .error-page-visual-disc {
        width: min(67vw, 540px);
    }
}

@media (max-width: 575.98px) {
    .error-page-grid {
        min-height: auto;
        padding-top: 42px;
        padding-bottom: 52px;
    }

    .error-page .hero-index {
        margin-bottom: 18px;
    }

    .error-page h1 {
        font-size: clamp(3.5rem, 16vw, 5.4rem);
    }

    .error-page-rule {
        height: 9px;
        margin: 25px 0 22px;
    }

    .error-page .inner-lead {
        font-size: 1rem;
    }

    .error-page-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .error-page-visual {
        width: calc(100% + 26px);
        margin: -16px -13px 0;
    }

    .error-page-visual-disc {
        width: 83vw;
    }

    .error-page-visual figcaption {
        max-width: 94%;
        margin-top: -17px;
        font-size: .68rem;
    }

    .error-page-shape-blue {
        top: -84px;
        right: -92px;
        width: 225px;
        height: 225px;
    }

    .error-page-shape-red {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .error-page-copy,
    .error-page-visual {
        animation: none;
    }
}

@media (max-width: 991.98px) {
    .inner-hero-row {
        min-height: auto;
        padding: 82px 0 100px;
    }

    .majorana-portrait {
        margin: 25px auto 0;
    }

    .principles-grid article,
    .principles-grid article:last-child {
        min-height: 250px;
        border-right: 0;
        border-bottom: 2px solid var(--mr-ink);
    }

    .principles-grid article:last-child {
        border-bottom: 0;
    }

    .principles-grid h3 {
        margin-top: 68px;
    }

    .directory-hero::after {
        right: -120px;
        opacity: .85;
    }

    .artist-grid > article:nth-child(3n + 2) {
        margin-top: 0;
    }

    .profile-image,
    .profile-image img,
    .profile-heading {
        min-height: 520px;
    }

    .profile-heading {
        border-top: 0;
        border-left: 2px solid var(--mr-ink);
    }
}

@media (max-width: 575.98px) {
    .inner-hero h1,
    .directory-hero h1,
    .profile-heading h1,
    .not-found-section h1 {
        font-size: clamp(3.5rem, 16vw, 5.4rem);
    }

    .inner-hero-row {
        padding: 64px 0 82px;
    }

    .majorana-portrait {
        width: calc(100% - 22px);
        padding: 16px;
        box-shadow: 10px 10px 0 var(--mr-blue);
    }

    .majorana-portrait img {
        min-height: 220px;
    }

    .editorial-mark {
        width: 120px;
        height: 84px;
        margin: 32px 0 48px;
    }

    .editorial-copy {
        font-size: .95rem;
    }

    .editorial-copy h3 {
        font-size: 2.8rem;
    }

    .editorial-copy h2 {
        font-size: 3.15rem;
    }

    .editorial-copy h4 {
        font-size: 1.65rem;
    }

    .editorial-girana-figure {
        float: none;
        width: min(100% - 14px, 330px);
        margin: 20px auto 34px;
        padding: 8px;
        box-shadow: 7px 7px 0 var(--mr-ochre);
    }

    .editorial-girana-figure + p {
        padding-top: 0;
    }

    .section-split-heading {
        display: block;
    }

    .section-split-heading > p,
    .section-split-heading > a {
        display: inline-flex;
        margin-top: 24px;
    }

    .person-card h2,
    .person-card h3 {
        font-size: 1.45rem;
    }

    .musicians-callout-link {
        padding: 25px 20px;
        grid-template-columns: auto 1fr;
        gap: 18px;
    }

    .musicians-callout-link > b {
        display: none;
    }

    .callout-number {
        font-size: 3.8rem;
    }

    .musicians-callout-link strong {
        font-size: 2.25rem;
    }

    .directory-hero {
        min-height: 500px;
        padding: 82px 0 90px;
    }

    .directory-hero::after {
        right: -160px;
        width: 270px;
    }

    .artist-card-image {
        height: 310px;
    }

    .profile-hero > .container-xxl {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .profile-image,
    .profile-image img {
        min-height: 390px;
    }

    .profile-heading {
        min-height: 440px;
        padding: 34px 25px;
    }

    .musician-card {
        padding: 6px 6px 17px;
    }

    .musician-card h3 {
        margin: 13px 5px 6px;
        font-size: 1.25rem;
    }

    .musician-card > p {
        margin-right: 5px;
        margin-left: 5px;
        font-size: .68rem;
    }

    .musician-card > small {
        margin-right: 5px;
        margin-left: 5px;
    }
}

/* Variant geometry stays authoritative after the shared editorial rules. */
.directory-hero.directory-hero-releases {
    background: var(--mr-white);
}

.directory-hero.directory-hero-studios::after {
    width: 310px;
    background: var(--mr-white);
    border-radius: 50% 50% 0 0;
    transform: rotate(-12deg);
}

.directory-hero.directory-hero-releases::after {
    bottom: -145px;
    background: var(--mr-red);
    border-radius: 0;
    transform: rotate(24deg);
}

.directory-hero.directory-hero-news::after {
    width: 290px;
    background: var(--mr-blue);
    border-radius: 50% 0 50% 50%;
    transform: rotate(18deg);
}

@media (max-width: 575.98px) {
    .directory-hero.directory-hero-studios::after,
    .directory-hero.directory-hero-releases::after,
    .directory-hero.directory-hero-news::after {
        right: -145px;
        width: 255px;
    }
}

/* Patreon community callout */
.patreon-section {
    min-height: 600px;
    display: flex;
    align-items: center;
    color: var(--mr-white);
    background: var(--mr-blue);
}

.patreon-section::before {
    color: var(--mr-white);
}

.patreon-section::after {
    background: var(--mr-red) !important;
}

.patreon-section .container-xxl {
    z-index: 2;
}

.patreon-eyebrow,
.patreon-list-title {
    margin: 0 0 24px;
    font: 800 .75rem/1 var(--mr-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.patreon-eyebrow span {
    display: inline-grid;
    width: 48px;
    height: 48px;
    margin-right: 14px;
    color: var(--mr-ink);
    background: var(--mr-ochre);
    border: 2px solid var(--mr-ink);
    place-items: center;
}

.patreon-section h2 {
    max-width: 720px;
    margin: 0;
    color: var(--mr-white);
    font: 900 clamp(4rem, 7vw, 7rem)/.84 var(--mr-display);
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.patreon-lead {
    max-width: 600px;
    margin: 28px 0 30px;
    font-size: 1.08rem;
    font-weight: 700;
}

.patreon-button {
    display: inline-flex;
    min-height: 58px;
    padding: 14px 17px 14px 20px;
    gap: 28px;
    align-items: center;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 6px 6px 0 var(--mr-ink);
    font: 800 .72rem/1.2 var(--mr-mono);
    letter-spacing: .035em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.patreon-button span {
    display: grid;
    width: 30px;
    height: 30px;
    color: var(--mr-white);
    background: var(--mr-red);
    place-items: center;
}

.patreon-button:hover {
    color: var(--mr-ink);
    background: var(--mr-ochre);
    box-shadow: 3px 3px 0 var(--mr-ink);
    transform: translate(3px, 3px);
}

.patreon-list-title {
    padding-bottom: 16px;
    border-bottom: 2px solid var(--mr-white);
}

.patreon-benefits li {
    display: grid;
    min-height: 92px;
    padding: 19px 0;
    border-bottom: 2px solid rgba(255, 254, 249, .65);
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.patreon-benefits span {
    color: var(--mr-ochre);
    font: 800 .72rem/1 var(--mr-mono);
}

.patreon-benefits strong {
    font-size: 1.06rem;
    line-height: 1.25;
}

.patreon-geometry i {
    position: absolute;
    z-index: 1;
    display: block;
    pointer-events: none;
}

.patreon-geometry i:nth-child(1) {
    top: 58px;
    right: 5%;
    width: 78px;
    height: 78px;
    background: var(--mr-red);
    border-radius: 50%;
}

.patreon-geometry i:nth-child(2) {
    right: 0;
    bottom: 0;
    width: 19vw;
    height: 34px;
    background: var(--mr-ochre);
}

.patreon-geometry i:nth-child(3) {
    bottom: 0;
    left: 0;
    width: 12vw;
    height: 12vw;
    min-width: 86px;
    min-height: 86px;
    border: 22px solid var(--mr-white);
    border-radius: 50%;
    transform: translate(-48%, 48%);
}

.footer-patreon-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mr-ochre) !important;
}

.footer-patreon-link span {
    display: grid;
    width: 22px;
    height: 22px;
    color: var(--mr-white);
    background: var(--mr-red);
    border: 1px solid var(--mr-white);
    place-items: center;
}

.footer-patreon-link:hover {
    color: var(--mr-white) !important;
}

@media (max-width: 991.98px) {
    .patreon-section {
        min-height: auto;
    }

    .patreon-section h2 {
        font-size: clamp(4rem, 12vw, 6.5rem);
    }

    .patreon-geometry i:nth-child(1) {
        opacity: .45;
    }
}

@media (max-width: 575.98px) {
    .patreon-section h2 {
        font-size: clamp(3.3rem, 16vw, 5rem);
    }

    .patreon-button {
        width: 100%;
        gap: 14px;
        justify-content: space-between;
    }

    .patreon-benefits li {
        min-height: 78px;
    }
}

/* Editorial heroes with Girana */
.directory-hero-with-mascot {
    min-height: 610px;
    padding: 58px 0 64px;
}

.directory-hero-with-mascot > .container-xxl {
    display: grid;
    min-height: 486px;
    grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
    gap: 20px;
    align-items: center;
}

.directory-hero-copy {
    position: relative;
    z-index: 3;
}

.directory-hero-with-mascot h1 {
    max-width: 650px;
    font-size: clamp(4.5rem, 7.2vw, 7rem);
}

.directory-hero-with-mascot .inner-lead {
    max-width: 590px;
}

.directory-hero-visual {
    position: relative;
    z-index: 2;
    display: block;
    width: min(760px, 62vw);
    margin-right: -92px;
    margin-left: -105px;
    pointer-events: none;
}

.directory-hero-visual img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(14px 18px 15px rgba(23, 27, 34, .18));
}

.directory-hero-with-mascot::after {
    right: 3%;
    bottom: -155px;
    width: 390px;
    opacity: .92;
}

.directory-hero-contact::after {
    background: var(--mr-red);
    border-radius: 0 50% 50% 50%;
    transform: rotate(18deg);
}

.motion-ready .directory-hero-with-mascot .directory-hero-visual.reveal {
    clip-path: none;
    transform: translateX(72px) rotate(1.5deg);
}

.motion-ready .directory-hero-with-mascot.is-built .directory-hero-visual.reveal {
    transform: translateX(0) rotate(0);
}

/* Contact page */
.contact-directory {
    background: var(--mr-white);
}

.contact-directory-heading {
    display: flex;
    margin-bottom: 56px;
    gap: 40px;
    justify-content: space-between;
    align-items: flex-end;
}

.contact-directory-heading > p {
    max-width: 390px;
    margin: 0;
    font: 800 .75rem/1.45 var(--mr-mono);
    text-transform: uppercase;
}

.contact-area-grid {
    display: grid;
    border-top: 2px solid var(--mr-ink);
    border-left: 2px solid var(--mr-ink);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-area-card {
    display: flex;
    min-height: 430px;
    padding: 28px;
    flex-direction: column;
    background: var(--mr-paper);
    border-right: 2px solid var(--mr-ink);
    border-bottom: 2px solid var(--mr-ink);
}

.contact-area-card:nth-child(even) {
    background: var(--mr-ochre);
}

.contact-area-card > p:first-child {
    margin: 0;
    color: var(--mr-blue);
    font: 800 .72rem/1 var(--mr-mono);
}

.contact-area-card h3 {
    min-height: 122px;
    margin: 36px 0 22px;
    font: 900 clamp(2rem, 2.45vw, 2.85rem)/.9 var(--mr-display);
    letter-spacing: -.01em;
    text-transform: uppercase;
}

.contact-area-card > div {
    flex: 1;
}

.contact-area-card > div p {
    max-width: 300px;
    font-weight: 700;
}

.contact-area-card .contact-area-people {
    margin-top: 18px;
    color: var(--mr-blue);
    font: 800 .67rem/1.45 var(--mr-mono);
    text-transform: uppercase;
}

.contact-area-card > a {
    display: flex;
    min-height: 52px;
    padding: 12px 14px;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    color: var(--mr-white);
    background: var(--mr-blue);
    border: 2px solid var(--mr-ink);
    font: 800 .67rem/1.2 var(--mr-mono);
    text-decoration: none;
    text-transform: uppercase;
}

.contact-area-card > a:hover {
    background: var(--mr-red);
}

.contact-area-card > .contact-area-direct {
    overflow-wrap: anywhere;
    font-size: .62rem;
    text-transform: none;
}

.contact-area-card > .contact-area-direct:hover {
    color: var(--mr-white);
    background: var(--mr-red);
}

.contact-form-section {
    background: var(--mr-ochre);
}

.contact-form-section h2 {
    margin: 0 0 25px;
    font: 900 clamp(3.7rem, 6vw, 6rem)/.86 var(--mr-display);
    text-transform: uppercase;
}

.contact-form-section .col-lg-4 > p:last-child {
    max-width: 340px;
    font-weight: 700;
}

.contact-page-form {
    padding: 34px;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    box-shadow: 12px 12px 0 var(--mr-blue);
}

.contact-page-form label:not(.form-check-label) {
    display: block;
    margin-bottom: 7px;
    font: 800 .68rem/1 var(--mr-mono);
    text-transform: uppercase;
}

.contact-page-form label small {
    color: #60646c;
    font: inherit;
    text-transform: none;
}

.contact-page-form label.is-required::after {
    content: " *";
    color: var(--mr-red);
    font-weight: 900;
}

.contact-page-form input:not(.form-check-input),
.contact-page-form select,
.contact-page-form textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    color: var(--mr-ink);
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
    border-radius: 0;
}

.contact-page-form textarea {
    resize: vertical;
}

.contact-page-form input:focus,
.contact-page-form select:focus,
.contact-page-form textarea:focus {
    outline: 3px solid rgba(23, 77, 183, .22);
    border-color: var(--mr-blue);
}

.contact-page-form .form-check {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
}

.contact-page-form .form-check-input {
    width: 24px;
    height: 24px;
    margin: 0;
    border: 2px solid var(--mr-ink);
    border-radius: 0;
}

.contact-page-form .form-check-label {
    padding-top: 3px;
    line-height: 1.45;
}

/* Richiesta prodotto in modalità catalogo */
.product-request-page {
    min-height: calc(100vh - 102px);
    padding: clamp(72px, 8vw, 130px) 0;
    overflow: hidden;
    background: var(--mr-ochre);
}

.product-request-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
    gap: 50px;
    align-items: end;
    margin-bottom: clamp(55px, 7vw, 100px);
}

.product-request-heading .hero-index {
    grid-column: 1 / -1;
    margin-bottom: -25px;
}

.product-request-heading h1 {
    max-width: 850px;
    margin: 0;
    font: 900 clamp(5rem, 9vw, 10rem)/.82 var(--mr-display);
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.product-request-heading .inner-lead {
    max-width: 510px;
    margin: 0 0 8px;
}

.product-request-layout {
    display: grid;
    grid-template-columns: minmax(280px, 390px) minmax(0, 1fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: start;
    scroll-margin-top: 130px;
}

.product-request-summary {
    padding: 22px 22px 28px;
    background: var(--mr-paper);
    border: 2px solid var(--mr-ink);
    box-shadow: 12px 12px 0 var(--mr-blue);
}

.product-request-cover {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    margin-bottom: 26px;
    overflow: hidden;
    background: var(--mr-white);
    border: 2px solid var(--mr-ink);
}

.product-request-cover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-request-cover > span {
    font: 900 6rem/1 var(--mr-display);
}

.product-request-summary > p {
    margin: 0 0 8px;
    color: var(--mr-blue);
    font: 800 .68rem/1 var(--mr-mono);
    text-transform: uppercase;
}

.product-request-summary h2 {
    margin: 0;
    overflow-wrap: anywhere;
    font: 900 clamp(2.6rem, 4vw, 4.5rem)/.88 var(--mr-display);
    text-transform: uppercase;
}

.product-request-summary > strong {
    display: block;
    margin-top: 10px;
    font: 800 .78rem/1.25 var(--mr-mono);
    text-transform: uppercase;
}

.product-request-summary > a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
    padding-top: 16px;
    color: var(--mr-ink);
    border-top: 2px solid var(--mr-ink);
    font: 800 .7rem/1 var(--mr-mono);
    text-decoration: none;
    text-transform: uppercase;
}

.product-request-summary > a:hover,
.product-request-summary > a:focus-visible {
    color: var(--mr-blue);
}

.product-request-form-wrap .alert {
    border: 2px solid currentColor;
    border-radius: 0;
}

.product-request-form {
    box-shadow: 14px 14px 0 var(--mr-red);
}

.product-request-quantity-field {
    width: min(100%, 220px);
}

.product-request-notice {
    margin: 0;
    padding: 18px 20px;
    background: rgba(212, 163, 66, .2);
    border-left: 6px solid var(--mr-ochre);
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.5;
}

@media (max-width: 991.98px) {
    .product-request-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .product-request-heading .hero-index {
        margin-bottom: -4px;
    }

    .product-request-layout {
        grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
        gap: 36px;
    }
}

@media (max-width: 767.98px) {
    .product-request-page {
        padding: 55px 0 80px;
    }

    .product-request-heading h1 {
        font-size: clamp(4.15rem, 20vw, 6.4rem);
    }

    .product-request-layout {
        grid-template-columns: 1fr;
    }

    .product-request-summary {
        width: min(100% - 10px, 420px);
    }

    .product-request-form {
        box-shadow: 8px 8px 0 var(--mr-red);
    }
}

@media (max-width: 1199.98px) {
    .directory-hero-with-mascot > .container-xxl {
        grid-template-columns: minmax(0, .95fr) minmax(400px, 1.05fr);
    }

    .directory-hero-visual {
        width: min(690px, 61vw);
        margin-right: -65px;
        margin-left: -75px;
    }
}

@media (max-width: 991.98px) {
    .directory-hero-with-mascot {
        min-height: auto;
        padding-bottom: 0;
    }

    .directory-hero-with-mascot > .container-xxl {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .directory-hero-copy {
        padding-top: 24px;
    }

    .directory-hero-visual {
        width: min(760px, 106%);
        margin: -70px -12% -18px auto;
        justify-self: end;
    }

    .contact-directory-heading {
        display: block;
    }

    .contact-directory-heading > p {
        margin-top: 24px;
    }

    .contact-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-area-card {
        min-height: 330px;
    }

    .contact-area-card h3 {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .directory-hero-with-mascot h1 {
        font-size: clamp(3.25rem, 15vw, 5rem);
    }

    .contact-area-grid {
        grid-template-columns: 1fr;
    }

    .directory-hero-visual {
        width: 122%;
        margin: -32px -23% -8px -2%;
    }

    .contact-area-card {
        min-height: 310px;
        padding: 23px 20px;
    }

    .contact-area-card h3 {
        margin-top: 28px;
        font-size: 2.65rem;
    }

    .contact-area-card > .contact-area-direct {
        font-size: .66rem;
    }

    .contact-page-form {
        padding: 22px 18px;
        box-shadow: 8px 8px 0 var(--mr-blue);
    }
}

/* Studios hero: complete desktop console and full-bleed mobile artwork */
@media (min-width: 992px) {
    .directory-hero-studios.directory-hero-with-mascot > .container-xxl {
        grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
        gap: 44px;
    }

    .directory-hero-studios .directory-hero-copy {
        max-width: 570px;
    }

    .directory-hero-studios .directory-hero-copy .inner-lead {
        max-width: 535px;
    }

    .directory-hero-studios .directory-hero-visual {
        width: min(880px, 67vw);
        margin: 0 -8vw 0 -30%;
    }
}

@media (max-width: 991.98px) {
    .directory-hero-studios.directory-hero-with-mascot > .container-xxl {
        min-width: 0;
    }

    .directory-hero-studios .directory-hero-copy,
    .directory-hero-studios .directory-hero-visual {
        min-width: 0;
    }

    .directory-hero-studios .directory-hero-visual {
        position: relative;
        left: auto;
        width: calc(100% + 80px);
        max-width: none;
        margin: -65px -40px -18px;
        justify-self: stretch;
    }

    .directory-hero-studios .directory-hero-visual img {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .directory-hero-studios h1 {
        font-size: clamp(3rem, 13vw, 4.4rem);
    }

    .directory-hero-studios .directory-hero-visual {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        margin-top: -34px;
        margin-bottom: -8px;
    }
}
.checkout-item span small{display:block;margin-top:3px;color:var(--mr-blue);font:700 .66rem var(--mr-mono);letter-spacing:.06em;text-transform:uppercase}

/* Recensioni nelle schede dei dischi */
.release-reviews {
    position: relative;
    overflow: hidden;
    border-top: 3px solid var(--mr-ink);
    background: var(--mr-ochre);
}

.release-reviews-intro {
    max-width: 15rem;
    margin: 1.5rem 0 0;
    font-weight: 700;
    line-height: 1.45;
}

.release-reviews-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.release-review-card {
    min-width: 0;
    border: 3px solid var(--mr-ink);
    background: var(--mr-white);
    box-shadow: 10px 10px 0 var(--mr-blue);
}

.release-review-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.release-review-card blockquote {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    margin: 0;
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.release-review-mark {
    height: 2.5rem;
    color: var(--mr-red);
    font-family: var(--mr-display);
    font-size: 5rem;
    line-height: .78;
}

.release-review-card blockquote > p {
    margin: 1rem 0 2rem;
    font-size: clamp(1.05rem, 1.35vw, 1.3rem);
    font-weight: 650;
    line-height: 1.55;
}

.release-review-card footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 2px solid var(--mr-ink);
    font-family: var(--mr-mono);
    font-size: .85rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.release-review-card cite {
    color: var(--mr-blue);
    font-style: normal;
}

.release-review-card footer a {
    margin-top: .65rem;
    color: var(--mr-ink);
    text-decoration-thickness: 2px;
    text-underline-offset: .25rem;
}

@media (max-width: 767.98px) {
    .release-reviews-grid {
        grid-template-columns: 1fr;
    }

    .release-review-card {
        grid-column: auto;
        box-shadow: 7px 7px 0 var(--mr-blue);
    }
}
