
:root{
  --bg:#ffffff;
  --text:#333333;
  --muted:#666666;
  --beige:#F5F1EB;
  --beige-2:#EFE9DF;
  --gold:#BBA05F;
  --gray:#444444;
  --light:#FAFAFA;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  color:var(--gray);
  margin:0 0 .6rem 0;
}
a{color:var(--gold); text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px; margin:0 auto; padding:0 20px}
.topbar{
  border-bottom:1px solid #e9e9e9;
  background:#fff;
}
.header{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px}
.brand .logo{
  width:34px; height:34px; border-radius:8px; background:var(--beige);
  display:inline-flex; align-items:center; justify-content:center; font-weight:700; color:var(--gold);
  border:1px solid var(--gold);
}
.brand .title{font-weight:700; letter-spacing:.2px}
.nav a{margin:0 10px; color:var(--gray); font-weight:600}
.cta{
  background:var(--gold); color:#fff; padding:10px 16px; border-radius:8px; font-weight:700; display:inline-block;
}
.cta:hover{opacity:.9; text-decoration:none}

.lang-switch{display:flex; gap:8px; align-items:center}
.lang-switch button{
  border:1px solid #ddd; background:#fff; padding:6px 9px; border-radius:8px; cursor:pointer; font-weight:600
}
.lang-switch button.active{border-color:var(--gold); color:var(--gold)}

.hero{
  background:linear-gradient( to bottom, rgba(255,255,255,.2), rgba(255,255,255,.85) ), url('assets/images/hero-home.jpg') center/cover no-repeat;
  padding:80px 0 90px;
}
.hero h1{font-size:2.2rem}
.hero p.lead{color:var(--muted); max-width:700px}

.section{padding:60px 0}
.cards{display:grid; grid-template-columns: repeat(2,1fr); gap:24px}
.card{background:var(--light); border:1px solid #eee; border-radius:14px; padding:22px}
.card h3{margin-bottom:6px}
.price{font-size:1.2rem; font-weight:800; color:var(--gold); margin-top:8px}

.footer{background:var(--beige-2); border-top:1px solid #e9e9e9; padding:30px 0; font-size:.95rem}
.footer a{color:var(--gray)}

.flex{display:flex; gap:24px; align-items:flex-start}
.photo-frame{
  width:340px; height:420px; border:2px dashed #d5cbb7; border-radius:12px;
  background:repeating-linear-gradient(45deg,#fbf8f3,#fbf8f3 12px,#f2ebdf 12px,#f2ebdf 24px);
  display:flex; align-items:center; justify-content:center; color:#9b8f7a; text-align:center; padding:16px;
  font-weight:700;
}

.muted{color:var(--muted)}

.badge{font-size:.8rem; background:#fff; border:1px solid #eee; padding:6px 10px; border-radius:999px; color:var(--muted)}

.notice{background:#fff7e6; border:1px solid #ffe2a8; color:#8a6d2c; padding:12px 14px; border-radius:10px}

.hero .fade, .section .fade{opacity:0; transform: translateY(12px); transition: all .5s ease; }
.fade.visible{opacity:1; transform: translateY(0)}

@media (max-width: 900px){
  .cards{grid-template-columns:1fr}
  .flex{flex-direction:column}
  .photo-frame{width:100%; height:260px}
  .hero{padding:60px 0 70px}
}

.photo-frame{border-style:solid; border-color:#e7dfcf; background:#fbf8f3}
.photo-frame img{width:100%; height:100%; object-fit:cover; border-radius:10px; border:1px solid #e7dfcf}
