/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"Fraunces","arguments":[{"subsets":["latin"],"variable":"--font-display","weight":["400","500","600","700","900"],"style":["normal","italic"],"display":"swap"}],"variableName":"fraunces"} ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.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: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.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: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.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: 'Fraunces';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.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: 'Fraunces';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.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: 'Fraunces';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.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: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.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: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.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: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.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: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.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: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Fraunces Fallback';src: local("Times New Roman");ascent-override: 84.71%;descent-override: 22.09%;line-gap-override: 0.00%;size-adjust: 115.45%
}.__className_9d1a0e {font-family: 'Fraunces', 'Fraunces Fallback'
}.__variable_9d1a0e {--font-display: 'Fraunces', 'Fraunces Fallback'
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"IBM_Plex_Sans","arguments":[{"subsets":["latin"],"variable":"--font-body","weight":["300","400","500","600","700"],"style":["normal","italic"],"display":"swap"}],"variableName":"plex"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/917cd3630643261c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aeeb8f17b662c1cb-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/fefa56e0a0c044be-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/76a592a1c919d78c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/24f44be2cf98e6f7-s.p.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/917cd3630643261c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aeeb8f17b662c1cb-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/fefa56e0a0c044be-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/76a592a1c919d78c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/24f44be2cf98e6f7-s.p.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/917cd3630643261c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aeeb8f17b662c1cb-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/fefa56e0a0c044be-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/76a592a1c919d78c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/24f44be2cf98e6f7-s.p.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/917cd3630643261c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aeeb8f17b662c1cb-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/fefa56e0a0c044be-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/76a592a1c919d78c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/24f44be2cf98e6f7-s.p.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/917cd3630643261c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aeeb8f17b662c1cb-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/fefa56e0a0c044be-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/76a592a1c919d78c-s.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: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/24f44be2cf98e6f7-s.p.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/7b19b489dc6743ba-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/28793f5c5e3d822d-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c9c3823090ec8b55-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b3bf17a9041d9433-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/2801417b65625cf5-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d4368bf94c0ec4-s.p.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/7b19b489dc6743ba-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/28793f5c5e3d822d-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c9c3823090ec8b55-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b3bf17a9041d9433-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/2801417b65625cf5-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d4368bf94c0ec4-s.p.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/7b19b489dc6743ba-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/28793f5c5e3d822d-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c9c3823090ec8b55-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b3bf17a9041d9433-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/2801417b65625cf5-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d4368bf94c0ec4-s.p.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/7b19b489dc6743ba-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/28793f5c5e3d822d-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c9c3823090ec8b55-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b3bf17a9041d9433-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/2801417b65625cf5-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d4368bf94c0ec4-s.p.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/7b19b489dc6743ba-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/28793f5c5e3d822d-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c9c3823090ec8b55-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b3bf17a9041d9433-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/2801417b65625cf5-s.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'IBM Plex Sans Fallback';src: local("Arial");ascent-override: 101.32%;descent-override: 27.18%;line-gap-override: 0.00%;size-adjust: 101.17%
}.__className_28cf67 {font-family: 'IBM Plex Sans', 'IBM Plex Sans Fallback'
}.__variable_28cf67 {--font-body: 'IBM Plex Sans', 'IBM Plex Sans Fallback'
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"IBM_Plex_Mono","arguments":[{"subsets":["latin"],"variable":"--font-mono","weight":["400","500","600"],"display":"swap"}],"variableName":"mono"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/58f386aa6b1a2a92-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/011e180705008d6f-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7ba5fb2a8c88521c-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/92eeb95d069020cc-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/d3ebbfd689654d3a-s.p.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ef4d5661765d0e49-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/d29838c109ef09b4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e40af3453d7c920a-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/99dcf268bda04fe5-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/98e207f02528a563-s.p.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/73cb51aac9c97f90-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/20535187d867b7b9-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/5356a6a4f2c8c8d8-s.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'IBM Plex Mono Fallback';src: local("Arial");ascent-override: 76.16%;descent-override: 20.43%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_595324 {font-family: 'IBM Plex Mono', 'IBM Plex Mono Fallback';font-style: normal
}.__variable_595324 {--font-mono: 'IBM Plex Mono', 'IBM Plex Mono Fallback'
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"IBM_Plex_Sans_Devanagari","arguments":[{"subsets":["devanagari"],"variable":"--font-deva","weight":["400","500","600","700"],"display":"swap"}],"variableName":"deva"} ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/8357dc4efb59e597-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* devanagari */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/b04c2e99edb07ce1-s.p.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/016f43fe5d0981e7-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/3a986e472914634a-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/2da8863c29dc90f5-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* devanagari */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/3377aa3d31f17ceb-s.p.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/b1873f3a6aa722bc-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/718dac34e33dcdc5-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/0ad719bdc28af8f5-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* devanagari */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/212f5d0d9b217258-s.p.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/50f44c024c588137-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/5ed06625a0f84640-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/2408198f1fd05f30-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* devanagari */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/a2edce6c385709ed-s.p.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/683d601ac8f6575e-s.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: 'IBM Plex Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/70e1d4e79679d5c4-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'IBM Plex Sans Devanagari Fallback';src: local("Arial");ascent-override: 105.77%;descent-override: 45.47%;line-gap-override: 0.00%;size-adjust: 101.17%
}.__className_0c2af0 {font-family: 'IBM Plex Sans Devanagari', 'IBM Plex Sans Devanagari Fallback';font-style: normal
}.__variable_0c2af0 {--font-deva: 'IBM Plex Sans Devanagari', 'IBM Plex Sans Devanagari Fallback'
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/[locale]/globals.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ===========================================================================
   NotarAI · Citizen Landing · "Gazette · Engineered"
   Indian-government editorial × modern infrastructure brand
   =========================================================================== */

@layer reset, tokens, base, type, layout, components, motion, utilities;

/* ---------- reset ---------- */
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  * { margin: 0; padding: 0; }
  html, body { height: 100%; }
  img, picture, svg, video { display: block; max-width: 100%; }
  button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
  a { color: inherit; text-decoration: none; }
  ul, ol { list-style: none; }
}

/* ---------- design tokens ---------- */
@layer tokens {
  :root {
    /* ink */
    --ink-navy:        #0B1B3A;
    --ink-navy-strong: #06112A;
    --ink-night:       #050818;
    --ink-soft:        #1F2A48;

    /* cream paper */
    --cream:        #FAF6EE;
    --cream-warm:   #F4ECD7;
    --cream-card:   #FFFCF4;
    --cream-deeper: #ECE1C5;

    /* lines / rules */
    --line:        #D6CFC0;
    --line-soft:   #E6DEC8;
    --line-strong: #9F9580;

    /* accent inks */
    --saffron:        #D97706;
    --saffron-bright: #F2A22B;
    --saffron-deep:   #92400E;
    --vermillion:     #B91C1C;
    --mint:           #0E4A3C;
    --mint-bright:    #16956F;

    /* grays / text */
    --gray-900: #1F1B14;
    --gray-700: #3F3A30;
    --gray-500: #6E6757;
    --gray-300: #B4ADA0;

    /* surfaces */
    --bg:          var(--cream);
    --bg-elev:     var(--cream-card);
    --bg-dark:     var(--ink-navy);
    --bg-dark-2:   var(--ink-navy-strong);

    /* type sizes — capped lower than the original to prevent over-large hero text
       on wide viewports (which combined with too-narrow copy column made each line
       only fit 1-2 words). */
    --fs-disp-xl: clamp(2.25rem, 5.4vw, 4.25rem);
    --fs-disp-l:  clamp(2rem, 4.2vw, 3.25rem);
    --fs-disp-m:  clamp(1.65rem, 2.8vw, 2.4rem);
    --fs-disp-s:  clamp(1.35rem, 2vw, 1.75rem);
    --fs-body-l:  clamp(1.025rem, 1.15vw, 1.175rem);
    --fs-body:    1rem;
    --fs-meta:    0.78rem;
    --fs-micro:   0.68rem;

    /* spacing */
    --container: 78rem;
    --gutter: clamp(1.25rem, 4vw, 3.25rem);
    --section-y: clamp(4.5rem, 9vw, 8rem);
  }
}

