

:root{
  
  --papel:#F2E9DA;
  --papel-claro:#F8F3EA;
  
  --cafe:#603D35;          
  --texto-2:#5C4C41;       
  --texto-3:#6B5B4F;       
  --linea:rgba(25,23,20,.14);
  --linea-fuerte:rgba(25,23,20,.26);
  
  --crema-2:#D8CAB3;
  --crema-3:#CDBCA3;
  --arena-clara:#D9A57F;
  
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:40px; --s-8:48px; --s-9:60px; --s-10:80px; --s-11:96px; --s-12:140px;
  --fs-display-m:clamp(40px,4.4vw,64px);
  --fs-lead:18px; --fs-body:16px; --fs-small:14px; --fs-ceja:13px;
  --ls-ceja:.12em;
  
  --r-hoja:3px;
  --cont:1600px;
  --cont-px:clamp(16px,4vw,48px);
}
@media (max-width:900px){ :root{ --s-12:80px; --s-11:64px; --s-10:56px; } }


.hoja{
  position:relative; z-index:2;
  margin-top:calc(-1 * var(--vph, 0px));
  background:var(--papel); color:var(--tinta);
  font-family:var(--font-body); font-weight:400;
  font-size:var(--fs-body); line-height:1.6;
  box-shadow:0 -22px 48px -20px rgba(25,23,20,.42);
}
.hoja img,.hoja svg{display:block;max-width:100%}
.hoja a{color:inherit}

.cont{width:100%;max-width:var(--cont);margin:0 auto;padding-left:var(--cont-px);padding-right:var(--cont-px)}
.sec{position:relative;padding-top:var(--s-12);padding-bottom:var(--s-12)}
.sec--claro{background:var(--papel-claro)}


.sec-cab{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:end;margin-bottom:var(--s-10)}
.sec-cab--centro{grid-template-columns:1fr;text-align:center;justify-items:center}
.sec-cab__aside{display:flex;flex-direction:column;gap:var(--s-4);color:var(--texto-2);
  max-width:460px;justify-self:end}
.sec-cab__aside p{margin:0}

.ceja{margin:0 0 var(--s-5);font-family:var(--font-label);font-size:var(--fs-ceja);
  letter-spacing:var(--ls-ceja);text-transform:uppercase;font-weight:500;color:var(--cafe)}
.titular{margin:0;font-family:var(--font-display);font-weight:500;font-size:var(--fs-display-m);
  letter-spacing:-.04em;line-height:1.2;color:var(--tinta);text-wrap:balance}
.bajada{margin:0;font-size:var(--fs-lead);line-height:1.6;color:var(--texto-2)}


.boton{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  padding:14px 26px;border:0;border-radius:var(--r-hoja);cursor:pointer;
  font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;letter-spacing:.01em;
  white-space:nowrap;text-decoration:none;
  transition:background-color .2s var(--curva),color .2s var(--curva),transform .2s var(--curva)}
.boton:hover{transform:translateY(-1px)}
.boton:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.boton--tinta{background:var(--tinta);color:var(--papel)}              
.boton--tinta:hover{background:#2E2924}
.boton--arena{background:var(--arena);color:var(--tinta)}              
.boton--arena:hover{background:var(--arena-clara)}
.boton--linea{background:transparent;color:var(--tinta);border:1px solid var(--linea-fuerte)}
.boton--linea:hover{border-color:var(--tinta)}
.boton--full{width:100%;padding:16px 24px}

.visual-oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}


.vida{padding-top:clamp(72px,11vh,128px)}
.vida .sec-cab{margin-bottom:var(--s-6)}

.vida__filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-2);
  margin:0 0 clamp(36px,5vh,64px)}
.vida__filtro{padding:10px 16px;border:1px solid var(--linea-fuerte);border-radius:var(--r-hoja);
  background:transparent;color:var(--tinta);cursor:pointer;
  font-family:var(--font-label);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .2s var(--curva),color .2s var(--curva),border-color .2s var(--curva)}
.vida__filtro:hover{border-color:var(--tinta)}
.vida__filtro:focus-visible{outline:2px solid var(--tinta);outline-offset:3px}
.vida__filtro.is-on{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}


.vida__galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-4)}
.vida__galeria.is-armada{display:flex;align-items:flex-start}
.vida__col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--s-4)}
.vida__foto{position:relative;margin:0;border-radius:var(--r-hoja);overflow:hidden;
  background:rgba(25,23,20,.07)}
.vida__lb{display:block;cursor:zoom-in}

