html {
    min-height: 100%;
    background-color: #000000;
}

body {
    min-height: 100vh;
    margin: 0;

    background-color: #000000;
    color: #d8d3cf;

    font-family: Arial, Helvetica, sans-serif;
}
.site-header {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 20px 0;

    display: flex;
    flex-direction: column;
    align-items: center;
}
.header-socials {
    position: absolute;
    top: 16px;
    right: 24px;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.header-socials a,
.header-socials a:visited {
    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: inherit;
    text-decoration: none;
    opacity: 0.62;

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        filter 180ms ease;
}

.header-socials img {
    display: block;
    width: 19px;
    height: 19px;
    object-fit: contain;
}

.header-socials a:hover {
    opacity: 1;
    transform: scale(1.1);
    filter: drop-shadow(0 0 5px rgba(220, 210, 190, 0.35));
}

.header-socials a:active {
    transform: scale(0.96);
}

.header-socials a:focus-visible {
    opacity: 1;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 2px;
}
.site-logo {
    display: block;
    width: min(320px, 68vw);
    height: auto;
}

.page-content {
    width: 100%;
    box-sizing: border-box;
}
.header-divider {
    width: min(1280px, 94vw);
    margin-top: 2px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.header-divider::before,
.header-divider::after {
    content: "";
    flex: 1;
    height: 1px;
}

.header-divider::before {
    background: linear-gradient(
        to right,
        transparent,
        rgba(190, 186, 178, 0.58)
    );
}

.header-divider::after {
    background: linear-gradient(
        to left,
        transparent,
        rgba(190, 186, 178, 0.58)
    );
}

.divider-center {
    position: relative;
    display: block;
    width: 34px;
    height: 24px;
    flex: 0 0 34px;
}

.divider-center::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 12px;

    border: 1px solid rgba(210, 205, 196, 0.72);

    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.divider-center::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    width: 4px;
    height: 4px;

    background-color: #d8d3cf;

    transform:
        translate(-50%, -50%)
        rotate(45deg);
}
.main-navigation {
    width: min(1100px, 92vw);
    margin-top: 2px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    column-gap: 34px;
    row-gap: 12px;
}

.main-navigation a,
.main-navigation a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 6px 2px;

    font-family: "Cinzel", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;

    color: #bdb9b3;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.main-navigation a:hover {
    color: #ffffff;
    text-shadow:
        0 0 7px rgba(220, 210, 190, 0.55),
        0 0 18px rgba(220, 210, 190, 0.22);
    transform: scale(1.04);
}

.main-navigation a:active {
    transform: scale(0.97);
}

.main-navigation a:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 5px;
}

.main-navigation a[aria-current="page"] {
    color: #ffffff;
    text-shadow:
        0 0 6px rgba(220, 210, 190, 0.4);
}
.page-heading {
    width: min(1100px, 90vw);
    margin: 10px auto 0;
    text-align: center;
}

.page-heading h1 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: #d8d3cf;
}
.catalog-note {
    width: min(720px, 88vw);
    margin: 18px auto 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;

    color: #9f9b95;
    text-align: center;
}

.news-intro,
.lyrics-intro,
.about-intro,
.press-intro,
.contact-intro {
    width: min(720px, 88vw);
    margin: 18px auto 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;

    color: #9f9b95;
    text-align: center;
}
.about-image {
    width: min(840px, 88vw);
    margin: 32px auto 0;
}

.about-image img {
    display: block;
    width: 100%;
    height: auto;

    border: 1px solid rgba(190, 186, 178, 0.18);

    box-shadow:
        0 0 0 1px rgba(216, 211, 207, 0.05),
        0 12px 38px rgba(0, 0, 0, 0.5);
}
.about-content {
    width: min(920px, 90vw);
    margin: 36px auto 48px;
}

.about-text {
    width: 100%;
}

.about-section {
    padding: 30px 0 34px;

    border-top: 1px solid rgba(190, 186, 178, 0.18);
}

.about-section:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);
}

.about-section h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d8d3cf;
}
.about-section p {
    max-width: 780px;
    margin: 18px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;

    color: #9f9b95;
}

.about-section p + p {
    margin-top: 20px;
}
.press-content {
    width: min(920px, 90vw);
    margin: 36px auto 48px;
}

