:root{--vino:#531626;--vino-osc:#2f0c16;--marfil:#f7f5f1;--piedra:#d9d2c9;--carbon:#272522;--g:clamp(1rem,4.5vw,3.75rem);--r:28px}
*{box-sizing:border-box;margin:0}
body{font-family:Montserrat,system-ui,sans-serif;font-size:clamp(16px,1.2vw,18px);line-height:1.65;color:var(--carbon);background:var(--marfil);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2{font-weight:800;line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.8vw,4.2rem)}
h2{font-size:clamp(1.7rem,3.3vw,2.85rem)}
h3{font-size:1rem;font-weight:700;margin-bottom:.35rem}
.s{font-family:Allura,cursive;font-weight:400;font-size:1.45em;line-height:.8;letter-spacing:0}
:focus-visible{outline:3px solid #b98a2f;outline-offset:3px}
.w{max-width:1220px;margin-inline:auto;padding-inline:var(--g)}
.top{background:var(--vino);color:var(--marfil);padding-block:clamp(2.25rem,5.5vw,4.5rem) 0;overflow:hidden}
.top .kick{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.top h1{margin-top:.9rem;max-width:56rem}
.top p.sub{margin-top:1rem;max-width:48rem;font-size:1.04em}
.acc{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.5rem;border-radius:999px;background:var(--vino);color:#fff;font:700 .78rem/1.2 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;text-align:center}
.pill:hover{background:var(--vino-osc)}
.pill.clara{background:#fff;color:var(--vino)}
.pill.clara:hover{background:var(--piedra)}
.pill.borde{background:transparent;border:1.5px solid var(--marfil);color:var(--marfil)}
.pill.borde:hover{background:var(--vino-osc)}
.maqueta{position:relative;margin-top:clamp(1.75rem,3.8vw,2.75rem);padding-right:clamp(64px,14vw,180px)}
.maqueta .esc{border-radius:16px 16px 0 0;box-shadow:0 -6px 40px rgba(0,0,0,.35);width:100%}
.maqueta .mov{position:absolute;right:0;bottom:0;width:clamp(110px,23vw,290px);border-radius:22px 22px 0 0;border:5px solid var(--vino-osc);border-bottom:0}
section{padding-block:clamp(2.5rem,5.5vw,4.5rem)}
section>.w>*+*{margin-top:1rem}
.dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.75rem);align-items:center}
.dos>*+*{margin-top:0!important}
.txt>*+*{margin-top:1rem}
.foto{border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;max-width:500px;width:100%;justify-self:center}
.foto img{width:100%;height:100%;object-fit:cover}
.cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.5rem!important}
.cifras b{display:block;font-size:clamp(1.75rem,4vw,3.2rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--vino)}
.cifras span{font-size:.82rem;display:block;margin-top:.35rem}
.cita{background:var(--vino-osc);color:var(--marfil);border-radius:var(--r);padding:clamp(1.25rem,3vw,2.2rem);font-size:1em}
.cita small{display:block;margin-top:.6rem;font-size:.78rem}
.anuncio{border-left:4px solid var(--vino);padding:.3rem 0 .3rem 1.1rem;font-size:1.06em;font-weight:600}
.fondo{background:var(--piedra)}
.error{background:#fff;border-radius:var(--r);padding:clamp(1.25rem,3vw,2rem);overflow-wrap:anywhere;border:1px solid #cbbba8}
.error .bar{background:#f0ece6;border-radius:999px;padding:.35rem .85rem;font-family:monospace;font-size:.86rem;color:#531626;margin-bottom:.75rem}
.error .res{color:var(--vino);font-weight:800;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.1;margin:.3rem 0 .65rem}
.error code{display:block;background:#272522;color:#f7f5f1;padding:.6rem .8rem;border-radius:10px;font-size:.76rem;margin:.6rem 0}
.error small{font-size:.8rem;display:block}
.pags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1.75rem!important}
.pags a{text-decoration:none;font-weight:700;font-size:.82rem}
.pags img{border-radius:12px;border:1px solid var(--piedra);margin-bottom:.4rem;width:100%}
.lista{list-style:none;padding:0;border-top:2px solid var(--vino)}
.lista li{padding:.85rem 0;border-bottom:1px solid var(--piedra)}
.lista b{display:block}
.fin{background:var(--vino);color:var(--marfil)}
.fin .tres{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:clamp(1.5rem,4vw,3.75rem);align-items:start}
.fin .tres>*+*{margin-top:0}
.fin ul{padding-left:1.1rem}
.fin li{margin:.35rem 0}
.alc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}
.precio{background:#fff;color:var(--carbon);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.2rem)}
.precio .mon{font-size:clamp(2.4rem,4.8vw,3.8rem);font-weight:800;line-height:1;color:var(--vino);letter-spacing:-.03em}
.precio p+p{margin-top:.6rem}
.precio .pill{margin-top:1.2rem;width:100%}
details{border-top:1px solid var(--piedra);padding:.85rem 0}
summary{cursor:pointer;font-weight:700;min-height:32px}
details p{margin-top:.5rem}
.firma{padding-block:0 2.5rem;font-size:.85rem}
@media (max-width:760px){.dos,.alc,.fin .tres{grid-template-columns:minmax(0,1fr)}.pags{grid-template-columns:repeat(2,minmax(0,1fr))}.dos .foto{order:-1}}
@media (max-width:420px){.cifras{grid-template-columns:minmax(0,1fr);gap:.65rem}}