/* ---------- base ---------- */
@layer base {
  html {
    background: var(--bg);
    color: var(--ink-night);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
  }
  body {
    /* Latin first, with Devanagari font as graceful fallback for any Devanagari glyphs in English copy */
    font-family: var(--font-body), var(--font-deva), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-feature-settings: "ss01", "cv11";
    background:
      radial-gradient(60rem 40rem at 12% -8%, color-mix(in oklab, var(--saffron) 7%, transparent), transparent 60%),
      radial-gradient(40rem 30rem at 110% 8%,  color-mix(in oklab, var(--ink-navy) 5%, transparent), transparent 60%),
      var(--bg);
    overflow-x: hidden;
  }

  /* Hindi locale: lead with Plex Sans Devanagari so Devanagari glyphs render in
     the family designed for them; Plex Sans handles any Latin tokens via fallback. */
  html[lang="hi"] body {
    font-family: var(--font-deva), var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  /* paper grain — subtle SVG noise overlay; sits BEHIND interactive content so it
     doesn't dim hover states. */
  body::before {
    content: "";
    position: fixed; inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.04  0 0 0 0 0.02  0 0 0 0.55 0'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='0.42'/></svg>");
    opacity: 0.28;
    mix-blend-mode: multiply;
    z-index: 0;
  }

  ::selection { background: color-mix(in oklab, var(--saffron) 35%, transparent); color: var(--ink-night); }
}

/* ---------- typography ---------- */
@layer type {
  /* Display: Fraunces for Latin; Plex Devanagari fallback per-glyph for Devanagari snippets */
  .display, .h1, .h2, .h3, .h4 { font-family: var(--font-display), var(--font-deva), Georgia, serif; }
  /* Hindi locale: lead with Devanagari face for display text (Fraunces still picks up brand-Latin words like "NotarAI") */
  html[lang="hi"] .display,
  html[lang="hi"] .h1,
  html[lang="hi"] .h2,
  html[lang="hi"] .h3,
  html[lang="hi"] .h4 { font-family: var(--font-deva), var(--font-display), Georgia, serif; font-weight: 600; }

  .mono  { font-family: var(--font-mono), ui-monospace, monospace; }
  .deva  { font-family: var(--font-deva), system-ui, sans-serif; }

  .h1 {
    font-size: var(--fs-disp-xl);
    line-height: 1.04;
    letter-spacing: -0.022em;
    font-weight: 500;
    font-feature-settings: "ss01", "cv11";
    text-wrap: balance;
  }
  .h2 {
    font-size: var(--fs-disp-l);
    line-height: 1.02;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
  .h3 {
    font-size: var(--fs-disp-m);
    line-height: 1.08;
    letter-spacing: -0.015em;
    font-weight: 500;
  }
  .h4 {
    font-size: var(--fs-disp-s);
    line-height: 1.15;
    letter-spacing: -0.012em;
    font-weight: 500;
    font-family: var(--font-display), Georgia, serif;
  }

  .lead { font-size: var(--fs-body-l); line-height: 1.5; color: var(--ink-soft); max-width: 36em; }
  .body { font-size: var(--fs-body); line-height: 1.6; color: var(--gray-700); }
  .meta { font-family: var(--font-mono), monospace; font-size: var(--fs-meta); letter-spacing: 0.08em; text-transform: uppercase; }
  .micro { font-family: var(--font-mono), monospace; font-size: var(--fs-micro); letter-spacing: 0.12em; text-transform: uppercase; }
  .ital  { font-style: italic; }

  /* an editorial saffron highlight used on emphasized phrases — sits BEHIND the text
     and crosses the lower third of the glyphs (Latin) or sits just under the baseline (Deva). */
  .underline-saffron {
    position: relative;
    display: inline;
    white-space: nowrap;
    isolation: isolate;
  }
  .underline-saffron::before {
    content: "";
    position: absolute;
    left: -0.05em; right: -0.05em;
    bottom: 0.08em;
    height: 0.18em;
    background: linear-gradient(95deg, var(--saffron) 0%, var(--saffron-bright) 100%);
    transform: skewX(-6deg);
    z-index: -1;
    border-radius: 2px;
    opacity: 0.55;
  }
  /* Devanagari descends below the baseline (vowel marks). Slide the highlight
     a touch lower so it doesn't clip those descenders. */
  html[lang="hi"] .underline-saffron::before {
    bottom: -0.02em;
    height: 0.2em;
    opacity: 0.5;
  }

  /* article numerals — small roman/arabic in saffron */
  .article-tag {
    display: inline-flex; align-items: center; gap: 0.6em;
    font-family: var(--font-mono), monospace;
    font-size: var(--fs-meta);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--saffron-deep);
  }
  .article-tag::before {
    content: "";
    width: 1.5em; height: 1px;
    background: var(--saffron);
  }

  .ornament {
    display: flex; align-items: center; justify-content: center; gap: 0.85em;
    color: var(--saffron);
  }
  .ornament::before, .ornament::after {
    content: ""; height: 1px; background: currentColor; flex: 1 1; opacity: 0.4;
  }
  .ornament .diamond {
    width: 0.45em; height: 0.45em; background: currentColor; transform: rotate(45deg);
  }
}

/* ---------- layout primitives ---------- */
@layer layout {
  .container { width: 100%; max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
  .section { padding-block: var(--section-y); position: relative; }
  .row { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
  .stack { display: flex; flex-direction: column; }
}

/* ---------- COMPONENTS ---------- */
@layer components {

  /* ---------- Gazette strip ---------- */
  .gazette {
    background: var(--ink-navy);
    color: color-mix(in oklab, var(--cream) 80%, transparent);
    border-bottom: 1px solid color-mix(in oklab, var(--saffron) 25%, transparent);
    font-family: var(--font-mono), monospace;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.55rem 0;
    position: relative;
    overflow: hidden;
    line-height: 1.5;
  }
  .gazette__inner {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
    flex-wrap: wrap;
  }
  /* On narrow screens, hide the verbose title — keep just the live indicator */
  @media (max-width: 640px) {
    .gazette__inner > span:first-child {
      font-size: 0.62rem; opacity: 0.7;
      max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
  }
  .gazette__star {
    display: inline-block;
    width: 0.55em; height: 0.55em;
    background: var(--saffron); margin-right: 0.5em;
    transform: rotate(45deg);
    vertical-align: middle;
  }
  .gazette__live {
    color: var(--saffron-bright);
  }
  .gazette__live::before {
    content: "";
    display: inline-block; width: 6px; height: 6px;
    background: var(--mint-bright); border-radius: 50%;
    margin-right: 6px;
    box-shadow: 0 0 0 0 currentColor;
    animation: pulse 2.5s ease-out infinite;
  }
  @keyframes pulse {
    0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--mint-bright) 60%, transparent); }
    100% { box-shadow: 0 0 0 10px transparent; }
  }

  /* ---------- Header ---------- */
  .header {
    position: -webkit-sticky;
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in oklab, var(--cream) 86%, transparent);
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    border-bottom: 1px solid var(--line);
  }
  .header__inner {
    display: flex; align-items: center; justify-content: space-between;
    padding-block: 0.85rem;
    gap: 0.75rem;
    flex-wrap: nowrap;
  }
  .wordmark {
    display: inline-flex; align-items: baseline; gap: 0.35em;
    font-family: var(--font-display); font-size: 1.6rem;
    font-weight: 600; letter-spacing: -0.02em;
    color: var(--ink-navy);
  }
  .wordmark__dot {
    display: inline-block; width: 0.4em; height: 0.4em;
    background: var(--saffron); border-radius: 50%;
    margin-bottom: 0.2em;
  }
  .wordmark__tag {
    font-family: var(--font-mono); font-size: 0.55em; font-weight: 500;
    letter-spacing: 0.16em; color: var(--gray-500); text-transform: uppercase;
    margin-left: 0.2em; transform: translateY(-0.4em);
  }
  .nav {
    display: flex; align-items: center;
    gap: clamp(0.65rem, 1.6vw, 1.75rem);
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  /* Below tablet, hide the long text nav links — keep only the lang switcher + CTA + wordmark.
     The full nav becomes available again on tablet+. */
  @media (max-width: 880px) {
    .nav > a:not(.btn) { display: none; }
  }
  @media (max-width: 420px) {
    .wordmark__tag { display: none; }
  }

  /* ---------- Lang switcher (EN / हि toggle) ---------- */
  .lang-switch {
    display: inline-flex; align-items: center; gap: 0.35em;
    padding: 0.22rem 0.6rem;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    background: var(--cream-warm);
    transition: border-color .2s ease;
  }
  .lang-switch:hover { border-color: var(--ink-navy); }
  .lang-switch__sep {
    color: var(--gray-300); font-family: var(--font-mono); font-size: 0.78rem;
    margin-inline: 0.05em;
  }
  .lang-switch__btn {
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em;
    text-transform: uppercase; padding: 0.18em 0.5em;
    color: var(--gray-500);
    border-radius: 999px;
    transition: color .15s ease, background-color .15s ease;
    line-height: 1;
  }
  .lang-switch__btn:hover { color: var(--ink-navy); }
  .lang-switch__btn.is-active {
    color: var(--cream); background: var(--ink-navy);
  }
  .lang-switch[data-pending] .lang-switch__btn { opacity: 0.5; cursor: progress; }
  .nav a {
    font-size: 0.92rem; color: var(--gray-700); font-weight: 500;
    letter-spacing: -0.005em;
    position: relative; padding: 0.35rem 0;
    transition: color .2s ease;
  }
  .nav a:hover { color: var(--ink-navy); }
  .nav a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -4px;
    height: 1px; background: var(--saffron);
    transform: scaleX(0); transform-origin: left;
    transition: transform .25s ease;
  }
  .nav a:hover::after { transform: scaleX(1); }

  /* ---------- Buttons ---------- */
  .btn {
    display: inline-flex; align-items: center; gap: 0.5em;
    padding: 0.85rem 1.4rem;
    font-family: var(--font-body); font-weight: 600; font-size: 0.95rem;
    letter-spacing: -0.005em;
    border-radius: 2px;
    transition: transform .15s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
    border: 1px solid transparent;
  }
  .btn--primary {
    background: var(--ink-navy); color: var(--cream);
    box-shadow: 0 1px 0 0 color-mix(in oklab, var(--saffron) 60%, transparent),
                inset 0 1px 0 0 color-mix(in oklab, white 6%, transparent);
  }
  .btn--primary:hover {
    background: var(--ink-navy-strong);
    transform: translateY(-1px);
    box-shadow: 0 4px 0 -1px var(--saffron),
                0 8px 24px -10px var(--ink-navy);
  }
  .btn--saffron {
    background: var(--saffron); color: var(--cream);
    box-shadow: inset 0 -2px 0 0 color-mix(in oklab, black 18%, transparent);
  }
  .btn--saffron:hover {
    background: var(--saffron-bright);
    transform: translateY(-1px);
  }
  .btn--ghost {
    background: transparent; color: var(--ink-navy);
    border-color: var(--line-strong);
  }
  .btn--ghost:hover {
    background: var(--cream-warm);
    border-color: var(--ink-navy);
  }
  .btn--small { padding: 0.55rem 0.95rem; font-size: 0.84rem; }

  /* ---------- Hero ---------- */
  .hero {
    position: relative;
    padding-top: clamp(4rem, 9vw, 7rem);
    padding-bottom: clamp(5rem, 10vw, 9rem);
  }
  .hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: clamp(3rem, 6vw, 5rem);
    gap: clamp(3rem, 6vw, 5rem);
    align-items: start;
  }
  @media (min-width: 1024px) {
    .hero__grid {
      /* Copy column gets a bit more room than the stamp paper — both centered */
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
      gap: clamp(2rem, 4vw, 4.5rem);
      align-items: center;
    }
  }
  /* Let the copy fill its grid column — the parent column already caps to ~50% of the container on desktop */
  .hero__copy { max-width: 100%; }
  .hero__title { margin-block: 1rem 1.25rem; }
  /* The sub-line under the hero headline — always block, always smaller, slightly muted */
  .hero__title .hero__title-sub {
    display: block;
    font-size: 0.5em;
    margin-top: 0.5em;
    color: var(--saffron-deep);
    font-weight: 500;
    opacity: 0.88;
    letter-spacing: 0.01em;
    font-family: var(--font-deva), var(--font-body), system-ui, sans-serif;
  }
  /* In English locale, the sub is intentionally Devanagari (bilingual flourish) — keep it in the Deva face */
  html[lang="en"] .hero__title .hero__title-sub {
    font-family: var(--font-deva), var(--font-body), system-ui, sans-serif;
  }
  /* In Hindi locale, the sub is a short English/Latin tagline — render in the mono face for a different texture */
  html[lang="hi"] .hero__title .hero__title-sub {
    font-family: var(--font-mono), monospace;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.42em;
  }

  /* Sub-line segments: each segment is unbreakable, bullet separators are CSS-rendered
     so they always stick with the following segment (no stranded "·" at line start). */
  .hero__title .hero__title-sub__seg {
    display: inline-block;
    white-space: nowrap;
  }
  .hero__title .hero__title-sub__seg + .hero__title-sub__seg::before {
    content: "·";
    margin: 0 0.5em;
    opacity: 0.55;
    color: var(--saffron);
  }
  /* Back-compat for the old .deva class inside hero__title */
  .hero__title .deva { font-size: 0.5em; display: block; margin-top: 0.4em; color: var(--saffron-deep); font-weight: 500; opacity: 0.85; }
  .hero__sub { color: var(--gray-700); }
  .hero__ctas { margin-top: 2rem; }
  .hero__stats {
    margin-top: clamp(2rem, 4vw, 2.5rem); padding-top: 1.25rem;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-gap: 1rem 1.25rem;
    gap: 1rem 1.25rem;
  }
  @media (min-width: 720px) {
    .hero__stats { grid-template-columns: repeat(4, minmax(0,1fr)); }
  }
  .stat { }
  .stat__val { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; color: var(--ink-navy); letter-spacing: -0.01em; line-height: 1; font-feature-settings: "tnum"; }
  .stat__label { display: block; margin-top: 0.4rem; font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-500); }

  /* ---------- Hero stamp paper card ---------- */
  .stamp-paper {
    position: relative;
    background: var(--cream-card);
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid var(--line);
    box-shadow:
      0 2px 0 0 rgba(11,27,58,0.05),
      0 22px 44px -24px rgba(11,27,58,0.28),
      0 80px 60px -50px rgba(11,27,58,0.14);
    transform: rotate(-0.7deg);
    transition: transform .4s cubic-bezier(.2,.7,.3,1);
    max-width: 28rem;
    margin-inline: auto;
  }
  .stamp-paper:hover { transform: rotate(-0.4deg) translateY(-4px); }
  .stamp-paper::before, .stamp-paper::after {
    content: ""; position: absolute; left: 0; right: 0; height: 10px;
    background:
      repeating-linear-gradient(90deg, var(--ink-navy) 0 4px, transparent 4px 9px),
      repeating-linear-gradient(90deg, var(--saffron) 0 2px, transparent 2px 11px);
    background-position: 0 50%, 5px 50%;
    background-size: 100% 2px, 100% 2px;
    background-repeat: repeat-x;
    opacity: 0.55;
  }
  .stamp-paper::before { top: -1px; }
  .stamp-paper::after  { bottom: -1px; }
  .stamp-paper__label {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--gray-500);
  }
  .stamp-paper__title {
    font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700;
    letter-spacing: -0.01em; color: var(--ink-navy);
    line-height: 1;
  }
  .stamp-paper__sub {
    font-family: var(--font-deva); font-size: 1rem; color: var(--saffron-deep);
    font-style: normal; opacity: 0.9;
  }
  .stamp-paper__meta {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em; color: var(--gray-500); text-transform: uppercase;
  }
  .stamp-paper__body {
    font-family: var(--font-display); font-size: 0.95rem; line-height: 1.55; color: var(--gray-700); font-style: italic;
    column-rule: 1px dotted var(--line);
  }
  .stamp-paper__seal {
    position: absolute; right: 1.2rem; bottom: 1.2rem;
  }
  .stamp-paper__watermark {
    position: absolute; inset: 30% 0 30% 0;
    pointer-events: none;
    font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); font-weight: 900;
    color: var(--ink-navy);
    opacity: 0.04;
    text-align: center;
    letter-spacing: 0.04em;
    transform: rotate(-12deg);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  /* Hero pointing annotations */
  .hero__annotations {
    position: absolute;
    inset: 0;
    pointer-events: none;
    display: none;
  }
  @media (min-width: 1280px) {
    .hero__annotations { display: block; }
  }
  .annot {
    position: absolute;
    display: inline-flex; align-items: center; gap: 0.55em;
    font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-navy);
    background: var(--cream-warm);
    padding: 0.45em 0.7em;
    border-radius: 2px;
    border: 1px solid var(--line);
    box-shadow: 0 4px 12px -6px rgba(11,27,58,0.3);
  }
  .annot::before { content: ""; width: 5px; height: 5px; background: var(--saffron); transform: rotate(45deg); }
  .annot--1 { top: 8%;  right: 38%; }
  .annot--2 { top: 38%; right: 4%;  }
  .annot--3 { bottom: 18%; right: 42%; }
  .annot--4 { bottom: 4%;  right: 6%; }

  /* ---------- Stack strip ---------- */
  .stack-strip {
    border-block: 1px solid var(--line);
    background:
      linear-gradient(180deg, transparent, color-mix(in oklab, var(--cream-warm) 40%, transparent) 50%, transparent),
      var(--cream);
    padding-block: 2rem;
  }
  .stack-strip__label {
    text-align: center; margin-bottom: 1.25rem;
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.22em;
    text-transform: uppercase; color: var(--gray-500);
  }
  .stack-strip__label::before, .stack-strip__label::after {
    content: " · ";
    color: var(--saffron);
  }
  .marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
            mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
  }
  .marquee__track {
    display: flex; gap: 3.5rem;
    width: max-content;
    animation: marquee 38s linear infinite;
  }
  .marquee__item {
    font-family: var(--font-display);
    font-size: 1.25rem; font-weight: 500; color: var(--ink-soft);
    letter-spacing: 0.02em;
    display: inline-flex; align-items: center; gap: 0.5em;
    opacity: 0.78;
  }
  .marquee__item::before {
    content: ""; width: 6px; height: 6px;
    background: var(--saffron); border-radius: 50%;
    opacity: 0.55;
  }
  @keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* ---------- Section header ---------- */
  .section-head { max-width: 56rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
  .section-head .h2 { margin-block: 1rem 1rem; }

  /* ---------- Early-access (HR teams) ---------- */
  .early-access { padding-block: clamp(3.5rem, 7vw, 6rem); }
  .early-access__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    grid-gap: clamp(2rem, 4vw, 4rem);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: stretch;
  }
  @media (max-width: 56rem) {
    .early-access__inner { grid-template-columns: minmax(0, 1fr); }
  }
  .early-access__copy { display: flex; flex-direction: column; justify-content: center; }
  .early-access__copy .h2 { margin-block: 0.85rem 1rem; }
  .early-access__lead { max-width: 32em; }
  .early-access__features {
    list-style: none; padding: 0; margin: 1.75rem 0 0;
    display: grid; grid-gap: 0.85rem; gap: 0.85rem;
  }
  .early-access__feature {
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    align-items: baseline;
    grid-column-gap: 0.4rem;
    column-gap: 0.4rem;
    padding-block: 0.6rem;
    border-top: 1px dotted var(--line);
    color: var(--gray-900);
    font-size: 0.98rem; line-height: 1.5;
  }
  .early-access__feature:last-child { border-bottom: 1px dotted var(--line); }
  .early-access__feature-mark {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--saffron-deep);
    letter-spacing: 0;
  }

  .early-access__panel {
    position: relative;
    background: var(--cream-card);
    border: 1px solid var(--line);
    padding: clamp(1.5rem, 2.5vw, 2.25rem);
    box-shadow: 0 18px 40px -28px rgba(11,27,58,0.35);
  }
  .early-access__panel::before {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
    background: linear-gradient(90deg, var(--saffron) 0%, var(--saffron-bright) 50%, var(--vermillion) 100%);
  }
  .early-access__panel-head {
    display: flex; flex-direction: column; gap: 0.4rem;
    margin-bottom: 1.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed var(--line);
  }
  .early-access__panel-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(1.15rem, 1.6vw, 1.4rem);
    color: var(--ink-navy);
    letter-spacing: -0.01em;
    line-height: 1.2;
  }

  .early-access__form { display: flex; flex-direction: column; gap: 1.1rem; }
  .early-access__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.9rem 0.85rem;
    gap: 0.9rem 0.85rem;
  }
  @media (max-width: 30rem) {
    .early-access__grid { grid-template-columns: minmax(0, 1fr); }
  }
  .early-access__field { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
  .early-access__label {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gray-700);
  }
  .early-access__optional {
    color: var(--gray-500);
    font-weight: 400;
    margin-left: 0.3em;
  }
  .early-access__input {
    font: inherit;
    font-family: var(--font-body), var(--font-deva), system-ui, sans-serif;
    font-size: 0.96rem;
    color: var(--ink-night);
    background: var(--cream);
    border: 1px solid var(--line);
    border-radius: 2px;
    padding: 0.72rem 0.85rem;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
    min-width: 0;
  }
  .early-access__input::placeholder { color: var(--gray-500); }
  .early-access__input:hover { border-color: var(--gray-700); }
  .early-access__input:focus-visible {
    outline: none;
    border-color: var(--ink-navy);
    background: var(--cream-card);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--saffron) 28%, transparent);
  }

  .early-access__actions {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem 1.1rem;
    margin-top: 0.25rem;
  }
  .early-access__error {
    font-family: var(--font-mono);
    font-size: 0.74rem; letter-spacing: 0.08em;
    color: var(--vermillion);
    margin: 0;
  }
  .early-access__trust {
    margin: 0;
    font-size: 0.78rem;
    color: var(--gray-500);
    line-height: 1.5;
    border-top: 1px dotted var(--line);
    padding-top: 0.9rem;
  }

  .early-access__success {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    align-items: start;
    grid-gap: 0.9rem;
    gap: 0.9rem;
    padding: 1.1rem 0.25rem;
  }
  .early-access__success-mark {
    width: 2.4rem; height: 2.4rem;
    border: 1.5px solid var(--saffron-deep);
    color: var(--saffron-deep);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-display);
    font-size: 1.2rem; font-weight: 600;
    border-radius: 50%;
  }
  .early-access__success-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--ink-navy);
    margin: 0 0 0.35rem;
  }
  .early-access__success-body {
    margin: 0;
    font-size: 0.92rem;
    color: var(--gray-700);
    line-height: 1.55;
  }

  /* ---------- Matters grid ---------- */
  .matters {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
    grid-gap: clamp(0.75rem, 1.25vw, 1.25rem);
    gap: clamp(0.75rem, 1.25vw, 1.25rem);
  }
  .matter {
    position: relative;
    padding: 1.5rem 1.4rem 1.4rem;
    background: var(--cream-card);
    border: 1px solid var(--line);
    transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease;
    overflow: hidden;
    display: flex; flex-direction: column;
    min-height: 14rem;
  }
  .matter:hover {
    transform: translateY(-3px);
    border-color: var(--ink-navy);
    box-shadow: 0 16px 32px -16px rgba(11,27,58,0.25);
  }
  .matter::after {
    content: ""; position: absolute;
    left: 0; right: 0; bottom: 0; height: 3px;
    background: linear-gradient(90deg, var(--saffron) 0%, var(--saffron-bright) 50%, var(--vermillion) 100%);
    transform: scaleX(0); transform-origin: left;
    transition: transform .35s ease;
  }
  .matter:hover::after { transform: scaleX(1); }
  .matter__num {
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.2em;
    text-transform: uppercase; color: var(--saffron-deep);
    margin-bottom: 0.8rem;
  }
  .matter__title {
    font-family: var(--font-display); font-size: 1.4rem; font-weight: 600;
    color: var(--ink-navy); letter-spacing: -0.015em; line-height: 1.1;
  }
  .matter__body {
    font-size: 0.88rem; color: var(--gray-700); line-height: 1.55;
    margin-top: 0.6rem; flex: 1 1;
  }
  .matter__foot {
    margin-top: 1rem; padding-top: 0.85rem;
    border-top: 1px dotted var(--line);
    display: flex; align-items: center; justify-content: space-between;
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500);
  }
  .matter__foot .price { color: var(--ink-navy); font-weight: 600; }
  .matter__wave {
    display: inline-block; padding: 0.15em 0.5em; border: 1px solid currentColor;
    border-radius: 2px; color: var(--saffron-deep);
  }

  /* ---------- Coverage table ---------- */
  .coverage-table {
    width: 100%; border-collapse: collapse;
    background: var(--cream-card);
    border: 1px solid var(--line);
    font-family: var(--font-body);
  }
  .coverage-table thead th {
    text-align: left; padding: 1rem 1rem;
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--cream);
    background: var(--ink-navy);
    font-weight: 500;
  }
  .coverage-table tbody td {
    padding: 1rem 1rem;
    border-top: 1px solid var(--line-soft);
    font-size: 0.94rem;
    color: var(--gray-900);
    vertical-align: top;
  }
  .coverage-table tbody tr:nth-child(odd) { background: var(--cream-warm); }
  .coverage-table tbody tr:hover { background: color-mix(in oklab, var(--saffron) 5%, var(--cream-card)); }
  .coverage-table td:first-child { font-family: var(--font-display); font-weight: 700; color: var(--ink-navy); font-size: 1.05rem; }
  .coverage-table td:last-child { font-family: var(--font-mono); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; }
  .wave-pill {
    display: inline-block; padding: 0.15em 0.55em;
    border: 1px solid var(--ink-navy);
    color: var(--ink-navy);
    font-family: var(--font-mono); font-size: 0.7rem;
    letter-spacing: 0.1em;
  }
  .wave-pill.w0 { background: var(--ink-navy); color: var(--cream); }
  .wave-pill.w1 { background: color-mix(in oklab, var(--saffron) 18%, var(--cream-warm)); border-color: var(--saffron-deep); color: var(--saffron-deep); }
  .wave-pill.w2 { background: var(--cream-card); border-color: var(--gray-500); color: var(--gray-700); }
  .wave-pill.w3 { background: var(--cream-card); border-color: var(--gray-300); color: var(--gray-500); border-style: dashed; }
  .coverage-foot {
    margin-top: 1.25rem;
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em;
    color: var(--gray-500); text-transform: uppercase;
  }
  .coverage-foot::before {
    content: "*";
    color: var(--saffron);
    margin-right: 0.4em;
  }

  /* ---------- How it works timeline ---------- */
  .steps {
    display: grid;
    grid-gap: 0;
    gap: 0;
    position: relative;
  }
  .step {
    display: grid;
    /* Mobile-first: number on its own row, then head + body stacked */
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "num" "head" "body";
    grid-gap: 0.85rem;
    gap: 0.85rem;
    padding: 1.4rem 0;
    border-top: 1px solid var(--line);
    align-items: start;
  }
  .step__num { grid-area: num; }
  .step__head { grid-area: head; }
  .step__body { grid-area: body; }
  @media (min-width: 768px) {
    .step {
      grid-template-columns: minmax(4rem, 7rem) minmax(0,1fr) minmax(0,1.4fr);
      grid-template-areas: "num head body";
      gap: clamp(1.25rem, 3vw, 3rem);
      align-items: baseline;
      padding: 1.6rem 0;
    }
  }
  .step:last-child { border-bottom: 1px solid var(--line); }
  .step__num {
    font-family: var(--font-display); font-size: clamp(2.5rem, 4vw, 3.5rem);
    font-weight: 500; color: var(--saffron); letter-spacing: -0.03em;
    line-height: 1; font-feature-settings: "tnum";
  }
  .step__head { }
  .step__time {
    font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--gray-500);
    margin-bottom: 0.4rem;
  }
  .step__title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 600; color: var(--ink-navy); letter-spacing: -0.012em; line-height: 1.15; }
  .step__body { color: var(--gray-700); font-size: 0.95rem; line-height: 1.55; }

  /* ---------- Pricing cards ---------- */
  .pricing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    grid-gap: 1rem;
    gap: 1rem;
  }
  .price {
    position: relative;
    background: var(--cream-card);
    border: 1px solid var(--line);
    padding: 1.5rem 1.4rem;
    overflow: hidden;
  }
  .price--featured { border-color: var(--ink-navy); }
  /* JSX-rendered ribbon (we use a real element so it can be translated) */
  .price__feat {
    position: absolute;
    top: 0; right: 0;
    background: var(--ink-navy); color: var(--cream);
    font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.16em;
    padding: 0.3em 0.7em;
    text-transform: uppercase;
    z-index: 1;
  }
  html[lang="hi"] .price__feat {
    font-family: var(--font-deva); font-size: 0.66rem; letter-spacing: 0.04em;
    text-transform: none;
  }
  .price__matter {
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--gray-500);
  }
  .price__title {
    font-family: var(--font-display); font-size: 1.6rem; font-weight: 700;
    color: var(--ink-navy); letter-spacing: -0.02em; margin-top: 0.3rem; line-height: 1.05;
  }
  .price__state {
    font-family: var(--font-deva); font-size: 0.95rem; color: var(--saffron-deep); margin-top: 0.2rem;
  }
  .price__lines { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; font-family: var(--font-mono); font-size: 0.82rem; }
  .price__line { display: flex; justify-content: space-between; gap: 1rem; }
  .price__line span:first-child { color: var(--gray-700); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.7rem; }
  .price__line span:last-child  { color: var(--ink-navy); font-weight: 600; }
  .price__total {
    margin-top: 1.2rem; padding-top: 1rem;
    border-top: 1px solid var(--line);
    display: flex; justify-content: space-between; align-items: baseline;
  }
  .price__total .label { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gray-500); }
  .price__total .amount { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; color: var(--ink-navy); letter-spacing: -0.02em; font-feature-settings: "tnum"; }

  /* ---------- Compliance trio ---------- */
  .pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    grid-gap: 1.25rem;
    gap: 1.25rem;
  }
  .pillar {
    background: var(--ink-navy); color: var(--cream);
    padding: 2rem 1.75rem;
    position: relative; overflow: hidden;
    border: 1px solid color-mix(in oklab, var(--saffron) 24%, transparent);
  }
  .pillar::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--saffron) 0%, transparent 80%);
  }
  .pillar__num {
    font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.18em;
    color: var(--saffron-bright); text-transform: uppercase;
  }
  .pillar__title {
    font-family: var(--font-display); font-size: 1.55rem; font-weight: 600;
    letter-spacing: -0.015em; margin-top: 0.6rem; color: var(--cream);
    line-height: 1.12;
  }
  .pillar__body {
    margin-top: 0.85rem; font-size: 0.95rem; line-height: 1.6;
    color: color-mix(in oklab, var(--cream) 75%, var(--gray-500));
  }
  .pillar__cite {
    display: block; margin-top: 1.5rem; padding-top: 1rem;
    border-top: 1px dashed color-mix(in oklab, var(--cream) 25%, transparent);
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em;
    color: var(--saffron-bright); text-transform: uppercase;
  }

  /* ---------- FAQ ---------- */
  .faqs {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }
  .faq {
    background: var(--cream-card);
    border: 1px solid var(--line);
    padding: 1.4rem 1.5rem;
    transition: border-color .2s ease;
  }
  .faq:hover { border-color: var(--ink-navy); }
  .faq__num {
    font-family: var(--font-mono); font-size: 0.72rem;
    letter-spacing: 0.16em; color: var(--saffron-deep); text-transform: uppercase;
  }
  .faq__q {
    font-family: var(--font-display); font-style: italic; font-size: 1.35rem;
    font-weight: 500; color: var(--ink-navy); margin-top: 0.4rem; line-height: 1.25;
    letter-spacing: -0.01em;
  }
  .faq__a {
    margin-top: 0.8rem; color: var(--gray-700); font-size: 0.95rem; line-height: 1.65;
    max-width: 56em;
  }

  /* ---------- Footer ---------- */
  .footer {
    background: var(--ink-navy); color: color-mix(in oklab, var(--cream) 78%, transparent);
    padding-block: clamp(3.5rem, 7vw, 6rem) 2.5rem;
    border-top: 4px solid var(--saffron);
  }
  .footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    grid-gap: 2.5rem;
    gap: 2.5rem;
    margin-bottom: 3rem;
  }
  .footer__col h5 {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--saffron-bright);
    margin-bottom: 1rem; font-weight: 500;
  }
  .footer__col ul { display: flex; flex-direction: column; gap: 0.6rem; }
  .footer__col a {
    font-size: 0.92rem; color: color-mix(in oklab, var(--cream) 75%, transparent);
    transition: color .2s ease;
  }
  .footer__col a:hover { color: var(--saffron-bright); }
  .footer__colophon {
    border-top: 1px solid color-mix(in oklab, var(--cream) 15%, transparent);
    padding-top: 2rem;
    display: flex; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.14em;
    text-transform: uppercase; color: color-mix(in oklab, var(--cream) 50%, transparent);
  }
  .footer__motto { font-family: var(--font-deva); font-size: 1.1rem; color: var(--saffron-bright); letter-spacing: 0; text-transform: none; line-height: 1; }

  /* ---------- Seal SVG bits ---------- */
  .seal {
    position: relative;
    width: 3.2rem; height: 3.2rem;
    color: var(--vermillion);
    opacity: 0.9;
  }
  .seal svg { width: 100%; height: 100%; }
  .seal text { font-family: var(--font-mono); fill: currentColor; font-size: 7px; letter-spacing: 0.5px; }
}