.vida__foto img{width:100%;height:auto;transition:transform .6s var(--curva)}
.vida__foto:hover img{transform:scale(1.04)}
.vida__lb:focus-visible{outline:2px solid var(--tinta);outline-offset:-2px}
.vida__foto--entra{animation:vida-entra .6s var(--curva) both;animation-delay:var(--vida-retraso,0ms)}
@keyframes vida-entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.vida__mas{display:flex;justify-content:center;margin-top:var(--s-6)}
.vida__mas[hidden]{display:none}


.loc__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);align-items:stretch}
.loc__mapa-caja{display:flex;flex-direction:column;gap:var(--s-3)}

.loc__mapa{flex:1;display:block;width:100%;min-height:380px;border:1px solid var(--linea);
  border-radius:var(--r-hoja);background:var(--papel)}
.loc__mapa-pie,.loc__nota{margin:0;font-family:var(--font-label);font-size:11px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--texto-3)}
.loc__lista{list-style:none;margin:0;padding:0}

.loc__lista li{display:grid;grid-template-columns:92px 1fr;gap:var(--s-4);align-items:baseline;
  padding:var(--s-4) 0;border-bottom:1px solid var(--linea)}
.loc__lista li:first-child{padding-top:0}
.loc__tiempo{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.02em;
  color:var(--cafe);white-space:nowrap}
.loc__lugar{color:var(--texto-2);font-size:var(--fs-small)}
.loc__lugar b{display:block;color:var(--tinta);font-weight:500;font-size:var(--fs-body)}
.loc__nota{margin-top:var(--s-5);text-transform:none;letter-spacing:.02em;font-size:12px;line-height:1.5}


.inv{overflow:hidden;background:var(--tinta);color:var(--papel)}
.inv__fondo{position:absolute;inset:0;z-index:0;pointer-events:none}
.inv__fondo img{width:100%;height:100%;object-fit:cover;object-position:center 58%}

.inv__velo{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(25,23,20,.86) 0%,rgba(25,23,20,.74) 22%,
    rgba(25,23,20,.72) 78%,rgba(25,23,20,.88) 100%)}
.inv > .cont{position:relative;z-index:1}
.inv .ceja{color:var(--arena-clara)}
.inv .titular{color:var(--papel)}

.inv__tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-bottom:var(--s-8)}
.inv__tarjeta{display:flex;flex-direction:column;padding:var(--s-6);border-radius:var(--r-hoja);
  background:rgba(25,23,20,.58);
  -webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);
  border:1px solid rgba(242,233,218,.16)}
.inv__tarjeta h3{margin:0 0 var(--s-4);font-family:var(--font-display);font-size:20px;font-weight:600;
  letter-spacing:-.01em;line-height:1.25;color:var(--papel);text-wrap:balance}
.inv__tarjeta p{margin:0 0 var(--s-3);font-size:var(--fs-small);line-height:1.6;color:var(--crema-2)}
.inv__tarjeta ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--s-2)}
.inv__tarjeta li{font-size:var(--fs-small);line-height:1.45;color:var(--crema-2);
  padding-left:var(--s-4);position:relative}
.inv__tarjeta li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--arena-clara)}

.inv__tarjeta .inv__remate{margin:auto 0 0;padding-top:var(--s-4);font-size:var(--fs-small);color:var(--arena-clara)}
.inv__tarjeta .inv__ritmo{margin:0 0 var(--s-4);font-family:var(--font-display);font-size:15px;
  font-weight:500;letter-spacing:-.005em;line-height:1.45;color:var(--papel)}


.inv__dato{position:relative;overflow:hidden;border-radius:var(--r-hoja);text-align:center;
  padding:clamp(32px,5vw,72px);
  background:rgba(25,23,20,.74);
  -webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%);
  border:1px solid rgba(242,233,218,.14)}
.inv__dato > *{position:relative}
.inv__dato .ceja{margin-bottom:var(--s-4)}
.inv__cifra{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.045em;line-height:1;
  font-size:clamp(56px,8vw,120px);color:var(--papel)}
.inv__cifra-et{margin:var(--s-3) 0 var(--s-6);font-family:var(--font-display);font-size:clamp(18px,1.9vw,23px);
  font-weight:500;letter-spacing:-.01em;color:var(--papel)}

.inv__barra{width:min(520px,100%);height:3px;margin:0 auto var(--s-5);background:rgba(242,233,218,.18);
  border-radius:2px;overflow:hidden}
.inv__barra span{display:block;height:100%;width:var(--vendido-pct,0%);background:var(--arena-clara)}
.inv__detalle{margin:0 auto var(--s-3);max-width:58ch;color:var(--crema-2)}
.inv__fuente{margin:0 auto var(--s-6);font-size:12px;color:var(--crema-3)}


.equipo__dev{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--s-6);align-items:center}
.equipo__dev > .ceja{grid-column:1 / -1}

