

/* ══════════════════════════════════════════
   EXTRACTED STYLES — combined from inline blocks
   ══════════════════════════════════════════ */

/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0c1c55dc-1aed-4392-9ea2-470e911936b4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/04e67715-a599-491f-bf58-bc0e282b6488.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/51c4f72a-128d-4d82-ac78-84c0584024b7.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/18331ecb-9dfe-4958-9af9-45a0659d8688.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/0e8252d2-fb9d-483e-82cc-11d790334643.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/293fcce1-c434-4579-807d-237f81a1bcac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/47388995-f427-4972-990b-ff6341431cd3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/a54df0b0-a8bb-4b6c-ad90-67793cbec02a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/e10bae7b-38af-43ee-be48-ddb3cb7d0973.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/c698d992-5d61-4576-80ed-d47a056c4dd9.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/35bc3847-0a66-45dd-93e5-62a658ebfb08.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cc025982-538f-4055-a98d-a351f022a986.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/6574957f-013e-4552-8419-7d397ade273c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/321e9509-5438-4ffc-8fdd-b63cb527ed07.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/a54df0b0-a8bb-4b6c-ad90-67793cbec02a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/e10bae7b-38af-43ee-be48-ddb3cb7d0973.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/c698d992-5d61-4576-80ed-d47a056c4dd9.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/35bc3847-0a66-45dd-93e5-62a658ebfb08.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cc025982-538f-4055-a98d-a351f022a986.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/6574957f-013e-4552-8419-7d397ade273c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/321e9509-5438-4ffc-8fdd-b63cb527ed07.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/a54df0b0-a8bb-4b6c-ad90-67793cbec02a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/e10bae7b-38af-43ee-be48-ddb3cb7d0973.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/c698d992-5d61-4576-80ed-d47a056c4dd9.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/35bc3847-0a66-45dd-93e5-62a658ebfb08.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cc025982-538f-4055-a98d-a351f022a986.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/6574957f-013e-4552-8419-7d397ade273c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/321e9509-5438-4ffc-8fdd-b63cb527ed07.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/a54df0b0-a8bb-4b6c-ad90-67793cbec02a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/e10bae7b-38af-43ee-be48-ddb3cb7d0973.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/c698d992-5d61-4576-80ed-d47a056c4dd9.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/35bc3847-0a66-45dd-93e5-62a658ebfb08.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/cc025982-538f-4055-a98d-a351f022a986.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/6574957f-013e-4552-8419-7d397ade273c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/321e9509-5438-4ffc-8fdd-b63cb527ed07.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/a54df0b0-a8bb-4b6c-ad90-67793cbec02a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/e10bae7b-38af-43ee-be48-ddb3cb7d0973.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/c698d992-5d61-4576-80ed-d47a056c4dd9.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/35bc3847-0a66-45dd-93e5-62a658ebfb08.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/cc025982-538f-4055-a98d-a351f022a986.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/6574957f-013e-4552-8419-7d397ade273c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/321e9509-5438-4ffc-8fdd-b63cb527ed07.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;
}

/* ═══════════════════════════════════════════════════
   JON GRAYSON · REDESIGN 2026
   Color strategy:
   - Light sections: #C4D600 for borders/icons only; 
     text uses #1d1d1f (near-black) 
   - Dark sections: #C4D600 fully readable on dark bg
   ═══════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Neutrals */
  --white:      #ffffff;
  --off-white:  #f5f5f7;
  --gray-200:   #e8e8ed;
  --gray-400:   #b0b0b5;
  --gray-600:   #6e6e73;
  --near-black: #1d1d1f;
  --black:      #111113;

  /* Brand lime — ONLY used on dark backgrounds as text/glow
     On light backgrounds, use --lime-border or --lime-icon */
  --lime:        #C4D600;
  --lime-dark:   #9fae00;   /* darker lime for light-bg accents that need contrast */
  --lime-hover:  #d4e800;
  --lime-dim:    rgba(196,214,0,0.12);
  --lime-glow:   rgba(196,214,0,0.3);

  /* Dashboard dark palette */
  --dash-bg:     #0a0c0a;
  --dash-panel:  #0f1210;
  --dash-border: rgba(196,214,0,0.2);
  --dash-border-bright: rgba(196,214,0,0.55);
  --dash-dim:    rgba(196,214,0,0.06);

  --radius-sm: 6px;
  --radius:    14px;
  --radius-lg: 22px;
}

