

@font-face{
  font-family:"Pistilli";
  src:url("fonts/Pistilli.woff2") format("woff2"),
      url("fonts/Pistilli.woff") format("woff");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-SemiBoldItalic.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}

.fmlal{

  --crema:#FAF6EF; --arena:#F3ECE0; --blanco:#FFFFFF;
  --tinta:#1E2429; --texto:#333F48; --texto-soft:#5A6670; --linea:#D9D2C6;
  --oro:#C4882E;  --oro-dark:#9A6A22; --oro-soft:#E7C892;
  --teja:#D44904; --teja-dark:#A93A03; --teja-soft:#F2D6C4;
  --acero:#97AAC0; --acero-dark:#5E748E; --acero-soft:#E4E9F0;
  --grad:linear-gradient(135deg,#C4882E 0%,#D44904 100%);

  --font-display:"Pistilli","Playfair Display",Georgia,serif;
  --font-text:"EB Garamond","Cormorant Garamond",Georgia,serif;

  --fs-body:1.1875rem;
  --lh-body:1.4;
  --ls-body:0em;

  --lh-title:1.02;
  --ls-title:-0.02em;
  --fs-display:clamp(2.75rem, 5vw + 1rem, 4.75rem);
  --fs-h1:clamp(2.25rem, 3.5vw + 0.5rem, 3.25rem);
  --fs-h2:clamp(1.7rem,  2vw + 0.5rem, 2.4rem);
  --fs-h3:1.4rem;

  --fs-kicker:0.8rem; --ls-kicker:0.2em;
  --fs-quote:clamp(1.5rem, 2.5vw, 2.05rem); --lh-quote:1.3;
  --fs-small:0.95rem;
  --fs-btn:0.95rem;   --ls-btn:0.08em;

  --space-sm:1rem; --space-md:1.5rem; --space-lg:2rem; --space-xl:3rem;
  --space-section:clamp(4rem,8vw,8rem);
  --radius:8px; --radius-lg:14px;
  --shadow:0 8px 24px rgba(30,36,41,.10);
  --shadow-lg:0 18px 48px rgba(30,36,41,.14);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --wrap:1200px; --measure:68ch;

  color:var(--texto);
  font-family:var(--font-text);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  letter-spacing:var(--ls-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.fmlal *{box-sizing:border-box;}

.fmlal p{margin:0 0 1em; max-width:var(--measure);}
.fmlal p:last-child{margin-bottom:0;}

.fmlal-caja,
.fmlal p.fmlal-hslider__slide{
  font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:var(--ls-body);
  text-align:justify; hyphens:manual; -webkit-hyphens:manual; text-wrap:pretty;
}
.fmlal strong,.fmlal b{font-weight:600;}
.fmlal em,.fmlal i{font-style:italic;}
.fmlal a{color:var(--teja-dark); text-decoration:none;
  transition:color .25s var(--ease);}
.fmlal a:hover{color:var(--teja); text-decoration:underline; text-underline-offset:3px;}
.fmlal img{max-width:100%; display:block;}
.fmlal hr{border:0;}

.fmlal h1,.fmlal h2,.fmlal h3,
.fmlal .fmlal-display,.fmlal .fmlal-h1,.fmlal .fmlal-h2,.fmlal .fmlal-h3{
  font-family:var(--font-display); font-weight:400;
  line-height:var(--lh-title); letter-spacing:var(--ls-title);
  color:var(--texto); margin:0 0 .4em; text-wrap:balance;
}
.fmlal .fmlal-display{font-size:var(--fs-display); line-height:1.0;}
.fmlal h1,.fmlal .fmlal-h1{font-size:var(--fs-h1);}
.fmlal h2,.fmlal .fmlal-h2{font-size:var(--fs-h2); line-height:1.08;}
.fmlal h3,.fmlal .fmlal-h3{font-size:var(--fs-h3); line-height:1.15; letter-spacing:-0.01em;}

.fmlal-kicker{
  display:inline-block; 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); margin:0 0 .9em;
}

.fmlal-lead{
  font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:var(--ls-body);
  font-style:italic; color:var(--texto); max-width:var(--measure);
}

.fmlal-quote{
  font-family:var(--font-text); font-style:italic; font-weight:500;
  font-size:var(--fs-quote); line-height:var(--lh-quote);
  color:var(--texto); max-width:24ch; margin:0;
}
.fmlal-quote::before{content:"«"; color:var(--oro);}
.fmlal-quote::after{content:"»"; color:var(--oro);}

.fmlal-small{font-size:var(--fs-small); line-height:1.5; color:var(--texto-soft);}

.fmlal-rule{width:64px; height:2px; background:var(--grad); margin:0 0 var(--space-md);}

.fmlal-btn{
  display:inline-block; font-family:var(--font-text); font-weight:600;
  font-size:var(--fs-btn); letter-spacing:var(--ls-btn); text-transform:uppercase;
  color:#fff; background:var(--teja-dark); padding:.9em 1.8em; border:0;
  border-radius:var(--radius); cursor:pointer;
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.fmlal-btn:hover{background:var(--teja); transform:translateY(-2px); text-decoration:none; color:#fff;}
.fmlal-btn--ghost{
  background:transparent; color:var(--teja-dark);
  box-shadow:inset 0 0 0 1px var(--teja-dark);
}
.fmlal-btn--ghost:hover{background:var(--teja-dark); color:#fff;}

.fmlal-link{
  display:inline-flex; align-items:center; gap:.5em; font-weight:600;
  font-size:var(--fs-small); letter-spacing:.1em; text-transform:uppercase;
  color:var(--teja-dark); border-bottom:1px solid currentColor; padding-bottom:.3em;
}
.fmlal-link:hover{text-decoration:none; gap:.8em;}

.fmlal--dark{background:var(--tinta); color:var(--crema);}
.fmlal--dark h1,.fmlal--dark h2,.fmlal--dark h3,
.fmlal--dark .fmlal-display{color:var(--crema);}
.fmlal--dark .fmlal-kicker{color:var(--oro);}
.fmlal--dark .fmlal-quote{color:var(--crema);}
.fmlal--dark .fmlal-small{color:rgba(250,246,239,.7);}
.fmlal--dark a{color:var(--oro-soft);}
.fmlal--dark a:hover{color:#fff;}

.fmlal a:focus-visible,.fmlal .fmlal-btn:focus-visible{
  outline:3px solid var(--acero-dark); outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .fmlal *{transition-duration:.001ms !important; animation:none !important;}
}
