  :root{
    --void:#050711;
    --abyss:#0b1226;
    --panel:#0e1730;
    --line:rgba(185,194,212,.14);
    --core:#2e7cf6;
    --halo:#7fb3ff;
    --silver:#b9c2d4;
    --text:#f4f6fb;
    --mist:#8993ac;
    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-mono:'IBM Plex Mono', monospace;
    --maxw:1180px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--void);
    color:var(--text);
    font-family:var(--font-body);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font:inherit;background:none;border:none;color:inherit;cursor:pointer;}
  input{font:inherit;}

  .skip-link{
    position:absolute;left:-9999px;top:0;background:var(--core);color:#fff;padding:.6rem 1rem;z-index:200;
  }
  .skip-link:focus{left:1rem;top:1rem;}

  :focus-visible{outline:2px solid var(--halo);outline-offset:3px;border-radius:4px;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

  /* ---------- scan progress bar ---------- */
  .scanbar{
    position:fixed;top:0;left:0;height:2px;width:0%;
    background:linear-gradient(90deg,var(--core),var(--halo));
    box-shadow:0 0 10px var(--core);
    z-index:300;transition:width .1s linear;
  }

  /* ---------- header ---------- */
  .site-header{
    position:fixed;top:0;left:0;right:0;z-index:150;
    padding:22px 0;
    transition:background .35s ease, padding .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  .site-header.scrolled{
    background:rgba(5,7,17,.78);
    backdrop-filter:blur(14px);
    padding:14px 0;
    border-color:var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;}
  .nav__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;font-size:1.05rem;}
  .nav__logo svg{width:26px;height:26px;flex-shrink:0;}
  .brand-mark{width:30px;height:auto;flex-shrink:0;}
  .brand-mark--sm{width:24px;}
  .nav__logo .accent{color:var(--core);}
  .nav__links{display:flex;gap:40px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;}
  .nav__links a{color:var(--mist);transition:color .25s ease;position:relative;padding-bottom:6px;}
  .nav__links a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--core);
    transition:width .25s ease;
  }
  .nav__links a:hover,.nav__links a.active{color:var(--text);}
  .nav__links a.active::after,.nav__links a:hover::after{width:100%;}
  .nav__toggle{display:none;width:32px;height:24px;position:relative;z-index:160;}
  .nav__toggle span{
    position:absolute;left:0;right:0;height:1.5px;background:var(--text);transition:transform .3s ease, opacity .3s ease;
  }
  .nav__toggle span:nth-child(1){top:0;}
  .nav__toggle span:nth-child(2){top:11px;}
  .nav__toggle span:nth-child(3){top:22px;}
  .nav__toggle.open span:nth-child(1){transform:translateY(11px) rotate(45deg);}
  .nav__toggle.open span:nth-child(2){opacity:0;}
  .nav__toggle.open span:nth-child(3){transform:translateY(-11px) rotate(-45deg);}

  @media (max-width:840px){
    .nav__links{
      position:fixed;inset:0;background:var(--void);
      flex-direction:column;justify-content:center;align-items:center;gap:34px;
      font-size:.95rem;transform:translateX(100%);transition:transform .4s ease;
    }
    .nav__links.open{transform:translateX(0);}
    .nav__toggle{display:block;}
  }

  /* ---------- shared section chrome ---------- */
  section{position:relative;padding:130px 0;}
  .section__eyebrow{
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;color:var(--core);
    display:flex;align-items:center;gap:10px;margin-bottom:18px;
  }
  .section__eyebrow::before{content:'';width:18px;height:1px;background:var(--core);}
  .section__title{
    font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.7rem);
    letter-spacing:-.01em;margin-bottom:20px;
  }
  .section__lead{color:var(--mist);font-size:1.02rem;max-width:560px;}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}

  /* ---------- hero ---------- */
  .hero{
    min-height:100vh;display:flex;align-items:center;padding-top:120px;padding-bottom:60px;
    overflow:hidden;
  }
  #starfield{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
  .hero__grid{
    position:absolute;inset:0;z-index:0;opacity:.5;
    background-image:
      linear-gradient(rgba(185,194,212,.05) 1px,transparent 1px),
      linear-gradient(90deg,rgba(185,194,212,.05) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 70% 60% at 50% 40%, black 10%, transparent 75%);
  }
  .hero__inner{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
  .hero__eyebrowline{
    font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;color:var(--silver);
    display:flex;align-items:center;gap:14px;margin-bottom:26px;flex-wrap:wrap;
  }
  .hero__eyebrowline span:not(.dot){white-space:nowrap;}
  .dot{width:3px;height:3px;border-radius:50%;background:var(--core);}
  .hero__title{
    font-family:var(--font-display);font-weight:700;line-height:1.02;
    font-size:clamp(3rem,7vw,5.2rem);letter-spacing:-.015em;
  }
  .hero__title .line2{color:var(--core);text-shadow:0 0 36px rgba(46,124,246,.55);}
  .hero__sub{
    margin-top:26px;color:var(--mist);font-size:1.08rem;max-width:480px;
  }
  .hero__scrollcue{
    margin-top:56px;display:flex;align-items:center;gap:10px;
    font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--mist);
  }
  .hero__scrollcue svg{width:14px;height:14px;animation:bob 1.8s ease-in-out infinite;}
  @keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

  .core-stage{position:relative;display:flex;align-items:center;justify-content:center;height:420px;}
  @keyframes spin{to{transform:rotate(360deg);}}
  @keyframes breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.045);}}

  .core-visual{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;height:100%;max-width:100%;margin:0 auto;}
  .core-visual__img{
    position:relative;z-index:2;width:58%;
    filter:drop-shadow(0 0 30px rgba(46,124,246,.5));
    animation:breathe 5s ease-in-out infinite;
  }
  .core-visual__ring{
    position:absolute;border-radius:50%;pointer-events:none;
  }
  .core-visual__ring--outer{
    width:94%;height:94%;border:1px dashed var(--silver);opacity:.4;
    animation:spin 42s linear infinite;
  }
  .core-visual__ring--inner{
    width:72%;height:72%;border:1px dashed var(--core);opacity:.35;
    animation:spin 26s linear infinite reverse;
  }
  .core-visual--md .core-visual__img{width:64%;}
  .core-visual--sm .core-visual__img{
    width:78%;animation:none;filter:drop-shadow(0 0 14px rgba(46,124,246,.55));
  }

  /* ---------- about / next nedir ---------- */
  .about__grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;}
  .about__visual{
    position:relative;border:1px solid var(--line);border-radius:18px;
    background:radial-gradient(circle at 50% 50%, var(--abyss), var(--void));
    aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;
  }
  .about__visual::before{
    content:'';position:absolute;inset:0;
    background:repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(185,194,212,.05) 30px,rgba(185,194,212,.05) 31px);
  }
  .about__visual .core-visual{width:100%;height:100%;}
  .about p + p{margin-top:16px;}
  .about p{color:var(--mist);max-width:480px;}

  /* ---------- capabilities ---------- */
  .cap-grid{
    margin-top:60px;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  }
  .cap-card{background:var(--abyss);padding:36px 26px;position:relative;transition:background .3s ease;}
  .cap-card:hover{background:var(--panel);}
  .cap-card__num{
    font-family:var(--font-mono);font-size:.72rem;color:var(--mist);letter-spacing:.1em;
    position:absolute;top:24px;right:24px;
  }
  .cap-card__icon{
    width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
    display:flex;align-items:center;justify-content:center;color:var(--core);margin-bottom:26px;
  }
  .cap-card__icon svg{width:20px;height:20px;}
  .cap-card h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:8px;letter-spacing:.01em;}
  .cap-card p{color:var(--mist);font-size:.88rem;}

  @media (max-width:980px){
    .cap-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .cap-grid{grid-template-columns:1fr;}
  }

  /* ---------- ilon ailesi ---------- */
  .fam-grid{
    margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  }
  .fam-card{background:var(--abyss);padding:32px 22px;position:relative;transition:background .3s ease;}
  .fam-card:hover{background:var(--panel);}
  .fam-card--highlight{background:var(--panel);}
  .fam-card__icon{
    width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
    display:flex;align-items:center;justify-content:center;color:var(--core);margin-bottom:22px;
  }
  .fam-card__icon svg{width:20px;height:20px;}
  .fam-card h3{font-family:var(--font-display);font-size:.98rem;font-weight:600;margin-bottom:8px;letter-spacing:.01em;}
  .fam-card p{color:var(--mist);font-size:.85rem;}
  .fam-card__tag{
    display:inline-block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;
    color:var(--halo);border:1px solid var(--line);border-radius:20px;padding:3px 10px;margin-bottom:14px;
  }
  .fam-note{margin-top:24px;color:var(--mist);font-size:.9rem;max-width:640px;}

  @media (max-width:980px){
    .fam-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .fam-grid{grid-template-columns:1fr;}
  }

  /* ---------- ecosystem ---------- */
  .eco-wrap{margin-top:70px;position:relative;}
  .eco-diagram{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;position:relative;z-index:1;
  }
  .eco-side{display:flex;flex-direction:column;gap:28px;}
  .eco-side--right{align-items:flex-start;}
  .eco-side--left{align-items:flex-end;}
  .eco-node{
    display:flex;align-items:center;gap:16px;max-width:280px;
  }
  .eco-side--left .eco-node{flex-direction:row-reverse;text-align:right;}
  .eco-node__icon{
    width:48px;height:48px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;color:var(--core);
    background:var(--abyss);
  }
  .eco-node__icon svg{width:22px;height:22px;}
  .eco-node h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;margin-bottom:4px;}
  .eco-node p{color:var(--mist);font-size:.82rem;}
  .eco-core{
    width:110px;height:110px;display:flex;align-items:center;justify-content:center;position:relative;
  }
  .eco-core .core-visual{width:100%;height:100%;}
  .eco-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
  .eco-lines line{
    stroke:var(--line);stroke-width:1;
  }
  .eco-lines .flow{
    stroke:var(--core);stroke-width:1.4;stroke-dasharray:6 10;
    animation:dashflow 3.2s linear infinite;opacity:.8;
  }
  @keyframes dashflow{to{stroke-dashoffset:-160;}}

  @media (max-width:780px){
    .eco-diagram{grid-template-columns:1fr;gap:46px;}
    .eco-side{flex-direction:column;align-items:flex-start !important;gap:30px;order:2;}
    .eco-side .eco-node{flex-direction:row !important;text-align:left !important;max-width:none;}
    .eco-core{order:1;margin:0 auto;}
    .eco-lines{display:none;}
  }

  /* ---------- tech ---------- */
  .tech-grid{
    margin-top:60px;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
  }
  .tech-card{
    border:1px solid var(--line);border-radius:14px;padding:32px 20px;text-align:center;
    background:linear-gradient(160deg,var(--abyss),var(--void));
    transition:border-color .3s ease, transform .3s ease;
  }
  .tech-card:hover{border-color:var(--core);transform:translateY(-4px);}
  .tech-card__icon{
    width:46px;height:46px;margin:0 auto 18px;border-radius:50%;
    background:rgba(46,124,246,.1);color:var(--core);
    display:flex;align-items:center;justify-content:center;
  }
  .tech-card__icon svg{width:22px;height:22px;}
  .tech-card h3{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;margin-bottom:8px;}
  .tech-card p{color:var(--mist);font-size:.8rem;}

  @media (max-width:980px){.tech-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:600px){.tech-grid{grid-template-columns:repeat(2,1fr);}}

  /* ---------- vision ---------- */
  .vision{
    text-align:center;background:radial-gradient(ellipse 60% 50% at 50% 30%, rgba(46,124,246,.12), transparent 70%);
  }
  .vision__quote{
    font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,3.6vw,2.6rem);
    line-height:1.3;
  }
  .vision__quote .accent{color:var(--core);}
  .vision .section__eyebrow{justify-content:center;}
  .vision .section__eyebrow::before{display:none;}

  /* ---------- cta / coming soon ---------- */
  .cta{
    text-align:center;border-top:1px solid var(--line);
    background:linear-gradient(180deg,var(--void),var(--abyss));
  }
  .cta__title{
    font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.01em;
  }
  .cta p{color:var(--mist);margin-top:16px;max-width:480px;margin-left:auto;margin-right:auto;}
  .cta__form{
    margin:40px auto 0;max-width:440px;display:flex;gap:10px;
  }
  .cta__form input{
    flex:1;background:var(--abyss);border:1px solid var(--line);border-radius:8px;
    padding:14px 16px;color:var(--text);font-size:.92rem;
  }
  .cta__form input::placeholder{color:var(--mist);}
  .cta__form button{
    background:var(--core);color:#fff;padding:14px 24px;border-radius:8px;font-weight:600;
    font-size:.88rem;white-space:nowrap;transition:background .25s ease;
  }
  .cta__form button:hover{background:var(--halo);}
  .cta__msg{margin-top:16px;font-size:.85rem;color:var(--halo);min-height:1.2em;}
  @media (max-width:520px){.cta__form{flex-direction:column;}}

  /* ---------- footer ---------- */
  .site-footer{
    padding:36px 0;border-top:1px solid var(--line);
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  }
  .site-footer .nav__logo{font-size:.92rem;}
  .site-footer small{color:var(--mist);font-size:.78rem;}
  .footer-tag{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--mist);}

  /* generic two-col sections collapse */
  @media (max-width:880px){
    .hero__inner{grid-template-columns:1fr;}
    .core-stage{order:-1;height:280px;margin-bottom:10px;}
    .about__grid{grid-template-columns:1fr;}
    .about__visual{max-width:340px;margin:0 auto;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  }

/* ---------- buttons (shared, added for sector pages) ---------- */
.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;
  padding:14px 24px;border-radius:8px;transition:all .25s ease;
  border:1px solid transparent;
}
.btn-primary{background:var(--core);color:#fff;}
.btn-primary:hover{background:var(--halo);}
.btn-secondary{border-color:var(--line);color:var(--text);}
.btn-secondary:hover{border-color:var(--core);color:var(--halo);}

/* ---------- sub-hero (sector pages) ---------- */
.subhero{
  min-height:56vh;display:flex;align-items:center;
  padding-top:150px;padding-bottom:60px;position:relative;overflow:hidden;
}
.subhero__grid{
  position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:
    linear-gradient(rgba(185,194,212,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(185,194,212,.05) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 30%, black 10%, transparent 75%);
}
.subhero__inner{position:relative;z-index:1;max-width:760px;}
.subhero__title{
  font-family:var(--font-display);font-weight:700;line-height:1.08;
  font-size:clamp(2.2rem,4.6vw,3.4rem);letter-spacing:-.015em;
}
.subhero__title .accent{color:var(--core);text-shadow:0 0 36px rgba(46,124,246,.55);}
.subhero__sub{margin-top:22px;color:var(--mist);font-size:1.05rem;max-width:600px;}
.breadcrumb{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--mist);
  margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap;
}
.breadcrumb a{color:var(--mist);transition:color .2s ease;}
.breadcrumb a:hover{color:var(--halo);}

/* ---------- clickable module/fam cards (link variant) ---------- */
a.cap-card,a.fam-card{display:block;}
a.cap-card:hover h3,a.fam-card:hover h3{color:var(--halo);}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:56px auto 0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.faq-item{background:var(--abyss);padding:28px 30px;}
.faq-item h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:10px;letter-spacing:.01em;}
.faq-item p{color:var(--mist);font-size:.92rem;}

/* ---------- sector CTA (two buttons + external link note) ---------- */
.cta-sector{
  border-top:1px solid var(--line);padding:110px 0;text-align:center;
}
.cta-sector h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:16px;}
.cta-sector p{color:var(--mist);max-width:520px;margin:0 auto;}
.cta-sector .btn-row{justify-content:center;margin-top:32px;}
.cta-sector .external-note{margin-top:22px;font-size:.85rem;color:var(--mist);}
.cta-sector .external-note a{color:var(--halo);text-decoration:underline;}

/* ---------- external hub note (used on homepage ilon ailesi section) ---------- */
.hub-note{
  text-align:center;max-width:640px;margin:22px auto 0;color:var(--mist);font-size:.92rem;
}
.hub-note a{color:var(--halo);text-decoration:underline;}
