body{
margin:0;
font-family: "Noto Serif JP", serif;
/* background:#5c412e; */
background-image: url(images/wood.JPG);
color:#160c05;
line-height:1.6;
}

nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 40px;
background:#3b3d2f;
box-shadow:0 3px 6px rgba(0,0,0,0.1);
}

nav h1{
letter-spacing:2px;
}

nav ul{
display:flex;
gap:30px;
list-style:none;
}

nav a{
/* text-decoration:none;
color:#160c05;
font-weight:600; */
font-size:18px;
padding:12px 22px;

background-color:#8fa88f;   /* sage green */
color:#160c05;

border-radius:10px;

text-decoration:none;
font-weight:bold;

transition:all 0.3s ease;

font-weight:500;
}

nav a:hover{
/* color:#5f705f; */
background-color:#6e8c6e;
transform:translateY(-2px);

box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.hero{
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.hero h2{
font-size:42px;
margin-bottom:10px;
}

.hero img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-text {
  position: absolute;
  bottom: 40px;
  left: 50px;
  color: white;
  background: rgba(0,0,0,0.35);
  padding: 20px;
  border-radius: 8px;
}

.quote{
font-style:italic;
text-align:center;
margin:30px;
color:#3b3d2f;
}

.container{
max-width:1100px;
margin:auto;
padding:40px;
}

.card{
background:#3b3d2f;
padding:20px;
border-radius:12px;
margin:20px 0;
box-shadow:0 3px 10px rgba(0,0,0,0.08);
}

button{
background:#6b705c;
color:white;
border:none;
padding:10px 16px;
border-radius:6px;
cursor:pointer;
}

textarea,input{
width:100%;
padding:10px;
margin-top:10px;
border-radius:6px;
border:1px solid #ccc;
}

.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}

.gallery img{
width:100%;
border-radius:10px;
}

footer{
background:#a8bfa2;
text-align:center;
padding:25px;
margin-top:40px;
}

#map{
height:450px;
border-radius:12px;
margin-top:20px;
}
.quote{

font-style:italic;
color:#6b705c;
animation:fadeIn 2s ease;

}

@keyframes fadeIn{

from{opacity:0}
to{opacity:1}

}
#voices{
margin-top:30px;
}

#voices .card{
background:white;
padding:18px;
border-radius:10px;
margin-bottom:15px;
box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(60,80,60,0.25);
}
#typing-title::after {
  content: "|";
  margin-left: 5px;
  animation: blink 1s infinite;
}

@keyframes blink {
  0% {opacity:1;}
  50% {opacity:0;}
  100% {opacity:1;}
}
#typing-title.finished::after {
  animation: none;
  opacity: 0;
}