/*!
 * Novamio Technologies LLC — production stylesheet
 * Combined from the 8 page templates with duplicate blocks removed.
 * Order is preserved so the cascade matches the original bundles.
 */
/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/geist-01-2317fa4bb293.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: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/geist-02-689443969494.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/geist-03-8fa40e5d2482.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: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/geist-04-824f485b5d26.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: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/geist-05-19f9c92546aa.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-01-2317fa4bb293.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-02-689443969494.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-03-8fa40e5d2482.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-04-824f485b5d26.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-05-19f9c92546aa.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-01-2317fa4bb293.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-02-689443969494.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-03-8fa40e5d2482.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-04-824f485b5d26.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-05-19f9c92546aa.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-01-2317fa4bb293.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-02-689443969494.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-03-8fa40e5d2482.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-04-824f485b5d26.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-05-19f9c92546aa.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-06-62213be8a78b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-07-e17cfd15fb96.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("../fonts/geist-08-0a557721b1f8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-09-c89b9cc0bc62.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-10-db5ff4db83e5.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-11-83c005d49d8a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-06-62213be8a78b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-07-e17cfd15fb96.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-08-0a557721b1f8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-09-c89b9cc0bc62.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-10-db5ff4db83e5.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-11-83c005d49d8a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-12-8895e3d49825.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-13-952dddb45d2f.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/geist-14-0640890476fc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-12-8895e3d49825.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-13-952dddb45d2f.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/geist-14-0640890476fc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-12-8895e3d49825.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-13-952dddb45d2f.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/geist-14-0640890476fc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/geist-12-8895e3d49825.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/geist-13-952dddb45d2f.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;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/geist-14-0640890476fc.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;
}
/* ───────────── tokens ───────────── */
:root{
    --bg:        #08090F;
    --bg-2:      #0E1017;
    --card:      #151720;
    --card-2:    #171923;
    --line:      rgba(255,255,255,.06);
    --line-2:    rgba(255,255,255,.10);
    --purple:    #F97316;
    --purple-2:  #FDBA74;
    --purple-dim:#9A3412;
    --cyan:      #F5B041;
    --gold:      #F5B041;
    --border-acc: rgba(249,115,22,.18);
    --text:      #ECECF1;
    --text-2:    #B7B8C4;
    --muted:     #7C7E8E;
    --dim:       #50525F;
    --radius:    18px;
    --radius-sm: 12px;
    --maxw:      1240px;
    --pad:       40px;
    --display:   'Space Grotesk', system-ui, sans-serif;
    --sans:      'Geist', system-ui, sans-serif;
    --mono:      'JetBrains Mono', ui-monospace, monospace;
  }
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
html, body{ margin:0; padding:0; }
body{
    background: var(--bg);
    color: var(--text);
    font-family: var(--sans);
    font-weight: 400;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
/* ambient field */
body::before{
    content:"";
    position: fixed; inset:0;
    background:
      radial-gradient(900px 600px at 78% -10%, rgba(249,115,22,.18), transparent 60%),
      radial-gradient(700px 500px at 8% 12%, rgba(251,191,36,.06), transparent 60%),
      linear-gradient(180deg, #08090F 0%, #0A0C12 100%);
    z-index: -2;
  }
body::after{
    content:"";
    position: fixed; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 80%);
    z-index: -1;
    pointer-events:none;
  }
a{ color: inherit; text-decoration:none; }
button{ font-family: inherit; cursor:pointer; }
.wrap{ max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }
.mono{ font-family: var(--mono); font-size: 12px; letter-spacing: .04em; }
.eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family: var(--mono); font-size: 11.5px; letter-spacing:.18em;
    color: var(--text-2); text-transform: uppercase;
  }
.eyebrow::before{
    content:""; width: 22px; height:1px;
    background: linear-gradient(90deg, transparent, var(--purple));
  }
h1,h2,h3,h4{ font-family: var(--display); font-weight: 500; letter-spacing:-.02em; margin:0; color: var(--text); }
p{ margin: 0; color: var(--text-2); }
.text-muted{ color: var(--muted); }
/* ───────────── nav ───────────── */
.nav{
    position: sticky; top: 0; z-index: 50;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    background: rgba(6,7,11,.55);
    border-bottom: 1px solid var(--line);
  }
.nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height: 68px; gap: 32px;
  }
