/* ============================================================================
   FONT REFERENCES - All Font-Face Declarations
   ============================================================================ */

/* ============================================================================
   NOTO SANS - Multi-script unified font family for greeting text
   Uses unicode-range to load only the needed script per character.
   Covers: Latin/Greek/Cyrillic (en), Japanese (jp), Chinese (sc),
           Korean (kr), Arabic (ar), Devanagari (dv)
   ============================================================================ */

/* Latin, Greek, Cyrillic — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_en_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+0000-024F, U+0250-02AF, U+0300-036F, U+0370-03FF, U+0400-04FF,
        U+0500-052F, U+1AB0-1AFF, U+1C80-1C8F, U+1D00-1D7F, U+1DC0-1DFF,
        U+1E00-1EFF, U+1F00-1FFF, U+2000-206F, U+2070-209F, U+20A0-20CF,
        U+2100-214F, U+2150-218F, U+2190-21FF, U+2200-22FF, U+2300-23FF,
        U+2460-24FF, U+2500-257F, U+2580-259F, U+25A0-25FF, U+2600-26FF,
        U+2700-27BF, U+2C60-2C7F, U+A640-A69F, U+A720-A7FF, U+FB00-FB06,
        U+FE20-FE2F;
}

/* Latin, Greek, Cyrillic — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_en_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+0000-024F, U+0250-02AF, U+0300-036F, U+0370-03FF, U+0400-04FF,
        U+0500-052F, U+1AB0-1AFF, U+1C80-1C8F, U+1D00-1D7F, U+1DC0-1DFF,
        U+1E00-1EFF, U+1F00-1FFF, U+2000-206F, U+2070-209F, U+20A0-20CF,
        U+2100-214F, U+2150-218F, U+2190-21FF, U+2200-22FF, U+2300-23FF,
        U+2460-24FF, U+2500-257F, U+2580-259F, U+25A0-25FF, U+2600-26FF,
        U+2700-27BF, U+2C60-2C7F, U+A640-A69F, U+A720-A7FF, U+FB00-FB06,
        U+FE20-FE2F;
}

/* Japanese (Hiragana, Katakana, CJK shared with JP priority) — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_jp_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+3200-32FF, U+FF00-FFEF,
        U+4E00-9FFF, U+3400-4DBF, U+3000-303F;
}

/* Japanese — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_jp_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+3200-32FF, U+FF00-FFEF,
        U+4E00-9FFF, U+3400-4DBF, U+3000-303F;
}

/* Simplified Chinese (CJK Ideographs fallback after JP) — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_sc_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F,
        U+2B820-2CEAF, U+2CEB0-2EBEF, U+F900-FAFF, U+2F800-2FA1F, U+3000-303F;
}

/* Simplified Chinese — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_sc_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F,
        U+2B820-2CEAF, U+2CEB0-2EBEF, U+F900-FAFF, U+2F800-2FA1F, U+3000-303F;
}

/* Korean (Hangul) — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_kr_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
}

/* Korean (Hangul) — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_kr_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
}

/* Arabic — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_ar_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF, U+FB50-FDFF,
        U+FE70-FEFF, U+10E60-10E7F;
}

/* Arabic — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_ar_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF, U+FB50-FDFF,
        U+FE70-FEFF, U+10E60-10E7F;
}

/* Devanagari (Hindi) — Bold (700) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_dv_bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0900-097F, U+1CD0-1CFF, U+A8E0-A8FF, U+11B00-11B5F;
}

/* Devanagari (Hindi) — Black (900) */
@font-face {
    font-family: "NotoSans";
    src: url("../fonts/noto_sans_woff2/noto_sans_dv_black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0900-097F, U+1CD0-1CFF, U+A8E0-A8FF, U+11B00-11B5F;
}

/* ============================================================================
   SOURCE CODE PRO - ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black
   ============================================================================ */

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-extralight.woff2")
        format("woff2");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-extralightitalic.woff2")
        format("woff2");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-light.woff2")
        format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-lightitalic.woff2")
        format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-regular.woff2")
        format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-italic.woff2")
        format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-medium.woff2")
        format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-mediumitalic.woff2")
        format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-semibold.woff2")
        format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-semibolditalic.woff2")
        format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-bold.woff2")
        format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-bolditalic.woff2")
        format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-extrabold.woff2")
        format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-extrabolditalic.woff2")
        format("woff2");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-black.woff2")
        format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceCodePro";
    src: url("../fonts/sourcecodepro_woff2/sourcecodepro-blackitalic.woff2")
        format("woff2");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ============================================================================
   NEBULA SANS - Light, Normal, Medium, Semi-Bold, Bold, Black
   ============================================================================ */

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-lightitalic.woff2")
        format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-book.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-bookitalic.woff2")
        format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-medium.woff2")
        format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-mediumitalic.woff2")
        format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-semibold.woff2")
        format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-semibolditalic.woff2")
        format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-bolditalic.woff2")
        format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NebulaSans";
    src: url("../fonts/nebulasans_woff2/nebulasans-blackitalic.woff2")
        format("woff2");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ============================================================================
   OVERPASS - Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black
   ============================================================================ */

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Thin.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-ExtraLight.woff2")
        format("woff2");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-ExtraBold.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Overpass Italics */

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-ThinItalic.woff2")
        format("woff2");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-ExtraLightItalic.woff2")
        format("woff2");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-LightItalic.woff2")
        format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-MediumItalic.woff2")
        format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-SemiBoldItalic.woff2")
        format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-BoldItalic.woff2")
        format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-ExtraBoldItalic.woff2")
        format("woff2");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Overpass";
    src: url("../fonts/overpass_woff2/Overpass-BlackItalic.woff2")
        format("woff2");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}