.press-section {
    padding: 30px 0 34px;

    border-top: 1px solid rgba(190, 186, 178, 0.18);
}

.press-section:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);
}

.press-section h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d8d3cf;
}
.press-section p {
    max-width: 780px;
    margin: 18px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;

    color: #9f9b95;
}

.press-section p + p {
    margin-top: 20px;
}

.press-link,
.press-link:visited {
    display: inline-block;
    margin-top: 22px;

    font-family: "Cinzel", serif;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: #aaa59e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.press-link::after {
    content: " →";
}

.press-link:hover {
    color: #ffffff;
    text-shadow: 0 0 8px rgba(220, 210, 190, 0.28);
    transform: translateX(3px);
}

.press-link:active {
    transform: translateX(1px);
}

.press-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 5px;
}
.press-facts {
    max-width: 780px;
    margin: 26px 0 0;
}

.press-facts div {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 24px;

    padding: 12px 0;

    border-top: 1px solid rgba(190, 186, 178, 0.12);
}

.press-facts div:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.12);
}

.press-facts dt {
    margin: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #77736e;
}

.press-facts dd {
    margin: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;

    color: #aaa69f;
}
.press-assets-list {
    max-width: 780px;
    margin: 24px 0 0;
    padding: 0;

    list-style: none;
}

.press-assets-list li {
    position: relative;

    margin: 0;
    padding: 10px 0 10px 22px;

    border-top: 1px solid rgba(190, 186, 178, 0.12);

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;

    color: #aaa69f;
}

.press-assets-list li:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.12);
}

.press-assets-list li::before {
    content: "◆";

    position: absolute;
    left: 2px;
    top: 11px;

    font-size: 7px;
    color: #77736e;
}
.press-contact-details {
    max-width: 780px;
    margin: 26px 0 0;
}

.press-contact-details div {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 24px;

    padding: 12px 0;

    border-top: 1px solid rgba(190, 186, 178, 0.12);
}

.press-contact-details div:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.12);
}

.press-contact-details dt {
    margin: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #77736e;
}

.press-contact-details dd {
    margin: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;

    color: #aaa69f;
}

.press-contact-details a,
.press-contact-details a:visited {
    color: #aaa69f;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease;
}

.press-contact-details a:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.28);
}

.press-contact-details a:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 4px;
}
.contact-content {
    width: min(920px, 90vw);
    margin: 36px auto 48px;
}

.contact-section {
    padding: 30px 0 34px;

    border-top: 1px solid rgba(190, 186, 178, 0.18);
}

.contact-section:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);
}

.contact-section h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d8d3cf;
}

.contact-section p {
    max-width: 780px;
    margin: 18px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;

    color: #9f9b95;
}

.contact-link,
.contact-link:visited {
    display: inline-block;
    margin-top: 22px;

    font-family: "Cinzel", serif;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 0.08em;

    color: #aaa59e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.contact-link::after {
    content: " →";
}

.contact-link:hover {
    color: #ffffff;
    text-shadow: 0 0 8px rgba(220, 210, 190, 0.28);
    transform: translateX(3px);
}

.contact-link:active {
    transform: translateX(1px);
}

.contact-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 5px;
}

.news-list {
    width: min(920px, 90vw);
    margin: 36px auto 48px;
}
.news-item {
    padding: 28px 0 30px;

    border-top: 1px solid rgba(190, 186, 178, 0.18);
}

.news-item:last-child {
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);
}

.news-item time {
    display: block;
    margin: 0 0 12px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #77736e;
}

.news-item h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.07em;
    text-transform: uppercase;

    color: #d8d3cf;
}

.news-item p {
    max-width: 760px;
    margin: 16px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.75;

    color: #9f9b95;
}

.news-link,
.news-link:visited {
    display: inline-block;
    margin-top: 20px;

    font-family: "Cinzel", serif;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: #aaa59e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.news-link::after {
    content: " →";
}

.news-link:hover {
    color: #ffffff;
    text-shadow: 0 0 8px rgba(220, 210, 190, 0.28);
    transform: translateX(3px);
}

.news-link:active {
    transform: translateX(1px);
}

.news-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 5px;
}