.brand{ display:flex; align-items:center; gap:12px; }
.brand-mark{
    width: 28px; height: 28px; border-radius: 8px;
    background:
      radial-gradient(circle at 30% 30%, #FED7AA, transparent 60%),
      linear-gradient(135deg, var(--purple) 0%, #9A3412 100%);
    position: relative; overflow: hidden;
    box-shadow: 0 0 24px rgba(249,115,22,.45), inset 0 0 0 1px rgba(255,255,255,.18);
  }
.brand-mark::after{
    content:""; position:absolute; inset: 6px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 4px;
    transform: rotate(45deg);
  }
.brand-name{
    font-family: var(--display); font-size: 16px; font-weight: 500; letter-spacing:.005em;
  }
.brand-name span{ color: var(--muted); font-weight: 400; }
.brand-logo{ height: 30px; width: auto; display:block; }
.brand-logo--footer{ height: 36px; }
@media (max-width: 720px){
    .brand-logo{ height: 26px; }
    .brand-logo--footer{ height: 30px; }
  }
.menu{ display:flex; gap: 30px; }
.menu a{
    font-size: 14px; color: var(--text-2);
    transition: color .2s ease;
    position: relative;
  }
.menu a:hover{ color: var(--text); }
.menu a::after{
    content:""; position:absolute; left: 0; bottom: -22px; height: 1px; width: 0;
    background: var(--purple); transition: width .25s ease;
  }
.menu a:hover::after{ width: 100%; }
.btn{
    display:inline-flex; align-items:center; gap:10px;
    height: 40px; padding: 0 18px; border-radius: 10px;
    font-size: 13.5px; font-weight: 500; letter-spacing:.005em;
    border: 1px solid transparent; transition: all .2s ease;
    white-space: nowrap;
  }
.btn-primary{
    background: linear-gradient(180deg, #F97316 0%, #C2410C 100%);
    color: white;
    box-shadow: 0 0 0 1px rgba(253,186,116,.25), 0 8px 24px -8px rgba(249,115,22,.55);
  }
.btn-primary:hover{
    box-shadow: 0 0 0 1px rgba(253,186,116,.45), 0 12px 36px -8px rgba(249,115,22,.75);
    transform: translateY(-1px);
  }
.btn-ghost{
    background: rgba(255,255,255,.02);
    border-color: var(--line-2); color: var(--text);
  }
.btn-ghost:hover{ border-color: rgba(249,115,22,.4); background: rgba(249,115,22,.06); }
.btn .arrow{ width: 14px; height: 14px; }
/* ───────────── hero ───────────── */
.hero{
    padding: 72px 0 56px;
    position: relative;
  }
.hero-grid{
    display:grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center;
  }
.badge{
    display:inline-flex; align-items:center; gap:10px;
    padding: 6px 12px 6px 8px; border-radius: 999px;
    background: rgba(249,115,22,.08);
    border: 1px solid rgba(249,115,22,.25);
    font-family: var(--mono); font-size: 11.5px; color: var(--text-2);
  }
.pulse{
    width: 6px; height: 6px; border-radius: 50%;
    background: #A78BFA;
    box-shadow: 0 0 0 0 rgba(253,186,116,.6);
    animation: pulse 2.2s cubic-bezier(.4,0,.2,1) infinite;
  }
@keyframes pulse{
    0%   { box-shadow: 0 0 0 0 rgba(253,186,116,.55); }
    70%  { box-shadow: 0 0 0 8px rgba(253,186,116,0); }
    100% { box-shadow: 0 0 0 0 rgba(253,186,116,0); }
  }
h1.headline{
    font-size: clamp(40px, 5.4vw, 76px);
    line-height: 1.02; letter-spacing: -.035em; font-weight: 500;
    margin: 24px 0 22px;
    text-wrap: balance;
  }
h1.headline em{
    font-style: normal;
    background: linear-gradient(180deg, #FFE4C4 0%, #F97316 65%, #C2410C 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
.sub{
    font-size: 17px; line-height: 1.6; color: var(--text-2);
    max-width: 540px;
    text-wrap: pretty;
  }
.hero-cta{ display:flex; gap: 12px; margin-top: 32px; }
.trust{
    margin-top: 56px;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
    border-top: 1px solid var(--line); padding-top: 24px;
  }
.trust-item{ display:flex; flex-direction:column; gap: 6px; }
.trust-item .k{
    font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing:.1em; text-transform: uppercase;
  }
.trust-item .v{ font-size: 14px; color: var(--text); }
/* hero panel */
.hero-panel{
    position: relative;
    aspect-ratio: 5/6;
    border-radius: 22px;
    border: 1px solid rgba(249,115,22,.22);
    background:
      radial-gradient(140% 90% at 100% 0%, rgba(249,115,22,.32), transparent 55%),
      radial-gradient(120% 80% at 0% 100%, rgba(245,176,65,.12), transparent 50%),
      linear-gradient(180deg, #16181F 0%, #0C0E15 100%);
    overflow: hidden;
    box-shadow:
      0 1px 0 rgba(255,255,255,.06) inset,
      0 40px 100px -30px rgba(0,0,0,.75),
      0 0 0 1px rgba(249,115,22,.16),
      0 0 80px -30px rgba(249,115,22,.4);
  }
.hero-panel::before{
    content:""; position:absolute; inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, black 50%, transparent 95%);
    opacity: .55;
  }
.hp-frame{
    position:absolute; inset: 14px;
    border: 1px dashed rgba(255,255,255,.07);
    border-radius: 14px;
    pointer-events:none;
  }
.hp-corner{
    position:absolute; width: 14px; height:14px; border:1px solid rgba(253,186,116,.7);
  }
.hp-corner.tl{ top: 10px; left: 10px; border-right:0; border-bottom:0; }
.hp-corner.tr{ top: 10px; right:10px; border-left:0;  border-bottom:0; }
.hp-corner.bl{ bottom:10px; left:10px;  border-right:0; border-top:0; }
.hp-corner.br{ bottom:10px; right:10px; border-left:0;  border-top:0; }
.hp-header{
    position:absolute; top: 22px; left: 26px; right: 26px;
    display:flex; justify-content:space-between; align-items:center;
    font-family: var(--mono); font-size: 11px; color: var(--text-2);
  }
.hp-header .left{ display:flex; align-items:center; gap: 8px; }
.dot{ width: 8px; height:8px; border-radius:50%; background: var(--purple); box-shadow:0 0 12px var(--purple); }
.hp-header .right{ color: var(--muted); }
/* Circular slot that anchors the robotics still + scan overlay inside the
   hero panel. The amber halo rings sit just outside via ::before/::after
   so they still bloom past the photo edge. */
.placeholder-slot{
    position:absolute;
    left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 62%; aspect-ratio: 1/1;
    border: 1px solid rgba(253,186,116,.35);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(249,115,22,.18), 0 0 80px -20px rgba(249,115,22,.45);
  }
.placeholder-slot::before, .placeholder-slot::after{
    content:""; position:absolute; border: 1px solid rgba(249,115,22,.18); border-radius: 50%;
    pointer-events: none;
  }
.placeholder-slot::before{ inset: -22px; }
.placeholder-slot::after { inset: -54px; opacity:.6; }
/* The robotics still. Fills the slot via object-fit: cover so the framing
   adapts to the 1:1 mask and stays behind the scan-line overlay. */
.hero-slot-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 50%;
  }
/* signal lines svg layer */
.signal-layer{ position:absolute; inset:0; pointer-events:none; }
.signal-layer path{ stroke: rgba(253,186,116,.35); stroke-width:1; fill:none; }
.signal-layer .node{ fill: #FDBA74; }
.signal-layer .node-ring{ stroke: rgba(253,186,116,.5); fill: transparent; }
.telemetry{
    position:absolute;
    left: 22px; bottom: 22px;
    width: 52%;
    background: linear-gradient(180deg, rgba(30,32,44,.92), rgba(18,20,28,.92));
    border: 1px solid rgba(249,115,22,.22);
    border-radius: 12px;
    padding: 12px 14px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-family: var(--mono); font-size: 10.5px; color: var(--text-2);
    line-height: 1.65;
  }
.telemetry .row{ display:flex; justify-content:space-between; gap: 12px; }
.telemetry .k{ color: var(--muted); }
.telemetry .v{ color: var(--text); }
.telemetry .v.acc{ color: var(--purple-2); }
.telemetry .bar{
    margin-top: 8px;
    height: 3px; background: rgba(255,255,255,.06); border-radius: 2px; overflow:hidden;
  }
.telemetry .bar i{
    display:block; height:100%; width: 64%;
    background: linear-gradient(90deg, var(--purple), var(--cyan));
  }
.metric-chip{
    position:absolute;
    background: rgba(24,26,36,.92);
    border: 1px solid rgba(249,115,22,.22);
    border-radius: 10px;
    padding: 10px 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--mono); font-size: 10.5px;
  }
.metric-chip .k{ color: var(--muted); display:block; margin-bottom: 3px; letter-spacing:.08em; }
.metric-chip .v{ color: var(--text); font-size: 15px; letter-spacing:-.01em; }
.metric-chip .v small{ color: var(--purple-2); font-size: 10.5px; margin-left:4px; }
.mc-1{ top: 22%; right: 18px; }
.mc-2{ top: 8%;  left: 22px; }
/* ───────────── sections ───────────── */
section{ padding: 72px 0; position: relative; }
.section-head{ margin-bottom: 40px; max-width: 760px; }
.section-head h2{
    font-size: clamp(30px, 3.6vw, 48px);
    line-height: 1.05; letter-spacing: -.025em; font-weight: 500;
    margin: 18px 0 14px;
    text-wrap: balance;
  }
.section-head p{ font-size: 16px; color: var(--text-2); }
/* card */
.card{
    position: relative;
    background:
      linear-gradient(145deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.018) 60%, rgba(255,255,255,.008) 100%),
      linear-gradient(180deg, rgba(28,30,42,.65) 0%, rgba(18,20,28,.65) 100%);
    border: 1px solid rgba(249,115,22,.16);
    border-radius: var(--radius);
    padding: 28px;
    transition: border-color .25s ease, transform .25s ease, background .25s ease;
    overflow: hidden;
  }
.card::before{
    content:""; position:absolute; inset:0; border-radius: var(--radius);
    padding:1px;
    background: linear-gradient(180deg, rgba(253,186,116,.25), rgba(255,255,255,0) 40%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    pointer-events:none;
    opacity:.55;
  }
.card{ box-shadow: 0 20px 60px -28px rgba(0,0,0,.55); }
.card:hover{
    border-color: rgba(253,186,116,.42);
    transform: translateY(-3px);
    background:
      linear-gradient(145deg, rgba(249,115,22,.10) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.01) 100%),
      linear-gradient(180deg, rgba(34,28,22,.7) 0%, rgba(18,20,28,.75) 100%);
  }
.card .ico{
    width: 40px; height: 40px; border-radius: 10px;
    background: rgba(249,115,22,.08);
    border: 1px solid rgba(249,115,22,.25);
    display:flex; align-items:center; justify-content:center;
    color: var(--purple-2);
    margin-bottom: 22px;
  }
.card h3{
    font-family: var(--display); font-size: 19px; font-weight: 500; letter-spacing:-.01em;
    margin-bottom: 10px;
  }
.card p{ font-size: 14.5px; color: var(--text-2); }
.card .tag{
    position: absolute; top: 22px; right: 22px;
    font-family: var(--mono); font-size: 10.5px; color: var(--muted);
    letter-spacing:.08em;
  }
/* grid utilities */
.grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid-2{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.grid-cap{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
/* ───────────── ventures ───────────── */
.ventures{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.venture{
    position: relative;
    background: linear-gradient(180deg, rgba(18,19,29,.85), rgba(10,11,18,.85));
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    display:flex; flex-direction: column;
  }
.venture-vis{
    position: relative;
    aspect-ratio: 16/10;
    border-bottom: 1px solid var(--line);
    background:
      radial-gradient(120% 80% at 0% 0%, rgba(249,115,22,.20), transparent 55%),
      linear-gradient(180deg, #0E0F19, #08090F);
    overflow:hidden;
  }
.venture-vis::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
  }
.venture-vis .vis-tag{
    position:absolute; top: 14px; left: 14px;
    font-family: var(--mono); font-size: 10.5px; color: var(--text-2);
    background: rgba(0,0,0,.4); padding: 4px 8px; border-radius: 6px;
    border: 1px solid var(--line-2);
    letter-spacing:.08em;
  }
.venture-vis .center{
    position:absolute; inset:0; display:grid; place-items:center;
    color: var(--muted); font-family: var(--mono); font-size: 11px;
    text-align:center; letter-spacing:.12em;
  }
.venture-vis .center .glyph{
    width: 68px; height:68px; border-radius: 14px;
    border: 1px solid rgba(253,186,116,.35);
    margin: 0 auto 12px;
    background:
      radial-gradient(closest-side, rgba(249,115,22,.35), transparent 70%);
    position: relative;
  }
.venture-vis .center .glyph::before, .venture-vis .center .glyph::after{
    content:""; position:absolute; inset: 14px;
    border: 1px solid rgba(253,186,116,.45); border-radius: 8px;
  }
.venture-vis .center .glyph::after{ inset: 24px; opacity:.55; }
.venture-body{ padding: 26px 26px 28px; }
.venture-body .name{
    font-family: var(--display); font-size: 19px; font-weight: 500; letter-spacing:-.01em;
    margin-bottom: 8px;
  }
.venture-body p{ font-size: 14.5px; }
.venture-meta{
    display:flex; flex-wrap: wrap; gap: 8px; margin-top: 18px;
  }
.meta-chip{
    font-family: var(--mono); font-size: 10.5px;
    padding: 5px 9px; border-radius: 6px;
    background: rgba(249,115,22,.06);
    border: 1px solid rgba(249,115,22,.20);
    color: var(--purple-2);
    letter-spacing:.04em;
  }
/* ───────────── process timeline ───────────── */
.process{
    position:relative;
    display:grid; grid-template-columns: repeat(5, 1fr); gap: 22px;
  }
.process::before{
    content:""; position:absolute;
    top: 36px; left: 4%; right: 4%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(253,186,116,.45) 10%, rgba(253,186,116,.45) 90%, transparent);
  }
.step{
    position: relative;
    padding: 0 4px;
  }
.step .num{
    width: 72px; height: 72px;
    border-radius: 50%;
    background: radial-gradient(closest-side, #0F1020, #08090F);
    border: 1px solid rgba(253,186,116,.5);
    display:flex; align-items:center; justify-content:center;
    font-family: var(--mono); font-size: 13px; letter-spacing:.12em;
    color: var(--purple-2);
    position: relative;
    margin-bottom: 22px;
    box-shadow: 0 0 0 6px rgba(6,7,11,1), 0 0 30px rgba(249,115,22,.18);
  }
.step .num::after{
    content:""; position:absolute; inset:-6px; border-radius:50%;
    border: 1px dashed rgba(253,186,116,.2);
  }
.step h4{
    font-family: var(--display); font-size: 17px; font-weight: 500;
    margin-bottom: 8px;
  }
.step p{ font-size: 13.5px; color: var(--text-2); }
/* ───────────── industries ───────────── */
.industries{
    display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
    align-items: stretch;
  }
.ind{
    position: relative;
    background: linear-gradient(180deg, rgba(18,19,29,.6) 0%, rgba(10,11,18,.6) 100%);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 22px 20px;
    transition: all .2s ease;
    overflow:hidden;
  }
.ind:hover{ border-color: rgba(253,186,116,.3); background: rgba(28,22,52,.4); }
.ind .ix{
    font-family: var(--mono); font-size: 11px; color: var(--muted);
    letter-spacing:.12em;
    margin-bottom: 14px;
  }
.ind .nm{ font-family: var(--display); font-size: 14.5px; font-weight: 500; line-height: 1.25; text-wrap: balance; }
.ind::after{
    content:""; position:absolute; right:-30px; bottom:-30px;
    width: 80px; height:80px; border-radius:50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.2), transparent 70%);
    opacity:0; transition:opacity .25s ease;
  }
.ind:hover::after{ opacity:1; }
/* ───────────── why ───────────── */
.why-wrap{
    display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:start;
  }
.why-blocks{ display:grid; grid-template-columns: 1fr; gap: 16px; }
.why-block{
    display:grid; grid-template-columns: 40px 1fr; gap: 18px;
    padding: 20px 0;
    border-top: 1px solid var(--line);
  }
.why-block:first-child{ border-top: 0; padding-top: 0; }
.why-block .n{
    font-family: var(--mono); font-size: 12px; color: var(--purple-2);
    letter-spacing:.08em; padding-top: 2px;
  }
.why-block h4{ font-family: var(--display); font-size: 17px; font-weight: 500; margin-bottom: 6px; }
.why-block p{ font-size: 14.5px; color: var(--text-2); }
/* ───────────── founder ───────────── */
.founder{
    background: linear-gradient(180deg, rgba(18,19,29,.6), rgba(10,11,18,.6));
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 56px;
    position: relative;
    overflow: hidden;
  }
.founder::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(50% 80% at 90% 0%, rgba(249,115,22,.18), transparent 60%),
      radial-gradient(40% 60% at 0% 100%, rgba(251,191,36,.06), transparent 60%);
    pointer-events:none;
  }
.founder-inner{ position:relative; max-width: 780px; }
.founder h2{
    font-size: clamp(28px, 3vw, 40px); font-weight: 500;
    letter-spacing:-.02em; margin: 16px 0 20px;
    text-wrap: balance;
  }
.founder p{ font-size: 16.5px; color: var(--text-2); }
.founder .small{
    margin-top: 28px; font-family: var(--mono); font-size: 12px;
    color: var(--purple-2); letter-spacing:.16em; text-transform: uppercase;
  }
/* ───────────── stack chips ───────────── */
.stack{
    display:flex; flex-wrap: wrap; gap: 10px;
  }
.chip{
    font-family: var(--mono); font-size: 12.5px;
    padding: 10px 14px; border-radius: 8px;
    background: rgba(255,255,255,.02);
    border: 1px solid var(--line-2);
    color: var(--text-2);
    transition: all .2s ease;
  }
.chip:hover{
    border-color: rgba(253,186,116,.4);
    background: rgba(249,115,22,.06);
    color: var(--text);
  }
.chip .b{ color: var(--purple-2); margin-right: 6px; }
/* ───────────── contact ───────────── */
.contact-wrap{
    display:grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: start;
  }
.contact-meta{
    border-top: 1px solid var(--line);
    margin-top: 28px; padding-top: 24px;
    display:grid; grid-template-columns: 1fr 1fr; gap: 18px;
  }
.cm{ }
.cm .k{
    font-family: var(--mono); font-size: 11px; color: var(--muted);
    letter-spacing:.12em; text-transform: uppercase; margin-bottom: 6px;
  }
.cm .v{ font-size: 15px; color: var(--text); }
form{
    background: linear-gradient(180deg, rgba(18,19,29,.6), rgba(10,11,18,.6));
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 32px;
    display:grid; grid-template-columns: 1fr 1fr; gap: 16px;
  }
.field{ display:flex; flex-direction:column; gap: 8px; }
.field.full{ grid-column: 1 / -1; }
.field label{
    font-family: var(--mono); font-size: 11px; color: var(--muted);
    letter-spacing:.1em; text-transform: uppercase;
  }
.field input, .field select, .field textarea{
    background: rgba(255,255,255,.02);
    border: 1px solid var(--line-2);
    color: var(--text);
    border-radius: 10px;
    padding: 12px 14px;
    font-family: var(--sans); font-size: 14.5px;
    transition: all .15s ease;
  }
.field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-color: rgba(253,186,116,.6);
    background: rgba(249,115,22,.04);
    box-shadow: 0 0 0 3px rgba(249,115,22,.12);
  }
.field select{ appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23F97316' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.field select option{ background: #0E0F17; color: var(--text); }
.field textarea{ min-height: 130px; resize: vertical; font-family: var(--sans); }
.form-actions{ grid-column: 1 / -1; display:flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 6px; }
.form-actions .note{ font-family: var(--mono); font-size: 11px; color: var(--muted); }
/* ───────────── footer ───────────── */
footer{
    border-top: 1px solid var(--line);
    padding: 48px 0 40px;
    margin-top: 64px;
  }
.footer-inner{
    display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; align-items: start;
  }
@media (max-width: 1080px){
    .footer-inner{ grid-template-columns: 1fr 1fr !important; }
  }
@media (max-width: 720px){
    .footer-inner{ grid-template-columns: 1fr !important; }
  }
.footer-tag{ color: var(--muted); font-size: 13.5px; max-width: 360px; margin-top: 14px; }
.footer-meta{ font-family: var(--mono); font-size: 11.5px; color: var(--muted); letter-spacing:.06em; }
.footer-meta .ln{ display:block; margin-top: 2px; }
.footer-links{ display:flex; flex-direction:column; gap:10px; }
.footer-links a{ font-size: 14px; color: var(--text-2); }
.footer-links a:hover{ color: var(--text); }
.footer-bottom{
    border-top: 1px solid var(--line);
    margin-top: 40px; padding-top: 22px;
    display:flex; justify-content: space-between;
    font-family: var(--mono); font-size: 11px; color: var(--muted);
    letter-spacing: .08em;
  }
/* reveal */
.reveal{ opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity: 1; transform: none; }
/* ───────────── responsive ───────────── */
@media (max-width: 1080px){
    .hero-grid{ grid-template-columns: 1fr; gap: 48px; }
    .hero-panel{ max-width: 560px; aspect-ratio: 1/1; }
    .grid-cap{ grid-template-columns: repeat(2, 1fr); }
    .process{ grid-template-columns: repeat(2, 1fr); }
    .process::before{ display:none; }
    .industries{ grid-template-columns: repeat(3, 1fr); }
    .ventures{ grid-template-columns: 1fr; }
    .why-wrap{ grid-template-columns: 1fr; gap: 36px; }
    .contact-wrap{ grid-template-columns: 1fr; gap: 36px; }
    .footer-inner{ grid-template-columns: 1fr 1fr; }
  }
@media (max-width: 720px){
    :root{ --pad: 22px; }
    .menu{ display:none; }
    .nav-inner{ height: 60px; }
    .hero{ padding: 64px 0 56px; }
    .trust{ grid-template-columns: repeat(2, 1fr); }
    .grid-cap, .grid-3, .grid-2{ grid-template-columns: 1fr; }
    .industries{ grid-template-columns: repeat(2, 1fr); }
    .process{ grid-template-columns: 1fr; }
    form{ grid-template-columns: 1fr; padding: 22px; }
    .founder{ padding: 32px 24px; }
    .footer-inner{ grid-template-columns: 1fr; }
    .footer-bottom{ flex-direction: column; gap: 10px; }
    section{ padding: 72px 0; }
    .section-head{ margin-bottom: 36px; }
    .hp-header{ font-size: 10px; }
    .mc-1, .mc-2{ display:none; }
  }
/* ═════════════ MOTION + ATMOSPHERE LAYER ═════════════ */
@keyframes auroraMove{
    0%   { transform: translate3d(0,0,0) scale(1); opacity:.85; }
    50%  { transform: translate3d(40px,-30px,0) scale(1.08); opacity:1; }
    100% { transform: translate3d(0,0,0) scale(1); opacity:.85; }
  }
@keyframes auroraMoveAlt{
    0%   { transform: translate3d(0,0,0) scale(1); opacity:.55; }
    50%  { transform: translate3d(-30px,20px,0) scale(1.12); opacity:.8; }
    100% { transform: translate3d(0,0,0) scale(1); opacity:.55; }
  }
@keyframes orbitCW  { from{transform:translate(-50%,-50%) rotate(0)} to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes orbitCCW { from{transform:translate(-50%,-50%) rotate(0)} to{transform:translate(-50%,-50%) rotate(-360deg)} }
@keyframes scanSweep{ 0%{transform:translateY(-110%)} 50%{transform:translateY(110%)} 100%{transform:translateY(-110%)} }
@keyframes floatA   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes floatB   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
@keyframes floatC   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
@keyframes nodePulse{ 0%,100%{opacity:.55; transform:scale(1)} 50%{opacity:1; transform:scale(1.35)} }
@keyframes flow     { from{stroke-dashoffset:0} to{stroke-dashoffset:-40} }
@keyframes railPulse{ 0%{left:-10%; opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{left:110%; opacity:0} }
@keyframes btnPulse { 0%,100%{box-shadow:0 0 0 1px rgba(253,186,116,.25), 0 8px 24px -8px rgba(249,115,22,.55)} 50%{box-shadow:0 0 0 1px rgba(253,186,116,.4), 0 14px 40px -8px rgba(249,115,22,.85)} }
@keyframes btnSweep { from{transform:translateX(-120%) skewX(-18deg)} to{transform:translateX(220%) skewX(-18deg)} }
@keyframes markGlow { 0%,100%{filter:drop-shadow(0 0 0 rgba(249,115,22,0))} 50%{filter:drop-shadow(0 0 14px rgba(249,115,22,.55))} }
@keyframes dotShift { from{background-position:0 0} to{background-position:56px 56px} }
@keyframes barFill  { from{width:0} to{width:97%} }
/* section ambient atmospheres */
section.atmo{ position:relative; isolation:isolate; }
section.atmo > .atmo-bg{
    position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden;
  }
section.atmo > .atmo-bg::before,
  section.atmo > .atmo-bg::after{
    content:""; position:absolute; border-radius:50%; filter: blur(60px);
    will-change: transform, opacity;
  }
/* vision: graphite + purple-ish warm orange wash */
#vision .atmo-bg::before{
    width: 720px; height: 720px; left:-220px; top:-200px;
    background: radial-gradient(closest-side, rgba(249,115,22,.18), transparent 70%);
    animation: auroraMove 18s ease-in-out infinite;
  }
#vision .atmo-bg::after{
    width: 540px; height:540px; right:-160px; bottom:-180px;
    background: radial-gradient(closest-side, rgba(245,176,65,.06), transparent 70%);
    animation: auroraMoveAlt 22s ease-in-out infinite;
  }
/* capabilities: navy diagonal */
#capabilities{ background: linear-gradient(180deg, transparent 0%, rgba(8,12,22,.6) 50%, transparent 100%); }
#capabilities .atmo-bg{
    background-image:
      linear-gradient(45deg, rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(-45deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: radial-gradient(ellipse at 50% 30%, #000 35%, transparent 80%);
    opacity:.6;
  }
/* ventures: dark purple-orange wash with spotlights */
#ventures{ background: linear-gradient(180deg, transparent 0%, rgba(20,10,4,.55) 50%, transparent 100%); }
#ventures .atmo-bg::before{
    width: 600px; height: 600px; left: 8%; top: 20%;
    background: radial-gradient(closest-side, rgba(249,115,22,.16), transparent 70%);
    animation: auroraMove 24s ease-in-out infinite;
  }
#ventures .atmo-bg::after{
    width: 600px; height: 600px; right: 6%; top: 40%;
    background: radial-gradient(closest-side, rgba(245,176,65,.05), transparent 70%);
    animation: auroraMoveAlt 28s ease-in-out infinite;
  }
/* process: darker tech surface */
#process{ background: linear-gradient(180deg, transparent 0%, rgba(4,6,10,.7) 50%, transparent 100%); }
/* industries: slightly brighter panel */
#industries .atmo-bg{
    background:
      radial-gradient(60% 80% at 50% 30%, rgba(20,22,34,.6), transparent 80%);
  }
#industries .atmo-bg::after{
    width: 800px; height:800px; left: 50%; transform:translateX(-50%); top: -200px;
    background: radial-gradient(closest-side, rgba(249,115,22,.08), transparent 70%);
    animation: auroraMove 30s ease-in-out infinite;
  }
/* contact: bottom purple/orange glow */
#contact{ background: linear-gradient(180deg, transparent 0%, rgba(15,8,4,.6) 70%, rgba(28,14,4,.4) 100%); position: relative; }
#contact .atmo-bg::before{
    width: 900px; height: 600px; left: 50%; transform: translateX(-50%); bottom: -300px;
    background: radial-gradient(closest-side, rgba(249,115,22,.20), transparent 70%);
    filter: blur(80px);
    animation: auroraMove 22s ease-in-out infinite;
  }
/* hero ambient */
.hero{ overflow: hidden; }
.hero .atmo-bg::before{
    content:""; position:absolute;
    width: 900px; height: 700px; right:-200px; top:-200px;
    background: radial-gradient(closest-side, rgba(249,115,22,.22), transparent 70%);
    filter: blur(60px); border-radius: 50%;
    animation: auroraMove 18s ease-in-out infinite;
  }
.hero .atmo-bg::after{
    content:""; position:absolute;
    width: 700px; height: 500px; left: -200px; bottom: -200px;
    background: radial-gradient(closest-side, rgba(245,176,65,.08), transparent 70%);
    filter: blur(80px); border-radius: 50%;
    animation: auroraMoveAlt 24s ease-in-out infinite;
  }
