
:root{--bg:#fff;--ink:#3d3a36;--muted:#7a7570;--gold:#b08d5b;--beige:#f3e9de;--dark:#4a4a4a}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--bg);line-height:1.65}
a{color:var(--gold)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{text-align:center;padding:40px 0 10px}
header .logo img{width:140px;height:auto}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:20px 0 30px}
nav a{text-decoration:none;color:var(--muted);padding:8px 16px;border-radius:4px;font-size:1.05rem}
nav a:hover{background:var(--beige);color:var(--ink)}nav a.active{background:var(--beige);color:var(--ink)}
main{padding-bottom:60px}
h1{font-weight:normal;font-size:2.1rem;margin:.4em 0}h2{font-weight:normal;font-size:1.6rem;margin:1.4em 0 .5em;color:var(--ink)}h3{font-weight:normal;font-size:1.25rem;color:var(--gold);margin:1.4em 0 .4em}
.hero img{width:100%;height:auto;display:block;border:1px solid #e5e0da}
.oferta{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}
.oferta div{background:var(--beige);padding:20px;border-radius:6px}.oferta h4{margin:0 0 6px;font-weight:normal;font-size:1.15rem}.oferta small{color:var(--gold);display:block;margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.gallery a img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:4px;background:var(--beige)}
blockquote{border-left:3px solid var(--gold);margin:1em 0;padding:8px 18px;background:#faf6f1}blockquote cite{display:block;font-style:normal;color:var(--muted);margin-top:6px}
.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:10px 22px;border-radius:4px;margin:6px 6px 6px 0}
form{max-width:520px}label{display:block;margin:12px 0 4px}input,textarea{width:100%;padding:10px;border:1px solid #d8d2ca;border-radius:4px;font:inherit}textarea{min-height:140px}button{margin-top:14px;background:var(--gold);color:#fff;border:0;padding:12px 26px;border-radius:4px;font:inherit;cursor:pointer}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
footer{background:var(--dark);color:#ddd;padding:40px 0;margin-top:40px}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer a{color:#fff}
.social a{margin-right:14px}
.msg{padding:14px;border-radius:4px;margin:10px 0}.ok{background:#e6f4e6}.err{background:#fbe9e7}