.album-list {
    width: min(920px, 90vw);
    margin: 36px auto 48px;
}

.album-card,
.album-card:visited {
    width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 34px;

    padding: 24px 0;

    border-top: 1px solid rgba(190, 186, 178, 0.18);
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);

    color: #d8d3cf;
    text-decoration: none;

    transition:
        border-color 180ms ease,
        background-color 180ms ease;
}

.album-cover {
    display: block;
    width: 180px;
    height: 180px;
    flex: 0 0 180px;

    object-fit: cover;

    box-shadow:
        0 0 0 1px rgba(216, 211, 207, 0.14),
        0 8px 28px rgba(0, 0, 0, 0.45);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.album-card-content {
    min-width: 0;
}

.album-card-content h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(23px, 2.2vw, 31px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d8d3cf;

    transition:
        color 180ms ease,
        text-shadow 180ms ease;
}

.album-meta {
    margin: 12px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.08em;

    color: #8f8b85;
}

.album-link-text {
    display: inline-block;
    margin-top: 22px;

    font-family: "Cinzel", serif;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: #aaa59e;

    transition:
        color 180ms ease,
        transform 180ms ease;
}

.album-link-text::after {
    content: " →";
}

.album-card:hover {
    border-color: rgba(216, 211, 207, 0.38);
    background-color: rgba(255, 255, 255, 0.018);
}

.album-card:hover .album-cover {
    transform: scale(1.025);

    box-shadow:
        0 0 0 1px rgba(216, 211, 207, 0.28),
        0 10px 34px rgba(0, 0, 0, 0.55);
}

.album-card:hover h2 {
    color: #ffffff;

    text-shadow:
        0 0 8px rgba(220, 210, 190, 0.28);
}

.album-card:hover .album-link-text {
    color: #ffffff;
    transform: translateX(3px);
}

.album-card:active .album-cover {
    transform: scale(0.99);
}

.album-card:focus-visible {
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 6px;
}
.site-footer {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px 30px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-socials {
    width: min(520px, 90vw);

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 14px;
}

.footer-socials a,
.footer-socials a:visited {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    opacity: 0.72;

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        filter 180ms ease;
}

.footer-socials img {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.footer-socials a:hover {
    opacity: 1;
    transform: scale(1.1);
    filter: drop-shadow(0 0 6px rgba(220, 210, 190, 0.35));
}

.footer-socials a:active {
    transform: scale(0.96);
}

.footer-socials a:focus-visible {
    opacity: 1;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 3px;
}

.footer-copyright {
    margin: 18px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;

    color: #77736e;
    text-align: center;
}
.lyrics-album-page {
    width: 100%;
    box-sizing: border-box;
}

.lyrics-album-header {
    width: min(1100px, 90vw);
    margin: 18px auto 0;
}

.lyrics-album-intro {
    margin-top: 24px;

    display: flex;
    align-items: center;
    gap: 38px;

    padding-bottom: 34px;
    border-bottom: 1px solid rgba(190, 186, 178, 0.18);
}

.lyrics-album-cover {
    display: block;
    width: 220px;
    height: 220px;
    flex: 0 0 220px;

    object-fit: cover;

    box-shadow:
        0 0 0 1px rgba(216, 211, 207, 0.14),
        0 10px 34px rgba(0, 0, 0, 0.5);
}

.lyrics-album-heading {
    min-width: 0;
}

.lyrics-section-label {
    margin: 0 0 10px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: #77736e;
}

.lyrics-album-heading h1 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d8d3cf;
}

.lyrics-album-meta {
    margin: 14px 0 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.08em;

    color: #8f8b85;
}
.lyrics-album-layout {
    width: min(1100px, 90vw);
    margin: 36px auto 60px;

    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 58px;
}

.lyrics-tracklist {
    position: sticky;
    top: 24px;

    padding: 0 0 24px;
}

.lyrics-tracklist h2 {
    margin: 0 0 18px;

    font-family: "Cinzel", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #d8d3cf;
}

.lyrics-tracklist ol {
    margin: 0;
    padding-left: 22px;

    color: #77736e;
}

.lyrics-tracklist li {
    margin: 0 0 10px;
    padding-left: 4px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.lyrics-tracklist a,
.lyrics-tracklist a:visited {
    color: #9f9b95;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease;
}

.lyrics-tracklist a:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.28);
}

.lyrics-tracklist a:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 4px;
}