/* ---------- motion ---------- */
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .rise {
      opacity: 0; transform: translateY(14px);
      animation: rise .9s cubic-bezier(.2,.7,.25,1) forwards;
    }
    .rise.delay-1 { animation-delay: .1s; }
    .rise.delay-2 { animation-delay: .22s; }
    .rise.delay-3 { animation-delay: .34s; }
    .rise.delay-4 { animation-delay: .46s; }
    .rise.delay-5 { animation-delay: .58s; }
    .rise.delay-6 { animation-delay: .7s; }

    @keyframes rise {
      to { opacity: 1; transform: translateY(0); }
    }

    .stamp-paper {
      opacity: 0; transform: rotate(-3deg) translateY(20px);
      animation: stampLand 1.1s cubic-bezier(.2,.7,.25,1) .25s forwards;
    }
    @keyframes stampLand {
      0%   { opacity: 0; transform: rotate(-3deg) translateY(20px) scale(.97); }
      60%  { opacity: 1; transform: rotate(-0.4deg) translateY(0) scale(1.005); }
      100% { opacity: 1; transform: rotate(-1.2deg) translateY(0) scale(1); }
    }
  }
}

/* ---------- persona consoles (admin / notary / enterprise / kiosk) ---------- */
@layer components {
  .persona { padding-block: clamp(3rem, 6vw, 5rem); }
  .persona__title { margin-block: 0.6rem 1rem; color: var(--ink-navy); }
  .persona__title em { color: var(--saffron-deep); font-style: italic; font-weight: 600; }
  .persona__kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    grid-gap: 0.75rem;
    gap: 0.75rem;
    margin-top: 2rem;
  }
  .kpi { background: var(--cream-card); border: 1px solid var(--line); padding: 1.25rem 1.1rem; }
  .kpi__label { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-500); }
  .kpi__value { margin-top: 0.4rem; font-family: var(--font-display); font-size: 1.85rem; font-weight: 700; color: var(--ink-navy); letter-spacing: -0.015em; line-height: 1; font-feature-settings: "tnum"; }
  .persona__panel { background: var(--cream-card); border: 1px solid var(--line); padding: 1.5rem 1.5rem; margin-top: 1.5rem; }
  .persona__status {
    margin-top: 3rem; padding: 0.85rem 1.1rem;
    background: var(--cream-card); border: 1px solid var(--line);
    font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.1em; color: var(--gray-500);
  }
  .persona__status .ok { color: var(--mint-bright); font-weight: 600; margin-right: 0.5em; }
  .persona__status code { font-family: var(--font-mono); color: var(--ink-navy); }
  .persona__nav { margin-top: 1.25rem; font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.1em; color: var(--gray-500); }
  .persona__nav a { color: var(--ink-navy); border-bottom: 1px dotted var(--line-strong); padding-bottom: 1px; transition: color .15s ease, border-color .15s ease; }
  .persona__nav a:hover { color: var(--saffron-deep); border-color: var(--saffron); }
}

