@font-face{font-family:Gambetta;src:url(fonts/Gambetta-Variable.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Switzer;src:url(fonts/Switzer-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url(fonts/Switzer-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--c-blanco:#fff;--c-arena:#f4f1ec;--c-vino:#73192e;--c-vino-h:#5a1324;--c-oro:#a8834a;--c-oro-txt:#7a5c2a;--c-tinta:#1d1a19;--c-gris:#54504c;--c-filete:#d9c7a6;--serif:Gambetta,Georgia,serif;--sans:Switzer,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--c-blanco);color:var(--c-tinta);font:400 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-vino);text-underline-offset:3px;transition:color .2s}a:hover{color:var(--c-oro-txt)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(34px,5vw,58px)}
p{margin:0 0 1em}
.w{max-width:1180px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:9;background:#fff;padding:8px}
:focus-visible{outline:2px solid var(--c-vino);outline-offset:3px}
.btn{display:inline-block;background:var(--c-vino);color:#fff;font:500 17px/1 var(--sans);padding:17px 24px;border-radius:2px;text-decoration:none;transition:background .2s}
.btn:hover{background:var(--c-vino-h);color:#fff}.btn.sm{padding:12px 16px;font-size:16px}
.lead{font-size:19px;color:var(--c-gris);max-width:36em}
.bar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--c-filete)}
.bi{display:flex;align-items:center;gap:28px;height:68px}.brand img{height:42px;width:auto}
.bar nav{margin-left:auto;display:flex;gap:26px}.bar nav a{color:var(--c-tinta);text-decoration:none;font-weight:500;font-size:16px}.bar nav a:hover{color:var(--c-vino)}
@media(max-width:820px){.bar nav{display:none}.bar .btn{margin-left:auto}.brand img{height:36px}}
.facade{max-width:1600px;margin:0 auto}.facade img{width:100%;height:clamp(240px,30vw,420px);object-fit:cover;object-position:50% 80%}
.hgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 24px;position:relative}
.htxt{grid-column:1/7;padding:26px 0 64px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 48px;align-items:center}.htxt .acts,.htxt .sub{grid-column:1/3}.htxt .rating{margin-top:6px}
h1{font-size:clamp(34px,4.6vw,62px);max-width:14em}
.sub{font-size:19px;color:var(--c-gris);max-width:40em;margin:26px 0 0}
.rating{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--c-tinta);padding:18px 0;border-top:1px solid var(--c-filete);border-bottom:1px solid var(--c-filete);max-width:560px}
.rating:hover{color:var(--c-tinta)}.rating:hover .src{color:var(--c-vino)}
.score{font-variant-numeric:tabular-nums;font:600 clamp(64px,9vw,104px)/.85 var(--serif);letter-spacing:-.03em}
.rt{display:flex;flex-direction:column;gap:8px}.stars{display:flex;gap:3px}.stars svg{width:28px;height:28px;fill:#e2a42b}
.src{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:500;transition:color .2s}.g{width:22px;height:22px;flex:none}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:22px}.addr{font-weight:500;color:var(--c-tinta)}
@media(max-width:820px){.htxt{display:block;padding:18px 0 48px}.facade img{height:46vw;object-position:60% 35%}.rating{margin-top:14px;padding:12px 0}.acts{margin-top:16px}.sub{font-size:18px}.rating{gap:14px}.stars svg{width:22px;height:22px}.src{font-size:16px}}
.zonas{background:var(--c-arena);padding:88px 0;border-top:1px solid var(--c-filete)}
.zonas .lead{margin:18px 0 40px}
.zgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.figs{display:grid;grid-template-columns:1fr .8fr;gap:24px;position:sticky;top:96px}
.fig{position:relative}.fig svg{width:100%;height:auto;fill:none;stroke:var(--c-oro);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fig p{text-align:center;font-family:var(--serif);font-size:20px;margin:10px 0 0}
.mk{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--c-oro);background:var(--c-arena);cursor:pointer;padding:0;font:500 15px var(--sans);color:var(--c-oro-txt);transition:background .2s,color .2s}
.mk.on,.mk:hover{background:var(--c-vino);border-color:var(--c-vino);color:#fff}
.zlist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.zb{display:flex;align-items:center;gap:10px;background:none;border:0;border-bottom:1px solid var(--c-filete);padding:10px 4px;font:500 17px var(--sans);color:var(--c-tinta);cursor:pointer;transition:color .2s,border-color .2s;text-align:left}
.zb .n{font-family:var(--serif);color:var(--c-oro-txt);font-size:18px}
.zb:hover{color:var(--c-vino)}.zb[aria-pressed=true]{color:var(--c-vino);border-bottom:2px solid var(--c-vino)}
.zp{background:#fff;padding:32px;border-left:3px solid var(--c-vino);animation:fd .35s ease}
@keyframes fd{from{opacity:0}to{opacity:1}}
.zp h3{font-size:34px}.cnt{color:var(--c-gris);font-size:16px;margin:8px 0 18px}
.zp ul{list-style:none;margin:0;padding:0}.zp li{padding:16px 0;border-top:1px solid #ece5d8;display:grid;grid-template-columns:1fr auto;gap:2px 20px;align-items:baseline}
.zp h4{font-size:23px;font-weight:500}.zp li p{margin:0;color:var(--c-gris);grid-column:1}.zp li a{grid-column:2;grid-row:1/3;align-self:center;font-weight:500;font-size:16px}
@media(max-width:900px){.zgrid{grid-template-columns:1fr}.figs{position:static;max-width:420px}.zp{padding:22px}.zp li{grid-template-columns:1fr}.zp li a{grid-column:1;grid-row:auto;margin-top:6px}}
.medimos{padding:104px 0 88px}
.mgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 24px}
.mtxt{grid-column:1/4}.mtxt .lead{margin:18px 0 32px}
.dx{list-style:none;margin:0 0 30px;padding:0}.dx li{display:grid;grid-template-columns:64px 1fr;padding:18px 0;border-top:1px solid var(--c-filete)}
.num{font:500 46px/1 var(--serif);color:var(--c-oro-txt);grid-row:1/3}.dx h3{font-size:27px;font-weight:500}.dx p{margin:4px 0 0;color:var(--c-gris)}
.tl{font-weight:500}
.mimg{grid-column:4/7;margin:120px 0 0}.mimg figcaption{font-size:15px;color:var(--c-gris);margin-top:10px}
.ba{grid-column:1/4;margin-top:48px;border:1px dashed var(--c-oro);padding:26px 28px;min-height:150px}
.ba h3{font-size:24px;font-weight:500;margin-bottom:8px}.ba p{color:var(--c-gris);margin:0;font-size:17px}
@media(max-width:900px){.mtxt,.mimg,.ba{grid-column:1/7}.mimg{margin:36px 0 0}.medimos{padding:72px 0}}
.pac{background:var(--c-vino);color:#fbf6ef;padding:96px 0}
.pac h2{max-width:14em}
.revs{margin-top:44px;display:grid;grid-template-columns:repeat(6,1fr);gap:48px 24px}
.revs figure{margin:0}.revs figure:nth-child(1){grid-column:1/5}.revs figure:nth-child(2){grid-column:3/7}.revs figure:nth-child(3){grid-column:1/4}.revs figure:nth-child(4){grid-column:4/7}
.revs blockquote{margin:0}.revs p{font:400 clamp(22px,2.4vw,30px)/1.32 var(--serif)}
.revs figcaption{font-size:16px;color:#e9d6b4;border-top:1px solid rgba(233,214,180,.5);padding-top:10px}
.pac .more{margin:48px 0 0;font-size:16px;color:#e9d6b4}.pac .more a{color:#fff;font-weight:500;margin-right:14px}
@media(max-width:820px){.revs figure:nth-child(n){grid-column:1/7}.pac{padding:72px 0}}
.idx{padding:96px 0}.idx .lead{margin:16px 0 40px}
.cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px 48px}
.col h3{font-size:30px;padding-bottom:12px;border-bottom:2px solid var(--c-tinta);margin-bottom:6px}.col h3 span{font:400 18px var(--sans);color:var(--c-gris);vertical-align:middle;margin-left:6px}
.col ul{list-style:none;margin:0;padding:0}
.tr{background:none;border:0;border-bottom:1px solid #ece5d8;width:100%;text-align:left;padding:13px 0;font:400 20px var(--serif);color:var(--c-tinta);cursor:pointer;transition:color .2s,transform .25s cubic-bezier(.2,.7,.2,1)}

@media(max-width:820px){.cols{grid-template-columns:1fr}.idx{padding:72px 0}}
.sede{background:var(--c-arena);padding:96px 0;border-top:1px solid var(--c-filete)}
.sgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 24px;align-items:start}
.stxt{grid-column:1/4}.stxt h2{margin-bottom:22px}
.lema{margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--c-oro)}
.lema p{font:500 clamp(28px,3.4vw,40px)/1.15 var(--serif);margin:0 0 10px;color:var(--c-tinta)}.lema footer{font-size:15px;color:var(--c-gris)}
.ph{grid-column:4/7;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.c img,.r img{width:100%;object-fit:cover}.c{border-radius:50%;overflow:hidden;aspect-ratio:1}.c img{height:100%}
.c1{grid-column:1/2}.c2{grid-column:2/3;width:78%;justify-self:start;align-self:start}.r{grid-column:1/3;width:80%;justify-self:end}.r img{aspect-ratio:16/9}
@media(max-width:820px){.stxt,.ph{grid-column:1/7}.ph{margin-top:40px}.sede{padding:72px 0}}
.cierre{padding:88px 0}.cgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px 40px;align-items:start}
.cl p{margin:16px 0 0}.cl .btn{font-size:18px}
@media(max-width:820px){.cgrid{grid-template-columns:1fr}.cierre{padding:64px 0}}
.pie{background:var(--c-tinta);color:#cfc6bb;padding:44px 0 56px;font-size:15px}.pie img{height:44px;width:auto;margin-bottom:16px}
dialog{border:0;border-top:4px solid var(--c-vino);border-radius:0;padding:36px;max-width:min(520px,92vw);color:var(--c-tinta)}
dialog::backdrop{background:rgba(29,26,25,.55)}
dialog h3{font-size:38px;margin:4px 0 12px}.dc{color:var(--c-oro-txt);font-weight:500;margin:0}.dd{font-size:20px}.dz{color:var(--c-gris);font-size:16px}
.x{position:absolute;right:16px;top:14px;background:none;border:0;font:500 15px var(--sans);color:var(--c-gris);cursor:pointer;padding:10px;text-decoration:underline}
/* v3.2 movimiento */
.btn{transition:background .2s,transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.97)}
.btn:focus-visible{outline:2px solid var(--c-oro);outline-offset:4px}
.tr:hover,.tr:focus-visible{color:var(--c-vino);transform:translateX(8px)}.tr:active{transform:translateX(8px) scale(.98)}
.zb{transition:color .2s,border-color .2s,transform .2s}.zb:active{transform:scale(.97)}
.mk{transition:background .2s,color .2s,transform .25s cubic-bezier(.2,.7,.2,1)}.mk:hover,.mk.on{transform:translate(-50%,-50%) scale(1.14)}
.js .fig svg path,.js .fig svg circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1)}
.js .fig.drawn svg path,.js .fig.drawn svg circle{stroke-dashoffset:0}
.zp li{transition:transform .2s}.zp li:hover{transform:translateX(4px)}
.facade{overflow:hidden}.facade img{will-change:transform;transform-origin:50% 50%}
.px{will-change:transform}.mimg,.ph .r{overflow:hidden}
.js [data-rv]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.js [data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