html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  background: var(--white);
  color: var(--near-black);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1,h2,h3 { font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
p { line-height: 1.65; }
/* On light bg, em uses dark lime for contrast */
em { font-style: normal; color: var(--lime-dark); }
/* On dark bg, em uses full lime */
.on-dark em { color: var(--lime); }
a { text-decoration: none; }
.wrap { max-width: 980px; margin: 0 auto; padding: 0 22px; }

/* ── PROGRESS ── */
#progress-bar { position:fixed;top:0;left:0;height:2px;background:var(--lime-dark);z-index:9999;width:0; }

/* ════════════════════════════════
   NAV
   ════════════════════════════════ */
nav {
  position:fixed;top:0;left:0;right:0;z-index:900;height:48px;
  background:rgba(255,255,255,0.8);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--gray-200);
}
.nav-inner { max-width:980px;margin:0 auto;padding:0 22px;height:100%;display:flex;align-items:center;justify-content:space-between; }
.nav-logo { font-size:0.95rem;font-weight:700;letter-spacing:-0.02em;color:var(--near-black); }
.nav-logo span {
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--lime);margin-left:3px;vertical-align:middle;margin-bottom:2px;
}
.nav-links { display:flex;list-style:none; }
.nav-links a { font-size:0.75rem;color:var(--near-black);padding:0 13px;line-height:48px;display:block;transition:color 0.15s; }
.nav-links a:hover { color:var(--lime-dark); }
.nav-playbook {
  font-size:0.7rem;font-weight:600;color:var(--near-black);
  background:var(--lime);padding:0.3rem 0.85rem;border-radius:40px;
  margin-right:1rem;letter-spacing:0.01em;
  transition:background 0.2s,color 0.2s;
}
.nav-playbook:hover { background:var(--near-black);color:var(--white); }
.nav-cta { font-size:0.75rem;font-weight:600;color:var(--lime-dark);transition:opacity 0.15s; }
.nav-cta:hover { opacity:0.7; }
.ham { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px; }
.ham span { display:block;width:18px;height:1.5px;background:var(--near-black);border-radius:2px; }
.mobile-menu { display:none;flex-direction:column;position:fixed;inset:48px 0 0 0;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);z-index:800;padding:1.5rem 22px; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:1.3rem;font-weight:500;color:var(--near-black);padding:1rem 0;border-bottom:1px solid var(--gray-200); }
.mobile-menu a:hover { color:var(--lime-dark); }
.mob-playbook {
  display:inline-block;text-align:center;margin-top:0.5rem;
  background:var(--lime);color:var(--near-black) !important;
  padding:0.8rem 1.5rem;border-radius:40px;border-bottom:none !important;
  font-weight:600;transition:background 0.2s,color 0.2s;
}
.mob-playbook:hover { background:var(--near-black);color:var(--white) !important; }
@media(max-width:768px){ .nav-links,.nav-cta,.nav-playbook{display:none;} .ham{display:flex;} }

/* ════════════════════════════════
   HERO
   ════════════════════════════════ */
