/* ============================================================
   Grupo Bio Laboratorios — Design System
   Global stylesheet entry. Consumers link THIS one file.
   Keep it as an @import manifest only — no rules here.
   ============================================================ */
/* ============================================================
   Grupo Bio Laboratorios — Webfonts
   Display:  Poppins      (geometric, echoes the GB wordmark)
   Body:     Mulish       (humanist, high legibility for care copy)
   Mono:     IBM Plex Mono (result values, reference ranges, IDs)

   NOTE: Fonts are linked from the Google Fonts CDN. If Grupo Bio
   has licensed brand fonts, replace this @import with self-hosted
   @font-face rules and drop the binaries in assets/fonts/.
   ============================================================ */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("14d7c404-2249-4378-96d5-8018db8b37c1") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("33a082a8-8042-4378-bae5-feb95d530b9f") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("5152fdb8-4f2b-4389-ac0b-5afea9349bf8") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("4c9d6014-233a-47e6-a059-eec1386e8722") 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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("ed860037-dd6a-4e0f-9808-ab148acd4699") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("80650005-5fb3-4951-8020-ea40c66394f3") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("5e4cbe0f-28cf-47da-a9ab-7aa3e33143a5") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("e41e468f-2c05-42ab-a2de-5beb96eb16bd") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("0d0413a5-2f9c-4148-ae64-c4f9e921154f") 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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("acefae86-4e4a-4671-8319-4027098b8ef6") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("1984bc68-c849-4983-86e7-42ba90722902") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("4bd1e9c6-6581-40a9-80ef-ccad176c70ae") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("8c6e1674-ac47-4cd2-8489-39071a2c89fd") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("aa2d8b2d-df9d-4f18-b482-ffa1839a9584") 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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("d02c0941-50be-4132-baa2-ac3b97cd78bc") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("8ce38c5c-c8ac-44f0-abd5-b6c3fd6ea18c") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("60590fa2-217f-435f-a42b-802ce807d15f") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("d659075a-e33a-4d27-862b-be65a2683eee") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("f939bf11-91b3-4696-b8a1-7de41a60981c") 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: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("624817fb-f702-4d53-9cf9-6b028e2db499") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("58342a5f-59e8-4e63-88aa-90bb280cf101") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("0a16b707-7a0f-4073-85ef-0c1b99242a36") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("7af857e2-07fd-487a-a110-a58554cc8741") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("3ad942fe-c749-49df-b33a-77bf37bbba26") 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: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("90017a0b-55d8-47db-bc5a-3cdcf0630af1") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("58342a5f-59e8-4e63-88aa-90bb280cf101") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("0a16b707-7a0f-4073-85ef-0c1b99242a36") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("7af857e2-07fd-487a-a110-a58554cc8741") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("3ad942fe-c749-49df-b33a-77bf37bbba26") 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: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("90017a0b-55d8-47db-bc5a-3cdcf0630af1") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("58342a5f-59e8-4e63-88aa-90bb280cf101") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("0a16b707-7a0f-4073-85ef-0c1b99242a36") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("7af857e2-07fd-487a-a110-a58554cc8741") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("3ad942fe-c749-49df-b33a-77bf37bbba26") 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: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("90017a0b-55d8-47db-bc5a-3cdcf0630af1") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("58342a5f-59e8-4e63-88aa-90bb280cf101") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("0a16b707-7a0f-4073-85ef-0c1b99242a36") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("7af857e2-07fd-487a-a110-a58554cc8741") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("3ad942fe-c749-49df-b33a-77bf37bbba26") 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: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("90017a0b-55d8-47db-bc5a-3cdcf0630af1") 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("58342a5f-59e8-4e63-88aa-90bb280cf101") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("0a16b707-7a0f-4073-85ef-0c1b99242a36") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("7af857e2-07fd-487a-a110-a58554cc8741") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("3ad942fe-c749-49df-b33a-77bf37bbba26") 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: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("90017a0b-55d8-47db-bc5a-3cdcf0630af1") 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;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("1a6fce94-5885-4eac-a2c0-62c4acd5e2ec") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("5b792315-99e9-4a2c-87f7-dd5e5de0e047") 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: swap;
  src: url("d7210991-3058-4386-80e4-a87a5b092598") 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;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("e43b9a3c-9cfa-465f-9a44-3acc260e261e") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("b73e86ae-4912-490e-8ac3-1e78451361ed") 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: swap;
  src: url("f7efb431-c391-45ab-875d-2f85cf207fb7") 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;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("71b05885-1e25-4ffa-80d1-5a0afb032a35") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("319af459-f8ef-4bc6-86e1-35eb6d3c837d") 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: swap;
  src: url("603986a8-961c-4442-9ac2-1b200e3fc6b8") 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;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("e4efe5c5-b8c6-4674-90cf-fa43a0c75ea5") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("ee77c79c-37cc-4f27-a4dc-149f5c43b3c3") 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: swap;
  src: url("79e63d7b-555a-4bbc-adc6-a3dfab9cc9af") 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;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("8a7c4adf-b3c9-4dc2-a637-50cac550f663") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("3d95418e-fd9d-4235-a166-9f8ff2e03db9") 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: 800;
  font-display: swap;
  src: url("a1a25eca-d805-4ce8-b9ed-d302c579501a") 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;
}


