﻿/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/d49204f0-5bc2-4aeb-806b-1765e8d9671e.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: 'Archivo';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/5b10b2d1-af65-488c-922a-f8c3fea8cf1f.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: 'Archivo';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/636c35ad-2c92-4dcd-b820-064bc66b9cc7.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: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/d49204f0-5bc2-4aeb-806b-1765e8d9671e.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: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/5b10b2d1-af65-488c-922a-f8c3fea8cf1f.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: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/636c35ad-2c92-4dcd-b820-064bc66b9cc7.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/d49204f0-5bc2-4aeb-806b-1765e8d9671e.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/5b10b2d1-af65-488c-922a-f8c3fea8cf1f.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/636c35ad-2c92-4dcd-b820-064bc66b9cc7.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/f315da25-5fa3-42aa-96d5-dad1d5bb3bdc.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/de3270c8-c900-45c6-9067-60d3bad475b8.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: 'Jost';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/0b2877a8-745e-4544-92d0-118abf8201f7.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/24ae3b19-362e-458a-bd48-c49d814fe25c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/680f5654-fead-429e-a9f6-e81df529d2cf.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: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/7b95281c-bb93-45d9-9dcb-ccc11c64c91f.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/24ae3b19-362e-458a-bd48-c49d814fe25c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/680f5654-fead-429e-a9f6-e81df529d2cf.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: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/7b95281c-bb93-45d9-9dcb-ccc11c64c91f.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/24ae3b19-362e-458a-bd48-c49d814fe25c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/680f5654-fead-429e-a9f6-e81df529d2cf.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: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/7b95281c-bb93-45d9-9dcb-ccc11c64c91f.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/070f8f7f-5397-422e-ad6a-08504fe955bf.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/be1267b6-b3d0-4028-82ed-17562ff84f02.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/3408d3cd-4cc3-45ae-90f5-62e55579fc82.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/8a877e21-76b8-4ffb-bd29-b6876b602fc1.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/5fcf496f-08a0-4f6e-99a8-9f4121aa984a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/202d041a-a8a9-47a4-b8ab-976c9f68bedc.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/070f8f7f-5397-422e-ad6a-08504fe955bf.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/be1267b6-b3d0-4028-82ed-17562ff84f02.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/3408d3cd-4cc3-45ae-90f5-62e55579fc82.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/8a877e21-76b8-4ffb-bd29-b6876b602fc1.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/5fcf496f-08a0-4f6e-99a8-9f4121aa984a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/202d041a-a8a9-47a4-b8ab-976c9f68bedc.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/070f8f7f-5397-422e-ad6a-08504fe955bf.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/be1267b6-b3d0-4028-82ed-17562ff84f02.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/3408d3cd-4cc3-45ae-90f5-62e55579fc82.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/8a877e21-76b8-4ffb-bd29-b6876b602fc1.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/5fcf496f-08a0-4f6e-99a8-9f4121aa984a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/202d041a-a8a9-47a4-b8ab-976c9f68bedc.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/070f8f7f-5397-422e-ad6a-08504fe955bf.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/be1267b6-b3d0-4028-82ed-17562ff84f02.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/3408d3cd-4cc3-45ae-90f5-62e55579fc82.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/8a877e21-76b8-4ffb-bd29-b6876b602fc1.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/5fcf496f-08a0-4f6e-99a8-9f4121aa984a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/202d041a-a8a9-47a4-b8ab-976c9f68bedc.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/e0dcf77d-71a2-4c27-951f-2378309f4041.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/3cc676c0-cb9e-4575-8fa1-c87eca6e5e82.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/c819d517-3059-4819-89d6-ec39f0ce5120.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e0dcf77d-71a2-4c27-951f-2378309f4041.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/3cc676c0-cb9e-4575-8fa1-c87eca6e5e82.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/c819d517-3059-4819-89d6-ec39f0ce5120.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/e0dcf77d-71a2-4c27-951f-2378309f4041.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/3cc676c0-cb9e-4575-8fa1-c87eca6e5e82.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/c819d517-3059-4819-89d6-ec39f0ce5120.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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e61d2874-5a11-45b3-9fb3-1ea096c98fa3.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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/22038393-f242-4e1c-9948-cc986e308f53.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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/3da274cc-ea2c-4583-aa01-0d381d44db43.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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/dad80427-961b-4d16-82c9-2c7b6c137f42.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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/20c25075-ec38-4bee-ab09-c330f9da8951.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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/8001c1b1-d1bf-4a5e-96d3-3a8056408c99.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;
}

/* ============================================================
   RENOWA — Design & Build  ·  Design system
   Luxury / editorial / minimal — Southern California
   ============================================================ */

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: none; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

