
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background: #fdf0d5;
    color: #2f0000;
    display: flex;
    flex-direction: column;
}

header {
    display: flex;
    background: #2f0000;
    color: #fdf0d5;
    padding: 1rem 0;
    position: relative;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

header .logo {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

header .logo img {
  height: 125px;
}

header .txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

nav a {
    color: #fdf0d5;
    margin: 1rem;
    font-size: x-large;
    text-decoration: none;
    font-weight: bold;
    position: relative;
}

nav a::before, nav a::after {
    content: "";
    position: absolute;
    background: #fdf0d5;
    height: 3px;
    width: 0;
    transition: width 0.3s ease, left 0.3s ease;
}
nav a::before { 
    bottom: 120%; 
    left: 0; 
}

nav a::after { 
    top: 120%; 
    left: 100%; 
    height: 3px; 
}

nav a:hover::before,
nav a:hover::after {
    width: 100%;
    left: 0;
}

main {
    width: 80%;
    margin-top: 2%;
    margin-bottom: 4%;
    margin-left: 10%;
    margin-right: 10%;
    justify-content: space-around;
    align-items: center;
}

footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 0.5rem 0;
    background: #2f0000;
    color: #fdf0d5;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

@media (max-width: 600px) {
  header { flex-direction: column; padding: 10px 0; }
  header .logo { position: static; transform: none; margin-bottom: 10px; }
  header .logo img { height: 80px; width: auto; }
  header .txt { flex-direction: column; }
}