.lyrics-songs {
    min-width: 0;
}
.lyrics-song {
    padding: 0 0 44px;
    margin: 0 0 42px;

    border-bottom: 1px solid rgba(190, 186, 178, 0.18);

    scroll-margin-top: 24px;
}

.lyrics-song h2 {
    margin: 0 0 22px;

    font-family: "Cinzel", serif;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.07em;
    text-transform: uppercase;

    color: #d8d3cf;
}

.song-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.8;

    color: #aaa69f;
}

.song-text p {
    margin: 0 0 24px;
}

.back-to-tracklist,
.back-to-tracklist:visited {
    display: none;
    margin-top: 24px;

    font-family: "Cinzel", serif;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.11em;
    text-transform: uppercase;

    color: #77736e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.back-to-tracklist:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.28);
    transform: translateY(-2px);
}

.back-to-tracklist:active {
    transform: translateY(0);
}

.back-to-tracklist:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 5px;
}


@media (max-width: 760px) {

    .press-facts div {
    grid-template-columns: 1fr;
    gap: 4px;
}
    .press-contact-details div {
    grid-template-columns: 1fr;
    gap: 4px;
}

    .header-socials {
    display: none;
}
    .main-navigation {
        row-gap: 0;
    }

    .main-navigation a,
    .main-navigation a:visited {
        min-height: 36px;
        padding: 2px;
    }

    .album-list {
        width: 94vw;
        margin-top: 32px;
    }

    .album-card,
    .album-card:visited {
        gap: 18px;
        padding: 20px 0;
    }

    .album-cover {
        width: 120px;
        height: 120px;
        flex: 0 0 120px;
    }

    .album-card-content {
        flex: 1;
        min-width: 0;
    }

    .album-card-content h2 {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0.055em;
    }

    .album-meta {
        margin-top: 8px;
        font-size: 13px;
    }

        .album-link-text {
        margin-top: 14px;
        font-size: 12px;
        letter-spacing: 0.11em;
    }

    .back-to-tracklist,
    .back-to-tracklist:visited {
        display: inline-block;
    }
}

@media (max-width: 420px) {

    .site-header {
        padding-left: 10px;
        padding-right: 10px;
    }

    .site-header > a {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .site-logo {
        margin-left: auto;
        margin-right: auto;
    }

    .main-navigation {
        width: min(328px, 100%);
        margin-left: auto;
        margin-right: auto;

        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));

        column-gap: 6px;
        row-gap: 0;
    }

    .main-navigation a,
    .main-navigation a:visited {
        width: 100%;
        box-sizing: border-box;

        font-size: 15px;
        letter-spacing: 0.07em;

        text-align: center;
    }

    .main-navigation a:last-child {
        grid-column: 2;
    }

    .page-heading {
        width: 100%;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
    }

    .catalog-note {
    display: block;
    width: calc(100% - 40px);
    max-width: 300px;
    box-sizing: border-box;

    margin: 18px auto 0;
    padding: 0;

    font-size: 14px;
    line-height: 1.65;

    color: #9f9b95;
    text-align: center;

    overflow-wrap: normal;
    word-break: normal;
}

    .album-list {
        width: calc(100% - 28px);
    }

    .album-card,
        .album-card:visited {
        gap: 14px;
    }

    .album-cover {
        width: 108px;
        height: 108px;
        flex: 0 0 108px;
    }

    .album-card-content h2 {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0.01em;
    white-space: normal;
}

    .album-meta {
        font-size: 12px;
    }

    .album-link-text {
        font-size: 11px;
        letter-spacing: 0.08em;
    }
    .footer-socials {
    width: 230px;
    gap: 10px;
    }
}
@media (max-width: 760px) {

    .lyrics-album-header {
        width: calc(100% - 28px);
        margin-top: 16px;
    }

    .lyrics-album-intro {
        margin-top: 20px;

        flex-direction: column;
        align-items: center;
        gap: 22px;

        padding-bottom: 28px;
    }

    .lyrics-album-cover {
        width: min(260px, 100%);
        height: auto;
        aspect-ratio: 1 / 1;
        flex: 0 0 auto;
    }

    .lyrics-album-heading {
        width: 100%;
        text-align: center;
    }

    .lyrics-section-label {
        margin-bottom: 8px;
    }

    .lyrics-album-heading h1 {
        font-size: clamp(26px, 8vw, 34px);
        line-height: 1.25;
        letter-spacing: 0.05em;

        overflow-wrap: normal;
        word-break: normal;
    }

    .lyrics-album-meta {
        margin-top: 10px;
    }

    .lyrics-album-layout {
        width: calc(100% - 28px);
        margin: 28px auto 48px;

        display: block;
    }

    .lyrics-tracklist {
        position: static;
        top: auto;

        width: 100%;
        box-sizing: border-box;

        margin: 0 0 34px;
        padding: 0 0 28px;

        border-bottom: 1px solid rgba(190, 186, 178, 0.18);
    }

    .lyrics-tracklist ol {
        padding-left: 24px;
    }

    .lyrics-songs {
        width: 100%;
        min-width: 0;
    }

    .lyrics-song {
        width: 100%;
        box-sizing: border-box;

        scroll-margin-top: 16px;
    }

    .lyrics-song h2 {
        font-size: 22px;
        line-height: 1.35;
        letter-spacing: 0.05em;
    }

    .song-text {
        width: 100%;

        font-size: 15px;
        line-height: 1.75;
    }
}