.hero .atmo-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
/* moving dot grid in hero panel */
.hero-panel::before{ animation: dotShift 60s linear infinite; }
/* ── hero panel orbit rings + scan line ── */
.orbit-wrap{
    position:absolute; left:50%; top:50%; transform: translate(-50%,-50%);
    width: 78%; aspect-ratio: 1/1; pointer-events:none;
    z-index: 1;
  }
.orbit{
    position:absolute; left:50%; top:50%; transform: translate(-50%,-50%);
    border-radius: 50%;
    border: 1px solid rgba(253,186,116,.32);
    transform-origin: center;
  }
.orbit::before{
    content:""; position:absolute; width: 6px; height:6px; border-radius:50%;
    background: var(--purple); box-shadow: 0 0 12px rgba(249,115,22,.8);
    top: -3px; left: 50%; transform: translateX(-50%);
  }
.orbit-1{ width: 100%; height: 100%; animation: orbitCW 26s linear infinite; }
.orbit-2{ width: 124%; height: 124%; border-color: rgba(245,176,65,.18); animation: orbitCCW 38s linear infinite; }
.orbit-2::before{ background: var(--cyan); box-shadow: 0 0 12px rgba(245,176,65,.7); width:4px; height:4px; top:-2px; }
.orbit-3{ width: 156%; height: 156%; border-color: rgba(253,186,116,.10); border-style: dashed; animation: orbitCW 60s linear infinite; }
.orbit-3::before{ display:none; }
/* scan line inside placeholder ring */
.scan-mask{
    position:absolute; inset:0; border-radius: 50%; overflow:hidden;
    pointer-events:none;
  }
.scan-line{
    position:absolute; left:-10%; right:-10%; top:0; height: 18%;
    background: linear-gradient(180deg,
      transparent 0%,
      rgba(245,176,65,.0) 20%,
      rgba(245,176,65,.18) 50%,
      rgba(245,176,65,.0) 80%,
      transparent 100%);
    animation: scanSweep 6.5s cubic-bezier(.55,.05,.45,.95) infinite;
  }
.scan-line::after{
    content:""; position:absolute; left:0; right:0; bottom: 38%;
    height: 1px; background: linear-gradient(90deg, transparent, rgba(245,176,65,.85), transparent);
    box-shadow: 0 0 12px rgba(245,176,65,.6);
  }
/* floating telemetry */
.telemetry{ animation: floatA 7s ease-in-out infinite; }
.metric-chip.mc-1{ animation: floatB 8.5s ease-in-out infinite .4s; }
.metric-chip.mc-2{ animation: floatC 9s ease-in-out infinite .9s; }
.telemetry .bar i{ animation: barFill 2.4s cubic-bezier(.22,1,.36,1) .8s both; }
/* hero signal nodes pulse + flow */
.signal-layer .node{ animation: nodePulse 3.4s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.signal-layer .node:nth-child(8){ animation-delay: .4s; }
.signal-layer .node:nth-child(9){ animation-delay: .8s; }
.signal-layer .node:nth-child(10){ animation-delay: 1.2s; }
.signal-layer .node:nth-child(11){ animation-delay: 1.6s; }
.signal-layer .node:nth-child(12){ animation-delay: 2.0s; }
.signal-layer path{ stroke-dasharray: 4 6; animation: flow 6s linear infinite; }
/* mouse-follow glow inside hero panel */
.hero-panel{ --mx: 50%; --my: 50%; }
.hero-panel .mouse-glow{
    position:absolute; inset:0; pointer-events:none; z-index:2;
    background: radial-gradient(220px circle at var(--mx) var(--my), rgba(249,115,22,.20), transparent 60%);
    transition: background-position .15s ease;
    mix-blend-mode: screen;
    opacity: .9;
  }
/* ── nav scroll state ── */
.nav.scrolled{
    background: rgba(6,7,11,.78);
    box-shadow: 0 1px 0 rgba(255,255,255,.05), 0 8px 24px -16px rgba(0,0,0,.6);
  }
.brand-logo{ transition: filter .35s ease; animation: markGlow 6s ease-in-out infinite; }
.brand:hover .brand-logo{ filter: drop-shadow(0 0 14px rgba(249,115,22,.6)); }
/* primary CTA: ambient pulse + hover sweep */
.btn-primary{ position: relative; overflow: hidden; animation: btnPulse 5s ease-in-out infinite; }
.btn-primary::after{
    content:""; position:absolute; top:-40%; bottom:-40%; left:-40%;
    width: 32%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
    transform: translateX(-120%) skewX(-18deg);
    pointer-events:none;
  }
.btn-primary:hover::after{ animation: btnSweep .8s ease-out 1; }
/* ── card hover polish (additive) ── */
.card{ transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .25s, background .25s, box-shadow .35s; }
.card:hover{
    box-shadow: 0 24px 60px -28px rgba(249,115,22,.35), 0 0 0 1px rgba(253,186,116,.25);
  }
.card .corner{
    position:absolute; width:14px; height:14px; pointer-events:none;
    border: 1px solid rgba(253,186,116,0);
    transition: border-color .3s ease;
  }
.card .corner.tl{ top:10px; left:10px; border-right:0; border-bottom:0; }
.card .corner.br{ bottom:10px; right:10px; border-left:0; border-top:0; }
.card:hover .corner{ border-color: rgba(253,186,116,.55); }
/* ── venture visuals: distinct mini scenes ── */
.vv{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
.vv-tag{
    position:absolute; bottom: 12px; left: 14px;
    font-family: var(--mono); font-size: 10.5px; color: var(--muted); letter-spacing:.14em;
  }
/* A · Neuro Scan — ECG waveform */
.vv-eeg svg{ width: 86%; height: 70%; opacity: .9; }
.vv-eeg svg path{
    fill:none; stroke: var(--purple-2); stroke-width: 1.4;
    stroke-dasharray: 600; stroke-dashoffset: 0;
    animation: flow 5s linear infinite;
    filter: drop-shadow(0 0 4px rgba(249,115,22,.55));
  }
.vv-eeg svg path.alt{ stroke: var(--cyan); opacity:.7; filter: drop-shadow(0 0 3px rgba(245,176,65,.5)); }
.vv-eeg .pulse-dot{
    position:absolute; width: 8px; height: 8px; border-radius: 50%;
    background: var(--purple-2); box-shadow: 0 0 16px rgba(249,115,22,.9);
    top: 50%; right: 14%;
    animation: nodePulse 2s ease-in-out infinite;
  }
/* B · Iris — concentric rings */
.vv-iris{ }
.vv-iris .ring{
    position:absolute; left:50%; top:50%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    border: 1px solid rgba(253,186,116,.5);
  }
.vv-iris .r1{ width:38%; aspect-ratio:1/1; box-shadow: 0 0 30px rgba(249,115,22,.4) inset, 0 0 30px rgba(249,115,22,.4); background: radial-gradient(closest-side, rgba(249,115,22,.35), rgba(8,8,12,.95) 70%); }
.vv-iris .r2{ width:60%; aspect-ratio:1/1; border-color: rgba(253,186,116,.25); animation: orbitCW 40s linear infinite; border-style: dashed; }
.vv-iris .r3{ width:80%; aspect-ratio:1/1; border-color: rgba(245,176,65,.18); animation: orbitCCW 60s linear infinite; }
.vv-iris .pup{ width:16%; aspect-ratio:1/1; background:#06070B; border:1px solid rgba(245,176,65,.5); box-shadow: 0 0 16px rgba(245,176,65,.3) inset; }
/* C · Robotics — arm silhouette + grid */
.vv-rob{ }
.vv-rob svg{ width: 80%; height: 80%; opacity:.95; }
.vv-rob svg .joint{ fill: var(--purple); }
.vv-rob svg .arm{ stroke: rgba(253,186,116,.85); stroke-width: 3; fill:none; stroke-linecap: round; stroke-linejoin: round; }
.vv-rob svg .target{
    fill:none; stroke: var(--cyan); stroke-width: 1.2;
    stroke-dasharray: 4 4;
    animation: orbitCW 14s linear infinite; transform-origin: center; transform-box: fill-box;
  }
/* venture corner brackets */
.vc{
    position:absolute; width:14px; height:14px;
    border: 1px solid rgba(253,186,116,.5);
  }
.vc.tl{ top:8px; left:8px; border-right:0; border-bottom:0; }
.vc.tr{ top:8px; right:8px; border-left:0; border-bottom:0; }
.vc.bl{ bottom:8px; left:8px; border-right:0; border-top:0; }
.vc.br{ bottom:8px; right:8px; border-left:0; border-top:0; }
/* ── process rail pulse ── */
.process{ position: relative; }
.process .rail{
    position:absolute; top: 35px; left: 4%; right: 4%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(253,186,116,.45) 10%, rgba(253,186,116,.45) 90%, transparent);
    overflow: visible;
  }
.process .rail::before{
    content:""; position:absolute; top:-3px; width: 70px; height: 7px;
    border-radius: 4px;
    background: radial-gradient(closest-side, rgba(253,186,116,1), transparent 70%);
    filter: blur(2px);
    left: -10%;
    animation: railPulse 7s linear infinite;
  }
/* hide old rail */
.process::before{ display: none !important; }
.step{ transition: transform .4s ease; }
.step .num{ transition: box-shadow .3s ease, border-color .3s ease; position: relative; z-index: 1; }
.step.in .num{ box-shadow: 0 0 0 6px rgba(6,7,11,1), 0 0 40px rgba(249,115,22,.45); border-color: rgba(253,186,116,.9); }
/* ── industries: brighter panel + slow grid ── */
#industries .industries-panel{
    position: relative;
    border-radius: 24px;
    padding: 28px;
    background: linear-gradient(180deg, rgba(20,22,34,.55), rgba(10,12,20,.55));
    border: 1px solid rgba(255,255,255,.05);
    overflow: hidden;
  }
#industries .industries-panel::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, transparent 85%);
    animation: dotShift 90s linear infinite;
    pointer-events:none;
  }
#industries .industries-panel::after{
    content:""; position:absolute; width: 500px; height: 500px;
    left: -100px; top: -150px;
    background: radial-gradient(closest-side, rgba(249,115,22,.10), transparent 70%);
    filter: blur(40px);
    animation: auroraMove 24s ease-in-out infinite;
    pointer-events:none;
  }
.industries{ position: relative; z-index: 1; }
/* ── stagger reveal ── */
.stagger > *{
    opacity: 0; transform: translateY(14px);
    transition: opacity .6s ease, transform .6s ease;
  }
.stagger.in > *{ opacity: 1; transform: none; }
.stagger.in > *:nth-child(1){ transition-delay: .02s; }
.stagger.in > *:nth-child(2){ transition-delay: .07s; }
.stagger.in > *:nth-child(3){ transition-delay: .12s; }
.stagger.in > *:nth-child(4){ transition-delay: .17s; }
.stagger.in > *:nth-child(5){ transition-delay: .22s; }
.stagger.in > *:nth-child(6){ transition-delay: .27s; }
.stagger.in > *:nth-child(7){ transition-delay: .32s; }
.stagger.in > *:nth-child(8){ transition-delay: .37s; }
.stagger.in > *:nth-child(9){ transition-delay: .42s; }
.stagger.in > *:nth-child(10){ transition-delay: .47s; }
.stagger.in > *:nth-child(11){ transition-delay: .52s; }
.stagger.in > *:nth-child(12){ transition-delay: .57s; }
/* count-up uses monospace numerals for steady width */
.metric-chip .v, .telemetry .v.acc{ font-variant-numeric: tabular-nums; }
/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }
    .scan-line{ display:none; }
  }
/* mobile: turn down the motion */
@media (max-width: 720px){
    .orbit-3{ display:none; }
    .telemetry, .metric-chip{ animation: none; }
    .signal-layer path{ animation: none; }
    .hero .atmo-bg::before, .hero .atmo-bg::after{ filter: blur(40px); opacity:.6; }
  }
/* tighter vertical rhythm + softer transitions */
section + section{ margin-top: -8px; }
.section-head{ padding-top: 4px; }
.section-head h2{ margin-top: 14px; }
/* slim hero bottom space */
.hero{ padding-bottom: 48px; }
/* vision bottom space tighter */
#vision{ padding-bottom: 56px; }
/* avoid the founder block + stack block doubling up */
#founder{ padding: 56px 0; }
#stack{ padding-top: 56px; }
/* ═════════════ LAYERED DARK SURFACE LAYER ═════════════ */
body::before{
    background:
      radial-gradient(1100px 700px at 80% -10%, rgba(249,115,22,.22), transparent 60%),
      radial-gradient(800px 600px at 5% 18%, rgba(245,176,65,.08), transparent 60%),
      linear-gradient(180deg, #08090F 0%, #0A0C12 60%, #08090F 100%) !important;
  }
body::after{
    background-image:
      linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
    background-size: 64px 64px !important;
  }
/* studio light band — a single soft beam (used in capabilities/ventures/contact) */
.light-band{
    position:absolute; left:0; right:0;
    height: 240px;
    background: linear-gradient(180deg,
      transparent 0%,
      rgba(249,115,22,.06) 35%,
      rgba(249,115,22,.10) 50%,
      rgba(249,115,22,.06) 65%,
      transparent 100%);
    filter: blur(20px);
    pointer-events:none;
    z-index: 0;
    transform: skewY(-3deg);
  }
/* boost atmo glows */
#vision .atmo-bg::before{ background: radial-gradient(closest-side, rgba(249,115,22,.26), transparent 70%) !important; }
#ventures .atmo-bg::before{ background: radial-gradient(closest-side, rgba(249,115,22,.24), transparent 70%) !important; }
#industries .atmo-bg::after{ background: radial-gradient(closest-side, rgba(249,115,22,.14), transparent 70%) !important; }
#contact .atmo-bg::before{ background: radial-gradient(closest-side, rgba(249,115,22,.30), transparent 70%) !important; filter: blur(70px) !important; }
/* capabilities — deeper grid + section tint */
#capabilities{
    background:
      linear-gradient(180deg, rgba(14,16,22,0) 0%, rgba(14,16,22,.55) 50%, rgba(14,16,22,0) 100%) !important;
  }
#capabilities .atmo-bg{
    background-image:
      linear-gradient(45deg, rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(-45deg, rgba(255,255,255,.05) 1px, transparent 1px) !important;
    background-size: 32px 32px !important;
    opacity: .85 !important;
  }
/* ventures — copper spotlight slab + stronger card */
#ventures .ventures{ position: relative; z-index: 1; }
#ventures .ventures::before{
    content:""; position:absolute; inset: -32px -10%;
    background: radial-gradient(50% 70% at 50% 50%, rgba(249,115,22,.10), transparent 70%);
    filter: blur(40px); z-index: -1; pointer-events:none;
  }
.venture{
    background:
      linear-gradient(145deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.014) 60%, rgba(255,255,255,.005) 100%),
      linear-gradient(180deg, rgba(24,26,38,.85), rgba(14,16,24,.85)) !important;
    border-color: rgba(249,115,22,.20) !important;
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.55);
  }
/* process — illuminated band behind rail */
#process .process{ position: relative; }
#process .process::after{
    content:""; position:absolute; left:-20px; right:-20px; top:-10px; height: 120px;
    background: linear-gradient(180deg, transparent, rgba(249,115,22,.08) 45%, transparent);
    filter: blur(24px); z-index:-1; pointer-events:none;
  }
/* industries — stronger lifted panel */
#industries .industries-panel{
    background: linear-gradient(180deg, rgba(26,28,40,.65), rgba(14,16,22,.65)) !important;
    border-color: rgba(255,255,255,.07);
    box-shadow: 0 40px 100px -40px rgba(0,0,0,.6);
  }
.ind{
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
/* why — editorial slab */
#why .why-wrap{
    position: relative;
    border-radius: 24px;
    padding: 40px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.5);
    overflow: hidden;
  }
#why .why-wrap::after{
    content:""; position:absolute; right: -80px; top: -80px;
    width: 320px; height: 320px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.16), transparent 70%);
    filter: blur(40px); pointer-events:none;
  }
/* founder — stronger contrast */
.founder{
    background:
      linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(26,28,40,.7), rgba(14,16,22,.7)) !important;
    border-color: rgba(249,115,22,.18) !important;
    box-shadow: 0 40px 100px -40px rgba(0,0,0,.6);
  }
/* tech stack — wrapper panel */
#stack .stack-panel{
    position: relative;
    padding: 28px;
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.5);
    overflow: hidden;
  }
#stack .stack-panel::before{
    content:""; position:absolute; left:-60px; bottom:-60px;
    width: 280px; height: 280px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.12), transparent 70%);
    filter: blur(40px); pointer-events:none;
  }
.chip{
    background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012)) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