/* ---------- enterprise console (S1-S6) ----------
   Component-specific styles for the BGV HR dashboard. Kept in a single
   block so a designer can re-skin without hunting through page files. */
@layer components {
  /* toolbar: title block + action cluster on opposite ends */
  .ent-toolbar {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem;
  }
  .ent-toolbar__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }

  .ent-crumbs {
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500);
    margin-bottom: 1rem;
  }
  .ent-crumbs .ent-link { color: var(--ink-navy); }

  /* buttons */
  .ent-btn {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.55rem 1rem;
    background: var(--ink-navy); color: var(--cream);
    border: 1px solid var(--ink-navy);
    font-family: var(--font-body); font-size: 0.85rem; font-weight: 500;
    letter-spacing: 0.01em;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
    cursor: pointer;
  }
  .ent-btn:hover { background: var(--ink-navy-strong); }
  .ent-btn:disabled { opacity: 0.45; cursor: not-allowed; }
  .ent-btn--primary { background: var(--saffron); border-color: var(--saffron); color: var(--ink-night); }
  .ent-btn--primary:hover { background: var(--saffron-bright); border-color: var(--saffron-bright); }
  .ent-btn--ghost {
    background: transparent; color: var(--ink-navy);
    border: 1px solid var(--line-strong);
  }
  .ent-btn--ghost:hover { background: var(--cream-card); border-color: var(--ink-navy); }

  .ent-link { color: var(--ink-navy); border-bottom: 1px dotted var(--line-strong); }
  .ent-link:hover { color: var(--saffron-deep); border-color: var(--saffron); }

  /* panel head: title on left + action on right */
  .ent-panel-head {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 1rem; gap: 1rem;
  }

  /* KPI hint line under .kpi__value */
  .ent-kpi__hint { font-size: 0.72rem; color: var(--gray-500); margin-top: 0.4rem; }
  .ent-kpi__hint--up   { color: var(--mint-bright); }
  .ent-kpi__hint--down { color: var(--vermillion); }

  /* tables */
  .ent-table {
    width: 100%; border-collapse: collapse;
    font-size: 0.88rem;
    background: var(--cream-card);
  }
  .ent-table th, .ent-table td {
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
  }
  .ent-table th {
    font-family: var(--font-mono); font-size: 0.68rem; font-weight: 500;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-500);
    border-bottom: 1px solid var(--line-strong);
    background: color-mix(in oklab, var(--cream-card) 70%, var(--cream-warm));
  }
  .ent-table tr:hover td { background: color-mix(in oklab, var(--cream-card) 80%, var(--cream-warm)); }
  .ent-table__actions { text-align: right; white-space: nowrap; }
  .ent-table__id { max-width: 14rem; overflow: hidden; text-overflow: ellipsis; }
  .ent-table--compact th, .ent-table--compact td { padding: 0.4rem 0.6rem; font-size: 0.82rem; }
  .ent-th-sort {
    background: none; border: 0; padding: 0; cursor: pointer; color: inherit;
    font: inherit; letter-spacing: inherit; text-transform: inherit;
  }
  .ent-th-sort.is-active { color: var(--ink-navy); }

  .ent-table-shell { margin-top: 1rem; }

  /* filter pills (state filter on batch table) */
  .ent-filterbar {
    display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem;
  }
  .ent-pill {
    display: inline-flex; align-items: center; gap: 0.4em;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--line-strong); background: var(--cream-card);
    font-family: var(--font-mono); font-size: 0.72rem;
    letter-spacing: 0.06em; color: var(--ink-navy);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
  }
  .ent-pill:hover { background: var(--cream-warm); }
  .ent-pill--active { background: var(--ink-navy); color: var(--cream); border-color: var(--ink-navy); }
  .ent-pill__count { opacity: 0.65; font-size: 0.66rem; }
  .ent-pill--active .ent-pill__count { opacity: 0.85; }

  /* state pills (per-row colour tone) */
  .ent-state {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.06em;
    border-radius: 2px; border: 1px solid currentColor;
    line-height: 1.5;
  }
  .ent-state--pending  { color: var(--gray-500); }
  .ent-state--progress { color: var(--saffron-deep); background: color-mix(in oklab, var(--saffron) 12%, transparent); }
  .ent-state--done     { color: var(--mint); background: color-mix(in oklab, var(--mint-bright) 14%, transparent); }
  .ent-state--failed   { color: var(--vermillion); background: color-mix(in oklab, var(--vermillion) 10%, transparent); }

  /* role + status pills (users page) */
  .ent-role {
    display: inline-block; padding: 0.1rem 0.5rem;
    font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.06em;
    border: 1px solid var(--line-strong); background: var(--cream-card);
    border-radius: 2px;
  }
  .ent-role--hr-admin      { color: var(--saffron-deep); border-color: var(--saffron); }
  .ent-role--hr-viewer     { color: var(--ink-navy); }
  .ent-role--billing-admin { color: var(--mint); border-color: var(--mint-bright); }

  .ent-status {
    display: inline-block; padding: 0.1rem 0.5rem; font-family: var(--font-mono);
    font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase;
    border-radius: 2px;
  }
  .ent-status--active   { background: color-mix(in oklab, var(--mint-bright) 16%, transparent); color: var(--mint); }
  .ent-status--invited  { background: color-mix(in oklab, var(--saffron) 14%, transparent); color: var(--saffron-deep); }
  .ent-status--disabled { background: var(--cream-card); color: var(--gray-500); border: 1px solid var(--line); }

  /* progress bar (batch row) */
  .ent-progress {
    width: 12rem; max-width: 100%; height: 0.45rem;
    background: var(--cream-warm); border: 1px solid var(--line);
    overflow: hidden;
  }
  .ent-progress__bar {
    height: 100%; background: linear-gradient(90deg, var(--saffron) 0%, var(--mint-bright) 100%);
    transition: width .3s ease;
  }

  /* empty-state */
  .ent-empty {
    text-align: center; padding: 2rem 1rem;
    display: flex; flex-direction: column; gap: 1rem; align-items: center;
  }

  /* generic bullet list inside a panel */
  .ent-bullets { padding-left: 1.2rem; }
  .ent-bullets li {
    list-style: disc; color: var(--gray-700);
    margin-bottom: 0.35rem; font-size: 0.92rem;
  }

  /* wizard stepper (csv-uploader) */
  .ent-wizard { margin-top: 1.5rem; }
  .ent-stepper {
    display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem;
    counter-reset: step;
  }
  .ent-stepper__step {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    background: var(--cream-card); border: 1px solid var(--line);
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em;
    color: var(--gray-500);
  }
  .ent-stepper__step.is-done { color: var(--mint); border-color: var(--mint-bright); }
  .ent-stepper__step.is-current {
    color: var(--ink-navy); border-color: var(--ink-navy);
    background: color-mix(in oklab, var(--saffron) 8%, var(--cream-card));
  }
  .ent-stepper__num {
    display: inline-flex; width: 1.4rem; height: 1.4rem; align-items: center; justify-content: center;
    border-radius: 50%; background: var(--cream-warm); color: var(--ink-navy);
    font-weight: 600; font-size: 0.74rem;
  }
  .ent-stepper__step.is-current .ent-stepper__num { background: var(--saffron); color: var(--ink-night); }
  .ent-stepper__step.is-done    .ent-stepper__num { background: var(--mint-bright); color: var(--cream); }

  /* dropzone */
  .ent-dropzone {
    margin-top: 1rem;
    padding: 2.5rem 1.5rem;
    border: 2px dashed var(--line-strong); background: var(--cream-card);
    text-align: center; cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
  }
  .ent-dropzone:hover, .ent-dropzone:focus { background: var(--cream-warm); border-color: var(--saffron); outline: none; }
  .ent-dropzone.is-dragging { background: color-mix(in oklab, var(--saffron) 10%, var(--cream-card)); border-color: var(--saffron); }
  .ent-dropzone__hint { color: var(--ink-navy); font-size: 0.95rem; }
  .ent-dropzone__file { color: var(--gray-500); margin-top: 0.5rem; font-size: 0.78rem; }

  /* validate summary tiles */
  .ent-validate-summary {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    grid-gap: 0.75rem;
    gap: 0.75rem; margin-top: 1rem;
  }
  .ent-kpi-inline {
    background: var(--cream-card); border: 1px solid var(--line);
    padding: 0.85rem 1rem;
  }
  .ent-kpi-inline--ok    { border-color: var(--mint-bright); }
  .ent-kpi-inline--fail  { border-color: var(--vermillion); }
  .ent-kpi-inline__val {
    margin-top: 0.3rem;
    font-family: var(--font-display); font-size: 1.4rem; font-weight: 600;
    color: var(--ink-navy);
    font-feature-settings: "tnum";
  }
  .ent-kpi-inline--ok .ent-kpi-inline__val   { color: var(--mint); }
  .ent-kpi-inline--fail .ent-kpi-inline__val { color: var(--vermillion); }

  .ent-errors-block {
    margin-top: 1.25rem; border: 1px solid var(--line); background: var(--cream-card);
    padding: 0.75rem 1rem;
  }
  .ent-errors-block > summary {
    cursor: pointer; font-family: var(--font-mono); font-size: 0.78rem;
    letter-spacing: 0.06em; color: var(--ink-navy);
    padding: 0.25rem 0;
  }
  .ent-error-cell { color: var(--vermillion); font-size: 0.8rem; }
  .ent-error {
    margin-top: 1rem; padding: 0.75rem 1rem;
    background: color-mix(in oklab, var(--vermillion) 8%, var(--cream-card));
    border-left: 3px solid var(--vermillion); color: var(--vermillion);
    font-size: 0.88rem;
  }
  .ent-banner {
    padding: 0.7rem 1rem; border-left: 3px solid var(--line-strong);
    background: var(--cream-card); font-size: 0.88rem; margin-bottom: 1rem;
  }
  .ent-banner--fail {
    background: color-mix(in oklab, var(--vermillion) 8%, var(--cream-card));
    border-left-color: var(--vermillion); color: var(--vermillion);
  }

  /* form fields */
  .ent-field {
    display: block; margin-top: 1.25rem;
  }
  .ent-field__lbl {
    display: block;
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500);
    margin-bottom: 0.4rem;
  }
  .ent-input {
    width: 100%; max-width: 30rem;
    padding: 0.55rem 0.75rem;
    background: var(--cream-card); border: 1px solid var(--line-strong);
    font: inherit; color: var(--ink-night);
  }
  .ent-input:focus { outline: 2px solid var(--saffron); outline-offset: 1px; }

  .ent-checks { display: flex; flex-wrap: wrap; gap: 0.85rem 1.5rem; }
  .ent-check {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-size: 0.9rem; color: var(--ink-navy); cursor: pointer;
  }
  .ent-check input { accent-color: var(--saffron); }

  .ent-actions {
    display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center;
    margin-top: 1.5rem;
  }

  /* tabs (candidate detail) */
  .ent-tabs {
    display: flex; gap: 0; border-bottom: 1px solid var(--line-strong);
    margin: 1.5rem 0 0.5rem;
  }
  .ent-tab {
    padding: 0.55rem 1rem;
    font-family: var(--font-mono); font-size: 0.78rem;
    letter-spacing: 0.08em; color: var(--gray-500);
    border-bottom: 2px solid transparent; transform: translateY(1px);
  }
  .ent-tab:hover { color: var(--ink-navy); }
  .ent-tab.is-active {
    color: var(--ink-navy); border-bottom-color: var(--saffron);
    font-weight: 500;
  }

  /* definition list — used on candidate + settings pages */
  .ent-dl {
    display: grid; grid-template-columns: minmax(8rem, max-content) 1fr;
    grid-gap: 0.5rem 1.25rem;
    gap: 0.5rem 1.25rem;
    font-size: 0.88rem;
  }
  .ent-dl dt {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--gray-500);
    padding-top: 0.1rem;
  }
  .ent-dl dd { color: var(--ink-navy); margin: 0; }

  /* 2-column grid inside a panel (candidate page) */
  .ent-grid-2 {
    display: grid; grid-template-columns: 1fr 1fr; grid-gap: 2rem; gap: 2rem;
  }
  @media (max-width: 640px) { .ent-grid-2 { grid-template-columns: 1fr; } }

  /* timeline (candidate detail) */
  .ent-timeline { margin-top: 0.5rem; }
  .ent-timeline__rail {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7.5rem), 1fr));
    grid-gap: 0;
    gap: 0;
    position: relative;
    counter-reset: step;
  }
  .ent-timeline__step {
    position: relative;
    padding: 0.5rem 0.5rem 0.75rem;
    border-top: 2px solid var(--line);
    color: var(--gray-500);
  }
  .ent-timeline__step.is-done    { border-top-color: var(--mint-bright); color: var(--ink-navy); }
  .ent-timeline__step.is-current { border-top-color: var(--saffron); color: var(--ink-navy); }
  .ent-timeline__dot {
    position: absolute; top: -0.4rem; left: 0;
    width: 0.7rem; height: 0.7rem; border-radius: 50%;
    background: var(--cream); border: 2px solid var(--line);
  }
  .ent-timeline__step.is-done    .ent-timeline__dot { background: var(--mint-bright); border-color: var(--mint-bright); }
  .ent-timeline__step.is-current .ent-timeline__dot { background: var(--saffron); border-color: var(--saffron); }
  .ent-timeline__label {
    display: block; font-size: 0.78rem; font-weight: 500;
    margin-top: 0.4rem;
  }
  .ent-timeline__time {
    display: block; font-size: 0.66rem; color: var(--gray-500);
    margin-top: 0.2rem;
  }

  /* audit list */
  .ent-audit { display: flex; flex-direction: column; gap: 0.5rem; }
  .ent-audit__item {
    padding: 0.6rem 0.85rem;
    background: var(--cream-card); border-left: 2px solid var(--saffron);
  }
  .ent-audit__head {
    display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
    font-size: 0.85rem;
  }
  .ent-audit__chain { margin-top: 0.3rem; }

  .ent-truncate { display: inline-block; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
}

