/* ===================== Fonts (IBM Plex Mono, IBM Plex Sans, Jost) ===================== */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/IBMPlexMono-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/IBMPlexMono-400-cyrillic.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("../font/IBMPlexMono-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/IBMPlexMono-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/IBMPlexMono-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/IBMPlexMono-500-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/IBMPlexMono-500-cyrillic.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("../font/IBMPlexMono-500-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/IBMPlexMono-500-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/IBMPlexMono-500-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic.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("../font/IBMPlexSans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic.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("../font/IBMPlexSans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-cyrillic.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("../font/IBMPlexSans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../font/IBMPlexSans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/Jost-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/Jost-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../font/Jost-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../font/Jost-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../font/Jost-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===================== Global ===================== */
html{scroll-behavior:smooth}
body{margin:0;background:#10161f;color:#e8e6df;font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
input::placeholder,textarea::placeholder{color:rgba(232,230,223,.35)}
input:focus,textarea:focus,select:focus{outline:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ===================== Layout ===================== */
.hidden { display: none !important; }
.container { max-width: 1140px; margin: 0 auto; }
.section-pad { padding: clamp(64px,10vw,110px) clamp(20px,5vw,48px); }
.section-light { background: #f4f2ec; color: #1b2430; }
.split-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: clamp(36px,5vw,72px); align-items: start; }

/* ===================== Buttons ===================== */
.btn { font-family: 'IBM Plex Mono', monospace; text-transform: uppercase; border-radius: 4px; font-weight: 500; cursor: pointer; }
.btn-sm { font-size: 12px; letter-spacing: .08em; padding: 12px 20px; min-height: 44px; }
.btn-lg { font-size: 13px; letter-spacing: .06em; padding: 16px 26px; min-height: 48px; }
.btn-submit { font-size: 13px; letter-spacing: .06em; padding: 16px 28px; min-height: 48px; }
.btn-gold { background: #f2c84b; color: #201806; border: none; }
.btn-gold:hover { background: #ffd95e; }
.btn-outline { background: transparent; color: #e8e6df; border: 1px solid rgba(232,230,223,.28); }
.btn-outline:hover { border-color: #f2c84b; color: #f2c84b; }
.btn-reset { background: transparent; color: #f2c84b; border: 1px solid rgba(242,200,75,.4); border-radius: 4px; padding: 12px 18px; min-height: 44px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.btn-reset:hover { background: rgba(242,200,75,.1); }

/* ===================== Text components ===================== */
.eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow-muted { color: #8a94a2; }
.eyebrow-brand { color: #96731c; }
.eyebrow-gold { color: #f2c84b; }

.section-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: clamp(30px,4.6vw,44px); line-height: 1.1; letter-spacing: -.01em; margin: 14px 0 0; }
.section-title-dark { color: #f2f1ea; }
.section-title-light { color: #1b2430; }

/* ===================== Nav ===================== */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(16,22,31,.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(232,230,223,.08); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px clamp(20px,5vw,48px); min-height: 44px; }
.logo { font-family: 'Jost', sans-serif; font-style: italic; font-weight: 500; font-size: 21px; letter-spacing: .01em; color: #f2f1ea; text-decoration: none; }
.logo-accent { color: #f2c84b; }
.logo-muted { color: #8a94a2; }

/* ===================== Hero ===================== */
.hero { position: relative; overflow: hidden; background: #10161f; }
.hero-img { position: absolute; top: 0; right: 0; width: 82%; height: 100%; object-fit: cover; object-position: center; opacity: .3; pointer-events: none; }
.hero-gradient-1 { position: absolute; inset: 0; background: linear-gradient(90deg,#10161f 32%,rgba(16,22,31,.74) 60%,rgba(16,22,31,.3) 100%); pointer-events: none; }
.hero-gradient-2 { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(16,22,31,.45) 0%,rgba(16,22,31,0) 30%,rgba(16,22,31,.92) 96%); pointer-events: none; }
.hero-inner { position: relative; padding: clamp(72px,13vh,140px) clamp(20px,5vw,48px) clamp(80px,14vh,150px); }
.hero-badge-row { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.hero-dot { width: 7px; height: 7px; border-radius: 50%; background: #f2c84b; animation: pulse 2.6s ease-in-out infinite; }
.hero-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: clamp(40px,8vw,68px); line-height: 1.05; letter-spacing: -.015em; color: #f2f1ea; margin: 0; max-width: 15ch; text-wrap: balance; }
.hero-lead { font-size: clamp(16px,2.2vw,19px); line-height: 1.65; color: #aeb4bc; max-width: 54ch; margin: 24px 0 0; text-wrap: pretty; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 56px; font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #6b7683; }
.hero-meta-sep { color: #f2c84b; }

/* ===================== Services ===================== */
.services-title { max-width: 24ch; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 14px; margin-top: 44px; }

/* ===================== Cards (services) ===================== */
.card { background: #ffffff; border: 1px solid rgba(27,36,48,.08); border-radius: 6px; }
.card:hover { border-color: #f2c84b; }
.card-body { padding: 26px 24px 28px; display: flex; flex-direction: column; gap: 12px; }
.card-num { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #96731c; }
.card-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 20px; margin: 0; color: #1b2430; }
.card-desc { font-size: 14.5px; line-height: 1.65; color: #59616c; margin: 0; text-wrap: pretty; }

/* ===================== Track record ===================== */
.track { background: #0a0f16; border-top: 1px solid rgba(232,230,223,.06); border-bottom: 1px solid rgba(232,230,223,.06); }
.track-title { max-width: 16ch; }
.track-desc { font-size: 15.5px; line-height: 1.7; color: #aeb4bc; margin: 20px 0 0; max-width: 50ch; text-wrap: pretty; }

.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.tag { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8a94a2; border: 1px solid rgba(232,230,223,.16); border-radius: 3px; padding: 8px 12px; }

.timeline { display: flex; flex-direction: column; }
.timeline-item { border-left: 2px solid rgba(242,200,75,.35); padding: 0 0 22px 20px; position: relative; }
.timeline-item-last { padding: 0 0 0 22px; position: relative; }
.timeline-dot { position: absolute; left: -5px; top: 4px; width: 8px; height: 8px; border-radius: 50%; background: #f2c84b; }
.timeline-dot-last { left: -3px; }
.timeline-date { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #6b7683; }
.timeline-role { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 17px; color: #f2f1ea; margin-top: 4px; }
.timeline-desc { font-size: 13.5px; line-height: 1.6; color: #8a94a2; margin: 4px 0 0; }

/* ===================== Work / portfolio ===================== */
.work-title { max-width: 20ch; }
.work-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 14px; margin-top: 44px; }

.portfolio-card { overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.portfolio-img { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top; display: block; border-bottom: 1px solid rgba(27,36,48,.08); }
.portfolio-body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.portfolio-tag { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #96731c; }
.portfolio-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 19px; margin: 0; color: #1b2430; }
.portfolio-desc { font-size: 14px; line-height: 1.65; color: #59616c; margin: 0; text-wrap: pretty; }
.portfolio-link { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #f2c84b; margin-top: 4px; }

/* ===================== Contact ===================== */
.contact { background: #10161f; position: relative; overflow: hidden; }
.contact-glow { position: absolute; top: -180px; right: -120px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle,rgba(242,200,75,.1) 0%,rgba(242,200,75,0) 70%); pointer-events: none; }
.contact-inner { position: relative; }
.contact-title { max-width: 16ch; }
.contact-lead { font-size: 15.5px; line-height: 1.7; color: #aeb4bc; margin: 20px 0 0; max-width: 44ch; text-wrap: pretty; }
.contact-details { margin-top: 28px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; display: flex; flex-direction: column; gap: 14px; }
.contact-label { color: #6b7683; letter-spacing: .1em; text-transform: uppercase; font-size: 11px; }
.contact-value { color: #aeb4bc; line-height: 2; }

/* ===================== Form ===================== */
.form { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-group-full { grid-column: 1/-1; display: flex; flex-direction: column; gap: 7px; }
.form-label { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8a94a2; }
.field { background: rgba(232,230,223,.05); border: 1px solid rgba(232,230,223,.16); border-radius: 4px; color: #f2f1ea; font-family: 'IBM Plex Sans', sans-serif; font-size: 15px; padding: 13px 14px; min-height: 48px; box-sizing: border-box; width: 100%; }
.field:focus { border-color: #f2c84b; }
.field-select { appearance: none; }
.field-select option { background: #1b2430; color: #f2f1ea; }
.field-textarea { line-height: 1.6; resize: vertical; }
.error-text { font-size: 12.5px; color: #ff8d7e; }
.form-actions { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 4px; }
.form-note { font-size: 12.5px; color: #6b7683; }

/* ===================== Thank-you panel ===================== */
.thankyou-box { border: 1px solid rgba(242,200,75,.3); background: rgba(242,200,75,.06); border-radius: 6px; padding: 36px 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.thankyou-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #f2c84b; color: #201806; font-size: 20px; font-weight: 600; }
.thankyou-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 22px; margin: 0; color: #f2f1ea; }
.thankyou-text { font-size: 15px; line-height: 1.65; color: #aeb4bc; margin: 0; max-width: 44ch; }

/* ===================== Footer ===================== */
.footer { background: #0a0f16; border-top: 1px solid rgba(232,230,223,.07); }
.footer-inner { padding: 28px clamp(20px,5vw,48px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.footer-logo { font-family: 'Jost', sans-serif; font-style: italic; font-weight: 500; font-size: 16px; color: #e8e6df; }
.footer-logo-muted { color: #6b7683; }
.footer-copy { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #6b7683; }