/* contact — premium form surface */
#contact form{
    background:
      linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(26,28,40,.7), rgba(14,16,22,.7)) !important;
    border-color: rgba(249,115,22,.20) !important;
    box-shadow:
      0 40px 100px -40px rgba(0,0,0,.6),
      0 0 0 1px rgba(255,255,255,.02) inset;
  }
#contact .field input,
  #contact .field select,
  #contact .field textarea{
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.12);
  }
#contact .field input:focus,
  #contact .field select:focus,
  #contact .field textarea:focus{
    border-color: rgba(249,115,22,.7) !important;
    background: rgba(249,115,22,.06) !important;
    box-shadow: 0 0 0 3px rgba(249,115,22,.18) !important;
  }
#contact .cm .v{ font-size: 16px; }
#contact .cm .v a:hover{ color: var(--purple-2); }
/* footer redesign */
footer{
    position: relative;
    margin-top: 0;
    background: linear-gradient(180deg, rgba(11,13,19,1) 0%, rgba(8,10,15,1) 100%);
    border-top: 1px solid rgba(255,255,255,.07);
    overflow: hidden;
  }
footer::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at 50% 0%, #000 30%, transparent 85%);
    opacity: .6;
    pointer-events:none;
  }
footer::after{
    content:""; position:absolute; right: -120px; bottom: -120px;
    width: 360px; height: 360px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.14), transparent 70%);
    filter: blur(50px); pointer-events:none;
  }
/* tighter vertical rhythm */
#vision{ padding-bottom: 44px; }
#capabilities{ padding-top: 56px; padding-bottom: 64px; }
#ventures{ padding-top: 56px; padding-bottom: 64px; }
#process{ padding-top: 56px; padding-bottom: 64px; }
#industries{ padding-top: 56px; padding-bottom: 64px; }
#why{ padding-top: 56px; padding-bottom: 56px; }
#founder{ padding-top: 40px; padding-bottom: 48px; }
#stack{ padding-top: 40px; padding-bottom: 64px; }
#contact{ padding-top: 64px; padding-bottom: 96px; }
section + section{ margin-top: -16px; }
@media (max-width: 720px){
    #why .why-wrap, #stack .stack-panel{ padding: 24px; border-radius: 18px; }
    #contact{ padding-bottom: 64px; }
  }
/* ═════════════ FINAL POLISH LAYER ═════════════ */
/* ambient amber glow behind major section headings */
.section-head{ position: relative; }
.section-head::before{
    content:""; position:absolute;
    left: -120px; top: -80px;
    width: 480px; height: 280px;
    background: radial-gradient(closest-side, rgba(249,115,22,.14), transparent 70%);
    filter: blur(40px); pointer-events:none; z-index:-1;
  }
/* slightly weaker glow on vision (already has its own atmo) */
#vision .section-head::before{ opacity:.6; }
/* stronger on the "conversion" sections */
#contact .section-head::before,
  #ventures .section-head::before{
    background: radial-gradient(closest-side, rgba(249,115,22,.20), transparent 70%);
    width: 560px;
  }
/* softer transitions between sections (continuous background hint) */
section.atmo::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height: 80px;
    background: linear-gradient(180deg, transparent, rgba(8,9,15,.6));
    pointer-events:none; z-index:0;
  }
section.atmo > .wrap{ position: relative; z-index: 1; }
/* story → tech areas: an illuminated divider strip */
.section-divider{
    position: relative; height: 1px; max-width: 1240px;
    margin: -8px auto 0; padding: 0 40px;
  }
.section-divider::before{
    content:""; position:absolute; left:10%; right:10%; top:0; height:1px;
    background: linear-gradient(90deg, transparent, rgba(249,115,22,.35) 50%, transparent);
  }
.section-divider::after{
    content:""; position:absolute; left:50%; transform:translateX(-50%);
    top:-60px; width: 420px; height: 120px;
    background: radial-gradient(closest-side, rgba(249,115,22,.14), transparent 70%);
    filter: blur(30px); pointer-events:none;
  }
/* tech stack panel: stronger */
#stack .stack-panel{
    padding: 36px !important;
    background:
      linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.012)) !important;
    border-color: rgba(255,255,255,.07) !important;
  }
#stack .stack-panel::after{
    content:""; position:absolute; right:-40px; top:-40px;
    width: 260px; height: 260px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.10), transparent 70%);
    filter: blur(40px); pointer-events:none;
  }
/* card refinement: a hairline amber edge on hover */
.card{
    background:
      linear-gradient(145deg, rgba(255,255,255,.062) 0%, rgba(255,255,255,.022) 60%, rgba(255,255,255,.008) 100%),
      linear-gradient(180deg, rgba(30,32,44,.7) 0%, rgba(20,22,30,.7) 100%) !important;
    border: 1px solid rgba(249,115,22,.20) !important;
  }
.card::after{
    content:""; position:absolute; inset:0; border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    pointer-events:none;
  }
.card:hover{
    box-shadow:
      0 28px 70px -28px rgba(249,115,22,.42),
      0 0 0 1px rgba(253,186,116,.40),
      inset 0 1px 0 rgba(255,255,255,.07) !important;
  }
/* nav: extra vertical breathing room + stable height */
.nav-inner{ height: 80px !important; gap: 20px !important; }
.brand-logo{ height: 42px !important; }
@media (max-width: 720px){
    .nav-inner{ height: 68px !important; }
    .brand-logo{ height: 34px !important; }
  }
.nav{ padding: 4px 0; }
/* contact form: bigger amber halo */
#contact{ position: relative; }
#contact .contact-wrap{ position: relative; }
#contact .contact-wrap::before{
    content:""; position:absolute;
    right: -10%; top: 20%;
    width: 620px; height: 520px;
    background: radial-gradient(closest-side, rgba(249,115,22,.18), transparent 70%);
    filter: blur(60px); pointer-events:none; z-index:0;
  }
#contact .contact-wrap > *{ position: relative; z-index: 1; }
#contact form{
    background:
      linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.016)),
      linear-gradient(180deg, rgba(28,30,42,.75), rgba(16,18,26,.75)) !important;
  }
/* footer: a touch more presence */
footer{ padding-top: 56px !important; padding-bottom: 44px !important; }
footer .brand-logo{ height: 36px; }
/* keep sections from feeling cropped */
#stack{ padding-top: 28px !important; }
#founder{ padding-bottom: 28px !important; }
/* ═════════════ PRODUCTION QA LAYER ═════════════ */
:focus{ outline: none; }
:focus-visible{
    outline: 2px solid rgba(249,115,22,.85);
    outline-offset: 3px;
    border-radius: 6px;
  }
.btn:focus-visible{ outline-offset: 4px; }
.menu a:focus-visible{ outline-offset: 6px; }
.form-status-wrap{ display:flex; flex-direction:column; gap:6px; }
.form-status{
    font-family: var(--mono); font-size: 12px;
    color: var(--text); opacity: 0;
    transition: opacity .25s ease;
    min-height: 16px;
  }
.form-status.show{ opacity: 1; }
.form-status.ok{ color: #FDBA74; }
.form-status.err{ color: #FCA5A5; }
/* responsive refinements */
@media (max-width: 1280px){
    :root{ --pad: 32px; }
    h1.headline{ font-size: clamp(36px, 5vw, 64px); }
  }
@media (max-width: 1024px){
    .hero-grid{ gap: 40px; }
  }
@media (max-width: 768px){
    :root{ --pad: 26px; }
    h1.headline{ font-size: clamp(32px, 7vw, 52px); }
    .trust{ grid-template-columns: repeat(2, 1fr); }
    .section-head h2{ font-size: clamp(26px, 4.6vw, 38px); }
  }
@media (max-width: 480px){
    :root{ --pad: 18px; }
    section{ padding: 56px 0; }
    .hero{ padding: 48px 0 36px; }
    .nav-inner{ height: 60px !important; }
    .brand-logo{ height: 28px !important; }
    .btn{ height: 42px; padding: 0 14px; font-size: 13px; }
    .hero-cta{ flex-direction: column; align-items: stretch; }
    .hero-cta .btn{ justify-content: center; }
    h1.headline{ font-size: clamp(28px, 8.5vw, 38px); line-height: 1.05; }
    .sub{ font-size: 15.5px; }
    .trust{ grid-template-columns: 1fr; gap: 12px; }
    .section-head{ margin-bottom: 28px; }
    .section-head h2{ font-size: clamp(24px, 6.5vw, 32px); }
    .card{ padding: 22px; }
    .grid-3, .grid-cap, .grid-2, .industries, .ventures, .process{
      grid-template-columns: 1fr !important;
    }
    .industries-panel{ padding: 18px !important; border-radius: 16px; }
    .ind{ padding: 18px 16px; }
    .step .num{ width: 60px; height: 60px; }
    .process .rail{ display:none; }
    .process::before{ display:none !important; }
    .why-block{ grid-template-columns: 32px 1fr; gap: 12px; }
    .founder{ padding: 28px 22px !important; border-radius: 18px; }
    #contact form{ padding: 22px !important; }
    .form-actions{ flex-direction: column; align-items: stretch; gap: 12px; }
    .form-actions .btn{ width: 100%; justify-content: center; }
    .footer-bottom{ flex-direction: column; gap: 8px; align-items: flex-start; }
  }
@media (max-width: 360px){
    .menu{ display:none; }
    .btn.btn-primary{ font-size: 12.5px; padding: 0 12px; height: 38px; }
    .nav-inner{ gap: 8px; }
  }
h1.headline, .section-head h2{ overflow-wrap: anywhere; }
.brand{ flex: 0 0 auto; min-width: 0; }
/* ═════════════ ECOSYSTEM LAYER ═════════════ */
.venture-body .ctx{
    display: inline-block;
    font-family: var(--mono); font-size: 11px;
    color: var(--purple-2);
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 10px;
  }
.venture-link{
    display: inline-flex; align-items:center; gap: 8px;
    margin-top: 18px;
    padding: 9px 14px; border-radius: 8px;
    background: rgba(249,115,22,.08);
    border: 1px solid rgba(249,115,22,.30);
    color: var(--text);
    font-family: var(--mono); font-size: 12px;
    letter-spacing: .04em;
    transition: all .2s ease;
  }
.venture-link:hover{
    background: rgba(249,115,22,.16);
    border-color: rgba(249,115,22,.55);
    transform: translateY(-1px);
  }
.venture-link .ext{
    width: 12px; height: 12px; flex: 0 0 auto;
  }
.footer-note{
    grid-column: 1 / -1;
    margin-top: 18px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.05);
    font-size: 13px;
    color: var(--text-2);
    max-width: 760px;
  }
/* hide overcrowded primary nav on tablet sizes (homepage has 9 items) */
@media (max-width: 1080px){
    .menu{ display: none !important; }
  }
html, body{ overflow-x: clip !important; }
.menu{ display:flex; gap: 20px; flex-wrap: nowrap; }
.menu a{
    font-size: 14px; color: var(--text-2); white-space: nowrap;
    transition: color .2s ease;
    position: relative;
  }
/* ═════════════ INVESTOR PAGE LAYER ═════════════ */
.menu a.active{
    color: var(--text);
    position: relative;
    white-space: nowrap;
  }
.menu a.active::after{
    width: 100% !important;
    background: var(--purple);
    box-shadow: 0 0 8px rgba(249,115,22,.6);
    opacity: 1;
  }
/* investor hero: left/right balanced, less heavy than homepage */
.iv-hero-grid{
    display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
    align-items: center;
  }
@media (max-width: 1080px){
    .iv-hero-grid{ grid-template-columns: 1fr; gap: 40px; }
  }
.iv-label{
    font-family: var(--mono); font-size: 11.5px;
    color: var(--purple-2); letter-spacing: .26em;
    text-transform: uppercase;
    display: inline-flex; align-items:center; gap: 10px;
  }
.iv-label::before{
    content:""; width: 28px; height: 1px;
    background: linear-gradient(90deg, transparent, var(--purple));
  }
.iv-meta-row{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
    margin-top: 36px;
    border-top: 1px solid var(--line);
    padding-top: 22px;
  }
.iv-meta-row .k{ font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing:.1em; text-transform: uppercase; }
.iv-meta-row .v{ font-size: 14px; color: var(--text); margin-top: 4px; }
/* ─── Ecosystem map (hero visual + dedicated section) ─── */
.ecomap{
    position: relative;
    aspect-ratio: 1/1;
    width: 100%;
    border-radius: 22px;
    border: 1px solid rgba(249,115,22,.22);
    background:
      radial-gradient(closest-side at 50% 50%, rgba(249,115,22,.18), transparent 65%),
      linear-gradient(180deg, #16181F 0%, #0C0E15 100%);
    overflow: hidden;
    box-shadow:
      0 1px 0 rgba(255,255,255,.06) inset,
      0 40px 100px -30px rgba(0,0,0,.7),
      0 0 0 1px rgba(249,115,22,.12);
  }
.ecomap::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 40%, transparent 85%);
    opacity: .6;
  }
.ecomap .em-svg{ position:absolute; inset:0; width:100%; height:100%; }
.ecomap .em-svg .link{ stroke: rgba(253,186,116,.55); stroke-width: 1.1; fill:none; stroke-dasharray: 4 6; animation: flow 8s linear infinite; }
.ecomap .em-svg .link.dim{ stroke: rgba(253,186,116,.22); }
.ecomap .em-svg .ring{ stroke: rgba(249,115,22,.25); stroke-width: 1; fill:none; }
.ecomap .em-node{
    position: absolute;
    transform: translate(-50%, -50%);
    background: linear-gradient(180deg, rgba(30,32,44,.95), rgba(18,20,28,.95));
    border: 1px solid rgba(249,115,22,.32);
    border-radius: 10px;
    padding: 10px 14px;
    font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
    color: var(--text);
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 22px -8px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03);
    white-space: nowrap;
    transition: transform .25s ease, border-color .25s ease;
  }
.ecomap .em-node:hover{
    border-color: rgba(253,186,116,.7);
  }
.ecomap .em-node .nk{
    color: var(--muted); font-size: 9.5px; letter-spacing:.16em; margin-bottom: 2px; text-transform: uppercase; display:block;
  }
.ecomap .em-node.center{
    background: linear-gradient(180deg, rgba(249,115,22,.18), rgba(154,52,18,.18));
    border-color: rgba(253,186,116,.6);
    padding: 14px 18px;
    box-shadow: 0 0 0 1px rgba(253,186,116,.25), 0 0 40px rgba(249,115,22,.35);
  }
.ecomap .em-node.center .nv{ font-size: 13px; font-weight: 500; }
.ecomap .em-node.center .nk{ color: var(--purple-2); }
@keyframes nodeFloat{ 0%,100%{ margin-top: 0; } 50%{ margin-top: -3px; } }
.ecomap .em-node{ animation: nodeFloat 7s ease-in-out infinite; }
.ecomap .em-node:nth-child(odd){ animation-duration: 8.5s; animation-delay: .8s; }
/* ─── Portfolio matrix (3 cols) ─── */
.portfolio{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
  }
@media (max-width: 1080px){ .portfolio{ grid-template-columns: 1fr; } }
.pf-col{
    position: relative;
    padding: 28px;
    border-radius: 18px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.012)),
      linear-gradient(180deg, rgba(26,28,40,.7), rgba(14,16,22,.7));
    border: 1px solid rgba(255,255,255,.07);
    box-shadow: 0 20px 60px -28px rgba(0,0,0,.55);
  }
.pf-col .pf-tag{
    font-family: var(--mono); font-size: 11px; color: var(--purple-2);
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 14px;
  }
.pf-col h3{
    font-family: var(--display); font-size: 19px; font-weight: 500; letter-spacing:-.01em;
    margin-bottom: 12px;
  }
.pf-col p{ font-size: 14.5px; color: var(--text-2); margin-bottom: 16px; }
.pf-col ul{
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 8px;
    border-top: 1px solid var(--line); padding-top: 14px;
  }
.pf-col li{
    display: grid; grid-template-columns: 12px 1fr; gap: 10px;
    font-size: 13px; color: var(--text-2);
  }
.pf-col li::before{
    content:""; width: 6px; height:1px; background: var(--purple);
    margin-top: 9px;
  }
/* ─── Growth timeline (vertical, investor-oriented) ─── */
.growth-tl{
    position: relative;
    display: grid; grid-template-columns: 1fr; gap: 16px;
    margin-left: 28px;
  }
.growth-tl::before{
    content:""; position:absolute; left: -1px; top: 6px; bottom: 6px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(253,186,116,.55) 10%, rgba(253,186,116,.55) 90%, transparent);
  }
.gt-step{
    position: relative;
    background:
      linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    padding: 20px 22px;
    transition: border-color .25s ease, transform .25s ease;
  }
.gt-step:hover{
    border-color: rgba(253,186,116,.35);
    transform: translateX(3px);
  }