#hero {
  min-height:100svh;padding-top:48px;
  display:flex;align-items:center;
  background:var(--white);position:relative;overflow:hidden;text-align:center;
}
#hero::before {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% -5%, rgba(196,214,0,0.07) 0%, transparent 65%),
    radial-gradient(ellipse 35% 35% at 85% 85%, rgba(196,214,0,0.04) 0%, transparent 55%),
    radial-gradient(ellipse 35% 35% at 15% 85%, rgba(196,214,0,0.04) 0%, transparent 55%);
  pointer-events:none;
}
.hero-inner { position:relative;z-index:2;width:100%;padding:3rem 22px 6rem; }
.hero-eyebrow {
  display:block;
  font-size:1.22rem;font-weight:500;letter-spacing:0;text-transform:none;
  color:var(--gray-600);
  margin:3rem auto 0;
  max-width:800px;
  line-height:1.6;text-align:left;
  opacity:0;animation:fadeUp 0.6s 0.8s cubic-bezier(0.16,1,0.3,1) forwards;
}
.hero-h1 {
  font-size:clamp(2.4rem,8vw,7rem);font-weight:700;letter-spacing:-0.04em;line-height:1.05;
  color:var(--near-black);max-width:880px;margin:0 auto 1.5rem;
  opacity:0;animation:fadeUp 0.8s 0.35s cubic-bezier(0.16,1,0.3,1) forwards;
  word-break:normal;overflow-wrap:normal;
}
/* On light hero, use dark text - lime only as decorative accent via underline */
.hero-h1 .accent-line {
  position:relative;display:inline;
  background:linear-gradient(to bottom, var(--near-black) 0%, var(--near-black) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-h1 .accent-word {
  display:block;
  color:var(--lime);
  -webkit-text-fill-color: var(--lime);
  position:relative;
  margin-bottom:0.5rem;
}
.hero-actions {
  display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;
  margin-top:3rem;
  opacity:0;animation:fadeUp 0.7s 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
}
/* Playbook button: lime bg, black text — inverts on hover */
.btn-playbook {
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
  font-size:0.95rem;font-weight:600;padding:0.85rem 2rem;
  background:var(--lime);color:var(--near-black);
  border-radius:980px;border:none;cursor:pointer;font-family:inherit;
  flex:1;min-width:190px;max-width:250px;
  transition:background 0.2s,color 0.2s,box-shadow 0.2s;
}
.btn-playbook:hover { background:var(--near-black);color:var(--white);box-shadow:0 6px 20px rgba(0,0,0,0.18); }
/* Primary button: near-black bg, white text — lime used as hover accent */
.btn-primary {
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
  font-size:0.95rem;font-weight:600;padding:0.85rem 2rem;
  background:var(--near-black);color:#fff;
  border-radius:980px;border:none;cursor:pointer;font-family:inherit;
  flex:1;min-width:190px;max-width:250px;
  transition:background 0.2s, box-shadow 0.2s;
}
.btn-primary:hover { background:var(--lime);color:var(--near-black);box-shadow:0 6px 20px rgba(0,0,0,0.18); }
/* Secondary: outlined */
.btn-secondary {
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
  font-size:0.95rem;font-weight:600;padding:0.85rem 2rem;
  background:var(--gray-200);color:var(--near-black);
  border:1.5px solid var(--gray-300);border-radius:980px;cursor:pointer;font-family:inherit;
  flex:1;min-width:190px;max-width:250px;
  transition:border-color 0.2s,background 0.2s;
}
.btn-secondary:hover { border-color:var(--lime);background:var(--lime);color:var(--near-black); }





/* ════════════════════════════════
   STATS BAND — dark, lime numbers
   ════════════════════════════════ */
#stats { background:var(--near-black);padding:5rem 0; }
.stats-inner {
  max-width:980px;margin:0 auto;padding:0 22px;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(255,255,255,0.06);
}
.stat-item { background:var(--near-black);padding:3rem 2rem;text-align:center; }
.stat-number { font-size:clamp(3.5rem,6.875vw,5.625rem);font-weight:700;letter-spacing:-0.04em;color:var(--lime);line-height:1; }
.stat-label { font-size:0.9rem;color:rgba(255,255,255,0.35);letter-spacing:0.03em;text-transform:none;margin-top:0.5rem;line-height:1.4;max-width:200px;margin-left:auto;margin-right:auto; }
/* Warning column — the gut-punch zero */
.stat-item--warning { position:relative; }
.stat-item--warning::before,.stat-item--warning::after {
  content:'';position:absolute;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(255,60,60,0.25),transparent);
}
.stat-item--warning::before { left:0; }
.stat-item--warning::after { right:0; }
.stat-number--zero { color:#ff453a !important; }
.stat-label--warning { color:rgba(255,100,90,0.5) !important; }
/* "You" — lime, personal */
.stat-number--you { color:var(--lime) !important;font-size:clamp(2.75rem,5.625vw,4.75rem) !important; }
/* Footnote */
.stats-footnote {
  text-align:center;padding:1.4rem 22px 2.5rem;
  font-size:0.8rem;font-style:italic;
  color:rgba(255,255,255,0.22);letter-spacing:0.02em;
  border-top:1px solid rgba(255,255,255,0.05);
  max-width:980px;margin:0 auto;
}
@media(max-width:600px){ .stats-inner{grid-template-columns:1fr;} }

/* ════════════════════════════════
   SECTION COMMONS
   ════════════════════════════════ */
/* Light sections: eyebrow uses dark lime for contrast */
.section-eyebrow {
  font-size:0.72rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;
  color:var(--lime-dark);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.5rem;
}
.section-eyebrow::before {
  content:'';display:inline-block;width:16px;height:2px;
  background:var(--lime);border-radius:1px;flex-shrink:0;
}
/* Dark sections: eyebrow uses full lime */
.on-dark .section-eyebrow { color:var(--lime); }
.section-h2 {
  font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:700;letter-spacing:-0.035em;line-height:1.07;
  color:var(--near-black);margin-bottom:1rem;
}
.on-dark .section-h2 { color:#fff; }
.section-body {
  font-size:clamp(0.95rem,1.4vw,1.05rem);color:var(--gray-600);line-height:1.72;
}
.on-dark .section-body { color:rgba(255,255,255,0.5); }
.on-dark .section-body strong { color:#fff; }

/* ════════════════════════════════
   CAPABILITIES
   ════════════════════════════════ */
#capabilities { background:var(--white);padding:8rem 0; }
.cap-split { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:4.5rem; }
@media(max-width:700px){ .cap-split{grid-template-columns:1fr;gap:1.5rem;} }
.cap-cards { display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem; }
@media(max-width:700px){ .cap-cards{grid-template-columns:1fr;} }
.cap-card {
  background:var(--off-white);border-radius:var(--radius-lg);padding:2.5rem 2.2rem;
  border:1px solid var(--gray-200);
  transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s;position:relative;overflow:hidden;
}
.cap-card:hover { transform:translateY(-3px);box-shadow:0 16px 44px rgba(0,0,0,0.07);border-color:var(--lime); }
/* Lime left border accent on cards — thin and visible */
.cap-card::before { content:'';position:absolute;left:0;top:1.5rem;bottom:1.5rem;width:3px;background:var(--lime);border-radius:0 2px 2px 0; }
.cap-card-num { font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--lime-dark);margin-bottom:1.5rem; }
.cap-card h3 { font-size:1.2rem;font-weight:700;letter-spacing:-0.02em;color:var(--near-black);margin-bottom:0.65rem; }
.cap-card p { font-size:0.9rem;color:var(--gray-600);line-height:1.68; }

/* ════════════════════════════════
   AI CONSULTANT — Dark full-bleed
   ════════════════════════════════ */
#ai-consulting {
  background:var(--black);padding:8rem 0;
  position:relative;overflow:hidden;
}
#ai-consulting::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 60% at 80% 50%,rgba(196,214,0,0.06) 0%,transparent 70%);
  pointer-events:none;
}
.ai-inner { max-width:980px;margin:0 auto;padding:0 22px;position:relative;z-index:2; }
.ai-split { display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center; }
@media(max-width:768px){ .ai-split{grid-template-columns:1fr;gap:3rem;} }

.ai-services { display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem; }
.ai-service-item {
  display:flex;align-items:flex-start;gap:1rem;
  padding:1.2rem 1.4rem;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(196,214,0,0.12);
  border-radius:var(--radius);
  transition:border-color 0.2s,background 0.2s;
}
.ai-service-item:hover { border-color:rgba(196,214,0,0.35);background:rgba(196,214,0,0.04); }
.ai-service-icon {
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  background:rgba(196,214,0,0.1);border:1px solid rgba(196,214,0,0.2);
  display:flex;align-items:center;justify-content:center;
}
.ai-service-title { font-size:0.9rem;font-weight:600;color:#fff;margin-bottom:0.25rem; }
.ai-service-desc { font-size:0.82rem;color:rgba(255,255,255,0.4);line-height:1.55; }

/* AI visual panel right side */
.ai-visual {
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(196,214,0,0.15);
  border-radius:var(--radius-lg);padding:2rem;
}
.ai-visual-header {
  display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;
  padding-bottom:1rem;border-bottom:1px solid rgba(196,214,0,0.1);
}
.ai-visual-dot { width:8px;height:8px;border-radius:50%;background:var(--lime);animation:pulse-lime 2s ease-in-out infinite; }
.ai-visual-title { font-family:'SF Mono','Menlo',monospace;font-size:0.72rem;color:var(--lime);letter-spacing:0.08em;text-transform:uppercase; }
.ai-workflow { display:flex;flex-direction:column;gap:0.6rem; }
.ai-flow-row {
  display:flex;align-items:center;gap:0.75rem;
  padding:0.7rem 0.9rem;
  border-radius:var(--radius-sm);
}
.ai-flow-row.active { background:rgba(196,214,0,0.08);border-left:2px solid var(--lime); }
.ai-flow-row.dim { opacity:0.4; }
.ai-flow-label { font-family:'SF Mono','Menlo',monospace;font-size:0.7rem;color:rgba(255,255,255,0.5);width:100px;flex-shrink:0;letter-spacing:0.04em; }
.ai-flow-bar { flex:1;height:4px;background:rgba(255,255,255,0.06);border-radius:2px;overflow:hidden; }
.ai-flow-fill { height:100%;border-radius:2px;background:var(--lime);transition:width 2s cubic-bezier(0.16,1,0.3,1); }
.ai-flow-val { font-family:'SF Mono','Menlo',monospace;font-size:0.72rem;color:var(--lime);min-width:36px;text-align:right; }
.ai-flow-arrow { color:var(--lime);font-size:0.8rem;opacity:0.7; }

/* ════════════════════════════════
   QUOTE BAND
   ════════════════════════════════ */
#quote-band { background:var(--off-white);padding:7rem 0;text-align:center; }
.quote-inner { max-width:780px;margin:0 auto;padding:0 22px; }
blockquote {
  font-size:clamp(1.5rem,3.2vw,2.4rem);font-weight:600;letter-spacing:-0.025em;line-height:1.28;
  color:var(--near-black);
}
/* Quote em on light bg — dark lime */
blockquote em { color:var(--lime-dark); }
.quote-attr { font-size:0.82rem;color:var(--gray-600);margin-top:1.8rem;letter-spacing:0.03em; }
/* Lime accent line above quote */
.quote-inner::before {
  content:'';display:block;width:40px;height:3px;background:var(--lime);border-radius:2px;margin:0 auto 2rem;
}

/* ════════════════════════════════
   PROCESS
   ════════════════════════════════ */
#how-i-work { background:var(--white);padding:8rem 0; }
.hiw-header { margin-bottom:4.5rem; }
.step-item {
  display:grid;grid-template-columns:64px 1fr;gap:2rem;
  padding:2.2rem 0;border-bottom:1px solid var(--gray-200);align-items:start;
}
.step-item:last-child { border-bottom:none; }
.step-num {
  font-size:3rem;font-weight:700;letter-spacing:-0.04em;
  color:rgba(0,0,0,0.06);line-height:1;transition:color 0.2s;
}
.step-item:hover .step-num { color:rgba(196,214,0,0.4); }
.step-title { font-size:1.05rem;font-weight:600;color:var(--near-black);margin-bottom:0.5rem; }
.step-text { font-size:0.88rem;color:var(--gray-600);line-height:1.72; }
.step-tag {
  display:inline-block;margin-top:0.7rem;
  font-size:0.65rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
  padding:0.22rem 0.7rem;border-radius:40px;
  /* Tag on light bg: lime bg, dark text */
  background:var(--lime);color:var(--near-black);
}
@media(max-width:600px){ .step-item{grid-template-columns:44px 1fr;gap:1rem;} .step-num{font-size:2.2rem;} }

/* ════════════════════════════════
   VISITOR INTELLIGENCE — Apple-style Dashboard
   ════════════════════════════════ */
#intelligence {
  background:var(--off-white);
  padding:8rem 0;
  position:relative;overflow:hidden;
}
.intel-header { max-width:980px;margin:0 auto 4rem;padding:0 22px;position:relative;z-index:2; }

/* ── PERSONALIZED GREETING ── */
.dash-greeting-wrap {
  max-width:980px;margin:0 auto 2.5rem;padding:0 22px;text-align:center;
  min-height:2rem;
}
.dash-greeting {
  font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:500;
  color:var(--near-black);letter-spacing:-0.01em;line-height:1.4;
}
.dash-greeting .greeting-location {
  color:var(--lime-dark);font-weight:600;
}

/* ── LIVE BADGE ── */
.dash-live-badge {
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.7rem;font-weight:600;letter-spacing:0.04em;
  color:var(--lime-dark);background:rgba(196,214,0,0.1);
  padding:0.25rem 0.75rem;border-radius:40px;margin-bottom:1.5rem;
}
.dash-live-dot {
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--lime-dark);
  animation:pulse-green 1.5s ease-in-out infinite;
}

