
body.fmlal-pagina-body{margin:0; background:var(--crema,#FAF6EF);}
.fmlal-pagina{
  --pg-x:calc(var(--cab-x,clamp(20px,3.4vw,52px)) * 2 + var(--cab-logo,84px));
  --pg-medida:62ch;
  --pg-margen:clamp(40px,5vw,96px);
  --pg-bloque:clamp(56px,9vh,120px);
  position:relative; background:var(--crema); color:var(--texto);
}
.fmlal-pagina .fmlal-cab{position:fixed;}

.fmlal-pag__hero{
  position:relative; min-height:100svh; overflow:hidden;
  background:var(--tinta); color:var(--crema);
  display:flex; align-items:flex-end;
}
.fmlal-pag__hero-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--pos,center);
  transform:scale(1.06); animation:fmlal-pag-kb 14s var(--ease) forwards;
}
@keyframes fmlal-pag-kb{to{transform:scale(1);}}
.fmlal-pag__hero-veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(20,26,31,.46) 0%, rgba(20,26,31,0) 28%, rgba(20,26,31,0) 46%, rgba(20,26,31,.88) 100%),
    linear-gradient(90deg, rgba(20,26,31,.35) 0%, rgba(20,26,31,0) 55%);
}
.fmlal-pag__hero-in{
  position:relative; z-index:1; width:100%;
  padding:0 var(--pg-x) clamp(56px,10vh,110px);
  display:grid; grid-template-columns:minmax(0,1fr); row-gap:clamp(6px,1.2vh,14px);
}
.fmlal-pag__num{
  font-family:var(--font-display); font-size:clamp(4rem, 2.4rem + 6vw, 8.5rem); line-height:.78;
  color:var(--oro); letter-spacing:-.02em; margin:0 0 .06em;
  text-shadow:0 6px 40px rgba(0,0,0,.35);
}
.fmlal .fmlal-pag__kicker{
  font-family:var(--font-text); font-weight:600; text-transform:uppercase;
  font-size:var(--fs-kicker); letter-spacing:var(--ls-kicker); color:var(--oro-soft);
  margin:0 0 .6em;
}
.fmlal .fmlal-pag__title{
  font-family:var(--font-display); font-weight:400; color:#fff; margin:0;
  font-size:clamp(2.8rem, 1.6rem + 4.6vw, 6rem); line-height:.94; letter-spacing:-.025em;
  text-wrap:balance; max-width:14ch; text-shadow:0 4px 40px rgba(0,0,0,.45);
}
.fmlal .fmlal-pag__sub{
  font-family:var(--font-display); font-weight:400; color:var(--oro); margin:.25em 0 0;
  font-size:clamp(1.2rem, .9rem + 1.2vw, 1.9rem); line-height:1.1; letter-spacing:-.01em; max-width:26ch;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.fmlal-pag__hero .fmlal-rule{margin:clamp(18px,3vh,30px) 0 0;}

@keyframes fmlal-pag-in{from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none}}
.fmlal-pag__hero [data-in]{animation:fmlal-pag-in 1s var(--ease) both; animation-delay:calc(var(--i,0) * 90ms + 120ms);}

.fmlal-pag__cue{
  position:absolute; z-index:1; left:50%; bottom:clamp(18px,3.4vh,34px);
  width:1px; height:46px; overflow:hidden; background:rgba(255,255,255,.18); pointer-events:none;
}
.fmlal-pag__cue::after{
  content:""; position:absolute; left:0; top:-40%; width:1px; height:40%; background:var(--oro);
  animation:fmlal-pag-cue 2.4s cubic-bezier(.65,0,.35,1) infinite;
}
@keyframes fmlal-pag-cue{0%{top:-40%}100%{top:100%}}

.fmlal-pag__body{padding:var(--pg-bloque) var(--pg-x); display:flow-root; --pg-ancho:1180px;}
.fmlal-pag__body > *{max-width:var(--pg-medida);}
.fmlal .fmlal-pag__datos-nombre{color:var(--tinta); font-size:1.02em; margin-bottom:.5em !important;}
.fmlal-nw{white-space:nowrap;}
.fmlal .fmlal-pag__body p{margin:0 0 1.05em; max-width:var(--pg-medida); text-align:justify; hyphens:manual; -webkit-hyphens:manual; text-wrap:pretty;}
.fmlal .fmlal-pag__body strong{font-weight:600; color:var(--tinta);}

