/* =====================================================================
   TEK1 LABS — stylesheet
   All presentation lives here. No inline CSS in the HTML.
   Sections: 1.Fonts  2.Base/keyframes  3.Spacing tokens
             4.Component rules  5.Responsive (tablet & mobile)
   ===================================================================== */

/* ---------- 1. Fonts ---------- */
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-1.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("assets/font-2.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("assets/font-3.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("assets/font-4.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("assets/font-5.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("assets/font-6.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("assets/font-1.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("assets/font-2.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("assets/font-3.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("assets/font-4.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("assets/font-5.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("assets/font-6.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: 600;
  font-display: swap;
  src: url("assets/font-1.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: 600;
  font-display: swap;
  src: url("assets/font-2.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: 600;
  font-display: swap;
  src: url("assets/font-3.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: 600;
  font-display: swap;
  src: url("assets/font-4.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: 600;
  font-display: swap;
  src: url("assets/font-5.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: 600;
  font-display: swap;
  src: url("assets/font-6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-7.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-7.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-7.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-7.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-9.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;
}


/* ---------- 2. Base & keyframes ---------- */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#0B0A18;}
  ::selection{background:rgba(112,240,160,.28);color:#fff;}
  ::-webkit-scrollbar{width:11px;}
  ::-webkit-scrollbar-track{background:#0B0A18;}
  ::-webkit-scrollbar-thumb{background:#2A2752;border-radius:6px;border:2px solid #0B0A18;}
  ::-webkit-scrollbar-thumb:hover{background:#3a3668;}
  @keyframes tkFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,-26px) scale(1.08);}100%{transform:translate(0,0) scale(1);}}
  @keyframes tkFloat2{0%{transform:translate(0,0) scale(1);}50%{transform:translate(-34px,24px) scale(1.12);}100%{transform:translate(0,0) scale(1);}}
  @keyframes tkSpin{to{transform:rotate(360deg);}}
  @keyframes tkSpinR{to{transform:rotate(-360deg);}}
  @keyframes tkPulse{0%,100%{opacity:.35;}50%{opacity:1;}}
  @keyframes tkDash{to{stroke-dashoffset:-1000;}}
  @keyframes tkBlink{0%,100%{opacity:1;}50%{opacity:0;}}
  @keyframes tkBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
  @keyframes tkScroll{0%{opacity:0;transform:translateY(0);}40%{opacity:1;}100%{opacity:0;transform:translateY(14px);}}
  @keyframes tkMarquee{to{transform:translateX(-50%);}}

/* ---------- 3. Spacing tokens ---------- */

/* ---- Spacing scale (consistent rhythm; values preserved from original design) ---- */
:root{
  --space-section: clamp(52px,5.5vw,84px); /* vertical padding for content sections */
  --space-gutter: 40px;                    /* horizontal page gutter */
  --maxw: 1280px;
}

/* ---------- 4. Component rules ---------- */
.s1{font-family:'Space Grotesk',sans-serif;background:#0B0A18;color:#CBD5E1;overflow-x:hidden;}
.s2{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease;border-bottom:1px solid transparent;}
.s3{max-width:1280px;margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.s4{display:flex;align-items:center;gap:13px;text-decoration:none;cursor:pointer;}
.s5{width:38px;height:38px;display:block;}
.s6{font-family:'JetBrains Mono',monospace;font-size:16px;letter-spacing:.24em;color:#F4F3FF;font-weight:500;}
.s7{display:flex;align-items:center;gap:38px;}
.s8{font-size:15px;color:#B8B5DC;text-decoration:none;cursor:pointer;letter-spacing:.01em;transition:color .2s;white-space:nowrap;}
.s9{font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.04em;color:#0B0A18;background:#70F0A0;padding:11px 22px;border-radius:9px;text-decoration:none;cursor:pointer;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 0 0 rgba(112,240,160,0);white-space:nowrap;}
.s10{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:#0B0A18;}
.s11{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.7;}
.s12{position:absolute;top:-150px;left:-110px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(52,216,154,.16),transparent 62%);filter:blur(20px);animation:tkFloat 18s ease-in-out infinite;z-index:0;pointer-events:none;}
.s13{position:absolute;bottom:-170px;right:-110px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(144,112,216,.14),transparent 62%);filter:blur(20px);animation:tkFloat2 21s ease-in-out infinite;z-index:0;pointer-events:none;}
.s14{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(86px,9vw,124px) 40px;display:flex;align-items:center;gap:48px;flex-wrap:wrap;width:100%;}
.s15{flex:1 1 540px;min-width:320px;}
.s16{display:inline-flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.32em;color:#70F0A0;text-transform:uppercase;margin-bottom:28px;border:1px solid rgba(112,240,160,.28);border-radius:999px;padding:9px 18px;background:rgba(112,240,160,.05);white-space:nowrap;}
.s17{width:7px;height:7px;border-radius:50%;background:#70F0A0;box-shadow:0 0 12px #70F0A0;animation:tkPulse 2.4s ease-in-out infinite;}
.s18{margin:0;font-weight:700;font-size:clamp(42px,5.6vw,80px);line-height:1.02;letter-spacing:-.03em;color:#F4F3FF;}
.s19{color:#70F0A0;}
.s20{margin:30px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:#B8B5DC;max-width:600px;}
.s21{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
.s22{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:.03em;color:#0B0A18;background:#70F0A0;padding:16px 30px;border-radius:11px;text-decoration:none;cursor:pointer;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 30px rgba(112,240,160,.22);}
.s23{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:.03em;color:#F4F3FF;background:transparent;padding:16px 30px;border-radius:11px;text-decoration:none;cursor:pointer;font-weight:500;border:1px solid rgba(184,181,220,.32);transition:background .2s,border-color .2s;}
.s24{flex:1 1 380px;min-width:300px;display:flex;justify-content:center;align-items:center;}
.s25{position:relative;width:min(440px,90%);aspect-ratio:1;}
.s26{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(112,240,160,.10);}
.s27{position:absolute;inset:13%;border-radius:50%;border:1px solid rgba(112,240,160,.14);}
.s28{position:absolute;inset:27%;border-radius:50%;border:1px solid rgba(112,240,160,.20);}
.s29{position:absolute;inset:41%;border-radius:50%;border:1px solid rgba(112,240,160,.28);}
.s30{position:absolute;inset:0;border-radius:50%;animation:tkSpinR 16s linear infinite;background:conic-gradient(from 0deg,transparent 0deg,rgba(144,112,216,.0) 250deg,rgba(144,112,216,.22) 330deg,rgba(144,112,216,.5) 360deg);mask:radial-gradient(circle,transparent 38%,#000 39%);-webkit-mask:radial-gradient(circle,transparent 38%,#000 39%);}
.s31{position:absolute;inset:0;animation:tkSpin 32s linear infinite;}
.s32{position:absolute;top:6%;left:50%;width:13px;height:13px;margin-left:-6px;border-radius:50%;background:#70F0A0;box-shadow:0 0 16px #70F0A0;}
.s33{position:absolute;top:34%;left:90%;width:10px;height:10px;border-radius:50%;background:#9070D8;box-shadow:0 0 14px #9070D8;animation:tkPulse 3s ease-in-out infinite;}
.s34{position:absolute;top:78%;left:16%;width:11px;height:11px;border-radius:50%;background:#34D89A;box-shadow:0 0 14px #34D89A;animation:tkPulse 2.6s ease-in-out infinite;}
.s35{position:absolute;top:62%;left:78%;width:8px;height:8px;border-radius:50%;background:#8060C0;box-shadow:0 0 12px #8060C0;}
.s36{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.s37{width:84px;height:84px;animation:tkBob 5s ease-in-out infinite;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));}
.s38{position:relative;z-index:3;background:#0D0B1E;border-top:1px solid rgba(70,68,110,.22);border-bottom:1px solid rgba(70,68,110,.22);}
.s39{max-width:1280px;margin:0 auto;padding:54px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;}
.s40{text-align:center;}
.s41{font-weight:700;font-size:clamp(40px,4.4vw,60px);color:#70F0A0;line-height:1;letter-spacing:-.02em;}
.s42{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.14em;color:#928FC0;text-transform:uppercase;margin-top:12px;}
.s43{font-weight:700;font-size:clamp(40px,4.4vw,60px);color:#F4F3FF;line-height:1;letter-spacing:-.02em;}
.s44{font-weight:700;font-size:clamp(40px,4.4vw,60px);color:#9070D8;line-height:1;letter-spacing:-.02em;}
.s45{position:relative;background:#0D0B1E;border-top:1px solid rgba(70,68,110,.22);border-bottom:1px solid rgba(70,68,110,.22);overflow:hidden;padding:26px 0;}
.s46{position:absolute;top:0;left:0;bottom:0;width:140px;background:linear-gradient(90deg,#0D0B1E,transparent);z-index:2;pointer-events:none;}
.s47{position:absolute;top:0;right:0;bottom:0;width:140px;background:linear-gradient(270deg,#0D0B1E,transparent);z-index:2;pointer-events:none;}
.s48{display:flex;align-items:center;width:max-content;animation:tkMarquee 42s linear infinite;will-change:transform;}
.s49{font-family:'JetBrains Mono',monospace;font-size:19px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:#70F0A0;}
.s50{color:#34D89A;font-size:12px;padding:0 32px;opacity:.6;}
.s51{font-family:'JetBrains Mono',monospace;font-size:19px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:#928FC0;}
.s52{scroll-margin-top:72px;position:relative;background:#0B0A18;padding:clamp(52px,5.5vw,84px) 0;overflow:hidden;}
.s53{position:absolute;top:10%;right:-10%;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(144,112,216,.10),transparent 65%);filter:blur(10px);pointer-events:none;}
.s54{max-width:1280px;margin:0 auto;padding:0 40px;position:relative;}
.s55{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.32em;color:#70F0A0;text-transform:uppercase;margin-bottom:20px;}
.s56{margin:0;max-width:880px;font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.025em;color:#F4F3FF;}
.s57{margin:24px 0 0;max-width:680px;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#928FC0;}
.s58{background:linear-gradient(120deg,rgba(52,216,154,.14),rgba(144,112,216,.07));border:1px solid rgba(52,216,154,.32);border-radius:22px;padding:clamp(32px,4vw,46px);display:flex;align-items:center;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden;margin-top:34px;}
.s59{position:absolute;top:-60px;right:-40px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(52,216,154,.16),transparent 65%);pointer-events:none;}
.s60{flex-shrink:0;width:96px;height:96px;position:relative;}
.s61{position:absolute;width:128px;height:128px;left:-16px;top:-16px;}
.s62{flex:1;min-width:280px;position:relative;}
.s63{font-weight:700;font-size:clamp(26px,2.6vw,38px);color:#F4F3FF;letter-spacing:-.01em;}
.s64{margin:12px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.5;color:#CBD5E1;max-width:820px;}
.s65{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:20px;}
.s66{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:16px;padding:32px 30px;transition:transform .3s ease,border-color .3s ease,background .3s ease;}
.s67{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:#70F0A0;text-transform:uppercase;margin-bottom:18px;}
.s68{font-weight:600;font-size:21px;color:#F4F3FF;line-height:1.2;margin-bottom:12px;}
.s69{margin:0;font-size:15px;line-height:1.55;color:#928FC0;}
.s70{scroll-margin-top:72px;position:relative;background:#0D0B1E;padding:clamp(52px,5.5vw,84px) 0;border-top:1px solid rgba(70,68,110,.22);overflow:hidden;}
.s71{max-width:1280px;margin:0 auto;padding:0 40px;}
.s72{margin:0 0 12px;font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.025em;color:#F4F3FF;}
.s73{margin:0;max-width:700px;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#928FC0;}
.s74{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:34px;}
.s75{background:#17152F;border:1px solid rgba(70,68,110,.3);border-radius:16px;padding:30px 28px;transition:transform .3s ease,border-color .3s ease,background .3s ease;}
.s76{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:#9070D8;text-transform:uppercase;margin-bottom:16px;}
.s77{font-weight:600;font-size:20px;color:#F4F3FF;line-height:1.2;margin-bottom:11px;}
.s78{margin:0;font-size:14.5px;line-height:1.55;color:#928FC0;}
.s79{position:absolute;bottom:0;left:-8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(52,216,154,.08),transparent 65%);filter:blur(10px);pointer-events:none;}
.s80{margin:0 0 34px;font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.025em;color:#F4F3FF;}
.s81{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.s82{grid-column:span 2;background:linear-gradient(150deg,rgba(52,216,154,.10),rgba(15,13,34,.6));border:1px solid rgba(112,240,160,.4);border-radius:20px;padding:clamp(34px,3.5vw,44px);display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease;}
.s83{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;color:#70F0A0;text-transform:uppercase;margin-bottom:18px;}
.s84{font-weight:700;font-size:clamp(26px,2.6vw,34px);color:#F4F3FF;letter-spacing:-.015em;margin-bottom:14px;}
.s85{margin:0 0 24px;font-size:16.5px;line-height:1.55;color:#B8B5DC;max-width:560px;}
.s86{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;}
.s87{font-family:'JetBrains Mono',monospace;font-size:12px;color:#B8B5DC;border:1px solid rgba(112,240,160,.3);border-radius:999px;padding:6px 14px;}
.s88{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:20px;padding:clamp(30px,2.6vw,38px);display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease;}
.s89{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;color:#45D8C0;text-transform:uppercase;margin-bottom:18px;}
.s90{font-weight:700;font-size:24px;color:#F4F3FF;letter-spacing:-.01em;margin-bottom:14px;line-height:1.15;}
.s91{margin:0 0 22px;font-size:15.5px;line-height:1.55;color:#928FC0;}
.s92{margin-top:auto;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.04em;color:#706CA4;}
.s93{grid-column:1 / -1;background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:20px;padding:clamp(32px,3.5vw,44px);display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;transition:transform .35s ease,border-color .35s ease;}
.s94{flex:1;min-width:280px;}
.s95{font-weight:700;font-size:clamp(24px,2.4vw,32px);color:#F4F3FF;letter-spacing:-.015em;margin-bottom:14px;}
.s96{margin:0;font-size:16px;line-height:1.55;color:#928FC0;max-width:560px;}
.s97{flex-shrink:0;display:flex;align-items:flex-end;gap:18px;}
.s98{display:flex;flex-direction:column;align-items:center;gap:11px;}
.s99{width:54px;height:150px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#2A2752,#17152F);}
.s100{font-family:'JetBrains Mono',monospace;font-size:13px;color:#928FC0;}
.s101{width:54px;height:36px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#70F0A0,#1E9E72);}
.s102{font-family:'JetBrains Mono',monospace;font-size:13px;color:#70F0A0;}
.s103{margin-left:6px;padding-bottom:28px;}
.s104{font-weight:700;font-size:54px;color:#70F0A0;line-height:.85;}
.s105{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;color:#928FC0;text-transform:uppercase;margin-top:6px;}
.s106{position:relative;background:#0B0A18;padding:clamp(52px,5.5vw,84px) 0;border-top:1px solid rgba(70,68,110,.22);overflow:hidden;}
.s107{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;}
.s108{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:18px;padding:34px 30px;transition:transform .3s ease,border-color .3s ease;}
.s109{font-family:'JetBrains Mono',monospace;font-size:46px;font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(112,240,160,.55);margin-bottom:18px;}
.s110{width:46px;height:3px;border-radius:2px;background:linear-gradient(90deg,#70F0A0,#34D89A);margin-bottom:24px;}
.s111{font-weight:600;font-size:23px;color:#F4F3FF;margin-bottom:13px;}
.s112{scroll-margin-top:72px;position:relative;background:#0D0B1E;padding:clamp(52px,5.5vw,84px) 0;border-top:1px solid rgba(70,68,110,.22);}
.s113{margin:0;max-width:680px;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#928FC0;}
.s114{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:50px;}
.s115{background:#17152F;border:1px solid rgba(70,68,110,.3);border-radius:14px;padding:26px 24px;display:flex;align-items:center;gap:14px;transition:border-color .3s ease,background .3s ease;}
.s116{width:8px;height:8px;border-radius:50%;background:#70F0A0;flex-shrink:0;}
.s117{font-size:17px;color:#F4F3FF;font-weight:500;}
.s118{width:8px;height:8px;border-radius:50%;background:#9070D8;flex-shrink:0;}
.s119{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.32em;color:#45D8C0;text-transform:uppercase;margin-bottom:20px;}
.s120{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;}
.s121{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:18px;padding:36px 34px;transition:transform .3s ease,border-color .3s ease;}
.s122{width:50px;height:50px;border-radius:13px;background:rgba(112,240,160,.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#70F0A0;}
.s123{font-weight:600;font-size:21px;color:#F4F3FF;margin-bottom:11px;}
.s124{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:18px;padding:36px 34px;transition:transform .3s ease,border-color .3s ease;}
.s125{width:50px;height:50px;border-radius:13px;background:rgba(245,196,81,.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#F5C451;}
.s126{background:#0F0D22;border:1px solid rgba(70,68,110,.3);border-radius:18px;padding:36px 34px;transition:transform .3s ease,border-color .3s ease;}
.s127{width:50px;height:50px;border-radius:13px;background:rgba(69,216,192,.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#45D8C0;}
.s128{position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:760px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(52,216,154,.12),transparent 62%);filter:blur(14px);pointer-events:none;}
.s129{max-width:1100px;margin:0 auto;padding:0 40px;position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:54px;align-items:start;}
.s130{margin:0;font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.03em;color:#F4F3FF;}
.s131{margin:22px 0 0;font-size:17px;line-height:1.6;color:#928FC0;max-width:460px;}
.s132{display:flex;flex-direction:column;gap:20px;margin-top:40px;}
.s133{display:flex;align-items:flex-start;gap:16px;}
.s134{font-family:'JetBrains Mono',monospace;font-size:13px;color:#70F0A0;border:1px solid rgba(112,240,160,.3);border-radius:8px;padding:5px 9px;flex-shrink:0;}
.s135{font-size:16px;line-height:1.5;color:#E2E8F0;}
.s136{background:#161430;border:1px solid rgba(70,68,110,.4);border-radius:22px;padding:clamp(36px,4vw,56px);box-shadow:0 30px 70px rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:360px;position:relative;overflow:hidden;}
.s137{position:absolute;top:-90px;right:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(112,240,160,.14),transparent 65%);pointer-events:none;}
.s138{width:76px;height:76px;border-radius:19px;background:rgba(112,240,160,.12);border:1px solid rgba(112,240,160,.32);display:flex;align-items:center;justify-content:center;margin-bottom:28px;position:relative;}
.s139{font-weight:700;font-size:27px;color:#F4F3FF;letter-spacing:-.01em;margin-bottom:13px;}
.s140{margin:0 0 32px;font-size:16px;line-height:1.55;color:#928FC0;max-width:360px;}
.s141{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:.03em;color:#0B0A18;background:#70F0A0;padding:16px 34px;border-radius:12px;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 30px rgba(112,240,160,.22);}
.s142{margin-top:22px;font-family:'JetBrains Mono',monospace;font-size:14px;color:#B8B5DC;text-decoration:none;transition:color .2s;cursor:pointer;}
.s143{background:#0B0A18;border-top:1px solid rgba(70,68,110,.22);position:relative;overflow:hidden;}
.s144{position:absolute;bottom:-140px;left:50%;transform:translateX(-50%);width:720px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(52,216,154,.07),transparent 65%);pointer-events:none;}
.s145{display:grid;grid-template-columns:minmax(280px,1.7fr) 1fr 1fr;gap:48px;padding:clamp(40px,4.5vw,58px) 0 40px;}
.s146{max-width:380px;}
.s147{display:flex;align-items:center;gap:13px;margin-bottom:20px;}
.s148{margin:0 0 24px;font-size:15px;line-height:1.6;color:#706CA4;max-width:340px;}
.s149{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:14px;color:#70F0A0;text-decoration:none;border:1px solid rgba(112,240,160,.3);border-radius:10px;padding:11px 18px;transition:background .2s,border-color .2s;}
.s150{display:flex;flex-direction:column;gap:14px;}
.s151{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;color:#534F82;text-transform:uppercase;margin-bottom:6px;}
.s152{font-size:14.5px;color:#B8B5DC;text-decoration:none;cursor:pointer;transition:color .2s;}
.s153{padding:24px 0 40px;border-top:1px solid rgba(70,68,110,.22);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.s154{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:#534F82;}
.s155{display:flex;align-items:center;gap:18px;}
.s156{width:5px;height:5px;border-radius:50%;background:#3E3A74;}
.s157{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.04em;color:#70F0A0;text-decoration:none;cursor:pointer;transition:opacity .2s;}
.s158{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(112,240,160,.35);border-radius:7px;}

/* hover */
.s8:hover{color:#70F0A0;}
.s9:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(112,240,160,.32);}
.s22:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(112,240,160,.36);}
.s23:hover{background:rgba(184,181,220,.08);border-color:rgba(184,181,220,.6);}
.s48:hover{animation-play-state:paused;}
.s66:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.42);background:#15132E;}
.s75:hover{transform:translateY(-6px);border-color:rgba(144,112,216,.5);background:#1B193A;}
.s82:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.7);}
.s88:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.42);}
.s93:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.42);}
.s108:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.4);}
.s115:hover{border-color:rgba(112,240,160,.5);background:#1B193A;}
.s121:hover{transform:translateY(-6px);border-color:rgba(112,240,160,.4);}
.s124:hover{transform:translateY(-6px);border-color:rgba(245,196,81,.4);}
.s126:hover{transform:translateY(-6px);border-color:rgba(69,216,192,.4);}
.s141:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(112,240,160,.36);}
.s142:hover{color:#70F0A0;}
.s149:hover{background:rgba(112,240,160,.08);border-color:rgba(112,240,160,.6);}
.s152:hover{color:#70F0A0;}
.s157:hover{opacity:.7;}

/* =====================================================================
   5. Responsive — tablet & mobile
   Desktop layout is unchanged; the rules below only apply at narrower
   widths. Class names map to: .s3 nav-inner · .s14 hero-inner ·
   .s39 stats-grid · .s48 marquee-track · .s49/.s51 marquee-labels ·
   .s54/.s71/.s129 page containers · .s81 work-grid · .s82 work-featured ·
   .s93 work-fullrow · .s145 footer-grid · .s150 footer-columns ·
   .s153 footer-bottombar.
   ===================================================================== */

/* Hamburger button — hidden on desktop, so desktop is untouched */
.tk-burger{
  display:none;
  width:44px;height:44px;flex-shrink:0;padding:0;
  background:transparent;border:1px solid rgba(184,181,220,.32);border-radius:10px;
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:border-color .2s;
}
.tk-burger:hover{border-color:rgba(112,240,160,.6);}
.tk-burger span{
  display:block;width:20px;height:2px;border-radius:2px;background:#F4F3FF;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-open .tk-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-open .tk-burger span:nth-child(2){opacity:0;}
.nav-open .tk-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Tablet (<= 900px) ---------- */
@media (max-width:900px){
  /* Nav collapses into a toggled panel */
  .tk-burger{display:flex;}
  .s3{padding:16px 24px;}                       /* nav inner row */
  .s7{                                          /* link group -> dropdown */
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:4px;
    background:rgba(11,10,24,.97);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(70,68,110,.4);
    padding:14px 24px 22px;
    transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity .25s ease,transform .25s ease;
  }
  .nav-open .s7{transform:translateY(0);opacity:1;pointer-events:auto;}
  .s7 .s8{padding:13px 4px;font-size:16px;border-bottom:1px solid rgba(70,68,110,.22);}
  .s7 .s9{margin-top:12px;text-align:center;padding:14px 22px;}

  /* Work: 3 columns -> 2, neutralise the wide spans */
  .s81{grid-template-columns:repeat(2,minmax(0,1fr));}
  .s82{grid-column:1 / -1;}

  /* Footer: 3 columns -> single column */
  .s145{grid-template-columns:1fr;gap:34px;}
}

/* ---------- Mobile (<= 640px) ---------- */
@media (max-width:640px){
  /* Tighter, consistent page gutters (was 40px) */
  .s14,.s54,.s71,.s129{padding-left:20px;padding-right:20px;}
  .s39{padding-left:20px;padding-right:20px;}

  /* Hero: lower top offset, comfortable stack gap */
  .s14{padding-top:104px;padding-bottom:56px;gap:36px;}

  /* All work cards stack to one column */
  .s81{grid-template-columns:1fr;}
  .s82,.s93{grid-column:auto;}
  .s93{flex-direction:column;align-items:flex-start;gap:26px;}  /* metric card stacks */

  /* Stats: 2 per row rather than 4 cramped */
  .s39{grid-template-columns:repeat(2,1fr);gap:30px 20px;}

  /* Marquee labels slightly smaller */
  .s49,.s51{font-size:16px;}

  /* Footer bottom bar stacks and left-aligns */
  .s153{flex-direction:column;align-items:flex-start;gap:14px;}
  .s155{flex-wrap:wrap;gap:10px 14px;}

  /* Contact intro + card: comfortable stacked gap */
  .s129{gap:36px;}
}
