/* hebrew */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 200;
      font-display: swap;
      src: url("assets/0e98f068-d883-43b0-8642-4fba3d4590d7.woff2") format('woff2');
      unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
    }

/* math */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 200;
      font-display: swap;
      src: url("assets/c7b671ad-2199-4623-9deb-feeff6d08f14.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;
    }

/* symbols */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 200;
      font-display: swap;
      src: url("assets/29fd4ea6-4f1e-4115-9934-8cc1ad74a5bd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 200;
      font-display: swap;
      src: url("assets/b2c717a6-8815-4ab2-9dd7-e7eda40e3476.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 200;
      font-display: swap;
      src: url("assets/58931d84-6595-42fb-abfa-5b048784a942.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;
    }

/* hebrew */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/0e98f068-d883-43b0-8642-4fba3d4590d7.woff2") format('woff2');
      unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
    }

/* math */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/c7b671ad-2199-4623-9deb-feeff6d08f14.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;
    }

/* symbols */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/29fd4ea6-4f1e-4115-9934-8cc1ad74a5bd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/b2c717a6-8815-4ab2-9dd7-e7eda40e3476.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/58931d84-6595-42fb-abfa-5b048784a942.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;
    }

/* hebrew */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/0e98f068-d883-43b0-8642-4fba3d4590d7.woff2") format('woff2');
      unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
    }

/* math */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/c7b671ad-2199-4623-9deb-feeff6d08f14.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;
    }

/* symbols */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/29fd4ea6-4f1e-4115-9934-8cc1ad74a5bd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/b2c717a6-8815-4ab2-9dd7-e7eda40e3476.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/58931d84-6595-42fb-abfa-5b048784a942.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;
    }

/* hebrew */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url("assets/0e98f068-d883-43b0-8642-4fba3d4590d7.woff2") format('woff2');
      unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
    }

/* math */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url("assets/c7b671ad-2199-4623-9deb-feeff6d08f14.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;
    }

/* symbols */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url("assets/29fd4ea6-4f1e-4115-9934-8cc1ad74a5bd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url("assets/b2c717a6-8815-4ab2-9dd7-e7eda40e3476.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Heebo';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url("assets/58931d84-6595-42fb-abfa-5b048784a942.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;
    }

/* vietnamese */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/a498f8f2-2bf8-4aa9-bf0f-3ec408ecddfd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/2b762c02-df59-463b-ba18-fd20cc075e34.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 300;
      font-display: swap;
      src: url("assets/5d220bfe-3f68-4f7b-af48-356fd391d915.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;
    }

/* vietnamese */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/a498f8f2-2bf8-4aa9-bf0f-3ec408ecddfd.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;
    }

/* latin-ext */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/2b762c02-df59-463b-ba18-fd20cc075e34.woff2") format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

/* latin */
    @font-face {
      font-family: 'Josefin Sans';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url("assets/5d220bfe-3f68-4f7b-af48-356fd391d915.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;
    }

/* ── Tokens ─────────────────────────────────────────────── */
    :root {
      --ink: #1C1917;
      --cream: #F8F3EA;
      --linen: #EDE7D9;
      --dust: #D4C8B5;
      --charcoal: #4A4540;
      --sage: #6B7A5E;
      --terra: #B8714F;
      --warm-mid: #7C6B5A;

      --f-hebrew: 'Heebo', sans-serif;
      --f-latin: 'Josefin Sans', sans-serif;

      --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
      --w: 1080px;
    }

/* ── Reset ───────────────────────────────────────────────── */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

html {
      scroll-behavior: smooth;
      font-size: 16px;
    }

body {
      background-color: var(--cream);
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.4'/%3E%3C/svg%3E");
      background-size: 200px 200px;
      background-repeat: repeat;
      background-attachment: fixed;
      color: var(--ink);
      font-family: var(--f-hebrew);
      font-weight: 300;
      -webkit-font-smoothing: antialiased;
      direction: rtl;
      overflow-x: hidden;
    }

a {
      text-decoration: none;
      color: inherit;
    }

img {
      display: block;
    }

::selection {
      background: var(--ink);
      color: var(--cream);
    }

/* ── NAV ─────────────────────────────────────────────────── */
    #main-nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 200;
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      justify-content: space-between;
      padding: 20px 48px;
      background: rgba(28, 25, 23, 0.35);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      transition: background 500ms var(--ease), box-shadow 500ms var(--ease);
    }

#main-nav.scrolled {
      background: rgba(248, 243, 234, 0.96);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 1px 0 var(--dust);
    }

