* { box-sizing: border-box; }
:root {
  --bg: #0b0d1c;
  --panel: #111530;
  --panel2: #151a3b;
  --text: #f5f4f9;
  --muted: #9aa3c7;
  --line: rgba(160, 179, 255, .15);

  /* Gen-Smart logo palette */
  --cyan: #4fdfff;
  --blue: #5b9df8;
  --indigo: #27309a;
  --violet: #591eda;
  --purple: #9e60f7;
  --magenta: #e45cf9;
  --pink: #ff4be3;

  --accent: var(--cyan);
  --accent2: var(--magenta);
  --max: 1240px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.cursor-glow {
  width: 420px; height: 420px; border-radius: 50%; position: fixed; pointer-events: none; z-index: -1;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(89,30,218,.10), transparent 65%);
}

.nav-wrap {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: rgba(8,9,12,.72); backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.nav { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display:flex; align-items:center; gap:10px; font-family:"Space Grotesk"; font-size:14px; font-weight:700; letter-spacing:.08em; }
.brand-mark {
  width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%;
  background: linear-gradient(135deg, rgba(79,223,255,.16), rgba(91,157,248,.09));
}
.nav-links { display:flex; gap:34px; margin-left:auto; }
.nav-links a { color:#aab0bc; font-size:13px; transition:.2s; }
.nav-links a:hover { color:white; }
.nav-cta { font-size:13px; padding:11px 16px; border:1px solid var(--line); border-radius:99px; }
.menu-btn { display:none; background:none; color:white; border:0; font-size:24px; }

.hero {
  min-height: 100vh; padding-top: 136px; padding-bottom: 72px;
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:42px;
}
.eyebrow, .section-label {
  font-size:11px; letter-spacing:.18em; font-weight:700; color:#aeb3bf; text-transform:uppercase;
}
.eyebrow { display:flex; align-items:center; gap:10px; }
.pulse { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 20px var(--cyan); }
.hero h1, h2, h3 { font-family:"Space Grotesk", sans-serif; }
.hero h1 { margin:24px 0; font-size:clamp(64px,7.8vw,126px); line-height:.83; letter-spacing:-.065em; max-width:860px; }
.gradient-text {
  background:linear-gradient(90deg, #fff 0%, var(--cyan) 55%, var(--cyan) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-lede { max-width:670px; font-size:18px; line-height:1.75; color:#9ca2af; }
.hero-lede strong { color:#e7e9ed; font-weight:600; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.primary-btn, .secondary-btn {
  min-height:52px; display:inline-flex; align-items:center; gap:28px; justify-content:center;
  padding:0 22px; border-radius:3px; font-size:13px; font-weight:700;
}
.primary-btn { background:var(--cyan); color:#090a0b; }
.primary-btn:hover { filter:brightness(1.07); }
.secondary-btn { border:1px solid var(--line); color:#d8dce4; }
.hero-stats { display:flex; gap:48px; margin-top:62px; padding-top:24px; border-top:1px solid var(--line); max-width:620px; }
.hero-stats div { display:flex; flex-direction:column; gap:7px; }
.hero-stats b { font-family:"Space Grotesk"; font-size:21px; }
.hero-stats span { font-size:11px; color:#777e8c; }

.hero-visual { min-height:600px; display:grid; place-items:center; }
.orbital-stage { width:min(44vw,560px); aspect-ratio:1; position:relative; display:grid; place-items:center; }
.orbital-stage::before {
  content:""; position:absolute; inset:17%; border-radius:50%;
  background:radial-gradient(circle, rgba(79,223,255,.14), rgba(158,96,247,.07) 38%, transparent 70%);
  filter:blur(2px);
}
.orbit { position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
.orbit-1 { inset:13%; animation:spin 20s linear infinite; border-style:dashed; }
.orbit-2 { inset:25%; animation:spin 14s linear infinite reverse; }
.orbit-3 { inset:37%; border-color:rgba(79,223,255,.28); }
.core {
  width:142px; aspect-ratio:1; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  border:1px solid rgba(79,223,255,.46);
  background:radial-gradient(circle at 35% 30%, rgba(79,223,255,.16), rgba(9,11,15,.95) 62%);
  box-shadow:0 0 70px rgba(79,223,255,.11);
}
.core-small { font-size:10px; letter-spacing:.38em; color:#8e95a2; margin-left:.38em; }
.core-big { font-family:"Space Grotesk"; font-size:23px; font-weight:700; letter-spacing:.06em; }
.node {
  position:absolute; width:62px; height:62px; border-radius:50%; display:grid; place-items:center;
  background:#0c0e13; border:1px solid var(--line); box-shadow:0 0 30px rgba(91,157,248,.09);
  font-size:9px; font-weight:700; letter-spacing:.08em;
}
.n1 { left:7%; top:46%; }
.n2 { top:4%; left:50%; transform:translateX(-50%); }
.n3 { right:3%; bottom:21%; width:76px; height:76px; }
.data-tag {
  position:absolute; font-size:8px; letter-spacing:.18em; color:#717987; border:1px solid var(--line);
  padding:8px 10px; background:rgba(8,9,12,.7); backdrop-filter:blur(10px);
}
.dt1 { left:7%; top:18%; }
.dt2 { right:0; top:37%; }
.dt3 { left:27%; bottom:1%; }

@keyframes spin { to { transform:rotate(360deg); } }

.ticker { overflow:hidden; border-block:1px solid var(--line); padding:14px 0; color:#a4aab6; font-size:10px; letter-spacing:.15em; white-space:nowrap; }
.ticker-track { display:flex; width:max-content; animation:ticker 30s linear infinite; }
.ticker-track span { margin-right:42px; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding-block:130px; }
.split { display:grid; grid-template-columns: .32fr 1fr; gap:40px; border-bottom:1px solid var(--line); }
.split-content { max-width:900px; }
.section h2 { font-size:clamp(44px,6vw,82px); line-height:1; letter-spacing:-.05em; margin:0 0 38px; }
.muted { color:#4e5562; }
.split-content p { max-width:740px; margin-left:auto; color:#9ea4b1; font-size:17px; line-height:1.8; }
.section-head { display:grid; grid-template-columns:.32fr 1fr; gap:40px; margin-bottom:62px; }
.section-head h2 { margin:0; }
.section-intro { grid-column:2; color:#9299a7; max-width:620px; line-height:1.75; }

.focus-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.focus-card {
  min-height:430px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.015));
  transition:transform .25s, background .25s;
}
.focus-card:hover { transform:translateY(-6px); background:linear-gradient(180deg, rgba(89,30,218,.055), rgba(255,255,255,.015)); }
.card-num { position:absolute; right:24px; top:24px; font-size:10px; color:#5f6673; }
.icon { margin-top:52px; font-size:33px; color:var(--cyan); }
.focus-card h3 { margin:52px 0 16px; font-size:28px; letter-spacing:-.03em; }
.focus-card p { color:#9299a6; line-height:1.7; font-size:14px; max-width:330px; }
.tags { display:flex; flex-wrap:wrap; gap:7px; position:absolute; left:30px; right:30px; bottom:28px; }
.tags span { font-size:9px; letter-spacing:.09em; text-transform:uppercase; color:#9fa6b4; padding:6px 9px; border:1px solid var(--line); border-radius:99px; }

.concepts-section { padding-block:130px; background:#0b0d12; border-block:1px solid var(--line); }
.concept-list { border-top:1px solid var(--line); }
.concept {
  display:grid; grid-template-columns:70px 1.05fr 1fr 50px; gap:24px; align-items:center;
  min-height:170px; border-bottom:1px solid var(--line); transition:padding .25s, background .25s;
}
.concept:hover { padding-inline:18px; background:rgba(255,255,255,.015); }
.concept-index { font-family:"Space Grotesk"; font-size:14px; color:#5b6270; }
.status { font-size:8px; letter-spacing:.16em; color:var(--cyan); border:1px solid rgba(79,223,255,.30); padding:5px 7px; }
.concept h3 { margin:15px 0 0; font-size:29px; }
.concept p { color:#9198a5; line-height:1.65; font-size:14px; max-width:460px; }
.concept-arrow { font-size:24px; color:#666e7d; }

.manifesto { padding-block:130px; }
.manifesto-box {
  min-height:500px; padding:70px; display:flex; flex-direction:column; justify-content:space-between;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 90% 20%, rgba(228,92,249,.13), transparent 35%),
    radial-gradient(circle at 10% 90%, rgba(91,157,248,.09), transparent 30%),
    #0d0f14;
}
.quote-mark { font-family:Georgia, serif; font-size:80px; line-height:.6; color:var(--cyan); }
.manifesto-box > p { font-family:"Space Grotesk"; font-size:clamp(32px,4.6vw,65px); line-height:1.08; letter-spacing:-.045em; max-width:1040px; margin:30px 0; }
.manifesto-meta { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.16em; color:#707785; }

.join-section { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:start; }
.join-copy h2 { margin-top:26px; }
.join-copy p { max-width:620px; color:#9aa1ae; line-height:1.8; }
.join-card { border:1px solid var(--line); background:var(--panel); padding:42px; min-height:370px; display:flex; flex-direction:column; }
.join-kicker { font-size:9px; letter-spacing:.17em; color:var(--cyan); }
.join-card h3 { font-size:34px; margin:55px 0 12px; }
.join-card p { color:#8f96a4; margin:0 0 28px; }
.join-card > a { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:18px 0; font-size:13px; word-break:break-word; }
.linkedin-link { color:#aeb5c1; }

.footer { min-height:120px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; color:#737a87; font-size:11px; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .container { width:min(calc(100% - 32px), var(--max)); }
  .desktop-only { display:none; }
  .menu-btn { display:block; }
  .nav-links {
    display:none; position:absolute; top:76px; left:0; right:0; padding:24px;
    background:#0b0d12; border-bottom:1px solid var(--line); flex-direction:column; margin:0;
  }
  .nav-links.open { display:flex; }
  .hero { grid-template-columns:1fr; padding-top:130px; }
  .hero-visual { min-height:470px; }
  .orbital-stage { width:min(88vw,520px); }
  .hero-stats { gap:26px; justify-content:space-between; }
  .split, .section-head, .join-section { grid-template-columns:1fr; }
  .section-intro { grid-column:1; }
  .split-content p { margin-left:0; }
  .focus-grid { grid-template-columns:1fr; }
  .concept { grid-template-columns:40px 1fr 32px; padding-block:30px; }
  .concept p { grid-column:2; }
  .concept-arrow { grid-column:3; grid-row:1 / span 2; }
  .manifesto-box { padding:40px 28px; min-height:430px; }
  .footer { padding-block:35px; flex-direction:column; align-items:flex-start; }
}
@media (max-width: 560px) {
  .hero h1 { font-size:54px; }
  .hero-lede { font-size:15px; }
  .hero-actions { flex-direction:column; }
  .hero-actions a { width:100%; }
  .hero-stats { gap:12px; }
  .hero-stats span { font-size:9px; }
  .section, .concepts-section, .manifesto { padding-block:90px; }
  .section h2 { font-size:42px; }
  .section-head { margin-bottom:40px; }
  .hero-visual { min-height:380px; }
  .node { width:52px; height:52px; }
  .n3 { width:60px; height:60px; }
  .data-tag { font-size:6px; }
  .join-card { padding:28px; }
  .manifesto-meta { gap:20px; }
}


/* Gen-Smart identity + logo hover */
.wordmark { display:flex; align-items:center; font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:.11em; }
.wordmark i { font-style:normal; display:inline-block; margin:0 .12em; color:var(--cyan); transition:transform .35s ease, opacity .35s ease; }
.wordmark span { display:inline-block; transition:transform .35s cubic-bezier(.2,.8,.2,1), text-shadow .35s ease; }
.brand-mark { position:relative; overflow:visible; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease; }
.brand-g { transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.brand-spark { position:absolute; top:-7px; right:-6px; font-size:10px; color:var(--cyan); opacity:0; transform:scale(.2) rotate(-90deg); transition:.35s ease; }
.gen-logo:hover .brand-mark { transform:rotate(-12deg) scale(1.09); border-color:rgba(199,255,69,.75); box-shadow:0 0 24px rgba(199,255,69,.22); }
.gen-logo:hover .brand-g { transform:rotate(12deg); }
.gen-logo:hover .brand-spark { opacity:1; transform:scale(1) rotate(0); }
.gen-logo:hover .wordmark span:first-child { transform:translateX(-2px); text-shadow:0 0 16px rgba(84,228,255,.45); }
.gen-logo:hover .wordmark span:last-child { transform:translateX(2px); text-shadow:0 0 16px rgba(199,255,69,.42); }
.gen-logo:hover .wordmark i { transform:scaleX(1.8); }

/* Open Ideas Lab */
.ideas-section { padding-block:130px; border-block:1px solid var(--line); background:radial-gradient(circle at 15% 10%,rgba(84,228,255,.07),transparent 28%),radial-gradient(circle at 88% 75%,rgba(199,255,69,.055),transparent 26%),#090b10; }
.ideas-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.ideas-copy { position:sticky; top:120px; }
.ideas-copy h2 { font-family:"Space Grotesk",sans-serif; font-size:clamp(46px,5.6vw,78px); line-height:.96; letter-spacing:-.055em; margin:28px 0 28px; }
.ideas-copy > p { max-width:560px; color:#9aa1ae; line-height:1.8; font-size:16px; }
.idea-principles { margin-top:48px; border-top:1px solid var(--line); }
.idea-principles div { display:grid; grid-template-columns:42px 110px 1fr; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); align-items:center; }
.idea-principles span { color:var(--cyan); font-size:9px; letter-spacing:.14em; }
.idea-principles b { font-size:13px; }
.idea-principles small { color:#777f8e; line-height:1.5; }
.idea-terminal { border:1px solid rgba(199,255,69,.23); background:linear-gradient(180deg,rgba(199,255,69,.025),rgba(255,255,255,.01)),#0d1016; box-shadow:0 22px 80px rgba(0,0,0,.22); }
.terminal-top { display:flex; justify-content:space-between; gap:20px; padding:14px 18px; border-bottom:1px solid var(--line); font-size:9px; letter-spacing:.14em; color:#87909e; }
.live-dot { color:var(--cyan); }
#ideaForm { padding:28px; display:grid; gap:20px; }
#ideaForm label { display:grid; gap:9px; font-size:11px; font-weight:700; letter-spacing:.04em; color:#c4c9d2; }
#ideaForm label > span { color:#666e7d; font-weight:500; }
#ideaForm input,#ideaForm textarea,#ideaForm select { width:100%; background:#090b10; border:1px solid var(--line); color:#e8ebf0; padding:14px 15px; outline:none; font:500 13px/1.5 Inter,sans-serif; border-radius:0; transition:border-color .2s,box-shadow .2s; }
#ideaForm textarea { resize:vertical; min-height:128px; }
#ideaForm input:focus,#ideaForm textarea:focus,#ideaForm select:focus { border-color:rgba(199,255,69,.55); box-shadow:0 0 0 3px rgba(199,255,69,.055); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#ideaForm .consent { display:flex; grid-template-columns:none; flex-direction:row; gap:12px; align-items:flex-start; font-weight:500; color:#848c99; line-height:1.55; }
#ideaForm .consent input { width:16px; height:16px; flex:0 0 auto; accent-color:var(--cyan); margin-top:2px; }
.idea-submit { min-height:54px; border:0; background:var(--cyan); color:#090a0b; font-weight:800; display:flex; align-items:center; justify-content:space-between; padding:0 18px; cursor:pointer; transition:transform .2s,filter .2s; }
.idea-submit:hover { transform:translateY(-2px); filter:brightness(1.05); }
.form-note { margin:0; color:#666e7d; font-size:10px; line-height:1.5; }
.idea-wall { margin-top:78px; border-top:1px solid var(--line); }
.idea-wall-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#868e9c; font-size:9px; letter-spacing:.14em; }
.idea-wall-head button { background:none; border:0; color:#656d7a; font-size:10px; cursor:pointer; }
.idea-wall-head button:hover { color:#c4c9d2; }
.idea-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.idea-card { border:1px solid var(--line); background:#0d0f14; padding:22px; min-height:190px; display:flex; flex-direction:column; }
.idea-card .idea-meta { display:flex; justify-content:space-between; gap:12px; color:#6e7684; font-size:8px; letter-spacing:.11em; text-transform:uppercase; }
.idea-card h4 { font-family:"Space Grotesk"; font-size:21px; margin:24px 0 10px; }
.idea-card p { color:#8b93a0; font-size:12px; line-height:1.65; margin:0; }
.idea-card .idea-by { margin-top:auto; padding-top:22px; color:#5f6774; font-size:9px; }
.empty-ideas { color:#646c79; font-size:12px; padding:20px 0; }

@media (max-width:900px){
  .ideas-grid { grid-template-columns:1fr; gap:50px; }
  .ideas-copy { position:static; }
  .idea-cards { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .ideas-section { padding-block:90px; }
  .form-row { grid-template-columns:1fr; }
  .idea-cards { grid-template-columns:1fr; }
  .idea-principles div { grid-template-columns:34px 92px 1fr; }
}


/* =========================================================
   Gen-Smart v2 — new generated logo
   Keeps the v2 site architecture while replacing the old
   coded "G" mark with the new Gen-Smart identity.
   ========================================================= */
.gen-logo {
  position: relative;
  width: 222px;
  height: 52px;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.brand-logo-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 0 rgba(84,228,255,0));
  transform-origin: 28% 50%;
  transition:
    transform .48s cubic-bezier(.2,.8,.2,1),
    filter .42s ease;
  position: relative;
  z-index: 2;
}

.gen-logo .logo-orbit {
  position: absolute;
  left: 7px;
  top: 50%;
  width: 58px;
  height: 58px;
  transform: translateY(-50%) rotate(-20deg) scale(.74);
  border-radius: 50%;
  border: 1px solid rgba(84,228,255,.0);
  box-shadow: 0 0 0 rgba(255,72,235,0);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  transition:
    opacity .25s ease,
    transform .55s cubic-bezier(.2,.8,.2,1),
    border-color .35s ease,
    box-shadow .35s ease;
}

.gen-logo .logo-orbit::before,
.gen-logo .logo-orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
  border: 1px solid rgba(255,72,235,.0);
  transition: border-color .35s ease, transform .55s ease;
}

.gen-logo .logo-orbit::after {
  inset: -7px;
  border-style: dashed;
}

@media (hover:hover) and (pointer:fine) {
  .gen-logo:hover .brand-logo-img {
    transform: translateY(-2px) scale(1.035);
    filter:
      drop-shadow(0 0 9px rgba(84,228,255,.58))
      drop-shadow(0 0 17px rgba(255,72,235,.34));
  }

  .gen-logo:hover .logo-orbit {
    opacity: 1;
    transform: translateY(-50%) rotate(135deg) scale(1);
    border-color: rgba(84,228,255,.70);
    box-shadow:
      0 0 24px rgba(84,228,255,.18),
      0 0 42px rgba(255,72,235,.10);
  }

  .gen-logo:hover .logo-orbit::before {
    border-color: rgba(255,72,235,.68);
    transform: rotate(-210deg);
  }

  .gen-logo:hover .logo-orbit::after {
    border-color: rgba(156,124,255,.42);
    transform: rotate(250deg);
  }
}

/* The hero keeps the original v2 orbital composition,
   but now the center is the new Gen-Smart emblem. */
.logo-core {
  padding: 10px;
  overflow: visible;
  border-color: rgba(84,228,255,.30);
  background:
    radial-gradient(circle at 42% 35%, rgba(79,223,255,.14), rgba(156,124,255,.06) 42%, rgba(9,11,15,.96) 72%);
  box-shadow:
    0 0 52px rgba(91,157,248,.09),
    0 0 80px rgba(255,72,235,.04);
}

.logo-core img {
  width: 122%;
  max-width: none;
  display: block;
  filter:
    drop-shadow(0 0 10px rgba(84,228,255,.33))
    drop-shadow(0 0 16px rgba(255,72,235,.18));
  animation: logoCoreFloat 5.4s ease-in-out infinite;
}

@keyframes logoCoreFloat {
  0%,100% { transform: translateY(0) rotate(-1deg) scale(.98); }
  50% { transform: translateY(-5px) rotate(2deg) scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo-img,
  .gen-logo .logo-orbit,
  .gen-logo .logo-orbit::before,
  .gen-logo .logo-orbit::after,
  .logo-core img {
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 560px) {
  .gen-logo {
    width: 178px;
    height: 46px;
  }
  .gen-logo .logo-orbit {
    width: 48px;
    height: 48px;
    left: 4px;
  }
}


/* =========================================================
   Whole-site Gen-Smart logo palette
   ========================================================= */

body {
  background:
    radial-gradient(circle at 18% 12%, rgba(89,30,218,.10), transparent 27%),
    radial-gradient(circle at 82% 22%, rgba(79,223,255,.07), transparent 24%),
    radial-gradient(circle at 65% 80%, rgba(228,92,249,.055), transparent 28%),
    var(--bg);
}

.nav-wrap {
  background: rgba(11,13,28,.76);
  border-bottom-color: rgba(91,157,248,.15);
}

.nav-links a:hover,
.linkedin-link:hover {
  color: var(--cyan);
}

.nav-cta:hover,
.secondary-btn:hover {
  border-color: rgba(79,223,255,.42);
  background: rgba(79,223,255,.055);
}

.primary-btn {
  color: #090b18;
  background: linear-gradient(100deg, var(--cyan), var(--blue) 36%, var(--purple) 68%, var(--magenta));
  box-shadow: 0 10px 36px rgba(89,30,218,.18);
}

.primary-btn:hover {
  filter: brightness(1.08) saturate(1.07);
  box-shadow:
    0 12px 42px rgba(79,223,255,.16),
    0 12px 48px rgba(228,92,249,.13);
}

.gradient-text {
  background: linear-gradient(
    90deg,
    #ffffff 0%,
    var(--cyan) 27%,
    var(--blue) 44%,
    var(--purple) 67%,
    var(--magenta) 88%,
    var(--pink) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.pulse {
  background: var(--cyan);
  box-shadow:
    0 0 14px rgba(79,223,255,.95),
    0 0 28px rgba(158,96,247,.55);
}

.ticker {
  background: linear-gradient(
    90deg,
    rgba(79,223,255,.02),
    rgba(89,30,218,.06),
    rgba(228,92,249,.035)
  );
}

.focus-card:hover {
  background:
    radial-gradient(circle at 20% 0%, rgba(79,223,255,.08), transparent 38%),
    radial-gradient(circle at 90% 100%, rgba(228,92,249,.07), transparent 40%),
    rgba(255,255,255,.015);
  border-color: rgba(158,96,247,.25);
}

.focus-card .icon,
.join-kicker,
.status,
.quote-mark {
  color: var(--cyan);
}

.tags span:hover {
  color: var(--text);
  border-color: rgba(228,92,249,.45);
  background: rgba(89,30,218,.10);
}

.concepts-section {
  background:
    radial-gradient(circle at 8% 18%, rgba(89,30,218,.08), transparent 28%),
    radial-gradient(circle at 92% 78%, rgba(79,223,255,.045), transparent 30%),
    #0d1022;
}

.concept:hover {
  background:
    linear-gradient(90deg, rgba(79,223,255,.035), rgba(89,30,218,.035), rgba(228,92,249,.03));
}

.concept-arrow {
  color: var(--magenta);
}

.manifesto-box {
  background:
    radial-gradient(circle at 90% 20%, rgba(228,92,249,.15), transparent 35%),
    radial-gradient(circle at 10% 90%, rgba(79,223,255,.10), transparent 31%),
    radial-gradient(circle at 50% 50%, rgba(89,30,218,.05), transparent 45%),
    #101329;
  border-color: rgba(158,96,247,.18);
}

.join-card {
  background:
    linear-gradient(145deg, rgba(79,223,255,.025), rgba(89,30,218,.055) 55%, rgba(228,92,249,.035)),
    var(--panel);
  border-color: rgba(158,96,247,.22);
}

.join-card > a:hover {
  color: var(--cyan);
}

/* Ideas Lab */
.ideas-section,
.idea-lab,
.open-ideas,
#ideas {
  --idea-border: rgba(158,96,247,.20);
}

.idea-form input:focus,
.idea-form textarea:focus,
.idea-form select:focus,
#ideaForm input:focus,
#ideaForm textarea:focus,
#ideaForm select:focus {
  border-color: rgba(79,223,255,.65) !important;
  box-shadow:
    0 0 0 3px rgba(79,223,255,.08),
    0 0 24px rgba(89,30,218,.09) !important;
}

.idea-form button,
#ideaForm button[type="submit"],
.idea-submit {
  background: linear-gradient(100deg, var(--cyan), var(--blue) 34%, var(--purple) 68%, var(--magenta)) !important;
  color: #090b18 !important;
}

.idea-card,
.saved-idea,
.idea-wall-item {
  border-color: rgba(91,157,248,.18) !important;
  background:
    linear-gradient(145deg, rgba(79,223,255,.025), rgba(89,30,218,.045), rgba(228,92,249,.025)) !important;
}

/* Subtle logo-colored selection */
::selection {
  background: rgba(158,96,247,.48);
  color: white;
}

/* Scrollbar for browsers that support it */
* {
  scrollbar-color: var(--purple) #0b0d1c;
}

@media (hover:hover) and (pointer:fine) {
  a:not(.gen-logo):hover {
    text-shadow: 0 0 16px rgba(79,223,255,.12);
  }
}


/* Footer uses the same animated Gen-Smart lockup as the navigation. */
.footer-logo {
  width: 190px;
  flex: 0 0 auto;
}

.footer-logo .logo-orbit {
  left: 4px;
}

@media (max-width: 560px) {
  .footer-logo {
    width: 175px;
  }
}


/* =========================================================
   Gen-Smart Community + Member Project Showcase
   ========================================================= */
.community-section{padding:130px 0;border-block:1px solid var(--line);background:radial-gradient(circle at 10% 20%,rgba(79,223,255,.055),transparent 26%),radial-gradient(circle at 88% 72%,rgba(228,92,249,.07),transparent 30%),#0c0f21}
.community-intro-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:90px}
.community-value{min-height:230px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}
.community-value span{font-size:10px;color:var(--cyan);letter-spacing:.14em}.community-value h3{font-family:"Space Grotesk";font-size:27px;margin:52px 0 12px}.community-value p{color:#929bb8;font-size:13px;line-height:1.7}
.project-showcase-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.community-kicker{font-size:9px;letter-spacing:.16em;color:var(--magenta)}.project-showcase-head h3{font-family:"Space Grotesk";font-size:clamp(30px,4vw,52px);margin:10px 0 0}.community-link{padding:12px 16px;border:1px solid rgba(79,223,255,.24);border-radius:99px;font-size:12px;color:#c8cfe6}.community-link:hover{color:var(--cyan);border-color:rgba(79,223,255,.55)}
.member-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.member-project{padding:18px;border:1px solid rgba(91,157,248,.17);background:linear-gradient(150deg,rgba(79,223,255,.025),rgba(89,30,218,.045),rgba(228,92,249,.02)),#101329;transition:transform .28s ease,border-color .28s ease,background .28s ease}.member-project:hover{transform:translateY(-6px);border-color:rgba(158,96,247,.38);background:linear-gradient(150deg,rgba(79,223,255,.045),rgba(89,30,218,.07),rgba(228,92,249,.035)),#11152c}
.project-visual{height:230px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(89,30,218,.12),transparent 48%),#0a0d1d;border:1px solid rgba(255,255,255,.06);margin-bottom:20px}.project-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(79,223,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(79,223,255,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,transparent,black 30%,black 70%,transparent)}
.pv-ring{position:absolute;border-radius:50%;border:1px solid rgba(79,223,255,.35)}.r1{width:120px;height:120px;animation:communitySpin 9s linear infinite}.r2{width:165px;height:70px;transform:rotate(24deg);border-color:rgba(228,92,249,.32);animation:communityTilt 6s ease-in-out infinite}.pv-core{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;z-index:2;font-family:"Space Grotesk";font-weight:700;font-size:15px;color:var(--cyan);border:1px solid rgba(79,223,255,.42);background:radial-gradient(circle,rgba(79,223,255,.14),rgba(89,30,218,.12) 55%,#0b0e20);box-shadow:0 0 32px rgba(79,223,255,.12)}
.brain-wave{font-size:50px;letter-spacing:-.2em;color:var(--cyan);text-shadow:0 0 18px rgba(79,223,255,.55);z-index:2}.lamp-beam{position:absolute;width:155px;height:155px;border-radius:50%;border:1px dashed rgba(228,92,249,.32);animation:communitySpin 12s linear infinite}
.cane-line{position:absolute;width:12px;height:130px;border-radius:10px;background:linear-gradient(var(--cyan),var(--purple),var(--magenta));transform:rotate(24deg);box-shadow:0 0 20px rgba(79,223,255,.25);z-index:2}.scan-cone{position:absolute;width:180px;height:90px;border:1px solid rgba(79,223,255,.24);border-radius:50%;transform:translate(55px,-35px) rotate(-8deg)}.scan-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--magenta);box-shadow:0 0 12px var(--magenta)}.d1{right:24%;top:30%}.d2{right:18%;bottom:28%}
.project-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:8px;letter-spacing:.12em;color:#7883a5;text-transform:uppercase}.project-status{color:var(--cyan)}.member-project h3{font-family:"Space Grotesk";font-size:25px;margin:18px 0 10px}.member-project>p{color:#949db9;line-height:1.65;font-size:13px;min-height:64px}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.project-tags span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;border:1px solid rgba(255,255,255,.09);border-radius:99px;color:#a9b2ce}
.community-note{margin-top:26px;padding:24px 26px;border:1px solid rgba(228,92,249,.18);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:rgba(89,30,218,.035)}.community-note>span{font-size:8px;letter-spacing:.15em;color:var(--magenta)}.community-note p{margin:0;color:#8f99b8;font-size:12px;line-height:1.6}.community-note a{font-size:12px;color:var(--cyan)}
@keyframes communitySpin{to{transform:rotate(360deg)}}@keyframes communityTilt{0%,100%{transform:rotate(24deg) scaleX(1)}50%{transform:rotate(38deg) scaleX(.84)}}
@media(max-width:900px){.community-intro-grid{grid-template-columns:repeat(2,1fr)}.member-project-grid{grid-template-columns:1fr}.project-showcase-head{align-items:start;flex-direction:column}.community-note{grid-template-columns:1fr}}
@media(max-width:560px){.community-section{padding:90px 0}.community-intro-grid{grid-template-columns:1fr}.project-visual{height:210px}}
@media(prefers-reduced-motion:reduce){.pv-ring,.lamp-beam{animation:none!important}}

.community-page-hero{padding:150px 0 100px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;min-height:720px}.community-page-hero h1{font-family:"Space Grotesk";font-size:clamp(60px,8vw,118px);line-height:.88;letter-spacing:-.065em;margin:25px 0}.community-page-hero p{max-width:690px;color:#9ba5c2;font-size:18px;line-height:1.75}.community-orbit{min-height:490px;position:relative;display:grid;place-items:center}.co-ring{position:absolute;border-radius:50%;border:1px solid rgba(79,223,255,.24)}.co-ring.a{width:360px;height:360px;animation:communitySpin 18s linear infinite}.co-ring.b{width:460px;height:170px;transform:rotate(28deg);border-color:rgba(228,92,249,.25);animation:communityTilt 8s ease-in-out infinite}.co-core{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;font-family:"Space Grotesk";font-size:35px;font-weight:700;background:radial-gradient(circle,rgba(79,223,255,.18),rgba(89,30,218,.18) 48%,#0b0e20 72%);border:1px solid rgba(158,96,247,.35);box-shadow:0 0 60px rgba(89,30,218,.18)}.co-node{position:absolute;padding:9px 11px;border:1px solid rgba(255,255,255,.12);background:#0d1022;font-size:9px;letter-spacing:.12em}.n-a{top:14%;left:16%}.n-b{top:19%;right:13%}.n-c{bottom:17%;left:13%}.n-d{bottom:12%;right:10%}.participation-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.participation-grid article{padding:30px;min-height:260px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.participation-grid b{font-size:10px;color:var(--magenta)}.participation-grid h3{font-family:"Space Grotesk";font-size:26px;margin:60px 0 14px}.participation-grid p{color:#909ab8;font-size:13px;line-height:1.7}@media(max-width:900px){.community-page-hero{grid-template-columns:1fr;padding-top:120px}.participation-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.participation-grid{grid-template-columns:1fr}.community-orbit{min-height:390px}.co-ring.a{width:270px;height:270px}.co-ring.b{width:330px;height:130px}}
.project-photo-link{display:block;margin:-18px -18px 18px;overflow:hidden;border-bottom:1px solid rgba(91,157,248,.18);background:#090b16}.project-photo{width:100%;height:235px;display:block;object-fit:cover;transition:transform .45s ease,filter .45s ease}.member-project:hover .project-photo{transform:scale(1.025);filter:saturate(1.06) contrast(1.03)}.project-status.real{color:#77f6cb}.member-project h3 a{color:inherit;text-decoration:none}.project-member{margin-top:15px;color:#7f89a8;font-size:11px;letter-spacing:.02em}.project-member strong{color:#dce5ff;font-weight:600}
.project-detail-hero{padding-top:150px;padding-bottom:70px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.project-detail-hero h1{font-family:"Space Grotesk";font-size:clamp(50px,7vw,100px);line-height:.9;letter-spacing:-.06em;margin:18px 0 25px}.project-detail-hero p{max-width:620px;color:#a2abc7;line-height:1.8;font-size:16px}.project-author{margin-top:28px;display:flex;gap:12px;align-items:center;color:#8c96b3;font-size:12px}.project-author b{color:#fff}.project-hero-photo{position:relative}.project-hero-photo img{width:100%;max-height:600px;object-fit:cover;display:block;border:1px solid rgba(79,223,255,.18);box-shadow:0 35px 90px rgba(0,0,0,.38)}.project-hero-photo:before{content:"";position:absolute;inset:-25px;z-index:-1;background:radial-gradient(circle at 60% 45%,rgba(79,223,255,.12),transparent 45%),radial-gradient(circle at 35% 70%,rgba(228,92,249,.1),transparent 42%);filter:blur(20px)}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);margin:10px auto 80px}.project-facts div{background:#0e1124;padding:24px}.project-facts small{display:block;color:#6f7999;font-size:8px;letter-spacing:.15em;margin-bottom:10px}.project-facts strong{font-family:"Space Grotesk";font-size:17px}.project-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-bottom:80px}.project-story h2{font-family:"Space Grotesk";font-size:clamp(38px,5vw,66px);line-height:.95;margin:0}.project-story-copy p{color:#a1aac6;line-height:1.85;margin:0 0 20px}.tech-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:35px}.tech-list div{padding:18px;border:1px solid rgba(255,255,255,.08);background:#0e1124}.tech-list b{display:block;color:var(--cyan);font-family:"Space Grotesk";margin-bottom:6px}.tech-list span{font-size:12px;color:#8c96b3}.project-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;padding-bottom:90px}.project-gallery img{width:100%;height:100%;min-height:360px;object-fit:cover;border:1px solid rgba(255,255,255,.08)}.project-gallery-stack{display:grid;grid-template-rows:1fr 1fr;gap:14px}.project-ui-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:110px}.project-ui-gallery img{width:100%;max-height:760px;object-fit:contain;background:#090b16;border:1px solid rgba(255,255,255,.08)}@media(max-width:900px){.project-detail-hero,.project-story{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr 1fr}.project-gallery{grid-template-columns:1fr}.project-ui-gallery{grid-template-columns:1fr}.project-detail-hero{gap:35px;padding-top:120px}}@media(max-width:560px){.project-facts{grid-template-columns:1fr}.tech-list{grid-template-columns:1fr}}

/* Prototype gallery image-ratio fix */
.project-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:14px;
  align-items:start;
  padding-bottom:90px;
}
.project-gallery > img,
.project-gallery-stack img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  display:block;
  background:#090b16;
  border:1px solid rgba(255,255,255,.08);
}
.project-gallery-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.project-ui-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
  padding-bottom:110px;
}
.project-ui-gallery img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
  background:#090b16;
  border:1px solid rgba(255,255,255,.08);
}
@media(max-width:900px){
  .project-gallery,.project-ui-gallery{grid-template-columns:1fr}
  .project-gallery > img,.project-gallery-stack img,.project-ui-gallery img{max-width:760px;margin-inline:auto}
}

/* Jameel project — published research */
.research-badge{display:inline-flex;align-items:center;margin-left:10px;padding:5px 8px;border:1px solid rgba(0,252,255,.28);border-radius:99px;color:var(--cyan);font-size:8px;letter-spacing:.12em;vertical-align:middle;background:rgba(0,252,255,.045)}
.published-chip{display:inline-flex;margin-top:12px;padding:6px 9px;border:1px solid rgba(228,92,249,.25);border-radius:99px;color:#e9a6ff;font-size:8px;letter-spacing:.11em;background:rgba(228,92,249,.045)}
.research-showcase{padding-bottom:105px}.research-showcase-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start;margin-top:28px}.research-showcase h2{font-family:"Space Grotesk";font-size:clamp(38px,5vw,66px);line-height:.95;margin:14px 0 0}.research-kicker{font-size:9px;letter-spacing:.15em;color:var(--magenta)}.research-paper-card{position:relative;padding:32px;border:1px solid rgba(79,223,255,.18);background:linear-gradient(145deg,rgba(79,223,255,.035),rgba(89,30,218,.065),rgba(228,92,249,.025)),#0e1124;overflow:hidden}.research-paper-card:before{content:"";position:absolute;right:-80px;top:-100px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(79,223,255,.10),transparent 65%);pointer-events:none}.paper-meta{display:flex;justify-content:space-between;gap:18px;color:#75809f;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.research-paper-card h3{font-family:"Space Grotesk";font-size:clamp(25px,3vw,38px);line-height:1.08;margin:22px 0 16px;max-width:760px}.research-paper-card p{color:#9fa8c4;line-height:1.8;margin:0 0 24px}.paper-author{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);font-size:10px;color:#7f89a8}.paper-author span:first-child{font-size:8px;letter-spacing:.12em}.paper-author strong{color:#fff}.paper-link{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding:12px 16px;border:1px solid rgba(79,223,255,.25);border-radius:99px;color:var(--cyan);font-size:11px;letter-spacing:.04em;transition:.25s ease}.paper-link:hover{border-color:rgba(79,223,255,.58);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,252,255,.08)}
@media(max-width:900px){.research-showcase-grid{grid-template-columns:1fr;gap:35px}.paper-meta{flex-direction:column;gap:7px}}
@media(max-width:560px){.research-paper-card{padding:22px}.research-badge{display:table;margin:10px 0 0}}

/* Community page — expanded real member showcase */
.community-featured-build {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-top: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid rgba(0, 252, 255, 0.16);
}
.community-featured-head { max-width: 880px; }
.community-featured-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  margin-top: 2.5rem;
}
.community-featured-photo {
  display: block;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.03);
}
.community-featured-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 650px;
  object-fit: contain;
}
.community-featured-copy > p { color: var(--muted, #a8b0bf); line-height: 1.75; }
.community-featured-copy .project-member { margin: 1.4rem 0; }
.community-project-link { display: inline-flex; margin-top: 1.5rem; }
.containerless-facts { margin: 3rem 0; }
.community-featured-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1rem;
  align-items: start;
  margin: 2rem 0 3rem;
}
.community-featured-gallery figure {
  margin: 0;
  padding: .7rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}
.community-featured-gallery img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(0,0,0,.22);
}
.community-featured-gallery figcaption {
  padding: .8rem .2rem .15rem;
  font-size: .78rem;
  line-height: 1.4;
  color: var(--muted, #a8b0bf);
}
.community-phone-shot img { height: 360px; }
.community-research-strip {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr);
  gap: 2rem;
  padding: clamp(1.5rem,3vw,2.6rem);
  border: 1px solid rgba(0,252,255,.18);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(0,252,255,.04), rgba(104,0,150,.08));
}
.community-research-strip h3 { margin: .65rem 0 .75rem; font-size: clamp(1.35rem,2.2vw,2rem); }
.community-research-strip p { margin: 0; max-width: 720px; color: var(--muted, #a8b0bf); line-height: 1.7; }
.community-research-meta { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .55rem; font-size: .88rem; }
.community-research-meta span { color: var(--muted, #a8b0bf); }
.community-research-meta .paper-link { margin-top: .6rem; }
@media (max-width: 980px) {
  .community-featured-hero, .community-research-strip { grid-template-columns: 1fr; }
  .community-featured-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .community-featured-gallery { grid-template-columns: 1fr; }
  .community-featured-gallery img, .community-phone-shot img { height: auto; max-height: 520px; }
}


/* Discord community CTA */
.discord-btn {
  display:inline-flex; align-items:center; gap:.55rem; padding:.86rem 1.08rem;
  border:1px solid rgba(0,252,255,.34); border-radius:999px; color:#fbffff;
  text-decoration:none; font-weight:700; letter-spacing:.01em;
  background:linear-gradient(120deg, rgba(53,69,150,.22), rgba(104,0,150,.18), rgba(255,0,167,.12));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.discord-btn:hover {
  transform:translateY(-2px); border-color:rgba(0,252,255,.72);
  box-shadow:0 0 26px rgba(0,252,255,.10), 0 0 38px rgba(255,0,167,.07);
}
.discord-dot {
  width:.55rem; height:.55rem; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 12px var(--cyan); flex:0 0 auto;
}


/* Standalone Discord section before footer */
.discord-community-section {
  padding-top: clamp(2.5rem, 6vw, 5rem);
  padding-bottom: clamp(2.5rem, 6vw, 5rem);
}
.discord-community-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(2rem, 5vw, 4.5rem);
  border: 1px solid rgba(0,252,255,.2);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 30%, rgba(255,0,167,.12), transparent 28%),
    radial-gradient(circle at 15% 75%, rgba(0,252,255,.09), transparent 35%),
    linear-gradient(135deg, rgba(39,47,64,.65), rgba(104,0,150,.12));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.discord-community-card::after {
  content: "";
  position: absolute;
  width: 240px; height: 240px;
  right: -95px; top: -105px;
  border: 1px solid rgba(0,252,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(104,0,150,.12);
  pointer-events: none;
}
.discord-community-copy h2 {
  margin: .85rem 0 1rem;
  max-width: 760px;
  font-size: clamp(2rem, 4.5vw, 4.6rem);
  line-height: .98;
}
.discord-community-copy p {
  margin: 0;
  max-width: 720px;
  color: var(--muted, #a8b0bf);
  line-height: 1.75;
}
.discord-community-action {
  position: relative; z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.discord-live {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  color: var(--muted, #a8b0bf);
}
.discord-section-btn { padding: 1rem 1.25rem; }
.footer-discord-link {
  display: inline-flex; align-items: center; gap: .5rem;
  color: #fbffff; text-decoration: none; font-weight: 700;
}
.footer-discord-link:hover { color: var(--cyan); }
.footer-discord-link .discord-dot { width: .42rem; height: .42rem; }
@media (max-width: 820px) {
  .discord-community-card { grid-template-columns: 1fr; }
}



/* Collaboration CTAs */
.collab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;padding:12px 16px;border:1px solid rgba(79,223,255,.28);border-radius:999px;color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(110deg,rgba(79,223,255,.055),rgba(89,30,218,.08),rgba(228,92,249,.04));transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;text-decoration:none}.collab-btn:hover{transform:translateY(-2px);border-color:rgba(228,92,249,.48);background:linear-gradient(110deg,rgba(79,223,255,.10),rgba(89,30,218,.12),rgba(228,92,249,.08));box-shadow:0 10px 30px rgba(89,30,218,.12)}.collab-btn.small{padding:9px 13px;font-size:9px}.project-actions{margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.065)}.concept{grid-template-columns:70px 1.05fr 1fr 180px}.concept-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.concept-open{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b8c2df;text-decoration:none}.concept-open:hover{color:var(--cyan)}.hero-collab{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.hero-collab>span{max-width:420px;color:#7f89a8;font-size:11px;line-height:1.55}.featured-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:820px){.concept{grid-template-columns:44px 1fr;gap:14px;padding-block:24px}.concept p{grid-column:2}.concept-actions{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.hero-collab{align-items:flex-start;flex-direction:column}}


/* Full-card research concept links */
.concept-link{display:grid;color:inherit;text-decoration:none;cursor:pointer;position:relative}
.concept-link:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}
.concept-link .concept-open{pointer-events:none}
.concept-link:hover .concept-open{color:var(--cyan)}
.concept-link:hover h3{color:#fff}


/* Jameel project — mobile control interface mockups */
.control-interface-section{padding-top:clamp(3.5rem,7vw,7rem);padding-bottom:clamp(3.5rem,7vw,7rem)}
.phone-showcase{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(250px,.9fr) minmax(260px,.75fr);gap:clamp(1.25rem,2.8vw,2.5rem);align-items:start;margin-top:clamp(2rem,4vw,3.5rem)}
.phone-mockup{display:flex;flex-direction:column;align-items:center;min-width:0}
.phone-shell{position:relative;width:min(100%,340px);padding:10px;border-radius:42px;background:linear-gradient(145deg,#424755 0%,#10131a 30%,#05070b 68%,#343946 100%);border:1px solid rgba(255,255,255,.22);box-shadow:0 28px 70px rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.035),0 0 0 1px rgba(0,252,255,.05)}
.phone-shell::before,.phone-shell::after{content:"";position:absolute;left:-4px;width:4px;border-radius:4px 0 0 4px;background:#242936;border:1px solid rgba(255,255,255,.12);border-right:0}
.phone-shell::before{top:24%;height:58px}.phone-shell::after{top:34%;height:88px}
.phone-speaker{position:absolute;z-index:3;top:17px;left:50%;transform:translateX(-50%);width:30%;height:18px;border-radius:999px;background:#030405;box-shadow:inset 0 1px 2px rgba(255,255,255,.06)}
.phone-screen{position:relative;overflow:hidden;border-radius:34px;background:#000;aspect-ratio:461/1024}
.phone-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;animation:none!important}
.phone-caption{margin-top:14px;color:var(--muted,#a8b0bf);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.control-feature-card{position:relative;overflow:hidden;padding:clamp(1.5rem,3vw,2.25rem);border:1px solid rgba(0,252,255,.18);border-radius:24px;background:linear-gradient(145deg,rgba(39,47,64,.58),rgba(9,14,24,.84));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.control-feature-card::after{content:"";position:absolute;width:190px;height:190px;right:-80px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,167,.14),transparent 68%);pointer-events:none}
.control-feature-kicker{position:relative;z-index:1;color:var(--cyan);font-size:.68rem;font-weight:800;letter-spacing:.13em}
.control-feature-card h3{position:relative;z-index:1;margin:.75rem 0 1.45rem;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.02}
.control-feature-list{display:grid;gap:0;position:relative;z-index:1}
.control-feature-list>div{padding:1rem 0;border-top:1px solid rgba(255,255,255,.075)}
.control-feature-list b{display:block;color:#fbffff;font-size:.92rem;margin-bottom:.3rem}
.control-feature-list span{display:block;color:var(--muted,#a8b0bf);font-size:.78rem;line-height:1.55}
.control-note{position:relative;z-index:1;margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid rgba(0,252,255,.15);color:#91e8ef;font-size:.75rem;line-height:1.55}
@media(max-width:980px){.phone-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.control-feature-card{grid-column:1/-1}}
@media(max-width:640px){.phone-showcase{grid-template-columns:1fr;gap:2rem}.control-feature-card{grid-column:auto}.phone-shell{width:min(92vw,330px);border-radius:38px}.phone-screen{border-radius:30px}}

/* Gen-Smart splash loader */
.gs-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#05080d;transition:opacity .55s ease,visibility .55s ease}.gs-splash.is-leaving{opacity:0;visibility:hidden}.gs-splash-inner{display:flex;flex-direction:column;align-items:center;text-align:center}.gs-splash-mark{position:relative;width:92px;height:92px;display:grid;place-items:center}.gs-splash-mark img{width:66px;height:66px;object-fit:contain;animation:gsLogoPulse 1.2s ease-in-out infinite}.gs-splash-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(0,252,255,.3);border-top-color:#00fcff;border-right-color:#ff00a7;animation:gsSpin 1.35s linear infinite}.gs-splash-word{margin-top:20px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(1.35rem,4vw,2rem);letter-spacing:.16em;color:#fbffff}.gs-splash-line{width:170px;height:2px;margin:14px 0 12px;background:rgba(255,255,255,.09);overflow:hidden}.gs-splash-line i{display:block;width:42%;height:100%;background:linear-gradient(90deg,#00fcff,#354596,#680096,#ff00a7);animation:gsLoad 1s ease-in-out infinite}.gs-splash-tag{font-size:.6rem;letter-spacing:.18em;color:#81909e}@keyframes gsSpin{to{transform:rotate(360deg)}}@keyframes gsLogoPulse{50%{transform:scale(1.07);filter:drop-shadow(0 0 14px rgba(0,252,255,.45))}}@keyframes gsLoad{0%{transform:translateX(-120%)}100%{transform:translateX(350%)}}@media(prefers-reduced-motion:reduce){.gs-splash-ring,.gs-splash-mark img,.gs-splash-line i{animation:none}.gs-splash{transition:none}}

/* Utility pages */
.utility-main{min-height:72vh;padding-top:clamp(8rem,15vw,11rem);padding-bottom:6rem}.utility-hero{max-width:850px}.utility-code{font-family:'Space Grotesk',sans-serif;font-size:clamp(5rem,18vw,12rem);font-weight:700;line-height:.75;letter-spacing:-.06em;background:linear-gradient(90deg,#00fcff,#354596,#ff00a7);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.95}.utility-hero h1{font-size:clamp(2.5rem,7vw,5.6rem);line-height:.95;margin:.8rem 0 1.4rem}.utility-hero>p{max-width:680px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem);line-height:1.75}.utility-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.utility-content{max-width:850px;margin-top:4rem}.utility-content section{padding:2rem 0;border-top:1px solid rgba(255,255,255,.09)}.utility-content h2{font-size:clamp(1.35rem,3vw,2rem);margin:0 0 .8rem}.utility-content p,.utility-content li{color:var(--muted);line-height:1.75}.utility-content a{color:var(--cyan)}.utility-footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;font-size:.72rem}.utility-footer-links a{color:var(--muted);text-decoration:none}.utility-footer-links a:hover{color:var(--cyan)}


/* Human-made refinements: less showroom, more working studio */
.hero-lede, .section-intro, .split-content p, .member-project p, .join-copy p { max-width: 68ch; }
.human-callout-card { border-style: dashed !important; background: linear-gradient(180deg, rgba(0,252,255,.025), rgba(255,255,255,.012)); }
.human-callout-card h3 { max-width: 15ch; }
.human-callout-card::before { content:""; display:block; width:42px; height:2px; background:linear-gradient(90deg,var(--cyan),transparent); margin-bottom:20px; }
.manifesto-box { transform: rotate(-.15deg); }
.manifesto-meta span:first-child { letter-spacing:.08em; }
@media (prefers-reduced-motion:no-preference){ .human-callout-card:hover { transform: translateY(-2px) rotate(.08deg); } }

/* Ideas from Fiction to Reality — animated transformation */
.fiction-reality-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.18em .28em;
  max-width:16ch;
  overflow:visible;
}
.fiction-reality-title > span{display:inline-block;will-change:transform,opacity,filter}
.fiction-reality-title .fiction-word{color:var(--muted,#a8b0bf);position:relative}
.fiction-reality-title .flow-arrow{
  font-size:.72em;
  color:var(--cyan);
  transform:translateY(-.07em);
  text-shadow:0 0 16px rgba(0,252,255,.45);
}
.fiction-reality-title .reality-word{
  background:linear-gradient(90deg,#00fcff,#354596,#680096,#ff00a7,#00fcff);
  background-size:300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 0 rgba(0,252,255,0));
}

/* Start hidden only while motion is enabled, so the entrance is visible. */
@media (prefers-reduced-motion:no-preference){
  .reveal:not(.visible) .fiction-reality-title .fiction-word,
  .reveal:not(.visible) .fiction-reality-title .flow-arrow,
  .reveal:not(.visible) .fiction-reality-title .reality-word{opacity:0}

  .reveal.visible .fiction-reality-title .fiction-word{
    animation:fictionMaterialize .75s cubic-bezier(.2,.8,.2,1) both;
  }
  .reveal.visible .fiction-reality-title .flow-arrow{
    animation:arrowTravel .9s .35s cubic-bezier(.16,1,.3,1) both,arrowPulse 2.2s 1.4s ease-in-out infinite;
  }
  .reveal.visible .fiction-reality-title .reality-word{
    animation:realityMaterialize 1s .7s cubic-bezier(.16,1,.3,1) both,realitySignal 4s 1.7s linear infinite,realityGlow 2.8s 1.7s ease-in-out infinite;
  }
}

@keyframes fictionMaterialize{
  0%{opacity:0;transform:translateY(18px);filter:blur(8px)}
  65%{opacity:1;filter:blur(1px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes arrowTravel{
  0%{opacity:0;transform:translateX(-22px) translateY(-.07em) scaleX(.55)}
  55%{opacity:1}
  100%{opacity:1;transform:translateX(0) translateY(-.07em) scaleX(1)}
}
@keyframes arrowPulse{
  0%,100%{transform:translateX(0) translateY(-.07em)}
  50%{transform:translateX(5px) translateY(-.07em)}
}
@keyframes realityMaterialize{
  0%{opacity:0;transform:translateX(-18px) scale(.96);filter:blur(8px)}
  70%{opacity:1;filter:blur(1px)}
  100%{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
}
@keyframes realitySignal{
  0%{background-position:0% 50%}
  100%{background-position:300% 50%}
}
@keyframes realityGlow{
  0%,100%{filter:drop-shadow(0 0 0 rgba(0,252,255,0))}
  50%{filter:drop-shadow(0 0 9px rgba(0,252,255,.28))}
}
@media(max-width:640px){
  .fiction-reality-title{max-width:12ch}
  .fiction-reality-title .flow-arrow{font-size:.62em}
}
@media(prefers-reduced-motion:reduce){
  .fiction-reality-title .fiction-word,
  .fiction-reality-title .flow-arrow,
  .fiction-reality-title .reality-word{opacity:1!important;animation:none!important;filter:none!important}
}

/* Discord access beside the community heading. */
.community-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-width:0}
.community-heading-row h2,.community-heading-row h1{flex:1;min-width:0}
.discord-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#4fdfff,#a268fa,#e45cf9);color:#0b1020;box-shadow:0 8px 28px rgba(162,104,250,.2);transition:transform .2s ease,box-shadow .2s ease}
.discord-icon-button svg{width:29px;height:29px}
.discord-icon-button:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(162,104,250,.35)}
.discord-icon-button:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:560px){.community-heading-row{gap:14px}.discord-icon-button{flex-basis:48px;width:48px;height:48px;border-radius:12px}.discord-icon-button svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.discord-icon-button{transition:none}.discord-icon-button:hover{transform:none}}

.community-open-showcase{grid-template-columns:1fr}