/* ---------- Tokens ---------- */
:root {
  --bg:        #F8F7F4;
  --bg-2:      #F2F0EB;
  --bg-3:      #EAE7DF;
  --white:     #FFFFFF;
  --ink:       #141312;   /* dark anchor sections */
  --ink-2:     #1d1b19;
  --text:      #17150F;
  --text-soft: #4a463d;
  --muted:     #837d70;
  --line:      #E2DFD6;
  --line-soft: #ECE9E1;
  --on-dark:        #F5F4F1;
  --on-dark-soft:   #b7b2a6;
  --on-dark-muted:  #807b70;
  --line-dark: rgba(245,244,241,.14);

  /* accent (tweakable) — warm sand */
  --accent:    #B89C74;
  --accent-deep: #A2885F;

  --font-display: 'Jost', system-ui, sans-serif;
  --font-body:    'Manrope', system-ui, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* rhythm (tweakable scale) */
  --section: clamp(84px, 11vw, 148px);
  --gutter:  clamp(20px, 4vw, 64px);
  --maxw:    1340px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

[data-accent="bronze"] { --accent: #A98A5E; --accent-deep: #8f7149; }
[data-accent="sand"]   { --accent: #B89C74; --accent-deep: #A2885F; }
[data-accent="champagne"] { --accent: #C7B08A; --accent-deep: #B49a6e; }
[data-accent="stone"]  { --accent: #9a9588; --accent-deep: #80796b; }

[data-space="airy"]    { --section: clamp(110px, 14vw, 190px); }
[data-space="compact"] { --section: clamp(64px, 8vw, 104px); }

/* ---------- Base ---------- */
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  font-size: 17px;
  line-height: 1.62;
  font-weight: 400;
  letter-spacing: .002em;
}

.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--section); }

/* ---------- Type ---------- */
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 300; line-height: 1.04; letter-spacing: -0.01em; color: var(--text); }
.display {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(44px, 7.2vw, 104px);
  line-height: .98;
  letter-spacing: -0.018em;
}
.h-xl { font-size: clamp(34px, 4.6vw, 64px); font-weight: 300; line-height: 1.02; letter-spacing: -0.015em; }
.h-lg { font-size: clamp(28px, 3.4vw, 46px); font-weight: 300; line-height: 1.06; letter-spacing: -0.012em; }
.h-md { font-size: clamp(22px, 2.2vw, 30px); font-weight: 400; line-height: 1.12; letter-spacing: -0.008em; }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--accent-deep);
  display: inline-flex;
  align-items: center;
  gap: .9em;
}
.eyebrow::before {
  content: "";
  width: 34px; height: 1px;
  background: var(--accent);
  display: inline-block;
}
.eyebrow.no-rule::before { display: none; }

.lead { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; color: var(--text-soft); font-weight: 400; max-width: 56ch; }
.measure { max-width: 54ch; }
.measure-sm { max-width: 42ch; }

.num { font-family: var(--font-display); font-weight: 300; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }

/* ---------- Buttons ---------- */
.btn {
  --bh: 58px;
  display: inline-flex; align-items: center; justify-content: center; gap: .75em;
  height: var(--bh); padding-inline: 32px;
  font-family: var(--font-body);
  font-size: 13px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  border: 1px solid var(--ink);
  background: var(--ink); color: var(--on-dark);
  transition: background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
  white-space: nowrap;
}
.btn:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.btn--ghost { background: transparent; color: var(--text); border-color: var(--line); }
.btn--ghost:hover { background: transparent; border-color: var(--ink); color: var(--text); }
.btn--on-dark { background: var(--on-dark); border-color: var(--on-dark); color: var(--ink); }
.btn--on-dark:hover { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.btn--ghost-dark { background: transparent; color: var(--on-dark); border-color: var(--line-dark); }
.btn--ghost-dark:hover { background: rgba(245,244,241,.06); border-color: var(--on-dark); }
.btn--lg { --bh: 64px; padding-inline: 42px; }

.link-arrow {
  display: inline-flex; align-items: center; gap: .7em;
  font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text);
  padding-bottom: 6px;
  position: relative;
}
.link-arrow .ar { transition: transform .4s var(--ease); }
.link-arrow:hover .ar { transform: translateX(6px); }
.link-arrow::after { content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background: var(--line); }
.link-arrow::before { content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background: var(--accent-deep); transition: width .5s var(--ease); z-index:1;}
.link-arrow:hover::before { width: 100%; }
.on-dark .link-arrow, .link-arrow.on-dark { color: var(--on-dark); }
.on-dark .link-arrow::after { background: var(--line-dark); }

