/* ---- Self-hosted web fonts (2026-09-30) --------------------------------------
   Lora and Plus Jakarta Sans, the same files and unicode-range subsets Google
   Fonts served for the design's font request, now under /fonts/2026/ so the
   first paint no longer waits on fonts.googleapis.com + fonts.gstatic.com.
   head.ejs / homepage.ejs preload the three latin files used above the fold.
   To refresh: fetch the same css2 URL (see partials/head.ejs history) with a
   current Chrome user agent and re-download the woff2 files it lists. */
/* Lora italic cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora italic cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora italic math */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora italic symbols */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora italic vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-vietnamese.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;
}
/* Lora italic latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora italic latin */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora italic cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora italic cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora italic math */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora italic symbols */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora italic vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-vietnamese.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;
}
/* Lora italic latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora italic latin */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora normal cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora normal cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora normal math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora normal symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora normal vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-vietnamese.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;
}
/* Lora normal latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora normal latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora normal cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora normal cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora normal math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora normal symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora normal vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-vietnamese.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;
}
/* Lora normal latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora normal latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora normal cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora normal cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora normal math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora normal symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora normal vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-vietnamese.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;
}
/* Lora normal latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora normal latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora normal cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Lora normal cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Lora normal math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Lora normal symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* Lora normal vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-vietnamese.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;
}
/* Lora normal latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora normal latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans italic cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans italic vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-italic-vietnamese.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;
}
/* Plus Jakarta Sans italic latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans italic latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Plus Jakarta Sans normal cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Plus Jakarta Sans normal vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-vietnamese.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;
}
/* Plus Jakarta Sans normal latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Plus Jakarta Sans normal latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/2026/plus-jakarta-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Metric-matched fallbacks (2026-09-30): until a web font file arrives, text is
   set in a local font scaled to that web font's average width and line box, so
   the swap barely moves anything (CLS) even on a slow connection. Values come
   from the font files' hhea/OS2 metrics against Arial / Times New Roman. The
   unicode-range is the web fonts' own latin coverage, so a glyph they lack (the
   arrows) still falls through to the system font exactly as before. */