/* =========================================================
   ALBUM DETAIL PAGE
   ========================================================= */

.album-page {
    width: min(1180px, 92vw);
    margin: 24px auto 80px;
}


/* Album hero */

.album-hero {
    display: grid;
    grid-template-columns:
        minmax(280px, 430px)
        minmax(0, 1fr);
    align-items: center;
    gap: clamp(38px, 6vw, 76px);

    padding: 0 0 60px;

    border-bottom: 1px solid rgba(216, 211, 207, 0.2);
}

.album-cover-button {
    display: block;
    width: 100%;
    padding: 0;

    background: transparent;
    border: 0;

    cursor: zoom-in;
}

.album-page-cover {
    display: block;
    width: 100%;
    height: auto;

    border: 1px solid rgba(216, 211, 207, 0.24);

    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.025),
        0 24px 70px rgba(0, 0, 0, 0.72);

    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;
}

.album-cover-button:hover .album-page-cover {
    transform: scale(1.012);

    border-color: rgba(216, 211, 207, 0.5);

    box-shadow:
        0 0 0 1px rgba(216, 211, 207, 0.08),
        0 28px 78px rgba(0, 0, 0, 0.78);
}

.album-cover-button:active .album-page-cover {
    transform: scale(0.995);
}

.album-cover-button:focus-visible {
    outline: 1px solid rgba(216, 211, 207, 0.8);
    outline-offset: 7px;
}

.album-hero-content {
    min-width: 0;
}

.album-section-label {
    margin: 0 0 14px;

    font-family: "Cinzel", serif;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.18em;
    text-transform: uppercase;

    color: #77736e;
}

.album-hero-content h1 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(38px, 5.2vw, 68px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: 0.045em;

    color: #f1efec;
    text-wrap: balance;
}

.album-hero-meta {
    margin: 22px 0 0;

    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #8e8983;
}

.album-hero-description {
    max-width: 640px;
    margin: 28px 0 0;

    font-size: 17px;
    line-height: 1.75;

    color: #aaa69f;
}

.album-primary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 32px;
}

.album-action-link,
.album-action-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    box-sizing: border-box;
    padding: 9px 18px;

    border: 1px solid rgba(216, 211, 207, 0.3);

    font-family: "Cinzel", serif;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.11em;
    text-transform: uppercase;

    color: #c8c3bd;
    text-decoration: none;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.album-action-link:hover {
    color: #ffffff;
    border-color: rgba(216, 211, 207, 0.7);
    background-color: rgba(255, 255, 255, 0.035);

    box-shadow:
        0 0 14px rgba(220, 210, 190, 0.1);

    transform: translateY(-2px);
}

.album-action-link:active {
    transform: translateY(0);
}

.album-action-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.8);
    outline-offset: 4px;
}