/* ---------- Placeholders (swap with real photography) ---------- */
.ph {
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(135deg, rgba(23,21,15,.045) 0 1px, transparent 1px 11px),
    linear-gradient(160deg, var(--bg-3), var(--bg-2));
  border: 1px solid var(--line);
  display: grid; place-items: center;
}
.ph--mid {
  background:
    repeating-linear-gradient(135deg, rgba(23,21,15,.06) 0 1px, transparent 1px 12px),
    linear-gradient(160deg, #d9d4c8, #c8c2b3);
}
.ph--dark {
  background:
    repeating-linear-gradient(135deg, rgba(245,244,241,.05) 0 1px, transparent 1px 12px),
    linear-gradient(160deg, #2a2723, #1b1916);
  border-color: rgba(245,244,241,.08);
}
.ph--warm {
  background:
    repeating-linear-gradient(135deg, rgba(23,21,15,.05) 0 1px, transparent 1px 12px),
    linear-gradient(160deg, #cdb693, #b79e77);
  border-color: rgba(23,21,15,.08);
}
.ph__tag {
  font-family: var(--font-mono);
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(23,21,15,.46);
  border: 1px solid rgba(23,21,15,.18);
  padding: 7px 12px;
  background: rgba(248,247,244,.5);
  backdrop-filter: blur(2px);
  text-align: center;
}
.ph--dark .ph__tag { color: rgba(245,244,241,.5); border-color: rgba(245,244,241,.2); background: rgba(20,19,18,.35); }
.ph__zoom { position:absolute; inset:0; transition: transform 1.4s var(--ease); }

/* ---------- Header ---------- */
.site-head {
  position: fixed; inset: 0 0 auto 0; z-index: 60;
  transition: background .5s var(--ease), border-color .5s var(--ease), backdrop-filter .5s;
  border-bottom: 1px solid transparent;
}
.site-head__in {
  height: 84px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.site-head.scrolled {
  background: rgba(248,247,244,.86);
  backdrop-filter: blur(14px) saturate(1.1);
  border-bottom-color: var(--line);
}
.site-head.scrolled .site-head__in { height: 72px; }
.brand-logo { height: 26px; width: auto; transition: height .4s var(--ease); }
.site-head.scrolled .brand-logo { height: 23px; }
/* logo color swap: hero is dark, so start with white logo */
.brand-logo--white { display: block; }
.brand-logo--dark  { display: none; }
.site-head.scrolled .brand-logo--white { display: none; }
.site-head.scrolled .brand-logo--dark  { display: block; }
body:not(.home) .site-head { background: rgba(245,244,241,.92); color: var(--ink); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
body:not(.home) .brand-logo--white { display:none; }
body:not(.home) .brand-logo--dark { display:block; }
body:not(.home) .nav a { color: var(--text); opacity:.72; }
body:not(.home) .nav a:hover { opacity:1; }
body:not(.home) .head-cta { border-color: var(--ink); color: var(--ink); }
body:not(.home) .head-cta:hover { background: var(--ink); color: var(--on-dark); }

.nav { display: flex; align-items: center; gap: 38px; }
.nav__list { display:flex; align-items:center; gap:38px; list-style:none; margin:0; padding:0; }
.nav a {
  font-size: 13px; font-weight: 500; letter-spacing: .04em;
  color: var(--on-dark); opacity: .82; transition: opacity .3s, color .3s;
  position: relative; padding-block: 6px;
}
.nav a:hover { opacity: 1; }
.nav a::after { content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background: currentColor; transition: width .4s var(--ease); }
.nav a:hover::after { width: 100%; }
.site-head.scrolled .nav a { color: var(--text); opacity: .7; }
.site-head.scrolled .nav a:hover { opacity: 1; }
.head-cta {
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  height: 44px; padding-inline: 22px;
  border: 1px solid var(--line-dark); color: var(--on-dark);
  display: inline-flex; align-items: center;
  transition: all .4s var(--ease);
}
.head-cta:hover { background: var(--on-dark); color: var(--ink); border-color: var(--on-dark); }
.site-head.scrolled .head-cta { border-color: var(--ink); color: var(--ink); }
.site-head.scrolled .head-cta:hover { background: var(--ink); color: var(--on-dark); }
.nav-toggle { display: none; }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; color: var(--on-dark); overflow: hidden; }
.hero h1, .hero h2, .hero .display { color: var(--on-dark); }
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media .ph { width: 100%; height: 100%; border: none; }
.hero__media::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(to top, rgba(15,14,12,.86) 0%, rgba(15,14,12,.34) 42%, rgba(15,14,12,.5) 100%);
}
.hero__in { position: relative; z-index: 2; width: 100%; padding-top: clamp(96px, 8vw, 128px); padding-bottom: clamp(64px, 6vw, 88px); }
.hero__offer { max-width: 18ch; margin-top: 22px; }
.hero__sub { margin-top: 28px; color: rgba(245,244,241,.84); max-width: 50ch; font-size: clamp(17px,1.4vw,20px); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
.hero__meta {
  position: absolute; z-index: 2; right: var(--gutter); bottom: clamp(48px, 7vw, 96px);
  text-align: right; display: flex; flex-direction: column; gap: 22px; align-items: flex-end;
}
.hero__stat .num { font-size: clamp(30px, 3vw, 42px); color: var(--on-dark); display:block; }
.hero__stat span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--on-dark-soft); }
.scroll-hint { position:absolute; left: var(--gutter); bottom: 26px; z-index:2; font-family: var(--font-mono); font-size: 10px; letter-spacing:.24em; text-transform:uppercase; color: var(--on-dark-soft); display:flex; align-items:center; gap:10px;}
.scroll-hint .bar { width:1px; height:34px; background: linear-gradient(var(--on-dark-soft), transparent); }

/* hero variants */
[data-hero="centered"] .hero { align-items: center; text-align: center; }
[data-hero="centered"] .hero__in { display:flex; flex-direction:column; align-items:center; padding-bottom: clamp(60px,8vw,110px); }
[data-hero="centered"] .hero__offer { max-width: 16ch; }
[data-hero="centered"] .hero__sub { margin-inline:auto; }
[data-hero="centered"] .hero__actions { justify-content:center; }
[data-hero="centered"] .hero__meta { display: none; }
[data-hero="centered"] .hero__media::after { background: linear-gradient(to bottom, rgba(15,14,12,.5), rgba(15,14,12,.3) 45%, rgba(15,14,12,.78)); }

[data-hero="editorial"] .hero { align-items: center; }
[data-hero="editorial"] .hero__media { left: auto; right: 0; width: 50%; }
[data-hero="editorial"] .hero__media::after { background: linear-gradient(to right, var(--ink) 0%, rgba(20,19,18,.2) 30%, transparent 60%); }
[data-hero="editorial"] .hero { background: var(--ink); }
[data-hero="editorial"] .hero__in { padding-block: 160px 80px; }
[data-hero="editorial"] .hero__offer { max-width: 14ch; }
[data-hero="editorial"] .hero__meta { display: none; }
[data-hero="editorial"] .hero__content { max-width: 48%; }

/* ---------- Section header ---------- */
.sec-head { display: grid; grid-template-columns: 1fr; gap: 22px; }
.sec-head__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.sec-head .lead { margin-top: 4px; }

/* ---------- Signature projects ---------- */
.sig-grid { display: grid; grid-template-columns: 1.32fr 1fr; gap: clamp(18px, 2.2vw, 34px); margin-top: clamp(40px,5vw,72px); align-items: stretch; }
.sig-col { display: grid; gap: clamp(18px, 2.2vw, 34px); }
.proj { display: flex; flex-direction: column; position: relative; }
.proj__media { position: relative; overflow: hidden; }
.proj__media .ph { width: 100%; height: 100%; }
.proj--feature { height: 100%; }
.proj--feature .proj__media { flex: 1 1 auto; min-height: 320px; }
.proj--sm .proj__media { aspect-ratio: 16/10.5; }
.proj:hover .ph__zoom { transform: scale(1.05); }
.proj__bar { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-top: 20px; flex-wrap: wrap; }
.sig-grid .proj__bar { height: 86px; min-height: 0; align-items: flex-start; overflow: hidden; }
.proj__name { font-family: var(--font-display); font-weight: 400; font-size: clamp(20px,1.7vw,25px); letter-spacing: -.01em; }
.proj__loc { font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-top: 6px; }
.proj__price { font-family: var(--font-display); font-weight: 300; font-size: clamp(18px,1.5vw,22px); color: var(--text); white-space: nowrap; }
.proj__type { display:inline-block; margin-top:4px; font-family: var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color: var(--accent-deep); }
.proj__tagrow { position:absolute; top:18px; left:18px; z-index:2; }
.tag-pill { font-family: var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#fff; background: rgba(20,19,18,.55); backdrop-filter: blur(4px); padding:7px 12px; border:1px solid rgba(255,255,255,.18);}

/* ---------- Process: Design / Build / Deliver ---------- */
.process { background: var(--ink); color: var(--on-dark); }
.process .eyebrow { color: var(--accent); }
.process .h-xl { color: var(--on-dark); }
.proc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: clamp(48px,6vw,84px); border-top: 1px solid var(--line-dark); }
.proc-step { padding: clamp(34px,3.4vw,52px) clamp(26px,2.6vw,40px) clamp(40px,4vw,64px); border-right: 1px solid var(--line-dark); position: relative; }
.proc-step:last-child { border-right: none; }
.proc-step__n { font-family: var(--font-mono); font-size: 11px; letter-spacing: .22em; color: var(--accent); }
.proc-step__t { font-family: var(--font-display); font-weight: 300; font-size: clamp(28px,2.6vw,40px); color: var(--on-dark); margin-top: 30px; letter-spacing:-.01em;}
.proc-step__d { color: var(--on-dark-soft); margin-top: 18px; font-size: 16px; max-width: 34ch; }
.proc-step__list { margin-top: 26px; display: grid; gap: 11px; }
.proc-step__list li { font-size: 14px; color: var(--on-dark-soft); display:flex; gap:10px; align-items:baseline; }
.proc-step__list li::before { content:""; width:5px; height:5px; flex:none; background: var(--accent); transform: translateY(-2px);}

/* ---------- About ---------- */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,6vw,96px); align-items: center; }
.about-media { position: relative; }
.about-media .ph { aspect-ratio: 4/5; width: 100%; }
.about-media__small { position: absolute; right: -8%; bottom: -10%; width: 46%; aspect-ratio: 1/1; box-shadow: 0 0 0 8px var(--bg); }
.about-media__small .ph { width:100%; height:100%; }
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; border-top: 1px solid var(--line); padding-top: 38px; }
.about-stat .num { font-size: clamp(34px,3vw,48px); display:block; }
.about-stat span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.sig { margin-top: 34px; font-family: var(--font-display); font-style: italic; font-weight: 300; font-size: 22px; color: var(--text-soft); }
.sig small { display:block; font-family: var(--font-mono); font-style: normal; font-size: 10.5px; letter-spacing:.16em; text-transform:uppercase; color: var(--muted); margin-top: 8px; }

