/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Bricolage_Grotesque","arguments":[{"subsets":["latin"],"weight":["400","600","700","800"],"variable":"--font-display","display":"swap"}],"variableName":"bricolage"} ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/93a6e477e1480c92-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c7e0cf6c760983e7-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/9d5a263311222317-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/93a6e477e1480c92-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c7e0cf6c760983e7-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/9d5a263311222317-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/93a6e477e1480c92-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c7e0cf6c760983e7-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/9d5a263311222317-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/93a6e477e1480c92-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c7e0cf6c760983e7-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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/9d5a263311222317-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: 'Bricolage Grotesque Fallback';src: local("Arial");ascent-override: 88.21%;descent-override: 25.61%;line-gap-override: 0.00%;size-adjust: 105.43%
}.__className_0bd9b6 {font-family: 'Bricolage Grotesque', 'Bricolage Grotesque Fallback';font-style: normal
}.__variable_0bd9b6 {--font-display: 'Bricolage Grotesque', 'Bricolage Grotesque Fallback'
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Instrument_Sans","arguments":[{"subsets":["latin"],"weight":["400","500","600"],"variable":"--font-body","display":"swap"}],"variableName":"instrumentSans"} ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/adb45196eddef626-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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d0ba92e140f0dc-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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/adb45196eddef626-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: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d0ba92e140f0dc-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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/adb45196eddef626-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: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/26d0ba92e140f0dc-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: 'Instrument Sans Fallback';src: local("Arial");ascent-override: 94.42%;descent-override: 24.33%;line-gap-override: 0.00%;size-adjust: 102.74%
}.__className_e986a4 {font-family: 'Instrument Sans', 'Instrument Sans Fallback';font-style: normal
}.__variable_e986a4 {--font-body: 'Instrument Sans', 'Instrument Sans Fallback'
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"JetBrains_Mono","arguments":[{"subsets":["latin"],"weight":["400","500","700"],"variable":"--font-mono","display":"swap"}],"variableName":"jetbrainsMono"} ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-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: 'JetBrains Mono Fallback';src: local("Arial");ascent-override: 75.79%;descent-override: 22.29%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_898c26 {font-family: 'JetBrains Mono', 'JetBrains Mono Fallback';font-style: normal
}.__variable_898c26 {--font-mono: 'JetBrains Mono', 'JetBrains Mono Fallback'
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* ============================================================
   Keymakers Club — global styles
   Tokens inlined verbatim from design/tokens/keymakers-tokens.css
   (LOCKED v1, 2026-08-18) — do not edit values here; edit the
   token file and re-sync. Component CSS ported verbatim from
   design/prototypes/landing-v1.html <style> block.
   Committed dark world (a terminal is dark) — painted explicitly.
   ============================================================ */

:root{
  /* ground + surfaces (warm-black, brass-biased — NOT free-llm's cold #0d0d0d) */
  --bg:#0a0806;
  --bg-2:#0f0c08;
  --surface:rgba(30,24,16,.55);
  --border:rgba(200,162,76,.16);
  --border-soft:rgba(236,230,216,.08);

  /* ink */
  --text:#ece6d8;      /* warm ivory body */
  --muted:#9a9082;     /* brass-biased neutral (chosen, not default grey) */
  --faint:#6b6357;

  /* THE signature accent — brass. Spend boldness here only. */
  --brass:#C8A24C;
  --brass-bright:#E8C877;
  --brass-deep:#8A6D2F;

  /* semantic (separate from accent) */
  --signal:#86c39a;    /* online / success — muted terminal green */
  --warn:#d9a441;
  --crit:#d76a5a;

  /* type roles — values assigned by next/font in app/layout.tsx */
  --font-display:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;
  --font-body:'Instrument Sans',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  /* space scale (4px) + motion */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:40px; --s7:64px;
  --radius:10px; --radius-lg:16px;
  --ease:cubic-bezier(.4,0,.2,1);
  --maxw:1220px;
}

*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  line-height:1.5; overflow-x:hidden;
}

/* Ambient ground: warm brass halo + fine grain, no cold gradients */
.ground{position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(120vw 80vh at 78% -8%, rgba(200,162,76,.10), transparent 55%),
    radial-gradient(90vw 60vh at 8% 108%, rgba(138,109,47,.10), transparent 55%),
    var(--bg);
}
.scan{position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(0deg, rgba(236,230,216,.020) 0 1px, transparent 1px 3px);
  mix-blend-mode:soft-light;
}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(18px,5vw,44px);}

/* ── Terminal status bar ─────────────────────────────── */
.topbar{position:sticky; top:0; z-index:20;
  padding-top:env(safe-area-inset-top);
  backdrop-filter:blur(14px) saturate(1.1); -webkit-backdrop-filter:blur(14px) saturate(1.1);
  background:linear-gradient(180deg, rgba(10,8,6,.82), rgba(10,8,6,.4));
  border-bottom:1px solid var(--border-soft);
}
.topbar .row{display:flex; align-items:center; gap:var(--s4);
  height:52px; font-family:var(--font-mono); font-size:12.5px; letter-spacing:.02em;}
.brandmark{display:flex; align-items:center; gap:9px; font-weight:700; color:var(--text); letter-spacing:.04em;}
.keymark{width:16px; height:16px; flex:0 0 auto}
.prompt{color:var(--muted); display:flex; align-items:center; gap:7px; min-width:0}
.prompt .live{width:7px;height:7px;border-radius:50%;background:var(--signal);
  box-shadow:0 0 8px rgba(134,195,154,.9); flex:0 0 auto; animation:breathe 2.4s var(--ease) infinite}