/* Shared album headings */

.album-section-heading {
    margin-bottom: 24px;
}

.album-section-heading h2 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: clamp(23px, 3vw, 34px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.065em;

    color: #ddd9d4;
}


/* Featured video */

.album-featured-video {
    padding: 64px 0;

    border-bottom: 1px solid rgba(216, 211, 207, 0.2);
}

.album-video-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;

    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 30px;

    border: 1px solid rgba(216, 211, 207, 0.22);

    background:
        radial-gradient(
            circle at center,
            rgba(255, 255, 255, 0.035),
            rgba(255, 255, 255, 0.008) 52%,
            transparent 76%
        );

    font-family: "Cinzel", serif;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: #77736e;
    text-align: center;
}
.album-video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;

    border: 1px solid rgba(216, 211, 207, 0.22);
    background-color: #000000;
}

.album-video-wrapper iframe {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    border: 0;
}

.album-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 18px;
}


/* Main album layout */

.album-main-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(300px, 0.75fr);
    align-items: start;
    gap: clamp(38px, 6vw, 72px);

    padding: 64px 0;
}

.album-main-column,
.album-side-column {
    min-width: 0;
}

.album-main-column > section,
.album-side-column > section {
    padding-top: 34px;
    margin-top: 42px;

    border-top: 1px solid rgba(216, 211, 207, 0.18);
}

.album-main-column > section:first-child,
.album-side-column > section:first-child {
    padding-top: 0;
    margin-top: 0;

    border-top: 0;
}


/* About the album */

.album-about p {
    max-width: 760px;
    margin: 0 0 22px;

    font-size: 16px;
    line-height: 1.82;

    color: #aaa69f;
}

.album-about p:last-child {
    margin-bottom: 0;
}


/* Tracklist */

.album-track-list {
    margin: 0;
    padding: 0;

    list-style: none;
    counter-reset: album-track;
}

.album-track-list li {
    counter-increment: album-track;

    display: grid;
    grid-template-columns:
        38px
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 14px;

    min-height: 62px;
    box-sizing: border-box;
    padding: 10px 0;

    border-bottom: 1px solid rgba(216, 211, 207, 0.13);
}

.album-track-list li:first-child {
    border-top: 1px solid rgba(216, 211, 207, 0.13);
}

.album-track-list li::before {
    content: counter(album-track, decimal-leading-zero);

    font-family: "Cinzel", serif;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.08em;

    color: #65615c;
}

.album-track-title {
    min-width: 0;

    font-family: "Cinzel", serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.045em;

    color: #c8c4bf;
}

.album-track-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.album-track-links a,
.album-track-links a:visited {
    display: inline-flex;
    align-items: center;
    min-height: 36px;

    font-family: "Cinzel", serif;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #77736e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.album-track-links a:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.3);
    transform: translateY(-1px);
}

.album-track-links a:active {
    transform: translateY(0);
}

.album-track-links a:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 4px;
}


/* Spotify */

.album-spotify {
    scroll-margin-top: 28px;
}

.album-embed-placeholder {
    min-height: 352px;

    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 24px;

    border: 1px solid rgba(216, 211, 207, 0.2);
    background-color: rgba(255, 255, 255, 0.018);

    font-family: "Cinzel", serif;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #706c67;
    text-align: center;
}


/* Physical editions */

.album-physical-editions {
    scroll-margin-top: 28px;
}

.physical-edition {
    padding: 20px;
    margin-top: 14px;

    border: 1px solid rgba(216, 211, 207, 0.18);
    background-color: rgba(255, 255, 255, 0.012);
}

.physical-edition:first-of-type {
    margin-top: 0;
}

.physical-edition h3 {
    margin: 0;

    font-family: "Cinzel", serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.07em;
    text-transform: uppercase;

    color: #c8c4bf;
}

.physical-edition p {
    margin: 12px 0 0;

    font-size: 13px;
    line-height: 1.6;

    color: #8c8882;
}

.physical-edition strong {
    font-weight: 400;
    letter-spacing: 0.06em;

    color: #c0bbb5;
}
.physical-edition-list {
    margin: 16px 0 0;
}

