/* ============================================================
   TheTryck · Fuentes de Google, servidas desde nuestro dominio
   ------------------------------------------------------------
   Antes cada página las pedía a fonts.googleapis.com, y con eso
   Google recibía la IP y la página de cada visita antes de que
   nadie aceptara nada. Ahora son archivos nuestros (licencia
   OFL, en cada carpeta de assets/fuentes/).

   Generado por bajar_fuentes.py (13/09/2026): solo latin y
   latin-ext. Si una página necesita otra familia, se añade aquí;
   no se vuelve a enlazar Google Fonts.
   ============================================================ */

/* ——— Playfair Display ——— */
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/playfair-display/playfair-display-italic-400-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/playfair-display/playfair-display-italic-400-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/playfair-display/playfair-display-normal-400-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/playfair-display/playfair-display-normal-400-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— DM Serif Text ——— */
/* latin-ext */
@font-face {
  font-family: 'DM Serif Text';
  font-style: italic;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/dm-serif-text/dm-serif-text-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Text';
  font-style: italic;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/dm-serif-text/dm-serif-text-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Serif Text';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/dm-serif-text/dm-serif-text-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Text';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/dm-serif-text/dm-serif-text-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Sora ——— */
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display:block;
  src: url(fuentes/sora/sora-normal-100-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display:block;
  src: url(fuentes/sora/sora-normal-100-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Poppins ——— */
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display:block;
  src: url(fuentes/poppins/poppins-normal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Changa One ——— */
/* latin */
@font-face {
  font-family: 'Changa One';
  font-style: italic;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/changa-one/changa-one-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Changa One';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/changa-one/changa-one-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Newsreader ——— */
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/newsreader/newsreader-italic-200-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/newsreader/newsreader-italic-200-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/newsreader/newsreader-normal-200-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/newsreader/newsreader-normal-200-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Manrope ——— */
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/manrope/manrope-normal-200-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display:block;
  src: url(fuentes/manrope/manrope-normal-200-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Oswald ——— */
/* latin-ext */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display:block;
  src: url(fuentes/oswald/oswald-normal-200-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display:block;
  src: url(fuentes/oswald/oswald-normal-200-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Cormorant Garamond ——— */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 700;
  font-display:block;
  src: url(fuentes/cormorant-garamond/cormorant-garamond-italic-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 700;
  font-display:block;
  src: url(fuentes/cormorant-garamond/cormorant-garamond-italic-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display:block;
  src: url(fuentes/cormorant-garamond/cormorant-garamond-normal-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display:block;
  src: url(fuentes/cormorant-garamond/cormorant-garamond-normal-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Bodoni Moda ——— */
/* latin-ext */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/bodoni-moda/bodoni-moda-italic-400-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/bodoni-moda/bodoni-moda-italic-400-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/bodoni-moda/bodoni-moda-normal-400-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display:block;
  src: url(fuentes/bodoni-moda/bodoni-moda-normal-400-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Inter ——— */
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display:block;
  src: url(fuentes/inter/inter-normal-100-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display:block;
  src: url(fuentes/inter/inter-normal-100-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Anton ——— */
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/anton/anton-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/anton/anton-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ——— Pinyon Script ——— */
/* latin-ext */
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/pinyon-script/pinyon-script-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display:block;
  src: url(fuentes/pinyon-script/pinyon-script-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   La barra de arriba, sin enseñar el menú de antes (15/09/2026)
   ------------------------------------------------------------
   Nada que ver con las fuentes, pero este es el único archivo que
   va en el <head> de todas las páginas.

   Al abrir cualquier página se veía primero el menú escrito a mano
   en el HTML («INICIO … MI CUENTA» en texto) y un instante después
   el que monta tt-nav.js. Ahora lo de dentro del <nav> no se ve
   (visibility: la barra no se mueve ni un píxel) hasta que
   tt-nav.js le pone .tt-nav-lista a cada <nav> (y a <html>, para los
   que lleguen después). Y el enlace de «Mi cuenta» (.tt-cuenta-hueco)
   espera a que tt-auth.js sepa si hay sesión, que le quita la clase:
   así no se ve el texto antes de la foto.

   La clase va en el propio <nav> y no solo en <html> a propósito:
   con :has() en <html>, Chrome no volvía a mirar los hijos que nadie
   había tocado y el logo seguía escondido hasta la red de seguridad.

   Solo en las páginas que cargan tt-nav.js o tt-auth.js (:has): la
   404 no carga ninguno y se queda como estaba; en las que cargan
   tt-auth.js y no tt-nav.js (la galería), la clase la pone tt-auth.
   Red de seguridad: si el JS no llega, se enseña igual a los 2,5 s.
   ============================================================ */
@keyframes tt-barra-red { to { visibility: visible; } }
html:not(.tt-nav-lista):has(script[src*="tt-nav.js"], script[src*="tt-auth.js"]) nav:not(.tt-barra):not(.tt-nav-lista) > * {
  visibility: hidden;
  animation: tt-barra-red 0s linear 2.5s forwards;
}
html:has(script[src*="tt-auth.js"]) nav a.tt-cuenta-hueco {
  visibility: hidden;
  animation: tt-barra-red 0s linear 2.5s forwards;
}

/* ============================================================
   Aparición al cargar (15/09/2026) · la espera
   ------------------------------------------------------------
   La entrada la hace assets/tt-aparicion.js. Hasta que arranca, lo
   de la página espera en opacidad 0: los hijos del <body> y lo de
   dentro de la barra (la barra en sí, con su fondo, se queda). Solo
   en las páginas que cargan tt-aparicion.js en su <head>; las demás
   no esperan nada.

   Un solo reloj para toda la página, en <html>: una animación de 0 s
   con 3 s de retraso que mientras tanto pone --tt-ap-velo a 0, y al
   acabar deja de existir (vuelve a valer 1). Las piezas solo leen esa
   variable. Así, si el JS no llega o falla, a los 3 s de abrir se ve
   todo, y lo que aparezca después (un aviso, una ventana, el banner
   de cookies) sale al momento: no se pone a esperar otros 3 s.
   Son 3 s (y el tope del JS 2,8 s) para ir con los ~3 s que el
   navegador espera a una fuente: así la entrada nunca arranca con
   letras todavía de camino.
   Con el JS, html.tt-ap quita la espera en el mismo fotograma en que
   empieza la entrada.

   La regla va en una capa (@layer) a propósito: cualquier opacidad que
   ponga la propia página le gana, así que nunca se enseña una ventana
   que la página tiene escondida con opacity:0. Navegadores sin :has(),
   @layer o @property: no esperan nada, y el JS no anima (lo comprueba).
   ============================================================ */
@property --tt-ap-velo { syntax: '<number>'; inherits: true; initial-value: 1; }
@keyframes tt-ap-reloj { from, to { --tt-ap-velo: 0; } }
html:not(.tt-ap):has(> head > script[src*="tt-aparicion.js"]) {
  animation: tt-ap-reloj 0s linear 3s backwards;
}
@layer tt-aparicion {
  html:not(.tt-ap):has(> head > script[src*="tt-aparicion.js"]) body > :not(nav):not(script):not(style):not(link):not(template):not(noscript),
  html:not(.tt-ap):has(> head > script[src*="tt-aparicion.js"]) body > nav > * {
    opacity: var(--tt-ap-velo, 1);
  }
}

/* ============================================================
   Símbolo de carga: el logo metalizado (15/09/2026)
   ------------------------------------------------------------
   <span class="tt-cargador" aria-hidden="true"><i></i></span>
   El logo (assets/img/logo-thetryck.svg, trazado del original a
   968 px) hace de máscara: se ve nítido en cualquier pantalla. Dentro,
   un oro apagado de fondo y encima el oro pulido, que lo va cubriendo
   de arriba abajo con un filo de luz; al llenarse se apaga y vuelve a
   empezar. El texto para lectores de pantalla va fuera, en el
   contenedor con role="status".
   Tamaño: --tt-cargador-alto (por defecto 96 px).
   ============================================================ */
.tt-cargador {
  --tt-cargador-alto: 96px;
  position: relative;
  display: block;
  flex: none;
  height: var(--tt-cargador-alto);
  width: calc(var(--tt-cargador-alto) * 269 / 508);
  filter: drop-shadow(0 0 18px rgba(202, 166, 75, .2));
}
.tt-cargador > i {
  position: absolute;
  inset: 0;
  overflow: hidden;
  -webkit-mask: url(img/logo-thetryck.svg) center / contain no-repeat;
          mask: url(img/logo-thetryck.svg) center / contain no-repeat;
  /* el metal apagado: se ve el logo entero mientras se llena */
  background: linear-gradient(180deg, #4a3d24 0%, #6b5831 38%, #3b3120 62%, #574829 100%);
}
.tt-cargador > i::before,
.tt-cargador > i::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}
/* el oro pulido, con sus bandas de luz como una pieza de metal */
.tt-cargador > i::before {
  top: 0;
  bottom: 0;
  background: linear-gradient(180deg,
    #8a6a2c 0%, #e9d08a 14%, #b28d42 29%, #fff3cc 45%, #caa64b 57%,
    #7e6127 71%, #e2c67d 86%, #a07e39 100%);
  clip-path: inset(0 0 100% 0);
  animation: tt-cargador-cubre 2.6s linear infinite;
}
/* el filo de luz que va delante del oro */
.tt-cargador > i::after {
  top: 0;
  height: 18%;
  background: linear-gradient(180deg, rgba(255, 246, 220, 0) 0%, rgba(255, 250, 236, .95) 50%, rgba(255, 246, 220, 0) 100%);
  translate: 0 -50%;
  opacity: 0;
  animation: tt-cargador-filo 2.6s linear infinite;
}
/* el filo mide el 18 % del logo: bajar el 100 % del logo son 555,6 % de su alto */
@keyframes tt-cargador-cubre {
  0%   { clip-path: inset(0 0 100% 0); opacity: 1; animation-timing-function: cubic-bezier(.65, 0, .35, 1); }
  62%  { clip-path: inset(0 0 0 0);    opacity: 1; }
  84%  { clip-path: inset(0 0 0 0);    opacity: 1; animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
  100% { clip-path: inset(0 0 0 0);    opacity: 0; }
}
@keyframes tt-cargador-filo {
  0%   { translate: 0 -50%;  opacity: 0; animation-timing-function: cubic-bezier(.65, 0, .35, 1); }
  6%   { opacity: 1; }
  62%  { translate: 0 505.6%; opacity: 1; }
  70%, 100% { translate: 0 505.6%; opacity: 0; }
}
/* menos movimiento: el logo quieto, ya cubierto de oro */
@media (prefers-reduced-motion: reduce) {
  .tt-cargador > i::before { animation: none; clip-path: none; opacity: 1; }
  .tt-cargador > i::after  { animation: none; opacity: 0; }
}