.gt-step::before{
    content:""; position:absolute; left: -34px; top: 22px;
    width: 12px; height: 12px; border-radius: 50%;
    background: var(--purple);
    box-shadow: 0 0 0 4px rgba(8,9,15,1), 0 0 16px rgba(249,115,22,.7);
  }
.gt-step .gt-k{
    font-family: var(--mono); font-size: 11px;
    color: var(--purple-2); letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 6px;
  }
.gt-step h4{ font-family: var(--display); font-size: 17px; font-weight: 500; margin-bottom: 6px; }
.gt-step p{ font-size: 14px; color: var(--text-2); }
/* ─── Use-of-capital cards (no numbers) ─── */
.capital{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  }
@media (max-width: 900px){ .capital{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px){ .capital{ grid-template-columns: 1fr; } }
.cap{
    position: relative;
    padding: 22px;
    border-radius: 14px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.07);
    overflow: hidden;
    transition: all .25s ease;
  }
.cap::after{
    content:""; position:absolute; right:-30px; bottom:-30px;
    width: 100px; height: 100px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(249,115,22,.18), transparent 70%);
    opacity: 0; transition: opacity .25s ease;
  }
.cap:hover{ border-color: rgba(253,186,116,.35); }
.cap:hover::after{ opacity: 1; }
.cap .cap-k{
    font-family: var(--mono); font-size: 10.5px; color: var(--muted);
    letter-spacing: .14em; text-transform: uppercase; margin-bottom: 10px;
  }
.cap h4{ font-family: var(--display); font-size: 16px; font-weight: 500; margin-bottom: 6px; }
.cap p{ font-size: 13.5px; color: var(--text-2); }
/* ─── Reasons grid (Why Investors May Care) ─── */
.reasons{
    display:grid; grid-template-columns: repeat(2, 1fr); gap: 0;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(20,22,32,.45), rgba(12,14,22,.45));
  }
@media (max-width: 720px){ .reasons{ grid-template-columns: 1fr; } }
.reason{
    padding: 26px 28px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    transition: background .2s ease;
  }
.reason:hover{ background: rgba(249,115,22,.04); }
.reasons > .reason:nth-child(2n){ border-right: 0; }
.reasons > .reason:nth-last-child(-n+2){ border-bottom: 0; }
@media (max-width: 720px){
    .reason{ border-right: 0 !important; }
    .reason:not(:last-child){ border-bottom: 1px solid var(--line); }
  }
.reason .rk{
    font-family: var(--mono); font-size: 11px; color: var(--purple-2);
    letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px;
  }
.reason h4{ font-family: var(--display); font-size: 17px; font-weight: 500; margin-bottom: 6px; }
.reason p{ font-size: 14px; color: var(--text-2); }
/* investor nav: keep clean at tablet sizes */
/* shorten primary CTA on narrow viewports */
@media (max-width: 540px){
    .nav .btn-primary{
      font-size: 0;
      width: 44px; height: 44px; padding: 0;
      justify-content: center;
    }
    .nav .btn-primary .arrow{ width: 16px; height: 16px; }
  }
/* QA fixes: kill horizontal scroll + keep ecomap nodes inside container */
html, body{ overflow-x: hidden; }
.ecomap{ overflow: clip; }
.ecomap .em-node{
    max-width: 44%;
    text-align: center;
  }
@media (max-width: 720px){
    .ecomap .em-node{
      font-size: 9.5px !important;
      padding: 7px 9px !important;
      max-width: 50%;
    }
    .ecomap .em-node.center{
      padding: 9px 12px !important;
    }
    .ecomap .em-node.center .nv{ font-size: 11px !important; }
    .ecomap .em-node .nk{ font-size: 8.5px !important; letter-spacing: .12em !important; }
  }
@media (max-width: 430px){
    .ecomap .em-node{
      font-size: 8.5px !important;
      padding: 5px 7px !important;
      max-width: 56%;
      white-space: normal;
      line-height: 1.25;
    }
  }
/* ═════════════ INVESTOR HERO LAYOUT FIX ═════════════ */
/* balanced hero grid: text left, ecomap right, with safe gap */
.iv-hero-grid{
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 56px !important;
    align-items: center;
  }
.iv-hero-grid > div:first-child{
    max-width: 720px;
  }
/* slightly toned headline scale to keep the right panel from being shoved offscreen */
section.hero h1.headline{
    font-size: clamp(36px, 4.6vw, 64px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
  }
/* ecomap container: safe padding + never overflow */
.ecomap{
    max-width: 100%;
    padding: 6%;       /* internal safe margin so edge nodes are not clipped */
    overflow: hidden;  /* keep .em-node out of body scroll-width */
  }
/* em-svg follows the inset (so links still aim at node positions) */
.ecomap .em-svg{ inset: 6% !important; width: 88% !important; height: 88% !important; }
/* place nodes inside the padded area: node coords are relative to .ecomap;
     since we pad 6% around svg, node coords need to be scaled — easier: position
     them inside .em-nodes-layer that respects padding via inset */
.ecomap{ position: relative; }
.em-nodes{
    position: absolute; inset: 6%;
    pointer-events: none;
  }
.em-nodes .em-node{ pointer-events: auto; }
.ecomap .em-node{ max-width: 38%; }
/* stack hero on tablet down */
@media (max-width: 1024px){
    .iv-hero-grid{
      grid-template-columns: 1fr !important;
      gap: 40px !important;
    }
    .iv-hero-grid > div:first-child{ max-width: 100%; }
    .ecomap{ max-width: 560px; margin: 0 auto; }
  }
/* mobile / small tablet: replace ecomap with a simplified stacked list
     so labels stay readable and nodes never clip. */
@media (max-width: 720px){
    .ecomap{ display: none; }
    .ecomap-fallback{ display: grid !important; }
  }
.ecomap-fallback{
    display: none;
    grid-template-columns: 1fr;
    gap: 10px;
  }
.ecomap-fallback .efb-center{
    padding: 14px 16px; border-radius: 12px;
    background: linear-gradient(180deg, rgba(249,115,22,.18), rgba(154,52,18,.18));
    border: 1px solid rgba(253,186,116,.6);
    box-shadow: 0 0 0 1px rgba(253,186,116,.25), 0 0 30px rgba(249,115,22,.3);
    font-family: var(--mono); font-size: 13px; color: var(--text);
    text-align: center;
  }
.ecomap-fallback .efb-center .nk{
    display:block; color: var(--purple-2); font-size: 10.5px;
    letter-spacing: .18em; text-transform: uppercase; margin-bottom: 2px;
  }
.ecomap-fallback .efb-row{
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
  }
.ecomap-fallback .efb-node{
    padding: 12px 14px; border-radius: 10px;
    background: linear-gradient(180deg, rgba(30,32,44,.85), rgba(18,20,28,.85));
    border: 1px solid rgba(249,115,22,.32);
    font-family: var(--mono); font-size: 11px; color: var(--text);
  }
.ecomap-fallback .efb-node .nk{
    display:block; color: var(--muted); font-size: 9.5px;
    letter-spacing: .16em; text-transform: uppercase; margin-bottom: 2px;
  }
/* mobile: replace ecomap with a simplified stacked list */
@media (max-width: 540px){
    .ecomap{ display: none; }
    .ecomap-fallback{ display: grid !important; }
  }
/* ═════════════ PARTNERSHIP OS HERO VISUAL ═════════════ */
.pos-panel{
    position: relative;
    border-radius: 22px;
    padding: 26px;
    border: 1px solid rgba(249,115,22,.22);
    background:
      radial-gradient(140% 90% at 100% 0%, rgba(249,115,22,.22), transparent 55%),
      linear-gradient(180deg, #16181F 0%, #0C0E15 100%);
    overflow: hidden;
    box-shadow:
      0 1px 0 rgba(255,255,255,.06) inset,
      0 40px 100px -30px rgba(0,0,0,.75),
      0 0 0 1px rgba(249,115,22,.14),
      0 0 80px -30px rgba(249,115,22,.4);
  }
.pos-panel::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, black 50%, transparent 95%);
    opacity: .5;
    pointer-events: none;
  }
.pos-head{
    position: relative;
    display: flex; align-items: center; justify-content: space-between;
    font-family: var(--mono); font-size: 11px; color: var(--text-2);
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 18px;
  }
.pos-head .left{ display:flex; align-items:center; gap: 8px; }
.pos-head .left .dot{
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--purple); box-shadow: 0 0 12px var(--purple);
  }
.pos-head .right{ color: var(--muted); }
.pos-pipeline{
    position: relative;
    display: flex; flex-direction: column;
    gap: 0;
    padding: 4px 0 8px;
  }
.pos-mod{
    position: relative;
    display: grid; grid-template-columns: 52px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(180deg, rgba(30,32,44,.85), rgba(18,20,28,.85));
    border: 1px solid rgba(255,255,255,.07);
    transition: border-color .25s ease, transform .25s ease;
  }
.pos-mod:hover{
    border-color: rgba(253,186,116,.45);
    transform: translateX(2px);
  }
.pos-mod .pm-num{
    font-family: var(--mono); font-size: 11px; color: var(--purple-2);
    letter-spacing: .14em;
    display: flex; align-items: center; justify-content: center;
    height: 30px; width: 44px;
    border: 1px solid rgba(253,186,116,.4);
    border-radius: 8px;
    background: rgba(249,115,22,.06);
  }
.pos-mod .pm-title{
    font-family: var(--display); font-size: 14px; color: var(--text);
    font-weight: 500; letter-spacing: -.005em;
  }
.pos-mod .pm-sub{
    display: block; color: var(--muted); font-family: var(--mono);
    font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
    margin-top: 2px;
  }
.pos-mod .pm-glyph{
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(253,186,116,.55);
    box-shadow: 0 0 0 3px rgba(249,115,22,.10);
  }
.pos-link{
    position: relative;
    height: 22px;
    display: flex; align-items: center; justify-content: flex-start;
    padding-left: 36px;
  }
.pos-link::before{
    content:""; position: absolute; left: 36px; top: 0; bottom: 0; width: 1px;
    background: linear-gradient(180deg, rgba(253,186,116,.55), rgba(253,186,116,.25));
  }
.pos-link::after{
    content:""; position: absolute; left: 34px; bottom: 2px;
    width: 5px; height: 5px;
    border-right: 1px solid rgba(253,186,116,.75);
    border-bottom: 1px solid rgba(253,186,116,.75);
    transform: rotate(45deg);
  }
/* amber pulse traveling down the pipeline */
.pos-pulse{
    position: absolute;
    left: 30px; width: 18px; height: 18px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(253,186,116,.9), transparent 70%);
    filter: blur(1px);
    pointer-events: none;
    animation: posFlow 7s cubic-bezier(.45,.05,.55,.95) infinite;
  }
@keyframes posFlow{
    0%   { top: 0%;   opacity: 0; }
    8%   { opacity: 1; }
    92%  { opacity: 1; }
    100% { top: 100%; opacity: 0; }
  }
/* sublayer bands */
.pos-layers{
    position: relative;
    margin-top: 18px;
    display: grid; grid-template-columns: 1fr; gap: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
  }
.pos-layer{
    display: grid; grid-template-columns: 110px 1fr;
    gap: 14px; align-items: center;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
  }
.pos-layer .pl-k{
    font-family: var(--mono); font-size: 10.5px; color: var(--purple-2);
    letter-spacing: .14em; text-transform: uppercase;
  }
.pos-layer .pl-chips{
    display: flex; flex-wrap: wrap; gap: 6px;
  }
.pos-layer .pl-chip{
    font-family: var(--mono); font-size: 10.5px;
    color: var(--text-2);
    padding: 4px 8px; border-radius: 6px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    letter-spacing: .04em;
  }
/* responsive */
@media (max-width: 540px){
    .pos-mod{ grid-template-columns: 44px 1fr; padding: 12px 12px; }
    .pos-mod .pm-glyph{ display: none; }
    .pos-mod .pm-num{ width: 38px; height: 26px; font-size: 10px; }
    .pos-link{ padding-left: 30px; }
    .pos-link::before{ left: 30px; }
    .pos-link::after{ left: 28px; }
    .pos-pulse{ left: 24px; }
    .pos-layers .pos-layer{
      grid-template-columns: 1fr;
      gap: 6px;
    }
  }
/* ═════════════ POS ARCHITECTURE LAYOUT ═════════════ */
.pos-panel.arch{
    padding: 22px;
  }
.arch-grid{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.65fr 1fr;
    gap: 14px;
    align-items: stretch;
  }
.arch-col{
    position: relative;
    display: flex; flex-direction: column;
    gap: 10px;
    z-index: 2;
  }
.arch-col .ac-k{
    font-family: var(--mono); font-size: 10px; color: var(--muted);
    letter-spacing: .18em; text-transform: uppercase;
    padding: 2px 0 8px;
    border-bottom: 1px dashed rgba(255,255,255,.07);
    margin-bottom: 2px;
  }
.arch-col .ac-item{
    position: relative;
    padding: 12px 14px;
    border-radius: 10px;
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
    border: 1px solid rgba(255,255,255,.07);
    transition: border-color .25s ease, transform .25s ease;
    z-index: 2;
  }
.arch-col .ac-item:hover{
    border-color: rgba(253,186,116,.42);
    transform: translateX(1px);
  }
.arch-col .ac-item .ai-k{
    font-family: var(--mono); font-size: 9.5px; color: var(--purple-2);
    letter-spacing: .16em; text-transform: uppercase;
    display: block; margin-bottom: 3px;
  }
.arch-col .ac-item .ai-v{
    font-family: var(--display); font-size: 13.5px; color: var(--text);
    font-weight: 500; letter-spacing: -.005em;
  }
/* output column variant: amber-accented */
.arch-col.out .ac-item{
    border-color: rgba(249,115,22,.22);
    background: linear-gradient(145deg, rgba(249,115,22,.10), rgba(249,115,22,.02));
  }
/* center execution layer */
.arch-core{
    position: relative;
    border-radius: 14px;
    padding: 14px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
      radial-gradient(120% 120% at 50% 0%, rgba(249,115,22,.18), transparent 65%),
      linear-gradient(180deg, rgba(28,30,42,.85), rgba(18,20,28,.85));
    border: 1px solid rgba(249,115,22,.32);
    box-shadow:
      0 0 0 1px rgba(253,186,116,.10) inset,
      0 0 60px rgba(249,115,22,.18),
      0 30px 60px -28px rgba(0,0,0,.55);
    display: flex; flex-direction: column;
    z-index: 2;
  }
/* two technical rails behind the core */
.arch-core::before, .arch-core::after{
    content:""; position:absolute; left: -22px; right: -22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(253,186,116,.35) 20%, rgba(253,186,116,.35) 80%, transparent);
    z-index: -1;
  }
.arch-core::before{ top: 32%; }
.arch-core::after { top: 68%; }
.arch-core .core-label{
    font-family: var(--mono); font-size: 10.5px; color: var(--purple-2);
    letter-spacing: .18em; text-transform: uppercase;
    text-align: center;
    margin-bottom: 12px;
  }
.arch-core .core-name{
    font-family: var(--display); font-size: 14px; font-weight: 500; color: var(--text);
    text-align: center;
    margin-bottom: 14px;
    letter-spacing: -.005em;
  }
.arch-core .core-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
.arch-core .core-chip{
    position: relative;
    padding: 9px 11px;
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    font-family: var(--mono); font-size: 10.5px;
    color: var(--text);
    letter-spacing: .04em;
    display: flex; align-items: center; gap: 8px;
    transition: border-color .2s ease;
  }
.arch-core .core-chip:hover{ border-color: rgba(253,186,116,.4); }
.arch-core .core-chip::before{
    content:""; width: 6px; height: 6px; border-radius: 50%;
    background: rgba(253,186,116,.7);
    box-shadow: 0 0 8px rgba(249,115,22,.5);
  }
/* signal SVG overlay */
.arch-svg{
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
  }
.arch-svg path{
    fill: none; stroke: rgba(253,186,116,.45);
    stroke-width: 1; stroke-dasharray: 3 5;
    animation: flow 7s linear infinite;
  }
.arch-svg path.dim{ stroke: rgba(253,186,116,.22); }
/* bottom compact pipeline strip */
.arch-pipe{
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    gap: 4px;
    position: relative;
  }
.arch-pipe .pipe-step{
    position: relative;
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 4px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
  }
.arch-pipe .pipe-step .ps-n{
    font-family: var(--mono); font-size: 9.5px; color: var(--purple-2);
    letter-spacing: .16em;
  }
.arch-pipe .pipe-step .ps-v{
    font-family: var(--mono); font-size: 10.5px; color: var(--text);
    letter-spacing: .02em;
  }
