*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1f2a2e;line-height:1.6;background:#fbfaf7}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}h2{font-family:Georgia,serif;font-size:1.8rem;margin:2.5rem 0 1rem;color:#2c3e36}
.hero{min-height:88vh;background:center/cover no-repeat;display:flex}.shade{flex:1;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.72));color:#fff;padding-bottom:3rem}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;margin:0}.hero h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.6rem);line-height:1.1;margin:.3rem 0}
.addr{margin:0;font-size:1.1rem}.price{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;margin:.4rem 0 1rem}
.btn{display:inline-block;background:#b5532d;color:#fff;padding:.8rem 1.4rem;border-radius:6px;text-decoration:none;font-weight:600;margin:0 .5rem .5rem 0}.btn.ghost{background:rgba(255,255,255,.15);border:1px solid #fff}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.grid li{background:#fff;border:1px solid #e6e1d6;border-radius:8px;padding:14px}.grid b{color:#b5532d}
@media(min-width:800px){.grid{grid-template-columns:repeat(5,1fr)}}
.about p{max-width:72ch}.gallery{display:grid;grid-template-columns:1fr;gap:6px;padding:0 6px}@media(min-width:700px){.gallery{grid-template-columns:repeat(3,1fr)}}
figure{margin:0;background:#fff}figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}figcaption{font-size:.85rem;padding:6px 10px 10px;color:#555}
.video,.map{position:relative;padding-top:56.25%;border-radius:8px;overflow:hidden;background:#000}.video iframe,.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.card{background:#fff;border:1px solid #e6e1d6;border-radius:10px;padding:20px;max-width:480px}.card p{margin:.3rem 0}.name{font-size:1.3rem;font-weight:700}.card a{color:#b5532d}.card .btn{color:#fff;margin-top:.6rem}
footer{font-size:.78rem;color:#666;padding:2rem 20px 3rem;border-top:1px solid #e6e1d6;margin-top:3rem}.eho{vertical-align:middle}