.physical-edition-list div {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) minmax(0, 1fr);
    gap: 14px;

    padding: 10px 0;

    border-top: 1px solid rgba(216, 211, 207, 0.12);
}

.physical-edition-list div:last-child {
    border-bottom: 1px solid rgba(216, 211, 207, 0.12);
}

.physical-edition-list dt {
    margin: 0;

    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: #706c67;
}

.physical-edition-list dd {
    margin: 0;

    font-size: 13px;
    line-height: 1.55;
    letter-spacing: 0.04em;

    color: #aaa69f;
}

/* Release details */

.album-facts {
    margin: 0;
}

.album-facts div {
    display: grid;
    grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.2fr);
    gap: 18px;

    padding: 12px 0;

    border-bottom: 1px solid rgba(216, 211, 207, 0.13);
}

.album-facts div:first-child {
    border-top: 1px solid rgba(216, 211, 207, 0.13);
}

.album-facts dt {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: #706c67;
}

.album-facts dd {
    margin: 0;

    font-size: 13px;
    line-height: 1.55;

    color: #aaa69f;
}


/* Credits */

.album-credits {
    padding-top: 48px;

    border-top: 1px solid rgba(216, 211, 207, 0.2);
}

.album-credits p {
    max-width: 780px;
    margin: 0 0 12px;

    font-size: 14px;
    line-height: 1.75;

    color: #8f8b85;
}

.album-credits p:last-child {
    margin-bottom: 0;
}


/* Enlarged album cover dialog */

.album-cover-dialog {
    max-width: none;
    max-height: none;
    padding: 42px;
    overflow: visible;

    background: transparent;
    border: 0;
}

.album-cover-dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.93);
    backdrop-filter: blur(5px);
}

.album-cover-dialog img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(86vw, 1100px);
    max-height: 86vh;

    border: 1px solid rgba(216, 211, 207, 0.3);

    box-shadow:
        0 25px 90px rgba(0, 0, 0, 0.9);
}