.arch-pipe .pipe-sep{
    text-align: center; color: rgba(253,186,116,.55);
    font-family: var(--mono); font-size: 12px;
  }
@media (max-width: 720px){
    .arch-grid{ grid-template-columns: 1fr; gap: 14px; }
    .arch-svg{ display: none; }
    .arch-core::before, .arch-core::after{ display: none; }
    .arch-pipe{ grid-template-columns: repeat(2, 1fr); }
  }
@media (max-width: 480px){
    .arch-core .core-grid{ grid-template-columns: 1fr; }
    .arch-pipe{ grid-template-columns: 1fr; }
  }
/* ═════════════ STRATEGIC COLLABORATION BRIDGE ═════════════ */
.pos-panel.bridge{
    padding: 28px 24px 22px;
  }
.scb{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    align-items: center;
    gap: 0;
    padding: 22px 6px 10px;
    min-height: 320px;
  }
/* SIDE BLOCKS */
.scb-side{
    position: relative;
    z-index: 3;
    padding: 18px 16px;
    border-radius: 14px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 60%, rgba(255,255,255,.005) 100%),
      linear-gradient(180deg, rgba(24,26,38,.85), rgba(14,16,24,.85));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 40px -20px rgba(0,0,0,.6);
  }
.scb-side.partner{ border-color: rgba(255,255,255,.10); }
.scb-side.deploy{ border-color: rgba(249,115,22,.30);
    background:
      linear-gradient(145deg, rgba(249,115,22,.10) 0%, rgba(255,255,255,.014) 60%, rgba(255,255,255,.005) 100%),
      linear-gradient(180deg, rgba(34,28,22,.85), rgba(14,16,24,.85));
  }
.scb-side .ss-k{
    font-family: var(--mono); font-size: 10px; color: var(--purple-2);
    letter-spacing: .22em; text-transform: uppercase;
    margin-bottom: 12px;
    display: block;
  }
.scb-side ul{
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 6px;
  }
.scb-side li{
    font-family: var(--mono); font-size: 11.5px;
    color: var(--text);
    padding: 7px 10px;
    border-radius: 6px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    letter-spacing: .04em;
  }
.scb-side.deploy li{
    border-color: rgba(249,115,22,.18);
    background: rgba(249,115,22,.06);
  }
/* CENTER CORE */
.scb-core{
    position: relative;
    z-index: 3;
    padding: 22px 18px 20px;
    border-radius: 16px;
    background:
      radial-gradient(140% 130% at 50% -10%, rgba(249,115,22,.30), transparent 60%),
      linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(34,28,22,.9), rgba(18,20,28,.9));
    border: 1px solid rgba(253,186,116,.42);
    box-shadow:
      0 0 0 1px rgba(253,186,116,.12) inset,
      0 0 80px rgba(249,115,22,.30),
      0 30px 70px -28px rgba(0,0,0,.6);
    margin: 0 16px;
  }
/* faint orbit arcs behind core */
.scb-core::before, .scb-core::after{
    content:""; position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(253,186,116,.18);
    pointer-events: none;
    z-index: -1;
  }
.scb-core::before{ width: 140%; aspect-ratio: 1/1; animation: scbOrbit 60s linear infinite; }
.scb-core::after { width: 180%; aspect-ratio: 1/1; border-style: dashed; opacity:.55; animation: scbOrbit 90s linear infinite reverse; }
@keyframes scbOrbit{ from{ transform: translate(-50%,-50%) rotate(0); } to{ transform: translate(-50%,-50%) rotate(360deg); } }
/* slow glow pulse behind core */
@keyframes scbPulse{ 0%,100%{ opacity:.85; } 50%{ opacity:1; } }
.scb-core{ animation: scbPulse 6s ease-in-out infinite; }
.scb-core .sc-k{
    font-family: var(--mono); font-size: 10px; color: var(--purple-2);
    letter-spacing: .22em; text-transform: uppercase;
    text-align: center;
    margin-bottom: 6px;
  }
.scb-core .sc-name{
    font-family: var(--display); font-size: 13.5px; font-weight: 500;
    color: var(--text);
    text-align: center;
    margin-bottom: 14px;
    letter-spacing: -.005em;
  }
.scb-core .sc-chips{
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
  }
.scb-core .sc-chip{
    font-family: var(--mono); font-size: 10px;
    color: var(--text);
    padding: 7px 9px;
    border-radius: 6px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    display: flex; align-items: center; gap: 6px;
    letter-spacing: .04em;
  }
.scb-core .sc-chip::before{
    content:""; width: 5px; height: 5px; border-radius: 50%;
    background: rgba(253,186,116,.7);
    box-shadow: 0 0 6px rgba(249,115,22,.5);
    flex: 0 0 auto;
  }
/* SIGNAL OVERLAY (3 amber lines) */
.scb-signals{
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: visible;
  }
.scb-signals path{
    fill: none;
    stroke: rgba(253,186,116,.55);
    stroke-width: 1.2;
    stroke-linecap: round;
    filter: drop-shadow(0 0 4px rgba(249,115,22,.5));
  }
.scb-signals path.dim{ stroke: rgba(253,186,116,.30); stroke-dasharray: 2 4; }
/* moving amber particles */
.scb-signals circle.particle{
    fill: #FED7AA;
    filter: drop-shadow(0 0 6px rgba(249,115,22,.9));
    offset-rotate: 0deg;
  }
.scb-signals .p1{ animation: scbPart 4s linear infinite; offset-path: path("M 0,50 C 25,50 30,50 50,50"); }
.scb-signals .p2{ animation: scbPart 4.5s linear infinite .8s; offset-path: path("M 0,30 C 25,30 30,42 50,46"); }
.scb-signals .p3{ animation: scbPart 5s linear infinite 1.6s; offset-path: path("M 0,70 C 25,70 30,58 50,54"); }
.scb-signals .p4{ animation: scbPart 4s linear infinite .4s; offset-path: path("M 50,50 C 70,50 75,50 100,50"); }
.scb-signals .p5{ animation: scbPart 4.5s linear infinite 1.2s; offset-path: path("M 50,46 C 70,42 75,30 100,30"); }
.scb-signals .p6{ animation: scbPart 5s linear infinite 2s; offset-path: path("M 50,54 C 70,58 75,70 100,70"); }
@keyframes scbPart{ from{ offset-distance: 0%; } to{ offset-distance: 100%; } }
/* BOTTOM RAIL — small, secondary */
.scb-rail{
    position: relative;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px dashed rgba(255,255,255,.08);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
  }
.scb-rail .rl{
    font-family: var(--mono); font-size: 10px;
    color: var(--text-2);
    letter-spacing: .12em;
    padding: 6px 4px;
    text-align: center;
  }
.scb-rail .rl .n{
    color: var(--purple-2);
    margin-right: 4px;
  }
@media (max-width: 720px){
    .scb{
      grid-template-columns: 1fr;
      gap: 12px;
      padding: 12px 4px;
    }
    .scb-signals{ display: none; }
    .scb-core{ margin: 0; }
    .scb-core::before, .scb-core::after{ display: none; }
    .scb-rail{ grid-template-columns: repeat(2, 1fr); }
  }
/* ═════════════ PARTNERSHIP BRIDGE — cinematic 3-block ═════════════ */
.pos-panel.pb{
    padding: 40px 36px 28px;
  }
.pb-stage{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.25fr 1fr;
    align-items: center;
    gap: 28px;
    padding: 16px 0;
  }
/* two soft amber light beams running horizontally behind the blocks */
.pb-stage::before,
  .pb-stage::after{
    content:""; position: absolute;
    left: -20px; right: -20px;
    height: 110px;
    background:
      radial-gradient(50% 90% at 50% 50%, rgba(249,115,22,.20), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
    z-index: 0;
  }
.pb-stage::before{ top: -10px; }
.pb-stage::after { bottom: -10px; opacity: .6; }
.pb-block{
    position: relative;
    z-index: 2;
    min-height: 200px;
    padding: 30px 24px;
    border-radius: 18px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(24,26,38,.85), rgba(14,16,24,.85));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 28px 60px -28px rgba(0,0,0,.6);
    display: flex; flex-direction: column; justify-content: center;
    transition: border-color .25s ease, transform .25s ease;
  }
.pb-block:hover{ border-color: rgba(253,186,116,.32); transform: translateY(-2px); }
.pb-block .pb-k{
    font-family: var(--mono); font-size: 10.5px; color: var(--purple-2);
    letter-spacing: .22em; text-transform: uppercase;
    margin-bottom: 10px;
  }
.pb-block .pb-v{
    font-family: var(--display); font-size: 19px; font-weight: 500;
    color: var(--text); letter-spacing: -.01em;
    line-height: 1.15;
  }
/* center core: larger, brighter, amber-haloed */
.pb-block.core{
    min-height: 240px;
    padding: 28px 24px 24px;
    background:
      radial-gradient(120% 110% at 50% -10%, rgba(249,115,22,.28), transparent 60%),
      linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
      linear-gradient(180deg, rgba(34,28,22,.9), rgba(18,20,28,.9));
    border-color: rgba(253,186,116,.38);
    box-shadow:
      0 0 0 1px rgba(253,186,116,.12) inset,
      0 0 100px rgba(249,115,22,.30),
      0 32px 70px -28px rgba(0,0,0,.65);
    animation: pbGlow 7s ease-in-out infinite;
  }
@keyframes pbGlow{
    0%,100%{ box-shadow: 0 0 0 1px rgba(253,186,116,.12) inset, 0 0 100px rgba(249,115,22,.30), 0 32px 70px -28px rgba(0,0,0,.65); }
    50%   { box-shadow: 0 0 0 1px rgba(253,186,116,.18) inset, 0 0 140px rgba(249,115,22,.45), 0 32px 70px -28px rgba(0,0,0,.65); }
  }
.pb-block.core .pb-k{ color: var(--purple-2); text-align: center; }
.pb-block.core .pb-v{
    text-align: center;
    font-size: 18px;
    margin-bottom: 16px;
  }
.pb-block.core .pb-chips{
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px;
  }
.pb-block.core .pb-chip{
    font-family: var(--mono); font-size: 10px;
    color: var(--text-2);
    padding: 6px 8px;
    border-radius: 6px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    text-align: center;
    letter-spacing: .04em;
  }
/* connecting beam — single soft horizontal amber line across the gap */
.pb-beam{
    position: absolute;
    top: 50%; transform: translateY(-50%);
    height: 1px;
    z-index: 1;
    background: linear-gradient(90deg, transparent, rgba(253,186,116,.55), transparent);
    box-shadow: 0 0 14px rgba(249,115,22,.5);
    pointer-events: none;
  }
.pb-beam.left { left: 24%; right: 56%; }
.pb-beam.right{ left: 56%; right: 24%; }
/* subtle process rail */
.pb-rail{
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px dashed rgba(255,255,255,.08);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 6px;
    font-family: var(--mono);
    color: var(--text-2);
  }
.pb-rail .rl-step{
    position: relative;
    text-align: center;
    padding: 4px 2px;
    min-width: 0;
    overflow: hidden;
  }
.pb-rail .rl-step + .rl-step::before{
    content: "→";
    position: absolute; left: -8px; top: 50%; transform: translateY(-50%);
    color: rgba(253,186,116,.55);
    font-size: 11px;
  }
.pb-rail .rl-n{
    display: block;
    color: var(--purple-2);
    font-size: 10.5px;
    letter-spacing: .14em;
    margin-bottom: 2px;
  }
.pb-rail .rl-v{
    display: block;
    color: var(--text);
    font-size: 10.5px;
    letter-spacing: .08em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
@media (max-width: 480px){
    .pb-rail{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .pb-rail .rl-step + .rl-step::before{ display: none; }
  }
@media (max-width: 720px){
    .pos-panel.pb{ padding: 24px 20px 22px; }
    .pb-stage{ grid-template-columns: 1fr; gap: 14px; }
    .pb-beam{ display: none; }
    .pb-stage::before, .pb-stage::after{ display: none; }
    .pb-block.core .pb-chips{ grid-template-columns: 1fr 1fr; }
    .pb-rail{ flex-wrap: wrap; gap: 8px; font-size: 9.5px; }
  }
/* ═════════════ ECOSYSTEM PAGE LAYER ═════════════ */
/* Technology Constellation hero visual */
.pos-panel.tc{ padding: 34px 28px 22px; }
.tc-stage{
    position: relative;
    aspect-ratio: 5/4;
    width: 100%;
    min-height: 320px;
    overflow: hidden;
  }
.tc-svg{
    position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
  }
.tc-svg path{
    fill: none;
    stroke: rgba(253,186,116,.55);
    stroke-width: 1.2;
    stroke-dasharray: 4 6;
    animation: flow 8s linear infinite;
    filter: drop-shadow(0 0 4px rgba(249,115,22,.45));
  }
.tc-svg path.dim{ stroke: rgba(253,186,116,.22); }
.tc-node{
    position: absolute;
    transform: translate(-50%, -50%);
    padding: 14px 16px 12px;
    border-radius: 12px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(28,30,42,.92), rgba(16,18,26,.92));
    border: 1px solid rgba(253,186,116,.32);
    box-shadow: 0 14px 40px -18px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03);
    z-index: 2;
    min-width: 168px; max-width: 200px;
  }
.tc-node .tn-k{
    font-family: var(--mono); font-size: 9.5px;
    color: var(--purple-2);
    letter-spacing: .18em; text-transform: uppercase;
    display: block; margin-bottom: 4px;
  }
.tc-node .tn-v{
    font-family: var(--display); font-size: 13px; font-weight: 500;
    color: var(--text); letter-spacing: -.005em;
    line-height: 1.2;
  }
.tc-foundation{
    position: absolute;
    left: 8%; right: 8%; bottom: 6%;
    padding: 14px 20px;
    border-radius: 12px;
    text-align: center;
    background:
      radial-gradient(140% 130% at 50% -10%, rgba(249,115,22,.25), transparent 60%),
      linear-gradient(180deg, rgba(34,28,22,.9), rgba(18,20,28,.9));
    border: 1px solid rgba(253,186,116,.42);
    box-shadow: 0 0 80px rgba(249,115,22,.30), 0 20px 60px -20px rgba(0,0,0,.6);
    z-index: 2;
  }
.tc-foundation .tf-k{
    font-family: var(--mono); font-size: 9.5px; color: var(--purple-2);
    letter-spacing: .22em; text-transform: uppercase;
    display: block; margin-bottom: 4px;
  }
.tc-foundation .tf-v{
    font-family: var(--display); font-size: 14px; font-weight: 500; color: var(--text);
    letter-spacing: -.005em;
  }
/* mobile fallback: stack as cards */
.tc-fallback{ display: none; }
@media (max-width: 720px){
    .tc-stage{ display: none; }
    .tc-fallback{
      display: grid; grid-template-columns: 1fr; gap: 10px;
    }
    .tc-fallback .tfb-node{
      padding: 14px 16px; border-radius: 10px;
      background: linear-gradient(180deg, rgba(28,30,42,.85), rgba(16,18,26,.85));
      border: 1px solid rgba(253,186,116,.32);
      font-family: var(--mono); font-size: 12px; color: var(--text);
    }
    .tc-fallback .tfb-node .tn-k{
      display: block; color: var(--purple-2); font-size: 10px;
      letter-spacing: .18em; margin-bottom: 4px; text-transform: uppercase;
    }
    .tc-fallback .tfb-foundation{
      padding: 14px 16px; border-radius: 10px;
      background:
        radial-gradient(120% 130% at 50% -10%, rgba(249,115,22,.25), transparent 60%),
        linear-gradient(180deg, rgba(34,28,22,.9), rgba(18,20,28,.9));
      border: 1px solid rgba(253,186,116,.45);
      text-align: center;
      font-family: var(--display); font-size: 13px; color: var(--text);
    }
    .tc-fallback .tfb-foundation .tn-k{
      display: block; color: var(--purple-2); font-size: 10px;
      letter-spacing: .22em; margin-bottom: 4px; text-transform: uppercase;
      font-family: var(--mono); font-weight: 400;
    }
  }
/* Initiative section visuals (large feature panels) */
.init-row{
    display: grid; grid-template-columns: .95fr 1.05fr; gap: 40px; align-items: center;
  }
.init-row.reverse{ grid-template-columns: 1.05fr .95fr; }
.init-row.reverse .init-vis{ order: -1; }
@media (max-width: 900px){
    .init-row, .init-row.reverse{ grid-template-columns: 1fr; gap: 28px; }
    .init-row.reverse .init-vis{ order: 0; }
  }
.init-body{ padding: 8px 0; }
.init-body .init-ctx{
    font-family: var(--mono); font-size: 11px; color: var(--purple-2);
    letter-spacing: .18em; text-transform: uppercase; margin-bottom: 12px;
    display: block;
  }