/* ---------- Services ---------- */
.svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: clamp(40px,5vw,68px); }
.svc {
  border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: clamp(28px,2.4vw,38px) clamp(24px,2vw,32px) clamp(34px,3vw,46px);
  min-height: 280px; display: flex; flex-direction: column; justify-content: space-between;
  position: relative; transition: background .5s var(--ease); background: transparent;
}
.svc:hover { background: var(--white); }
.svc__n { font-family: var(--font-mono); font-size: 11px; letter-spacing: .18em; color: var(--muted); }
.svc__t { font-family: var(--font-display); font-weight: 300; font-size: clamp(21px,1.7vw,26px); letter-spacing: -.01em; margin-top: 40px; line-height: 1.12; }
.svc__foot { margin-top: 22px; display: flex; align-items: center; justify-content: space-between; }
.svc__arrow { font-size: 18px; color: var(--accent-deep); opacity: 0; transform: translateX(-6px); transition: all .4s var(--ease); }
.svc:hover .svc__arrow { opacity: 1; transform: translateX(0); }
.svc__hint { font-size: 13px; color: var(--muted); }
/* services list variant */
[data-services="list"] .svc-grid { grid-template-columns: 1fr; border-left: none; }
[data-services="list"] .svc { min-height: 0; flex-direction: row; align-items: center; gap: 32px; padding-block: clamp(22px,2vw,30px); border-right:none; }
[data-services="list"] .svc__t { margin-top: 0; flex: 1; }
[data-services="list"] .svc__n { width: 48px; flex: none; }
[data-services="list"] .svc__foot { margin-top: 0; width: auto; }
[data-services="list"] .svc__hint { display: none; }

