:root{--vino:#531626;--vino-osc:#2f0c16;--marfil:#f7f5f1;--piedra:#d9d2c9;--carbon:#272522;--blanco:#fff;--g:clamp(.9rem,4vw,3.5rem);--r:28px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Montserrat,system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--carbon);background:var(--marfil);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
h1,h2,h3{font-family:Montserrat,sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.015em;text-transform:uppercase;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.8vw,4.4rem)}
h2{font-size:clamp(1.65rem,3.3vw,3rem)}
h3{font-size:1.35rem}
.s{font-family:Allura,cursive;font-weight:400;font-size:1.5em;line-height:.8;text-transform:none;letter-spacing:0;white-space:nowrap}
:focus-visible{outline:3px solid #b98a2f;outline-offset:3px}
.aviso{position:sticky;top:0;z-index:30;background:var(--vino-osc);color:var(--marfil);font-size:.75rem;line-height:1.3;padding:.45rem .75rem;text-align:center}
.aviso a{font-weight:600;white-space:nowrap}
.w{max-width:1280px;margin-inline:auto;padding-inline:var(--g)}
.cab .w{display:flex;align-items:center;gap:.5rem 1.75rem;flex-wrap:wrap;padding-block:.6rem;position:relative}
.logo{display:block;width:60px;height:60px;flex:none}
.nav{display:flex;gap:.1rem 1.4rem;flex-wrap:wrap;margin-right:auto;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.nav a{text-decoration:none;padding:.45rem 0;min-height:44px;display:inline-flex;align-items:center}
.nav a[aria-current]{color:var(--vino);box-shadow:inset 0 -2px var(--vino)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.5rem;border:0;border-radius:999px;background:var(--vino);color:var(--blanco);font:700 .78rem/1.2 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s;text-align:center}
.pill:hover{background:var(--vino-osc)}
.pill.clara{background:var(--blanco);color:var(--vino)}
.pill.clara:hover{background:var(--piedra)}
.hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-block:clamp(.5rem,2vw,1.5rem) clamp(2.5rem,5vw,4rem)}
.hero .foto{grid-column:7/13;grid-row:1;max-width:540px;width:100%;justify-self:end;height:clamp(420px,68vh,620px);border-radius:var(--r);overflow:hidden}
.hero .foto img{object-position:var(--pos,70% 100%)}
.tab{position:relative;background:var(--vino);color:var(--marfil);border-radius:48px 12px 12px 48px;padding:clamp(1.75rem,3.5vw,3.1rem)}
.hero .tab{grid-column:1/8;grid-row:1;z-index:2}
.tab>*+*{margin-top:1rem}
.disco{position:absolute;top:-28px;right:24px;width:72px;height:72px;margin:0!important;border-radius:50%;border:2px solid var(--marfil);background:var(--vino)}
.tab .acc{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem}
.linea{font-weight:600;font-size:.85rem;padding:.7rem .4rem;min-height:44px;display:inline-flex;align-items:center}
.sec{padding-block:clamp(2.25rem,5vw,4.5rem)}
.dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.75rem);align-items:center}
.foto-r{border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;max-width:500px;width:100%;justify-self:center}
.foto-r.alta{aspect-ratio:4/5;max-width:440px}
.txt>*+*{margin-top:1rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.5rem}
.pills li{background:var(--vino);color:var(--blanco);border-radius:999px;padding:.5rem 1.05rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.resena{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.75rem);align-items:center}
.nota4{font-size:clamp(4.2rem,10vw,8.2rem);font-weight:800;line-height:.9;color:var(--vino);letter-spacing:-.04em}
.cita{background:var(--vino-osc);color:var(--marfil);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.6rem)}
.cita>*+*{margin-top:.7rem}
.cita .est{color:#f0b429;letter-spacing:.15em}
.cita small{font-size:.8rem;display:block}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;min-height:clamp(360px,35vw,480px);text-decoration:none}
.tile img{position:absolute;inset:0;transition:transform .4s}
.tile:hover img{transform:scale(1.03)}
.et{position:absolute;left:1rem;right:1rem;bottom:1rem;background:var(--vino);color:var(--marfil);border-radius:24px;padding:1.05rem 1.3rem}
.et h3{font-size:clamp(1.1rem,1.8vw,1.5rem)}
.et p{font-size:.88rem;margin-top:.3rem}
.fila{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:1.75rem}
.fila figure{margin:0;aspect-ratio:1;border-radius:18px;overflow:hidden}
.mosaico{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,19vw,280px);grid-auto-flow:dense;gap:.6rem}
.mosaico figure{overflow:hidden;margin:0;border-radius:18px}
.mosaico .g{grid-column:span 2;grid-row:span 2}
.mosaico .a{grid-row:span 2}
.filtros{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.filtros button{min-height:44px;padding:.4rem 1rem;background:transparent;border:1.5px solid var(--vino);border-radius:999px;color:var(--vino);font:700 .75rem Montserrat,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.filtros button[aria-pressed=true]{background:var(--vino);color:var(--blanco)}
.paq{list-style:none;padding:0;margin-top:1.5rem;border-top:2px solid var(--vino)}
.paq li{padding:.75rem 0;border-bottom:1px solid var(--piedra);font-weight:700;font-size:clamp(1rem,1.5vw,1.25rem);text-transform:uppercase;letter-spacing:-.005em}
.nota{font-size:.88rem;margin-top:1.2rem}
.nota b{background:var(--vino);color:var(--blanco);border-radius:999px;padding:.15rem .6rem;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;margin-right:.4rem;white-space:nowrap}
.cierre{background:var(--vino);color:var(--marfil);border-radius:var(--r);padding:clamp(2.25rem,5.5vw,4.5rem) clamp(1.25rem,4.5vw,3.5rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
form{display:grid;gap:1rem}
label{display:grid;gap:.3rem;font-size:.85rem;font-weight:600}
input,select,textarea{font:400 1rem Montserrat,sans-serif;padding:.75rem .9rem;border:1px solid #8c8378;border-radius:14px;background:var(--blanco);color:var(--carbon);width:100%;min-height:48px}
.pie{background:var(--vino-osc);color:var(--marfil);padding-block:2.25rem;margin-top:clamp(2.25rem,4.5vw,4rem);font-size:.86rem}
.pie .w{display:flex;gap:1rem 3rem;flex-wrap:wrap;align-items:center;justify-content:space-between}
.pie .s{font-size:2.1rem;line-height:1}
.barra{display:none}
dialog{border:0;border-radius:var(--r);padding:2rem;max-width:26rem;width:calc(100% - 2rem);margin:auto;background:var(--marfil);color:var(--carbon)}
dialog::backdrop{background:rgba(39,37,34,.6);backdrop-filter:blur(2px)}
dialog h2{font-size:1.45rem;margin-bottom:.75rem}
dialog .pill{margin-top:1.25rem}
@media (max-width:860px){
.aviso{font-size:.66rem;padding:.35rem .5rem}
.logo{width:48px;height:48px}
.nav{order:3;width:100%;justify-content:space-between;gap:0 .35rem;font-size:.66rem;flex-wrap:wrap;margin:0}
.nav a:last-child{position:absolute;top:.85rem;right:var(--g);font-size:.72rem}
.cab .pill{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;padding-top:1.1rem}
.hero .tab{grid-column:1;grid-row:1;margin-top:0}
.hero .foto{grid-column:1;grid-row:2;height:240px;max-width:100%}
.tab{border-radius:26px;padding:1.85rem 1.25rem 1.5rem}
.disco{width:44px;height:44px;top:-16px;right:14px}
.dos,.resena,.tiles{grid-template-columns:minmax(0,1fr)}
.dos .foto-r{order:-1;max-width:100%}
.tile{min-height:340px}
.fila{grid-template-columns:repeat(2,minmax(0,1fr))}
.mosaico{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44vw}
.barra{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