.init-body h2{
    font-family: var(--display); font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 500; letter-spacing: -.025em; margin-bottom: 14px;
    text-wrap: balance;
  }
.init-body p{ font-size: 15.5px; color: var(--text-2); margin-bottom: 14px; }
.init-body .compliance{
    margin-top: 14px; padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.08);
    font-family: var(--mono); font-size: 11.5px; color: var(--text-2);
    line-height: 1.55;
    letter-spacing: .02em;
  }
.init-tags{
    display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;
  }
.init-tags .it{
    font-family: var(--mono); font-size: 10.5px;
    padding: 6px 10px; border-radius: 6px;
    background: rgba(249,115,22,.06);
    border: 1px solid rgba(249,115,22,.22);
    color: var(--purple-2);
    letter-spacing: .04em;
  }
.init-cta{ margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.init-vis{
    position: relative;
    aspect-ratio: 5/4;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(249,115,22,.20);
    background:
      radial-gradient(120% 90% at 100% 0%, rgba(249,115,22,.22), transparent 55%),
      linear-gradient(180deg, #15171F 0%, #0C0E15 100%);
    box-shadow: 0 30px 80px -28px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03);
  }
.init-vis::before{
    content:""; position: absolute; inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 35%, transparent 85%);
    opacity: .55;
    pointer-events: none;
  }
.init-vis .iv-tag{
    position: absolute; top: 14px; left: 14px;
    font-family: var(--mono); font-size: 10px; color: var(--text-2);
    letter-spacing: .16em; padding: 4px 8px;
    border-radius: 6px;
    background: rgba(0,0,0,.4);
    border: 1px solid rgba(255,255,255,.08);
  }
.init-vis .iv-tag.right{ left: auto; right: 14px; color: var(--purple-2); }
/* Healthcare visual */
.iv-health{ position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.iv-health svg{ width: 86%; height: 60%; }
.iv-health svg path{
    fill: none; stroke: var(--purple-2); stroke-width: 1.4;
    filter: drop-shadow(0 0 6px rgba(249,115,22,.55));
    stroke-dasharray: 600;
    animation: flow 5s linear infinite;
  }
.iv-health svg path.alt{
    stroke: rgba(253,186,116,.45);
    filter: drop-shadow(0 0 4px rgba(249,115,22,.35));
  }
.iv-health .pulse{
    position: absolute;
    width: 10px; height: 10px; border-radius: 50%;
    background: var(--purple-2);
    box-shadow: 0 0 18px rgba(249,115,22,.9);
    animation: nodePulse 2s ease-in-out infinite;
    top: 50%; right: 12%;
  }
.iv-health .nodes{
    position: absolute; bottom: 16%; left: 12%; right: 12%;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  }
.iv-health .nodes .n{
    height: 22px; border-radius: 5px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--mono); font-size: 9.5px; color: var(--muted);
    letter-spacing: .1em;
  }
/* EyeGift visual */
.iv-iris{ position: absolute; inset: 0; }
.iv-iris .ring{
    position: absolute; left: 50%; top: 48%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
  }
.iv-iris .r1{ width: 38%; aspect-ratio: 1/1;
    background: radial-gradient(closest-side, rgba(249,115,22,.45), rgba(8,8,12,.92) 70%);
    box-shadow: 0 0 30px rgba(249,115,22,.35) inset, 0 0 30px rgba(249,115,22,.35);
    border: 1px solid rgba(253,186,116,.5);
  }
.iv-iris .r2{ width: 56%; aspect-ratio: 1/1; border: 1px dashed rgba(253,186,116,.4); animation: orbitCW 40s linear infinite; }
.iv-iris .r3{ width: 72%; aspect-ratio: 1/1; border: 1px solid rgba(253,186,116,.18); animation: orbitCCW 60s linear infinite; }
.iv-iris .pup{ width: 14%; aspect-ratio: 1/1; background: #06070B; border: 1px solid rgba(253,186,116,.6); box-shadow: 0 0 14px rgba(249,115,22,.35) inset; }
.iv-iris .frame{
    position: absolute; left: 8%; top: 8%; width: 84%; aspect-ratio: 5/4;
    pointer-events: none;
  }
.iv-iris .frame::before, .iv-iris .frame::after,
  .iv-iris .frame > i, .iv-iris .frame > b{
    content: ""; position: absolute; width: 18px; height: 18px;
    border: 1px solid rgba(253,186,116,.65);
  }
.iv-iris .frame::before{ top:0; left:0; border-right:0; border-bottom:0; }
.iv-iris .frame::after{ top:0; right:0; border-left:0; border-bottom:0; }
.iv-iris .frame > i{ bottom: 0; left: 0; border-right:0; border-top:0; display:block; }
.iv-iris .frame > b{ bottom: 0; right: 0; border-left:0; border-top:0; display:block; }
.iv-iris .pipe{
    position: absolute; bottom: 14%; left: 14%; right: 14%;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
  }
.iv-iris .pipe span{
    height: 16px; border-radius: 4px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(253,186,116,.20);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--mono); font-size: 8.5px; color: var(--muted);
    letter-spacing: .14em;
  }