/* ---------- Why choose us ---------- */
.why { background: var(--bg-2); }
.why-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px,6vw,90px); align-items: start; }
.why-list { display: grid; gap: 0; }
.why-item { display: grid; grid-template-columns: 56px 1fr; gap: 24px; padding: 30px 0; border-top: 1px solid var(--line); }
.why-item:last-child { border-bottom: 1px solid var(--line); }
.why-item__n { font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; color: var(--accent-deep); padding-top: 6px; }
.why-item__t { font-family: var(--font-display); font-weight: 400; font-size: clamp(20px,1.6vw,25px); letter-spacing: -.005em; }
.why-item__d { color: var(--text-soft); margin-top: 10px; font-size: 16px; max-width: 48ch; }

/* ---------- Portfolio showcase (interactive) ---------- */
.folio__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(34px,4vw,52px); }
.filter {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  padding: 12px 20px; border: 1px solid var(--line); color: var(--text-soft);
  transition: all .35s var(--ease); background: transparent;
}
.filter:hover { border-color: var(--ink); color: var(--text); }
.filter.is-active { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.folio-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(16px,1.8vw,26px); margin-top: clamp(30px,3.4vw,46px); }
.folio-item { position: relative; overflow: hidden; transition: opacity .5s var(--ease), transform .5s var(--ease); }
.folio-item .ph { width: 100%; height: 100%; }
.folio-item.hide { display: none; }
.folio-item .ph__zoom { transition: transform 1.2s var(--ease); }
.folio-item:hover .ph__zoom { transform: scale(1.06); }
.folio-cap { position: absolute; left: 0; bottom: 0; z-index: 3; padding: 20px; width: 100%; color:#fff;
  background: linear-gradient(to top, rgba(15,14,12,.78), transparent); display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  opacity: 0; transform: translateY(8px); transition: all .45s var(--ease); }
.folio-item:hover .folio-cap { opacity: 1; transform: translateY(0); }
.folio-cap__t { font-family: var(--font-display); font-weight: 400; font-size: 19px; }
.folio-cap__m { font-family: var(--font-mono); font-size: 10px; letter-spacing:.14em; text-transform:uppercase; opacity:.78; margin-top:4px;}
.folio-cap__type { font-family: var(--font-mono); font-size: 10px; letter-spacing:.14em; text-transform:uppercase; color: var(--accent); }
/* spans */
.span-7 { grid-column: span 7; aspect-ratio: 16/11; }
.span-5 { grid-column: span 5; aspect-ratio: 4/5; }
.span-4 { grid-column: span 4; aspect-ratio: 4/4.4; }
.span-6 { grid-column: span 6; aspect-ratio: 16/10; }
.span-8 { grid-column: span 8; aspect-ratio: 16/9; }

/* before / after */
.ba-wrap { margin-top: clamp(40px,5vw,72px); display:grid; grid-template-columns: 1fr; gap: 18px;}
.ba {
  position: relative; aspect-ratio: 16/8.4; overflow: hidden; user-select: none; touch-action: none; cursor: ew-resize;
  border: 1px solid var(--line);
}
.ba__layer { position:absolute; inset:0; }
.ba__layer .ph { width:100%; height:100%; border:none; }
.ba__after { clip-path: inset(0 50% 0 0); }
.ba__label { position:absolute; top:18px; z-index:4; font-family: var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#fff; background: rgba(15,14,12,.5); padding:7px 12px; border:1px solid rgba(255,255,255,.2); }
.ba__label--b { left:18px; } .ba__label--a { right:18px; }
.ba__handle { position:absolute; top:0; bottom:0; left:50%; width:2px; background: rgba(255,255,255,.9); z-index:5; transform: translateX(-1px);}
.ba__grip { position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); width:52px; height:52px; border-radius:50%; background: rgba(255,255,255,.95); display:grid; place-items:center; box-shadow: 0 4px 20px rgba(0,0,0,.25);}
.ba__grip svg { width:22px; height:22px; }

/* ---------- Client experience timeline ---------- */
.exp { background: var(--ink); color: var(--on-dark); }
.exp .eyebrow { color: var(--accent); }
.exp .h-xl { color: var(--on-dark); }
.exp-track { margin-top: clamp(48px,6vw,80px); border-top:1px solid var(--line-dark); }
.exp-step { display: grid; grid-template-columns: 90px 1fr auto; gap: clamp(24px,4vw,64px); align-items: baseline; padding: clamp(28px,3vw,42px) 0; border-bottom: 1px solid var(--line-dark); transition: padding-left .5s var(--ease); }
.exp-step:hover { padding-left: 14px; }
.exp-step__n { font-family: var(--font-mono); font-size: 12px; letter-spacing: .2em; color: var(--accent); }
.exp-step__t { font-family: var(--font-display); font-weight: 300; font-size: clamp(26px,2.6vw,42px); color: var(--on-dark); letter-spacing:-.01em; }
.exp-step__d { color: var(--on-dark-soft); font-size: 15px; margin-top: 12px; max-width: 50ch; }
.exp-step__dur { font-family: var(--font-mono); font-size: 11px; letter-spacing:.14em; text-transform:uppercase; color: var(--on-dark-muted); white-space:nowrap; }