/* ============================================================
   Grupo Bio Laboratorios — Color tokens
   Primary teal bridges clinical trust (blue) and life/bio (green).
   Coral adds human warmth. Result tokens encode lab status.
   ============================================================ */
:root {
  /* ---- Brand: Teal (primary) ---- */
  --teal-50:  #E6F5F7;
  --teal-100: #C5E9ED;
  --teal-200: #9BD8DF;
  --teal-300: #62C2CE;
  --teal-400: #2BA3B3;
  --teal-500: #0E8C9E;   /* primary */
  --teal-600: #0B7484;
  --teal-700: #0A5D6B;
  --teal-800: #0C4955;
  --teal-900: #0F3A43;

  /* ---- Ink & Neutral slate (cool, faint teal undertone) ---- */
  --ink-900:  #102A30;   /* primary text */
  --ink-800:  #1B3A41;
  --ink-700:  #2E4C53;
  --slate-600:#496168;
  --slate-500:#647A80;
  --slate-400:#8A9CA1;
  --slate-300:#B4C2C6;
  --slate-200:#D7E0E2;
  --slate-100:#EAEFF0;
  --slate-50: #F5F8F8;
  --white:    #FFFFFF;

  /* ---- Accent: Coral (warmth, human moments, secondary CTA) ---- */
  --coral-50:  #FFF1ED;
  --coral-100: #FFDBD2;
  --coral-200: #FFBEAF;
  --coral-300: #FF9E8B;
  --coral-400: #FB7F68;
  --coral-500: #F4664C;   /* accent */
  --coral-600: #DC4E35;
  --coral-700: #B73C28;

  /* ---- Semantic ---- */
  --success-500: #1F9D6B;
  --success-600: #17855A;
  --success-soft:#E2F5EC;
  --warning-500: #DD8A2A;
  --warning-600: #C2741C;
  --warning-soft:#FCF0DD;
  --danger-500:  #D7443E;
  --danger-600:  #BC332E;
  --danger-soft: #FBE6E4;
  --info-500:    #2D74C4;
  --info-600:    #225FA6;
  --info-soft:   #E5F0FB;

  /* ---- Lab result statuses (out-of-range encoding) ---- */
  --result-normal:   var(--success-500);  /* within reference range */
  --result-normal-bg:var(--success-soft);
  --result-high:     var(--warning-500);  /* above range  ▲ */
  --result-high-bg:  var(--warning-soft);
  --result-low:      var(--info-500);      /* below range  ▼ */
  --result-low-bg:   var(--info-soft);
  --result-critical: var(--danger-500);    /* critical / panic value */
  --result-critical-bg: var(--danger-soft);

  /* ============================================================
     Semantic aliases — reference THESE in components, not raw scale
     ============================================================ */
  --brand:            var(--teal-500);
  --brand-hover:      var(--teal-600);
  --brand-active:     var(--teal-700);
  --brand-soft:       var(--teal-50);
  --brand-soft-hover: var(--teal-100);
  --on-brand:         var(--white);
  --accent:           var(--coral-500);
  --accent-hover:     var(--coral-600);
  --accent-soft:      var(--coral-50);
  --on-accent:        var(--white);

  --text-strong:   var(--ink-900);
  --text-body:     var(--ink-800);
  --text-muted:    var(--slate-500);
  --text-subtle:   var(--slate-400);
  --text-on-dark:  var(--white);
  --text-link:     var(--teal-600);

  --surface-page:  var(--slate-50);
  --surface-card:  var(--white);
  --surface-sunken:var(--slate-100);
  --surface-inverse: var(--ink-900);
  --surface-brand: var(--teal-500);
  --surface-brand-deep: var(--teal-900);

  --border-subtle: var(--slate-200);
  --border-default:var(--slate-300);
  --border-strong: var(--slate-400);
  --border-brand:  var(--teal-500);
  --focus-ring:    color-mix(in srgb, var(--teal-500) 45%, transparent);
}