.fmlal-pag__tit{margin:var(--pg-bloque) 0 clamp(22px,3.2vh,34px);}
.fmlal-pag__body > .fmlal-pag__tit:first-child{margin-top:0;}
.fmlal .fmlal-pag__ante{
  display:flex; align-items:center; gap:14px; margin:0 0 .7em !important; text-align:left !important;
  font-family:var(--font-text); font-weight:600; font-size:var(--fs-kicker); letter-spacing:var(--ls-kicker);
  text-transform:uppercase; color:var(--oro-dark);
}
.fmlal-pag__ante::before{content:""; width:clamp(28px,3vw,44px); height:2px; background:var(--grad); flex:none;}
.fmlal-pag__tit .fmlal-pag__h2{margin:0; display:block;}
.fmlal-pag__tit .fmlal-pag__h2::before{display:none;}

.fmlal .fmlal-pag__lead{font-size:1.4rem; line-height:1.3; color:var(--tinta); text-align:left; margin-bottom:1.1em; display:flow-root;}
.fmlal .fmlal-pag__lead--sin::first-letter{font:inherit; float:none; margin:0; color:inherit;}
.fmlal .fmlal-pag__lead:not(.fmlal-pag__lead--sin)::first-letter{
  font-family:var(--font-display); font-size:3.2em; line-height:.8; float:left;
  margin:.08em .12em 0 0; color:var(--teja);
}

.fmlal .fmlal-pag__dest{
  font-family:var(--font-text); font-style:italic; font-weight:500; text-align:left;
  font-size:clamp(1.25rem, 1rem + .6vw, 1.6rem); line-height:1.3; color:var(--tinta);
  max-width:42ch; margin:clamp(24px,4vh,44px) 0 !important; padding-left:clamp(20px,2vw,32px);
  border-left:2px solid var(--teja);
}
.fmlal .fmlal-pag__dest strong{color:var(--teja-dark); font-weight:600;}

.fmlal .fmlal-pag__nota{
  display:inline-flex; align-items:center; gap:.7em; text-align:left; margin:0 0 1.6em !important;
  padding:.45em 1.1em; border:1px solid rgba(196,136,46,.5); border-radius:999px;
  font-size:.92em; color:var(--oro-dark); background:rgba(196,136,46,.06);
}
.fmlal-pag__nota span{width:8px; height:8px; border-radius:50%; background:var(--teja); animation:fmlal-pag-late 2s var(--ease) infinite;}
@keyframes fmlal-pag-late{50%{opacity:.25;}}

.fmlal-pag__body > .fmlal-pag__dos2{max-width:var(--pg-ancho);}
.fmlal-pag__dos2{display:grid; grid-template-columns:minmax(0,var(--pg-medida)) minmax(260px,440px); column-gap:var(--pg-margen); align-items:center; margin:0 0 clamp(20px,3vh,36px);}
.fmlal-pag__dos2.is-inv{grid-template-columns:minmax(260px,480px) minmax(0,var(--pg-medida));}
.fmlal-pag__dos2.is-inv > .fmlal-pag__dos2-f{order:-1;}

.fmlal-pag__dos2.is-ancha{grid-template-columns:minmax(0,30ch) minmax(0,1fr);}
.fmlal-pag__dos2.is-ancha.is-inv{grid-template-columns:minmax(0,1fr) minmax(0,30ch);}
.fmlal .fmlal-pag__dos2.is-ancha p{text-align:left;}
.fmlal-pag__dos2-t > :last-child{margin-bottom:0 !important;}
.fmlal-pag__foto{margin:0;}
.fmlal-pag__foto img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:var(--pos,center); display:block; border-radius:var(--radius); box-shadow:var(--shadow-lg);}
.fmlal-pag__dos2-f .fmlal-pag__datos{margin:0; padding:clamp(22px,2.4vw,34px); background:var(--arena); border-left:2px solid var(--oro);}

.fmlal-pag__datos{margin:0 0 1.6em; padding-left:clamp(16px,1.6vw,24px); border-left:2px solid var(--oro);}
.fmlal .fmlal-pag__datos p{margin:0; text-align:left; line-height:1.35;}
.fmlal .fmlal-pag__datos p + p{margin-top:.25em;}
.fmlal .fmlal-pag__datos a{color:var(--teja-dark);}