/* ---------- Testimonials ---------- */
.story { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(36px,5vw,80px); align-items: stretch; }
.story:not(:first-of-type) { margin-top: clamp(64px,8vw,120px); }
.story--rev { direction: rtl; } .story--rev > * { direction: ltr; }
.story__media { min-height: clamp(360px, 34vw, 520px); }
.story__media .ph { aspect-ratio: 5/4; width:100%; height:100%; }
.story__image { display:block; width:100%; height:100%; object-fit:cover; }
.story__content { display:flex; flex-direction:column; justify-content:center; padding-block: clamp(4px,1.4vw,22px); }
.story__quote { font-family: var(--font-display); font-weight: 300; font-size: clamp(23px,2.05vw,32px); line-height: 1.22; letter-spacing: -.01em; color: var(--text); }
.story__quote .mark { color: var(--accent); }
.story__story { color: var(--text-soft); margin-top: 20px; font-size: 15px; line-height:1.65; max-width: 50ch; }
.story__client { display:flex; align-items:center; gap:16px; margin-top: 28px; }
.story__avatar { width:52px; height:52px; flex:none; }
.story__avatar .ph { width:100%; height:100%; border-radius:50%; }
.story__initials { width:100%; height:100%; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:var(--bg-soft); color:var(--accent-deep); font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; }
.story__who b { font-family: var(--font-body); font-weight: 600; font-size: 15px; display:block; }
.story__who span { font-family: var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color: var(--muted); }
.story__proj { display:flex; gap: 28px; margin-top: 24px; padding-top: 22px; border-top:1px solid var(--line); }
.story__proj div span { font-family: var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color: var(--muted); display:block; margin-bottom:5px;}
.story__proj div b { font-family: var(--font-display); font-weight:300; font-size: 20px;}

/* ---------- Service area ---------- */
.area-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px,5vw,80px); align-items: center; }
.area-map { position: relative; aspect-ratio: 1/1; overflow:hidden; background:#f4f2ed; border:1px solid var(--line); }
.area-map__image { display:block; width:100%; height:100%; object-fit:cover; }
.area-lead { margin-top:18px; margin-bottom:28px; max-width:40ch; font-size:clamp(16px,1.25vw,18px); line-height:1.55; }
.area-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--line); }
.area-item { padding: 20px 4px; border-bottom: 1px solid var(--line); display:flex; align-items:center; justify-content:flex-start; gap:12px; transition: color .3s; }
.area-item:hover { color: var(--accent-deep); }
.area-item b { font-family: var(--font-display); font-weight: 300; font-size: clamp(20px,1.8vw,26px); letter-spacing:-.01em; }
.area-item span { font-family: var(--font-mono); font-size: 10px; letter-spacing:.14em; color: var(--muted);}
.area-dot { position:absolute; width:10px; height:10px; border-radius:50%; background: var(--accent); box-shadow: 0 0 0 6px rgba(184,156,116,.18); }
.area-dot::after{ content: attr(data-l); position:absolute; left:16px; top:-4px; font-family: var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color: var(--text-soft); white-space:nowrap;}

/* ---------- Consultation CTA ---------- */
.cta { position: relative; color: var(--on-dark); overflow:hidden; }
.cta__bg { position:absolute; inset:0; z-index:0; }
.cta__bg .ph { width:100%; height:100%; border:none;}
.cta__bg::after { content:""; position:absolute; inset:0; background: linear-gradient(110deg, rgba(15,14,12,.94) 0%, rgba(15,14,12,.82) 42%, rgba(15,14,12,.5) 100%); }
.cta__in { position: relative; z-index: 2; display:grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px,6vw,96px); align-items:center; }
.cta .eyebrow { color: var(--accent); }
.cta__title { color: var(--on-dark); }
.cta__sub { color: var(--on-dark-soft); margin-top: 22px; max-width: 40ch; }
.cta__assure { margin-top: 38px; display:grid; gap:14px; }
.cta__assure li { display:flex; gap:12px; align-items:center; font-size:15px; color: var(--on-dark-soft);}
.cta__assure li svg { width:16px; height:16px; flex:none; color: var(--accent); }
.form { background: rgba(245,244,241,.04); border: 1px solid var(--line-dark); backdrop-filter: blur(6px); padding: clamp(28px,3vw,44px); }
.form__row { display:grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items:start; }
.form__row > .field { margin-top: 0; }
.field + .form__row,
.form__row + .field { margin-top: 18px; }
.field { margin-top: 18px; }
.field:first-child { margin-top: 0; }
.field label { display:block; font-family: var(--font-mono); font-size: 10.5px; letter-spacing:.16em; text-transform:uppercase; color: var(--on-dark-soft); margin-bottom: 9px; }
.field input, .field select {
  width: 100%; height: 52px; background: transparent; border: none; border-bottom: 1px solid var(--line-dark);
  color: var(--on-dark); font-size: 16px; transition: border-color .35s; padding: 0 2px;
}
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23807b70' fill='none' stroke-width='1.3'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position: right 2px center; }
.field select option { color: #17150F; }
.field input::placeholder { color: var(--on-dark-muted); }
.field input:focus, .field select:focus { outline: none; border-bottom-color: var(--accent); }
.field.invalid input, .field.invalid select { border-bottom-color: #c87a6b; }
.field__err { font-family: var(--font-mono); font-size: 10px; letter-spacing:.1em; text-transform:uppercase; color: #d08a7c; margin-top: 7px; height: 0; opacity:0; transition: opacity .3s; }
.field.invalid .field__err { height:auto; opacity:1; }
.form__submit { margin-top: 30px; width: 100%; }
.form__note { font-family: var(--font-mono); font-size: 10.5px; letter-spacing:.08em; color: var(--on-dark-muted); margin-top: 18px; text-align:center; }
.form--ok { text-align:center; padding-block: clamp(40px,6vw,80px); }
.form--ok .h-md { color: var(--on-dark); }
.form--ok p { color: var(--on-dark-soft); margin-top: 14px; }

/* ---------- Footer ---------- */
.foot { background: var(--ink); color: var(--on-dark); padding-block: clamp(60px,7vw,90px) 40px; }
.foot__top { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 56px; border-bottom: 1px solid var(--line-dark); }
.foot__logo { height: 28px; width:auto; margin-bottom: 26px; }
.foot__tag { color: var(--on-dark-soft); max-width: 30ch; font-size: 15px; }
.foot h5 { font-family: var(--font-mono); font-size: 10.5px; letter-spacing:.18em; text-transform:uppercase; color: var(--on-dark-muted); font-weight:400; margin-bottom: 22px; }
.foot ul { display:grid; gap: 13px; }
.foot ul a { font-size: 15px; color: var(--on-dark-soft); transition: color .3s; }
.foot ul a:hover { color: var(--on-dark); }
.foot__bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top: 30px; flex-wrap:wrap; }
.foot__bottom span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing:.1em; color: var(--on-dark-muted); }
.legal-link { border:0; padding:0; background:transparent; color:var(--on-dark-muted); font:inherit; letter-spacing:inherit; text-transform:none; cursor:pointer; transition:color .3s; }
.legal-link:hover { color:var(--on-dark); }
.legal-modal { position:fixed; inset:0; z-index:140; opacity:0; pointer-events:none; transition:opacity .28s var(--ease); }
.legal-modal.is-open { opacity:1; pointer-events:auto; }
.legal-modal__scrim { position:absolute; inset:0; background:rgba(15,14,12,.58); }
.legal-modal__panel { position:relative; z-index:1; width:min(92vw,640px); max-height:min(78vh,720px); overflow:auto; margin:10vh auto; background:var(--bg); color:var(--text); border:1px solid var(--line); padding:clamp(28px,4vw,46px); box-shadow:0 28px 90px rgba(15,14,12,.32); }
.legal-modal__close { position:absolute; right:16px; top:16px; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); background:transparent; color:var(--text); }
.legal-modal h2 { font-family:var(--font-display); font-weight:300; font-size:clamp(34px,4vw,48px); line-height:1.08; padding-right:48px; }
.legal-modal__content { margin-top:22px; color:var(--text-soft); font-size:16px; line-height:1.75; }
.legal-modal__content p { margin:0 0 1em; }
body.legal-modal-open { overflow:hidden; }