/* ---------- notary console (N1-N4) ----------
   Three-column packet review (brief · PDFs · actions) and the inbox
   table styling. Re-uses ent-* tokens where possible; notary-* prefix
   marks the deltas. */
@layer components {
  .notary-hint {
    font-size: 0.7rem; letter-spacing: 0.05em;
    color: var(--gray-500); margin-left: auto; padding: 0 0.4rem;
  }

  .notary-row { cursor: pointer; }
  .notary-row.is-selected td {
    background: color-mix(in oklab, var(--saffron) 12%, var(--cream-card));
    box-shadow: inset 3px 0 0 var(--saffron);
  }

  .notary-grid {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) minmax(0, 2.4fr) minmax(14rem, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
    margin-top: 1rem;
  }
  @media (max-width: 1024px) {
    .notary-grid { grid-template-columns: 1fr; }
  }

  /* compliance brief sidebar */
  .notary-brief {
    background: var(--cream-card);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.75rem;
    display: flex; flex-direction: column; gap: 0.65rem;
    align-self: start;
    position: -webkit-sticky;
    position: sticky; top: 1rem;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
  }
  .notary-brief__block {
    border: 1px solid var(--line-soft);
    border-radius: 4px;
    padding: 0.5rem 0.6rem;
    background: var(--cream-warm);
  }
  .notary-brief__block--ok      { border-left: 3px solid var(--mint-bright); }
  .notary-brief__block--partial { border-left: 3px solid var(--saffron); }
  .notary-brief__block--fail    { border-left: 3px solid var(--vermillion); }
  .notary-brief__block--pending { border-left: 3px solid var(--gray-500); }
  .notary-brief__block--na      { border-left: 3px solid var(--line-strong); opacity: 0.85; }
  .notary-brief__head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 0.35rem;
  }
  .notary-brief__label {
    font-family: var(--font-mono);
    font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--ink-navy);
  }
  .notary-brief__icon {
    font-size: 0.95rem; line-height: 1;
    width: 1.1rem; height: 1.1rem;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
  }
  .notary-brief__icon--ok      { color: var(--mint); background: color-mix(in oklab, var(--mint-bright) 16%, transparent); }
  .notary-brief__icon--partial { color: var(--saffron-deep); background: color-mix(in oklab, var(--saffron) 14%, transparent); }
  .notary-brief__icon--fail    { color: var(--vermillion); background: color-mix(in oklab, var(--vermillion) 12%, transparent); }
  .notary-brief__icon--pending { color: var(--gray-500); }
  .notary-brief__icon--na      { color: var(--gray-500); }

  .notary-brief__body { font-size: 0.82rem; }
  .notary-brief__body .ent-dl { grid-template-columns: 4.5rem 1fr; row-gap: 0.2rem; column-gap: 0.4rem; font-size: 0.78rem; }
  .notary-brief__list { list-style: none; padding: 0; margin: 0.3rem 0 0; }
  .notary-brief__verdict { margin: 0 0 0.35rem; font-size: 0.9rem; }
  .notary-brief__reasons { margin-top: 0.5rem; }
  .notary-brief__reasons summary { cursor: pointer; font-size: 0.78rem; color: var(--ink-navy); }
  .notary-brief__reasons ul { padding-left: 1rem; margin: 0.35rem 0 0; }
  .notary-brief__reasons li { margin-bottom: 0.4rem; }
  .notary-brief__cites { padding-left: 1rem; margin-top: 0.2rem; font-size: 0.74rem; }

  /* PDF viewer */
  .notary-pdf {
    background: var(--cream-card);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.75rem;
    display: flex; flex-direction: column;
    min-height: 70vh;
  }
  .notary-pdf__frame {
    flex: 1 1;
    margin-top: 0.5rem;
    border: 1px solid var(--line-soft);
    border-radius: 4px;
    background: var(--bg);
    overflow: hidden;
    min-height: 60vh;
  }
  .notary-pdf__iframe {
    width: 100%; height: 100%;
    min-height: 60vh;
    border: 0; display: block;
    background: white;
  }
  .notary-pdf__empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    height: 100%; min-height: 60vh;
    color: var(--gray-500); text-align: center; padding: 2rem;
  }
  .notary-pdf__meta { margin-top: 0.5rem; font-size: 0.72rem; }

  /* action panel */
  .notary-actions {
    background: var(--cream-card);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.85rem;
    display: flex; flex-direction: column; gap: 0.55rem;
    align-self: start;
    position: -webkit-sticky;
    position: sticky; top: 1rem;
  }
  .notary-actions__head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 0.25rem;
  }
  .notary-actions__btn { width: 100%; justify-content: center; text-align: center; }
  .notary-actions__sign { font-weight: 600; }

  /* DSC + Reject dialogue */
  .notary-dialog {
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    padding: 0;
    max-width: 32rem; width: calc(100vw - 2rem);
    background: var(--cream-card);
    color: var(--ink-navy);
  }
  .notary-dialog::-webkit-backdrop {
    background: color-mix(in oklab, var(--ink-night) 55%, transparent);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }
  .notary-dialog::backdrop {
    background: color-mix(in oklab, var(--ink-night) 55%, transparent);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }
  .notary-dialog__form { padding: 1.1rem 1.25rem; display: flex; flex-direction: column; gap: 0.7rem; }
  .notary-dialog__head { display: flex; justify-content: space-between; align-items: center; }
  .notary-dialog__x {
    background: none; border: 0; font-size: 1.4rem; line-height: 1;
    cursor: pointer; color: var(--gray-500); padding: 0 0.4rem;
  }
  .notary-dialog__x:hover { color: var(--ink-navy); }
  .notary-dialog__token {
    display: flex; justify-content: space-between; align-items: center;
    padding: 0.5rem 0.7rem; border: 1px dashed var(--line-strong); border-radius: 4px;
    font-size: 0.82rem;
  }
  .notary-dialog__done { background: color-mix(in oklab, var(--mint-bright) 14%, transparent); color: var(--mint); border: 1px solid var(--mint-bright); }

  /* KPI variant — accept ent-state element inside value */
  .notary-kpi {
    background: var(--cream-card);
    border: 1px solid var(--line); border-radius: 6px;
    padding: 0.85rem 1rem;
  }
  .notary-kpi__label { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-500); }
  .notary-kpi__value { font-size: 1.5rem; font-weight: 600; color: var(--ink-navy); margin-top: 0.25rem; }
}

