/* BASE */
body {
  margin: 0;
  font-family: 'Segoe UI', system-ui, sans-serif;
  background: #faf7fb;
  color: #4a4453;
}

.site-header {
  background: #efe6f7;
  padding: 16px 24px;
  position: sticky;
  top: 0;
}

.logo {
  font-size: 1.6rem;
  font-weight: 600;
  color: #6b4c9a;
}

nav a {
  margin-right: 20px;
  color: #6b4c9a;
  text-decoration: none;
}

.text-page {
  max-width: 1100px;
  margin: auto;
  padding: 80px 40px;
}

/* INTRO */
.intro-block {
  text-align: center;
  margin-bottom: 100px;
}

.intro-line {
  font-size: 1.8rem;
  font-style: italic;
  color: #6b4c9a;
}

/* FEATURES */
.feature-block {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px;
  margin-bottom: 120px;
}

.feature {
  background: linear-gradient(180deg, #ffffff, #f3ecfa);
  padding: 40px 30px;
  border-radius: 24px;
  text-align: center;
}

.icon {
  font-size: 2.2rem;
  margin-bottom: 10px;
}

/* STORY */
.story-block {
  max-width: 800px;
  margin: auto;
  text-align: center;
}

.story-block h2 {
  color: #6b4c9a;
  margin-bottom: 40px;
}

.poetic {
  font-style: italic;
  margin: 40px 0;
  line-height: 1.8;
}

/* CLOSING */
.closing-block {
  margin-top: 120px;
  padding: 100px 40px;
  text-align: center;
  background: linear-gradient(135deg, #efe6f7, #faf7fb);
  border-radius: 32px;
}

.closing-line {
  font-size: 1.6rem;
  font-weight: 600;
  color: #6b4c9a;
}

/* FOOTER */
footer {
  background: #efe6f7;
  text-align: center;
  padding: 24px;
  font-size: 0.9rem;
  color: #6b4c9a;
}


/* OWNER IMAGE */
.owner-block {
  display: flex;
  justify-content: center;
  margin: 80px 0;
}

.owner-frame {
  width: 310px;
  height: 350px;
  border-radius: 50%;
  overflow: hidden;
  background: radial-gradient(circle at top, #ffffff, #efe6f7);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.owner-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.progress-bar {
  height: 4px;
  background: #ddd;
  margin-top: 10px;
  border-radius: 4px;
  overflow: hidden;
}
.progress-bar span {
  display: block;
  height: 100%;
  width: 25%;
  background: #b79ad6;
  transition: width 0.3s ease;
}
body {
  margin:0;
  font-family: 'Segoe UI', sans-serif;
  background:#faf7fb;
  color:#4a4453;
}

.site-header {
  background:#efe6f7;
  padding:16px;
  position:sticky;
  top:0;
}

.logo {
  font-size:1.5rem;
  font-weight:600;
}

nav a {
  margin-right:16px;
  color:#6b4c9a;
  text-decoration:none;
}

.progress-bar {
  height:4px;
  background:#ddd;
  margin-top:8px;
}

.progress-bar span {
  display:block;
  height:100%;
  width:0%;
  background:#b79ad6;
  transition:width .3s ease;
}

.hero {
  height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.slideshow .slide {
  animation: fade 10s infinite;
}

@keyframes fade {
  0%{opacity:0;}
  10%{opacity:1;}
  90%{opacity:1;}
  100%{opacity:0;}
}

.gallery, .plan {
  padding:40px;
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:16px;
}

.placeholder {
  background:#e8def2;
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
}

footer {
  text-align:center;
  padding:20px;
}