/* ---------- Reveal animations ---------- */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.reveal[data-d="1"] { transition-delay: .08s; }
.reveal[data-d="2"] { transition-delay: .16s; }
.reveal[data-d="3"] { transition-delay: .24s; }
.reveal[data-d="4"] { transition-delay: .32s; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; transition:none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .foot__top { grid-template-columns: 1fr 1fr; gap: 40px 30px; }
}
@media (max-width: 920px) {
  .nav, .head-cta { display: none; }
  .nav-toggle { display: inline-flex; }
  .sig-grid { grid-template-columns: 1fr; }
  .proj--feature .proj__media { flex: none; aspect-ratio: 16/11; min-height: 0; }
  .proc-grid { grid-template-columns: 1fr; }
  .proc-step { border-right: none; border-bottom: 1px solid var(--line-dark); }
  .proc-step:last-child { border-bottom: none; }
  .about-grid, .why-grid, .story, .area-grid, .cta__in, .svc-grid { grid-template-columns: 1fr; }
  .story--rev { direction: ltr; }
  .svc-grid { grid-template-columns: 1fr 1fr; }
  .about-media__small { width: 40%; right: 0; bottom: -8%; }
  .hero__meta { display: none; }
  [data-hero="editorial"] .hero__media { width:100%; }
  [data-hero="editorial"] .hero__content { max-width: 100%; }
  [data-hero="editorial"] .hero__media::after { background: linear-gradient(to top, var(--ink) 0%, rgba(20,19,18,.4) 60%, rgba(20,19,18,.6)); }
  .folio-grid > * { grid-column: 1 / -1 !important; aspect-ratio: 16/10 !important; }
  .area-list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .svc-grid { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: 1fr; gap: 18px; }
  .foot__top { grid-template-columns: 1fr; }
  .story__proj { flex-direction: column; gap: 16px; }
  .sig-grid .proj__bar { height: auto; min-height: 0; }
}