/* ============================================================
   Grupo Bio Laboratorios — Typography tokens
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-display: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-regular: 400;     /* @kind font */
  --fw-medium:  500;     /* @kind font */
  --fw-semibold:600;     /* @kind font */
  --fw-bold:    700;     /* @kind font */
  --fw-extrabold:800;    /* @kind font */

  /* ---- Type scale (fluid-friendly, rem) ---- */
  --fs-display: 3.5rem;   /* 56 — hero */
  --fs-h1:      2.5rem;   /* 40 */
  --fs-h2:      2rem;     /* 32 */
  --fs-h3:      1.5rem;   /* 24 */
  --fs-h4:      1.25rem;  /* 20 */
  --fs-lg:      1.125rem; /* 18 */
  --fs-body:    1rem;     /* 16 */
  --fs-sm:      0.875rem; /* 14 */
  --fs-xs:      0.75rem;  /* 12 */
  --fs-2xs:     0.6875rem;/* 11 — eyebrow / caps label */

  /* ---- Line heights ---- */
  --lh-tight:   1.1;     /* @kind font */
  --lh-snug:    1.25;    /* @kind font */
  --lh-normal:  1.5;     /* @kind font */
  --lh-relaxed: 1.65;    /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tight:   -0.02em; /* @kind font */
  --ls-normal:  0;       /* @kind font */
  --ls-wide:    0.04em;  /* @kind font */
  --ls-caps:    0.12em;  /* @kind font */

  /* ---- Semantic roles ---- */
  --text-display-font: var(--font-display);
  --text-display-weight: var(--fw-bold);
  --text-heading-weight: var(--fw-semibold);
  --text-eyebrow-weight: var(--fw-bold);
}

/* ============================================================
   Grupo Bio Laboratorios — Spacing, radii, shadows, motion
   ============================================================ */
:root {
  /* ---- Spacing (4px base) ---- */
  --space-0:  0;
  --space-1:  0.25rem;  /* 4  */
  --space-2:  0.5rem;   /* 8  */
  --space-3:  0.75rem;  /* 12 */
  --space-4:  1rem;     /* 16 */
  --space-5:  1.25rem;  /* 20 */
  --space-6:  1.5rem;   /* 24 */
  --space-8:  2rem;     /* 32 */
  --space-10: 2.5rem;   /* 40 */
  --space-12: 3rem;     /* 48 */
  --space-16: 4rem;     /* 64 */
  --space-20: 5rem;     /* 80 */
  --space-24: 6rem;     /* 96 */

  /* ---- Radii (the brand reads ROUND — echoes the gb mark) ---- */
  --radius-xs:  6px;
  --radius-sm:  10px;
  --radius-md:  14px;
  --radius-lg:  20px;
  --radius-xl:  28px;
  --radius-2xl: 36px;
  --radius-pill:999px;
  --radius-circle:50%;

  /* ---- Shadows (soft, cool, teal-tinted — clinical-clean) ---- */
  --shadow-xs: 0 1px 2px rgba(16,42,48,0.06);
  --shadow-sm: 0 2px 6px rgba(16,42,48,0.07);
  --shadow-md: 0 6px 18px rgba(16,42,48,0.09);
  --shadow-lg: 0 14px 34px rgba(16,42,48,0.12);
  --shadow-xl: 0 24px 60px rgba(16,42,48,0.16);
  --shadow-brand: 0 10px 28px rgba(14,140,158,0.28);
  --shadow-inset: inset 0 1px 2px rgba(16,42,48,0.06);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.32, 0.72, 0, 1);   /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);    /* @kind other */
  --ease-spring:   cubic-bezier(0.34, 1.56, 0.64, 1);/* @kind other */
  --dur-fast:   120ms;  /* @kind other */
  --dur-base:   200ms;  /* @kind other */
  --dur-slow:   320ms;  /* @kind other */

  /* ---- Layout ---- */
  --container-sm: 640px;  /* @kind spacing */
  --container-md: 880px;  /* @kind spacing */
  --container-lg: 1120px; /* @kind spacing */
  --container-xl: 1280px; /* @kind spacing */
}