/* ── HERO STATS ROW — large numbers ── */
.dash-hero-stats {
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  max-width:980px;margin:0 auto 3rem;padding:0 22px;
}
.dash-hero-stat {
  text-align:center;padding:2.5rem 1rem;
  background:var(--white);border-radius:var(--radius-lg);
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 30px rgba(0,0,0,0.04);
  transition:transform 0.3s ease,box-shadow 0.3s ease;
}
.dash-hero-stat:hover {
  transform:translateY(-2px);
  box-shadow:0 2px 8px rgba(0,0,0,0.06),0 12px 40px rgba(0,0,0,0.06);
}
.dash-hero-num {
  font-size:clamp(2.8rem,5vw,4rem);font-weight:700;letter-spacing:-0.04em;
  line-height:1;color:var(--near-black);margin-bottom:0.35rem;min-height:1.1em;
  display:flex;align-items:flex-end;justify-content:center;
}
.dash-hero-num .num-unit {
  font-size:0.5em;font-weight:500;color:var(--gray-600);letter-spacing:0;
}
.dash-hero-label {
  font-size:0.8rem;font-weight:500;color:var(--gray-600);letter-spacing:0.01em;
}

/* ── CARD GRID ── */
.dash-cards {
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  max-width:980px;margin:0 auto 1rem;padding:0 22px;
}
.dash-card {
  background:var(--white);border-radius:var(--radius-lg);
  padding:2rem 2.2rem;
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 30px rgba(0,0,0,0.04);
}
.dash-card-title {
  font-size:0.7rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--gray-400);margin-bottom:1.4rem;
}
.dash-card-row {
  display:flex;justify-content:space-between;align-items:baseline;
  padding:0.55rem 0;border-bottom:1px solid var(--gray-200);
}
.dash-card-row:last-child { border-bottom:none; }
.dash-card-key {
  font-size:0.82rem;font-weight:500;color:var(--gray-600);
}
.dash-card-val {
  font-size:0.85rem;font-weight:600;color:var(--near-black);text-align:right;
  max-width:200px;word-break:break-all;
}
.dash-card-val.accent { color:var(--lime-dark); }

