:root{
  --brown:#8B4A2B; --brown-dark:#5E3018; --caramel:#C98B4E; --caramel-light:#E4B583;
  --umber:#3E2016; --charcoal:#3B3B3B; --cream:#FBF6EF; --cream-deep:#F3E9DB;
  --white:#FFFFFF; --line:#E8DCC8; --shadow:0 10px 30px rgba(62,32,22,0.12); --radius:18px;
}
*{ box-sizing:border-box; }
body{ margin:0; font-family:'Inter',sans-serif; color:var(--charcoal); background:var(--cream); -webkit-font-smoothing:antialiased; }
h1,h2,h3{ font-family:'Baloo 2',sans-serif; color:var(--brown); margin:0; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.btn{ appearance:none; border:none; cursor:pointer; font-family:'Inter'; font-weight:700; font-size:.98rem; border-radius:13px; padding:14px 26px; display:inline-block; text-decoration:none; transition:transform .15s ease, background .15s ease; }
.btn-primary{ background:var(--brown); color:var(--white); box-shadow:var(--shadow); }
.btn-primary:hover{ background:var(--brown-dark); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--brown); border:2px solid var(--line); }
.btn-ghost:hover{ border-color:var(--brown); }
.btn-whatsapp{ background:#EAF3EA; color:#2F5C33; border:1.5px solid #cfe4cf; }
.btn-whatsapp:hover{ background:#dcefdc; }

.hero{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--white) 0%, var(--cream) 100%); padding:56px 24px 34px; text-align:center; }
.hero .arch{ position:absolute; top:-140px; left:50%; transform:translateX(-50%); width:900px; max-width:220vw; opacity:.4; pointer-events:none; }
.hero-inner{ position:relative; max-width:720px; margin:0 auto; }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; background:var(--cream-deep); border:1px solid var(--line); color:var(--brown-dark); font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; padding:7px 16px; border-radius:999px; margin-bottom:18px; }
.hero h1{ font-size:clamp(1.8rem,4.2vw,2.6rem); line-height:1.15; }
.hero p.sub{ font-size:1.02rem; opacity:.85; max-width:600px; margin:14px auto 0; line-height:1.62; }
.hero .cta-row{ margin-top:26px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

section.block{ max-width:920px; margin:0 auto; padding:44px 24px; }
section.block.tight{ padding-top:0; }
.block h2.section-title{ font-size:clamp(1.35rem,2.6vw,1.8rem); margin-bottom:16px; }
.block p.lead{ line-height:1.7; max-width:760px; }

.info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:20px; }
.info-card{ background:var(--white); border:1px solid var(--line); border-radius:14px; padding:20px 22px; }
.info-card h4{ font-family:'Baloo 2'; color:var(--umber); font-size:1.02rem; margin-bottom:6px; }
.info-card p{ font-size:.9rem; opacity:.82; line-height:1.6; }

.callout{ background:var(--cream-deep); border:1px dashed var(--caramel); border-radius:14px; padding:20px 22px; line-height:1.65; margin-top:18px; font-size:.94rem; }
.callout b{ color:var(--brown-dark); }

.map-embed{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }
.map-embed iframe{ width:100%; height:320px; border:none; display:block; }

.detail-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:18px; }
.detail-chip{ background:var(--white); border:1px solid var(--line); border-radius:12px; padding:12px 18px; font-size:.85rem; font-weight:700; color:var(--brown-dark); display:flex; align-items:center; gap:8px; }

.photo-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }
.photo-strip img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; }
.empty-note{ text-align:center; padding:30px 20px; opacity:.6; font-size:.9rem; background:var(--white); border:1px dashed var(--line); border-radius:14px; margin-top:18px; }

.cta-band{ background:var(--umber); padding:52px 24px; text-align:center; margin-top:10px; }
.cta-band h2{ color:var(--white); font-size:clamp(1.4rem,3vw,1.85rem); }
.cta-band p{ color:var(--cream-deep); opacity:.85; max-width:500px; margin:12px auto 22px; line-height:1.6; }
.cta-band .cta-row{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

footer{ background:var(--umber); border-top:1px solid rgba(255,255,255,0.08); padding:36px 22px 26px; color:var(--cream-deep); }
.footer-inner{ max-width:900px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; text-align:center; }
.footer-inner h4{ font-family:'Baloo 2'; color:var(--caramel-light); font-size:1rem; margin-bottom:6px; }
.footer-inner p{ font-size:.85rem; opacity:.85; margin:2px 0; }
.footer-contact{ max-width:900px; margin:26px auto 0; text-align:center; font-size:.9rem; border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; }
.footer-contact a{ color:var(--caramel-light); font-weight:600; }
.footer-bottom{ text-align:center; font-size:.78rem; opacity:.55; margin-top:22px; }

@media (max-width:760px){
  .info-grid, .photo-strip{ grid-template-columns:1fr 1fr; }
  .footer-inner{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .info-grid, .photo-strip{ grid-template-columns:1fr; }
}