@font-face{font-family:'Plus Jakarta Sans Fallback';src:local('Arial'),local('ArialMT'),local('Liberation Sans');size-adjust:106.06%;ascent-override:97.87%;descent-override:20.93%;line-gap-override:0%;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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:'Lora Fallback';font-style:normal;src:local('Times New Roman'),local('TimesNewRomanPSMT'),local('Liberation Serif');size-adjust:116.76%;ascent-override:86.16%;descent-override:23.47%;line-gap-override:0%;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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:'Lora Fallback';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Liberation Serif Italic');size-adjust:112.59%;ascent-override:89.35%;descent-override:24.34%;line-gap-override:0%;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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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;}

/* Ouma redesign — master stylesheet (tokens, grid rails, nav, type, buttons, sections, footer).
   Every page in /pages inlines this same block first, then its page-specific rules. */

  :root{
    --teal:#0d3a38; --teal-mid:#134847; --teal-light:#1a5c58;
    --accent:#23b1a6; --terra:#c4836a; --blush:#e8c4b8; --mint:#c8eae4; --sage:#d4e4d9;
    --violet:#7a5adc;
    --sand:#f5ede8; --cream:#fbf8f5; --white:#fff;
    --body:#33514e; --muted:#6c757d;
    --serif:'Lora','Lora Fallback',Georgia,'Times New Roman',serif;
    --sans:'Plus Jakarta Sans','Plus Jakarta Sans Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --rail-light:rgba(13,58,56,0.10);
    --rail-dark:rgba(255,255,255,0.14);
    --maxw:1200px;
  }
  *{box-sizing:border-box;}
  body{margin:0;}
  .page{width:100%;overflow-x:clip;background:var(--white);color:var(--body);
    font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;}
  a{text-decoration:none;color:inherit;}

  /* ---- grid ---- */
  .band{width:100%;position:relative;--rail:var(--rail-light);}
  .band.dark{--rail:var(--rail-dark);}
  .sec{padding:104px 40px;max-width:var(--maxw);margin:0 auto;
    border-left:1px solid var(--rail);border-right:1px solid var(--rail);
    border-bottom:1px solid var(--rail);position:relative;}

  /* ---- type: Lora medium (never heavier than 500) ---- */
  h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--teal);margin:0;letter-spacing:-0.015em;line-height:1.1;}
  .display{font-size:66px;font-weight:500;line-height:1.04;letter-spacing:-0.02em;}
  .sectionhead{font-size:44px;font-weight:500;line-height:1.08;letter-spacing:-0.02em;}
  .eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:0.16em;
    text-transform:uppercase;color:var(--terra);margin:0 0 6px;}
  .dark .eyebrow{color:var(--accent);}
  .lede{font-size:18px;line-height:1.65;color:var(--muted);font-weight:400;}
  .lede-lg{font-size:21px;line-height:1.55;color:var(--body);font-weight:400;}
  .dark .lede,.dark .lede-lg{color:rgba(255,255,255,0.74);}
  .em-warm{color:var(--terra);font-style:italic;}
  .em-mint{color:var(--mint);font-style:italic;}
  .stat-num{font-family:var(--sans);font-weight:300;letter-spacing:-0.03em;
    font-variant-numeric:tabular-nums;color:var(--teal);}
  .dark .stat-num{color:#fff;}
  .stat-label{font-size:14px;line-height:1.45;color:var(--body);}
  .dark .stat-label{color:rgba(255,255,255,0.66);}

  /* ---- flanked section header (repeatable) ---- */
  .shead{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;}
  .shead.center{grid-template-columns:1fr;text-align:center;max-width:720px;margin:0 auto;gap:0;}
  .shead-title{align-self:end;}
  .shead-body{align-self:end;}
  .shead-body .lede-lg{margin:0;}
  .shead-body .learn-lg{margin-top:22px;}
  .learn-lg{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:7px;}

  /* ---- buttons ---- */
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);
    font-weight:600;font-size:15px;padding:14px 28px;border-radius:100px;border:1.5px solid transparent;
    cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease;}
  .btn .arw{transition:transform .2s ease;}
  .btn:hover .arw{transform:translateX(3px);}
  .btn-primary{background:var(--teal);color:#fff;}
  .btn-primary:hover{background:#155755;transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(13,58,56,.45);}
  .btn-ghost{background:transparent;color:var(--teal);border-color:rgba(13,58,56,.25);}
  .btn-ghost:hover{border-color:var(--teal);transform:translateY(-2px);}
  .btn-light{background:#fff;color:var(--teal);}
  .btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(0,0,0,.28);}
  .btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
  .btn-ghost-light:hover{border-color:#fff;transform:translateY(-2px);}

  /* ---- nav (overlays the hero; transparent at rest) ---- */
  .nav{position:sticky;top:0;z-index:50;width:100%;background:transparent;border-bottom:1px solid rgba(13,58,56,0.08);
    transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;}
  .nav.scrolled{background:#fff;border-bottom-color:rgba(13,58,56,0.08);box-shadow:0 1px 3px rgba(13,58,56,0.05);}
  .nav-in{max-width:var(--maxw);margin:0 auto;height:72px;padding:0 40px;
    display:flex;align-items:center;justify-content:space-between;
    border-left:1px solid var(--rail-light);border-right:1px solid var(--rail-light);}
  /* at rest the nav is transparent over the hero, whose own rails show through: hide the nav's copy so the two don't stack */
  .nav:not(.scrolled) .nav-in{border-left-color:transparent;border-right-color:transparent;}
  .nav-left{display:flex;align-items:baseline;gap:40px;}
  .nav-logo{height:26px;display:block;}
  .nav-links{display:flex;align-items:baseline;gap:28px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--teal);opacity:.9;transition:opacity .2s;}
  .nav-links a:hover{opacity:1;color:var(--accent);}
  .nav-right{display:flex;align-items:center;gap:20px;}
  .nav-login{font-size:14.5px;font-weight:600;color:var(--teal);}
  .nav-login:hover{color:var(--accent);}
  .nav-cta{background:var(--teal);color:#fff;font-size:14px;font-weight:600;
    padding:10px 20px;border-radius:100px;transition:background .2s,transform .2s;}
  .nav-cta:hover{background:#155755;transform:translateY(-1px);}
  .chev{width:12px;height:12px;display:inline-block;vertical-align:middle;margin-left:3px;opacity:.6;}

  /* ---- hero (nav sits over it) ---- */
  .hero{margin-top:-72px;background:linear-gradient(158deg,#F4EBE4 0%,#E7F3F0 38%,#FBF8F5 66%,#EFE3DB 100%);
    --rail:var(--rail-light);position:relative;overflow:hidden;z-index:2;margin-bottom:-48px;}
  .hero-in{max-width:var(--maxw);margin:0 auto;padding:150px 40px 152px;min-height:820px;box-sizing:border-box;
    border-left:1px solid var(--rail);border-right:1px solid var(--rail);
    position:relative;z-index:2;
    display:flex;flex-direction:column;justify-content:flex-start;}
  .hero-in::after{content:'';position:absolute;left:-1px;right:-1px;bottom:48px;height:1px;background:var(--rail);z-index:3;}
  .hero-col{position:relative;z-index:3;max-width:600px;}
  .hero .eyebrow{margin:0 0 14px;}
  .hero .display{margin:0 0 20px;font-size:45px;line-height:1.1;}
  .hero .lede-lg{max-width:540px;font-size:19.5px;color:#46605c;}
  .hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
  /* abstract imagery that the headline overlaps */
  .hero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
  /* spectral sweep — abstract art bleeding off the right and bottom edges */
  .hero-spectral{position:absolute;right:-8%;top:365px;left:-2%;height:760px;z-index:1;pointer-events:none; /* fixed px, top-anchored: a font swap that changes the hero height must not move it (CLS) */
    
    background:
      radial-gradient(ellipse 42% 40% at 62% 44%,rgba(35,177,166,.34),transparent 62%),
      radial-gradient(ellipse 40% 46% at 78% 60%,rgba(196,131,106,.4),transparent 62%),
      radial-gradient(ellipse 44% 48% at 88% 74%,rgba(232,196,184,.5),transparent 64%),
      radial-gradient(ellipse 90% 40% at 70% 108%,rgba(200,234,228,.62),transparent 70%),
      radial-gradient(ellipse 70% 30% at 26% 116%,rgba(212,228,217,.42),transparent 72%);
    filter:blur(30px);animation:spectralflow 22s ease-in-out infinite;}
  /* sub-page heroes: the spectral glow's box is pinned in px per page (the values it
     had with the fonts loaded), so a font swap that changes the hero height cannot
     move or resize it (it caused most of the ultrasound page's CLS). */
  .subhero-art .hero-spectral{top:var(--sp-t,-150px);bottom:auto;height:var(--sp-h,1115px);}
  @media (max-width:760px){.subhero-art .hero-spectral{top:var(--sp-tm,var(--sp-t,-150px));height:var(--sp-hm,var(--sp-h,1115px));}}
  .hero-glow{display:none;}
  .orb{position:absolute;border-radius:50%;}
  .orb-fill-mint{width:380px;height:380px;top:498px;left:62%;
    background:radial-gradient(circle at 38% 38%,rgba(200,234,228,.85) 0%,rgba(200,234,228,.32) 55%,transparent 100%);
    animation:drift 14s ease-in-out infinite;}
  .orb-fill-blush{width:270px;height:270px;top:566px;left:50%;
    background:radial-gradient(circle at 40% 40%,rgba(232,196,184,.8) 0%,rgba(232,196,184,.3) 55%,transparent 100%);
    animation:drift 17s ease-in-out infinite reverse;}
  .orb-ring-a{width:560px;height:560px;top:396px;left:56%;border:1.5px solid rgba(35,177,166,.32);
    animation:drift 16s ease-in-out infinite;}
  .orb-ring-b{width:210px;height:210px;top:452px;left:76%;border:1.5px solid rgba(196,131,106,.38);
    animation:drift 12s ease-in-out infinite reverse;}
  .orb-dot{width:12px;height:12px;top:470px;left:60%;background:var(--accent);opacity:.5;
    animation:pulse 5s ease-in-out infinite;}
  @keyframes spectralflow{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-2%,-1.4%) scale(1.045);}}
  @keyframes drift{0%,100%{transform:translate(0,0);}50%{transform:translate(-18px,22px);}}
  @keyframes pulse{0%,100%{transform:scale(1);opacity:.5;}50%{transform:scale(1.5);opacity:.25;}}

  /* ---- stat feature (Stripe backbone equivalent: burst + rainbow underlay) ---- */
  .statstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:60px;
    border-top:1px solid var(--rail);border-bottom:1px solid var(--rail);position:relative;z-index:2;}
  .statcell{padding:46px 32px;border-left:1px solid var(--rail);display:flex;flex-direction:column;align-items:flex-start;}
  .statcell:first-child{border-left:none;}
  .statcell .stat-num{font-size:62px;line-height:1;letter-spacing:-0.035em;}
  .stat-num sup{font-size:1em;vertical-align:baseline;font-weight:inherit;margin-left:1px;letter-spacing:inherit;}
  .stat-rule{width:26px;height:3px;border-radius:2px;margin:20px 0 14px;}
  /* large feature stats (dark problem band) */
  .pstat{font-family:var(--sans);font-weight:300;font-size:70px;line-height:1;color:#fff;letter-spacing:-0.035em;display:flex;align-items:center;gap:12px;}
  .pstat .conn{font-size:22px;font-weight:400;letter-spacing:0.02em;text-transform:lowercase;}
  .pstat sup{font-size:1em;vertical-align:baseline;font-weight:inherit;margin-left:2px;}
  /* orb cluster that floats above and is cut hard at the section seam */
  .orbrow{position:relative;height:300px;margin-top:0;overflow:hidden;}
  .orbrow .fo,.orbrow .rg,.orbrow .dt{position:absolute;border-radius:50%;}
  .orbrow .rg{border-width:1.5px;border-style:solid;}

  /* ---- ruled editorial matrix (replaces fused cards) ---- */
  .matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    margin:60px -40px 0;border-top:1px solid var(--rail);border-bottom:1px solid var(--rail);}
  .mcell{padding:36px 40px 34px;border-left:1px solid var(--rail);
    display:flex;flex-direction:column;transition:background .2s;}
  .mcell:nth-child(3n+1){border-left:none;}
  .mcell:nth-child(n+4){border-top:1px solid var(--rail);}
  a.mcell:hover{background:rgba(35,177,166,.05);}
  .micon{width:26px;height:26px;margin-bottom:20px;stroke:var(--accent);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .mcell h4{font-size:22px;font-weight:500;margin:0 0 9px;}
  .mcell p{font-size:14.5px;line-height:1.62;color:var(--muted);margin:0 0 18px;flex-grow:1;}
  .learn{font-size:13.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);}

  /* ---- ruled rows (audiences) ---- */
  .rows{border-top:1px solid var(--rail);margin-top:56px;}
  .row{display:grid;grid-template-columns:0.85fr 1.5fr auto;gap:36px;align-items:center;
    padding:28px 12px;border-bottom:1px solid var(--rail);transition:background .2s;}
  a.row:hover{background:rgba(35,177,166,.05);}
  .row .rowtag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;}
  .row h4{font-size:22px;font-weight:500;margin:0;}
  .row p{font-size:15px;color:var(--muted);margin:0;line-height:1.55;}
  .row .go{font-family:var(--sans);font-size:20px;color:var(--accent);}

  /* ---- BENTO showcase (calmer palette) ---- */
  .bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:60px;}
  .panel{position:relative;border-radius:20px;overflow:hidden;padding:34px;min-height:320px;
    display:flex;flex-direction:column;isolation:isolate;}
  .panel h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.16;max-width:84%;margin:0 0 3px;position:relative;z-index:3;letter-spacing:-0.01em;}
  .panel .psub{font-size:14px;color:var(--muted);position:relative;z-index:3;max-width:88%;}
  .panel.on-dark h3{color:#fff;}
  .panel.on-dark .psub{color:rgba(255,255,255,.72);}
  .p-span7{grid-column:span 7;} .p-span5{grid-column:span 5;} .p-span4{grid-column:span 4;}
  .expand{position:absolute;top:22px;right:22px;width:34px;height:34px;border-radius:10px;z-index:4;
    display:flex;align-items:center;justify-content:center;background:rgba(13,58,56,.07);}
  .panel.on-dark .expand{background:rgba(255,255,255,.16);}
  .expand svg{width:15px;height:15px;stroke-width:2;fill:none;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;}
  .panel.on-dark .expand svg{stroke:#fff;}
  .panel-visual{position:relative;z-index:2;margin-top:auto;}

  .pnl-portal{background:#fff;border:1px solid var(--rail-light);}
  .pview{position:relative;z-index:2;border-radius:14px 14px 0 0;overflow:hidden;background:#fff;
    box-shadow:0 30px 70px -28px rgba(13,58,56,.4);margin:20px auto -34px;max-width:88%;}
  .pview-bar{height:34px;background:#f2f4f4;display:flex;align-items:center;gap:6px;padding:0 14px;border-bottom:1px solid rgba(0,0,0,.06);}
  .pview-dot{width:9px;height:9px;border-radius:50%;background:#d5dbdb;}
  .pview-body{padding:20px;display:flex;flex-direction:column;gap:12px;}
  .pview-row{display:flex;gap:12px;align-items:center;}
  .pview-avatar{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 38% 38%,var(--mint),var(--sage));flex:none;}
  .skl{height:10px;border-radius:6px;background:#eef1f1;}
  .pview-card{border:1px solid rgba(13,58,56,.08);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:9px;}
  .pview-metric{display:flex;justify-content:space-between;align-items:baseline;}

  .pnl-meter{background:linear-gradient(150deg,#dff2ec 0%,#eadff0 60%,#f2ddd3 100%);}
  .metercard{background:#fff;border-radius:14px;padding:18px;box-shadow:0 20px 46px -24px rgba(13,58,56,.3);}
  .meterbar{height:10px;border-radius:6px;margin:12px 0 16px;background:linear-gradient(90deg,var(--accent),var(--mint),var(--terra));}
  .barrow{display:flex;align-items:flex-end;gap:4px;height:64px;}
  .barrow span{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent),#7fd9cf);opacity:.85;}

  .pnl-msg{background:linear-gradient(160deg,#fbeee8 0%,#f6e7e0 100%);}
  .bubble{background:#fff;border-radius:14px;padding:12px 15px;font-size:13px;line-height:1.5;color:var(--body);
    box-shadow:0 8px 22px -12px rgba(13,58,56,.28);max-width:82%;margin-top:10px;}
  .bubble.them{background:var(--teal);color:#fff;margin-left:auto;}

  .pnl-mon{background:linear-gradient(150deg,#0d3a38 0%,#134847 55%,#1a5c58 100%);}
  .vitalcard{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:16px;backdrop-filter:blur(6px);}
  .spark{height:56px;display:block;width:100%;margin-top:8px;}

  .pnl-states{background:linear-gradient(155deg,#e7f4f0 0%,#eef6f1 55%,#f5ede8 100%);border:1px solid var(--rail-light);}
  .arcwrap{position:absolute;inset:0;z-index:1;}
  .sec-overflow::after{content:'';position:absolute;left:-1px;right:-1px;bottom:32px;height:1px;background:var(--rail-dark);z-index:3;}
  .sec-overflow-top::before{content:'';position:absolute;left:-1px;right:-1px;top:32px;height:1px;background:var(--rail-dark);z-index:3;}
  /* experiment: color fields that bleed past the grid divider lines */
  .field{position:relative;}
  .field-warm{background:radial-gradient(ellipse 125% 52% at 50% 50%,rgba(232,196,184,0.42) 0%,rgba(245,237,232,0.26) 42%,transparent 72%);}
  .field-mint{background:linear-gradient(180deg,transparent 0%,rgba(200,234,228,0.24) 40%,rgba(200,234,228,0.42) 100%);}
  .usmapbg{position:absolute;right:-14%;bottom:-30%;width:128%;z-index:0;}

  /* ---- clinicians: rising-sun composition ---- */
  .rise{position:relative;height:400px;margin-top:4px;overflow:hidden;}
  .rise-orb{position:absolute;border-radius:50%;z-index:0;transform:translate(-50%,-50%);}
  .rise-horizon{position:absolute;left:0;right:0;bottom:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(13,58,56,.22) 14%,rgba(13,58,56,.22) 86%,transparent);z-index:3;}
  .rise-arc{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    border:1px solid rgba(13,58,56,.12);border-bottom:none;border-radius:1000px 1000px 0 0;z-index:1;}
  .rise-sun{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:300px;height:150px;
    border-radius:150px 150px 0 0;overflow:hidden;z-index:4;
    background:radial-gradient(150px 150px at 50% 100%,#ffffff 0%,#dff4ef 46%,#c8eae4 78%,#a9dcd3 100%);
    box-shadow:0 -24px 70px -18px rgba(35,177,166,.55);}
  .rise-sun b{position:absolute;left:0;right:0;bottom:24px;text-align:center;font-family:var(--serif);font-weight:500;color:var(--teal);font-size:19px;line-height:1.1;}
  .rise-sun b em{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-bottom:5px;}
  .rise-pulse{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:760px;height:380px;transform-origin:50% 100%;opacity:0;
    border:1.5px solid rgba(35,177,166,.5);border-bottom:none;border-radius:1000px 1000px 0 0;z-index:2;}
  .rise-pulse.p1{animation:beam 5s ease-in-out infinite;}
  .rise-pulse.p2{animation:beam 5s ease-in-out infinite 2.5s;}
  /* beam: scales instead of animating width/height, so it runs on the compositor with no layout per frame */
  @keyframes beam{0%{transform:translateX(-50%) scale(1);opacity:0;}22%{opacity:.5;}100%{transform:translateX(-50%) scale(.3947);opacity:0;}}
  .stag{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(13,58,56,.08);border-radius:100px;
    padding:9px 15px;font-size:12.5px;font-weight:600;color:var(--teal);white-space:nowrap;font-family:var(--sans);
    box-shadow:0 8px 22px -10px rgba(13,58,56,.26);display:flex;align-items:center;gap:8px;z-index:5;}
  .stag i{width:7px;height:7px;border-radius:50%;display:block;flex:none;}

  /* ---- closing + footer ---- */
  .closeband{--rail:var(--rail-dark);width:100%;margin-top:-32px;background:radial-gradient(ellipse 70% 55% at 16% 0%,rgba(200,234,228,.20) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 92% 4%,rgba(232,196,184,.16) 0%,transparent 55%),linear-gradient(160deg,#0D3A38 0%,#134847 45%,#0D3A38 100%);}
  .closein{max-width:1200px;margin:0 auto;border-left:1px solid var(--rail-dark);border-right:1px solid var(--rail-dark);padding-top:32px;position:relative;z-index:1;}
  .closein::before{content:'';position:absolute;left:-1px;right:-1px;top:32px;height:1px;background:var(--rail-dark);z-index:3;}
  .close-cta{padding:96px 64px;text-align:center;border-bottom:1px solid var(--rail-dark);}
  .close-cta .sectionhead{color:#fff;max-width:700px;margin:0 auto 20px;}
  .close-cta .lede-lg{color:rgba(255,255,255,.74);max-width:540px;margin:0 auto 32px;}
  .close-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .foot{padding:56px 64px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;border-bottom:1px solid var(--rail-dark);}
  .foot-brand img,.foot-brand svg{height:26px;margin-bottom:18px;}
  .foot-brand p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.6);max-width:260px;margin:0;}
  .foot-col h5{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 16px;}
  .foot-col a{display:block;font-size:13.5px;color:rgba(255,255,255,.78);margin-bottom:11px;transition:color .2s;}
  .foot-col a:hover{color:#fff;}
  .foot-ext{font-size:11px;color:rgba(255,255,255,.5);vertical-align:1px;}
  .foot-col h5.foot-sub{margin-top:30px;}
  .foot-legal{padding:24px 64px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:rgba(255,255,255,.5);}
  .foot-legal a{color:rgba(255,255,255,.5);} .foot-legal a:hover{color:#fff;}

  @media (max-width:940px){
    .shead{grid-template-columns:1fr;gap:24px;align-items:start;}
    .matrix{grid-template-columns:repeat(2,minmax(0,1fr));}
    .p-span7,.p-span5,.p-span4{grid-column:span 12;}
    .statstrip{grid-template-columns:repeat(2,minmax(0,1fr));}
    .statcell:nth-child(3){border-left:none;}
    .row{grid-template-columns:1fr;gap:8px;}
    .foot{grid-template-columns:1fr 1fr;}
    .display{font-size:38px;}
    .hero .display{font-size:38px;}
    .sectionhead{font-size:32px;}
    .nav-links,.nav-login{display:none;}
    .hero-in{padding:150px 40px 72px;min-height:0;}
  }

  /* ===== SHARED INTERIOR COMPONENTS (master — promoted from Service layer) ===== */
  /* ---- interior page components ---- */
  .subhero{position:relative;overflow:hidden;background:linear-gradient(158deg,#F4EBE4 0%,#E7F3F0 42%,#FBF8F5 72%,#EFE3DB 100%);margin-top:-72px;z-index:2;margin-bottom:-48px;}
  .subhero-in{max-width:var(--maxw);margin:0 auto;padding:150px 40px 118px;border-left:1px solid var(--rail-light);border-right:1px solid var(--rail-light);position:relative;z-index:2;}
  .subhero-in::after{content:'';position:absolute;left:-1px;right:-1px;bottom:48px;height:1px;background:var(--rail-light);z-index:3;}
  .subhero-col{max-width:700px;position:relative;z-index:3;}
  .subhero h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.12;letter-spacing:-0.02em;margin:12px 0 22px;color:var(--teal);}
  .subhero .lede-lg{max-width:580px;font-size:15.5px;line-height:1.68;color:#46605c;margin:0 0 14px;}
  .subhero-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
  .trustline{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:34px;align-items:center;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--teal);}
  .trustline .dot{width:4px;height:4px;border-radius:50%;background:var(--terra);opacity:.6;}
  .prose{max-width:760px;}
  .prose p{font-size:17px;line-height:1.7;color:var(--body);margin:0 0 18px;}
  .dark .prose p{color:rgba(255,255,255,.82);}
  .bigfig{display:flex;align-items:baseline;gap:18px;margin:36px 0 8px;}
  .bigfig b{font-family:var(--sans);font-weight:300;font-size:56px;color:#fff;letter-spacing:-0.03em;line-height:1;white-space:nowrap;}
  .bigfig b sup{font-size:.26em;font-weight:600;color:var(--accent);vertical-align:baseline;position:relative;top:-1.75em;}
  .bigfig span{font-size:14.5px;color:rgba(255,255,255,.8);max-width:380px;line-height:1.5;}
  .sec-overflow-top.rail-light::before{background:var(--rail-light);}
  .sec-overflow.rail-light::after{background:var(--rail-light);}
  /* spectrum sweep — horizontal warm→blue→mint blur with dot-grid, matches homepage motif */
  .spectrum{position:absolute;pointer-events:none;z-index:0;}
  .spectrum::before{content:'';position:absolute;inset:0;filter:blur(38px);
    background:
      radial-gradient(ellipse 30% 64% at 13% 52%, rgba(196,131,106,.60), transparent 66%),
      radial-gradient(ellipse 26% 56% at 32% 55%, rgba(232,196,184,.52), transparent 66%),
      radial-gradient(ellipse 26% 54% at 51% 50%, rgba(151,146,208,.46), transparent 66%),
      radial-gradient(ellipse 28% 60% at 71% 50%, rgba(120,166,222,.52), transparent 66%),
      radial-gradient(ellipse 30% 64% at 90% 52%, rgba(150,222,220,.58), transparent 68%);}
  .spectrum::after{content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(19,72,71,.32) 1.1px, transparent 1.6px);
    background-size:12px 12px;
    -webkit-mask-image:radial-gradient(ellipse 58% 60% at 46% 52%, #000 4%, transparent 70%);
            mask-image:radial-gradient(ellipse 58% 60% at 46% 52%, #000 4%, transparent 70%);
    opacity:.55;}
  /* impact statement — spectral glow under text */
  .prose .impact-line{font-family:var(--sans);font-weight:400;font-size:24px;line-height:1.42;letter-spacing:-0.012em;color:#fff;margin:22px 0 0;max-width:none;}
  .prose .impact-line em{font-style:normal;font-weight:500;color:var(--terra);}
  .modes{display:grid;grid-template-columns:repeat(3,1fr);margin:52px -40px 0;border-top:1px solid var(--rail-light);border-bottom:1px solid var(--rail-light);}
  .modecard{padding:34px 40px;border-left:1px solid var(--rail-light);}
  .modecard:first-child{border-left:none;}
  .modecard .tag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);}
  .modecard h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--teal);margin:8px 0 6px;}
  .modecard .lead{font-size:14px;color:var(--body);margin:0 0 16px;}
  .modecard ul{list-style:none;margin:0;padding:0;}
  .modecard li{font-size:13.5px;color:var(--body);padding:10px 0 10px 20px;border-top:1px solid var(--rail-light);position:relative;line-height:1.45;}
  .modecard li:before{content:'';position:absolute;left:0;top:16px;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.55;}
  .modecard .settings{font-size:12px;color:var(--muted);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rail-light);line-height:1.5;}
  .modecard .settings b{color:var(--body);font-weight:600;}
  .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:52px;}
  .ptile .pnum{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--terra);text-transform:uppercase;}
  .ptile h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--teal);margin:12px 0 8px;line-height:1.15;}
  .ptile p{font-size:14.5px;color:var(--body);margin:0;line-height:1.55;}
  .studycard{background:#fff;border-radius:18px;padding:32px 34px;max-width:560px;margin-top:48px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);position:relative;z-index:2;}
  .studycard .journal{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--teal);}
  .studycard .meta{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px;}
  .studycard h4{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--teal);margin:16px 0 10px;line-height:1.3;}
  .studycard .authors{font-size:13px;color:var(--body);}
  .studycard .authors em{font-style:normal;font-weight:600;}
  .studycard .affil{font-size:12px;color:var(--muted);margin-top:3px;}
  .studycard .kfl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-top:22px;}
  .studycard .kf{font-size:15px;color:var(--body);line-height:1.5;margin:6px 0 0;}
  .studycard .links{margin-top:22px;display:flex;gap:22px;align-items:center;font-family:var(--sans);font-size:13px;font-weight:600;}
  .studycard .links a{color:var(--accent);text-decoration:none;}
  .studycard .links a.src-pill{display:inline-flex;align-items:center;border:1px solid var(--rail-light);border-radius:999px;padding:5px 14px;background:rgba(35,177,166,.07);line-height:1;transition:background .15s ease,border-color .15s ease;}
  .studycard .links a.src-pill:hover{background:rgba(35,177,166,.14);border-color:var(--accent);}
  .xsell{display:grid;grid-template-columns:repeat(4,1fr);margin:56px -40px 0;border-top:1px solid var(--rail-light);border-bottom:1px solid var(--rail-light);}
  .xcell{display:flex;flex-direction:column;padding:34px 40px;border-left:1px solid var(--rail-light);transition:background .2s;}
  .xcell:first-child{border-left:none;}
  a.xcell:hover{background:rgba(35,177,166,.05);}
  .xicon{width:46px;height:46px;border-radius:13px;background:rgba(35,177,166,.10);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
  .xicon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .xcell h4{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--teal);margin:0 0 8px;line-height:1.25;}
  .xcell p{font-size:14px;color:var(--body);margin:0 0 18px;line-height:1.55;flex-grow:1;}
  .xcell .learn{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--accent);}
  @media(max-width:940px){.xsell{grid-template-columns:1fr 1fr;}}
  .auds{display:grid;grid-template-columns:repeat(3,1fr);margin:48px -40px 0;border-top:1px solid var(--rail-light);border-bottom:1px solid var(--rail-light);}
  .audcard{display:flex;flex-direction:column;padding:34px 40px;border-left:1px solid var(--rail-light);transition:background .2s;}
  .audcard:first-child{border-left:none;}
  a.audcard:hover{background:rgba(35,177,166,.05);}
  .audcard h3{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--teal);margin:0 0 10px;}
  .audcard p{font-size:14px;color:var(--body);margin:0 0 20px;line-height:1.55;flex-grow:1;}
  .audcard .go{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--accent);}
  @media(max-width:940px){.auds{grid-template-columns:1fr;}}
  .ofaq{border-top:1px solid var(--rail-light);margin-top:44px;}
  .ofaq details{border-bottom:1px solid var(--rail-light);}
  .ofaq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--teal);position:relative;}
  .ofaq summary::-webkit-details-marker{display:none;}
  .ofaq summary:after{content:'+';position:absolute;right:6px;top:20px;font-family:var(--sans);font-size:24px;color:var(--accent);font-weight:300;}
  .ofaq details[open] summary:after{content:'−';}
  .ofaq .ans{padding:0 44px 26px 0;font-size:15px;color:var(--body);line-height:1.65;max-width:820px;}
  .answers{position:relative;color:#fff;z-index:2;}
  .answers .lbl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent);position:relative;z-index:2;}
  .answers h3{font-family:var(--serif);font-weight:500;font-size:27px;margin:14px 0 12px;color:#fff;max-width:640px;position:relative;z-index:2;line-height:1.2;}
  .answers .shortlbl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);position:relative;z-index:2;}
  .answers p{font-size:15px;color:rgba(255,255,255,.82);max-width:600px;margin:8px 0 22px;position:relative;z-index:2;line-height:1.6;}
  .answers .eyebrow{font-size:12px;line-height:1.1;margin:0 0 12px;}
  /* light variant of the answers band */
  .answers.light{color:var(--body);}
  .answers.light h3{color:var(--teal);}
  .answers.light p{color:var(--body);}
  .answers.light .shortlbl{color:var(--muted);}
  .answers.light .rev{color:var(--muted);}
  .answers.light .ans-grid .related{border-color:var(--rail-light);}
  .answers.light .related .rl{color:var(--muted);}
  .answers.light .related a{color:var(--teal);border-color:var(--rail-light);}
  .answers .rev{font-size:12.5px;color:rgba(255,255,255,.5);margin-top:18px;position:relative;z-index:2;}
  .ans-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr 0.85fr;gap:52px;align-items:start;}
  .ans-grid .related{border-left:1px solid var(--rail-dark);padding-left:36px;}
  @media(max-width:940px){.ans-grid{grid-template-columns:1fr;}.ans-grid .related{border-left:none;padding-left:0;border-top:1px solid var(--rail-dark);padding-top:22px;}}
  .answers .related{position:relative;z-index:2;}
  .answers .related .rl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;}
  .answers .related a{display:block;color:#fff;font-size:14.5px;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--rail-dark);}
  /* framed "From Ouma Answers" — the gradient border IS the section's grid cell: zero the sec padding/rails so the frame lands on the master-grid lines */
  .sec-answers{padding:0;border-left:none;border-right:none;border-bottom:none;}
  .answers-framed{padding:80px 56px;border:4px solid transparent;background:linear-gradient(rgba(255,255,255,.70),rgba(255,255,255,.70)) padding-box,linear-gradient(122deg,var(--blush),var(--accent) 52%,var(--mint)) border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative;z-index:3;animation:framePulse 6s ease-in-out infinite;}
  @keyframes framePulse{0%,100%{box-shadow:0 0 0 0 rgba(35,177,166,0);}50%{box-shadow:0 6px 46px 2px rgba(35,177,166,.17);}}
  .answers-framed .shortlbl{margin:26px 0 3px;}
  @media(prefers-reduced-motion:reduce){.answers-framed{animation:none;}}
  @media(max-width:720px){.answers-framed{padding:40px 24px;}}
  .aorb{position:absolute;border-radius:50%;z-index:0;}
  /* cited stat band + footnotes */
  .statband{display:grid;grid-template-columns:repeat(4,1fr);}
  .sb-stat{padding:0 26px;border-left:1px solid var(--rail-light);}
  .sb-stat:first-child{border-left:none;padding-left:0;}
  .sb-stat b{position:relative;display:inline-block;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-family:var(--sans);font-weight:300;font-size:44px;color:var(--teal);letter-spacing:-0.035em;line-height:1;}
  .sb-stat b .u{display:inline;font-size:1em;line-height:1;font-weight:inherit;letter-spacing:inherit;vertical-align:baseline;}
  .sb-stat b sup{position:absolute;left:100%;top:0;font-size:.30em;font-weight:600;color:var(--accent);margin-left:3px;line-height:1;vertical-align:baseline;}
  .sb-stat span{display:block;font-size:13.5px;color:var(--body);margin-top:15px;line-height:1.5;max-width:230px;}
  .footnotes{border-top:1px solid var(--rail-light);margin-top:40px;padding-top:24px;}
  .fn{display:grid;grid-template-columns:26px 1fr;font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:11px;max-width:1000px;}
  .fn .n{font-weight:700;color:var(--body);}
  .fn i{font-style:italic;}
  .fn a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(35,177,166,.4);}
  .dark .footnotes{border-color:var(--rail-dark);} .dark .fn{color:rgba(255,255,255,.5);} .dark .fn .n{color:rgba(255,255,255,.75);}
  .dark .fn a{border-color:rgba(35,177,166,.5);}
  /* definition — consult flow */
  .defn{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  .consult{position:relative;}
  .consult svg{display:block;width:100%;height:auto;}
  @media(max-width:940px){.defn{grid-template-columns:1fr;}}
  .split{display:grid;gap:56px;align-items:start;}
  @media(max-width:940px){.split{grid-template-columns:1fr !important;}}


  /* ===== TESTIMONIALS (master) ===== */
  /* testimonials */
  .quotes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px;}
  .qcard{border:1px solid var(--rail-light);background:#fff;padding:34px 36px;display:flex;flex-direction:column;}
  .qcard blockquote{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.55;color:var(--teal);margin:0 0 26px;flex-grow:1;}
  .qmeta{display:flex;align-items:center;gap:14px;}
  .qav{width:44px;height:44px;border-radius:50%;background:linear-gradient(150deg,#0D3A38,#134847);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.04em;flex-shrink:0;}
  img.qav{object-fit:cover;object-position:center top;display:block;}
  .qn{font-family:var(--sans);font-weight:600;font-size:14.5px;color:var(--teal);}
  .qt{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.4;}
  @media(max-width:940px){.quotes{grid-template-columns:1fr;}}
.nav-loginwrap{position:relative;display:inline-flex;align-items:center;}.nav-loginwrap .nav-login{display:inline-flex;align-items:center;gap:5px;}.nav-loginwrap .nav-login .chev{width:12px;height:12px;opacity:.7;}.nav-lmenu{position:absolute;right:-14px;top:calc(100% + 14px);min-width:260px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 24px 50px -20px rgba(13,58,56,.35),0 0 0 1px rgba(13,58,56,.08);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60;}.nav-loginwrap:hover .nav-lmenu,.nav-loginwrap:focus-within .nav-lmenu{opacity:1;visibility:visible;transform:none;}.nav-lmenu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px;}.nav-lmenu a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:9px;text-align:left;}.nav-lmenu a+a{margin-top:2px;}.nav-lmenu a:hover{background:rgba(35,177,166,.08);}.nav-lmenu b{font-family:var(--sans);font-size:14.5px;font-weight:600;color:#0D3A38;}.nav-lmenu span{font-family:var(--sans);font-size:12.5px;color:#6C757D;}
  /* ---- Portal: reusable cross-link to a related page (light ground, soft spectral wash + concentric rings) ----
     Markup: .portal > .p-spectral + .p-rings(span*3) + .p-body(.eyebrow, h3, p) + .p-cta(.btn) */
  .portal{position:relative;overflow:hidden;border:1px solid var(--rail-light);background:var(--cream);padding:30px 40px;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;}
  .portal .p-spectral{position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(ellipse 52% 150% at 100% 50%,rgba(35,177,166,.16),transparent 60%),
      radial-gradient(ellipse 56% 150% at 95% 18%,rgba(200,234,228,.44),transparent 64%),
      radial-gradient(ellipse 42% 130% at 84% 116%,rgba(196,131,106,.14),transparent 62%),
      radial-gradient(ellipse 40% 120% at 72% 122%,rgba(232,196,184,.18),transparent 66%);}
  .portal .p-rings{position:absolute;top:50%;right:-46px;transform:translateY(-50%);width:360px;height:360px;pointer-events:none;z-index:0;}
  .portal .p-rings span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;}
  .portal .p-rings span:nth-child(1){width:118px;height:118px;border:1px solid rgba(13,58,56,.10);}
  .portal .p-rings span:nth-child(2){width:232px;height:232px;border:1px solid rgba(13,58,56,.07);}
  .portal .p-rings span:nth-child(3){width:360px;height:360px;border:1px solid rgba(13,58,56,.045);}
  .portal .p-body{position:relative;z-index:1;}
  .portal .p-body .eyebrow{font-size:12px;color:var(--terra);margin:0 0 8px;}
  .portal h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--teal);margin:0 0 6px;line-height:1.28;position:relative;z-index:1;}
  .portal .p-body p{font-size:14px;color:var(--body);line-height:1.55;margin:0;max-width:660px;}
  .portal .p-cta{position:relative;z-index:1;}
  @media(max-width:940px){.portal{grid-template-columns:1fr;gap:20px;padding:26px 24px;}.portal .p-rings{display:none;}}


/* =====================================================================
   ADDITIONS FOR PRODUCTION (not in the design package)
   Everything above this line is ouma-master.css from the 2026-09-29 Claude
   Design handoff, verbatim. Everything below closes the gaps the README lists
   under "Things engineering needs to decide or wire up".
   ===================================================================== */

html{scroll-behavior:smooth;}
body{background:#fff;}
img,svg{max-width:100%;}
.page img{height:auto;}

/* ---- keyboard focus (the design specifies hover only) ---- */
.page a:focus-visible,.page button:focus-visible,.page summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

/* ---- nav: dropdown menus (Services / Who We Serve / Resources) ----
   Same card language as the design's Log In menu (.nav-lmenu). */
.nav-dd{position:relative;display:inline-flex;align-items:baseline;}
.nav-ddt{font:inherit;font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--teal);opacity:.9;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;transition:opacity .2s,color .2s;}
.nav-ddt:hover,.nav-dd.open .nav-ddt,.nav-dd:focus-within .nav-ddt{opacity:1;color:var(--accent);}
.nav-ddt .chev{transition:transform .18s;}
.nav-dd.open .nav-ddt .chev{transform:rotate(180deg);}
.nav-ddp{position:absolute;left:-18px;top:calc(100% + 22px);background:#fff;border-radius:16px;padding:10px;
  box-shadow:0 28px 60px -22px rgba(13,58,56,.38),0 0 0 1px rgba(13,58,56,.08);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60;}
.nav-ddp::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;}
@media (hover:hover){.nav-dd:hover .nav-ddp{opacity:1;visibility:visible;transform:none;}}
.nav-dd.open .nav-ddp,.nav-dd:focus-within .nav-ddp{opacity:1;visibility:visible;transform:none;}
.nav-ddp.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:600px;}
.nav-ddp.cols1{width:300px;}
.nav-ddp a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:10px;text-align:left;opacity:1;transition:background .15s;}
.nav-ddp a:hover{background:rgba(35,177,166,.08);}
.nav-ddp a b{font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--teal);}
.nav-ddp a span{font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:400;}
.nav-ddp a.feat{grid-column:1 / -1;background:linear-gradient(120deg,rgba(200,234,228,.55),rgba(232,196,184,.35));margin-bottom:6px;padding:14px 16px;}
.nav-ddp a.feat:hover{background:linear-gradient(120deg,rgba(200,234,228,.8),rgba(232,196,184,.5));}
.nav-ddp a.feat em{font-style:normal;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);}
.nav-ddp .dd-all{grid-column:1 / -1;border-top:1px solid var(--rail-light);margin-top:6px;padding-top:12px;}
.nav-ddp .dd-all b{font-size:13.5px;color:var(--accent);}
.nav-links a.on,.nav-dd.on .nav-ddt{color:var(--accent);opacity:1;}
.nav-lmenu a{opacity:1;}
/* on-dark bar (Platform): the design styles its links; the menu triggers are buttons */
.nav-ondark:not(.scrolled) .nav-ddt{color:#fff;}
.nav-ondark:not(.scrolled) .nav-ddt:hover,.nav-ondark:not(.scrolled) .nav-dd.open .nav-ddt{color:var(--mint);}
.nav-ondark:not(.scrolled) .nav-links a.on{color:var(--mint);}
/* touch devices: the Log In menu opens on tap (.open), not hover */
.nav-loginwrap.open .nav-lmenu{opacity:1;visibility:visible;transform:none;}

/* ---- tablet (761-940px): the design hides the desktop links at 940px but only
   wires the hamburger at 760px. Switch to the compact bar at 940 so a menu is
   always reachable. ---- */
@media (max-width:940px){
  .page > .nav:not(.mnav){display:none!important;}
  .page > .nav.mnav{display:block!important;}
}
.mnav .nav-in{display:flex;align-items:center;justify-content:space-between;}
.mnav .mburger{display:inline-flex;}

/* ---- phone / tablet menu overlay (design shows the hamburger only) ---- */
.mmenu{position:fixed;inset:0;z-index:200;background:#fff;display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;}
.mmenu.open{opacity:1;visibility:visible;transform:none;}
.mmenu-top{flex:none;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--rail-light);}
.mmenu-top .nav-logo{height:30px;width:auto;}
.mmenu-x{width:38px;height:38px;border:0;background:none;cursor:pointer;position:relative;}
.mmenu-x::before,.mmenu-x::after{content:"";position:absolute;left:8px;right:8px;top:18px;height:2px;border-radius:2px;background:var(--teal);}
.mmenu-x::before{transform:rotate(45deg);} .mmenu-x::after{transform:rotate(-45deg);}
.mmenu-body{flex:1;overflow-y:auto;padding:8px 18px 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.mm-link,.mm-grp>summary{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--rail-light);
  font-family:var(--serif);font-weight:500;font-size:21px;color:var(--teal);cursor:pointer;list-style:none;}
.mm-grp>summary::-webkit-details-marker{display:none;}
.mm-grp>summary::after{content:'+';font-family:var(--sans);font-weight:300;font-size:24px;color:var(--accent);}
.mm-grp[open]>summary::after{content:'−';}
.mm-grp[open]>summary{border-bottom-color:transparent;}
.mm-sub{padding:0 0 14px;border-bottom:1px solid var(--rail-light);}
.mm-sub a{display:block;padding:9px 0 9px 14px;font-size:15.5px;font-weight:500;color:var(--body);border-left:2px solid var(--rail-light);}
.mm-sub a:hover,.mm-sub a.on{color:var(--accent);border-left-color:var(--accent);}
.mm-login{margin-top:26px;}
.mm-login .eyebrow{margin:0 0 10px;}
.mm-login a{display:flex;flex-direction:column;gap:1px;padding:12px 14px;border:1px solid var(--rail-light);border-radius:12px;margin-bottom:10px;}
.mm-login a b{font-size:15px;font-weight:600;color:var(--teal);} .mm-login a span{font-size:12.5px;color:var(--muted);}
.mmenu-foot{flex:none;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--rail-light);}
.mmenu-foot .btn{width:100%;justify-content:center;}
html.mm-lock,html.mm-lock body{overflow:hidden;}