.fmlal-pag__ledger{list-style:none; margin:.4em 0 1.6em; padding:0; max-width:var(--pg-medida);}
.fmlal-pag__ledger li{
  display:grid; grid-template-columns:3.2em minmax(0,1fr) auto; align-items:baseline; column-gap:clamp(12px,1.4vw,22px);
  padding:.55em 0; border-top:1px solid var(--linea);
  transition:background .3s var(--ease);
}
.fmlal-pag__ledger li:hover{background:rgba(196,136,46,.06);}
.fmlal-pag__ledger li:last-child{border-bottom:1px solid var(--linea);}
.fmlal-pag__ledger .k{font-family:var(--font-display); color:var(--oro-dark); font-size:1.25em; line-height:1;}
.fmlal-pag__ledger .nm{font-size:.86em; letter-spacing:.08em;}
.fmlal-pag__ledger .v{font-family:var(--font-display); font-variant-numeric:tabular-nums; color:var(--texto); font-size:1.1em; letter-spacing:.02em;}
.fmlal-pag__ledger .r{font-family:var(--font-text); font-weight:600; font-size:var(--fs-kicker); letter-spacing:var(--ls-kicker); text-transform:uppercase; color:var(--oro-dark);}

.fmlal-pag__ledger--toneles li{grid-template-columns:3.2em minmax(0,1fr) auto 1.6em;}
.fmlal .fmlal-pag__elabel{display:grid; place-items:center; height:100%; text-decoration:none;}
.fmlal-pag__elabel .o{
  width:.42em; height:.42em; border-top:1px solid var(--oro); border-right:1px solid var(--oro);
  transition:transform .4s var(--ease);
}
.fmlal-pag__elabel:hover .o, .fmlal-pag__elabel:focus-visible .o{transform:translate(.15em,-.15em);}
.fmlal .fmlal-pag__elabel:focus-visible{outline:2px solid var(--oro); outline-offset:2px;}
.fmlal-pag__dos2--vinos{grid-template-columns:minmax(0,var(--pg-medida)) minmax(300px,1fr);}
.fmlal-pag__botella{margin:0; display:grid; place-items:center; background:var(--crema);}
.fmlal-pag__botella img{width:min(100%,560px); height:auto; display:block; mix-blend-mode:multiply;}

.fmlal-pag__ledger--personas li{grid-template-columns:minmax(0,1fr) auto; cursor:default; outline:0;}
.fmlal-pag__ledger--personas .nm{font-size:1.02em; letter-spacing:0;}
.fmlal-pag__ledger--personas li:focus-visible{background:rgba(196,136,46,.1);}
.fmlal-pag__body > .fmlal-pag__patronato{max-width:var(--pg-ancho);}

.fmlal-pag__body > .fmlal-pag__fig{max-width:none;}
.fmlal-pag__fig{margin:var(--pg-bloque) calc(-1 * var(--pg-x)); position:relative; overflow:hidden;}
.fmlal-pag__fig img{width:100%; height:min(78vh,760px); object-fit:cover; display:block; object-position:var(--pos,center);}

.fmlal-pag__papel{background:var(--arena); padding:clamp(22px,3.6vw,52px); margin:0;}
.fmlal-pag__body > .fmlal-pag__papel{max-width:880px; margin:clamp(24px,4vh,44px) 0 0;}
.fmlal-pag__body > .fmlal-pag__papel--grande{max-width:var(--pg-ancho);}
.fmlal-pag__papel img{width:100%; height:auto; display:block; box-shadow:0 24px 60px rgba(30,36,41,.18);}

.fmlal-pag__body > .fmlal-pag__hitos{max-width:calc(var(--pg-medida) + 13rem);}
.fmlal-pag__hitos{list-style:none; margin:0; padding:0;}
.fmlal-pag__hitos li{display:grid; grid-template-columns:11rem minmax(0,1fr); column-gap:2rem; padding:1.1em 0; border-top:1px solid var(--linea);}
.fmlal-pag__hitos li:last-child{border-bottom:1px solid var(--linea);}
.fmlal-pag__hito{font-family:var(--font-display); color:var(--oro-dark); font-size:clamp(1.4rem,1rem + 1vw,2rem); line-height:1.05; padding-top:.1em;}
.fmlal .fmlal-pag__hitos p{margin:0 !important;}

