body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background: #2f2f2f;
  color: #f5f5f5;
  line-height: 1.6;
}

/* HERO */
.hero {
  height: 100vh;
  background: url('your-photo.jpg') center 20% / cover no-repeat;
  position: relative;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
}

.hero-text {
  position: absolute;
  bottom: 20%;
  left: 10%;
  color: #ffffff;
}

.hero-text h1 {
  font-family: 'Playfair Display', serif;
  font-size: 3em;
  margin: 0;
}

.hero-text p {
  font-size: 1.2em;
}

/* FADE ANIMATION */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* BIO */
.bio {
  max-width: 700px;
  margin: 80px auto;
  padding: 0 20px;
  font-size: 1.1em;
}

/* MUSIC */
.music {
  text-align: center;
  padding: 60px 20px;
}

.music h2,
.video h2 {
  font-weight: 400;
}

.music iframe {
  width: 100%;
  max-width: 500px;
  height: 152px;
  margin: 20px auto;
  display: block;
  border-radius: 12px;
}

.featured iframe {
  height: 200px;
}

/* VIDEO */
.video {
  text-align: center;
  padding: 60px 20px;
}

/* Force vertical stacking */
.video iframe {
  display: block;
  width: 90%;
  max-width: 800px;
  height: 450px;
  margin: 20px auto;
  border-radius: 12px;
}

/* Ensure button is below */
#videoExpandBtn {
  display: block;
  margin: 20px auto;
  text-align: center;
}

/* BUTTONS */
button {
  margin-top: 20px;
  padding: 12px 24px;
  background: none;
  border: 1px solid #aaa;
  color: #f5f5f5;
  cursor: pointer;
  transition: 0.3s;
  font-family: inherit;
}

button:hover {
  background: #f5f5f5;
  color: #222;
}

/* HIDDEN */
.hidden {
  display: none;
}

/* CONTACT */
.contact {
  text-align: center;
  padding: 80px 20px;
}

.contact-intro {
  max-width: 600px;
  margin: 0 auto 20px;
}

.contact-title {
  font-size: 1.6em;
  margin-bottom: 10px;
  font-weight: 500;
}

.contact-subtext {
  font-size: 0.95em;
  color: #ccc;
}

.contact form {
  max-width: 500px;
  margin: 30px auto;
  display: flex;
  flex-direction: column;
}

.contact input,
.contact textarea {
  margin: 10px 0;
  padding: 12px;
  border: 1px solid #555;
  background: #3a3a3a;
  color: #fff;
  font-family: inherit;
}

.contact textarea {
  min-height: 120px;
}

/* SUBMIT BUTTON */
.contact form button {
  background: #d6d2cc;
  color: #222;
  border: none;
}

.contact form button:hover {
  background: #ffffff;
  color: #000;
}

/* FOOTER */
footer {
  text-align: center;
  padding: 40px;
  font-size: 0.9em;
  color: #aaa;
}

/* LINK STYLE */
a {
  color: #b5b5b5;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #ffffff;
}