/* ---- .matrix at tablet: the master sheet drops it to 2 columns at 940px but keeps
   its 3-column divider rules (3n+1 / n+4), which leaves the dividers in the wrong
   places. Re-rule it for 2 columns between the phone layout and 940px. ---- */
@media (min-width:761px) and (max-width:940px){
  .mcell:nth-child(n){border-left:1px solid var(--rail);border-top:none;}
  .mcell:nth-child(2n+1){border-left:none;}
  .mcell:nth-child(n+3){border-top:1px solid var(--rail);}
}

/* ---- closing CTA: live CTA headings mark the accent word with <em> ---- */
.close-cta .sectionhead em{font-style:italic;color:var(--terra);}

/* ---- FAQ open/close animation hook (ouma-2026.js sets the height) ---- */
.ofaq details .ans{overflow:hidden;}

/* ---- one global reduced-motion rule (README "Behavior to carry over", item 5):
   stops the hero orbs, the spectral sweep, the news-strip pulse and every other
   decorative loop. Product-UI renders and testimonial orbs already respect it. ---- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .page *,.page *::before,.page *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  .mmenu,.nav-ddp,.nav-lmenu{transition:none!important;}
}

/* ---- review mode for the preview only: ?review=restored outlines every piece of
   live content that was put back after the design dropped it (data-restored). ---- */