.prompt .path{color:var(--brass); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.topbar .spacer{flex:1}
.topbar .netstat{color:var(--faint); white-space:nowrap}
.topbar .netstat b{color:var(--muted); font-weight:500}
@media (max-width:640px){ .topbar .netstat{display:none} }
@keyframes breathe{0%,100%{opacity:.55}50%{opacity:1}}

/* ── Hero ─────────────────────────────── */
.hero{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:var(--s5);
  min-height:calc(100svh - 52px); padding:clamp(28px,6vh,72px) 0;}
.copy{max-width:50ch; margin:0 auto}
.eyebrow{font-family:var(--font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--brass); display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 var(--s4)}
.eyebrow::before{content:""; width:22px; height:1px; background:linear-gradient(90deg,transparent,var(--brass))}
.eyebrow::after{content:""; width:22px; height:1px; background:linear-gradient(90deg,var(--brass),transparent)}

h1{font-family:var(--font-display); font-weight:800;
  font-size:clamp(42px,7.8vw,80px); line-height:.95; letter-spacing:-.025em;
  margin:0 0 var(--s4); text-wrap:balance;
  /* brass-on-ivory gradient ink, subtle */
  background:linear-gradient(176deg,#fbf5e6 0%, #ece6d8 42%, var(--brass) 128%);
  -webkit-background-clip:text; background-clip:text; color:transparent;}
h1 .cut{position:relative; white-space:nowrap}
h1 .cut::after{content:""; position:absolute; left:0; bottom:.08em; width:100%; height:2px;
  background:linear-gradient(90deg,var(--brass),transparent); opacity:.7}

.sub{color:var(--muted); font-size:clamp(15px,2.1vw,18px); margin:0 auto var(--s5); max-width:44ch}
.sub b{color:var(--text); font-weight:600}

.boot{font-family:var(--font-mono); font-size:12.5px; color:var(--faint);
  border-left:2px solid var(--border); padding:6px 0 6px 14px; margin:0 auto var(--s6); min-height:1.5em;
  display:inline-block; text-align:left}
.boot .g{color:var(--signal)} .boot .b{color:var(--brass)}
.boot .cur{color:var(--brass); animation:blink 1.1s steps(1) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

.cta{display:flex; flex-wrap:wrap; gap:var(--s3); justify-content:center}
.btn{font-family:var(--font-mono); font-weight:500; font-size:13.5px; letter-spacing:.01em;
  padding:13px 20px; border-radius:10px; cursor:pointer; border:1px solid transparent;
  display:inline-flex; align-items:center; gap:9px; transition:all .2s var(--ease); text-decoration:none}
.btn .arw{transition:transform .2s var(--ease)}
.btn-key{color:#1a1408; background:linear-gradient(180deg,var(--brass-bright),var(--brass));
  box-shadow:0 1px 0 rgba(255,240,200,.4) inset, 0 8px 22px -8px rgba(200,162,76,.6); font-weight:600}
.btn-key:hover{transform:translateY(-1px); box-shadow:0 1px 0 rgba(255,240,200,.5) inset,0 12px 30px -8px rgba(200,162,76,.75)}
.btn-key:hover .arw{transform:translateX(3px)}
.btn-ghost{color:var(--text); background:var(--surface); border-color:var(--border);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:rgba(200,162,76,.4); color:var(--brass-bright)}
.btn:focus-visible{outline:2px solid var(--brass-bright); outline-offset:3px}

/* Key-core canvas stage */
.stage{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; order:-1}
.core-wrap{position:relative; width:clamp(150px,20vw,200px); aspect-ratio:1/1;}
@media (max-width:860px){ .core-wrap{width:clamp(150px,44vw,190px)} }
#key-core{width:100%; height:100%; display:block}
.core-halo{position:absolute; inset:4%; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, rgba(129,140,248,.18), transparent 62%); filter:blur(16px)}
.ringlabel{position:absolute; font-family:var(--font-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--faint)}
.ringlabel.a{top:2%; left:50%; transform:translateX(-50%)}
.ringlabel.b{bottom:2%; left:50%; transform:translateX(-50%); color:var(--brass); opacity:.8}
.corelegend{font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--faint); text-align:center; margin:20px 0 0; display:flex; gap:9px; justify-content:center; align-items:center; flex-wrap:wrap}
.corelegend b{color:var(--brass); font-weight:700}
.corelegend span{color:var(--brass-deep)}

/* ── Footer status line ─────────────────────────────── */
.statusline{border-top:1px solid var(--border-soft);
  font-family:var(--font-mono); font-size:11.5px; color:var(--faint);
  padding:14px 0 calc(14px + env(safe-area-inset-bottom));}
.statusline .row{display:flex; align-items:center; gap:var(--s4); flex-wrap:wrap}
.statusline .seg{display:flex; align-items:center; gap:7px}
.statusline .dot{width:6px;height:6px;border-radius:50%;background:var(--brass)}
.statusline .dot.g{background:var(--signal); box-shadow:0 0 7px rgba(134,195,154,.8)}
.statusline b{color:var(--muted); font-weight:500}
.statusline .push{margin-left:auto; color:var(--brass-deep)}

/* ── Mobile: app-native single column ─────────────────────────────── */
@media (max-width:860px){
  .hero{grid-template-columns:1fr; text-align:center; gap:var(--s5);
    min-height:calc(100svh - 52px); padding:var(--s5) 0 var(--s6)}
  .stage{order:-1}
  .copy{max-width:none; margin:0 auto}
  .eyebrow{justify-content:center}
  .sub{margin-left:auto;margin-right:auto}
  .boot{display:inline-block; text-align:left; margin-left:auto;margin-right:auto}
  .cta{justify-content:center}
}
@media (max-width:420px){
  .btn{flex:1; justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  .prompt .live,.boot .cur,.statusline .dot.g{animation:none}
}