/* ============================================================
   Grupo Bio Laboratorios — Base element defaults
   Light, opt-in. Sets the brand body type + page surface.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  margin: 0;
}

a { color: var(--text-link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Eyebrow / caps label — used widely above headings, echoes LABORATORIOS */
.gb-eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-2xs);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--brand);
}

/* Tabular figures for any numeric data (results, ranges, IDs) */
.gb-tnum { font-variant-numeric: tabular-nums; }

::selection { background: var(--teal-100); color: var(--ink-900); }

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}



  /* ============================================================
     PALETA AMPLIADA — del local real (madera, salvia, pizarra,
     crema, luz cálida) fusionada con teal + coral del sistema.
     ============================================================ */
  :root{
    --wood-l:#E3C8A0; --wood:#C8A36E; --wood-d:#A57C49; --wood-dd:#7E5C34;
    --cream:#F3ECE0; --cream-2:#EBE1D2; --plaster:#E5D8C5; --plaster-d:#D6C6AE;
    --sage-l:#AEB994; --sage:#8C9A6E; --sage-d:#6E7C52;
    --blue-l:#5E7286; --blue:#41566A; --blue-d:#324456;
    --glow:#EAC99C; --glow-soft:#F6E2C4;
    --clay-coral:#E8755A; --clay-orange:#EFA24C; --clay-teal:#6FB8AE;

    /* sombras de arcilla (claymorphism) */
    --clay-out: 14px 16px 34px rgba(99,74,44,.18), -10px -10px 22px rgba(255,255,255,.7);
    --clay-out-sm: 8px 9px 20px rgba(99,74,44,.16), -6px -6px 14px rgba(255,255,255,.66);
    --clay-out-hover: 20px 24px 48px rgba(99,74,44,.24), -12px -12px 26px rgba(255,255,255,.78);
    --clay-in: inset 5px 5px 12px rgba(99,74,44,.22), inset -5px -5px 12px rgba(255,255,255,.6);
    --clay-blue-out: 14px 16px 32px rgba(26,38,50,.4), -8px -8px 18px rgba(120,140,160,.16);
    --grain:url("../assets/design/grain.png");
    --ease-clay:cubic-bezier(.34,1.4,.5,1);
  }

  *{box-sizing:border-box;}
  body{margin:0;background:var(--cream);color:var(--text-body);font-family:var(--font-body);-webkit-font-smoothing:antialiased;position:relative;}
  /* grano global muy sutil */
  body::before{content:"";position:fixed;inset:0;background:var(--grain);background-size:240px;opacity:.5;mix-blend-mode:multiply;pointer-events:none;z-index:1;}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .ic{display:inline-flex;align-items:center;justify-content:center;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
  section{position:relative;z-index:2;}

  /* texturas reutilizables */
  .tex-wood{background-color:var(--wood);background-image:repeating-linear-gradient(90deg,rgba(126,92,52,.0) 0,rgba(126,92,52,.0) 7px,rgba(126,92,52,.32) 8px,rgba(126,92,52,.05) 10px,rgba(255,240,220,.18) 12px,rgba(126,92,52,.0) 14px),linear-gradient(180deg,rgba(255,240,220,.14),rgba(126,92,52,.12));}
  .tex-grain{position:relative;}
  .tex-grain::after{content:"";position:absolute;inset:0;background:var(--grain);background-size:200px;opacity:.55;mix-blend-mode:multiply;pointer-events:none;border-radius:inherit;}
  .rivets::before,.rivets::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5),rgba(0,0,0,.35));box-shadow:0 1px 2px rgba(0,0,0,.4);}
  .rivets::before{top:16px;left:16px;box-shadow:0 1px 2px rgba(0,0,0,.4), 0 0 0 0;}
  /* clay donut decoration */
  .donut{border-radius:50%;position:absolute;}
  .donut::after{content:"";position:absolute;inset:26%;border-radius:50%;background:var(--cream);box-shadow:var(--clay-in);}

  /* pill button con textura al hover */
  .btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;border-radius:999px;cursor:pointer;border:none;white-space:nowrap;overflow:hidden;line-height:1;transition:transform .22s var(--ease-clay),box-shadow .22s ease,filter .2s ease;isolation:isolate;}
  .btn::before{content:"";position:absolute;inset:0;background:var(--grain);background-size:160px;opacity:0;mix-blend-mode:overlay;transition:opacity .25s ease;z-index:-1;}
  .btn:hover::before{opacity:.9;}
  .btn:hover{transform:translateY(-3px);}
  .btn:active{transform:translateY(1px) scale(.99);}
  .btn--lg{height:58px;padding:0 32px;font-size:17px;}
  .btn--md{height:46px;padding:0 22px;font-size:15px;}
  .btn--coral{background:linear-gradient(150deg,#ED8166,var(--clay-coral) 60%,#D85B40);color:#fff;box-shadow:8px 10px 22px rgba(216,91,64,.36),-4px -4px 12px rgba(255,255,255,.18) inset;}
  .btn--coral:active{box-shadow:inset 4px 4px 10px rgba(150,50,30,.5);}
  .btn--teal{background:linear-gradient(150deg,#1aa0b0,var(--brand) 60%,#0a6473);color:#fff;box-shadow:8px 10px 22px rgba(14,140,158,.34);}
  .btn--teal:active{box-shadow:inset 4px 4px 10px rgba(8,70,80,.5);}
  .btn--ghostlight{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.45);}
  .btn--ghostlight:hover{background:rgba(255,255,255,.2);}
  .btn--outline{background:var(--cream);color:var(--sage-d);box-shadow:var(--clay-out-sm);}
  .btn--outline:active{box-shadow:var(--clay-in);}
  .btn--white{background:var(--cream);color:var(--clay-coral);box-shadow:8px 10px 22px rgba(120,60,30,.28),-4px -4px 12px rgba(255,255,255,.6);height:58px;padding:0 34px;font-size:18px;}

  .eyebrow{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-d);}
  h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--blue-d);margin:0;}

  /* ---- utility bar ---- */
  .ubar{background:var(--blue-d);color:rgba(255,255,255,.82);font-size:13.5px;position:relative;z-index:3;}
  .ubar .wrap{display:flex;align-items:center;gap:26px;height:42px;}
  .ubar a{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.82);}
  .ubar a:hover{color:#fff;}
  .ubar .hrs{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.66);margin-left:auto;}

  /* ---- nav ---- */
  .nav{position:sticky;top:0;z-index:40;background:rgba(243,236,224,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--plaster-d);}
  .nav .wrap{display:flex;align-items:center;gap:30px;height:80px;}
  .nav__logo{height:44px;width:auto;}
  .nav__links{display:flex;gap:26px;margin-left:18px;}
  .nav__links a{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--blue);position:relative;padding:4px 0;transition:color .2s;}
  .nav__links a:hover{color:var(--sage-d);}
  .nav__links a.active{color:var(--sage-d);}
  .nav__links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;border-radius:3px;background:var(--clay-coral);}
  .nav__cta{margin-left:auto;}

  /* ---- hero ---- */
  .hero{background:linear-gradient(157deg,#2c3f4d 0%,var(--blue) 42%,#3a5566 100%);color:#fff;overflow:hidden;}
  .hero__wood{position:absolute;inset:0;opacity:.16;mix-blend-mode:soft-light;}
  .hero__glow{position:absolute;border-radius:50%;filter:blur(10px);}
  .hero__mono{position:absolute;right:-110px;top:-70px;height:540px;opacity:.06;}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:84px 32px 120px;position:relative;z-index:2;}
  .hero__chip{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:13.5px;letter-spacing:.04em;}
  .hero__chip .dot{width:8px;height:8px;border-radius:50%;background:var(--clay-coral);box-shadow:0 0 10px var(--clay-coral);}
  .hero h1{color:#fff;font-size:60px;font-weight:700;line-height:1.04;margin:24px 0 0;max-width:14ch;text-wrap:balance;}
  .hero h1 .accent{color:var(--glow);}
  .hero__sub{font-size:19px;line-height:1.6;color:rgba(255,255,255,.85);margin:22px 0 0;max-width:46ch;}
  .hero__btns{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
  .hero__stats{display:flex;gap:14px;margin-top:48px;flex-wrap:wrap;}
  .hero__stat{position:relative;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:16px 20px;min-width:120px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
  .hero__stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:26px;color:#fff;line-height:1;}
  .hero__stat span{font-size:13px;color:rgba(255,255,255,.8);margin-top:6px;display:block;line-height:1.3;}
  .hero__media{position:relative;}
  .hero__frame{position:absolute;inset:-18px -18px -18px -18px;border-radius:36px;}
  .hero__photo{position:relative;border-radius:28px;width:100%;height:486px;object-fit:cover;box-shadow:0 44px 80px rgba(0,0,0,.4);border:6px solid rgba(255,255,255,.08);}
  .hero__cert{position:absolute;left:-26px;bottom:30px;background:var(--cream);border-radius:22px;padding:16px 20px;display:flex;align-items:center;gap:14px;box-shadow:var(--clay-out);max-width:252px;}
  .hero__cert .b{flex:none;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,var(--sage-l),var(--sage));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--clay-out-sm);}
  .hero__cert b{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--blue-d);display:block;}
  .hero__cert span{font-size:13px;color:var(--slate-500);line-height:1.35;}

  /* ---- quick access trio (clay) ---- */
  .trio{margin-top:-72px;position:relative;z-index:5;}
  .trio .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .qcard{position:relative;background:var(--cream);border-radius:26px;padding:32px;box-shadow:var(--clay-out);transition:transform .3s var(--ease-clay),box-shadow .3s ease;overflow:hidden;}
  .qcard:hover{transform:translateY(-6px);box-shadow:var(--clay-out-hover);}
  .qcard .b{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:var(--clay-out-sm);transition:transform .3s var(--ease-clay);}
  .qcard:hover .b{transform:rotate(-6deg) scale(1.06);}
  .qcard h3{font-size:21px;margin-bottom:8px;color:var(--blue-d);}
  .qcard p{font-size:15px;line-height:1.55;color:var(--slate-500);margin:0 0 18px;}
  .qcard a{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--sage-d);transition:gap .2s;}
  .qcard a:hover{gap:12px;}

  /* ---- section heads ---- */
  .sec{padding:100px 0;}
  .sec--cream{background:var(--cream-2);}
  .sec--plaster{background:linear-gradient(180deg,var(--plaster),var(--cream));}
  .shead{max-width:660px;margin-bottom:56px;}
  .shead h2{font-size:42px;font-weight:700;margin-top:14px;line-height:1.08;text-wrap:balance;color:var(--blue-d);}
  .shead p{font-size:18px;line-height:1.6;color:var(--slate-500);margin:16px 0 0;}

  /* ---- quienes somos ---- */
  .about .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
  .about__media{position:relative;}
  .about__media .ph{border-radius:28px;width:100%;height:470px;object-fit:cover;box-shadow:var(--clay-out);position:relative;z-index:2;}
  .about__media .woodcard{position:absolute;left:-26px;top:-26px;right:46px;bottom:46px;border-radius:30px;z-index:1;box-shadow:var(--clay-out-sm);}
  .about__media .mono{position:absolute;right:-18px;bottom:-22px;height:130px;opacity:.18;z-index:3;}
  .feat{display:flex;gap:18px;margin-top:26px;}
  .feat .b{flex:none;width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:var(--clay-out-sm);}
  .feat b{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--blue-d);display:block;margin-bottom:4px;}
  .feat p{margin:0;font-size:15.5px;line-height:1.5;color:var(--slate-500);}

  /* ---- stats band (panel arcilla pizarra + remaches) ---- */
  .band{background:var(--cream);padding:0;}
  .band .wrap{padding:0 32px;}
  .band__panel{position:relative;background:linear-gradient(150deg,#46637a,var(--blue) 55%,var(--blue-d));border-radius:34px;padding:64px 56px;color:#fff;box-shadow:var(--clay-blue-out);overflow:hidden;}
  .band__panel::before{content:"";position:absolute;inset:0;background:var(--grain);background-size:200px;opacity:.4;mix-blend-mode:overlay;}
  .band__riv{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.45),rgba(0,0,0,.42));box-shadow:inset 0 -1px 2px rgba(0,0,0,.5),0 1px 1px rgba(255,255,255,.12);}
  .band__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative;z-index:2;}
  .band__item b{font-family:var(--font-display);font-weight:800;font-size:54px;line-height:1;color:#fff;letter-spacing:-.03em;}
  .band__item b .x{color:var(--glow);}
  .band__item span{display:block;margin-top:12px;font-size:15.5px;color:rgba(255,255,255,.82);line-height:1.4;max-width:18ch;}

  /* ---- process (clay) ---- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  .step{position:relative;background:var(--cream);border-radius:26px;padding:34px 26px;box-shadow:var(--clay-out-sm);transition:transform .3s var(--ease-clay),box-shadow .3s ease;}
  .step:hover{transform:translateY(-5px);box-shadow:var(--clay-out);}
  .step__n{width:60px;height:60px;border-radius:50%;color:#fff;font-family:var(--font-display);font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:var(--clay-out-sm);}
  .step:nth-child(1) .step__n{background:linear-gradient(145deg,#1aa0b0,var(--brand));}
  .step:nth-child(2) .step__n{background:linear-gradient(145deg,var(--sage-l),var(--sage));}
  .step:nth-child(3) .step__n{background:linear-gradient(145deg,var(--blue-l),var(--blue));}
  .step:nth-child(4) .step__n{background:linear-gradient(145deg,#ED8166,var(--clay-coral));}
  .step h3{font-size:19px;margin-bottom:8px;color:var(--blue-d);}
  .step p{font-size:14.5px;line-height:1.5;color:var(--slate-500);margin:0;}
  .step__line{position:absolute;top:62px;right:-18px;width:36px;height:3px;border-radius:3px;background:var(--plaster-d);z-index:1;}
  .step:last-child .step__line{display:none;}

  /* ---- gallery ---- */
  .gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:18px;}
  .gtile{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--clay-out-sm);transition:transform .3s var(--ease-clay),box-shadow .3s;}
  .gtile:hover{transform:translateY(-4px);box-shadow:var(--clay-out);}
  .gtile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
  .gtile:hover img{transform:scale(1.07);}
  .gtile .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 14px;background:linear-gradient(transparent,rgba(50,68,86,.85));color:#fff;font-family:var(--font-display);font-weight:600;font-size:14px;}
  .gtile.big{grid-column:span 3;grid-row:span 2;}
  .gtile.sm{grid-column:span 2;}
  .gtile.wide{grid-column:span 2;}

  /* ---- big CTA (arcilla coral) ---- */
  .cta{position:relative;overflow:hidden;background:linear-gradient(140deg,#F0936F,var(--clay-coral) 55%,#CE5238);color:#fff;border-radius:38px;padding:74px 60px;text-align:center;box-shadow:14px 18px 40px rgba(190,70,45,.34),inset 0 2px 0 rgba(255,255,255,.2);}
  .cta::before{content:"";position:absolute;inset:0;background:var(--grain);background-size:220px;opacity:.45;mix-blend-mode:overlay;}
  .cta__mono{position:absolute;right:-50px;bottom:-70px;height:320px;opacity:.12;}
  .cta h2{color:#fff;font-size:46px;font-weight:700;margin:0;position:relative;z-index:2;}
  .cta p{font-size:19px;color:rgba(255,255,255,.92);margin:16px auto 30px;max-width:48ch;line-height:1.55;position:relative;z-index:2;}
  .cta .btn{position:relative;z-index:2;}

  /* ---- obras sociales (chips arcilla) ---- */
  .os{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
  .os span{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--blue);background:var(--cream);border-radius:999px;padding:14px 28px;box-shadow:var(--clay-out-sm);transition:transform .25s var(--ease-clay),box-shadow .25s;}
  .os span:hover{transform:translateY(-3px);box-shadow:var(--clay-out);}
  .os span.part{background:linear-gradient(145deg,var(--sage-l),var(--sage));color:#fff;}

  /* ---- footer ---- */
  .ft{background:var(--blue-d);color:rgba(255,255,255,.72);padding:74px 0 30px;position:relative;overflow:hidden;}
  .ft::before{content:"";position:absolute;inset:0;background:var(--grain);background-size:240px;opacity:.3;mix-blend-mode:overlay;}
  .ft .wrap{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px;position:relative;z-index:2;}
  .ft__logo{height:46px;width:auto;margin-bottom:18px;}
  .ft p{font-size:14.5px;line-height:1.6;margin:0 0 18px;max-width:34ch;}
  .ft h4{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 18px;}
  .ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
  .ft a:hover{color:#fff;}
  .ft li{font-size:14.5px;}
  .ft__contact li{display:flex;gap:10px;align-items:flex-start;}
  .ft__contact .ic{color:var(--glow);margin-top:2px;}
  .ft__social{display:flex;gap:10px;margin-top:4px;}
  .ft__social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .25s var(--ease-clay),background .2s;}
  .ft__social a:hover{background:var(--clay-coral);transform:translateY(-3px);}
  .ft__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:54px;padding-top:24px;font-size:13.5px;color:rgba(255,255,255,.55);text-align:center;position:relative;z-index:2;}

  /* ---- reveal on scroll (discreto) ---- */
  .rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
  .rv.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;} .btn,.qcard,.step,.gtile{transition:none;}}

  @media(max-width:900px){
    .hero .wrap,.about .wrap{grid-template-columns:1fr;}
    .trio .wrap,.band__grid,.steps{grid-template-columns:1fr 1fr;}
    .gal{grid-template-columns:1fr 1fr;}
    .gtile.big,.gtile.sm,.gtile.wide{grid-column:span 1;grid-row:span 1;}
    .ft .wrap{grid-template-columns:1fr 1fr;}
    .nav__links{display:none;}
    .hero h1{font-size:46px;}
  }

/* ============================================================
   PÁGINAS INTERIORES (Indicaciones / Contacto) — usa tokens del sistema
   ============================================================ */
.page-head{ position:relative; overflow:hidden; background:linear-gradient(135deg,var(--teal-900),var(--teal-700)); color:#fff; padding:64px 0 58px; }
.page-head .wrap{ position:relative; z-index:2; }
.page-head .eyebrow{ color:var(--glow); }
.page-head h1{ color:#fff; font-family:var(--font-display); font-weight:700; font-size:clamp(2rem,4vw,2.8rem); margin:.3em 0 .25em; line-height:1.1; }
.page-head p{ color:rgba(255,255,255,.85); max-width:640px; font-size:1.05rem; margin:0; }
.page-head::after{ content:""; position:absolute; right:-60px; bottom:-90px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(234,201,156,.35),transparent 70%); }
.breadcrumb{ font-size:.85rem; color:rgba(255,255,255,.7); }
.breadcrumb a{ color:rgba(255,255,255,.7); text-decoration:none; }
.breadcrumb a:hover{ color:#fff; }
.breadcrumb span{ margin:0 8px; }

/* Acordeón (indicaciones) */
.acc{ max-width:860px; margin:0 auto; }
.acc__item{ background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-md); margin-bottom:14px; overflow:hidden; box-shadow:var(--shadow-xs); transition:box-shadow var(--dur-base) var(--ease-standard); }
.acc__item:hover{ box-shadow:var(--shadow-sm); }
.acc__q{ width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:20px 22px; font-family:var(--font-display); font-weight:600; color:var(--ink-900); font-size:1.04rem; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.acc__q .chev{ flex:0 0 auto; transition:transform var(--dur-base) var(--ease-standard); color:var(--brand); display:inline-flex; }
.acc__item.open .acc__q .chev{ transform:rotate(180deg); }
.acc__a{ max-height:0; overflow:hidden; transition:max-height var(--dur-slow) var(--ease-standard); }
.acc__a p{ padding:0 22px 20px; margin:0; color:var(--slate-600); line-height:1.6; font-size:.97rem; }

/* Tarjetas de indicación general (reusa grid del sistema) */
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.icard{ background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-sm); }
.icard .b{ width:54px; height:54px; border-radius:16px; display:grid; place-items:center; color:#fff; margin-bottom:16px; background:linear-gradient(145deg,#28b0c0,var(--brand)); }
.icard h3{ font-family:var(--font-display); font-size:1.12rem; color:var(--ink-900); margin:0 0 6px; }
.icard p{ margin:0; color:var(--slate-600); font-size:.95rem; line-height:1.55; }

/* Contacto: info + formulario + mapa */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.info-card{ display:flex; gap:15px; align-items:flex-start; margin-bottom:20px; }
.info-card .b{ flex:0 0 50px; width:50px; height:50px; border-radius:14px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#28b0c0,var(--brand)); }
.info-card b{ display:block; color:var(--ink-900); font-family:var(--font-display); }
.info-card span,.info-card a{ color:var(--slate-600); font-size:.96rem; text-decoration:none; }
.info-card a:hover{ color:var(--brand); }
.form-card{ background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); padding:34px; box-shadow:var(--shadow-md); }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:600; font-size:.9rem; color:var(--ink-900); margin-bottom:7px; font-family:var(--font-display); }
.field input,.field textarea{ width:100%; padding:13px 16px; border:1.5px solid var(--border-default); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:.97rem; color:var(--ink-900); background:#fff; transition:border-color var(--dur-base),box-shadow var(--dur-base); }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--focus-ring); }
.field textarea{ resize:vertical; min-height:120px; }
.field--row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-note{ font-size:.85rem; color:var(--slate-500); margin-top:6px; }
.map-embed{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border-subtle); margin-top:24px; }
.map-embed iframe{ width:100%; height:340px; border:0; display:block; }

/* WhatsApp flotante */
.wa-float{ position:fixed; right:22px; bottom:22px; z-index:90; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; box-shadow:0 10px 30px rgba(37,211,102,.45); transition:transform var(--dur-base) var(--ease-spring); }
.wa-float:hover{ transform:scale(1.08); }

@media (max-width:860px){
  .cards3{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; gap:32px; }
  .field--row{ grid-template-columns:1fr; }
}
