:root {
    --bg-color: #000000;
    --text-color: #ffffff;
    /*--text-color: #D7D8DA;*/
    --accent-color: #ffffff;
    --dark-gray: #231F20;
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    font-family: "Inter", sans-serif;
    font-style: normal;
    color: var(--text-color);
    min-height: 100vh;
    position: relative;
    margin: 0;
    padding: 0;
    font-optical-sizing: auto;

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#554c4f+0,231f20+100 */
    /*background: linear-gradient(135deg,  rgba(85,76,79,1) 0%,rgba(35,31,32,1) 100%); !* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ *!*/
}
body.homepage { overflow: hidden; }
@media only screen and (max-width: 1000px) {
    body.homepage { overflow: auto; }
}

body:before { display: block; width: 100vw; height: 100vh; content: ''; position: fixed; inset: 0; z-index: 1;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#554c4f+0,231f20+100 */
    background: linear-gradient(135deg,  rgba(85,76,79,1) 0%,rgba(35,31,32,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}



/*TEXT*/
h1 { margin-bottom: 40px;
    font-family: "Sometype Mono", monospace; font-weight: 400; font-style: normal; font-size: clamp(1.25rem, 2.456vw + 0.789rem, 3rem); letter-spacing: 0.1em; line-height: 1em;
    text-transform: uppercase; opacity: 0; animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
h1:only-child, h1:last-child { margin-bottom: 0; }

h2 { margin-bottom: 30px;
    font-family: "Sometype Mono", monospace; font-weight: 400; font-style: normal; font-size: clamp(1.125rem, 1.228vw + 0.895rem, 2rem); letter-spacing: 0; line-height: 1em;
    text-transform: uppercase; opacity: 0; animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
h2:only-child, h2:last-child { margin-bottom: 0; }


p { font-size: 1.125rem; font-weight: 400; line-height: 1.5em; animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards; }
p:only-child, p:last-child { margin-bottom: 0; }
p strong { font-weight: 700; }


/*IMAGES*/
img { display: block; margin: auto; max-width: 100%; height: auto; animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards; }


.remove-margin-bottom { margin-bottom: 0 !important; }

/*BUTTONS*/
.links { display: flex; justify-content: center; gap: 40px; }
.links a {
    display: block;
    font-family: "Sometype Mono", monospace;
}


@media only screen and (max-width: 700px) {
    .links { flex-direction: column; align-items: center; gap: 20px; }
}


.btn {
    display: inline-block; padding: 16px; animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    font-family: "Sometype Mono", monospace; font-size: 1.125rem; line-height: 1em; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none;

    -webkit-transition: all 0.2s ease-in-out; /* Chrome, Safari, Opera */
    -moz-transition: all 0.2s ease-in-out;    /* Firefox */
    -ms-transition: all 0.2s ease-in-out;      /* Internet Explorer */
    -o-transition: all 0.2s ease-in-out;      /* Opera */
    transition: all 0.2s ease-in-out;          /* Standard */
}

.btn:hover { text-decoration: none; }

.btn.transparent { border: 1px solid var(--text-color); background: transparent; color: var(--text-color); }
.btn.transparent:hover { background-color: white; color: var(--dark-gray); }

.btn.white { margin-top: 20px; border: 1px solid var(--text-color); background: var(--text-color); color: var(--dark-gray); }
.btn.white:hover { background-color: transparent; color: var(--text-color); }

.btn.plain { border: 1px solid transparent; background: transparent; color: var(--text-color); text-underline-offset: 2px; text-transform: uppercase; }

.btn.plain:hover { text-decoration: underline; }
.btn.plain.disabled { text-decoration: underline; font-weight: 700; pointer-events: none; }


/*HEADER*/
header {
    display: flex; justify-content: space-between; width: 100%; padding: 40px;
    position: fixed; left: 0; top: 0; z-index: 100;

    -webkit-transition: all 0.4s ease-in-out; /* Chrome, Safari, Opera */
    -moz-transition: all 0.4s ease-in-out;    /* Firefox */
    -ms-transition: all 0.4s ease-in-out;      /* Internet Explorer */
    -o-transition: all 0.4s ease-in-out;      /* Opera */
    transition: all 0.4s ease-in-out;          /* Standard */
}

body:not(.homepage) header {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}


header:before { display: block; content: ''; background: var(--dark-gray); position: absolute; inset: 0; opacity: 0; z-index: 1;

    -webkit-transition: all 0.4s ease-in-out; /* Chrome, Safari, Opera */
    -moz-transition: all 0.4s ease-in-out;    /* Firefox */
    -ms-transition: all 0.4s ease-in-out;      /* Internet Explorer */
    -o-transition: all 0.4s ease-in-out;      /* Opera */
    transition: all 0.4s ease-in-out;          /* Standard */
}

@media only screen and (max-width: 1000px) {
    header { align-items: center; padding: 20px 30px; }
    header:before { opacity: 0.8; }
}

header.scrolled { padding: 20px 40px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}
@media only screen and (max-width: 1000px) {
    header.scrolled { padding: 20px 30px; }
}
header.scrolled:before { opacity: 0.8; }

/*PRMIARY MENU*/
.primary_menu { display: flex; gap: 40px; margin: 0; padding: 0; position: relative; z-index: 10; }
.primary_menu li { list-style: none; }

.homepage .primary_menu { display: none; }

@media only screen and (max-width: 1000px) {
    .homepage .primary_menu { display: block; }
    .primary_menu {
        flex-direction: column; gap: 5px; padding: 15px 10px; background: var(--text-color);
        position: absolute; top: 100%; right: 10px; z-index: 50; opacity: 0; pointer-events: none;

        -webkit-transition: all 0.4s ease-in-out; /* Chrome, Safari, Opera */
        -moz-transition: all 0.4s ease-in-out;    /* Firefox */
        -ms-transition: all 0.4s ease-in-out;      /* Internet Explorer */
        -o-transition: all 0.4s ease-in-out;      /* Opera */
        transition: all 0.4s ease-in-out;          /* Standard */
    }
    .primary_menu .btn.plain { color: var(--dark-gray); }
    .primary_menu .btn.plain:hover { color: var(--dark-gray); }

    .menu-open .primary_menu { right: 30px; opacity: 1; pointer-events: auto; }
}

@media only screen and (max-width: 500px) {
    /*header ul { gap: 5px; }*/
}

/*LOGO*/
.logo {
    display: block; height: 43px; width: auto; position: relative; z-index: 10;
}

@media only screen and (max-width: 1000px) {
    .logo { height: 35px; }
}


/*MOBILE MENU*/
.menu-toggle { display: flex; flex-direction: column; gap: 10px; height: unset; margin: 0; padding: 10px; position: relative; right: -10px; z-index: 50; }
@media only screen and (max-width: 1000px) {
    .menu-toggle { display: flex; }
}
@media only screen and (min-width: 1000px) {
    .menu-toggle { display: none; }
}

.bar1, .bar2, .bar3 { width: 35px; background-color: var(--text-color); height: 2px;
    -webkit-transition: all 0.4s ease-in-out; /* Chrome, Safari, Opera */
    -moz-transition: all 0.4s ease-in-out;    /* Firefox */
    -ms-transition: all 0.4s ease-in-out;      /* Internet Explorer */
    -o-transition: all 0.4s ease-in-out;      /* Opera */
    transition: all 0.4s ease-in-out;          /* Standard */
}

.menu-open .bar1 { transform: translate3d(0, 12px, 0) rotate(45deg); }
.menu-open .bar2 { opacity: 0; }
.menu-open .bar3 { transform: translate3d(0, -12px, 0) rotate(-45deg); }


/*MAIN CONTENT*/
main { padding: 160px clamp(20px, 3.819vw, 55px) clamp(50px, 4.861vw, 70px) clamp(20px, 3.819vw, 55px); text-align: center; position: relative; z-index: 10; }

@media only screen and (max-width: 1000px) {
    main { padding: 100px 0 55px 0 !important; }
}


/*CONTAINER*/
.container { max-width: 760px; margin: clamp(50px, 4.861vw, 70px) auto; padding: 0 20px; }
.container_dark { padding: clamp(50px, 4.861vw, 70px) 20px; margin: 0 auto; background: var(--dark-gray); }
.container_dark .container { margin: 0 auto; }

body.homepage .container { padding-top: 30px; padding-bottom: 30px; }
@media screen and (orientation: landscape) {
    body.homepage .container { padding-top: 0; }
}

/*CARD LIST*/
.card_container { max-width: 1330px; margin: 35px auto clamp(50px, 4.861vw, 70px) auto; }
.card_list { margin: 0; padding: 0;
    -webkit-column-count: 6;
    -webkit-column-gap: 8px;
    -moz-column-count: 6;
    -moz-column-gap: 8px;
    column-count: 6;
    column-gap: 8px;
}

@media only screen and (max-width: 1440px) {
    .card_list {
        -webkit-column-count: 5;
        -moz-column-count: 5;
        column-count: 5;
    }
}

@media only screen and (max-width: 1200px) {
    .card_list {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
    }
}

@media only screen and (max-width: 1000px) {
    .card_list {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}

@media only screen and (max-width: 800px) {
    .card_list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}

@media only screen and (max-width: 500px) {
    .card_list {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;

        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
    }
}

.card_list li { display: block; background: #272324; padding: 24px; margin-bottom: 8px; list-style: none; text-align: left;
    break-inside: avoid;
    -webkit-column-break-inside: avoid; /* For older Chrome, Safari, Opera */
    page-break-inside: avoid;           /* For older Firefox, IE */
}

@media only screen and (max-width: 500px) {
    .card_list li { width: 100%; }
}
.card_list li p { font-size: 1rem; }
.card_list li p.date { margin-top: 0; font-family: "Sometype Mono", monospace; font-weight: 400; font-style: normal; font-size: 0.875rem; }


/*HOMEPAGE*/
body.homepage main { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100dvh; padding: 0; }
@media screen and (orientation: landscape) {
    body.homepage main {  }
}

/* FADE-IN ANIMATION */
@keyframes fadeInLift {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* KEEP H1 FOR SEO BUT HIDE IT VISUALLY */
.visually-hidden {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* FADE-IN ANIMATION (SAME AS BEFORE) */
@keyframes fadeInLift {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* CENTERED IMAGE-HEADLINE */
.headline-image {
    display: block;
    max-width: 90vw;
    height: auto;
    opacity: 0;
    animation: fadeInLift 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* FOOTER ADDRESS STYLING */
footer { padding: clamp(50px, 4.861vw, 70px) 0; background: var(--dark-gray); position: relative; z-index: 100; }
footer .container { margin: 0 auto; }

footer ul { display: flex; justify-content: center; gap: 0; margin: 40px 0 15px 0; padding:0; }
footer ul li { list-style: none; position: relative; }

footer .btn.plain { position: relative; text-decoration: underline; text-transform: none; }
footer .btn.plain:hover { text-decoration: none; }
footer ul li:not(:last-of-type):after { display: block; width: 1px; height: 16px; background: white; content: ''; position: absolute; right: 0; top: 18px; }

@media only screen and (max-width: 1000px) {
    footer ul li:not(:last-of-type):after { display: none; }
}

@media only screen and (max-width: 1000px) {
    footer ul { flex-direction: column; align-items: center; gap: 5px; }
}

.address-footer {
    font-family: "Sometype Mono", monospace; font-size: 1rem; line-height: 1em; letter-spacing: 0.1em; font-weight: 400; text-align: center;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
/*@media screen and (orientation: landscape) {*/
    /*.address-footer { font-size: 16px; }*/
/*}*/

/*HOMEPAGE FOOTER*/
body.homepage .address-footer {
    position: fixed; bottom: 40px; right: 40px;
}
@media only screen and (max-width: 1000px) {
    body.homepage .address-footer { width: 100%; right: 0; }
}
@media screen and (orientation: landscape) {
    body.homepage .address-footer { position: absolute; }
}

.address-footer br { display: none; }


@media only screen and (max-width: 1000px) {
    body.homepage .address-footer { padding: 0 20px; }
    .address-footer { line-height: 1.5em; }
    .address-footer br { display: block; }
}