/* ── WIDE CARD (scroll chart + engagement) ── */
.dash-card-wide {
  background:var(--white);border-radius:var(--radius-lg);
  padding:2rem 2.2rem;
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 30px rgba(0,0,0,0.04);
  max-width:980px;margin:0 auto 1rem;
}
.dash-card-wide .dash-card-title { margin-bottom:1rem; }
.dash-wide-inner {
  display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start;
}
#waveCanvas {
  display:block;width:100%;height:180px;border-radius:var(--radius);
  background:var(--off-white);
}

/* ── ENGAGEMENT MINI STATS ── */
.eng-mini-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;
}
.eng-mini {
  text-align:center;padding:1rem 0.5rem;
  background:var(--off-white);border-radius:var(--radius);
}
.eng-mini-num {
  font-size:1.6rem;font-weight:700;letter-spacing:-0.03em;
  color:var(--near-black);line-height:1;margin-bottom:0.2rem;
}
.eng-mini-label {
  font-size:0.65rem;font-weight:500;color:var(--gray-400);letter-spacing:0.03em;text-transform:uppercase;
}

/* ── SIGNALS PILL ROW ── */
.dash-pill-row {
  display:flex;flex-wrap:wrap;gap:0.5rem;
  max-width:980px;margin:0 auto;padding:0 22px;
}
.dash-pill {
  display:inline-flex;align-items:center;gap:0.35rem;
  background:var(--white);border-radius:40px;
  padding:0.5rem 1rem;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
  font-size:0.75rem;font-weight:500;color:var(--gray-600);
}
.dash-pill-val {
  font-weight:600;color:var(--near-black);
}

/* ── BOTTOM IMPACT METRICS ── */
.dash-impact {
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  max-width:980px;margin:3rem auto 0;padding:0 22px;
}
.dash-impact-item {
  text-align:center;padding:2rem 1rem;
  background:var(--white);border-radius:var(--radius-lg);
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 30px rgba(0,0,0,0.04);
}
.dash-impact-num {
  font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;letter-spacing:-0.03em;
  line-height:1;color:var(--lime-dark);margin-bottom:0.3rem;
}
.dash-impact-label {
  font-size:0.78rem;font-weight:500;color:var(--gray-600);
}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .dash-hero-stats { grid-template-columns:1fr 1fr;gap:0.75rem; }
  .dash-hero-stat { padding:1.8rem 0.8rem; }
  .dash-hero-num { font-size:2.4rem; }
  .dash-cards { grid-template-columns:1fr; }
  .dash-wide-inner { grid-template-columns:1fr;gap:1.5rem; }
  .dash-impact { grid-template-columns:1fr 1fr;gap:0.75rem; }
  .dash-impact-item { padding:1.5rem 0.8rem; }
}

/* ════════════════════════════════
   EXPERTISE
   ════════════════════════════════ */
#expertise { background:var(--off-white);padding:8rem 0; }
.expertise-grid { display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem; }
@media(max-width:768px){ .expertise-grid{grid-template-columns:1fr;} }