/* Robotics visual */
.iv-rob{ position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.iv-rob svg{ width: 80%; height: 80%; }
.iv-rob svg .arm{ stroke: rgba(253,186,116,.85); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.iv-rob svg .joint{ fill: var(--purple); }
.iv-rob svg .target{
    fill: none; stroke: rgba(253,186,116,.6);
    stroke-width: 1.2; stroke-dasharray: 4 4;
    animation: orbitCW 14s linear infinite;
    transform-origin: 248px 120px;
  }
.iv-rob svg .grid{ stroke: rgba(253,186,116,.18); stroke-width: 0.8; }
/* Foundation architecture (Shared Technical Foundation section) */
.foundation-stack{
    display: grid; grid-template-columns: 1fr; gap: 12px;
    margin-top: 6px;
  }
.fs-row{
    position: relative;
    padding: 18px 20px;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
    border: 1px solid rgba(255,255,255,.07);
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 18px;
    align-items: center;
  }
.fs-row.lift{
    background:
      linear-gradient(145deg, rgba(249,115,22,.10), rgba(255,255,255,.014)),
      linear-gradient(180deg, rgba(28,30,42,.7), rgba(16,18,26,.7));
    border-color: rgba(249,115,22,.22);
  }
.fs-row .fs-k{
    font-family: var(--mono); font-size: 10.5px; color: var(--purple-2);
    letter-spacing: .18em; text-transform: uppercase;
  }
.fs-row .fs-chips{ display: flex; flex-wrap: wrap; gap: 6px; }
.fs-row .fs-chip{
    font-family: var(--mono); font-size: 10.5px;
    color: var(--text-2);
    padding: 5px 9px; border-radius: 6px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    letter-spacing: .04em;
  }
@media (max-width: 720px){
    .fs-row{ grid-template-columns: 1fr; gap: 8px; }
  }
/* tc node refinement */
.tc-node{ max-width: 220px; }
.tc-node-wide{ min-width: 196px; max-width: 240px; }
.tc-node .tn-v{ line-height: 1.18; }
.tc-node-wide .tn-v{ font-size: 12.5px; }
@media (max-width: 1080px){
    .tc-node{ min-width: 150px; max-width: 200px; }
    .tc-node .tn-v{ font-size: 12px; }
  }
/* ═════════════ EYEGIFT IRIS COMMERCE HERO ═════════════ */
.pos-panel.ic{ padding: 30px 26px 22px; }
.ic-stage{
    position: relative;
    aspect-ratio: 5/4;
    width: 100%;
    min-height: 320px;
    overflow: hidden;
    border-radius: 14px;
  }
.ic-iris{
    position: absolute; left: 50%; top: 38%;
    transform: translate(-50%, -50%);
    width: 44%; aspect-ratio: 1/1;
  }
.ic-iris .ring{
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%); border-radius: 50%;
  }
.ic-iris .r1{
    width: 100%; aspect-ratio: 1/1;
    background: radial-gradient(closest-side, rgba(249,115,22,.45), rgba(8,8,12,.95) 70%);
    box-shadow: 0 0 40px rgba(249,115,22,.4) inset, 0 0 40px rgba(249,115,22,.4);
    border: 1px solid rgba(253,186,116,.6);
  }
.ic-iris .r2{ width: 140%; aspect-ratio: 1/1; border: 1px dashed rgba(253,186,116,.4); animation: orbitCW 40s linear infinite; }
.ic-iris .r3{ width: 180%; aspect-ratio: 1/1; border: 1px solid rgba(253,186,116,.18); animation: orbitCCW 60s linear infinite; }
.ic-iris .pup{
    width: 28%; aspect-ratio: 1/1;
    background: #06070B;
    border: 1px solid rgba(253,186,116,.6);
    box-shadow: 0 0 16px rgba(249,115,22,.45) inset;
  }
.ic-frame{
    position: absolute; left: 14%; top: 8%; width: 72%; aspect-ratio: 5/4;
    pointer-events: none;
  }
.ic-frame i, .ic-frame b, .ic-frame::before, .ic-frame::after{
    content: ""; position: absolute; width: 18px; height: 18px;
    border: 1px solid rgba(253,186,116,.75);
  }
.ic-frame::before{ top:0; left:0; border-right:0; border-bottom:0; }
.ic-frame::after { top:0; right:0; border-left:0; border-bottom:0; }
.ic-frame i{ bottom: 0; left: 0; border-right:0; border-top:0; display:block; }
.ic-frame b{ bottom: 0; right: 0; border-left:0; border-top:0; display:block; }
.ic-pipe{
    position: absolute; bottom: 10%; left: 8%; right: 8%;
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
  }
.ic-pipe .ps{
    text-align: center;
    padding: 8px 4px;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(253,186,116,.22);
    font-family: var(--mono);
    min-width: 0; overflow: hidden;
  }
.ic-pipe .ps .n{
    display: block; color: var(--purple-2); font-size: 10px;
    letter-spacing: .14em; margin-bottom: 2px;
  }
.ic-pipe .ps .v{
    display: block; color: var(--text); font-size: 10px;
    letter-spacing: .04em; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis;
  }
/* keep all 5 pipeline steps visible across breakpoints — wrap rather than hide */
@media (max-width: 720px){
    .ic-pipe{ grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
    .ic-pipe .ps{ padding: 6px 3px; }
    .ic-pipe .ps .v{ font-size: 9px; }
    .ic-pipe .ps .n{ font-size: 9px; }
  }
@media (max-width: 480px){
    .ic-pipe{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
  }
@media (max-width: 360px){
    .ic-pipe{ grid-template-columns: 1fr 1fr 1fr; row-gap: 4px; }
  }
/* doc page typography */
.doc-body h3{ font-family: var(--display); font-size: 19px; color: var(--text); font-weight: 500; margin-top: 26px; margin-bottom: 8px; letter-spacing: -.005em; }
.doc-body p{ margin-bottom: 14px; }
.doc-body ul{ margin: 8px 0 16px 20px; padding: 0; list-style: none; }
.doc-body li{ position: relative; padding-left: 16px; margin-bottom: 8px; }
.doc-body li::before{
    content:""; position:absolute; left: 0; top: 12px; width: 8px; height: 1px;
    background: rgba(253,186,116,.6);
  }
.doc-body a{ color: var(--purple-2); border-bottom: 1px dashed rgba(253,186,116,.4); transition: border-color .2s; }
.doc-body a:hover{ border-color: var(--purple-2); }
.doc-body .muted{ font-family: var(--mono); font-size: 11.5px; color: var(--muted); letter-spacing: .04em; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line); }

/* ═════════════ PHOTO VISUALS — real imagery inside .venture-vis / .init-vis ═════════════ */
.viz-photo{
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #06070B;
  z-index: 1;
}
.viz-photo .viz-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: 50% 50%;
  animation: vizDrift 34s ease-in-out infinite alternate;
  filter: saturate(.96) contrast(1.04);
  will-change: transform;
}
.viz-photo .viz-img.from-left{ transform-origin: 38% 52%; animation-name: vizDriftL; }
.viz-photo .viz-img.from-right{ transform-origin: 62% 48%; animation-name: vizDriftR; }
.viz-photo::before{
  /* warm vignette */
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 55%, transparent 32%, rgba(8,8,12,.78) 100%),
    linear-gradient(180deg, rgba(8,8,12,0) 55%, rgba(8,8,12,.6) 100%);
  pointer-events: none;
  z-index: 2;
}
.viz-photo::after{
  /* horizontal scanline sweep */
  content: "";
  position: absolute;
  left: -2%; right: -2%;
  height: 38%;
  top: -38%;
  background: linear-gradient(180deg,
              transparent 0%,
              rgba(253,186,116,.10) 45%,
              rgba(253,186,116,.18) 50%,
              rgba(253,186,116,.10) 55%,
              transparent 100%);
  mix-blend-mode: screen;
  animation: vizScan 9s linear infinite;
  pointer-events: none;
  z-index: 3;
}
.viz-photo .viz-grid{
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(253,186,116,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(253,186,116,.05) 1px, transparent 1px);
  background-size: 36px 36px;
  mix-blend-mode: screen;
  opacity: .55;
  pointer-events: none;
  z-index: 2;
}
.viz-photo .viz-pulse{
  position: absolute;
  z-index: 4;
  top: 18%; right: 12%;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--purple-2);
  box-shadow: 0 0 0 0 rgba(249,115,22,.55);
  animation: vizPulse 2.4s ease-out infinite;
}
.viz-photo .viz-corner{
  position: absolute;
  z-index: 4;
  width: 18px; height: 18px;
  border: 1px solid rgba(253,186,116,.55);
  pointer-events: none;
}
.viz-photo .viz-corner.tl{ top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
.viz-photo .viz-corner.tr{ top: 10px; right: 10px; border-left: 0; border-bottom: 0; }
.viz-photo .viz-corner.bl{ bottom: 10px; left: 10px; border-right: 0; border-top: 0; }
.viz-photo .viz-corner.br{ bottom: 10px; right: 10px; border-left: 0; border-top: 0; }

/* tags that already sit on .venture-vis / .init-vis remain above */
.venture-vis .vis-tag,
.init-vis .iv-tag{ z-index: 5; }
.venture-vis .vc,
.init-vis .iv-tag{ z-index: 6; }

/* investors page — thumb on top of stacked venture cards */
.venture.has-thumb{ grid-template-columns: 1fr; }
.venture.has-thumb .venture-vis{
  aspect-ratio: 16/9;
  border-radius: 14px 14px 0 0;
}

@keyframes vizDrift{
  0%   { transform: scale(1.04) translate3d(0,0,0); }
  50%  { transform: scale(1.07) translate3d(-0.8%, -0.5%, 0); }
  100% { transform: scale(1.05) translate3d(0.6%, 0.6%, 0); }
}
@keyframes vizDriftL{
  0%   { transform: scale(1.05) translate3d(1.2%, 0, 0); }
  100% { transform: scale(1.09) translate3d(-1.2%, -0.6%, 0); }
}
@keyframes vizDriftR{
  0%   { transform: scale(1.05) translate3d(-1.2%, 0, 0); }
  100% { transform: scale(1.09) translate3d(1.2%, 0.6%, 0); }
}
@keyframes vizScan{
  0%   { top: -40%; opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { top: 140%; opacity: 0; }
}
@keyframes vizPulse{
  0%   { box-shadow: 0 0 0 0 rgba(249,115,22,.55); transform: scale(.92); }
  70%  { box-shadow: 0 0 0 18px rgba(249,115,22,0); transform: scale(1.12); }
  100% { box-shadow: 0 0 0 0 rgba(249,115,22,0); transform: scale(.92); }
}

/* Overlay vocab — orbit rings, target reticle, signal nodes (page-consistent) */
.viz-photo .viz-orbit{ position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.viz-photo .viz-orbit .vo{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  aspect-ratio: 1/1;
}
.viz-photo .viz-orbit .vo1{
  width: 36%;
  border: 1px solid rgba(253,186,116,.55);
  box-shadow: 0 0 30px rgba(249,115,22,.30), 0 0 40px rgba(249,115,22,.20) inset;
  animation: orbitCW 30s linear infinite;
}
.viz-photo .viz-orbit .vo2{
  width: 56%;
  border: 1px dashed rgba(253,186,116,.40);
  animation: orbitCCW 44s linear infinite;
}
.viz-photo .viz-orbit .vo3{
  width: 80%;
  border: 1px solid rgba(245,176,65,.18);
  animation: orbitCW 64s linear infinite;
}

.viz-photo .viz-reticle{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 28%; aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px dashed rgba(245,176,65,.55);
  pointer-events: none;
  z-index: 3;
  animation: orbitCW 18s linear infinite;
}
.viz-photo .viz-reticle::before,
.viz-photo .viz-reticle::after{
  content: ""; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.viz-photo .viz-reticle::before{
  width: 45%; aspect-ratio: 1/1;
  border: 1px solid rgba(245,176,65,.45);
}
.viz-photo .viz-reticle::after{
  width: 150%; aspect-ratio: 1/1;
  border: 1px dashed rgba(253,186,116,.20);
}

.viz-photo .viz-nodes{ position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.viz-photo .viz-nodes .vn{
  position: absolute; width: 6px; height: 6px; border-radius: 50%;
  background: var(--purple-2);
  box-shadow: 0 0 10px rgba(249,115,22,.7);
  animation: nodePulse 2.4s ease-in-out infinite;
}
.viz-photo .viz-nodes .vn:nth-child(1){ top: 24%; left: 16%; animation-delay: 0s; }
.viz-photo .viz-nodes .vn:nth-child(2){ top: 32%; right: 14%; animation-delay: .6s; }
.viz-photo .viz-nodes .vn:nth-child(3){ bottom: 22%; left: 22%; animation-delay: 1.2s; }
.viz-photo .viz-nodes .vn:nth-child(4){ bottom: 14%; right: 20%; animation-delay: 1.8s; }
.viz-photo .viz-nodes .vn::before{
  content: ""; position: absolute; inset: -7px;
  border-radius: 50%;
  border: 1px solid rgba(253,186,116,.45);
  animation: nodeRing 2.4s ease-out infinite;
}
@keyframes nodeRing{
  0%{ transform: scale(.6); opacity: 1; }
  100%{ transform: scale(2); opacity: 0; }
}

/* ─── EyeGift camera viewfinder overlay ─── */
.viz-photo .cam{
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 4;
  font-family: var(--mono);
}
.viz-photo .cam-frame{
  position: absolute; left: 50%; top: 50%;
  width: 74%; aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
  animation: camFrame 7s cubic-bezier(.6,.0,.2,1) infinite;
}
.viz-photo .cam-c{
  position: absolute;
  width: 22px; height: 22px;
  border: 1.5px solid var(--purple-2);
  filter: drop-shadow(0 0 5px rgba(249,115,22,.55));
}
.viz-photo .cam-c.tl{ top: 0; left: 0; border-right: 0; border-bottom: 0; }
.viz-photo .cam-c.tr{ top: 0; right: 0; border-left: 0; border-bottom: 0; }
.viz-photo .cam-c.bl{ bottom: 0; left: 0; border-right: 0; border-top: 0; }
.viz-photo .cam-c.br{ bottom: 0; right: 0; border-left: 0; border-top: 0; }
@keyframes camFrame{
  0%, 18%   { width: 76%; opacity: .55; }
  30%, 60%  { width: 38%; opacity: 1; }
  64%       { width: 36%; opacity: 1; border-color: #fff; }
  72%, 92%  { width: 38%; opacity: .85; }
  100%      { width: 76%; opacity: .35; }
}
.viz-photo .cam-cross{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 14px; height: 14px;
  opacity: 0;
  animation: camCross 7s ease-in-out infinite;
}
.viz-photo .cam-cross::before,
.viz-photo .cam-cross::after{
  content: ""; position: absolute; background: var(--purple);
  box-shadow: 0 0 4px var(--purple);
}
.viz-photo .cam-cross::before{ left: 50%; top: -4px; bottom: -4px; width: 1.5px; transform: translateX(-50%); }
.viz-photo .cam-cross::after { top: 50%; left: -4px; right: -4px; height: 1.5px; transform: translateY(-50%); }
@keyframes camCross{
  0%, 28%   { opacity: 0; transform: translate(-50%, -50%) scale(.5); }
  38%, 70%  { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  82%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.4); }
}

.viz-photo .cam-hud{
  position: absolute;
  font-size: 9px;
  color: var(--text-2);
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 7px;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 4px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: inline-flex; gap: 8px; align-items: center;
  white-space: nowrap;
}
.viz-photo .cam-hud.tl{ top: 12px; left: 12px; }
.viz-photo .cam-hud.tr{ top: 12px; right: 12px; }
.viz-photo .cam-hud.bl{ bottom: 12px; left: 12px; }
.viz-photo .cam-hud.br{ bottom: 12px; right: 12px; min-width: 110px; height: 24px; padding: 0 7px; }
.viz-photo .cam-rec{ color: var(--purple); display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.viz-photo .cam-rec i{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--purple); box-shadow: 0 0 8px var(--purple);
  animation: nmRec 1.4s ease-in-out infinite;
}

.viz-photo .cam-st{
  position: absolute;
  left: 7px;
  top: 50%; transform: translateY(-50%);
  opacity: 0;
  white-space: nowrap;
  display: inline-flex; gap: 5px; align-items: center;
  letter-spacing: .12em;
  font-size: 9px;
}
.viz-photo .cam-st::before{
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: currentColor; box-shadow: 0 0 6px currentColor;
}
.viz-photo .cam-st.focus{ color: var(--purple-2); animation: camFocus 7s ease-in-out infinite; }
.viz-photo .cam-st.lock { color: var(--cyan);     animation: camLock  7s ease-in-out infinite; }
.viz-photo .cam-st.cap  { color: #fff;            animation: camCap   7s ease-in-out infinite; }
.viz-photo .cam-st.proc { color: var(--purple-2); animation: camProc  7s ease-in-out infinite; }
@keyframes camFocus{ 0%,22%{ opacity:1; } 25%,100%{ opacity:0; } }
@keyframes camLock { 0%,28%{ opacity:0; } 32%,58%{ opacity:1; } 60%,100%{ opacity:0; } }
@keyframes camCap  { 0%,58%{ opacity:0; } 60%,66%{ opacity:1; } 68%,100%{ opacity:0; } }
@keyframes camProc { 0%,68%{ opacity:0; } 71%,94%{ opacity:1; } 96%,100%{ opacity:0; } }

.viz-photo .cam-flash{
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.95), rgba(255,255,255,.3) 60%, transparent 80%);
  opacity: 0;
  mix-blend-mode: screen;
  animation: camFlash 7s linear infinite;
  z-index: 5;
}
@keyframes camFlash{
  0%, 58% { opacity: 0; }
  60%     { opacity: .85; }
  64%     { opacity: 0; }
  100%    { opacity: 0; }
}

.viz-photo .cam-scan{
  position: absolute; left: -2%; right: -2%;
  height: 28%;
  top: -28%;
  background: linear-gradient(180deg,
              transparent 0%,
              rgba(245,176,65,.25) 40%,
              rgba(253,186,116,.55) 50%,
              rgba(245,176,65,.25) 60%,
              transparent 100%);
  opacity: 0;
  mix-blend-mode: screen;
  animation: camScan 7s linear infinite;
  z-index: 4;
}
@keyframes camScan{
  0%, 66%   { top: -30%; opacity: 0; }
  68%       { opacity: 1; }
  92%       { top: 100%; opacity: 1; }
  94%, 100% { opacity: 0; }
}

.viz-photo .cam-grid{
  /* rule-of-thirds inside the locked frame */
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 38%; aspect-ratio: 1/1;
  pointer-events: none;
  opacity: 0;
  animation: camGrid 7s ease-in-out infinite;
}
.viz-photo .cam-grid::before,
.viz-photo .cam-grid::after{
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(253,186,116,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(253,186,116,.18) 1px, transparent 1px);
  background-size: calc(100%/3) calc(100%/3);
  background-position: 0 0;
}
@keyframes camGrid{
  0%, 28%   { opacity: 0; }
  35%, 60%  { opacity: 1; }
  70%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
  .viz-photo .cam-frame,
  .viz-photo .cam-cross,
  .viz-photo .cam-rec i,
  .viz-photo .cam-st,
  .viz-photo .cam-flash,
  .viz-photo .cam-scan,
  .viz-photo .cam-grid{ animation: none; }
}

@media (prefers-reduced-motion: reduce){
  .viz-photo .viz-img,
  .viz-photo::after,
  .viz-photo .viz-pulse,
  .viz-photo .viz-orbit .vo,
  .viz-photo .viz-reticle,
  .viz-photo .viz-reticle::after,
  .viz-photo .viz-nodes .vn{ animation: none; }
}

/* ═════════════ NSAI EEG MONITOR — custom-built live dashboard ═════════════ */
.venture-vis, .init-vis{ container-type: inline-size; }
.venture-vis:has(.nm) > .vis-tag,
.init-vis:has(.nm) > .iv-tag,
.venture-vis:has(.cam) > .vis-tag,
.init-vis:has(.cam) > .iv-tag{ display: none; }

.nm{
  position: absolute; inset: 12px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 6px;
  padding: 9px 12px 8px;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(249,115,22,.10), transparent 60%),
    linear-gradient(180deg, rgba(8,8,12,.88), rgba(8,8,12,.97));
  border: 1px solid rgba(253,186,116,.14);
  border-radius: 10px;
  font-family: var(--mono);
  z-index: 2;
  overflow: hidden;
  box-shadow: inset 0 0 60px rgba(249,115,22,.05);
}
.nm::before{
  content:""; position:absolute; left:0; right:0; top:-30%; height:30%;
  background: linear-gradient(180deg, transparent 0%, rgba(253,186,116,.10) 50%, transparent 100%);
  mix-blend-mode: screen;
  pointer-events:none;
  animation: nmSweep 9s linear infinite;
}
@keyframes nmSweep{ to{ top: 130%; } }
.nm-h{
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px;
  font-size: 8.5px; color: var(--muted);
  letter-spacing: .08em;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(253,186,116,.10);
  white-space: nowrap;
}
.nm-rec{ color: var(--purple); display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.nm-rec i{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px var(--purple);
  animation: nmRec 1.4s ease-in-out infinite;
}
@keyframes nmRec{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(.85); } }
.nm-info{ color: var(--muted); text-align: center; overflow: hidden; text-overflow: ellipsis; }
.nm-sess{ color: var(--text-2); }
.nm-sess b{ color: var(--text); font-weight: 500; margin: 0 2px; }

.nm-main{ display: grid; grid-template-columns: 1fr 38%; gap: 9px; min-height: 0; }
.nm-traces{
  display: grid; grid-template-rows: repeat(6, 1fr);
  gap: 1px; min-height: 0;
}
.nm-row{ display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 8px; min-height: 0; }
.nm-lbl{ font-size: 8.5px; color: var(--purple-2); letter-spacing: .04em; }
.nm-wave{ width: 100%; height: 100%; max-height: 30px; display: block; overflow: visible; }
.nm-wave path{
  fill: none;
  stroke: var(--cyan);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 3px rgba(245,176,65,.45));
}
.nm-row.r2 .nm-wave path{ stroke: var(--purple-2); opacity: .80; }
.nm-row.r3 .nm-wave path{ stroke: rgba(253,186,116,.55); }
.nm-row.r5 .nm-wave path{ stroke: rgba(245,176,65,.75); }
.nm-row.r6 .nm-wave path{ stroke: rgba(253,186,116,.45); }
.nm-row.seiz .nm-lbl{ color: var(--purple); font-weight: 600; }
.nm-row.seiz .nm-wave path{
  stroke: var(--purple);
  stroke-width: 1.4;
  filter: drop-shadow(0 0 6px rgba(249,115,22,.6));
}

.nm-side{ display: flex; flex-direction: column; gap: 5px; min-height: 0; overflow: hidden; }
.nm-card{
  flex-shrink: 0;
  padding: 7px 9px;
  border-radius: 6px;
  background: rgba(18,18,26,.65);
  border: 1px solid rgba(253,186,116,.10);
}
.nm-card .nm-k{ display: block; font-size: 8px; letter-spacing: .14em; color: var(--purple-2); margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nm-card .nm-k i{
  display: inline-block; width: 5px; height: 5px; border-radius: 50%;
  background: currentColor; margin-right: 5px; vertical-align: middle;
  box-shadow: 0 0 6px currentColor;
}
.nm-card strong{
  display: block; font-family: var(--display); font-size: 12.5px;
  color: var(--text); font-weight: 500; margin-bottom: 2px; letter-spacing: -.005em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nm-card em{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-style: normal; font-size: 8px; color: var(--muted);
  letter-spacing: .03em; line-height: 1.35;
}
.nm-card.warn{ border-color: rgba(249,115,22,.32); background: rgba(40,18,8,.5); }
.nm-card.warn .nm-k{ color: var(--purple); }

.nm-stats{ display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: auto; flex-shrink: 0; }
.nm-stats > div{
  padding: 5px 8px;
  border-radius: 5px;
  background: rgba(18,18,26,.55);
  border: 1px solid rgba(253,186,116,.08);
}
.nm-stats span{ display: block; font-size: 7.5px; color: var(--muted); letter-spacing: .12em; margin-bottom: 1px; }
.nm-stats b{ display: block; font-family: var(--display); font-size: 12.5px; color: var(--text); font-weight: 500; }
.nm-stats b i{ font-style: normal; font-size: 9px; color: var(--purple-2); margin-left: 1px; }
.nm-stats b.acc{ color: var(--purple-2); }

.nm-f{
  display: flex; align-items: center; gap: 8px;
  padding-top: 6px; border-top: 1px solid rgba(253,186,116,.10);
}
.nm-tl{ flex: 1; height: 6px; border-radius: 3px; background: rgba(253,186,116,.10); position: relative; }
.nm-tl .nm-tl-fill{
  position: absolute; left: 0; top: 0; bottom: 0;
  background: linear-gradient(90deg, var(--purple), var(--purple-2));
  border-radius: 3px;
  width: 60%;
  animation: nmTl 18s ease-in-out infinite alternate;
}
.nm-tl .nm-tl-mk{
  position: absolute; top: -1px; bottom: -1px; width: 2px;
  background: var(--purple);
  box-shadow: 0 0 6px var(--purple);
}
.nm-tl .m1{ left: 18%; }
.nm-tl .m2{ left: 38%; }
.nm-tl .m3{ left: 52%; }
@keyframes nmTl{ 0%{ width: 18%; } 100%{ width: 80%; } }
.nm-time{ font-size: 8.5px; color: var(--muted); letter-spacing: .04em; white-space: nowrap; }
.nm-time b{ color: var(--text); font-weight: 500; margin: 0 2px; }

/* container-query adjustments — keep the dashboard readable inside narrow venture cards */
@container (max-width: 520px){
  .nm{ inset: 10px; padding: 8px 10px 7px; }
  .nm-h{ font-size: 7.5px; gap: 6px; }
  .nm-h .nm-info{ display: none; }
  .nm-lbl{ font-size: 7.5px; }
  .nm-row{ grid-template-columns: 48px 1fr; gap: 6px; }
  .nm-card{ padding: 5px 7px; }
  .nm-card .nm-k{ font-size: 7px; }
  .nm-card strong{ font-size: 11.5px; }
  .nm-card em{ font-size: 7.5px; }
  .nm-stats > div{ padding: 4px 6px; }
  .nm-stats span{ font-size: 6.5px; }
  .nm-stats b{ font-size: 11px; }
  .nm-main{ grid-template-columns: 1fr 40%; gap: 7px; }
  .nm-time{ font-size: 7.5px; }
}
@container (max-width: 380px){
  .nm-main{ grid-template-columns: 1fr; }
  .nm-side{ display: none; }
}
/* compact primary CTA for long-text labels (e.g. "Discuss Ecosystem Collaboration") */
.btn.btn-compact{
  font-size: 12.5px;
  padding: 0 14px;
  letter-spacing: 0;
  gap: 8px;
}
.btn.btn-compact .arrow{ width: 13px; height: 13px; }
@media (max-width: 540px){
  .nav .btn-primary.btn-compact{
    font-size: 0;
    width: 44px; height: 44px; padding: 0;
    justify-content: center;
  }
  .nav .btn-primary.btn-compact .arrow{ width: 16px; height: 16px; }
}
/* keep all section-head h2 titles on a single line on desktop */
@media (min-width: 1024px){
  .section-head{ max-width: none; }
  .section-head h2{
    white-space: nowrap;
    font-size: clamp(26px, 2.8vw, 40px);
  }
  /* opt-out: titles too long to fit on one line keep balanced wrap */
  .section-head.allow-wrap h2{
    white-space: normal;
    font-size: clamp(26px, 2.6vw, 36px);
  }
}
/* nav safety: keep brand + button rigid, let the menu compress first */
.nav-inner .brand{ flex: 0 0 auto; }
.nav-inner > .btn{ flex: 0 0 auto; }
.nav-inner .menu{ flex: 1 1 auto; min-width: 0; justify-content: center; }
@media (max-width: 1200px){
  .nav-inner .menu{ gap: 16px; }
  .nav-inner .menu a{ font-size: 13px; }
}
@media (max-width: 760px){
  .nm-h .nm-sess{ display: none; }
}