/*
  Studio Beeyond — main stylesheet.
  Section 1: locally bundled fonts (Inter + Playfair Display, all subsets)
  Section 2: the original design system CSS, carried over verbatim
  Section 3: WordPress integration layer (additive only)
*/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/playfair-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/playfair-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/playfair-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  --bg:#F7F3ED;--bg2:#F0EBE2;--bg3:#EAE3D8;--bg4:#D8CBBB;
  --gold:#D4880A;--gold-lo:rgba(212,136,10,.12);--gold-md:rgba(212,136,10,.28);
  --ivory:#0A0A0A;--beige:#4A4A4A;--graph:#6A6A6A;
  /* text that sits on a dark photo scrim — the palette was inverted
     light->dark, so these are the only 'light' text tokens left */
  --on-dark:#F7F3ED;--on-dark-2:rgba(247,243,237,.82);
  --bd:rgba(10,10,10,.08);--bd2:rgba(10,10,10,.14);
  --serif:'Playfair Display',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
  --maxw:1280px;--px:clamp(20px,5vw,56px);
  --e1:cubic-bezier(.16,1,.3,1);--e2:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ivory);-webkit-font-smoothing:antialiased;overflow-x:clip;cursor:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:#0A0A0A}

/* CURSOR (custom cursor disabled — normal cursor) */
.cur-dot,.cur-ring{display:none!important}
.cur-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .3s}
.cur-ring{width:36px;height:36px;border:1.5px solid rgba(212,136,10,.55);border-radius:50%;position:fixed;top:0;left:0;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:width .28s var(--e1),height .28s var(--e1),border-color .28s,background .28s}
.cur-ring.hover{width:54px;height:54px;border-color:var(--gold);background:rgba(212,136,10,.07)}
.cur-ring.click{width:26px;height:26px;background:rgba(212,136,10,.18)}

@keyframes inf-travel{to{stroke-dashoffset:-640}}
@keyframes inf-draw{0%{stroke-dashoffset:700}100%{stroke-dashoffset:0}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes scrollcue{0%{transform:translateY(0);opacity:.3}50%{opacity:1}100%{transform:translateY(12px);opacity:.3}}
@keyframes pring{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.2);opacity:0}}
@keyframes glow{0%,100%{opacity:.06}50%{opacity:.15}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .95s var(--e1),transform .95s var(--e1)}
[data-reveal].in{opacity:1;transform:none}

