/* Biennale Font Family CSS */
/* Modern CSS implementation with all font weights and styles */

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-ThinIt.otf") format("opentype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-UltraLightIt.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-LightIt.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-Hair.otf") format("opentype");
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-HairIt.otf") format("opentype");
  font-weight: 350;
  font-style: italic;
  font-display: swap;
}

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

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-Book.otf") format("opentype");
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-BookIt.otf") format("opentype");
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-MediumIt.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-SemiBoldIt.otf") format("opentype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-BoldIt.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-HeavyIt.otf") format("opentype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

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

@font-face {
  font-family: "Biennale";
  src: url("./Biennale-BlackIt.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* CSS Custom Properties for easy usage */
:root {
  --biennale-font-family: "Biennale", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Base font family class */
.biennale {
  font-family: var(--biennale-font-family);
}

/* Font weight utility classes */
.biennale-thin {
  font-family: var(--biennale-font-family);
  font-weight: 100;
}

.biennale-ultra-light {
  font-family: var(--biennale-font-family);
  font-weight: 200;
}

.biennale-light {
  font-family: var(--biennale-font-family);
  font-weight: 300;
}

.biennale-hair {
  font-family: var(--biennale-font-family);
  font-weight: 350;
}

.biennale-regular {
  font-family: var(--biennale-font-family);
  font-weight: 400;
}

.biennale-book {
  font-family: var(--biennale-font-family);
  font-weight: 450;
}

.biennale-medium {
  font-family: var(--biennale-font-family);
  font-weight: 500;
}

.biennale-semi-bold {
  font-family: var(--biennale-font-family);
  font-weight: 600;
}

.biennale-bold {
  font-family: var(--biennale-font-family);
  font-weight: 700;
}

.biennale-heavy {
  font-family: var(--biennale-font-family);
  font-weight: 800;
}

.biennale-black {
  font-family: var(--biennale-font-family);
  font-weight: 900;
}

/* Italic variants */
.biennale-thin-italic {
  font-family: var(--biennale-font-family);
  font-weight: 100;
  font-style: italic;
}

.biennale-ultra-light-italic {
  font-family: var(--biennale-font-family);
  font-weight: 200;
  font-style: italic;
}

.biennale-light-italic {
  font-family: var(--biennale-font-family);
  font-weight: 300;
  font-style: italic;
}

.biennale-hair-italic {
  font-family: var(--biennale-font-family);
  font-weight: 350;
  font-style: italic;
}

.biennale-regular-italic {
  font-family: var(--biennale-font-family);
  font-weight: 400;
  font-style: italic;
}

.biennale-book-italic {
  font-family: var(--biennale-font-family);
  font-weight: 450;
  font-style: italic;
}

.biennale-medium-italic {
  font-family: var(--biennale-font-family);
  font-weight: 500;
  font-style: italic;
}

.biennale-semi-bold-italic {
  font-family: var(--biennale-font-family);
  font-weight: 600;
  font-style: italic;
}

.biennale-bold-italic {
  font-family: var(--biennale-font-family);
  font-weight: 700;
  font-style: italic;
}

.biennale-heavy-italic {
  font-family: var(--biennale-font-family);
  font-weight: 800;
  font-style: italic;
}

.biennale-black-italic {
  font-family: var(--biennale-font-family);
  font-weight: 900;
  font-style: italic;
}

/* Responsive typography utilities */
@media (max-width: 768px) {
  .biennale-responsive {
    font-family: var(--biennale-font-family);
    font-size: clamp(0.875rem, 2.5vw, 1.125rem);
    line-height: 1.5;
  }
}

@media (min-width: 769px) {
  .biennale-responsive {
    font-family: var(--biennale-font-family);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.6;
  }
}

/* Text rendering optimization */
.biennale,
.biennale * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Print styles */
@media print {
  .biennale,
  .biennale * {
    font-family: var(--biennale-font-family) !important;
  }
}