.nav-logo img {
      height: 44px;
      width: auto;
      aspect-ratio: 2428/2289;
      display: block;
      filter: invert(1);
      transition: filter 400ms;
    }

#main-nav.scrolled .nav-logo img {
      filter: invert(0);
    }

.nav-links {
      display: flex;
      gap: 36px;
      list-style: none;
    }

.nav-links a {
      font-family: var(--f-hebrew);
      font-weight: 300;
      font-size: 15px;
      color: var(--cream);
      letter-spacing: 0.01em;
      transition: color 250ms;
    }

.nav-links a:hover {
      color: var(--dust);
    }

#main-nav.scrolled .nav-links a {
      color: var(--charcoal);
    }

#main-nav.scrolled .nav-links a:hover {
      color: var(--terra);
    }

.nav-cta {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 10px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      padding: 10px 24px;
      border: 1px solid var(--cream);
      color: var(--cream);
      transition: background 300ms, color 300ms, border-color 300ms;
    }

.nav-cta:hover {
      background: var(--cream);
      color: var(--ink);
    }

#main-nav.scrolled .nav-cta {
      border-color: var(--ink);
      color: var(--ink);
    }

#main-nav.scrolled .nav-cta:hover {
      background: var(--ink);
      color: var(--cream);
    }

/* ── HERO ─────────────────────────────────────────────────── */
    .hero {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      position: relative;
    }

.hero-left {
      background: var(--ink);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 80px 56px;
      position: relative;
      overflow: hidden;
    }

.hero-left-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 1;
      transition: transform 8s var(--ease);
    }

.hero-left:hover .hero-left-bg {
      transform: scale(1.04);
    }

.hero-left-content {
      position: relative;
      z-index: 1;
    }

.hero-eyebrow {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 10px;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--ink);
      margin-bottom: 24px;
    }

.hero-heading {
      font-weight: 200;
      font-size: clamp(42px, 4.5vw, 68px);
      line-height: 1.1;
      color: var(--ink);
      margin-bottom: 20px;
    }

.hero-sub {
      font-weight: 300;
      font-size: 17px;
      line-height: 1.75;
      color: var(--ink);
      max-width: 340px;
      margin-bottom: 40px;
    }

.hero-right {
      background: var(--cream);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 80px 56px;
      position: relative;
    }

.hero-numeral {
      position: absolute;
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 320px;
      line-height: 1;
      color: var(--linen);
      bottom: -40px;
      left: -20px;
      pointer-events: none;
      user-select: none;
      letter-spacing: -0.05em;
    }

.hero-logo-wrap {
      position: relative;
      z-index: 1;
      text-align: center;
    }

.hero-logo-wrap img {
      width: clamp(160px, 18vw, 260px);
      aspect-ratio: 2428/2289;
      height: auto;
      margin: 0 auto 36px;
    }

.hero-tagline {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 13px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ink);
      margin-bottom: 32px;
    }

.hero-divider {
      width: 1px;
      height: 40px;
      background: var(--dust);
      margin: 0 auto 48px;
    }

.scroll-hint {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--charcoal);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      animation: scrollHint 2s ease-in-out infinite;
    }

.scroll-hint::after {
      content: '';
      width: 1px;
      height: 32px;
      background: var(--charcoal);
    }

@keyframes scrollHint {

      0%,
      100% {
        opacity: 0.4;
        transform: translateX(-50%) translateY(0)
      }

      50% {
        opacity: 1;
        transform: translateX(-50%) translateY(6px)
      }
    }

/* ── SECTION HELPERS ─────────────────────────────────────── */
    section {
      position: relative;
    }

.container {
      max-width: var(--w);
      margin: 0 auto;
      padding: 0 48px;
    }

.section-pad {
      padding: 110px 0;
    }

.eyebrow {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 10px;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 20px;
      display: block;
    }

.section-title {
      font-weight: 200;
      font-size: clamp(34px, 4vw, 54px);
      line-height: 1.15;
      color: var(--ink);
      margin-bottom: 24px;
      text-wrap: pretty;
    }

.section-body {
      font-size: 17px;
      line-height: 1.8;
      color: var(--charcoal);
      text-wrap: pretty;
    }

.rule {
      width: 48px;
      height: 1px;
      background: var(--ink);
      margin: 0 0 32px;
    }

/* ── ABOUT ───────────────────────────────────────────────── */
    .about {
      background: var(--linen);
    }

.about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 96px;
      align-items: center;
    }

.about-image {
      position: relative;
      aspect-ratio: 4/5;
      overflow: hidden;
      background: var(--dust);
    }

.about-image img,
    .about-image video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 800ms var(--ease);
    }

