:root{--vino:#5a1f2b;--oro:#c8963e;--crema:#fbf6ee;--texto:#2b2224;--gris:#7a6c6e;--linea:#eadfd0}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--texto);background:var(--crema);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--vino);line-height:1.15}
a{color:var(--vino)}
.c{width:min(1080px,92%);margin:0 auto}
.aviso{background:#0e1116;color:#fff;text-align:center;padding:10px 4%;font-size:.9rem}
.aviso a{color:#c8f560;font-weight:700}
header.nav{position:sticky;top:0;z-index:10;background:rgba(251,246,238,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.nav .c{display:flex;justify-content:space-between;align-items:center;height:68px}
.marca{font-family:"Playfair Display",serif;font-weight:700;font-size:1.35rem;color:var(--vino);text-decoration:none}
.nav nav{display:flex;gap:1.5rem}
.nav nav a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--texto)}
.btn{display:inline-block;background:var(--vino);color:#fff;padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem;font-family:inherit}
.btn.claro{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.hero{background:linear-gradient(rgba(40,12,18,.68),rgba(40,12,18,.78)),linear-gradient(135deg,#7a2a3a,#c8963e);color:#fff;padding:120px 0 110px}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.5vw,4rem);max-width:760px;text-wrap:balance}
.hero p{font-size:1.2rem;max-width:560px;margin:1.2rem 0 2rem;color:#f3e6d8}
.hero .acc{display:flex;gap:14px;flex-wrap:wrap}
.sec{padding:80px 0}
.sec.b{background:#fff}
.et{color:var(--oro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin-bottom:.6rem;display:block}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:1rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2rem}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;align-items:center}
.card{background:var(--crema);border:1px solid var(--linea);border-radius:16px;padding:28px}
.sec.b .card{background:var(--crema)}
.card h3{font-size:1.3rem;margin-bottom:.4rem}
.card p,.card li{color:var(--gris);font-size:.96rem}
.card ul{list-style:none;margin-top:.8rem}
.card li{padding:4px 0 4px 20px;position:relative}
.card li::before{content:"–";position:absolute;left:0;color:var(--oro)}
.pr{font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--vino);margin-top:1rem}
.foto{height:300px;border-radius:18px;background:linear-gradient(135deg,#e9d7bd,#c8963e);display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Playfair Display",serif;font-size:1.3rem;text-align:center;padding:20px}
.calc{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:32px;max-width:720px;box-shadow:0 18px 40px rgba(90,31,43,.08)}
.calc .fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.campo label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.campo input,.campo select,.campo textarea{width:100%;padding:13px 15px;border:1.5px solid var(--linea);border-radius:10px;font:inherit;background:#fff}
.resultado{margin-top:1.4rem;padding:20px;border-radius:12px;background:var(--vino);text-align:center}
.resultado strong{display:block;font-family:"Playfair Display",serif;font-size:clamp(1.4rem,6vw,2.1rem);color:#f4d9a3;white-space:nowrap}
.resultado span{color:#e8d3d6;font-size:.9rem}
.cita{font-family:"Playfair Display",serif;font-size:1.25rem;color:var(--vino);font-style:italic}
.cita small{display:block;font-family:Inter,sans-serif;font-style:normal;color:var(--gris);font-size:.9rem;margin-top:.6rem}
form.f{display:grid;gap:14px;max-width:620px;margin-top:1.4rem}
.alerg{background:#fff;border:1px dashed var(--oro);border-radius:12px;padding:16px 20px;color:var(--gris);font-size:.95rem;margin-top:1.4rem}
footer.p{background:#2b1519;color:#d9c5c7;padding:40px 0;font-size:.92rem;text-align:center}
@media(max-width:820px){.g3,.g2{grid-template-columns:1fr}.nav nav{display:none}.calc .fila{grid-template-columns:1fr}.hero{padding:80px 0 70px}.sec{padding:56px 0}.calc{padding:22px}}
@media(max-width:380px){.resultado strong{font-size:1.25rem}.resultado{padding:14px}}