html.review-restored [data-restored]{outline:2px dashed #e0457b!important;outline-offset:4px;position:relative;}
html.review-restored [data-restored]::after{content:attr(data-restored);position:absolute;left:0;top:-22px;z-index:40;
  background:#e0457b;color:#fff;font:600 11px/1 var(--sans);letter-spacing:.02em;padding:4px 7px;border-radius:4px;white-space:nowrap;
  text-transform:none;font-style:normal;pointer-events:none;}
.review-badge{position:fixed;right:14px;bottom:14px;z-index:300;background:#e0457b;color:#fff;font:600 12.5px/1.3 var(--sans);
  padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);max-width:280px;}

/* Log In menus: the portals' own lockups (Ouma logo + italic Lora product word,
   as on my.oumahealth.com and connect.oumahealth.com sign-in pages) */
.nav-lmenu b.plk,.mm-login a b.plk{display:flex;align-items:baseline;gap:6px;margin:0 0 3px;}
.nav-lmenu b.plk img,.mm-login a b.plk img{display:block;height:17px;width:auto;}
.nav-lmenu b.plk i,.mm-login a b.plk i{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19.5px;line-height:1;letter-spacing:-0.01em;color:var(--terra);}
/* closing CTA on phones: the per-page phone blocks set .close-cta to 8px, which
   jams the eyebrow against the band's top edge and the second button against the
   footer rule (Ali, 2026-09-30). Higher specificity so it wins over every page. */
@media (max-width:760px){
  .closeband .closein .close-cta{padding:56px 18px!important;}
}
.anchor-alias{display:block;height:0;overflow:hidden;} /* keeps an old #anchor working on a section that already has an id */