.tdl-marca{--h:clamp(64px,5vw,80px);display:flex;width:max-content;align-items:flex-start;
  gap:calc(var(--h) * .2911);color:var(--cafe)}
.tdl-marca__iso{flex:0 0 auto;width:calc(var(--h) * 1.1287);height:calc(var(--h) * 1.1287);
  margin:calc(var(--h) * -.0643);fill:currentColor}
.tdl-marca__texto{display:flex;flex-direction:column;align-items:flex-start}
.tdl-marca__siglas{font-family:var(--font-label);font-weight:600;line-height:1;color:var(--tinta);
  font-size:calc(var(--h) * 1.0121);letter-spacing:.0092em;margin-top:calc(var(--h) * -.1465)}
.tdl-marca__nombre{font-family:var(--font-label);font-weight:500;line-height:1;text-transform:uppercase;
  white-space:nowrap;font-size:calc(var(--h) * .1689);letter-spacing:.0281em;margin-top:calc(var(--h) * -.032)}

.equipo__colab{margin-top:var(--s-10);padding-top:var(--s-8);border-top:1px solid var(--linea)}
.equipo__firmas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
.firma__logo{height:64px;display:flex;align-items:center;margin-bottom:var(--s-4);
  padding-bottom:var(--s-4);border-bottom:1px solid var(--linea)}

.firma__logo img{width:auto}
.firma__logo--jh img{height:44px}
.firma__logo--inloft img{height:28px}
.firma__rol{display:block;margin-bottom:var(--s-2);font-family:var(--font-label);font-size:10px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cafe)}
.firma h4{margin:0;font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--tinta)}


.agenda{background:var(--arena);color:var(--tinta)}

@supports (background-blend-mode:overlay){
  .agenda{background-image:var(--grano);background-size:var(--grano-t);background-blend-mode:overlay}
}
.agenda .ceja,.agenda .titular,.agenda .bajada{color:var(--tinta)}
.agenda__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.agenda__bajada{margin-top:var(--s-5)}
.agenda__tel{margin:var(--s-6) 0 0;font-size:var(--fs-body)}
.agenda__tel a{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

.form-ag{display:grid;gap:var(--s-4);padding:clamp(22px,3vw,36px);border-radius:var(--r-hoja);
  background:var(--papel);box-shadow:0 18px 40px -24px rgba(25,23,20,.45)}
.campo{display:grid;gap:var(--s-2)}
.campo label{font-family:var(--font-label);font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tinta)}
.campo input,.campo select{width:100%;padding:13px 15px;border-radius:var(--r-hoja);
  border:1px solid var(--linea-fuerte);background:#FBF8F2;color:var(--tinta);
  font-family:var(--font-body);font-size:var(--fs-small);transition:border-color .2s var(--curva)}
.campo input::placeholder{color:#76675B}                              
.campo input:focus,.campo select:focus{outline:none;border-color:var(--tinta);box-shadow:0 0 0 1px var(--tinta)}
.campo--fila{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}


.pie-sitio{position:relative;z-index:2;background:var(--tinta);color:var(--crema-2);
  font-family:var(--font-body);font-size:var(--fs-small);line-height:1.6;
  padding:var(--s-10) 0 var(--s-8)}
.pie-sitio a{color:var(--crema-2);text-decoration:none;transition:color .2s var(--curva)}
.pie-sitio a:hover{color:var(--papel)}
.pie-sitio a:focus-visible{outline:2px solid var(--papel);outline-offset:3px}
.pie-sitio__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-8);margin-bottom:var(--s-8)}
.pie-sitio__marca{width:170px;height:auto;margin-bottom:var(--s-5)}
.pie-sitio p{margin:0 0 var(--s-2);max-width:36ch}
.pie-sitio h5{margin:0 0 var(--s-4);font-family:var(--font-label);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--crema-3)}
.pie-sitio ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.pie-sitio__base{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between;
  padding-top:var(--s-5);border-top:1px solid rgba(242,233,218,.14);font-size:12px;color:var(--crema-3)}


@media (max-width:900px){
  .sec-cab{grid-template-columns:1fr;gap:var(--s-5);margin-bottom:var(--s-8)}
  .sec-cab__aside{justify-self:start}
  .loc__grid,.agenda__grid{grid-template-columns:1fr}
  .inv__tarjetas{grid-template-columns:1fr}
  .equipo__dev{grid-template-columns:1fr}
  .pie-sitio__grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .equipo__firmas{grid-template-columns:1fr}
  .campo--fila{grid-template-columns:1fr}
  .loc__mapa{min-height:300px}
}
@media (prefers-reduced-motion:reduce){
  .vida__foto--entra{animation:none}
  .vida__foto img{transition:none}
  .vida__foto:hover img{transform:none}
  .boton:hover{transform:none}
}