.about-image:hover img,
    .about-image:hover video {
      transform: scale(1.04);
    }

.about-image-label {
      position: absolute;
      bottom: 20px;
      right: 20px;
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--cream);
      background: rgba(28, 25, 23, 0.6);
      padding: 6px 12px;
      backdrop-filter: blur(4px);
    }

.about-sig {
      font-family: var(--f-hebrew);
      font-weight: 200;
      font-size: 28px;
      color: var(--ink);
      margin-top: 32px;
      padding-top: 24px;
      border-top: 1px solid var(--dust);
    }

/* ── SERVICES ────────────────────────────────────────────── */
    .services {
      background: var(--cream);
      content-visibility: auto;
      contain-intrinsic-size: 500px;
    }

.services-intro {
      max-width: 560px;
      margin-bottom: 72px;
    }

.services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--dust);
      border: 1px solid var(--dust);
    }

.service-card {
      background: var(--cream);
      padding: 48px 36px;
      transition: background 350ms var(--ease);
      cursor: default;
    }

.service-card:hover {
      background: var(--linen);
    }

.service-number {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 11px;
      letter-spacing: 0.2em;
      color: var(--dust);
      margin-bottom: 32px;
    }

.service-title {
      font-weight: 300;
      font-size: 24px;
      line-height: 1.3;
      color: var(--ink);
      margin-bottom: 16px;
    }

.service-body {
      font-size: 15px;
      line-height: 1.75;
      color: var(--charcoal);
      margin-bottom: 28px;
    }

.service-detail {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--terra);
      display: flex;
      align-items: center;
      gap: 8px;
    }

.service-detail::before {
      content: '';
      width: 20px;
      height: 1px;
      background: var(--terra);
    }

/* ── PROCESS ─────────────────────────────────────────────── */
    .process {
      background: var(--ink);
      padding: 110px 0;
    }

.process .eyebrow {
      color: var(--sage);
    }

.process .section-title {
      color: var(--cream);
    }

.process-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 48px;
      margin-top: 64px;
    }

.step-num {
      font-family: var(--f-latin);
      font-weight: 300;
      font-size: 48px;
      line-height: 1;
      color: var(--charcoal);
      margin-bottom: 20px;
      letter-spacing: -0.02em;
    }

.step-title {
      font-weight: 300;
      font-size: 18px;
      color: var(--cream);
      margin-bottom: 12px;
    }

.step-body {
      font-size: 14px;
      line-height: 1.75;
      color: var(--warm-mid);
    }

/* ── TESTIMONIALS ────────────────────────────────────────── */
    .testimonials {
      background: var(--linen);
      content-visibility: auto;
      contain-intrinsic-size: 500px;
    }

.testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      margin-top: 64px;
    }

.testimonial {
      background: var(--cream);
      padding: 36px 32px;
      border-top: 2px solid var(--ink);
    }

.testimonial-text {
      font-size: 16px;
      line-height: 1.8;
      color: var(--charcoal);
      margin-bottom: 24px;
      font-style: normal;
    }

.testimonial-text::before {
      content: '"';
    }

.testimonial-text::after {
      content: '"';
    }

.testimonial-author {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--sage);
    }

/* ── CONTACT ─────────────────────────────────────────────── */
    .contact {
      background: var(--cream);
    }

.contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 96px;
      align-items: start;
    }

.contact-info {
      padding-top: 8px;
    }

.info-block {
      margin-bottom: 36px;
    }

.info-label {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 6px;
    }

.info-value {
      font-weight: 300;
      font-size: 20px;
      color: var(--ink);
      direction: ltr;
      text-align: right;
    }

.info-value a {
      transition: color 250ms;
    }

.info-value a:hover {
      color: var(--terra);
    }

.form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

.form-field {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 16px;
    }

.form-label {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--charcoal);
    }

.form-input,
    .form-select,
    .form-textarea {
      background: var(--linen);
      border: 1px solid transparent;
      border-bottom-color: var(--dust);
      font-family: var(--f-hebrew);
      font-weight: 300;
      font-size: 15px;
      color: var(--ink);
      padding: 13px 14px;
      outline: none;
      transition: border-color 250ms, background 250ms;
      resize: none;
      direction: rtl;
      text-align: right;
      -webkit-appearance: none;
      appearance: none;
    }

.form-input:focus,
    .form-select:focus,
    .form-textarea:focus {
      border-color: var(--ink);
      background: var(--cream);
    }

.form-textarea {
      min-height: 110px;
    }