.album-dialog-close {
    position: absolute;
    top: 0;
    right: 0;

    width: 38px;
    height: 38px;
    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(216, 211, 207, 0.35);
    background-color: rgba(0, 0, 0, 0.82);

    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;

    color: #d8d3cf;

    cursor: pointer;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.album-dialog-close:hover {
    color: #ffffff;
    border-color: rgba(216, 211, 207, 0.75);
    background-color: #000000;
}

.album-dialog-close:focus-visible {
    outline: 1px solid #ffffff;
    outline-offset: 4px;
}


/* Tablet */

@media (max-width: 980px) {

    .album-page {
        width: min(920px, 92vw);
    }

    .album-main-layout {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .album-side-column {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 36px;
    }

    .album-side-column > section {
        padding-top: 0;
        margin-top: 0;

        border-top: 0;
    }

    .album-spotify {
        grid-column: 1 / -1;
    }

    .album-embed-placeholder {
        min-height: 280px;
    }
   .spotify-album-embed {
    display: block;
    width: 100%;
    height: 352px;
    border: 0;
}

.spotify-external-link,
.spotify-external-link:visited {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-top: 12px;

    font-family: "Cinzel", serif;
    font-size: 10px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #77736e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.spotify-external-link:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.3);
    transform: translateY(-1px);
}

.spotify-external-link:active {
    transform: translateY(0);
}

.spotify-external-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 4px;
}
}
.physical-buy-link,
.physical-buy-link:visited {
    margin-top: 18px;
}
.album-track-lyrics,
.album-track-lyrics:visited,
.album-track-youtube,
.album-track-youtube:visited {
    box-sizing: border-box;
    min-height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(216, 211, 207, 0.16);
    background-color: rgba(255, 255, 255, 0.012);

    color: #817c76;
    text-decoration: none;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.album-track-lyrics,
.album-track-lyrics:visited {
    padding: 0 10px;

    font-family: "Cinzel", serif;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.album-track-youtube,
.album-track-youtube:visited {
    width: 34px;
    height: 34px;
    padding: 0;
}

.album-track-youtube img {
    display: block;
    width: 19px;
    height: 19px;
    object-fit: contain;
    opacity: 0.78;

    transition:
        opacity 180ms ease,
        filter 180ms ease,
        transform 180ms ease;
}

.album-track-lyrics:hover,
.album-track-youtube:hover {
    color: #ffffff;
    border-color: rgba(216, 211, 207, 0.5);
    background-color: rgba(255, 255, 255, 0.035);

    box-shadow: 0 0 10px rgba(220, 210, 190, 0.08);
    transform: translateY(-1px);
}

.album-track-youtube:hover img {
    opacity: 1;
    filter: brightness(1.35);
    transform: scale(1.07);
}

.album-track-lyrics:active,
.album-track-youtube:active {
    transform: translateY(0);
}

.album-track-lyrics:focus-visible,
.album-track-youtube:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 3px;
}

/* Mobile */

@media (max-width: 760px) {

    .album-page {
        width: calc(100% - 32px);
        margin-top: 18px;
        margin-bottom: 60px;
    }

    .album-hero {
        grid-template-columns: 1fr;
        gap: 34px;

        padding-bottom: 48px;
    }

    .album-cover-button {
        width: min(470px, 100%);
        margin: 0 auto;
    }

    .album-hero-content {
        text-align: center;
    }

    .album-hero-content h1 {
        font-size: clamp(34px, 10vw, 52px);
    }

    .album-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .album-primary-actions {
        justify-content: center;
    }

    .album-featured-video {
        padding: 48px 0;
    }

    .album-main-layout {
        padding: 48px 0;
    }

    .album-side-column {
        display: block;
    }

    .album-side-column > section {
        padding-top: 34px;
        margin-top: 42px;

        border-top: 1px solid rgba(216, 211, 207, 0.18);
    }

    .album-side-column > section:first-child {
        padding-top: 0;
        margin-top: 0;

        border-top: 0;
    }

    .album-track-list li {
        grid-template-columns:
            32px
            minmax(0, 1fr);
        gap: 10px;
        padding: 13px 0;
    }

    .album-track-links {
        grid-column: 2;
        justify-content: flex-start;
        gap: 18px;
    }

    .album-track-links a,
    .album-track-links a:visited {
        min-height: 30px;
    }

    .album-cover-dialog {
        padding: 38px 18px 18px;
    }

    .album-cover-dialog img {
        max-width: 92vw;
        max-height: 82vh;
    }

    .album-dialog-close {
        top: 0;
        right: 18px;
    }
}


/* Small mobile */

@media (max-width: 420px) {

    .album-page {
        width: calc(100% - 24px);
    }

    .album-hero-content h1 {
        font-size: clamp(31px, 11vw, 43px);
        letter-spacing: 0.025em;
    }

    .album-hero-description {
        font-size: 15px;
        line-height: 1.72;
    }

    .album-primary-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .album-action-link,
    .album-action-link:visited {
        width: 100%;
    }

    .album-section-heading h2 {
        font-size: 23px;
    }

    .album-video-placeholder {
        padding: 18px;

        font-size: 10px;
        letter-spacing: 0.09em;
    }

    .album-track-title {
        font-size: 14px;
    }

    .album-facts div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .physical-edition {
        padding: 18px;
    }

    .physical-edition-list div {
    grid-template-columns: 1fr;
    gap: 4px;
}
}


/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .album-page *,
    .album-page *::before,
    .album-page *::after {
        scroll-behavior: auto;
        transition: none;
    }
}
.album-spotify .spotify-external-link,
.album-spotify .spotify-external-link:visited {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-top: 12px;

    font-family: "Cinzel", serif;
    font-size: 10px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #77736e;
    text-decoration: none;

    transition:
        color 180ms ease,
        text-shadow 180ms ease,
        transform 180ms ease;
}

.album-spotify .spotify-external-link:hover {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(220, 210, 190, 0.3);
    transform: translateY(-1px);
}

.album-spotify .spotify-external-link:active {
    transform: translateY(0);
}

.album-spotify .spotify-external-link:focus-visible {
    color: #ffffff;
    outline: 1px solid rgba(216, 211, 207, 0.75);
    outline-offset: 4px;
}

.discogs-release-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 1px;
    transition:
        border-color 0.2s ease,
        opacity 0.2s ease;
}

.discogs-release-link:hover,
.discogs-release-link:focus-visible {
    border-color: currentColor;
    opacity: 0.8;
}