/* Self-hosted subset fonts (assets/fonts/*.woff) — no external requests */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/outfit-400.woff) format('woff');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/outfit-700.woff) format('woff');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-sans-400.woff) format('woff');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/instrument-sans-700.woff) format('woff');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400.woff) format('woff');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-mono-700.woff) format('woff');}
:root{
  --ink:#05091A;
  --ink-2:#080F24;
  --panel:#0C1530;
  --panel-2:#0F1A3A;
  --bezel:#1B2A52;
  --line:rgba(125,155,220,.14);
  --line-strong:rgba(125,155,220,.28);
  --text:#EAF0FB;
  --muted:#92A3C7;
  --muted-2:#7E91B6;
  --dim:#7385AB;
  --amber:#2FA8E8;     /* primary night-instrument glow */
  --amber-deep:#1E86C6;
  --cyan:#5BD7E6;      /* data / secondary */
  --cyan-deep:#2BA7BE;
  --sky:#5C84FF;       /* links / cool accent */
  --good:#57E0A6;
  --warn:#FF7A6B;
  --r:14px;
  --r-sm:9px;
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#070E22;overflow-x:hidden}
body{
  margin:0;
  background:transparent;
  color:var(--text);
  font-family:"Instrument Sans",system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Outfit',sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.08;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
.mono{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* ---------- IMMERSIVE PARALLAX BACKDROP ---------- */
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bgfx > div{position:absolute;left:0;right:0;will-change:transform,background-position}
.bg-sky{inset:0;background:radial-gradient(1300px 760px at 72% 90%, rgba(47,168,232,.12), transparent 58%),radial-gradient(1500px 900px at 50% -16%, #0d1c44 0%, transparent 60%),linear-gradient(180deg,#070E26 0%, #06122E 46%, #0a1432 74%, #0a1228 100%);}
.bg-routes{top:-14%;height:128%;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE0NDAgOTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSI+PHBhdGggZD0iTS00MCwyNTAgUTU2MCwxNTAgMTE4MCwzMDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2QTZFNiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1vcGFjaXR5PSIwLjM0IiBzdHJva2UtZGFzaGFycmF5PSIyIDEwIi8+PHBhdGggZD0iTTEyMCw3NjAgUTcyMCw1NjAgMTQ4MCw1MjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2QTZFNiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1vcGFjaXR5PSIwLjM0IiBzdHJva2UtZGFzaGFycmF5PSIyIDEwIi8+PHBhdGggZD0iTTMwMCw2MCBROTAwLDM2MCAxNTAwLDI0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODZBNkU2IiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLW9wYWNpdHk9IjAuMzQiIHN0cm9rZS1kYXNoYXJyYXk9IjIgMTAiLz48Y2lyY2xlIGN4PSI1NjAiIGN5PSIxNTAiIHI9IjExIiBmaWxsPSJub25lIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2Utb3BhY2l0eT0iMC41NSIvPjxsaW5lIHgxPSI1NzEuMCIgeTE9IjE1MC4wIiB4Mj0iNTc1LjAiIHkyPSIxNTAuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NjcuOCIgeTE9IjE1Ny44IiB4Mj0iNTcwLjYiIHkyPSIxNjAuNiIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NjAuMCIgeTE9IjE2MS4wIiB4Mj0iNTYwLjAiIHkyPSIxNjUuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NTIuMiIgeTE9IjE1Ny44IiB4Mj0iNTQ5LjQiIHkyPSIxNjAuNiIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NDkuMCIgeTE9IjE1MC4wIiB4Mj0iNTQ1LjAiIHkyPSIxNTAuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NTIuMiIgeTE9IjE0Mi4yIiB4Mj0iNTQ5LjQiIHkyPSIxMzkuNCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NjAuMCIgeTE9IjEzOS4wIiB4Mj0iNTYwLjAiIHkyPSIxMzUuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSI1NjcuOCIgeTE9IjE0Mi4yIiB4Mj0iNTcwLjYiIHkyPSIxMzkuNCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxjaXJjbGUgY3g9IjU2MCIgY3k9IjE1MCIgcj0iMiIgZmlsbD0iIzVCRDdFNiIgZmlsbC1vcGFjaXR5PSIwLjciLz48cmVjdCB4PSIxMTMiIHk9Ijc1MyIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2Utb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAxMjAgNzYwKSIvPjxjaXJjbGUgY3g9IjExODAiIGN5PSIzMDAiIHI9IjkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1vcGFjaXR5PSIwLjU1Ii8+PGxpbmUgeDE9IjExODkuMCIgeTE9IjMwMC4wIiB4Mj0iMTE5My4wIiB5Mj0iMzAwLjAiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMTE4Ni40IiB5MT0iMzA2LjQiIHgyPSIxMTg5LjIiIHkyPSIzMDkuMiIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSIxMTgwLjAiIHkxPSIzMDkuMCIgeDI9IjExODAuMCIgeTI9IjMxMy4wIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PGxpbmUgeDE9IjExNzMuNiIgeTE9IjMwNi40IiB4Mj0iMTE3MC44IiB5Mj0iMzA5LjIiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMTE3MS4wIiB5MT0iMzAwLjAiIHgyPSIxMTY3LjAiIHkyPSIzMDAuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSIxMTczLjYiIHkxPSIyOTMuNiIgeDI9IjExNzAuOCIgeTI9IjI5MC44IiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PGxpbmUgeDE9IjExODAuMCIgeTE9IjI5MS4wIiB4Mj0iMTE4MC4wIiB5Mj0iMjg3LjAiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMTE4Ni40IiB5MT0iMjkzLjYiIHgyPSIxMTg5LjIiIHkyPSIyOTAuOCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxjaXJjbGUgY3g9IjExODAiIGN5PSIzMDAiIHI9IjIiIGZpbGw9IiM1QkQ3RTYiIGZpbGwtb3BhY2l0eT0iMC43Ii8+PHJlY3QgeD0iODk0IiB5PSIzNTQiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDkwMCAzNjApIi8+PHJlY3QgeD0iMTQ5MyIgeT0iMjMzIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDE1MDAgMjQwKSIvPjxjaXJjbGUgY3g9IjMwMCIgY3k9IjYwIiByPSI5IiBmaWxsPSJub25lIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2Utb3BhY2l0eT0iMC41NSIvPjxsaW5lIHgxPSIzMDkuMCIgeTE9IjYwLjAiIHgyPSIzMTMuMCIgeTI9IjYwLjAiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMzA2LjQiIHkxPSI2Ni40IiB4Mj0iMzA5LjIiIHkyPSI2OS4yIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PGxpbmUgeDE9IjMwMC4wIiB5MT0iNjkuMCIgeDI9IjMwMC4wIiB5Mj0iNzMuMCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSIyOTMuNiIgeTE9IjY2LjQiIHgyPSIyOTAuOCIgeTI9IjY5LjIiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMjkxLjAiIHkxPSI2MC4wIiB4Mj0iMjg3LjAiIHkyPSI2MC4wIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PGxpbmUgeDE9IjI5My42IiB5MT0iNTMuNiIgeDI9IjI5MC44IiB5Mj0iNTAuOCIgc3Ryb2tlPSIjNUJEN0U2IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxsaW5lIHgxPSIzMDAuMCIgeTE9IjUxLjAiIHgyPSIzMDAuMCIgeTI9IjQ3LjAiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48bGluZSB4MT0iMzA2LjQiIHkxPSI1My42IiB4Mj0iMzA5LjIiIHkyPSI1MC44IiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PGNpcmNsZSBjeD0iMzAwIiBjeT0iNjAiIHI9IjIiIGZpbGw9IiM1QkQ3RTYiIGZpbGwtb3BhY2l0eT0iMC43Ii8+PHJlY3QgeD0iNzE0IiB5PSI1NTQiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDcyMCA1NjApIi8+PHJlY3QgeD0iMTQ3MyIgeT0iNTEzIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDE0ODAgNTIwKSIvPjwvc3ZnPg==") center/cover no-repeat;opacity:.7;}
.bg-chart{top:-14%;height:128%;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE0NDAgOTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSI+PGxpbmUgeDE9IjAiIHkxPSI1NjAiIHgyPSIxNDQwIiB5Mj0iNTYwIiBzdHJva2U9IiM4NkE2RTYiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLW9wYWNpdHk9IjAuMDgiLz48bGluZSB4MT0iMCIgeTE9IjY0MCIgeDI9IjE0NDAiIHkyPSI2NDAiIHN0cm9rZT0iIzg2QTZFNiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2Utb3BhY2l0eT0iMC4wOCIvPjxsaW5lIHgxPSIwIiB5MT0iNzIwIiB4Mj0iMTQ0MCIgeTI9IjcyMCIgc3Ryb2tlPSIjODZBNkU2IiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1vcGFjaXR5PSIwLjA4Ii8+PHBvbHlnb24gcG9pbnRzPSIyNC4wLDg0MCAyNC4wLDY3Ni45IDcyLjAsNjcwLjcgMTIwLjAsNjYyLjYgMTY4LjAsNjUzLjEgMjE2LjAsNjQ2LjUgMjY0LjAsNjM4LjEgMzEyLjAsNjI2LjQgMzYwLjAsNjE3LjYgNDA4LjAsNjEzLjggNDU2LjAsNjEzLjAgNTA0LjAsNjA2LjQgNTUyLjAsNTk2LjcgNjAwLjAsNTkyLjkgNjQ4LjAsNTg3LjQgNjk2LjAsNTc2LjAgNzQ0LjAsNTY2LjMgNzkyLjAsNTYwLjQgODQwLjAsNTU3LjggODg4LjAsNTUzLjkgOTM2LjAsNTQ3LjQgOTg0LjAsNTQxLjQgMTAzMi4wLDUzNS43IDEwODAuMCw1MzIuNiAxMTI4LjAsNTI3LjggMTE3Ni4wLDUyMS40IDEyMjQuMCw1MTMuMiAxMjcyLjAsNTA0LjcgMTMyMC4wLDUwMi40IDEzNjguMCw0OTYuMSAxNDE2LjAsNDg2LjUgMTQxNi4wLDg0MCIgZmlsbD0iIzVCRDdFNiIgZmlsbC1vcGFjaXR5PSIwLjA2Ii8+PGxpbmUgeDE9IjI0LjAiIHkxPSI2NTkuOCIgeDI9IjI0LjAiIHkyPSI2OTUuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjEzLjQiIHk9IjY3My43IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI3LjMiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNzIuMCIgeTE9IjY2MS40IiB4Mj0iNzIuMCIgeTI9IjY4NC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iNjEuNCIgeT0iNjY3LjciIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjcuMCIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSIxMjAuMCIgeTE9IjY0Mi40IiB4Mj0iMTIwLjAiIHkyPSI2NzQuOCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjEwOS40IiB5PSI2NTcuNCIgd2lkdGg9IjIxLjEiIGhlaWdodD0iMTEuMiIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSIxNjguMCIgeTE9IjYzNy4zIiB4Mj0iMTY4LjAiIHkyPSI2NjkuMiIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjE1Ny40IiB5PSI2NDguNyIgd2lkdGg9IjIxLjEiIGhlaWdodD0iOS43IiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjIxNi4wIiB5MT0iNjM1LjUiIHgyPSIyMTYuMCIgeTI9IjY2My45IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iMjA1LjQiIHk9IjY0NC4zIiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI1LjQiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMjY0LjAiIHkxPSI2MTguMCIgeDI9IjI2NC4wIiB5Mj0iNjUxLjciIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIyNTMuNCIgeT0iNjMxLjkiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjEzLjQiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMzEyLjAiIHkxPSI2MTQuOCIgeDI9IjMxMi4wIiB5Mj0iNjQ2LjciIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIzMDEuNCIgeT0iNjIwLjgiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjEyLjIiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMzYwLjAiIHkxPSI1OTguNiIgeDI9IjM2MC4wIiB5Mj0iNjM1LjUiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIzNDkuNCIgeT0iNjE0LjQiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjcuNCIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSI0MDguMCIgeTE9IjYwMS44IiB4Mj0iNDA4LjAiIHkyPSI2MjcuMiIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjM5Ny40IiB5PSI2MTMuMiIgd2lkdGg9IjIxLjEiIGhlaWdodD0iMi4yIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjQ1Ni4wIiB5MT0iNTk5LjgiIHgyPSI0NTYuMCIgeTI9IjYyOC45IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iNDQ1LjQiIHk9IjYxMi43IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSIxLjUiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNTA0LjAiIHkxPSI1OTAuNSIgeDI9IjUwNC4wIiB5Mj0iNjIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSI0OTMuNCIgeT0iNjAwLjEiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjEzLjUiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNTUyLjAiIHkxPSI1ODQuMiIgeDI9IjU1Mi4wIiB5Mj0iNjEyLjIiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSI1NDEuNCIgeT0iNTkzLjIiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjcuOSIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSI2MDAuMCIgeTE9IjU4My4yIiB4Mj0iNjAwLjAiIHkyPSI2MDIuMyIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjU4OS40IiB5PSI1OTIuNiIgd2lkdGg9IjIxLjEiIGhlaWdodD0iMS42IiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjY0OC4wIiB5MT0iNTczLjEiIHgyPSI2NDguMCIgeTI9IjYwMy40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iNjM3LjQiIHk9IjU4Mi4zIiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSIxMS4zIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjY5Ni4wIiB5MT0iNTUzLjkiIHgyPSI2OTYuMCIgeTI9IjU4OC41IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iNjg1LjQiIHk9IjU2OS43IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSIxMy42IiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9Ijc0NC4wIiB5MT0iNTU2LjgiIHgyPSI3NDQuMCIgeTI9IjU4My41IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iNzMzLjQiIHk9IjU2Mi45IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI3LjciIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNzkyLjAiIHkxPSI1NTEuOCIgeDI9Ijc5Mi4wIiB5Mj0iNTY5LjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSI3ODEuNCIgeT0iNTU3LjkiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjYuMCIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSI4NDAuMCIgeTE9IjU0OS44IiB4Mj0iODQwLjAiIHkyPSI1NzEuNSIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjgyOS40IiB5PSI1NTcuNyIgd2lkdGg9IjIxLjEiIGhlaWdodD0iMS4yIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9Ijg4OC4wIiB5MT0iNTQwLjUiIHgyPSI4ODguMCIgeTI9IjU2Ny4zIiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iODc3LjQiIHk9IjU1MC4wIiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI4LjgiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iOTM2LjAiIHkxPSI1MzcuOCIgeDI9IjkzNi4wIiB5Mj0iNTYzLjUiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSI5MjUuNCIgeT0iNTQ0LjkiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjYuMCIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSI5ODQuMCIgeTE9IjUzMS41IiB4Mj0iOTg0LjAiIHkyPSI1NjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9Ijk3My40IiB5PSI1MzcuOCIgd2lkdGg9IjIxLjEiIGhlaWdodD0iOC4xIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjEwMzIuMCIgeTE9IjUyMS41IiB4Mj0iMTAzMi4wIiB5Mj0iNTUzLjAiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIxMDIxLjQiIHk9IjUzMy42IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI1LjIiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMTA4MC4wIiB5MT0iNTIwLjIiIHgyPSIxMDgwLjAiIHkyPSI1NDIuOCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjEwNjkuNCIgeT0iNTMxLjYiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjMuMCIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSIxMTI4LjAiIHkxPSI1MTcuMSIgeDI9IjExMjguMCIgeTI9IjUzOS4xIiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iMTExNy40IiB5PSI1MjMuOSIgd2lkdGg9IjIxLjEiIGhlaWdodD0iOC43IiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjExNzYuMCIgeTE9IjUxMS40IiB4Mj0iMTE3Ni4wIiB5Mj0iNTMwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIxMTY1LjQiIHk9IjUxOS4wIiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI1LjkiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMTIyNC4wIiB5MT0iNDk3LjMiIHgyPSIxMjI0LjAiIHkyPSI1MjcuMyIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjEyMTMuNCIgeT0iNTA3LjQiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjEyLjYiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iMTI3Mi4wIiB5MT0iNDkxLjUiIHgyPSIxMjcyLjAiIHkyPSI1MTcuNiIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPjxyZWN0IHg9IjEyNjEuNCIgeT0iNTAyLjAiIHdpZHRoPSIyMS4xIiBoZWlnaHQ9IjYuMyIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjQiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLW9wYWNpdHk9IjAuNTUiIHN0cm9rZS13aWR0aD0iMSIvPjxsaW5lIHgxPSIxMzIwLjAiIHkxPSI0OTUuNyIgeDI9IjEzMjAuMCIgeTI9IjUxMy44IiBzdHJva2U9IiM4NkE2RTYiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2Utb3BhY2l0eT0iMC41Ii8+PHJlY3QgeD0iMTMwOS40IiB5PSI1MDIuMCIgd2lkdGg9IjIxLjEiIGhlaWdodD0iMS44IiBmaWxsPSIjODZBNkU2IiBmaWxsLW9wYWNpdHk9IjAuNSIgc3Ryb2tlPSIjODZBNkU2IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjEzNjguMCIgeTE9IjQ3Ni4yIiB4Mj0iMTM2OC4wIiB5Mj0iNTE4LjMiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIxMzU3LjQiIHk9IjQ4OS41IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSIxNC4zIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuNCIgc3Ryb2tlPSIjMkZBOEU4IiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjE0MTYuMCIgeTE9IjQ3Ni40IiB4Mj0iMTQxNi4wIiB5Mj0iNDk5LjgiIHN0cm9rZT0iIzJGQThFOCIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz48cmVjdCB4PSIxNDA1LjQiIHk9IjQ4My41IiB3aWR0aD0iMjEuMSIgaGVpZ2h0PSI3LjAiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2U9IiMyRkE4RTgiIHN0cm9rZS1vcGFjaXR5PSIwLjU1IiBzdHJva2Utd2lkdGg9IjEiLz48cG9seWxpbmUgcG9pbnRzPSIyNC4wLDY3Ni45IDcyLjAsNjcwLjcgMTIwLjAsNjYyLjYgMTY4LjAsNjUzLjEgMjE2LjAsNjQ2LjUgMjY0LjAsNjM4LjEgMzEyLjAsNjI2LjQgMzYwLjAsNjE3LjYgNDA4LjAsNjEzLjggNDU2LjAsNjEzLjAgNTA0LjAsNjA2LjQgNTUyLjAsNTk2LjcgNjAwLjAsNTkyLjkgNjQ4LjAsNTg3LjQgNjk2LjAsNTc2LjAgNzQ0LjAsNTY2LjMgNzkyLjAsNTYwLjQgODQwLjAsNTU3LjggODg4LjAsNTUzLjkgOTM2LjAsNTQ3LjQgOTg0LjAsNTQxLjQgMTAzMi4wLDUzNS43IDEwODAuMCw1MzIuNiAxMTI4LjAsNTI3LjggMTE3Ni4wLDUyMS40IDEyMjQuMCw1MTMuMiAxMjcyLjAsNTA0LjcgMTMyMC4wLDUwMi40IDEzNjguMCw0OTYuMSAxNDE2LjAsNDg2LjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzVCRDdFNiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2Utb3BhY2l0eT0iMC4xMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBvbHlsaW5lIHBvaW50cz0iMjQuMCw2NzYuOSA3Mi4wLDY3MC43IDEyMC4wLDY2Mi42IDE2OC4wLDY1My4xIDIxNi4wLDY0Ni41IDI2NC4wLDYzOC4xIDMxMi4wLDYyNi40IDM2MC4wLDYxNy42IDQwOC4wLDYxMy44IDQ1Ni4wLDYxMy4wIDUwNC4wLDYwNi40IDU1Mi4wLDU5Ni43IDYwMC4wLDU5Mi45IDY0OC4wLDU4Ny40IDY5Ni4wLDU3Ni4wIDc0NC4wLDU2Ni4zIDc5Mi4wLDU2MC40IDg0MC4wLDU1Ny44IDg4OC4wLDU1My45IDkzNi4wLDU0Ny40IDk4NC4wLDU0MS40IDEwMzIuMCw1MzUuNyAxMDgwLjAsNTMyLjYgMTEyOC4wLDUyNy44IDExNzYuMCw1MjEuNCAxMjI0LjAsNTEzLjIgMTI3Mi4wLDUwNC43IDEzMjAuMCw1MDIuNCAxMzY4LjAsNDk2LjEgMTQxNi4wLDQ4Ni41IiBmaWxsPSJub25lIiBzdHJva2U9IiM1QkQ3RTYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2Utb3BhY2l0eT0iMC43NSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGNpcmNsZSBjeD0iMjQuMCIgY3k9IjY3Ni45IiByPSIzLjIiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC44Ii8+PGNpcmNsZSBjeD0iMjY0LjAiIGN5PSI2MzguMSIgcj0iMy4yIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuOCIvPjxjaXJjbGUgY3g9IjUwNC4wIiBjeT0iNjA2LjQiIHI9IjMuMiIgZmlsbD0iIzJGQThFOCIgZmlsbC1vcGFjaXR5PSIwLjgiLz48Y2lyY2xlIGN4PSI3NDQuMCIgY3k9IjU2Ni4zIiByPSIzLjIiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC44Ii8+PGNpcmNsZSBjeD0iOTg0LjAiIGN5PSI1NDEuNCIgcj0iMy4yIiBmaWxsPSIjMkZBOEU4IiBmaWxsLW9wYWNpdHk9IjAuOCIvPjxjaXJjbGUgY3g9IjEyMjQuMCIgY3k9IjUxMy4yIiByPSIzLjIiIGZpbGw9IiMyRkE4RTgiIGZpbGwtb3BhY2l0eT0iMC44Ii8+PC9zdmc+") center/cover no-repeat;opacity:.85;}
.bg-vignette{inset:0;background:
  radial-gradient(1200px 800px at 50% 110%, rgba(47,168,232,.05), transparent 60%),
  radial-gradient(150% 130% at 50% 0%, transparent 62%, rgba(2,4,10,.4) 100%);}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:linear-gradient(180deg,rgba(6,11,28,.86),rgba(6,11,28,.55));
  border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-family:'Outfit';font-weight:600;font-size:16.5px;letter-spacing:.01em}
.brand .mark{width:30px;height:30px;flex:0 0 auto}
.brand-logo{height:31px;width:auto;display:block}
header.nav .brand-logo{height:38px}
.brand b{color:var(--amber);font-weight:700}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-right{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:14px;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-cta{font-family:'Outfit';font-size:13.5px;font-weight:600;color:var(--ink)!important;
  background:var(--amber);padding:9px 16px;border-radius:8px;transition:transform .2s var(--ease),box-shadow .2s}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px -8px rgba(47,168,232,.6)}
.nav-toggle{display:none}

/* ---------- HERO ---------- */
.hero{padding:74px 0 40px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:"IBM Plex Mono";font-size:11.5px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--amber);margin-bottom:24px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(47,168,232,.16);animation:pulse 2.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(38px,5.6vw,62px);font-weight:700;letter-spacing:-.025em}
.hero h1 .em{color:var(--amber)}
.hero .lede{margin-top:24px;font-size:18.5px;line-height:1.62;color:var(--muted);max-width:38ch}
.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.btn{font-family:'Outfit';font-weight:600;font-size:15px;padding:13px 24px;border-radius:10px;cursor:pointer;
  border:1px solid transparent;transition:transform .2s var(--ease),box-shadow .25s,border-color .2s,background .2s;display:inline-flex;align-items:center;gap:9px}
.btn-primary{background:var(--amber);color:#06182b}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px -12px rgba(47,168,232,.55)}
.btn-ghost{background:rgba(146,163,199,.06);border-color:var(--line-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--cyan);color:#fff;transform:translateY(-2px)}
.hero-meta{margin-top:40px;display:flex;gap:30px;flex-wrap:wrap}
.hero-meta .hm{display:flex;flex-direction:column;gap:3px}
.hero-meta .hm b{font-family:'Outfit';font-size:22px;color:var(--text)}
.hero-meta .hm span{font-size:12.5px;color:var(--dim);font-family:"IBM Plex Mono";letter-spacing:.04em}

/* instrument cluster */
.cluster{position:relative;border:1px solid var(--bezel);border-radius:20px;padding:22px;
  background:linear-gradient(160deg,#0B142E,#080E22 70%);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04)}
.cluster::before{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;
  background:radial-gradient(500px 300px at 70% -10%, rgba(47,168,232,.1), transparent 60%)}
.cluster-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;
  font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.18em;color:var(--dim);text-transform:uppercase}
.cluster-top .live{color:var(--good);display:flex;align-items:center;gap:6px}
.cluster-top .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}
.gauge-row{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:stretch}
.gauge-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.gauge-read{position:absolute;text-align:center;top:54%;left:0;right:0;transform:translateY(-50%)}
.gauge-read .v{font-family:"IBM Plex Mono";font-weight:600;font-size:30px;color:var(--amber);letter-spacing:-.01em}
.gauge-read .u{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.18em;color:var(--dim);text-transform:uppercase;margin-top:2px}
/* tape */
.tape{border:1px solid var(--line);border-radius:12px;background:rgba(5,9,24,.5);padding:12px 12px 10px;display:flex;flex-direction:column;justify-content:space-between}
.tape-h{font-family:"IBM Plex Mono";font-size:9.5px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase}
.tape-v{font-family:"IBM Plex Mono";font-size:26px;font-weight:600;color:var(--cyan);margin:8px 0}
.tape-bar{height:7px;border-radius:4px;background:rgba(91,215,230,.14);overflow:hidden}
.tape-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--cyan-deep),var(--cyan));width:0;transition:width 1.4s var(--ease) .4s}
.tape-foot{font-family:"IBM Plex Mono";font-size:10px;color:var(--dim);margin-top:8px;display:flex;justify-content:space-between}
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.chip{border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:rgba(5,9,24,.45)}
.chip .k{font-family:"IBM Plex Mono";font-size:9.5px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
.chip .val{font-family:"IBM Plex Mono";font-size:17px;font-weight:600;margin-top:5px}
.chip .val.c{color:var(--cyan)}.chip .val.a{color:var(--amber)}.chip .val.g{color:var(--good)}

/* ---------- TRUST STRIP ---------- */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:22px 0;
  background:linear-gradient(180deg,rgba(12,21,48,.4),transparent)}
.strip-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.strip-in .lbl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-right:6px}
.strip-in .t{font-family:'Outfit';font-size:14px;color:var(--muted);padding:5px 13px;border:1px solid var(--line);border-radius:30px}

/* ---------- SECTION SHELL ---------- */
section{position:relative}
.sec-head{max-width:660px;margin-bottom:46px}
.kicker{font-family:"IBM Plex Mono";font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);margin-bottom:16px;display:block}
.sec-head h2,.sec-head h1{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.02em;font-weight:600}
.sec-head p{margin-top:16px;font-size:17px;color:var(--muted)}

/* ---------- PLATFORM MODULES ---------- */
.platform{padding:96px 0 20px}
.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.mod{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:26px 24px 24px;
  background:linear-gradient(180deg,rgba(15,26,58,.55),rgba(10,18,40,.35));overflow:hidden;
  transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.mod::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--macc,var(--amber));opacity:.0;transition:opacity .5s var(--ease)}
.mod:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 22px 50px -28px rgba(0,0,0,.8)}
.mod:hover::before{opacity:.9}
.mod-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  background:rgba(47,168,232,.08);border:1px solid var(--line-strong);color:var(--macc,var(--amber))}
.mod-ic svg{width:24px;height:24px}
.mod h3{font-size:19px;letter-spacing:-.01em}
.mod .mtag{font-family:"IBM Plex Mono";font-size:11px;color:var(--cyan);margin-top:6px;letter-spacing:.04em;text-transform:uppercase}
.mod p{margin-top:12px;font-size:14.5px;color:var(--muted);line-height:1.6}
.mod .mfeat{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:7px}
.mod .mfeat li{font-family:"IBM Plex Mono";font-size:11px;color:#AFC0DD;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:rgba(125,155,220,.05)}
.mod.feat{grid-column:1 / -1;flex-direction:row;gap:34px;align-items:center;padding:30px 30px;--macc:var(--amber);
  background:linear-gradient(110deg,rgba(47,168,232,.07),rgba(15,26,58,.5) 46%)}
.mod.feat.feat-cy{--macc:var(--cyan);background:linear-gradient(110deg,rgba(91,215,230,.08),rgba(15,26,58,.5) 46%)}
.mod.feat.feat-cy .mod-ic{color:var(--cyan);background:rgba(91,215,230,.08)}
.mod.feat.feat-cy .mod-side{display:flex;flex-direction:column;gap:10px}
.mod.feat.feat-sky{--macc:var(--sky);background:linear-gradient(110deg,rgba(92,132,255,.08),rgba(15,26,58,.5) 46%)}
.mod.feat.feat-sky .mod-ic{color:var(--sky);background:rgba(92,132,255,.08)}
.mod-card.book-cta{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-color:var(--sky);background:rgba(92,132,255,.1)}
.mod-card.book-cta .mc-v{color:var(--sky)}
.mod-card.book-cta .mc-go{margin-top:8px;font-family:'Outfit';font-weight:600;font-size:12px;color:var(--ink);background:var(--sky);border-radius:999px;padding:5px 12px}
.chan{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;background:rgba(8,15,36,.5)}
.chan .ch-h{font-family:"IBM Plex Mono";font-size:13px;color:var(--text);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chan .ch-h b{color:var(--cyan);font-weight:400}
.chan .ch-n{font-family:'Outfit';font-size:11px;font-weight:600;color:var(--ink);background:var(--amber);border-radius:999px;padding:2px 8px;flex:0 0 auto}
.chan.muted .ch-n{background:var(--bezel);color:var(--muted)}
.chan .ch-ic{flex:0 0 auto;font-size:14px;line-height:1;filter:grayscale(.1)}
.chan.radio{border-color:var(--cyan-deep);background:rgba(91,215,230,.08)}
.chan.radio .ch-h{color:var(--cyan)}
.ch-n.live{background:var(--good);color:var(--ink);display:inline-flex;align-items:center;gap:5px}
.ch-n.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.85;animation:pulseDot 1.4s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:.25}50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.ch-n.live::before{animation:none}}
.mod.feat .mod-main{flex:1 1 0;min-width:0}
.mod.feat h3{font-size:clamp(22px,2.4vw,27px)}
.mod.feat .mod-side{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(360px,42%)}
.mod-card{border:1px solid var(--line-strong);border-radius:12px;padding:16px;background:rgba(8,15,36,.5)}
.mod-card .mc-k{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.mod-card .mc-v{font-family:'Outfit';font-weight:600;font-size:16px;margin-top:6px;color:var(--text)}
.mod-card .mc-s{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.mod.c-cyan{--macc:var(--cyan)} .mod.c-sky{--macc:var(--sky)} .mod.c-good{--macc:var(--good)} .mod.c-amber{--macc:var(--amber)}
.mod.c-cyan .mod-ic{color:var(--cyan);background:rgba(91,215,230,.08)}
.mod.c-sky .mod-ic{color:var(--sky);background:rgba(92,132,255,.08)}
.mod.c-good .mod-ic{color:var(--good);background:rgba(87,224,166,.08)}

/* ---------- SUITE ---------- */
.suite{padding:96px 0 30px}
.tool{display:grid;grid-template-columns:1fr 1.02fr;gap:54px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.tool:nth-child(even) .tool-copy{order:2}
.tool:nth-child(even) .tool-vis{order:1}
.fl{font-family:"IBM Plex Mono";font-size:12px;letter-spacing:.16em;color:var(--amber);text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:18px}
.fl::after{content:"";flex:1;height:1px;background:var(--line);max-width:90px}
.tool h3{font-size:clamp(26px,3vw,34px);letter-spacing:-.02em}
.tool .tag{font-family:"IBM Plex Mono";font-size:12.5px;color:var(--cyan);margin-top:8px;letter-spacing:.02em}
.tool .desc{margin-top:18px;font-size:16.5px;color:var(--muted);line-height:1.64}
.feat{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.feat li{position:relative;padding-left:22px;font-size:14.5px;color:#C5D0E6}
.feat li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:1px;background:var(--amber);transform:rotate(45deg)}
.tool .open{display:inline-flex;align-items:center;gap:9px;margin-top:28px;font-family:'Outfit';font-weight:600;font-size:15px;color:var(--text);
  border:1px solid var(--line-strong);padding:11px 19px;border-radius:10px;transition:.22s var(--ease)}
.tool .open:hover{border-color:var(--amber);color:#fff;gap:13px;background:rgba(47,168,232,.06)}
.tool .open .arr{transition:transform .22s var(--ease)}
.tool .open:hover .arr{transform:translateX(3px)}

/* preview panels */
.vis{border:1px solid var(--bezel);border-radius:18px;background:linear-gradient(160deg,#0C1632,#080E22);overflow:hidden;
  box-shadow:0 36px 80px -42px rgba(0,0,0,.9);position:relative}
.vis-bar{display:flex;align-items:center;gap:8px;padding:11px 15px;border-bottom:1px solid var(--line);font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.vis-bar .dots{display:flex;gap:5px;margin-right:6px}
.vis-bar .dots i{width:8px;height:8px;border-radius:50%;background:var(--bezel)}
.vis-bar .dots i:first-child{background:#3a4f7a}
.vis-body{padding:18px}
.row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.row:last-child{border-bottom:none}
.row .l{color:var(--muted);font-family:"Instrument Sans"}
.row .n{font-family:"IBM Plex Mono";font-weight:500}
.row.tot{margin-top:4px;border-top:1px solid var(--line-strong);border-bottom:none;padding-top:12px}
.row.tot .l{color:var(--text);font-weight:600;font-family:'Outfit'}
.row.tot .n{font-size:16px}
.pos{color:var(--good)}.neg{color:var(--warn)}.amb{color:var(--amber)}.cyn{color:var(--cyan)}
.ratiochips{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.rc{border:1px solid var(--line);border-radius:9px;padding:9px;text-align:center;background:rgba(5,9,24,.4)}
.rc .k{font-family:"IBM Plex Mono";font-size:8.5px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.rc .v{font-family:"IBM Plex Mono";font-size:15px;font-weight:600;margin-top:4px;color:var(--cyan)}
/* bars */
.barset{display:flex;flex-direction:column;gap:13px;margin-top:4px}
.bg{display:flex;flex-direction:column;gap:6px}
.bg .top{display:flex;justify-content:space-between;font-size:12.5px}
.bg .top .nm{color:#C5D0E6}.bg .top .vl{font-family:"IBM Plex Mono";color:var(--muted)}
.track{height:9px;border-radius:5px;background:rgba(125,155,220,.1);overflow:hidden}
.track i{display:block;height:100%;border-radius:5px;width:0;transition:width 1.2s var(--ease)}
.legend{display:flex;gap:16px;margin-top:16px;font-family:"IBM Plex Mono";font-size:10.5px;color:var(--dim)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:9px;height:9px;border-radius:2px;display:inline-block}
/* route preview */
.route-h{display:flex;align-items:center;justify-content:center;gap:14px;font-family:'Outfit';font-weight:700;font-size:22px;margin:2px 0 16px}
.route-h .ap{letter-spacing:.04em}
.route-h .arrow{flex:1;height:1px;background:var(--line-strong);position:relative;max-width:120px}
.route-h .arrow::after{content:"✈";position:absolute;right:-4px;top:-11px;font-size:15px;color:var(--amber)}
.route-h .mi{font-family:"IBM Plex Mono";font-size:11px;color:var(--dim);position:absolute;left:50%;top:8px;transform:translateX(-50%)}
.kpi3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:12px 8px;text-align:center;background:rgba(5,9,24,.4)}
.kpi .k{font-family:"IBM Plex Mono";font-size:8.5px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.kpi .v{font-family:"IBM Plex Mono";font-size:18px;font-weight:600;margin-top:5px}
.bidline{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(47,168,232,.3);background:rgba(47,168,232,.06);border-radius:10px;padding:11px 14px;margin-top:4px}
.bidline .bl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;color:var(--amber);text-transform:uppercase}
.bidline .bv{font-family:"IBM Plex Mono";font-size:17px;font-weight:600;color:var(--amber)}
/* stacked $/hr */
.stack{margin-top:6px}
.stack .lbl{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}
.stack .lbl .nm{color:#C5D0E6;font-family:'Outfit';font-weight:500}
.stack .lbl .vl{font-family:"IBM Plex Mono";color:var(--amber);font-weight:600}
.sbar{height:26px;border-radius:7px;overflow:hidden;display:flex;background:rgba(5,9,24,.5);border:1px solid var(--line)}
.sbar .fx{background:linear-gradient(90deg,var(--amber-deep),var(--amber));width:0;transition:width 1.1s var(--ease)}
.sbar .vr{background:linear-gradient(90deg,var(--cyan-deep),var(--cyan));width:0;transition:width 1.1s var(--ease) .12s}
.stack-foot{display:flex;justify-content:space-between;font-family:"IBM Plex Mono";font-size:11px;color:var(--dim);margin-top:9px}

/* ---------- WORKFLOW ---------- */
.flow{padding:100px 0}
.flow-wrap{border:1px solid var(--bezel);border-radius:20px;background:linear-gradient(160deg,rgba(12,21,48,.6),rgba(8,14,34,.6));padding:42px 40px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
.step{position:relative}
.step .num{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;color:var(--amber)}
.step h4{font-size:18px;margin:12px 0 8px;letter-spacing:-.01em}
.step p{font-size:14px;color:var(--muted);line-height:1.55}
.step:not(:last-child)::after{content:"→";position:absolute;right:-18px;top:24px;color:var(--dim);font-size:18px}

/* ---------- STATS ---------- */
.stats{padding:30px 0 96px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.stat{padding:34px 28px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat b{font-family:'Outfit';font-size:40px;font-weight:600;color:var(--amber);display:block;letter-spacing:-.02em}
.stat span{font-size:13.5px;color:var(--muted);margin-top:8px;display:block}

/* ---------- CONTACT ---------- */
.contact{padding:30px 0 110px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:start}
.contact-left h2{font-size:clamp(30px,3.8vw,42px);letter-spacing:-.02em}
.contact-left p{margin-top:18px;color:var(--muted);font-size:16.5px}
.contact-points{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-direction:column;gap:16px}
.contact-points li{display:flex;gap:13px;align-items:flex-start;font-size:15px;color:#C5D0E6}
.contact-points li .ic{width:22px;height:22px;flex:0 0 auto;border-radius:6px;background:rgba(47,168,232,.12);display:flex;align-items:center;justify-content:center;color:var(--amber);font-family:"IBM Plex Mono";font-size:12px;margin-top:1px}
.direct{margin-top:34px;font-family:"IBM Plex Mono";font-size:13px;color:var(--dim)}
.direct a{color:var(--cyan)}

/* contact form */
.cform{border:1px solid var(--bezel);border-radius:18px;background:linear-gradient(160deg,#0C1632,#090F26);
  padding:30px 30px 26px;box-shadow:0 40px 90px -50px rgba(0,0,0,.9);position:relative;overflow:hidden}
.cform::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(440px 230px at 82% -12%, rgba(47,168,232,.10), transparent 60%)}
.cform > *{position:relative}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.field.full{grid-column:1/-1}
.field label{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field label .req{color:var(--amber)}
.field input,.field select,.field textarea{font-family:"Instrument Sans";font-size:15px;color:var(--text);background:rgba(5,9,24,.6);
  border:1px solid var(--line-strong);border-radius:9px;padding:12px 13px;transition:border-color .2s,box-shadow .2s;width:100%}
.field textarea{resize:vertical;min-height:92px}
.field input::placeholder,.field textarea::placeholder{color:#54648a}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(47,168,232,.14)}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2392A3C7' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.tools-pick{display:flex;flex-wrap:wrap;gap:9px}
.pick{font-family:"IBM Plex Mono";font-size:12px;color:var(--muted);border:1px solid var(--line-strong);border-radius:30px;padding:8px 14px;cursor:pointer;user-select:none;transition:.18s}
.pick:hover{border-color:var(--cyan)}
.pick.on{background:rgba(47,168,232,.12);border-color:var(--amber);color:var(--amber)}
.field-err{color:#ff8a8a;font-size:12px;font-family:"IBM Plex Mono";display:none}
.field.invalid input,.field.invalid select{border-color:#ff6b6b}
.field.invalid .field-err{display:block}
.submit{width:100%;justify-content:center;margin-top:4px}
.submit[disabled]{opacity:.7;cursor:default;transform:none!important}
.formnote{font-size:12px;color:var(--dim);text-align:center;margin-top:13px;font-family:"IBM Plex Mono"}
.formnote a{color:var(--cyan)}
.form-err{display:none;margin-top:12px;padding:11px 13px;border-radius:9px;font-size:13px;
  background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.3);color:#ffb4b4}
.form-err.show{display:block}
.success{display:none;text-align:center;padding:30px 10px}
.success.show{display:block}
.success .badge{width:58px;height:58px;border-radius:50%;background:rgba(87,224,166,.12);border:1px solid rgba(87,224,166,.4);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--good);font-size:26px}
.success h3{font-size:22px}
.success p{color:var(--muted);margin-top:9px;font-size:15px}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:46px 0 40px}
.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
.foot-brand{max-width:300px}
.foot-brand .brand{margin-bottom:14px}
.foot-brand p{font-size:13.5px;color:var(--dim);line-height:1.55}
.foot-cols{display:flex;gap:64px;flex-wrap:wrap}
.foot-col h5{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.foot-col a{display:block;font-size:14px;color:var(--dim);margin-bottom:10px;transition:color .2s}
.foot-col a:hover{color:var(--text)}
.foot-bot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;font-family:"IBM Plex Mono";font-size:11.5px;color:var(--dim);letter-spacing:.04em}

/* ---------- FAQ ---------- */
.faq{padding:30px 0 96px}
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:860px}
.qa{border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,rgba(12,21,48,.45),rgba(8,14,34,.45));overflow:hidden;transition:border-color .2s}
.qa[open]{border-color:var(--line-strong)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 22px;font-family:'Outfit';font-weight:600;font-size:17px;color:var(--text)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:#fff}
.qa-ic{font-family:"IBM Plex Mono";font-size:22px;color:var(--amber);transition:transform .25s var(--ease);flex:0 0 auto;line-height:1}
.qa[open] .qa-ic{transform:rotate(45deg)}
.qa-a{padding:0 22px 22px}
.qa-a p{color:var(--muted);font-size:15.5px;line-height:1.62;max-width:70ch}

/* ---------- CAROUSEL ---------- */
.carousel{position:relative}
.car-viewport{overflow:hidden;border-radius:18px}
.car-track{display:flex;align-items:stretch;transition:transform .55s var(--ease)}
.car-slide{min-width:100%;flex:0 0 100%;display:flex}
.car-slide > .vis{width:100%;height:100%;display:flex;flex-direction:column}
.car-slide > .vis .vis-body{flex:1}
.car-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.car-dots{display:flex;gap:8px;align-items:center}
.car-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--bezel);cursor:pointer;transition:width .25s var(--ease),background .25s}
.car-dot.is-active{width:24px;border-radius:5px;background:var(--amber)}
.car-dot:hover{background:var(--cyan)}
.car-arrow{width:36px;height:36px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(146,163,199,.05);
  color:var(--muted);cursor:pointer;font-family:"IBM Plex Mono";font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.2s}
.car-arrow:hover{border-color:var(--amber);color:var(--amber);background:rgba(47,168,232,.06)}
.car-arrow:focus-visible,.car-dot:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.mini-chart{width:100%;height:auto;display:block}
.mini-cap{display:flex;justify-content:space-between;font-family:"IBM Plex Mono";font-size:10.5px;color:var(--dim);margin-top:10px;letter-spacing:.04em}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .tool{grid-template-columns:1fr;gap:30px;padding:46px 0}
  .tool:nth-child(even) .tool-copy{order:0}
  .tool:nth-child(even) .tool-vis{order:0}
  .contact-grid{grid-template-columns:1fr;gap:38px}
  .steps{grid-template-columns:1fr 1fr;gap:30px 26px}
  .step:not(:last-child)::after{display:none}
  .stat-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
  .mod-grid{grid-template-columns:1fr 1fr}
  .mod.feat{flex-direction:column;align-items:stretch;gap:22px}
  .mod.feat .mod-side{width:100%}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .nav-right{gap:14px}
  .nav-links{position:fixed;inset:66px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(6,11,28,.98);border-bottom:1px solid var(--line);padding:8px 20px 18px;
    transform:translateY(-130%);transition:transform .3s var(--ease);box-shadow:0 30px 50px -20px rgba(0,0,0,.8)}
  .nav-links.open{transform:none}
  .nav-links a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav-links .nav-cta{margin-top:12px;text-align:center;border:none}
  .nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
  .nav-toggle span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:.25s}
  .nav-toggle.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.x span:nth-child(2){opacity:0}
  .nav-toggle.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .feat{grid-template-columns:1fr}
  .mod-grid{grid-template-columns:1fr}
  .mod.feat .mod-side{grid-template-columns:1fr 1fr}
  .gauge-row{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:none}
  .steps{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- MULTI-PAGE ADDITIONS ---------- */
.nav-links a.active{color:var(--amber)}
.nav-links a.active::after{content:"";display:block;height:2px;border-radius:2px;background:var(--amber);margin-top:3px;opacity:.85}
@media(max-width:680px){.nav-links a.active::after{display:none}}

/* page intro (sub-pages) */
.page-intro{padding:118px 0 8px}
.page-intro .sec-head{margin-bottom:14px}
.page-intro .back{font-family:"IBM Plex Mono";font-size:12px;letter-spacing:.04em;color:var(--cyan);margin-bottom:18px;display:inline-flex;gap:8px;align-items:center}

/* home — compact module overview grid */
.ov{padding:30px 0 20px}
.ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.ov-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:22px 20px;
  background:linear-gradient(180deg,rgba(15,26,58,.5),rgba(10,18,40,.3));color:inherit;
  transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.ov-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 20px 46px -28px rgba(0,0,0,.8)}
.ov-card .ov-ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  background:rgba(47,168,232,.08);border:1px solid var(--line-strong);color:var(--macc,var(--amber))}
.ov-card .ov-ic svg{width:21px;height:21px}
.ov-card h3{font-size:16.5px;letter-spacing:-.01em}
.ov-card .ov-n{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.ov-card p{margin-top:8px;font-size:13.5px;color:var(--muted);line-height:1.55;flex:1 1 auto}
.ov-card .ov-go{margin-top:14px;font-family:"IBM Plex Mono";font-size:12px;color:var(--cyan)}
.ov-card.c-cyan{--macc:var(--cyan)} .ov-card.c-cyan .ov-ic{color:var(--cyan);background:rgba(91,215,230,.08)}
.ov-card.c-sky{--macc:var(--sky)} .ov-card.c-sky .ov-ic{color:var(--sky);background:rgba(92,132,255,.08)}
.ov-card.c-good{--macc:var(--good)} .ov-card.c-good .ov-ic{color:var(--good);background:rgba(87,224,166,.08)}
@media(max-width:920px){.ov-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.ov-grid{grid-template-columns:1fr}}
.mod-grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:920px){.mod-grid.cols-2{grid-template-columns:1fr}}
.backbar{padding:100px 0 0}
.backbar .back{font-family:"IBM Plex Mono";font-size:12px;letter-spacing:.04em;color:var(--cyan);display:inline-flex;gap:8px;align-items:center}
.backbar + section{padding-top:30px}