.btn-submit {
      width: 100%;
      font-family: var(--f-latin);
      font-weight: 400;
      font-size: 13px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 18px;
      background: var(--ink);
      color: var(--cream);
      border: none;
      cursor: pointer;
      transition: background 300ms;
      margin-top: 8px;
    }

.btn-submit:hover {
      background: var(--charcoal);
    }

/* ── FOOTER ──────────────────────────────────────────────── */
    footer {
      background: var(--ink);
      padding: 40px 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 20px;
    }

.footer-links {
      display: flex;
      gap: 28px;
    }

.footer-links a {
      font-family: var(--f-latin);
      font-size: 9px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--warm-mid);
      transition: color 250ms;
    }

.footer-links a:hover {
      color: var(--cream);
    }

.footer-copy {
      font-family: var(--f-hebrew);
      font-size: 13px;
      color: var(--warm-mid);
    }

/* ── SCROLL FADE ─────────────────────────────────────────── */
    .fade {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 700ms var(--ease), transform 700ms var(--ease);
    }

.fade.in {
      opacity: 1;
      transform: none;
    }

.fade-d1 {
      transition-delay: 100ms;
    }

.fade-d2 {
      transition-delay: 200ms;
    }

.fade-d3 {
      transition-delay: 300ms;
    }

.fade-d4 {
      transition-delay: 400ms;
    }

.menu-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      width: 24px;
      height: 18px;
      position: relative;
      z-index: 101;
      padding: 0;
    }

.menu-toggle span {
      display: block;
      width: 100%;
      height: 1px;
      background: var(--cream);
      position: absolute;
      right: 0;
      transition: 300ms ease;
    }

#main-nav.scrolled .menu-toggle span {
      background: var(--ink);
    }

.menu-toggle span:nth-child(1) {
      top: 0;
    }

.menu-toggle span:nth-child(2) {
      top: 8px;
    }

.menu-toggle span:nth-child(3) {
      top: 16px;
    }

.menu-toggle.open span:nth-child(1) {
      top: 8px;
      transform: rotate(45deg);
      background: var(--cream) !important;
    }

.menu-toggle.open span:nth-child(2) {
      opacity: 0;
    }

.menu-toggle.open span:nth-child(3) {
      top: 8px;
      transform: rotate(-45deg);
      background: var(--cream) !important;
    }

body.menu-open {
      overflow: hidden;
    }

.whatsapp-float {
      position: fixed;
      width: 60px;
      height: 60px;
      bottom: 32px;
      left: 32px;
      background-color: #25d366;
      color: #FFF;
      border-radius: 50px;
      text-align: center;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);
    }

.whatsapp-float:hover {
      transform: translateY(-6px);
      box-shadow: 0 8px 20px rgba(37, 211, 102, 0.4);
    }

.whatsapp-float svg {
      width: 34px;
      height: 34px;
      fill: currentColor;
    }

/* ── BLOG ────────────────────────────────────────────────── */
    .blog-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 40px;
      margin-top: 48px;
    }

.blog-card {
      background: var(--cream);
      border: 1px solid var(--dust);
      display: flex;
      flex-direction: column;
      transition: transform 300ms var(--ease), box-shadow 300ms var(--ease);
      overflow: hidden;
      cursor: pointer;
    }

.blog-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 16px 32px rgba(0,0,0,0.08);
    }

.blog-image {
      width: 100%;
      height: 240px;
      object-fit: cover;
      background: var(--linen);
      transition: transform 600ms var(--ease);
    }

.blog-card:hover .blog-image {
      transform: scale(1.05);
    }

.blog-content {
      padding: 32px 24px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      position: relative;
      background: var(--cream);
      z-index: 1;
    }

.blog-tag {
      font-family: var(--f-latin);
      font-size: 10px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 12px;
    }

.blog-title {
      font-weight: 300;
      font-size: 22px;
      line-height: 1.3;
      color: var(--ink);
      margin-bottom: 16px;
    }

.blog-excerpt {
      font-size: 15px;
      line-height: 1.6;
      color: var(--charcoal);
      margin-bottom: 32px;
      flex-grow: 1;
    }

.blog-read-more {
      font-family: var(--f-latin);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--terra);
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: auto;
    }

.blog-read-more::before {
      content: '';
      width: 24px;
      height: 1px;
      background: var(--terra);
      transition: width 300ms var(--ease);
    }

.blog-card:hover .blog-read-more::before {
      width: 40px;
    }

/* ── BLOG POST ───────────────────────────────────────────── */
    .article-header {
      text-align: center;
      max-width: 800px;
      margin: 0 auto 48px;
    }

.article-meta {
      font-family: var(--f-latin);
      font-size: 11px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 24px;
      display: block;
    }

