/* Font del design HyWork — ospitati da noi, nessuna chiamata esterna */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/07197051-ce74-48d8-9599-b94373144a07.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/2787999b-b32b-4136-b335-b99eb3ac52f0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/6a45d16d-67a1-474b-9662-4ae38c38a325.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/3d30b717-2ee7-4dc6-83e0-37e8d3b15c32.woff2") 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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0cf5b3b8-0656-47f1-8599-c06548aedbb4.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0e321264-8d27-4339-ba6e-56b632e6dd0c.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/07197051-ce74-48d8-9599-b94373144a07.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/2787999b-b32b-4136-b335-b99eb3ac52f0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/6a45d16d-67a1-474b-9662-4ae38c38a325.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/3d30b717-2ee7-4dc6-83e0-37e8d3b15c32.woff2") 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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/0cf5b3b8-0656-47f1-8599-c06548aedbb4.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/0e321264-8d27-4339-ba6e-56b632e6dd0c.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/5d05cc5b-88f4-4ca1-8278-74517f5e1750.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/4726b02a-48b1-49cf-bb5e-bd2cf142f4f6.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d9bb6c25-9374-40d9-8982-c81455f32e51.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/5eea2baa-f075-40ec-b726-1b1c7cd88b8b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/5d05cc5b-88f4-4ca1-8278-74517f5e1750.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/4726b02a-48b1-49cf-bb5e-bd2cf142f4f6.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d9bb6c25-9374-40d9-8982-c81455f32e51.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/5eea2baa-f075-40ec-b726-1b1c7cd88b8b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/07197051-ce74-48d8-9599-b94373144a07.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/2787999b-b32b-4136-b335-b99eb3ac52f0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/6a45d16d-67a1-474b-9662-4ae38c38a325.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/3d30b717-2ee7-4dc6-83e0-37e8d3b15c32.woff2") 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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0cf5b3b8-0656-47f1-8599-c06548aedbb4.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0e321264-8d27-4339-ba6e-56b632e6dd0c.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/07197051-ce74-48d8-9599-b94373144a07.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/2787999b-b32b-4136-b335-b99eb3ac52f0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/6a45d16d-67a1-474b-9662-4ae38c38a325.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/3d30b717-2ee7-4dc6-83e0-37e8d3b15c32.woff2") 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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/0cf5b3b8-0656-47f1-8599-c06548aedbb4.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/0e321264-8d27-4339-ba6e-56b632e6dd0c.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/5d05cc5b-88f4-4ca1-8278-74517f5e1750.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/4726b02a-48b1-49cf-bb5e-bd2cf142f4f6.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d9bb6c25-9374-40d9-8982-c81455f32e51.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/5eea2baa-f075-40ec-b726-1b1c7cd88b8b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/5d05cc5b-88f4-4ca1-8278-74517f5e1750.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/4726b02a-48b1-49cf-bb5e-bd2cf142f4f6.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d9bb6c25-9374-40d9-8982-c81455f32e51.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/5eea2baa-f075-40ec-b726-1b1c7cd88b8b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/da069f0e-1d65-44be-a96e-b48e4281b1ce.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/99268f9d-7773-43dc-84d3-3ea6f83dfe2c.woff2") 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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/d9ec791a-686b-4797-bbe2-f1dce993cb3b.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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/b449e127-bff4-4290-8be4-382ba5196d11.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;
}.sc-placeholder { background: color-mix(in srgb, currentcolor 8%, transparent); border: 1px solid color-mix(in srgb, currentcolor, transparent); border-radius: 2px; box-sizing: border-box; overflow: hidden; }
@keyframes sc-shine { 
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
html.sc-dc-streaming .sc-placeholder, html.sc-dc-streaming .sc-interp.sc-missing { position: relative; background: color-mix(in srgb, currentcolor 5%, transparent); border-color: transparent; }
html.sc-dc-streaming .sc-placeholder::before, html.sc-dc-streaming .sc-interp.sc-missing::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(90deg, rgba(217, 119, 87, 0) 25%, rgba(247, 225, 211, 0.95) 37%, rgba(217, 119, 87, 0) 63%) 0% 0% / 400% 100%; animation: 1.4s ease 0s infinite normal none running sc-shine; }
html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before, html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before { animation: auto ease 0s 1 normal none running none; background: color-mix(in srgb, currentcolor 8%, transparent); }
.sc-placeholder-error { padding: 4px 8px; font: 11px / 1.4 ui-monospace, monospace; color: color-mix(in srgb, currentcolor 70%, transparent); word-break: break-word; }
.sc-interp.sc-missing { display: inline-block; width: 2em; height: 1em; overflow: hidden; vertical-align: text-bottom; background: rgba(255, 255, 255, 0.3); border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 2px; box-sizing: border-box; color: transparent; user-select: none; }
.sc-interp.sc-unresolved { font-family: ui-monospace, monospace; font-size: 0.85em; color: color-mix(in srgb, currentcolor, transparent); background: color-mix(in srgb, currentcolor 10%, transparent); border-radius: 3px; padding: 0px 3px; }
.sc-host.sc-has-error { position: relative; }
.sc-logic-error { position: absolute; top: 8px; left: 8px; z-index: 2147483647; max-width: 60ch; padding: 6px 10px; background: rgb(176, 0, 32); color: rgb(255, 255, 255); font: 12px / 1.4 ui-monospace, monospace; border-radius: 4px; white-space: pre-wrap; pointer-events: none; }
@media print {
  @page { margin: 0.5cm; }
  figure, table { break-inside: avoid; }
  #dc-root, #dc-root > .sc-host { height: auto; }
  *, ::before, ::after { print-color-adjust: exact; backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important; }
}
x-dc { display: none !important; }
.scp0:hover { background: var(--neutral-50) !important; }
html, body { height: 100%; margin: 0px; }
#dc-root, #dc-root > .sc-host { height: 100%; }
:root { --turq-50: #ECFBFB; --turq-100: #D2F5F6; --turq-200: #A6EBEC; --turq-300: #6FDEE0; --turq-400: #3BD1D3; --turq-500: #1EC8CC; --turq-600: #14A9AD; --turq-700: #14898C; --turq-800: #176C6F; --turq-900: #17585A; --slate-50: #F1F5F7; --slate-100: #DFE8EC; --slate-200: #C2D1D8; --slate-300: #9DB2BC; --slate-400: #6F8A96; --slate-500: #4E6B78; --slate-600: #3B5561; --slate-700: #2B4A57; --slate-800: #223A45; --slate-900: #17303A; --white: #FFFFFF; --neutral-50: #F8FAFB; --neutral-100: #EFF3F4; --neutral-200: #E2E8EA; --neutral-300: #CDD6DA; --neutral-400: #A6B2B8; --neutral-500: #7A868D; --neutral-600: #586269; --neutral-700: #3D464B; --neutral-800: #262C30; --neutral-900: #14181A; --ink: #111416; --green-50: #E9F8F1; --green-500: #1F9D6B; --green-600: #178657; --amber-50: #FDF4E6; --amber-500: #E8A33D; --amber-600: #C9852A; --red-50: #FCECE9; --red-500: #E5573F; --red-600: #C9432D; --color-primary: var(--turq-500); --color-primary-hover: var(--turq-600); --color-primary-active: var(--turq-700); --color-primary-soft: var(--turq-100); --color-on-primary: var(--ink); --text-heading: var(--slate-700); --text-body: var(--neutral-700); --text-muted: var(--neutral-500); --text-inverse: var(--white); --text-accent: var(--turq-700); --surface-page: var(--neutral-50); --surface-card: var(--white); --surface-sunken: var(--neutral-100); --surface-inverse: var(--slate-800); --border-subtle: var(--neutral-200); --border-default: var(--neutral-300); --border-strong: var(--neutral-400); --border-focus: var(--turq-500); --status-success: var(--green-500); --status-success-soft: var(--green-50); --status-warning: var(--amber-500); --status-warning-soft: var(--amber-50); --status-danger: var(--red-500); --status-danger-soft: var(--red-50); --status-info: var(--turq-600); --status-info-soft: var(--turq-100); }
:root { --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700; --fw-extra: 800; --fs-display: 56px; --fs-h1: 40px; --fs-h2: 32px; --fs-h3: 25px; --fs-h4: 20px; --fs-body-lg: 18px; --fs-body: 16px; --fs-body-sm: 14px; --fs-caption: 13px; --fs-micro: 11px; --lh-tight: 1.1; --lh-snug: 1.25; --lh-normal: 1.5; --lh-relaxed: 1.65; --ls-tight: -0.02em; --ls-snug: -0.01em; --ls-normal: 0; --ls-wide: 0.04em; --ls-caps: 0.08em; --type-display-weight: var(--fw-extra); --type-heading-weight: var(--fw-bold); --type-subhead-weight: var(--fw-semibold); --type-body-weight: var(--fw-regular); --type-label-weight: var(--fw-semibold); }
:root { --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --container-sm: 640px; --container-md: 860px; --container-lg: 1120px; --container-xl: 1320px; --gap-tight: var(--space-2); --gap-default: var(--space-4); --gap-loose: var(--space-8); --section-y: var(--space-20); }
:root { --radius-xs: 6px; --radius-sm: 10px; --radius-md: 14px; --radius-lg: 20px; --radius-xl: 28px; --radius-pill: 999px; --radius-card: var(--radius-lg); --radius-control: var(--radius-md); --shadow-xs: 0 1px 2px rgba(23, 48, 58, 0.06); --shadow-sm: 0 2px 6px rgba(23, 48, 58, 0.07); --shadow-md: 0 6px 18px rgba(23, 48, 58, 0.08); --shadow-lg: 0 14px 34px rgba(23, 48, 58, 0.10); --shadow-xl: 0 24px 60px rgba(23, 48, 58, 0.14); --ring-focus: 0 0 0 3px rgba(30, 200, 204, 0.35); --border-width: 1px; }
:root { color-scheme: light; }
body { font-family: var(--font-sans); color: var(--text-body); background: var(--surface-page); font-size: var(--fs-body); line-height: var(--lh-normal); -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
h1, h2, h3, h4 { font-family: var(--font-sans); color: var(--text-heading); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0px; }
.hw-eyebrow { font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--text-accent); }
:root { --turq-50: #ECFBFB; --turq-100: #D2F5F6; --turq-200: #A6EBEC; --turq-300: #6FDEE0; --turq-400: #3BD1D3; --turq-500: #1EC8CC; --turq-600: #14A9AD; --turq-700: #14898C; --turq-800: #176C6F; --turq-900: #17585A; --slate-50: #F1F5F7; --slate-100: #DFE8EC; --slate-200: #C2D1D8; --slate-300: #9DB2BC; --slate-400: #6F8A96; --slate-500: #4E6B78; --slate-600: #3B5561; --slate-700: #2B4A57; --slate-800: #223A45; --slate-900: #17303A; --white: #FFFFFF; --neutral-50: #F8FAFB; --neutral-100: #EFF3F4; --neutral-200: #E2E8EA; --neutral-300: #CDD6DA; --neutral-400: #A6B2B8; --neutral-500: #7A868D; --neutral-600: #586269; --neutral-700: #3D464B; --neutral-800: #262C30; --neutral-900: #14181A; --ink: #111416; --green-50: #E9F8F1; --green-500: #1F9D6B; --green-600: #178657; --amber-50: #FDF4E6; --amber-500: #E8A33D; --amber-600: #C9852A; --red-50: #FCECE9; --red-500: #E5573F; --red-600: #C9432D; --color-primary: var(--turq-500); --color-primary-hover: var(--turq-600); --color-primary-active: var(--turq-700); --color-primary-soft: var(--turq-100); --color-on-primary: var(--ink); --text-heading: var(--slate-700); --text-body: var(--neutral-700); --text-muted: var(--neutral-500); --text-inverse: var(--white); --text-accent: var(--turq-700); --surface-page: var(--neutral-50); --surface-card: var(--white); --surface-sunken: var(--neutral-100); --surface-inverse: var(--slate-800); --border-subtle: var(--neutral-200); --border-default: var(--neutral-300); --border-strong: var(--neutral-400); --border-focus: var(--turq-500); --status-success: var(--green-500); --status-success-soft: var(--green-50); --status-warning: var(--amber-500); --status-warning-soft: var(--amber-50); --status-danger: var(--red-500); --status-danger-soft: var(--red-50); --status-info: var(--turq-600); --status-info-soft: var(--turq-100); }
:root { --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700; --fw-extra: 800; --fs-display: 56px; --fs-h1: 40px; --fs-h2: 32px; --fs-h3: 25px; --fs-h4: 20px; --fs-body-lg: 18px; --fs-body: 16px; --fs-body-sm: 14px; --fs-caption: 13px; --fs-micro: 11px; --lh-tight: 1.1; --lh-snug: 1.25; --lh-normal: 1.5; --lh-relaxed: 1.65; --ls-tight: -0.02em; --ls-snug: -0.01em; --ls-normal: 0; --ls-wide: 0.04em; --ls-caps: 0.08em; --type-display-weight: var(--fw-extra); --type-heading-weight: var(--fw-bold); --type-subhead-weight: var(--fw-semibold); --type-body-weight: var(--fw-regular); --type-label-weight: var(--fw-semibold); }
:root { --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --container-sm: 640px; --container-md: 860px; --container-lg: 1120px; --container-xl: 1320px; --gap-tight: var(--space-2); --gap-default: var(--space-4); --gap-loose: var(--space-8); --section-y: var(--space-20); }
:root { --radius-xs: 6px; --radius-sm: 10px; --radius-md: 14px; --radius-lg: 20px; --radius-xl: 28px; --radius-pill: 999px; --radius-card: var(--radius-lg); --radius-control: var(--radius-md); --shadow-xs: 0 1px 2px rgba(23, 48, 58, 0.06); --shadow-sm: 0 2px 6px rgba(23, 48, 58, 0.07); --shadow-md: 0 6px 18px rgba(23, 48, 58, 0.08); --shadow-lg: 0 14px 34px rgba(23, 48, 58, 0.10); --shadow-xl: 0 24px 60px rgba(23, 48, 58, 0.14); --ring-focus: 0 0 0 3px rgba(30, 200, 204, 0.35); --border-width: 1px; }
:root { color-scheme: light; }
body { font-family: var(--font-sans); color: var(--text-body); background: var(--surface-page); font-size: var(--fs-body); line-height: var(--lh-normal); -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
h1, h2, h3, h4 { font-family: var(--font-sans); color: var(--text-heading); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0px; }
.hw-eyebrow { font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--text-accent); }
html { scroll-behavior: smooth; }
body { margin: 0px; background: var(--white); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
a { color: var(--turq-testo); text-decoration: none; }
a:hover { color: var(--turq-800); }
@keyframes hwFloatA { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}
@keyframes hwFloatB { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(8px); }
}
@keyframes hwFadeUp { 
  0% { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@media (max-width: 820px) {
  #hw-ciclo { grid-template-columns: 1fr !important; }
  #hw-ciclo .hw-ciclo-arrow { transform: rotate(90deg); height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation: auto ease 0s 1 normal none running none !important; }
}
/* ------------------------------------------------------------------
   Aggiunte nostre al design: FAQ native, modulo contatti, cookie.
   Tutto costruito con i colori e i caratteri gia definiti dal design.
   ------------------------------------------------------------------ */

/* --- Domande frequenti ------------------------------------------- */
.hw-faq-list { display: flex; flex-direction: column; gap: 10px; max-width: 880px; }

.hw-faq {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--white);
  overflow: hidden;
}
.hw-faq > summary {
  box-sizing: border-box;
  width: 100%; display: flex; align-items: center; gap: 16px;
  padding: 20px 22px; cursor: pointer; list-style: none;
  font-family: var(--font-sans);
}
.hw-faq > summary::-webkit-details-marker { display: none; }
.hw-faq > summary:hover { background: var(--neutral-50); }
.hw-faq > summary:focus-visible { outline: 2px solid var(--turq-700); outline-offset: -2px; }
.hw-faq-q {
  flex: 1 1 0%; font-size: 17px; font-weight: 700;
  color: var(--slate-700); letter-spacing: -0.01em;
}
.hw-faq-sign {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 999px;
  background: var(--turq-100); color: var(--turq-800);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 700; line-height: 1;
}
.hw-faq-sign::before { content: "+"; }
.hw-faq[open] .hw-faq-sign::before { content: "\2212"; }
.hw-faq-a {
  margin: 0; padding: 0 22px 22px;
  font-size: 16px; line-height: 1.65; color: var(--neutral-600); max-width: 62ch;
}
@media (prefers-reduced-motion: no-preference) {
  .hw-faq[open] .hw-faq-a { animation: hwFadeUp .18s ease-out; }
}

/* --- Modulo contatti --------------------------------------------- */
.hw-form { max-width: 640px; margin: 0 auto; text-align: left; }
.hw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hw-field { display: flex; flex-direction: column; gap: 7px; }
.hw-field--full { grid-column: 1 / -1; }
.hw-form label {
  font-size: 14px; font-weight: 600; color: var(--slate-200);
  letter-spacing: -0.005em;
}
.hw-form .hw-opt { font-weight: 400; color: #94acb6; }
.hw-form input, .hw-form select, .hw-form textarea {
  box-sizing: border-box; min-width: 0;
  width: 100%; font-family: var(--font-sans); font-size: 16px;
  color: var(--white); background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--radius-control, 10px);
  padding: 12px 14px; transition: border-color .15s, background .15s;
}
.hw-form textarea { min-height: 104px; resize: vertical; }
.hw-form select option { color: #0E2E36; }
.hw-form input::placeholder, .hw-form textarea::placeholder { color: rgba(255,255,255,.45); }
.hw-form input:focus, .hw-form select:focus, .hw-form textarea:focus {
  outline: none; border-color: var(--turq-300); background: rgba(255,255,255,.12);
}
.hw-consent {
  grid-column: 1 / -1; display: flex; gap: 11px; align-items: flex-start;
  font-size: 14px; line-height: 1.5; color: var(--slate-200);
}
.hw-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; }
.hw-consent a { color: var(--turq-300); }
.hw-form-actions { grid-column: 1 / -1; display: flex; justify-content: center; margin-top: 6px; }
.hw-submit {
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 14px 32px; border: 1px solid transparent;
  font-size: var(--fs-body-lg); font-family: var(--font-sans);
  font-weight: var(--fw-semibold); letter-spacing: var(--ls-snug);
  border-radius: var(--radius-control); cursor: pointer;
  background: var(--color-primary); color: var(--color-on-primary);
  box-shadow: var(--shadow-sm); transition: transform .12s, box-shadow .15s;
}
.hw-submit:hover { transform: translateY(-1px); }
.hw-form-note {
  grid-column: 1 / -1; margin: 4px 0 0; text-align: center;
  font-size: 14px; color: var(--slate-200);
}
@media (max-width: 640px) {
  .hw-form-grid { grid-template-columns: 1fr; }
}

/* --- Banner cookie ------------------------------------------------ */
.hw-cookie {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60;
  max-width: 720px; margin: 0 auto;
  background: var(--white); color: var(--slate-700);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
  box-shadow: 0 12px 40px rgba(14,46,54,.18);
  padding: 20px 22px; font-size: 15px; line-height: 1.55;
}
.hw-cookie[hidden] { display: none; }
.hw-cookie p { margin: 0 0 14px; }
.hw-cookie a { color: var(--turq-800); }
.hw-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hw-cookie button {
  font-family: var(--font-sans); font-size: 15px; font-weight: 600;
  border-radius: var(--radius-control, 10px); padding: 11px 20px; cursor: pointer;
}
.hw-cookie .hw-accept { background: var(--color-primary); color: var(--color-on-primary); border: 1px solid transparent; }
.hw-cookie .hw-reject { background: transparent; color: var(--slate-700); border: 1px solid var(--border-subtle); }

/* --- Pagine di testo (privacy, termini, cookie, grazie) ----------- */
.hw-doc { max-width: 900px; margin: 0 auto; padding: clamp(48px,6vw,88px) 24px; }
.hw-doc h1 {
  margin: 0 0 14px; font-size: clamp(28px,4.2vw,44px); line-height: 1.12;
  letter-spacing: -0.025em; font-weight: 800; color: var(--slate-700);
}
.hw-doc .hw-doc-sub { margin: 0 0 32px; font-size: 17px; color: var(--neutral-600); }
.hw-doc iframe { width: 100%; border: 0; min-height: 70vh; }

/* --- Menu da telefono ---------------------------------------------
   Il design non prevedeva il comportamento sotto gli 880px: le voci
   andavano a capo e il pulsante usciva dal bordo destro.
   ------------------------------------------------------------------ */
.hw-burger { display: none; }
.hw-nav-cta { display: none; }  /* da computer il pulsante e gia nell'intestazione */

@media (max-width: 880px) {
  .hw-burger {
    display: inline-flex; flex-direction: column; justify-content: center;
    gap: 5px; margin-left: auto; width: 42px; height: 38px; padding: 0 9px;
    background: transparent; border: 1px solid var(--border-subtle);
    border-radius: var(--radius-control, 10px); cursor: pointer;
  }
  .hw-burger span {
    display: block; height: 2px; width: 100%; border-radius: 2px;
    background: var(--slate-700); transition: transform .18s, opacity .18s;
  }
  .hw-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hw-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .hw-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .hw-nav {
    display: none !important;
    position: absolute; left: 0; right: 0; top: 72px;
    flex-direction: column; align-items: stretch !important; gap: 0 !important;
    background: var(--white); border-bottom: 1px solid var(--border-subtle);
    box-shadow: 0 14px 30px rgba(14,46,54,.10);
    padding: 8px 24px 16px;
  }
  .hw-nav.hw-aperto { display: flex !important; }
  .hw-nav a {
    padding: 14px 0; font-size: 17px !important;
    border-bottom: 1px solid var(--border-subtle);
  }
  .hw-nav a:last-child { border-bottom: 0; }

  /* il pulsante non deve piu uscire dal bordo */
  .hw-header-cta { display: none; }
  .hw-nav .hw-nav-cta {
    display: block;
    margin-top: 12px; padding: 13px 0 !important; text-align: center;
    background: var(--color-primary); color: var(--color-on-primary);
    border-radius: var(--radius-control, 10px); border-bottom: 0;
    font-weight: 700;
  }
}

/* --- A capo controllati -------------------------------------------
   Servono a non lasciare parole sole a fine riga. Da telefono
   spariscono e il testo va a capo da solo.
   ------------------------------------------------------------------ */
.hw-br-largo { display: inline; }   /* la frase in turchese comincia sempre a capo, a ogni larghezza */

/* --- Le quattro schede di "Perche HyWork": due per riga ------------ */
.hw-perche-schede { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 520px) { .hw-perche-schede { grid-template-columns: 1fr; } }

/* --- Riga legale in fondo ------------------------------------------ */
.hw-piede-legale { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; justify-content: space-between; }
.hw-piede-legale a { text-decoration: none; }
.hw-piede-legale a:hover { text-decoration: underline; }

@media (max-width: 560px) {
  .hw-hero-azioni { flex-wrap: nowrap; flex-direction: column; white-space: normal !important; }
  .hw-hero-azioni > a { display: block; width: 100%; }
  .hw-hero-azioni > a { width: 100% !important; }
  .hw-pill-b { display: none !important; }
}

/* --- A capo: niente parole sole a fine blocco -----------------------
   'pretty' evita che l'ultima riga resti con una parola sola;
   'balance' pareggia le righe dei titoli corti. Dove il browser non
   li conosce vengono semplicemente ignorati.
   ------------------------------------------------------------------ */
p, li { text-wrap: pretty; }
.hw-faq-q,
.hw-perche-schede p:first-child,
.hw-piede-legale p { text-wrap: balance; }

/* Pilastro 05 a due colonne (17/09/2026): senza immagine, la lista dei cinque punti prende il posto dell'immagine.
   Da telefono torna una colonna sola, nell'ordine: introduzione, punti, chiusa. */
.hw-p5 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); grid-template-rows: auto 1fr; column-gap: clamp(32px, 5vw, 72px); align-items: start; }
.hw-p5-intro { grid-column: 1; grid-row: 1; }
.hw-p5-chiusa { grid-column: 1; grid-row: 2; }
.hw-p5-lista { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 880px) {
  .hw-p5 { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .hw-p5-intro, .hw-p5-chiusa, .hw-p5-lista { grid-column: 1; grid-row: auto; }
  .hw-p5-lista { margin: 0 0 clamp(40px, 5vw, 56px); }
}

/* Per chi: sul tablet le quattro schede vanno due e due (24/09) */
@media (min-width: 560px) and (max-width: 1040px) {
  #per-chi [data-dc-tpl="181"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Pagine di settore: quattro schede, due e due sul tablet, una sotto l'altra sul telefono (24/09) */
.hw-griglia-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1040px) { .hw-griglia-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .hw-griglia-4 { grid-template-columns: minmax(0, 1fr); } }
.hw-lista-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(32px, 5vw, 64px); }
@media (max-width: 880px) { .hw-lista-2 { grid-template-columns: minmax(0, 1fr); } }
/* Home, Per chi: link alle pagine di settore, sempre in fondo alla scheda (24/09) */
#per-chi [data-dc-tpl="181"] > div { display: flex; flex-direction: column; }
.hw-scheda-link { margin-top: auto; padding-top: 14px; font-size: 14.5px; font-weight: 600; color: var(--turq-testo); }
.hw-scheda-link:hover { text-decoration: underline; }
/* Modulo: campo trappola per i programmi automatici, invisibile alle persone (24/09) */
.hw-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
/* Home, Per chi: tutta la scheda porta alla pagina di settore (24/09) */
#per-chi [data-dc-tpl="181"] > div { position: relative; transition: border-color .15s, box-shadow .15s; }
#per-chi [data-dc-tpl="181"] > div:has(.hw-scheda-link):hover { border-color: var(--turq-500); box-shadow: var(--shadow-sm); }
.hw-scheda-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
/* Testi turchesi: un filo più scuri del --turq-700 per arrivare al contrasto 4.5 anche sul grigio chiaro (24/09). Pulsanti e marchio non cambiano. */
:root { --turq-testo: #127E81; }
.hw-doc-piede { margin-top: 0 !important; padding-top: 24px !important; padding-bottom: 40px !important; border-top: 1px solid var(--border-subtle); }
/* Allineamenti 24/09: riga del pilastro 05 e riga legale del piede larghe quanto il testo */
[data-dc-tpl="142"], [data-dc-tpl="294"] { width: calc(100% - 48px) !important; max-width: 1120px !important; padding-left: 0 !important; padding-right: 0 !important; }
#per-chi h3 { line-height: 1.25; }
/* perche-ultima: con un numero dispari di schede, l'ultima prende la riga intera (24/09) */
.hw-perche-schede > div:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Modulo: campi obbligatori segnati con l'asterisco e avvisi sotto il campo (25/09). */
.hw-form .hw-req { color: var(--turq-300); font-weight: 700; }
.hw-form-req { margin: 0 0 18px; font-size: 14px; color: var(--slate-200); }
.hw-err { margin: 2px 0 0; font-size: 14px; line-height: 1.4; font-weight: 600; color: #FFB4A6; }
.hw-consent + .hw-err { grid-column: 1 / -1; margin: -8px 0 0 36px; }
.hw-form .hw-invalido input, .hw-form .hw-invalido select, .hw-form .hw-invalido textarea { border-color: #FF8A75; }
