
:root{
  --bg:#f6efe7;
  --txt:#2f2519;
  --accent:#8a6a3c; /* dorado inspirado en el logo */
  --accent-2:#c6ac84;
  --card:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--txt);background:var(--bg);}

h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.2;margin:0 0 .6rem}
h1{font-size:clamp(1.8rem,3vw,3rem)}
h2{font-size:clamp(1.4rem,2.3vw,2rem)}
h3{font-size:clamp(1rem,1.8vw,1.25rem)}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:rgba(246,239,231,.8);backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid #e6dfd4}
.topbar .brand{display:flex;align-items:center;gap:.6rem;font-weight:700}
.topbar img{width:36px;height:36px;border-radius:999px;object-fit:cover}
.topbar .navlinks a{margin-left:1rem;font-weight:600}

.hero{position:relative;min-height:62vh;display:grid;grid-template-rows:auto 1fr;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75);z-index:-1}
.hero-inner{display:grid;place-items:center;padding:3rem 1rem;text-align:center;color:#4a3420}
.hero .cta{display:inline-block;margin-top:1rem;background:var(--accent);color:#fff;padding:.8rem 1.2rem;border-radius:999px;font-weight:700;border:0}
.hero .cta:hover{background:var(--accent-2)}

.section{padding:3rem 1rem;max-width:1100px;margin:0 auto}
.section.alt{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}

.grid{display:grid;gap:1rem}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.05);display:grid}
.card img{width:100%;height:200px;object-fit:cover;display:block}
.card div{padding:1rem}

.slider{position:relative;overflow:hidden;border-radius:18px;border:1px solid #eadfce;background:#fff}
.slides{display:flex;transition:transform .5s ease}
.slides img{width:100%;max-height:520px;object-fit:cover;flex:0 0 100%}
.slide-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.35);color:#fff;padding:.4rem .7rem;border-radius:999px;cursor:pointer}
.slide-btn:hover{background:rgba(0,0,0,.55)}
.slide-btn.prev{left:.6rem}
.slide-btn.next{right:.6rem}

.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;border:1px solid #eadfce;background:#000}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

.embeds{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.embed{background:var(--card);border:1px solid #eee;border-radius:16px;padding:1rem}

.map-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:16px;overflow:hidden;border:1px solid #eadfce;background:#ddd}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.form{display:grid;gap:1rem;max-width:760px}
.frow{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
input,textarea{width:100%;padding:.8rem;border-radius:12px;border:1px solid #d9cdb9;background:#fff}
button.cta{background:var(--accent);color:#fff;padding:.8rem 1.2rem;border-radius:999px;font-weight:700;border:0;cursor:pointer}
button.cta:hover{background:var(--accent-2)}

.footer{padding:2rem 1rem;text-align:center;font-size:.95rem;border-top:1px solid #eadfce;color:#6b5b45}

.wa-float{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.25);z-index:50}
.wa-float svg{width:28px;height:28px;fill:#fff}
@media (prefers-color-scheme: dark){
  html,body{background:#f0e8dc;color:#2a2017}
}