/* Terminal */
.terminal { background:#1c1c1e;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.2); }
.terminal-bar { background:#2c2c2e;padding:0.7rem 1.2rem;display:flex;align-items:center;gap:0.5rem;border-bottom:1px solid rgba(255,255,255,0.05); }
.t-dot { width:12px;height:12px;border-radius:50%; }
.t-dot:nth-child(1){background:#ff5f57;} .t-dot:nth-child(2){background:#ffbd2e;} .t-dot:nth-child(3){background:#28c940;}
.t-title { font-family:'SF Mono','Menlo',monospace;font-size:0.68rem;color:rgba(255,255,255,0.3);margin:0 auto; }
.terminal-body { padding:1.3rem 1.4rem;font-family:'SF Mono','Menlo','Monaco',monospace;font-size:0.8rem;line-height:1.9;color:rgba(255,255,255,0.5);overflow-x:auto; }
.t-prompt{color:#28c940;} .t-cmd{color:rgba(255,255,255,0.85);} .t-comment{color:rgba(255,255,255,0.22);font-style:italic;}
.t-key{color:var(--lime);} .t-val{color:#c4d600;opacity:0.85;} .t-output{padding-left:1.2rem;}
.t-cursor{display:inline-block;width:7px;height:0.9em;background:rgba(255,255,255,0.7);vertical-align:text-bottom;animation:blink 1s step-end infinite;}

/* Skill panel */
.skill-panel { background:var(--white);border-radius:var(--radius);padding:2.2rem;box-shadow:0 2px 12px rgba(0,0,0,0.04);border:1px solid var(--gray-200); }
.skill-bars { display:flex;flex-direction:column;gap:1.5rem; }
.skill-row { display:grid;grid-template-columns:1fr auto;gap:0.5rem;align-items:baseline; }
.skill-name { font-size:0.85rem;font-weight:500;color:var(--near-black); }
/* Skill % on light bg: use dark text, lime bar only */
.skill-pct { font-size:0.75rem;color:var(--lime-dark);font-weight:600; }
.skill-track { height:2px;background:var(--gray-200);border-radius:2px;grid-column:1/-1; }
.skill-fill { height:100%;width:0;border-radius:2px;background:var(--lime);transition:width 1.8s cubic-bezier(0.16,1,0.3,1); }
.cred-list { margin-top:2rem;display:flex;flex-direction:column;gap:0.5rem; }
.cred-item { display:flex;align-items:center;gap:0.7rem;padding:0.8rem 1rem;background:var(--off-white);border-radius:var(--radius-sm);border-left:3px solid var(--lime); }
.cred-title { font-size:0.88rem;font-weight:500;color:var(--near-black); }
.cred-sub { font-size:0.72rem;color:var(--gray-600);margin-top:0.1rem; }

/* ════════════════════════════════
   CONTACT
   ════════════════════════════════ */
#contact { background:var(--white);padding:8rem 0; }
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start; }
@media(max-width:768px){ .contact-grid{grid-template-columns:1fr;gap:3rem;} }
.ci-block { margin-top:2.5rem;display:flex;flex-direction:column;gap:1.8rem; }
.ci-label { font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-400);margin-bottom:0.2rem; }
.ci-value { font-size:1rem;color:var(--near-black); }
.ci-value a { color:var(--lime-dark);transition:opacity 0.15s; }
.ci-value a:hover { opacity:0.7; }

.contact-form { display:flex;flex-direction:column;gap:0.9rem;margin-top:2.5rem; }
.form-group { display:flex;flex-direction:column;gap:0.35rem; }
.form-label { font-size:0.68rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gray-600); }
.form-input,.form-textarea {
  background:var(--off-white);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);
  color:var(--near-black);padding:0.8rem 1rem;font-family:inherit;font-size:0.92rem;
  outline:none;transition:border-color 0.2s,background 0.2s;resize:none;width:100%;
}
.form-input:focus,.form-textarea:focus {
  background:var(--white);border-color:var(--near-black);
  box-shadow:0 0 0 3px rgba(196,214,0,0.2);
}
.form-textarea { height:120px; }
.btn-send {
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
  font-family:inherit;font-size:0.92rem;font-weight:600;padding:0.85rem 2rem;
  background:var(--near-black);color:#fff;border:none;border-radius:980px;cursor:pointer;
  align-self:flex-start;transition:background 0.2s;
}
.btn-send:hover { background:#2d2d2f; }
@media(max-width:600px){ .btn-send{align-self:stretch;} }

/* ════════════════════════════════
   FOOTER
   ════════════════════════════════ */
footer {
  background:var(--off-white);border-top:1px solid var(--gray-200);
  padding:1.8rem 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
.foot-copy { font-size:0.72rem;color:var(--gray-600); }
.foot-links { display:flex;gap:1.5rem; }
.foot-links a { font-size:0.72rem;color:var(--gray-600);transition:color 0.15s; }
.foot-links a:hover { color:var(--lime-dark); }
@media(max-width:500px){ footer{flex-direction:column;align-items:flex-start;} }

/* ════════════════════════════════
   SCROLL REVEAL
   ════════════════════════════════ */
.reveal { opacity:0;transform:translateY(22px);transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal.vis { opacity:1;transform:none; }
.d1{transition-delay:0.07s;} .d2{transition-delay:0.14s;} .d3{transition-delay:0.21s;} .d4{transition-delay:0.28s;}

/* ════════════════════════════════
   KEYFRAMES
   ════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes scrollPulse{0%,100%{opacity:.3;}50%{opacity:.9;}}
@keyframes pulse-green{0%,100%{box-shadow:0 0 0 0 rgba(159,174,0,0.4);}50%{box-shadow:0 0 0 5px rgba(159,174,0,0);}}
@keyframes pulse-lime{0%,100%{box-shadow:0 0 0 0 rgba(196,214,0,0.5);}50%{box-shadow:0 0 0 5px rgba(196,214,0,0);}}

/* ═══════════════════════════════════════════════════
   ADVENTURE LAYER · SCROLL ANIMATIONS v2
   ═══════════════════════════════════════════════════ */

html { scroll-behavior: auto; } /* we hijack scrolling feel via JS; keep native anchor jumps crisp */

/* Fixed ambient canvas — grid + drift */
#ambient {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  opacity: 0.55;
  mix-blend-mode: multiply;
}
#ambient.on-dark { mix-blend-mode: screen; opacity: 0.35; }

/* Floating shapes sprinkled across the page */
.float-shape {
  position: absolute; pointer-events: none;
  will-change: transform;
  z-index: 1;
}
.fs-ring {
  width: 180px; height: 180px; border-radius: 50%;
  border: 1.5px solid var(--lime);
  opacity: 0.35;
}
.fs-ring-sm {
  width: 72px; height: 72px; border-radius: 50%;
  border: 1px solid var(--lime);
  opacity: 0.45;
}
.fs-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--lime); opacity: 0.9;
  box-shadow: 0 0 0 6px rgba(196,214,0,0.1);
}
.fs-bar {
  width: 64px; height: 2px; background: var(--lime); opacity: 0.55;
}
.fs-square {
  width: 22px; height: 22px; border: 1.5px solid var(--lime);
  opacity: 0.5; transform: rotate(45deg);
}
.fs-plus {
  width: 18px; height: 18px; opacity: 0.6;
  background:
    linear-gradient(var(--lime),var(--lime)) center/100% 2px no-repeat,
    linear-gradient(var(--lime),var(--lime)) center/2px 100% no-repeat;
}

/* HERO adventure upgrades */
#hero { isolation: isolate; }
.hero-inner { perspective: 1200px; }
.hero-eyebrow { transition: transform .6s cubic-bezier(.2,.8,.2,1); }

/* Word-split h1 with per-letter reveal */
.hero-h1 .letter {
  display: inline-block; transform: translateY(1.2em) rotate(6deg);
  opacity: 0; filter: blur(6px);
  transition: transform .9s cubic-bezier(.2,.8,.2,1),
              opacity .6s ease,
              filter .6s ease;
}
.hero-h1.ready .letter { transform: none; opacity: 1; filter: none; }

.hero-h1 .accent-word {
  position: relative;
}

/* Orbiting dots around hero */
.hero-orbits {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
}
.orbit {
  position: absolute; top: 50%; left: 50%;
  border: 1px dashed rgba(196,214,0,0.25);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  animation: spin var(--spin, 40s) linear infinite;
}
.orbit::before {
  content: ''; position: absolute; top: -5px; left: 50%;
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--lime); transform: translateX(-50%);
  box-shadow: 0 0 16px rgba(196,214,0,0.8);
}
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }





/* ── MARQUEE between sections ── */
.marquee {
  position: relative; overflow: hidden;
  background: var(--near-black); color: var(--lime);
  padding: 1.4rem 0;
  border-top: 1px solid rgba(196,214,0,0.2);
  border-bottom: 1px solid rgba(196,214,0,0.2);
  z-index: 2;
}
.marquee.light {
  background: var(--off-white); color: var(--lime-dark);
  border-color: rgba(0,0,0,0.06);
}
.marquee-track {
  display: flex; gap: 3rem; white-space: nowrap;
  font-family: 'SF Mono','Menlo',monospace;
  font-size: clamp(1.2rem, 2.8vw, 2.2rem);
  font-weight: 600; letter-spacing: -0.01em;
  animation: marquee 40s linear infinite;
  will-change: transform;
}
.marquee-track span { display: inline-flex; align-items: center; gap: 3rem; }
.marquee-track .dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: currentColor; flex: 0 0 auto;
}
@keyframes marquee { to { transform: translateX(-50%); } }

/* ── STATS scroll-drive ── */
#stats { position: relative; overflow: hidden; }
#stats::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 40% at 50% 50%, rgba(196,214,0,0.08), transparent 70%);
  opacity: 0; transition: opacity .8s;
}
#stats.in-view::before { opacity: 1; }
.stat-item { transform: translateY(40px) scale(0.95); opacity: 0;
  transition: transform 1s cubic-bezier(.2,.8,.2,1), opacity .8s; }
#stats.in-view .stat-item { transform: none; opacity: 1; }
#stats.in-view .stat-item:nth-child(2) { transition-delay: .15s; }
#stats.in-view .stat-item:nth-child(3) { transition-delay: .3s; }
.stat-number { display: inline-block; }
.stat-number--zero {
  animation: pulse-warn 2.4s ease-in-out infinite;
}
@keyframes pulse-warn {
  0%,100% { text-shadow: 0 0 0 rgba(255,69,58,0); }
  50% { text-shadow: 0 0 40px rgba(255,69,58,0.6); }
}

/* ── SCROLL-LINKED BADGES ── */
.chapter-badge {
  position: fixed; top: 50%; right: 20px; z-index: 20;
  transform: translateY(-50%);
  font-family: 'SF Mono','Menlo',monospace;
  font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--near-black);
  display: flex; flex-direction: column; gap: 10px;
  opacity: 0; transition: opacity .4s;
  pointer-events: none;
}
.chapter-badge.on { opacity: 0.9; pointer-events: auto; }
.chapter-badge .tick {
  display: flex; align-items: center; gap: 8px;
  opacity: 0.3; transition: opacity .4s, color .4s;
}
.chapter-badge .tick.active { opacity: 1; color: var(--lime-dark); }
.chapter-badge .tick .bar {
  display: inline-block; width: 16px; height: 1px;
  background: currentColor;
  transition: width .4s;
}
.chapter-badge .tick.active .bar { width: 28px; }
.chapter-badge.dark .tick { color: rgba(255,255,255,0.4); }
.chapter-badge.dark .tick.active { color: var(--lime); }
@media (max-width: 900px) { .chapter-badge { display: none; } }

/* ── CAPABILITIES: tilt + slide ── */
.cap-card {
  transform: translateY(60px) rotate(-1.5deg);
  opacity: 0;
  transition: transform 1s cubic-bezier(.2,.8,.2,1), opacity .8s, box-shadow .25s, border-color .25s;
}
.cap-card.in { transform: none; opacity: 1; }
.cap-card:nth-child(2) { transform: translateY(60px) rotate(1.5deg); }
.cap-card:nth-child(3) { transform: translateY(60px) rotate(1.5deg); }
.cap-card:nth-child(4) { transform: translateY(60px) rotate(-1.5deg); }
.cap-card.in:nth-child(n) { transform: none; }

.cap-card::after {
  content: ''; position: absolute; top: 0; right: 0;
  width: 80px; height: 80px;
  background: radial-gradient(circle at 100% 0%, rgba(196,214,0,0.25), transparent 65%);
  opacity: 0; transition: opacity .3s;
  pointer-events: none;
}
.cap-card:hover::after { opacity: 1; }

.cap-card-num {
  position: relative; display: inline-block;
}
.cap-card-num::after {
  content: ''; display: inline-block; width: 0; height: 2px;
  background: var(--lime); margin-left: 6px;
  vertical-align: middle; transition: width .6s cubic-bezier(.2,.8,.2,1);
}
.cap-card.in .cap-card-num::after { width: 32px; }

/* ── AI CONSULTING ── */
.ai-visual { position: relative; }
.ai-visual::before {
  content: ''; position: absolute; inset: -20px;
  border-radius: calc(var(--radius-lg) + 20px);
  background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(196,214,0,0.12), transparent 70%);
  z-index: -1; opacity: 0; transition: opacity 1s;
}
.ai-visual.live::before { opacity: 1; animation: breathe 4s ease-in-out infinite; }
@keyframes breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.ai-flow-fill { box-shadow: 0 0 8px rgba(196,214,0,0.4); }
.ai-flow-row { transition: transform .4s; }
.ai-flow-row.active:hover { transform: translateX(4px); }