.fmlal-pag__body > .fmlal-pag__rasgos{max-width:var(--pg-ancho);}
.fmlal-pag__rasgos{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(26px,3vw,40px) clamp(28px,3.4vw,56px);}
.fmlal-pag__rasgos li{position:relative; padding-top:18px; border-top:1px solid var(--linea);}
.fmlal-pag__rasgos li::before{content:""; position:absolute; left:0; top:-1px; width:36px; height:2px; background:var(--grad);}
.fmlal .fmlal-pag__rasgos p{margin:0 !important; text-align:left;}

.fmlal-pag__body > .fmlal-pag__cifras{max-width:var(--pg-ancho);}
.fmlal-pag__cifras{display:grid; grid-template-columns:repeat(var(--n,2),minmax(0,1fr)); gap:clamp(24px,3vw,56px); margin:clamp(20px,3vh,36px) 0;}
.fmlal-pag__cifra b{display:block; font-family:var(--font-display); font-weight:400; color:var(--teja); font-size:clamp(3rem,2rem + 3vw,5.2rem); line-height:.95; margin-bottom:.3em; font-variant-numeric:lining-nums;}
.fmlal .fmlal-pag__cifra p{margin:0 !important; text-align:left; padding-top:.8em; border-top:1px solid var(--linea);}