/* ---------- candidate magic-link flow (/pack/*) ----------
   Mobile-first single-column UX. Editorial brand tokens reused, but the
   layout is intentionally pragmatic — most candidates are on phones. */
@layer components {
  .pack-shell {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background:
      radial-gradient(40rem 30rem at 50% -20%, color-mix(in oklab, var(--saffron) 5%, transparent), transparent 70%),
      var(--bg);
  }
  .pack-shell__header {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 0.9rem clamp(1rem, 4vw, 1.75rem);
    border-bottom: 1px solid var(--line-soft);
    background: color-mix(in oklab, var(--cream-card) 85%, transparent);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    position: -webkit-sticky;
    position: sticky; top: 0; z-index: 10;
  }
  .pack-shell__brand {
    font-family: var(--font-display);
    font-weight: 700; font-size: 1.05rem; letter-spacing: -0.01em;
    color: var(--ink-navy);
  }
  .pack-shell__brand-dot {
    display: inline-block; width: 0.32em; height: 0.32em; margin-left: 0.15em;
    background: var(--saffron); border-radius: 50%;
    vertical-align: 0.18em;
  }
  .pack-shell__header-right { display: flex; align-items: center; gap: 0.85rem; }
  .pack-shell__tenant {
    font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500);
    padding: 0.3rem 0.55rem; border: 1px solid var(--line);
    background: var(--cream-card);
  }
  .pack-shell__main {
    flex: 1 1;
    width: 100%; max-width: 32rem; margin: 0 auto;
    padding: clamp(1.25rem, 5vw, 2rem) clamp(1rem, 4vw, 1.75rem) 3rem;
  }
  .pack-shell__footer {
    display: flex; flex-direction: column; gap: 0.25rem; align-items: center;
    padding: 1.5rem 1rem 2rem;
    font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--gray-500);
    border-top: 1px solid var(--line-soft);
    text-align: center;
  }
  .pack-shell__footer a { color: var(--saffron-deep); border-bottom: 1px dotted var(--saffron); }

  .pack-wizard {
    display: flex; align-items: center; justify-content: space-between;
    gap: 0.25rem; padding: 0 0.25rem; margin-bottom: 1.5rem;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
  .pack-wizard__step {
    flex: 1 1 auto;
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    min-width: 4rem;
    color: var(--gray-500);
  }
  .pack-wizard__dot {
    width: 1.55rem; height: 1.55rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--line-strong); background: var(--cream-card);
    font-family: var(--font-mono); font-size: 0.72rem; font-weight: 600;
    color: var(--gray-500);
  }
  .pack-wizard__label {
    font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .pack-wizard__step.is-done .pack-wizard__dot { background: var(--mint); color: var(--cream); border-color: var(--mint); }
  .pack-wizard__step.is-active { color: var(--ink-navy); }
  .pack-wizard__step.is-active .pack-wizard__dot {
    background: var(--saffron); color: var(--cream);
    border-color: var(--saffron-deep);
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--saffron) 20%, transparent);
  }

  .pack-card {
    background: var(--cream-card);
    border: 1px solid var(--line);
    padding: clamp(1.25rem, 4vw, 2rem);
    box-shadow: 0 1px 0 var(--line-soft);
  }
  .pack-card--centered { text-align: center; }
  .pack-card__head { margin-bottom: 1.25rem; }
  .pack-card__title { color: var(--ink-navy); margin: 0.5rem 0; }
  .pack-card__body { color: var(--gray-700); line-height: 1.6; font-size: var(--fs-body); }
  .pack-card__meta {
    font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em;
    color: var(--gray-500); margin-top: 0.75rem;
  }

  .pack-consent { display: flex; flex-direction: column; gap: 0.85rem; border: 0; padding: 0; margin: 1rem 0; }
  .pack-consent__legend {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--gray-500); margin-bottom: 0.5rem;
  }
  .pack-consent__row {
    border: 1px solid var(--line);
    padding: 0.85rem 1rem;
    background: var(--cream);
    transition: border-color .15s ease, background .15s ease;
  }
  .pack-consent__row.is-on { border-color: var(--mint); background: color-mix(in oklab, var(--mint-bright) 5%, var(--cream)); }
  .pack-consent__main { display: flex; gap: 0.9rem; align-items: flex-start; cursor: pointer; }
  .pack-consent__cb {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem;
    border: 1.5px solid var(--line-strong); background: var(--cream-card);
    position: relative; cursor: pointer; margin-top: 0.15rem;
    transition: background .12s ease, border-color .12s ease;
  }
  .pack-consent__cb:checked { background: var(--mint); border-color: var(--mint); }
  .pack-consent__cb:checked::after {
    content: ''; position: absolute; left: 0.32rem; top: 0.05rem;
    width: 0.35rem; height: 0.7rem; border: solid var(--cream);
    border-width: 0 2px 2px 0; transform: rotate(45deg);
  }
  .pack-consent__copy { display: flex; flex-direction: column; gap: 0.2rem; flex: 1 1; }
  .pack-consent__title { font-weight: 600; color: var(--ink-navy); line-height: 1.35; font-size: 0.95rem; }
  .pack-consent__sub { color: var(--gray-700); font-size: 0.85rem; line-height: 1.45; }
  .pack-consent__why {
    margin-top: 0.5rem; padding-left: 2.15rem;
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--saffron-deep);
    border: 0; background: none; text-align: left; cursor: pointer;
  }
  .pack-consent__why-body {
    margin-top: 0.5rem; padding: 0.65rem 0.85rem; background: var(--cream-warm);
    border-left: 2px solid var(--saffron); font-size: 0.83rem; line-height: 1.55; color: var(--gray-700);
  }

  .pack-callout {
    margin: 1rem 0; padding: 0.85rem 1rem;
    background: color-mix(in oklab, var(--saffron) 8%, var(--cream-card));
    border-left: 3px solid var(--saffron);
    font-size: 0.9rem; color: var(--gray-700); line-height: 1.55;
  }
  .pack-callout--quiet {
    background: var(--cream-warm); border-left-color: var(--line-strong);
    color: var(--gray-700);
  }
  .pack-callout a { color: var(--saffron-deep); border-bottom: 1px solid var(--saffron); }

  .pack-field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 0.85rem; }
  .pack-field__label {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500); font-weight: 500;
  }
  .pack-field__hint { font-size: 0.78rem; color: var(--gray-500); line-height: 1.45; }
  .pack-field__hint a { color: var(--saffron-deep); border-bottom: 1px dotted var(--saffron); }
  .pack-field__error { color: var(--vermillion); font-size: 0.82rem; line-height: 1.4; }
  .pack-field__row { display: flex; gap: 0.5rem; align-items: stretch; }

  .pack-input {
    width: 100%; font: inherit;
    padding: 0.75rem 0.85rem;
    background: var(--cream-card);
    border: 1.5px solid var(--line);
    color: var(--ink-night);
    font-size: 1rem; line-height: 1.4;
    transition: border-color .15s ease, box-shadow .15s ease;
    min-height: 2.85rem;
  }
  .pack-input:focus {
    outline: 0; border-color: var(--saffron);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--saffron) 20%, transparent);
  }
  .pack-input[aria-invalid="true"] { border-color: var(--vermillion); }
  .pack-input--mono { font-family: var(--font-mono); letter-spacing: 0.04em; }
  textarea.pack-input { resize: vertical; min-height: 5rem; }
  .pack-input__toggle {
    flex: 0 0 auto;
    padding: 0 0.95rem; min-height: 2.85rem;
    border: 1.5px solid var(--line); background: var(--cream);
    font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--gray-700);
  }

  .pack-checkbox {
    display: flex; align-items: flex-start; gap: 0.65rem;
    padding: 0.5rem 0; cursor: pointer; line-height: 1.45;
    font-size: 0.95rem;
  }
  .pack-checkbox input[type="checkbox"] { margin-top: 0.2rem; width: 1.05rem; height: 1.05rem; accent-color: var(--mint); }
  .pack-checkbox--small { font-size: 0.82rem; color: var(--gray-700); }

  .pack-otp {
    display: flex; gap: 0.5rem; justify-content: space-between;
    margin: 1.5rem 0 0.25rem;
    flex-wrap: wrap;
  }
  .pack-otp__cell {
    flex: 1 1;
    min-width: 2.4rem; max-width: 3.2rem;
    height: 3.4rem;
    text-align: center;
    font-family: var(--font-mono); font-size: 1.45rem; font-weight: 600;
    background: var(--cream-card); border: 1.5px solid var(--line);
    color: var(--ink-night);
  }
  .pack-otp__cell:focus {
    outline: 0; border-color: var(--saffron);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--saffron) 20%, transparent);
  }

  .pack-form { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 0.5rem; }
  .pack-form__head { margin-bottom: 0.4rem; }
  .pack-form__title { color: var(--ink-navy); margin-bottom: 0.3rem; }
  .pack-form__hint { color: var(--gray-500); font-size: 0.85rem; line-height: 1.45; }
  .pack-form__empty { color: var(--gray-500); font-style: italic; font-size: 0.88rem; }
  .pack-form__sub {
    margin-top: 0.65rem; padding: 0.85rem 0.95rem;
    border: 1px solid var(--line); background: var(--cream);
  }
  .pack-form__sub-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 0.65rem;
  }
  .pack-form__sub-title {
    font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--gray-500);
  }
  .pack-form__rule { border: 0; border-top: 1px dashed var(--line); margin: 1rem 0; }
  .pack-grid {
    display: grid; grid-gap: 0.75rem; gap: 0.75rem;
    grid-template-columns: 1fr 1fr;
  }
  .pack-grid__full { grid-column: 1 / -1; }

  .pack-doc-list { display: flex; flex-direction: column; gap: 0.5rem; margin: 1rem 0; }
  .pack-doc-list__row {
    display: flex; align-items: center; gap: 0.85rem;
    padding: 0.75rem 0.9rem; background: var(--cream); border: 1px solid var(--line);
  }
  .pack-doc-list__icon {
    width: 2.3rem; height: 2.3rem; flex: 0 0 2.3rem;
    background: var(--ink-navy); color: var(--cream);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.06em;
  }
  .pack-doc-list__title { flex: 1 1; font-weight: 500; color: var(--ink-navy); font-size: 0.95rem; }
  .pack-doc-list__meta {
    font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--gray-500);
  }

  .pack-progress { display: flex; flex-direction: column; gap: 0.55rem; margin: 1.5rem 0; text-align: left; }
  .pack-progress__item {
    display: flex; align-items: center; gap: 0.85rem;
    padding: 0.55rem 0.75rem; border: 1px solid var(--line);
    background: var(--cream); color: var(--gray-500);
    font-size: 0.92rem;
  }
  .pack-progress__item.is-done { color: var(--mint); border-color: color-mix(in oklab, var(--mint) 30%, var(--line)); }
  .pack-progress__item.is-active {
    color: var(--ink-navy);
    border-color: var(--saffron);
    background: color-mix(in oklab, var(--saffron) 6%, var(--cream-card));
  }
  .pack-progress__dot {
    width: 1.5rem; height: 1.5rem; border-radius: 50%; flex: 0 0 1.5rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--cream-card); border: 1.5px solid var(--line-strong);
    font-family: var(--font-mono); font-weight: 700; color: var(--gray-500);
  }
  .pack-progress__item.is-active .pack-progress__dot {
    background: var(--saffron); color: var(--cream); border-color: var(--saffron-deep);
    animation: pack-pulse 1.4s ease-in-out infinite;
  }
  .pack-progress__item.is-done .pack-progress__dot {
    background: var(--mint); color: var(--cream); border-color: var(--mint);
  }
  @keyframes pack-pulse {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--saffron) 35%, transparent); }
    50%      { box-shadow: 0 0 0 6px color-mix(in oklab, var(--saffron) 0%, transparent); }
  }

  .pack-actions { display: flex; gap: 0.75rem; margin-top: 1.5rem; }
  .pack-actions--split { justify-content: space-between; }
  .pack-btn {
    flex: 1 1 auto;
    padding: 0.9rem 1.25rem;
    font: inherit; font-weight: 600; font-size: 0.98rem;
    border: 1.5px solid transparent;
    cursor: pointer; text-align: center;
    min-height: 3rem;
    transition: background .15s ease, color .15s ease, transform .12s ease, opacity .15s ease;
  }
  .pack-btn:disabled { opacity: 0.45; cursor: not-allowed; }
  .pack-btn--primary { background: var(--ink-navy); color: var(--cream); }
  .pack-btn--primary:not(:disabled):hover { background: var(--ink-night); transform: translateY(-1px); }
  .pack-btn--ghost {
    background: var(--cream); color: var(--ink-navy); border-color: var(--line-strong);
  }
  .pack-btn--ghost:not(:disabled):hover { background: var(--cream-warm); }
  .pack-btn--small { padding: 0.55rem 0.95rem; min-height: 2.4rem; font-size: 0.86rem; flex: 0 0 auto; }

  .pack-link {
    background: none; border: 0; cursor: pointer;
    padding: 0; color: var(--saffron-deep);
    font: inherit; font-size: 0.86rem;
    border-bottom: 1px solid var(--saffron); align-self: flex-start;
  }
  .pack-link--danger { color: var(--vermillion); border-color: var(--vermillion); }

  .pack-loading {
    text-align: center; padding: 3rem 1rem;
    color: var(--gray-500); font-family: var(--font-mono);
    font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase;
  }
  .pack-error {
    margin: 1rem 0; padding: 0.85rem 1rem;
    background: color-mix(in oklab, var(--vermillion) 8%, var(--cream-card));
    border-left: 3px solid var(--vermillion);
    color: var(--vermillion); font-size: 0.9rem; line-height: 1.5;
  }

  .pack-survey { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px dashed var(--line); text-align: left; }
  .pack-survey__form { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 0.5rem; }
  .pack-survey__q { font-weight: 600; color: var(--ink-navy); font-size: 0.95rem; }
  .pack-survey__row { display: flex; gap: 0.4rem; flex-wrap: wrap; }
  .pack-survey__opt {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; border: 1.5px solid var(--line);
    background: var(--cream-card); cursor: pointer; font-weight: 600; position: relative;
  }
  .pack-survey__opt input { -webkit-appearance: none; -moz-appearance: none; appearance: none; position: absolute; opacity: 0; inset: 0; }
  .pack-survey__opt:has(input:checked) {
    border-color: var(--saffron); background: var(--saffron); color: var(--cream);
  }

  .pack-seal {
    display: block; margin: 0 auto 0.5rem;
    width: 3.2rem; height: 3.2rem; border-radius: 50%;
    background: var(--mint); color: var(--cream);
    font-size: 1.5rem; line-height: 3.2rem; text-align: center;
  }

  @media (max-width: 23rem) {
    .pack-grid { grid-template-columns: 1fr; }
    .pack-otp__cell { min-width: 2rem; height: 3rem; font-size: 1.25rem; }
  }
}

/* ---------- utilities ---------- */
@layer utilities {
  .center-text { text-align: center; }
  .saffron { color: var(--saffron); }
  .navy { color: var(--ink-navy); }
  .mint { color: var(--mint-bright); }
  .quiet { color: var(--gray-500); }
}