/* Subtle scan line moving down the panel on active */
.ai-visual.live .ai-visual-header::after {
  content: ''; position: absolute; left: 0; right: 0; top: 100%;
  height: 1px; background: linear-gradient(90deg, transparent, var(--lime), transparent);
  opacity: 0.3;
  animation: scan 3s ease-in-out infinite;
}
.ai-visual-header { position: relative; }
@keyframes scan { 0%,100% { transform: translateY(0); opacity: 0; } 50% { opacity: 0.4; } 70% { transform: translateY(200px); opacity: 0; } }

/* ── QUOTE: word reveal ── */
.quote-inner blockquote { overflow: visible; }
.quote-inner .word {
  display: inline-block;
  transform: translateY(0.6em);
  opacity: 0.1;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .6s;
}
.quote-inner .word.on { transform: none; opacity: 1; }

/* ── PROCESS: vertical rail ── */
.steps-list { position: relative; padding-left: 18px; }
.steps-list::before {
  content: ''; position: absolute; left: 0; top: 20px; bottom: 20px;
  width: 2px; background: var(--gray-200); border-radius: 1px;
}
.steps-list::after {
  content: ''; position: absolute; left: 0; top: 20px;
  width: 2px; height: var(--rail, 0%);
  background: var(--lime); border-radius: 1px;
  box-shadow: 0 0 12px rgba(196,214,0,0.5);
  transition: height .1s linear;
}
.step-item {
  position: relative;
  transform: translateX(20px); opacity: 0;
  transition: transform .8s cubic-bezier(.2,.8,.2,1), opacity .6s;
}
.step-item.in { transform: none; opacity: 1; }
.step-item::before {
  content: ''; position: absolute; left: -24px; top: 36px;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--white); border: 2px solid var(--gray-200);
  transition: border-color .3s, transform .3s, box-shadow .3s;
  z-index: 2;
}
.step-item.in::before {
  border-color: var(--lime);
  background: var(--lime);
  box-shadow: 0 0 0 6px rgba(196,214,0,0.15);
  transform: scale(1.15);
}
.step-item:hover .step-num { color: var(--lime) !important; }

/* ── INTELLIGENCE: tilt-in cards ── */
.dash-hero-stat,
.dash-card,
.dash-card-wide,
.dash-impact-item,
.dash-pill {
  transition: transform .8s cubic-bezier(.2,.8,.2,1), opacity .6s, box-shadow .25s;
}
.dash-hero-stat.pulse .dash-hero-num {
  animation: counter-pop .6s cubic-bezier(.2,.8,.2,1);
}
@keyframes counter-pop {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); color: var(--lime-dark); }
  100% { transform: scale(1); }
}
.dash-impact-num { display: inline-block; }

/* ── EXPERTISE: terminal typewriter cursor glow ── */
.terminal { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.terminal.in { transform: none; }
.terminal { transform: translateX(-40px) rotate(-1deg); }
.skill-panel { transform: translateX(40px) rotate(1deg); transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.skill-panel.in { transform: none; }

/* ── CONTACT: form reveal ── */
.contact-form input, .contact-form textarea, .contact-form button {
  transform: translateY(12px); opacity: 0;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .5s;
}
.contact-form.in input, .contact-form.in textarea, .contact-form.in button {
  transform: none; opacity: 1;
}
.contact-form.in > * > input, .contact-form.in > * > textarea { transition-delay: calc(var(--i,0) * 70ms); }

/* ── SCROLL PROGRESS ring ── */
#scroll-ring {
  position: fixed; bottom: 22px; right: 22px;
  width: 52px; height: 52px; z-index: 500;
  pointer-events: auto; cursor: pointer;
  opacity: 0; transform: scale(0.6);
  transition: opacity .3s, transform .3s;
}
#scroll-ring.on { opacity: 1; transform: scale(1); }
#scroll-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
#scroll-ring circle.track { stroke: rgba(0,0,0,0.08); }
#scroll-ring circle.bar { stroke: var(--lime-dark); transition: stroke-dashoffset .1s; }
#scroll-ring .arrow {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: var(--near-black);
}

/* ── SECTION CURTAINS (overlay that slides away when section enters) ── */
.section-curtain {
  position: relative; isolation: isolate;
}
.section-curtain::before {
  content: ''; position: absolute; inset: 0;
  background: var(--lime); z-index: 3;
  transform-origin: top;
  transform: scaleY(1);
  transition: transform 1s cubic-bezier(.76,0,.24,1);
  pointer-events: none;
}
.section-curtain.open::before { transform: scaleY(0); }

/* ── Section heading slide mask ── */
.section-h2 {
  overflow: hidden;
}
.section-h2 em { transition: color .3s; }

/* Velocity-driven skew for marquee on fast scroll */
.marquee-track { transition: transform .3s linear; }

/* Scroll-parallax hooks — used by JS */
[data-parallax] { will-change: transform; }

/* Hover lift on dash cards */
.dash-card:hover, .dash-hero-stat:hover, .dash-impact-item:hover {
  transform: translateY(-4px);
}

/* Hero cursor follower */
#cursor-glow {
  position: fixed; top: 0; left: 0; width: 400px; height: 400px;
  pointer-events: none; z-index: 1;
  background: radial-gradient(circle, rgba(196,214,0,0.18) 0%, transparent 60%);
  transform: translate(-50%,-50%);
  opacity: 0; transition: opacity .3s;
  mix-blend-mode: multiply;
}
body.hovering #cursor-glow { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
  .hero-h1 .letter { transform: none; opacity: 1; filter: none; }
  .stat-item, .cap-card, .step-item, .terminal, .skill-panel { transform: none !important; opacity: 1 !important; }
}