.fmlal-pag__body > .fmlal-pag__caja{max-width:var(--pg-ancho);}
.fmlal-pag__caja{position:relative; overflow:hidden; margin:clamp(20px,3vh,36px) 0 0; padding:clamp(34px,5vw,72px); background:var(--tinta); color:var(--crema); border-radius:var(--radius);}
.fmlal-pag__caja-l{position:absolute; right:4%; top:-.14em; font-family:var(--font-display); font-size:clamp(10rem,18vw,18rem); line-height:1; color:rgba(196,136,46,.16); pointer-events:none;}
.fmlal .fmlal-pag__caja-t{position:relative; font-style:italic; font-size:clamp(1.3rem,1rem + .8vw,1.7rem); line-height:1.3; color:var(--crema); text-align:left; margin:0 0 clamp(24px,3.4vh,40px) !important; max-width:30ch;}
.fmlal .fmlal-pag__caja-t strong{color:var(--oro-soft,#E7C892);}
.fmlal-pag__caja-fotos{position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:clamp(12px,1.4vw,20px);}
.fmlal-pag__caja-fotos figure{margin:0; background:#0f1316; padding:7px; box-shadow:0 18px 40px rgba(0,0,0,.4); transition:transform .5s var(--ease);}
.fmlal-pag__caja-fotos figure:hover{transform:translateY(-6px);}
.fmlal-pag__caja-fotos img{width:100%; aspect-ratio:1/.93; object-fit:cover; display:block; filter:sepia(.12) contrast(1.02);}

.fmlal-pag__biblio{margin-top:var(--pg-bloque); padding-top:1.2em; border-top:1px solid var(--linea);}

.fmlal-pag__body > .fmlal-pag__mosaico{max-width:none;}
.fmlal-pag__mosaico{
  margin:0 calc(-1 * var(--pg-x)) 0; padding:0 var(--pg-x);
  display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(140px,18vw,260px); gap:clamp(10px,1.2vw,18px);
}
.fmlal-pag__mosaico figure{margin:0; overflow:hidden; border-radius:var(--radius); background:var(--arena);}
.fmlal-pag__mosaico img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s var(--ease);}
.fmlal-pag__mosaico figure:hover img{transform:scale(1.04);}
.fmlal-pag__mosaico figure:nth-child(1){grid-column:span 4; grid-row:span 2;}
.fmlal-pag__mosaico figure:nth-child(2),.fmlal-pag__mosaico figure:nth-child(3){grid-column:span 2;}
.fmlal-pag__mosaico figure:nth-child(4),.fmlal-pag__mosaico figure:nth-child(5),.fmlal-pag__mosaico figure:nth-child(6){grid-column:span 2;}
.fmlal-pag__mosaico figure:nth-child(7){grid-column:span 2; grid-row:span 2;}
.fmlal-pag__mosaico figure:nth-child(8){grid-column:span 4; grid-row:span 2;}
.fmlal-pag__mosaico figure:nth-child(9),.fmlal-pag__mosaico figure:nth-child(10){grid-column:span 3;}

[data-reveal]{opacity:0; transform:translateY(14px); transition:opacity .8s var(--ease), transform 1s var(--ease);}
[data-reveal].is-in{opacity:1; transform:none;}
.fmlal-pag__fig[data-reveal]{transform:none; transition:opacity 1s var(--ease);}
.fmlal-pag__fig[data-reveal] img{transform:scale(1.04); transition:transform 1.6s var(--ease);}
.fmlal-pag__fig.is-in img{transform:none;}

.fmlal-pag__next{
  margin:var(--pg-bloque) 0 0; padding:clamp(40px,7vh,80px) var(--pg-x);
  background:var(--arena); display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;
}
.fmlal .fmlal-pag__next-link{display:flex; align-items:center; gap:clamp(18px,2.6vw,36px); text-decoration:none; color:var(--texto);}
.fmlal-pag__next-img{width:clamp(96px,12vw,160px); aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .6s var(--ease);}
.fmlal-pag__next-link:hover .fmlal-pag__next-img{transform:scale(1.04);}
.fmlal-pag__next-txt{display:flex; flex-direction:column;}
.fmlal .fmlal-pag__next-txt .fmlal-pag__kicker{color:var(--oro-dark); margin-bottom:.4em;}
.fmlal .fmlal-pag__next-t{font-family:var(--font-display); font-size:clamp(1.8rem,1.2rem+1.8vw,2.8rem); line-height:1; display:flex; align-items:baseline; gap:.4em; transition:color .3s var(--ease);}
.fmlal .fmlal-pag__next-link:hover .fmlal-pag__next-t{color:var(--teja);}
.fmlal-pag__next-t .n{font-size:.55em; color:var(--oro);}
.fmlal .fmlal-pag__home{font-size:var(--fs-small); letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--teja-dark); border-bottom:1px solid currentColor; padding-bottom:.3em; text-decoration:none;}
.fmlal .fmlal-pag__home:hover{color:var(--teja); text-decoration:none;}

@media (max-width:900px){
  .fmlal-pag__patronato{display:block;}
  .fmlal-pag__dos2, .fmlal-pag__dos2.is-inv, .fmlal-pag__dos2.is-ancha, .fmlal-pag__dos2--vinos{grid-template-columns:1fr; row-gap:28px;}
  .fmlal-pag__dos2.is-inv > .fmlal-pag__dos2-f{order:0;}
  .fmlal-pag__foto{max-width:420px;}
  .fmlal-pag__cifras{grid-template-columns:1fr;}
  .fmlal-pag__hitos li{grid-template-columns:1fr; row-gap:.4em;}
  .fmlal-pag__mosaico{grid-template-columns:repeat(2,1fr); grid-auto-rows:clamp(120px,28vw,220px);}
  .fmlal-pag__mosaico figure{grid-column:span 1 !important; grid-row:span 1 !important;}
  .fmlal-pag__mosaico figure:nth-child(1),.fmlal-pag__mosaico figure:nth-child(8){grid-column:span 2 !important;}
}
@media (max-width:760px){
  .fmlal-pagina{--pg-x:22px; --pg-bloque:48px;}
  .fmlal-pag__hero{min-height:88svh;}
  .fmlal-pag__num{font-size:3.6rem;}
  .fmlal .fmlal-pag__lead{font-size:1.16rem;}
  .fmlal-pag__ledger li{grid-template-columns:2.6em minmax(0,1fr) auto; font-size:.95rem;}
  .fmlal-pag__ledger--toneles li{grid-template-columns:2.6em minmax(0,1fr) auto 1.6em;}
  .fmlal-pag__ledger--personas li{grid-template-columns:minmax(0,1fr) auto;}
  .fmlal-pag__next{align-items:flex-start;}
}

@media (prefers-reduced-motion:reduce){
  .fmlal-pag__hero-img{animation:none; transform:none;}
  .fmlal-pag__hero [data-in]{animation:none;}
  [data-reveal]{opacity:1; transform:none; transition:none;}
  .fmlal-pag__fig[data-reveal] img{transform:none;}
}