/* WordPress integration */
.admin-bar .site-head{top:32px}.ph.has-image{background-size:cover;background-position:center}.ph.has-image .ph__tag,.ph.has-image .ph__zoom{display:none}.area-map>.ph{width:100%;height:100%}.section-actions{margin-top:34px;display:flex;justify-content:center}.wp-content{padding:clamp(120px,14vw,180px) 0 80px}.wp-content .entry{max-width:860px;margin:0 auto}.wp-content .entry-content{color:var(--text);font-family:var(--font-body);font-size:18px;line-height:1.8}.wp-content .entry-content p{margin:0 0 1.2em}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}.archive-grid .folio-item{min-height:360px}.nav-links,.pagination .nav-links{margin-top:36px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.nav-links a,.nav-links span,.pagination .nav-links a,.pagination .nav-links span{margin-right:12px;color:var(--text)}.portfolio-archive{background:var(--bg)}.portfolio-archive__hero{padding-top:clamp(132px,14vw,190px);padding-bottom:clamp(54px,7vw,90px)}.portfolio-archive__head{display:grid;grid-template-columns:1fr .85fr;gap:clamp(36px,6vw,90px);align-items:end}.portfolio-archive__intro .lead{font-size:clamp(16px,1.25vw,19px);max-width:44ch}.portfolio-count{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:12px}.portfolio-count span{font-family:var(--font-display);font-size:clamp(34px,4vw,58px);font-weight:300}.portfolio-count small{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.portfolio-archive__list{padding-top:0}.portfolio-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2vw,30px)}.portfolio-card{display:flex;flex-direction:column;color:var(--text);min-width:0}.portfolio-card__media{position:relative;aspect-ratio:4/3.25;overflow:hidden;background:var(--bg-soft)}.portfolio-card__media .ph{width:100%;height:100%}.portfolio-card__media .tag-pill{position:absolute;left:16px;top:16px}.portfolio-card__body{padding-top:18px;display:flex;flex-direction:column;gap:14px}.portfolio-card h2{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2vw,32px);line-height:1.08;letter-spacing:-.01em}.portfolio-card__loc{margin-top:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.portfolio-card__excerpt{color:var(--text-soft);font-size:15px;line-height:1.65}.portfolio-card__meta{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}.portfolio-empty{max-width:720px}.project-hero{padding-top:clamp(132px,14vw,190px);padding-bottom:clamp(48px,7vw,86px);background:var(--bg)}.project-hero__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:end}.project-back{display:inline-block;margin-bottom:28px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.project-hero__excerpt{margin-top:24px;font-size:clamp(16px,1.25vw,19px);max-width:44ch}.project-hero__media{min-height:clamp(380px,45vw,650px);overflow:hidden}.project-hero__media .ph{width:100%;height:100%}.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.project-facts span,.project-sidebar__list span{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px}.project-facts b,.project-sidebar__list b{font-family:var(--font-display);font-weight:300;font-size:clamp(18px,1.5vw,22px)}.project-body{padding-top:clamp(56px,7vw,92px)}.project-body__grid{display:grid;grid-template-columns:280px minmax(0,760px);gap:clamp(38px,6vw,96px);align-items:start}.project-sidebar{position:sticky;top:120px;border-top:1px solid var(--line);padding-top:24px}.project-sidebar__list{display:grid;gap:22px;margin-top:28px}.project-content{color:var(--text);font-size:18px;line-height:1.85}.project-content>*{margin-bottom:1.25em}.project-content h2,.project-content h3{font-family:var(--font-display);font-weight:300;line-height:1.12;margin-top:1.8em;margin-bottom:.65em}.project-content h2{font-size:clamp(34px,4vw,54px)}.project-content h3{font-size:clamp(26px,3vw,38px)}.project-content img{max-width:100%;height:auto}.project-nav{margin-top:clamp(50px,7vw,90px);padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.project-nav>*:last-child{text-align:right}.project-nav a{color:var(--text)}@media(max-width:900px){.portfolio-archive__head,.project-hero__grid,.project-body__grid{grid-template-columns:1fr}.portfolio-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-sidebar{position:static}.project-hero__media{min-height:360px}}@media(max-width:782px){.admin-bar .site-head{top:46px}.archive-grid,.portfolio-card-grid{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr}.project-nav{grid-template-columns:1fr}.project-nav>*:last-child{text-align:left}}.form__message{margin-top:16px;color:var(--on-dark-soft);font-size:14px}.form__message.is-error{color:#ffb4a8}

/* Single project refinements */
body.single .project-hero{padding-top:clamp(118px,10vw,148px);padding-bottom:clamp(42px,5vw,68px);}
body.single .project-hero__grid{align-items:center;}
body.single .project-hero__media{min-height:0;aspect-ratio:16/11;background:var(--bg-soft);}
body.single .project-hero__image{display:block;width:100%;height:100%;object-fit:cover;}
body.single .project-back{margin-bottom:22px;}

/* Portfolio archive spacing */
.portfolio-archive__hero{padding-top:clamp(104px,9vw,132px);padding-bottom:clamp(46px,6vw,74px);}
.portfolio-archive__intro .lead p{margin:0 0 1em;}
.portfolio-archive__intro .lead p:last-child{margin-bottom:0;}

/* Mobile menu drawer */
.nav-toggle{color:var(--on-dark);}
.site-head.scrolled .nav-toggle,
body:not(.home) .nav-toggle{color:var(--ink);border-color:var(--ink)!important;}
.mobile-menu{position:fixed;inset:0;z-index:120;opacity:0;pointer-events:none;transition:opacity .32s var(--ease);}
.mobile-menu__scrim{position:absolute;inset:0;background:rgba(15,14,12,.34);}
.mobile-menu__panel{position:absolute;top:0;right:0;width:min(86vw,380px);height:100%;background:var(--bg);color:var(--text);border-left:1px solid var(--line);box-shadow:-24px 0 70px rgba(15,14,12,.18);transform:translateX(100%);transition:transform .42s var(--ease);padding:24px clamp(22px,6vw,34px) 34px;display:flex;flex-direction:column;gap:34px;}
.mobile-menu__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.mobile-menu__logo{height:30px;width:auto;display:block;}
.mobile-menu__close{width:42px;height:42px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text);}
.mobile-menu__list{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.mobile-menu__list li{border-bottom:1px solid var(--line);}
.mobile-menu__list a{display:flex;align-items:center;justify-content:space-between;min-height:58px;color:var(--text);font-family:var(--font-display);font-size:clamp(25px,8vw,34px);font-weight:300;letter-spacing:0;}
.mobile-menu__list a::after{content:"";width:22px;height:1px;background:var(--accent-deep);opacity:.72;}
.mobile-menu__cta{margin-top:auto;width:100%;justify-content:center;border-color:var(--ink);background:var(--ink);color:var(--on-dark);}
.mobile-menu__cta:hover{background:var(--ink);color:var(--on-dark);}
body.mobile-menu-open{overflow:hidden;}
body.mobile-menu-open .mobile-menu{opacity:1;pointer-events:auto;}
body.mobile-menu-open .mobile-menu__panel{transform:translateX(0);}

@media(max-width:920px){
  .portfolio-archive__hero{padding-top:clamp(96px,18vw,120px);}
}