.article-title {
      font-weight: 300;
      font-size: clamp(32px, 5vw, 48px);
      line-height: 1.2;
      color: var(--ink);
      margin-bottom: 24px;
    }

.article-hero-img {
      width: 100%;
      height: clamp(300px, 40vh, 500px);
      object-fit: cover;
      margin-bottom: 64px;
    }

.article-body {
      max-width: 680px;
      margin: 0 auto;
      font-size: 18px;
      line-height: 1.8;
      color: var(--charcoal);
      text-wrap: pretty;
    }

.article-body h2 {
      font-weight: 300;
      font-size: 28px;
      color: var(--ink);
      margin: 48px 0 24px;
    }

.article-body p {
      margin-bottom: 24px;
    }

.article-body img {
      width: 100%;
      border-radius: 4px;
      margin: 40px 0;
    }

.article-share {
      max-width: 680px;
      margin: 64px auto 0;
      padding-top: 32px;
      border-top: 1px solid var(--dust);
      display: flex;
      align-items: center;
      gap: 16px;
    }

.share-label {
      font-family: var(--f-latin);
      font-size: 10px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--sage);
    }

/* ── RESPONSIVE ──────────────────────────────────────────── */
    @media (max-width: 900px) {
      nav {
        padding: 16px 24px;
        width: 100%;
      }

      .nav-links {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background: var(--ink);
        padding: 120px 24px 48px;
        transform: translateX(100%);
        transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 100;
        align-items: center;
        gap: 32px;
      }

      .nav-links.open {
        transform: translateX(0);
      }

      .nav-links a {
        font-size: 20px;
        color: var(--cream) !important;
      }

      .menu-toggle {
        display: block;
      }

      .nav-cta {
        display: none;
      }

      .hero {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .hero-left {
        order: 2;
        min-height: 55vh;
        padding: 100px 28px 48px;
      }

      .hero-right {
        order: 1;
        padding: 56px 28px 80px;
      }

      .hero-logo-wrap {
        transform: translateY(20%);
      }

      .hero-numeral {
        font-size: 160px;
      }

      .about-grid,
      .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .services-grid {
        grid-template-columns: 1fr;
      }

      .process-steps {
        grid-template-columns: 1fr 1fr;
      }

      .testimonials-grid {
        grid-template-columns: 1fr;
      }

      .container {
        padding: 0 24px;
      }

      .section-pad {
        padding: 72px 0;
      }

      .form-row {
        grid-template-columns: 1fr;
      }

      footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 24px;
      }

      .scroll-hint {
        display: none;
      }
    }

/* ── GALLERY ─────────────────────────────────────────────── */
    .gallery-grid {
      column-count: 3;
      column-gap: 24px;
      margin-top: 64px;
    }

.gallery-item {
      break-inside: avoid;
      margin-bottom: 24px;
      cursor: zoom-in;
      position: relative;
      overflow: hidden;
      border-radius: 4px;
    }

.gallery-item img {
      width: 100%;
      height: auto;
      display: block;
      transition: transform 600ms var(--ease), filter 600ms var(--ease);
    }

.gallery-item:hover img {
      transform: scale(1.05);
      filter: brightness(0.85);
    }

.gallery-caption {
      position: absolute;
      bottom: -40px;
      left: 0;
      width: 100%;
      padding: 16px;
      background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
      color: #fff;
      font-weight: 300;
      font-size: 14px;
      transition: bottom 400ms var(--ease);
      pointer-events: none;
    }

.gallery-item:hover .gallery-caption {
      bottom: 0;
    }

/* LIGHTBOX */
    .lightbox {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(18, 19, 15, 0.95);
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 300ms ease;
    }

.lightbox.active {
      opacity: 1;
      pointer-events: auto;
    }

.lightbox-img {
      max-width: 90vw;
      max-height: 90vh;
      object-fit: contain;
      box-shadow: 0 20px 60px rgba(0,0,0,0.5);
      transform: scale(0.95);
      transition: transform 300ms var(--ease);
    }

.lightbox.active .lightbox-img {
      transform: scale(1);
    }

.lightbox-close {
      position: absolute;
      top: 32px;
      right: 32px;
      background: none;
      border: none;
      color: #fff;
      font-size: 40px;
      font-weight: 100;
      cursor: pointer;
      line-height: 1;
    }

@media (max-width: 900px) {
      .gallery-grid {
        column-count: 2;
        column-gap: 16px;
      }
      .gallery-item {
        margin-bottom: 16px;
      }
    }

@media (max-width: 600px) {
      .gallery-grid {
        column-count: 1;
      }
    }
