/* unicode-range (2026-11-06): sin esto WebKit, ante un carácter que Noto Sans no tiene (un símbolo o emoji), recorre
   el font-family y BAJA cada fuente CJK (59 MB en total, quedan en RAM como CFData: medido con `heap` en el
   WebContent del mundo). Con el rango, cada fuente se descarga sólo si el texto usa ese alfabeto. */
:root {
    --font-scale: 1;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans';
    src: url("../fonts/NotoSans-VariableFont_wdthwght.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 75% 100%;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans Italic';
    src: url("../fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 400;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans Italic';
    src: url("../fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 600;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans Italic';
    src: url("../fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 700;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans TC';
    src: url("../fonts/NotoSansTC-VariableFont_wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans TC';
    src: url("../fonts/NotoSansTC-VariableFont_wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans TC';
    src: url("../fonts/NotoSansTC-VariableFont_wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans SC';
    src: url("../fonts/NotoSansSC-VariableFont_wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans SC';
    src: url("../fonts/NotoSansSC-VariableFont_wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans SC';
    src: url("../fonts/NotoSansSC-VariableFont_wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans HK';
    src: url("../fonts/NotoSansHK-VariableFont_wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans HK';
    src: url("../fonts/NotoSansHK-VariableFont_wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans HK';
    src: url("../fonts/NotoSansHK-VariableFont_wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+1BC0-1BFF;
    font-family: 'Noto Sans Batak';
    src: url("../fonts/NotoSansBatak-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+1BC0-1BFF;
    font-family: 'Noto Sans Batak';
    src: url("../fonts/NotoSansBatak-Regular.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+1BC0-1BFF;
    font-family: 'Noto Sans Batak';
    src: url("../fonts/NotoSansBatak-Regular.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans JP';
    src: url("../fonts/NotoSansJP-VariableFont_wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans JP';
    src: url("../fonts/NotoSansJP-VariableFont_wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+2E80-2FDF, U+3000-303F, U+3040-30FF, U+3100-312F, U+3190-31FF, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-2FA1F;
    font-family: 'Noto Sans JP';
    src: url("../fonts/NotoSansJP-VariableFont_wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+1100-11FF, U+3000-303F, U+3130-318F, U+3200-321E, U+3260-327E, U+A960-A97F, U+AC00-D7AF, U+D7B0-D7FF, U+FF00-FFEF;
    font-family: 'Noto Sans KR';
    src: url("../fonts/NotoSansKR-VariableFont_wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+1100-11FF, U+3000-303F, U+3130-318F, U+3200-321E, U+3260-327E, U+A960-A97F, U+AC00-D7AF, U+D7B0-D7FF, U+FF00-FFEF;
    font-family: 'Noto Sans KR';
    src: url("../fonts/NotoSansKR-VariableFont_wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+1100-11FF, U+3000-303F, U+3130-318F, U+3200-321E, U+3260-327E, U+A960-A97F, U+AC00-D7AF, U+D7B0-D7FF, U+FF00-FFEF;
    font-family: 'Noto Sans KR';
    src: url("../fonts/NotoSansKR-VariableFont_wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    unicode-range: U+0E00-0E7F;
    font-family: 'Noto Sans Thai';
    src: url("../fonts/NotoSansThai-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+0E00-0E7F;
    font-family: 'Noto Sans Thai';
    src: url("../fonts/NotoSansThai-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+0E00-0E7F;
    font-family: 'Noto Sans Thai';
    src: url("../fonts/NotoSansThai-VariableFont_wdth,wght.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+00A9, U+00AE, U+200D, U+203C, U+2049, U+2122, U+2139, U+2190-21FF, U+2300-23FF, U+24C2, U+25A0-27BF, U+2900-297F, U+2B00-2BFF, U+3030, U+303D, U+3297, U+3299, U+FE0F, U+1F000-1FAFF;
    font-family: 'OpenMoji';
    src: url("../fonts/OpenMojiCOLRv0.ttf") format("truetype");
    font-style: normal;
}
@font-face {
    font-display: swap;
    unicode-range: U+00A9, U+00AE, U+200D, U+203C, U+2049, U+2122, U+2139, U+2190-21FF, U+2300-23FF, U+24C2, U+25A0-27BF, U+2900-297F, U+2B00-2BFF, U+3030, U+303D, U+3297, U+3299, U+FE0F, U+1F000-1FAFF;
    font-family: 'NotoEmoji';
    src: url("../fonts/NotoColorEmoji-Regular.ttf") format("truetype");
    font-style: normal;
}
