
.hero-image {
    display: flex;
    width: 100%;
}


body {
    max-width: 90% !important;
    margin: 0 auto !important;
    color: #262421;
    font-family: "Nova Flat";
    font-weight: 300;
    font-style: normal;
    background-color: black
}

.nav {
    font-size: 1.2em;
    width: 90%;
    overflow: hidden;
    position: fixed;
    top: 0;
    z-index: 999;
    justify-content: space-between;
    height: 60px;
    display: flex;
    align-items: flex-end;
    line-height: 1;
    padding-bottom: 5px;
    background-color: black;
}

.nav-main {
    font-size: 2em;
    display: flex;
    align-items: flex-end;
    line-height: 1; 
}

.nav-link active{
    color: #FFF2F2;
}

.nav-link{
    color: #787474;
    display: flex;
    align-items: flex-end;
    line-height: 1; 
}

a:hover, a.active{
    color:  #FFF2F2;
    text-decoration: none;
}

.container {
  position: relative;
  width: 100%;
  min-height: 600px;   
  background-image: url('../img/clouds.png');
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat;
  margin-left: 0%;
}

.container img {
  width: 100%;
  height: auto;
  display: block;
}

.text-overlay {
    position: absolute;
    top: 30%;
    color: white;
    padding: 10px 5%;
    left: 0;
    right: 0;
    max-width: 640px;
    box-sizing: border-box;
}

.text-overlay h1 {
  margin-bottom: 1.5rem;
}

.text-overlay p {
    color: #E0DCDC;
}
 

.enter-world {
    text-align: center;
    margin-top: 3rem;
    width: 100%;
}

@keyframes breathe {
    0%, 100% {
        transform: scale(1);
        opacity: 0.85;
    }
    50% {
        transform: scale(1.07);
        opacity: 1;
    }
}

.enter-world a {
    color: #E0DCDC;
    font-family: "Nova Flat";
    font-size: 2.5rem;
    text-decoration: none;
    display: inline-block;
    animation: breathe 5s ease-in-out infinite;
}

.enter-world a:hover {
    color: #FFF2F2;
}

.contact-container {
    margin-top: 5rem;
}


.contact-link {
    display: block;
    padding: 1rem;
    font-size: 1.1rem;
    cursor: pointer;
    color: #E0DCDC;
}

.card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Adjusts spacing between cards */
    margin-top: 5rem;
}

.card {
    /* border-color: #777; */
    /* border-width: 1px; */
    overflow: clip;
    width: 500px; /* calc(33.333% - 10px); Adjusts each card's width to fit 3 in a row, considering 20px total horizontal gap */
    height: 330px;
    margin-bottom: 20px; /* Adds space between rows */
    margin-right: 10px;
    color: #E0DCDC;
}

.card-title{
    text-align: center;
    padding: 30px;
}
.card.music-card{
    background-color: #EB0C32;
}
.card.podcast-card{
    background-color: #0CB0EB;
}
.card.collaborations-card{
    background-color: #6F7243;
}
.card.art-card{
    background-color: #898920;
}

.card-expanded {
    height: auto;
    overflow: visible;
    padding-bottom: 16px;
}

.card-frame {
    width: 90%;
    display: block;
    margin: 0 auto 12px;
}

iframe.card-frame {
    height: 160px;
}

.card-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-expanded .card-frame img {
    height: auto;
}

.world-container {
    margin-top: 5rem;
    color: white;
}

.world-title {
    font-family: "Nova Flat";
    font-size: 2rem;
    color: white;
    margin-bottom: 0.2rem;
    line-height: 1.3;
    text-align: center;
}

.guru-title {
    margin-top: 2.5rem;
    text-align: center;
}

.story-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2.5rem;
    cursor: pointer;
    user-select: none;
}

.story-heading {
    margin-top: 0;
    margin-bottom: 0;
    min-width: 16rem;
    text-align: center;
}

.story-caret {
    font-family: "Nova Flat";
    font-size: 1.6rem;
    line-height: 1;
    color: white;
    transition: transform 0.2s ease;
    display: inline-block;
}

.story-header.open .story-caret {
    transform: rotate(90deg);
}

.world-story.collapsed {
    display: none;
}

.story-img-wrapper {
    position: relative;
    display: block;
    max-width: 100%;
    margin: 1.5rem auto 2rem;
}

.zeng-img-wrapper {
    max-width: 70%;
}

.story-img {
    display: block;
    width: 100%;
    height: auto;
}

.img-credit {
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-style: italic;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.9);
    background-color: rgba(0, 0, 0, 0.85);
    padding: 3px 6px;
}

.world-story {
    margin-top: 3rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.world-story p {
    font-family: sans-serif;
    font-size: 1.5rem;
    color: #E0DCDC;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.story-quote {
    font-style: italic;
    color: #b0aaaa !important;
    margin-bottom: 2rem !important;
}

/* ---------- Newsletter signup ---------- */
.newsletter {
    text-align: center;
    margin: 5rem auto 4rem;
    max-width: 720px;
}

.newsletter-btn {
    font-family: "Nova Flat";
    font-size: 1.8rem;
    color: #E0DCDC;
    background: transparent;
    border: 2px solid #787474;
    border-radius: 4px;
    padding: 0.6rem 1.8rem;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.newsletter-btn:hover {
    color: #FFF2F2;
    border-color: #FFF2F2;
}

.newsletter-form {
    margin-top: 1.75rem;
    overflow: hidden;
    transition: opacity 0.3s ease;
}

.newsletter-form.collapsed {
    display: none;
}

/* Honeypot: kept in the DOM for bots, hidden from real users. */
.newsletter-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.newsletter-blurb {
    font-family: sans-serif;
    font-size: 1.1rem;
    color: #b0aaaa;
    margin-bottom: 1.25rem;
}

.newsletter-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.newsletter-input {
    font-family: sans-serif;
    font-size: 1.1rem;
    padding: 0.6rem 0.9rem;
    border: 1px solid #787474;
    border-radius: 4px;
    background: #1a1a1a;
    color: #E0DCDC;
    min-width: 260px;
}

.newsletter-input:focus {
    outline: none;
    border-color: #FFF2F2;
}

.newsletter-submit {
    font-family: "Nova Flat";
    font-size: 1.1rem;
    color: #E0DCDC;
    background: transparent;
    border: 2px solid #787474;
    border-radius: 4px;
    padding: 0.6rem 1.4rem;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.newsletter-submit:hover {
    color: #FFF2F2;
    border-color: #FFF2F2;
}

.newsletter-submit:disabled {
    opacity: 0.5;
    cursor: default;
}

.newsletter-status {
    font-family: sans-serif;
    font-size: 1rem;
    color: #b0aaaa;
    margin-top: 1rem;
    min-height: 1.2em;
}

.newsletter-status.success {
    color: #7ac77a;
}

.newsletter-status.error {
    color: #d97a7a;
}

@media (max-width: 576px) {
  .world-title {
    font-size: 1.3rem;
  }

  .story-heading {
    min-width: 11rem;
  }

  .world-story p {
    font-size: 1rem;
  }
}

@media (max-width: 576px) {
  .nav-main {
    font-size: 1.5rem;
  }
  .nav{
    font-size: 1rem;
  }

  .card {
    width: 100%;
    }

}