.navlink{position:relative}.navlink::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--e1)}.navlink:hover::after,.navlink[data-active="true"]::after{transform:scaleX(1)}
.gbtn{transition:transform .2s var(--e1),box-shadow .2s,background .2s;display:inline-flex;align-items:center;gap:8px}.gbtn:hover{transform:translateY(-2px)}.gbtn:active{transform:scale(.97)}
.gbtn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.lift{transition:transform .25s var(--e1),box-shadow .25s}.lift:hover{transform:translateY(-5px)}
.svc-card{transition:transform .3s var(--e1),box-shadow .3s}.svc-card:hover{transform:translateY(-7px);box-shadow:0 28px 60px -18px rgba(10,10,10,.18)}
.wcard{position:relative;border-radius:16px;overflow:hidden;display:block;transition:transform .4s var(--e1),box-shadow .4s}.wcard:hover{transform:translateY(-7px);box-shadow:0 30px 64px -20px rgba(10,10,10,.22)}
.wcard-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s var(--e2)}.wcard:hover .wcard-img{transform:scale(1.07)}
.wcard-cta{position:absolute;bottom:18px;right:18px;background:var(--gold);color:#0A0A0A;font-weight:700;font-size:11px;padding:7px 16px;border-radius:100px;opacity:0;transform:translateY(6px);transition:opacity .3s var(--e1),transform .3s var(--e1)}.wcard:hover .wcard-cta{opacity:1;transform:none}
.why-card{position:relative;overflow:hidden;transition:transform .3s var(--e1),background .3s,box-shadow .3s,border-color .3s}.why-card::before{content:'';position:absolute;left:0;top:0;width:3px;bottom:0;background:var(--gold);transform:scaleY(0);transform-origin:bottom;transition:transform .28s var(--e1)}.why-card:hover{transform:translateY(-6px);background:#FFF8EC!important;box-shadow:0 20px 52px -14px rgba(212,136,10,.14)!important;border-color:rgba(212,136,10,.35)!important}.why-card:hover::before{transform:scaleY(1)}
.port-card{position:relative;overflow:hidden;border-radius:16px;transition:transform .3s var(--e1),box-shadow .3s}.port-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px -16px rgba(10,10,10,.18)}
.port-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--e2)}.port-card:hover .port-img{transform:scale(1.07)}
.port-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.3) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.proc-line-outer{flex:1;height:2px;overflow:hidden;background:rgba(212,136,10,.12);align-self:center;min-width:20px}.proc-line-inner{height:100%;width:0;background:linear-gradient(90deg,rgba(212,136,10,.5),var(--gold));transition:width 1.8s var(--e1) .4s;border-radius:100px}[data-proc-active="true"] .proc-line-inner{width:100%}
.faqitem{cursor:pointer;transition:background .2s}.faqitem:hover{background:rgba(10,10,10,.03)}
.chip{transition:background .2s,color .2s,border-color .2s}
.cap-chip{cursor:default;transition:background .2s,color .2s,transform .15s var(--e1)}.cap-chip:hover{transform:translateY(-2px);background:var(--gold)!important;color:#0A0A0A!important;border-color:var(--gold)!important}

/* Responsive */
.desk-only{display:flex!important}.mob-only{display:none!important}
.proc-desk{display:block}.proc-mob{display:none}
.cmp-desk{display:block}.cmp-mob{display:none}
@media(max-width:920px){
  body{cursor:auto}.cur-dot,.cur-ring{display:none!important}
  .desk-only{display:none!important}.mob-only{display:flex!important}
  .g2{grid-template-columns:1fr!important}
  .why-grid{grid-template-columns:1fr 1fr!important}
  .cap-grid{grid-template-columns:1fr 1fr!important}
  .work-grid{grid-template-columns:1fr 1fr!important}
  .port-grid{grid-template-columns:1fr 1fr!important}
  .two-col{grid-template-columns:1fr!important}
  .stat-grid{grid-template-columns:1fr 1fr!important}
  .footer-grid{grid-template-columns:1fr 1fr!important}
  .price-grid{grid-template-columns:1fr!important}
  .wtype-grid{grid-template-columns:1fr 1fr!important}
  .mres-grid{grid-template-columns:1fr!important}
  .proc-desk{display:none}.proc-mob{display:block}
  .cmp-desk{display:none}.cmp-mob{display:flex;flex-direction:column;gap:14px}
}
@media(max-width:600px){
  .why-grid{grid-template-columns:1fr!important}
  .work-grid{grid-template-columns:1fr 1fr!important}
  .cap-grid{grid-template-columns:1fr 1fr!important}
  .port-grid{grid-template-columns:1fr!important}
  .footer-grid{grid-template-columns:1fr!important}
  .wtype-grid{grid-template-columns:1fr!important}
  .cta-pair{flex-direction:column!important}
  .cta-pair>*{width:100%!important;justify-content:center!important}
}
@media(max-width:420px){
  .work-grid{grid-template-columns:1fr!important}
  .cap-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;animation-iteration-count:1!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .proc-line-inner{transition:none!important;width:100%!important}
}

/* ── WHATSAPP BUTTON ── */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:300;background:#25D366;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s;text-decoration:none;cursor:pointer}
.wa-float:hover{transform:scale(1.12);box-shadow:0 6px 28px rgba(37,211,102,.55)}
.wa-float svg{width:28px;height:28px;fill:#fff}
.wa-pulse{position:absolute;inset:0;border-radius:50%;background:#25D366;animation:wa-pulse 2.5s ease-out infinite;z-index:-1}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}

/* ── ENHANCED MOBILE FIXES ── */
@media(max-width:768px){
  /* Better touch targets for nav */
  header a,header button{min-height:44px;min-width:44px}
  /* Form inputs bigger on mobile */
  input,textarea,select{font-size:16px!important} /* prevents iOS zoom */
  /* Hero text tighter on small screens */
  h1[style*="clamp(46px"]{letter-spacing:-.03em!important}
  /* Better service card layout */
  .g2{gap:16px!important}
  /* Contact form stack */
  .two-col > div:last-child{padding:0}
  /* Process mobile improvements */
  .proc-mob{padding:0!important}
  /* Sticky CTA shouldn't overlap WhatsApp */
  [style*="bottom:28px;right:28px;z-index:110"]{right:96px!important}
}
@media(max-width:480px){
  /* Stack the two-column form grids on very small screens */
  form [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  /* Pricing cards full width */
  .price-grid{gap:16px!important}
  /* Better padding on smallest screens */
  :root{--px:18px!important}
}

/* ══════════════════════════════════════════════════════════════════
   v1.1 — LEGIBILITY, RESPONSIVE & PERFORMANCE LAYER
   Everything below is additive. Nothing above it was removed, so the
   original design is untouched except where it was unreadable.
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. TEXT ON DARK PHOTO SCRIMS ─────────────────────────────────
   The palette was flipped light->dark: --ivory is now #0A0A0A. Card
   titles that sit on a dark gradient over a photo were rendering
   black-on-black. The scrim is correct (photos need it) — the text
   is what has to change. */
.wcard h3,
.port-overlay h3{color:var(--on-dark)!important;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.port-overlay>div:first-child{color:var(--gold)!important}

/* The big numeral in the Why Beeyond cards was 15% of the retired
   gold on white — effectively invisible. */
.why-card>div:first-child{color:rgba(212,136,10,.30)!important}

/* ── 2. DEVICE HYGIENE ───────────────────────────────────────────── */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:rgba(212,136,10,.16)}
img,svg,video{max-width:100%;height:auto}
/* overflow-x:clip is Safari 16+. Older iOS needs the fallback or the
   decorative SVGs push a horizontal scrollbar. */
@supports not (overflow-x:clip){body{overflow-x:hidden}}

/* iOS notch + home indicator */
.wa-float{bottom:calc(28px + env(safe-area-inset-bottom));right:calc(28px + env(safe-area-inset-right))}
footer{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
header{padding-top:calc(env(safe-area-inset-top)/2)}

/* ── 3. BREAKPOINT LADDER ────────────────────────────────────────── */

/* Very large screens — stop the measure getting uncomfortably wide */
@media(min-width:1700px){:root{--maxw:1440px}}

/* Laptop: 3-col grids get cramped before the 920 mobile switch */
@media(min-width:921px) and (max-width:1180px){
  .work-grid,.port-grid,.why-grid,.cap-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* Tablet landscape */
@media(min-width:921px) and (max-width:1024px){
  :root{--px:clamp(24px,4vw,40px)}
  .price-grid{gap:14px!important}
}

/* Tablet portrait and below */
@media(max-width:920px){
  .price-grid{max-width:600px;margin-left:auto;margin-right:auto}
  .stat-grid{gap:18px!important}
  /* backdrop-filter is a real per-frame GPU cost on mobile silicon and
     the solid tint is visually near-identical */
  header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  /* ambient infinite animations buy nothing on a phone */
  [style*="animation:glow"]{animation:none!important}
}

/* Phones */
@media(max-width:768px){
  h1,h2,h3{overflow-wrap:break-word;hyphens:none}
  .two-col{grid-template-columns:1fr!important}
  input,textarea,select{font-size:16px!important}   /* stops iOS zoom-on-focus */
  textarea{min-height:132px}
  /* stop long words/emails breaking the layout */
  p,li,td,div{overflow-wrap:anywhere}
}

@media(max-width:600px){
  .stat-grid{grid-template-columns:1fr 1fr!important}
  .cta-pair{gap:10px!important}
}

@media(max-width:400px){
  :root{--px:16px!important}
  .wa-float{width:52px;height:52px}
  .wa-float svg{width:25px;height:25px}
}

/* Landscape phones — a 100svh hero swallows the whole screen */
@media(orientation:landscape) and (max-height:540px){
  section[style*="100svh"],section[style*="88svh"],section[style*="80svh"],
  section[style*="72svh"],section[style*="60svh"]{
    min-height:auto!important;padding-top:104px!important;padding-bottom:56px!important
  }
}

/* ── 4. TOUCH DEVICES ────────────────────────────────────────────── */
@media(hover:none),(pointer:coarse){
  body{cursor:auto!important}
  .cur-dot,.cur-ring{display:none!important}

  /* 44px minimum tap targets on interactive chrome */
  header a,header button,nav a,.chip,.cap-chip,button[type="submit"]{
    min-height:44px;display:inline-flex;align-items:center
  }
  .footer-grid a{padding:5px 0}

  /* Hover-only affordances are unreachable on touch — pin them open */
  .wcard-cta{opacity:1!important;transform:none!important}
  .why-card::before{transform:scaleY(1)!important}

  /* Hover transforms stick after a tap on iOS. Suppress them. */
  .lift:hover,.gbtn:hover,.svc-card:hover,.wcard:hover,
  .port-card:hover,.why-card:hover,.cap-chip:hover{transform:none!important}
  .wcard:hover .wcard-img,.port-card:hover .port-img{transform:none!important}
}

/* Only promote layers where a hover animation can actually happen */
@media(hover:hover) and (pointer:fine){
  .wcard-img,.port-img{will-change:transform}
}

/* ── 5. MOTION ───────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .wa-pulse{animation:none!important}
}


/* ══════════════════════════════════════════════════════════════════
   WORDPRESS INTEGRATION LAYER (additive — original design untouched)
   ══════════════════════════════════════════════════════════════════ */

/* Accessibility helper required by the WordPress theme guidelines */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#0A0A0A;display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}

/* Core alignment / caption classes */
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{display:block;margin:0 auto 16px}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:13px;color:var(--beige);margin-top:6px}
.sticky{display:block}
.gallery-caption{display:block}
.bypostauthor{display:block}

/* Admin bar: WordPress adds html{margin-top:32px!important}. The design
   header is position:fixed, so cancel the margin and offset instead. */
html{margin-top:0!important}
body.admin-bar header.sb-header,
body.admin-bar #scrollProgress{top:32px!important}
@media screen and (max-width:782px){
  body.admin-bar header.sb-header,
  body.admin-bar #scrollProgress{top:46px!important}
}
@media screen and (max-width:600px){
  body.admin-bar header.sb-header,
  body.admin-bar #scrollProgress{top:0!important}
}

/* Interactive states driven by main.js (the React runtime is gone) */
.sb-header{padding:20px var(--px);background:transparent;backdrop-filter:none;border-bottom:1px solid transparent}
.sb-header.scrolled{padding:14px var(--px);background:rgba(247,243,237,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(10,10,10,.1)}
.sb-svcs-panel{display:none}
.sb-svcs-wrap:hover .sb-svcs-panel,.sb-svcs-wrap:focus-within .sb-svcs-panel,.sb-svcs-wrap.open .sb-svcs-panel{display:block}
.sb-mobile-nav{display:none}
.sb-mobile-nav.open{display:flex}
.sb-reel-overlay{display:none}
.sb-reel-overlay.open{display:flex}
#sbLoader.done{opacity:0}
.sb-hidden{display:none!important}

/* FAQ accordion (server renders closed; JS toggles .open) */
.faqitem .faq-a{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s var(--e1)}
.faqitem.open .faq-a{grid-template-rows:1fr}
.faqitem .faq-plus{transition:transform .3s var(--e1);display:inline-block}
.faqitem.open .faq-plus{transform:rotate(45deg)}

/* Filter chips (Work / Blog / Testimonials) */
.chip{border:1px solid var(--bd2);background:transparent;color:var(--beige)}
.chip.active{border-color:var(--gold);background:var(--gold);color:#0A0A0A}

/* Testimonial deck dots */
.deck-dot{height:8px;width:8px;border-radius:100px;border:none;background:var(--gold);opacity:.3;transition:all .3s var(--e1)}
.deck-dot.active{width:26px;opacity:1}

/* Filterable grids */
[data-filter-item].sb-filtered-out{display:none}
