/* === Helvetica Neue LT Pro === */
/* Equivalencias con Illustrator: 45–96 */

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProLt.otf') format('opentype');
  font-weight: 300; /* 45 Light */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProEx.otf') format('opentype');
  font-weight: 400; /* 53 Extended */
  font-style: normal;
  font-stretch: expanded;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProRoman.otf') format('opentype');
  font-weight: 400; /* 55 Roman */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProMdEx.otf') format('opentype');
  font-weight: 500; /* 63 Medium Extended */
  font-style: normal;
  font-stretch: expanded;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProMd.otf') format('opentype');
  font-weight: 500; /* 65 Medium */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProBdEx.otf') format('opentype');
  font-weight: 700; /* 73 Bold Extended */
  font-style: normal;
  font-stretch: expanded;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProBd.otf') format('opentype');
  font-weight: 700; /* 75 Bold */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProHvEx.otf') format('opentype');
  font-weight: 900; /* 83 Heavy Extended */
  font-style: normal;
  font-stretch: expanded;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProHv.otf') format('opentype');
  font-weight: 900; /* 85 Heavy */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('HelveticaNeueLTProBlkIt.otf') format('opentype');
  font-weight: 900; /* 96 Black Italic */
  font-style: italic;
  font-display: swap;
}



/* ============================================================
   PLAYFAIR DISPLAY — FAMILIA PRINCIPAL
   ============================================================*/

/* Regular (400) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Regular.woff2") format("woff2"),
       url("PlayfairDisplay-Regular.woff") format("woff"),
       url("PlayfairDisplay-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Italic (400 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Italic.woff2") format("woff2"),
       url("PlayfairDisplay-Italic.woff") format("woff"),
       url("PlayfairDisplay-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Bold (700) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Bold.woff2") format("woff2"),
       url("PlayfairDisplay-Bold.woff") format("woff"),
       url("PlayfairDisplay-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Bold Italic (700 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-BoldItalic.woff2") format("woff2"),
       url("PlayfairDisplay-BoldItalic.woff") format("woff"),
       url("PlayfairDisplay-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Black (900) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Black.woff2") format("woff2"),
       url("PlayfairDisplay-Black.woff") format("woff"),
       url("PlayfairDisplay-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Black Italic (900 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-BlackItalic.woff2") format("woff2"),
       url("PlayfairDisplay-BlackItalic.woff") format("woff"),
       url("PlayfairDisplay-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}


/* ============================================================
   PLAYFAIR DISPLAY SC (SMALL CAPS)
   ============================================================*/

/* SC Regular (400) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Regular.woff2") format("woff2"),
       url("PlayfairDisplaySC-Regular.woff") format("woff"),
       url("PlayfairDisplaySC-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* SC Italic (400 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Italic.woff2") format("woff2"),
       url("PlayfairDisplaySC-Italic.woff") format("woff"),
       url("PlayfairDisplaySC-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* SC Bold (700) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Bold.woff2") format("woff2"),
       url("PlayfairDisplaySC-Bold.woff") format("woff"),
       url("PlayfairDisplaySC-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* SC Bold Italic (700 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-BoldItalic.woff2") format("woff2"),
       url("PlayfairDisplaySC-BoldItalic.woff") format("woff"),
       url("PlayfairDisplaySC-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* SC Black (900) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Black.woff2") format("woff2"),
       url("PlayfairDisplaySC-Black.woff") format("woff"),
       url("PlayfairDisplaySC-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* SC Black Italic (900 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-BlackItalic.woff2") format("woff2"),
       url("PlayfairDisplaySC-BlackItalic.woff") format("woff"),
       url("PlayfairDisplaySC-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}


/* ============================================================
   PLAYFAIR DISPLAY — FAMILIA PRINCIPAL
   ============================================================*/

/* Regular (400) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Italic (400 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Bold (700) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Bold Italic (700 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Black (900) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Black Italic (900 italic) */
@font-face {
  font-family: "Playfair Display";
  src: url("PlayfairDisplay-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}


/* ============================================================
   PLAYFAIR DISPLAY SC (SMALL CAPS)
   ============================================================*/

/* SC Regular (400) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* SC Italic (400 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* SC Bold (700) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* SC Bold Italic (700 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* SC Black (900) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* SC Black Italic (900 italic) */
@font-face {
  font-family: "Playfair Display SC";
  src: url("PlayfairDisplaySC-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}


/* ============================================================
   MONTSERRAT — TODAS LAS VARIANTES (solo .OTF)
   ============================================================*/

/* Thin (100) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* Thin Italic (100 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-ThinItalic.otf") format("opentype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* ExtraLight (200) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* ExtraLight Italic (200 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-ExtraLightItalic.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* Light (300) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Light Italic (300 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-LightItalic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* Regular (400) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Italic (400 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Medium (500) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Medium Italic (500 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-MediumItalic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* SemiBold (600) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* SemiBold Italic (600 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-SemiBoldItalic.otf") format("opentype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* Bold (700) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Bold Italic (700 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* ExtraBold (800) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-ExtraBold.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* ExtraBold Italic (800 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-ExtraBoldItalic.otf") format("opentype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

/* Black (900) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Black Italic (900 italic) */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}